萬輝+張建雄+高嵩+蔡浩
摘 要:為了解決內河船舶信息孤島、屏障問題,實現船舶海量數據的快速整合應用,本文對內河船舶數據互聯互通、共享交換的實際情況進行了綜合分析,對內河船舶大數據關鍵技術展開研究。厘清內河各類船舶數據間的關系,確定船舶大數據建設內容,探索船舶大數據處理技術方法、船舶大數據存儲、船舶大數據共享與服務,為船舶大數據平臺建設打下理論技術基礎。
關鍵詞:船舶;大數據;數據倉庫;數據挖掘;ETL;數據抓取
中圖分類號:U662.3 文獻標識碼:A 文章編號:1006—7973(2017)11-0047-04
大數據是一種新處理模式下具備更強決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。大數據比較有代表性的定義是4V定義,即規模性(Volume)、多樣性(Variety)、高速性(Velocity)和價值性(Value)。大數據的特點決定了在大數據時代,傳統的數據處理技術必需有革命性的提升。
長江是我國的“黃金水道”,長江流域創造超過40%的國內生產總值和約35%的外貿進出口額,是沿江地區交通物流和經濟社會可持續發展的重要命脈。船舶作為長江航運體系的載體,它承載著長江航運機構的各類業務。各航運機構間種類繁多的船舶業務系統運行時產生的數據龐大、增長快速、類型豐富,符合大數據的特征。伴隨著長江航運信息化的加速發展,各類船舶業務數據會持續爆炸式的增長,由于各自機構系統之間相互獨立運行,難以實現信息共享交換,各機構間各司其責,行政管理上的缺失,造成了人為的行政壁壘,阻礙了信息數據的整合應用,形成內河數據孤島, 傳統的數據處理技術遇到瓶頸,不能滿足航運機構從海量數據中快速獲取船舶信息的需求,內河船舶大數據技術的研究是長江航運信息化、智能化發展的必然要求;也是充分整合利用現有內河船舶數據資源,徹底解決內河船舶數據孤島、屏障問題,實現內河船舶數據的互聯互通、共享應用的手段。鑒于此,本文開展內河船舶大數據關鍵技術研究,厘清內河各類船舶數據間的關系,探索船舶大數據整合技術、方法。
1 船舶大數據建設分析
1.1 內河船舶數據現狀
目前,長江航運機構開發的各類業務應用系統均建立了各自的后臺數據庫,基本涵蓋了所有航運業務數據的數據庫存儲。但由于各業務應用系統相對獨立,條塊分割的建設模式使得這些應用系統的后臺數據庫成為了一個個信息孤島。系統間所需信息需要人工轉錄,或通過數據接口進行異步共享。不同系統間數據結構交叉嚴重,數據在不同系統間重復錄入,數據接口過多過雜,數據同步不及時,導致數據的時效性、一致性、準確性差。
1.2 船舶數據關系分析
長江航運船舶業務主要包括:船舶AIS動態監管、船舶VTS交管、LRIT、船舶登記、船舶安檢、在港作業、船舶簽證、危險品管理、綜合統計等業務處理,主要業務涉及的數據項如下:
船舶AIS動態監管:MMSI、船名、航艏向、航速、經度、緯度、更新時間等。
船舶VTS交管:編號、船名、船舶位置、航速、更新時間等。
船舶登記:船舶編號、船舶登記號、中文船名、英文船名、船舶呼號、IMO編號、船舶曾用名、船籍港等。
安全檢查:船舶編號、檢查日期、檢查地點、是否有缺陷、滯留時間、滯留原因、船級社、安全檢查缺陷、安全檢查項目等。
在港作業:船舶編號、作業代碼、單位名稱、單位地址、申請時間、聯系人、聯系電話等。
船舶簽證:船舶編號、進出港代碼、預到日期、船舶類型、開往港口、旅客總數、本港卸貨數、本港裝貨數、載貨種類、聯系人、聯系電話等。
通過分析,船舶信息間的關系都是通過船舶動態系統中船舶編號來唯一關聯。船員、船公司等船舶輔助信息,要建立與船舶基本信息的關聯,同樣是通過船舶編號進行關聯。
船舶AIS、VTS系統中并未包含船舶編號數據,要想實現與船舶基本信息的關聯,需要從船舶名稱入手,采用數據庫(Oracle/Sqlserver)中間件實現中英文船名自動匹配關聯及人工預處理關聯,最終得到完整的船舶綜合數據。
船舶AIS、VTS系統都包含了船舶位置信息,要實現數據關聯的同時,還要解決數據融合問題,利用AIS、VTS的位置數據,通過Kalman濾波器進行信號的預處理,得到相對準確的船舶定位信息。將定位信息進行匯總融合,包括數據的時空對準、坐標轉換,結合上面描述的關聯數據,通過融合算法進行船舶動態數據的整體融合,得到準確的船舶動態融合數據。
1.3 船舶大數據建設內容分析
船舶大數據建設要遵循組織合理、結構清晰、冗余度低、便于操作、易于維護、安全可靠、擴充性好的原則,并建立大數據實時更新機制,以及各區域和各部門單位船舶協同管理的數據共享機制。
船舶大數據的建設將以船舶基礎信息為核心,重構并形成支撐船舶管理的基礎數據庫(船舶基礎庫、船員基礎庫、船公司基礎庫)、船舶動態庫、數據應用庫,數據庫的框架結構應以便于后期完善、擴展和改造等為標準進行搭建。
基礎數據庫:數據共享程度最高,是多個業務應用系統的基礎,具有基礎性、全局性特征。包括船舶基礎數據、船員基礎數據、船公司基礎數據,以及相關證書基礎數據。
動態數據庫:數據主要用于支撐時間敏感性業務應用的開展,由動態業務過程產生。包括船舶AIS、VTS、進出口岸查驗、船舶申報、船舶簽證、船舶安全檢查、事故處理、船舶違章、危險品申報數據等。
數據應用數據庫:此類數據主要為了滿足第三方開發系統業務應用的需求,進行深度挖掘、抽取、整合形成。
2 船舶大數據關鍵技術
建立船舶大數據,是要在網絡互聯互通及各業務系統共同提供數據信息的前提下,讓各類離散業務數據資源能夠實現多角度、全方位的共享應用。endprint
通過船舶大數據,可以把各類船舶相關數據進行異構重組,形成統一、虛擬、完整的業務信息整合平臺,同時能夠提供一種資源協同、高性能計算、管理及應用服務的能力。船舶大數據的數據處理包括采集與加工、存儲與處理、共享與服務三大層次。
2.1 數據的采集與加工技術
船舶大數據建設的核心既是對各類船舶數據的采集與加工,從圖1可以分析得到,信息采集層由四部分組成,一是由外部的信息采集來組成;二是來源于分布在各地、各單位的異源數據庫;三是來至網絡的信息抓取;最后是人工錄入數據。所有這些數據源的特點都是異構、分布、具備相關性、大小規模不等。
2.1.1 數據采集技術
由于各種數據不是在統一的時間生成,數據在進入數據倉庫之前需要經過大量的運算,為了不影響原有系統的正常運行和保證導入數據倉庫數據的正確性與有效性,可設置中間(臨時)數據庫。中間(臨時)數據庫起所有數據從傳統數據庫導入到數據倉庫的過渡作用。
2.1.1.1 數據標準化歸一
不同來源所得到的相同字段數據定義可能不一樣,因此首先需要將數據字段的定義標準化,把它們的定義和取值區間統一起來,從而消除變量之間不同類型數值之間的懸殊差異。進行數據標準化需要定義各類數據標準化整合規則。包括:定義數據屬性、字典、數據解析規則、整合對照表、對應的數據整合處理方式及數據檢測條件等六項內容。
消除數據的主體差異。對各類船舶主題數據進行人工梳理及分析,然后將分布的、異構數據源中的數據抽取到臨時中間層后進行清洗、轉換、集成,最后加載到數據倉庫。
2.1.1.2 異源數據庫及文件數據采集技術
對于只需一次性導入的數據可以遵循“數據元提取-數據清理-數據入庫”的基本步驟完成數據采集。而對于需要定期或實時進行數據同步與交換的數據源,應通過數據交換平臺同步交換抽取源數據,再進行上述處理。
數據同步交換規則及內容:①利用中間件直接訪問各數據系統(數據庫或者文件系統),同時建立靈活的數據導入方式;②向中間(臨時)數據庫導入數據,創建統一規則的數據導入環境;③設定用戶權限,來區分不同用戶應導入的相應的數據內容,確保不同用戶間導入數據時不出現混亂操作。
基本上能轉換當下流行的數據庫數據(例如SqlServer、Oracle、Sybase、Db2、文件型Excel數據表及其它的文本存儲的數據格式。各類的數據的同步交換處理都有相應的接口模塊,都會有統一數據接口對接規則,這樣能夠實現對新的數據格式的快速增加、識別、轉換。
實際操作時可以根據具體情況,靈活選擇數據抽取方案。如對于船舶基礎數據進行采集時,可以采用ETL工具直接連接各應用系統數據庫將數據抽取到集中數據庫中進行處理。而對于動態過程中產生的數據(如船舶簽證、AIS、VTS等),由于涉及到實時數據抽取,可根據情況選擇如下方案:①將實時和歷史數據分開處理。周期性的將各單位的歷史數據抽取到集中數據庫中。通過跨數據源訪問功能直接使用穿透鉆取技術從應用服務中鉆取到實時的數據。②使用數據同步工具對數據庫進行實時同步。③對于手工填報數據和文件數據,建議采用指定格式(如Excel、Word)上傳填報或者基于系統交互頁面的填報,通過ETL工具導入數據庫中。
2.1.1.3 數據抓取技術
船舶大數據還有一類數據來源依靠網絡爬蟲形式的數據抓取,數據抓取方案由目標設定、規則配置、任務執行、解析處理、人工判定五部分組成。
(1)利用工具來配置數據抓取目標。
(2)配置規則來實現數據的完整抓取。
(3)根據配置文件執行抓取任務。
(4)抓取程序訪問數據列表地址來解析每一個數據項,利用正則匹配實現對html內容解析抓取。
(5)人工判斷。抓取只是簡單的實現了網絡數據的采集,信息內容的準確性需要人工判定校準。
2.1.2 數據清洗加工技術
2.1.2.1 數據的清洗
過濾或者修改那些不符合要求的數據是作為數據清洗的主要任務。數據清洗不是簡單的更新數據記錄,而是對數據進行預處理,清洗過后的數據應能滿足沒有數據異常、沒有近似重復記錄的要求,并可以支持船舶數據的集成。技術手段:
數據人工調整:通過匹配檢查,發現并標識出違反規則的一類數據,然后經過人工操作對這類數據進行相應的結構調整。
計算機自動調整:通過分析樣本預先制定出數據清洗規則的集合,再利用專門的ETL工具或自行編制的批處理工具完成數據的清洗。
2.1.2.2 缺失值的處理
對于數據集中的數據,存在有這樣兩種情況:
(1)數據中有大量缺失值的屬性,如確定是無效數據,通常采取的措施可以有:①從整合后的數據集中直接刪除;②作刪除標記。
(2)對于比較重要的屬性,也會存在少量缺失值,需要將數據補充完整后進行一系列的數據挖掘。可以采取以下方式進行數據填補:①需要用一個相同的并且不會引起使用歧義的常數對象來替換缺失的屬性值,例如字符串就直接填入空格;數值類直接填入0或者允許的缺省數據值;②利用該屬性的最可能的值填充缺失值。
(3)清洗相似的重復數據。相似重復記錄清洗內容包括如下兩項,一是針對兩個數據集的清洗,另外一個是針對合并后的數據集進行清洗。首先是記錄匹配過程,即識別相似重復記錄并標識與這個重復記錄相同現實實體對象。然后,將找出的相似重復記錄采用特定規則來合并成一個包含更多屬性的新的實體對象,確保信息記錄無冗余,最終在數據集中刪除多余的記錄。
(4)數據規模的消減。對數據進行了缺失值清理后,考慮進行人選或機選,刪除冗余屬性或者與船舶數據無關的屬性。
2.2 采集數據的存儲及處理技術endprint
船舶數據的存儲與處理,它的任務是對采集到的各種信息進行分析、存儲、處理、發布。服務的動態創建及服務的即時發現是船舶大數據進行信息服務時要具備的重點功能。要實現異構數據的共享,可以將采集到的信息作為服務,來動態的創建、發現來自于不同分布范圍的服務信息,做到對數據的集中、分類并深度處理分析。內容如下:
創建數據管理中心,通過交互操作實現對信息的請求、識別、接收、融合、編輯、更新、管理等。
大數據庫創建,制定數據建設標準,將采集到的船舶信息存儲在數據庫或者其他存儲介質。
數據倉庫挖掘,分析原數據庫、擬建數據庫、Excel等數據文件的基本結構及內容,設計挖掘規則與概念模型,進行ETL深度分析處理。
2.3 數據的共享與服務技術
船舶數據的共享與服務可以針對不同用戶的需求,直接AOC將核心層處理分析后的數據發送到各用戶終端,用戶即可得到所需業務數據服務。
建設數據交換平臺,數據交換平臺可基于數據中間件產品實現,組成一套完整的數據交換節點,在每個前置及數據采集點部署該交換節點,實現對內對外的數據交換。
實現數據應用共享服務,將核心數據層分析處理過的數據推送到不同的用戶終端,并將這些信息利用中間件的方式進行匯總、整理,實現業務應用層面的數據共享,并能提供共享的數據接口服務。
采用Webservice+SSL+XML+Json接口技術,按船舶、船員、業務分類設計開發一套標準統一的船舶大數據接口服務,用來對內對外提供數據存儲、更新、查詢服務,保障船舶大數據運行的安全性、穩定性、可靠性及高可用性。
3 結語
通過內河船舶大數據關鍵技術研究,能夠理清內河各類船舶數據間的關系,解決內河船舶信息孤島問題,實現船舶數據的共享應用;能夠為船舶大數據平臺建設打下技術理論基礎;能夠獲得一些大型船舶綜合應用平臺開發的思路、方法;能夠獲得更多關于船舶大數據行業應用的啟發。
參考文獻:
[1] Gartner. Top ten strategic technology trend for 2012[EB/OL].(2011-11-05)[2014-08-17]. http://www.gartner.com.
[2] 孟小峰,慈祥.大數據管理:概念、技術與挑戰[J].計算機研究與發展, 2013,50(1):146-169.
[3] 張笛, 萬程鵬, 嚴新平. 基于事故特征分析的長江礙航風險研究[J]. 中國航海, 2013, 36(2):94-99.
[4] 徐武雄, 初秀民, 劉興龍. 海事業務數據挖掘和共享關鍵技術研究[C]// 中國智能交通年會. 2015.
[5] 文哲, 何正偉, 辛旭日,等. 基于云計算的海事信息處理模式[J]. 中國航海, 2016, 39(2):50-54.
[6] 整合海事系統業務信息資源促進海事協同管理 盧艷民 - 《天津航海》- 2011-03-25.
[7] 孫星, 嚴新平, 初秀民,等. 基于船標岸一體化技術的內河信息服務關鍵技術研究[J]. 交通信息與安全, 2012, 30(4):126-130.
[8] 申慧超, 胡勤友, 楊春. 基于AIS數據的預抵船舶聯系信息查詢系統[J]. 上海海事大學學報, 2010, 31(4):13-16.
[9] 于俊逸, 陳偉, 劉建,等. 內河航運VTS與AIS信息融合關鍵技術研究[J]. 交通信息與安全, 2013, 31(6).
[10] 彭玢, 代潔. 基于中間庫與WebService平臺信息交互接口設計[J]. 計算機與數字工程, 2013, 41(11):1801-1803.endprint