王 磊,王 皓
(華北計算機系統工程研究所,北京 100083)
當前,計算機技術經歷了飛速的發展,已經相當成熟,并已在全世界范圍內得到了廣泛而深刻的應用,使人們的日常生活發生了翻天覆地的變化。基于當前全球信息化和經濟一體化的發展趨勢,如何最大限度地利用各種信息技術,充分開發和利用龐大而復雜的信息資源,已經成為掌握未來發展主動權和制高點的重要課題[1]。
近幾年來,隨著社會的發展和人民生活水平的提高,人們越來越多地選擇飛機作為長距離旅行的交通工具,因此對機場效率提出了更高的要求。而機場信息系統極大地推動了民航機場的發展,適應了高速增長的民航業務的需要,因此民航機場建立自己特有的信息系統已經刻不容緩。而地理信息系統作為機場信息系統的重要組成部分,可以幫助民航機場提高運行效率、減少中間環節、規范機場信息管理、降低機場的管理成本[1]。
機場信息系統軟件中的地理信息系統,即在原有的機場信息系統中添加一些單位(如飛機機位、地面保障車輛等)的地理信息監控功能,其基本任務包括:(1)地圖航班信息和地面保障車輛信息實時推送到大屏展示模塊進行顯示;(2)滿足監控過程中對信息吞吐量、實時性和安全性等的要求。所以說,要實現一個完整的機場地理信息系統,需要實時通信技術和安全加密技術等多種信息技術的融合,并隨著系統相關組件技術的進化而不斷優化。目前,國內外針對機場地理信息系統的研究很多,但是都沒有形成完整的標準體系。
隨著計算機技術的發展,基于B/S架構的Web應用在各行各業越來越普及,而傳統的C/S架構憑借其獨特優勢在特定行業還保持著自己的地位。本文通過對B/S架構和C/S架構的優劣勢對比,以及內存數據庫Redis等技術的分析和研究,提出一種基于C/S架構的機場地理信息系統解決方案,該方案具有實時性好、安全性高等優勢,并在中航油智慧加油系統改造項目中實現及成功應用。
在機場信息系統軟件的地理信息系統中,網絡架構、實時地理位置信息的傳輸方式和信息加密手段的選擇是地理信息系統能否高效安全的核心問題。其中,網絡架構指的是用戶與服務端的交互方式,比如B/S架構用戶使用的是瀏覽器,而C/S架構使用的是客戶端。實時信息的傳輸方式指的是地理信息系統中服務器與數據庫和客戶端的通信方式[2]。應用系統之間的數據傳輸有三個要素:傳輸方式、傳輸協議和數據格式[2]。
在地理信息系統中,由于存在不同的場景和不同的需求,因此需要根據實際需求來選擇不同的網絡架構。當前地理信息系統中的網絡架構主要包括以下兩種:
(1)C/S架構(客戶端/服務器):它是最先出現的網絡架構模式,用于用戶與服務器之間的通信交互[2]。比如:QQ、迅雷等客戶端使用的就是C/S架構。C/S架構的系統架構圖如圖1所示。客戶端程序發出相應的請求訪問業務邏輯服務器和數據庫服務器,相應的服務器根據客戶端的具體請求處理完畢后,返回相應的結果給客戶端程序[3]。

圖1 C/S系統架構圖
(2)B/S架構(瀏覽器/服務器):它是目前應用系統的發展方向。B/S架構是隨著Internet技術的興起,對C/S架構的改進,為了區別傳統的C/S模式而稱為B/S模式[4]。比如:騰訊網、淘寶網等各種網站使用的就是B/S模式。B/S架構的系統架構圖如圖2所示。在這種結構下,用戶通過瀏覽器來進入工作頁面,極少的業務邏輯在前端實現,主要的業務邏輯在服務器實現,形成三層結構[4]。

