謝 鈞,卓金寶,周曉潔,王珊珊,汪亞楠
(1.中國船舶重工集團公司 第七一一研究所,上海 201108;2.船舶與海洋工程動力系統國家工程實驗室,上海 201108)
隨著我國船舶設計、建造和航行技術的不斷發展,開發出了較多高技術船舶及其配套系統[1-3]。作為高技術船舶的核心組成,現代船舶動力系統開始應用越來越多的高新技術,系統規模結構、技術復雜程度日益增加,導致其運行過程中極易發生故障[4-6]。故障維修所需技術和設備的復雜程度與難度急劇增加,維修費用也將大幅提升,現有運維服務已無法滿足現代船舶日益增長的運維要求。
隨著“中國制造2025”戰略與“互聯網+”的提出,我國大力引導船舶行業轉型升級,基于現代信息技術發展船舶動力系統自動化、集成化、信息化和智能化技術。目前,雖已有部分將物聯網技術、大數據技術、5G技術和互聯網+技術應用到船舶系統設計研究中的報道[7-9],但這些技術在船舶動力系統運維服務中的應用仍然較少,且大多應用于船上設備或系統的狀態監控,缺少進一步對監控數據的處理研究[10-13]。針對船舶動力系統維護服務的智能化和信息化需求,本文提出了一種基于物聯網技術、大數據技術和云技術的船舶動力智能運維服務系統,為船舶動力系統提供高質量的智能運維服務。基于智能運維服務系統的需求分析,設計系統的基本結構,分析船端和岸端系統的基本功能。
船舶動力智能運維服務系統旨在對船舶動力系統提供實時數據采集監測報警以及預測性運維服務,構建統一的數據資源池,提供流式數據以及結構化數據的混合處理引擎。對數據進行標準化治理以及元數據管理,提供動力系統業務算法實施框架,為實現船舶動力系統大數據應用提供數據和計算支撐。
著眼于當今船舶智能化發展需求,圍繞船舶動力系統集成全生命運維管理解決方案,基于船舶動力系統全生命周期的運行管理信息系統,匯集全生命周期核心資源。利用智能傳感器、物聯網、云技術、大數據等技術手段,自動感知和獲取船舶設備、海洋環境、物流、船舶航行等方面的信息和數據,建立數據庫,結合計算機技術、自動控制技術和大數據處理與分析技術為船岸互通搭建橋梁,實現船陸一體化與遠程服務。
船舶動力智能運維系統分為三個子系統:船舶動力數據采集系統(簡稱船端系統)、岸端大數據運維服務系統(簡稱岸端系統)和網絡傳輸系統,系統功能結構示意圖如圖1所示。船端系統和岸端系統通過網絡傳輸系統連接后協同工作。從物理空間的角度看,船端系統和船端數據上傳部分位于各船舶上,岸端系統和云端數據接收部分位于岸上。

