本技术涉及软件开发,具体涉及一种汽车服务化模型框架生成方法、装置、设备及介质。
背景技术:
1、随着汽车电气化、智能化、网联化的不断发展,形成了软件定义汽车的趋势,传统的软件架构已经不能完全满足汽车对智能化的需求,soa(service-orientedarchitecture,面向服务的架构)逐渐应用于汽车上。
2、soa使得汽车上众多的场景功能由服务组成,服务可以是算法也可以是方法。现有的技术中,针对众多不同类型的服务对应的模型进行人工开发时,不仅会因为服务庞大的数量导致开发效率低下,还会因为人工开发导致命名错误、参数配置错误等低级软件缺陷。
3、因此,如何高效开发服务化模型并降低开发时的低级软件缺陷,是目前亟需解决的问题。
技术实现思路
1、鉴于以上所述现有技术的缺点,本技术的目的在于提供一种汽车服务化模型框架生成方法、装置、设备及介质,用于解决现有技术中如何高效开发服务化模型并降低开发时的低级软件缺陷的问题。
2、为实现上述目的及其他相关目的,本技术提供一种汽车服务化模型框架生成方法,所述方法包括:
3、获取汽车域控制器配置信息和汽车软件系统功能场景需求信息;
4、根据所述汽车域控制器配置信息和汽车软件系统功能场景需求信息,将汽车功能划分为多个服务,并调用所述多个服务对应的服务接口配置信息;
5、根据所述服务接口配置信息和预先配置的脚本,构建所述多个服务对应的多个初始模型框架,并在所述多个初始模型框架中添加初始化模块、主函数模块、服务调用接口和通知接口,以生成多个完整的汽车服务化模型框架。
6、于本技术的一实施例中,所述服务接口配置信息包括:
7、服务清单信息,所述服务清单信息包括服务名称、服务接口名称、服务接口类型、接口参数名称;
8、接口参数定义信息,所述接口参数定义信息包括接口参数数据类型、接口参数数值定义。
9、于本技术的一实施例中,调用所述多个服务对应的服务接口配置信息之后,还包括:
10、将所述服务清单信息转换为第一变量,将所述接口参数定义信息转化为第二变量,所述第一变量和第二变量用于添加所述初始化模块、主函数模块、服务调用接口和通知接口时的信息调用。
11、于本技术的一实施例中,构建所述多个服务对应的多个初始模型框架,并在所述多个初始模型框架中添加初始化模块、主函数模块、服务调用接口和通知接口,包括:
12、调用所述第一变量,遍历所述第一变量以确定所述多个服务的服务清单信息;
13、根据所述多个服务清单的服务清单信息和所述第二变量,构建每个服务对应的初始模型框架,并在所述每个服务对应的初始模型框架中添加初始化模块、主函数模块、服务调用接口和通知接口。
14、于本技术的一实施例中,所述构建每个服务对应的初始模型框架之后,还包括:
15、根据所述服务名称,对每个所述初始模型框架命名,得到命名后的多个初始模型框架;
16、根据所述汽车软件系统功能场景需求信息,设置所述命名后的多个初始模型框架的初始配置参数,所述初始配置参数包括求解器类型参数、求解器配置参数、固定步长中的至少一种。
17、于本技术的一实施例中,所述在所述每个服务对应的初始模型框架中添加初始化模块,包括:
18、将预先配置的模型搭建环境库中的初始化函数添加至所述初始模型框架中的第一位置,并根据所述服务名称和预设的第一后缀,对所述初始化函数命名;
19、删除命名后的初始化函数中除事件侦听器外的内容,完成所述初始化模块的添加。
20、于本技术的一实施例中,在所述每个服务对应的初始模型框架中添加主函数模块,包括:
21、在所述初始模型框架中添加一个初始子系统,根据所述服务名称和预设的第二后缀对所述初始子系统命名,并删除命名后的所述初始子系统中的内容,得到目标子系统;
22、将第一触发器添加至所述目标子系统,以通过所述第一触发器获取预设的触发器函数并进行触发类型选取和调用;
23、将第一输入子模块添加至所述初始模型框架,根据所述服务名称对所述第一输入子模块命名,并根据预设的周期参数设置所述第一输入子模块的运行周期,得到配置完成的所述第一输入子模块;
24、将配置完成的所述第一输入子模块与所述第一触发器的接口连接,完成所述主函数模块的添加。
25、于本技术的一实施例中,所述服务调用接口包括第一类服务调用接口,在所述每个服务对应的初始模型中添加服务调用接口,包括:
26、根据所述服务接口配置信息中的服务接口类型,判断所述服务调用接口是否为服务端回复响应报文接口或客户端请求获取状态接口;
27、若所述服务调用接口为服务端回复响应报文接口或客户端请求获取状态接口,则确定所述服务调用接口为第一类服务调用接口;
28、在所述初始模型框架中添加第一初始模型搭建环境函数,并通过所述服务名称和所述第一类服务调用接口的名称对所述第一初始模型搭建环境函数进行命名,得到第一目标模型搭建环境函数;
29、删除所述第一目标模型搭建环境函数中除第二触发器之外的内容,根据所述服务名称和所述第一类服务调用接口的名称对所述第二触发器的函数名称进行命名,并设置所述第二触发器的可见性为全局可见;
30、根据所述第二变量,通过预设的入参模块的库路径和出参模块的库路径为所述第一目标模型搭建环境函数添加入参和出参,完成所述服务调用接口的添加。
31、于本技术的一实施例中,所述根据所述第二变量,通过预设的入参模块的库路径和出参模块的库路径为所述第一目标模型搭建环境函数添加入参和出参,包括:
32、根据所述第一服务调用接口的名称,确定所述入参模块和所述出参模块中的目标参数,所述目标参数的参数名称与所述第一服务调用接口的名称一致;
33、在所述第二变量中搜索所述第一服务调用接口的名称,确定所述第一类服务调用接口对应的配置参数的第一数据类型,并根据所述第一数据类型确定所述入参模块和出参模块的数据类型字符串;
34、根据所述入参模块和出参模块的数据类型字符串,将所述目标参数通过预设的入参模块的库路径和出参模块的库路径传输至所述第一目标模型搭建环境函数。
35、于本技术的一实施例中,其特征在于,所述服务调用接口包括第二类服务调用接口,在所述每个服务对应的初始模型中添加服务调用接口,包括:
36、根据所述服务接口配置信息中的服务接口类型,判断所述服务调用接口是否为客户端请求设置状态接口;
37、若所述服务调用接口为客户端请求设置状态接口,则确定所述服务调用接口为第二类服务调用接口;
38、将第二初始模型搭建环境函数添加至所述初始模型框架,并通过所述服务名称和所述第二类服务调用接口的名称对所述第二初始模型搭建环境函数进行命名,得到第二目标模型搭建环境函数;
39、删除所述第二目标模型搭建环境函数中除第二触发器之外的内容,根据所述服务名称和所述第二类服务调用接口的名称对所述第二触发器的函数名称进行命名,并设置所述第二触发器的可见性为全局可见;
40、根据所述第二变量,通过预设的出参模块的库路径为所述第二目标模型搭建环境函数添加出参;
41、在所述第二目标模型搭建环境函数中添加第二输入子模块,并将所述主函数模块的通知接口与所述第二输入子模块的输入接口连接。
42、于本技术的一实施例中,所述通知接口包括第一通知接口和第二通知接口,在所述多个初始模型框架中添加通知接口,包括:
43、在所述主函数模块中添加第一初始输出子模块,并根据所述服务名称和通知接口的名称对所述第一初始输出子模块命名,得到第一目标输出子模块;
44、在所述第二变量中搜索所述通知接口的参数名称,确定所述通知接口对应的参数的第二数据类型,并通过所述第二数据类型设置所述第一目标输出子模块的数据类型字符串,完成所述主函数模块内部第一通知接口的添加;
45、搜索所述主函数模块中的全部输出子模块,根据搜索结果在所述主函数模块外添加第二通知接口,并将名称相同的所述第一通知接口和所述第二通知接口相连接,完成所述通知接口的添加。
46、于本技术的一实施例中,所述将名称相同的所述第一通知接口和所述第二通知接口相连接之后,还包括:
47、将所述第二类服务调用接口与所述通知接口对应连接,并将所述第二类服务调用接口的出参与所述通知接口的输入参数保持一致。
48、于本技术的一实施例中,还提供了一种汽车服务化模型框架生成装置,所述装置包括:
49、信息获取模块,用于获取汽车域控制器配置信息和汽车软件系统功能场景需求信息;
50、服务接口配置信息确定模块,用于根据所述汽车域控制器配置信息和汽车软件系统功能场景需求信息,将汽车功能划分为多个服务,并调用所述多个服务对应的服务接口配置信息;
51、模型生成模块,用于根据所述服务接口配置信息和预先配置的脚本,构建所述多个服务对应的多个初始模型框架,并在所述多个初始模型框架中添加初始化模块、主函数模块、服务调用接口和通知接口,以生成多个完整的汽车服务化模型框架。
52、于本技术的一实施例中,还提供了一种电子设备,所述电子设备包括:
53、一个或多个处理器;
54、存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的汽车服务化模型框架生成方法。
55、于本技术的一实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如上所述的汽车服务化模型框架生成方法。
56、本发明的有益效果:
57、首先获取汽车域控制器配置信息和汽车软件系统功能场景需求信息;然后根据所述汽车域控制器配置信息和汽车软件系统功能场景需求信息,将汽车功能划分为多个服务,并调用所述多个服务对应的服务接口配置信息;最后根据所述服务接口配置信息和预先配置的脚本,构建所述多个服务对应的多个初始模型框架,并在所述多个初始模型框架中添加初始化模块、主函数模块、服务调用接口和通知接口,以生成多个完整的汽车服务化模型框架。本发明中,可通过预先配置的脚本在模型搭建环境中实现服务化模型框架的生成,能够自动完成服务化模型框架开发过程中重复性规则性的工作,提高了服务化模型的开发效率,另外通过脚本还能降低开发过程中的低级软件缺陷,整体节约汽车soa架构下软件开发项目的时间成本。
58、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。