基于广域信息管理的飞行数据服务设计与实现
2015-12-23罗喜伶范佳欣
罗喜伶,范佳欣+,齐 鸣
(1.北京航空航天大学 电子信息工程学院,北京100191;2.民航局空中交通管理局,北京100022)
0 引 言
目前,生产运行飞行数据的民航业务系统种类繁多,信息化进程不一,系统之间关联性弱,存在共享性差的问题。现行的专用数据模型、紧耦合系统接口以及特定传输协议造成了飞行数据的 “信息孤岛”,难以为航路导航系统、航班运行控制系统和其它民航业务系统建立共同的态势感知和协同决策基础[1]。
因此,本文基于广域信息管理的技术架构,开展标准、灵活、综合的飞行数据服务研究。在对飞行数据服务整体设计的基础上,重点研究广域信息管理架构的物理实现、公共飞行数据模型的建立、飞行数据访问服务的构建和飞行数据的综合4方面关键技术。
1 广域信息管理技术
广域信息管理(SWIM)概念最初由美国和欧洲共同提出,由国际民航组织 (ICAO)正式发布,是美国下一代航空运输系统(NextGen)和欧洲单一天空实施计划 (SESAR)的系统互联和信息共享基础,以及航空系统组块升级 (ASBU)性能改进领域全球数据与系统互联部分的重要支撑[2]。
SWIM 分层概念如图1 所示,作为便于信息获取的网络化基础设施服务的全新信息管理方式,SWIM 采用面向服务 (SOA)的分层架构思想,从以应用为中心过渡到以数据和服务为中心,通过在中间层构建SWIM 基础架构,为民航业务系统提供统一透明的信息访问服务,实现民航业务系统与信息技术基础设施的分离[3]。
图1 SWIM 架构分层概念
与现行的民航信息集成方式相比,SWIM 能够提供松耦合、标准化和开放的接口,灵活、有效的服务,进行民航业务数据的智能化交换,支持大批量、连续性的数据,提高全民航业务系统间的互联互通能力。SWIM 可作为解决目前飞行数据在标准化、灵活性及综合性方面存在问题的有效技术。
2 基于SWIM 的飞行数据服务整体架构设计
根据SWIM 分层架构思想及我国飞行数据及业务需求实际,将飞行数据服务整体架构自下而上设计为技术基础设施层、SWIM 核心服务层、飞行数据服务层及民航业务系统层四层结构[4],如图2所示。
图2 飞行数据服务整体架构
(1)技术基础设施层:提供物理网络连接和必要的硬件设备,由整个架构运行所需基础设施组成;
(2)SWIM 核心服务层:以标准化中间件为基础,由接口管理、消息服务、安全服务、企业管理服务组成,实现对飞行数据服务安全高效的管理和监控;
(3)飞行数据服务层:作为民航业务系统层与SWIM核心服务层的中介,提供标准化飞行数据服务为民航业务系统层提供访问接口,屏蔽技术基础设施和中间件的复杂技术问题;
(4)民航业务系统层:飞行数据服务的消费者,包括了空管部门、机场、航空公司、非民航用户等利益相关方的民航业务系统。
飞行数据服务层是本文研究实现的核心内容,主要包含公共飞行数据模型建立、飞行数据服务构建和飞行数据综合3个重要部分。本文通过公共飞行数据模型建模,建立统一的逻辑实体对数据进行描述,实现飞行数据的标准化;通过构建飞行数据访问服务,简化飞行数据访问机制,实现飞行数据传输的灵活性;通过飞行数据综合,利用SWIM 消息中间件集成飞行数据,实现飞行数据的综合性。提供标准、灵活、综合的飞行数据服务。
3 基于SWIM 的飞行数据服务关键技术研究
3.1 SWIM 技术架构物理实现
SWIM 技术架构[5]的物理实现方法如图3所示。
在网络拓扑结构层面,由传统的点对点模式转变为以SWIM 中间件为传输核心的共享架构,实现民航业务系统与信息基础设施的分离;在系统管理层面,采用标准化的接口管理,构建飞行数据服务,提高系统互联与访问灵活性;在传输模式层面,从传统的数据直连、网关中介和报文传输3种接口传输方式转变为发布/订阅和请求/响应的传输方式,实现飞行数据服务的虚拟化和松耦合架构。通过以上3个层面,物理实现飞行数据服务的技术架构基础。
3.2 公共飞行数据模型建立
公共飞行数据模型是为了在整个飞行生命周期中实现飞行数据交换而建立的数据模型,模型通过提供共同的概念定义和数据结构,以统一标准的数据视图模式描述飞行信息,实现飞行数据的标准化[6]。
图3 SWIM 架构物理实现
公共飞行数据模型[7]的建立分为以下3个步骤:
(1)建立概念模型:制定飞行数据字典,使用统一建模语言 (UML)对飞行数据所包含的所有概念信息进行定义,并描述概念间的相互关系,以全局视角定义飞行数据概念。
(2)建立逻辑数据模型:建立UML 模型,在概念模型的基础上以抽象形式详细说明各概念的数据类型及数据间逻辑结构,提供飞行数据的整体逻辑视图。
(3)建立物理数据模型:建立可扩展标识语言模式(XML Schema)模型,提供逻辑数据模型到物理表达模型之间的映射,实现模型的物理可用性和跨平台互操作性。
此外,公共飞行数据模型还可采用 “核心+扩展”的模式,以严格控制的核心作为基本特征,附加一系列可扩展参考元素,增强对不同业务需求的适应性。
3.3 飞行数据访问服务构建
飞行数据访问服务能够实现不同民航业务系统间异构飞行数据的接入与标准化,进行数据格式和传输协议的转换,为民航业务系统层提供标准、独立、灵活的接口,实现飞行数据传输的灵活性。
基于公共飞行数据模型,飞行数据访问服务利用适配器双向映射XML Schema模型与异构数据,将飞行数据转换成XML标准格式进行封装,交由数据交换引擎生成服务接口并注册到SWIM 核心服务层的消息中间件上,最后通过消息传输模块实现与民航业务系统之间的传输[8],如图4所示。
图4 飞行数据访问服务
飞行数据访问服务的构建有两种方式:Web服务[9]和Java消息服务 (JMS)[10]。在物理传输模式上,Web 服务采用请求/相应机制,JMS采用发布/订阅机制。二种服务方式均可分布部署,屏蔽系统技术和数据的异构性,实现松耦合;进行标准化封装和发布,不依赖于其它组件独立而被调用,实现独立性;根据业务需求动态绑定组装,满足不同需求,实现互操作性。
在构建飞行数据访问服务的过程中,可依据民航业务系统具体业务流程及需求,选取相应服务方式。
3.4 飞行数据综合
飞行数据综合以SWIM 核心服务层的消息中间件为技术实现基础。飞行数据访问服务在完成注册后,XML 标准化的飞行数据进入消息中间件的消息序列,在消息中介中完成数据集成,实现飞行数据的综合性。
进入消息序列的飞行数据,根据策略配置经由消息路由、消息转换和消息聚合3步完成飞行数据综合。民航业务系统可根据具体业务需求配置综合策略。在策略配置的驱动下,消息路由基于内容将需要集成的飞行数据组合在一起,再经过消息转换调整数据结构,最后在消息聚合中完成飞行数据的综合[11],如图5所示。
图5 飞行数据综合
企业服务总线[12](ESB)是传统中间件技术与XML、Web服务等技术结合的产物,可作为实现飞行数据综合的有效技术方案,搭建提供通信、整合、安全、事务支持和服务质量控制等功能的基础架构,为民航业务系统的飞行数据服务提供动态整合机制。
4 飞行数据服务实现实例
本文在建立公共飞行数据模型的基础上,基于企业服务总线的中间件架构,使用Web Service的方式,实现飞行数据服务。
首先,建立公共飞行数据模型,制定共同的飞行数据概念定义和数据结构,生成对应Java对象模型用于服务开发,生出对应XML Schema模型作为数据格式规范,以统一标准的数据视图模式描述飞行信息,实现飞行数据的标准化。
在飞行数据分析的基础上,制定飞行数据字典。利用建模软件Enterprise Architect建立飞行数据的UML数据模型,提供飞行数据的整体逻辑视图,如图6所示。
图6 飞行数据UML模型
根据数据及业务逻辑关系定义转换策略,将飞行数据UML数据转换为Java对象模型,如图7 所示。相应Java对象代码可用于开发飞行数据访问服务,作为数据适配器的持久化类映射飞行数据源,形成Web Service会话中的操作对象。
同时,定义飞行数据UML 数据模型与XML Schema模型的基本转换规则,生成飞行数据XML Schema模型定义实际传输的飞行数据格式。
然后,采用Web Service的方式构建飞行数据访问服务。服务开发应用流程如图8所示。在开发阶段,通过Java平台上应用程序定义的API(JAXR)访问企业服务总线的元数据注册中心,将服务的元数据描述文件注册到企业服务总线上。在应用阶段,民航业务系统根据实际需求,在企业服务总线的服务管理中查找飞行数据服务,获得飞行数据服务的地址与描述信息;再根据查找到的服务信息检索服务的描述文件 (WSDL),并绑定飞行数据服务;最后,向Java服务容器 (Servlets)发送调用请求,接收简单对象访问协议 (SOAP)消息,实现飞行数据服务的调用。
图7 飞行数据Java对象模型
图8 服务开发应用流程
最后,利用企业服务总线的服务代理机制,实现飞行数据服务的数据综合与调用。数据调用流程如图9所示。民航业务系统的服务请求端口向企业服务总线的消息处理端口发送飞行数据服务请求;企业服务总线以服务代理的方式向飞行数据服务提供者的响应端口发出代理服务请求,获得服务的响应及消息数据,对飞行数据进行综合,同时根据基于内容的消息路由传递消息;最后,民航业务系统获得代理服务响应,获得飞行数据。
图9 服务飞行数据流程
封装后的飞行数据SOAP消息格式如图10所示。
图10 飞行数据SOAP消息格式
部署后飞行数据服务如图11所示,基于企业服务总线的民航广域信息管理平台能够有效的管理飞行数据服务,显示服务具体信息并对服务进行配置,实现民航业务系统对飞行数据服务的调用需求。
图11 飞行数据服务
5 结束语
民航业务系统现行的专用数据模型、紧耦合系统接口以及特定传输协议导致了飞行数据的 “信息孤岛”,造成了全民航业务系统间飞行数据共享与管理的难题。
与之相比,基于广域信息管理的飞行数据服务能够提供标准的公共数据模型,灵活的访问服务和综合的飞行数据,能够实现民航业务系统间飞行数据的智能化交换。
目前,欧美SWIM 网络已经开展了互联工作,飞行对象数据能够跨大西洋传送。SWIM 发展进入了全球化阶段。然而,国内针对基于广域信息管理的飞行数据服务的研究还存在较大空白。应加快研究工作的开展,为未来实现标准、灵活、综合的飞行数据服务打下基础。
[1]Charles Chen,Midori Tanino,Bruce Taylor.Flight information exchange via net-centric services [C]//Integrated Communications Navigation and Surveillance Conference,2013:C1-1-C1-8.
[2]Prabhu V,Simons M.NextGen and SWIM evolution in the mid-term [C]//Integrated Communications,Navigation and Surveillance Conference,2009:1-11.
[3]Meserole JS,Moore JW.What is system wide information management(SWIM)?[J].Aerospace and Electronic Systems Magazine,2007,V22 (5):13-19.
[4]Dario Di Crescenzo,Antonio Strano,Georg Trausmuth.System wide information management:The SWIM-SUIT prototype[C]//Integrated Communications Navigation and Surveillance Conference,2010:C2-1-C2-13.
[5]FAA.System wide information management(SWIM)technical overview[EB/OL].[2014-05-17].http://www.faa.gov.
[6]Ng T.Providing a flight object manager in the national airspace system [C]//Integrated Communications,Navigation and Surveillance Conference,2013:1-5.
[7]TAN Min,LIU Lianchen,NI Wancheng.Design and implementation of a data dietionary in information model based on UML [J].Computer Engineering and Design,2008,29 (4):849-851 (in Chinese). [谭敏,刘连臣,倪晚成.基于UML的信息模型中数据字典的设计与实现 [J].计算机工程与设计,2008,29 (4):849-851.]
[8]Ayhan S,Comitz P.Swim interoperability with flight object mediation service[C]//Digital Avionics Systems Conference,2009.
[9]XIONG Guangcai,MU Dejun,ZHANG Xinjia,et al.Design and implementation of web service security framework based on Axis2 [J].Computer Engineering and Design,2012,33 (5):1729-1733 (in Chinese).[熊光彩,慕德俊,张新家,等.基于Axis2的web服务安全框架设计与实现 [J].计算机工程与设计,2012,33 (5):1729-1733.]
[10]WU Yongying,LV Jiyun,BAN Pengxin.Research of data integration based on JMS and XML [J].Application Research of Computers,2004,23 (7):43-45 (in Chinese). [吴 永英,吕继云,班鹏新.基于JMS 和XML 的数据集成研究[J].计算机应用研究,2004,23 (7):43-45.]
[11]Meng Qingtao,Luo Xiling,Qi Ming,et al.A multiform SWIM service delivery platform for air traffic management environment[J].International Journal of Digital,2010,6(18):393-400.
[12]XIA Chunzhong,SONG Shunlin.Study and design of realtime enterprise service bus [J].Computer Engineering and Design,2012,33 (3):951-956 (in Chinese).[夏纯中,宋顺林.实时企业服务总线的研究与设计 [J].计算机工程与设计,2012,33 (3):951-956.]