賴 欣,胡敬玉
(中國民用航空飛行學院,四川 廣漢 618307)
隨著航空交通流量的持續增加,更多的航空公司、更多的飛機將投入航空運行,全球航空業將越來越需要準確易用的航空信息作為安全運行的支持[1-2]。目前,航空信息管理涵蓋航空業內的許多不同服務和數據庫,例如機場數據與信息、天氣信息、空管信息等,信息在不同應用系統中以不同的格式進行表達和存儲,跨系統操作通常不靈活且存在風險,這就迫切需要采用一種統一的航空信息表達方式,使航空在通用表達的前提下實現互操作性。而允許涵蓋全球所有航空信息的綜合系統的存在仍然是一個巨大的工程。因此目前可以考慮的方式是建立支持關鍵航空信息集成的數據集成系統,使用戶可以及時、安全地檢索和使用所需的多種航空信息,同時也能根據航空數據動態特性進行實時調整,自動更新。文中采用目前國際民航組織支持推廣的AIXM模型與XML動態數據共享技術,設計可實現跨系統進行數據集成的方案,并對該方案中涉及的各步驟和技術進行詳細說明。
目前EUROCONTROL和FAA都提出了航空信息標準化的項目,并持續提出了各項關鍵技術與標準,例如AIXM(航空信息交換模型)和WXXM(天氣信息交換模型)。AIXM標準包括主要參考航空數據,例如有關跑道,航線,空域和機場地理位置等信息,已被國際民航組織采用作為航空數據交換的全球標準[3]。WXXM標準包括有關各種類型的特定氣象航空信息[4]。AIXM與WXXM的基本思想均為將航空信息與氣象信息進行建模,并以UML模型結構表達,從而體現各類航空信息、氣象信息的基本屬性與關聯性。圖1為航空要素跑道(Runway)的UML視圖。隨后根據UML模型,利用目前全球通用的可擴展標記語言XML將UML進行編碼,形成計算機可識別的結構化語言,因此AIXM與WXXM本質都是基于XML的標準,未來完全結構化數據的航空信息與氣象信息要求能夠在支持XML的數據庫中集成XML文檔[5]。由于航空信息與氣象信息都是可隨時間變更的,因此AIXM和WXXM都被設計用于表示和交換動態航空數據,屬于動態數據。因此XML數據倉庫和動態XML文檔的技術是實現航空數據統一標準集成的關鍵[6]。

圖1 跑道(Runway)UML視圖
目前屬于從傳統航空信息服務到結構化數據航空信息服務的過渡期,因此民航使用的信息系統采用的底層數據表達方式存儲形式多樣。根據調查,數據表達和存儲以傳統關系數據庫SQL結構為主,部分新航空信息系統采用了NoSQL結構,如XML文檔數據庫結構。航空運行關鍵信息系統,如傳統航行通告系統、氣象系統是仍利用AFTN網絡進行分發的文本數據,目前仍然采用關系數據庫,利用表(或稱為一個關系)包含用列表示的一個或更多的數據種類。新設計構建的航空基礎數據采集和存儲系統由于采用了XML數據庫,可支持對XML格式文檔進行存儲和查詢。在信息技術持續發展和需要統一化的前提下,在主流的兩種信息表達和存儲模式間構建集成系統,可實現數據統一且可融合互操作的目的[6-7]。
根據對現有民航信息系統數據結構的分析,以及對未來信息系統發展的預見,文中設計了可兼顧現有關系數據庫以及后續XML數據庫的集成方案,集成系統構建方案的步驟如下:
步驟一:識別現有關鍵航空系統可實現數據集成的關鍵點;
步驟二:標準化表達關鍵航空數據;
步驟三:根據已識別的集成點集成數據。
構建過程的每個步驟需解決的不同技術問題,在各章節具體說明。
各類民航信息系統都是存在許多用于存儲,維護和查詢各種航空數據的獨立系統,它們之間的互操作性有限,這使得難以維護和查詢數據,特別是在數據來源于多個域區域的情況下。比如由民航情報機構負責的航空基礎數據庫與航行通告數據庫,以及民航氣象數據庫,都屬于支撐航空運行的關鍵數據庫。而這幾類數據庫對應數據之間存在互操作,但數據源卻存在于不同數據庫中。如前所述,目前各空管系統的底層航空基礎數據庫都采用關系數據庫。針對關系數據庫的特點,以及航空數據的屬性進行分析,航空數據通常都涉及兩個基本特征,即:
空間特征:航空數據中最常用的信息都包涵地理空間數據,比如機場,跑道,路線,空域和障礙物等,目前都是采用SDO GEOMETRY對象存儲在關系數據庫中;
時間特征:航空數據具有時間屬性,因此每一條記錄都具有時間有效性,目前采用一對日期“StartDate”和“EndDate”給出。
以航行通告系統為例,該系統發布的消息是文本格式,通過AFTN發送處理,然后廣播給最終用戶。而航行通告通常要和基礎航空情報數據之間建立邏輯關聯,即是對基礎航空情報數據的臨時性修改。針對這類需要引用航空情報基礎數據庫或與航空情報基礎數據庫建立邏輯關聯的應用,可以從空間點和時間點上進行集成,如表1所示。

