<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 37,  comments - 53,  trackbacks - 0

    SyncML 是一種為了結束終端用戶,設備制造廠商,服務提供商(SP)和應用開發者之間的無線數據無法同步的數據同步協議.下面讓我們一起來看看無線開發者Chandan Pabla 對SyncML協議(version1.1)的理解和使用客戶端/服務器端兩邊覆蓋的同步過程.

    1.SyncML的基礎:
    ?? SyncML是一種主要的開發式的工業標準,為了使遠程數據和個人信息通過不同的網絡,平臺和設備進行同步而制定的.SyncML使的數據非常的容易在不同的網絡和網絡設備之間進行傳輸,因為它支持多種傳輸協議.
    ? SyncML的有點可以總結為一下幾點:
    ???? (1)可以在不同的網絡上工作--包括有限網絡和無限網絡.
    ???? (2)支持多種傳輸協議,包括HTTP,WSP(Wireless Session Protocol),OBEX(Bluetooth,IrDA),SMTP,pure TCP/IP.
    ???? (3)支持通用的個人數據格式,如vCard,vCalendar和E-MAIL等.
    ???? (4)對移動設備的存儲空間進行了優化.
    ???? (5)建立在internet協議和web技術上,是可執行而且有很好的協作性的.
    2.SyncML的協議描述:
    ?? SyncML程序框架是建立在同步描述協議(SyncML Representation protocol)和同步協議(SyncML Synchronization protocol)兩個協議的基礎上的.同步描述協議定義了同步消息(in XML)的格式描述和在同步框架內工作的細節.同步協議定義了同步客服端和同步服務器端的交互.
    ?? 為了建立一個適當的SyncML產品,我們必須要了解這個兩個協議的相關要求,下面我們開始看看同步協議的最重要的幾個組成部分:
    ? (1)Change log
    ? 開始一個同步協議的操作時,SyncML協議需要在客戶端和服務器端的各自的數據庫中維護信息的交換或修改(如替代,增加,刪除數據等).SyncML通過一種被稱為change log的信息跟蹤機制來解決客戶端和服務器端的信息交換或修改的問題.SyncML并沒有描述change log的格式信息,但是進行同步的每個設備必須能夠詳細的描述設備上每個數據項從上次同步時的修改的詳細情況.

    ? (2)Map operation(操作的映射)

    ?? 同步操作是基于客戶端和服務器端的數據庫中每個數據元素都有一個唯一標識(IDS)的原則來進行的.客戶端ID被稱為本地唯一標識(locally unique indentifier LUID),服務器ID被稱為全局唯一標識(globally unique identifier GUID).這個ID在服務器和客戶端可以相同,也可以不同.如果這個IDS是不同的,那么服務器端就必須保留一個ID的映射,保證服務端和客戶端的數據交換的一致性.LUIDS總是由客戶端設備來分配的.這就意味者即使是通過服務端添加一個數據項到客戶端設備,也是由客戶端為這個數據項分配LUID.分配完成后,客戶端將通過Map operation把LUID發送到服務端,服務端將更新MAPPING表中數據項的LUID.

    ? (3)Sync anchors(同步錨)

    ? 當一個同步會話被初始化的時候,總是有兩個錨被發送,一個是最后一次同步的錨一個是下一次同步的錨.最后一次的錨描述了發起同步設備發起最后一次同步事件的時間點;下次同步錨描述了發起同步動作設備的當前的同步事件的時間點.通過這種方式,在服務端和客戶端交換各自的同步錨.當接收一個NEXT SYNC ANCHOR時,接收設備必須保存它直到下次同步,當下次同步到來的時候,接收設備將比較兩次的同步錨并發送最后一次的同步錨,以判斷是否在同步時有數據失敗.如果最后一次同步錨和下次同步錨匹配,接收設備將認為沒有錯誤并結束同步會話的初始化.如果不匹配,接收設備將從其他設備請求一個適當的動作,比如慢同步.當同步會話成功并結束后,同步錨將被保存.

    ? (4)Confict resolution(沖突解決方式)

    ? 當同一個數據項在客戶端和服務器端同時被修改后,數據的版本沖突就產生了,對同一數據項將產生兩個不同版本的數據.同步協議必須有一種策略解決這樣的沖突.在SyncML中,沖突策略是同步引擎的一個基本功能,通常是由同步引擎的同步服務器來解決版本沖突問題,也有可能有寫客戶端設備提供解決這一問題的解決方式.

    ? 在同步描述協議提供了通過通知同步客戶端沖突決定和狀態碼的通用解決方案.如果同步引擎的服務端確定一個沖突,服務端將使用狀態碼和通知功能通知同步客戶端并定義解決方案.下面是一些常用的狀態碼和沖突解決策略:

    ???? <1>207:數據合并

    ???? <2>208:客戶端優先

    ???? <3>209:數據復制

    ? 5.Security(安全性)

    ? SyncML為了安全的數據同步提供了框架.SyncML本身并沒有提供新的安全機制,但是它提供了安全驗證框架和在不同的網絡層進行安全驗證的機制.

    ? SyncML協議在三個不同的層次定義了用戶驗證機制,這個三個層分別是:服務器層,數據庫層和對象層.SycnML只要求它的安全驗證機制在服務器端被支持就可以了.為了使用SycnML協議,同步的客戶端和服務器端必須支持基本的MD5驗證.在數據庫層面和對象層面的安全驗證是可以選擇的.

    ? 6.Device capabilities(設備性能)

    ?? SyncML協議通過一個初始化設置可以使不同性能的客戶端設備和服務器端進行信息的交換.任意一個設備(客戶端或服務端)都能請求信息交換,只要客戶端設備性能和服務端能協同工作,他們就能讓一個同步會話繼續下去.

    ?有兩種類型的信息在設備和服務器端進行交換:

    ??? (1)設備信息:包括設備類型,數據模塊和制造廠商信息.

    ??? (2)服務器信息:描述了客戶端或服務器端支持的數據對象的特性.如果客戶端支持vCard version 2.1數據格式和慢同步及雙向同步,那么服務器就必須具有這樣的能力,否則,同步就不能繼續下去.

    ?同步的客戶端必須在第一次同步或者在設備的靜態的信息更新后的時候發送設備信息到服務端。同時,當服務器端請求客戶端設備信息的時候,客戶端應將自身的設備信息發送到服務端。而一個同步服務器應具備接受和處理設備信息的能力,不論它是否接受過客戶端的設備信息或是通過自己請求過客戶端設備信息。


    今天先寫道這里,具體的協議使用流程明天給出

    posted on 2005-09-08 22:32 雪地孤鴻 閱讀(264) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(17)

    隨筆分類

    隨筆檔案

    文章檔案

    blog

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲欧洲美洲无码精品VA| 亚洲女人被黑人巨大进入| 亚洲综合精品香蕉久久网97| 在线涩涩免费观看国产精品 | 久久精品私人影院免费看| 国产精品久久久久影院免费| 亚洲精品无码久久久久牙蜜区| 人人爽人人爽人人片A免费| 国产成人精品男人免费| 亚洲精品无码专区在线播放| 毛片免费视频在线观看| 亚洲久热无码av中文字幕| 国产小视频免费观看| 美女尿口扒开图片免费| 亚洲 自拍 另类小说综合图区| 亚洲精品视频免费看| 国产精品免费网站| 亚洲中文字幕AV每天更新| 国产无遮挡裸体免费视频| 成人国产网站v片免费观看| 国产精品亚洲美女久久久| 国产在线观a免费观看| 老色鬼久久亚洲AV综合| 亚洲第一成年免费网站| 自拍偷自拍亚洲精品播放| 亚洲精品无码久久不卡| 13小箩利洗澡无码视频网站免费| 国产18禁黄网站免费观看| WWW免费视频在线观看播放| 久久伊人久久亚洲综合| 亚洲精品动漫免费二区| 成在线人直播免费视频| 亚洲高清视频在线播放| 日韩一区二区三区免费体验| 一个人看的www在线免费视频| 手机看片久久国产免费| 99在线热播精品免费99热| 亚洲av无码一区二区三区天堂古代 | 成年性羞羞视频免费观看无限| 亚洲国产精品VA在线看黑人 | 国产精品九九久久免费视频|