一种飞行模拟器通讯方法

文档序号:7783115阅读:277来源:国知局
一种飞行模拟器通讯方法
【专利摘要】本发明的一种飞行模拟器通讯方法,包括多台计算机通过网卡采用以太网线与网络交换机相连,还有一个配置多块网卡的中心计算机。中心计算机中执行的中心程序包括外部配置解析模块、数据接收模块、数据发送模块、数据整合模块、数据监控模块。外部配置文件包括数据包配置文件、通信路由配置文件。各通信计算机只向中心计算机发送数据,只接收中心计算机的数据,数据的通信路由中心计算机根据外部配置文件确定,实现了计算机各仿真程序间的通信解耦,有利于仿真程序重用;中心计算机通过数据包整合减少通信数据冗余,消除数据拥塞,提高通信效率;实现了仿真节点间通信的简洁化、规范化,提高了系统的可扩展性、可移植性。
【专利说明】一种飞行模拟器通讯方法
【技术领域】
[0001]本发明涉及仿真通信【技术领域】,特别是涉及一种飞行模拟器通讯方法。
【背景技术】
[0002]在大型飞行模拟器中,需要由多台计算机协同完成仿真任务。飞行模拟器中多台计算机运行仿真应用程序进行相互之间的通信是关键问题之一。目前飞行模拟器公开的计算机的通信方式通常是〃点-点〃通信,即由各计算机根据仿真应用程序确定其通信伙伴并完成通信。如果系统内有η个仿真应用程序需要通信,在极端情况下,系统内需要有η(η-1)条逻辑通信链路。飞行模拟器中的这种通信方式的不足之处在于:通信链路多,数据拥塞,浪费网络带宽,飞行模拟器造成通信效率下降;计算机的仿真应用程序紧密藕合,每一个仿真应用程序都需要知道与之通信的其它仿真应用程序的存在;通信方式不规范,当系统内增加需要通信的仿真应用程序时,可能导致对已存在的仿真应用程序通信代码的修改;通信数据的分散,造成通信数据监控困难,不便于系统开发时的调式、系统运营时的状态监控。

【发明内容】