表1 空間集成點、時間集成點的航空數據示例
空間集成點,對飛行涉及的位置或天氣信息都指特定的位置或地理空間區域。但是,它們沒有指定準確的地理空間位置(比如經緯度)或區域形狀,它們只給出位置或區域代碼;因此,需要進一步工作來確定每個消息的地理空間準確編碼;時間集成點,消息都具有暫時的有效性。比如NOTAM消息只能具有消息創建時間相比的未來有效性,而天氣消息可以具有反向(過去)或轉發(未來)有效性。
在確定系統的集成點后,可以基于已經集成的業務用戶查詢要求,構建一個系統,該系統將從時間點和空間點角度整合數據。
為了能夠將所需數據集成到所描述的系統中,所有這些數據都需要使用數據表示的通用“語言”。因此創建所提出的集成系統的一個關鍵步驟是將所有可用數據轉換為通用數據表示格式。目前全球在Eurocontrol和FAA的倡導下采用AIXM作為航空數據表示和交換模型,采用WXXM作為航空氣象數據交換和表示模型。WXXM和AIXM共享一組通用的概念,即航空特性,允許它們在XML模式級別集成。這兩種模型均采用統一的XML作為創建、交換和分發航空數據的格式。
一般來自關系數據庫的數據無法直接轉換為AIXM文檔,這是因為現有的專有關系結構不符合航空特性的AIXM概念。因此,文中給出的方案考慮設計一個中間步驟,即將航空基礎數據從關系數據庫遷移到可適用于支持AIXM的數據庫中。然后從這個中間數據庫中提取數據,使用XSLT語言將其映射到AIXM文檔中。XSLT語言是一種樣式轉換標記語言,可以將XML數據轉換為另外的XML或其他格式,以XSLT進行格式轉換并不會變動原始的數據文件,而會以現有數據產生新的內容格式[8]。為適應AIXM航空特征的概念,考慮利用是在外部文件完成的源數據庫和目標數據庫的映射,外部文件用作中間工具表連接到輸入和輸出數據庫,并讀取執行指定功能的映射文件。

表2 用作遷移工具的輸入的表格示例
表2顯示了新老數據庫映射文件中的一個樣本,用于將數據從源關系數據庫遷移到提議的可以支持AIXM的數據庫中。在老的關系數據庫與新的支持AIXM的數據庫之間存在以下可能的邏輯關系。在該圖中,如果字段存在于老的關系數據庫中,但不存在于啟用了AIXM的數據庫,表示為<;如果字段同時存在于這兩個數據庫中,表示為=;如果字段是AIXM的數據庫中的一個新字段且不存在于老的關系數據庫,則表示為>。
數據以XML格式從AIXM的數據庫中提取,并使用XSLT轉換文件轉換為AIXM格式的XML文檔。此過程中的輸入是創建的遷移規范文件和XSLT轉換文件,而輸出是一組XML文檔,以AIXM格式表示航空參考數據[9-10]。
以NOTAM消息為例,NOTAM消息與航空基礎參考數據有關,例如宣布跑道因維護而關閉,或由于火山灰云等已關閉空域。從時間角度來看,NOTAM消息比航空基礎參考數據更具動態性。AIXM標準的建立是為了同時滿足靜態和動態航空數據,為此AIXM標準采用了特征的概念實現航空數據的表達,為體現時間概念,引入了時間概念,即消息有效性間隔的開始和結束。如前所述,目前NOTAM消息通過ATFN系統以文本格式收集和分發,將通知標準化為飛行員消息的過程涉及額外的操作步驟,即需要解析文本文件并將信息保存在啟用AIXM的數據庫中[11],該過程需要從啟用AIXM的數據庫中提取數據并將其轉換為AIXM格式的XML文檔,航行通告的轉換過程如圖2所示。