圖2 B/S系統架構圖
B/S架構和C/S架構各有優勢,它們在各個方面的對比如表1所示。考慮到機場這個場景的特定需求:版本升級頻次低、用戶群單一、安全系數要求高等特點,本文最終選擇了C/S架構作為機場地理信息系統的實現架構。

表1 B/S和C/S各方面對比
由于應用系統之間的數據傳輸存在三個要素:傳輸方式、傳輸協議和傳輸格式,因此,本文將對實時信息傳輸的三個方面進行分析。
1.2.1 實時數據的傳輸方式
常見的數據傳輸方式有以下兩種:
(1)WebSocket:它是一種建立在TCP連接上的全雙工通信協議,是典型的C/S架構下的交互方式。服務器通過特定的IP地址和端口提供服務;而客戶端通過服務器指定的IP地址和端口進行消息交互[5]。其中的傳輸協議可以是TCP協議或者是UDP協議,服務器與客戶端之間約定了請求報文格式和響應報文格式[6]。
(2)message方式:Java消息服務(Java Message Service)是message數據傳輸的典型實現方式。兩個系統之間通過一個消息服務器進行數據交換,一個系統發送消息到消息服務器,如果另一個系統訂閱了該消息,消息服務器就將其發送給另一個系統。其中,雙方需要提前約定消息格式[5]。目前市場上有很多開源的消息中間件,比如RabbitMQ、Kafka等。
根據以上兩種數據傳輸方式的特性,本文提出的機場地理信息系統分別在不同的模塊使用了不同的方式,在客戶端和服務器之間使用了WebSocket方式,而在服務器和數據庫之間使用了message方式。
1.2.2 實時數據的傳輸協議
常見的傳輸層協議有以下兩種:
(1)TCP協議:位于傳輸層,提供可靠的字節流服務。所謂的字節流服務指的是:為了方便傳輸,將大塊的數據分割以報文段為單位進行管理[4]。而可靠的傳輸服務指的是:能夠保證數據準確可靠地傳輸給對方。TCP協議通過多種方式來保證數據的可靠性:校驗和;序列號;連接管理;流量控制;擁塞控制;超時重傳;確認應答[5]。它適用于對效率要求相對較低,但是對數據準確性要求相對較高的場景。
(2)UDP協議:位于傳輸層,提供不可靠的數據包服務。所謂的數據包服務指的是:為了方便傳輸,將數據以數據包的形式整合進行管理[3]。而不可靠的傳輸服務指的是:會盡最大可能傳輸給對方,但不保證數據能夠完整準確地傳輸給對方[3]。它適用于對效率要求較高,但對準確性要求較低的場景。
考慮到兩種傳輸協議的特性,結合機場相對于效率,準確性更加重要的實際需求,選擇TCP協議作為傳輸協議。
1.2.3 實時數據的傳輸格式
常見的傳輸格式有以下兩種:
(1)JSON格式:JSON(JavaScript Object Notation,JS對象簡譜)是一種輕量級的數據交換格式。完全不同于編程語言的文本格式,它采用了一種特有的文本格式來存儲和表示數據。清晰明了的層次結構使得JSON成為了相當理想的數據交換格式。它不僅易于人閱讀和編寫,同時易于機器的解析和生成,還能有效地提高網絡的傳輸效率[7]。
(2)XML格式:XML(可擴展標記語言)是一種用于標記電子文件并使其具有結構性的標記語言。它非常適合互聯網傳輸,提供了統一的方法來描述和交換獨立于應用程序和供應商的結構化數據。它是當前支持跨平臺的、依賴于內容的數據交換技術,也是處理分布式結構信息的有效工具。
JSON和XML都有各自特有的優勢,它們在各個方面的對比如表2所示。考慮到機場場景實時性要求高等特點,最終選擇了JSON格式作為機場地理信息系統實時信息的傳輸格式。

