APP下载

一种快速扩展HLA/RTI Web服务的方法

2016-02-23史璐莎

计算机技术与发展 2016年12期
关键词:大使联邦客户端

张 涛,史璐莎,张 斌,贠 远,田 耀

(1.北京工业大学 电子信息与控制工程学院,北京 100022;2.中国科学院 空间应用工程与技术中心,北京 100094)

一种快速扩展HLA/RTI Web服务的方法

张 涛1,史璐莎2,张 斌2,贠 远2,田 耀2

(1.北京工业大学 电子信息与控制工程学院,北京 100022;2.中国科学院 空间应用工程与技术中心,北京 100094)

针对过去研究中高层体系结构(HLA)分布式仿真框架无法很好地在广域网上运行,与其他系统接口复杂,联邦成员开发语言单一,系统开发和维护成本高等特点,提出一种快速扩展HLA/RTI仿真Web服务的框架。该框架将HLA/RTI接口基于面向服务体系结构(SOA)进行封装,并在HLA/RTI中心节点部署联邦大使管理代理,通过使用HTTP协议和将代理的联邦大使和用户进行映射,实现HLA仿真系统与编程语言和平台的解耦,具有快速开发、部署、高度可定制化等特点,为中小企业和机构实现HLA仿真扩展提供了一种新思路。实验结果表明,该框架对HLA高层体系结构的扩展是可行的,不仅极大提高了HLA扩展效率,而且满足了平台多样性、联邦成员开发语言解耦、效率高等需求,还有效降低了开发和维护成本。

中高层体系结构;运行支撑环境;Web服务;分布式仿真;跨平台

0 引 言

高层体系结构(High Level Architecture,HLA)是一种分布式仿真架构,旨在解决大规模复杂系统仿真和降低仿真成本等问题[1]。HLA的运行支撑环境(Run Time Infrastructure,RTI)将底层支撑环境与仿真应用分离,各仿真应用在符合HLA规范的条件下独立开发,从而涵盖各领域先进技术,降低开发难度和时间成本。运用HLA模拟军事实战演习已广泛应用于各国的现代军事领域。随着全球一体化的进展,越来越多的企业表现出对分布式仿真的需求,使得不同地理位置的员工可以参与到产品原型设计和开发的过程中去,HLA在民用仿真领域也逐渐发挥着巨大的作用[2]。

随着技术的发展,HLA许多特征逐渐与其设计初衷背离,进而阻碍了该技术的发展[2]。一般HLA软件公司只提供RTI和配套的联邦成员软件开发包(Softeware Development Kit,SDK)。大部分SDK只支持C++和Java编程语言。这使得HLA对联邦成员开发编程语言有着十分严重的依赖性,开发维护成本较高,不利于HLA系统的移植和跨平台使用。在系统内部SDK通过TCP/IP协议与RTI进行通讯交换数据,各用户对数据传输都有自己的标准,由于网络环境的差异和各网络防火墙采用的安全策略的不同,经常导致HLA通信发生故障,不利于广域网使用[3-4]。

Web服务基于可扩展标识语言(eXtensive Markup Language,XML)、简单对象访问协议(Simple Object Access Protocol,SOAP)和超文本传输协议(Hyper Text Transfer Protocol,HTTP)。这些技术和协议具有跨平台、编程语言等优势。将Web服务应用于HLA框架,不仅能够发挥HLA分布式仿真框架的优势,还能利用Web服务的开放透明等特性弥补上述的不足[5-6]。

Katherine[7]通过使用BEEP协议替换HTTP协议实现HLA Web服务,缺点是BEEP协议应用范围较小,通用性不强。Björn Möller提出由联邦成员请求RTI获取所需回调函数[3],但需要Cookie维持联邦成员与RTI的会话,与HTTP无状态协议的设计初衷不符,且增加了客户端开发难度。Xie等[8]通过客户端服务端双向Web服务完成回调,缺点是客户端也需要实现Web服务,对实现解耦复用等特性意义不大。文中通过将联邦大使进行基于SOA的封装和将Web服务分为功能支持服务和标准HLA Web服务,实现HLA与Web服务的结合。

