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