用于嵌入式系统控制软件的数据字典管理系统及方法与流程

文档序号:33644580发布日期:2023-03-29 03:09阅读:74来源:国知局
用于嵌入式系统控制软件的数据字典管理系统及方法与流程

1.本发明涉及嵌入式系统控制软件技术领域,具体地涉及用于嵌入式系统控制软件的数据字典管理系统及方法。


背景技术:

2.嵌入式系统数据字典是一种记录应用程序元数据定义的目录,是对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典用于建模与代码编写。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。
3.现有技术对于数字字典的管理,目前大都是基于人工手动维护数据字典文档,通过直接编辑或者通过查询语句从数据库中读取数据表结构信息,再拷贝到文档中进行存储,且多不使用统一的数据字典,而是将数据字典分散在各组成模块中分别维护。在数据库建设过程,数据模型的修改及新增、删除等维护操作较为频繁,
4.现有技术的缺陷在于:
5.1.由于人工管理通常不能做到第一时间变更和维护数据字典,而在复杂的控制系统软件中,往往包含数以千计的功能模块,从而很容易造成变量在不同模块中的不同定义;
6.2.由于人工管理会造成变量在不同模块中的不同定义,从而会进一步导致软件集成失败,造成人力与时间的浪费,且数据字典的人工维护的方式本身也费时费力。
7.为了解决人工管理的技术问题,目前也有极少数采用计算机来实现部分自动化数据字典的维护技术。典型如申请号为cn201610270564.6,发明名称为“一种数据字典的管理方法及系统”的中国发明授权专利,公开了以下技术方案:
8.一种数据字典的管理方法,应用于多任务的系统开发中,包括:提供初始的数据字典基线;以最新版本的数据字典基线定义新的开发任务,并在开发中维护开发任务下的基本数据字典;将已完成开发的开发任务的基本数据字典分别与其他进行中的开发任务的基本数据字典及最新版本的数据字典基线进行差异对比,以分别获得相较于已完成的开发任务的基本数据字典的并行任务差异分析结果和基线差异分析结果;将并行任务差异分析结果添加到对应的进行中的开发任务下的基本数据字典中;将基线差异分析结果添加到最新版本的数据字典基线中,并发布更新版本的数据字典基线。
9.基线是描述一个或多个配置项以及构成配置项的相关实体,在本发明中,数据字典基线为通过验证和确认的数据字典,为项目开发过程中提供稳定的数据字典的基础。在系统开发之初,首先提供一个初始的数据字典基线,为即将开始的任务提供铺地数据信息,该初始的数据字典基线在后续开发中会不断的得到更新,并发布为更高版本的数据字典基线。初始的数据字典基线可以采用数据表格导入或通过页面维护的方式来获得。而后,以最新版本的数据字典基线定义新的开发任务,并在开发中维护开发任务下的基本数据字典。对于将要进行的开发任务,可以为同时进行的多个开发任务,也可以为单个进行的一个开发任务,都以当前最新版本的数据字典基线为基础开始各开发工作,以最新版本的数据字
典基线定义各开发任务。在项目开发之初,则是初始的数据字典基线为基础进行开发工作,在项目进展一段时间后,有更新版本的数据字典基线发布,则是以最新版本的数据字典基线为基础进行开发工作。在以最新版本的数据字典基线定义了该开发任务之后,在开发的过程中,还要维护各开发任务下的基本数据字典,该基本数据字典为该开发任务在开发过程中增加的数据字典信息。
10.通过数据表格批量导入或通过页面输入的方式进行维护,可以包括数据表基本信息、数据表结构信息、数据表键值、数据表索引和数据字典批量维护等方面,根据开发中具体的用户维度,维护操作可以包括对这些数据表的相关信息进行新建、编辑、删除与恢复。接着,将已完成开发的开发任务的基本数据字典分别与其他进行中的开发任务的基本数据字典及最新版本的数据字典基线进行差异对比,以分别获得相较于已完成的开发任务的基本数据字典的并行任务差异分析结果和基线差异分析结果。
11.一种数据字典的管理方法,还包括:获得测试环境下的测试数据字典,并进行测试数据字典与数据字典基线的差异分析。
12.获得测试环境下的测试数据字典的步骤包括:由最新版本的数据字典基线和开发任务的基本数据字典生成测试数据字典。
13.一种数据字典的管理方法,还包括:对各版本的数据字典基线和/或开发任务的基本数据字典进行查询。
14.在获得基线差异分析结果之后,还包括:将基线差异分析结果生成数据字典ddl部署脚本。
15.一种数据字典的管理系统,包括:数据字典基线初始化单元,用于提供初始的数据字典基线;开发任务建立单元,用于以最新版本的数据字典基线定义新的开发任务;基本数据字典维护单元,用于在开发中维护开发任务下的基本数据字典;第一差异分析单元,用于将已完成开发的开发任务的基本数据字典分别与其他进行中的开发任务的基本数据字典及最新版本的数据字典基线进行差异对比,以分别获得相较于已完成的开发任务的基本数据字典的并行任务差异分析结果和基线差异分析结果;基本数据字典更新单元,用于将并行任务差异分析结果添加到对应的进行中的开发任务下的基本数据字典中;基线更新单元,用于将基线差异分析结果添加到最新版本的数据字典基线中,并发布更新版本的数据字典基线。
16.数据字典的管理系统,还包括:测试数据字典建立单元,用于获得测试环境下的测试数据字典;第二差异分析单元,用于进行测试数据字典与数据字典基线的差异分析。
17.在测试数据字典建立单元中,由最新版本的数据字典基线和开发任务的基本数据字典生成测试数据字典。
18.数据字典的管理系统,还包括:查询单元,用于对各版本的数据字典基线和/或开发任务的基本数据字典进行查询。
19.数据字典的管理系统,还包括:ddl部署脚本生成单元,用于将基线差异分析结果生成数据字典ddl部署脚本。
20.进行数据字典基线的更新和新版本的数据字典基线的发布,将基线差异分析结果添加到目前为止的最新版本的数据字典基线中,这样,使得数据字典得到及时的更新和发布,以便于后续的开发任务使用最新的数据字典基线作为铺地数据,有效管理项目开发中
的数据字典,提高项目开发的效率。
21.对于上述的步骤,提供初始的数据字典基线通常只进行一次,用于数据字典的初始化铺地,之后,每一个开发任务,在开发过程中都进行上述的除提供初始的数据字典基线之外的所有步骤,在开发过程中有效对开发任务的基本数据字典以及系统的数据字典基线进行有效的管理,直到系统开发完成。
22.在专利cn201610270564.6所提供的技术方案中,虽然提供了一套对于不同版本与开发支线数据字典的管理方法,但依然具有如下技术缺陷:
23.1.由于数据字典间的差异比较只生成分析报告,并不进行自动化合并处理,且对新增数据定义时并没有使用现有数据字典库信息作为参考进行自动化定义,从而使得管理效率非常低;
24.2.由于不进行自动化合并处理,从而使得冗余项会随运行时间的增加而呈几何级数上升,导致后期检索数据的效率直线下降,直至无法运行而告系统崩溃。


