基于协议的通用网关及其实现方法与流程

文档序号:11930106阅读:302来源:国知局
基于协议的通用网关及其实现方法与流程

本发明涉及数字仿真技术领域。更具体地,涉及一种基于协议的通用网关及其实现方法。



背景技术:

数字仿真实验中存在多种交互标准规范和体系结构,例如HLA标准(IEEE Std 1516,IEEE Standard for Modeling)、TENA体系(Test and Training Enabling Architecture)。随着仿真需求在规模、范围以及形式上的扩大和升级,并且考虑资源重用、时间成本等因素影响,数字仿真中多以网关形式完成异类网络的互联交互。

数字仿真实验中,模型协议具有复杂、多变、不统一等特点。目前,网关实现依赖模型协议,模型协议稍有调整即会对网关造成不良影响,导致数据错误甚至仿真节点宕机,因此,为了适应新的模型协议,需要人力手动修改、调整网关,工作耗时、复杂、易出错。

因此,需要提供一种基于协议的通用网关及其实现方法。



技术实现要素:

本发明的目的在于提供一种基于协议的通用网关及其实现方法,解决异类数字仿真中,由于网关与仿真模型紧耦合、不通用,仿真模型调整或修改,网关不能自动重新生成适应,造成仿真结果不正确甚至仿真节点宕机的问题。

为达到上述目的,本发明采用下述技术方案:

一种基于协议的通用网关,包括:

通用网关总控模块和至少一个通用网关通道模块,

通用网关总控模块,创建和卸载通用网关通道模块,并管理通用网关通道模块对通用网关通道模块相对应的异类网络之间的仿真模型数据转换与交互;

通用网关通道模块,执行相对应的异类网络之间的仿真模型数据转换与交互。

优选地,所述通用网关总控模块管理通用网关通道模块对通用网关通道 模块相对应的异类网络之间的仿真模型数据转换与交互包括调度和加载通用网关通道模块对通用网关通道模块相对应的异类网络之间的仿真模型数据转换与交互。

优选地,所述通用网关总控模块创建通用网关通道模块的过程包括:

第一仿真网络的应用程序编程接口,由第一仿真网络提供,支持创建发布角色、创建订阅角色、发现回调、更新回调和销毁回调的操作;

与第一仿真网络异类的第二仿真网络的应用程序编程接口,由第二仿真网络提供,支持创建发布角色、创建订阅角色、发现回调、更新回调、销毁回调的操作;

面向第一仿真网络的订阅-面向第二仿真网络的发布角色映射表,存储第一仿真网络的订阅至面向第二仿真网络的发布角色的映射,用于仿真模型数据由第一仿真网络流向第一仿真网络;

面向第二仿真网络的订阅-面向第一仿真网络的发布角色映射表,存储第二仿真网络的订阅至面向第一仿真网络的发布角色的映射,用于仿真模型数据由第二仿真网络流向第一仿真网络;

模型转换映射,用于根据订阅角色属性数据更新对应的发布角色属性数据。

一种基于协议的通用网关的实现方法,该方法包括如下步骤:

在数字仿真开始时,创建异类网络之间的通用网关通道过程;

启动所述通用网关通道过程,进行异类网络之间的仿真模型数据转换与交互;

在数字仿真结束时,关闭所述通用网关通道过程,结束异类网络之间的仿真模型数据转换与交互。

优选地,所述创建异类网络之间的通用网关通道过程进一步包括如下子步骤:

建立第一仿真网络的应用程序编程接口,该接口支持创建发布角色、创建订阅角色、发现回调、更新回调和销毁回调的操作;

建立与第一仿真网络异类的第二仿真网络的应用程序编程接口,该接口支持创建发布角色、创建订阅角色、发现回调、更新回调、销毁回调的操作;

建立面向第一仿真网络的订阅-面向第二仿真网络的发布角色映射表,存储第一仿真网络的订阅至面向第二仿真网络的发布角色的映射,使仿真模型数据由第一仿真网络流向第一仿真网络;

建立面向第二仿真网络的订阅-面向第一仿真网络的发布角色映射表,存储第二仿真网络的订阅至面向第一仿真网络的发布角色的映射,使仿真模型数据由第二仿真网络流向第一仿真网络;

进行模型转换映射,根据订阅角色属性数据更新对应的发布角色属性数据。

优选地,所述启动所述通用网关通道过程,进行异类网络之间的仿真模型数据转换与交互进一步包括如下子步骤:

分别在该通用网关通道过程相关的异类仿真网络中完成订阅和发布操作,

当第一仿真网络或第二仿真网络发现回调作用时,创建该仿真网络的订阅实例和与其异类的仿真网络的发布实例,并将订阅实例和发布实例加入相应的异类仿真网络订阅-发布角色映射表;

