陸少輝
(中國(guó)民用航空珠??罩薪煌ü芾碚?廣東 珠海 519040)
近10年來(lái),中國(guó)民航欣欣向榮、發(fā)展迅猛,民航客機(jī)流量日益攀升,這對(duì)空中交通管制員來(lái)說(shuō)是個(gè)不小的挑戰(zhàn)??展茏詣?dòng)化系統(tǒng)被譽(yù)為管制員的“千里眼”,同時(shí)也是通信導(dǎo)航監(jiān)視“五大關(guān)鍵設(shè)備”之一,不僅緩解了管制員的工作壓力,更在促進(jìn)空中交通安全、高效、有序運(yùn)行方面發(fā)揮著重要作用。
由于塔臺(tái)管制區(qū)域與進(jìn)近管制區(qū)域的分離,在安裝空管自動(dòng)化系統(tǒng)的過(guò)程中需要設(shè)立不同的分區(qū)。塔臺(tái)分區(qū)在系統(tǒng)正常運(yùn)行的情況下需要向進(jìn)近分區(qū)同步更新數(shù)據(jù),因此確保不同分區(qū)之間同步數(shù)據(jù)的準(zhǔn)確性、時(shí)效性是維護(hù)空管自動(dòng)化系統(tǒng)穩(wěn)定、有效的必要前提。本文通過(guò)系統(tǒng)日志復(fù)盤、分析華泰空管自動(dòng)化系統(tǒng)在運(yùn)行過(guò)程中所發(fā)生的分區(qū)數(shù)據(jù)同步異常狀況,理清了華泰空管自動(dòng)化系統(tǒng)在不同分區(qū)之間數(shù)據(jù)同步轉(zhuǎn)發(fā)的機(jī)理及系統(tǒng)現(xiàn)有缺陷,在廠家正式發(fā)布系統(tǒng)補(bǔ)丁之前提供了一種突發(fā)情況下的應(yīng)急手段。這對(duì)其他空管單位對(duì)華泰空管自動(dòng)化系統(tǒng)的運(yùn)行維護(hù)過(guò)程中遇到類似情況時(shí)有著積極的借鑒意義。
某日,塔臺(tái)管制員反映在用華泰自動(dòng)化系統(tǒng)[1]偶發(fā)進(jìn)港航班管制接收(Accept,ACC)失敗,且界面有相似航班號(hào)(Similar Callsign,SC)告警。值班員立即檢查華泰自動(dòng)化設(shè)備狀態(tài),發(fā)現(xiàn)各節(jié)點(diǎn)軟、硬件均正常。隨后,值班員聯(lián)系珠海進(jìn)近排查其分區(qū)設(shè)備,對(duì)方答復(fù)設(shè)備正常。值班員通過(guò)在華泰自動(dòng)化系統(tǒng)上進(jìn)行回放,發(fā)現(xiàn)管制員ACC失敗的航班均沒(méi)有相關(guān)的飛行計(jì)劃。值班員嘗試切換塔臺(tái)分區(qū)的通信服務(wù)器主備機(jī),但未能解決問(wèn)題。此后,值班員依照廠家建議進(jìn)行塔臺(tái)分區(qū)設(shè)備重啟。重啟后,值班員卻發(fā)現(xiàn)珠海塔臺(tái)分區(qū)此時(shí)已丟失由珠海進(jìn)近傳輸過(guò)來(lái)的正常綜合航跡——Normal航跡。此外,珠海塔臺(tái)分區(qū)所有席位均處于DEGD狀態(tài)且值班員無(wú)法通過(guò)人工操作將其恢復(fù)到Normal狀態(tài)。我方立即聯(lián)系珠海進(jìn)近協(xié)同排查。最終,在珠海進(jìn)近重新分發(fā)離線數(shù)據(jù)和切換珠海進(jìn)近分區(qū)通信服務(wù)器主備機(jī)[2]后,華泰自動(dòng)化系統(tǒng)恢復(fù)正常。
通信服務(wù)器為華泰自動(dòng)化系統(tǒng)在珠海進(jìn)近與珠海塔臺(tái)之間進(jìn)行數(shù)據(jù)交互的重要服務(wù)器,也是塔臺(tái)分區(qū)的中心節(jié)點(diǎn)。而華泰自動(dòng)化系統(tǒng)重要模塊如MST、FDP、SNMP等的數(shù)據(jù)都是通過(guò)通信服務(wù)器的CDP模塊在不同分區(qū)之間進(jìn)行轉(zhuǎn)發(fā)。華泰自動(dòng)化系統(tǒng)在珠海進(jìn)近與珠海塔臺(tái)之間的數(shù)據(jù)交互拓?fù)淙鐖D1所示。
圖1 珠海進(jìn)近與珠海塔臺(tái)華泰自動(dòng)化系統(tǒng)數(shù)據(jù)交互拓?fù)?/p>
1.2.1 查詢FDP001模塊狀態(tài)
值班員對(duì)系統(tǒng)進(jìn)行重啟后,發(fā)現(xiàn)珠海塔臺(tái)分區(qū)與珠海進(jìn)近分區(qū)數(shù)據(jù)通信出現(xiàn)異常。為進(jìn)一步查找系統(tǒng)異常原因,值班員在終端節(jié)點(diǎn)zhrttksupli上遠(yuǎn)程登錄到中心節(jié)點(diǎn)zhrtcdp1ali,在后臺(tái)終端窗口輸入命令“start bnsio-vt”,進(jìn)入狀態(tài)查詢程序,然后再輸入命令“get FDP001_OPER _STATUS”以獲取FDP001進(jìn)程狀態(tài)的信息。經(jīng)多次查詢,結(jié)果顯示均為“NONE”。上述查詢結(jié)果表明此時(shí)珠海塔臺(tái)分區(qū)的中心節(jié)點(diǎn)zhrtcdp1ali已無(wú)法獲取珠海進(jìn)近FDP001模塊的狀態(tài)信息,珠海塔臺(tái)分區(qū)與珠海進(jìn)近分區(qū)之間處于通信異常狀態(tài)。
在協(xié)調(diào)珠海進(jìn)近完成CDP001模塊主備機(jī)切換后,值班員再次按照上述步驟查詢FDP001模塊的狀態(tài)信息,結(jié)果則為“OPOK”。此外,值班員發(fā)現(xiàn)此時(shí)珠海塔臺(tái)分區(qū)所有席位已經(jīng)能正常顯示Normal航跡,華泰自動(dòng)化系統(tǒng)也能通過(guò)人工操作升級(jí)到正常狀態(tài)。由此可以進(jìn)一步確定此次事件就是由CDP001模塊的數(shù)據(jù)同步通信[3]存在異常而引起的。
1.2.2 查詢CDP001模塊的日志信息
由1.2.1可知,珠海塔臺(tái)分區(qū)數(shù)據(jù)出現(xiàn)異常的原因在于CDP001模塊。通過(guò)與華泰廠家協(xié)作,值班員通過(guò)查詢?nèi)A泰自動(dòng)化系統(tǒng)CDP001模塊的相關(guān)日志進(jìn)行更為深入的調(diào)查。通過(guò)在CDP001模塊相關(guān)日志中搜索關(guān)鍵字“buffer at in index”發(fā)現(xiàn),傳輸?shù)街楹K_(tái)buffer的index持續(xù)增長(zhǎng)到34 247后,重新變?yōu)?,但此后index停止增長(zhǎng),可知后續(xù)新增的數(shù)據(jù)都放在了index為0的位置。
在珠海進(jìn)近完成CDP001模塊服務(wù)器的主備切換后,buffer的index由0開(kāi)始恢復(fù)增長(zhǎng),且增長(zhǎng)至一定值(該值遠(yuǎn)小于34 247)后便會(huì)自動(dòng)清0,然后再重復(fù)該過(guò)程。
1.2.3 理清華泰自動(dòng)化系統(tǒng)的分區(qū)數(shù)據(jù)轉(zhuǎn)發(fā)機(jī)制
經(jīng)向華泰廠家開(kāi)發(fā)人員進(jìn)行了解,值班員得知在華泰自動(dòng)化的通信處理機(jī)制中,從珠海進(jìn)近分區(qū)轉(zhuǎn)發(fā)給珠海塔臺(tái)分區(qū)的數(shù)據(jù),會(huì)首先存放到一個(gè)緩存區(qū)(buffer),在符合觸發(fā)條件后才會(huì)轉(zhuǎn)發(fā)給珠海塔臺(tái)分區(qū)。而該觸發(fā)條件,由兩個(gè)控制因素決定:一是緩存區(qū)中報(bào)文的數(shù)量,二是時(shí)間。這兩個(gè)控制因素對(duì)應(yīng)的離線參數(shù),在CDP001模塊的服務(wù)器中的cdp.cfg文件里有詳細(xì)的定義與配置,分別與之對(duì)應(yīng)的是SYNC_LOW_THRES_SEC(同步最低時(shí)間門限)和 TBUF_MAX_SIZE(同步報(bào)文最大數(shù)量)。
其中,SYNC_LOW_THRES_SEC的值為1 s,TBUF_MAX_SIZE的值為1 000。而以珠海塔臺(tái)分區(qū)現(xiàn)有的航班量來(lái)分析,珠海塔臺(tái)分區(qū)在1 s時(shí)間內(nèi)收到1 000份同步報(bào)文的可能性極低。但在上述日志查詢過(guò)程中,卻出現(xiàn)了緩存區(qū)腳標(biāo)為34 247的記錄,這明顯不符合離線參數(shù)設(shè)置的值。并且index在增長(zhǎng)到34 247后,接下來(lái)新增的數(shù)據(jù)均存放在緩存區(qū)腳標(biāo)為0的位置即腳標(biāo)不再有增長(zhǎng),這表明當(dāng)前華泰自動(dòng)化系統(tǒng)CDP001模塊的緩存區(qū)處理機(jī)制存在一定缺陷。
由華泰廠家開(kāi)發(fā)人員提供的信息可知,34 247為系統(tǒng)緩存區(qū)buffer的極限容值。由緩存區(qū)buffer的index增長(zhǎng)到34 247后新增數(shù)據(jù)均存儲(chǔ)在index=0位置的現(xiàn)象,可以判斷出緩存區(qū)buffer已發(fā)生溢出[4]。
在計(jì)算機(jī)系統(tǒng)中,當(dāng)數(shù)據(jù)量存滿存儲(chǔ)分區(qū)而未做清理時(shí),新進(jìn)的數(shù)據(jù)都會(huì)存儲(chǔ)在最大值的下一個(gè)值,但因?yàn)槲粩?shù)不夠,即表現(xiàn)為存儲(chǔ)在index為0的位置。例如:一個(gè)4位二進(jìn)制,最大值為1111,此時(shí)新進(jìn)數(shù)據(jù)按照邏輯應(yīng)該存儲(chǔ)在10000,但因?yàn)槲粩?shù)只有4位,最高位的1會(huì)被丟掉,故表現(xiàn)為0000。而因?yàn)?位二進(jìn)制的最大值為1111,所以若程序設(shè)計(jì)中不做清零處理,那么訪問(wèn)到的值將永遠(yuǎn)都是1111,也就是說(shuō)無(wú)論后續(xù)新增了多少條數(shù)據(jù),新進(jìn)的數(shù)據(jù)都只會(huì)存儲(chǔ)在1111的下一個(gè)位置,即10000,表現(xiàn)出來(lái)就是一直存儲(chǔ)在index為0000的位置。
所以,在此次異常情況中,緩存區(qū)buffer的值在達(dá)最大值34 247后,因華泰自動(dòng)化系統(tǒng)在程序設(shè)計(jì)中未做清零處理設(shè)計(jì),而導(dǎo)致后續(xù)需要從珠海進(jìn)近分區(qū)轉(zhuǎn)發(fā)到珠海塔臺(tái)分區(qū)的新數(shù)據(jù)均存儲(chǔ)在index為0的位置。如此一來(lái),只要1 s內(nèi)需要發(fā)送的報(bào)文份數(shù)超過(guò)1,就會(huì)出現(xiàn)數(shù)據(jù)因未及時(shí)被轉(zhuǎn)發(fā)即被覆蓋,從而導(dǎo)致珠海塔臺(tái)分區(qū)數(shù)據(jù)異?,F(xiàn)象的出現(xiàn)。
(1)對(duì)此次事件排查出的問(wèn)題,廠家已建立PCR;技術(shù)保障部將持續(xù)跟進(jìn)華泰廠家問(wèn)題調(diào)查及解決情況,若廠家一個(gè)月內(nèi)未能找到問(wèn)題根本原因,則按廠家建議采取臨時(shí)緊急補(bǔ)丁(即判斷buffer到達(dá)最大值后進(jìn)行清理)修復(fù)此問(wèn)題。
(2)基于現(xiàn)有的系統(tǒng)分區(qū)數(shù)據(jù)同步機(jī)制的缺陷,建議在修復(fù)bug的過(guò)程中考慮增大緩存區(qū)buffer的存儲(chǔ)空間或者引入腳標(biāo)異常增長(zhǎng)檢測(cè)機(jī)制,一旦系統(tǒng)檢測(cè)到異常,應(yīng)當(dāng)立即對(duì)緩存區(qū)腳標(biāo)清零。
隨著中國(guó)民航的快速發(fā)展,空中流量急劇增多,空管自動(dòng)化系統(tǒng)在管制運(yùn)行指揮過(guò)程中發(fā)揮的作用變得舉足輕重。作為通信導(dǎo)航監(jiān)視“五大關(guān)鍵設(shè)備”之一,空管自動(dòng)化系統(tǒng)出現(xiàn)故障時(shí)所要求的應(yīng)急響應(yīng)速度和時(shí)效更是檢驗(yàn)每一個(gè)運(yùn)維人員技能水平高低的指標(biāo)。針對(duì)“塔進(jìn)分離”的自動(dòng)化系統(tǒng)使用現(xiàn)場(chǎng),尤其是塔臺(tái)分區(qū),在日常運(yùn)行保障的過(guò)程中,值班員應(yīng)當(dāng)時(shí)刻高度關(guān)注空管自動(dòng)化系統(tǒng)通信服務(wù)器轉(zhuǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)同步狀況。在突發(fā)情況下,切換進(jìn)近分區(qū)通信服務(wù)器的主備機(jī)可作為臨時(shí)應(yīng)急手段解決故障,優(yōu)先保障管制指揮不中斷。除此之外,值班員應(yīng)當(dāng)加強(qiáng)業(yè)務(wù)培訓(xùn),提升個(gè)人技能水平,要深入理解系統(tǒng)工作原理,能通過(guò)分析系統(tǒng)日志查找關(guān)鍵信息,快速鎖定系統(tǒng)的故障點(diǎn),然后制定恢復(fù)系統(tǒng)功能的合理方案。