技术实现要素:

25.本发明针对上述问题,提供用于嵌入式系统控制软件的数据字典管理系统及方法,其目的在于实现全自动数据字典维护,摒弃人工管理的各种弊端;杜绝冗余项的出现,不会导致系统变慢乃至崩溃。
26.为解决上述问题,本发明提供的技术方案为:
27.用于嵌入式系统控制软件的数据字典管理系统,包含以下部分:
28.统一数据字典模块,用于存放总数据字典;所述总数据字典中包含数据定义信息;
29.数据字典检索提取模块,用于对于总数据库中已存在的数据,自动提取关于所述总数据库中已存在的数据的所述数据定义信息;
30.同类数据参考定义模块,用于对于新增数据,自动提取关于所述新增数据的所述数据定义信息,并传送给工作人员以供进行人工审核确认;
31.子模块数据字典自动生成模块,用于提取关于子模块数据的子模块数据目录;
32.数据字典合并校验模块,用于将关于所述子模块数据的所述数据定义信息,自动并入所述总数据字典;
33.数据流解析模块,用于当所述子模块数据与所述总数据字典发生冲突时,分析冲突数据在本管理系统中的数据流,并设定评价方案,且自动判断是否将所述冲突数据并入所述总数据字典,并输出冲突报告供工作人员进行人工审核;
34.优选地,所述子模块数据包含所述总数据库中已存在的数据,和所述新增数据。
35.优选地,本管理系统还将所述总数据库中已存在的数据和所述新增数据自动合并,然后自动生成用于子模块测试的子模块数据字典。
36.优选地,所述子模块数据字典中包含关于所述总数据库中已存在的数据的所述数据定义信息和关于所述新增数据的所述数据定义信息。
37.一种利用用于嵌入式系统控制软件的数据字典管理系统的用于嵌入式系统控制软件的数据字典管理方法,包含以下步骤:
38.s100.提取当前的关于所述子模块数据的所述子模块数据目录;
39.s200.提取关于所述子模块数据的所述数据定义信息;
40.s300.自动生成所述子模块数据字典;
41.s400.将所述子模块数据字典合并至所述总数据字典;
42.s500.更新所述总数据字典;
43.s600.结束本次数据字典管理方法的执行流程。
44.优选地,s200中提取关于所述子模块数据的所述数据定义信息,具体包含以下步骤:
45.s210.判定所述子模块数据的类型;
46.s220.根据判定结果,做出如下操作:
47.如果所述子模块数据为所述总数据库中已存在的数据,则执行s240;
48.如果所述子模块数据为所述新增数据,则执行s230;
49.s230.根据已经存在于总数据库中,且与所述子模块数据同类的数据,进行类比定义,获得所述数据定义信息;然后执行s300;
50.s240.提取关于所述子模块数据的用于记录入数据字典的所述数据定义信息;然后执行s300。
51.优选地,s500中更新所述总数据字典,具体包含以下步骤:
52.s510.判断所述子模块数据与所述总数据字典是否发生冲突;
53.s520.根据判断结果,做出如下操作:
54.如果所述子模块数据与所述总数据字典发生冲突,则执行s530;
55.如果所述子模块数据与所述总数据字典未发生冲突,则执行s550;
56.s530.分析所述冲突数据在本管理系统中的所述数据流,并设定所述评价方案;然后执行s540;
57.s540.输出所述冲突报告供工作人员进行人工审核;然后执行s600;
58.s550.更新所述总数据字典;然后执行s600。
59.优选地,s530中分析所述冲突数据在本管理系统中的所述数据流,并设定所述评价方案,还包含以下步骤:
60.s531.自动判断是否将所述冲突数据并入所述总数据字典;
61.s532.根据判断结果,做出如下操作:
62.如果判断将所述冲突数据并入所述总数据字典,则将所述冲突数据并入所述总数据字典;然后执行s540;
63.如果判断不将所述冲突数据并入所述总数据字典,则直接执行s540。
64.优选地,s100中,还使用所述子模块数据字典自动生成模块提取模型变量数据列表;所述模型变量数据列表包含所述子模块数据字典自动生成模块所包含的变量的名称清单。
65.优选地,所述总数据字典中的数据,按照分类范围由大到小的命名规则进行命名。
66.本发明与现有技术对比,具有以下优点:
67.1.由于本发明采用统一的数据字典库形成统一的数据字典库,并在各设计分支的更新中自动引用、参考已有数据自动生成新数据定义信息,从而可以实现全自动数据字典维护,摒弃了人工管理的各种弊端;
68.2.由于本发明自动比较数据差异,按合并策略自动更新统一数据字典库,从而杜
绝了冗余项的出现,不会导致系统变慢乃至崩溃。
附图说明
69.图1为本发明具体实施例的系统结构示意图;
70.图2为本发明具体实施例的方法流程示意图。
具体实施方式
71.下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
72.如图1所示,用于嵌入式系统控制软件的数据字典管理系统,包含以下部分:
73.统一数据字典模块,用于存放总数据字典;总数据字典中包含数据定义信息。
74.数据字典检索提取模块,用于对于总数据库中已存在的数据,自动提取关于总数据库中已存在的数据定义信息。
75.同类数据参考定义模块,用于对于新增数据,自动提取关于新增数据的数据定义信息,并传送给工作人员以供进行人工审核确认。
76.子模块数据字典自动生成模块,用于提取关于子模块数据的子模块数据目录。
77.本具体实施例中,子模块数据包含总数据库中已存在的数据,和新增数据。
78.本具体实施例中,本管理系统还将总数据库中已存在的数据和新增数据自动合并,然后自动生成用于子模块测试的子模块数据字典。
79.本具体实施例中,子模块数据字典中包含关于总数据库中已存在的数据的数据定义信息和关于新增数据的数据定义信息。
80.数据字典合并校验模块,用于将关于子模块数据的数据定义信息,自动并入总数据字典。
81.数据流解析模块,用于当子模块数据与总数据字典发生冲突时,分析冲突数据在本管理系统中的数据流,并设定评价方案,且自动判断是否将冲突数据并入总数据字典,并输出冲突报告供工作人员进行人工审核。
82.如图2所示,本发明还包含一种利用用于嵌入式系统控制软件的数据字典管理系统的用于嵌入式系统控制软件的数据字典管理方法,包含以下步骤:
83.s100.提取当前的关于子模块数据的子模块数据目录。
84.本具体实施例中,s100中,还使用子模块数据字典自动生成模块提取模型变量数据列表;模型变量数据列表包含子模块数据字典自动生成模块所包含的变量的名称清单。
85.本具体实施例以一个具体的车辆控制系统的某一个字功能模块为例:当控制系统在完成该子功能模块设计后,如使用simulink完成逻辑建模,使用子模块数据字典自动生成模块提取simulink模型变量数据列表n_list,包含该模块所包含的变量名称清单。
86.s200.提取关于子模块数据的数据定义信息。
87.本具体实施例中,s200中提取关于子模块数据的数据定义信息,具体包含以下步骤:
88.s210.判定子模块数据的类型。
89.s220.根据判定结果,做出如下操作:
90.如果子模块数据为总数据库中已存在的数据,则执行s240。
91.如果子模块数据为新增数据,则执行s230。
92.s230.根据已经存在于总数据库中,且与子模块数据同类的数据,进行类比定义,获得数据定义信息;然后执行s300。
93.s240.提取关于子模块数据的用于记录入数据字典的数据定义信息;然后执行s300。
94.本具体实施例中,s200具体来说执行的是:对比总数据字典库a,并将子模块数据分为两类,一类为总数据库a中已存在的数据,得到包含总数据库a与n_list中重叠的变量列表exist_var_list_1,另一类为该模块新增数据,列表unexist_var_list_1。
95.s300.自动生成子模块数据字典。
96.本具体实施例中,s300具体来说执行的是:对于列表evar_xist_var_list_1中的数据,使用数据字典检索提取模块自动从总数据字典a中自动提取定义信息获得已有数据字典子集exist_var_dic;对于新增数据列表un_exist_var_list_1,使用同类数据参考定义模块;
97.s400.将子模块数据字典合并至总数据字典。
98.本具体实施例中,总数据字典中的数据,按照分类范围由大到小的命名规则进行命名。
99.需要说明的是,利用特定的命名规则,将数据进行归类,如变量air_temp_egrv_var_xvar_x_m,air代表变量所属模块分类,temp代表温度类,egrv代表egr阀相关,m代表测量量,x代表该变量具体定义相关的字母,由此缩小所属范围,找到同类变量定义,作为参考,自动得到新增数据定义,并由人工审核确认,获得新增数据构成的数据字典
100.un_exist_var_dic。
101.本具体实施例中,s400具体来说执行的是:自动合并evar_xist_var_dic和un_evar_xist_var_dic,生成子模块数据字典child_var_dic,可用于模型测试与代码生成等。
102.s500.更新总数据字典。
103.本具体实施例中,s500中更新总数据字典,具体包含以下步骤:
104.s510.判断子模块数据与总数据字典是否发生冲突。
105.s520.根据判断结果,做出如下操作:
106.如果子模块数据与总数据字典发生冲突,则执行s530。
107.如果子模块数据与总数据字典未发生冲突,则执行s550。
108.s530.分析冲突数据在本管理系统中的数据流,并设定评价方案;然后执行s540。
109.本具体实施例中,s530中分析冲突数据在本管理系统中的数据流,并设定评价方案,还包含以下步骤:
110.s531.自动判断是否将冲突数据并入总数据字典。
111.s532.根据判断结果,做出如下操作:
112.如果判断将冲突数据并入总数据字典,则将冲突数据并入总数据字典;然后执行s540。
113.如果判断不将冲突数据并入总数据字典,则直接执行s540。
114.s540.输出冲突报告供工作人员进行人工审核;然后执行s600。
115.本具体实施例中,还给出如下的详细冲突解决策略,共计5个实例,覆盖了5种可能发生的具体情况:
116.case1:比如var_x为当前子模块中为输出,但并没有其他模块引用var_x为输入,且没有其他模块输出var_x,则自动将child_var_dic中的var_x数据定义信息覆盖总数据字典a中的var_x定义信息。
117.case2:如果var_x为当前子模块中为输出,并由其他模块引用var_x为输入,且没有其他模块输出var_x,则拒绝将child_var_dic中的var_x数据定义信息覆盖总数据字典a中的var_x定义信息。
118.case3:如var_x为当前子模块中为输出,且有其他模块也输出var_x,则拒绝将child_var_dic中的var_x数据定义信息覆盖总数据字典a中的var_x定义信息,并报出错误信息。
119.case4:如果为当前子模块中为输入,但并没有其他模块输出var_x,则拒绝将child_var_dic中的var_x数据定义信息覆盖总数据字典a中的var_x定义信息,并自动判断命名有误,报出错误信息。
120.case5:如果var_x为当前子模块中为输入,并有其他模块输出var_x,则拒绝将child_var_dic中的var_x数据定义信息覆盖总数据字典a中的var_x定义信息。
121.s550.更新总数据字典;然后执行s600。
122.本具体实施例中,s500具体来说执行的是:使用数据字典合并校验模块将子模块数据字典child_var_dic自动并入总数据字典a,当子模块child_var_dic中有数据var_x与总数据字典a中数据发生冲突时,使用数据流解析模块分析冲突数据var_x在系统中的数据流,并设定评价方案,自动判断是否覆盖a中数据定义,自动判断完成后输出冲突报告供人工审核。
123.s600.结束本次数据字典管理方法的执行流程。
124.在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
125.为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本技术公开的原理和新颖性特征的最广范围相一致。
126.上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解
释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或”是要表示“非排它性的或者”。
127.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1