当第一仿真网络或第二仿真网络更新回调作用时,由回调接口中的订阅实例,在相应的异类仿真网络订阅-发布角色映射表中找到发布实例,根据模型转换映射完成发布实例的属性数据更新,并发布数据,将数据流从订阅实例一端的仿真网络流向发布实例的一端的仿真网络;

当第一仿真网络或第二仿真网络销毁回调作用时,由回调接口中的订阅实例,在相应的异类仿真网络订阅-发布角色映射表中找到发布实例,并将该订阅实例和发布实例从相应的异类仿真网络订阅-发布角色映射表中删除。

优选地,该方法还包括步骤:

若数字仿真不再使用仿真网络中的仿真模型,则卸载该仿真网络的相关通用网关通道过程。

本发明的有益效果如下:

本发明所述技术方案中通用网关由通用网关总控模块管理下的一个或多个通用网关通道模块构成,某类仿真模型对应一个通用网关通道模块,仿真模型之间松耦合,某类仿真模型的修改不会影响其他仿真模型;通用网关通道模块的建立,自动、准确,在仿真模型修改或调整后,不需要人力调整代码,在可靠性和稳定性方面提升显著。

目前,数字仿真的规模和范围日益扩大,对于已然存在的仿真网络资源,需要一种方法使其互联互通,本发明所述技术方案正是面向此需求的解决方案,具有广阔的应用前景。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出基于协议的通用网关示意图。

图2示出基于协议的通用网关的实现方法中通用网关通道过程创建-启动-结束示意图。

图3示出基于协议的通用网关的实现方法中创建通用网关通道过程示意图。

图4示出基于协议的通用网关的实现方法中异类仿真网络A、B订阅-发布角色映射表的示意图。

图5示出基于协议的通用网关的实现方法中模型转换映射生成示意图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

实施例1

如图1所示,本实施例提供的基于协议的通用网关,包括:

通用网关总控模块和至少一个通用网关通道模块,

通用网关总控模块,创建和卸载通用网关通道模块,并管理通用网关通道模块对通用网关通道模块相对应的异类网络之间的仿真模型数据转换与交互;

通用网关通道模块,执行相对应的异类网络之间的仿真模型数据转换与交互。

通用网关中的一个通用网关总控模块可以控制管理多个通用网关通道模块。

通用网关总控模块和通用网关通道模块的大致功能描述如下:

通用网关总控模块,作为通用网关的主线,负责创建、调度、加载、启动、停止和卸载通用网关通道模块。用户通过通用网关总控模块启动/停止控制网关运行。

通用网关通道模块,逻辑上是一个独立的基于仿真协议的模型转换过程, 物理上是一个独立的动态链接库,由通用网关总控模块创建、调度、加载、和载。通用网关通道模块,支持启动、停止、协议模型转换等功能。一个通用网关通道模块完成一类仿真模型的转换,异类仿真网络的仿真模型数据是由相应的通用网关通道模块完成协议模型的反震模型数据转换与交互,以实现通用网关的。

通用网关总控模块和通用网关通道模块的详细功能描述如下:

通用网关总控模块:

若需要进行仿真模型数据转换与交互的异类网络之间已存在通用网关通道模块,则启动通用网关通道模块;若需要进行仿真模型数据转换与交互的异类网络之间不存在通用网关通道模块,则需要分别选择第一仿真网络——以下称为仿真网络A和与第一仿真网络异类的第二仿真网络——以下称为仿真网络B的仿真模型,创建通用网关通道模块,而后启动通用网关通道模块;

其中

创建通用网关通道模块由五个部分组成,仿真网络A的应用程序编程接口、仿真网络B的应用程序编程接口、两方异类仿真网络A、B的订阅-发布角色映射表(即面向仿真网络A的订阅-面向仿真网络B的发布角色映射表和面向仿真网络B的订阅-面向仿真网络A的发布角色映射表),以及模型转换映射:

仿真网络A的应用程序编程接口,由仿真网络A提供,是标准仿真网络A的一部分,支持创建发布角色、创建订阅角色、发现回调、更新回调、销毁回调等操作。

仿真网络B的应用程序编程接口,由仿真网络B提供,是标准仿真网络B的一部分,支持创建发布角色、创建订阅角色、发现回调、更新回调、销毁回调等操作。

面向仿真网络A的订阅-面向仿真网络B的发布角色映射表,存储仿真网络A的订阅至面向仿真网络B的发布角色的映射,用于仿真模型数据由网络A流向网络B。根据仿真网络A和仿真网络B提供的协议解析器,解析仿真模型信息,结合仿真网络A和仿真网络B的应用程序编程接口,构造创建仿真网络A的订阅角色和创建仿真网络B的发布角色的方法函数。当仿真网络A的发现回调作用时,执行该方法函数,并将仿真网络A的订阅角色和仿真网络B的发布角色插入面向仿真网络A的订阅-面向仿真网络B的发布角色映射表。当仿真网络A的销毁回调作用时,将仿真网络A的订阅角色和仿真 网络B的发布角色从面向仿真网络A的订阅-面向仿真网络B的发布角色映射表中删除。

