一种面向飞行模拟器联网的异构数据集成方法

文档序号:25992129发布日期:2021-07-23 21:04阅读:170来源:国知局
一种面向飞行模拟器联网的异构数据集成方法

本发明涉及系统集成领域,尤其涉及一种面向飞行模拟器联网的异构系统集成方法。



背景技术:

分布式系统是由多个异构的子系统组成的一个体系,这些子系统一般是独立研制的,系统之间的关系比较复杂,集成时往往呈现紧耦合的关系。这种紧耦合特点对系统的开发、升级和扩展都不利,尤其在增加新的系统或数据时非常困难,随着系统复杂度的增加甚至会造成整个分布式系统的崩溃。

针对分布式系统集成或扩展困难的问题,当前主流的研究方向有:一是采用分布式仿真的标准体系架构,如dis或hla协议;二是面向分布式应用的网络中间件技术,如omg的corba技术、java的jms技术、微软的com+技术等;三是以数据为中心,采用虚拟总线的“发布-订阅”通信模式,如omg的dds技术。以上技术解决了分布式系统之间紧耦合问题,使异构系统之间形成松散耦合关系,从而达到可扩展、易集成的目的。然而,以上技术对异构系统之间的通信实时性带来了不同程度的影响,不适用于通信实时性要求高的异构系统集成。



技术实现要素:

本发明为解决飞行模拟器联网中多型模拟器、计算机生成兵力、态势系统、记录系统等各子系统互联通信的可扩展问题,提出一种面向飞行模拟器联网的异构数据集成方法。

首先阐述该方法依据的基本原理。为破除系统之间的紧耦合关系,在各分系统之间添加一个数据分发的中心节点,各分系统之间通过中心节点进行数据交互。该模式的基本思想就是将各系统的数据集中到中心节点上,同时中心节点又将集中后的数据实时地分发给各子系统,从而达到了分布式系统数据在各子系统间的共享。为实现一个中心节点可扩展多个异构的子系统,要求中心节点与各子系统之间不存在具体的数据类型协议。中心节点相当于一个快递公司,只负责邮件的托运而没有权限查看或处理邮件的内容,可以达到屏蔽不同子系统之间数据内容的差异性。但由于数据类型不同导致单次传输的数据包的大小不同,为达到可扩展的要求必须要屏蔽各子系统传输的数据类型所带来的单次传输数据大小的差异。以往一般都是采取各种方法使中心节点适应不同大小的传输数据,但这会使中心节点的io性能带来很大影响,原因就在于带来了额外的内存操作。反过来统一规定单次传输数据大小,各子系统根据将自身的单次传输数据进行打包以符合规定。在子系统数目固定的集成场景下,中心节点接收和发送的数据大小随之固定,中心节点即可完成正常的数据分发服务。单次传输数据大小和子系统数目都是可配置的,消除了各子系统交互数据类型的差异性,基于该中心节点可集成具有各种传输数据类型的子系统,因而具有很好的可扩展性。在开始数据交互之前,本中心节点将所用到的内存提前申请,交互过程中就不用动态申请释放内存,且所有io操作都是并行进行的,最大化保证了数据交互的实时性。

具体来说,该方法包括以下步骤:

s1:统一规定交互数据包大小和联网节点编号;

s2:每一联网节点实时生成状态数据,将状态数据大小装成步骤s1所述的交互数据包大小,并发送到中心节点;

s3:中心节点接收联网节点发送过来的数据包,按照联网节点编号顺序将所有数据包封装到大数据块中,并将大数据块分发到各联网节点;

s4:联网节点接收中心节点发送过来的大数据块,并进行解析使用。

优化的,为减小网络负载,所述步骤s1中的交互数据包大小定义为各联网节点状态数据的最大值。

进一步优化的,所述步骤s2、s3中发送数据前进行压缩,所述步骤s3、s4中的接收数据后进行解压缩。

再优化的,所述步骤s2、s3中发送数据前进行数据切割,所述步骤s3、s4中的接收数据后进行拼接。

本发明的优点是:在子系统数目固定的集成场景下,中心节点接收和发送的数据大小随之固定,中心节点即可完成正常的数据分发服务。单次传输数据大小和子系统数目都是可配置的,消除了各子系统交互数据类型的差异性,基于该中心节点可集成具有各种传输数据类型的子系统,因而具有很好的可扩展性。在开始数据交互之前,本中心节点将所用到的内存提前申请,交互过程中就不用动态申请释放内存,且所有io操作都是并行进行的,最大化保证了数据交互的实时性。