1 Web服务

Web服务是一个通过互联网提供计算机到计算机交互的软件系统。Web服务利用格式化自解释的XML语言描述数据,完成软件系统间的通信。现代软件开发过程中,越来越多的将耗时长、复杂的运算放到高性能的服务器上执行,客户端只需远程调用所需的服务,待返回运算结果后完成其业务层逻辑即可。这正是现代软件开发中面向服务架构(Service Oriented Architecture,SOA)的核心思想[9]。

Web服务主要由三种技术组成,分别是服务描述语言(Web Services Description Language,WSDL)、SOAP和统一描述发现和集成中心(Universal Description,Discovery and Integration,UDDI)。不同系统可能使用不同的编程语言,因此需要一种不依赖于编程语言的数据交换方法,WSDL是一种特殊格式的文件,它定义了系统间数据通信并描述了Web服务所提供服务的具体信息。其他系统通过SOAP协议,将远程调用对象序列化为XML格式文件,其中包括调用对象名、输入参数等信息,然后将SOAP数据当作HTTP的body发送给Web服务完成系统间交互。

上述通讯过程的实现是通讯双方默认对方存在的基础上建立的,当所处网络中包含大量未知Web服务时,可通过UDDI发布和查询所需服务,具体流程如图1所示。

图1 Web服务流程

2 服务架构

传统的HLA仿真系统开发流程为:

(1)根据仿真系统的需要编写相关的HLA对象模型模板(Object Model Template,OMT)。

(2)参与仿真的各分系统根据HLA提供商提供的SDK(一般只提供C++和Java)和OMT编写自己的联邦成员软件。

(3)各分系统使用联邦大使接口通过TCP/IP连接到RTI与其他联邦成员进行交互。

由图2可以看到,传统RTI运行在中央服务器上,而各联邦成员运行在各客户主机上,以此实现分布式仿真。

图2 传统RTI架构

为了实现RTI的Web服务扩展,可在通信层面实现,最简单的想法是用HTTP协议更换TCP/IP协议,但这通常需要修改RTI的通信接口,一般HLA供应商不会提供源代码供用户修改其核心代码。因此要想不修改RTI源码的前提下实现扩展是比较困难的。

文中提出一种替换方案,其核心思想是对RTI提供的API进行Web封装,作为服务器。称这个软件系统为联邦大使管理代理(Ambassador Management Proxy,AMP)。AMP作为代理,接收联邦成员的数据并传递给RTI;同时接收RTI回调数据并传递给联邦成员。AMP与联邦成员之间通过HTTP协议进行通信,AMP与RTI之间通过TCP/IP进行通信。其框架结构如图3所示。

图3 扩展后HLA架构

AMP主要功能:

(1)用户认证,确认其相应的操作权限。

(2)完成联邦成员到联邦大使的映射,可以是一对一或多对一的形式。

(3)管理联邦大使,尤其是仿真任务中数据对象的维护。

(4)将联邦大使的接口通过Web服务的形式提供给用户。

(5)完成RTI系统回调。

AMP实质上提供的是远程功能调用(Remote Function Call,RFC),将联邦成员对Web服务的调用转换为联邦大使对RTI API的调用,联邦大使和RTI的交互在中央服务器内部完成,实现与用户的隔离。

3 技术实现

针对前文联邦大使管理代理模块功能的特点,简要描述其功能具体实现。

为了支持Web服务,HLA Evolved标准新增了WSDL API(hla1516e.wsdl)[10-13]。AMP基于WSDL API。AMP对于提供给用户的Web服务可以划分为两类,一类是管理功能支持服务,另一类是标准HLA WSDL服务。用户认证可归为管理功能,对用户提供注册、登陆等服务。AMP将用户信息持久化到数据库中便于后续管理和维护。

