專利名稱:一種數(shù)據(jù)慢同步的實現(xiàn)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)慢同步的實現(xiàn)方法及系統(tǒng)。
背景技術(shù):
現(xiàn)代社會是信息社會,用戶可以隨時隨地進行信息的接收和發(fā)送,可以隨時隨地用一臺手持設(shè)備執(zhí)行設(shè)備中的應(yīng)用程序,而這種數(shù)據(jù)交互和執(zhí)行應(yīng)用程序的結(jié)果需要存儲到手持設(shè)備中,也需要與其他數(shù)據(jù)設(shè)備中這種類型的數(shù)據(jù)保持一致。例如,在手機中和PDA(Personal Digital Assistant,個人數(shù)字助理)中都保存有通訊錄,在辦公室和家里的PC機或者筆記本也都存有相同的通訊錄,人們希望這些設(shè)備中的信息能保持一致,當其中一個設(shè)備上的數(shù)據(jù)變化時,可以操作其他設(shè)備中的數(shù)據(jù)做相應(yīng)的改變,這就是數(shù)據(jù)同步。
通用同步協(xié)議的目標是普遍適用,同步兩端可以是任何一種類型的網(wǎng)絡(luò)設(shè)備,在任一種網(wǎng)絡(luò)上面,同步操作的數(shù)據(jù)可以是任何一種網(wǎng)絡(luò)數(shù)據(jù)。任一種移動設(shè)備包括掌上電腦、PDA、移動電話、自動計算機和桌面計算機,同時一個用戶可以通過不同的設(shè)備訪問、操作同樣的數(shù)據(jù)集合。SyncML同步協(xié)議就是為了實現(xiàn)這個目標而應(yīng)運而生的一個新的通用標準,它由IBM、Lotus、Motorola、Nokia、Palm Inc等商家組織發(fā)起成立數(shù)據(jù)同步論壇組織——SyncML發(fā)起組制定的,該協(xié)議將會發(fā)展成為一個可以被用戶廣泛接受的業(yè)界通用的同步協(xié)議,自2000年12月SyncML 1.0發(fā)布以來,已經(jīng)有近700家全球的公司宣布支持該協(xié)議。
SyncML同步協(xié)議是一套協(xié)議集,它主要包括4個部分SyncML數(shù)據(jù)同步協(xié)議的框架結(jié)構(gòu)、SyncML同步協(xié)議、SyncML表示協(xié)議、SyncML的傳輸方式。SyncML同步協(xié)議主要定義數(shù)據(jù)同步操作的會話過程中的數(shù)據(jù)流程,同步雙方的握手過程,數(shù)據(jù)同步操作的類型等等;SyncML表示協(xié)議主要涉及同步所支持的數(shù)據(jù)類型、命令格式,能夠在各種網(wǎng)絡(luò)傳輸?shù)腟yncML消息格式;SyncML消息可以在任何一種有線和無線的網(wǎng)絡(luò)連接上傳輸,在SyncML協(xié)議的傳輸綁定中定義了可以在基于HTTP(Hyper-Text Transfer Protocol,超文本傳輸協(xié)議),WSP(Wireless Session Portocol,無線會話協(xié)議),OBEX(Object ExchangeProtocol,對象交換協(xié)議)三種協(xié)議的網(wǎng)絡(luò)連接上傳輸SyncML包和消息,這三種傳輸協(xié)議基本上含蓋了所有的遠程和短程連接。
在SyncML同步協(xié)議中定義了在SyncML客戶端和SyncML服務(wù)器之間消息的交互過程,同時定義的數(shù)據(jù)同步類型包括雙向同步,客戶端發(fā)起單向同步,服務(wù)器端發(fā)起單向同步及慢同步、服務(wù)器通告同步等。其中,慢同步屬于雙向同步中的一種,在一般的雙向同步中,客戶端只是把自己在上次同步過程中所做的修改發(fā)送給服務(wù)器,而在慢同步中,客戶端則是把自己所有的數(shù)據(jù)都發(fā)給服務(wù)器,服務(wù)器逐一比較接收到的數(shù)據(jù)和自己的數(shù)據(jù),以確定哪些數(shù)據(jù)需要更新。
圖1所示為SyncML客戶端和SyncML服務(wù)器同步時消息的交互情況,SyncML客戶端發(fā)送包含客戶端數(shù)據(jù)記錄修改信息的SyncML消息給SyncML服務(wù)器,服務(wù)器根據(jù)SyncML消息中的數(shù)據(jù)對自身存儲的數(shù)據(jù)進行同步處理,把修改結(jié)果消息返回給SyncML客戶端。
在現(xiàn)有的慢同步操作過程中,客戶端發(fā)送的數(shù)據(jù)記錄很有可能已經(jīng)存在于服務(wù)器上了,但客戶端并不知道,只能將這條服務(wù)器本來就存在的數(shù)據(jù)記錄再次發(fā)送到服務(wù)器,導(dǎo)致了無謂的數(shù)據(jù)流量,尤其是在該條數(shù)據(jù)記錄很大的情況下,比如該條數(shù)據(jù)帶有多達上百K甚至上M的視頻,這在目前的無線客戶端中是很常見的,因此導(dǎo)致慢同步時間延長,給用戶不好的體驗。
此外,服務(wù)器根據(jù)客戶端發(fā)送的數(shù)據(jù)記錄需要逐字段匹配,這是很消耗時間和資源的操作,浪費了大量服務(wù)器資源。
發(fā)明內(nèi)容
本發(fā)明提供一種數(shù)據(jù)慢同步的實現(xiàn)方法及系統(tǒng),以解決現(xiàn)有技術(shù)中必須對相同的數(shù)據(jù)記錄進行發(fā)送、匹配而導(dǎo)致大數(shù)據(jù)量和服務(wù)器消耗的問題。
本發(fā)明提供以下技術(shù)方案一種數(shù)據(jù)慢同步的實現(xiàn)方法,包括如下步驟A、終端設(shè)備根據(jù)本地數(shù)據(jù)記錄生成第一特征碼,將該第一特征碼及所述數(shù)據(jù)記錄的標識發(fā)送到服務(wù)器;B、服務(wù)器利用所述標識查找到本地保存的數(shù)據(jù)記錄,并根據(jù)該記錄生成第二特征碼;C、將第一特征碼與第二特征碼進行比較,若比較結(jié)果相同,則結(jié)束同步操作,若比較結(jié)果不同,則客戶端與服務(wù)器交互數(shù)據(jù)完成同步操作。
根據(jù)上述方法利用信息摘要算法計算所述第一特征碼、第二特征碼。
步驟A中的標識為本地唯一標識;所述服務(wù)器中保存有本地唯一標識與全局唯一標識的對應(yīng)關(guān)系的映射表,服務(wù)器通過所述本地唯一標識查找到對應(yīng)的全局唯一標識,并利用該全局唯一標識查找到對應(yīng)的數(shù)據(jù)記錄。
所述第一特征碼是客戶端上欲同步的數(shù)據(jù)記錄對應(yīng)的特征碼。
在步驟A之前進一步包括客戶端對欲同步的數(shù)據(jù)記錄的大小進行判決,若超過閾值,則計算該數(shù)據(jù)記錄的特征碼并執(zhí)行步驟A,若未超過該閾值,則直接將該數(shù)據(jù)記錄發(fā)送到服務(wù)器進行同步操作。
在步驟B中,若服務(wù)器未在映射表中查找到所述本地唯一標識,則直接進行同步操作。
在步驟C中,服務(wù)器將比較結(jié)果返回給客戶端,由客戶端根據(jù)比較結(jié)果決策相應(yīng)操作。
一種服務(wù)器,包括用于存儲具有標識的數(shù)據(jù)記錄,以及存儲客戶端數(shù)據(jù)記錄標識與本地數(shù)據(jù)記錄標識之間映射關(guān)系的存儲模塊;用于根據(jù)客戶端設(shè)備發(fā)送數(shù)據(jù)記錄標識查找到本地保存的數(shù)據(jù)記錄的查詢模塊;用于根據(jù)查找到的數(shù)據(jù)生成第二特征碼并與第一特征碼比較的處理模塊;用于在處理模塊確定第二特征碼與第一特征碼不同時與客戶端進行數(shù)據(jù)同步的同步模塊。
一種數(shù)據(jù)同步系統(tǒng),包括用于根據(jù)本地數(shù)據(jù)記錄生成第一特征碼,并發(fā)送該第一特征碼及所述數(shù)據(jù)記錄標識的客戶端設(shè)備;用于利用客戶端設(shè)備發(fā)送數(shù)據(jù)記錄標識查找到本地保存的數(shù)據(jù)記錄,根據(jù)該記錄生成第二特征碼,以及將第一特征碼與第二特征碼進行比較,并在比較結(jié)果不同時與所述客戶端設(shè)備交互數(shù)據(jù)完成同步操作的服務(wù)器。
本發(fā)明的有益效果如下本發(fā)明大大減少了慢同步中重復(fù)數(shù)據(jù)記錄的發(fā)送和交換,而代價僅僅是使用了數(shù)據(jù)量很小的摘要,即特征碼。另外,客戶端將特征碼發(fā)送給服務(wù)器,服務(wù)器僅需要對該特征碼進行匹配,而不需要逐個字段記錄匹配,大大減少了服務(wù)器的消耗和傳送時間。
圖1為現(xiàn)有技術(shù)中客戶端與服務(wù)器之間信息交互示意圖;圖2為本發(fā)明實施例中同步系統(tǒng)的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例中SyncML包的基本結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例中實現(xiàn)數(shù)據(jù)慢同步的流程圖;圖5為本發(fā)明實施例中的同步服務(wù)器的結(jié)構(gòu)示意圖。
具體實施例方式
本發(fā)明主要適用于SyncML標準中的慢同步方式,請參閱圖1,圖1虛線框內(nèi)部表示的是SyncML標準討論的SyncML框架結(jié)構(gòu),虛線框外部是數(shù)據(jù)同步協(xié)議。SyncML框架由SyncML數(shù)據(jù)格式、SyncML適配器和SyncML功能接口三部分組成。
圖2中應(yīng)用A代表一個網(wǎng)絡(luò)服務(wù),可以與其他網(wǎng)絡(luò)設(shè)備上一些應(yīng)用(在此圖中指的是應(yīng)用B)進行數(shù)據(jù)同步交互。應(yīng)用A和應(yīng)用B之間的數(shù)據(jù)同步操作服務(wù)可以利用HTTP協(xié)議、WSP協(xié)議、OBEX協(xié)議等公用網(wǎng)絡(luò)連接。
同步引擎負責管理整個同步數(shù)據(jù)的操作,應(yīng)用A的數(shù)據(jù)同步操作基于數(shù)據(jù)同步協(xié)議,由同步引擎負責管理整個操作過程。
同步服務(wù)代理管理同步引擎對網(wǎng)絡(luò)的訪問,管理客戶端和服務(wù)器的應(yīng)用進行數(shù)據(jù)同步的相互通信過程。同步服務(wù)代理通過調(diào)用SyncML接口或在此接口上的函數(shù)完成這些功能。
SyncML接口是面向SyncML適配器的應(yīng)用程序接口。
SyncML適配器負責消息的收發(fā)過程,在這個過程中收發(fā)雙方相互通信,收發(fā)SyncML格式文檔。SyncML適配器同時負責創(chuàng)建和維護應(yīng)用A和應(yīng)用B之間的網(wǎng)絡(luò)連接。
通過調(diào)用SyncML接口的函數(shù),應(yīng)用B用一個同步客戶代理訪問網(wǎng)絡(luò)和它的SyncML適配器。
根據(jù)上述框架,其中SyncML客戶端是指包含了同步客戶代理并首先把其修改的數(shù)據(jù)記錄發(fā)給服務(wù)器的設(shè)備,而且客戶端必須能接收來自SyncML服務(wù)器的應(yīng)答消息。盡管總是SyncML客戶端先發(fā)送修改數(shù)據(jù)記錄,但在某種情況下,服務(wù)器端也要能發(fā)起同步過程。SyncML客戶端通??梢允鞘謾C、PC或PDA設(shè)備。
SyncML服務(wù)器是指包含了同步服務(wù)代理和同步引擎的設(shè)備,通常要等待SyncML客戶端發(fā)起同步過程并把客戶端修改的數(shù)據(jù)記錄發(fā)送到服務(wù)器,服務(wù)器負責接收客戶端的修改數(shù)據(jù)記錄并進行同步分析。如果在傳輸層支持服務(wù)器端的命令,SyncML服務(wù)器也可以主動發(fā)起同步過程,一般服務(wù)器設(shè)備或PC都可以成為SyncML服務(wù)器。
SyncML表示協(xié)議定義了用于數(shù)據(jù)同步操作中實體之間傳遞的消息的格式,該協(xié)議定義了一個XML的文檔類型描述(Document Type Description,DTD),在此DTD中定義所有的在數(shù)據(jù)同步操作中所需數(shù)據(jù)的表示方式,SyncML消息必須符合DTD說明,以便在客戶端和服務(wù)器進行增、刪、改操作信息和結(jié)果狀態(tài)信息的交互,同時在協(xié)議中定義了設(shè)備性能信息(存儲能力等)和各種元信息(比如安全認證信息)的描述方法。
請參閱圖3,從概念上講,SyncML表示協(xié)議定義的SyncML包的基本結(jié)構(gòu)是各種同步消息的容器,SyncML消息不僅是一個單獨的實體,也是一個格式良好的XML文檔。一個SyncML包可以包含一個或者多個格式完整的SyncML消息,用于客戶端和服務(wù)器數(shù)據(jù)同步操作。對于一個SyncML消息則可以包含一個或者多個同步命令,SyncML同步消息由以下兩部分組成
消息頭在SyncML消息頭中含有消息的路由信息、版本信息、認證信息,會話信息等等,SyncML消息頭SyncHdr元素說明。
消息體在SyncML消息體包含一個或者多個SyncML命令,也包含需要同步的數(shù)據(jù),SyncML消息體由SyncBody元素說明。
每一個SyncML命令由單個SyncML元素類型說明,可以包含多個元素類型以說明SyncML命令的執(zhí)行細節(jié),這些細節(jié)信息包括需要同步的數(shù)據(jù)、元信息等等。SyncML命令可以分成消息請求命令和響應(yīng)消息命令,其中消息請求命令包括Add、Alert、Atomic、Delete、Get、Map、Put、Sequence、Sync;響應(yīng)消息命令包括Status、Results。其中有些命令可以包含另外一些命令。例如用于在兩個數(shù)據(jù)集合建立同步關(guān)系的Sync命令就包含其他一些可以對數(shù)據(jù)增刪改的命令,有些命令可以在Sync命令的里面也可以在其外面,像Delete命令必須在Sync的里面,而Put命令則必須在Sync的外面。
以上就syncml同步技術(shù)及框架進行了概述,本發(fā)明所提供的數(shù)據(jù)慢同步的實現(xiàn)方法就是以此為基礎(chǔ)的。
由于以往的慢同步都是客戶端把欲同步的數(shù)據(jù)都發(fā)給服務(wù)器,服務(wù)器將接收到的數(shù)據(jù)和自身的數(shù)據(jù)逐一比較,以確定哪些數(shù)據(jù)需要更新。而本發(fā)明采用了摘要技術(shù),即利用了MD5算法,全稱是信息-摘要算法(Message-Digestalgorithm 5),該算法是對數(shù)據(jù)信息進行數(shù)學變換后得到的一個128位的特征碼,該特征碼具有2大特點首先,該特征碼不可逆;其次,該特征碼具有高度的離散性,原數(shù)據(jù)信息的一點點變動就會導(dǎo)致其經(jīng)MD5計算得出的特征碼有巨大的變化,差別很大,之間沒有任何關(guān)系,特征碼有128位,所以任意數(shù)據(jù)信息具有相同特征碼的幾率是非常的低,通常視為不可能。
基于上述MD5計算而得的特征碼特性,本發(fā)明在客戶端和服務(wù)器都加載有MD5算法機制,可以對任意數(shù)據(jù)計算其特征碼。
同步操作是基于客戶端和服務(wù)器中每個數(shù)據(jù)記錄都對應(yīng)有一個唯一標識(ID)的原則來進行的??蛻舳薎D被稱為本地唯一標識(Locally UniqueInDentifier,LUID),服務(wù)器ID被稱為全局唯一標識(Globally UniqueInDentifier,GUID;全局唯一標識的位數(shù)遠大于本地唯一標識。),服務(wù)器保存有LUID與GUID的對應(yīng)關(guān)系的映射表,在每次同步執(zhí)行時,客戶端發(fā)送的SyncML包中都包含有LUID,該LUID便于服務(wù)器在映射表中查找GUID,然后獲知客戶端發(fā)過來的數(shù)據(jù)記錄對應(yīng)于服務(wù)器本地上的具體哪條數(shù)據(jù)記錄,以便進行數(shù)據(jù)記錄的同步更新。
下面結(jié)合圖4來說明本發(fā)明采用摘要技術(shù)進行慢同步的過程步驟100客戶端與服務(wù)器交互初始化數(shù)據(jù),開始慢同步;步驟200客戶端根據(jù)MD5算法得到欲同步的數(shù)據(jù)記錄的第一特征碼,并將該特征碼和所述數(shù)據(jù)記錄對應(yīng)的LUID發(fā)送給服務(wù)器;步驟300服務(wù)器在本地的MAP映射表中查找是否存在該LUID,若無,則直接執(zhí)行步驟700,若有,則執(zhí)行步驟400;步驟400服務(wù)器在MAP映射表中查找到與該LUID對應(yīng)的GUID;步驟500按照該GUID讀取服務(wù)器本地對應(yīng)的數(shù)據(jù)記錄,并根據(jù)MD5算法得到第二特征碼;步驟600服務(wù)器將第一特征碼與第二特征碼進行比較,若比較結(jié)果相同,則結(jié)束同步操作,若比較結(jié)果不同,則將結(jié)果返回給客戶端,并執(zhí)行步驟700;步驟700客戶端發(fā)送所述LUID對應(yīng)的數(shù)據(jù)記錄給服務(wù)器,服務(wù)器更新本地數(shù)據(jù)記錄并將執(zhí)行結(jié)果和欲同步的數(shù)據(jù)記錄發(fā)給給客戶端,客戶端更新數(shù)據(jù)記錄,同步操作完成。
在上述同步過程中,客戶端上的數(shù)據(jù)記錄對應(yīng)一個LUID,例如,手機內(nèi)的電話本存有若干電話,目前有一條電話本記錄,LUID為3,數(shù)據(jù)記錄為
BEGINVCARDVERSION2.1FNBruce SmithNSmith;BruceTEL;WORK;VOICE+1-919-555-1234TEL;WORK;FAX+1-919-555-9876NOTEhere starts a huge note field,or icon etc...
假設(shè)NOTE項的數(shù)據(jù)很大,省略號后還有很多數(shù)據(jù),則此時采用MD5摘要算法算出記錄數(shù)據(jù)的特征碼,然后發(fā)到服務(wù)器上去匹配比較,如果返回的比較結(jié)果為相同,則客戶端就可以不發(fā)送該LUID為3的數(shù)據(jù)記錄到服務(wù)器上去同步更新了,由此大大節(jié)約了時間和資源。如果直接發(fā)送該數(shù)據(jù)記錄到服務(wù)器上,由于該數(shù)據(jù)記錄所占空間很大,傳輸需要更長的時間,且,傳送完成后還要與服務(wù)器上對應(yīng)的數(shù)據(jù)記錄逐一字段進行匹配比較,如此更占用了服務(wù)器的資源。
考慮到存在某些比較小的數(shù)據(jù)記錄,對其進行MD5計算得到特征碼的時間和資源開銷要大于把該數(shù)據(jù)記錄直接傳送到服務(wù)器進行同步所耗費的時間和開銷,因而,本發(fā)明在客戶端設(shè)置有一個閾值,也就是對客戶端的數(shù)據(jù)記錄限定了一個門限,在上述步驟200之前進一步包括客戶端對欲同步的數(shù)據(jù)記錄的大小進行判決,若超過閾值,則計算該數(shù)據(jù)記錄的特征碼并執(zhí)行步驟200,若未超過該閾值,則直接將該數(shù)據(jù)記錄發(fā)送到服務(wù)器執(zhí)行步驟700。閾值的具體大小需要根據(jù)具體的系統(tǒng)以及其他因素來設(shè)定。
相應(yīng)的,本實施例中一種數(shù)據(jù)同步服務(wù)器的結(jié)構(gòu)如圖5所示,包括存儲模塊、查詢模塊、處理模塊和同步模塊;其中存儲模塊用于存儲具有標識的數(shù)據(jù)記錄,以及存儲客戶端數(shù)據(jù)記錄標識與服務(wù)器本地數(shù)據(jù)記錄標識之間的映射關(guān)系。
查詢模塊用于根據(jù)客戶端設(shè)備發(fā)送數(shù)據(jù)記錄標識從所述存儲模塊中查找到本地保存的數(shù)據(jù)記錄。
處理模塊用于根據(jù)查找到的數(shù)據(jù)生成第二特征碼,將比較第二特征碼是否與第一特征碼相同。
同步模塊用于在第二特征碼與第一特征碼不同時,與客戶端進行數(shù)據(jù)同步。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)慢同步的實現(xiàn)方法,其特征在于,包括如下步驟A、客戶端根據(jù)本地數(shù)據(jù)記錄生成第一特征碼,將該第一特征碼及所述數(shù)據(jù)記錄的標識發(fā)送到服務(wù)器;B、服務(wù)器利用所述標識查找到本地保存的數(shù)據(jù)記錄,并根據(jù)該記錄生成第二特征碼;C、將第一特征碼與第二特征碼進行比較,若比較結(jié)果相同,則結(jié)束同步操作,若比較結(jié)果不同,則客戶端與服務(wù)器交互數(shù)據(jù)完成同步操作。
2.如權(quán)利要求1所述的數(shù)據(jù)慢同步的實現(xiàn)方法,其特征在于,利用信息摘要算法計算所述第一特征碼和第二特征碼。
3.如權(quán)利要求1所述的數(shù)據(jù)慢同步的實現(xiàn)方法,其特征在于,步驟A中的標識為本地唯一標識;所述服務(wù)器中保存有本地唯一標識與全局唯一標識的對應(yīng)關(guān)系的映射表,服務(wù)器通過所述本地唯一標識查找到對應(yīng)的全局唯一標識,并利用該全局唯一標識查找到對應(yīng)的數(shù)據(jù)記錄。
4.如權(quán)利要求1所述的數(shù)據(jù)慢同步的實現(xiàn)方法,其特征在于,在步驟A之前進一步包括客戶端對欲同步的數(shù)據(jù)記錄的大小進行判決,若超過閾值,則計算該數(shù)據(jù)記錄的特征碼并執(zhí)行步驟A,若未超過該閾值,則直接將該數(shù)據(jù)記錄發(fā)送到服務(wù)器進行同步操作。
5.如權(quán)利要求1所述的數(shù)據(jù)慢同步的實現(xiàn)方法,其特征在于,在步驟B中,若服務(wù)器未在映射表中查找到所述標識,則直接進行同步操作。
7.如權(quán)利要求1所述的數(shù)據(jù)慢同步的實現(xiàn)方法,其特征在于,在步驟C中,服務(wù)器將比較結(jié)果返回給客戶端,由客戶端根據(jù)比較結(jié)果決策相應(yīng)操作。
8.一種服務(wù)器,其特征在于,包括用于存儲具有標識的數(shù)據(jù)記錄,以及存儲客戶端數(shù)據(jù)記錄標識與本地數(shù)據(jù)記錄標識之間映射關(guān)系的存儲模塊;用于根據(jù)客戶端設(shè)備發(fā)送數(shù)據(jù)記錄標識查找到本地保存的數(shù)據(jù)記錄的查詢模塊;用于根據(jù)查找到的數(shù)據(jù)生成第二特征碼并與第一特征碼比較的處理模塊;用于在處理模塊確定第二特征碼與第一特征碼不同時與客戶端進行數(shù)據(jù)同步的同步模塊。
9.一種數(shù)據(jù)同步系統(tǒng),其特征在于,包括用于根據(jù)本地數(shù)據(jù)記錄生成第一特征碼,并發(fā)送該第一特征碼及所述數(shù)據(jù)記錄標識的客戶端設(shè)備;用于利用客戶端設(shè)備發(fā)送數(shù)據(jù)記錄標識查找到本地保存的數(shù)據(jù)記錄,根據(jù)該記錄生成第二特征碼,以及將第一特征碼與第二特征碼進行比較,并在比較結(jié)果不同時與所述客戶端設(shè)備交互數(shù)據(jù)完成同步操作的服務(wù)器。
10.如權(quán)利要求9所述的數(shù)據(jù)同步系統(tǒng),其特征在于,所述服務(wù)器包括用于存儲具有標識的數(shù)據(jù)記錄,以及存儲客戶端數(shù)據(jù)記錄標識與本地數(shù)據(jù)記錄標識之間映射關(guān)系的存儲模塊;用于根據(jù)客戶端設(shè)備發(fā)送數(shù)據(jù)記錄標識從所述存儲模塊查找到本地保存的數(shù)據(jù)記錄的查詢模塊;用于根據(jù)查找到的數(shù)據(jù)生成第二特征碼并與第一特征碼比較的處理模塊;用于在處理模塊確定第二特征碼與第一特征碼不同時與客戶端進行數(shù)據(jù)同步的同步模塊。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)慢同步的實現(xiàn)方法,包括終端設(shè)備根據(jù)本地數(shù)據(jù)記錄生成第一特征碼,將該第一特征碼及所述數(shù)據(jù)記錄的標識發(fā)送到服務(wù)器;服務(wù)器利用所述標識查找到本地保存的數(shù)據(jù)記錄,并根據(jù)該記錄生成第二特征碼;將第一特征碼與第二特征碼進行比較,若比較結(jié)果相同,則結(jié)束同步操作,若比較結(jié)果不同,則客戶端與服務(wù)器交互數(shù)據(jù)完成同步操作。本發(fā)明還同時公開了一種數(shù)據(jù)同步系統(tǒng)。本發(fā)明采用了特征碼,大大減少了慢同步中重復(fù)數(shù)據(jù)記錄的發(fā)送和交換,降低了服務(wù)器的消耗和傳送時間。
文檔編號H04L29/06GK1852160SQ20051013743
公開日2006年10月25日 申請日期2005年12月30日 優(yōu)先權(quán)日2005年12月30日
發(fā)明者喻宏斌, 陳春榮, 周英軍, 高偉 申請人:華為技術(shù)有限公司