王 鵬,王曉亮,張 喆,吳仁彪
(中國民航大學 天津市智能信號與圖像處理重點實驗室,天津300300)
隨著低空空域[1-3]的逐步開放,通航飛行需求急劇增長,通用航空飛行安全技術(shù)保障手段目前比較匱乏。通航飛行服務站通過對接收到的航跡數(shù)據(jù)、飛行計劃數(shù)據(jù)、航行情報數(shù)據(jù)以及氣象數(shù)據(jù)進行處理,為飛行服務及應急搜救提供信息。飛行數(shù)據(jù)處理為飛行服務站的核心系統(tǒng)和關(guān)鍵技術(shù),具有承上啟下的作用。通用航空與運輸航空相比存在若干差異:通用航空器飛行高度較低,與運輸航空相比在爬升和下降過程存在差異;通用航空器體積較小,航空器在飛行速度、爬升 (下降)率、加 (減)速度等性能差異較大;航空器受地面氣流影響較大,飛行航跡變化較劇烈,通用航空器在飛行計劃執(zhí)行過程中,受人為因素影響較大,造成無法嚴格執(zhí)行飛行計劃;通用航空部分空域監(jiān)視設施匱乏,無法提供可靠的監(jiān)視數(shù)據(jù)[4-8]。因此基于上述差異,需要針對通用航空的特點,對通航飛行數(shù)據(jù)處理進行設計與實現(xiàn),對于保障通用航空器飛行安全發(fā)揮重要作用。
通用航空飛行服務站綜合運行支持系統(tǒng)包括:綜合數(shù)據(jù)顯示系統(tǒng)、監(jiān)控系統(tǒng)、航行情報服務系統(tǒng)、氣象服務系統(tǒng)、搜救服務系統(tǒng)、數(shù)據(jù)前端處理系統(tǒng)、多源航跡融合系統(tǒng)、沖突探測系統(tǒng)、飛行數(shù)據(jù)處理系統(tǒng)以及中間件,飛行服務站系統(tǒng)組成如圖1所示。飛行數(shù)據(jù)處理系統(tǒng)是飛行服務站的核心系統(tǒng)之一,具有承上啟下的作用。飛行數(shù)據(jù)處理系統(tǒng)接收轉(zhuǎn)報系統(tǒng)提供的計劃報文,接收自主研發(fā)的航跡融合系統(tǒng)提供的航跡數(shù)據(jù),以及接收自主研發(fā)的綜合數(shù)據(jù)顯示系統(tǒng)提供的操作指令,飛行數(shù)據(jù)處理系統(tǒng)對接收的數(shù)據(jù)和指令進行處理,將處理結(jié)果輸出給綜合數(shù)據(jù)顯示系統(tǒng)進行顯示。通航飛行數(shù)據(jù)處理業(yè)務流程如圖2所示。
圖1 飛行服務站系統(tǒng)組成
圖2 通航飛行數(shù)據(jù)處理業(yè)務流程
飛行數(shù)據(jù)處理系統(tǒng)的具體業(yè)務流程為:
(1)飛行服務站接收計劃報文后,系統(tǒng)將對計劃報文進行解析,存儲飛行計劃數(shù)據(jù),對計劃數(shù)據(jù)進行管理。
(2)飛行服務站負責維護飛行計劃的生命周期,不同的計劃狀態(tài)構(gòu)成了飛行計劃的生命周期,計劃狀態(tài)的變更可以由系統(tǒng)根據(jù)一定條件自動產(chǎn)生,也可以人工生成。
(3)飛行服務站人員可根據(jù)航空用戶需求對計劃數(shù)據(jù)進行查詢或編輯操作。
(4)飛行服務站負責將飛行計劃與航跡自動關(guān)聯(lián),使飛行服務站人員直觀了解航空器飛行意圖,從而做出正確的指揮決策。
(5)飛行服務站負責根據(jù)飛行計劃、航路信息及航空器性能參數(shù)對計劃航跡進行估算,得到的計劃航跡與實際航跡進行一致性檢驗,檢測當前航空器是否偏航。
(6)飛行服務站負責根據(jù)計劃信息、計劃狀態(tài)、航跡估算信息、實際航跡及報告信息維護電子進程單的生成與更新。電子進程單能夠幫助飛行服務站人員掌握所有航空器的飛行動態(tài),為保障航空器安全飛行發(fā)揮重要作用。
系統(tǒng)總體框架由數(shù)據(jù)庫系統(tǒng)、基礎(chǔ)支持服務、業(yè)務邏輯層以及前端展示系統(tǒng)組成?;诖鎯^程的通航飛行數(shù)據(jù)處理系統(tǒng)框架如圖3所示。
(1)數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)用于數(shù)據(jù)的存儲及維護,包括飛行計劃數(shù)據(jù)庫、航跡估算數(shù)據(jù)庫、航跡關(guān)聯(lián)數(shù)據(jù)庫、偏航告警數(shù)據(jù)庫、地圖數(shù)據(jù)庫等。
(2)基礎(chǔ)支持服務:基礎(chǔ)支持服務提供了系統(tǒng)所需的模型及處理方法,包括基于存儲過程的數(shù)據(jù)庫操作模型、計劃報文解析方法、狀態(tài)變更模型、計劃航跡估算模型、計劃航跡更新算法、計劃航跡與實際航跡偏差計算方法。
(3)業(yè)務邏輯層:業(yè)務邏輯層為飛行服務站飛行數(shù)據(jù)處理業(yè)務制定了基本的功能操作。系統(tǒng)定義了一些基本操作,包括飛行計劃存儲、計劃查詢、計劃編輯、計劃與航跡關(guān)聯(lián)、計劃狀態(tài)變更、偏航告警檢測、電子進程單生成與更新。
(4)前端展示層:通航飛行數(shù)據(jù)處理系統(tǒng)將輸出飛行計劃數(shù)據(jù)、電子進程單計劃狀態(tài)、電子進程單航路點數(shù)據(jù)、計劃航跡與實際航跡偏差、偏航告警或告警解除指令,執(zhí)行結(jié)果可在飛行數(shù)據(jù)處理終端顯示,輸出信息可在網(wǎng)絡內(nèi)的其他終端發(fā)布。
圖3 基于存儲過程的通航飛行數(shù)據(jù)處理系統(tǒng)框架
針對上述總體設計,基于存儲過程的通航飛行數(shù)據(jù)處理系統(tǒng)包括了以下幾個基本功能:
(1)報文解析模塊。該模塊負責對系統(tǒng)接收到的計劃報文進行格式校驗與內(nèi)容解析。
(2)飛行計劃存儲模塊。該模塊負責存儲飛行計劃數(shù)據(jù),對數(shù)據(jù)合理性進行檢驗。
(3)飛行計劃管理模塊。該模塊負責更新數(shù)據(jù)庫中的數(shù)據(jù)以及為其他模塊提供數(shù)據(jù)庫數(shù)據(jù)。數(shù)據(jù)種類包括計劃數(shù)據(jù)、航跡估算數(shù)據(jù)、航跡關(guān)聯(lián)數(shù)據(jù)、偏航告警數(shù)據(jù)等。
(4)計劃航跡估算模塊。該模塊負責估算及更新預計經(jīng)過計劃位置點的時間、高度等。
(5)計劃狀態(tài)變更模塊。該模塊負責根據(jù)計劃狀態(tài)變更機制觸發(fā)生成狀態(tài)變更信息。
(6)電子進程單生成與更新模塊。該模塊負責生成及更新電子進程單信息,其內(nèi)容包括電子進程單計劃數(shù)據(jù)、電子進程單狀態(tài)變更數(shù)據(jù)、電子進程單航路點數(shù)據(jù)。
(7)計劃與航跡關(guān)聯(lián)模塊。該模塊負責根據(jù)關(guān)聯(lián)準則將飛行計劃與航跡進行關(guān)聯(lián)。
(8)飛行計劃一致性檢驗模塊。該模塊負責計算計劃航跡與實際航跡的位置偏差,生成偏航告警及告警解除信息。
(9)數(shù)據(jù)分發(fā)模塊。該模塊負責飛行數(shù)據(jù)處理系統(tǒng)各模塊間的數(shù)據(jù)通信。
(10)日志記錄模塊。該模塊負責記錄軟件執(zhí)行結(jié)果及運行狀態(tài),為排查軟件運行故障提供依據(jù)。
數(shù)據(jù)庫系統(tǒng)中各數(shù)據(jù)庫均為關(guān)系數(shù)據(jù)庫。飛行計劃數(shù)據(jù)庫用于維護計劃報文解析后的數(shù)據(jù),包括飛機國籍登記號、飛行種類、預計起飛時間、預計航路飛行時間、預計巡航高度、預計真空速、起飛機場、著陸機場、備降機場、預計飛行路徑等信息;航跡估算數(shù)據(jù)庫用于維護計劃航跡估算及更新數(shù)據(jù),包括飛機國籍登記號、計劃航跡點代碼、計劃點經(jīng)度、計劃點緯度、計劃點高度、計劃點速度、計劃航向、計劃到達時間等信息;航跡關(guān)聯(lián)數(shù)據(jù)庫用于維護計劃與航跡的關(guān)聯(lián)數(shù)據(jù),包括飛機國籍登記號、目標地址等信息;偏航告警數(shù)據(jù)庫用于維護偏航告警及告警解除數(shù)據(jù),包括飛機國籍登記號、告警種類等信息;地圖數(shù)據(jù)庫用于維護系統(tǒng)覆蓋范圍內(nèi)的位置數(shù)據(jù),包括位置代碼、位置經(jīng)度、位置緯度、位置高度等信息。
系統(tǒng)接口如圖4所示,包括依賴系統(tǒng)、系統(tǒng)輸入、數(shù)據(jù)處理決策、系統(tǒng)輸出。
(1)依賴系統(tǒng):通航飛行數(shù)據(jù)處理系統(tǒng)正常運行需要依賴如下系統(tǒng):
1)轉(zhuǎn)報系統(tǒng),為飛行數(shù)據(jù)處理系統(tǒng)提供計劃報文;2)自主研發(fā)的航跡融合系統(tǒng),為飛行數(shù)據(jù)處理系統(tǒng)提供航跡數(shù)據(jù);
3)自主研發(fā)的綜合數(shù)據(jù)顯示系統(tǒng),該系統(tǒng)向飛行數(shù)據(jù)處理系統(tǒng)發(fā)送操作指令,同時顯示飛行數(shù)據(jù)處理系統(tǒng)輸出的數(shù)據(jù)。
(2)輸入接口:通航飛行數(shù)據(jù)處理系統(tǒng)的輸入接口包括:計劃報文、航跡數(shù)據(jù)、計劃查詢/修改指令、狀態(tài)變更指令、報告數(shù)據(jù)。
(3)數(shù)據(jù)處理決策:應用功能模塊響應系統(tǒng)接收到的數(shù)據(jù)以實現(xiàn)系統(tǒng)功能。應用功能模塊包括:處理模塊、通信模塊、日志模塊。其中處理模塊用于處理系統(tǒng)接收到的數(shù)據(jù),分為計劃處理模塊與航跡處理模塊;通信模塊用于各模塊間的數(shù)據(jù)交互;日志模塊用于記錄各模塊的執(zhí)行信息。
圖4 基于存儲過程的通航飛行數(shù)據(jù)處理系統(tǒng)接口設計
(4)系統(tǒng)輸出:通航飛行數(shù)據(jù)處理系統(tǒng)的輸出接口包括:計劃數(shù)據(jù)、電子進程單計劃狀態(tài)、電子進程單航路點數(shù)據(jù)、計劃航跡與實際航跡偏差、偏航告警與告警解除數(shù)據(jù)。
存儲過程的定義請參見文獻 [9]。本文在傳統(tǒng)數(shù)據(jù)庫操作模型的數(shù)據(jù)庫服務器中加入了一層存儲過程,存儲過程在數(shù)據(jù)庫中表現(xiàn)為一組完成特定功能的SQL程序集合,只編譯一次,經(jīng)編譯后存儲于數(shù)據(jù)庫服務器端的數(shù)據(jù)庫中[10]。
本文采用面向?qū)ο罂梢暬疺isual Studio C++2010以及SQL Server 2008R2開發(fā)環(huán)境對基于存儲過程的飛行數(shù)據(jù)處理系統(tǒng)進行開發(fā),系統(tǒng)的實現(xiàn)方法如圖5所示。飛行數(shù)據(jù)處理系統(tǒng)的每個子功能模塊被封裝成一個類,由系統(tǒng)控制模塊進行調(diào)用。外部應用程序只需要調(diào)用系統(tǒng)控制模塊中的函數(shù)便可以操控系統(tǒng)各子功能完成數(shù)據(jù)處理,數(shù)據(jù)庫中數(shù)據(jù)的獲取與更新采用存儲過程技術(shù)加以實現(xiàn),使在網(wǎng)絡上傳輸?shù)臄?shù)據(jù)僅僅是有用的數(shù)據(jù)。
根據(jù)飛行服務站通航飛行數(shù)據(jù)處理系統(tǒng)的需求分析,在系統(tǒng)架構(gòu)與功能設計的基礎(chǔ)上對系統(tǒng)進行編碼實現(xiàn),在大量測試后逐步形成了滿足需求且性能穩(wěn)定的版本。工程樣機如圖6(a)所示,通航飛行數(shù)據(jù)處理系統(tǒng)運行在后臺機架服務器上;系統(tǒng)界面如圖6(b)所示,執(zhí)行結(jié)果可在系統(tǒng)界面上顯示;通航飛行數(shù)據(jù)處理系統(tǒng)輸出的數(shù)據(jù)顯示在自主研發(fā)的綜合數(shù)據(jù)顯示系統(tǒng)上,如圖6(c)所示。
(1)測試環(huán)境:測試依賴系統(tǒng)為:轉(zhuǎn)報系統(tǒng)、航跡融合系統(tǒng)、綜合數(shù)據(jù)顯示系統(tǒng)。各應用程序運行在終端計算機上,所用操作系統(tǒng)為 Windows 7;數(shù)據(jù)庫運行在機架式服務器上,所用操作系統(tǒng)為Windows Server 2008R2。測試環(huán)境如圖7所示。
(2)測試方法:測試分別采用基于常規(guī)方法和基于存儲過程的飛行數(shù)據(jù)處理系統(tǒng)對相同數(shù)據(jù)進行處理,測試數(shù)據(jù)分為多組,每組由不同數(shù)量的數(shù)據(jù)條組成,分別記錄采用兩種方法處理不同組數(shù)據(jù)的總耗時、單條處理時間以及CUP占用率。兩種方法均只開啟和關(guān)閉一次與數(shù)據(jù)庫的連接,接收到數(shù)據(jù)處理指令且完成數(shù)據(jù)庫連接后開始計時,完成一組數(shù)據(jù)處理之后停止計時并關(guān)閉與數(shù)據(jù)庫的連接,每組數(shù)據(jù)均重復處理50次后將平均處理時間作為此組數(shù)據(jù)的最終處理時間。
圖5 基于存儲過程的系統(tǒng)實現(xiàn)方法
圖6 系統(tǒng)界面及工程應用
圖7 測試環(huán)境
(3)數(shù)據(jù)結(jié)果:實驗過程中實際對大量數(shù)據(jù)進行了測試,為了便于論述本文采用如下幾組數(shù)據(jù)進行說明。
基于兩種方法的飛行數(shù)據(jù)處理系統(tǒng)處理數(shù)據(jù)的耗時比較如圖8所示。代表常規(guī)方法總耗時,代表存儲過程方法總耗時,由圖可以看出,隨著處理數(shù)據(jù)量的增加,常規(guī)方法的總耗時快速增長,存儲過程方法的總耗時增長趨勢比較緩慢,且總耗時遠遠少于常規(guī)方法。當處理的數(shù)據(jù)量增長到一定程度時,兩種方法總耗時的增長趨勢均趨于平緩,但存儲過程方法的總耗時僅為常規(guī)方法總耗時的千分之一左右。代表常規(guī)方法單條耗時,代表存儲過程方法單條耗時,由圖可以看出,隨著處理數(shù)據(jù)量的增加,常規(guī)方法的單條處理時間幾乎不變,但存儲過程方法的單條處理時間首先呈指數(shù)趨勢減少,當數(shù)據(jù)量增長到一定程度時,減少趨勢逐漸平緩,且遠小于常規(guī)方法。
圖8 兩種方法數(shù)據(jù)處理耗時比較
基于兩種方法的飛行數(shù)據(jù)處理系統(tǒng)處理數(shù)據(jù)時的CPU占用率比較如圖9所示。代表常規(guī)方法CPU占用率,代表存儲過程方法CPU占用率,隨著處理數(shù)據(jù)量的增加,常規(guī)方法的CPU占用率會緩慢增長,而存儲過程方法的CPU占用率幾乎不變且遠小于常規(guī)方法。
圖9 兩種方法CPU占用率比較
(4)數(shù)據(jù)分析:常規(guī)方法中SQL語句的編譯次數(shù)以及應用程序與數(shù)據(jù)庫的通信次數(shù)會隨著處理數(shù)據(jù)條數(shù)的增加而增加;區(qū)別于常規(guī)方法,存儲過程只編譯一次,經(jīng)編譯后存儲于數(shù)據(jù)庫服務器端的數(shù)據(jù)庫中,是一種可復用組件,且存儲過程中應用程序與數(shù)據(jù)庫的通信次數(shù)有限,使得基于存儲過程的飛行數(shù)據(jù)處理系統(tǒng)在處理速度及CPU占用率上較常規(guī)方法更具優(yōu)勢,能夠較穩(wěn)定的快速處理數(shù)據(jù)以滿足系統(tǒng)的性能需求。
本文針對通用航空特點,根據(jù)業(yè)務需求對基于存儲過程的通航飛行數(shù)據(jù)處理系統(tǒng)進行了總體設計、功能設計、數(shù)據(jù)庫設計以及接口設計,為滿足系統(tǒng)性能需求采用了存儲過程技術(shù)并在 Visual Studio C++ 2010以及SQL Server 2008R2開發(fā)環(huán)境下對系統(tǒng)進行了實現(xiàn),闡述了系統(tǒng)的實現(xiàn)方法以及工程應用上的運行實例并完成了系統(tǒng)的性能測試。該系統(tǒng)可以為我國低空開放和通用航空發(fā)展提供有效的技術(shù)支撐。
[1]The Civil Aviation Administration of Chinese.Notice of the related measures of speeding up the development of general aviation[S].2009 (in Chinese).[中國民用航空局.關(guān)于印發(fā)加快通用航空發(fā)展有關(guān)措施的通知 [S].2009.]
[2]The State Council of the People’s Republic of China,The Central Military Commission of the People’s Republic of China.The advice of the deepening reform of China’s low altitude airspace management [S].2010 (in Chinese).[中華人民共和國國務院,中華人民共和國中央軍事委員會.關(guān)于深化我國低空空域管理改革的意見 [S].2010.]
[3]CAI Jun.Low-altitude airspace open is not aqual to the low-altitude airspace open [EB/OL]. [2011-05-30].http://news.xinhuanet.com/mil/2011-05/30/c_121475110.htm (in Chinese).[蔡軍.低空 開放不等于低空放 開 [EB/OL].[2011-05-30].http://news.xinhuanet.com/mil/2011-05/30/c_121475110.htm.]
[4]KANG Nan.Introduction of USA flight service station [J].Air traffic management,2006 (3):39-40 (in chinese).[康楠.美國飛行服務站簡介 [J].空中交通管理,2006 (3):39-40.]
[5]XIE Yulan,CHEN Wenxiu.Introduction of the American ATC automation system [J].Air Traffic Management,2007(6):39-41 (in Chinese).[謝玉蘭,陳文秀.美國空管自動化系統(tǒng)介紹 [J].空中交通管理,2007 (6):39-41.]
[6] WANG Wei,LIU Song.Thoughts on low altitude airspace management in China [J].Air Traffic Management,2006(5):4-10 (in Chinese).[王偉,劉松.關(guān)于我國低空空域管理問題的思考 [J].空中交通管理,2006 (5):4-10.]
[7]CAO Kun,LIU Jun.Problems in developing general aviation and the proposals [J].China Civil Aviation,2008 (12):42-44(in Chinese).[曹坤,劉軍.發(fā)展通用航空的若干問題和建議 [J].中國民用航空,2008 (12):42-44.]
[8]CHEN Xin,LI Cheng,XU Dinghai,et al.Research of general aviation service station function and composition [J].Avionics Technology,2013,44 (2):10-13 (in Chinese).[陳昕,李橙,徐丁海,等.通用航空服務站功能與組成研究 [J].航空電子技術(shù),2013,44 (2):10-13.]
[9]Elmasri,Navathe.Fundamentals of database systems [M].USA:Addison Wesley,2006:568-569.
[10]WANG Weifu,HUANG Haiyu,CHEN Juan,et al.Reaearch on high performance database application model based on stored procedure [J].Computer Engineering and Design,2008,29 (10):2573-2575 (in Chinese).[汪維富,黃海于,陳娟,等.基于存儲過程的高性能數(shù)據(jù)庫應用模型研究 [J].計算機工程與設計,2008,29 (10):2573-2575.]