为用户提供创建、删除联邦大使等功能服务。用户登陆后,每一位用户维护一张联邦大使表(Ambassador Table),在表中完成相应的创建、删除操作,并完成用户到联邦大使的映射。

HLA对象模型模板(OMT)描述参与仿真的各联邦成员需要交互的数据类型及信息。OMT通常为XML格式,解析XML可获得仿真系统中交互数据内容。AMP系统为每一个联邦大使维护一个变量引用表(Variable Reference Table),联邦成员通过变量引用表发送及获取数据。联邦成员调用数据时,才对相应的变量进行实例化,从而降低系统内存消耗。

由于HTTP协议的局限性,只能由用户主动向服务器发起会话,因此回调函数的实现是HLA Web服务化必须解决的问题。通常采用的方法:

(1)使用BEEP协议替换HTTP协议,但BEEP协议的通用性十分有限,不如HTTP协议应用广泛。

(2)在服务器和客户端双向都提供Web服务,使服务器也可以主动向客户端发起会话,但这种做法仍然十分依赖于客户端软件的实现,增加了客户端复杂程度,不利于后期维护。

文中的解决方案是为用户提供回调函数注册服务,用户可以对自身联邦成员定义多张回调函数表,根据用户对回调函数时效性需求的不同,将速度要求高的回调函数和速度要求低的回调函数分别注册在不同的回调表中,然后客户端程序对不同的回调表设定不同的轮询频率完成回调。

4 实 验

对HLA Web服务化的原型系统进行了测试,参考文献[14]中内容,软件系统的功能性和并发处理能力是主要考察的方面,系统配置如表1所示。

表1 实验环境配置

实验中AMP使用gSOAP开源C++库和pRti提供的C++ SDK编写。gSOAP是一个快速开发Web服务的第三方开源库,可提供HTTP和SOAP协议的解析,使用户不用关心协议细节而专注于功能层面的实现。

pRti和AMP运行于中央服务器上,用户分别在其他主机上访问AMP的Web服务,实验用例Chat是pRti的教学用例,模拟一个聊天室,各用户交换数据。文中使用MFC编写联邦成员界面,实现加入联邦和发送接收数据功能。联邦成员交互如图4所示。

图4 联邦成员交互

每一次联邦成员发送或者接收数据,都是在调用AMP提供的Web服务,使AMP进行一次HTTP处理,实验中可模拟多用户同时向服务器发送HTTP请求,在服务器端记录每秒访问数,查看其并发处理能力,服务器访问处理曲线图如图5所示。

图5 服务器访问处理曲线

通过上述实验,证明文中设计的HLA Web服务框架是可行的,并且具有解耦、高并发、可定制化等优点。

5 结束语

HLA Web服务化是HLA分布式仿真发展的重要方向,HLA Web服务不仅可以扩展其适用范围,还增强了其对复杂系统仿真的能力,降低了开发难度和成本,这正是HLA设计的初衷。建模和仿真一直是仿真系统着力解决的两个核心问题,HLA Web服务不仅降低了仿真软件开发的门槛,并且使得不同编程语言背景的人都参与到开发中去,为系统的移植和部署提供了极大的便利。文中实现了一种快速扩展HLA Web服务的方法,实验结果表明其具有简单易用、开发周期短、高度可定制化等特点。

[1] 周 彦,戴剑伟.HLA仿真程序设计[M].北京:电子工业出版社,2002.

[2] Brutzman D,Zyda M,Pullen J M,et al.Extensible Modeling and Simulation Framework (XMSF):challenges for web-based modeling and simulation[EB/OL].(2002-10-22)[2007-03-20].http://www.movesinstitute.org/xmsf/xmsf.html.

[3] 张 卫,查亚兵.一种基于Globus工具箱的HLA RTI Web服务化方法[J].系统仿真学报,2009,21(20):6492-6497.

