文/于楊
移動數(shù)據(jù)庫的數(shù)據(jù)同步技術(shù)
文/于楊
數(shù)據(jù)同步技術(shù)是移動數(shù)據(jù)庫系統(tǒng)的重點和難點,由于傳統(tǒng)數(shù)據(jù)庫往往受到多種因素的制約,不再適用當今的移動計算,但現(xiàn)有數(shù)據(jù)庫數(shù)據(jù)同步技術(shù)仍未達到更快捷有效的解決。本文介紹了移動數(shù)據(jù)庫發(fā)展現(xiàn)狀和其面對的困難和挑戰(zhàn),對如何能夠有效地解決移動數(shù)據(jù)庫的數(shù)據(jù)同步問題做出分析研究。
移動數(shù)據(jù)庫 數(shù)據(jù)同步技術(shù) 移動終端
隨著近些年通訊技術(shù)和電子設(shè)備的廣泛使用,以及考慮到傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)比較有限制性,所以已經(jīng)很難滿足大部分用戶的需求。為滿足用戶的需要,移動數(shù)據(jù)庫管理系統(tǒng)便應(yīng)運而生,它不但能夠?qū)σ苿佑脩舯镜氐臄?shù)據(jù)進行整理,而且還可以和中心數(shù)據(jù)庫進行對接,從而再對各個終端用戶的移動設(shè)備中存儲的數(shù)據(jù)進行管理。這個系統(tǒng)不僅兼具傳統(tǒng)數(shù)據(jù)庫的優(yōu)點,而且還可以解決用戶移動終端的移動性、網(wǎng)絡(luò)間斷性等問題,可以說,移動數(shù)據(jù)庫管理系統(tǒng)是目前來說最為快捷有效的數(shù)據(jù)庫技術(shù),它能夠滿足不同行業(yè)和用戶在任何環(huán)境下對信息的管理要求,可以很好地保證信息的可靠性、安全性以及實效性。這一技術(shù)的應(yīng)用也可以在一定方面緩解人力和物力的分配問題,較大的程度上節(jié)省用戶寶貴的時間,為行業(yè)、企業(yè)的運營創(chuàng)造收益。
由于近些年移動設(shè)備的廣泛應(yīng)用,當用戶需要斷開網(wǎng)絡(luò)連接或者移動處理事務(wù)時,傳統(tǒng)數(shù)據(jù)庫很難對移動設(shè)備的數(shù)據(jù)進行管理,對于移動設(shè)備的移動事務(wù)也很難處理。為此,很多相關(guān)公司對解決移動數(shù)據(jù)庫做出了方案,大部分公司在移動數(shù)據(jù)庫設(shè)計上采用基于Agent三層結(jié)構(gòu),這種結(jié)構(gòu)的主要優(yōu)點是可以解決移動設(shè)備與中心數(shù)據(jù)庫的網(wǎng)絡(luò)連接問題。
當用戶在沒有網(wǎng)絡(luò)連接的情況下對移動設(shè)備上的數(shù)據(jù)進行操作時,此時被操作的數(shù)據(jù)就會和中心數(shù)據(jù)庫的數(shù)據(jù)有暫時的不一致。數(shù)據(jù)同步技術(shù)就可以解決這一問題,通過這種技術(shù)處理后的數(shù)據(jù)可以與中心數(shù)據(jù)保持一致性,從而完成數(shù)據(jù)的一次更新。數(shù)據(jù)同步問題是解決數(shù)據(jù)一致性的重要部分,如果能夠有效解決數(shù)據(jù)同步問題,那么解決數(shù)據(jù)一致性問題就會變得簡而易行。在眾多技術(shù)中,相對而言使用SQL Server數(shù)據(jù)復(fù)制技術(shù)是能夠較好的解決數(shù)據(jù)同步更新的目的。這種復(fù)制技術(shù)也是服務(wù)器與移動終端之間的同步主要采用的方式,但是這種技術(shù)的最大缺點是對于移動終端和網(wǎng)絡(luò)連接問題的要求比較高,一旦移動用戶終端設(shè)備與斷開了網(wǎng)絡(luò)連接,這種技術(shù)就不在起作用了,不僅消耗人力物力,還浪費時間。為了解決這種問題的發(fā)生,經(jīng)過使用SQL Server數(shù)據(jù)復(fù)制技術(shù)后,還需要提出新的能夠適應(yīng)環(huán)境變化的同步方案,通過上述技術(shù)與新方案的聯(lián)合使用,從而完善數(shù)據(jù)同步問題。基于傳輸XML文件同步方案的作用原理是移動用戶在移動設(shè)備上創(chuàng)建XML文件,創(chuàng)建好文件后向中心數(shù)據(jù)庫發(fā)出信號,請求傳輸文件,當文件和中心數(shù)據(jù)庫相互交換數(shù)據(jù)后,服務(wù)器對接收到的文件數(shù)據(jù)做出解析,從而對自身數(shù)據(jù)庫的數(shù)據(jù)進行更新,以達到數(shù)據(jù)同步的目的。因此,把基于傳輸XML文件同步方案與 SQL Server數(shù)據(jù)復(fù)制技術(shù)聯(lián)合起來使用效果更加顯著,對于網(wǎng)絡(luò)環(huán)境多樣性的特點下仍然可以保證移動用戶方便操作移動終端設(shè)備,并保證數(shù)據(jù)的同步。
數(shù)據(jù)同步具有的優(yōu)點有:當移動設(shè)備不處于網(wǎng)絡(luò)環(huán)境中時,其操作后的數(shù)據(jù)可以保存到移動終端設(shè)備的本地存儲中,且可以保證數(shù)據(jù)的安全性。在操作數(shù)據(jù)時,本地數(shù)據(jù)的響應(yīng)速度快;整個系統(tǒng)的運行不會因為一個小站點崩潰而崩潰;可以保證系統(tǒng)可以完整的更新到操作后的數(shù)據(jù),保證整個服務(wù)系統(tǒng)的整體性。
三層復(fù)制結(jié)構(gòu)是移動終端緩存的其中一級復(fù)制,這種復(fù)制主要能夠克服移動終端設(shè)備與網(wǎng)絡(luò)斷接時發(fā)生的問題,將操作數(shù)據(jù)保存到設(shè)備本地存儲中,一旦設(shè)備與服務(wù)器連接時,中心數(shù)據(jù)庫就可以和本地存儲中的數(shù)據(jù)進行對接和交互,將數(shù)據(jù)更新到中心數(shù)據(jù)庫中,中心數(shù)據(jù)庫再把更新好的數(shù)據(jù)反饋到移動終端設(shè)備上,這樣就實現(xiàn)了數(shù)據(jù)同步。如果移動終端不在良好的網(wǎng)絡(luò)環(huán)境內(nèi)時,仍然可以在移動設(shè)備上進行操作,被更改的數(shù)據(jù)被記錄到本地存儲中,并對注意操作進行標記,等待網(wǎng)絡(luò)連接,當網(wǎng)絡(luò)連接時,本地存儲想服務(wù)器發(fā)出信號,服務(wù)器在和移動終端設(shè)備的存儲進行數(shù)據(jù)的交互。這種方法充分利用了本地存儲這一優(yōu)勢,且操作效率高,操作起來較為方便。
同步服務(wù)器是三層復(fù)制結(jié)構(gòu)的第二層,主要是連接移動用戶終端設(shè)備和中心數(shù)據(jù)庫的服務(wù)器系統(tǒng)。由于其需要在同一時間內(nèi)要對多個用戶的移動用戶的數(shù)據(jù)同步請求做出相應(yīng)處理,所以對于同步服務(wù)器的效率會有較高的要求。在數(shù)據(jù)同步的過程中,多結(jié)點的數(shù)據(jù)同時進行數(shù)據(jù)更新容易出現(xiàn)數(shù)據(jù)延后現(xiàn)象,這一現(xiàn)象的直接后果是數(shù)據(jù)不一致。再同步的過程中不光會出現(xiàn)上述的問題,還會發(fā)生同樣的數(shù)據(jù)在添加時出現(xiàn)了兩個一樣的數(shù)據(jù)內(nèi)容;一樣的信息在不同的站點發(fā)生不同的操作,有的站點對這一信息的操作是更新,有的操作是刪除,這樣就導(dǎo)致了數(shù)據(jù)刪除沖突,還有一種情況是同一信息數(shù)據(jù)在不同的站點復(fù)制出不同的信息內(nèi)容,為了解決上述這些同步過程中容易出現(xiàn)的問題,需要就需要進行沖突檢測,處理多結(jié)點信息同步的問題。
同步服務(wù)器的數(shù)據(jù)處理模塊可完成多結(jié)點信息同步處理工作,其沖突規(guī)則定義有三點:
(1)主數(shù)據(jù)庫優(yōu)先規(guī)則;
(2)移動數(shù)據(jù)庫優(yōu)先規(guī)則。
隨著現(xiàn)代技術(shù)的發(fā)展,移動計算和移動數(shù)據(jù)庫的研究成為現(xiàn)在的主流和熱點,本文主要針對移動數(shù)據(jù)庫的數(shù)據(jù)同步技術(shù)展開討論,并分析其技術(shù)特點。能夠?qū)崿F(xiàn)移動終端設(shè)備在無網(wǎng)絡(luò)連接的情況下對數(shù)據(jù)進行正常操作,并在恢復(fù)網(wǎng)絡(luò)時及時同步數(shù)據(jù),這一步的實現(xiàn)將會使移動數(shù)據(jù)庫的數(shù)據(jù)同步技術(shù)上升到一個新的臺階。
[1]楊志和,胡虛懷.移動環(huán)境下的數(shù)據(jù)同步模型研究[J].計算機工程與應(yīng)用,2007(13).
[2]索紅光,王雷全.智能客戶端系統(tǒng)中數(shù)據(jù)同步策略的研究與實現(xiàn)[J].計算機工程與設(shè)計,2007(02).
[3]李國徽,王洪亞,劉云生.移動實時數(shù)據(jù)庫系統(tǒng)中的更新分發(fā)[J].計算機研究與發(fā)展,2005(11).
[4]吳飛,王昕.嵌入式移動數(shù)據(jù)庫SQL Server for Windows CE的應(yīng)用研究[J].微計算機信息,2006(17).
[5]鐘世明,邵銳,張勝,朱才連.基于位置服務(wù)系統(tǒng)中XML數(shù)據(jù)流壓縮方法[J].武漢理工大學(xué)學(xué)報(交通科學(xué)與工程版),2006(01).
作者單位 長安大學(xué)信息工程學(xué)院 陜西省西安市710024