基于三级递进的仿真数据更新和反射方法、装置及设备

本技术涉及仿真,特别是涉及一种基于三级递进的仿真数据更新和反射方法、装置及设备。
背景技术:
1、在联合仿真过程中对象实例的属性变化对仿真结果存在着关键影响,随着分布式仿真系统的规模越来越大,仿真数据传输量也急剧增长,迫切需要一种高效便捷的仿真数据传输方法。仿真数据的高效传输,即需要在数据发送端的仿真数据更新进行优化,还需要在数据接收端的数据反射进行高性能扩展。
2、现有技术大致分为两类,一类是所有数据整体打包发送与接收,另一类是按照仿真数据元素(即属性)进行分解打包发送与接收。前者存在冗余数据传输的问题,浪费了网络带宽资源,同时数据解析处理的计算量大。后者会导致大量小包数据在网络中传输,会占用过多的节点的计算处理资源。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高仿真数据的传输效率和解析处理时效的基于三级递进的仿真数据更新和反射方法、装置及设备。
2、一种基于三级递进的仿真数据更新和反射方法,所述方法包括:
3、在公共数据模型文件中定义仿真过程中的仿真数据,将仿真数据设置为对象类、对象实例和实例属性的三级模式;对象类包括多个对象实例;对象实例包括多个实例属性;
4、在联合仿真开始时仿真服务为对象类和实例属性分配全局唯一的对象类句柄和实例属性句柄,当仿真单元向仿真服务注册对象实例时,仿真服务为每个对象实例分配一个全局唯一的对象实例句柄;
5、利用仿真单元在仿真推进的过程中更新对象实例的属性时,将每个对象实例中的每个实例属性按照预先设置的hlv格式组织成对象实例的属性层数据,将对象实例中所有属性层数据按照预先设置的hnlv格式组织成对象实例层数据,将所有的对象实例层数据按照预先设置的hnlv格式组织成对象类层数据;
6、将对象类中的所有待更新的对象实例的属性数据组织成一个数据包进行发送,接收数据包的仿真单元按照同样的格式进行数据拆分,并根据对象实例句柄和实例属性句柄反射到对应的对象类的实例属性。
7、在其中一个实施例中,将每个对象实例中的每个实例属性按照预先设置的hlv格式组织成对象实例的属性层数据,包括:
8、将每个对象实例中的每个实例属性按照实例属性句柄、属性数据长度、属性数据值的hlv格式组织成对象实例的属性层数据。
9、在其中一个实施例中,将对象实例中所有属性层数据按照预先设置的hnlv格式组织成对象实例层数据,包括:
10、将对象实例中所有属性层数据按照对象实例句柄、对象实例属性数量、对象实例属性长度、对象实例属性数据值的hnlv的格式依次组织成对象实例的对象实例层数据。
11、在其中一个实施例中,将所有的对象实例层数据按照预先设置的hnlv格式组织成对象类层数据,包括:
12、将所有的对象实例层数据按照对象类句柄、对象实例数量、对象实例数据长度、对象实例数据值的hnlv的格式依次组织成对象类层数据。
13、在其中一个实施例中,实例属性句柄和属性数据长度均为4字节。
14、在其中一个实施例中,对象实例句柄为固定4字节;对象实例属性数量为固定4字节;对象实例属性长度为固定4字节。
15、在其中一个实施例中,对象类句柄、对象实例数量和对象实例数据长度均为固定4字节。
16、一种基于三级递进的仿真数据更新和反射装置,装置包括:
17、仿真数据定义模块,用于在公共数据模型文件中定义仿真过程中的仿真数据,将仿真数据设置为对象类、对象实例和实例属性的三级模式;对象类包括多个对象实例;对象实例包括多个实例属性;
18、句柄分配模块,用于在联合仿真开始时仿真服务为对象类和实例属性分配全局唯一的对象类句柄和实例属性句柄,当仿真单元向仿真服务注册对象实例时,仿真服务为每个对象实例分配一个全局唯一的对象实例句柄;
19、数据层级设置模块,用于利用仿真单元在仿真推进的过程中更新对象实例的属性时,将每个对象实例中的每个实例属性按照预先设置的hlv格式组织成对象实例的属性层数据,将对象实例中所有属性层数据按照预先设置的hnlv格式组织成对象实例层数据,将所有的对象实例层数据按照预先设置的hnlv格式组织成对象类层数据;
20、数据更新和反射模块,用于将对象类中的所有待更新的对象实例的属性数据组织成一个数据包进行发送,接收数据包的仿真单元按照同样的格式进行数据拆分,并根据对象实例句柄和实例属性句柄反射到对应的对象类的实例属性。
21、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
22、在公共数据模型文件中定义仿真过程中的仿真数据,将仿真数据设置为对象类、对象实例和实例属性的三级模式;对象类包括多个对象实例;对象实例包括多个实例属性;
23、在联合仿真开始时仿真服务为对象类和实例属性分配全局唯一的对象类句柄和实例属性句柄,当仿真单元向仿真服务注册对象实例时,仿真服务为每个对象实例分配一个全局唯一的对象实例句柄;
24、利用仿真单元在仿真推进的过程中更新对象实例的属性时,将每个对象实例中的每个实例属性按照预先设置的hlv格式组织成对象实例的属性层数据,将对象实例中所有属性层数据按照预先设置的hnlv格式组织成对象实例层数据,将所有的对象实例层数据按照预先设置的hnlv格式组织成对象类层数据;
25、将对象类中的所有待更新的对象实例的属性数据组织成一个数据包进行发送,接收数据包的仿真单元按照同样的格式进行数据拆分,并根据对象实例句柄和实例属性句柄反射到对应的对象类的实例属性。
26、上述基于三级递进的仿真数据更新和反射方法、装置及设备,本技术通过设置三级递进的仿真数据,将仿真数据设置为对象类、对象实例和实例属性的三级模式,在联合仿真开始时仿真服务为对象类和实例属性分配全局唯一的对象类句柄和实例属性句柄,当仿真单元向仿真服务注册对象实例时,仿真服务为每个对象实例分配一个全局唯一的对象实例句柄,这样各仿真单元在对象类和对象实例属性层以及对象实例层达成了共识,可以通过对象类句柄、实例属性句柄和对象实例句柄找到对应的对象类、实例属性和对象实例,是数据更新和反射的重要依据,最后利用仿真单元在仿真推进的过程中更新对象实例的属性时,将每个对象实例中的每个实例属性按照预先设置的hlv格式组织成对象实例的属性层数据,将对象实例中所有属性层数据按照预先设置的hnlv格式组织成对象实例层数据,将所有的对象实例层数据按照预先设置的hnlv格式组织成对象类层数据。将对象类中的所有待更新的对象实例的属性数据组织成一个数据包进行发送,接收数据包的仿真单元按照同样的格式进行数据拆分,并根据对象实例句柄和实例属性句柄反射到对应的对象类的实例属性中实现一次网络通信可以更新和反射多个对象实例属性值,减少了联合仿真中网络通信的压力,通过提供属性、实例、类三级可选可组合的数据打包传输机制,支持用户依据自身业务特点进行数据传输模式的定制与选择,实现网络带宽资源的优化利用,同时提高仿真数据的传输效率和解析处理的时效,可以一次更新和反射多个实例的属性值,比hla接口规范定义的单个对象实例属性值更新方法在网络传输效率上有明显的优势。
技术研发人员:彭勇,王鹏,尹全军,陈浩然,楚江平,王鑫,张立春,刘志勇,何凌峰
技术所有人:中国人民解放军国防科技大学
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
