何 月 嬌(北京天航信民航通信網(wǎng)絡(luò)發(fā)展有限公司 北京 100192)
民航飛行電報數(shù)據(jù)是空管自動化系統(tǒng)的重要數(shù)據(jù)源,也是空中交通管制的主要信息來源,電報中包含了航班航空飛行的關(guān)鍵數(shù)據(jù),如航班號、起降機(jī)場、飛機(jī)機(jī)型、起飛時間、降落時間、飛行高度、航路等,在空管自動化系統(tǒng)中發(fā)揮著重要作用。民航飛行電報解析后的航班動態(tài)數(shù)據(jù),與雷達(dá)、機(jī)場、倉單、空域等信息結(jié)合,廣泛應(yīng)用于民航航班運(yùn)行監(jiān)控、數(shù)據(jù)統(tǒng)計挖掘、CDM等生產(chǎn)監(jiān)測統(tǒng)計系統(tǒng)中。
隨著民航業(yè)的快速發(fā)展,空中交通流量日益增加。中國民用航空局民航機(jī)場生產(chǎn)統(tǒng)計公報顯示,近五年飛機(jī)起降架次增長率在7.9%以上,如表1所示,2016年平均每天起降航班2.5萬架次[1]。
表1 航班起降架次統(tǒng)計
每一個航班的起降,對應(yīng)的是幾倍甚至幾十倍的民航飛行電報數(shù)量。民航飛行電報數(shù)量的快速增長,給航班的監(jiān)控運(yùn)行帶來了壓力和挑戰(zhàn),對于民航飛行電報自動化處理的效率和準(zhǔn)確性提出了更高的要求。文獻(xiàn)[2-4]討論了使用XML、語法分析、正則表達(dá)式、知識庫解決民航飛行電報解析和容錯的問題。文獻(xiàn)[5]討論了電報數(shù)據(jù)質(zhì)量的約束模型。文獻(xiàn)[6]討論了航班動態(tài)數(shù)據(jù)挖掘與航班預(yù)測模型,對航班到達(dá)時間進(jìn)行了預(yù)測。綜上,歷史文獻(xiàn)對基于規(guī)范的電報格式的解析處理以及動態(tài)數(shù)據(jù)預(yù)測有一些相關(guān)研究,國內(nèi)尚未出現(xiàn)信息整合設(shè)計和效率的討論。
基于航班的數(shù)據(jù)整合是將動態(tài)的民航飛行電報基于航班按照時間序列進(jìn)行整合,以提供基于航班的準(zhǔn)確的實時信息。民航飛行電報在拍發(fā)過程中存在一定量級的錯誤、重復(fù)、延遲,其中拍發(fā)錯誤指的是缺失編組、使用代碼錯誤、電報提供的信息錯誤、電報種類錯誤等,拍發(fā)重復(fù)指電報的重復(fù)發(fā)送。航班運(yùn)行的實時監(jiān)控對于航班整合的效率和準(zhǔn)確性要求較高。對電報數(shù)據(jù)整合時,需要識別錯誤電報進(jìn)行自動糾正或異常提示,重復(fù)拍發(fā)的電報可以識別重復(fù)值,并整合到同一個航班上。
基于上述背景,本文提出基于狀態(tài)機(jī)的民航飛行電報數(shù)據(jù)流并發(fā)處理模型,目的是提高數(shù)據(jù)整合的準(zhǔn)確性,以及提高處理效率,滿足民航飛行電報的監(jiān)控統(tǒng)計需求。
我國管制區(qū)域間飛行動態(tài)信息的傳遞是通過航空固定電信網(wǎng)AFTN,以民用航空飛行動態(tài)固定格式電報進(jìn)行發(fā)送。民航飛行電報拍發(fā)遵從《民用航空飛行動態(tài)固定電報格式》標(biāo)準(zhǔn),該標(biāo)準(zhǔn)是依據(jù)民航局規(guī)章《民航航空空中交通規(guī)則》,參考國際民航組織文件《空中交通管理》(ICAO DOC 4444)制定[7]?!睹裼煤娇诊w行動態(tài)固定電報格式》歷年標(biāo)準(zhǔn)有MH 4007-1998、MH/T 4007-2006、MH/T 4007-2012標(biāo)準(zhǔn)、現(xiàn)行標(biāo)準(zhǔn)為MH/T 4007-2012。MH/T 4007-2012中電報種類有16種[8]。具體電報的種類包括:
緊急電報:告警報(ALR),無線電通信時效報(RCF)。
動態(tài)電報:領(lǐng)航計劃報(FPL)、修改領(lǐng)航計劃報(CHG)、取消領(lǐng)航計劃報(CNL)、延誤報(DLA)、起飛報(DEP)、落地報(ARR)。
協(xié)調(diào)電報:現(xiàn)行飛行變更報(CPL)、預(yù)計飛越報(EST)、管制協(xié)調(diào)報(CDN)、管制協(xié)調(diào)接收報(ACP)、邏輯確認(rèn)報(LAM)。
補(bǔ)充電報:請求飛行計劃報(RQP)、請求領(lǐng)航計劃補(bǔ)充信息報(RQS)、領(lǐng)航計劃補(bǔ)充信息報(SPL)。
由于各地區(qū)管理局、航空公司運(yùn)輸公司、機(jī)場公司、相關(guān)飛行學(xué)院等發(fā)展程度和設(shè)備多樣,在實際電報拍發(fā)過程中,存在MH 4007-1998、MH/T 4007-2006、MH/T 4007-2012標(biāo)準(zhǔn)混合使用,在實際電報還會出現(xiàn)PLN(飛行預(yù)報)、ABS(取消重復(fù)與非重復(fù)性飛行預(yù)報)、RTN(返航報)等電報種類,還存在同一種電報如領(lǐng)航計劃報(FPL)拍發(fā)使用多種標(biāo)準(zhǔn)的情況,如18編組。另外,在電報中會出現(xiàn)民航簡字簡語,對于飛行電報進(jìn)行變更或者取消等處理。
有限狀態(tài)機(jī)是一種用來進(jìn)行對象行為建模的數(shù)學(xué)工具,其作用主要是描述對象在它的生命周期內(nèi)所經(jīng)歷的狀態(tài)序列,以及如何響應(yīng)來自外界的各種事件。每個時刻根據(jù)當(dāng)前的狀態(tài)和當(dāng)前時刻的輸入,決定應(yīng)執(zhí)行的動作和確定一個狀態(tài)以進(jìn)行狀態(tài)轉(zhuǎn)移。針對民航飛行電報數(shù)據(jù)特征和邏輯關(guān)系,利用有限狀態(tài)機(jī)的概念,提出基于狀態(tài)機(jī)的民航飛行電報數(shù)據(jù)并發(fā)整合模型,模型相關(guān)定義如下。
定義1(FSM模型)T=(Σ,S,SI,δ,F)。其中T表示模型定義,Σ表示輸入數(shù)據(jù)類型集合,S是狀態(tài)的非空有限集合,SI表示初始化狀態(tài)且SI∈S,δ表示狀態(tài)轉(zhuǎn)移函數(shù)且S×δ→S,F是最終狀態(tài)的集合且F∈S。
定義2(數(shù)據(jù)類型集合)Σ給定數(shù)據(jù)類型集合,表示所有電報類型的集合,Σ={FPL,DEP,CNL,…,ARR}。
丁主任擦了擦眼淚,對著甲洛洛:張大爺,你是知道我的,當(dāng)初為了救我父親的命,我不得不接受她家的幫助,可她家從來都只把我當(dāng)成一條狗,一條供潘美麗驅(qū)使的狗。甲洛洛嘆息了一聲:過不下去就別過了,人生一輩子,苦點累點可以扛著,但一個大男人不能活得沒了尊嚴(yán)。丁主任感激地看著甲洛洛:張大爺,今后就叫我小丁吧,這院壩里,我最敬重的就是你,也就你最了解我,最可憐我了,我心里一直記著呢!
定義3(狀態(tài)的非空有限集合)S={APLN,APRE,…,AlARM},表示航班狀態(tài)集合。
定義4(初始化狀態(tài))SI={APLN},表示航班初始狀態(tài)。
定義5(狀態(tài)轉(zhuǎn)移函數(shù))Sj=δ(Si) ,其中δ為轉(zhuǎn)移函數(shù),Si,Sj∈S。如航班初始狀態(tài)為APLN,接收數(shù)據(jù)后仍處于APLN或者跳轉(zhuǎn)到其他狀態(tài)。根據(jù)輸入數(shù)據(jù)不同,跳轉(zhuǎn)到不同狀態(tài),如接收{(diào)FPL},跳轉(zhuǎn)到{APRE}狀態(tài)。
定義6(最終狀態(tài)的集合)F={ARR,ACNL,ACDN,AlARM},表示航班的最終狀態(tài)集合。
定義7(主鍵)K=f(I),其中I∈S,K表示消息關(guān)鍵詞序列,f表示關(guān)鍵詞處理函數(shù)。
定義8(并行處理分組)MG=GROUP(K),GROUP表示分組函數(shù)。
航班狀態(tài)有限集合如表2所示,劃分為九種狀態(tài)。狀態(tài)跳轉(zhuǎn)如圖1所示。
表2 狀態(tài)的非空有限集合
圖1 狀態(tài)轉(zhuǎn)移圖
民航飛行電報處理主要包括5部分:數(shù)據(jù)接收、電報識別、電報解析、電報整合、信息展示。具體算法如圖2所示。
圖2 民航飛行電報處理流程
1) 接收數(shù)據(jù)字符,判斷是否觸發(fā)電報識別。是則進(jìn)入電報識別,否則保存字符。
2) 根據(jù)電報規(guī)則識別電報,如ZCZC。
3) 根據(jù)民用航空飛行動態(tài)固定電報格式分組規(guī)則,多線程解析電報,哈希存儲鍵值對,K={FNM,FDATE,DEPDROME,ARRDROME}。
4) 根據(jù)電報鍵值K進(jìn)行分組,MG=GROUP(K),多線程處理MG。
5) 根據(jù)FSM模型,對電報內(nèi)容進(jìn)行整合。
以“FPL/DEP/ARR/DEP/ARR/CNL/CHG/ARR”編碼為例說明上述算法的執(zhí)行過程,實際民航飛行電報的復(fù)雜度和長度要遠(yuǎn)大于此例。
接收字符串識別電報,去除電報報頭后電報內(nèi)容如圖3所示。分析電報內(nèi)容,獲取電報鍵值。該實例中識別到3個鍵值,按照鍵值分組,并行執(zhí)行基于FSM的狀態(tài)整合獲得結(jié)果。
圖3 算法執(zhí)行實例
以2017年6月份一周數(shù)據(jù)為例,平均每天起降航班2.9萬次,平均每天錯誤數(shù)據(jù)20個,航班處理準(zhǔn)確率99%以上,如圖4所示。
圖4 起降量和準(zhǔn)確性統(tǒng)計
起降數(shù)據(jù)處理實時性在100 ms以內(nèi)。對比前期數(shù)據(jù)航班處準(zhǔn)確率在90%左右,數(shù)據(jù)處理實時性在2 min左右。
測試平臺為 3.3 GHz 處理器、4 GB內(nèi)存、Windows 2007、JDK1.7,使用 Java 實現(xiàn)。
本文提出一種基于狀態(tài)機(jī)的民航飛行電報數(shù)據(jù)并發(fā)整合模型,它擴(kuò)展了目前的民航飛行電報處理方法,滿足數(shù)據(jù)處理的實時性、準(zhǔn)確性需求。實驗結(jié)果表明,該方法利用較小的空間,實現(xiàn)了較高的效率。
[1] 中國民用航空局.年度機(jī)場生產(chǎn)統(tǒng)計公報[R].北京:民航發(fā)展計劃司,2016.
[2] 陳強(qiáng).飛行數(shù)據(jù)處理技術(shù)的研究與應(yīng)用[D].四川:四川大學(xué),2003.
[3] 陳玉秋.民航空管自動化系統(tǒng)中飛行電報自動化處理[D].南京:南京理工大學(xué),2007.
[4] 杜冬.基于正則表達(dá)式的飛行電報處理算法[J].中國民航飛行學(xué)院學(xué)報,2013(1):21- 23,28.
[5] 姜高揚(yáng),王潔寧,周沅.基于FIXM的AFTN電報數(shù)據(jù)質(zhì)量約束模型研究[J].計算機(jī)應(yīng)用與軟件,2016,33(10):122- 125,144.
[6] 張猛.航班動態(tài)數(shù)據(jù)挖掘與航班預(yù)測模型的研究和實現(xiàn)[D].北京:北京郵電大學(xué),2015.
[7] International Civil Aviation Organization.Doc 4444,Procedures for Air Navigation Services,Air Traffic Management[M].Canada:International Civil Aviation Organization,2017.
[8] 中國民用航空局.MH/T4007-2012民用航空飛行動態(tài)固定格式電報管理規(guī)定[S/OL].航空器適航審定司,2012[2012-10-10].http://www.caac.gov.cn/XXGK/XXGK/BZGF/201708/t20170804_45973.html.