[4] 范希辉,刘 萍,杨艾军,等.面向广域网的高层体系结构设计[J].兵工自动化,2012,31(8):42-45.

[5] 曹鹏飞.基于Web服务的HLA联邦设计与实现[D].郑州:解放军信息工程大学,2011.

[6] 吴泽彬.基于Web服务的分布式仿真关键技术研究[D].南京:南京理工大学,2007.

[7] Katherine L M.Web enabling HLA compliant simulations to support network centric applications[EB/OL].(2004)[2006-07-20].http://www.dodccrp.org/events/2004/CCRTS_San_Diego/CD/papers/.

[8] Xie Y,Teo Y M,Cai W,et al.Service provisioning for HLA-based distributed simulation on the grid[C]//Workshop on principles of advanced and distributed simulation.Monterey,CA,USA:[s.n.],2005.

[9] 范希辉,刘 萍,杨艾军,等.面向服务的高层体系结构研究[J].计算机仿真,2012,29(11):382-385.

[10] 钟 蔚,龚建兴,郝建国,等.HLA Evolved规范研究分析[J].系统仿真学报,2011,23(4):691-696.

[11] IEEE-SA Standards Board.IEEE standard for Modeling and Simulation (M&S) High Level Architecture (HLA)—Object Model Template (OMT) specification [S].New York,USA:IEEE Inc.,2000.

[12] 高武奇,康凤举,钟联炯,等.一种基于HLA Evovled的云仿真技术研究[J].系统仿真学报,2011,23(8):1643-1647.

[13] 徐丽娟,彭晓源.基于HLA的仿真服务总线研究[J].系统仿真学报,2006,18(S2):347-349.

[14] 周 宝,王晓飞,姜继波.基于HLA的Web服务效能评估技术研究[J].系统仿真学报,2013,25(1):185-189.

A Method for Rapid Expansion of HLA/RTI Web Service

ZHANG Tao1,SHI Lu-sha2,ZHANG Bin2,YUN Yuan2,TIAN Yao2

(1.College of Electronic and Control Engineering,Beijing University of Technology,Beijing 100022,China;2.Technology and Engineering Center for Space Utilization,Chinese Academy of Sciences,Beijing 100094,China)

A Web services frame is proposed for fast extension of the High Level Architecture (HLA).This new frame is aimed to solve the problem of the old frame of the HLA distributed simulation that the latter can not operate smoothly on the WAN and makes the interfaces complex with other systems and the development languages single for the federal members.The new frame could make the HLA/RTI interfaces packaged by the SOA and decouple the HLA simulation system,the programming language and the platforms through the using of the HTTP protocol and the mapping of the users and the federal members with the agency of the federal members in the HLA/RTI center node.The characteristics of the fast development and the deployment and the highly customizable also could be reflected in this frame.A new idea to achieve the HLA simulation extension has been shown through this new frame for the companies and the institutions.The result of the project shows that this new frame is feasible for the extension of the HLA.It could improve the efficiency of the extension of the HLA and satisfy the needs of the high portability,the high efficiency,the decoupling of the programming language of the federal members and so on.The development and maintenance cost also could be reduced in the new frame.

HLA;RTI;Web services;distributed simulation;cross-platform

2016-02-25

2016-06-16

时间:2016-11-22

国家重大专项(Y31405210N)

张 涛(1990-),男,硕士生,研究方向为机械臂规划仿真。

http://www.cnki.net/kcms/detail/61.1450.TP.20161122.1227.006.html

TP301

A

1673-629X(2016)12-0049-04

10.3969/j.issn.1673-629X.2016.12.011

猜你喜欢

大使联邦客户端
我是菱大使
一“炮”而红 音联邦SVSound 2000 Pro品鉴会完满举行
微笑大使
如何看待传统媒体新闻客户端的“断舍离”?
303A深圳市音联邦电气有限公司
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
小狗大使
20年后捷克与斯洛伐克各界对联邦解体的反思