[0003]为了解决上述通信方式的不足,本发明的目的是公开了一种飞行模拟器通讯方法。
[0004]本发明的一种飞行模拟器通讯方法,使用的飞行模拟器通讯系统包括第一计算机、第二计算机、第三计算机,每台计算机均通过网卡采用以太网线与网络交换机相连;第一计算机、第二计算机、第三计算机分别运行第一仿真程序,第二仿真程序第三仿真程序中的一个或多个;第一计算机、第二计算机、第三计算机是PC计算机、笔记本计算机或图形工作站;所述的网络交换机是以太网网络交换机;还包括一个中心计算机,中心计算机运行中心程序;中心计算机配置一块或多块以太网网卡,通过网卡采用以太网线与网络交换机相连,具体网卡数量根据具体仿真系统的通信节点数、通信流量和实时性的要求具体决定;多块网卡在系统运行时的使用分配,由通信路由配置文件定义;所述中心计算机是一台PC计算机或工业控制计算机;
中心程序包括外部配置解析模块、数据接收模块、数据发送模块、数据整合模块、数据监控模块;中心计算机还包括外部配置文件;所述外部配置文件包括数据包配置文件、通信路由配置文件;
所述数据包配置文件、通信路由配置文件是存储于中心计算机硬磁盘上的文件,把数据包配置文件、通信路由配置文件从中心程序中分离出来,而不是与中心程序合二为一,是为了改变目前模拟器通信方法的不通用问题,所述数据包配置文件、通信路由配置文件为文本文件,很容易用任何一种文本编辑工具对其进行修改,如果需要产生一台新型的模拟器的通信系统,只要在数据包配置文件、通信路由配置文件填入新的内容即可,而中心程序不需做任何改变,可大大提高通信系统开发效率。[0005]所述外部配置解析模块解析数据包配置文件,在内存中建立通信数据包的结构(以下简称数据包结构)、数据包之间的赋值关系(以下简称赋值关系)、数据包存储区;所述外部配置解析模块还解析通信路由配置文件,在内存中建立通信接入端口(以下简称接入端口)、通信发送路由(以下简称发送路由);
所述数据接收模块按接入端口接收网络数据,存于数据包存储区;
所述数据整合模块按赋值关系对数据包存储区进行赋值操作,达到数据包整合目标; 所述数据发送模块按发送路由发送数据包存储区中的数据包;
所述数据监控模块按数据包结构显示数据包存储区,用于系统开发时的调试和系统运营时的状态监控;
所述数据包配置文件用于定义通信数据包的结构、数据包之间的赋值关系;
所述通信路由配置文件用于定义通信接入端口,通信发送路由。
[0006]本发明一种飞行模拟器通讯系统的通讯方法,如图4所示,步骤和条件如下:
步骤400,系统初始化,中心程序的外部配置解析模块解析外部配置文件的数据包配置
文件,在内存中建立数据包结构、赋值关系、数据包存储区;所述外部配置解析模块还解析外部配置文件的通信路由配置文件,在内存中建立接入端口、发送路由;
步骤410,向中心程序发送数据包,第一计算机、第二计算机、第三计算机分别运行第一仿真程序,第二仿真程序,第三仿真程序中的一个或多个,以UDP协议经网络交换机分别向中心程序发送数据包1,3,5;
步骤420,接收数据包,中心程序的数据接收模块根据接入端口接收新的数据包1,3,5存于数据包存储区;
步骤430,形成新的数据包,中心程序的数据整合模块根据赋值关系对接收到的已存入数据包存储区的数据包1,3,5进行整合,形成新的数据包2,4,6 ;
步骤440,向各计算机发送新的数据,中心程序的数据发送模块以UDP协议经网络交换机,按发送路由分别向第一计算机、第二计算机、第三计算机发送新的数据包2,4,6 ;
步骤450,显示数据包存储区,中心程序的所述数据监控模块根据数据包结构显示数据包存储区,用于系统开发时的调试和系统运营时的状态监控;
步骤460,第一计算机、第二计算机、第三计算机之间完成通信;
步骤470,继续通信,重复步骤410至步骤470 ;否则,进行步骤480 ;
步骤480,结束。
[0007]有益效果:本发明的一种飞行模拟器通讯方法。通信节点接入方式简洁统一、规范,中心程序实现为〃软数据总线〃提供若干接入接口,设系统内的通信节点数为n,则在极端条件下,只有η条逻辑通信链路,而现有技术需要n(n-l)条逻辑通信链路;需要通信的仿真程序只需向中心程序发送数据而不必关心这些数据发向哪个具体仿真程序,只需接收中心程序的数据而不必关心这些数据来自哪个具体仿真程序,数据的路由完全由中心程序根据外部配置文件确定,从而实现了各仿真程序间的通信解耦,有利于仿真程序重用、提高开发效率;中心计算机101可配置多块网卡,中心程序通过外部配置文件支持多网卡使用,通过数据包整合减少通信数据冗余,有效消除数据拥塞,提高通信效率;中心程序通过数据集中、整合,便于系统开发时的调式和系统运营时的状态监控;外部配置文件隔离了具体仿真系统的通信变化,通过简单地修改外部配置文件,中心程序便可应用于任何仿真系统,可 大大提高工程开发效率和系统可靠性。
【专利附图】

