亓惠琳
(山東科技大學 海洋科學與工程學院,山東 青島 266590)
船舶作為一個龐大的獨立系統(tǒng),需要采集、管理大量的數據,如果僅僅依靠人工,是無法完成的。隨著互聯網技術的高速發(fā)展,船舶的智能化、自動化信息管理已經成為目前的趨勢,快速、高效的信息處理不僅可以減少船舶的運行成本,還可以有效解除安全隱患,是船舶安全航行的重要基礎。
在船舶信息管理方面,諸多學者進行了大量的研究工作。尹安[1]設計了一種船舶智能備品備件信息管理系統(tǒng),通過設計編碼規(guī)則,實現了備品備件數量變化感知和數據自動記錄。姚路等[2]開發(fā)了基于信息矩陣的船舶等級維修項目信息管理系統(tǒng),通過著色和降維處理,實現信息的控制與管理??道蚶騕3]設計了基于物聯網的船舶信息管理系統(tǒng),通過優(yōu)化大功率網絡的服務器運行路徑,提高了信息管理系統(tǒng)的運行速度。
本文基于Web 技術,設計了一種船舶綜合信息管理系統(tǒng),對該系統(tǒng)的功能組成、關鍵性技術和相關性能進行闡述。
在Web 提供信息服務前,相關信息是以文件的形式存放在Web 服務器的某個文件夾下。Web 頁面實際上是由超文本標記語言(Hyper Text Markup Language,HTML)組成的文本文件,并不是一種編輯語言,而是對網頁信息進行標注處理的一種標記語言。
HTML 使用標記標簽來描述網頁,聲明為H T M L 5 文檔,
而層疊樣式表(Cascading Style Sheets,CSS)則是描述HTML 文檔樣式的語言,外部樣式表存儲在CSS 文件中,引用CSS 文件,就可以設置HTML 文件中字體、排版、背景、顏色布局等,使頁面更加美觀、布局更加合理。同一個CSS 文件可以被多個HTML 文件引用,如果多個文件中某一個內容被設置為同一種屬性,可以將屬性內容編寫在公共的CSS 文件中,這樣可以有效減少源代碼,提高了瀏覽器的解析速度。
基本的頁面布局通過HTML 和CSS 技術可以實現,隨著互聯網技術的發(fā)展,頁面有時需要展示三維模型,傳統(tǒng)的X3D 和Java3D 兼容性較差,需要配合其他組件才能運行。OpenGL 和瀏覽器自帶標準且兼容性較好,無需其他組件即可運行,通過編寫JavaScript 腳本實現對OpenGL 的調用,實現三維展示。
本文的開發(fā)平臺為Java EE(Java ENTERPRISE EDITION),是純粹基于Java 的解決方案。Java 是目前比較流行的一種面向對象的語言,不僅融合了C++的優(yōu)點,而且由于是在JVM 中運行的,不是在操作系統(tǒng)上,因此具有了良好的跨平臺移植性[4]。
Spring 是一個開源應用框架,具有優(yōu)秀的體系結構,其應用了分層的概念,主要由幾個具有不同功能的模塊組成。而SpringMVC 屬于Spring 的體系,是一個開源的Web 后臺框架,主要為Web 的應用提供基礎架構,架構如圖1 所示。
圖1 SpringMVC 架構圖Fig. 1 SpringMVC architecture diagram
數據挖掘是從大量數據中挖掘未知的、有價值的信息或規(guī)律。Web 數據挖掘技術能夠實現目標數據的高效、精準搜集,已被廣泛應用于不同領域。
Web 數據庫為挖掘技術提供基礎數據的存儲、分類、查詢等功能,主要分為用于數據存儲的服務器、用于數據調用的中間模塊、Web 服務器和瀏覽器4 個部分[5]。
基于Web 數據庫的數據挖掘技術的主要步驟為:數據清理、數據集成、數據選擇、數據變換、數據挖掘、模式評估和知識表示。常用的算法有神經網絡法、遺傳算法、決策樹法、關聯規(guī)則法等。
考慮到船舶的結構和特點,基于Web 技術的船舶綜合信息管理系統(tǒng)的功能模塊如圖2 所示。
圖2 船舶綜合信息管理系統(tǒng)功能模塊Fig. 2 Ship integrated information management system function module
整個船舶信息管理系統(tǒng)中,比較重要的是船舶狀態(tài)管理,要對船舶的航行狀態(tài)、導航信息以及船舶其他工作設備進行實時監(jiān)測,比如船舶動力系統(tǒng)、配電電站、結構應力、振動噪聲等狀態(tài)信息。
海務管理主要是對水文氣象信息、航線安全以及突發(fā)應急事件等方面的監(jiān)控[6-7]。
人事管理主要是工作人員信息的采集、整理,以及日常人事調動、崗位分配、人員培訓的相關信息。醫(yī)療管理是對工作人員身體健康情況的監(jiān)測,以保證工作人員能夠安全進行工作。
權限管理主要用于一些日常事務的流程審批,消息管理則是對內部一些通知、設備報警信息等的處理。
防污管理主要是保證船舶在航行過程中盡量避免對海洋生態(tài)系統(tǒng)產生影響,比如油污泄漏。
船務管理相對于其他模塊,處理信息較多,比如船載貨品的入庫、出庫等。
根據上述描述的系統(tǒng)功能模塊,綜合信息管理系統(tǒng)要滿足如下要求:1)管理功能要全面,盡可能覆蓋船舶管理中必須的所有數據;2)由于船舶運行和日常管理中,需要調用并生成的數據量非常龐大,因此信息管理系統(tǒng)的存儲量要足夠大且保存穩(wěn)定,不能出現信息丟失、錯誤等情況;3)盡可能實現全面線上辦公,減小工作人員的工作量以及維護、運營成本;4)系統(tǒng)的操作應盡量簡單,不能過于繁瑣。
目前常見的系統(tǒng)架構主要分為C/S(Client/Server)模式和B/S(Browser/Server)模式。
C/S 模式下,用戶需要下載一個客戶端,大部分的應用都在客戶端進行,后端是服務器,負責后臺數據的查詢、管理、計算等。這種模式下,服務器端的工作量較少,客戶端的任務比較繁重,由于用戶群體比較固定,維護成本相對較高,系統(tǒng)升級一次,所有客戶端的程序都需要改變。
B/S 則是一種3 層架構的模式,第一層表現層,完成用戶和后臺的交互以及查詢結果的輸出;第二層邏輯層,利用服務器完成客戶端的應用邏輯功能;第三層數據層,接收客戶端請求后獨立進行各種運算。
相較于C/S 模式,B/S 模式中,用戶可以實現跨平臺使用系統(tǒng),只需在客戶端安裝瀏覽器,同時無需升級多個客戶端,升級服務器即可,免去了維護工作,大大降低了系統(tǒng)運行和維護成本。因此,本文采用B/S 模式,圖3 為綜合信息管理系統(tǒng)架構。
圖3 船舶綜合信息管理系統(tǒng)應用體系架構Fig. 3 Application architecture of ship integrated information management system
最底層是物理層,這一層是整個系統(tǒng)功能實現的基礎,主要包括服務器、網絡設備和船舶航行相關的一些感知設備。數據層覆蓋了綜合信息管理系統(tǒng)中所有的數據,包括各系統(tǒng)狀態(tài)監(jiān)測數據、環(huán)境、人員、設備等相關信息。服務層是指用戶在客戶端可以進行的操作。業(yè)務應用層是用戶在瀏覽器中可以瀏覽到的信息。
2.3.1 開發(fā)環(huán)境
本文設計的船舶綜合信息管理系統(tǒng)開發(fā)平臺為Java EE,數據庫為MySQL 數據庫,Eclipse 為開發(fā)環(huán)境。Java EE 平臺具有通用的開發(fā)模式,運行環(huán)境可靠,用戶可以在此基礎上開發(fā)多層次、穩(wěn)定可靠、安全的應用。而MySQL 數據庫由于性價比較高,是目前比較流行的數據庫類型。
2.3.2 基本管理功能
用戶在信息管理系統(tǒng)首頁點擊登錄,輸入用戶名和密碼即可跳轉到主頁面,如果用戶名或者密碼輸入錯誤,則需要重新輸入。在代碼方面,主要是通過AuthController 類中的login 方法對用戶進行校驗。
管理人員在進入系統(tǒng)后,可以對工作人員信息進行查詢、修改等操作。如有新進人員,管理員可以在系統(tǒng)中添加其相關信息。進入信息添加頁面后,輸入工作人員的詳細信息,提交至系統(tǒng)后臺,工作人員的相關信息會被校驗,如果信息正確,添加成功,否則需要重新輸入。
同樣地,對船舶中的設備也有相同的功能設置,工作人員可以通過瀏覽器查詢設備的運行狀態(tài)(尤其是動力系統(tǒng)、電力系統(tǒng)及導航系統(tǒng)等相關信息)、工作時的參數、運行時長等詳細信息,同時,也可以對設備相關信息進行添加、刪除并同時生成相應的工作日志,便于后期進行查詢。
整個系統(tǒng)頁面分為兩個部分,左側為菜單欄,用戶點擊每一項均可查詢或修改相關信息,相關內容則顯示在頁面右側部分。
2.3.3 基于關聯法則的數據挖掘
在船舶的航行過程中,數據量非常龐大,用戶在客戶端進行搜索時,希望得到和搜索目標相近的數據,比如搜索某個設備,不僅能得到該設備的基礎信息(生產廠商、性能參數等),還可以顯示出設備近期的運行數據、維護記錄、使用人員等信息。這就需要用到前文提到的數據挖掘技術。
本文采用了關聯算法Apriori-MOD,此算法是對Apriori 算法的改進,在原有基礎上引入了重點項集KI,相關定義如下。
重點項集KI={{A,B} ,{A,C}}則是指要重點關注A和B、A和C同時出現的項集。
關聯規(guī)則,A和B都是屬于項集的集合,并且A∩B=?。
支持度S upport指數據集中該項集的數據所占總數據集的比例,。
置信度Confidence的計算公式為Confidence(A->,代表A和B同時出現的概率占A出現概率的比值。
引入的重點項集KI是為了滿足船舶綜合信息管理中的關聯性分析,并不會影響原來的算法原理,同時還提高了對關聯項的搜索速度。
在完成系統(tǒng)的設計和開發(fā)后,對系統(tǒng)的性能進行了相關測試。圖4 為系統(tǒng)運行時間和響應時間以及系統(tǒng)運行時間和系統(tǒng)采集的信息精度之間的曲線圖。
可以看出,隨著系統(tǒng)運行時間的增加,響應時間隨著增大,而系統(tǒng)采集信息的精度隨之降低,但下降的精度變得平緩,保持在70%以上。
本文基于Web 技術,設計開發(fā)了一種船舶綜合信息管理系統(tǒng),系統(tǒng)采用了B/S 架構方式,可以實現對船舶運行狀態(tài)、人員和設備、船務、網絡等方面的管理。用戶可以直接在瀏覽器上實現信息管理,操作簡單,運行和維護成本較低,基本上滿足了預期的功能需求,后續(xù)可以在信息管理的智能化和自動化方面進行深入研究。