薛 磊
中圖分類號:U6文獻標識碼:A文章編號:1671-7597(2009)0520087-02
當今世界航運市場的競爭日趨激烈,管理就成了在競爭中立于不敗之地的關鍵所在。為了更加有效地保證公司質量與安全管理體系有效運行,不斷提高公司安全管理人員對船舶的安全監管水平,保證船舶及人員安全,防止污染,減少和避免財產損失,維護公司聲譽,因此,需要利用船舶信息同步技術,使船舶安全管理人員能及時地監管在航船舶及船員信息,加強公司管理機關對船舶的控制力度和突發事件的應對能力,確保船舶航行的安全。
要實現船岸之間的信息同步,首先考慮的是分布式數據庫技術。每一艘船舶都有自己的一個數據中心,岸端有一個中心數據庫服務器。通過這一技術,可以使數據庫應用系統延伸到船舶,并通過互聯網與岸端管理機關進行數據拷貝,從而實現船岸之間的信息傳遞。但是,從現有的技術來看,遠洋船舶和陸地之間難以保持長期在線連接的狀態:GPRS和CDMA技術在茫茫的大洋中存在很多的盲點,而通過衛通保持長期的連接費用又很高。因此,從經濟角度和可行性上考慮,船岸之間通過海事衛星短時連接,從而達到船岸之間數據的同步,是最經濟、最安全和最有效的方法。
系統整體構架模型圖如下所示:

一、系統的總體思路
本方案可抽象成如下結構的系統模型: 陸地與船舶兩端的系統通過一個抽象的網絡連接來實現數據通信與傳輸。其中應用系統只負責處理數據和事務流程,中間由一個負責傳輸數據的抽象網絡連接來為兩端系統提供應用層上的連接和數據傳輸的通道。當需要進行數據通信時,系統將從數據庫中查出待增量數據生成一個特殊文件。這個文件實際上就是一個應用層的通信協議,要精煉、可擴展、功能完備。系統只需要將要同步的數據交由抽象的網絡層處理、傳輸,并保證傳輸數據的順序性、正確性與安全性。這樣,就可以將整個系統中數據事務處理部分與數據傳輸同步部分分離開來,簡化了系統的設計。
船岸之間的數據文件同步有很多解決方案,如建設專用通信網絡,再利用數據庫管理系統數據同步工具同步數據。但考慮遠洋船舶的特殊環境,船岸間網絡無法保持永遠在線狀態,通常的網絡間數據文件同步方法無法達到需求。同時,如果幾百條船都建設高速專用網絡,建設成本難于承受。結合技術和經濟的因素,通過電子郵件來同步數據就具有明顯的優勢和不可替代性。
通郵件發送的基本思路是,當系統發現有必要進行船岸間數據同步時,它首先會創建一個包含數據文件的新郵件,然后打開衛通C站,將此電子郵件發送至地面接收站,然后通過還原程序將電子郵件中的同步數據復制到數據庫中。目標數據庫處理完后,再將執行成功的信息通過電子郵件返回源數據庫。
二、系統的原理
下面就設計一個穩定可靠的系統來實現附件的生成和分解等一系列問題。此系統分為發送端和接收端兩個部分,發送端主要用于從底層數據庫查找出需同步的數據,加密合成數據后生成數據文件,然后創建新郵件并法送到目的地;接收端主要用于接收發送端發送來的郵件,過濾掉無效的數據文件后解密數據,然后判斷數據為增加修改還是刪除,并保存入數據庫,返回給發送端一條成功信息。
但是,通過郵件發送的方式會有一定的風險,如郵件丟失、垃圾郵件等。為了將風險降低,我們需要做一下的工作:
1.防止郵件丟失
在郵件系統中,可能會因為網絡等不確定因素造成郵件的丟失。對于一套業務系統來說,丟失郵件可能會造成數據的不完整或不同步,因此,很有必要讓系統采用郵件確認和丟失重傳的機制。其原理是接收端收到郵件并處理后,會發送一條確認信息給接收端;接收端如果在一段時間內未收到確認信息則重新發送該郵件。
2.數據加密
在郵件系統中,如果系統接收到與合法郵件格式類似或相同的非法郵件時,可能會造成業務數據的災難性問題。為了防止這種情況,系統會采用數據加密技術,在發送端產生郵件時會將業務數據通過一定的加密技術加密,在接收端只處理能夠正確解密的郵件,這會在很大的程度上預防非法郵件對系統的干擾。
3.數據校驗
為了防止不合法的數據格式進入系統,我們的系統也采用了一種數據校驗方式。系統中存有一個含有所有業務數據校驗規格的XML文件,根據該數據所屬業務規格,讀取XML文檔中對應規格的校驗方式對數據進行校驗。當在發送端校驗不合法時在信息窗口顯示給用戶不合法消息,讓用戶修改;當在接受端校驗到不合法信息時,系統將校驗不合法的消息通過郵件發送給接收端。
4.保證數據的時序性
因為電子郵件很可能會因為某些因素造成其時序性的混亂,而業務數據則需要有一個正確的順序才能保證數據的完整性和正確性,所以,我們必須要保證電子郵件的時序性。解決這一問題的關鍵在于給每一封郵件都產生一個唯一的ID,其格式為“發送端代碼+該郵件在該發送端的流水號”,當接收端收到郵件后,會判斷當前流水號在本地是否是一個順序的,如果不是,則將此郵件暫時保存,待其前面的郵件收到后再處理該郵件。
三、系統的初步實現
上面闡述了系統實現的原理,下面,我們就將初步實現該系統。該系統分為發送端和接收端兩個部分,并通過海事衛星作為通路,達到發送郵件的目的。
下面是該船岸同步系統的原理構架圖:

