下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于syncML的移動(dòng)數(shù)據(jù)庫(kù)雙向事務(wù)級(jí)同步 基于syncML的移動(dòng)數(shù)據(jù)庫(kù)雙向事務(wù)級(jí)同步龔春紅(湖南大學(xué)軟件學(xué)院湖南財(cái)經(jīng)高等??茖W(xué)校410205)摘要:同步復(fù)制技術(shù)可以保證移動(dòng)數(shù)據(jù)庫(kù)的一致性,是移動(dòng)數(shù)據(jù)庫(kù)的關(guān)鍵技術(shù)之一。本文針對(duì)移動(dòng)數(shù)據(jù)庫(kù)的斷接性、資源有限性等特點(diǎn),分析同步復(fù)制技術(shù)現(xiàn)狀,將開放的syncML協(xié)議同步協(xié)議引入數(shù)據(jù)庫(kù),在分析syncML同步協(xié)議組成和特點(diǎn)基礎(chǔ)上,研究適用于移動(dòng)數(shù)據(jù)庫(kù)的雙向事務(wù)級(jí)同步過程,克服目前移動(dòng)數(shù)據(jù)系統(tǒng)同步處理算法中所存在的缺陷,有效保證移動(dòng)數(shù)據(jù)庫(kù)一致性,提高移動(dòng)數(shù)據(jù)庫(kù)的通用性和適應(yīng)性;同時(shí)實(shí)現(xiàn)不同結(jié)構(gòu)數(shù)據(jù)庫(kù)間的數(shù)據(jù)同
2、步,增強(qiáng)系統(tǒng)可擴(kuò)充性。關(guān)鍵字:syncML,同步過程,同步引擎,雙向同步中圖分類號(hào):TP392;文獻(xiàn)標(biāo)識(shí)碼ATWO-WAYTRANSACTIONSYNCOFMOBILEDATABASEONSYNCMLPROTOCOLGongChunhong(SoftwareSchoolofHunanUniversity,ChangSha410082,China)Abstract:Synchronalreplicatetechnologycanensuretheconsistencyofmobiledatabase.Thispaperistoanalyzethecurrentsituationofsynchro
3、nalreplicatetechnology,andstudythetwo-waysyncapplyingtothedisplacementmobiledatabase,tomaintaintheconsistencyofmobiledatabaseandimproveavailabilityandadaptabilityofmobiledatabase.Atthesametime,itwillrealizethedatasynchronismofdifferentdatabasestructures,tostrengthensystemextensibility.Keywords:syncM
4、L,synchronizationprocessing,SyncEngine,Two-waysync1前言在移動(dòng)數(shù)據(jù)庫(kù)中,由于移動(dòng)計(jì)算的斷接性和資源有限性等特點(diǎn),移動(dòng)設(shè)備可以離線操作數(shù)據(jù)庫(kù)副本,會(huì)導(dǎo)致客戶端與服務(wù)器數(shù)據(jù)庫(kù)中數(shù)據(jù)暫時(shí)不一致。須利用同步過程來消除暫時(shí)的數(shù)據(jù)不一致。目前針對(duì)移動(dòng)數(shù)據(jù)庫(kù)同步技術(shù)主要有兩大類型:以元組為同步處理的基本單位的數(shù)據(jù)級(jí)同步和以事務(wù)為同步處理的基本單位的事務(wù)級(jí)同步。其中事務(wù)級(jí)同步也做了大量研究,提出了很多算法,如兩級(jí)復(fù)制、多版本沖突消解技術(shù)等。但目前事務(wù)級(jí)同步還存在一些問題,如要人工地根據(jù)系統(tǒng)特點(diǎn)定制沖突處理函數(shù),而影響系統(tǒng)的通用性和適應(yīng)性;為保持完整的移動(dòng)事務(wù)日
5、志,且在同步過程中需要傳遞大量數(shù)據(jù),在實(shí)際應(yīng)用中受到了移動(dòng)計(jì)算環(huán)境諸多因素(如連接的頻繁斷接性和移動(dòng)主機(jī)的有限資源)的限制;系統(tǒng)可擴(kuò)充性差,移動(dòng)數(shù)據(jù)系統(tǒng)不能方便容納 主流數(shù)據(jù)庫(kù)產(chǎn)品。目前作為一個(gè)基于XML的唯一開放的移動(dòng)同步協(xié)議syncML的發(fā)布,為解決以上問題提供了很好的條件。syncML主要用于網(wǎng)絡(luò)設(shè)備的通用數(shù)據(jù)同步,它的目標(biāo)是讓任何移動(dòng)設(shè)備的網(wǎng)絡(luò)化數(shù)據(jù)都能實(shí)現(xiàn)同步并保證設(shè)備間同步的無縫連接,即一種網(wǎng)絡(luò)數(shù)據(jù)可以與任一種移動(dòng)設(shè)備同步,一種移動(dòng)設(shè)備可以與任一種網(wǎng)絡(luò)數(shù)據(jù)同步,這使得移動(dòng)數(shù)據(jù)庫(kù)具有了通用性和可適應(yīng)性。本論文將在分析syncML同步協(xié)議組成和特點(diǎn)基礎(chǔ)上,研究和實(shí)現(xiàn)適用于移動(dòng)數(shù)據(jù)庫(kù)的雙
6、向事務(wù)級(jí)同步。2syncML同步協(xié)議組成和同步類型SyncML協(xié)議是由SyncMLinitiative發(fā)行的實(shí)現(xiàn)移動(dòng)數(shù)據(jù)庫(kù)同步的一種開放性工業(yè)標(biāo)準(zhǔn)協(xié)議。SyncML雙向事務(wù)級(jí)同步程序框架是建立在表示協(xié)議、同步協(xié)議和傳輸協(xié)議三個(gè)協(xié)議的基礎(chǔ)上的1。同步表示協(xié)議定義了同步消息的格式描述,所有的消息都由用戶數(shù)據(jù),標(biāo)志數(shù)據(jù)和同步命令組成,其格式為XML或WBXML。還定義了同步框架內(nèi)工作的細(xì)節(jié)。同步協(xié)議定義了服務(wù)器和客戶端的添加、刪除、替換等數(shù)據(jù)的協(xié)議流,實(shí)現(xiàn)同步客戶端和同步服務(wù)器端的交互。傳輸協(xié)議是SyncML底層協(xié)議,其支持HTTP,WSP,OBEX等協(xié)議,可以完成步客戶端和服務(wù)器雙方相互通信。Sy
7、ncML同步協(xié)議中定義了SyncML所支持的七種同步類型2:雙向同步:由客戶端首先發(fā)起,然后客戶端和服務(wù)器互換更新信息;慢同步:客戶端把自己所有的數(shù)據(jù)都發(fā)給服務(wù)器,由服務(wù)器比較更新客戶端的數(shù)據(jù);客戶端單向同步:只由客戶端向服務(wù)器發(fā)送自己更新的信息,服務(wù)器作相應(yīng)修改;服務(wù)器單向同步:只有服務(wù)器發(fā)送修改信息,客戶端作相應(yīng)修改;客戶端刷新同步:客戶端發(fā)送其所有信息給服務(wù)器,并刷新服務(wù)器上的數(shù)據(jù);服務(wù)器端刷新同步:服務(wù)器發(fā)送其所有信息給客戶端,以完全代替客戶端的原有數(shù)據(jù);服務(wù)器通告同步:由服務(wù)器通告客戶端,請(qǐng)求客戶端開始某種類型的同步。七種同步類型的同步過程都有很多相似之處,雙向同步是最常見、最復(fù)雜、
8、也是最具有代表性的一種同步。3基于syncML的雙向事務(wù)級(jí)同步雙向同步能夠使客戶端與服務(wù)器端互相交換數(shù)據(jù)修改信息,其是進(jìn)行數(shù)據(jù)同步的一種常見類型?;趕yncML的雙向事務(wù)級(jí)同步模型中:SyncML客戶端通常是移動(dòng)電話、PDA、PC等,而SyncML服務(wù)器可以是專門的服務(wù)器或PC。同步時(shí),由客戶端agent調(diào)用SyncMLI/F接口,SyncML適配器模塊負(fù)責(zé)將數(shù)據(jù)類型轉(zhuǎn)換成XML格式,把客戶端的更改信息發(fā)送給服務(wù)器,而服務(wù)器agent接收到更改信息后,調(diào)用同步引擎進(jìn)行同步分析、檢測(cè)和解決沖突,然后把處理結(jié)果和更改要求返回給客戶端。但也有些情況是由服務(wù)器首先開始同步過程。同步過程中,雙方在接收
9、到對(duì)方數(shù)據(jù)的修改信息后對(duì)本地?cái)?shù)據(jù)進(jìn)行相應(yīng)的操作,從而使得雙方數(shù)據(jù)保持一致。3.1基于SyncML的雙向事務(wù)級(jí)同步設(shè)計(jì)重要部分在基于SyncML的雙向同步過程中,SyncML的雙向同步設(shè)計(jì)主要包括以下幾個(gè)重要部分:變化日志:在syncML同步過程中,采用變化日志的方法來獲取源數(shù)據(jù)庫(kù)的數(shù)據(jù)更新信息,即進(jìn)行同步的每個(gè)設(shè)備保存了設(shè)備上每個(gè)數(shù)據(jù)項(xiàng)從上次同步時(shí)的修改日志,利用變化日志的信息跟蹤機(jī)制來解決客戶端和服務(wù)器端的信息交換或修改的問題。數(shù)據(jù)映射:客戶端和服務(wù)器在數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)項(xiàng)都設(shè)計(jì)唯一的標(biāo)識(shí)符,這些標(biāo)識(shí)符可以用來標(biāo)識(shí)該數(shù)據(jù)項(xiàng)是否發(fā)生了變動(dòng),以便進(jìn)行同步操作。同一數(shù)據(jù)在客戶端本地唯一標(biāo)識(shí)符(LU
10、ID)和服務(wù)器的全局唯一標(biāo)識(shí)符(GUID)可能會(huì)不一致,考慮到移動(dòng)客戶端的內(nèi)存受限,在同步服務(wù)器中設(shè)計(jì)一個(gè)指向相同數(shù)據(jù)項(xiàng)的客戶端標(biāo)識(shí)符和服務(wù)器標(biāo)識(shí)符的映射關(guān)系的標(biāo)識(shí)符映像表,以保證服務(wù)端和客戶端的數(shù)據(jù)交換的一致性。同步錨:使用與設(shè)備數(shù)據(jù)庫(kù)相聯(lián)系的時(shí)間戳作為同步錨進(jìn)行同步狀態(tài)檢查。每次同步結(jié)束時(shí)服務(wù)器和客戶端都保存同步錨(數(shù)據(jù)同步結(jié)束后的時(shí)間點(diǎn))。下一次同步時(shí),比較雙方同步錨,若同步錨互相匹配,表明接收設(shè)備沒有失敗的同步過程的發(fā)生,可以進(jìn)行正常的雙向同步,而同步錨不匹配,表明接收設(shè)備的上一次同步過程存在問題,則進(jìn)行慢同步,以便使雙方數(shù)據(jù)達(dá)到一致。沖突處理:由于客戶端和服務(wù)器端可能同時(shí)修改同一個(gè)數(shù)
11、據(jù)項(xiàng)而產(chǎn)生不同版本,因此須由同步引擎來檢測(cè)和解決版本沖突3,即預(yù)先定義沖突檢測(cè)和處理規(guī)則,同步引擎的服務(wù)端根據(jù)沖突規(guī)則檢測(cè)到?jīng)_突后,返回一狀態(tài)碼,服務(wù)端將使用狀態(tài)碼和通知功能通知同步客戶端并根據(jù)沖突規(guī)則來解決沖突。沖突解決規(guī)則主要采用服務(wù)器優(yōu)先規(guī)則。安全性:SyncML提供了安全的數(shù)據(jù)同步構(gòu)架。雖然它本身沒有定義新的安全方案,但它采用了不同層面上驗(yàn)證的構(gòu)架,從而有效的保證了通信雙方的身份合法性和通信系統(tǒng)的安全。即當(dāng)同步的一方要求另一方進(jìn)行身份驗(yàn)證時(shí),可以向?qū)Ψ桨l(fā)送一個(gè)自己的認(rèn)證信息,接收方如果想要繼續(xù)進(jìn)行同步,就可以將自己的認(rèn)證信息發(fā)送給對(duì)方同步實(shí)體,來進(jìn)行身份驗(yàn)證,保證通信的安全。設(shè)備能力:
12、客戶端和服務(wù)器在同步會(huì)話的初始化階段交換它們各自能力的信息,也就是設(shè)備能力??蛻舳伺c服務(wù)器之間必須交換設(shè)備信息(包括設(shè)備類型、設(shè)備型號(hào)等)和服務(wù)信息(表示客戶端或服務(wù)器所支持?jǐn)?shù)據(jù)對(duì)象的能力)兩種設(shè)備能力信息。3.2基于syncML的雙向事務(wù)級(jí)同步處理過程整個(gè)同步過程都是通過發(fā)送syncMLXML格式的消息包來完成同步。整個(gè)同步過程(如圖1syncML雙向事務(wù)級(jí)同步流程圖所示)可分為兩個(gè)過程:同步初始化過程、同步操作。3.2.1同步初始化同步初始化階段,客戶端和服務(wù)器須交換初始化包。首先由客戶端向服務(wù)器發(fā)送初始化包(PKG1),其中包括要同步的數(shù)據(jù)庫(kù)及同步類型、SyncML服務(wù)層的身份驗(yàn)證信息、
13、同步錨。同步客戶端在第一次同步會(huì)話還必須給服務(wù)器發(fā)送設(shè)備信息,而客戶端在初始化的第一個(gè)包中是否發(fā)送身份驗(yàn)證信息是可選的。服務(wù)器收到客戶端的PKG1后,檢查所有客戶端想要同步的數(shù)據(jù)庫(kù)狀態(tài),將客戶端的設(shè)備能力與自己進(jìn)行比較,為各自的數(shù)據(jù)庫(kù)進(jìn)行同步錨(同步結(jié)束后的時(shí)間點(diǎn))匹配,然后給客戶端發(fā)送初始化包(PKG2),其中包括通知操作、客戶端想要同步的每個(gè)數(shù)據(jù)庫(kù)的相關(guān)狀態(tài)元素、驗(yàn)證信息、同步錨及設(shè)備信息。這里的通知操作表明由服務(wù)器根據(jù)同步錨和當(dāng)前的會(huì)話狀態(tài)決定的此次同步會(huì)話中雙方應(yīng)該選擇的同步方式信息。3.2.2同步操作完成同步初始化后,開始進(jìn)行真正同步,以維護(hù)服務(wù)端和客戶端的數(shù)據(jù)一致性。同步操作主要分
14、為以下幾步:同步準(zhǔn)備:客戶端根據(jù)收到PKG2,采取相應(yīng)的同步類型啟動(dòng)同步。客戶端根據(jù)內(nèi)部改變?nèi)罩拘畔?,確定上次同步后在其數(shù)據(jù)庫(kù)內(nèi)所作的修改(包括新記錄的增加、以前記錄的刪除或已存在記錄的更新),通過不同的SyncML命令將這些信息(PKG3)發(fā)送到服務(wù)器。PKG3發(fā)送后,客戶端所作的任何修改操作都必須在下次同步會(huì)話期間報(bào)告服務(wù)器,不允許將其放在隨后客戶端送至服務(wù)器的包中。沖突檢測(cè)與處理:服務(wù)器收到客戶端的同步包PKG3后,執(zhí)行客戶端發(fā)送的命令。同步服務(wù)器中的同步引擎對(duì)PKG3進(jìn)行同步分析,將同步客戶端和服務(wù)器端的數(shù)據(jù)比較,檢測(cè)并處理沖突,更新服務(wù)器端的數(shù)據(jù)庫(kù)。服務(wù)器解決此過程中可能發(fā)生的沖突,
15、然后服務(wù)器建立包含所有客戶端所發(fā)命令的狀態(tài)報(bào)告,同自己的數(shù)據(jù)修改綁在一起,發(fā)送給客戶端(PKG4)。PKG4發(fā)送后,服務(wù)器所作的任何修改都必須在下次同步會(huì)話期間報(bào)告客戶端,不允許將其放在隨后服務(wù)器送至客戶端的包中。同步更新:客戶端收到服務(wù)器的PKG4后,客戶端執(zhí)行所有命令,然后進(jìn)行數(shù)據(jù)狀態(tài)更新,更新同步錨、準(zhǔn)備MAP命令等,然后將更新結(jié)果狀態(tài)和Map命令包(PKG5)發(fā)送給同步服務(wù)器。狀態(tài)更新包含一系列映像操作,以便服務(wù)器在它的映像表中將所有的LUID和GUID進(jìn)行匹配。同步確認(rèn):同步服務(wù)器收到狀態(tài)更新包含一系列映像操作,更新服務(wù)端ID映射和同步錨。同步成功后,服務(wù)器向客戶端發(fā)送數(shù)據(jù)映射確認(rèn)同
16、步包(PKG6)。即使客戶端與服務(wù)器之間交換的最后一個(gè)包中不包含映像操作,服務(wù)器也發(fā)送這個(gè)確認(rèn)。整個(gè)同步過程是從客戶端和服務(wù)器建立數(shù)據(jù)連接開始,至SyncML服務(wù)器停止發(fā)送對(duì)Map命令的響應(yīng)??蛻舳撕头?wù)器共交互了6個(gè)SyncML消息包(PKG)。每個(gè)消息包采用XML格式傳送。在同步端和客戶端采用SyncML適配器模塊進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換4:一是當(dāng)接受從客戶端傳來的同步SyncML數(shù)據(jù)包時(shí),提取解析出在服務(wù)器數(shù)據(jù)庫(kù)中數(shù)據(jù)表示形式;二是當(dāng)需要從服務(wù)器向客戶端傳送同步數(shù)據(jù)包時(shí),將相應(yīng)的數(shù)據(jù)內(nèi)容轉(zhuǎn)化為SyncML消息格式。同時(shí)也引入了agent技術(shù)這樣就實(shí)現(xiàn)了異構(gòu)數(shù)據(jù)庫(kù)訪問和同步。4小結(jié)本文作者創(chuàng)新點(diǎn)是
17、在基于SyncML的雙向同步過程中可以只傳輸與同步移動(dòng)端相關(guān)的變化事務(wù),減少了數(shù)據(jù)傳輸,保證事務(wù)的串行性;采用SyncML表示協(xié)議和agent技術(shù)來實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)間數(shù)據(jù)映射;對(duì)同步引擎進(jìn)行擴(kuò)充,自動(dòng)進(jìn)行沖突檢測(cè)并進(jìn)行自適應(yīng)性沖突處理,有效保證移動(dòng)數(shù)據(jù)庫(kù)一致性和通用性。在不同類型設(shè)備間,實(shí)現(xiàn)不同結(jié)構(gòu)數(shù)據(jù)庫(kù)之間的,使移動(dòng)數(shù)據(jù)系統(tǒng)能方便容納 主流數(shù)據(jù)庫(kù)產(chǎn)品,增強(qiáng)系統(tǒng)可擴(kuò)充性。當(dāng)然還可以在基于SyncML的同步過程中,可以在雙向同步基礎(chǔ)上進(jìn)行改進(jìn),以真正實(shí)現(xiàn)基于SyncML協(xié)議的7種類型同步。參考文獻(xiàn):1王俊建,張繼棠.SyncML數(shù)據(jù)同步協(xié)議的核心模塊實(shí)現(xiàn)J.信息技術(shù),2005,8:76-792周英軍,賈世樓.基于SyncML協(xié)議的數(shù)據(jù)同步過程的研究與優(yōu)化J.移動(dòng)通信20
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教五四新版九年級(jí)科學(xué)下冊(cè)月考試卷含答案
- 2024 四川公務(wù)員考試行測(cè)真題(綜合管理崗)
- 二零二五年度農(nóng)機(jī)維修保養(yǎng)及零配件供應(yīng)合同4篇
- 2025年度美團(tuán)騎手服務(wù)規(guī)范及考核評(píng)價(jià)合同3篇
- 2025年度特色餐廳廚房承包項(xiàng)目合同4篇
- 2025年度奶業(yè)市場(chǎng)調(diào)研與競(jìng)爭(zhēng)分析合同4篇
- 拆除金屬?gòu)U物回收利用合同(2篇)
- 二零二五年度icp許可證申請(qǐng)與互聯(lián)網(wǎng)企業(yè)品牌建設(shè)合同3篇
- 二零二五年度儲(chǔ)藏室租賃合同終止及資產(chǎn)返還協(xié)議4篇
- 2025年度食品級(jí)儲(chǔ)藏室設(shè)計(jì)與建造合同3篇
- 四川省成都市武侯區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試題
- 2024年秋季人教版七年級(jí)上冊(cè)生物全冊(cè)教學(xué)課件(2024年秋季新版教材)
- 環(huán)境衛(wèi)生學(xué)及消毒滅菌效果監(jiān)測(cè)
- 2024年共青團(tuán)入團(tuán)積極分子考試題庫(kù)(含答案)
- 碎屑巖油藏注水水質(zhì)指標(biāo)及分析方法
- 【S洲際酒店婚禮策劃方案設(shè)計(jì)6800字(論文)】
- 鐵路項(xiàng)目征地拆遷工作體會(huì)課件
- 醫(yī)院死亡報(bào)告年終分析報(bào)告
- 中國(guó)教育史(第四版)全套教學(xué)課件
- 2023年11月英語二級(jí)筆譯真題及答案(筆譯實(shí)務(wù))
- 上海民辦楊浦實(shí)驗(yàn)學(xué)校初一新生分班(摸底)語文考試模擬試卷(10套試卷帶答案解析)
評(píng)論
0/150
提交評(píng)論