陳 剛 周祿華 蔣宇亮
(南京萊斯信息技術股份有限公司 江蘇 210014)
為適應我國民航快速發(fā)展的需要,不斷加大空域容量,提高空域資源的利用率,中國民航正在積極推進大空域運行和雷達管制戰(zhàn)略,并已全面實施RVSM,空管自動化系統(tǒng)已成為不可或缺的監(jiān)視和指揮手段??展芟到y(tǒng)中包含兩個核心處理中心:監(jiān)視數(shù)據(jù)處理中心和飛行數(shù)據(jù)處理中心,為增加飛行數(shù)據(jù)處理系統(tǒng)的可靠性,關鍵設備都采用冗余設計,即在FDPS中設計兩個FDP服務器,主備狀態(tài)運行,雙機管理做到整體切換,保證FDP雙機系統(tǒng)數(shù)據(jù)的安全性和可靠性。
FDPS子系統(tǒng)架構設計為冗余模型,每個處理機上都配置相同的處理功能,包括:飛行數(shù)據(jù)接收模塊、飛行數(shù)據(jù)處理模塊、主任席服務處理模塊等,同時都配置了數(shù)據(jù)庫,用于存儲飛行計劃信息及狀態(tài)變化過程。雙機工作在雙工作網(wǎng)上,同時還配置了獨立的私有網(wǎng),三網(wǎng)鏈路用于判斷雙機工作狀態(tài)。配置的數(shù)據(jù)庫之間使用實時的數(shù)據(jù)同步技術,完成雙機之間的數(shù)據(jù)一致性,保證在進行雙機切換時沒有數(shù)據(jù)的丟失。具體的FDP冗余架構模型如圖1所示:
圖1 FDPS冗余架構模型
為保證雙FDP服務器的能夠提供連續(xù)的飛行數(shù)據(jù)處理服務功能,需要實時監(jiān)視對方是否工作正常,這就需要配置一套雙機管理機制的設計。
FDP雙機管理設計要解決啟動時如何產(chǎn)生飛行數(shù)據(jù)處理機主機,飛行數(shù)據(jù)處理機主/備機的切換操作,雙機狀態(tài)信息在系統(tǒng)內(nèi)的發(fā)布等功能。
(1)飛行數(shù)據(jù)處理機主機的產(chǎn)生
兩臺飛行數(shù)據(jù)處理機上各自運行一套雙機軟件,通過兩條網(wǎng)絡和一條私有鏈路作為媒介進行相互探測,當通過三種媒介均探測不到另一臺雷達數(shù)據(jù)處理機和飛行數(shù)據(jù)處理機時,就將系統(tǒng)置為單機工作方式,本機即為飛行數(shù)據(jù)處理機主機。
(2)飛行數(shù)據(jù)處理機雙機的人工切換
飛行數(shù)據(jù)處理機上的雙機管理進程在接收到系統(tǒng)監(jiān)控席發(fā)送的飛行數(shù)據(jù)處理機雙機切換命令后,將當前的飛行數(shù)據(jù)處理機主/備狀態(tài)互換。
(3)飛行數(shù)據(jù)處理機雙機的故障切換
當飛行數(shù)據(jù)處理機主機故障時,由于工作于該機的雙機管理進程已中斷,所以飛行數(shù)據(jù)處理機備機能立即捕獲到故障信息,自動切換為主機。
(4)系統(tǒng)雙機狀態(tài)的發(fā)布
飛行數(shù)據(jù)處理機主機每2秒向系統(tǒng)內(nèi)發(fā)送一個飛行數(shù)據(jù)處理機雙機狀態(tài)信息,此信息用以通知系統(tǒng)中其它各臺計算機當前的飛行數(shù)據(jù)處理機雙機狀態(tài),也作為飛行數(shù)據(jù)處理機的心跳信息,供其它計算機作為飛行數(shù)據(jù)處理機是否工作的判斷依據(jù)。
系統(tǒng)設計三個并發(fā)進程進行檢測,保證雙機子系統(tǒng)的可靠性。一旦檢測到一條或兩條鏈路故障時,進行告警提示,而當檢測到三條鏈路都發(fā)生故障,表明該服務器發(fā)生了故障,此時啟動系統(tǒng)恢復功能,即雙機管理軟件就開始任務切換,將發(fā)生故障的服務器上的任務切換到其他正常的服務器上,繼續(xù)為客戶軟件提供服務。
空管系統(tǒng)中的 FDP同步數(shù)據(jù)主要包括實時數(shù)據(jù)和靜態(tài)數(shù)據(jù)。
實時數(shù)據(jù)主要包括:
(1)飛行數(shù)據(jù)信息:
各個狀態(tài)下飛行數(shù)據(jù)記錄(FDR)信息;
FDR的數(shù)據(jù)和狀態(tài)變化信息;
管制員添加、編輯、刪除FDR的更新信息;
管制員輸入的CFL信息;
管制員輸入的RVSM、RNP /RNAV、ADS等能力的改變信息;
FDR中飛行剖面計算信息(FDR中實際和預計過各點的名稱、過點時間、過點高度)。
(2)扇區(qū)開放、合并信息;
(3)危險區(qū)、限制區(qū)、軍方活動區(qū)的開放和關閉信息;
(4)SSR代碼分配的信息。
靜態(tài)數(shù)據(jù)主用包括:
(1)系統(tǒng)基本信息參數(shù):管制區(qū)、物理扇區(qū)和功能扇區(qū)、物理席位、邏輯席位、關鍵航路點、航路點類型、航路類型(國際/國內(nèi)、是否為ADS-C航路)、QNH/QFE區(qū)域、系統(tǒng)采用的默認單位制式等;
(2)飛行數(shù)據(jù)參數(shù):有關系統(tǒng)處理和計算FDR的參數(shù)、系統(tǒng)對各種報文的處理和發(fā)送規(guī)則、飛行數(shù)據(jù)交換信息、系統(tǒng)提示消息等。
對于實時數(shù)據(jù)的同步,考慮到數(shù)據(jù)的可用性和可擴展性,設計了一種基于XML的數(shù)據(jù)定義方式,因為XML允許將數(shù)據(jù)組織成數(shù)據(jù)結構,用戶可以按照自己的需要剪裁數(shù)據(jù);同時XML是可擴展的,用戶可以自行定義自己的標記和文檔結構,可以在 XML文檔中以自己的方式組織數(shù)據(jù),以便更好地從語義上修飾數(shù)據(jù),這樣就能以容易而一致的方式格式化和傳送數(shù)據(jù);XML文件結構嚴謹,每一個XML文件都有物理和邏輯結構:物理上,文件由稱為實體的單元組成;邏輯上,文件由聲明、元素、注釋、字符引用和處理指令組成,物理和邏輯結構必須嚴格地嵌套,并且其嵌套可以復雜到任意程度,能表示面向對象的等級層次;XML文件是可校驗的,它可以包括一個語法描述,使應用程序可對此文件進行結構確認。一個飛行數(shù)據(jù)中,主要元素包括。
表1 FDR字段定義
XML格式飛行數(shù)據(jù)定義舉例如下:
圖2 實時數(shù)據(jù)同步流程
當FDP主機處理一份飛行數(shù)據(jù)后,將其按照XML格式發(fā)送到備機中,備機接收到新的實時飛行數(shù)據(jù)后,按照 XML格式進行解析,并存儲到內(nèi)存和數(shù)據(jù)庫中,已保證和主機的實時數(shù)據(jù)的一致性。同時系統(tǒng)還需要設計索取機制和定期同步機制,當備機重新啟動后,之前主機處理的實時數(shù)據(jù)并沒有接收到,這時就需要向主機發(fā)送索取信息,將所有之前的數(shù)據(jù)進行同步。具體處理流程如圖2。
對于FDPS中的靜態(tài)數(shù)據(jù),主要是存儲在數(shù)據(jù)庫中,如果沒有進行人工的增加、刪除操作,數(shù)據(jù)是不會變化的,因此對于該類數(shù)據(jù),只有在進行靜態(tài)數(shù)據(jù)的修改操作后,才進行一次全數(shù)據(jù)的同步。因此,對于該類數(shù)據(jù)同步,采用數(shù)據(jù)庫的SQL語句進行同步。靜態(tài)數(shù)據(jù)的同步主要包括三種方式:刪除同步、修改同步和增加同步。
刪除同步過程:即主機數(shù)據(jù)管理界面上進行刪除操作后,將該數(shù)據(jù)及刪除標記發(fā)送到備機,備機的數(shù)據(jù)庫管理軟件到本機數(shù)據(jù)庫進行查詢,確認是否存在該數(shù)據(jù),如果有則進行刪除,如果沒有,則報數(shù)據(jù)庫操作失敗,并記錄到失敗日志。
修改同步過程:在主機上進行的數(shù)據(jù)修改操作,需要將修改的數(shù)據(jù)項、修改字段進行記錄,并發(fā)送到備機中,備機的數(shù)據(jù)庫管理軟件根據(jù)記錄的修改標識進行本機數(shù)據(jù)的刪除操作,并將操作結果進行記錄。
增加同步過程:在主機上增加的數(shù)據(jù),需要記錄當前的序號、增加的數(shù)據(jù)項、增加的數(shù)據(jù)表名等,發(fā)送到備機。備機接收到后,就行相應數(shù)據(jù)的增加,并將操作結果進行記錄。
空管系統(tǒng)中采用開放式的 XML文檔描述飛行數(shù)據(jù)信息,可讀性好且具有很強的擴展性。本文基于 XML的實時數(shù)據(jù)同步和基于SQL的靜態(tài)數(shù)據(jù)同步技術,設計了FDP雙機管理模型,利用該模塊可實現(xiàn)在空管系統(tǒng)中雙FDP處理機中的飛行數(shù)據(jù)和靜態(tài)數(shù)據(jù)的共享。
[1]周祿華,程先峰.基于 BFDP技術的飛行數(shù)據(jù)處理系統(tǒng)[J].自動化與信息工程.2014.
[2]胡海靜,王育平等編著.XML技術精粹.北京:機械工業(yè)出版社.2002.
[3]李立亞,朱浩,李昊.基于記錄標記的數(shù)據(jù)庫同步算法[J].高性能計算技術.2005.