陳 剛 周祿華 蔣宇亮
(南京萊斯信息技術股份有限公司 江蘇 210014)
為適應我國民航快速發展的需要,不斷加大空域容量,提高空域資源的利用率,中國民航正在積極推進大空域運行和雷達管制戰略,并已全面實施RVSM,空管自動化系統已成為不可或缺的監視和指揮手段。空管系統中包含兩個核心處理中心:監視數據處理中心和飛行數據處理中心,為增加飛行數據處理系統的可靠性,關鍵設備都采用冗余設計,即在FDPS中設計兩個FDP服務器,主備狀態運行,雙機管理做到整體切換,保證FDP雙機系統數據的安全性和可靠性。
FDPS子系統架構設計為冗余模型,每個處理機上都配置相同的處理功能,包括:飛行數據接收模塊、飛行數據處理模塊、主任席服務處理模塊等,同時都配置了數據庫,用于存儲飛行計劃信息及狀態變化過程。雙機工作在雙工作網上,同時還配置了獨立的私有網,三網鏈路用于判斷雙機工作狀態。配置的數據庫之間使用實時的數據同步技術,完成雙機之間的數據一致性,保證在進行雙機切換時沒有數據的丟失。具體的FDP冗余架構模型如圖1所示:

圖1 FDPS冗余架構模型
為保證雙FDP服務器的能夠提供連續的飛行數據處理服務功能,需要實時監視對方是否工作正常,這就需要配置一套雙機管理機制的設計。
FDP雙機管理設計要解決啟動時如何產生飛行數據處理機主機,飛行數據處理機主/備機的切換操作,雙機狀態信息在系統內的發布等功能。
(1)飛行數據處理機主機的產生
兩臺飛行數據處理機上各自運行一套雙機軟件,通過兩條網絡和一條私有鏈路作為媒介進行相互探測,當通過三種媒介均探測不到另一臺雷達數據處理機和飛行數據處理機時,就將系統置為單機工作方式,本機即為飛行數據處理機主機。
(2)飛行數據處理機雙機的人工切換
飛行數據處理機上的雙機管理進程在接收到系統監控席發送的飛行數據處理機雙機切換命令后,將當前的飛行數據處理機主/備狀態互換。
(3)飛行數據處理機雙機的故障切換
當飛行數據處理機主機故障時,由于工作于該機的雙機管理進程已中斷,所以飛行數據處理機備機能立即捕獲到故障信息,自動切換為主機。
(4)系統雙機狀態的發布
飛行數據處理機主機每2秒向系統內發送一個飛行數據處理機雙機狀態信息,此信息用以通知系統中其它各臺計算機當前的飛行數據處理機雙機狀態,也作為飛行數據處理機的心跳信息,供其它計算機作為飛行數據處理機是否工作的判斷依據。
系統設計三個并發進程進行檢測,保證雙機子系統的可靠性。一旦檢測到一條或兩條鏈路故障時,進行告警提示,而當檢測到三條鏈路都發生故障,表明該服務器發生了故障,此時啟動系統恢復功能,即雙機管理軟件就開始任務切換,將發生故障的服務器上的任務切換到其他正常的服務器上,繼續為客戶軟件提供服務。
空管系統中的 FDP同步數據主要包括實時數據和靜態數據。
實時數據主要包括:
(1)飛行數據信息:
各個狀態下飛行數據記錄(FDR)信息;
FDR的數據和狀態變化信息;
管制員添加、編輯、刪除FDR的更新信息;
管制員輸入的CFL信息;
管制員輸入的RVSM、RNP /RNAV、ADS等能力的改變信息;
FDR中飛行剖面計算信息(FDR中實際和預計過各點的名稱、過點時間、過點高度)。
(2)扇區開放、合并信息;
(3)危險區、限制區、軍方活動區的開放和關閉信息;
(4)SSR代碼分配的信息。
靜態數據主用包括:
(1)系統基本信息參數:管制區、物理扇區和功能扇區、物理席位、邏輯席位、關鍵航路點、航路點類型、航路類型(國際/國內、是否為ADS-C航路)、QNH/QFE區域、系統采用的默認單位制式等;
(2)飛行數據參數:有關系統處理和計算FDR的參數、系統對各種報文的處理和發送規則、飛行數據交換信息、系統提示消息等。
對于實時數據的同步,考慮到數據的可用性和可擴展性,設計了一種基于XML的數據定義方式,因為XML允許將數據組織成數據結構,用戶可以按照自己的需要剪裁數據;同時XML是可擴展的,用戶可以自行定義自己的標記和文檔結構,可以在 XML文檔中以自己的方式組織數據,以便更好地從語義上修飾數據,這樣就能以容易而一致的方式格式化和傳送數據;XML文件結構嚴謹,每一個XML文件都有物理和邏輯結構:物理上,文件由稱為實體的單元組成;邏輯上,文件由聲明、元素、注釋、字符引用和處理指令組成,物理和邏輯結構必須嚴格地嵌套,并且其嵌套可以復雜到任意程度,能表示面向對象的等級層次;XML文件是可校驗的,它可以包括一個語法描述,使應用程序可對此文件進行結構確認。一個飛行數據中,主要元素包括。

表1 FDR字段定義
XML格式飛行數據定義舉例如下:


圖2 實時數據同步流程
當FDP主機處理一份飛行數據后,將其按照XML格式發送到備機中,備機接收到新的實時飛行數據后,按照 XML格式進行解析,并存儲到內存和數據庫中,已保證和主機的實時數據的一致性。同時系統還需要設計索取機制和定期同步機制,當備機重新啟動后,之前主機處理的實時數據并沒有接收到,這時就需要向主機發送索取信息,將所有之前的數據進行同步。具體處理流程如圖2。
對于FDPS中的靜態數據,主要是存儲在數據庫中,如果沒有進行人工的增加、刪除操作,數據是不會變化的,因此對于該類數據,只有在進行靜態數據的修改操作后,才進行一次全數據的同步。因此,對于該類數據同步,采用數據庫的SQL語句進行同步。靜態數據的同步主要包括三種方式:刪除同步、修改同步和增加同步。
刪除同步過程:即主機數據管理界面上進行刪除操作后,將該數據及刪除標記發送到備機,備機的數據庫管理軟件到本機數據庫進行查詢,確認是否存在該數據,如果有則進行刪除,如果沒有,則報數據庫操作失敗,并記錄到失敗日志。
修改同步過程:在主機上進行的數據修改操作,需要將修改的數據項、修改字段進行記錄,并發送到備機中,備機的數據庫管理軟件根據記錄的修改標識進行本機數據的刪除操作,并將操作結果進行記錄。
增加同步過程:在主機上增加的數據,需要記錄當前的序號、增加的數據項、增加的數據表名等,發送到備機。備機接收到后,就行相應數據的增加,并將操作結果進行記錄。
空管系統中采用開放式的 XML文檔描述飛行數據信息,可讀性好且具有很強的擴展性。本文基于 XML的實時數據同步和基于SQL的靜態數據同步技術,設計了FDP雙機管理模型,利用該模塊可實現在空管系統中雙FDP處理機中的飛行數據和靜態數據的共享。
[1]周祿華,程先峰.基于 BFDP技術的飛行數據處理系統[J].自動化與信息工程.2014.
[2]胡海靜,王育平等編著.XML技術精粹.北京:機械工業出版社.2002.
[3]李立亞,朱浩,李昊.基于記錄標記的數據庫同步算法[J].高性能計算技術.2005.