一种基于DDS的仿真试验数据采集系统的制作方法

文档序号:17442952发布日期:2019-04-17 05:02阅读:319来源:国知局
一种基于DDS的仿真试验数据采集系统的制作方法

本发明涉及一种基于dds的仿真试验数据采集系统。



背景技术:

在网络新技术的不断推动下,分布式仿真系统得到了广泛的研究与应用。传统分布式系统采用紧耦合交互模式的c/s(client/server)架构,使得整个系统的扩展性和裁剪性比较差,尤其是对于大规模复杂系统而言。为了适应大规模、分散控制和动态重组的新需求,以数据为中心的(data-centric)的交互模式越来越多的被应用到分布式系统当中,以数据为中心的分布式系统的各组件之间无需直接建立连接进行交互,只需直接向分布式中间件平台发布或订阅相应的数据,即可达到各组件之间交互的目的。

目前,国内外相关领域的研究成果中,分布式仿真试验数据采集多采用基于c/s架构的基于dis(分布交互仿真)和hla(高层体系结构)标准的采集方法。在基于dis的仿真系统中,虽然消息的结构是协议的一部分(如协议数据单元pdu),数据采集是直接的,但dis技术在标准、协议和应用方面存在不足和局限,为了弥补dis的缺陷美国国防建模与仿真办公室(dmso)提出了高层体系结构(highlevelarchitecture),可是hla缺乏用以定义数据交换格式的数据交互协议标准(如dis中的协议数据单元pdu),只能进行间接的数据采集,而且hla在实时性方面也无法满足大规模分布式仿真系统的需求。



技术实现要素:

本发明的目的在于提供一种基于dds的仿真试验数据采集系统、软件,克服传统c/s(client/server)架构的不足和局限、保证数据交互的实时性、降低系统之间的耦合性、增大系统应用的规模。

本发明第一方面提供了一种基于dds的数据采集系统,包括任务获取模块、任务解析模块、配置模块和采集模块;

所述任务获取模块用于接收主节点发送过来的数据采集规划文件,并发送给任务解析模块;其中,数据采集规划文件是仿真试验人员根据需要采集的数据手动编辑、制作的;所述主节点向参试节点系统发送数据采集规划任务,所述数据采集规划任务包含数据采集任务描述;

所述任务解析模块用于从数据采集规划任务中解析得到待执行的数据采集任务,数据采集任务包含采集数据的模型定义;其中,数据模型是采用接口定义语言(interacedefinitionlanguage,idl)定义的采集数据的结构体;

所述配置模块用于设置数据采集任务的启动和结束指令;

所述采集模块用于按照数据采集任务的服务质量策略(qos,qualityofservice,服务质量)采集模型更新的数据样本,所述数据模型包括参试节点系统的类型标识,参试节点系统即子节点系统。

所述配置模块包括启动指令控制模块和结束指令控制模块;

所述启动指令控制模块用于控制参试节点系统的启动、上线,以仿真平台开始运行为起始点;

所述结束指令控制模块用于控制子节点系统的停止、下线,以仿真平台结束运行为终止点。

所述采集模块包括启动控制模块、数据采集模块、结束控制模块、控制信息采集模块和状态信息采集模块;

所述启动控制模块用于当子节点系统进入运行状态时,启动执行数据采集任务;

所述数据采集模块用于采集数据采集任务所属的数据模型更新的样本数据;

所述结束控制模块用于当子节点系统进入停机状态时,停止执行数据采集任务;

所述控制信息采集模块用于按照控制数据模型获取所述控制指令数据样本;

所述状态信息采集模块用于按照控制数据模型获取所述控制指令数据样本。

控制信息采集模块和状态信息采集模块属于数据采集模块的子模块,分别采集控制信息数据和状态信息数据,目的是便于区分两种不同类型的数据。控制信息是主节点发出的控制子节点系统的指令数据,而状态信息是子节点系统实时运行的状态的数据,控制信息和状态信息分别对应控制信息数据模型和状态信息模型

本发明还包括接收模块,接收模块用于将采集到的试验数据上传至服务器进行存储。

所述接收模块包括数据过滤模块、格式转换模块和数据入库模块;

所述数据过滤模块用于过滤掉参试节点系统产生的冗余数据;本发明采取contentfilteredtopic类,即基于内容的过滤主题,该类支持按照过滤条件有选择性的订阅相关联主题更新的数据样本;

所述格式转换模块用于将数据模型定义的数据格式转换为数据库表结构格式;

所述数据入库模块用于将数据模型更新的数据样本实时写入数据库并上传至服务器,完成采集数据。

