信建章,王 尼,李春立,王 平
(1.駐湛江地區(qū)軍事代表室,廣東 湛江 524005;2.山東省海洋儀器儀表科技中心有限公司,山東 青島 266071;3.山東省科學院海洋儀器儀表研究所,山東 青島 266001)
隨著我國國民經(jīng)濟的不斷增強,國內(nèi)和國際之間的經(jīng)濟貿(mào)易交流越來越頻繁。海運作為海上運輸?shù)闹饕绞剑笆侵饕倪\輸工具,通過AIS系統(tǒng),可以與航行中的其他船舶之間進行信息交流,船舶靠岸時也可以與岸邊的基站進行信息的交互。船舶AIS系統(tǒng)能夠保障船舶的航行安全,減少船舶之間發(fā)生海上交通事故,有利于加強船舶之間的交通管理,增強船舶與船舶之間、船舶與基站之間的信息交互。
船舶AIS設備監(jiān)測系統(tǒng)主要功能是包括船舶之間數(shù)據(jù)信息的獲取、船舶的自動識別以及相關的人機交互功能的實現(xiàn)。數(shù)據(jù)信息的獲取主要是指系統(tǒng)能夠穩(wěn)定地接收來自系統(tǒng)中的原始信息,并能夠?qū)?shù)據(jù)按照安裝順序存儲到管理系統(tǒng)中。船舶的自動辨別功能主要是對船舶位置信息進行識別,對船舶安裝的多個AIS設備發(fā)出的信號進行判斷,辨別其信息的準確性。在系統(tǒng)進行甄別信息的同時,記錄相關位置及結果,并存儲到數(shù)據(jù)庫中。人機交互功能是為了在人機交互界面上實時顯示監(jiān)測到的船舶狀態(tài),實現(xiàn)操作人員在顯示器上能夠看到周圍的海域環(huán)境。整個系統(tǒng)的總體架構圖如圖1所示。
數(shù)據(jù)獲取服務的設計是為了實現(xiàn)船舶AIS數(shù)據(jù)的接收和解析校驗的,在系統(tǒng)的工作過程中,各個監(jiān)測會對AIS數(shù)據(jù)進行多次應用,為了保證系統(tǒng)的工作效率,將數(shù)據(jù)存儲到Kafka緩存中。原始數(shù)據(jù)可采用兩種不同的處理方式進行數(shù)據(jù)存儲:一種是采用原始沒有經(jīng)過處理的數(shù)據(jù)進行存儲,為后續(xù)的船舶有效性辨別提供數(shù)據(jù)的輸入。另一種是原始數(shù)據(jù)進行語句的核驗、組包等操作,將信息進行過濾,并且能夠按照相關的標準進行原始電文的解析,解析成為系統(tǒng)能夠識別的明文,按照明文的數(shù)據(jù)類型,對數(shù)據(jù)進行分類處理并儲存,繼而為船舶設備的監(jiān)測提供數(shù)據(jù)支持。
數(shù)據(jù)獲取服務主要由以下幾個模塊組成:
1)主控制模塊,主要是為了完成數(shù)據(jù)之間的交換、信息的協(xié)調(diào)調(diào)配,對其他模塊進行初始化。
2)原始數(shù)據(jù)接收模塊,主要是為了接收主控制模塊的配置信息,與Kafka之間進行相互信息連接,并將獲取到的信息傳遞到數(shù)據(jù)校驗辨析模塊。
3)數(shù)據(jù)校驗解析模塊,是將收集到的AIS的數(shù)據(jù)進行辯別和解析,能夠通過校驗的就被解譯成明文,通不過的就被存儲到MySQL中。
4)數(shù)據(jù)分類輸出模塊,將收集到的來自通過校驗的數(shù)據(jù)明文按照其分類進行處理,分別存入到不同的數(shù)據(jù)主題緩存中。
數(shù)據(jù)獲取服務的工作流程:首先進行配置文件的初始化,在Kafka中的原始數(shù)據(jù)按照其順序進行原始數(shù)據(jù)的接收,并存儲到分布式系統(tǒng)HDFS中,同時對數(shù)據(jù)進行校驗,校驗不通過的原始數(shù)據(jù)被視為異常數(shù)據(jù),將其存儲到MySQL中,校驗通過的數(shù)據(jù)進行下一步的電文解析。電文解析后的數(shù)據(jù)主要分為三類:靜態(tài)電文、動態(tài)電文和其他電文。分類完成后進行相關隊列的分類,這就能夠為船舶AIS提供數(shù)據(jù)依據(jù)。
船舶多AIS設備識別服務首先需要建立黑白名單數(shù)據(jù)庫以及相關的配置文件,在系統(tǒng)開始時,將設備的配置文件初始化,初始化完成后接收來自Kafka中的動態(tài)數(shù)據(jù),并與黑白名單數(shù)據(jù)庫中的數(shù)據(jù)進行對比校驗、分析,若是分析過的數(shù)據(jù)就結束程序,若是沒有進行分析的,就需要傳入到系統(tǒng)內(nèi)存中,對符合要求的傳入到船舶的Spark集群中,進行保存存儲,這就實現(xiàn)了對多AIS設備的辨識識別,其架構圖如圖2所示。該系統(tǒng)中的主控制模塊利用多個AIS設備進行辨識服務,讀取原始的配置信息,對其進行初始化處理,實現(xiàn)各個模塊之間數(shù)據(jù)信息的調(diào)配工作。動態(tài)數(shù)據(jù)獲取模塊是對Kafks集群中的信息進行收集,并進行動態(tài)分類,將信息處理成為能夠在本系統(tǒng)中顯示的數(shù)據(jù)信息,通過動態(tài)獲取船舶的硬件參數(shù)、航行參數(shù)以及相關信息的發(fā)送時間,并將信息傳遞至主控模塊進行分析。黑白名單校驗模塊負責對數(shù)據(jù)庫中的相關信息進行維護,查詢接收到的船舶信息是否在數(shù)據(jù)庫中,并且能夠定期對白名單中的超時信息進行消除。在動態(tài)數(shù)據(jù)獲取模塊接收到船舶信息時,將信息在黑白名單中進行對比。內(nèi)存數(shù)據(jù)維護模塊是對動態(tài)數(shù)據(jù)獲取模塊接收到的信息進行對比,當數(shù)據(jù)庫中不存在時,將該信息進行數(shù)據(jù)添加,當接受的信息數(shù)據(jù)與數(shù)據(jù)庫中的信息不符時,通過判斷其數(shù)據(jù)的接收時間,對數(shù)據(jù)庫進行內(nèi)存數(shù)據(jù)的更新操作。
在實際測試過程中依據(jù)特定的場景、船舶位置與基站位置間的距離進行判定,并通過統(tǒng)計來判斷船舶的分布情況。在實際測試中,設定在0~50 n mile是正常軌跡,在51~200 n mile設定為疑似軌跡,在200 n mile以上認定為異常。通過一段時間的測試后,發(fā)現(xiàn)當船舶的正常軌跡所占比例超過三者之和的60%時,就會被認為是正常船舶。當出現(xiàn)疑似軌跡和異常軌跡之和超過總數(shù)的60%時,就會被認定為是非正常的船舶,并且當其中的異常船舶數(shù)量超過疑似軌跡和異常軌跡兩者之和的60%時,就會被認為是異常船舶,反之則被認為是疑似船舶。該測試結果說明該系統(tǒng)能夠滿足對船舶AIS設備進行監(jiān)控識別的服務要求。
為了規(guī)范船舶AIS設備,采用船舶AIS設備智能檢測系統(tǒng)解決AIS設備的管理問題,利用AIS的數(shù)據(jù)信息對船舶的基本信息和船舶的位置真實性進行評測,分析其數(shù)據(jù)的異常行為,提出了船舶AIS監(jiān)測系統(tǒng),通過對船舶AIS設備智能檢測系統(tǒng)進行總體的結構設計,根據(jù)實際要求,設計了必備的船舶AIS數(shù)據(jù)信息獲取、信息有效性辨識以及人機交互功能。經(jīng)過系統(tǒng)測試,監(jiān)測系統(tǒng)具有著較好的可靠性,并且能夠滿足相關的服務要求。該系統(tǒng)對船舶AIS系統(tǒng)進行規(guī)范化管理,在實際應用中實現(xiàn)了安全、穩(wěn)定運行,具有著非常重要的現(xiàn)實意義。