李丹,王厚軍,曹海
(國家海洋技術中心 天津 300112)
自21世紀以來,人類進入大規模開發利用海洋的時期,海洋在國家經濟發展和對外開放中的作用更加重要。我國是海洋大國,黨中央、國務院高度重視海洋事業的發展,黨的十八大提出建設海洋強國的重大部署,黨的十九大明確提出“堅持陸海統籌,加快建設海洋強國”。
近年來,隨著大數據和物聯網技術的飛速發展[1],我國海洋監視監測的信息化水平不斷提升,已逐步形成對管轄海域的“天、空、船、岸”一體化綜合監視監測體系。在此基礎上,構建海上目標識別與監視監測綜合業務管理平臺可滿足對海上移動目標、島礁變化和海洋開發利用活動等大范圍的早期預警和連續跟蹤監視監測需求,對深入實施海洋強國戰略具有重大意義。
微服務是近年來受關注度較高且較受開發者青睞的系統架構模式,其采用面向服務化的拆分原則,將1個系統拆分為多個微小的服務應用。這些服務應用可獨立進行設計、開發和維護,彼此之間通過通信協議進行調用與配合,從而實現復雜的整體系統功能[2]。與傳統的系統開發模式相比,微服務架構具有系統模塊間耦合度低、易于擴展和維護、可靠性高以及便于開發等特點。本研究基于微服務架構設計海上目標綜合業務管理平臺,系統組件全部采用微服務架構,從而降低系統組件間的耦合度、提高系統的可靠性和開發效率以及易于后期系統功能的擴容。
傳統的系統開發主要采用單體式的架構模式,其特點是所有的功能模塊都在同一個工程下,導致開發過程受開發技術棧的限制,同時不利于業務模塊的縱向擴展;隨著時間的推移和人員的更迭,代碼會變得越來越晦澀難懂,不利于系統的后期維護[3]。
微服務架構的核心思想是根據業務需求的獨立性和重復使用的頻率,將大型和復雜的應用分解為多個微小的服務應用[4]。各應用之間功能獨立,可采用不同的技術棧獨立開發與部署,且隨著系統業務的不斷深入,可根據業務發展的實際需求進行功能擴展與優化[5-6]。不同的微小服務應用之間通過輕量級的交互方式通信(如RPC 和HTTP)。微服務架構就是通過這種方式將各種微小服務應用組合成復雜的業務系統。
微服務架構主要具有5個優勢特性[7]:①技術異構性,即在由多個服務相互協作的系統中,可在不同的服務中使用最適合該服務的技術;②彈性,即如系統中的某個組件不可用,其他組件還可正常運行,而不會導致級聯故障;③擴展性,即可僅對需要擴展的服務進行擴展;④部署簡化性,即各服務的部署是相互獨立的,可更快地對特定部分的代碼進行部署,如果在部署中出現問題也只會影響某一個服務,且容易快速回滾;⑤可組合性,即可根據不同的需求和通過不同的方式使用同一個功能。
海上目標綜合業務管理平臺是能夠接收并分析“天、空、船、岸”多元異構感知數據,采用深度融合和數據挖掘等關鍵技術,實現海上目標行為預測的綜合性管理平臺。該系統的業務需求復雜,涉及的監視監測設備類型多樣,對數據分析的深度和廣度要求較高,因此須針對3項難點問題提出合適的解決方案。
2.1.1 系統集成和擴展
針對海上目標識別的業務需求,綜合業務管理平臺須具備從“天、空、船、岸”多個監視監測平臺獲取數據的能力,還須綜合考慮多源異構數據的獲取方式。同時,為最大限度地實現數據共享,綜合業務管理平臺須與天空基廣域監視分系統、船基前指監視分系統和岸基聯合監視分系統等多個外部系統進行交互,實現對典型海上目標的早期預警、識別和跟蹤,多基協同連續監控以及多源異構數據的深度融合和行為分析預測。
2.1.2 數據融合和分析
海上目標綜合業務管理平臺獲取的數據類型多樣,包括遙感影像數據、可見光視頻數據、雷達數據、AIS數據和電磁偵測數據等。根據數據類型,融合方式可為協同式與非協同式相結合的模式。在協同式目標數據的融合過程中,如將AIS與雷達相結合,提高對協同式目標的識別和跟蹤能力;在非協同式目標數據的融合過程中,如將電磁偵測數據與視頻數據和行為分析等相結合,提高對非協同式目標的識別和跟蹤能力。
2.1.3 協同監視監測和跟蹤
多傳感器協同連續監視監測充分利用多源異構傳感器的特性,同時充分挖掘多傳感器協同感知的潛力,實現相互引導和優勢互補。根據綜合業務管理平臺的任務需求和區域態勢的變化情況,結合重點監視監測目標的運動趨勢和行為意圖等信息,規劃各類感知資源的探測任務和協同時機等。
通過對目前主流開源微服務架構進行對比分析,并結合海上目標識別與監視監測業務的實際需求,本研究采用Spring Cloud 作為微服務系統架構。Spring Cloud可提供分布式系統解決方案,包含豐富和完整的框架和開發組件,使開發人員能夠快速開發和部署系統,其中核心組件包括服務網關(Zuul)、服務注冊(Eureka)、服務配置(Spring Config)、負載均衡(Ribbon)和熔斷機制(Hystrix)。
Spring Boot[8]框架在繼承Spring框架優勢的基礎上進一步優化,采用特定的配置方式,簡化Spring應用的初始搭建以及整個系統開發過程,使開發人員擺脫繁瑣的配置和依賴管理工作,而將更多的精力放在業務邏輯開發上。應用Spring Boot架構及其核心組件可將數據融合和協同監視監測等功能模塊微服務化,并對各模塊進行獨立開發和部署,同時使系統具有快速集成的能力,實現與“天、空、船、岸”多個分系統的業務集成,并為后期其他業務功能的擴展預留接口。
根據綜合業務管理平臺的業務需求和功能邊界,可劃分出11個獨立運行的微服務。①數據管理微服務,主要負責與“天、空、船、岸”平臺數據模塊之間的通信,包括多源異構傳感器的數據接收、數據解析、數據校驗和數據庫操作等;②圖表展示微服務,主要負責將雷達和AIS等原始數據以及大數據分析、數據挖掘和遙感影像處理等后期處理數據通過圖形和表格的方式面向用戶展示,數據源由數據管理和行為分析微服務提供;③地圖管理微服務,主要負責與天地圖、ArcGIS 和Skyline等地圖服務之間的通信,包括地圖圖層、事件、控件、配置和坐標變換等;④工作流管理微服務,主要負責多傳感器協同連續監控,在目標協同探測方面分為共視區協同、跨區同類手段接力協同和異類手段引導協同3種工作模式,在區域聯合協同方面分為早期發現、搜索跟蹤、識別監視和調查取證4 種工作模式;⑤任務管理微服務,主要負責根據任務類型實現監視監測計劃制定和資源調度等;⑥數據融合微服務,主要負責綜合運用模糊匹配特征識別算法、時間片聯合樹推理算法、權重分析算法以及特征選擇和分析算法等進行異構數據融合;⑦行為分析微服務,主要負責利用決策樹和聚類等算法,從海量歷史數據中探尋有關目標行為的模式或知識,發現潛在和隱含的海上目標行為特征;⑧固定目標管理微服務,主要負責對海洋開發利用活動和島礁變化等固定目標進行管理,主要包括目標位置、目標屬性和變化情況;⑨移動目標管理微服務,主要負責對海上船只進行管理,主要包括目標位置、目標屬性以及實時和歷史監視監測信息;⑩權限控制微服務,主要負責對系統各功能模塊的訪問權限進行管理;○1用戶管理微服務,主要負責對系統用戶類型和用戶功能進行分組管理。
每個微服務均具有獨立的服務接口,僅實現單一的業務功能,從而降低各服務之間的解耦度,便于系統的開發和部署。同時,對通用配置項進行統一管理,從而降低系統開發和維護的成本,以便進行系統整體的擴展和調試[9-10]。
本系統采用Spring Boot的Java 技術框架,總體架構設計如圖1所示。

