CN108228638A - 一种数字仿真实验的数据记录软件架构的设计方法 - Google Patents
一种数字仿真实验的数据记录软件架构的设计方法 Download PDFInfo
- Publication number
- CN108228638A CN108228638A CN201611188460.7A CN201611188460A CN108228638A CN 108228638 A CN108228638 A CN 108228638A CN 201611188460 A CN201611188460 A CN 201611188460A CN 108228638 A CN108228638 A CN 108228638A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- emulation experiment
- objects
- experiment
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种数字仿真实验的数据记录软件架构的设计方法,包括:在数据记录节点中定义多个网络端点,为每一个网络端点设置一个IN线程、多个OUT线程、DUMPER对象和FILE_PROXY对象;利用IN线程从数据记录节点的应用层获取仿真实验数据,并将获取的仿真实验数据转存至内存队列;利用OUT线程将仿真实验数据从内存队列中取出,并发送至DUMPER对象;利用DUMPER对象将固定大小或固定条数的仿真实验数据合并为数据块,并将数据块发送至FILE_PROXY对象;利用FILE_PROXY对象使用内存映射文件的方式对数据块进行映射,生成数据文件。本发明能够在不改变数字仿真实验的硬件环境的前提下,提升数字仿真实验中的数据记录能力。
Description
技术领域
本发明涉及数字仿真实验。更具体地,涉及一种数字仿真实验的数据记录软件架构的设计方法。
背景技术
数字仿真实验中存在多种仿真应用软件,例如仿真支撑平台软件、网关软件、态势软件等,各仿真应用软件基于分布式仿真协同工作,共同完成数字仿真实验。随着仿真需求在规模、范围以及形式上的扩大和升级,并且考虑资源重用、时间成本等因素影响,数据记录软件亟需完善升级以适应越来越复杂的实验环境。
数字仿真实验中,节点数量越来越多,模型规模越来越大,直接导致了网络中的数据越来越密集,以时间为序存储仿真过程数据的数据记录软件的软件性能压力越来越大,因此,必须着力于数据记录的特点,缓解软件性能压力,增强软件稳定性。目前,相关研究集中于提升文件I/O的吞吐效率、文件读写速度等问题,主要手段包括更换硬件存储介质、设计文件存储系统等。
但以上述手段缓解软件性能压力存在两个问题,第一个问题是在现有作为数据记录节点的计算机硬件性能的情况下,如何设计新的数据存储架构,力求逼近计算机硬件性能的上限,达到单个数据记录节点的数据记录能力的上限;第二个问题是在不改善现有作为数据记录节点的计算机硬件水平的情况下,即使达到单个数据记录节点的数据记录能力的上限,但随着仿真规模的不断增大,作为数据记录节点的计算机硬件性能的上限严重制约了实验仿真的规模,成为数字仿真实验中的数据记录能力提升的瓶颈。
因此,需要提供一种基于协议的突破数字仿真实验中的数据记录能力提升的瓶颈的数字仿真实验的数据记录软件架构的设计方法。
发明内容
本发明的目的在于提供一种数字仿真实验的数据记录软件架构的设计方法,以突破数字仿真实验中的数据记录能力提升的瓶颈。
为达到上述目的,本发明采用下述技术方案:
一种数字仿真实验的数据记录软件架构的设计方法,包括如下步骤:
在数据记录节点中定义多个网络端点,为每一个网络端点设置一个IN线程、多个OUT线程、DUMPER对象和FILE_PROXY对象;
利用IN线程从数据记录节点的应用层获取仿真实验数据,并将获取的仿真实验数据转存至内存队列;
利用OUT线程将仿真实验数据从内存队列中取出,并发送至DUMPER对象;
利用DUMPER对象将固定大小或固定条数的仿真实验数据合并为数据块,并将数据块发送至FILE_PROXY对象;
利用FILE_PROXY对象使用内存映射文件的方式对数据块进行映射,生成数据文件。
优选地,所述网络端点为由一组网络地址和网络端口构成的信息体。
优选地,在利用FILE_PROXY对象使用内存映射文件的方式对数据块进行映射,生成数据文件时,还包括如下步骤:为每条仿真实验数据附加与数据记录节点对应的信息头,将仿真实验数据附加的信息头存入数据文件中,所述信息头包括获取该仿真实验数据的时间戳、获取该仿真实验数据的网络端点和该仿真实验数据的数据类型。
优选地,该方法还包括如下步骤:
同时运行多个数据记录节点并设置一个汇总节点;
汇总节点根据各数据记录节点生成的数据文件中每条仿真实验数据附加的信息头,逐条读取仿真实验数据,按时序合并存储各条仿真实验数据,生成数据文件。
本发明的有益效果如下:
本发明所述技术方案能够在不改变数字仿真实验的硬件环境的前提下,提升数字仿真实验中的数据记录能力,适应不同仿真规模的实验需求。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出数字仿真实验的数据记录软件架构的设计方法中单个数据记录节点架构的设计示意图。
图2示出数字仿真实验的数据记录软件架构的设计方法中多个数据记录节点架构的设计示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
如图1所示,数字仿真实验的仿真实验数据通过网络传输至数据记录节点,数据从作为数据记录节点的计算机网络接口(一般指网卡)经硬件驱动、计算机操作系统到达应用层的网络开发部分。本发明公开的一种数字仿真实验的数据记录软件架构的设计方法涉及从应用层多线程获取数据,包括如下步骤:
在数据记录节点中定义多个网络端点,网络端点为由一组网络地址(IP)和网络端口(PORT)构成的信息体,为每一个网络端点设置一个IN线程、多个OUT线程、DUMPER对象和FILE_PROXY对象;
利用IN线程不断地从数据记录节点的应用层获取仿真实验数据,并将获取的仿真实验数据转存至内存队列,其中,内存队列是在作为数据记录节点的计算机中的一块内存区域,用于临时存储仿真实验数据,内存队列具有线程安全属性,即对于队列的存取,线程安全;
利用OUT线程将仿真实验数据从内存队列中取出,并发送至DUMPER对象,其中,OUT线程的数量可根据仿真实验数据的密集程度和作为数据记录节点的计算机的实际硬件性能进行配置;
利用DUMPER对象将固定大小或固定条数的仿真实验数据合并为数据块,例如将1G或者1000条数据仿真实验数据合并为1个数据块,并将数据块发送至FILE_PROXY对象,其中,数据块的大小或数据块包含的数据条数可根据实验仿真实验数据的密集程度和作为数据记录节点的计算机的操作系统进行配置;
利用FILE_PROXY对象使用内存映射文件的方式快速地对数据块进行映射,生成数据文件,其中,FILE_PROXY对象内部维护一个文件名的自增属性,用于生成序列的文件名,以此命名存储分批到来的数据块;利用FILE_PROXY对象使用内存映射文件的方式快速地对数据块进行映射,生成数据文件时,还为每条仿真实验数据附加与数据记录节点对应的信息头,将仿真实验数据附加的信息头存入数据文件中,信息头包括获取该仿真实验数据的时间戳、获取该仿真实验数据的网络端点、该仿真实验数据的数据类型等内容。
经上述步骤设计的数字仿真实验的数据记录软件架构可实现仿真实验数据由仿真网络到数据文件的记录存储过程,提升了单个数据记录节点的数据记录能力,进而提升数字仿真实验中的数据记录能力。
单个作为数据记录节点的计算机的硬件性能终有上限,所以单个数据记录节点的记录能力终有上限,如图2所示,本发明公开的一种数字仿真实验的数据记录软件架构的设计方法进一步包括通过增加记录节点数量的方式进一步提升数字仿真实验中的数据记录能力,适应不同仿真规模的实验需求的如下步骤:
数据记录节点可与其他仿真模型、软件或系统在仿真过程中同时运行,可以单个数据记录节点独立运行,也可以在同一数字仿真实验中,同时启动多个数据记录节点,分散记录仿真实验数据,最终,将各数据记录节点生成的多份数据文件汇总,交由一个汇总节点合并存储,生成最终的数据文件。其中,汇总节点可选择个数据记录节点中数据记录能力最强的一个,作为数据记录节点的计算机在图2中以A表示,运行仿真模型、其他软件或系统的计算机在图2中以B表示,各数据记录节点生成的数据文件以a-d表示,汇总节点进行数据合并后生成的最终的数据文件以e表示。不同数据记录节点上记录的仿真实验数据不同,数据记录节点记录的仿真实验数据可按IP、端口、数据类型等类别分别记录。汇总节点根据各数据记录节点生成的数据文件中每条仿真实验数据附加的信息头,逐条读取仿真实验数据,按时序合并存储各条仿真实验数据,生成数据文件,该数据文件即为该次仿真实验的实验数据。该步骤能够随仿真规模而进一步提升数字仿真实验中的数据记录能力,突破瓶颈问题,支持大规模的数据记录。且由于合并文件是仿真后期的处理过程,不会影响仿真过程。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (4)
1.一种数字仿真实验的数据记录软件架构的设计方法,其特征在于,该方法包括如下步骤:
在数据记录节点中定义多个网络端点,为每一个网络端点设置一个IN线程、多个OUT线程、DUMPER对象和FILE_PROXY对象;
利用IN线程从数据记录节点的应用层获取仿真实验数据,并将获取的仿真实验数据转存至内存队列;
利用OUT线程将仿真实验数据从内存队列中取出,并发送至DUMPER对象;
利用DUMPER对象将固定大小或固定条数的仿真实验数据合并为数据块,并将数据块发送至FILE_PROXY对象;
利用FILE_PROXY对象使用内存映射文件的方式对数据块进行映射,生成数据文件。
2.根据权利要求1所述的数字仿真实验的数据记录软件架构的设计方法,其特征在于,所述网络端点为由一组网络地址和网络端口构成的信息体。
3.根据权利要求1所述的数字仿真实验的数据记录软件架构的设计方法,其特征在于,在利用FILE_PROXY对象使用内存映射文件的方式对数据块进行映射,生成数据文件时,还包括如下步骤:为每条仿真实验数据附加与数据记录节点对应的信息头,将仿真实验数据附加的信息头存入数据文件中,所述信息头包括获取该仿真实验数据的时间戳、获取该仿真实验数据的网络端点和该仿真实验数据的数据类型。
4.根据权利要求3所述的数字仿真实验的数据记录软件架构的设计方法,其特征在于,该方法还包括如下步骤:
同时运行多个数据记录节点并设置一个汇总节点;
汇总节点根据各数据记录节点生成的数据文件中每条仿真实验数据附加的信息头,逐条读取仿真实验数据,按时序合并存储各条仿真实验数据,生成数据文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611188460.7A CN108228638A (zh) | 2016-12-21 | 2016-12-21 | 一种数字仿真实验的数据记录软件架构的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611188460.7A CN108228638A (zh) | 2016-12-21 | 2016-12-21 | 一种数字仿真实验的数据记录软件架构的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108228638A true CN108228638A (zh) | 2018-06-29 |
Family
ID=62651772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611188460.7A Pending CN108228638A (zh) | 2016-12-21 | 2016-12-21 | 一种数字仿真实验的数据记录软件架构的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228638A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124700A (zh) * | 2018-10-31 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 仿真软件模型的接入方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014137A (zh) * | 2010-12-13 | 2011-04-13 | 哈尔滨工业大学 | 一种基于hla的通用分布式数据记录装置和方法 |
CN104408222A (zh) * | 2014-10-13 | 2015-03-11 | 中国电子科技集团公司第十研究所 | 实时分布式仿真平台可重构方法 |
CN105677446A (zh) * | 2016-01-28 | 2016-06-15 | 中国电子科技集团公司第十研究所 | 分布式仿真平台的可视化建模方法 |
-
2016
- 2016-12-21 CN CN201611188460.7A patent/CN108228638A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014137A (zh) * | 2010-12-13 | 2011-04-13 | 哈尔滨工业大学 | 一种基于hla的通用分布式数据记录装置和方法 |
CN104408222A (zh) * | 2014-10-13 | 2015-03-11 | 中国电子科技集团公司第十研究所 | 实时分布式仿真平台可重构方法 |
CN105677446A (zh) * | 2016-01-28 | 2016-06-15 | 中国电子科技集团公司第十研究所 | 分布式仿真平台的可视化建模方法 |
Non-Patent Citations (1)
Title |
---|
黄晓峰: "基于HLA仿真的数据收集软件的分析与设计", 《万方学术期刊数据库 华中科技大学 硕士论文》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124700A (zh) * | 2018-10-31 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 仿真软件模型的接入方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105608203B (zh) | 一种基于Hadoop平台的物联网日志处理方法和装置 | |
CN107239953A (zh) | 基于区块链的快速数据存储方法及系统 | |
CN103235820B (zh) | 一种集群系统中数据存储方法与装置 | |
CN106844477B (zh) | 区块链系统、区块查找方法和区块链后向同步方法 | |
CN105989129A (zh) | 实时数据统计方法和装置 | |
Vaquero et al. | xDGP: A dynamic graph processing system with adaptive partitioning | |
CN109918378A (zh) | 一种基于区块链的遥感数据存储方法和存储系统 | |
CN106294826A (zh) | 一种集群数据实时查询方法及系统 | |
CN104104717A (zh) | 投放渠道数据统计方法及装置 | |
CN108959337A (zh) | 大数据获取方法、装置、设备及存储介质 | |
CN109145051A (zh) | 分布式数据库的数据汇总方法及装置和电子设备 | |
CN106339475A (zh) | 一种海量数据的分布式存储系统 | |
CN104346365A (zh) | 确定与特定业务相关的关联日志的方法和装置 | |
CN108124012A (zh) | 一种基于哈希算法的分布式缓存计算方法 | |
CN104036029A (zh) | 大数据一致性对比方法和系统 | |
CN106407224A (zh) | 一种键值存储系统中文件压实的方法和装置 | |
CN103699618A (zh) | 数据报表的生成方法和系统 | |
CN107092491A (zh) | 一种配置加载方法和系统 | |
CN104317957A (zh) | 一种报表处理的开放平台、系统及报表处理方法 | |
CN109325200A (zh) | 获取数据的方法、装置及计算机可读存储介质 | |
CN106126629A (zh) | 一种基于直播行业的主数据管理方法及系统 | |
CN107729924A (zh) | 图片复审概率区间生成方法及图片复审判定方法 | |
CN107070645A (zh) | 比较数据表的数据的方法和系统 | |
CN108733701A (zh) | 一种应用于在线教育的查询页面缓存控制方法 | |
CN206021244U (zh) | 一种分布式计算机集群下的数据采集系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180629 |
|
RJ01 | Rejection of invention patent application after publication |