楊曉環(huán)
(中遠海運科技股份有限公司,上海 200135)
當前社會已進入信息時代,大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)和智慧城市等正在深入影響著人們的工作和生活。隨著海洋經(jīng)濟的高速發(fā)展,“交通強國”戰(zhàn)略、“大交管”改革和“陸??仗臁崩砟钕嗬^提出,從融合、創(chuàng)新和效益等3個方面對構建安全、便捷、高效、綠色、經(jīng)濟的現(xiàn)代化綜合交通體系提出了新的要求。通過對海上船舶及其通航環(huán)境進行動態(tài)化監(jiān)管等,實現(xiàn)對海上交通的全方位管理,促使海事相關系統(tǒng)實現(xiàn)感知、預測和控制等功能,進一步提升海事系統(tǒng)在運行、管理和服務方面的效能[1]。
目前我國市級海事局的信息化程度相對較低,大數(shù)據(jù)處理能力和數(shù)據(jù)資產(chǎn)應用能力相對較弱,現(xiàn)場執(zhí)法還存在人工干預度高、感知識別度低和數(shù)據(jù)獨立性強等不足。
1) 事前管控,通過追蹤重點船舶的歷史情況,確定是否需對船舶進行登船檢查;
2) 事中監(jiān)控,依照基于雷達信號的VTS(Vessel Traffic Service),對正在航行的船舶進行監(jiān)控,通過雷達回波大概判斷船舶外部信息,基于人工經(jīng)驗對超速、低速和追越等行為進行識別并喊話;
3) 事后處理,當發(fā)生事故時,一般通過船訊網(wǎng)查詢船舶軌跡。
整個執(zhí)法過程缺乏有數(shù)據(jù)依據(jù)的風險早發(fā)現(xiàn),事故研判只能基于船舶自動識別系統(tǒng)(Automatic Identification System,AIS)或VTS實現(xiàn)。雖然當前海事部門既有船舶登記系統(tǒng),也有AIS和VTS等設備,但沒有使相關數(shù)據(jù)發(fā)揮其應有的效用。近年來,我國加大了對海事設備的投入,沿海視頻監(jiān)控已實現(xiàn)全覆蓋,海事信息化發(fā)展取得了一定的成效。為盡快實現(xiàn)海上交通管理全面覆蓋、全面感知、動態(tài)掌控、智能預判、精準指揮和信息化服務,本文以東海某海事局為例,結合其實際業(yè)務需求,建立一套智慧海事監(jiān)管平臺,監(jiān)管對象主要是進出轄區(qū)的各類型船舶(漁船除外,日監(jiān)控量約為7 000艘次),船舶行為監(jiān)管信息主要源于AIS和VTS,同時引入感知設備數(shù)據(jù)。通過建立該智慧海事監(jiān)管平臺,實現(xiàn)對轄區(qū)的自動化監(jiān)管,提前識別風險、消除隱患,最終實現(xiàn)海運安全、暢通。
相比傳統(tǒng)的海事信息化平臺,該平臺以AIS大數(shù)據(jù)應用為核心,引入專門針對地理信息存儲的數(shù)據(jù)庫PostGIS,在處理地理位置計算方面更具優(yōu)勢。
利用信息技術完成智慧海事平臺建設,確保其具備提示風險、提供通航狀況、顯示水文氣象信息和航行警告等功能,并能對航行信息進行自動維護。平臺建立之后,要求能利用地理信息系統(tǒng)(Geographic Information System,GIS)平臺顯示轄區(qū)內(nèi)船舶的AIS動態(tài)信息,并通過該系統(tǒng)自動以最佳比例顯示船舶位置,可采用CCTV(Closed Circuit Television)高速攝像機、無人機、風速儀、能見度儀等感知設備和AIS對巡航業(yè)務進行監(jiān)控,通過信息采集分析,在出現(xiàn)異常之后自動進行預警和生成預警報表,確保能為海事巡航業(yè)務的全面監(jiān)管提供便利[2]。
海事監(jiān)管平臺主要服務于海事指揮中心值班室,用于對轄區(qū)進行安全監(jiān)管,基于AIS大數(shù)據(jù)分析船舶異常行為,結合海事業(yè)務數(shù)據(jù)和感知設備,基于算法處理輸出的各類預警和提醒,結合人工判斷結果,形成海事執(zhí)法任務或行政處罰,最終形成業(yè)務閉環(huán)。海事監(jiān)管平臺的功能設計圖見圖1。
圖1 海事監(jiān)管平臺的功能設計圖
系統(tǒng)功能設計以船舶安全為中心,從時間維度、對象維度和區(qū)域維度展開,輔以24 h自動監(jiān)控。
1) 多模式操作:針對不同的使用者提供不用的操作模式,主要包括關注模式、疑似模式、雙選模式和任務模式。
2) 風控中心:定位為平臺的大腦,用于放置所有預警和預警的后續(xù)處理操作,包括觸發(fā)非接觸式執(zhí)法。預警配置和算法模型的支持,可不斷疊加新的預警場景,不斷提升執(zhí)法精度。
3) 時間維度:重點時段主要放置特殊時段的專題管控和預警,主要包括臺風、惡劣天氣預警和能見度不良預警。
4) 對象維度:重點對象包括重點船舶、兩船模式、大型船舶和疫情模式,根據(jù)管理要求,可隨時在這里進行專項行動擴展。
5) 區(qū)域維度:重點區(qū)域主要包括事故分析、事件分析和違章分布分析。
6) 專題模塊:主要包括預警預控、應急搜救、法制管理、監(jiān)控平臺、巡航管理和一船全景。
7) 后臺管理:主要包括系統(tǒng)管理、基礎數(shù)據(jù)、日常管理、預警配置和大屏配置等,所有不基于地圖的操作都放到后臺進行。
采用中遠海運科技股份有限公司自主研發(fā)的P0技術架構,以Kafka、Flink、PostGIS/Redis和WebGIS/ECDIS(Electronic Chart Display and Information System)等先進的數(shù)據(jù)管理、服務技術為核心,按照常見的海事監(jiān)管業(yè)務應用場景設計一套具有采集、存儲、分析和可視化展現(xiàn)等功能的海事監(jiān)管平臺。該平臺的總體架構見圖2,主要分為6個層次。
圖2 海事監(jiān)管平臺的總體架構
1) 數(shù)據(jù)源。數(shù)據(jù)源是數(shù)據(jù)倉庫的主要數(shù)據(jù)來源,該平臺的數(shù)據(jù)主要來源于內(nèi)部系統(tǒng)(如協(xié)同平臺等)和外部數(shù)據(jù)源(如船名識別系統(tǒng)、現(xiàn)場綜合執(zhí)法系統(tǒng)、協(xié)同平臺和相關海事數(shù)據(jù)等)。通過數(shù)據(jù)源獲取的數(shù)據(jù)需通過數(shù)據(jù)庫、Webservice和消息隊列等方式抽取到ODS(Operational Data Store)層。
2) ODS。ODS存儲ETL(Extract-Transform-Load)抽取的數(shù)據(jù),一般存儲一段時間的數(shù)據(jù),包括船舶、AIS、艙單信息、碼頭信息和氣候信息等。對于對實時性要求比較高的數(shù)據(jù),采用Webservice和消息隊列等方式進行抽取,并保證數(shù)據(jù)的安全性。
3) 數(shù)據(jù)倉庫/數(shù)據(jù)集市。數(shù)據(jù)倉庫用來存儲經(jīng)ODS清理的數(shù)據(jù),并長期保存,為數(shù)據(jù)分析和數(shù)據(jù)挖掘提供數(shù)據(jù)支撐;同時,結合海事局相關部門的實際業(yè)務情況,建立多種維度的數(shù)據(jù)集市,為智慧海事監(jiān)管服務平臺或其他系統(tǒng)提供服務。
4) 服務層。通過標準API(Application Program Interface)接口提供Webservice與數(shù)據(jù)文件服務、基本數(shù)據(jù)服務(包括即席查詢、企業(yè)報表和儀表盤等)、分析建模服務和監(jiān)控大屏相關服務等。
5) 通信層。API網(wǎng)關,通過Open API平臺對服務層提供的服務進行統(tǒng)一認證、統(tǒng)一管理,提高系統(tǒng)的可用性和可擴展性。
6) 展現(xiàn)層。展現(xiàn)層包括PC(Personal Computer)管理端、APP和大屏應用等。
船舶異常行為是通過分析海量AIS信號得出的,因此在搭建平臺服務架構時,必須能支撐AIS的運算量。在充分分析平臺的定位之后,引入Redis、Kafka、FastDfs、Flink和ETL等工具搭建服務組件,具體見圖3。
1) Redis:用于保存高頻使用的信息和船舶最新經(jīng)緯度點,以及進行船舶異常行為預警,能滿足及時性要求。
2) Kafka:高吞吐量的分布式發(fā)布訂閱消息中間件,解耦生產(chǎn)者和消費者,用于分發(fā)AIS信息。
3) FastDfs:輕量級分布式文件系統(tǒng),對文件進行管理、存儲和訪問,用于存放船舶、船員和碼頭證書。
4) Flink:分布式的計算引擎,用來處理實時數(shù)據(jù)流。
5) ETL:用來為統(tǒng)計分析提供數(shù)據(jù)清洗服務。
圖3 為海事監(jiān)管平臺搭建的服務組件
用于存儲數(shù)據(jù)的數(shù)據(jù)庫選擇范圍主要包括Oracle、MySQL和PostgreSQL,其中:Oracle為收費數(shù)據(jù)庫;PostgreSQL是一種對象關系型數(shù)據(jù)庫,是目前功能最強、特性最復雜、接口最豐富的自由軟件數(shù)據(jù)庫,起源于伯克利軟件套件(Berkeley Software Distribution, BSD)的數(shù)據(jù)庫研究計劃,是目前最重要的開源數(shù)據(jù)庫產(chǎn)品開發(fā)項目之一。
2.1.1 Oracle數(shù)據(jù)庫與PostgreSQL數(shù)據(jù)庫對比
從功能上看,PostgreSQL數(shù)據(jù)庫能與Oracle數(shù)據(jù)庫相媲美,Oracle數(shù)據(jù)庫是目前功能最強的商業(yè)數(shù)據(jù)庫,PostgreSQL數(shù)據(jù)庫是功能最強的開源數(shù)據(jù)庫。Oracle數(shù)據(jù)庫在集群功能方面比較強,而PostgtreSQL數(shù)據(jù)庫在索引和可擴展等方面比較強。
Oracle數(shù)據(jù)庫與PostgreSQL數(shù)據(jù)庫有很多相似之處,比如二者都使用共享內(nèi)存的進程結構,客戶端與數(shù)據(jù)庫服務器建立連接之后,數(shù)據(jù)庫服務器就啟動一個進程為該連接服務,同為數(shù)據(jù)庫的MySQL采用的是線程模型;在日志管理方面,PostgreSQL數(shù)據(jù)庫的WAL(Write-Ahead Logging)日志與Oracle數(shù)據(jù)庫的Redo日志都用于記錄物理塊數(shù)據(jù)的變化。
PostgreSQL數(shù)據(jù)庫與Oracle數(shù)據(jù)庫的不同之處在于,PostgreSQL數(shù)據(jù)庫有更多互聯(lián)網(wǎng)特征的功能。例如,PostgreSQL數(shù)據(jù)庫的數(shù)據(jù)類型不僅支持網(wǎng)絡地址、XML、JSON、UUID和數(shù)組,而且有強大的正則表達式函數(shù),如在where條件中既可使用正則表達式匹配,又可使用Perl和Python等語言寫存儲過程等。
PostgreSQL數(shù)據(jù)庫在主備庫方面非常完善,配置備庫的過程相比Oracle數(shù)據(jù)庫更靈活、簡單。PostgreSQL數(shù)據(jù)庫可搭建同步備庫、異步備庫和延遲備庫,在同步備庫中可配置數(shù)據(jù)同步到任意一個備庫中,只讀備庫提供有更多的參數(shù)控制,用以解決查詢與應用日志沖突的問題,使數(shù)據(jù)庫管理員更易控制只讀備庫的查詢沖突。
Oracle數(shù)據(jù)庫的安裝包一般以GB為單位,需花費數(shù)個小時安裝;PostgreSQL數(shù)據(jù)庫的安裝包只有幾十MB,在任意環(huán)境下花費數(shù)分鐘即可完成安裝。安裝之后,PostgreSQL數(shù)據(jù)庫更小巧,可在內(nèi)存很小的機器上完美運行,如在512 MB的云主機上運行,而Oracle數(shù)據(jù)庫基本上只有在以GB為單位的云主機上才能運行。
2.1.2 MySQL數(shù)據(jù)庫與PostgreSQL數(shù)據(jù)庫對比[3]
1) PostgreSQL數(shù)據(jù)庫的穩(wěn)定性較強, Innodb 等引擎在崩潰、斷電等災難場景下的抗打擊能力較強,然而很多MySQL數(shù)據(jù)庫用戶都遇到過Server級的數(shù)據(jù)庫丟失的場景——MySQL數(shù)據(jù)庫是MyISAM的,相對而言,PostgreSQL數(shù)據(jù)庫在這方面的表現(xiàn)要好一些。
2) PostgreSQL數(shù)據(jù)庫功能強大,支持所有主流的多表連接查詢方式,是對正則表達式支持最強、內(nèi)置函數(shù)最豐富的數(shù)據(jù)庫。PostGIS數(shù)據(jù)庫在GIS領域處于優(yōu)勢地位,有豐富的幾何類型、大量字典、數(shù)組和bitmap等數(shù)據(jù)類型;MySQL數(shù)據(jù)庫在該領域的表現(xiàn)相對較差。
3) 度量信息和性能優(yōu)化工具豐富。PostgreSQL數(shù)據(jù)庫提供有大量性能視圖,可快速定位問題,例如可定位到正在執(zhí)行的SQL(Structured Query Language),通過鎖視圖看到哪條記錄已被鎖定,以及誰在等待等。PostgreSQL數(shù)據(jù)庫中設計有專門的進程和架構,用于收集性能數(shù)據(jù),既有I/O(Input/Output)方面的統(tǒng)計,又有表掃描和索引掃描方面的性能數(shù)據(jù)。
4) 在線操作功能好。當PostgreSQL數(shù)據(jù)庫增加空值列時,本質(zhì)上只是在系統(tǒng)表上將列定義上,無需對物理結構進行更新,這就使在增加空值列時能瞬間完成。此外,PostgreSQL數(shù)據(jù)庫還支持在線建索引功能,在創(chuàng)建索引過程中可不鎖更新操作。
5) 具有強大的插件擴展功能。PostgreSQL數(shù)據(jù)庫提供了安裝、編寫插件的整體框架,如提供了create extension等SQL語句,以方便裝載插件;寫一個動態(tài)庫可很方便地給PostgreSQL數(shù)據(jù)庫添加函數(shù);提供了外部數(shù)據(jù)源(Foreign Data Wrappers, FDW)的框架和編程接口,根據(jù)該框架和編程接口可方便地編寫訪問其他數(shù)據(jù)庫和外部數(shù)據(jù)源的插件。
通過以上分析可知,PostgreSQL數(shù)據(jù)庫具有以下優(yōu)勢:
1) PostgreSQL數(shù)據(jù)庫是目前功能最強大的開源數(shù)據(jù)庫。
2) 穩(wěn)定可靠。PostgreSQL數(shù)據(jù)庫是唯一能做到數(shù)據(jù)零丟失的開源數(shù)據(jù)庫。
3) 開源省錢。PostgreSQL數(shù)據(jù)庫不僅是開源的、免費的,而且使用的是類BSD協(xié)議,在使用和二次開發(fā)上基本沒有限制。
4) 支持廣泛。PostgreSQL 數(shù)據(jù)庫支持大量的主流開發(fā)語言,包括C、C++、Perl、Python、Java、Tcl和PHP等。
PostGIS在對象關系型數(shù)據(jù)庫PostgreSQL上增加了存儲管理空間數(shù)據(jù)的能力,相當于Oracle數(shù)據(jù)庫的spatial部分。PostGIS最大的特點是符合并實現(xiàn)了OpenGIS的一些規(guī)范,是最著名的開源GIS數(shù)據(jù)庫?!癙ostGIS 為PostgreSQL提供了存儲空間地理數(shù)據(jù)的支持,使PostgreSQL成為了一個空間數(shù)據(jù)庫,能夠進行空間數(shù)據(jù)管理、數(shù)量測量與幾何拓撲分析”[1]。
基于以上分析,該平臺的數(shù)據(jù)儲存在含有PostGIS插件的PostgreSQL數(shù)據(jù)庫中。
此次平臺設計從指揮中心安全監(jiān)管出發(fā),關聯(lián)數(shù)據(jù)主要來源于部級和局級數(shù)據(jù)中心、海事局自建系統(tǒng)和關聯(lián)企業(yè),其中關聯(lián)企業(yè)主要指港務局。對于海事局自建系統(tǒng)和關聯(lián)企業(yè)而言,其數(shù)據(jù)可無條件獲取,因此該平臺的功能范圍主要取決于部級和局級數(shù)據(jù)中心的開放程度。
自建系統(tǒng)主要包括各種感知設備的接入、本地安全檢查、綜合執(zhí)法和VTS等系統(tǒng);關聯(lián)企業(yè)的數(shù)據(jù)主要包括進港計劃、作業(yè)計劃、危險品信息、引航拖船、集裝箱吞吐量和外輪進港申報等;二級數(shù)據(jù)中心下發(fā)的數(shù)據(jù)主要包括轄區(qū)范圍內(nèi)船舶基本信息、船舶證書、國內(nèi)安檢、行政處罰、報告制、重點跟蹤和協(xié)查船。此外,平臺還用到了東海航保的AIS數(shù)據(jù)和電子海圖。
除了上述有明確來源的數(shù)據(jù)以外,對于船舶安全航行監(jiān)管而言,氣象信息也是不可或缺的,如臺風、潮汐等,在確定數(shù)據(jù)源之后,由港務局專線通過網(wǎng)閘將其接入海事專網(wǎng)。
基于以上服務組件,設計AIS接收和預處理過程,見圖4。
圖4 AIS接收和預處理過程
平臺的運行圍繞AIS信息展開,船端發(fā)出AIS信號之后,先由地面基站接收,再由東海航保在專網(wǎng)內(nèi)轉發(fā)到平臺〈AIS Client〉上,觸發(fā)平臺的AIS處理流程。處理過程中的〈預警服務〉是平臺的算法服務器,所有智能場景的算法都在此運行,產(chǎn)生預警的記錄自動傳輸給風控中心,使值班執(zhí)法人員第一時間發(fā)現(xiàn)并進行干預。
為盡可能地提高預判的準確性,需對AIS數(shù)據(jù)與VTS數(shù)據(jù)進行融合,同時關聯(lián)海事系統(tǒng)內(nèi)的相關業(yè)務數(shù)據(jù),方便海事執(zhí)法人員一次性獲得所有信息,具體融合算法參見文獻[4]。
在公路交通領域,可通過在公路兩側安裝硬件測量瞬時速度和區(qū)間速度,進行超速判斷。對于航行中的船舶而言,這種判斷方式不適用。通過分析發(fā)現(xiàn),只有AIS和VTS含有船舶動態(tài)信息,其中VTS中的船舶航速來源于AIS,故該超速算法的數(shù)據(jù)以AIS數(shù)據(jù)為準,AIS中的航速是通過在船上安裝的硬件自動獲取的,一般為對地航速。
較為合理的超速判斷邏輯是固定距離區(qū)間測速(比如公路超速)或固定時間段平均航速,由于海上沒有類似于高速公路的固定航行線路,故該超速算法根據(jù)固定時間段平均航速進行超速判別。AIS中的動態(tài)信息均為瞬時信息,考慮到AIS信號的穩(wěn)定性和AIS信息推送周期(詳見表1[4]),在與海事法規(guī)專家討論之后,確定測算時間段為10 min,即從船舶進行超速判定圍欄開始,在收到AIS動態(tài)信息之后,在Flink中進行實時計算,從緩存預警數(shù)據(jù)中取過去10 min內(nèi)的所有動態(tài)信息點,當有70%的動態(tài)信息點超過閾值時,判定該船存在超速行為,生成預警消息隊列,最終在風控中心顯示。
表1 AIS信息推送周期
平臺建成之后,形成了以1張地圖(東海航保專業(yè)電子海圖)和1個大腦(風控中心, 全天24 h實時監(jiān)控轄區(qū)內(nèi)船舶的航行安全性)為基礎的非接觸式執(zhí)法模式,通過平臺直接固化電子證據(jù),直接對存在危險行為的船舶開罰單,同時根據(jù)規(guī)劃提供多單項功能入口,基本滿足基層海事處的海事安全監(jiān)控需要。圖5為海事監(jiān)管平臺風控中心列表。
圖5 海事監(jiān)管平臺風控中心列表
目前該平臺的系統(tǒng)級預警有55個,用戶自定義預警有80個,平臺每天處理的AIS數(shù)據(jù)約有150萬組,每天產(chǎn)生的系統(tǒng)級預警約有1 500個,每天產(chǎn)生的用戶自定義預警約有30個。由于系統(tǒng)級預警數(shù)量較大,超出了海事處的執(zhí)法能力,故作進一步分析,將需要執(zhí)法人員處理的系統(tǒng)級預警控制在可執(zhí)行的范圍內(nèi)。以2021年11月29日的預警內(nèi)容為例,單日預警類型統(tǒng)計見表2。
表2 2021年11月29日平臺單日預警類型統(tǒng)計
由表2可知:2021年11月29日全天合計預警數(shù)量1 079個,其中,1001預警占比 43.56%,1030預警占比43.37%,合計占比86.93%。換算之后可知,1001預警和1030預警以外的預警數(shù)量僅141個,在十大基層海事機構的執(zhí)法能力范圍內(nèi)。1001預警為AIS信號異常消失預警,1030預警為AIS信號異常出現(xiàn)預警,業(yè)務上消失之后再出現(xiàn)會觸發(fā)1030預警,2個預警所占比例近似持平,驗證了系統(tǒng)邏輯的正確性。通過走訪預警集中高發(fā)的幾個區(qū)域發(fā)現(xiàn),1001預警和1030預警2個高頻預警主要是由內(nèi)河航線基站存在盲點或無衛(wèi)通船舶離岸線太遠造成的。對于第一種原因造成的預警,已建議相關方進行補點;對于第二種原因造成的預警,由于涉及船端硬件成本投入,暫無解決方案。
目前該平臺已建設完成并投入使用,取得了良好的應用效果,改善了現(xiàn)有海事監(jiān)管信息化分散發(fā)展、被動海事執(zhí)法和基層海事執(zhí)法信息化支撐分散等狀況,基于大數(shù)據(jù)技術提供WebGIS和API等各類型數(shù)據(jù)應用微服務,形成數(shù)據(jù)資產(chǎn)和應用資產(chǎn),為基層海事執(zhí)法的信息化發(fā)展提供支撐,滿足自下而上匯總和自上而下管理的需求。下一步計劃加強對感知信息的應用能力,通過圖像識別技術實現(xiàn)超載、人員落水和碰撞等風險早知道。在此次平臺建設中,沒有對感知設備(如CCTV)產(chǎn)生的圖像信號作進一步的應用,圖像信息沒有做到完全融合。后續(xù)考慮將圖像信號處理成結構化數(shù)據(jù),使近海CCTV覆蓋范圍內(nèi)的一些風險(如沉船、溢油和人員落水等)能第一時間被發(fā)現(xiàn)。