韓驍宇
萊斯自動化系統(tǒng)是國產(chǎn)空管自動化系統(tǒng)中較為成熟與完善的產(chǎn)品,目前廣泛部署在全國各個空管分局站,其中最重要的是作為三大區(qū)管中心的備用自動化系統(tǒng)?;趯a(chǎn)設(shè)備的支持和對運行安全的考慮,備用系統(tǒng)常態(tài)化使用越來越頻繁。在維護與使用方面對空管管制與技術(shù)保障人員都提出了更高的要求。
本文以天津萊斯MUMEN3000自動化系統(tǒng)為例,研究在當(dāng)前V3.2版本軟件環(huán)境下,系統(tǒng)狀態(tài)切換與顯示的機制。全面深入了解萊斯自動化系統(tǒng)主備機切換邏輯、判斷標(biāo)準(zhǔn);系統(tǒng)運行狀態(tài)判斷標(biāo)準(zhǔn)與切換時機;各個服務(wù)器間消息傳遞機制與生效過程。并結(jié)合實際案例分析,幫助大家了解萊斯自動化系統(tǒng)特性,為今后系統(tǒng)使用與設(shè)備維護提供支撐。
一、背景
天津使用萊斯NUMEN3000行自動化系統(tǒng),當(dāng)前版本為V3.2P14,是北京區(qū)管萊斯自動化系統(tǒng)的一個TCU分區(qū),北京區(qū)管系統(tǒng)FDP提供計劃計算及報文處理能力,本分區(qū)內(nèi)進(jìn)行雷達(dá)數(shù)據(jù)引接與處理,航跡與計劃相關(guān)計算,告警計算等功能。系統(tǒng)配置方面,主要功能服務(wù)器(如SDP、DCP等)采用雙機備份配置,擁有旁路雷達(dá)處理能力。系統(tǒng)使用三網(wǎng)結(jié)構(gòu),由兩個運行網(wǎng)與一個服務(wù)網(wǎng)組成。
該系統(tǒng)運行狀態(tài)分為系統(tǒng)運行級別、服務(wù)器運行狀態(tài)以及各類軟件運行情況,系統(tǒng)會根據(jù)各個模塊運行狀態(tài)動態(tài)調(diào)整系統(tǒng)運行級別。并給出相應(yīng)提示,并可以通過人工操作在線進(jìn)行狀態(tài)切換。
在使用萊斯自動化指揮期間,系統(tǒng)出現(xiàn)降級,恢復(fù)后天津分區(qū)航跡與計劃相關(guān)功能失效,北京分區(qū)該功能正常。因此對該情況進(jìn)行相關(guān)的調(diào)查與分析,主要調(diào)查主備機狀態(tài)判斷、切換邏輯,系統(tǒng)運行狀態(tài)與顯示方面的系統(tǒng)特性。
二、調(diào)查過程
(一)降級過程調(diào)查
萊斯自動化系統(tǒng)主備機狀態(tài)由主備機中ZLS進(jìn)程判斷,當(dāng)節(jié)點開機后,ZLS進(jìn)程優(yōu)先啟動,啟動后節(jié)點為初始狀態(tài),此時節(jié)點通過PING進(jìn)程嘗試連接交換機,判斷網(wǎng)絡(luò)狀態(tài)。同時ZLS進(jìn)程準(zhǔn)備接收主備機心跳信息,如果收到同組服務(wù)器的主機心跳,則將自己切換為備用狀態(tài),并發(fā)出備機心跳;若未收到主機心跳則等待3個周期(共3秒),若在此3個周期內(nèi)收到同組的主機心跳,則判斷是否為本機發(fā)送的主機心跳信息,是則將自己置為主機狀態(tài),否則說明此時系統(tǒng)中有主用狀態(tài)服務(wù)器,將自己置為備用狀態(tài)。主備機心跳信息發(fā)送周期為1秒。
當(dāng)3個周期后仍未收到主機心跳信息,則發(fā)送成為主機申請包,并繼續(xù)等待3個周期,在此期間若收到同組主機的心跳信息,則判斷是否為本機發(fā)布的心跳信息,并按之前的流程繼續(xù)判斷,若3個周期內(nèi)未收到同組主機心跳信息,則將自己置為主機。若兩臺服務(wù)器都申請成為主機,則優(yōu)先申請的服務(wù)器成為主機。
在運行中發(fā)現(xiàn),系統(tǒng)降級過程中,DCP11服務(wù)器在未接入網(wǎng)絡(luò)的狀態(tài)下開機后,該節(jié)點由于未收到主備機狀態(tài)信息以及其他節(jié)點的狀態(tài)信息,因此判斷自己為單主機狀態(tài),其他節(jié)點均不在線。在該節(jié)點接入網(wǎng)絡(luò)時,同組主機正處于兩次主機心跳信息發(fā)送的間隙期,因此DCP11未收到系統(tǒng)中同組主機的心跳信息,并將全系統(tǒng)節(jié)點不在線信息發(fā)送至網(wǎng)絡(luò)中。造成判斷系統(tǒng)運行狀體的進(jìn)程SMPS根據(jù)該信息判斷系統(tǒng)主要服務(wù)器失效,系統(tǒng)降級。
(二)系統(tǒng)運行狀態(tài)與顯示不符調(diào)查
萊斯自動化系統(tǒng)運行等級升降級邏輯是:當(dāng)主要功能缺失時自動降級,例如MSDP的main radar、couple、告警等服務(wù)失效時系統(tǒng)將切換至旁路雷達(dá)處理服務(wù)器BSDP;當(dāng)區(qū)管FDP服務(wù)器失效或與區(qū)管鏈路失效時系統(tǒng)將切換至本地計劃處理服務(wù)器FDP。待故障功能恢復(fù)后需手動確認(rèn)相應(yīng)功能恢復(fù),并手動升級系統(tǒng)狀態(tài)。
當(dāng)系統(tǒng)判斷當(dāng)前分區(qū)內(nèi)無SDP服務(wù)器可用,但存在雷達(dá)處理功能正常的SDP服務(wù)器時,席位會顯示可用SDP服務(wù)器中SDP進(jìn)程處理的綜合航跡;負(fù)責(zé)航跡與計劃相關(guān)的TPP進(jìn)程則會等待主任席人工確認(rèn)系統(tǒng)升級后開始工作。
在運行過程發(fā)現(xiàn),系統(tǒng)從出現(xiàn)降級狀態(tài)直至恢復(fù)時,席位顯示系統(tǒng)主用SDP功能、本分區(qū)FDP功能能失效,但在監(jiān)控中顯示以上4臺服務(wù)器功能運行正常,軟件進(jìn)程運行正常;在重啟席位后,席位顯示系統(tǒng)所有恢復(fù)功能正常,但航跡無法與計劃相關(guān)。
造成這種情況的原因為,系統(tǒng)因DCP11發(fā)布的不正常信息后判斷系統(tǒng)降級,但實際上所有服務(wù)器狀態(tài)均正常,因此當(dāng)再次全系統(tǒng)詢問狀態(tài)時各個節(jié)點返回正常消息。重啟席位后,席位進(jìn)程默認(rèn)為系統(tǒng)狀態(tài)正常,同時收到所有服務(wù)功能正常的消息,因此重啟席位進(jìn)程后顯示系統(tǒng)運行狀態(tài)正常。但TPP進(jìn)程需人確認(rèn)系統(tǒng)恢復(fù)手動升級才開始工作,因此系統(tǒng)相關(guān)能力喪失。需要將雙機TPP進(jìn)程下線,再次觸發(fā)自動降級過程,并手動升級才能恢復(fù)。
為調(diào)查此類情況,可使用zltest工具模擬當(dāng)日服務(wù)器間消息傳遞過程,使用getst腳本查看系統(tǒng)運行狀態(tài)。用以調(diào)查系統(tǒng)在狀態(tài)顯示方面的問題。zltest工具可人工發(fā)布各類ZLS信息(如上文中0x0100、0x0200等),getst工具可直接顯示系統(tǒng)運行狀態(tài),通過以上兩個工具在北京新終端測試平臺上復(fù)現(xiàn)當(dāng)日情況并結(jié)合日志分析狀態(tài)顯示與變化過程,
三、 結(jié)論
經(jīng)過調(diào)查,發(fā)現(xiàn)萊斯自動化系統(tǒng)V3.2P15、P16均存在主備機狀態(tài)判斷、切換邏輯不合理,系統(tǒng)運行狀態(tài)與顯示狀態(tài)不一致問題。
其中在主備機狀態(tài)方面。服務(wù)器開機后ZLS進(jìn)程在未接入網(wǎng)絡(luò)時就開始計算主備機狀態(tài)與系統(tǒng)所有節(jié)點狀態(tài),而該進(jìn)程在主要雙機配置的服務(wù)器上均有配置,根據(jù)系統(tǒng)設(shè)計原理,全系統(tǒng)只有機器號最小的節(jié)點發(fā)布ZLS信息,因此只要出現(xiàn)ZLS進(jìn)程發(fā)布的系統(tǒng)狀態(tài)信息,所有節(jié)點均根據(jù)該信息做出相應(yīng)動作。且由于各類狀態(tài)信息的發(fā)布周期不同,有一定概率出現(xiàn)保存錯誤信息的節(jié)點在接入網(wǎng)絡(luò)時將異常信息發(fā)布至系統(tǒng)中,造成系統(tǒng)整體狀態(tài)異常。同時ZLS發(fā)布的系統(tǒng)狀態(tài)信息在A、B、C三網(wǎng)中均有傳輸,因此開機后無論先接入何種類型網(wǎng)絡(luò)均存在該風(fēng)險。在測試過程中,多次進(jìn)行服務(wù)器開機后接入網(wǎng)絡(luò)的操作時大部分情況下節(jié)點會正常接入系統(tǒng)并變?yōu)閭溆脿顟B(tài),但出現(xiàn)一次上線服務(wù)器將主用DCP服務(wù)器自動下線,系統(tǒng)降級情況。
在系統(tǒng)系統(tǒng)狀態(tài)顯示方面,經(jīng)過對事件中各類消息的模擬,發(fā)現(xiàn)席位顯示的系統(tǒng)狀態(tài)與系統(tǒng)真實運行狀態(tài)存在差異。且由于系統(tǒng)升級需要主任席在相應(yīng)的狀態(tài)開關(guān)處進(jìn)行操作,由于這種差異導(dǎo)致主任席無法進(jìn)行升級操作,導(dǎo)致TPP進(jìn)程雖然狀態(tài)正常但無法介入工作,相關(guān)功能失效但系統(tǒng)顯示狀態(tài)正常,對維護維修造成誤導(dǎo)。
因此,針對主備機狀態(tài)問題,因在節(jié)點介入系統(tǒng)前進(jìn)行狀態(tài)計算無意義,且會生成異常狀態(tài)信息,建議調(diào)整軟件啟動邏輯,節(jié)點在未聯(lián)通網(wǎng)絡(luò),不能收到系統(tǒng)狀態(tài)時不進(jìn)行主備機狀態(tài)及系統(tǒng)狀態(tài)的計算。針對系統(tǒng)運行狀態(tài)與顯示狀態(tài)不一致問題,為便于技術(shù)維護人員及時準(zhǔn)確的判斷系統(tǒng)狀態(tài),建議在監(jiān)控中顯示系統(tǒng)中各個服務(wù)器運行狀態(tài)及系統(tǒng)運行狀態(tài),為運行維護提供準(zhǔn)確信息。