一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种服务编排脚本执行系统及方法与流程

2022-06-01 13:22:37 来源:中国专利 TAG:


1.本发明涉及车联网技术领域,具体涉及一种服务编排脚本执行系统及执行方法。


背景技术:

2.随着车联网技术的不断发展,汽车智能化程度也越来越高,车辆的能力也越来越开放,在新一代软件汽车的理论支持下,汽车的架构也在不断调整,soa的架构在整车上也得以实施。基于面向服务的架构,车辆的各个能力能够以服务化的方式提供出来。现有技术中,在面向服务架构的车联网技术领域,主要采用硬编码式的产品开发体系模式,每新增一个功能,都需要开发人员重新进行开发,然后组版发布到车上;造成简单功能开发时间长,效率不高,以及用户无法定义自己车辆的功能,用户可自定义程度不高。
3.cn107659439a公开的“一种动态的服务编排方法”包括:定义服务节点模型模版,其包括抽象的输入、输出、处理过程定义;创建服务节点模型,在模型模版基础上,支持通过界面操作或者简单的编码即能实现特定功能的服务节点模型;创建服务模型,服务模型由一个或多个服务节点模型组成;服务模型实例化,申请使用定义好的服务时,进入实例化阶段,分阶段实例化所有节点模型;针对每个定义的服务,实例化初始时即生成对应服务的上下文;服务执行,服务实例化开始后,即逐个串行或并行或串并行混合进行服务节点的执行。其虽然提供了服务模型及流程如何编排,但是并不涉及具体的编排如何执行)。又如,cn110286884a公开的“微服务编排方法、装置、设备及计算机可读存储介质”提供一种通过微服务技术平台将提供的多个资源组件及资源组件的相关信息在前端的编排页面进行显示,以供用户建立所需的目标流程时选择使用,用户通过对编排页面上所显示的资源组件的选择编排操作即可完成目标流程的编排,微服务技术平台可以根据用户按照所需的目标流程对编排页面上所显示的资源组件的选择编排操作,确定目标流程的目标组件及目标组件之间的依赖关系,并自动生成流程文件;根据流程文件,部署目标组件,对目标流程的流程、组件和环境变量进行初始化,并对目标组件进行调度,完成对目标流程的调试,节省了各用户的人力资源和时间,提高了微服务编排的效率。该文献公开了云端服务的编排,以及编排页面、资源组件等如何关联,同样也不涉及具体的编排如何执行。因此,如何开发适用于汽车编排执行引擎及其汽车服务执行是本领域技术人员有待解决的技术问题。


技术实现要素:

4.针对现有技术存在的上述不足,本发明的目的在于提供一种服务编排脚本执行系统及方法,解决现有技术对服务编排不够方便、高效的问题。
5.为实现上述目的,本发明采用如下技术方案:一种服务编排脚本执行系统,其特征在于,为核心业务层包括:脚本管理模块、场景识别模块、脚本决策模块和脚本执行模块;其中:脚本管理模块:负责本地和下载云端规划的脚本,同时提供脚本的新增;场景识别模块:获取车辆硬件、生态和系统的状态,来识别哪些规则脚本被触发;
脚本决策模块:当规则脚本被触发,该模块结合脚本前置条件和冷却时间,来决策该脚本的交互和服务调用是否执行;脚本执行模块:对可执行脚本进行冲突判定,并执行脚本中包含的动作。
6.进一步,所述脚本的新增,包括更新、删除、查询和本地存储等操作。
7.所述车辆硬件包括车机、tbox、以及其他车载控制器等。
8.所述生态和系统的状态包括天气、日历、新闻等内容状态,以及其他可进行场景识别的系统。
9.所述前置条件包括车辆状态、时间状态、地理信息、环境信息等可用于判定的状态信息;所述冷却时间场景发生后,多长时间内不可重复执行。
10.本发明还提供一种服务编排脚本执行方法,首先对服务进行编排生成脚本,脚本保存到引擎;实时监听脚本定义的事件或状态,然后判断识别到触发了哪个脚本,再决策脚本是否执行,决策脚本需要执行后,按脚本定义的服务功能去执行脚本。采用上述服务编排脚本执行系统,所述核心业务层脚本执行如下流程:s1、脚本管理模块加载脚本:脚本管理模块载入当前的脚本,并将脚本中触发条件及脚本id设置到场景识别模块;s2、场景识别模块判断使用哪个脚本:场景识别模块通过适配层监听当前脚本所需车辆信号变化,并进行场景条件的触发判断;识别到满足脚本触发条件,根据脚本id通知脚本管理模块对应脚本触发,并由脚本管理模块将对应脚本下发到决策模块中进行决策判定;s3、脚本决策模块决策脚本是否执行:脚本决策模块将从决策队列中取出优先级最高的脚本,判定该脚本的前置条件及冷却时间,根据判定结果决定是否可以执行;对于满足执行条件的脚本,发送给执行队列;对于不满足运行条件的脚本进行抛弃;s4、脚本执行模块执行脚本:脚本执行模块从执行队列中获取优先级最高的脚本进行冲突判定,判定成功后开始执行脚本;适配层提供相应执行功能的支持。
11.相比现有技术,本发明具有如下有益效果:1、本发明方法通过根据事先定义好的脚本,对服务功能进行编排,低代码的快速实现新的场景功能。对服务进行编排生成脚本,实现零代码自定义用车场景,改变了当前硬编码式的产品开发体系模式,大幅提升新功能研发效率;围绕“服务可编排,用户可自定义”,形成可见、可触、可体验的用户使用新模式,巨幅提升用户体验与产品灵活性。
12.2、本发明基于面向服务架构的车辆智能化控制,以服务化的方式通过对服务功能进行编排,组合成新的场景供用户使用,同时让用户可以自定义自身汽车的功能,显著提升用户体验,同时也提升了车厂功能研发效率,减少了开发工作量。
附图说明
13.图1为本发明(场景编排执行引擎)的总的逻辑架构图;图2为本发明场景列表更新流程图;图3为本发明脚本识别流程图;图4为本发明脚本决策流程图;图5为本发明脚本执行流程图。
具体实施方式
14.为了使本领域技术人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步详细说明,但本发明的实施方式不仅限于此。
15.参见图1,(场景编排执行引擎)的逻辑架构从上到下分为4个逻辑层,分别是配置层、核心业务层、核心层和通用能力层。所述配置层提供针对引擎的个性化配置,包含脚本运行数量配置、脚本启停配置,线程数量配置,个性化设置等相关配置项。支持各模块设置及获取相关配置参数,完成业务需求。适配层是为了实现核心层和系统功能的解耦而抽取的一层。通过适配层,核心层就不必关心场景、交互和服务的具体实现。主要针对事件,车机服务,车控服务,生态服务及三方服务进行适配,消化不同系统、不同厂商存在的差异。对核心层采用工厂模式维护不同类型服务,提供标准接口供核心层使用。对外采用适配器模式,暴露抽象接口,由系统或三方应用注册并完成接口实现。这样场景引擎只需关注抽象接口定义,无需关注功能实现。
16.通用能力层是针对引擎中单个通用能力进行统一封装,从而提高代码复用性,方便对通用功能进行维护或优化。各业务模块需要依赖通用能力库,根据模块实际业务需求,选择性使用能力库中提供的能力及配置项。json解析库:采用jsoncpp,nlohmann方式对json进行解析,结构转换;js解析:采用三方开源库jerryscript,duktape对js进行语义解析及执行;网络请求库:提供网络请求能力,对https、mqtt等网络请求协议进行统一封装;跨进程通讯库:提供跨进程交互能力,包含hidl、aidl;线程池:针对线程安全,线程数量,线程秩序进行统一管理。
17.其中,核心业务层即服务编排脚本执行系统为本发明创新所在,包括脚本管理模块、场景识别模块、脚本决策模块和脚本执行模块;各模块分工如下:脚本管理模块:负责本地和下载云端规划的脚本,同时提供脚本的新增;场景识别模块:获取车辆硬件、生态和系统的状态,来识别哪些规则脚本被触发;脚本决策模块:当规则脚本被触发,该模块结合脚本前置条件和冷却时间,来决策该脚本的交互和服务调用是否执行;脚本执行模块:对可执行脚本进行冲突判定,并执行脚本中包含的动作。
18.进一步,所述脚本的新增,包括更新、删除、查询和本地存储等操作。
19.所述车辆硬件包括车机、tbox、以及车载控制器等。
20.所述生态和系统的状态包括天气、日历、新闻等内容状态,以及其他可进行场景识别的系统。
21.所述前置条件包括车辆状态、时间状态、地理信息、环境信息等可用于判定的状态信息;所述冷却时间为场景发生后,多长时间内不可重复执行。
22.本发明还提供一种服务编排脚本执行方法,采用上述服务编排脚本执行系统,所述核心业务层脚本执行如下流程:s1、脚本管理模块加载脚本:脚本管理模块载入当前的脚本,并将脚本中触发条件及脚本id设置到场景识别模块;s2、场景识别模块判断使用哪个脚本:场景识别模块通过适配层监听当前脚本所需车辆信号变化,并进行场景条件的触发判断;识别到满足脚本触发条件,根据脚本id通知脚本管理模块对应脚本触发,并由脚本管理模块将对应脚本下发到决策模块中进行决策判
定;s3、脚本决策模块决策脚本是否执行:脚本决策模块将从决策队列中取出优先级最高的脚本,判定该脚本的前置条件及冷却时间,根据判定结果决定是否可以执行;对于满足执行条件的脚本,发送给执行队列;对于不满足运行条件的脚本进行抛弃;s4、脚本执行模块执行脚本:脚本执行模块从执行队列中获取优先级最高的脚本进行冲突判定,判定成功后开始执行脚本;适配层提供相应执行功能的支持。
23.如图2所示,场景列表更新流程由模块对于场景列表更新,首先载入本地脚本进行缓存,再向云端获取脚本,云端返回脚本;然后将脚本在本地进行存储,接着更新本地存储中的脚本,再执行模块解析并更新脚本中的块信息。
24.如图3所示,脚本识别流程:识别模块从通信中间件中获取事件信息或者车辆状态信息,然后根据事件到脚本管理查询是否存在满足条件的脚本id,随后根据状态信息查询条件规则信息,再查询是否存在满足对应状态的脚本id,最后将脚本id加入决策队列中进行决策。
25.如图4所示,脚本决策流程:首先根据脚本id获取待决策场景,然后获取场景的前置条件,再通过通信中间件查询前置条件是否满足,得到前置条件的查询结果,如果前置条件满足,再去判断该脚本的执行时间间隔是否满足要求,如果执行时间间隔满足要求,再判断脚本内容是否存在互斥的情况,如果不存在互斥的情况,就将场景脚本加入执行队列当中,等待执行。
26.如图5所示,脚本执行流程:首先解析场景脚本中的逻辑块信息,将脚本块放入执行队列中,然后开始执行,日志模块同时记录对应的执行日志,js引擎执行javascript脚本,并返回执行结果,然后执行对应的远程服务调用,返回结果,最后返回块执行结果。
27.采用本发明根据事先定义好的脚本,对服务功能进行编排,低代码的快速实现新的场景功能。首先对服务进行编排生成脚本,脚本保存到引擎,对服务进行编排生成脚本,实现零代码自定义用车场景,改变了当前硬编码式的产品开发体系模式,大幅提升新功能研发效率;实时监听脚本定义的事件或状态,然后判断识别到触发了哪个脚本,然后决策脚本是否执行,决策脚本需要执行后,按脚本定义的服务功能去执行脚本。围绕“服务可编排,用户可自定义”,形成可见、可触、可体验的用户使用新模式,巨幅提升用户体验与产品灵活性。同时让用户可以自定义自身汽车的功能,显著提升用户体验,同时也提升了车厂功能研发效率,减少了开发工作量。
28.最后需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制技术方案,本领域的普通技术人员应当理解,那些对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献