薛 磊
中圖分類號(hào):U6文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0520087-02
當(dāng)今世界航運(yùn)市場(chǎng)的競(jìng)爭(zhēng)日趨激烈,管理就成了在競(jìng)爭(zhēng)中立于不敗之地的關(guān)鍵所在。為了更加有效地保證公司質(zhì)量與安全管理體系有效運(yùn)行,不斷提高公司安全管理人員對(duì)船舶的安全監(jiān)管水平,保證船舶及人員安全,防止污染,減少和避免財(cái)產(chǎn)損失,維護(hù)公司聲譽(yù),因此,需要利用船舶信息同步技術(shù),使船舶安全管理人員能及時(shí)地監(jiān)管在航船舶及船員信息,加強(qiáng)公司管理機(jī)關(guān)對(duì)船舶的控制力度和突發(fā)事件的應(yīng)對(duì)能力,確保船舶航行的安全。
要實(shí)現(xiàn)船岸之間的信息同步,首先考慮的是分布式數(shù)據(jù)庫(kù)技術(shù)。每一艘船舶都有自己的一個(gè)數(shù)據(jù)中心,岸端有一個(gè)中心數(shù)據(jù)庫(kù)服務(wù)器。通過這一技術(shù),可以使數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)延伸到船舶,并通過互聯(lián)網(wǎng)與岸端管理機(jī)關(guān)進(jìn)行數(shù)據(jù)拷貝,從而實(shí)現(xiàn)船岸之間的信息傳遞。但是,從現(xiàn)有的技術(shù)來看,遠(yuǎn)洋船舶和陸地之間難以保持長(zhǎng)期在線連接的狀態(tài):GPRS和CDMA技術(shù)在茫茫的大洋中存在很多的盲點(diǎn),而通過衛(wèi)通保持長(zhǎng)期的連接費(fèi)用又很高。因此,從經(jīng)濟(jì)角度和可行性上考慮,船岸之間通過海事衛(wèi)星短時(shí)連接,從而達(dá)到船岸之間數(shù)據(jù)的同步,是最經(jīng)濟(jì)、最安全和最有效的方法。
系統(tǒng)整體構(gòu)架模型圖如下所示:
一、系統(tǒng)的總體思路
本方案可抽象成如下結(jié)構(gòu)的系統(tǒng)模型: 陸地與船舶兩端的系統(tǒng)通過一個(gè)抽象的網(wǎng)絡(luò)連接來實(shí)現(xiàn)數(shù)據(jù)通信與傳輸。其中應(yīng)用系統(tǒng)只負(fù)責(zé)處理數(shù)據(jù)和事務(wù)流程,中間由一個(gè)負(fù)責(zé)傳輸數(shù)據(jù)的抽象網(wǎng)絡(luò)連接來為兩端系統(tǒng)提供應(yīng)用層上的連接和數(shù)據(jù)傳輸?shù)耐ǖ?。?dāng)需要進(jìn)行數(shù)據(jù)通信時(shí),系統(tǒng)將從數(shù)據(jù)庫(kù)中查出待增量數(shù)據(jù)生成一個(gè)特殊文件。這個(gè)文件實(shí)際上就是一個(gè)應(yīng)用層的通信協(xié)議,要精煉、可擴(kuò)展、功能完備。系統(tǒng)只需要將要同步的數(shù)據(jù)交由抽象的網(wǎng)絡(luò)層處理、傳輸,并保證傳輸數(shù)據(jù)的順序性、正確性與安全性。這樣,就可以將整個(gè)系統(tǒng)中數(shù)據(jù)事務(wù)處理部分與數(shù)據(jù)傳輸同步部分分離開來,簡(jiǎn)化了系統(tǒng)的設(shè)計(jì)。
船岸之間的數(shù)據(jù)文件同步有很多解決方案,如建設(shè)專用通信網(wǎng)絡(luò),再利用數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)同步工具同步數(shù)據(jù)。但考慮遠(yuǎn)洋船舶的特殊環(huán)境,船岸間網(wǎng)絡(luò)無法保持永遠(yuǎn)在線狀態(tài),通常的網(wǎng)絡(luò)間數(shù)據(jù)文件同步方法無法達(dá)到需求。同時(shí),如果幾百條船都建設(shè)高速專用網(wǎng)絡(luò),建設(shè)成本難于承受。結(jié)合技術(shù)和經(jīng)濟(jì)的因素,通過電子郵件來同步數(shù)據(jù)就具有明顯的優(yōu)勢(shì)和不可替代性。
通郵件發(fā)送的基本思路是,當(dāng)系統(tǒng)發(fā)現(xiàn)有必要進(jìn)行船岸間數(shù)據(jù)同步時(shí),它首先會(huì)創(chuàng)建一個(gè)包含數(shù)據(jù)文件的新郵件,然后打開衛(wèi)通C站,將此電子郵件發(fā)送至地面接收站,然后通過還原程序?qū)㈦娮余]件中的同步數(shù)據(jù)復(fù)制到數(shù)據(jù)庫(kù)中。目標(biāo)數(shù)據(jù)庫(kù)處理完后,再將執(zhí)行成功的信息通過電子郵件返回源數(shù)據(jù)庫(kù)。
二、系統(tǒng)的原理
下面就設(shè)計(jì)一個(gè)穩(wěn)定可靠的系統(tǒng)來實(shí)現(xiàn)附件的生成和分解等一系列問題。此系統(tǒng)分為發(fā)送端和接收端兩個(gè)部分,發(fā)送端主要用于從底層數(shù)據(jù)庫(kù)查找出需同步的數(shù)據(jù),加密合成數(shù)據(jù)后生成數(shù)據(jù)文件,然后創(chuàng)建新郵件并法送到目的地;接收端主要用于接收發(fā)送端發(fā)送來的郵件,過濾掉無效的數(shù)據(jù)文件后解密數(shù)據(jù),然后判斷數(shù)據(jù)為增加修改還是刪除,并保存入數(shù)據(jù)庫(kù),返回給發(fā)送端一條成功信息。
但是,通過郵件發(fā)送的方式會(huì)有一定的風(fēng)險(xiǎn),如郵件丟失、垃圾郵件等。為了將風(fēng)險(xiǎn)降低,我們需要做一下的工作:
1.防止郵件丟失
在郵件系統(tǒng)中,可能會(huì)因?yàn)榫W(wǎng)絡(luò)等不確定因素造成郵件的丟失。對(duì)于一套業(yè)務(wù)系統(tǒng)來說,丟失郵件可能會(huì)造成數(shù)據(jù)的不完整或不同步,因此,很有必要讓系統(tǒng)采用郵件確認(rèn)和丟失重傳的機(jī)制。其原理是接收端收到郵件并處理后,會(huì)發(fā)送一條確認(rèn)信息給接收端;接收端如果在一段時(shí)間內(nèi)未收到確認(rèn)信息則重新發(fā)送該郵件。
2.?dāng)?shù)據(jù)加密
在郵件系統(tǒng)中,如果系統(tǒng)接收到與合法郵件格式類似或相同的非法郵件時(shí),可能會(huì)造成業(yè)務(wù)數(shù)據(jù)的災(zāi)難性問題。為了防止這種情況,系統(tǒng)會(huì)采用數(shù)據(jù)加密技術(shù),在發(fā)送端產(chǎn)生郵件時(shí)會(huì)將業(yè)務(wù)數(shù)據(jù)通過一定的加密技術(shù)加密,在接收端只處理能夠正確解密的郵件,這會(huì)在很大的程度上預(yù)防非法郵件對(duì)系統(tǒng)的干擾。
3.?dāng)?shù)據(jù)校驗(yàn)
為了防止不合法的數(shù)據(jù)格式進(jìn)入系統(tǒng),我們的系統(tǒng)也采用了一種數(shù)據(jù)校驗(yàn)方式。系統(tǒng)中存有一個(gè)含有所有業(yè)務(wù)數(shù)據(jù)校驗(yàn)規(guī)格的XML文件,根據(jù)該數(shù)據(jù)所屬業(yè)務(wù)規(guī)格,讀取XML文檔中對(duì)應(yīng)規(guī)格的校驗(yàn)方式對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)。當(dāng)在發(fā)送端校驗(yàn)不合法時(shí)在信息窗口顯示給用戶不合法消息,讓用戶修改;當(dāng)在接受端校驗(yàn)到不合法信息時(shí),系統(tǒng)將校驗(yàn)不合法的消息通過郵件發(fā)送給接收端。
4.保證數(shù)據(jù)的時(shí)序性
因?yàn)殡娮余]件很可能會(huì)因?yàn)槟承┮蛩卦斐善鋾r(shí)序性的混亂,而業(yè)務(wù)數(shù)據(jù)則需要有一個(gè)正確的順序才能保證數(shù)據(jù)的完整性和正確性,所以,我們必須要保證電子郵件的時(shí)序性。解決這一問題的關(guān)鍵在于給每一封郵件都產(chǎn)生一個(gè)唯一的ID,其格式為“發(fā)送端代碼+該郵件在該發(fā)送端的流水號(hào)”,當(dāng)接收端收到郵件后,會(huì)判斷當(dāng)前流水號(hào)在本地是否是一個(gè)順序的,如果不是,則將此郵件暫時(shí)保存,待其前面的郵件收到后再處理該郵件。
三、系統(tǒng)的初步實(shí)現(xiàn)
上面闡述了系統(tǒng)實(shí)現(xiàn)的原理,下面,我們就將初步實(shí)現(xiàn)該系統(tǒng)。該系統(tǒng)分為發(fā)送端和接收端兩個(gè)部分,并通過海事衛(wèi)星作為通路,達(dá)到發(fā)送郵件的目的。
下面是該船岸同步系統(tǒng)的原理構(gòu)架圖:
1.發(fā)送端:
(1)數(shù)據(jù)掃描器(DSU):掃描數(shù)據(jù)庫(kù)中數(shù)據(jù)的變化情況,找出系統(tǒng)中增加、修改或者刪除的數(shù)據(jù),將這些數(shù)據(jù)校驗(yàn),校驗(yàn)合格的數(shù)據(jù)傳送給數(shù)據(jù)合成器,不合格的數(shù)據(jù)提示用戶修改。
(2)數(shù)據(jù)合成器(DCU):將從數(shù)據(jù)掃描器中傳遞來的數(shù)據(jù)進(jìn)行加密合成處理,組成符合系統(tǒng)規(guī)則的加密字符串?dāng)?shù)組。
(3)附件生成器(ABU):生成一個(gè)特殊格式的文件,并將數(shù)據(jù)合成器所生成的合成數(shù)據(jù)寫入此文件中。
(4)郵件發(fā)送節(jié)點(diǎn)(MSN):創(chuàng)建一個(gè)包含由附件生成器生成文件的新郵件,此郵件的主題命名方式為:發(fā)送端編號(hào)+發(fā)送端郵件流水號(hào),最后,由郵件發(fā)送節(jié)點(diǎn)將此郵件發(fā)送到接收端。
2.接收端:
(1)郵件接收節(jié)點(diǎn)(MRN):接收郵件,過濾掉主題不符合系統(tǒng)命名規(guī)范的垃圾郵件,并將附件交予附件過濾器。對(duì)于不合法的郵件,通過信息反饋器,發(fā)送一條錯(cuò)誤信息給發(fā)送端。解析郵件主題中所含的發(fā)送端流水號(hào),判斷該流水號(hào)是否符合所收發(fā)送端的流水號(hào)順序,如果不符合,則保存此郵件,等待流水號(hào)符合順序后再處理;如果已處理過一次該主題郵件,則不再處理。
(2)附件過濾器(AFU):挑選出符合系統(tǒng)命名規(guī)范的附件,從這些合法的附件中讀取出原始數(shù)據(jù),并將附件中的數(shù)據(jù)提供給數(shù)據(jù)分解器。對(duì)于不合法的附件,通過信息反饋器,發(fā)送一條錯(cuò)誤信息給發(fā)送端。
(3)數(shù)據(jù)分解器(DDU):分解附件過濾器所提供的原始數(shù)據(jù),解密數(shù)據(jù)后,生成數(shù)據(jù)模型傳送到數(shù)據(jù)存儲(chǔ)器。如果原始數(shù)據(jù)不能生成正確的數(shù)據(jù)模型時(shí),通過信息反饋器,發(fā)送一條錯(cuò)誤信息給發(fā)送段。
(4)數(shù)據(jù)存儲(chǔ)器(DPU):通過數(shù)據(jù)校驗(yàn)后,判斷數(shù)據(jù)的增加、修改或刪除操作,并執(zhí)行底層數(shù)據(jù)庫(kù)存儲(chǔ)。最后,通過信息反饋器給發(fā)送段傳遞一條成功消息。
(5)信息反饋器(IRU):創(chuàng)建一個(gè)新郵件,用于給發(fā)送端反饋成功或失敗的信息。
通過上述構(gòu)架模式創(chuàng)建的同步系統(tǒng),不但可以實(shí)現(xiàn)船岸同步時(shí)數(shù)據(jù)文件的生成和分解,而且可以保證在信息出現(xiàn)錯(cuò)誤時(shí),及時(shí)得到接收端的反饋信息,有效的保障了系統(tǒng)的安全性。