CN105955066A - 一种仿真系统中通用的模型数据编码和解码方法 - Google Patents
一种仿真系统中通用的模型数据编码和解码方法 Download PDFInfo
- Publication number
- CN105955066A CN105955066A CN201610371561.1A CN201610371561A CN105955066A CN 105955066 A CN105955066 A CN 105955066A CN 201610371561 A CN201610371561 A CN 201610371561A CN 105955066 A CN105955066 A CN 105955066A
- Authority
- CN
- China
- Prior art keywords
- data
- type
- variable
- rec
- described variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种仿真系统中通用模型数据的编码和解码方法。方法包括创建类型为可变长数组类型的变量port_va,读取数据映射表中未处理的数据值,根据数据类型,对数据进行相应的处理,将处理后的数据值通过编码转换为可传输字节流数据,创建类型为不透明字节块类型的变量data_opa,用可传输字节流数据将data_opa初始化,创建类型为固定结构类型的变量port_rec,将port_rec添加到port_va中,调用port_va的编码接口,编码生成满足HLA协议底层传输要求的字节流数据。本发明提供的编码或解码方法可以实现对常用的多种数据类型进行统一表示,可以增加代码的重用性和仿真模型间的互操作性。
Description
技术领域
本发明涉及仿真系统领域,特别是涉及一种仿真系统中通用的模型数据编码和解码方法。
背景技术
随着计算机软硬件技术的发展,日趋成熟的分布式仿真技术为航空、航天、军事、交通、能源、经济等领域的大规模复杂系统仿真提供了高效可靠的解决方案。高级体系架构(High Level Architecture,简写为HLA)分布式仿真协议是由美国国防部(DoD)建模与仿真办公室(DMSO)于上世纪九十年代中期提出来的。HLA的宗旨是解决分布式仿真系统中各仿真成员的重用性和成员间的互操作性问题。从提出至今,HLA不断被发展完善,先后形成了3个版本,分别是DMSO HLA1.3版本、IEEE 1516-2000版本和IEEE1516-2010版本(HLAEvolved版本),其中后两者均被IEEE接收为开放性的国际标准。HLA协议通过框架与规则(Framework and Rules)、联邦接口规范(Federate InterfaceSpecification)和对象模型模板(Object Model Template,OMT)规范三部分对分布式仿真系统中各仿真成员的交互进行了全面的规范化约定,通过相应的支撑服务将仿真功能实现、仿真运行管理与底层数据通信分离,从而保证互操作性和重用性。
HLA协议对数据类型和数据编码/解码的规范化处理,减少了仿真系统集成的时间和风险。但是,对于不同的仿真系统,特别是复杂大型系统的仿真,往往包含大量复杂的自定义数据类型,无法直接用HLA协议中提供的数据类型进行表示,需要利用HLA提供的简单数据类型构造相应的复杂数据结构,同样需要大量的工作实现新定义的数据的编码/解码工作。自定义的数据类型往往针对特殊的仿真系统,不仅本身的重用性差,而且所开发的仿真模型的重用性和互操作性也较差,从而带来重复的开发工作、不必要开发成本和开发时间。
发明内容
本发明为了进一步提高仿真系统的开发效率,增加分布式仿真系统中仿真成员的重用性和各仿真成员之间的互操作性,本发明在HLA协议的对象模型模板规范的基础上,提供了一种HLA分布式仿真系统中通用的模型数据编码/解码方法。
为实现上述目的,本发明提供了如下方案:
一种仿真系统中通用的模型数据编码方法,所述编码方法包括:
为仿真模型中每一个待传输的数据分配一个唯一的标识字符串,对模型数据进行标识;
创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量port_va,将所述变量port_va中的元素类型设置为对象模型模板规范中预定义的固定结构类型HLAfixedRecord,所述变量port_va中的每个元素均包含第一域和第二域,将所述第一域的数据类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述第二域的数据类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
读取一个未处理的数据;
判断所述数据的数据类型,根据所述数据类型,对所述数据进行与所述数据类型相对应的编码处理,并将处理结果转换为对象模型模板规范中预定义的可传输字节流类型VariableLengthData的可传输字节流数据;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量data_opa,用所述可传输字节流数据对所述变量data_opa进行初始化;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量port_rec,所述变量port_rec包含第一数据域和第二数据域,所述第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将分配给所述数据的标识字符串赋值给所述第一数据域;所述第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将data_opa赋值给所述第二数据域;
将所述变量port_rec添加到所述可变长数组变量port_va中,作为所述可变长数组变量port_va中的一个元素;
判断是否还有未处理的数据,若还有未处理的数据,则继续对下一个未处理的数据进行处理,若所有数据均已处理,则调用所述变量port_va的编码接口,编码生成符合HLA协议底层传输要求的字节流数据,所述字节流数据的类型为可传输字节流类型VariableLengthData。
可选的,判断所述数据的数据类型,根据所述数据类型,对所述数据进行与所述数据类型相对应的编码处理,具体包括:
识别所述数据的数据类型;
如果所述数据类型为数组类型,则采用处理数组类型数据的方法处理所述数据;
如果所述数据类型为结构类型,则采用处理结构类型数据的方法处理所述数据;
如果所述数据类型为简单类型,则采用处理简单类型数据的方法处理所述数据,所述简单数据类型包括16位整型、32位整型、64位整型、单精度浮点型、双精度浮点型、布尔型、ASCII码字符型、Unicode码字符型、字节型、ASCII码字符串和Unicode码字符串。
可选的,所述采用处理数组类型数据的方法处理所述数据,具体包括:
创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量encode_va,并将所述变量encode_va中的数组元素类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
读取所述数据中下一个未处理的元素;
如果所述元素为数组类型,则执行处理数组类型数据的方法处理该数组元素;如果为结构类型,则执行处理结构类型数据的方法处理该数组元素;如果为简单类型,则执行处理简单类型数据的方法处理该数组元素;得到对所述元素编码转换成的可传输字节流数据;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa;
将所述变量ele_opa添加到所述变量encode_va中;
判断所述数据中所有元素是否已经处理,如果未处理完,则继续处理所述数据中的下一个元素,直到处理完毕;
创建类型为对象模型模板规范中预定义的固定结构类型的变量data_rec,所述变量data_rec包含第一数据域和第二数据域,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为数组类型的标识字符串va,将述变量encode_va赋值给所述变量data_rec的第二数据域;
调用所述变量data_rec的编码接口,编码生成可传输字节流数据。
可选的,所述采用处理结构类型数据的方法处理所述数据,具体包括:
创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量encode_va,并将所述变量encode_va数组的元素类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
读取所述数据中下一个未处理的数据域;
如果所述数据域为数组类型,则执行处理数组类型数据的方法处理该数据域;如果为结构类型,则执行处理结构类型数据的方法处理该数据域;如果为简单类型,则执行处理简单类型数据的方法处理该数据域;得到对所述数据域编码转换成的可传输字节流数据;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa,并将所述变量ele_opa添加到所述变量encode_va中;
判断所述数据中所有数据域是否已经处理,如果未处理完,则继续处理所述数据中的下一个数据域,直到处理完毕;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为结构类型的标识字符串st,将所述变量encode_va赋值给所述变量data_rec的第二数据域;
调用所述变量data_rec的编码接口,编码生成可传输字节流数据。
可选的,所述采用处理简单类型数据的方法处理所述数据,具体包括:
根据所述数据所属的简单类型,调用对象模型模板规范预定义的相应简单类型的编码接口,将简单类型数据转化成可传输字节流数据,所述可传输字节流数据的类型为对象模型模板规范中预定义的可传输字节流类型;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为所述数据所属类型的类型标识字符串,将所述变量data_rec的第二数据域的值设置为所述变量ele_opa,所述简单类型包括的数据类型的类型标识字符串为:16位整型的类型标识字符串为i2,32位整型的类型标识字符串为i4,64位整型的类型标识字符串为i8,单精度浮点型的类型标识字符串为f4,双精度浮点型的类型标识字符串为f8,布尔型的类型标识字符串为bl,ASCII码字符型的类型标识字符串为ac,Unicode码字符型的类型标识字符串为uc,字节型的类型标识字符串为bt,ASCII码字符串的类型标识字符串为as,Unicode码字符串的类型标识字符串为us;
调用所述变量data_rec的编码接口,编码生成可传输字节流数据。
一种仿真系统中通用的模型数据解码方法,所述解码方法包括:
创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的数组变量port_va,将所述数组变量port_va中的元素类型设置为对象模型模板规范中预定义的固定结构类型HLAfixedRecord,所述数组变量port_va中的每个元素均包含第一数据域和第二数据域,将所述第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
调用所述数组变量port_va的解码接口,将待解码的可传输字节流数据作为解码接口的输入;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
获取所述数组变量port_va中一个未处理的数据元素,将该元素赋值给所述变量data_rec;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量data_opa;
对所述元素进行解码,所述解码步骤包括:
读取所述变量data_rec的第二数据域的数据,并将所述数据赋值给所述变量data_opa;
将所述变量data_opa中存放的字节数据提取出来,并存放到类型为可传输字节流数据类型VariableLengthData的变量data_vld中;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量trans_rec,将所述变量trans_rec第一个数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString;
调用trans_rec的解码接口,并以所述变量data_vld作为输入;
读取所述变量trans_rec的第一数据域的字符串,赋值给变量type_str,所述变量type_str的数据类型为对象模型模板规范中预定义的宽字符串类型HLAunicodeString;
判断所述变量type_str的值,根据所述变量type_str的值对所述变量data_vld中的数据采用与所述变量type_str的值相应的解码方式进行解码;
判断所述变量port_va的所有元素是否已经解码完全,如果否,则继续解码所述变量port_va中的下一个元素,否则,结束解码。
可选的,所述判断所述变量type_str的值,根据所述变量type_str的值对所述变量data_vld中的数据采用与所述变量type_str的值相应的解码方式进行解码,具体包括:
识别所述变量type_str的值;
如果所述变量type_str的值为va,则采用数组类型数据解码方法对所述变量data_vld进行解码;
如果所述变量type_str的值为st,则采用结构类型数据解码方法对所述变量data_vld进行解码;
如果所述变量type_str的值为简单数据类型的标识,则采用简单类型数据解码方法对所述变量data_vld进行解码。
可选的,所述采用数组类型数据解码方法对所述变量data_vld进行解码,具体包括:
将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入;
获取所述变量trans_rec的第二数据域的值,赋值给变量data_va,所述变量trans_rec的第二数据域的值是由解码返回的,所述变量data_va的数据类型为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
读取所述变量data_va中下一个未处理的元素,存放在类型为不透明字节块类型HLAopaqueData的变量ele_opa中;
采用所述解码步骤对所述变量ele_opa进行解码;
将所述解码返回的值添加到类型为可变长数组类型HLAvariableArray的变量dec_ele_va中,完成一个元素的解码;
判断所述变量data_va的所有元素是否已经处理完毕,如果否,则继续处理下一个未处理的元素,直到所述变量data_va中的所有元素处理完毕;
读取所述变量data_rec的第一数据域与所述变量dec_ele_va中的数据值,完成所述获取的所述数组变量port_va中的一个元素的解码。
可选的,所述采用结构类型数据解码方法对所述变量data_vld进行解码,具体包括:
将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入;
获取所述变量trans_rec的第二数据域的值,赋值给变量data_va,所述变量trans_rec的第二数据域的值是由解码返回的,所述变量data_va的数据类型为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
读取所述变量data_va中下一个未处理的元素,存放在类型为不透明字节块类型HLAopaqueData的变量ele_opa中;
采用所述解码步骤对所述变量ele_opa进行解码;
将所述解码返回的值添加到类型为固定结构类型HLAfixedRecord的变量dec_ele_rec中,完成一个元素的解码;
判断所述变量data_va的所有元素是否已经处理完毕,如果否,则继续处理下一个未处理的元素,直到所述变量data_va中的所有元素处理完毕;
读取所述变量data_rec的第一数据域与所述变量dec_ele_rec中的数据值,完成所述获取的所述数组变量port_va中的一个数据元素的解码。
可选的,所述采用简单类型数据解码方法对所述变量data_vld进行解码,具体包括:
将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块HLAopaqueData类型;
调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入;
获取所述变量trans_rec的第二数据域的值,赋值给类型为不透明字节块类型HLAopaqueData的变量dec_opa;
将所述变量dec_opa存放的字节数据赋值给类型为可传输字节流类型VariableLengthData的变量dec_vld中;
创建与所述变量type_str中的值的类型相同的变量dec_bsc;
调用所述变量dec_bsc的解码接口,将所述变量dec_vld作为输入;
读取所述变量data_rec的第一数据域与所述变量dec_bsc,完成所获取的数组变量port_va中的数据元素的解码工作。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的编码/解码方法,可以实现对常用的多种数据类型,包括整型、浮点型、字符型、字符串型、数组型和结构型等进行统一表示;可以对数组中包含数组、数组中包含结构、结构中包含结构和结构中包含数组的复杂数据实现递归编码和解码;克服了现有技术中一种数据类型对应一套编码、解码的代码所带来的工作量大、代码重用性低的问题,增加代码的重用性和仿真模型间的互操作性,有效避免重互工作,缩短开发周期,降低开发成本;从根本上避免了由于编码/解码问题造成联邦成员间的数据交互失败,缩短分布式仿真系统集成测试时间,降低系统开发风险和成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例HLA分布式仿真系统中通用模型数据的编码方法示意图;
图2为本发明实施例HLA分布式仿真系统中通用模型数据的解码方法示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种HLA分布式仿真系统中通用的模型数据编码/解码方法,能够降低系统开发的风险和成本,增加代码的重用性和仿真模型间的互操作性,有效避免重互工作。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例HLA分布式仿真系统中通用的模型数据编码方法示意图,如图1所示,本申请提供的HLA分布式仿真系统中通用的模型数据编码方法包括:
步骤101:为仿真模型中每一个待传输的数据分配一个唯一的标识字符串,对模型数据进行标识;
步骤102:创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量port_va,将所述变量port_va中的元素类型设置为对象模型模板规范中预定义的固定结构类型HLAfixedRecord,所述变量port_va中的每个元素均包含第一域和第二域,将所述第一域的数据类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述第二域的数据类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;;
步骤103:读取一个未处理的数据;
步骤104:判断所述数据的数据类型,根据所述数据类型,对所述数据进行与所述数据类型相对应的编码处理,并将处理结果转换为对象模型模板规范中预定义的可传输字节流类型VariableLengthData的可传输字节流数据;
步骤105:创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量data_opa,用所述可传输字节流数据对所述变量data_opa进行初始化;
步骤106:创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量port_rec,所述变量port_rec包含第一数据域和第二数据域,所述第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将分配给所述数据的标识字符串赋值给所述第一数据域;所述第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将data_opa赋值给所述第二数据域;
步骤107:将所述变量port_rec添加到所述可变长数组变量port_va中,作为所述可变长数组变量port_va中的一个元素素;
步骤108:判断是否还有未处理的数据,若还有未处理的数据,则继续对下一个未处理的数据进行处理,若所有数据均已处理,则调用所述变量port_va的编码接口,编码生成符合HLA协议底层传输要求的字节流数据,所述字节流数据的类型为对象模型模板OMT规范中预定义的可传输字节流类型VariableLengthData。
在步骤103中,识别所述数据的数据类型,如果所述数据类型为数组类型,则采用子编码过程1来对所示数据进行处理,如果所述数据类型为结构类型,则采用子编码过程2来对所示数据进行处理,如果所述数据类型为简单类型,则采用子编码过程3来对所示数据进行处理。
子编码过程1具体包括:
步骤A1,创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量encode_va,并将所述变量encode_va中的数组元素类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData。
步骤B1,读取所处理数组数据中下一个未处理的元素。
步骤C1,如果步骤B1中取出的元素为数组类型,则执行编码子过程1以处理数组类型数据的方法处理该数组元素;如果为结构类型,则执行编码子过程2以处理结构类型数据的方法处理该数组元素;如果为简单类型,则执行编码子过程1以处理简单类型数据的方法处理该数组元素;从而将步骤3中所处理的数组元素通过编码转换为OMT规范中预定义的可传输字节流数据(VariableLengthData)。
步骤D1,创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa。
步骤E1:将所述变量ele_opa添加到所述变量encode_va中。
步骤F1,判断所处理数组数据中所有元素是否已经处理。如果未处理完,则转到步骤B1继续处理所处理数组数据中的下一个元素;否则,转到下一步。
步骤G1,创建类型为对象模型模板规范中预定义的固定结构类型的变量data_rec,所述变量data_rec包含第一数据域和第二数据域,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为数组类型的标识字符串va,将述变量encode_va赋值给所述变量data_rec的第二数据域。
步骤H1,调用所述变量data_rec的编码接口,编码生成可传输字节流数据。
子编码过程2具体包括:
步骤A2,创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量encode_va,并将所述变量encode_va数组的元素类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData。
步骤B2,读取被处理结构数据中下一个未处理的数据域。
步骤C2,如果所述数据域为数组类型,则执行处理数组类型数据的方法处理该数据域;如果为结构类型,则执行处理结构类型数据的方法处理该数据域;如果为简单类型,则执行处理简单类型数据的方法处理该数据域;得到对所述数据域编码转换成的可传输字节流数据。
步骤D2,创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa,并将所述变量ele_opa添加到所述变量encode_va中。
步骤E2,判断结构数据中所有的数据域是否已经处理,如果未处理完,则转到步骤B2继续处理下一个数据域的处理;否则,转到下一步。
步骤F2,创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为结构类型的标识字符串st,将所述变量encode_va赋值给所述变量data_rec的第二数据域。
步骤G2,调用步骤F中data_rec的编码接口,编码生成VariableLengthData类型的可传输字节流数据,完成结构类型数据的编码处理。
子编码过程3具体包括:
步骤A3,根据所述数据所属的简单类型,调用对象模型模板规范预定义的相应简单类型的编码接口,将简单类型数据转化成可传输字节流数据,所述可传输字节流数据的类型为对象模型模板规范中预定义的可传输字节流类型。
步骤B3,创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa;
步骤C3,创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为所述数据所属类型的类型标识字符串,将所述变量data_rec的第二数据域的值设置为所述变量ele_opa,所述简单类型包括的数据类型的类型标识字符串为:16位整型的类型标识字符串为i2,32位整型的类型标识字符串为i4,64位整型的类型标识字符串为i8,单精度浮点型的类型标识字符串为f4,双精度浮点型的类型标识字符串为f8,布尔型的类型标识字符串为bl,ASCII码字符型的类型标识字符串为ac,Unicode码字符型的类型标识字符串为uc,字节型的类型标识字符串为bt,ASCII码字符串的类型标识字符串为as,Unicode码字符串的类型标识字符串为us;,具体如下:
第二个数据域的类型设置为HLAopaqueData,值设置为步骤B3定义的ele_opa。
步骤D3,调用步骤C3中data_rec的编码接口,编码生成可传输可传输字节流字节流VariableLengthData形式的字节流数据,完成简单类型数据的编码处理。
图2为本发明实施例HLA分布式仿真系统中通用模型数据的解码方法示意图,如图2所示,本发明提供的HLA分布式仿真系统中通用的模型数据解码方法包括:
步骤201:创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的数组变量port_va,将所述数组变量port_va中的元素类型设置为对象模型模板规范中预定义的固定结构类型HLAfixedRecord,所述数组变量port_va中的每个元素均包含第一数据域和第二数据域,将所述第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
步骤202:调用所述数组变量port_va的解码接口,将待解码的可传输字节流数据作为解码接口的输入;
步骤203:创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
步骤204:获取所述数组变量port_va中一个未处理的数据元素,将该元素赋值给所述变量data_rec;
步骤205:创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量data_opa;
步骤206:读取所述变量data_rec的第二数据域的数据,并将所述数据赋值给所述变量data_opa;
步骤207:将所述变量data_opa中存放的字节数据提取出来,并存放到类型为可传输字节流数据类型VariableLengthData的变量data_vld中;
步骤208:创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量trans_rec,将所述变量trans_rec第一个数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString;
步骤209:调用trans_rec的解码接口,并以所述变量data_vld作为输入,对所述变量data_vld存放的字节流数据进行不完全解码;这次解码目的在于获知所述变量data_vld中存放的字节流数据所对应的原始数据的类型标识字符串,以便后续根据类型标识字符串进行相应的完全解码;
步骤210:读取所述变量trans_rec的第一数据域的字符串,赋值给变量type_str,所述变量type_str的数据类型为对象模型模板规范中预定义的宽字符串类型HLAunicodeString;
步骤211:判断所述变量type_str的值,根据所述变量type_str的值对所述变量data_vld中的数据采用与所述变量type_str的值相应的解码方式进行第二次解码,完成所述变量data_vld中的数据的二次完全解码;
步骤212:判断所述变量port_va的所有元素是否已经解码完全,如果否,则继续解码所述变量port_va中的下一个元素,否则,结束解码。
在上述步骤211中,识别所述变量type_str的值,如果所述变量type_str的值为va,则采用数组类型数据解码方法对所述变量type_str的值进行解码;如果所述变量type_str的值为vt,则采用结构类型数据解码方法对所述变量type_str的值进行解码;如果所述变量type_str的值为简单数据类型的标识,则采用简单类型数据解码方法对所述变量type_str的值进行解码。
数组类型数据解码方法具体包括:
步骤A4,将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray。
步骤B4,调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入。
步骤C4,获取所述变量trans_rec的第二数据域的值,赋值给变量data_va,所述变量trans_rec的第二数据域的值是由解码返回的,所述变量data_va的数据类型为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray。
步骤D4,读取所述变量data_va中下一个未处理的元素,存放在类型为不透明字节块类型HLAopaqueData的变量ele_opa中;对ele_opa进行由步骤105开始的处理。经过多次迭代,可以完成步骤A4中data_va的一个元素的解码。
步骤F4,将所述解码返回的值添加到类型为可变长数组类型HLAvariableArray的变量dec_ele_va中,完成一个元素的解码。
步骤G4,判断步骤C4中data_va的所有元素是否已经处理,如果否,转到步骤D4继续处理下一个未处理的元素;否者进入下一步。
步骤H4,读取所述变量data_rec的第一数据域与所述变量dec_ele_va中的数据值,完成所述获取的所述数组变量port_va中的一个元素的解码。
结构类型数据解码方法具体包括:
步骤A5,将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
步骤B5,调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入。
步骤C5,获取所述变量trans_rec的第二数据域的值,赋值给变量data_va,所述变量trans_rec的第二数据域的值是由解码返回的,所述变量data_va的数据类型为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray。
步骤D5,读取所述变量data_va中下一个未处理的元素,存放在类型为不透明字节块类型HLAopaqueData的变量ele_opa中。
步骤E5,采用所述解码步骤对所述变量ele_opa进行解码。
步骤F5,将所述解码返回的值添加到类型为固定结构类型HLAfixedRecord的变量dec_ele_rec中,完成一个元素的解码。
步骤G5,判断步骤D5中data_va中的所有元素是否已经处理,如果否,转到步骤E5;否则,进入下一步;
步骤H5,读取所述变量data_rec的第一数据域与所述变量dec_ele_rec中的数据值,完成所述获取的所述数组变量port_va中的一个数据元素的解码。
简单类型数据解码方法,具体包括:
步骤A6,将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块HLAopaqueData类型。
步骤B6,调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入。
步骤C6,获取所述变量trans_rec的第二数据域的值,赋值给类型为不透明字节块类型HLAopaqueData的变量dec_opa。
步骤D6,将所述变量dec_opa存放的字节数据赋值给类型为可传输字节流类型VariableLengthData的变量dec_vld中。
步骤E6,创建与所述变量type_str中的值的类型相同的变量dec_bsc。
步骤F6,调用所述变量dec_bsc的解码接口,将所述变量dec_vld作为输入。
步骤G7:读取所述变量data_rec的第一数据域与所述变量dec_bsc,完成所获取的数组变量port_va中的数据元素的解码工作。
本发明提供的编码/解码方法,可以实现对常用的多种数据类型,包括整型、浮点型、字符型、字符串型、数组型和结构型等进行统一表示;可以对数组中包含数组、数组中包含结构、结构中包含结构和结构中包含数组的复杂数据实现递归编码和解码;克服了现有技术中一种数据类型对应一套编码、解码的代码所带来的工作量大、代码重用性第的问题,增加代码的重用性和仿真模型间的互操作性,有效避免重互工作,缩短开发周期,降低开发成本;从根本上避免了由于编码/解码问题造成联邦成员间的数据交互失败,缩短分布式仿真系统集成测试时间,降低系统开发风险和成本。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种仿真系统中通用的模型数据编码方法,其特征在于,所述编码方法包括:
为仿真模型中每一个待传输的数据分配一个唯一的标识字符串,对模型数据进行标识;
创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量port_va,将所述变量port_va中的元素类型设置为对象模型模板规范中预定义的固定结构类型HLAfixedRecord,所述变量port_va中的每个元素均包含第一域和第二域,将所述第一域的数据类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述第二域的数据类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
读取一个未处理的数据;
判断所述数据的数据类型,根据所述数据类型,对所述数据进行与所述数据类型相对应的编码处理,并将处理结果转换为对象模型模板规范中预定义的可传输字节流类型VariableLengthData的可传输字节流数据;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量data_opa,用所述可传输字节流数据对所述变量data_opa进行初始化;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量port_rec,所述变量port_rec包含第一数据域和第二数据域,所述第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将分配给所述数据的标识字符串赋值给所述第一数据域;所述第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将data_opa赋值给所述第二数据域;
将所述变量port_rec添加到所述可变长数组变量port_va中,作为所述可变长数组变量port_va中的一个元素;
判断是否还有未处理的数据,若还有未处理的数据,则继续对下一个未处理的数据进行处理,若所有数据均已处理,则调用所述变量port_va的编码接口,编码生成符合HLA协议底层传输要求的字节流数据,所述字节流数据的类型为可传输字节流类型VariableLengthData。
2.根据权利要求1所述的编码方法,其特征在于,判断所述数据的数据类型,根据所述数据类型,对所述数据进行与所述数据类型相对应的编码处理,具体包括:
识别所述数据的数据类型;
如果所述数据类型为数组类型,则采用处理数组类型数据的方法处理所述数据;
如果所述数据类型为结构类型,则采用处理结构类型数据的方法处理所述数据;
如果所述数据类型为简单类型,则采用处理简单类型数据的方法处理所述数据,所述简单数据类型包括16位整型、32位整型、64位整型、单精度浮点型、双精度浮点型、布尔型、ASCII码字符型、Unicode码字符型、字节型、ASCII码字符串和Unicode码字符串。
3.根据权利要求2所述的编码方法,其特征在于,所述采用处理数组类型数据的方法处理所述数据,具体包括:
创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量encode_va,并将所述变量encode_va中的数组元素类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
读取所述数据中下一个未处理的元素;
如果所述元素为数组类型,则执行处理数组类型数据的方法处理该数组元素;如果为结构类型,则执行处理结构类型数据的方法处理该数组元素;如果为简单类型,则执行处理简单类型数据的方法处理该数组元素;得到对所述元素编码转换成的可传输字节流数据;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa;
将所述变量ele_opa添加到所述变量encode_va中;
判断所述数据中所有元素是否已经处理,如果未处理完,则继续处理所述数据中的下一个元素,直到处理完毕;
创建类型为对象模型模板规范中预定义的固定结构类型的变量data_rec,所述变量data_rec包含第一数据域和第二数据域,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为数组类型的标识字符串va,将述变量encode_va赋值给所述变量data_rec的第二数据域;
调用所述变量data_rec的编码接口,编码生成可传输字节流数据。
4.根据权利要求2所述的编码方法,其特征在于,所述采用处理结构类型数据的方法处理所述数据,具体包括:
创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的变量encode_va,并将所述变量encode_va数组的元素类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
读取所述数据中下一个未处理的数据域;
如果所述数据域为数组类型,则执行处理数组类型数据的方法处理该数据域;如果为结构类型,则执行处理结构类型数据的方法处理该数据域;如果为简单类型,则执行处理简单类型数据的方法处理该数据域;得到对所述数据域编码转换成的可传输字节流数据;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa,并将所述变量ele_opa添加到所述变量encode_va中;
判断所述数据中所有数据域是否已经处理,如果未处理完,则继续处理所述数据中的下一个数据域,直到处理完毕;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为结构类型的标识字符串st,将所述变量encode_va赋值给所述变量data_rec的第二数据域;
调用所述变量data_rec的编码接口,编码生成可传输字节流数据。
5.根据权利要求2所述的编码方法,其特征在于,所述采用处理简单类型数据的方法处理所述数据,具体包括:
根据所述数据所属的简单类型,调用对象模型模板规范预定义的相应简单类型的编码接口,将简单类型数据转化成可传输字节流数据,所述可传输字节流数据的类型为对象模型模板规范中预定义的可传输字节流类型;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量ele_opa,将所述字节流数据中存放的字节数据赋值给所述变量ele_opa;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData,将所述变量data_rec的第一数据域赋值为所述数据所属类型的类型标识字符串,将所述变量data_rec的第二数据域的值设置为所述变量ele_opa,所述简单类型包括的数据类型的类型标识字符串为:16位整型的类型标识字符串为i2,32位整型的类型标识字符串为i4,64位整型的类型标识字符串为i8,单精度浮点型的类型标识字符串为f4,双精度浮点型的类型标识字符串为f8,布尔型的类型标识字符串为bl,ASCII码字符型的类型标识字符串为ac,Unicode码字符型的类型标识字符串为uc,字节型的类型标识字符串为bt,ASCII码字符串的类型标识字符串为as,Unicode码字符串的类型标识字符串为us;
调用所述变量data_rec的编码接口,编码生成可传输字节流数据。
6.一种仿真系统中通用的模型数据解码方法,所述解码方法包括:
创建类型为对象模型模板规范中预定义的可变长数组类型HLAvariableArray的数组变量port_va,将所述数组变量port_va中的元素类型设置为对象模型模板规范中预定义的固定结构类型HLAfixedRecord,所述数组变量port_va中的每个元素均包含第一数据域和第二数据域,将所述第一数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述第二数据域的类型设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
调用所述数组变量port_va的解码接口,将待解码的可传输字节流数据作为解码接口的输入;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量data_rec,将所述变量data_rec的第一数据域设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString,将所述变量data_rec的第二数据域设置为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData;
获取所述数组变量port_va中一个未处理的数据元素,将该元素赋值给所述变量data_rec;
创建类型为对象模型模板规范中预定义的不透明字节块类型HLAopaqueData的变量data_opa;
对所述元素进行解码,所述解码步骤包括:
读取所述变量data_rec的第二数据域的数据,并将所述数据赋值给所述变量data_opa;
将所述变量data_opa中存放的字节数据提取出来,并存放到类型为可传输字节流数据类型VariableLengthData的变量data_vld中;
创建类型为对象模型模板规范中预定义的固定结构类型HLAfixedRecord的变量trans_rec,将所述变量trans_rec第一个数据域的类型设置为对象模型模板规范中预定义的宽字符串类型HLAunicodeString;
调用trans_rec的解码接口,并以所述变量data_vld作为输入;
读取所述变量trans_rec的第一数据域的字符串,赋值给变量type_str,所述变量type_str的数据类型为对象模型模板规范中预定义的宽字符串类型HLAunicodeString;
判断所述变量type_str的值,根据所述变量type_str的值对所述变量data_vld中的数据采用与所述变量type_str的值相应的解码方式进行解码;
判断所述变量port_va的所有元素是否已经解码完全,如果否,则继续解码所述变量port_va中的下一个元素,否则,结束解码。
7.根据权利要求6所述的解码方法,其特征在于,所述判断所述变量type_str的值,根据所述变量type_str的值对所述变量data_vld中的数据采用与所述变量type_str的值相应的解码方式进行解码,具体包括:
识别所述变量type_str的值;
如果所述变量type_str的值为va,则采用数组类型数据解码方法对所述变量data_vld进行解码;
如果所述变量type_str的值为st,则采用结构类型数据解码方法对所述变量data_vld进行解码;
如果所述变量type_str的值为简单数据类型的标识,则采用简单类型数据解码方法对所述变量data_vld进行解码。
8.根据权利要求7所述的解码方法,其特征在于,所述采用数组类型数据解码方法对所述变量data_vld进行解码,具体包括:
将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入;
获取所述变量trans_rec的第二数据域的值,赋值给变量data_va,所述变量trans_rec的第二数据域的值是由解码返回的,所述变量data_va的数据类型为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
读取所述变量data_va中下一个未处理的元素,存放在类型为不透明字节块类型HLAopaqueData的变量ele_opa中;
采用所述解码步骤对所述变量ele_opa进行解码;
将所述解码返回的值添加到类型为可变长数组类型HLAvariableArray的变量dec_ele_va中,完成一个元素的解码;
判断所述变量data_va的所有元素是否已经处理完毕,如果否,则继续处理下一个未处理的元素,直到所述变量data_va中的所有元素处理完毕;
读取所述变量data_rec的第一数据域与所述变量dec_ele_va中的数据值,完成所述获取的所述数组变量port_va中的一个元素的解码。
9.根据权利要求7所述的解码方法,其特征在于,所述采用结构类型数据解码方法对所述变量data_vld进行解码,具体包括:
将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入;
获取所述变量trans_rec的第二数据域的值,赋值给变量data_va,所述变量trans_rec的第二数据域的值是由解码返回的,所述变量data_va的数据类型为数据元素为不透明字节块类型HLAopaqueData的可变长数组类型HLAvariableArray;
读取所述变量data_va中下一个未处理的元素,存放在类型为不透明字节块类型HLAopaqueData的变量ele_opa中;
采用所述解码步骤对所述变量ele_opa进行解码;
将所述解码返回的值添加到类型为固定结构类型HLAfixedRecord的变量dec_ele_rec中,完成一个元素的解码;
判断所述变量data_va的所有元素是否已经处理完毕,如果否,则继续处理下一个未处理的元素,直到所述变量data_va中的所有元素处理完毕;
读取所述变量data_rec的第一数据域与所述变量dec_ele_rec中的数据值,完成所述获取的所述数组变量port_va中的一个数据元素的解码。
10.根据权利要求7所述的解码方法,其特征在于,所述采用简单类型数据解码方法对所述变量data_vld进行解码,具体包括:
将所述变量trans_rec的第二数据域设置为数据元素为不透明字节块HLAopaqueData类型;
调用所述变量trans_rec的解码接口,将所述变量data_vld作为输入;
获取所述变量trans_rec的第二数据域的值,赋值给类型为不透明字节块类型HLAopaqueData的变量dec_opa;
将所述变量dec_opa存放的字节数据赋值给类型为可传输字节流类型VariableLengthData的变量dec_vld中;
创建与所述变量type_str中的值的类型相同的变量dec_bsc;
调用所述变量dec_bsc的解码接口,将所述变量dec_vld作为输入;
读取所述变量data_rec的第一数据域与所述变量dec_bsc,完成所获取的数组变量port_va中的数据元素的解码工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610371561.1A CN105955066A (zh) | 2016-05-30 | 2016-05-30 | 一种仿真系统中通用的模型数据编码和解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610371561.1A CN105955066A (zh) | 2016-05-30 | 2016-05-30 | 一种仿真系统中通用的模型数据编码和解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105955066A true CN105955066A (zh) | 2016-09-21 |
Family
ID=56910877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610371561.1A Pending CN105955066A (zh) | 2016-05-30 | 2016-05-30 | 一种仿真系统中通用的模型数据编码和解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955066A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900571A (zh) * | 2022-07-13 | 2022-08-12 | 工业信息安全(四川)创新中心有限公司 | 一种基于模板解析可信密码指令的方法、设备及介质 |
CN115686759A (zh) * | 2023-01-04 | 2023-02-03 | 恒丰银行股份有限公司 | 一种计算虚拟机唯一识别码的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1836374B (zh) * | 2004-02-13 | 2010-10-13 | Ut斯达康(中国)有限公司 | 一种适合代码自动生成的结构化数据的二进制编码方法 |
CN102664954A (zh) * | 2012-04-25 | 2012-09-12 | 清华大学 | 基于hla的分布式仿真支撑平台及其实现方法 |
CN103942092A (zh) * | 2014-04-25 | 2014-07-23 | 中国人民解放军装备学院 | 一种支持LabView图形化编程的HLA协同仿真方法 |
CN105259784A (zh) * | 2015-10-23 | 2016-01-20 | 南方电网科学研究院有限责任公司 | 面向电力系统仿真的信令编码方法及其高速数据传输方法 |
-
2016
- 2016-05-30 CN CN201610371561.1A patent/CN105955066A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1836374B (zh) * | 2004-02-13 | 2010-10-13 | Ut斯达康(中国)有限公司 | 一种适合代码自动生成的结构化数据的二进制编码方法 |
CN102664954A (zh) * | 2012-04-25 | 2012-09-12 | 清华大学 | 基于hla的分布式仿真支撑平台及其实现方法 |
CN103942092A (zh) * | 2014-04-25 | 2014-07-23 | 中国人民解放军装备学院 | 一种支持LabView图形化编程的HLA协同仿真方法 |
CN105259784A (zh) * | 2015-10-23 | 2016-01-20 | 南方电网科学研究院有限责任公司 | 面向电力系统仿真的信令编码方法及其高速数据传输方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900571A (zh) * | 2022-07-13 | 2022-08-12 | 工业信息安全(四川)创新中心有限公司 | 一种基于模板解析可信密码指令的方法、设备及介质 |
CN115686759A (zh) * | 2023-01-04 | 2023-02-03 | 恒丰银行股份有限公司 | 一种计算虚拟机唯一识别码的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104091301B (zh) | 一种基于MapReduce的瓦片金字塔并行构建方法 | |
CN109902274B (zh) | 一种将json字符串转化为thrift二进制流的方法及系统 | |
EP3547227A1 (en) | Neuromorphic accelerator multitasking | |
CN107203421A (zh) | 一种云计算环境中自适应的组合工作流方法 | |
CN105955066A (zh) | 一种仿真系统中通用的模型数据编码和解码方法 | |
CN106648817A (zh) | 一种跨平台的数据对象传输方法 | |
CN113222153B (zh) | 一种量子态的模拟方法、装置、存储介质和电子装置 | |
CN114519306B (zh) | 一种去中心化的终端节点网络模型训练方法及系统 | |
CN103677811A (zh) | 一种航天器研制流程设计系统及方法 | |
CN106844855A (zh) | 一种通用数据交互模型构建、基于该模型编码及解码方法 | |
CN105550535A (zh) | 一种基因字符序列快速编码为二进制序列的编码方法 | |
CN111160535B (zh) | 基于Hadoop的DGCNN模型加速方法 | |
CN105335135A (zh) | 数据处理方法和中心节点 | |
CN108829930B (zh) | 三维数字化工艺设计mbd模型的轻量化方法 | |
CN104615815B (zh) | 一种并行模型的消息传输方法及系统 | |
CN115733888A (zh) | 一种边缘环境下支持多物联网应用自适应卸载的方法 | |
CN115544307A (zh) | 基于关联矩阵的有向图数据特征提取与表达方法和系统 | |
CN102110151A (zh) | 出帐系统的Petri网模型的分析方法 | |
CN103716127A (zh) | 一种基于ttcn-3的压缩编解码的方法和系统 | |
CN103473389A (zh) | 一种应用于hla分布式仿真技术的通用模型 | |
CN104281632B (zh) | 基于对象协议映射的编码解码方法及系统 | |
CN103488649B (zh) | 一种将体系结构模型转换为仿真组件的方法 | |
CN114817124A (zh) | 多核微控制器间映射方法、设备及计算机可读存储介质 | |
CN104572763A (zh) | 一种分布式计算系统中对象传递的方法 | |
Shi et al. | TAP: Accelerating large-scale DNN training through tensor automatic parallelisation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160921 |
|
RJ01 | Rejection of invention patent application after publication |