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