系统执行如下步骤:

步骤1,任务获取模块接收主节点发送过来的数据采集规划文件,并发送给任务解析模块;

步骤2,任务解析模块从数据采集规划文件中解析得到待执行的完整的数据采集任务;

步骤3,参试节点系统从主节点获取各自待执行的数据采集任务,数据采集任务包含了采集数据的模型定义,模型定义包括控制信息数据模型和状态信息模型;其中,数据模型是采用接口定义语言定义的采集数据的结构体;

其中,数据采集任务是指采集数据模型更新的样本数据,包括控制信息数据对应的样本数据和状态信息模型对应的样本数据;其中,样本数据是参试节点系统产生的数据。

步骤4,根据采集数据要求设置数据采集任务的服务质量策略,服务质量策略是数据分发服务中间件提供的一组用于控制其服务行为的特征值;通常,设置服务质量策略的方法有两种,其一是采用实体提供的方法(即set_qos()),其二是采用xml配置文件的方法。

步骤5,启动运行参试节点系统,然后启动运行主节点系统并启动执行数据采集任务;

步骤6,在执行数据采集任务的过程中采集各节点系统运行的状态数据样本,状态数据样本包括系统控制信息样本数据和系统状态信息样本数据;

步骤7,当参试节点系统停止运行时,则停止执行数据采集任务;

步骤8,按照数据采集任务的服务质量策略采集数据模型更新的数据样本。

步骤6中,所述在执行所述数据采集任务的过程中采集所述采集数据模型更新的数据样本,包括:按照数据模型包含的类型标识对参试节点系统的类型进行区分,参试节点系统分为真实的live、虚拟的virtual和构造的constructive三种类型。

在执行步骤8时,即在执行数据采集任务的过程中,或者在执行步骤8之后,即停止执行数据采集任务之后,将采集到的系统控制信息样本数据和系统状态信息样本数据上传至服务器。可包括:

有益效果:本发明能够获取待执行的包含数据模型的数据采集任务,并根据数据采集控制指令,按照所述数据采集任务的数据模型采集子节点系统的控制信息和状态信息;上述方案能够对所采集的数据内容建立模型,简化数据采集操作流程,提高数据采集的实时性和准确性,保证数据完整性。

本发明基于以数据为中心的发布/订阅(data-centricpublisher/subscriber,dcps)模型,不仅提供了定义各种数据的数据模型,而且具有异步、多点通信以及实时性的特点,使得通信的参与者在空间、时间和控制流上完全解耦。此外,数据分发服务dds(datadistributionservice,dds)还提供了丰富的服务质量策略(qos)方便定制数据分发的各种服务。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。

图1是本发明提供的一种数据采集方法流程图。

图2是本发明提供的一种数据采集软件结构示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

本发明提供了一种基于dds的仿真试验数据采集系统,该系统执行如下步骤:

步骤1,接收主节点发送过来的数据采集规划文件。

步骤2,从所述的数据采集规划文件中解析得到待执行的数据采集任务。

步骤3,获取待执行的数据采集任务,所述数据采集任务包含采集数据的模型定义。

其中,数据采集任务用于指示本发明实例定义的采集数据模型的样本数据,包括控制信息数据模型对应的样本数据和状态信息模型对应的样本数据。

本发明实例中,主节点可理解为一台计算机终端,该计算机作为总控中心控制其他子节点计算机或系统。数据采集规划文件配置了被采集的各个子节点计算机或系统的描述信息,例如:对各子节点计算机或系统的控制指令、每个子节点计算机或系统需要采集哪种类型的状态数据等。子节点计算机或系统接收主节点发送过来的数据采集规划文件,从中解析得到各自待执行的数据采集任务,数据采集任务中包含了采集数据的模型定义。

步骤4,根据所述采集数据的模型的要求设置数据采集任务的服务质量策略(qospolicy)。

其中,服务质量策略(qospolicy)是数据分发服务(datadistributionservice)中间件提供的一组用于控制其服务行为的特征值。数据发布者与数据订阅者之间建立通信除了要定义并注册相同的数据模型(即topic)外,还必须设置发布者和订阅者之间的rxo特性(即分别设置二者的服务质量策略),并使二者之间的服务质量策略(qospolicy)满足兼容性。通常,设置服务质量策略的方法有两种,其一是采用实体提供的方法(即set_qos()),其二是采用xml配置文件的方法。

步骤5,首先启动运行参试节点系统,然后启动运行主节点系统并启动执行所述数据采集任务。

