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

一种功能软件的运行框架设计方法及可读存储介质与流程

2022-06-01 09:52:31 来源:中国专利 TAG:


1.本发明涉及汽车软件开发技术领域,具体涉及一种功能软件的运行框架设计方法及可读存储介质。


背景技术:

2.智能汽车行业处于一个高速发展时期,汽车企业也迎来新一轮的机遇和挑战,各种智能化、个性化的功能越来越多,尤其在智能驾驶、智能车控逐步走向商业化应用,汽车企业对自主算法开发的需求越来越多,在汽车控制器上部署的算法和功能软件也越来越多。
3.目前功能软件的开发主要存在以下缺点:开发人员在开发每一个功能软件时,需从数据通讯、数据库访问等底层业务开始,这就增加开发业务的工作量,降低开发效率,同时增加开发难度,对开发技术人员的技能要求相应提高。为此,公开号为cn105653334a的中国专利公开了《一种基于saas模式的mis系统快速开发框架》,包括:运行框架层,用于实现程序运行时的主界面及对插件的管理以及对基本数据的加载;通信层,用于实现客户端和服务端的通信;业务应用层,用于实现对业务的处理及实现对业务的流程控制分发;数据访问层,用于实现对数据库的访问并对多种数据库的支持;插件接口层,用于定义系统运行插件的基本接口。
4.上述现有方案中的系统快速开发框架通过分层思想进行软件框架设计,实现客户端与服务端的通信和对数据库的访问,从而提升开发效率和降低开发难度。但是,现有方案是针对传统计算机软件的框架设计,其与汽车控制器功能软件设计方法存在区别。一是汽车控制器的硬件架构设计和传统计算机有所不同;二是,汽车控制器的软件框架不是服务端和客户端的模式,而是数据流驱动计算执行的软件运行框架;三是汽车控制器由于资源限制,不会使用对内存等资源占用较大的软件产品,如数据库。也就是说,现有方案难以满足汽车控制器功能软件系统框架设计的要求。因此,如何提供一种适用于汽车控制器功能软件及其功能算法的系统框架设计方法是亟需解决的技术问题。


技术实现要素:

5.针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种功能软件的运行框架设计方法,以能够实现功能软件的功能算法和运行框架的解耦,从而能够提高功能软件设计、开发和集成的效率和效果。
6.快速设计、开发、集成汽车智能算法,从而能够提高汽车智能算法开发和集成的效率。
7.为了解决上述技术问题,本发明采用了如下的技术方案:一种功能软件的运行框架设计方法,包括以下步骤:s1:对功能软件的非算法实现部分进行抽象,生成对应的软件标准模型;s2:基于软件标准模型编写对应的软件标准模型代码;
s3:基于对应功能软件的运行框架选取相应的软件标准模型,配置对应的配置文件;s4:根据配置文件和对应的软件标准模型代码生成对应功能软件的运行框架代码;s5:将对应功能软件的功能算法集成到对应的运行框架代码,生成对应功能软件的完整可编译代码;然后将对应功能软件的完整可编译代码编译成可执行文件,以完成对应功能软件的设计、开发和集成。
8.优选的,步骤s1中,软件标准模型的类型包括但不限于进程线程模型、通信模型、事件调度模型和算法组件模型。
9.优选的,步骤s1中,每一种类型的软件标准模型对应一种或多种标准实现代码。
10.优选的,步骤s1中,进程线程模型包括但不限于进程的个数、每个进程中线程的个数以及进程和线程标的准代码实现。
11.优选的,步骤s1中,通信模型包括但不限于通信数据流、通信方式、通信协议和通信数据同步策略。
12.优选的,步骤s1中,事件调度模型包括但不限于单一消息事件触发执行回调函数、同步消息事件触发执行回调函数和时间消息事件触发执行回调函数。
13.优选的,步骤s1中,算法组件模型包括但不限于算法组件的个数、算法组件的名称、算法组件的初始化回调函数名称、算法组件的执行回调函数名称和算法组件的释放回调函数名称。
14.优选的,步骤s2中,根据软件标准模型的定义和特征,编写对应的软件标准模型代码。
15.优选的,步骤s3中,配置文件包括但不限于算法组件的个数、算法组件的属性信息、算法组件的进程线程编排、算法组件的输入输出通信数据流和算法组件的事件调度方式。
16.本发明还公开了一种可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现本发明的功能软件的运行框架设计方法的步骤。
17.本发明中的运行框架设计方法与现有技术相比,具有如下有益效果:本发明通过将功能软件中非算法实现部分提前识别出来并抽象成软件标准模型,实现了功能软件的功能算法和运行框架的解耦,使得开发人员能够专注于功能算法的逻辑开发,而无需考虑非算法实现部分的运行框架设计,能够减少开发人员的工作量,从而能够保证功能算法的开发效率和效果。同时,本发明基于对应功能软件的运行框架选取相应的软件标准模型并配置对应的配置文件,进而根据配置文件和对应的软件标准模型代码快速生成运行框架代码,使得功能软件的功能算法能够快速集成于运行框架代码中,能够降低功能软件及其功能算法的集成难度,从而能够提高功能软件设计、开发和集成的效率和效果。
附图说明
18.为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一
步的详细描述,其中:图1为功能软件的运行框架设计方法的逻辑框图;图2为具体功能软件运行框架的拓扑图。
具体实施方式
19.下面通过具体实施方式进一步详细的说明:实施例一:本实施例中公开了一种功能软件的运行框架设计方法。
20.如图1所示,功能软件的运行框架设计方法,包括以下步骤:s1:对功能软件的非算法实现部分进行抽象,生成对应的软件标准模型;s2:基于软件标准模型编写对应的软件标准模型代码;本实施例中,根据软件标准模型的定义和特征,编写对应的软件标准模型代码。
21.s3:基于对应功能软件的运行框架选取相应的软件标准模型,配置对应的配置文件;本实施例中,配置文件包括但不限于算法组件的个数、算法组件的属性信息、算法组件的进程线程编排、算法组件的输入输出通信数据流和算法组件的事件调度方式。
22.s4:根据配置文件和对应的软件标准模型代码生成对应功能软件的运行框架代码;s5:将对应功能软件的功能算法集成到对应的运行框架代码,生成对应功能软件的完整可编译代码;然后将对应功能软件的完整可编译代码编译成可执行文件,以完成对应功能软件的设计、开发和集成。
23.需要说明的是,本发明中功能软件的运行框架设计方法可通过程序编程的方式生对应的成软件代码或软件服务,进而能够在服务器和计算机上运行和实施。
24.本发明通过将功能软件中非算法实现部分提前识别出来并抽象成软件标准模型,实现了功能软件的功能算法和运行框架的解耦,使得开发人员能够专注于功能算法的逻辑开发,而无需考虑非算法实现部分的运行框架设计,能够减少开发人员的工作量,从而能够保证功能算法的开发效率和效果。同时,本发明基于对应功能软件的运行框架选取相应的软件标准模型并配置对应的配置文件,进而根据配置文件和对应的软件标准模型代码快速生成运行框架代码,使得功能软件的功能算法能够快速集成于运行框架代码中,能够降低功能软件及其功能算法的集成难度,从而能够提高功能软件设计、开发和集成的效率和效果。
25.具体实施过程中,软件标准模型的类型包括但不限于进程线程模型、通信模型、事件调度模型和算法组件模型。每一种类型的软件标准模型对应一种或多种标准实现代码。
26.具体的:进程线程模型包括但不限于进程的个数、每个进程中线程的个数以及进程和线程标的准代码实现。
27.通信模型包括但不限于通信数据流、通信方式、通信协议和通信数据同步策略。通信数据流指算法组件的输入、输出数据以及输入输出数据的流向。通信方式包括线程内部通信、线程间通信、分布式通信方式dds(data distribution service,数据分发服务)等,进程间通信方式使用分布式通信方式dds。通信协议包括:用于进程内部通信的结构化协
议、dds协议等。通信数据同步策略包括latest policy策略、master policy策略、timed policy策略,当一个算法组件需要多个通信数据流输入时,才需要设置通信数据同步策略,即通信数据同步策略是针对一个算法组件有多个输入通信数据流的情况。
28.其中,latest policy策略有以下两条规则:1)各通信数据流输入仅保存最新收到的消息,所谓新,是根据数据消息头上的时间戳来判断。
29.2)当各通信数据流输入均有消息时,由各通信数据流输入的最新消息组成同步消息。
30.master policy策略有以下两条规则:1)需规定仅一个master(主节点)通信数据流,规定零个或多个slave(从节点)通信数据流。
31.2)当master通信数据流有消息时,从各slave通信数据流选择消息时间戳与master通信数据流最接近的消息产生同步消息(此时slave通信数据流也可以无消息)。
32.timed policy策略有以下两条规则:1)需规定primary(首要节点)通信数据流(默认是第一个通信数据流),时间偏差以primary通信数据流消息为基准进行计算。
33.2)当任一通信数据流有新消息,且各通信数据流均存在消息时,以primary通信数据流消息为基准,从各通信数据流选出与其时间戳差值最小的且在tolerance(容忍值)之内(小于或等于)的消息,由此产生同步消息。
34.事件调度模型包括但不限于单一消息事件触发执行回调函数、同步消息事件触发执行回调函数和时间消息事件触发执行回调函数。
35.算法组件模型包括但不限于算法组件的个数、算法组件的名称、算法组件的初始化回调函数名称、算法组件的执行回调函数名称和算法组件的释放回调函数名称。
36.本发明通过进程线程模型、通信模型、事件调度模型和算法组件模型,能够有效的生成各种功能软件的运行框架(代码),从而能够提高运行框架设计方法的有效性和实用性。
37.为了更好的描述本发明的运行框架设计方法,本实施例公开了如下实例。
38.结合图2中所示,某一具体功能软件运行框架的拓扑组成要素包括:1)算法组件:a、b、c、d;2)通信数据流:
①②③④⑤⑥⑦
;3)线程:t1、t2、t3;4)进程:p1、p2;5)dds:分布式通信中间件;其中,算法组件a的输入是数据流



,通信方式是dds通信;算法组件b的输入是数据流

,通信方式是线程内部通信;算法组件c的输入是数据流

,通信方式是线程间通信;算法组件d的输入是数据流

,通信方式是dds通信。其中算法组件a、b、c在一个进程p1里面,算法组件d在另一个进程p2里面。对于进程p1,算法组件a和b在线程t1里面,算法组件c在线程t2里面。对于进程p2,算法组件d在线程t3里面。
39.运行框架的配置文件需要将功能软件的运行框架拓扑图配置出来。配置文件除了
包含所述功能软件运行框架拓扑关系,还包含以下软件标准模型和模型的属性:1)算法组件的初始化、执行、释放回调函数的名称;2)通信数据流的通信方式和通信协议,以及多个输入通信数据流的数据同步策略;3)每个算法组件采用的事件调度模型;4)dds协议的topic、qos等;5)线程的优先级等。
40.实施例二:本实施例中公开了一种可读存储介质。
41.一种可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现本发明的功能软件的运行框架设计方法的步骤。可读存储介质可以是u盘或计算机等具有可读存储功能的设备。
42.最后需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制技术方案,本领域的普通技术人员应当理解,那些对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,均应涵盖在本发明的权利要求范围当中。
再多了解一些

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

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

相关文献