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