附图说明

图1是方法实施流程图。

具体实施方式

为清楚完整说明,下面结合附图给出本发明的实施例,各实施例起到说明,不起到任何限制作用。

某型飞机分队战术模拟训练系统是面向单机、双机、四机及以上相同或不同机型开展战术协同训练科目而开发的。该系统由多个模拟器、教员台、引导台、虚拟兵力、态势监控等多个异构子系统组成,如何将这些异构的子系统进行有效的数据集成并满足系统间数据交互的实时性和可靠性是开发分队战术模拟训练系统的一个重点和难点。

该系统中有6个飞行模拟器、1个教控台、2个计算生成兵力平台、2个态势监控平台和1个引导台共12个联网节点,设置1个联网服务器作为中心节点,如附图所示其联网过程如下:

s1:定义交互数据为1400字节,将飞行模拟器分别编号为1~6,教控台编号为7,计算机生成兵力平台编号为8、9,态势监控平台编号为10、11,引导台编号为12;

s2:各联网节点生成状态数据,并将状态数据打包为1400字节的数据包,将数据包发送到联网服务器;

s3:联网服务器实时接收各联网节点发送过来的数据包,并将接收到的最新的12个数据包按编号顺序封装成一个的大数据块,将大数据块发送到各联网节点;

s4:联网节点接收联网服务器发送过来的大数据块,根据需要对数据块中其他联网节点的数据包解析成状态数据。

按照上述步骤可将12个联网节点进行数据集成,通过配置可实现系统灵活扩展。

当联网节点增加时,网络负载随之增加,会影响数据传输可靠性,因此可对数据进行压缩和解压缩,具体方法是在步骤s2中数据包发送之前将数据包进行压缩,压缩后数据大小也要保持固定,同时在步骤s4中解析状态数据前进行解压缩。

当单个数据包太大时会数据传输丢包率增加,因此采用分割拼接的方式减小传输数据包大小,具体方法是在步骤s2中数据包发送之前将数据包分割成固定大小的小数据包,在步骤s3中封装前将接收到小数据包拼接恢复成原数据包,同样在步骤s3中发送大数据块前将大数据块也分割成固定大小的小数据包,在步骤s4中将接收后的小数据包拼接恢复成大数据块。

按照本文给出的方法集成的某型飞机分队战术模拟训练系统已经在部队得到了初步的应用,实际应用表明,该方法能够将异构的子系统快速进行集成并满足通信的实时性和可靠性要求。



技术特征:

1.一种面向飞行模拟器联网的异构数据集成方法,主要包括以下步骤:

s1:统一规定交互数据包大小和联网节点编号;

s2:每一联网节点实时生成状态数据,将状态数据大小装成步骤s1所述的交互数据包大小,并发送到中心节点;

s3:中心节点接收联网节点发送过来的数据包,按照联网节点编号顺序将所有数据包封装到大数据块中,并将大数据块分发到各联网节点;

s4:联网节点接收中心节点发送过来的大数据块,并进行解析使用。

2.根据权利要求1所述的面向飞行模拟器联网的异构数据集成方法,所述步骤s1中的交互数据包大小定义为各联网节点状态数据的最大值。

3.根据权利要求1或2所述的面向飞行模拟器联网的异构数据集成方法,所述步骤s2中发送数据前进行压缩,所述步骤s4中的接收数据后进行解压缩。

4.根据权利要求1、2或3所述的面向飞行模拟器联网的异构数据集成方法,所述步骤s2、s3中发送数据前进行数据切割,所述步骤s3、s4中的接收数据后进行拼接。


技术总结
发明涉及一种面向飞行模拟器联网的异构数据集成方法,主要解决多型模拟器互联的可扩展问题,通过设置中心节点并统一规定交互数据块大小将业务数据抽象为传输数据,传输数据特征退化为数据大小和位置,因此各联网节点对中心节点都是透明的从而实现联网节点可扩展的问题,并在联网过程中精细计算联网需求和硬件之间的关系,保证联网的实时性。该发明在分队战术模拟训练系统中得到了应用。

技术研发人员:曹建平;孙文柱;高富东;孙忠云
受保护的技术使用者:中国人民解放军海军航空大学青岛校区
技术研发日:2021.03.25
技术公布日:2021.07.23
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1