CN105786923A - 一种分布式仿真接口数据实时格式化存储方法及系统 - Google Patents
一种分布式仿真接口数据实时格式化存储方法及系统 Download PDFInfo
- Publication number
- CN105786923A CN105786923A CN201410830398.1A CN201410830398A CN105786923A CN 105786923 A CN105786923 A CN 105786923A CN 201410830398 A CN201410830398 A CN 201410830398A CN 105786923 A CN105786923 A CN 105786923A
- Authority
- CN
- China
- Prior art keywords
- data
- complex data
- sql
- real
- data type
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式仿真接口数据实时格式化存储方法及系统,该方法包括:读取基于HLA分布式仿真系统的接口描述OMT文件,生成复杂数据类型数据结构链表;在数据库中,为数据结构链表自动创建并初始化数据库表;通过HLA对象类更新接口和交互类接收接口获取分布式仿真接口实时数据,并对数据结构链表的元素进行实时赋值,采用递归调用方法,将仿真接口值实时写入数据库;用于析构生成的数据结构,并关闭产生的表和数据库。本发明所述技术方案优点在于:实现了分布式仿真接口数据的全过程自动化实时格式化存储的问题,提高了仿真系统的使用灵活性和方便性。
Description
技术领域
本发明涉及一种数据实时格式化存储方法,特别是涉及一种分布式仿真接口数据实时格式化存储方法及系统。
背景技术
在基于HLA的分布式仿真系统中,仿真接口数据的实时存储作为一项基本功能,是仿真系统功能调试和数据结果分析的基础。传统的方法是将仿真接口数据作为非格式化的二进制数据流,在仿真过程中实时记录,仿真运行结束后,根据接口数据类型在数据库中创建表,并通过专用的软件工具将记录的二进制数据流导入数据库表中,实现格式化存储。整个过程步骤多且繁琐,且需要较多的人工干预,灵活性和自动化程度较低,对工作效率影响较大。
因此,需要提供一种分布式仿真接口数据实时格式化存储方法及其系统,以解决分布式仿真接口数据实时格式化存储的全过程自动化问题,提高系统的使用灵活性和方便性。
发明内容
本发明要解决的技术问题是提供一种分布式仿真接口数据实时格式化存储方法及系统,以解决实时格式化存储的全过程自动化问题。
为解决上述技术问题,本发明采用下述技术方案。
一种分布式仿真接口数据实时格式化存储方法,该方法包括:
读取基于HLA分布式仿真系统的接口描述OMT文件,生成复杂数据类型数据结构链表;
在数据库中,为数据结构链表自动创建并初始化数据库表;
通过HLA对象类更新接口和交互类接收接口获取分布式仿真接口实时数据,并对数据结构链表的元素进行实时赋值,采用递归调用方法,将仿真接口值实时写入数据库;
析构生成的数据结构,并关闭产生的表和数据库。
优选的,所述复杂数据类型数据结构链表中节点的数据类型包括以下元素:
复杂数据类型名称:字符串;
复杂数据类型组成元素:双向链表。
优选的,所述双向链表中节点的数据类型进一步包括以下元素:
子复杂数据结构类型名称:字符串;
子复杂数据结构类型:字符串。
优选的,所述创建数据库表进一步包括:
创建SQL为复杂数据类型数据结构链表节点,其字符串为SQL_S,并定义复杂数据类型名称为CS,其初始值为“createTable”+CS,根据不同的子复杂数据结构类型来解析数据结构链表节点的复杂数据类型组成元素;
记录SQL_S为复杂数据类型对象的SQL字符串,并执行该SQL字符串,在数据库中,创建出复杂数据类型数据库表。
优选的,所述数据结构链表节点的复杂数据类型组成元素,包括以下几种表达方式:
1)、如果子复杂数据结构类型为简单数据类型,定义子复杂数据结构类型名称为SS,则数据结构链表节点的复杂数据类型组成元素表述为SQL_S=SQL_S+SS;
2)、如果子复杂数据结构类型为复杂数据类型,查询复杂数据类型数据结构链表,获得该复杂数据类型对应的SQL字符串为SQL_DS,则数据结构链表节点的复杂数据类型组成元素SQL_S=SQL_S+SQL_DS。
优选的,所述将仿真接口值实时写入数据库包括:
遍历复杂数据类型数据结构链表,获得该仿真接口对应的复杂数据类型数据结构链表节点;
创建SQL为复杂数据类型数据结构链表节点,其字符串为SQL_S,并定义复杂数据类型名称为CS,其初始值为“updateTable”+CS;
根据不同的子复杂数据结构类型来解析链表节点的复杂数据类型组成元素;
执行该SQL字符串,在数据库中更新表,将仿真接口值实时写入数据库。
优选的,所述链表节点的复杂数据类型组成元素,包括以下几种表达方式:
1)、如果子复杂数据结构类型为简单数据类型,定义子复杂数据结构类型名称为SS,则数据结构链表节点的复杂数据类型组成元素SQL_S=SQL_S+SS;
2)如果子复杂数据结构类型为复杂数据类型,则需要查询复杂数据类型数据结构链表,递归调用生成SQL_S。
一种分布式仿真接口数据实时格式化存储系统,该系统包括接口描述文件处理模块、初始化处理模块、数据存储模块、后处理模块;
所述接口描述文件处理模块,用于读入基于HLA分布式仿真系统的接口描述OMT文件,接口名称与数据类型映射表数据结构;
所述初始化处理模块的功能,用于根接口描述文件处理模块生成的数据结构,自动创建并初始化数据库表;
所述数据存储模块的功能,用于实时获得仿真接口数据,生成数据库SQL语言,更新数据库中指定表的数据;
所述后处理模块的功能,用于析构生成的数据结构,并关闭产生的表和数据库。
本发明的有益效果如下:
本发明所述技术方案能够根据仿真接口的数据类型,自动创建数据库表,并采用递归调用方法,实时生成数据库表记录的更新语句,从而实现了分布式仿真接口数据的实时格式化存储,解决实时格式化存储的全过程自动化问题,提高仿真系统的使用灵活性和方便性。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明;
图1示出本发明实施例中一种分布式仿真接口数据实时格式化存储方法示意图;
图2示出了本发明实施例中一种分布式仿真接口数据实时格式化存储系统示意图。
具体实施方式
下面结合实施例及附图对本发明做进一步描述。
本发明提供了一种分布式仿真接口数据实时格式化存储方法,如图1所示,该方法具体包括:
S1、读取基于HLA分布式仿真系统的接口描述OMT文件,生成复杂数据类型数据结构链表;
S2、在数据库中,为数据结构链表自动创建并初始化数据库表;
S3、通过HLA对象类更新接口和交互类接收接口获取分布式仿真接口实时数据,并对数据结构链表的元素进行实时赋值,采用递归调用方法,将仿真接口值实时写入数据库;
S4、析构生成的数据结构,并关闭产生的表和数据库。
其中,复杂数据类型数据结构链表中节点的数据类型包括以下元素:
复杂数据类型名称:字符串,表示该复杂数据类型的名称;
复杂数据类型组成元素:双向链表,表示该复杂数据类型模型的组成。该双向链表中节点的数据类型进一步包括以下元素:
子复杂数据结构类型名称:字符串,表示子复杂数据类型的名称;
子复杂数据结构类型:字符串,表示子复杂数据类型。
其中,步骤S2创建数据库表进一步包括
S21、创建SQL为复杂数据类型数据结构链表节点,其字符串为SQL_S,并定义复杂数据类型名称为CS,其初始值为“createTable”+CS,根据不同的子复杂数据结构类型来解析数据结构链表节点的复杂数据类型组成元素;
1)、如果子复杂数据结构类型为简单数据类型,定义子复杂数据结构类型名称为SS,则数据结构链表节点的复杂数据类型组成元素表述为SQL_S=SQL_S+SS;
2)、如果子复杂数据结构类型为复杂数据类型,查询复杂数据类型数据结构链表,获得该复杂数据类型对应的SQL字符串为SQL_DS,则数据结构链表节点的复杂数据类型组成元素SQL_S=SQL_S+SQL_DS;
S22、记录SQL_S为复杂数据类型对象的SQL字符串,并执行该SQL字符串,在数据库中,创建出复杂数据类型数据库表。
其中,步骤S3中将仿真接口值实时写入数据库包括
S31、遍历复杂数据类型数据结构链表,获得该仿真接口对应的复杂数据类型节点;
S32、创建SQL为复杂数据类型数据结构链表节点,其字符串为SQL_S,并定义复杂数据类型名称为CS,其初始值为“updateTable”+CS;
S33、根据不同的子复杂数据结构类型来解析链表节点的复杂数据类型组成元素;链表节点的复杂数据类型组成元素,包括以下几种表达方式:
1)、如果子复杂数据结构类型为简单数据类型,定义子复杂数据结构类型名称为SS,则数据结构链表节点的复杂数据类型组成元素SQL_S=SQL_S+SS;
2)如果子复杂数据结构类型为复杂数据类型,则需要查询复杂数据类型数据结构链表,递归调用生成SQL_S。
S34、执行该SQL字符串,在数据库中更新表,将仿真接口值实时写入数据库。
如图2所示,本发明还公开了一种分布式仿真接口数据实时格式化存储系统,该系统包括接口描述文件处理FILEREAD模块、初始化处理INIT模块、数据存储WRITE模块、后处理POSTPROC模块;
所述接口描述文件处理FILEREAD模块,用于读取基于HLA分布式仿真系统的接口描述OMT文件,接口名称与数据类型映射表数据结构;
所述初始化处理INIT模块的功能,用于根据FILEREAD模块生成的数据结构,自动创建并初始化数据库表;
所述数据存储WRITE模块的功能,用于实时获得仿真接口数据,生成数据库SQL语言,更新数据库中指定表的数据;
所述后处理POSTPROC模块的功能,用于析构生成的数据结构,并关闭产生的表和数据库。
所述接口描述文件处理FILEREAD模块读入HLAOMT文件,生成复杂数据类型数据结构链表。该链表中节点的数据类型由以下元素组成:复杂数据类型名称:字符串,表示该复杂数据类型的名称;复杂数据类型组成元素:双向链表,表示该复杂数据类型模型的组成。该双向链表节点的数据类型由以下元素组成:子复杂数据结构类型名称:字符串,表示子复杂数据类型的名称;子复杂数据结构类型:字符串,表示子复杂数据类型。生成复杂数据类型数据结构链表发送给初始化处理INIT模块。
初始化处理INIT模块,接收并遍历复杂数据类型数据结构链表;针对链表节点,创建SQL为复杂数据类型数据结构链表节点,其字符串为SQL_S,并定义复杂数据类型名称为CS,其初始值为“createTable”+CS,根据不同的子复杂数据结构类型来解析数据结构链表节点的复杂数据类型组成元素;数据结构链表节点的复杂数据类型组成元素,包括以下几种表达方式:1)、如果子复杂数据结构类型为简单数据类型,定义子复杂数据结构类型名称为SS,则数据结构链表节点的复杂数据类型组成元素表述为SQL_S=SQL_S+SS;2)、如果子复杂数据结构类型为复杂数据类型,查询复杂数据类型数据结构链表,获得该复杂数据类型对应的SQL字符串为SQL_DS,则数据结构链表节点的复杂数据类型组成元素SQL_S=SQL_S+SQL_DS。
记录SQL_S为复杂数据类型对象的SQL字符串,并执行该SQL字符串,在数据库中,创建出复杂数据类型数据库表。
数据存储WRITE模块,通过HLA对象类更新接口Reflecttrributealue和交互类接收接口Receiventeraction获取分布式仿真接口实时数据;将仿真接口实时数据拷贝到复杂数据结构类型;对该复杂数据结构类型的元素赋值。遍历复杂数据类型数据结构链表,获得该仿真接口对应的复杂数据类型数据结构链表节点;创建SQL为复杂数据类型数据结构链表节点,其字符串为SQL_S,并定义复杂数据类型名称为CS,其初始值为“updateTable”+CS;根据不同的子复杂数据结构类型来解析链表节点的复杂数据类型组成元素;链表节点的复杂数据类型组成元素,包括以下几种表达方式:1)、如果子复杂数据结构类型为简单数据类型,定义子复杂数据结构类型名称为SS,则数据结构链表节点的复杂数据类型组成元素SQL_S=SQL_S+SS;2)如果子复杂数据结构类型为复杂数据类型,则需要查询复杂数据类型数据结构链表,递归调用生成SQL_S。执行该SQL字符串,在数据库中更新表,将仿真接口值实时写入数据库。
后处理POSTPROC模块,遍历复杂数据类型数据结构链表;完成该链表节点对应的数据库表的关闭、数据库的关闭以及复杂数据类型数据结构链表析构。
综上所述,本发明所述技术方案能够根据仿真接口的数据类型,自动创建数据库表,并采用递归调用方法,实时生成数据库表记录的更新语句,从而实现了分布式仿真接口数据的实时格式化存储,解决实时格式化存储的全过程自动化问题,提高仿真系统的使用灵活性和方便性。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (8)
1.一种分布式仿真接口数据实时格式化存储方法,其特征在于,该方法包括
读取基于HLA分布式仿真系统的接口描述OMT文件,生成复杂数据类型数据结构链表;
在数据库中,为数据结构链表自动创建并初始化数据库表;
通过HLA对象类更新接口和交互类接收接口获取分布式仿真接口实时数据,并对数据结构链表的元素进行实时赋值,采用递归调用方法,将仿真接口值实时写入数据库;
析构生成的数据结构,并关闭产生的表和数据库。
2.根据权利要求1所述的数据实时格式化存储方法,其特征在于,所述复杂数据类型数据结构链表中节点的数据类型包括以下元素:
复杂数据类型名称:字符串;
复杂数据类型组成元素:双向链表。
3.根据权利要求2所述的数据实时格式化存储方法,其特征在于,所述双向链表中节点的数据类型进一步包括以下元素:
子复杂数据结构类型名称:字符串;
子复杂数据结构类型:字符串。
4.根据权利要求1所述的数据实时格式化存储方法,其特征在于,所述创建数据库表进一步包括:
创建SQL为复杂数据类型数据结构链表节点,其字符串为SQL_S,并定义复杂数据类型名称为CS,其初始值为“createTable”+CS,根据不同的子复杂数据结构类型来解析数据结构链表节点的复杂数据类型组成元素;
记录SQL_S为复杂数据类型对象的SQL字符串,并执行该SQL字符串,在数据库中,创建出复杂数据类型数据库表。
5.根据权利要求4所述的数据实时格式化存储方法,其特征在于,所述数据结构链表节点的复杂数据类型组成元素,包括以下几种表达方式:
1)、如果子复杂数据结构类型为简单数据类型,定义子复杂数据结构类型名称为SS,则数据结构链表节点的复杂数据类型组成元素表述为SQL_S=SQL_S+SS;
2)、如果子复杂数据结构类型为复杂数据类型,查询复杂数据类型数据结构链表,获得该复杂数据类型对应的SQL字符串为SQL_DS,则数据结构链表节点的复杂数据类型组成元素SQL_S=SQL_S+SQL_DS。
6.根据权利要求1所述的数据实时格式化存储方法,其特征在于,所述将仿真接口值实时写入数据库包括:
遍历复杂数据类型数据结构链表,获得该仿真接口对应的复杂数据类型数据结构链表节点;
创建SQL为复杂数据类型数据结构链表节点,其字符串为SQL_S,并定义复杂数据类型名称为CS,其初始值为“updateTable”+CS;
根据不同的子复杂数据结构类型来解析链表节点的复杂数据类型组成元素;
执行该SQL字符串,在数据库中更新表,将仿真接口值实时写入数据库。
7.根据权利要求6所述的数据实时格式化存储方法,其特征在于,所述链表节点的复杂数据类型组成元素,包括以下几种表达方式:
1)、如果子复杂数据结构类型为简单数据类型,定义子复杂数据结构类型名称为SS,则数据结构链表节点的复杂数据类型组成元素SQL_S=SQL_S+SS;
2)如果子复杂数据结构类型为复杂数据类型,则需要查询复杂数据类型数据结构链表,递归调用生成SQL_S。
8.一种分布式仿真接口数据实时格式化存储系统,其特征在于,该系统包括接口描述文件处理模块、初始化处理模块、数据存储模块、后处理模块;
所述接口描述文件处理模块,用于读入基于HLA分布式仿真系统的接口描述OMT文件,接口名称与数据类型映射表数据结构;
所述初始化处理模块的功能,用于根接口描述文件处理模块生成的数据结构,自动创建并初始化数据库表;
所述数据存储模块的功能,用于实时获得仿真接口数据,生成数据库SQL语言,更新数据库中指定表的数据;
所述后处理模块的功能,用于析构生成的数据结构,并关闭产生的表和数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410830398.1A CN105786923A (zh) | 2014-12-25 | 2014-12-25 | 一种分布式仿真接口数据实时格式化存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410830398.1A CN105786923A (zh) | 2014-12-25 | 2014-12-25 | 一种分布式仿真接口数据实时格式化存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105786923A true CN105786923A (zh) | 2016-07-20 |
Family
ID=56388949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410830398.1A Pending CN105786923A (zh) | 2014-12-25 | 2014-12-25 | 一种分布式仿真接口数据实时格式化存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105786923A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220105A (zh) * | 2017-06-22 | 2017-09-29 | 中国人民解放军国防科学技术大学 | 并行离散事件仿真系统自动初始化实现方法 |
CN112465344A (zh) * | 2020-11-26 | 2021-03-09 | 中船重工鹏力(南京)智能装备系统有限公司 | 一种基于车间自动化产线仿真系统参数的初始化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420437A (zh) * | 2008-11-14 | 2009-04-29 | 北京航空航天大学 | 一种原型系统与hla仿真系统的接口设备 |
CN102779039A (zh) * | 2012-06-15 | 2012-11-14 | 北京理工大学 | 面向体系结构研究的基于bom的分布式仿真系统的开发方法 |
CN103020382A (zh) * | 2012-12-27 | 2013-04-03 | 北京仿真中心 | 基于bom的多实例聚合仿真建模方法 |
-
2014
- 2014-12-25 CN CN201410830398.1A patent/CN105786923A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420437A (zh) * | 2008-11-14 | 2009-04-29 | 北京航空航天大学 | 一种原型系统与hla仿真系统的接口设备 |
CN102779039A (zh) * | 2012-06-15 | 2012-11-14 | 北京理工大学 | 面向体系结构研究的基于bom的分布式仿真系统的开发方法 |
CN103020382A (zh) * | 2012-12-27 | 2013-04-03 | 北京仿真中心 | 基于bom的多实例聚合仿真建模方法 |
Non-Patent Citations (2)
Title |
---|
杨瑞平: "《指挥控制系统仿真》", 31 January 2013 * |
陈峰: ""HLA分布式仿真中的数据管理研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220105A (zh) * | 2017-06-22 | 2017-09-29 | 中国人民解放军国防科学技术大学 | 并行离散事件仿真系统自动初始化实现方法 |
CN112465344A (zh) * | 2020-11-26 | 2021-03-09 | 中船重工鹏力(南京)智能装备系统有限公司 | 一种基于车间自动化产线仿真系统参数的初始化方法 |
CN112465344B (zh) * | 2020-11-26 | 2023-10-24 | 中船重工鹏力(南京)智能装备系统有限公司 | 一种基于车间自动化产线仿真系统参数的初始化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589874B (zh) | Etl任务依赖关系的检测方法、装置及etl工具 | |
CN105630902A (zh) | 一种渲染和增量更新网页的方法 | |
CN106293664A (zh) | 代码生成方法及装置 | |
US20160055233A1 (en) | Pre-join tags for entity-relationship modeling of databases | |
CN103761236A (zh) | 一种增量式频繁模式增长数据挖掘方法 | |
CN104461484A (zh) | 前端模板的实现方法和装置 | |
CN104679511A (zh) | 基于MDE模型转换的MapReduce代码生成方法 | |
CN104503793A (zh) | 代码练习软件中代码的运行和图形化的解析方法 | |
CN108197440A (zh) | 一种代码混淆方法、设备及计算机可读存储介质 | |
CN104298534A (zh) | 基于Lua语言的编程方法和装置 | |
CN107329900A (zh) | 生成测试数据的方法 | |
Verma | Mvc architecture: A comparative study between ruby on rails and laravel | |
CN104391706A (zh) | 一种基于逆向工程的模型库构造方法 | |
CN105786923A (zh) | 一种分布式仿真接口数据实时格式化存储方法及系统 | |
CN103984769A (zh) | 一种用例数据管理存储方法 | |
WO2018233673A1 (zh) | 一种控制器中模型代码配置方法和装置、存储介质 | |
CN104102581A (zh) | 一种实现单元测试的方法及装置 | |
CN103744331A (zh) | 教育机器人、其控制器及控制器的编程方法 | |
Johnpaul et al. | A Cypher query based NoSQL data mining on protein datasets using Neo4j graph database | |
CN104391964A (zh) | 一种将源代码存入图数据库的方法 | |
SA521421641B1 (ar) | بنية بيانات من أجل برمجيات نمذجة استخلاص رشحي لتفشٍ سريع | |
Puente et al. | Wiki refactoring as mind map reshaping | |
CN103116514A (zh) | 基于系统扩展调用图的操作系统自动优化方法和系统 | |
Koznov et al. | View to view transformations in domain specific modeling | |
CN107622070A (zh) | 一种数据库管理方法及装置 |
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: 20160720 |
|
RJ01 | Rejection of invention patent application after publication |