《高兼容性实时仿真数据网络.pdf》由会员分享,可在线阅读,更多相关《高兼容性实时仿真数据网络.pdf(11页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102006308A43申请公布日20110406CN102006308ACN102006308A21申请号201010591873622申请日20101216H04L29/06200601H04L29/0820060171申请人成都西麦克虚拟现实电子技术有限公司地址610041四川省成都市武侯区武青南路33号72发明人彭鼎74专利代理机构成都立信专利事务所有限公司51100代理人黄立54发明名称高兼容性实时仿真数据网络57摘要本发明的高兼容性实时仿真数据网络,涉及航空电子技术领域,旨在解决现有的虚拟仿真数据网络存在易丢包、数据可靠性和实时性不高、发送与接受节点须连接于同一物。
2、理网络、涉及多数据协议开发周期长等技术问题。本发明由网络节点、IGMP协议网络、共享内存池、可变协议模块和UDP广播模块构成。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图5页CN102006321A1/1页21高兼容性实时仿真数据网络,其特征在于由网络节点、IGMP协议网络、共享内存池、可变协议模块和UDP广播模块构成,其工作流程如下A根据用户定义,可变协议模块构建用户自定义数据协议结构体变量,并初始化加入到IGMP协议网络;B节点一(A)至节点二(B)初始化,并加入到本IGMP协议网络中;C共享内存池和UDP广播模块根据节点一(A)至节点二(B)。
3、的配置文件获得网络配置参数,并进行初始化;D如节点一(A)将数据写入本地内存池,UPD广播模块将被调用,其发送线程被唤醒,接受线程被挂起,将生成的数据包通过IGMP协议网络写入共享内存池中,共享内存池中的数据解包后,UPD广播模块再次被调用,其接受线程被唤醒,发送线程被挂起,变量通过IGMP协议网络被写入到节点二(B)的本地内存池中;E可变协议模块更新节点二(B)上本地的用户自定义数据协议结构体变量。2如权利要求1所述的高兼容性实时仿真数据网络,其特征在于所述步骤B中当节点一(A)至节点二(B)准备加入到本IGMP协议网络中时,首先初始化其本地内存池,然后判断对内存池进行读或写操作,如果是进行。
4、写操作,那么该节点的本地内存池作为共享内存池通过网络映射到其他节点的内存池上;如果是读操作,共享内存池映射到该节点的本地内存池上;如果节点退出本IGMP协议网络,则对本地内存池作清零操作。3如权利要求1所述的高兼容性实时仿真数据网络,其特征在于所述步骤D中节点一(A)将数据写入本地内存池后,其本地内存池内偏移量地址为X的内存变量被写操作更新,UPD广播模块被调用,其发送线程被唤醒,接受线程被挂起,将数据打包后通过IGMP协议网络写入共享内存池中,共享内存池中的数据解包后,UPD广播模块将被调用,其接受线程被唤醒,发送线程被挂起,节点二(B)的本地内存池内偏移量地址为X的内存变量通过IGMP协议。
5、网络被写操作更新。4如权利要求1所述的高兼容性实时仿真数据网络,其特征在于所述的UDP广播通过双线程进行广播的发送和接受,当节点UDP初始化成功以后,启动接受和发送线程,两个线程都处于挂起状态,当节点对内存池进行写操作的时候,挂起接收线程,唤起发送线程;当节点对内存池进行读操作的时候,挂起发送线程,唤起接受线程;完成操作过后判断是否退出网络,如果要退出,则直接停止两个线程,并关闭套接字,退出网络,否则继续进行数据交流。5如权利要求1所述的高兼容性实时仿真数据网络,其特征在于所述步骤D中的数据包定义为包头、内存地偏移量地址、数据长度、需要更新的的数据和检验和。6如权利要求1所述的高兼容性实时仿真。
6、数据网络,其特征在于所述节点二(B)可以为一个,也可以为两个以上相同或不同的节点。权利要求书CN102006308ACN102006321A1/4页3高兼容性实时仿真数据网络技术领域0001本发明涉及航空电子技术领域,特别是应用于分布式计算软件的实时飞行仿真的数据网络。背景技术0002在虚拟仿真当中,大多数引擎的数据交换方式是基于ICMP协议的TCP/IP传输,对于整个仿真系统,视景画面更新每一帧画面的时候都需要做多任务的分布式计算,例如飞行数据记录,飞行轨迹,以及各个虚拟飞行仪表的数据更新等等,这些数据更新需求实时性很高,而且针对每个节点(每一台连上某网络的计算机都是这个网络上节点)上的数据。
7、更新要同步可靠。这个时候基于ICMP协议TCP/IP传输就有几点不足1首先,ICMP协议是TCP/IP协议的子协议用于提供控制服务,允许路由器或目标主机给数据的发送方提供反馈信息。需要发送反馈信息的情况包括数据包不能被发送到目标主机,路由器缓冲区溢出导致数据包被删除,路由器想要把流量重定向到另外一个更短的路由上,这容易造成丢包,降低数据可靠性与实时性;2其次,当某个节点为数据发送源,它必须连接到同一物理网络下,才能对网络内每个节点进行数据交换。00033网络内每个节点除了跟视景节点通讯外,而且每个点节上分布式软件之间也需要数据通讯,这也涉及到不同的数据协议。要为它们单独开发通讯协议,这样加大开。
8、发周期。发明内容0004本发明旨在解决现有的虚拟仿真数据网络存在易丢包、数据可靠性和实时性不高、发送与接受节点须连接于同一物理网络、涉及多数据协议开发周期长等技术问题,以提供一种数据传输效率高、数据可靠性和实时性高、发送与接受节点可连接于不同物理网络、可兼容各节点不同数据协议的高兼容性实时仿真数据网络。0005本发明的目的是通过以下技术方案实现的。0006本发明的高兼容性实时仿真数据网络,由网络节点、IGMP协议网络、共享内存池、可变协议模块和UDP广播模块构成,其工作流程如下A根据用户定义,可变协议模块构建用户自定义数据协议结构体变量,并初始化加入到IGMP协议网络;B节点一(A)至节点二(。
9、B)初始化,并加入到本IGMP协议网络中;C共享内存池和UDP广播模块根据节点一(A)至节点二(B)的配置文件获得网络配置参数,并进行初始化;D如节点一(A)将数据写入本地内存池,UPD广播模块将被调用,其发送线程被唤醒,接受线程被挂起,将生成的数据包通过IGMP协议网络写入共享内存池中,共享内存池中的数据解包后,UPD广播模块再次被调用,其接受线程被唤醒,发送线程被挂起,变量说明书CN102006308ACN102006321A2/4页4通过IGMP协议网络被写入到节点二(B)的本地内存池中;E可变协议模块更新节点二(B)上本地的用户自定义数据协议结构体变量。0007本发明的高兼容性实时仿真。
10、数据网络,其中所述步骤B中当节点一(A)至节点二(B)准备加入到本IGMP协议网络中时,首先初始化其本地内存池,然后判断对内存池进行读或写操作,如果是进行写操作,那么该节点的本地内存池作为共享内存池通过网络映射到其他节点的内存池上;如果是读操作,共享内存池映射到该节点的本地内存池上;如果节点退出本IGMP协议网络,则对本地内存池作清零操作。0008本发明的高兼容性实时仿真数据网络,其中所述步骤D中节点一(A)将数据写入本地内存池后,其本地内存池内偏移量地址为X的内存变量被写操作更新,UPD广播模块被调用,其发送线程被唤醒,接受线程被挂起,将数据打包后通过IGMP协议网络写入共享内存池中,共享内。
11、存池中的数据解包后,UPD广播模块将被调用,其接受线程被唤醒,发送线程被挂起,节点二(B)的本地内存池内偏移量地址为X的内存变量通过IGMP协议网络被写操作更新。0009本发明的高兼容性实时仿真数据网络,其中所述的UDP广播通过双线程进行广播的发送和接受,当节点UDP初始化成功以后,启动接受和发送线程,两个线程都处于挂起状态,当节点对内存池进行写操作的时候,挂起接收线程,唤起发送线程;当节点对内存池进行读操作的时候,挂起发送线程,唤起接受线程;完成操作过后判断是否退出网络,如果要退出,则直接停止两个线程,并关闭套接字,退出网络,否则继续进行数据交流。0010本发明的高兼容性实时仿真数据网络,其。
12、中所述步骤D中的数据包定义为包头、内存地偏移量地址、数据长度、需要更新的的数据和检验和。0011本发明的高兼容性实时仿真数据网络,其中所述节点二B可以为一个,也可以为两个以上相同或不同的节点。0012本发明高兼容性实时仿真数据网络的有益效果1通过IGMP协议交换组员信息,组播可以大大地节省网络带宽,因为无论有多个目标地址在整个网络的任何一个链路上只传送单一的数据包,它提高了数据传送效率,减少了主干网络出现的拥塞的可能性;2共享内存网络中的主机可以是在同一物理网络,也可以是不同的物理网络,间接节约了分布式软件开发周期,同时提高了整个系统的实时性;3用户可以完全根据实际的整体数据协议需求,自定义的。
13、结构体数据写入共享的内存池中,这样可以兼容到每个节点上不同的数据协议,例如CAN总线协议,USB总线协议,以及航电ARNC429协议等等,从工程项目上,可以减小数据通讯上的开发周期,并且能灵活更改用户的数据协议,体现出其具有很高的数据协议兼容性。0013附图说明0014图1本发明的系统架构原理图图2本发明的共享内存池工作原理图图3本发明的共享内存池工作流程图说明书CN102006308ACN102006321A3/4页5图4本发明的UPD广播模块工作流程图图5本发明的数据包定义示意图具体实施方式0015本发明详细结构、应用原理、作用与功效,参照附图15,通过如下实施方式予以说明。0016为解决。
14、提高数据传输实时性,而且兼容不同软件之间的数据协议,本发明以软件模块形式开发了高兼容性的实时数据协议网络,除网络节点、IGMP协议网络外,本发明主要分为三大模块共享内存池模块,UDP广播模块,可变协议模块。0017共享内存池模块为了让高兼容性实时仿真数据网络每个节点都能实时统一更新数据,每个加入到高兼容性实时仿真数据网络的节点,须先通过共享内存模块,建立起一个属于当前高兼容性实时仿真数据网络的共享内存池。每个节点须先创建起本地的内存池,且每个节点都须具有与其他节点完全相同的独立偏移地址,即网络中任意节点的内存池上地址偏移量一一对应。当某个节点加入高兼容的实时数据协议网络作为数据源,并要对本地内。
15、存池进行写入操作时,它创建的本地内存池就会抽象作为高兼容性实时仿真数据网络的全局内存池,只要这个节点修改本地内存池上某一段偏移量地址上的数据,就会立刻通过网络传输将本地内存池映射到其他节点的内存池上,也就是其他的节点将更新的数据写入本地内存池相同的某一段偏移量地址上。0018参见附图2所示,A、B、C、D节点四个加入高兼容的实时数据协议网络的节点,当节点A对内存池1内偏移量地址为0X018D的内存变量进行写操作被更新,之后通过网络映射到其他B、C、D节点的内存池1上的相同地址0X018D上,此时节点B、C、D在内存池1的偏移量地址为0X018D的内存上读取的数据也是节点A上更新的数据。由此可见。
16、用户对本地节点内存池上的内存的读写相当于全局共享的内存地址,而这个全局内存池是所有节点都可以共享的,从而实现分布节点的可见共享和数据通信。共享内存池工作流程如附图3所示,当节点正准备加入到高兼容性实时仿真数据网络,首先初始化本地内存池,然后在判断对内存池进行对读或写操作,如果是进行写操作,那么该节点的本地内存池作为共享内存池通过网络映射到其他节点的内存池上,否则即该节点对本地内存池进行读操作,共享内存池映射到该节点的本地内存池上,最后如果节点要退出高兼容的实时数据协议网络之前必需要对本地内存池清零。0019UDP广播模块本发明是以IGMP协议为基础采用星形拓扑结构的物理链接,为了让每个加入高兼。
17、容性实时仿真数据网络节点上的数据能在共享内存池上进行数据更新,就需要通过UDP广播模块来实现传输功能。如附图4所示UDP广播是通过双线程进行广播的发送和接受,当节点UDP初始化成功以后,启动接受和发送线程,两个线程都处于挂起状态,当节点进行对内存池进行写操作的时候,挂起接收线程,唤起发送线程;当节点进行对内存池进行读操作的时候,挂起发送线程,唤起接受线程;完成操作过后判断是否退出网络,如果要退出直接停止两个线程,并关闭套接字,退出网络,否则继续进行数据交流。0020可变协议模块为使UDP广播提高网络数据协议的准确性和兼容性,这就是可变协议模块的作用,它可以加入一个可定义协议设计在,如附图5中所。
18、示,对在网络内发送接收的数据包进行特定定义,包头是为了辨认是否是我们需要的数据,并判断是否错包,如果说明书CN102006308ACN102006321A4/4页6是可以直接丢弃;偏移量地址就是内存池内的偏移量地址,用户可以直接在内存池偏移量地址范围内自定义结构体数据,每个特定偏移量地址具有特殊变量意义,这样用户就可以自定义相关变量达到兼容不同数据协议的目的,从而实现它高兼容性的意义之所在;数据包长度是指本数据含有的字节长度;需要更新数据就是偏移量地址上的特定变量;检验和用于判断是否丢包了。0021通过IGMP协议交换组员信息,组播可以大大地节省网络带宽,因为无论有多个目标地址在整个网络的任何。
19、一个链路上只传送单一的数据包,它提高了数据传送效率,减少了主干网络出现的拥塞的可能性。共享内存网络中的主机可以是在同一物理网络,也可以是不同的物理网络,间接的也节约了分布式软件开发周期,也提高整个系统实时性。0022用户可以完全根据实际的整体数据协议需求,自定义的结构体数据写入共享的内存池中,这样就可以兼容到每个节点上不同的数据协议,例如CAN总线协议,USB总线协议,以及航电ARNC429协议等等。这样从工程项目上,可以减小数据通讯上的开发周期,并且能灵活更改用户的数据协议,体现出它具有很具有很高的数据协议兼容性。0023如上所述,本发明的高兼容性实时仿真数据网络具有数据传输效率高、数据可靠性和实时性高、发送与接受节点可连接于不同物理网络、可兼容各节点不同数据协议等优点,可广泛应用于虚拟仿真的数据交换网络中。说明书CN102006308ACN102006321A1/5页7图1说明书附图CN102006308ACN102006321A2/5页8图2说明书附图CN102006308ACN102006321A3/5页9图3说明书附图CN102006308ACN102006321A4/5页10图4说明书附图CN102006308ACN102006321A5/5页11图5说明书附图CN102006308A。