權 赟
(西安歐亞學院 基礎部,西安 710065)
飛機動態(tài)監(jiān)視系統(tǒng)就是地空數(shù)據(jù)鏈地面應用系統(tǒng)的一個重要部分:通過空地數(shù)據(jù)鏈進行飛機飛行動態(tài)監(jiān)視,有效解決了目前飛機起飛后,航空公司對其飛行情況知之甚少,甚至一無所知的情況;飛機飛行動態(tài)監(jiān)視系統(tǒng)實現(xiàn)了飛機飛行全階段(包括飛行滑出機位前至滑入機位后)的狀態(tài)監(jiān)視與空地雙向數(shù)據(jù)通信與服務。當前航空公司數(shù)據(jù)鏈的使用情況是:國內三大航空公司及其子公司都已安裝了地面處理系統(tǒng),與網控中心通過專線進行連接,實現(xiàn)了地空數(shù)據(jù)鏈報文的地面?zhèn)鬏?,能夠對航空公?0%以上的飛機飛行動態(tài)進行時實的監(jiān)控,并進行機務、簽派等日常事務處理。
2005年上半年開始,三家民營航空公司成功首航,民營航空公司走的是低成本路線,之后開始會有更多的小航空公司進入航空運輸市場。民航總局規(guī)定實施定期客運飛行的承運人必須具備獨立與空管部門的有效地空雙向通訊手段,同時可對飛機進行全場的航班運行監(jiān)控。鑒于這種情況,小航空公司有自己特殊的情況,租用專用鏈路對于小航空公司來說代價太高,小航空公司趨向于使用廣域網對飛機實施動態(tài)監(jiān)控。隨著小航空公司的不斷增多,他們迫切需要購買成本低、系統(tǒng)維護成本低、可靠性高、使用方便的飛機動態(tài)監(jiān)控與雙向通訊系統(tǒng),當前國外有類似產品(如ARINC的WEBASD,以及基于銥星數(shù)據(jù)通訊的Advances Track Mapping Web Service),現(xiàn)在還沒有進入中國。航空公司運行及控制部門需要隨時監(jiān)控飛機的位置,并能夠與飛機進行通訊。飛機動態(tài)監(jiān)控系統(tǒng)能夠滿足工作人員的需要,幫助他們高效的完成工作。
廣域網飛機動態(tài)系統(tǒng)的實現(xiàn),將會有更大的應用前景。無論是在大航空公司還是小航空公司,還是機場、或者是空管單位,都能得到廣泛地應用,可為需要隨時隨地監(jiān)控本公司飛機的航空公司管理人員提供專門的服務。
首先,我們來關心地理信息系統(tǒng)的中心問題,檢查是否明確了系統(tǒng)數(shù)據(jù)的要求。
在飛機飛行監(jiān)控系統(tǒng)里涉及三類數(shù)據(jù),一類是動態(tài)的飛機信息;一類是動態(tài)的氣象圖片信息,包括云圖、霧圖;另一類是相對靜態(tài)的情報資料數(shù)據(jù)。在地圖上動態(tài)顯示的飛機位置、高度信息,是解析空地通信報文位置信息的結果,而報文的獲得是通過WebService與ACARS網關連接,實時收取報文來實現(xiàn)的。動態(tài)的云圖是氣象中心時實發(fā)布給航空公司用戶的,用戶將開放一個FTP文件服務端口,供本系統(tǒng)專門獲取氣象資料。情報資料的顯示、是通過讀取本地情報數(shù)據(jù)來實現(xiàn)的,要求在系統(tǒng)服務端具有情報資料編輯功能,同時能夠通過WebService對本地情報數(shù)據(jù)進行同步更新。在本系統(tǒng)中,空間對象有三類:點、線、面。如航路點,飛機的動態(tài)位置點;國內航線,海岸線;扇區(qū),限制區(qū),情報區(qū)等。其中,線可看作是特殊的起、始點重合的面類型,在設計數(shù)據(jù)存儲結構時可以考慮用同一種表示方法。
評審意見:從需求分析的結果來看,對數(shù)據(jù)的分析比較清楚,并且反應了系統(tǒng)實際數(shù)據(jù)的要求。
只有解決了系統(tǒng)“做什么”的關鍵問題,才可能為用戶做出量體裁衣的系統(tǒng),否則系統(tǒng)就會偏離用戶期望。此階段質量控制的內容主要是對需求進行確認,是否與用戶期望相符。
評審意見:從系統(tǒng)需求簡述來看,從功能及性能兩方面描述了用戶的需求,體現(xiàn)了軟件需求質量特性的要求。如功能性,對系統(tǒng)要實現(xiàn)的功能進行了全面、詳細的說明;可靠性:在用戶權限管理和WEB服務中均有體現(xiàn);可維護性,則是通過提供智能客戶端來實現(xiàn)的;可使用性;通過提出人性化的地圖操作來實現(xiàn)。
本階段監(jiān)理方應監(jiān)督和協(xié)助承建方進行軟件設計活動,同時對總體設計、詳細設計的結果進行審核,對設計階段的風險進行識別和預警。
系統(tǒng)采用客戶端/服務器(client/server)模式,客戶端通過調用服務器對外接口獲取和處理數(shù)據(jù)??蛻舳藶橛脩籼峁┝擞押玫牟僮鹘缑?,通過使用服務器的服務實現(xiàn)對飛機的實時監(jiān)控。服務器端提供了報文的收發(fā)、報文拆分、程序更新維護、Web Service服務、數(shù)據(jù)存儲等功能,是整個系統(tǒng)的核心,承擔了為所有客戶端提供服務的任務。
圖1 系統(tǒng)總體結構
從飛機信息的流程來看,實時的飛機通信報文經過網關接收到報文處理服務子系統(tǒng),對處理后報文的拆分結果進行入庫,客戶端飛行動態(tài)顯示系統(tǒng)通過WEB服務實時獲取飛機當前最近報文,提取報文中與位置相關的信息,在地圖上顯示其位置和高度。從情報資料信息來看,是由飛行動態(tài)顯示系統(tǒng)讀取本地文件來實現(xiàn)顯示;當后臺地圖更新了情報資料后,智通客戶端會自動檢測到更新,并自動更新本地文件,并在飛行動態(tài)顯示系統(tǒng)中進行顯示。
在本系統(tǒng)中,地圖的顯示邏輯比較復雜,一方面要顯示不同類型的數(shù)據(jù),另外,要對用戶的各種請求進行響應,同時還要對各類消息進行處理,及時刷新顯示。因此,對本系統(tǒng)而言,如何設計用戶界面的顯示是一個值得可慮的問題。這里,系統(tǒng)在對地圖顯示的設計進行了謹慎的考慮,使用MVC設計模式,有效地解決了用戶界面邏輯混亂的問題。
圖2 地圖顯示設計原理
飛行動態(tài)顯示子系統(tǒng)從設計上看,分為三個部分,即數(shù)據(jù)部分、運行控制部分和顯示部分。三部分的關系的作用如圖2所示。這三個部分的區(qū)分,在代碼中區(qū)分的并不是特別明顯,它是編寫代碼時的一個思路,所有的功能模塊都要按照這個思路進行程序設計的。舉一個簡單的例子,地圖的移動,設計過程是這樣的:地圖顯示(V)從數(shù)據(jù)部分(M)讀入所需的數(shù)據(jù),在這些數(shù)據(jù)中會包含一個全局的結構變量,記錄了地圖當前中心點的相關數(shù)據(jù),顯示部分(V)根據(jù)中心點的值決定地圖的顯示位置。地圖移動時,用戶拖動鼠標產生了dx,dy的偏移,控制部分(C)得到這個偏移,改變全局變量值,然后通知顯示部分(V)需要重新畫顯示表面,于是地圖的移動效果就產生了。
報文處理是后臺服務的核心系統(tǒng)部分,由多個模塊組成,負責報文的傳輸、拆分和保存。結構如圖3所示。
圖3 報文處理系統(tǒng)結構
其中,網關、通訊服務器、PC報文處理系統(tǒng)復用已有程序,數(shù)據(jù)服務器程序用來處理廣域網飛機動態(tài)監(jiān)控系統(tǒng)的特殊數(shù)據(jù)要求。數(shù)據(jù)服務器與通訊服務器相連,實現(xiàn)飛機實時數(shù)據(jù)的收發(fā),使用消息隊列接收WebService上發(fā)的數(shù)據(jù),自身收到的數(shù)據(jù)存入數(shù)據(jù)庫,以便用戶隨時使用。使用消息隊列進行后臺進程間的通信,能夠快速、安全地發(fā)送消息。消息隊列還能夠在網絡出現(xiàn)問題或者服務器重新啟動的時候自動緩存消息,所以在后臺使用消息隊列可保證系統(tǒng)的穩(wěn)定與高效。另外,這里使用MSMQ的最大優(yōu)點就是B/S程序可以很容易地使用MSMQ對象。
評審意見:使用消息隊列進行后臺進程間的通信,能夠快速、安全地發(fā)送消息。但報文處理是后臺服務的核心系統(tǒng)部分,在設計時并沒有考慮負載平衡的問題。如果單應用程序無法滿足報文流量的要求時,系統(tǒng)將會出現(xiàn)隱患。
監(jiān)理建議:在原有設計基礎之上,可以通過開多個應用程序來偵聽同一個消息隊列的方式來實現(xiàn)負載平衡。消息隊列可以保證隊列中的消息以先進先出的機制平均分配到各個接收消息的終端中去。而且,假如某一個接收消息的終端出現(xiàn)問題,不會影響到其他的終端。使用MSMQ來實現(xiàn)負載平衡的優(yōu)點首先是實現(xiàn)方便,基本上不用為負載平衡編寫什么代碼,而且支持在系統(tǒng)運行時動態(tài)地增加和減少終端的數(shù)量,即使所有的終端全部都處于不可用狀態(tài),系統(tǒng)仍然會為終端緩存報文,從而保證報文不會丟失。
本系統(tǒng)的服務能力主要取決于網絡速度以及Web Service的最大負載。用戶的網絡速度可以建議用戶使用較高帶寬的網絡解決,而且費用很低。Web Service的負載能力主要取決于業(yè)務邏輯層的處理能力,Web Service的客戶支持能力是很強的,對于飛機動態(tài)監(jiān)控系統(tǒng)這種專業(yè)應用,連接用戶數(shù)完全可以滿足需要。提高業(yè)務邏輯層的處理能力可以使用服務器集群的方式,將不同類型的業(yè)務放到不同的服務器上運行,可以大大提高Web Service的服務能力。
Web Service客戶端升級服務保存了最新的程序文件和數(shù)據(jù)文件,用戶通過比較版本信息,獲取最新的文件替換本地文件,Web Service服務就是向用戶提供了版本比較和文件下載的方法。
智能客戶端提供了簡單、可靠以及安全的部署方案??蛻舳说陌姹靖掠上到y(tǒng)自動實現(xiàn)。當智能客戶端程序處于在線狀態(tài)啟動時,會自動檢測服務器端的組件是否更新,如果更新的話,則會自動從服務器端下載到用戶本地中。客戶端對用戶密碼采用DES對稱加密,密文與用戶名相關,保證了不同用戶即使采用了相同密碼也會產生不同的密文。密文采用了兩個密鑰進行加密,對于保存在數(shù)據(jù)庫和本地的密文使用一個密鑰,在網絡或內存中傳輸?shù)拿芪牟捎昧肆硪幻荑€,防止非法用戶直接使用本地密文進行網絡登錄的不法行為。
系統(tǒng)要求電子地圖占用資源盡量少,實時性強;要求屏幕刷新速度快,屏幕不能有閃爍,對空間對象數(shù)據(jù)的訪問速度要求很高。考慮到系統(tǒng)中地理數(shù)據(jù)量相對較少,因此采用文件形式按照不同對象類型和顯示圖來組織和存儲相對固定的地圖數(shù)據(jù)有利于提高系統(tǒng)的運行性能。在系統(tǒng)啟動時,可將地理數(shù)據(jù)文件全部讀入內存,提高地圖刷新速度。對于存放在oracle數(shù)據(jù)庫中的飛機報文信息,在每一條報文信息中,分別存放飛機的經度、緯度信息及高度信息。由監(jiān)控程序獲取數(shù)據(jù)并顯示。飛機報文量大,用數(shù)據(jù)庫的方式統(tǒng)一存放在服務端,并提供給用戶歷史記錄查詢的功能。
系統(tǒng)使用分區(qū)表進行報文的存儲是非常明智的作法,可以大大提高數(shù)據(jù)庫性能。使用分區(qū)表的優(yōu)點在于:
1)增強可用性:如果表的某個分區(qū)出現(xiàn)故障,表在其他分區(qū)的數(shù)據(jù)仍然可用;
2)維護方便:如果表的某個分區(qū)出現(xiàn)故障,需要修復數(shù)據(jù),只修復該分區(qū)即可;
3)均衡I/O:可以把不同的分區(qū)映射到磁盤以平衡I/O,改善整個系統(tǒng)性能;
4)改善查詢性能:對分區(qū)對象的查詢可以僅搜索自己關心的分區(qū),提高檢索速度。而最主要的優(yōu)點則是,對分區(qū)表進行操作與其它表是一樣的,因此,不必擔心使用了新的技術而增加數(shù)據(jù)庫開發(fā)及維護的難度。
本文運用監(jiān)理質量控制方法對廣域網飛機動態(tài)監(jiān)控系統(tǒng)嚴格按照監(jiān)理質量控制框架,充分展現(xiàn)了監(jiān)理質量控制的思路和具體實施方法,取到了良好的質量控制效果。
從航空事業(yè)發(fā)展的現(xiàn)狀來看,空中交通地理信息系統(tǒng)將在未來幾年取得更為廣泛的應用。該套理論體系能否在以后的系統(tǒng)建設中發(fā)揮作用,值得期待。我國計劃用15~20年的時間,建成新一代航行系統(tǒng)。在新系統(tǒng)中將同時使用ADS和雷達兩種監(jiān)視手段進行監(jiān)視。如何利用現(xiàn)有的資源和系統(tǒng),運用最先進的、最適用于本領域的技術開發(fā)出可靠性強、易維護、可擴展的新系統(tǒng),是承建方、監(jiān)理方都值得思考的問題,也是共同推進這一領域地理信息系統(tǒng)的應用研究與發(fā)展的源動力。
[1] 王明軍.面向對象技術在空管地理信息系統(tǒng)中的應用[J],中國民航飛行學院學報.2004(3).
[2] 陸守一.地理信息系統(tǒng)[M], 高等教育出版社.