【附图说明】
[0008]图1是本发明的中心计算机软硬件配置图。
[0009]图2是一种飞行模拟器通讯系统结构图。
[0010]图3是中心计算机与通信节点的数据流图。
[0011]图4是本发明执行通讯的流程图。
【具体实施方式】
[0012]下面结合附图和实施方式对本发明作进一步说明。
[0013]如图2、3所示,一种飞行模拟器通讯方法,使用的飞行模拟器通讯系统包括第一计算机201、第二计算机202、第三计算机203,每台计算机均通过网卡采用以太网线与网络交换机204相连;第一计算机201、第二计算机202、第三计算机203分别运行第一仿真程序301,第二仿真程序302,第三仿真程序303中的一个或多个;第一计算机201、第二计算机202、第三计算机203是PC计算;还包括一个中心计算机101,中心计算机101运行中心程序102 ;中心计算机101配置一块或多块以太网网卡,通过网卡采用以太网线与网络交换机204相连,具体网卡数量根据具体仿真系统的通信节点数、通信流量和实时性的要求具体决定;多块网卡在系统运行时的使用分配,由通信路由配置文件110定义;所述中心计算机101是一台PC计算机或工业控制计算机;
如图1所示,中心程序102包括外部配置解析模块103、数据接收模块104、数据发送模块105、数据整合模块106、数据监控模块107 ;中心计算机101还包括外部配置文件108 ;所述外部配置文件108包括数据包配置文件109、通信路由配置文件110 ;
所述数据包配置文件109、通信路由配置文件110是存储于中心计算机101硬磁盘上的文件,把数据包配置文件109、通信路由配置文件110从中心程序102中分离出来,而不是与中心程序102合二为一,是为了改变目前模拟器通信方法的不通用问题,所述数据包配置文件109、通信路由配置文件110为文本文件,很容易用任何一种文本编辑工具对其进行修改,如果需要产生一台新型的模拟器的通信系统,只要在数据包配置文件109、通信路由配置文件110填入新的内容即可,而中心程序102不需做任何改变,可大大提高通信系统开发效率。
[0014]所述外部配置解析模块103解析数据包配置文件109,在内存中建立通信数据包的结构(以下简称数据包结构)、数据包之间的赋值关系(以下简称赋值关系)、数据包存储区;所述外部配置解析模块103还解析通信路由配置文件110,在内存中建立通信接入端口(以下简称接入端口)、通信发送路由(以下简称发送路由);
所述数据接收模块104根据接入端口接收网络数据,存于数据包存储区;
所述数据整合模块106根据赋值关系对数据包存储区进行赋值操作,达到数据包整合目标;
所述数据发送模块105根据发送路由发送数据包存储区中的数据包;
所述数据监控模块107根据数据包结构显示数据包存储区,用于系统开发时的调试和系统运营时的状态监控;所述数据包配置文件109用于定义通信数据包的结构、数据包之间的赋值关系;其定义格式是:
数据包配置文件:数据包列表数据包赋值列表 数据包:struct数据包名{数据成员列表};
数据成员:成员类型成员名;
成员类型:float I double | char | short | int | long
unsigned char
unsigned short
unsigned int
unsigned long
数据包名
成员名:标识符I成员名[正整数]
数据包赋值:数据包名::成员标识符=数据包名::成员标识符;
成员标识符:标识符I成员标识符[非负整数]
所述通信路由配置文件110用于定义通信接入端口,通信发送路由;其定义格式是: 通信路由配置文件:通信接入端口配置通信发送路由配置 通信接入端口配置:[Linkln Ports] = {接入端口列表}
通信发送路由配置:[Send Links] = {发送路由列表}
接入端口:〈packet=数据包名,ip=IP地址,port=端口号〉
发送路由:〈packet=数据包名,
ip (from) =IP 地址,port (from )=端口号,
ip (to) =IP 地址,port (to )=端口号〉。
[0015] 本发明一种飞行模拟器通讯系统的通讯方法,如图4所示,步骤和条件如下:
步骤400,系统初始化,中心程序102的外部配置解析模块103解析外部配置文件108的数据包配置文件109,在内存中建立数据包结构、赋值关系、数据包存储区;所述外部配置解析模块103还解析外部配置文件108的通信路由配置文件110,在内存中建立接入端口、发送路由;
步骤410,向中心程序102发送数据包,第一计算机201、第二计算机202、第三计算机203分别运行第一仿真程序301,第二仿真程序302,第三仿真程序303中的一个或多个,以UDP协议经网络交换机204分别向中心程序102发送数据包1,3,5 ;
步骤420,接收数据包,中心程序102的数据接收模块104根据接入端口接收新的数据包1,3,5存于数据包存储区;
步骤430,形成新的数据包,中心程序102的数据整合模块106根据赋值关系对接收到的已存入数据包存储区的数据包1,3,5进行整合,形成新的数据包2,4,6 ;
步骤440,向各计算机发送新的数据,中心程序102的数据发送模块105以UDP协议经网络交换机204,按发送路由分别向第一计算机201、第二计算机202、第三计算机203发送新的数据包2, 4, 6 ;
步骤450,显示数据包存储区,中心程序102的所述数据监控模块107根据数据包结构显示数据包存储区,用于系统开发时的调试和系统运营时的状态监控;步骤460,第一计算机201、第二计算机202、第三计算机203之间完成通信;步骤470,继续通信,重复步骤410至步骤470 ;否则,进行步骤480 ;
步骤480,结束。
【权利要求】
1.一种飞行模拟器通讯方法,其特征在于,使用的飞行模拟器通讯系统包括第一计算机(201)、第二计算机(202)、第三计算机(203),每台计算机均通过网卡采用以太网线与网络交换机(204)相连;第一计算机(201)、第二计算机(202)、第三计算机(203)分别运行仿真第一程序(301),第二程序(302),第三程序(303)中的一个或多个;多台计算机(201、`202、203)是PC计算机、笔记本计算机或图形工作站;网络交换机(204)是以太网网络交换机;还包括一个中心计算机(101 ),中心计算机(101)运行中心程序(102);中心计算机(101)配置一块或多块以太网网卡,网卡采用以太网线与网络交换机(204)相连,具体网卡数量根据具体仿真系统的通信节点数、通信流量和实时性的要求具体决定;多块网卡在系统运行时的使用分配,由通信路由配置文件(110)定义;所述中心计算机(101)是一台PC计算机或工业控制计算机; 所述中心程序(102)包括外部配置解析模块(103)、数据接收模块(104)、数据发送模块(105)、数据整合模块(106)、数据监控模块(107);所述中心计算机(101)还包括外部配置文件(108);所述外部配置文件(108)包括数据包配置文件(109)、通信路由配置文件(110);所述数据包配置文件(109)、通信路由配置文件(110)是存储于中心计算机(101)硬磁盘上的文本文件; 所述外部配置解析模块(103)解析数据包配置文件(109),在内存中建立通信数据包的结构(以下简称数据包结构)、数据包之间的赋值关系(以下简称赋值关系)、数据包存储区;所述外部配置解析模块(103)还解析通信路由配置文件(110),在内存中建立通信接入端口(以下简称接入端口)、通信发送路由(以下简称发送路由); 所述数据接收模块(104)按接入端口接收网络数据,存于数据包存储区; 所述数据整合模块(106)按赋值关系对数据包存储区进行赋值操作,达到数据包整合目标; 所述数据发送模块(105)按发送路由`发送数据包存储区中的数据包; 所述数据监控模块(107)按数据包结构显示数据包存储区,用于系统开发时的调试和系统运营时的状态监控; 所述数据包配置文件(109)用于定义通信数据包的结构、数据包之间的赋值关系; 所述通信路由配置文件(110)用于定义通信接入端口,通信发送路由; 所述的通讯方法,其特征在于,步骤和条件如下: a.中心程序(102)的外部配置解析模块(103)解析外部配置文件(108)的数据包配置文件(109),在内存中建立通信数据包的结构(以下简称数据包结构)、数据包之间的赋值关系(以下简称赋值关系)、数据包存储区;所述外部配置解析模块(103)还解析外部配置文件(108)的通信路由配置文件(110),在内存中建立通信接入端口(以下简称接入端口)、通信发送路由(以下简称发送路由); b.向中心程序(102)发送数据包,第一计算机(201)、第二计算机(202)、第三计算机(203)分别运行仿真第一程序(301),第二程序(302),第三程序(303)中的一个或多个,以UDP协议经网络交换机(204)分别向中心程序(102)发送数据包1,3,5; c.接收数据包,中心程序(102)的数据接收模块(104)按接入端口接收数据包1,3,5存于数据包存储区; d.形成新的数据包,中心程序(102)的数据整合模块(106)按赋值关系对接收到的已存入数据包存储区的数据包1,3,5进行整合,形成新的数据包2,4,6 ; e.向各计算机发送新的数据,中心程序(102)的数据发送模块(105)以UDP协议经网络交换机(204),按发送路由分别向第一计算机(201)、第二计算机(202)、第三计算机(203)发送新的数据包2,4,6; f.显示数据包存储区,中心程序(102)的数据监控模块(107),按数据包结构显示数据包存储区,用于系统开发时的调试和系统运营时的状态监控; g.第一计算机(201)、第二计算机(202)、第三计算机(203)之间完成通信; h.继续通信,重复步骤b至·步骤g;否则,结束。
【文档编号】H04L29/06GK103856483SQ201310748883
【公开日】2014年6月11日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】李松维, 张志春, 吕岩, 何昀, 李友毅, 徐坤, 张旺 申请人:中国人民解放军空军航空大学军事仿真技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1