步骤6,在执行所述数据采集任务的过程中采集各节点系统运行的状态数据样本。

在执行数据采集任务过程中主要涉及两种数据的采集,其一为系统控制信息样本数据,其二为系统状态信息样本数据。

步骤7,当节点系统停止运行时,则停止执行数据采集任务。具体实现中,节点系统停止或掉线时,数据分发服务中间件可自动做出处理(即断开或建立通信连接)。

步骤8,按照所述数据采集任务的服务质量策略采集所述数据模型更新的数据样本,所述数据模型至少包括节点系统的类型标识。

其中,节点系统可包括真实的(live)、虚拟的(virtual)、构造的(constructive)仿真系统,其类型标识可以是ip地址,也可以是id标识,主要用于区分参试系统。

实际应用中,该方法在执行步骤8时,也即是在执行数据采集任务的过程中;或者在执行8之后,也即停止执行数据采集任务之后,将采集到的系统控制信息样本数据和系统状态信息样本数据上传至服务器。数据上传过程可发生在执行数据采集任务的过程中,具体为主节点将时间间隔内采集到的来自节点系统的数据直接上传至服务器,使得采集到的数据及时保存到数据库服务器上,减少主节点的存储负担。当然,数据上传也可发生在停止执行数据采集任务之后,具体为主节点将采集到的来自节点系统的数据存储在本地,待某一次完整试验过程结束后再将所有节点系统的序列数据全集上传至服务器,如此会增加主节点的存储负担,但可保证试验数据的完整性。采集到的试验数据既可用于事前分析,比如仿真模型的研究或预演;在线分析,比如对系统运行情况的监视或在线调试等;事后分析,比如根据采集到的完整的试验数据对整个仿真过程进行不同层次和粒度的重演展示以及细节分析,并生成相应的试验报告用于进行vv&a分析验证。

上述数据采集方法通过对所采集的数据内容建立数据模型,简化了数据采集操作的流程,提高了数据采集的实时性和准确性,保证了数据采集的完整性。

基于上述实施例所示的数据采集方法,本发明包括如下模块:

任务获取模块101,用于获取待执行的数据采集规划任务,所述数据采集规划任务包含数据采集任务描述。

任务解析模块102,用于从数据采集规划任务中解析得到待执行的数据采集任务,数据采集任务包含采集数据的模型定义。

配置模块103,用于设置数据采集任务的启动和结束指令。

采集模块104,用于按照所述数据采集任务的服务质量策略采集所述数据模型更新的数据样本,所述数据模型至少包括节点系统的类型标识。

进一步,所述数据采集任务的控制指令包括启动控制指令和结束控制指令;基于此,软件在运行配置模块103时,具体运行如下模块:

启动指令配置模块1001,用于控制子节点系统的启动、上线,以仿真平台开始运行为起始点。

结束指令配置模块1002,用于控制子节点系统的停止、下线,以仿真平台结束运行为终止点。

具体实现中,软件在运行采集模块104时,具体运行如下模块:

启动控制模块2001,用于当子节点系统进入运行状态时,启动执行所述的数据采集任务。

数据采集模块2002,用于采集所述的数据采集任务所属的数据模型更新的样本数据。

结束控制模块2003,用于当子节点系统进入停机状态时,停止执行所述的数据采集任务。

进一步,该软件还可运行数据采集模块2002包括的如下模块:

控制信息采集模块2221,用于按照控制数据模型获取所述控制指令数据样本。

状态信息采集模块2222,用于按照状态数据模型获取所述状态数据样本。

具体实现中,该软件还可运行接收模块105,用于将采集到的试验数据上传至服务器进行存储。

进一步,该软件还可运行接收模块105包括的如下模块:

数据过滤模块3001,用于按照最终所需数据构成,过滤并获取子节点系统最新的状态数据;

格式转换模块3002,用于将数据模型定义的数据格式转换为数据库表结构格式;

数据入库模块3003,用于将数据模型更新的数据样本实时写入数据库并上传至服务器,完成采集数据。

本发明实施例提供的数据采集软件,能够获取待执行的包含采集数据模型定义的数据采集任务,并根据所述采集数据的模型的要求设置数据采集任务的服务质量策略(qos),按照所述数据采集任务的服务质量策略采集所述数据模型的数据样本,所述数据模型至少包含节点系统的类型标识。上述方案能够很好的利用数据分发服务提供的数据模型定义,通过数据分发服务提供的丰富的服务质量策略,灵活的按需定制数据分发服务。

本发明提供了一种基于dds的仿真试验数据采集系统,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1