摘要:隨著中國民航航班量的持續(xù)增加,空管自動化系統(tǒng)的規(guī)模也在不斷地擴(kuò)大,從之前的20多個節(jié)點(diǎn)擴(kuò)大到北京區(qū)管系統(tǒng)的400多個節(jié)點(diǎn),原有的基于中心節(jié)點(diǎn)的軟件版本管理系統(tǒng)由于受到節(jié)點(diǎn)數(shù)增多以及分區(qū)帶寬的限制,導(dǎo)致在系統(tǒng)軟件升級維護(hù)過程中,軟件升級包發(fā)布時間長、效率低。針對該問題,文章提出一種基于多級代理的空管軟件版本管理系統(tǒng),系統(tǒng)采用基于MD5驗證技術(shù)、多級分區(qū)代理技術(shù)和壓縮傳輸技術(shù),實(shí)現(xiàn)了大規(guī)??展芟到y(tǒng)軟件版本的快速管理。該系統(tǒng)有效提升了空管軟件的發(fā)布速率且節(jié)點(diǎn)數(shù)越多,效率提升越明顯。
關(guān)鍵詞:空管系統(tǒng);版本管理;多級代理;效率
中圖分類號:TP311 "文獻(xiàn)標(biāo)志碼:A
0 引言
空管自動化系統(tǒng)是民航空管單位對空指揮的核心系統(tǒng)之一[1],每天24 h不間斷運(yùn)行,給管制人員提供連續(xù)、準(zhǔn)確、穩(wěn)定的空中交通管制信息,以進(jìn)行空中交通管制[2]。系統(tǒng)采用國際上廣泛使用并得到公認(rèn)的設(shè)計理念和設(shè)計方法,進(jìn)行模塊化、多重冗余的優(yōu)化設(shè)計。系統(tǒng)主要包括監(jiān)視數(shù)據(jù)引接、監(jiān)視數(shù)據(jù)預(yù)處理、多源監(jiān)視數(shù)據(jù)融合處理、相關(guān)和告警處理、飛行電報接收和飛行計劃處理、氣象數(shù)據(jù)處理、數(shù)據(jù)記錄和重演、管制席位信息顯示、系統(tǒng)監(jiān)控及數(shù)據(jù)管理、旁路監(jiān)視數(shù)據(jù)處理、旁路飛行數(shù)據(jù)處理等功能模塊[3],涉及功能模塊眾多。同時,隨著我國航班量的不斷增加,空管系統(tǒng)規(guī)模也在不斷擴(kuò)大,節(jié)點(diǎn)數(shù)持續(xù)增長,在北京新機(jī)場空管自動化系統(tǒng)中,系統(tǒng)節(jié)點(diǎn)數(shù)已經(jīng)達(dá)到了400多個。軟件的升級維護(hù)需要有效的輔助工具,以減少不必要的人工操作風(fēng)險。對于需要24 h不中斷的運(yùn)行系統(tǒng),升級過程應(yīng)盡量規(guī)范高效,在有限的維護(hù)時間中,要盡可能快速高效地完成軟件版本的升級工作。因此,文章設(shè)計了一種基于多級代理的空管軟件版本管理系統(tǒng)。系統(tǒng)采用基于MD5驗證技術(shù)、多級分區(qū)代理技術(shù)和壓縮傳輸技術(shù),實(shí)現(xiàn)大規(guī)??展芟到y(tǒng)軟件版本的快速管理。該系統(tǒng)有效提升了升級過程中空管軟件的發(fā)布速率。節(jié)點(diǎn)數(shù)越多,效率提升越明顯。
1 背景介紹
北京新機(jī)場空管自動化系統(tǒng)是2019年為北京大興機(jī)場投入使用而建設(shè)的大型空管自動化系統(tǒng),該系統(tǒng)將為北京終端區(qū)、北京區(qū)管、首都機(jī)場塔臺、大興機(jī)場塔臺、天津機(jī)場塔臺等“兩市三場五地”提供管制自動化服務(wù)。該系統(tǒng)首次采用了全新“TCU”架構(gòu),引入了AMAN、塔臺數(shù)據(jù)交互、中期沖突探測、軟件版本管理、全新人機(jī)交互等新技術(shù)。該系統(tǒng)采用符合民航要求的84坐標(biāo)系進(jìn)行各種計算處理,可實(shí)現(xiàn)與相鄰管制區(qū)的自動屏幕管制移交,能夠按照現(xiàn)場管制需求和管制移交規(guī)定通過MH/T 4029.3 C類報、《中國民用航空AIDC管制應(yīng)用指導(dǎo)手冊》和ICAO標(biāo)準(zhǔn)的AIDC協(xié)議進(jìn)行管制移交。系統(tǒng)設(shè)計采用分布式、開放式的客戶/服務(wù)器(C/S)系統(tǒng)架構(gòu),網(wǎng)絡(luò)采用3條本地網(wǎng),具備多種類型的數(shù)據(jù)接口,具有較強(qiáng)的互聯(lián)能力,易于和其他設(shè)備及其他ATC系統(tǒng)進(jìn)行聯(lián)試。在該系統(tǒng)中,北京區(qū)管中心分區(qū)節(jié)點(diǎn)數(shù)為174個、北京終端分區(qū)節(jié)點(diǎn)數(shù)為127個、天津機(jī)場分區(qū)節(jié)點(diǎn)數(shù)為39個、大興機(jī)場分區(qū)節(jié)點(diǎn)數(shù)為23個、首都機(jī)場分區(qū)節(jié)點(diǎn)數(shù)為17個。
相較于從前,空管自動化系統(tǒng)的系統(tǒng)結(jié)構(gòu)日趨復(fù)雜,系統(tǒng)節(jié)點(diǎn)數(shù)量急劇增長,由最初的20多個節(jié)點(diǎn)擴(kuò)大到北京新機(jī)場空管自動化系統(tǒng)的400多個節(jié)點(diǎn)。通過分析現(xiàn)有的軟件版本管理系統(tǒng)發(fā)現(xiàn),現(xiàn)有系統(tǒng)主要存在以下不足。
(1)軟件升級包發(fā)布效率低?,F(xiàn)有的軟件版本管理系統(tǒng)采用基于中心節(jié)點(diǎn)的集中式發(fā)布策略,對系統(tǒng)內(nèi)部節(jié)點(diǎn)按序依次分發(fā)升級包,該發(fā)布模式在北京新機(jī)場空管自動化系統(tǒng)這樣的大型空管自動化系統(tǒng)的應(yīng)用中體現(xiàn)出極大的局限性。
該空管自動化系統(tǒng)節(jié)點(diǎn)數(shù)多達(dá)400多個,依次發(fā)布耗時較長。該系統(tǒng)存在多個分區(qū),分區(qū)與分區(qū)之間帶寬相對較小。而軟件版本管理系統(tǒng)服務(wù)端位于其中一個分區(qū)內(nèi),意味著大量的節(jié)點(diǎn)需要跨區(qū)域進(jìn)行升級包發(fā)布,因而發(fā)布速率受區(qū)域間帶寬影響,發(fā)布效率進(jìn)一步降低,很大程度上影響了升級維護(hù)工作的高效進(jìn)行。
(2)數(shù)據(jù)庫須手動升級。在軟件升級維護(hù)過程中,除了軟件版本的修改外,數(shù)據(jù)庫也經(jīng)常需要進(jìn)行同步升級。當(dāng)前數(shù)據(jù)庫升級多采用人工手動升級方式,增加人工操作出錯風(fēng)險,數(shù)據(jù)庫升級作為軟件版本升級的一部分,未能納入現(xiàn)有的軟件版本管理系統(tǒng)的自動化管理。
針對上述問題,文章實(shí)現(xiàn)了一種基于多級代理的空管軟件版本管理系統(tǒng)。一方面,系統(tǒng)集成數(shù)據(jù)庫自動化升級,完善升級管理流程;另一方面,系統(tǒng)增加發(fā)布策略,通過多級分區(qū)代理提高升級包發(fā)布速率;同時,利用md5校驗技術(shù),系統(tǒng)加強(qiáng)了文件一致性校驗。
2 基于多級代理的空管軟件版本管理系統(tǒng)
該系統(tǒng)主要包括升級管理、版本一致性校驗、發(fā)布策略設(shè)置3個部分。
2.1 升級管理
在多級代理的空管軟件版本管理系統(tǒng)中,升級管理模塊主要應(yīng)用場景是系統(tǒng)補(bǔ)丁升級,該場景也是版本管理中最為常見的使用場景。針對數(shù)據(jù)庫須手動升級的不足,該模塊在升級流程中集成了數(shù)據(jù)庫的自動化升級。升級管理流程如圖1所示。
(1)制作升級包的目錄結(jié)構(gòu)設(shè)計與系統(tǒng)層次結(jié)構(gòu)保持一致,升級包上傳至版本服務(wù)器后,客戶端界面自動識別展示。
(2)升級之前將節(jié)點(diǎn)對應(yīng)升級包中的升級文件進(jìn)行備份,以備升級失敗后可以快速進(jìn)行文件回滾。在客戶端界面的備份列表中,可查看備份文件。同時,為了完善升級流程,對待升級的數(shù)據(jù)庫進(jìn)行相應(yīng)數(shù)據(jù)備份。
(3)發(fā)布時將升級文件發(fā)布到選中節(jié)點(diǎn)的接收升級包目錄下。文件在傳輸過程中利用文件壓縮技術(shù)確保文件壓縮后再進(jìn)行傳輸,減小文件大小,縮短文件發(fā)布時長。在升級包發(fā)布過程中,客戶端界面顯示代理狀態(tài)、進(jìn)度以及執(zhí)行狀態(tài)。在發(fā)布完成后,升級包已經(jīng)傳送到指定節(jié)點(diǎn),此刻并未合并文件,運(yùn)行系統(tǒng)狀態(tài)不受影響。
(4)激活時將升級文件合并到相應(yīng)目錄中。當(dāng)升級包激活時,客戶端界面顯示代理狀態(tài)、執(zhí)行狀態(tài)。若升級包中識別出包含數(shù)據(jù)庫升級文件,則對數(shù)據(jù)庫進(jìn)行同步升級。激活后按需重啟設(shè)備后,便可以進(jìn)行系統(tǒng)狀態(tài)的檢查。
發(fā)布、激活流程如圖2所示。
(5)在升級失敗的情況下,用戶利用升級前備份的文件可對升級文件、數(shù)據(jù)庫進(jìn)行回滾,快速回退到升級前的可用狀態(tài)。
(6)其他一些輔助功能包括升級包的刪除、節(jié)點(diǎn)歷史發(fā)布文件的刪除等,其可避免造成私有目錄下產(chǎn)生過多的無效文件。
2.2 版本一致性校驗
在軟件版本管理系統(tǒng)中,版本的一致性要求必不可少。為了加強(qiáng)文件一致性校驗,在該系統(tǒng)的設(shè)計中,系統(tǒng)利用MD5驗證技術(shù),除了確保文件發(fā)布的一致性外,還可以主動觸發(fā)對空管自動化系統(tǒng)內(nèi)部節(jié)點(diǎn)關(guān)鍵文件的版本狀態(tài)進(jìn)行統(tǒng)一校驗。關(guān)鍵文件通過離線配置指定生效。
在全系統(tǒng)校驗觸發(fā)后,版本管理軟件對系統(tǒng)配置目錄下的文件進(jìn)行MD5校驗。在校驗過程中,客戶端界面可以實(shí)時顯示代理狀態(tài)、執(zhí)行狀態(tài)、已校驗的文件數(shù)。完成校驗后,用戶可以看到校驗的結(jié)果:若文件與版本服務(wù)器一致,則顯示綠色;若存在不一致則顯示紅色,采集代理離線則顯示灰色。針對選中節(jié)點(diǎn),可以以列表的形式展示不一致文件信息以及文件MD5碼情況。
在軟件版本管理系統(tǒng)的客戶端顯示界面,用戶可以查看離線文件中配置的受校驗?zāi)夸?、單?dú)進(jìn)行校驗不受校驗范圍影響的文件以及校驗?zāi)夸泝?nèi)被忽略的文件。文件的忽略方式可以通過前綴、后綴匹配,或是指定文件的絕對路徑,或是整個目錄下的文件。
2.3 發(fā)布策略設(shè)置
針對軟件版本管理現(xiàn)存的升級包發(fā)布效率低的問題,利用多級分區(qū)代理技術(shù)提升發(fā)布效率。多級代理結(jié)構(gòu)如圖3所示。系統(tǒng)可以通過isPartMode配置項靈活設(shè)置是否啟用分區(qū)模式,根據(jù)不同使用場景設(shè)置不同分區(qū)模式,以減少系統(tǒng)不必要的開銷。
isPartMode:true,表示啟動分區(qū)模式。一般用于跨地區(qū)分區(qū)間存在限速專線,此時單節(jié)點(diǎn)發(fā)布速度慢。在啟動分區(qū)代理時,若分區(qū)指定則按指定的IP作為分區(qū)代理,若分區(qū)未指定則以分區(qū)內(nèi)第一臺機(jī)器作為默認(rèn)分區(qū)代理。
isPartMode:1,表示不采用分區(qū)模式。所有節(jié)點(diǎn)被當(dāng)作一個分區(qū),一般適用于局域網(wǎng)/光纖直連模式。
(1)一級分區(qū)代理。
當(dāng)啟動分區(qū)模式時,每個分區(qū)選出一個代理服務(wù)器,服務(wù)器先將文件發(fā)布給各分區(qū)代理,分區(qū)代理接收文件之后再對各自的分區(qū)內(nèi)節(jié)點(diǎn)進(jìn)行發(fā)布,減少了跨分區(qū)的發(fā)布次數(shù)。由此發(fā)布節(jié)點(diǎn)由一個變?yōu)槎鄠€且分區(qū)內(nèi)網(wǎng)絡(luò)帶寬遠(yuǎn)大于跨分區(qū)帶寬,從而提高發(fā)布速率。
(2)二次分區(qū)代理。
在分區(qū)內(nèi)做二次代理劃分,默認(rèn)10臺設(shè)備為一組,可以通過配置項進(jìn)行修改。分區(qū)代理先將升級包發(fā)布到每組的其中一臺設(shè)備上,再由此設(shè)備發(fā)布到組內(nèi)其他設(shè)備上,當(dāng)分區(qū)內(nèi)發(fā)布設(shè)備不足10臺時,不做二次代理。
不做二次代理的發(fā)布時間=節(jié)點(diǎn)數(shù)×文件大小發(fā)布速率
在節(jié)點(diǎn)數(shù)gt;10,分組數(shù)為10情況下,
做二次代理的發(fā)布時間=分組數(shù)量×文件大小發(fā)布速率+9×文件大小發(fā)布速率
做二次代理的發(fā)布時間不做二次代理的發(fā)布時間=分組數(shù)+9節(jié)點(diǎn)數(shù)≈110+9節(jié)點(diǎn)數(shù)
由上述計算公式可得,在使用二次分區(qū)代理的情況下,節(jié)點(diǎn)數(shù)越多,升級包發(fā)布效率提升越明顯[4]。
相較于原有的基于中心節(jié)點(diǎn)的軟件版本管理系統(tǒng),基于多級代理的空管軟件版本管理系統(tǒng)在系統(tǒng)功能上更加完備,集成了數(shù)據(jù)庫自動化升級功能,減輕了人工操作負(fù)擔(dān),減小風(fēng)險。該系統(tǒng)在版本一致性方面進(jìn)行功能增強(qiáng),加強(qiáng)了升級前后的文件校驗效果;在文件發(fā)布效率方面有較大提升,縮短了系統(tǒng)升級維護(hù)時間。
3 結(jié)語
文章介紹了空管自動化系統(tǒng)的軟件版本管理系統(tǒng),以其在自動化系統(tǒng)規(guī)模擴(kuò)大后出現(xiàn)的升級包發(fā)布效率受限的缺陷為出發(fā)點(diǎn),利用代理提升分區(qū)間的發(fā)布速率,結(jié)合二次代理提升分區(qū)內(nèi)的發(fā)布效率,通過多級分區(qū)代理技術(shù)與壓縮傳輸技術(shù)大幅提升級包發(fā)布效率,加速現(xiàn)場升級工作進(jìn)程,提升用戶體驗。在節(jié)點(diǎn)數(shù)越多的情況下,基于多級代理的空管軟件版本管理系統(tǒng)的效率提升越明顯[5]。同時,所提系統(tǒng)利用MD5校驗技術(shù),保證了其與驗證系統(tǒng)版本的一致性。系統(tǒng)將數(shù)據(jù)庫升級納入軟件版本升級的統(tǒng)一管理,使整個軟件版本的升級功能更加完備。隨著空管自動化系統(tǒng)功能的不斷完備以及規(guī)模的不斷擴(kuò)大,基于多級分區(qū)代理的空管軟件版本管理系統(tǒng)必將在系統(tǒng)升級維護(hù)中發(fā)揮更大的作用。
參考文獻(xiàn)
[1]鄒國政.空管自動化系統(tǒng)采用C類報文的飛行數(shù)據(jù)移交設(shè)計[J].中國科技信息,2021(6):20-22.
[2]張朋,張佳靜.NUMEN3000空管自動化系統(tǒng)升降級設(shè)計[J].無線互聯(lián)科技,2023(5):54-56.
[3]周祿華,李璋靜.基于數(shù)據(jù)共享的進(jìn)港排序管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].信息化研究,2020(2):58-62.
[4]彭成.基于多層索引的空間數(shù)據(jù)版本管理系統(tǒng)[J].現(xiàn)代計算機(jī),2022(23):86-91.
[5]陳顯爐,李建文,于凱.基于無中心化的分布式技術(shù)的軟件版本分發(fā)管理系統(tǒng)的探討[J].電子元器件與信息技術(shù),2023(10):35-38.
(編輯 王永超編輯)
Version management system for air traffic control software based on multi-level agents
JI" Xianhui1, LIU" Peng2, ZHOU" Luhua1
(1.Nanjing LES Information Technology Co., Ltd., Nanjing 210000, China; 2.The 31435 Force of the
People’s Liberation Army, Shenyang 110015, China)
Abstract: With the continuous increase in the number of civil aviation flights in China, the scale of the air traffic control automation system is also constantly expanding, from the previous more than 20 nodes to more than 400 nodes in the Beijing area management system. The original software version management system based on central nodes is limited by the increase in the number of nodes and partition bandwidth,resulting in long release time and low efficiency of software upgrade packages during the system software upgrade and maintenance process. In response to this issue, this article proposes an air traffic control software version management system based on multi-level agents. It adopts MD5 verification technology, multi-level partition agent technology, and compression transmission technology to achieve rapid management of large-scale air traffic control system software versions. The system effectively improves the release rate of air traffic control software, and the more nodes there are, the more significantly the efficiency improves.
Key words: air traffic control system; version management; multi-level agents; efficiency