圖2 航行通告標準化過程
如前所述,空間(位置,區域)和時間維度已被確定為航空基礎數據的集成點,并且來自每個數據源(關系或文本)的數據已使用相應的基于XML的標準進行標準化。利用XML動態數據共享方法[12-14],可實現按時間和空間集成過程。
XML文檔中的時間方面通常表示為日期和/或時間元素,并且至少可以包含三個關鍵時間屬性:創建時間,即信息最初產生的日期/時間;有效時間,即信息相關的日期/時間范圍;使用時間,即最終用戶使用信息的日期/時間。
XML文檔中的時間信息通常可以有兩個屬性,即創建時間和有效時間(例如
情況1:給定兩個XML文檔Doc1和Doc2,其中時間有效性分別由兩組節點值T1和T2表示,當且僅當T1=T2時,文檔Doc1與Doc2具有相同的時間有效性。
情況2:給定兩個XML文檔Doc1和Doc2,其中時間有效性分別由兩組時間節點值T1和T2表示,如果時間有效性重疊,即T1∩T2≠?和T1=T2,或時間有效性不重疊,即T1∩T2≠?,則文檔Doc1與Doc2具有不同的時間有效性。
為了解決XML文檔的時間集成問題,文中提出引入時間有效性窗口Twin的概念。有效性窗口Twin表示集成后的XML文件具有的時間有效性。
當初始XML消息具有相同的時間有效性時,單個時間有效性窗口將包含在集成的XML消息中。最終的集成XML消息(文檔)將具有單組數據,對于相同(即單個)有效期有效,即給定兩個XML文檔Doc1和Doc2,它們具有相同的時間有效性關系(T1=T2),集成的XML文檔Doc=Doc1∪Doc2將具有單個時間有效窗口Twin=T1=T2。
當初始XML文檔具有不相同的時間有效性時,將在集成的XML消息中基于初始XML消息的各個時間有效期創建多個時間有效期窗口,即給出兩個XML文檔Doc1和Doc2,它們具有不同的時間有效性關系(T1≠T2),由Tstart1和Tstart2,Tend1和Tend2分別表示每個時間間隔的開始和結束,即T1={Tstart1→Tend1},T2={Tstart2→Tend2},那么集成的XML文檔Doc=Doc1∪Doc2將具有多個時間有效性窗口,并存在如下可能性:
·當Doc1和Doc2存在非重疊的時間性時(T1∩T2=?),兩個時間有效窗口Twin={T1∪T2}={Tstart1→Tend1∪Tstart2→Tend2}
·當存在Doc1和Doc2的重疊時間(T1∩T2=?和T1≠T2)時,有效窗口Twin={Tstart1→Tstart2∪Tstart→Tend∪Tend→Tend2};
在航空XML標準(例如AIXM或WXXM)中的空間表達上采用GML對象[15]。例如,
情況1:給定兩個XML文檔Doc1和Doc2,其中空間有效性分別由兩組節點值S1和S2表示,當且僅當S1=S2時,文檔Doc1和Doc2具有相同的空間有效性,即?S∈S1,那么?S∈S2。
情況2:給定兩個XML文檔Doc1和Doc2,其中空間有效性分別由兩組節點值S1和S2表示,如果S1=S2,?S∈S1但S?S2或者?S∈S2但S?S1,那么文檔Doc1和Doc2具有不同的空間有效性。
解決空間集成問題首先需要進行空間識別,即確定并在集成的XML文檔中包含有關初始XML消息中空間對象的詳細信息。并從集成XML消息中的初始XML消息中識別每個空間對象,例如,如果兩個空間對象重疊,則集成文檔將標記這些對象的交叉點,通常用戶查詢空間特征,都想要了解空間交叉點或對象之間的接近度等。
根據目前航空信息系統底層數據的多樣性現狀,提出一種將各種類型的多個來源的航空數據進行集成的方法。集成整合數據可作為民航協作決策支持系統的支持,有利于減少跨系統之間的復雜查詢過程,減少人為操作的差錯,并能在集成數據的集成上對飛行過程進行更好的預測和監控。該方法兼顧了傳統的SQL數據庫模式下的航空信息系統與新型的NOSQL數據庫模式下的航空信息系統,并以國際民航組織提出的AIXM作為航空數據統一的表達語言,以支持AIXM的XML動態數據共享技術在時間、空間屬性上進行集成過程的描述。