面向异构网络环境的分布式仿真RTI设计方法、装置及设备
本技术涉及分布式仿真,特别是涉及一种面向异构网络环境的分布式仿真rti设计方法、装置及设备。
背景技术:
1、高层体系结构(hla)是建模与仿真领域最为核心的分布式仿真标准之一,其主要目标是实现地理上分布的异构仿真系统之间的互联、互通和互操作。hla标准是一个api(应用程序编程接口)标准,确定了作为联邦成员的各异构仿真系统在同一联邦范围中为达成互操作所能使用的一系列函数调用与回调接口,且各仿真系统通过开发者定制的联邦对象模型(fom)解析网络交换消息的内容。这些函数调用被划分为联邦管理、声明管理、对象管理、所有权管理、时间管理以及数据分发管理等服务,共同构成了hla运行时基础设施(rti)的标准服务与接口框架。值得注意的是,尽管hla标准在“联邦成员接口规范”中描述了这些服务的接口形式,但并未规定rti的具体实现形式以及rti在网上传输消息的具体格式。这导致针对同一版本的hla标准,有多种rti实现,在通信协议支持、网络适应能力等方面存在差异。
2、一般而言,联邦成员在网络传输协议的支持下通过本地api接口库(被称为本地rti组件或lrc)访问hla服务,并与部署在rti服务器上的中心rti组件(crc)交互。目前主流的rti实现多基于tcp/ip(传输控制/互联网)协议,部分支持udp(用户数据报协议)和多播,少数支持共享或反射内存机制。在受防火墙、nat(网络地址转换)等限制的网络环境下时,还存在基于http(超文本传输协议)代理中转、基于http报文等不同机制。尤其随着hlaevolved标准的推出,引入了web services api来实现所有hla服务功能,支持通过http/https协议运行。这意味着不同的rti实现采用了不同的网络协议,同一rti也可能实现不同版本来支持不同类型的网络环境。因此,在同一联邦中,通常要求每一联邦成员安装使用同一版本的rti库。
3、然而,异构网络环境中,可能同时包含多种网络类型的互联,例如局域网、广域网、移动通信网、无线网络等;终端设备可能搭载不同操作系统。这导致同一联邦中可能需要不同版本的rti库。因此,传统的基于api的分布式仿真rti实现方式难以满足同一联邦中异构网络环境下仿真系统互操作的需求。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种面向异构网络环境的分布式仿真rti设计方法、装置及设备。
2、一种面向异构网络环境的分布式仿真rti设计方法,所述方法包括:
3、在分布式仿真rti中,为每个联邦成员配置一个protobuf客户端,为存储有rti大使和联邦成员大使的本地rti组件配置一个protobuf服务器端,并将rti大使api接口函数和联邦成员大使api接口函数定义为基于protobuf的协议文件;
4、由protobuf客户端响应对应联邦成员对rti大使api接口函数的调用请求,并根据协议文件进行序列化处理,得到rti大使结构化消息数据并在异构网络环境中发送至protobuf服务器端,由protobuf服务器端根据协议文件进行反序列化处理,还原得到rti大使api接口函数的调用请求,并提交至本地rti组件进行对应rti大使api接口函数的调用,同时返回调用结果至对应联邦成员;
5、由protobuf服务器端响应rti通过本地rti组件中的联邦成员大使发起的联邦成员大使api接口函数的回调请求,并根据协议文件进行序列化处理,得到联邦成员大使结构化消息数据并在异构网络环境中发送至protobuf客户端,由protobuf客户端根据协议文件进行反序列化处理,还原得到联邦成员大使api接口函数的回调请求,并调用对应联邦成员的回调函数获得回调返回值。
6、在其中一个实施例中,协议文件包括rti大使api接口协议文件和联邦成员大使api接口协议文件;
7、根据协议文件进行序列化/反序列化处理,包括:
8、基于异构网络环境中各联邦成员对应的目标开发语言类型,通过protobuf编译器编译rti大使api接口协议文件进行序列化/反序列化处理,实现rti大使api接口函数与rti大使结构化消息数据之间的相互转换;并通过protobuf编译器编译联邦成员大使api接口协议文件进行序列化/反序列化处理,实现联邦成员大使api接口函数与联邦成员大使结构化消息数据之间的相互转换。
9、在其中一个实施例中,上述方法还包括:
10、采用网络传输协议自适应选择算法维持protobuf客户端与protobuf服务器端在异构网络环境中的双向通信连接。
11、在其中一个实施例中,网络传输协议自适应选择算法包括:
12、初始化成功探测次数和总往返时延为0;
13、对异构网络环境中protobuf客户端与protobuf服务器端之间的双向通信连接进行预设次数的icmp探测,记录成功探测次数,并将成功探测时的通信往返时延累加至总往返时延中;
14、在探测完成后,根据总往返时延与成功探测次数的比值,计算得到平均往返时延,并根据失败探测次数与总探测次数的比值,计算得到丢包率;
15、在平均往返时延低于预设阈值且丢包率为0时,判定当前的异构网络环境稳定,优先选用低延迟、高吞吐的网络传输协议;否则,判定当前的异构网络环境不稳定,优先选用高容错、抗抖动的网络传输协议。
16、一种基于上述面向异构网络环境的分布式仿真rti设计方法设计得到的面向异构网络环境的分布式仿真rti装置,所述装置包括:协议文件、每个联邦成员配置的protobuf客户端以及本地rti组件配置的protobuf服务器端;其中,本地rti组件存储有rti大使和联邦成员大使;
17、协议文件用于定义protobuf所使用的结构化消息定义文件,并描述分布式仿真rti中的rti大使api接口函数、联邦成员大使api接口函数、函数参数值以及返回值数据所对应的消息结构;
18、protobuf客户端用于响应对应联邦成员对rti大使api接口函数的调用请求,并根据协议文件进行序列化处理,得到rti大使结构化消息数据并在异构网络环境中发送至protobuf服务器端;以及用于接收protobuf服务器端发送的联邦成员大使结构化消息数据,并根据协议文件进行反序列化处理,还原得到联邦成员大使api接口函数的回调请求,并调用对应联邦成员的回调函数获得回调返回值;
19、protobuf服务器端用于响应rti通过本地rti组件中的联邦成员大使发起的联邦成员大使api接口函数的回调请求,并根据协议文件进行序列化处理,得到联邦成员大使结构化消息数据并在异构网络环境中发送至protobuf客户端;以及用于接收protobuf客户端发送的rti大使结构化消息数据,并根据协议文件进行反序列化处理,还原得到rti大使api接口函数的调用请求,并提交至本地rti组件进行对应rti大使api接口函数的调用,同时返回调用结果至对应联邦成员。
20、在其中一个实施例中,protobuf客户端和protobuf服务器端包括用于根据协议文件进行序列化/反序列化处理的数据转换器单元;其中,协议文件包括rti大使api接口协议文件和联邦成员大使api接口协议文件;
21、在protobuf客户端中,数据转换器单元用于基于异构网络环境中各联邦成员对应的目标开发语言类型,通过protobuf编译器编译rti大使api接口协议文件和联邦成员大使api接口协议文件分别进行序列化处理和反序列化处理,实现rti大使api接口函数至rti大使结构化消息数据的转换,并实现联邦成员大使结构化消息数据至联邦成员大使api接口函数的转换;
22、在protobuf服务器端中,数据转换器单元用于基于异构网络环境中各联邦成员对应的目标开发语言类型,通过protobuf编译器编译联邦成员大使api接口协议文件和rti大使api接口协议文件分别进行序列化处理和反序列化处理,实现联邦成员大使api接口函数至联邦成员大使结构化消息数据的转换,并实现rti大使结构化消息数据至rti大使api接口函数的转换。
23、在其中一个实施例中,protobuf服务器端包括会话管理器单元,用于管理异构网络环境上所有会话的创建、启动、恢复和终止操作,并维护会话状态和相关的状态监听器。
24、在其中一个实施例中,protobuf服务器端包括自适应会话单元,用于采用网络传输协议自适应选择算法维持protobuf客户端与protobuf服务器端在异构网络环境中的双向通信连接。
25、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
26、在分布式仿真rti中,为每个联邦成员配置一个protobuf客户端,为存储有rti大使和联邦成员大使的本地rti组件配置一个protobuf服务器端,并将rti大使api接口函数和联邦成员大使api接口函数定义为基于protobuf的协议文件;
27、由protobuf客户端响应对应联邦成员对rti大使api接口函数的调用请求,并根据协议文件进行序列化处理,得到rti大使结构化消息数据并在异构网络环境中发送至protobuf服务器端,由protobuf服务器端根据协议文件进行反序列化处理,还原得到rti大使api接口函数的调用请求,并提交至本地rti组件进行对应rti大使api接口函数的调用,同时返回调用结果至对应联邦成员;
28、由protobuf服务器端响应rti通过本地rti组件中的联邦成员大使发起的联邦成员大使api接口函数的回调请求,并根据协议文件进行序列化处理,得到联邦成员大使结构化消息数据并在异构网络环境中发送至protobuf客户端,由protobuf客户端根据协议文件进行反序列化处理,还原得到联邦成员大使api接口函数的回调请求,并调用对应联邦成员的回调函数获得回调返回值。
29、上述面向异构网络环境的分布式仿真rti设计方法、装置及设备,通过在分布式仿真rti中,为每个联邦成员配置一个protobuf客户端,并为本地rti组件配置一个protobuf服务器端,使得能够基于protobuf客户端-服务器端隔离hla标准的原api调用方式,降低异构网络环境对分布式仿真rti服务调用和回调效率的影响,满足同一联邦中异构网络环境下仿真系统互操作的需求,从而提升分布式仿真rti对异构网络环境的适应性;并且,通过定义基于protobuf的协议文件,并根据协议文件进行的序列化/反序列化处理实现rti大使api接口函数、联邦成员大使api接口函数与对应结构化消息数据之间的相互转换,从而可以利用protobuf提供的统一的二进制结构化消息数据封装分布式仿真rti调用,实现异构网络环境中分布式仿真的高效数据传输和快速响应。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com