圖1 系統架構
當用戶調用綜合業務管理平臺的服務時,服務請求經過Zuul API服務網關將系統內部的微服務架構進行封裝,并統一向外系統提供REST API;Ribbon完成服務的調用和負載均衡;Eureka 完成服務的注冊和訂閱,并根據服務請求從已注冊的服務列表中找到相應服務;Spring Config完成服務有關配置項的統一配置和管理,實現服務解耦;當系統應用中的某個服務出現異常時,Hystrix 的熔斷機制使系統保持最低的可用性,而不會導致系統整體崩潰。
為緩解數據庫的壓力和提升服務運行的速度,采用REDIS作為數據緩存方案。將移動目標實時數據存儲在內存中并設置失效時間,實現實時數據的快速查詢和顯示。
海上目標綜合業務管理平臺與“天、空、船、岸”分系統相互配合,通過數據綜合處理、目標識別和監視監測業務管理以及指揮調度等核心功能模塊,共同完成海上目標預警、識別、跟蹤、綜合研判和產品制作等業務(圖2)。

圖2 系統功能
天空基數據處理模塊、船基數據處理模塊和岸基數據處理模塊通過信源激勵接收雷達、AIS、電磁偵測、可見光/紅外和遙感影像等原始數據。調用數據管理和數據融合微服務,對原始數據進行預處理、關聯去重和初級識別等初級處理。再次調用數據融合和行為分析微服務,對初級處理結果進行綜合識別、行為預測、異常發現和規則告警等數據綜合處理。
通過業務驅動接收數據綜合處理生成的輔助決策信息,調用固定目標管理和移動目標管理微服務,進行海洋開發利用活動監視監測、島礁變化監視監測以及海上移動目標識別和監視監測,并通過圖表展示和地圖管理微服務將識別和監視監測結果進行界面化顯示。
根據目標識別和監視監測業務管理的內容,調用任務管理微服務,制訂指揮調度任務計劃,并下發至天空基指揮調度模塊、船基指揮調度模塊和岸基指揮調度模塊。各指揮調度模塊調用工作流管理微服務,完成無人機、有人機、衛星影像、船載無人機、船載無人艇、臨近浮臺、雷達、電磁偵測和光電設備等資源的協同調度,實現對目標的有效監控與跟蹤。
本研究針對海上目標識別和監視監測的業務需求,分析傳統的單體式系統開發模式的不足以及微服務架構的優勢。基于微服務架構開發海上目標綜合業務管理平臺,可快速建立高內聚、可伸縮、易擴展和低耦合的業務系統。目前該平臺已在海洋系統應用,為實現我國管轄海域內海上目標識別和監視監測業務的全面開展提供技術支撐,具有較高的應用價值。