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