1.發送端:
(1)數據掃描器(DSU):掃描數據庫中數據的變化情況,找出系統中增加、修改或者刪除的數據,將這些數據校驗,校驗合格的數據傳送給數據合成器,不合格的數據提示用戶修改。
(2)數據合成器(DCU):將從數據掃描器中傳遞來的數據進行加密合成處理,組成符合系統規則的加密字符串數組。
(3)附件生成器(ABU):生成一個特殊格式的文件,并將數據合成器所生成的合成數據寫入此文件中。
(4)郵件發送節點(MSN):創建一個包含由附件生成器生成文件的新郵件,此郵件的主題命名方式為:發送端編號+發送端郵件流水號,最后,由郵件發送節點將此郵件發送到接收端。
2.接收端:
(1)郵件接收節點(MRN):接收郵件,過濾掉主題不符合系統命名規范的垃圾郵件,并將附件交予附件過濾器。對于不合法的郵件,通過信息反饋器,發送一條錯誤信息給發送端。解析郵件主題中所含的發送端流水號,判斷該流水號是否符合所收發送端的流水號順序,如果不符合,則保存此郵件,等待流水號符合順序后再處理;如果已處理過一次該主題郵件,則不再處理。
(2)附件過濾器(AFU):挑選出符合系統命名規范的附件,從這些合法的附件中讀取出原始數據,并將附件中的數據提供給數據分解器。對于不合法的附件,通過信息反饋器,發送一條錯誤信息給發送端。
(3)數據分解器(DDU):分解附件過濾器所提供的原始數據,解密數據后,生成數據模型傳送到數據存儲器。如果原始數據不能生成正確的數據模型時,通過信息反饋器,發送一條錯誤信息給發送段。
(4)數據存儲器(DPU):通過數據校驗后,判斷數據的增加、修改或刪除操作,并執行底層數據庫存儲。最后,通過信息反饋器給發送段傳遞一條成功消息。
(5)信息反饋器(IRU):創建一個新郵件,用于給發送端反饋成功或失敗的信息。
通過上述構架模式創建的同步系統,不但可以實現船岸同步時數據文件的生成和分解,而且可以保證在信息出現錯誤時,及時得到接收端的反饋信息,有效的保障了系統的安全性。