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

一种基于元数据的仿真系统数据传输方法和系统与流程

2023-09-01 15:03:31 来源:中国专利 TAG:


1.本发明涉及一种基于元数据的仿真系统数据传输方法和系统。


背景技术:

2.当前的仿真系统都是由多种仿真模型构成。在系统运行过程中,仿真模型之间会进行频繁的数据交互,产生大量的网络传输数据。当仿真模型之间交互频繁、传输数据量大的时候,会产生传输数据的网络延迟,导致仿真系统运行出现时间不一致现象,影响仿真系统运行的正确性。
3.目前,仿真模型之间的数据传输大多采用tcp协议进行,对传输数据本身缺少相应的优化,导致大量冗余数据在网络上重复传输。


技术实现要素:

4.发明目的:在仿真系统运行过程中,仿真模型之间需要进行数据交互,因此产生大量的网络传输数据。本发明的第一目的是提供一种基于元数据的可描述方法,对仿真模型之间传输的数据进行结构化描述,对各种结构化数据进行标准化处理,实现数据结构的可描述。
5.由于仿真模型之间的交互数据的信息量大且频率高,有时相同的数据会反复传输,从而产生大量网络冗余数据。因此,本发明的第二目的是提供一种仿真传输数据的优化方法,根据仿真数据的元数据描述信息,在数据发送方进行数据裁剪、在数据接收方进行数据组装,通过裁剪掉重复数据,从而降低网络上传输数据的冗余量,提高网络使用效率。
6.为了实现上述目的,本发明采用以下技术方案:一种基于元数据的仿真系统数据传输方法,包括以下步骤:
7.步骤1,仿真数据注册:根据仿真数据描述方法,对仿真数据进行注册,注册的信息包括:仿真数据包含的数据项数量、每个数据项的基本信息和属性信息;
8.步骤2,仿真数据解析:建立数据项链表空间,根据每个仿真数据的元数据信息,对仿真数据进行解析和分解,分解成两个以上的数据项;
9.步骤3,仿真数据裁剪:在建立的数据项链表空间基础上,对仿真数据进行解析和裁剪,生成数据裁剪编号列表,初始条件下,数据裁剪编号列表为空:根据链表空间中存储的每个数据项的属性信息和取值空间,对数据项的取值进行判断,如果符合裁剪条件,则记录数据项编号,裁剪数据项,并将数据项对应的链表空间编号添加到数据裁剪编号列表中保存;如果不符合裁剪条件,则记录数据项取值,继续遍历下一个数据项,直到所有数据项列表遍历结束;
10.步骤4,仿真数据组装:根据接收的数据项列表和数据裁剪编号列表对数据项进行组装,形成完整的传输数据结构。
11.步骤1中,对仿真数据进行注册时,提供了数据注册规范,所述数据注册规范规定了每条仿真模型发送或接收的仿真数据描述的方式和内容,所述数据注册规范提供了仿真
数据描述语言sddl,仿真数据描述语言sddl对仿真数据的基本信息、仿真数据项的属性信息和结构信息要素分别提供描述,包含基本信息标签和属性信息标签。
12.步骤1中,所述基本信息标签用于描述被集成的仿真数据的基本信息,包括仿真数据名称、数据项数量,仿真数据基本信息标签描述的仿真数据名称是唯一的;
13.所述属性信息标签用于描述每个仿真数据项的属性信息,包括数据项名称和数据项属性描述,属性信息标签包括可变属性信息和存储空间信息;
14.所述可变属性信息用于描述数据项的取值是否为固定值,如果取值为0,表示数据项取值空间不变;如果取值为1,表示数据项取值空间发生变化;
15.所述存储空间信息用于描述数据项所占用的内存空间大小,单位为字节数量。
16.步骤2中,对仿真数据进行解析和分解的过程中,首先分配仿真数据的存储的链表空间,链表空间存储的内容为仿真数据中每个数据项的元数据信息和当前仿真数据的取值;
17.所述元数据信息中包含了对仿真数据的数据结构的描述内容,包括仿真数据中的数据项数量、每个数据项占据的存储空间大小、每个数据项是否为可变值、数据项取值等基本信息;
18.链表空间生成步骤包括:
19.步骤2-1,读取仿真数据结构的数据项数量,根据数据项数量建立链表结构存储空间;
20.步骤2-2,根据数据项数量,遍历仿真数据的元数据描述信息文件(xml结构),循环读取每个数据项的基本信息,所述基本信息包括数据项名称、数据项存储空间大小、数据项可变属性值,将基本信息存储到相应的链表空间中。
21.步骤3中,采用基于属性特征值的比较方法,对可变属性信息取值为0的数据项进行裁剪,并记录下裁剪的数据项编号,加入数据项裁剪列表;对可变属性信息取值为1的数据项进行取值空间比较,如果当前取值与上一次的取值相同,则进行裁剪,记录下数据项编号,加入数据项裁剪列表;初始条件下,每个数据项的取值为空。
22.步骤3中,整个数据项列表遍历结束后,生成裁剪后的数据项链表和裁剪掉的数据项编号列表,将裁剪后的数据项链表中每个数据项的取值和数据项裁剪编号列表发送给接收方。
23.步骤4包含以下步骤:
24.步骤4-1,根据解析获得的仿真数据项链表空间信息,遍历接收的数据项列表,将每个接收的数据项的取值更新到数据项链表空间中对应的数据项中;
25.步骤4-2,遍历数据裁剪编号列表,将列表中每个编号对应的数据项按照顺序依次添加到接收的仿真数据列表中,将接收到裁剪的仿真数据恢复到原有的仿真数据长度。
26.本发明还提供了一种基于元数据的仿真系统数据传输系统,包括仿真数据注册模块、数据解析模块、数据裁剪模块和数据组装模块;
27.所述仿真数据注册模块根据仿真数据描述方法,对仿真数据进行注册,注册的信息包括:仿真数据包含的数据项数量、每个数据项的基本信息和属性信息;
28.所述数据解析模块建立数据项链表空间,根据每个仿真数据的元数据信息,对仿真数据进行解析和分解,分解成两个以上的数据项;
29.所述数据裁剪模块在建立的数据项链表空间基础上,对仿真数据进行解析和裁剪,生成数据裁剪编号列表,初始条件下,数据裁剪编号列表为空:根据链表空间中存储的每个数据项的属性信息和取值空间,对数据项的取值进行判断,如果符合裁剪条件,则记录数据项编号,裁剪数据项,并将数据项对应的链表空间编号添加到数据裁剪编号列表中保存;如果不符合裁剪条件,则记录数据项取值,继续遍历下一个数据项,直到所有数据项列表遍历结束;
30.所述数据组装模块根据接收的数据项列表和数据裁剪编号列表对数据项进行组装,形成完整的传输数据结构。
31.有益效果:通过本发明方法和系统,在仿真数据结构化描述的基础上,实现仿真系统运行过程中降低冗余数据的传输频率。通过预先定义的仿真数据元数据信息,在系统运行过程中动态解析每个仿真数据的结构化信息,对每个仿真数据包含的数据项单独处理,实现对整个仿真数据的裁剪。同时,将裁剪后的数据项取值和数据项信息发送给接收方,接收方同样通过遍历仿真数据的元数据信息,对接收到的仿真数据进行拼接,将裁减掉仿真数据项重新拼接到接收到的仿真数据相应位置,从而保证仿真数据的完整性和正确性。
附图说明
32.下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
33.图1是本发明的数据裁剪流程示意图。
34.图2是裁剪后的发送数据包括的列表示意图。
35.图3是裁剪的数据项信息示意图。
36.图4是本发明系统架构图。
具体实施方式
37.本发明提供了一种基于元数据的仿真系统数据传输方法,包括以下步骤:
38.步骤1,仿真数据注册:根据仿真数据描述方法,对仿真数据进行注册,注册的信息包括:仿真数据包含的数据项数量、每个数据项的基本信息和属性信息;
39.步骤2,仿真数据解析:建立数据项链表空间,根据每个仿真数据的元数据信息,对仿真数据进行解析和分解,分解成两个以上的数据项;
40.步骤3,仿真数据裁剪:在建立的数据项链表空间基础上,对仿真数据进行解析和裁剪,生成数据裁剪编号列表,初始条件下,数据裁剪编号列表为空:根据链表空间中存储的每个数据项的属性信息和取值空间,对数据项的取值进行判断,如果符合裁剪条件,则记录数据项编号,裁剪数据项,并将数据项对应的链表空间编号添加到数据裁剪编号列表中保存;如果不符合裁剪条件,则记录数据项取值,继续遍历下一个数据项,直到所有数据项列表遍历结束;
41.步骤4,仿真数据组装:根据接收的数据项列表和数据裁剪编号列表对数据项进行组装,形成完整的传输数据结构。
42.步骤1中,对仿真数据进行注册时,提供了数据注册规范,所述数据注册规范规定了每条仿真模型发送或接收的仿真数据描述的方式和内容,所述数据注册规范提供了仿真
数据描述语言sddl,仿真数据描述语言sddl对仿真数据的基本信息、仿真数据项的属性信息和结构信息要素分别提供描述,包含基本信息标签和属性信息标签。
43.步骤1中,所述基本信息标签用于描述被集成的仿真数据的基本信息,包括仿真数据名称、数据项数量,仿真数据基本信息标签描述的仿真数据名称是唯一的;
44.所述属性信息标签用于描述每个仿真数据项的属性信息,包括数据项名称和数据项属性描述,属性信息标签包括可变属性信息和存储空间信息;
45.所述可变属性信息用于描述数据项的取值是否为固定值,如果取值为0,表示数据项取值空间不变;如果取值为1,表示数据项取值空间发生变化;
46.所述存储空间信息用于描述数据项所占用的内存空间大小,单位为字节数量。
47.步骤2中,对仿真数据进行解析和分解的过程中,首先分配仿真数据的存储的链表空间,链表空间存储的内容为仿真数据中每个数据项的元数据信息和当前仿真数据的取值;
48.所述元数据信息中包含了对仿真数据的数据结构的描述内容,包括仿真数据中的数据项数量、每个数据项占据的存储空间大小、每个数据项是否为可变值、数据项取值等基本信息;
49.链表空间生成步骤包括:
50.步骤2-1,读取仿真数据结构的数据项数量,根据数据项数量建立链表结构存储空间;
51.步骤2-2,根据数据项数量,遍历仿真数据的元数据描述信息文件(xml结构),循环读取每个数据项的基本信息,所述基本信息包括数据项名称、数据项存储空间大小、数据项可变属性值,将基本信息存储到相应的链表空间中。
52.步骤3中,采用基于属性特征值的比较方法,对可变属性信息取值为0的数据项进行裁剪,并记录下裁剪的数据项编号,加入数据项裁剪列表;对可变属性信息取值为1的数据项进行取值空间比较,如果当前取值与上一次的取值相同,则进行裁剪,记录下数据项编号,加入数据项裁剪列表;初始条件下,每个数据项的取值为空。
53.步骤3中,整个数据项列表遍历结束后,生成裁剪后的数据项链表和裁剪掉的数据项编号列表,将裁剪后的数据项链表中每个数据项的取值和数据项裁剪编号列表发送给接收方。
54.步骤4包含以下步骤:
55.步骤4-1,根据解析获得的仿真数据项链表空间信息,遍历接收的数据项列表,将每个接收的数据项的取值更新到数据项链表空间中对应的数据项中;
56.步骤4-2,遍历数据裁剪编号列表,将列表中每个编号对应的数据项按照顺序依次添加到接收的仿真数据列表中,将接收到裁剪的仿真数据恢复到原有的仿真数据长度。
57.如图4所示,本发明还提供了一种基于元数据的仿真系统数据传输系统,包括仿真数据注册模块、数据解析模块、数据裁剪模块和数据组装模块;
58.所述仿真数据注册模块根据仿真数据描述方法,对仿真数据进行注册,注册的信息包括:仿真数据包含的数据项数量、每个数据项的基本信息和属性信息;
59.所述数据解析模块建立数据项链表空间,根据每个仿真数据的元数据信息,对仿真数据进行解析和分解,分解成两个以上的数据项;
60.所述数据裁剪模块在建立的数据项链表空间基础上,对仿真数据进行解析和裁剪,生成数据裁剪编号列表,初始条件下,数据裁剪编号列表为空:根据链表空间中存储的每个数据项的属性信息和取值空间,对数据项的取值进行判断,如果符合裁剪条件,则记录数据项编号,裁剪数据项,并将数据项对应的链表空间编号添加到数据裁剪编号列表中保存;如果不符合裁剪条件,则记录数据项取值,继续遍历下一个数据项,直到所有数据项列表遍历结束;
61.所述数据组装模块根据接收的数据项列表和数据裁剪编号列表对数据项进行组装,形成完整的传输数据结构。
62.在仿真系统部署时,本发明提供的一种基于元数据的仿真系统数据传输系统能够部署在任意的仿真模型所在的计算机上。
63.仿真数据描述文件中会新增以下要素:仿真数据项基本信息标签、数据项类型信息标签和数据项空间信息标签。仿真数据项基本信息标签,定义每个数据项的基本属性,包括数据项编号和数据项名称;数据项类型信息标签嵌套在基本信息要素标签中,是一对一的关系。仿真数据项空间信息标签嵌套在基本信息要素标签中,是一对一的关系。
64.仿真数据描述后,会生成为每个模型生成交互数据的描述文件,在该文件中包含了仿真模型所有交互数据的结构化信息。所述数据解析模块、数据裁剪模块和数据组装模块会使用交互数据描述文件。
65.所述数据解析模块,根据每个仿真数据的结构化描述信息,将仿真数据分解为若干独立的数据项,生成数据项链表,并保存链表信息;该数据项链表记录了每个数据项在仿真数据中的位置信息和键值信息。
66.所述数据裁剪模块,遍历生成的数据项链表,根据数据项名称,获取当前传输的数据项键值,与上一次传输的数据项键值进行比较;如果没有发生变化,则将该数据项裁剪掉,同时记录该数据项编号;如果数据项键值发生变化,则将该数据项键值和编号放入传输数据项列表中;重复该过程,直到所有数据项遍历结束;遍历结束后,发送生成的传输数据项列表。
67.接收到仿真数据后,所述数据组装模块,遍历接收到的传输数据项列表,获取该列表中所有数据项的键值以及对应的数据项编号;遍历该仿真数据对应的元数据信息,将获取的仿真数据项编号与传输数据项列表中的编号进行对比,如果该数据项编号出现在传输数据项列表中,则将该数据项对应的最新键值更新赋值;当传输数据项列表遍历结束后,重新遍历仿真数据项链表中没有更新的数据项,直接获取该数据项对应键值进行赋值;最后根据该仿真数据对应的元数据信息中数据项的排列顺序,将新赋值的数据项和未更新数据项进行组装和拼接,形成完整的数据并提交应用程序。
68.实施例
69.如图1所示,本发明提供了一种基于元数据的仿真系统数据传输方法和系统,包括如下步骤:
70.步骤1,本发明提供了数据注册规范。该规范规定了每条仿真模型发送或接收的仿真数据描述的方式和内容。该规范提供了一种仿真数据描述语言sddl(simulation data description language)。仿真数据描述语言sddl是为了支持仿真模型集成过程中的仿真数据描述提出的一种层次、树状、可扩展的文本标签语言,对仿真数据的基本信息、仿真数
据项的属性信息和结构信息要素分别提供描述,其主要包含2类标签,包括:
71.(1)基本信息标签
72.该标签用于描述被集成的仿真数据的基本信息,包括仿真数据名称、数据项数量。仿真数据基本信息标签描述的仿真数据名称要唯一;
73.(2)属性信息标签
74.该标签用于描述每个仿真数据项的属性信息,包括数据项名称和数据项属性描述。属性信息标签包括:可变属性信息和存储空间信息。
75.可变属性信息用于描述该数据项的取值是否为固定值,如果取值为0,表示该数据项取值空间不变;取值为1,表示该数据项取值空间发生变化;
76.存储空间信息用于描述该数据项所占用的内存空间大小,单位为字节数量。
77.其具体形式如下:
78.属性名=“属性值”79.如:《目标经度可变=1空间=4/》其描述了一个名为“目标经度”的数据项,其取值空间可变,占用内存空间为4个字节。
80.以雷达仿真模型为例,该模型模拟对空中目标的探测过程,将探测的空中目标信息发送。该目标数据结构名称为flyobject。该数据结构数据项信息如下表所示。
81.[0082][0083]
该数据结构包含每个数据项的说明如下表1所示。
[0084]
表1
[0085][0086]
根据每个数据项的关键特性和变化特征,在flyobject数据结构注册的时候,该数据结构的元数据如下所示:
[0087]
[0088]
[0089]
[0090]
[0091][0092]
步骤2,数据解析。在本步骤中,信息的发送方需要对每条发送数据进行解析,将发送的数据项分解出来,生成数据项列表。
[0093]
步骤3,数据裁剪。本步骤中,信息发送方遍历生成的数据项列表,根据列表中每个数据项的属性信息取值,进行裁剪;对于可变属性为0的数据项,直接裁剪;对于属性为1的数据项,则将本次数据项的取值与上一次数据项的取值进行比较,如果取值相同,则裁剪;裁剪后,数据项保留9个,元数据列表如下:
[0094]
[0095]
[0096][0097]
裁剪后的发送数据包括两个列表,其中第一个列表如图2所示:
[0098]
图2说明了发送数据的内容信息。每个发送的数据为三列,其中第一列数据表示该数据项对应的元数据序号,第二项是数据项名称,第三项是该数据项所占的内存空间大小。
[0099]
第二个列表说明了裁剪的数据项信息,如图3所示;
[0100]
步骤4,数据组装。本步骤中,信息接收方接收到发送的数据信息,根据该数据的元数据信息,进行数据组装,将发送前删除的数据项的取值重新补充到数据对象中。
[0101]
本发明提供了一种基于元数据的仿真系统数据传输方法和系统,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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