唐廣超
摘要:移動(dòng)數(shù)據(jù)庫(kù)同步技術(shù)隨著移動(dòng)設(shè)備的普及而得到廣泛關(guān)注,也是未來(lái)移動(dòng)應(yīng)用領(lǐng)域的一個(gè)重要發(fā)展方向。本文針對(duì)目前工業(yè)界廣泛認(rèn)可的SyncML協(xié)議深入分析的基礎(chǔ)上,針對(duì)異步操作下的同步問(wèn)題,提出一個(gè)數(shù)據(jù)同步原型系統(tǒng),在無(wú)線網(wǎng)絡(luò)連接/斷接、不同類(lèi)型的設(shè)備以及客戶端操作系統(tǒng)之間存在差異的條件下,滿足通用性的移動(dòng)數(shù)據(jù)庫(kù)數(shù)據(jù)同步解決方案。
關(guān)鍵詞:移動(dòng)數(shù)據(jù)庫(kù);數(shù)據(jù)同步;副本;
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)13-0012-02
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,用戶使用移動(dòng)終端設(shè)備(移動(dòng)計(jì)算機(jī)、Pad、智能手機(jī)、智能手表等)可以隨時(shí)、隨地、方便、快捷、準(zhǔn)確的獲取和傳遞各種類(lèi)型的信息。另一方面,受到網(wǎng)絡(luò)條件、通訊協(xié)議、通訊費(fèi)用和寬帶費(fèi)用等條件的約束,用戶在享受這種先進(jìn)科技帶來(lái)的服務(wù)同時(shí),也面臨一個(gè)難以解決的現(xiàn)實(shí)問(wèn)題,即:如何解決數(shù)據(jù)一致性和共享性的問(wèn)題。為了滿足用戶在離線狀態(tài)下獲取和傳遞信息的需求,一般做法是主服務(wù)器將一個(gè)數(shù)據(jù)庫(kù)副本存放在用戶使用的移動(dòng)終端上,并定時(shí)與主服務(wù)器保持?jǐn)?shù)據(jù)交互連接。因此,有必要為一種管理機(jī)制維護(hù)主服務(wù)器數(shù)據(jù)庫(kù)與移動(dòng)客戶端數(shù)據(jù)庫(kù)副本之間的數(shù)據(jù)一致性和共享性。同時(shí),滿足異步信息操作后數(shù)據(jù)沖突的檢測(cè)和解決方法。SyncML協(xié)議[1]作為一種國(guó)際標(biāo)準(zhǔn)化組織OMA制定的開(kāi)放國(guó)際工業(yè)標(biāo)準(zhǔn),該協(xié)議已經(jīng)被國(guó)內(nèi)外工業(yè)屆普遍接受,并被國(guó)際電信聯(lián)盟確認(rèn)為下一代移動(dòng)通信標(biāo)準(zhǔn)的重要組成部分之一。本文正是在此基礎(chǔ)上,從理論方面詳細(xì)分析和探討移動(dòng)數(shù)據(jù)在異步操作下的同步問(wèn)題,提出一個(gè)數(shù)據(jù)同步原型系統(tǒng),在網(wǎng)絡(luò)連接/斷接、不同類(lèi)型的設(shè)備以及客戶端操作系統(tǒng)之間存在差異的條件下,提供通用性的移動(dòng)數(shù)據(jù)庫(kù)數(shù)據(jù)同步解決方案。
1 通用數(shù)據(jù)同步協(xié)議SyncML
SyncML是一種被工業(yè)界廣泛接受的面向應(yīng)用層的數(shù)據(jù)同步標(biāo)準(zhǔn),一經(jīng)推出就受到行業(yè)內(nèi)的廣泛認(rèn)可,目前該協(xié)議可以很好的支持市場(chǎng)上的移動(dòng)終端設(shè)備,網(wǎng)絡(luò)傳輸形式多樣化,數(shù)據(jù)同步標(biāo)準(zhǔn)上可以實(shí)現(xiàn)任何行業(yè)內(nèi)數(shù)據(jù)類(lèi)型標(biāo)準(zhǔn),正因?yàn)榫邆湓摲N優(yōu)勢(shì),使得移動(dòng)設(shè)備廠商和通訊廠商爭(zhēng)相在此協(xié)議上深度開(kāi)發(fā)和應(yīng)用,這也為不同設(shè)備間的數(shù)據(jù)通信創(chuàng)造了有利條件。SyncML協(xié)議[2]是依靠SyncML協(xié)議棧來(lái)承載的具體功能,SyncML協(xié)議的主要組成部分介紹如下:
1.1 SyncML同步協(xié)議(SyncML Sync Protocol)
SyncML同步協(xié)議描述了數(shù)據(jù)同步實(shí)現(xiàn)過(guò)程中涉及的主要技術(shù),具體包括數(shù)據(jù)的處理流程,SyncML協(xié)議中所定義的同步類(lèi)型以及各同步類(lèi)型的具體展現(xiàn)形式,重點(diǎn)描述了數(shù)據(jù)同步過(guò)程中的關(guān)鍵的握手流程。
1.2 SyncML表示協(xié)議(SyncML Representation Protocol)
SyncML表示協(xié)議作為同步協(xié)議和傳輸協(xié)議間的交互層,具體規(guī)定了數(shù)據(jù)同步過(guò)程中合法的數(shù)據(jù)類(lèi)型、命令格式、SyncML消息包等數(shù)據(jù)交互標(biāo)準(zhǔn)。
1.3 SyncML傳輸綁定協(xié)議(SyncML Transport Protocol)
SyncML傳輸綁定協(xié)議主要描述了數(shù)據(jù)包在傳輸過(guò)程中的承載形式,目前行業(yè)內(nèi)通用的形式包括HTTP、WSP、OBEX三種形式,在數(shù)據(jù)同步過(guò)程中根據(jù)同步雙方的具體情況自動(dòng)識(shí)別。
SyncML協(xié)議棧中各協(xié)議之間的層次關(guān)系十分清楚,高層協(xié)議以底層協(xié)議為基礎(chǔ),低層協(xié)議可以為高層協(xié)議服務(wù),各層協(xié)議分工明確完成的定義了數(shù)據(jù)交互過(guò)程中的具體實(shí)現(xiàn)形式。
2 同步原型系統(tǒng)模型設(shè)計(jì)
由于移動(dòng)無(wú)線網(wǎng)絡(luò)的不穩(wěn)定性以及上網(wǎng)條件等限制,為滿足主服務(wù)器端與移動(dòng)客戶端兩者數(shù)據(jù)同步過(guò)程,模型中設(shè)計(jì)采用弱連接的方式,移動(dòng)客戶端發(fā)出數(shù)據(jù)同步請(qǐng)求時(shí)才與主服務(wù)器取得連接,數(shù)據(jù)同步模型系統(tǒng)中的核心內(nèi)容如圖1所示。
模型中的服務(wù)應(yīng)用(Server Application)在應(yīng)用層中提供了一個(gè)可修改的數(shù)據(jù)接口,該接口具體實(shí)現(xiàn)移動(dòng)客戶端和主服務(wù)器間的數(shù)據(jù)副本更新工作。服務(wù)適配器(Server Adapter)利用交互適配器(Communication Adapter)向客戶端傳遞一種雙方都“認(rèn)識(shí)”的數(shù)據(jù)形式SyncML Toolkit[3-4]。SyncML Toolkit對(duì)數(shù)據(jù)副本實(shí)現(xiàn)編碼/解碼工作,該功能獨(dú)立與應(yīng)用程序,實(shí)現(xiàn)不同設(shè)備不同網(wǎng)絡(luò)形式下的數(shù)據(jù)交互。Sync Engine引擎在具體的實(shí)現(xiàn)過(guò)程中憑借主服務(wù)器策略、沖突檢查規(guī)則等。會(huì)話管理(Session Manager)服務(wù)移動(dòng)客戶端與主服務(wù)器間的連接/斷開(kāi)過(guò)程[5]。主服務(wù)器與移動(dòng)客戶端兩者間的數(shù)據(jù)庫(kù)均采用Open DB Interface實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)。
3 總結(jié)
移動(dòng)數(shù)據(jù)庫(kù)同步技術(shù)隨著移動(dòng)設(shè)備的普及而得到廣泛關(guān)注,也是未來(lái)移動(dòng)應(yīng)用領(lǐng)域的一個(gè)重要發(fā)展方向。文中具體介紹了SyncML協(xié)議的組成部分以及基于SyncML協(xié)議的同步原型系統(tǒng)模型的組成,并針對(duì)模型中的核心構(gòu)件進(jìn)行功能性描述,模型同時(shí)具備通用性、便捷性、穩(wěn)定性等特點(diǎn)的數(shù)據(jù)同步解決方案。對(duì)模型的實(shí)際應(yīng)用和效果分析將作為本文未來(lái)的研究方向。
參考文獻(xiàn):
[1] 丁治明, 孟小峰, 王珊. 復(fù)制的移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)事務(wù)級(jí)同步處理策略[J]. 軟件學(xué)報(bào), 2002(2).
[2] 丁治明, 王珊, 孟小峰. 移動(dòng)復(fù)制數(shù)據(jù)庫(kù)系統(tǒng)沖突檢測(cè)及消解策略[J]. 計(jì)算機(jī)學(xué)報(bào), 2002(3).
[3] 周英軍. 基于SyncML協(xié)議的數(shù)據(jù)同步技術(shù)的研究[D]. 哈爾濱工業(yè)大學(xué), 2006(8):26-38.
[4] 李欣慧, 侯紫峰, 賀志強(qiáng). 基于SyncML協(xié)議的異構(gòu)數(shù)據(jù)源同步方案[J]. 計(jì)算機(jī)應(yīng)用研究, 2006(6): 190-295.
[5] 孫靜. 基于SyncML的移動(dòng)數(shù)據(jù)庫(kù)同步技術(shù)研究[D]. 西安電子科技大學(xué), 2010(1):45-60.