CN102006308A - 高兼容性实时仿真数据网络 - Google Patents
高兼容性实时仿真数据网络 Download PDFInfo
- Publication number
- CN102006308A CN102006308A CN2010105918736A CN201010591873A CN102006308A CN 102006308 A CN102006308 A CN 102006308A CN 2010105918736 A CN2010105918736 A CN 2010105918736A CN 201010591873 A CN201010591873 A CN 201010591873A CN 102006308 A CN102006308 A CN 102006308A
- Authority
- CN
- China
- Prior art keywords
- node
- network
- data
- memory pool
- thread
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的高兼容性实时仿真数据网络,涉及航空电子技术领域,旨在解决现有的虚拟仿真数据网络存在易丢包、数据可靠性和实时性不高、发送与接受节点须连接于同一物理网络、涉及多数据协议开发周期长等技术问题。本发明由网络节点、IGMP协议网络、共享内存池、可变协议模块和UDP广播模块构成。
Description
技术领域
本发明涉及航空电子技术领域,特别是应用于分布式计算软件的实时飞行仿真的数据网络。
背景技术
在虚拟仿真当中,大多数引擎的数据交换方式是基于ICMP协议的TCP/IP传输,对于整个仿真系统,视景画面更新每一帧画面的时候都需要做多任务的分布式计算,例如:飞行数据记录,飞行轨迹,以及各个虚拟飞行仪表的数据更新等等,这些数据更新需求实时性很高,而且针对每个节点(每一台连上某网络的计算机都是这个网络上节点)上的数据更新要同步可靠。这个时候基于ICMP协议TCP/IP传输就有几点不足:
1.首先,ICMP协议是TCP/IP协议的子协议用于提供控制服务,允许路由器或目标主机给数据的发送方提供反馈信息。需要发送反馈信息的情况包括:数据包不能被发送到目标主机,路由器缓冲区溢出导致数据包被删除,路由器想要把流量重定向到另外一个更短的路由上,这容易造成丢包,降低数据可靠性与实时性;
2.其次,当某个节点为数据发送源,它必须连接到同一物理网络下,才能对网络内每个节点进行数据交换。
3.网络内每个节点除了跟视景节点通讯外,而且每个点节上分布式软件之间也需要数据通讯,这也涉及到不同的数据协议。要为它们单独开发通讯协议,这样加大开发周期。
发明内容
本发明旨在解决现有的虚拟仿真数据网络存在易丢包、数据可靠性和实时性不高、发送与接受节点须连接于同一物理网络、涉及多数据协议开发周期长等技术问题,以提供一种数据传输效率高、数据可靠性和实时性高、发送与接受节点可连接于不同物理网络、可兼容各节点不同数据协议的高兼容性实时仿真数据网络。
本发明的目的是通过以下技术方案实现的。
本发明的高兼容性实时仿真数据网络,由网络节点、IGMP协议网络、共享内存池、可变协议模块和UDP广播模块构成,其工作流程如下:
a)根据用户定义,可变协议模块构建用户自定义数据协议结构体变量,并初始化加入到IGMP协议网络;
b)节点一(A)至节点二(B)初始化,并加入到本IGMP协议网络中;
c)共享内存池和UDP广播模块根据节点一(A)至节点二(B)的配置文件获得网络配置参数,并进行初始化;
d)如节点一(A)将数据写入本地内存池,UPD广播模块将被调用,其发送线程被唤醒,接受线程被挂起,将生成的数据包通过IGMP协议网络写入共享内存池中,共享内存池中的数据解包后,UPD广播模块再次被调用,其接受线程被唤醒,发送线程被挂起,变量通过IGMP协议网络被写入到节点二(B)的本地内存池中;
e)可变协议模块更新节点二(B)上本地的用户自定义数据协议结构体变量。
本发明的高兼容性实时仿真数据网络,其中所述步骤b)中当节点一(A)至节点二(B)准备加入到本IGMP协议网络中时,首先初始化其本地内存池,然后判断对内存池进行读或写操作,如果是进行写操作,那么该节点的本地内存池作为共享内存池通过网络映射到其他节点的内存池上;如果是读操作,共享内存池映射到该节点的本地内存池上;如果节点退出本IGMP协议网络,则对本地内存池作清零操作。
本发明的高兼容性实时仿真数据网络,其中所述步骤d)中节点一(A)将数据写入本地内存池后,其本地内存池内偏移量地址为X的内存变量被写操作更新,UPD广播模块被调用,其发送线程被唤醒,接受线程被挂起,将数据打包后通过IGMP协议网络写入共享内存池中,共享内存池中的数据解包后,UPD广播模块将被调用,其接受线程被唤醒,发送线程被挂起,节点二(B)的本地内存池内偏移量地址为X的内存变量通过IGMP协议网络被写操作更新。
本发明的高兼容性实时仿真数据网络,其中所述的UDP广播通过双线程进行广播的发送和接受,当节点UDP初始化成功以后,启动接受和发送线程,两个线程都处于挂起状态,当节点对内存池进行写操作的时候,挂起接收线程,唤起发送线程;当节点对内存池进行读操作的时候,挂起发送线程,唤起接受线程;完成操作过后判断是否退出网络,如果要退出,则直接停止两个线程,并关闭套接字,退出网络,否则继续进行数据交流。
本发明的高兼容性实时仿真数据网络,其中所述步骤d中的数据包定义为包头、内存地偏移量地址、数据长度、需要更新的的数据和检验和。
本发明的高兼容性实时仿真数据网络,其中所述节点二B可以为一个,也可以为两个以上相同或不同的节点。
本发明高兼容性实时仿真数据网络的有益效果:
1.通过IGMP协议交换组员信息,组播可以大大地节省网络带宽,因为无论有多个目标地址在整个网络的任何一个链路上只传送单一的数据包,它提高了数据传送效率,减少了主干网络出现的拥塞的可能性;
2.共享内存网络中的主机可以是在同一物理网络,也可以是不同的物理网络,间接节约了分布式软件开发周期,同时提高了整个系统的实时性;
3.用户可以完全根据实际的整体数据协议需求,自定义的结构体数据写入共享的内存池中,这样可以兼容到每个节点上不同的数据协议,例如CAN总线协议,USB总线协议,以及航电ARNC429协议等等,从工程项目上,可以减小数据通讯上的开发周期,并且能灵活更改用户的数据协议,体现出其具有很高的数据协议兼容性。
附图说明
图1 本发明的系统架构原理图
图2 本发明的共享内存池工作原理图
图3 本发明的共享内存池工作流程图
图4 本发明的UPD广播模块工作流程图
图5 本发明的数据包定义示意图
具体实施方式
本发明详细结构、应用原理、作用与功效,参照附图1-5,通过如下实施方式予以说明。
为解决提高数据传输实时性,而且兼容不同软件之间的数据协议,本发明以软件模块形式开发了高兼容性的实时数据协议网络,除网络节点、IGMP协议网络外,本发明主要分为三大模块:共享内存池模块,UDP广播模块,可变协议模块。
共享内存池模块:为了让高兼容性实时仿真数据网络每个节点都能实时统一更新数据,每个加入到高兼容性实时仿真数据网络的节点,须先通过共享内存模块,建立起一个属于当前高兼容性实时仿真数据网络的共享内存池。每个节点须先创建起本地的内存池,且每个节点都须具有与其他节点完全相同的独立偏移地址,即网络中任意节点的内存池上地址偏移量一一对应。当某个节点加入高兼容的实时数据协议网络作为数据源,并要对本地内存池进行写入操作时,它创建的本地内存池就会抽象作为高兼容性实时仿真数据网络的全局内存池,只要这个节点修改本地内存池上某一段偏移量地址上的数据,就会立刻通过网络传输将本地内存池映射到其他节点的内存池上,也就是其他的节点将更新的数据写入本地内存池相同的某一段偏移量地址上。
参见附图2所示,A、B、C、D节点四个加入高兼容的实时数据协议网络的节点,当节点A对内存池1内偏移量地址为0x018D的内存变量进行写操作被更新,之后通过网络映射到其他B、C、D节点的内存池1上的相同地址0x018D上,此时节点B、C、D在内存池1的偏移量地址为0x018D的内存上读取的数据也是节点A上更新的数据。由此可见用户对本地节点内存池上的内存的读写相当于全局共享的内存地址,而这个全局内存池是所有节点都可以共享的,从而实现分布节点的可见共享和数据通信。共享内存池工作流程如附图3所示,当节点正准备加入到高兼容性实时仿真数据网络,首先初始化本地内存池,然后在判断对内存池进行对读或写操作,如果是进行写操作,那么该节点的本地内存池作为共享内存池通过网络映射到其他节点的内存池上,否则即该节点对本地内存池进行读操作,共享内存池映射到该节点的本地内存池上,最后如果节点要退出高兼容的实时数据协议网络之前必需要对本地内存池清零。
UDP广播模块:本发明是以IGMP协议为基础采用星形拓扑结构的物理链接,为了让每个加入高兼容性实时仿真数据网络节点上的数据能在共享内存池上进行数据更新,就需要通过UDP广播模块来实现传输功能。如附图4所示UDP广播是通过双线程进行广播的发送和接受,当节点UDP初始化成功以后,启动接受和发送线程,两个线程都处于挂起状态,当节点进行对内存池进行写操作的时候,挂起接收线程,唤起发送线程;当节点进行对内存池进行读操作的时候,挂起发送线程,唤起接受线程;完成操作过后判断是否退出网络,如果要退出直接停止两个线程,并关闭套接字,退出网络,否则继续进行数据交流。
可变协议模块:为使UDP广播提高网络数据协议的准确性和兼容性,这就是可变协议模块的作用,它可以加入一个可定义协议设计在,如附图5中所示,对在网络内发送接收的数据包进行特定定义,包头是为了辨认是否是我们需要的数据,并判断是否错包,如果是可以直接丢弃;偏移量地址就是内存池内的偏移量地址,用户可以直接在内存池偏移量地址范围内自定义结构体数据,每个特定偏移量地址具有特殊变量意义,这样用户就可以自定义相关变量达到兼容不同数据协议的目的,从而实现它高兼容性的意义之所在;数据包长度是指本数据含有的字节长度;需要更新数据就是偏移量地址上的特定变量;检验和用于判断是否丢包了。
通过IGMP协议交换组员信息,组播可以大大地节省网络带宽,因为无论有多个目标地址在整个网络的任何一个链路上只传送单一的数据包,它提高了数据传送效率,减少了主干网络出现的拥塞的可能性。共享内存网络中的主机可以是在同一物理网络,也可以是不同的物理网络,间接的也节约了分布式软件开发周期,也提高整个系统实时性。
用户可以完全根据实际的整体数据协议需求,自定义的结构体数据写入共享的内存池中,这样就可以兼容到每个节点上不同的数据协议,例如CAN总线协议,USB总线协议,以及航电ARNC429协议等等。这样从工程项目上,可以减小数据通讯上的开发周期,并且能灵活更改用户的数据协议,体现出它具有很具有很高的数据协议兼容性。
如上所述,本发明的高兼容性实时仿真数据网络具有数据传输效率高、数据可靠性和实时性高、发送与接受节点可连接于不同物理网络、可兼容各节点不同数据协议等优点,可广泛应用于虚拟仿真的数据交换网络中。
Claims (6)
1.高兼容性实时仿真数据网络,其特征在于:由网络节点、IGMP协议网络、共享内存池、可变协议模块和UDP广播模块构成,其工作流程如下:
a)根据用户定义,可变协议模块构建用户自定义数据协议结构体变量,并初始化加入到IGMP协议网络;
b)节点一(A)至节点二(B)初始化,并加入到本IGMP协议网络中;
c)共享内存池和UDP广播模块根据节点一(A)至节点二(B)的配置文件获得网络配置参数,并进行初始化;
d)如节点一(A)将数据写入本地内存池,UPD广播模块将被调用,其发送线程被唤醒,接受线程被挂起,将生成的数据包通过IGMP协议网络写入共享内存池中,共享内存池中的数据解包后,UPD广播模块再次被调用,其接受线程被唤醒,发送线程被挂起,变量通过IGMP协议网络被写入到节点二(B)的本地内存池中;
e)可变协议模块更新节点二(B)上本地的用户自定义数据协议结构体变量。
2.如权利要求1所述的高兼容性实时仿真数据网络,其特征在于:所述步骤b)中当节点一(A)至节点二(B)准备加入到本IGMP协议网络中时,首先初始化其本地内存池,然后判断对内存池进行读或写操作,如果是进行写操作,那么该节点的本地内存池作为共享内存池通过网络映射到其他节点的内存池上;如果是读操作,共享内存池映射到该节点的本地内存池上;如果节点退出本IGMP协议网络,则对本地内存池作清零操作。
3.如权利要求1所述的高兼容性实时仿真数据网络,其特征在于:所述步骤d)中节点一(A)将数据写入本地内存池后,其本地内存池内偏移量地址为X的内存变量被写操作更新,UPD广播模块被调用,其发送线程被唤醒,接受线程被挂起,将数据打包后通过IGMP协议网络写入共享内存池中,共享内存池中的数据解包后,UPD广播模块将被调用,其接受线程被唤醒,发送线程被挂起,节点二(B)的本地内存池内偏移量地址为X的内存变量通过IGMP协议网络被写操作更新。
4.如权利要求1所述的高兼容性实时仿真数据网络,其特征在于:所述的UDP广播通过双线程进行广播的发送和接受,当节点UDP初始化成功以后,启动接受和发送线程,两个线程都处于挂起状态,当节点对内存池进行写操作的时候,挂起接收线程,唤起发送线程;当节点对内存池进行读操作的时候,挂起发送线程,唤起接受线程;完成操作过后判断是否退出网络,如果要退出,则直接停止两个线程,并关闭套接字,退出网络,否则继续进行数据交流。
5.如权利要求1所述的高兼容性实时仿真数据网络,其特征在于:所述步骤d)中的数据包定义为包头、内存地偏移量地址、数据长度、需要更新的的数据和检验和。
6.如权利要求1所述的高兼容性实时仿真数据网络,其特征在于:所述节点二(B)可以为一个,也可以为两个以上相同或不同的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105918736A CN102006308A (zh) | 2010-12-16 | 2010-12-16 | 高兼容性实时仿真数据网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105918736A CN102006308A (zh) | 2010-12-16 | 2010-12-16 | 高兼容性实时仿真数据网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102006308A true CN102006308A (zh) | 2011-04-06 |
Family
ID=43813380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105918736A Pending CN102006308A (zh) | 2010-12-16 | 2010-12-16 | 高兼容性实时仿真数据网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102006308A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541863A (en) * | 1994-09-30 | 1996-07-30 | Rockwell International | Virtual integrated software testbed for avionics |
CN1750485A (zh) * | 2005-07-14 | 2006-03-22 | 牛伟 | 网络仿真测试系统及方法 |
CN1777142A (zh) * | 2005-11-21 | 2006-05-24 | 西安电子科技大学 | 在网络环境仿真中采用虚拟网卡实现数据通信的方法 |
CN101158936A (zh) * | 2007-11-21 | 2008-04-09 | 中国科学院计算技术研究所 | 一种节点之间的数据传输系统和装置及方法 |
US20090010174A1 (en) * | 2007-06-28 | 2009-01-08 | Airbus France | Method and device for exchanging diagnostic data for the simulation of aircraft computer networks |
-
2010
- 2010-12-16 CN CN2010105918736A patent/CN102006308A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541863A (en) * | 1994-09-30 | 1996-07-30 | Rockwell International | Virtual integrated software testbed for avionics |
CN1750485A (zh) * | 2005-07-14 | 2006-03-22 | 牛伟 | 网络仿真测试系统及方法 |
CN1777142A (zh) * | 2005-11-21 | 2006-05-24 | 西安电子科技大学 | 在网络环境仿真中采用虚拟网卡实现数据通信的方法 |
US20090010174A1 (en) * | 2007-06-28 | 2009-01-08 | Airbus France | Method and device for exchanging diagnostic data for the simulation of aircraft computer networks |
CN101158936A (zh) * | 2007-11-21 | 2008-04-09 | 中国科学院计算技术研究所 | 一种节点之间的数据传输系统和装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104010039B (zh) | 一种基于WebSocket的多雷达远程监控系统及方法 | |
KR102233645B1 (ko) | 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법 | |
US6799220B1 (en) | Tunneling management messages over a channel architecture network | |
CN103051737B (zh) | 提供融合互联架构上的网络能力的方法和系统 | |
CN100471162C (zh) | 一种发布及处理虚线路信息的方法和供应商边缘设备 | |
EP2843906B1 (en) | Method, apparatus, and system for data transmission | |
CN106953853B (zh) | 一种片上网络千兆以太网资源节点及其工作方法 | |
WO2020093887A1 (zh) | 用于片上网络noc的数据传输方法、装置及电子设备 | |
CN105407140A (zh) | 一种网络化测试系统的计算资源虚拟化系统及方法 | |
CA2657827A1 (en) | Method and apparatus for distributing usb hub functions across a network | |
CN109474627A (zh) | 一种基于sdn的虚拟租户网络隔离方法及系统 | |
CN105830405A (zh) | 用于可扩展的域间覆盖联网的系统和方法 | |
CN103856483A (zh) | 一种飞行模拟器通讯方法 | |
CN104243536A (zh) | 一种高速列车控制网络半实物仿真系统 | |
CN104202398A (zh) | 远程控制的方法、装置及系统 | |
CN101110780A (zh) | 一种传输控制数据流的方法和装置以及系统 | |
CN107483284A (zh) | 网络设备的测试方法及装置 | |
Galal et al. | SDN-based gateway architecture for electromagnetic nano-networks | |
CN103051530B (zh) | 一种用于智能变电站报文的多网口发送优化方法 | |
CN106100960A (zh) | 跨存储区域网络Fabric互通的方法、装置及系统 | |
CN103051744A (zh) | 组播地址的转换方法及装置 | |
CN108512737B (zh) | 一种数据中心ip层互联的方法和sdn控制器 | |
CN106657377A (zh) | 一种wia‑pa/全互联制造网络信息服务适配器及实现方法 | |
CN102006308A (zh) | 高兼容性实时仿真数据网络 | |
CN102510383A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110406 |