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