圖1 船舶動力智能運維系統功能結構示意圖
船端系統部署在船舶上,設計容量為500條船,采集船舶動力系統運行數據、輔助數據、視頻監控數據,提供監測報警、基礎設備數據維護等輔助功能。
岸端系統除了監測報警功能外,還提供基于大數據的健康管理、能效分析、賬戶管理、基礎數據維護等輔助功能。網絡傳輸系統部署在云上,實時與500條船上的船端系統建立網絡連接,并接收船舶動力系統監測數據,將動力監測數據存儲在大數據云服務器集群上。
從物聯網的角度,又可以將系統劃分為船舶動力系統、感知層、船端傳輸層、船端應用層、云端傳輸層和云端應用層。船端傳輸層同時為船端應用層和云端傳輸層提供數據來源。
船舶動力數據采集系統主要用于采集船舶的動力系統運行數據和相關輔助數據,現場提供視頻監控,具有監測報警、基礎設備數據維護等輔助功能。數據采集系統分為Client(客戶端運維服務子系統)/Server(服務器端運維服務子系統),分別運行在不同的終端機器上,要求能夠在船舶局域網內通過客戶端實時查看動力系統數據。
在系統級設計時,需要關注客戶端和服務器端子系統之間的通信。它們之間的通信分為以下4種:
(1)主要用于傳輸實時數據到客戶端的實時數據通信;
(2)主要用于客戶端從服務器端查詢歷史數據的歷史數據通信;
(3)主要用于傳輸報警數據到客戶端的報警數據通信;
(4)主要用于用戶登錄等系統服務管理功能的業務數據通信。
上述通信均通過工業件服務的遠程服務調用實現。采集系統總體上分為兩大類工業件,即客戶端和服務器端的數據管理類工業件。它們分別運行在兩個進程中,之間僅存在邏輯連接關系,主要通過系統的遠程服務調用。
服務器端的主要功能是從船舶信息系統接收船舶動力實時數據、從左右遙測系統接收船舶動力實時數據、從左右轉速測量儀采集主機轉速實時數據、從氣象儀與北斗系統采集航行實時數據、存儲實時采集數據、為客戶端提供實時數據推送功能、為客戶端提供歷史數據查詢接口。按照功能角度又可以分解為實時數據采集模塊、實時數據存儲模塊、實時數據服務模塊、報警服務模塊、歷史數據服務模塊、數據庫服務模塊、數據上報傳輸模塊。
客戶端的主要功能是接收服務器子系統實時采集數據、接收服務器子系統實時報警數據、查詢服務器子系統歷史數據、按照船舶總體展示實時數據、按照各設備展示實時數據、提供歷史數據查詢功能、顯示海康威視現場實時監控視頻。按照功能角度又可以分解為數據服務管理模塊、實時數據監控模塊、歷史數據模塊、報警數據模塊、視頻監控模塊。
網絡傳輸系統主要用于連接船舶動力數據采集系統與岸端大數據運維服務系統,其軟件架構在邏輯上分為3個層次:數據接入層、數據管理層、數據上傳層。
數據接入層負責管理最多500艘船的網絡接入,實時接收最多500艘船的實時數據,同時接收最多500艘船的歷史數據,并向數據管理層上報船舶在線狀態。
數據管理層主要負責實時數據訂閱管理,滿足運維系統實時獲取在線船舶動力監測數據的要求。考慮到船舶處于非常不穩定的網絡狀態,且從船端上傳的歷史數據量較大,往往無法一次上傳成功,因此需要借助歷史數據的斷點續傳功能管理船舶在線狀態,為運維系統提供船舶在線狀態查詢能力。數據上傳層根據運維系統訂閱請求,實時上傳在線船舶動力監測數據。從船端接收歷史數據后,上傳歷史數據到岸端運維大數據系統。歷史數據按照設備號/年/月/日目錄結構存儲,以1天或者半小時為單位切片存儲。為岸端運維大數據系統提供在線狀態查詢服務。支持HTTPS協議傳輸,保障數據安全。數據上傳時需壓縮,以減少帶寬壓力,縮短上傳時間。
岸端大數據運維服務系統旨在實現對船舶動力系統進行實時數據監測以及預測性運維服務,構建統一的實時數據資源池,其軟件架構如圖2所示。系統可提供流式數據以及結構化數據的混合處理引擎,對船舶動力系統監控數據進行標準化處理以及元數據管理;提供具備船舶動力系統特色的機器學習引擎算法,為實現切實可用的動力相關大數據應用提供數據和計算支撐。

圖2 岸端大數據運維服務系統軟件架構
岸端大數據運維服務系統軟件架構邏輯分為如下5個層次。
(1)數據源層:主要對接網絡傳輸系統的上傳層,獲取船舶動力數據;
(2)數據采集層:準確實時采集所有船舶動力數據,清洗數據,保證動力數據質量;
(3)數據管理層:保存、管理、查詢、刪改采集的船舶動力數據;
(4)數據計算層:為基于船舶動力數據運維過程中需要的健康預測、能耗分析等環節提供運算支持;
(5)數據應用層:由用戶對船舶動力的實時數據、歷史數據、健康預測、能耗分析等處理結果采用表格、曲線、報表等形式進行人機交互處理或集中大屏顯示。
岸端大數據運維服務系統提供支持全生命周期的大數據平臺,主體包括數據抽取、數據存儲與管理、數據模型與存儲和數據交換與應用。根據不同的應用場景,選擇不同的大數據基礎組件,主要分為用于流式數據存儲和路由的Kafka集群、用于時序數據快速檢索的ElasticSearch集群、用于結果數據以及OLAP分析的關系型數據庫以及用于保存文件數據、歸檔數據的Hadoop集群。
計算處理主要包含流式處理以及批處理支持。在計算框架層面,默認支持以YARN為資源調度的Spark計算平臺、Flink計算平臺以及Hive;在語言層面,主要以Python、R、Scala的在線編寫為主;調度層面,提供批處理算法的DAG調度模式以及流式處理算法的部署。系統還會對運行的所有算法過程進行監控展現。通過計算處理調度框架實現計算資源的均衡部署,實現CPU資源和存儲資源利用的最大化。
設計船舶動力智能運維服務系統的系統結構和基本功能,闡述船舶動力數據采集系統、網絡傳輸系統和岸端大數據運維服務系統的基本設計和功能。此系統支持船-云-岸多場景大數據運維服務,將其應用到實際船舶中將為企業與船舶動力系統營運發展帶來可觀的效益。