羅喜伶,范佳欣+,齊 鳴
(1.北京航空航天大學(xué) 電子信息工程學(xué)院,北京100191;2.民航局空中交通管理局,北京100022)
目前,生產(chǎn)運(yùn)行飛行數(shù)據(jù)的民航業(yè)務(wù)系統(tǒng)種類繁多,信息化進(jìn)程不一,系統(tǒng)之間關(guān)聯(lián)性弱,存在共享性差的問題?,F(xiàn)行的專用數(shù)據(jù)模型、緊耦合系統(tǒng)接口以及特定傳輸協(xié)議造成了飛行數(shù)據(jù)的 “信息孤島”,難以為航路導(dǎo)航系統(tǒng)、航班運(yùn)行控制系統(tǒng)和其它民航業(yè)務(wù)系統(tǒng)建立共同的態(tài)勢感知和協(xié)同決策基礎(chǔ)[1]。
因此,本文基于廣域信息管理的技術(shù)架構(gòu),開展標(biāo)準(zhǔn)、靈活、綜合的飛行數(shù)據(jù)服務(wù)研究。在對(duì)飛行數(shù)據(jù)服務(wù)整體設(shè)計(jì)的基礎(chǔ)上,重點(diǎn)研究廣域信息管理架構(gòu)的物理實(shí)現(xiàn)、公共飛行數(shù)據(jù)模型的建立、飛行數(shù)據(jù)訪問服務(wù)的構(gòu)建和飛行數(shù)據(jù)的綜合4方面關(guān)鍵技術(shù)。
廣域信息管理(SWIM)概念最初由美國和歐洲共同提出,由國際民航組織 (ICAO)正式發(fā)布,是美國下一代航空運(yùn)輸系統(tǒng)(NextGen)和歐洲單一天空實(shí)施計(jì)劃 (SESAR)的系統(tǒng)互聯(lián)和信息共享基礎(chǔ),以及航空系統(tǒng)組塊升級(jí) (ASBU)性能改進(jìn)領(lǐng)域全球數(shù)據(jù)與系統(tǒng)互聯(lián)部分的重要支撐[2]。
SWIM 分層概念如圖1 所示,作為便于信息獲取的網(wǎng)絡(luò)化基礎(chǔ)設(shè)施服務(wù)的全新信息管理方式,SWIM 采用面向服務(wù) (SOA)的分層架構(gòu)思想,從以應(yīng)用為中心過渡到以數(shù)據(jù)和服務(wù)為中心,通過在中間層構(gòu)建SWIM 基礎(chǔ)架構(gòu),為民航業(yè)務(wù)系統(tǒng)提供統(tǒng)一透明的信息訪問服務(wù),實(shí)現(xiàn)民航業(yè)務(wù)系統(tǒng)與信息技術(shù)基礎(chǔ)設(shè)施的分離[3]。
圖1 SWIM 架構(gòu)分層概念
與現(xiàn)行的民航信息集成方式相比,SWIM 能夠提供松耦合、標(biāo)準(zhǔn)化和開放的接口,靈活、有效的服務(wù),進(jìn)行民航業(yè)務(wù)數(shù)據(jù)的智能化交換,支持大批量、連續(xù)性的數(shù)據(jù),提高全民航業(yè)務(wù)系統(tǒng)間的互聯(lián)互通能力。SWIM 可作為解決目前飛行數(shù)據(jù)在標(biāo)準(zhǔn)化、靈活性及綜合性方面存在問題的有效技術(shù)。
根據(jù)SWIM 分層架構(gòu)思想及我國飛行數(shù)據(jù)及業(yè)務(wù)需求實(shí)際,將飛行數(shù)據(jù)服務(wù)整體架構(gòu)自下而上設(shè)計(jì)為技術(shù)基礎(chǔ)設(shè)施層、SWIM 核心服務(wù)層、飛行數(shù)據(jù)服務(wù)層及民航業(yè)務(wù)系統(tǒng)層四層結(jié)構(gòu)[4],如圖2所示。
圖2 飛行數(shù)據(jù)服務(wù)整體架構(gòu)
(1)技術(shù)基礎(chǔ)設(shè)施層:提供物理網(wǎng)絡(luò)連接和必要的硬件設(shè)備,由整個(gè)架構(gòu)運(yùn)行所需基礎(chǔ)設(shè)施組成;
(2)SWIM 核心服務(wù)層:以標(biāo)準(zhǔn)化中間件為基礎(chǔ),由接口管理、消息服務(wù)、安全服務(wù)、企業(yè)管理服務(wù)組成,實(shí)現(xiàn)對(duì)飛行數(shù)據(jù)服務(wù)安全高效的管理和監(jiān)控;
(3)飛行數(shù)據(jù)服務(wù)層:作為民航業(yè)務(wù)系統(tǒng)層與SWIM核心服務(wù)層的中介,提供標(biāo)準(zhǔn)化飛行數(shù)據(jù)服務(wù)為民航業(yè)務(wù)系統(tǒng)層提供訪問接口,屏蔽技術(shù)基礎(chǔ)設(shè)施和中間件的復(fù)雜技術(shù)問題;
(4)民航業(yè)務(wù)系統(tǒng)層:飛行數(shù)據(jù)服務(wù)的消費(fèi)者,包括了空管部門、機(jī)場、航空公司、非民航用戶等利益相關(guān)方的民航業(yè)務(wù)系統(tǒng)。
飛行數(shù)據(jù)服務(wù)層是本文研究實(shí)現(xiàn)的核心內(nèi)容,主要包含公共飛行數(shù)據(jù)模型建立、飛行數(shù)據(jù)服務(wù)構(gòu)建和飛行數(shù)據(jù)綜合3個(gè)重要部分。本文通過公共飛行數(shù)據(jù)模型建模,建立統(tǒng)一的邏輯實(shí)體對(duì)數(shù)據(jù)進(jìn)行描述,實(shí)現(xiàn)飛行數(shù)據(jù)的標(biāo)準(zhǔn)化;通過構(gòu)建飛行數(shù)據(jù)訪問服務(wù),簡化飛行數(shù)據(jù)訪問機(jī)制,實(shí)現(xiàn)飛行數(shù)據(jù)傳輸?shù)撵`活性;通過飛行數(shù)據(jù)綜合,利用SWIM 消息中間件集成飛行數(shù)據(jù),實(shí)現(xiàn)飛行數(shù)據(jù)的綜合性。提供標(biāo)準(zhǔn)、靈活、綜合的飛行數(shù)據(jù)服務(wù)。
SWIM 技術(shù)架構(gòu)[5]的物理實(shí)現(xiàn)方法如圖3所示。
在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)層面,由傳統(tǒng)的點(diǎn)對(duì)點(diǎn)模式轉(zhuǎn)變?yōu)橐許WIM 中間件為傳輸核心的共享架構(gòu),實(shí)現(xiàn)民航業(yè)務(wù)系統(tǒng)與信息基礎(chǔ)設(shè)施的分離;在系統(tǒng)管理層面,采用標(biāo)準(zhǔn)化的接口管理,構(gòu)建飛行數(shù)據(jù)服務(wù),提高系統(tǒng)互聯(lián)與訪問靈活性;在傳輸模式層面,從傳統(tǒng)的數(shù)據(jù)直連、網(wǎng)關(guān)中介和報(bào)文傳輸3種接口傳輸方式轉(zhuǎn)變?yōu)榘l(fā)布/訂閱和請(qǐng)求/響應(yīng)的傳輸方式,實(shí)現(xiàn)飛行數(shù)據(jù)服務(wù)的虛擬化和松耦合架構(gòu)。通過以上3個(gè)層面,物理實(shí)現(xiàn)飛行數(shù)據(jù)服務(wù)的技術(shù)架構(gòu)基礎(chǔ)。
公共飛行數(shù)據(jù)模型是為了在整個(gè)飛行生命周期中實(shí)現(xiàn)飛行數(shù)據(jù)交換而建立的數(shù)據(jù)模型,模型通過提供共同的概念定義和數(shù)據(jù)結(jié)構(gòu),以統(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)視圖模式描述飛行信息,實(shí)現(xiàn)飛行數(shù)據(jù)的標(biāo)準(zhǔn)化[6]。
圖3 SWIM 架構(gòu)物理實(shí)現(xiàn)
公共飛行數(shù)據(jù)模型[7]的建立分為以下3個(gè)步驟:
(1)建立概念模型:制定飛行數(shù)據(jù)字典,使用統(tǒng)一建模語言 (UML)對(duì)飛行數(shù)據(jù)所包含的所有概念信息進(jìn)行定義,并描述概念間的相互關(guān)系,以全局視角定義飛行數(shù)據(jù)概念。
(2)建立邏輯數(shù)據(jù)模型:建立UML 模型,在概念模型的基礎(chǔ)上以抽象形式詳細(xì)說明各概念的數(shù)據(jù)類型及數(shù)據(jù)間邏輯結(jié)構(gòu),提供飛行數(shù)據(jù)的整體邏輯視圖。
(3)建立物理數(shù)據(jù)模型:建立可擴(kuò)展標(biāo)識(shí)語言模式(XML Schema)模型,提供邏輯數(shù)據(jù)模型到物理表達(dá)模型之間的映射,實(shí)現(xiàn)模型的物理可用性和跨平臺(tái)互操作性。
此外,公共飛行數(shù)據(jù)模型還可采用 “核心+擴(kuò)展”的模式,以嚴(yán)格控制的核心作為基本特征,附加一系列可擴(kuò)展參考元素,增強(qiáng)對(duì)不同業(yè)務(wù)需求的適應(yīng)性。
飛行數(shù)據(jù)訪問服務(wù)能夠?qū)崿F(xiàn)不同民航業(yè)務(wù)系統(tǒng)間異構(gòu)飛行數(shù)據(jù)的接入與標(biāo)準(zhǔn)化,進(jìn)行數(shù)據(jù)格式和傳輸協(xié)議的轉(zhuǎn)換,為民航業(yè)務(wù)系統(tǒng)層提供標(biāo)準(zhǔn)、獨(dú)立、靈活的接口,實(shí)現(xiàn)飛行數(shù)據(jù)傳輸?shù)撵`活性。
基于公共飛行數(shù)據(jù)模型,飛行數(shù)據(jù)訪問服務(wù)利用適配器雙向映射XML Schema模型與異構(gòu)數(shù)據(jù),將飛行數(shù)據(jù)轉(zhuǎn)換成XML標(biāo)準(zhǔn)格式進(jìn)行封裝,交由數(shù)據(jù)交換引擎生成服務(wù)接口并注冊(cè)到SWIM 核心服務(wù)層的消息中間件上,最后通過消息傳輸模塊實(shí)現(xiàn)與民航業(yè)務(wù)系統(tǒng)之間的傳輸[8],如圖4所示。
圖4 飛行數(shù)據(jù)訪問服務(wù)
飛行數(shù)據(jù)訪問服務(wù)的構(gòu)建有兩種方式:Web服務(wù)[9]和Java消息服務(wù) (JMS)[10]。在物理傳輸模式上,Web 服務(wù)采用請(qǐng)求/相應(yīng)機(jī)制,JMS采用發(fā)布/訂閱機(jī)制。二種服務(wù)方式均可分布部署,屏蔽系統(tǒng)技術(shù)和數(shù)據(jù)的異構(gòu)性,實(shí)現(xiàn)松耦合;進(jìn)行標(biāo)準(zhǔn)化封裝和發(fā)布,不依賴于其它組件獨(dú)立而被調(diào)用,實(shí)現(xiàn)獨(dú)立性;根據(jù)業(yè)務(wù)需求動(dòng)態(tài)綁定組裝,滿足不同需求,實(shí)現(xiàn)互操作性。
在構(gòu)建飛行數(shù)據(jù)訪問服務(wù)的過程中,可依據(jù)民航業(yè)務(wù)系統(tǒng)具體業(yè)務(wù)流程及需求,選取相應(yīng)服務(wù)方式。
飛行數(shù)據(jù)綜合以SWIM 核心服務(wù)層的消息中間件為技術(shù)實(shí)現(xiàn)基礎(chǔ)。飛行數(shù)據(jù)訪問服務(wù)在完成注冊(cè)后,XML 標(biāo)準(zhǔn)化的飛行數(shù)據(jù)進(jìn)入消息中間件的消息序列,在消息中介中完成數(shù)據(jù)集成,實(shí)現(xiàn)飛行數(shù)據(jù)的綜合性。
進(jìn)入消息序列的飛行數(shù)據(jù),根據(jù)策略配置經(jīng)由消息路由、消息轉(zhuǎn)換和消息聚合3步完成飛行數(shù)據(jù)綜合。民航業(yè)務(wù)系統(tǒng)可根據(jù)具體業(yè)務(wù)需求配置綜合策略。在策略配置的驅(qū)動(dòng)下,消息路由基于內(nèi)容將需要集成的飛行數(shù)據(jù)組合在一起,再經(jīng)過消息轉(zhuǎn)換調(diào)整數(shù)據(jù)結(jié)構(gòu),最后在消息聚合中完成飛行數(shù)據(jù)的綜合[11],如圖5所示。
圖5 飛行數(shù)據(jù)綜合
企業(yè)服務(wù)總線[12](ESB)是傳統(tǒng)中間件技術(shù)與XML、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物,可作為實(shí)現(xiàn)飛行數(shù)據(jù)綜合的有效技術(shù)方案,搭建提供通信、整合、安全、事務(wù)支持和服務(wù)質(zhì)量控制等功能的基礎(chǔ)架構(gòu),為民航業(yè)務(wù)系統(tǒng)的飛行數(shù)據(jù)服務(wù)提供動(dòng)態(tài)整合機(jī)制。
本文在建立公共飛行數(shù)據(jù)模型的基礎(chǔ)上,基于企業(yè)服務(wù)總線的中間件架構(gòu),使用Web Service的方式,實(shí)現(xiàn)飛行數(shù)據(jù)服務(wù)。
首先,建立公共飛行數(shù)據(jù)模型,制定共同的飛行數(shù)據(jù)概念定義和數(shù)據(jù)結(jié)構(gòu),生成對(duì)應(yīng)Java對(duì)象模型用于服務(wù)開發(fā),生出對(duì)應(yīng)XML Schema模型作為數(shù)據(jù)格式規(guī)范,以統(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)視圖模式描述飛行信息,實(shí)現(xiàn)飛行數(shù)據(jù)的標(biāo)準(zhǔn)化。
在飛行數(shù)據(jù)分析的基礎(chǔ)上,制定飛行數(shù)據(jù)字典。利用建模軟件Enterprise Architect建立飛行數(shù)據(jù)的UML數(shù)據(jù)模型,提供飛行數(shù)據(jù)的整體邏輯視圖,如圖6所示。
圖6 飛行數(shù)據(jù)UML模型
根據(jù)數(shù)據(jù)及業(yè)務(wù)邏輯關(guān)系定義轉(zhuǎn)換策略,將飛行數(shù)據(jù)UML數(shù)據(jù)轉(zhuǎn)換為Java對(duì)象模型,如圖7 所示。相應(yīng)Java對(duì)象代碼可用于開發(fā)飛行數(shù)據(jù)訪問服務(wù),作為數(shù)據(jù)適配器的持久化類映射飛行數(shù)據(jù)源,形成Web Service會(huì)話中的操作對(duì)象。
同時(shí),定義飛行數(shù)據(jù)UML 數(shù)據(jù)模型與XML Schema模型的基本轉(zhuǎn)換規(guī)則,生成飛行數(shù)據(jù)XML Schema模型定義實(shí)際傳輸?shù)娘w行數(shù)據(jù)格式。
然后,采用Web Service的方式構(gòu)建飛行數(shù)據(jù)訪問服務(wù)。服務(wù)開發(fā)應(yīng)用流程如圖8所示。在開發(fā)階段,通過Java平臺(tái)上應(yīng)用程序定義的API(JAXR)訪問企業(yè)服務(wù)總線的元數(shù)據(jù)注冊(cè)中心,將服務(wù)的元數(shù)據(jù)描述文件注冊(cè)到企業(yè)服務(wù)總線上。在應(yīng)用階段,民航業(yè)務(wù)系統(tǒng)根據(jù)實(shí)際需求,在企業(yè)服務(wù)總線的服務(wù)管理中查找飛行數(shù)據(jù)服務(wù),獲得飛行數(shù)據(jù)服務(wù)的地址與描述信息;再根據(jù)查找到的服務(wù)信息檢索服務(wù)的描述文件 (WSDL),并綁定飛行數(shù)據(jù)服務(wù);最后,向Java服務(wù)容器 (Servlets)發(fā)送調(diào)用請(qǐng)求,接收簡單對(duì)象訪問協(xié)議 (SOAP)消息,實(shí)現(xiàn)飛行數(shù)據(jù)服務(wù)的調(diào)用。
圖7 飛行數(shù)據(jù)Java對(duì)象模型
圖8 服務(wù)開發(fā)應(yīng)用流程
最后,利用企業(yè)服務(wù)總線的服務(wù)代理機(jī)制,實(shí)現(xiàn)飛行數(shù)據(jù)服務(wù)的數(shù)據(jù)綜合與調(diào)用。數(shù)據(jù)調(diào)用流程如圖9所示。民航業(yè)務(wù)系統(tǒng)的服務(wù)請(qǐng)求端口向企業(yè)服務(wù)總線的消息處理端口發(fā)送飛行數(shù)據(jù)服務(wù)請(qǐng)求;企業(yè)服務(wù)總線以服務(wù)代理的方式向飛行數(shù)據(jù)服務(wù)提供者的響應(yīng)端口發(fā)出代理服務(wù)請(qǐng)求,獲得服務(wù)的響應(yīng)及消息數(shù)據(jù),對(duì)飛行數(shù)據(jù)進(jìn)行綜合,同時(shí)根據(jù)基于內(nèi)容的消息路由傳遞消息;最后,民航業(yè)務(wù)系統(tǒng)獲得代理服務(wù)響應(yīng),獲得飛行數(shù)據(jù)。
圖9 服務(wù)飛行數(shù)據(jù)流程
封裝后的飛行數(shù)據(jù)SOAP消息格式如圖10所示。
圖10 飛行數(shù)據(jù)SOAP消息格式
部署后飛行數(shù)據(jù)服務(wù)如圖11所示,基于企業(yè)服務(wù)總線的民航廣域信息管理平臺(tái)能夠有效的管理飛行數(shù)據(jù)服務(wù),顯示服務(wù)具體信息并對(duì)服務(wù)進(jìn)行配置,實(shí)現(xiàn)民航業(yè)務(wù)系統(tǒng)對(duì)飛行數(shù)據(jù)服務(wù)的調(diào)用需求。
圖11 飛行數(shù)據(jù)服務(wù)
民航業(yè)務(wù)系統(tǒng)現(xiàn)行的專用數(shù)據(jù)模型、緊耦合系統(tǒng)接口以及特定傳輸協(xié)議導(dǎo)致了飛行數(shù)據(jù)的 “信息孤島”,造成了全民航業(yè)務(wù)系統(tǒng)間飛行數(shù)據(jù)共享與管理的難題。
與之相比,基于廣域信息管理的飛行數(shù)據(jù)服務(wù)能夠提供標(biāo)準(zhǔn)的公共數(shù)據(jù)模型,靈活的訪問服務(wù)和綜合的飛行數(shù)據(jù),能夠?qū)崿F(xiàn)民航業(yè)務(wù)系統(tǒng)間飛行數(shù)據(jù)的智能化交換。
目前,歐美SWIM 網(wǎng)絡(luò)已經(jīng)開展了互聯(lián)工作,飛行對(duì)象數(shù)據(jù)能夠跨大西洋傳送。SWIM 發(fā)展進(jìn)入了全球化階段。然而,國內(nèi)針對(duì)基于廣域信息管理的飛行數(shù)據(jù)服務(wù)的研究還存在較大空白。應(yīng)加快研究工作的開展,為未來實(shí)現(xiàn)標(biāo)準(zhǔn)、靈活、綜合的飛行數(shù)據(jù)服務(wù)打下基礎(chǔ)。
[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的信息模型中數(shù)據(jù)字典的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(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服務(wù)安全框架設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(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 的數(shù)據(jù)集成研究[J].計(jì)算機(jī)應(yīng)用研究,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).[夏純中,宋順林.實(shí)時(shí)企業(yè)服務(wù)總線的研究與設(shè)計(jì) [J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33 (3):951-956.]