DS全稱是Data Synchronization,是數據同步的意思。
??????為了制訂可以在多個平臺及網絡之間實現個人信息及企業內數據同步的標準規格,于2000年2月份創建了業界團體SyncML iniative,后來SyncML規范移交到了OMA DS工作組(Open Mobile Alliance, Data Synchronization Work Group)。開發SyncML的目的在于,使終端用戶、設備開發商、基礎構件開發商、數據提供商、應用軟件開發商以及服務提供商協同工作,真正實現使用任何終端設備均可隨時隨地訪問任何網絡數據。該組織于2002年12月發布了SyncML V1.0標準,目前該標準已經發展到V1.2。
???? DS的典型應用是移動設備和網絡服務之間的數據同步。除此之外,DS還可用于對等的數據同步,如兩臺PC之間。經過同步初始化階段的參數協商以后,終端和服務器互相發送各自改變的數據,以保證雙方數據的同步。
???? 目前定義的主要同步格式主要包括vCard, iCalendar, vFolder, vEmail, vFile;主要對應手機上的通訊錄、日程表、目錄、電子郵件和文件;最常用的功能莫過于備份手機通訊錄了,特別是當手機丟失的時候,網上備份的通訊錄仍然可以同步回來,避免了損失。
???? 目前規范中定義的同步方式主要包括:
(1)?雙向同步
?(Two-way sync)??雙向同步是通常所使用的一種同步方式。采用該方式,同步客戶端和服務器端相互僅交換彼此設備中的數據修改信息(未修改的不交換)。客戶端首先發送其修改信息。
?慢同步
(2)慢同步
?(Slow sync)??慢同步是雙向同步的一種特殊類型,不同之處在于必須對數據進行逐條、逐個字段的進行比較處理。這意味著,同步時,客戶端必須把本地數據庫中的所有數據都發送到服務器端,然后服務器端對用戶的客戶端數據和服務器端數據進行逐個字段的同步分析。
(3)?客戶端單向同步
?(One-way sync from client only)??客戶端單向同步是一種單邊方式的同步。只有客戶端發送其數據修改信息到服務器,而服務器并不把服務器端的修改信息發給客戶端。
(4)客戶端刷新
?(Refresh sync from client only)??客戶端刷新也是一種單邊方式的同步。客戶端把本地數據庫中的所有數據都發送到服務器端,服務器用客戶端的數據來覆蓋服務器數據庫中的所有數據。即服務器中的數據和客戶端的完全一致,不多、不少、也沒有不同的記錄。.
?
(5)服務端單向同步
?(One-way sync from server only)??服務端單向同步和客戶端單向同步類似。只有服務器發送其數據修改信息到客戶端,而客戶端并不把它的修改信息發給服務器。
?
(6)服務端刷新
?(Refresh sync from server only)??服務端刷新和客戶端刷新類似。服務器把數據庫中用戶的所有數據都發送到用戶客戶端,客戶端用服務器的數據來覆蓋客戶端數據庫中的所有數據。即客戶端中的數據和服務器的完全一致,不多、不少、也沒有不同的記錄。.
?
(7)服務端通知同步
?(Server Alerted Sync)??服務端通知同步是指由服務器首先提醒客戶端來執行同步操作。即由服務器來告訴客戶端開始一個特定類型的同步操作。僅僅是服務器通知終端,要求其發起某種同步,后續同步流程可能為以上六種同步方式。
?? 這里僅舉雙向同步的例子,其他同步是雙向同步的特殊情況。例如慢同步可以看成是客戶端和服務器發送全部數據的雙向同步;單向同步是當方向發送同步數據的雙向同步;刷新同步是單方向發送數據的慢同步。

同步分為三個階段:
1、同步初始化階段(如圖Pkg#1和Pkg#2)
?? 同步初始化主要完成身份鑒權、需要同步的數據庫的協商、同步能力的協商(支持同步哪些數據、支持哪些同步類型等)。圖中使用消息包(Pkg)的原因是:這種交互過程可能需要持續多次才能完成,邏輯上只有一來一回兩種消息。
2、同步階段(如圖Pkg#3和Pkg#4)
?? 客戶端和服務器根據數據的狀態(新增Add、更新Update、刪除Delete、移動Move)將發生改變的數據通過上述操作命令的方式發送到服務器,服務器按照這些命令進行相同的操作來達到同步的目的;同時服務器也將其發生改變的數據通過操作命令的方式發送給客戶端。
3、同步完成階段(如圖Pkg#5和Pkg#6)
客戶端和服務器端互相確認同步完成。
posted on 2006-08-04 20:13
SIMONE 閱讀(1048)
評論(0) 編輯 收藏