表2 JSON和XML的對比
本文所涉及的基于C/S架構的機場地理信息系統采用了內存數據庫Redis和消息隊列系統Kafka,結合WebSocket通信技術、Token身份認證技術,系統結構清晰明了,其總體架構如圖3所示。

圖3 機場地理信息系統總體架構
用戶登錄大屏顯示系統后,通過用戶信息加載對應機場的地圖信息。該模塊主要功能包括:(1)統計信息:航班量、保障量、油單、已供油量、車輛,以及油料參數的統計信息。(2)篩選信息:根據飛機機型和加油狀態,點擊相應圖標進行篩選;(3)詳細信息:點擊飛機查看飛機詳細信息,點擊機位查看當日機位待停已停飛機信息,點擊車輛查看車輛詳細信息;(4)數據收集:后臺自動對車輛的軌跡信息、報警信息、越界信息等進行日志記錄;(5)右側菜單篩選:對地圖設備、地圖航班、航空公司、機位、區域管理等地圖展示內容進行篩選,也包含了地圖放大縮小等操作。該模塊的所有功能如圖4所示。

圖4 大屏顯示模塊功能組成
用戶登錄后臺管理系統后,通過用戶信息加載對應機場的地圖信息,可對地圖相應功能進行查看或管理。加載后展示車輛列表和當日航班列表信息;可根據車牌、時間、狀態等條件查看車輛的歷史軌跡和報警日志信息;區域管理,自定義區域分為管理區域和非管理區域,可在地圖上直接進行新增區域,錄入區域相應屬性(包括區域名字、限高、限速、超時報警時效等),可對已劃好區域進行增刪改查功能;機位油井管理,可以對機位和油井信息地圖進行增刪改查;測距,可以測量出在機場兩點之間的道路距離。其包含的所有功能如圖5所示。

圖5 后臺管理模塊功能組成
考慮到機場對信息安全的要求比較高,本文提出的機場地理信息系統分別在以下三個維度對數據進行加密處理:(1)用戶維度:身份驗證機制;(2)數據傳輸維度:數據傳輸加密機制;(3)數據庫維度:數據存儲加密機制。
首先在用戶維度采取兩個措施:(1)啟動軟件時,首先要求用戶輸入用戶身份信息(用戶名和口令),對其進行比對識別后,合法用戶方能夠啟動運行該軟件,而對非法用戶將給予登錄警示和記錄,登錄警示多次將退出;(2)使用用戶身份卡、讀卡器和識別接口卡等設備對本軟件運行的計算機設備的開關機及軟件啟動等操作進行控制。在數據傳輸維度采取以下兩個措施:(1)使用線路保密機等設備,對需要對外交換的數據包進行加密傳輸;(2)采取端端加密措施。在數據存儲維度采取以下三個措施:(1)通過對數據庫文件的加密存放,對數據庫中存儲的數據進行加密;(2)對數據庫表中某些關鍵字段進行加密入庫存儲;(3)對存放在計算機硬盤上的各種數據文件進行加密。
本機場地理信息系統的設計與實現均基于中航油智慧加油系統改造項目,支持在Windows和CentOS操作系統上運行,而且提供了飛機狀態監控、航班信息顯示和車輛狀態監控等多項功能。通過使用本文設計的機場地理信息系統,可以實現在機場指揮控制中心運行大屏顯示模塊,實現地圖設備篩選、機位快速定位、區域管理等功能。還可以通過前臺來調用后臺管理模塊,實現車輛的歷史報警信息查詢、車輛的歷史軌跡回放等功能。
本文通過分析機場信息系統軟件的地理信息系統相關技術的優劣,同時考慮到機場這個特定場景下的各種特殊需求,設計了基于C/S網絡框架的新型機場地理信息系統,最后在中航油智慧加油系統改造項目中實現并成功應用,該系統具有安全性高、實時性好等多項優勢,較好地滿足了中航油智慧加油系統改造項目在各個方面的應用要求,實現了項目預期。