1.本技术实施例涉及计算机应用技术领域,尤其涉及一种数据字典处理方法、装置、介质和电子设备。
背景技术:2.在自动驾驶领域,autosar(automotive open system architecture,汽车开放系统架构)软件开发流程的主流方式是通过现有的simulink控制模型自动生成架构软件所需的arxml文件。汽车产业已经很成熟,许多测试好的模型能够重用到不同的平台,而无需对模型进行任何人力修改,比如autosar架构。
3.为了推出符合autosar标准的自动驾驶软件,需要对simulink算法模型进行多次迭代与部署,与算法模型对应的autosar配置文件也需要相应进行更新。当软件接口固定后,每次算法软件迭代时,大多是对模型的数据字典进行修改。
4.相关技术的autosar自动驾驶软件开发中,无法单独生成autosar标准的数据字典,需要将自动驾驶算法模型、模型数据字典、算法依赖库等载入matlab软件,通过autosar标准化工具进行模型转换,再进行自动代码生成,生成的arxml文件包含了自动驾驶软件的全部描述信息,因此,生成autosar标准的数据字典时,过程复杂,耗时长,效率比较低。
技术实现要素:5.本技术实施例提供了一种数据字典处理方法、装置、介质和电子设备,可以提高autosar标准的数据字典的生成效率。
6.第一方面,本技术实施例提供一种数据字典处理方法,包括:
7.基于待处理数据字典的标识,获取所述待处理数据字典包括的目标字典条目;所述待处理数据字典不符合autosar标准;
8.基于dds规范对所述目标字典条目进行封装,生成与所述目标字典条目对应的消息结构体,并将所述消息结构体存储到预设的目标通讯载体中;所述目标通讯载体用于辅助对所述消息结构体的数据传输;所述消息结构体包括所述目标字典条目的数据结构信息;
9.响应于接收到的格式转化指令,从所述目标通讯载体中获取所述消息结构体中的所述数据结构信息,并对获取的所述数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。
10.本技术实施例提供的数据字典处理方法,首先基于待处理数据字典的标识,获取待处理数据字典包括的目标字典条目,然后基于dds规范对目标字典条目进行封装,生成与目标字典条目对应的消息结构体,并将消息结构体存储到预设的目标通讯载体中,再响应于接收到格式转化指令,从目标通讯载体中获取消息结构体中的数据结构信息,并对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。该方法通过对非autosar标准的数据字典的目标字典条目进行读取、封装及代码转换,实现了仅通过非
autosar标准的数据字典直接生成对应的符合autosar标准的数据字典,能够更加便捷地生成autosar标准的数据字典,节省生成autosar标准的数据字典的耗时,提高autosar标准的数据字典的生成效率。
11.在一种可选的实施例中,所述基于待处理数据字典的标识,获取所述待处理数据字典包括的目标字典条目,包括:
12.响应字典链接指令,基于所述字典链接指令中的所述待处理数据字典的标识,搜索数据字典库,获取所述待处理数据字典;
13.响应于字典条目设置指令,从所述字典条目设置指令中获取所述待处理数据字典的字典条目配置信息;
14.根据获取的所述字典条目配置信息,通过输入接口读取所述待处理数据字典包括的目标字典条目。
15.在该实施例中,通过搜索数据字典库,获取所述待处理数据字典,然后获取所述待处理数据字典的字典条目配置信息,并根据字典条目配置信息,通过输入接口读取所述待处理数据字典包括的目标字典条目,提供一种目标字典条目的获取机制,使得可以高效地获取到目标字典条目,进一步提高autosar标准的数据字典的生成效率。
16.在一种可选的实施例中,所述基于dds规范对所述目标字典条目进行封装,生成与所述目标字典条目对应的消息结构体,包括:
17.基于dds规范,通过与所述输入接口对应的消息封装接口,对通过所述输入接口读取的所述目标字典条目进行封装,生成与通过所述输入接口读取的所述目标字典条目对应的消息结构体。
18.在该实施例中,基于dds规范,通过与所述输入接口对应的消息封装接口,对通过所述输入接口读取的所述目标字典条目进行封装。该方法通过设置与所述输入接口对应的消息封装接口,提供一种目标字典条目的数据传输机制,使得可以高效地对目标字典条目进行封装传输,进一步提高autosar标准的数据字典的生成效率。
19.在一种可选的实施例中,所述基于dds规范对所述目标字典条目进行封装,生成与所述目标字典条目对应的消息结构体之前,所述方法还包括:
20.生成与所述目标字典条目相对应的主题标识信息;
21.所述生成与所述目标字典条目对应的消息结构体之后,将所述消息结构体存储到预设的目标通讯载体中之前,所述方法还包括:
22.将所述生成的所述消息结构体与所述主题标识信息进行关联;
23.所述从所述目标通讯载体中获取所述消息结构体中的所述数据结构信息,之前,所述方法还包括:
24.接收到所述格式转化指令后,确定所述目标通讯载体中的所述消息结构体存在关联的所述主题标识信息。
25.在该实施例中,还生成与所述目标字典条目相对应的主题标识信息,将所述生成的所述消息结构体与所述主题标识信息进行关联,在接收到所述格式转化指令后,确定所述目标通讯载体中的所述消息结构体存在关联的所述主题标识信息。该方法通过在对消息结构体进行代码转换前,基于主题标识信息进行dds规范的合规性判断,以确保生成的目标数据字典可以符合autosar标准,进一步提高autosar标准的数据字典的生成效率。
26.在一种可选的实施例中,所述生成与所述目标字典条目相对应的主题标识信息,包括:
27.将从部分或全部所述目标字典条目中提取的字段作为基础字段信息;
28.将所述基础字段信息与预设的附加字段信息进行组合,得到与所述目标字典条目相对应的主题标识信息。
29.在该实施例中,将从部分或全部所述目标字典条目中提取的字段作为基础字段信息;将所述基础字段信息与预设的附加字段信息进行组合,得到与所述目标字典条目相对应的主题标识信息。该方法可以根据目标字典条目高效地生成主题标识信息,进一步提高autosar标准的数据字典的生成效率。
30.第二方面,本技术实施例还提供了一种数据字典处理装置,包括:
31.信息输入单元,用于基于待处理数据字典的标识,获取所述待处理数据字典包括的目标字典条目;所述待处理数据字典不符合autosar标准;
32.信息封装单元,用于基于dds规范对所述目标字典条目进行封装,生成与所述目标字典条目对应的消息结构体,并将所述消息结构体存储到预设的目标通讯载体中;所述目标通讯载体用于辅助对所述消息结构体的数据传输;所述消息结构体包括所述目标字典条目的数据结构信息;
33.代码生成单元,用于响应于接收到的格式转化指令,从所述目标通讯载体中获取所述消息结构体中的所述数据结构信息,并对获取的所述数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。
34.在一种可选的实施例中,所述信息输入单元具体用于:
35.响应字典链接指令,基于所述字典链接指令中的所述待处理数据字典的标识,搜索数据字典库,获取所述待处理数据字典;
36.响应于字典条目设置指令,从所述字典条目设置指令中获取所述待处理数据字典的字典条目配置信息;
37.根据获取的所述字典条目配置信息,通过输入接口读取所述待处理数据字典包括的目标字典条目。
38.在一种可选的实施例中,所述信息封装单元具体用于:
39.基于dds规范,通过与所述输入接口对应的消息封装接口,对通过所述输入接口读取的所述目标字典条目进行封装,生成与通过所述输入接口读取的所述目标字典条目对应的消息结构体。
40.在一种可选的实施例中,所述信息封装单元,还用于:
41.所述基于dds规范对所述目标字典条目进行封装,生成与所述目标字典条目对应的消息结构体之前,生成与所述目标字典条目相对应的主题标识信息;
42.所述生成与所述目标字典条目对应的消息结构体之后,将所述消息结构体存储到预设的目标通讯载体中之前,将所述生成的所述消息结构体与所述主题标识信息进行关联;
43.所述代码生成单元,还用于:
44.所述从所述目标通讯载体中获取所述消息结构体中的所述数据结构信息,之前,接收到所述格式转化指令后,确定所述目标通讯载体中的所述消息结构体存在关联的所述
主题标识信息。
45.在一种可选的实施例中,所述信息封装单元,具体用于:
46.将从部分或全部所述目标字典条目中提取的字段作为基础字段信息;
47.将所述基础字段信息与预设的附加字段信息进行组合,得到与所述目标字典条目相对应的主题标识信息。
48.第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的数据字典处理方法。
49.第四方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得实现第一方面的数据字典处理方法。
50.第五方面,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,当所述计算机指令被计算设备执行时,所述计算设备可以执行如第一方面中任一项所述的方法。
51.第二方面至第五方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
52.图1为本技术实施例提供的一种数据字典处理方法的流程示意图;
53.图2为本技术实施例提供的一种数据字典处理方法的获取目标字典条目的流程示意图;
54.图3为本技术实施例提供的另一种数据字典处理方法的流程示意图;
55.图4为本技术实施例提供的一种数据字典处理装置的结构示意图;
56.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
57.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
58.需要说明的是,本技术的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
59.下面对文中出现的一些词语进行解释:
60.(1)autosar(automotive open system architecture,汽车开放系统架构):autosar是由全球各家汽车制造商、零部件供应商以及各种研究、服务机构共同参与的一种汽车电子系统的合作开发框架,并建立了一个开放的汽车控制器(ecu)标准软件架构。一般来说,每一家oem(original equipment manufacturer,原配厂)会生产不止一种车型,每一
家oem对不同子系统和零部件会选择不止一个供应商,每个供应商也会向不止一家oem供货。减少开发成本最有效的办法就是,尽可能让产品可重复利用,用数量来分摊开发成本。oem希望可以让同一套系统和部件用在不同的车型上;同一辆车上来自不同供应商的各个系统和部件可以相互兼容;而供应商希望开发出来的部件和算法可以通过简单的软件调整就供给不同的oem。另一方面,各个供应商的开发进度往往是不同步的。人们希望可以在供应商开发的过程中就可以测试该部件能否与整车上的其它系统正确配合。因此需要一种统一的、标准化的系统描述方法。这便是autosar的初衷,即通过提升oem以及供应商之间软件模块的可复用性和可互换性来改进对复杂汽车电子电气架构的管理。因此,autosar主要是为了实现:对应用软件与底层软件之间以及应用软件之间的接口进行标准化;给出一个控制器软件参考架构;规范分布式开发流程中的交换格式。
61.(2)arxml(architecture extensible markup language,系统可扩展标记语言)文件:arxml文件在autosar架构下,作为通用配置文件或数据库文件,在数据传输和存储中起到关键作用。xml(extensible markup language,可扩展标记语言),是一种类似于html的标记语言,它的设计宗旨是传输数据,而非显示数据,xml具有自我描述性,其标签没有被预定义,需要自行定义。在xml文件的基础上,autosar规范基于汽车电子的应用场景,将传输信息的文件格式定义为arxml。
62.(3)数据字典:数据字典指对数据的数据项、数据结构等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。
63.在自动驾驶领域,autosar(automotive open system architecture,汽车开放系统架构)软件开发流程的主流方式是通过现有的simulink控制模型自动生成架构软件所需的arxml文件。汽车产业已经很成熟,许多测试好的模型能够重用到不同的平台,而无需对模型进行任何人力修改,比如autosar架构。
64.为了推出符合autosar标准的自动驾驶软件,需要对simulink算法模型进行多次迭代与部署,与算法模型对应的autosar配置文件也需要相应进行更新。当软件接口固定后,每次算法软件迭代时,大多是对模型的数据字典进行修改。
65.相关技术的autosar自动驾驶软件开发中,无法单独生成autosar标准的数据字典,需要将自动驾驶算法模型、模型数据字典、算法依赖库等载入matlab软件,通过autosar标准化工具进行模型转换,再进行自动代码生成,生成的arxml文件包含了自动驾驶软件的全部描述信息,因此,生成autosar标准的数据字典时,过程复杂,耗时长,效率比较低。
66.为解决上述问题,本技术实施例提供了一种数据字典处理方法,首先基于不符合autosar标准的待处理数据字典的标识,获取待处理数据字典包括的目标字典条目,然后基于dds规范对目标字典条目进行封装,生成与目标字典条目对应的消息结构体,并将消息结构体存储到预设的目标通讯载体中,其中,消息结构体中包括目标字典条目的数据结构信息,再响应于接收到格式转化指令,从目标通讯载体中获取消息结构体中的数据结构信息,并对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。该方法仅通过非autosar标准的数据字典生成符合autosar标准的数据字典,无需载入自动驾驶模型以及算法依赖库,使得更加便捷地生成autosar标准的数据字典,可以节省生成autosar标准的数据字典的人力成本,提高autosar标准的数据字典的生成效率。
67.下面将结合附图,对本技术实施例提供的技术方案进行详细说明。
68.图1示出了本技术实施例提供的一种数据字典处理的流程示意图。如图1所示,该方法可以包括以下步骤:
69.步骤s101,基于待处理数据字典的标识,获取待处理数据字典包括的目标字典条目。
70.其中,待处理数据字典不符合autosar标准。
71.符合autosar标准的文件需要是arxml文件。本技术实施例中,待处理数据字典是通过matlab创建的sldd格式的数据字典,不符合autosar标准。
72.目标字典条目可以是待处理数据字典中的部分或全部的字典条目。
73.示例性地,待处理数据字典deal_1的标识为doc_modelinout,文件格式为sldd格式。待处理数据字典deal_1如表1所示。
74.表1
75.数据项数据类型
…
gaspedalsingle
…
mastercylindsingle
…
drvsbrboolean
…
passsbrboolean
…
76.由表1可见,假定待处理数据字典deal_1包括的目标字典条目的数量为4条,该4条目标字典条目的数据项分别为gaspedal、mastercylind、drvsbr、passsbr。待处理数据字典deal_1的文件格式为sldd格式,不符合autosar标准。基于待处理数据字典deal_1的标识doc_modelinout,获取待处理数据字典deal_1包括的数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目。
77.在本技术的一些实施例中,通过matlab软件中的autosar标准模板实现基于待处理数据字典的标识,获取待处理数据字典包括的目标字典条目。
78.图2为本技术实施例提供的一种数据字典处理方法的获取目标字典条目的流程示意图。如图2所示,基于待处理数据字典的标识,获取待处理数据字典包括的目标字典条目,可以通过以下步骤实现:
79.步骤s201,响应字典链接指令,基于字典链接指令中的待处理数据字典的标识,搜索数据字典库,获取待处理数据字典。
80.本技术的实施例中,可以设置有数据字典库。用户在构建待处理数据字典deal_1后,将其存储到数据字典库中。为了得到与待处理数据字典deal_1对应的符合autosar标准的数据字典,用户输入待处理数据字典deal_1的标识doc_modelinout,然后通过点击操作触发字典链接指令command1。
81.在接收到字典链接指令command1后,基于字典链接指令command1中的标识doc_modelinout,搜索数据字典库,找到标识为doc_modelinout的数据字典并进行信息读取并存储到缓存,从而获取到待处理数据字典deal_1。
82.步骤s202,响应于字典条目设置指令,从字典条目设置指令中获取待处理数据字典的字典条目配置信息。
83.示例性地,用户可以在输入目标字典条目的数据项gaspedal、mastercylind、
drvsbr、passsbr后,通过点击操作触发字典条目设置指令command2。
84.字典条目配置信息包括但不限于以下项目的部分或全部:输入接口标识、各输入接口的字典条目读取顺序、各输入接口需要读取的字典条目的数据项。
85.在接收到字典条目设置指令command2后,从字典条目设置指令command2中获取待处理数据字典deal_1的字典条目配置信息instr2。例如,该字典条目配置信息instr2可以是指示“通过输入接口inport1顺序读取数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目”。
86.步骤s203,根据获取的字典条目配置信息,通过输入接口读取待处理数据字典包括的目标字典条目。
87.在本技术的一些实施例中,输入接口为matlab软件中的输入端口(in port)模块。可以理解地,输入接口还可以是自行开发设计的信息读取模块。本技术对输入接口的具体形式不作限定。
88.示例性地,根据获取的字典条目配置信息instr2包括的“通过输入接口inport1顺序读取数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目”的信息,通过输入接口inport1读取待处理数据字典deal_1包括的数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目。
89.步骤s102,基于dds规范对目标字典条目进行封装,生成与目标字典条目对应的消息结构体,并将消息结构体存储到预设的目标通讯载体中。
90.其中,目标通讯载体用于辅助对消息结构体的数据传输;消息结构体包括目标字典条目的数据结构信息。
91.本技术的实施例中,目标通讯载体为虚拟总线。
92.虚拟总线是指将多个信号组合成一个总线,然后将总线作为一个整体进行访问,或者从总线中选择特定的信号。本技术实施例中,目标通讯载体为虚拟总线,该预设的虚拟总线用于辅助对消息结构体的数据传输。
93.具体实施时,基于dds规范对目标字典条目进行封装生成与目标字典条目对应的消息结构体之后,根据dds规范将生成的消息结构体存储到预设的虚拟总线中。当用户输入格式转化指令时,响应于接收到的格式转化指令,可以从虚拟总线中获取消息结构体中的数据结构信息,从而通过虚拟总线辅助对消息结构体的数据传输。
94.示例性地,基于dds规范,对数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目读取数据结构信息封装到dds规范的消息中,得到与数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目对应的消息结构体info_1、info_2、info_3、info_4,并将消息结构体info_1、info_2、info_3、info_4存储到预设的目标通讯载体dom_1中。消息结构体info_1、info_2、info_3、info_4分别包括数据项为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目的数据结构信息,其中每个消息结构体包括一个目标字典条目的数据结构信息。
95.在本技术的一些实施例中,基于dds规范对目标字典条目进行封装,生成与目标字典条目对应的消息结构体,具体为通过如下方式实现:基于dds规范,通过与输入接口对应的消息封装接口,对通过输入接口读取的目标字典条目进行封装,生成与通过输入接口读取的目标字典条目对应的消息结构体。
96.具体实施时,可以预先设置输入接口和消息封装接口对应。可以是通过一个输入接口以及一个与该一个输入接口对应的消息封装接口进行目标字典条目的读取和封装;也可以是通过多个输入接口以及分别与输入接口一一对应的多个消息封装接口进行目标字典条目的读取和封装。
97.在本技术的一些实施例中,消息封装接口为matlab软件中的autosar event消息模块。
98.下面对通过一个输入接口以及一个与该一个输入接口对应的消息封装接口进行目标字典条目的读取和封装,进行说明。
99.示例性地,假定预先将输入接口inport1设置为与消息封装接口event1对应。输入接口inport1读取目标字典条目后,将读取的目标字典条目发送给对应的消息封装接口event1。基于dds规范,通过消息封装接口event1,对数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目依次读取数据结构信息,并分别封装到dds规范的消息中,得到与数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目对应的消息结构体info_1、info_2、info_3、info_4。
100.通过多个输入接口以及分别与输入接口一一对应的多个消息封装接口进行目标字典条目的读取和封装的方式,与前述的过程类似。
101.假定预先将输入接口inport1~inport4设置为分别与消息封装接口event1~event4一一对应。输入接口inport1~inport4读取目标字典条目后,分别将读取的目标字典条目发送给对应的消息封装接口event1~event4。基于dds规范,通过消息封装接口event1、event2、event3、event4,对数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目读取数据结构信息;消息封装接口event1、event2、event3、event4分别将各自读取的数据结构信息封装到dds规范的消息中,得到与数据项分别为gaspedal、mastercylind、drvsbr、passsbr的目标字典条目对应的消息结构体info_1、info_2、info_3、info_4。也即,消息封装接口event1通过封装得到与数据项分别为gaspedal的目标字典条目对应的消息结构体info_1;消息封装接口event2通过封装得到与数据项为mastercylind的目标字典条目对应的消息结构体info_2;消息封装接口event3通过封装得到与数据项为drvsbr的目标字典条目对应的消息结构体info_3;消息封装接口event4通过封装得到与数据项为passsbr的目标字典条目对应的消息结构体info_4。
102.基于dss规范,在把消息结构体放到虚拟总线时,通常需要设置对应的读取模块,用于从虚拟总线读取消息结构体。本技术的一些实施例中,不设置读取模块,此时,为了能够正常进行程序编译,采取将虚拟总线与matlab软件中的终点(terminator)模块连接的方式,防止出现编译报错。
103.步骤s103,响应于接收到的格式转化指令,从目标通讯载体中获取消息结构体中的数据结构信息,并对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。
104.具体实施时,对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典,具体为对获取的数据结构信息进行代码转换,生成与数据结构信息对应的arxml文件,得到符合autosar标准的目标数据字典。
105.示例性地,响应于接收到的用户输入的格式转化指令,从目标通讯载体dom_1中获
取消息结构体info_1、info_2、info_3、info_4中的数据结构信息,并对获取的数据结构信息进行代码转换,生成与消息结构体info_1、info_2、info_3、info_4中的数据结构信息对应的arxml文件,从而得到目标数据字典deal_1_datatype,该目标数据字典deal_1_datatype符合autosar标准。
106.在本技术的一些实施例中,通过matlab软件中的autosar标准模板从目标通讯载体中获取消息结构体中的数据结构信息,并对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。
107.本技术实施例提供的数据字典处理方法,首先基于不符合autosar标准的待处理数据字典的标识,获取待处理数据字典包括的目标字典条目,然后基于dds规范对目标字典条目进行封装,生成与目标字典条目对应的消息结构体,并将消息结构体存储到预设的目标通讯载体中,其中,消息结构体中包括目标字典条目的数据结构信息,再响应于接收到格式转化指令,从目标通讯载体中获取消息结构体中的数据结构信息,并对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。该方法仅通过非autosar标准的数据字典生成符合autosar标准的数据字典,无需载入自动驾驶模型以及算法依赖库,使得更加便捷地生成autosar标准的数据字典,节省生成autosar标准的数据字典的耗时,提高autosar标准的数据字典的生成效率。
108.虽然本技术实施例提供了如上述实施例或附图所示的方法的操作步骤,但基于常规或者无需创造性的劳动在上述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本技术实施例提供的执行顺序。上述方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并行执行。
109.在本技术的一些实施例中,还包括生成主题标识信息的步骤。主题标识信息用于在生成消息结构体后,将生成的消息结构体与主题标识信息进行关联后,再将消息结构体存储到预设的目标通讯载体中,这样,在接收到所述格式转化指令后,确定所述目标通讯载体中的所述消息结构体存在关联的所述主题标识信息。通过在对消息结构体进行代码转换前,基于主题标识信息进行dds规范的合规性判断,以确保生成的目标数据字典可以符合autosar标准,进一步提高autosar标准的数据字典的生成效率。
110.图3为本技术实施例提供的另一种数据字典处理方法的流程示意图。如图3所示,可以包括以下步骤:
111.步骤s301,基于待处理数据字典的标识,获取待处理数据字典包括的目标字典条目。
112.其中,待处理数据字典不符合autosar标准;
113.步骤s302,生成与目标字典条目相对应的主题标识信息。
114.本技术的实施例中,生成与目标字典条目相对应的主题标识信息,具体实现过程可以为:将从部分或全部目标字典条目中提取的字段作为基础字段信息;将基础字段信息与预设的附加字段信息进行组合,得到与目标字典条目相对应的主题标识信息。
115.具体实施时,将基础字段信息与预设的附加字段信息进行组合,包括但不限于以下方式:将预设的附加字段信息作为基础字段信息的后缀、将预设的附加字段信息作为基础字段信息的前缀。
116.从部分或全部目标字典条目中提取字段,包括但不限于:提取第一个目标字典条目的数据项、提取最后一个目标字典条目的数据项、提取各个目标字典条目的数据项的首字母。
117.示例性地,假定预设的附加字段信息“_topic”。待处理数据字典deal_1包括4个目标字典条目,该4个目标字典条目的数据项分别为gaspedal、mastercylind、drvsbr、passsbr。将从该目标字典条目中提取的各个数据项的首字母作为基础字段信息,例如提取的字段可以为“gmdp”;通过将预设的附加字段信息作为基础字段信息的后缀的方式,将基础字段信息“gmdp”与预设的附加字段信息“_topic”进行组合,得到与目标字典条目相对应的主题标识信息“gmdp_topic”。
118.步骤s303,基于dds规范对目标字典条目进行封装,生成与目标字典条目对应的消息结构体。
119.其中,消息结构体包括目标字典条目的数据结构信息。
120.步骤s304,将生成的消息结构体与主题标识信息进行关联。
121.示例性地,将消息结构体info_1、info_2、info_3、info_4分别与主题标识信息“gmdp_topic”进行关联。
122.步骤s305,将消息结构体存储到预设的目标通讯载体中。
123.其中,目标通讯载体用于辅助对消息结构体的数据传输。
124.步骤s306,接收到格式转化指令后,确定目标通讯载体中的消息结构体存在关联的主题标识信息。
125.示例性地,接收到格式转化指令后,首先确定目标通讯载体中的消息结构体info_1、info_2、info_3、info_4存在关联的主题标识信息。若确定目标通讯载体中的消息结构体info_1、info_2、info_3、info_4不存在关联的主题标识信息,则判断目标通讯载体中的消息结构体的传输不符合dds协议,为了确保生成的目标数据字典均符合autosar标准,提示用户dds规范不合规并停止执行后续步骤。
126.具体地,提示用户dds规范不合规,可以采用触发警铃、跳出提示信息等方式。
127.步骤s307,响应于接收到的格式转化指令,从目标通讯载体中获取消息结构体中的数据结构信息,并对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。
128.示例性地,接收到格式转化指令后,若确定目标通讯载体中的消息结构体info_1、info_2、info_3、info_4存在关联的主题标识信息,则响应于接收到的格式转化指令,从目标通讯载体dom_1中获取消息结构体info_1、info_2、info_3、info_4中的数据结构信息,并对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。
129.上述实施例的方法,通过在对消息结构体进行代码转换前,基于主题标识信息进行dds规范的合规性判断,以确保生成的目标数据字典可以符合autosar标准,进一步提高autosar标准的数据字典的生成效率。
130.基于同一发明构思,本技术实施例还提供一种数据字典处理装置,由于该装置是本技术实施例的数据字典处理方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法实施例的实施过程,重复之处不再赘述。
131.图4示出了本技术实施例提供的一种数据字典处理装置的结构示意图。该数据字
典处理装置,如图4所示,包括:信息输入单元401、信息封装单元402和代码生成单元403;其中,
132.信息输入单元401,用于基于待处理数据字典的标识,获取待处理数据字典包括的目标字典条目;待处理数据字典不符合autosar标准;
133.信息封装单元402,用于基于dds规范对目标字典条目进行封装,生成与目标字典条目对应的消息结构体,并将消息结构体存储到预设的目标通讯载体中;目标通讯载体用于辅助对消息结构体的数据传输;消息结构体包括目标字典条目的数据结构信息;
134.代码生成单元403,用于响应于接收到的格式转化指令,从目标通讯载体中获取消息结构体中的数据结构信息,并对获取的数据结构信息进行代码转换,得到符合autosar标准的目标数据字典。
135.在一种可选的实施例中,信息输入单元401具体用于:
136.响应字典链接指令,基于字典链接指令中的待处理数据字典的标识,搜索数据字典库,获取待处理数据字典;
137.响应于字典条目设置指令,从字典条目设置指令中获取待处理数据字典的字典条目配置信息;
138.根据获取的字典条目配置信息,通过输入接口读取待处理数据字典包括的目标字典条目。
139.在一种可选的实施例中,信息封装单元402具体用于:
140.基于dds规范,通过与输入接口对应的消息封装接口,对通过输入接口读取的目标字典条目进行封装,生成与通过输入接口读取的目标字典条目对应的消息结构体。
141.在一种可选的实施例中,信息封装单元402,还用于:
142.基于dds规范对目标字典条目进行封装,生成与目标字典条目对应的消息结构体之前,生成与目标字典条目相对应的主题标识信息;
143.生成与目标字典条目对应的消息结构体之后,将消息结构体存储到预设的目标通讯载体中之前,将生成的消息结构体与主题标识信息进行关联;
144.代码生成单元403,还用于:
145.从目标通讯载体中获取消息结构体中的数据结构信息,之前,接收到格式转化指令后,确定目标通讯载体中的消息结构体存在关联的主题标识信息。
146.在一种可选的实施例中,信息封装单元402,具体用于:
147.将从部分或全部目标字典条目中提取的字段作为基础字段信息;
148.将基础字段信息与预设的附加字段信息进行组合,得到与目标字典条目相对应的主题标识信息。
149.与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。该电子设备可以用于数据字典处理。在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。在该实施例中,电子设备的结构可以如图5所示,包括存储器501,通讯模块503以及一个或多个处理器502。
150.存储器501,用于存储处理器502执行的计算机程序。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
151.存储器501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器501也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。
152.处理器502,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器502,用于调用存储器501中存储的计算机程序时实现上述数据字典处理方法。
153.通讯模块503用于与终端设备和其他服务器进行通信。
154.本技术实施例中不限定上述存储器501、通讯模块503和处理器502之间的具体连接介质。本公开实施例在图5中以存储器501和处理器502之间通过总线504连接,总线504在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
155.本技术实施例还提供了一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术任一实施例的数据字典处理方法。
156.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的数据字典处理方法。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
157.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。