面向仿真网络B的订阅-面向仿真网络A的发布角色映射表,存储仿真网络B的订阅至面向仿真网络A的发布角色的映射,用于仿真模型数据由网络B流向网络A。根据仿真网络A和仿真网络B提供的协议解析器,解析仿真模型信息,结合仿真网络A和仿真网络B的应用程序编程接口,构造创建仿真网络B的订阅角色和创建仿真网络A的发布角色的方法函数。当仿真网络B的发现回调作用时,执行该方法函数,并将仿真网络B的订阅角色和仿真网络A的发布角色插入面向仿真网络B的订阅-面向仿真网络A的发布角色映射表。当仿真网络B的销毁回调作用时,将仿真网络B的订阅角色和仿真网络A的发布角色从面向仿真网络B的订阅-面向仿真网络A的发布角色映射表中删除。

模型转换映射,用于根据订阅角色属性数据更新对应的发布角色属性数据。仿真网络A和仿真网络B的仿真模型由其相应的协议解析器解析生成模型属性列表,并提供接口界面,由用户选择属性匹配对齐,结合仿真网络A和仿真网络B的应用程序编程接口,生成模型转换映射。

根据用户仿真模型选择、仿真网络A和仿真网络B的协议解析器,以及仿真网络A和仿真网络B的应用程序编程接口,自动生成以上五个部分文件,并生成工程文件,编译链接生成动态链接库。

启动所打开的通用网关通道模块,即开启相应的异类网络之间的仿真模型数据转换与交互。

当数字网络仿真中的异类网络仿真结束,关闭相关的通用网关通道模块,结束异类网络之间的仿真模型数据转换与交互。

若数字网络仿真中的异类网络仿真不再使用某类仿真模型,则卸载相关的通用网关通道模块。

通用网关通道模块由通用网关总控模块创建、调度、加载和启动。

通用网关通道模块执行相对应的异类网络之间的仿真模型数据转换与交互的过程为:

分别在通用网关通道模块相关的两个异类仿真网络中完成订阅和发布操作,

当某一仿真网络的发现回调作用时,创建该网络的订阅实例和相异网络的发布实例,并将订阅实例和发布实例加入相应的异类仿真网络订阅-发布角 色映射表。

当某一仿真网络的更新回调作用时,由回调接口中的订阅实例,在相应的异类仿真网络订阅-发布角色映射表中找到发布实例。根据模型转换映射完成发布实例的属性数据更新,并发布数据,将数据流从订阅实例一端的网络流向发布实例的一端的网络。

当某一仿真网络的销毁回调作用时,由回调接口中的订阅实例,在相应的异类仿真网络订阅-发布角色映射表中找到发布实例,并将该订阅实例和发布实例从相应的异类仿真网络订阅-发布角色映射表中删除。

通用网关通道模块收到通用网关总控模块的停止命令后,分别在该通用网关总控模块相关的两个异类仿真网络中完成退订操作。

通用网关通道模块最后由通用网关总控模块卸载结束。

实施例2

如图2所示,本实施例提供的基于协议的通用网关的实现方法,包括如下步骤:

在数字仿真开始时,创建异类网络之间的通用网关通道过程;

启动所述通用网关通道过程,进行异类网络之间的仿真模型数据转换与交互;

在数字仿真结束时,关闭所述通用网关通道过程,结束异类网络之间的仿真模型数据转换与交互。

其中

本方法包含一个通用网关总控过程,总控过程是通用网关的主线,负责创建、调度、加载、启动、停止和卸载通用网关通道过程。通用网关总控过程是用户控制网关的接口过程,用户通过通用网关总控过程启动/停止控制网关运行。

通用网关通道过程,逻辑上是一个独立的基于仿真协议的模型转换过程,物理上是一个独立的动态链接库,由通用网关总控过程创建、调度、加载、卸载。通用网关通道过程,支持启动、停止、协议模型转换等功能。一条通道过程完成一类仿真模型的转换,异类仿真网络的模型数据是由相应的通道过程完成协议模型的转换,以实现通用网关的。

如图3所示,步骤“在数字仿真开始时,创建异类网络之间的通用网关通道过程”的具体过程为:

若需要进行仿真模型数据转换与交互的异类网络之间已存在通用网关通道过程,则启动通用网关通道过程;若需要进行仿真模型数据转换与交互的异类网络之间不存在通用网关通道过程,则需要分别选择第一仿真网络——以下称为仿真网络A和与第一仿真网络异类的第二仿真网络——以下称为仿真网络B的仿真模型,创建通用网关通道过程,而后启动通用网关通道过程;

