王泓淼 張潔 雷建勝


摘? 要: 目前我國海域監管手段單一,缺乏早期預警識別和連續跟蹤監視能力,嚴重制約我國海洋強國戰略的深入實施。本系統基于衛星、航空平臺、通信終端產品等現有硬件基礎,采用微服務技術架構,構建天空基協同廣域目標識別與監視平臺,對我國管轄海域內海上移動目標、海域利用活動和島礁變化等典型目標識別與監視需求,構建“天、空、地”一體化監視體系,形成具有大范圍早期預警和連續跟蹤能力的海上目標識別與監視系統。
關鍵詞: 微服務;天空基;海上目標識別
【Abstract】: At present, China's maritime monitoring means are single, lack of early warning identification and continuous tracking and monitoring ability, which seriously restricts the in-depth implementation of China's maritime power strategy.This system based on the existing hardware, such as satellite, aerial platform and communication terminal products. Using microservice technical architecture building space target recognition and monitoring platform together, for the typical target identification and monitoring requirements in the sea areas under China's jurisdiction, such as moving targets at sea, utilization activities in sea areas and changes of islands and reefs, build an integrated "sky, air and ground" surveillance system, form a maritime target identification and surveillance system with large-scale early warning and continuous tracking capabilities.
【Key words】: Microservice; Space-sky; Maritime target identification
0? 引言
目前我國管轄的大部分海域尚未全面監控,只能通過執法船巡航、衛星遙感等手段予以事后應對,監管手段單一,時效性差,缺乏早期預警識別和連續跟蹤監視能力,嚴重制約我國海洋強國戰略的深入實施。本系統基于天基衛星數據應用基礎、航空平臺基礎、通信終端產品等現有硬件基礎,構建天空基廣域監視平臺感知體系,對我國管轄海域內海上移動目標(船只等)、海域利用活動(圍填海、海上石油平臺等構筑物用海)和島礁變化等典型目標識別與監視需求,構建“天、空、地”一體化監視體系,形成具有大范圍早期預警和連續跟蹤能力的海上目標識別與監視系統。
本系統業務需求復雜,可靠性要求較高,如果采用單體應用系統在業務需求變更時工作較為復雜,導致系統無法持續工作,為滿足項目敏捷開發、持續交付、高可靠、易維護等需求,系統采用Spring Cloud微服務架構,將系統分解為多個服務組件,通過Spring Boot構建服務組件,服務之間采用REST API方式完成服務調用與數據交互(JSON格式),在響應速度和穩定性等方面較傳統模式有明顯提升。
1? 微服務設計思想
傳統應用采用單體式架構,在異構平臺互操作、接口統一描述等方面存在的局限,會導致集成系統缺乏可擴展性、異構平臺間的互操作性差等不足,隨著SOA、微服務及分布式數據庫等技術體系的發展,基于SOA等技術體系的軟件設計架構成為主流,但整體架構不支持異構,無法有效利用資源。由于本系統業務復雜性較高,涉及與中心多個業務系統、現場指控系統和多個外部支持系統之間的交互,傳統模式下會導致服務部署與維護異常復雜,一個問題可能會引起整個應用的崩潰,而且隨著復雜度的增加,代碼耦合度越來越高,牽一發而動全身,后期代碼很難修改和重構,導致系統的擴展性較差。在本系統設計之初綜合考慮以上問題,提出了基于微服務技術的軟件架構設計,將應用拆分為多個高內聚、低耦合的小型服務,每個小服務運行在獨立進程,由不同的團隊開發和維護,服務間采用輕量級通信機制,獨立自動部署,形成一種動態、可擴展的架構,實現跨平臺、跨系統、跨語言的應用系統的集成[1-2]。微服務的松耦合、去中心化等特性,有利于服務的擴展和便捷運行維護,可以實現自動部署,某個服務的更新和部署不會影響其他的服務,此外,微服務采用的都是輕量級的協議(如REST)和數據格式(如JSON),非常易于擴展,極大提升了系統的可靠性、可擴展性和維護性[3]。
2? 系統架構設計
海上目標識別與監視以面向早期大范圍預警、海上目標識別和多基協同連續跟蹤的業務服務為目標,借助大數據的分布式存儲、分布式處理、并行計算技術,針對實時態勢等大數據的特點和具體使用情況,采用微服務架構,支撐“天、空、地”多元異構感知數據接入處理能力、并發寫入能力、存儲與管理能力、高效查詢能力、并行分析計算能力以及對外服務能力等需求,支撐海量海洋感知數據存儲、支持態勢業務系統長時間動態運行、支持數據并行的計算、分析、挖掘、支持對歷史數據快速查詢訪問、支持歷史態勢數據快速回放[4-5],系統架構如圖1所示。
本系統功能復雜,涉及到與多個外部系統的交互,從整個業務流程及后期部署維護靈活性等方面進行充分考慮,該系統在架構設計方面采用微服務架構設計理念,將系統劃分為功能相對獨立的多個服務,從封裝形式、接口設計、靈活性、擴展性等方面提供了技術方法。
本系統遵循模塊化分層設計思想,采用BS與CS混合的架構設計,基于 Docker 服務集群對微服務進行部署,便于服務的擴展和伸縮[6-7]。系統各后端服務模塊均采用Springboot的Java技術框架,使用Netflix完成服務組件注冊管理,API網關封裝了系統內部微服務架構,為每個服務調用者提供一個定制的API,統一完成身份驗證、監控、負載均衡、緩存等處理,通過服務調用限流、熔斷機制、負載均衡等措施,各個服務都可以單獨開發、部署,最終通過服務之間組合與調用對外完成系統功能。各服務之間采用JS對象標記(JavaScript Object Notation,JSON)封裝的符合表述性狀態傳遞(Representational State Transfer,REST)的接口設計風格,為第三方應用提供統一的調用服務。通過對服務模塊的最大限度的拆分,體現了微服務化的設計理念,大幅提高系統部署靈活性、可擴展性和可維護性,保證系統的健壯性[8-10]。
接口層通過Nignx和NodeJS應用來實現負載均衡和接口控制,從而實現在線升級過程中應用服務的自動切換,應急條件下的系統備份。消息中間件支持大規模連接和分布式集群,完整支持MQTTV3.1版本協議規范,并擴展支持WebSocket、Stomp、CoAP、MQTT-SN或私有TCP協議,具有出色的軟實時、低延時、分布式等特性。
3? 系統組成
空天協同目標識別與監視系統包括天空基地面處理系統和空基現場指揮與數據快速處理系統兩部分,具體內容如下:
天空基地面處理系統部署在指揮中心,采用B/S架構設計,綜合分析天基和空基覆蓋能力,通過多星協同推演特定時間、特定地點的衛星覆蓋情況以及航空平臺所在地區航空遙感能力覆蓋情況等,形成空天協同數據資源任務規劃最優方案,實現遙感衛星與航空平臺數據獲取任務的全面規劃和實時監視。同時,結合固定目標識別算法,實現基于可見光、合成孔徑雷達、紅外的海上固定目標(島礁、大陸岸線、海域開發利用)的識別與提取,對天空基獲取的實時數據進行處理、高效存儲、檢索等管理,實現對海域開發利用活動和島礁變化的監測,將識別出的固定目標與權屬信息對比,生成監測結果,對超出警戒范圍情況生成預警信息,提供給綜合業務管理平臺進行決策,所有成果數據統一發布于二三維GIS平臺進行可視化展示。
空基現場指揮與數據快速處理系統部署于空基作業現場,采用C/S架構設計,主要功能包括數據傳輸鏈路監控、載荷監控、實時視頻播放與處理、數據處理與管理、航跡規劃等無人機指揮測控系統通用性功能,實現對現場任務執行前、中、后三個階段的全程監管以及天基、空基遙感數據的融合處理,結合移動目標識別算法,對船只的非法捕撈、非法測繪、非法闖入、異常停泊等行為進行實時監視,結合AIS等外部支援數據,對動態目標進行分析,對入侵的非法船只生成預警信息,提供給綜合業務管理平臺進行用戶決策。
4? 結論
隨著微服務架構和 Docker 容器技術的持續火熱,很多公司的系統架構走向微服務化已經成為趨勢,本文通過分析傳統單體式架構的不足,結合系統業務特點,提出了基于微服務的系統架構,對天空基目標識別與監視平臺體系架構設計和系統功能組成進行介紹,通過將微服務架構引入平臺設計,實現了平臺中各個服務的低耦合、易擴展、可伸縮,為平臺的升級和維護提供了便利,極大提升了系統各項性能指標,為管轄海域內海上目標識別與監視實現業務化運行提供了堅實基礎。
參考文獻
[1]歐陽榮彬, 王倩宜, 龍新征. 基于微服務的數據服務框架設計[J]. 華中科技大學學報(自然科學版), 2016, (S1): 143-147.
[2]杜圣東, 楊燕, 滕飛. 交通大數據: 一種基于微服務的敏捷處理架構設計[J]. 大數據, 2017, 3(3): 53-67.
[3]洪華軍, 吳建波, 冷文浩. 一種基于微服務架構的業務系統設計與實現[J]. 計算機與數字工程, 2018, 46(1): 149: 154.
[4]黃超, 唐子蛟. 基于云計算技術的智慧校園平臺建設研究[J]. 軟件, 2018, 39(5): 27-30.
[5]尹航, 楊歡, 崔海斌, 等. 基于大數據應用的虛擬化云平臺建設方法研究[J]. 軟件, 2018, 39(4): 201-207.
[6]高禮, 高昕. Docker 技術在軟件開發過程中的應用研究[J]. 軟件, 2016, 37(3): 110-113.
[7]馬越, 黃剛. 基于Docker 的應用軟件虛擬化研究[J]. 軟件, 2015, 36(3): 10-14.
[8]王方旭. 基于Spring Cloud 實現業務系統微服務化的設計與實現[J]. 電子技術與軟件工程, 2018(4): 60-61.
[9]黃沛. 基于RESTful架構的科技信息共享接口系統的設計[J]. 軟件, 2018, 39(7): 170-172.
[10]王二偉, 姚文斌. 一種基于REST 的物聯網資源模型和分布策略[J]. 軟件, 2015, 36(12): 128-131.