本公开涉及车载软件开发,尤其涉及一种服务架构代码生成方法、装置、设备、车辆及存储介质。
背景技术:
1、“软件定义汽车”是未来汽车的方向。随着汽车智能化、网联化的深入推进,汽车自动驾驶、车载娱乐、远程诊断升级等功能的复杂程度也将越来越高。
2、而面向服务的架构(soa)能够支持复杂的应用系统,可以在处理分布和计算资源分配方面提供最大的灵活性和可扩展性,并且可以更好的支持软件的分布式部署与更新迭代,能够为未来的车辆软件服务提供良好的解决方案。
3、基于autosar架构的配置工具软件只能在some/ip通信协议下实现对服务内容的编码,即使用some/ip通信协议对应的编程语言对服务内容进行编码,如果想要得到在其他通信协议下服务内容对应的编码,需要更换其他的配置工具软件,通过该配置工具软件使用该通信协议对应的编程重新进行服务内容的编码,导致应用服务的开发效率低。
技术实现思路
1、本公开提供了一种服务架构代码生成方法、装置、设备、车辆及存储介质,实现多种通信协议的自动服务架构代码生成,有效提高应用服务的开发效率。
2、第一方面,本公开实施例提供一种服务架构代码生成方法,包括:
3、获取车辆服务内容以及所述车辆服务内容绑定的通信协议标识;
4、对所述车辆服务内容进行抽象化处理,生成所述车辆服务内容对应的当前系统代码;
5、获取所述绑定的通信协议标识对应的目标匹配规则;
6、利用所述目标匹配规则对所述当前系统代码进行实例化处理,得到服务架构代码。
7、在本公开的一个实施方式中,所述获取所述车辆服务内容绑定的通信协议标识,包括:
8、响应于接收到用户输入的通信协议标识修改指令,解除所述绑定的通信协议标识与所述车辆服务内容的绑定关系;
9、获取所述修改指令对应的新的通信协议标识;
10、建立所述新的通信协议标识与所述车辆服务内容的绑定关系,得到与所述车辆服务内容绑定的通信协议标识。
11、在本公开的一个实施方式中,所述通信协议包括如下至少一种:数据分发服务dds通信协议、基于ip的可扩展面向服务some/ip通信协议、进程间通信ipc协议;
12、在所述通信协议为dds通信协议时,所述目标匹配规则包括当前系统代码与交互式数据语言idl类代码之间的对应关系;
13、在所述通信协议为some/ip通信协议时,所述述匹配规则包括当前系统代码与arxml类代码之间的对应关系;
14、在所述通信协议为ipc通信协议时所述述匹配规则包括当前系统代码与可扩展标记语言xml类代码之间的对应关系。
15、在本公开的一个实施方式中,所述车辆服务内容以图结构的形式进行表示,所述对所述车辆服务内容进行抽象化处理,生成所述车辆服务内容对应的当前系统代码,包括:
16、基于所述图结构中各个节点之间的连接关系,生成数据结构;
17、获取各个节点中包括的内容代码;
18、将所述内容代码作为数据元素写入所述数据结构的设定位置,得到当前系统代码。
19、在本公开的一个实施方式中,所述目标匹配规则中包括:系统代码对应标准定义的第一类数据元素、以及通信协议标准对应的第二类数据元素,第一类数据元素与所述第二类数据元素之间的对应关系;
20、利用所述目标匹配规则对所述当前系统代码进行实例化处理,得到服务架构代码,包括:
21、遍历所述当前系统代码中包括的第一类数据元素,为每个第一类数据元素创建其对应的第二类数据元素,得到服务架构代码。
22、在本公开的一个实施方式中,还包括:获取所述绑定的通信协议标识对应的校验规则;
23、获取所述服务架构代码中包括的代码语句;针对每一个代码语句,判断所述代码语句是否符合校验规则;如果符合校验规则,则校验通过;如果不符合校验规则,则校验不通过。
24、在本公开的一个实施方式中,服务架构代码中包括接口文件,所述接口文件用于定义各类接口和/或函数,其中,所述接口和/或函数用于与应用程代码进行数据传输。
25、第二方面,本公开实施例提供一种服务架构代码生成装置,包括:
26、获取模块,用于获取车辆服务内容以及所述车辆服务内容绑定的通信协议标识;
27、代码生成模块,用于对所述车辆服务内容进行抽象化处理,生成所述车辆服务内容对应的当前系统代码;
28、匹配规则获取模块,用于获取所述绑定的通信协议标识对应的目标匹配规则;
29、代码处理模块,用于利用所述目标匹配规则对所述当前系统代码进行处理,得到服务架构代码。
30、在本公开的一个实施方式中,获取模块,包括:绑定解除单元,用于响应于接收到用户输入的通信协议标识修改指令,解除所述绑定的通信协议标识与所述车辆服务内容的绑定关系;标识获取单元,用于获取所述修改指令对应的新的通信协议标识;绑定建立单元,用于建立所述新的通信协议标识与所述车辆服务内容的绑定关系,得到与所述车辆服务内容绑定的通信协议标识。
31、在本公开的一个实施方式中,所述通信协议包括如下至少一种:数据分发服务dds通信协议、基于ip的可扩展面向服务some/ip通信协议、进程间通信ipc协议;
32、在所述通信协议为dds通信协议时,所述目标匹配规则包括当前系统代码与交互式数据语言idl类代码之间的对应关系;
33、在所述通信协议为some/ip通信协议时,所述述匹配规则包括当前系统代码与arxml类代码之间的对应关系;
34、在所述通信协议为ipc通信协议时所述述匹配规则包括当前系统代码与可扩展标记语言xml类代码之间的对应关系。
35、在本公开的一个实施方式中,所述车辆服务内容以图结构的形式进行表示,代码生成模块,包括:数据结构生成单元,用于基于所述图结构中各个节点之间的连接关系,生成数据结构;内容代码获取单元,用于获取各个节点中包括的内容代码;当前系统代码确定单元,用于将所述内容代码作为数据元素写入所述数据结构的设定位置,得到当前系统代码。
36、在本公开的一个实施方式中,所述目标匹配规则中包括:系统代码对应标准定义的第一类数据元素、以及通信协议标准对应的第二类数据元素,第一类数据元素与所述第二类数据元素之间的对应关系;代码处理模块,具体用于遍历所述当前系统代码中包括的第一类数据元素,为每个第一类数据元素创建其对应的第二类数据元素,得到服务架构代码。
37、在本公开的一个实施方式中,还包括:校验规则获取模块,用于获取所述绑定的通信协议标识对应的校验规则;代码校验模块,用于获取所述服务架构代码中包括的代码语句;针对每一个代码语句,判断所述代码语句是否符合校验规则;如果符合校验规则,则校验通过;如果不符合校验规则,则校验不通过。
38、在本公开的一个实施方式中,服务架构代码中包括接口文件,所述接口文件用于定义各类接口和/或函数,其中,所述接口和/或函数用于与应用程代码进行数据传输。
39、第三方面,本公开实施例提供一种电子设备,包括:
40、存储器;
41、处理器;以及
42、计算机程序;
43、其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的服务架构代码生成方法。
44、第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的服务架构代码生成方法。
45、第五方面,本公开实施例提供一种车辆,所述车辆包括如上述第三方面所述的电子设备。
46、本公开实施例提供的服务架构代码生成方法、装置、设备、车辆及存储介质,所述方法包括:获取车辆服务内容以及所述车辆服务内容绑定的通信协议标识;对所述车辆服务内容进行抽象化处理,生成所述车辆服务内容对应的当前系统代码;获取所述绑定的通信协议标识对应的目标匹配规则;利用所述目标匹配规则对所述当前系统代码进行实例化处理,得到服务架构代码。本公开提供的技术方案首先对车辆服务内容进行抽象化处理,得到当前系统代码,然后根据绑定的通信协议代码确定与通信协议匹配的目标匹配规则,根据目标匹配规则对当前系统代码进行实例化处理,得到服务架构代码。不同的通信协议标识可以匹配到不同的匹配规则,进而得到不同通信协议对应的服务架构代码,实现多种通信协议的自动服务架构代码生成,有效提高应用服务的开发效率。