创建通道过程由五个部分组成,分别为创建:仿真网络A的应用程序编程接口、仿真网络B的应用程序编程接口、两方异类仿真网络A、B的订阅-发布角色映射表(即面向仿真网络A的订阅-面向仿真网络B的发布角色映射表和面向仿真网络B的订阅-面向仿真网络A的发布角色映射表),以及模型转换映射:

仿真网络A的应用程序编程接口,由仿真网络A提供,是标准仿真网络A的一部分,支持创建发布角色、创建订阅角色、发现回调、更新回调、销毁回调等操作。

仿真网络B的应用程序编程接口,由仿真网络B提供,是标准仿真网络B的一部分,支持创建发布角色、创建订阅角色、发现回调、更新回调、销毁回调等操作。

如图4所示,面向仿真网络A的订阅-面向仿真网络B的发布角色映射表,存储仿真网络A的订阅至面向仿真网络B的发布角色的映射,用于仿真模型数据由网络A流向网络B。根据仿真网络A和仿真网络B提供的协议解析器,解析仿真模型信息,结合仿真网络A和仿真网络B的应用程序编程接口,构造创建仿真网络A的订阅角色和创建仿真网络B的发布角色的方法函数。当仿真网络A的发现回调作用时,执行该方法函数,并将仿真网络A的订阅角色和仿真网络B的发布角色插入面向仿真网络A的订阅-面向仿真网络B的发布角色映射表。当仿真网络A的销毁回调作用时,将仿真网络A的订阅角色和仿真网络B的发布角色从面向仿真网络A的订阅-面向仿真网络B的发布角色映射表中删除。

面向仿真网络B的订阅-面向仿真网络A的发布角色映射表,存储仿真网络B的订阅至面向仿真网络A的发布角色的映射,用于仿真模型数据由网络B流向网络A。根据仿真网络A和仿真网络B提供的协议解析器,解析仿真模型信息,结合仿真网络A和仿真网络B的应用程序编程接口,构造创建仿真网络B的订阅角色和创建仿真网络A的发布角色的方法函数。当仿真网络B的发现回调作用时,执行该方法函数,并将仿真网络B的订阅角色和仿真 网络A的发布角色插入面向仿真网络B的订阅-面向仿真网络A的发布角色映射表。当仿真网络B的销毁回调作用时,将仿真网络B的订阅角色和仿真网络A的发布角色从面向仿真网络B的订阅-面向仿真网络A的发布角色映射表中删除。

如图5所示,模型转换映射,用于根据订阅角色属性数据更新对应的发布角色属性数据。仿真网络A和仿真网络B的仿真模型由其相应的协议解析器解析生成模型属性列表,并提供接口界面,由用户选择属性匹配对齐,结合仿真网络A和仿真网络B的应用程序编程接口,生成模型转换映射。

根据用户仿真模型选择、仿真网络A和仿真网络B的协议解析器,以及仿真网络A和仿真网络B的应用程序编程接口,自动生成以上五个部分文件,并生成工程文件,编译链接生成动态链接库。

在创建异类网络之间的通用网关通道过程之后,

启动通用网关通道过程,即开启相应的异类网络之间的仿真模型数据转换与交互。

当数字网络仿真中的异类网络仿真结束,关闭相关的通用网关通道过程,结束异类网络之间的仿真模型数据转换与交互。

若数字网络仿真中的异类网络仿真不再使用某类仿真模型,则卸载相关的通用网关通道模块。

步骤“启动所述通用网关通道过程,进行异类网络之间的仿真模型数据转换与交互”的具体过程为:

分别在该通道过程相关的两个仿真网络中完成订阅和发布操作,

当某一仿真网络的“发现回调”作用时,创建该网络的订阅实例和相异网络的发布实例,并将订阅实例和发布实例加入相应的异类仿真网络订阅-发布角色映射表。

当某一仿真网络的“更新回调”作用时,由回调接口中的订阅实例,在相应的异类仿真网络订阅-发布角色映射表中找到发布实例。根据模型转换映射完成发布实例的属性数据更新,并发布数据,将数据流从订阅实例一端的网络流向发布实例的一端的网络。

当某一仿真网络的“销毁回调”作用时,由回调接口中的订阅实例,在相应的异类仿真网络订阅-发布角色映射表中找到发布实例,并将该订阅实例和发布实例从相应的异类仿真网络订阅-发布角色映射表中删除。

通用网关通道过程收到通用网关总控过程的停止命令后,分别在该通用 网关通道过程相关的两个仿真网络中完成退订操作。

通用网关通道过程最后由通用网关总控过程卸载结束。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

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