亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)同步處理方法及其客戶端的制作方法

文檔序號:7626328閱讀:275來源:國知局
專利名稱:數(shù)據(jù)同步處理方法及其客戶端的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及同步標(biāo)記語言(Syncml,Synchronization Markup Language)協(xié)議同步處理技術(shù),尤其是涉及一種數(shù)據(jù)同步處理方法及其客戶端。
背景技術(shù)
現(xiàn)代社會(huì)是信息社會(huì),用戶需要隨時(shí)隨地的進(jìn)行信息的接收和發(fā)送,也需要隨時(shí)隨地的執(zhí)行終端設(shè)備中的各種應(yīng)用程序,而上述信息交互結(jié)果和執(zhí)行應(yīng)用程序結(jié)果都需要存儲(chǔ)到終端設(shè)備中,也需要與其他通信設(shè)備中的相應(yīng)數(shù)據(jù)保持一致。例如,在手機(jī)中、或在個(gè)人數(shù)字助理(PDA,Personal Digital Assistant)中都保存有通訊錄,同時(shí)在辦公室和家里的PC機(jī)中或者筆記本電腦中也都保存有相同的通訊錄,用戶總是希望這些通信設(shè)備中的信息能夠保持一致,即當(dāng)其中一個(gè)通信設(shè)備上的數(shù)據(jù)信息發(fā)生變化時(shí),也可以操作其他通信設(shè)備中的相應(yīng)數(shù)據(jù)信息進(jìn)行對應(yīng)改變,這就是不同通信設(shè)備之間的數(shù)據(jù)同步過程。
其中進(jìn)行數(shù)據(jù)同步的兩端設(shè)備可以是任何的網(wǎng)絡(luò)設(shè)備,如掌上電腦、PDA、移動(dòng)電話或桌面計(jì)算機(jī)等等;同時(shí)在任何一種網(wǎng)絡(luò)上面,同步操作的數(shù)據(jù)可以是任何一種網(wǎng)絡(luò)數(shù)據(jù)。同時(shí)一個(gè)用戶可以通過不同的通信設(shè)備訪問并操作同樣的數(shù)據(jù)信息集合。其中同步標(biāo)記語言(SYNCML,Synchronization MarkupLanguage)協(xié)議就是為了實(shí)現(xiàn)上述數(shù)據(jù)同步處理過程而提出的一個(gè)新的通用標(biāo)準(zhǔn)技術(shù)。
請參照圖1,該圖是現(xiàn)有技術(shù)中采用Syncml協(xié)議,客戶端和服務(wù)器之間進(jìn)行數(shù)據(jù)同步處理的處理過程示意圖,其中一次Syncml同步處理過程需要客戶端和服務(wù)器之間交互六個(gè)數(shù)據(jù)包來完成,即從PKG1到PKG6,其主要處理過程如下
1、無論一次Syncml同步處理過程由哪方發(fā)起,客戶端都會(huì)首先向服務(wù)器發(fā)送同步初始化數(shù)據(jù)包(PKG1),其中在PKG1中主要包含有客戶端鑒權(quán)信息、設(shè)備能力信息等;2、服務(wù)器接收到PKG1后,會(huì)根據(jù)PKG1中包含的客戶端鑒權(quán)信息對客戶端進(jìn)行鑒權(quán)認(rèn)證,并驗(yàn)證客戶端的賬號信息,同時(shí)將驗(yàn)證結(jié)果信息和指定的同步類型信息通過同步初始化響應(yīng)數(shù)據(jù)包(PKG2)反饋給客戶端;3、客戶端通過分析接收到的PKG2中指定的同步類型,把本地?cái)?shù)據(jù)庫中自上次同步處理完成之后發(fā)生過變更的所有數(shù)據(jù)(包括增加、刪除、修改等數(shù)據(jù))封裝到數(shù)據(jù)包PKG3中發(fā)送給服務(wù)器;一般情況下,客戶端在本地?cái)?shù)據(jù)庫的操作日志中通常通過日志ID來標(biāo)識上次同步處理完成后日志所處的位置,通常采用“anchor”來標(biāo)識該位置,這樣下次進(jìn)行同步處理時(shí)需要同步給服務(wù)器的數(shù)據(jù)就是anchor標(biāo)識之后的日志中所記載的信息,客戶端的參考日志信息格式如下表1所示(其中LUID代表本地唯一標(biāo)識local unique identity)表1

4、服務(wù)器接收到PKG3后,執(zhí)行其中對應(yīng)的各種操作指令將客戶端變更的數(shù)據(jù)依次更新到對應(yīng)數(shù)據(jù)庫中;服務(wù)器在將上述操作指令執(zhí)行狀態(tài)信息通過數(shù)據(jù)包PKG4返回給客戶端的同時(shí),也會(huì)將自身數(shù)據(jù)庫中自上次同步處理完成之后發(fā)生過變更的所有數(shù)據(jù)(包括增加、刪除、修改等數(shù)據(jù))封裝到數(shù)據(jù)包PKG4中返回給客戶端;5、客戶端接收到PKG4后,執(zhí)行其中對應(yīng)的各種操作指令將服務(wù)器中變更的數(shù)據(jù)依次更新到本地?cái)?shù)據(jù)庫中;客戶端在將上述操作指令執(zhí)行狀態(tài)信息通過數(shù)據(jù)包PKG5返回給服務(wù)器的同時(shí),如果接收到的PKG4中包含向本地?cái)?shù)據(jù)庫中增加新數(shù)據(jù)條目的add指令,則客戶端在成功向本地?cái)?shù)據(jù)庫添加新數(shù)據(jù)后,還需要生成相應(yīng)的ID映射信息通過數(shù)據(jù)包PKG5通知給服務(wù)器;如圖2所示,該圖是客戶端根據(jù)服務(wù)器下發(fā)的增加數(shù)據(jù)add指令生成ID映射信息表反饋給服務(wù)器的狀態(tài)示意圖,其中圖中GUID代表全球唯一標(biāo)識global unique identity,LUID代表本地唯一標(biāo)識localunique identity,對于同一個(gè)新增加的數(shù)據(jù)條目,服務(wù)器自身會(huì)產(chǎn)生一個(gè)在服務(wù)器端唯一標(biāo)識的GUID值來對該數(shù)據(jù)條目進(jìn)行標(biāo)識,而客戶端也會(huì)產(chǎn)生一個(gè)在客戶端唯一標(biāo)識的LUID值來對該數(shù)據(jù)條目進(jìn)行標(biāo)識;為了能夠?qū)⒎?wù)器端和客戶端雙方要操作的同一數(shù)據(jù)條目對應(yīng)起來,就要在服務(wù)器端維護(hù)一個(gè)ID映射信息表,如圖2中,假設(shè)“Car”是服務(wù)器中新增加的數(shù)據(jù)條目,服務(wù)器在將該新增加的數(shù)據(jù)條目和對應(yīng)的GUID值“1010101”下發(fā)到客戶端時(shí),客戶端在將該新增加的數(shù)據(jù)條目“Car”增加到本地?cái)?shù)據(jù)庫后,還要為該新增加的數(shù)據(jù)條目分配一個(gè)LUID值“11”,然后客戶端將為該新增加的數(shù)據(jù)條目分配的LUID值“11”和服務(wù)器為該新增加的數(shù)據(jù)條目分配的GUID值“1010101”建立映射關(guān)系后發(fā)送到服務(wù)器,同理,后續(xù)其他新增加數(shù)據(jù)條目同樣進(jìn)行上述處理后,服務(wù)器端就會(huì)得到一張ID映射信息表“Server Mapping Table”,同時(shí)要對該ID映射信息表進(jìn)行維護(hù)。
6、服務(wù)器在將接收到的PKG5中包含的ID映射信息維護(hù)到自身映射表之后,會(huì)通過數(shù)據(jù)包PKG6向客戶端反饋維護(hù)指令的執(zhí)行狀態(tài);客戶端接收到數(shù)據(jù)包PKG6后,如果其中狀態(tài)碼全部正常,則標(biāo)志此次數(shù)據(jù)同步處理成功結(jié)束。
根據(jù)上述的Syncml同步處理過程,當(dāng)用戶使用無線通信終端上安裝的SYNCML同步軟件與有線網(wǎng)絡(luò)上的服務(wù)器進(jìn)行大數(shù)據(jù)量的數(shù)據(jù)同步處理時(shí),經(jīng)常會(huì)出現(xiàn)由于無線網(wǎng)絡(luò)信號不好或者由于通信終端操作系統(tǒng)負(fù)載較大等原因,因而導(dǎo)致數(shù)據(jù)同步處理速度較慢、耗時(shí)較長等情況出現(xiàn)。此種情況下用戶很有可能會(huì)由于無法忍受長時(shí)間的等待,而在數(shù)據(jù)同步處理沒有完成之前就中途中斷了數(shù)據(jù)同步處理過程;此外,也有可能會(huì)由于其他原因,比如通信終端突然斷電、網(wǎng)絡(luò)信號逐漸消失或者有來電呼入等狀況,而導(dǎo)致數(shù)據(jù)同步處理過程還沒有完成就被中途中斷掉了。
當(dāng)由于上述原因而導(dǎo)致通信終端和服務(wù)器之間的數(shù)據(jù)同步處理過程在沒有完成之前就產(chǎn)生中斷時(shí),后續(xù)當(dāng)通信終端再次發(fā)起新的同步請求時(shí),就需要重新對所有的變更數(shù)據(jù)進(jìn)行同步,即中斷之前已經(jīng)同步處理完成的數(shù)據(jù)還需要在新的同步處理過程中重新進(jìn)行同步處理,然而在重新執(zhí)行同步處理過程中,有可能還會(huì)遇到上述所提及的網(wǎng)絡(luò)條件問題和終端當(dāng)前狀態(tài)變化問題,這樣重新開始的數(shù)據(jù)同步處理過程還有可能會(huì)由于上述的同樣原因而再次被主動(dòng)的或者被動(dòng)的中斷,如此循環(huán)下去,就會(huì)影響到用戶的良好使用感受。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于提出一種數(shù)據(jù)同步處理方法,以使數(shù)據(jù)同步處理過程在被中斷的情況下也能正常完成數(shù)據(jù)的同步,達(dá)到提高用戶良好使用感受的目的。
相應(yīng)的,本發(fā)明還提出了一種客戶端。
為解決上述問題,本發(fā)明提出的技術(shù)方案如下一種數(shù)據(jù)同步處理方法,包括步驟A.客戶端對服務(wù)器下發(fā)的變更數(shù)據(jù)條目進(jìn)行對應(yīng)變更處理;并B.將服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識進(jìn)行緩存;C.若本次同步處理被中斷,下次同步處理被重啟后,客戶端將緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器存儲(chǔ);D.服務(wù)器根據(jù)所述存儲(chǔ)結(jié)果,將自身變更數(shù)據(jù)庫中未包括在所述存儲(chǔ)結(jié)果中的全球唯一標(biāo)識及其對應(yīng)的變更數(shù)據(jù)條目下發(fā)給客戶端,然后執(zhí)行A。
較佳地,所述步驟C和D之間還包括步驟
服務(wù)器將客戶端上報(bào)的全球唯一標(biāo)識成功存儲(chǔ)后,向客戶端反饋成功存儲(chǔ)響應(yīng)消息;客戶端接收到服務(wù)器反饋的成功存儲(chǔ)響應(yīng)消息后,刪除自身緩存的全球唯一標(biāo)識。
較佳地,所述步驟D中若服務(wù)器根據(jù)所述存儲(chǔ)結(jié)果,在自身變更數(shù)據(jù)庫中索引不到未包括在所述存儲(chǔ)結(jié)果中的全球唯一標(biāo)識及其對應(yīng)的變更數(shù)據(jù)條目時(shí),則數(shù)據(jù)同步處理過程結(jié)束。
較佳地,所述步驟B具體包括步驟客戶端為服務(wù)器下發(fā)的變更數(shù)據(jù)條目分配對應(yīng)的本地唯一標(biāo)識;并將所述本地唯一標(biāo)識和服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識之間建立映射關(guān)系;并將所述建立的映射關(guān)系進(jìn)行緩存,實(shí)現(xiàn)將服務(wù)器下發(fā)的全球唯一標(biāo)識進(jìn)行緩存。
較佳地,所述步驟C中客戶端通過將緩存的映射關(guān)系上報(bào)給服務(wù)器實(shí)現(xiàn)將緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器。
較佳地,所述變更數(shù)據(jù)條目為新增加數(shù)據(jù)條目。
一種客戶端,包括變更處理單元,用于對服務(wù)器下發(fā)的變更數(shù)據(jù)條目進(jìn)行對應(yīng)變更處理;標(biāo)識緩存單元,用于將服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識進(jìn)行緩存;標(biāo)識上報(bào)單元,用于在本次同步處理被中斷,下次同步處理被重啟后,將所述標(biāo)識緩存單元緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器存儲(chǔ)。
較佳地,所述客戶端還包括標(biāo)識刪除單元,用于接收到服務(wù)器反饋的成功存儲(chǔ)響應(yīng)消息后,刪除所述標(biāo)識緩存單元中緩存的全球唯一標(biāo)識。
較佳地,所述標(biāo)識緩存單元具體包括標(biāo)識分配子單元,用于為服務(wù)器下發(fā)的變更數(shù)據(jù)條目分配對應(yīng)的本地唯一標(biāo)識;映射關(guān)系建立子單元,用于將所述標(biāo)識分配子單元分配的本地唯一標(biāo)識和服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識之間建立映射關(guān)系;映射標(biāo)識緩存子單元,用于將所述映射關(guān)系建立子單元建立的映射關(guān)系進(jìn)行緩存,實(shí)現(xiàn)將服務(wù)器下發(fā)的全球唯一標(biāo)識進(jìn)行緩存。
其中所述標(biāo)識上報(bào)單元通過將所述映射標(biāo)識緩存子單元緩存的映射關(guān)系上報(bào)給服務(wù)器實(shí)現(xiàn)將緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器。
本發(fā)明能夠達(dá)到的有益效果如下本發(fā)明方案通過客戶端對服務(wù)器下發(fā)的變更數(shù)據(jù)條目進(jìn)行對應(yīng)變更處理;并將服務(wù)器下發(fā)的對應(yīng)該變更數(shù)據(jù)條目的GUID進(jìn)行緩存,這樣若本次同步處理被中斷,下次同步處理被重啟后,客戶端就可以將緩存的GUID上報(bào)給服務(wù)器存儲(chǔ),服務(wù)器再根據(jù)存儲(chǔ)結(jié)果,將自身變更數(shù)據(jù)庫中未包括在存儲(chǔ)結(jié)果中的GUID及其對應(yīng)的變更數(shù)據(jù)條目下發(fā)給客戶端,從而減少了同步處理被中斷重啟后,服務(wù)器向客戶端下發(fā)變更數(shù)據(jù)的數(shù)據(jù)量,節(jié)約了同步處理時(shí)間,使得數(shù)據(jù)同步處理過程在被中斷的情況下也能正常完成數(shù)據(jù)的同步,達(dá)到了提高用戶良好使用感受的目的。


圖1為現(xiàn)有技術(shù)中采用Syncml協(xié)議,客戶端和服務(wù)器之間進(jìn)行數(shù)據(jù)同步處理的處理過程示意圖;圖2為客戶端根據(jù)服務(wù)器下發(fā)的增加數(shù)據(jù)add指令生成ID映射信息表反饋給服務(wù)器的狀態(tài)示意圖;圖3為客戶端和服務(wù)器之間進(jìn)行變更數(shù)據(jù)部分交互處理的過程示意圖;圖4為本發(fā)明數(shù)據(jù)同步處理方法的主要實(shí)現(xiàn)原理流程圖;圖5為本發(fā)明客戶端的主要組成結(jié)構(gòu)框圖;圖6為本發(fā)明客戶端增加標(biāo)識刪除單元后的具體組成結(jié)構(gòu)框圖;
圖7為本發(fā)明客戶端中標(biāo)識緩存單元的具體組成結(jié)構(gòu)框圖。
具體實(shí)施例方式
本發(fā)明方案設(shè)計(jì)的主要目的是為了解決大數(shù)據(jù)量同步處理過程由于耗時(shí)較長而經(jīng)常地被主動(dòng)或被動(dòng)地中斷,從而導(dǎo)致數(shù)據(jù)同步處理無法完成的問題。
其中本發(fā)明方案的主要設(shè)計(jì)思想是基于下述原理得出的通過對上述現(xiàn)有技術(shù)中的Syncml同步處理過程進(jìn)行分析可見,客戶端和服務(wù)器之間交互的數(shù)據(jù)包PKG3和PKG4,無論是從執(zhí)行時(shí)間還是從傳輸流量上都占用了整個(gè)同步處理過程的很大比重,其具體原因如下數(shù)據(jù)包PKG3主要負(fù)責(zé)將客戶端本地變更的數(shù)據(jù)條目發(fā)往服務(wù)器,而數(shù)據(jù)包PKG4主要負(fù)責(zé)將服務(wù)器端變更的數(shù)據(jù)條目下發(fā)給客戶端,同時(shí)雙方還會(huì)相互反饋執(zhí)行對方發(fā)送的數(shù)據(jù)變更操作指令的執(zhí)行結(jié)果。這樣無論是在客戶端中還是在服務(wù)器中,一旦發(fā)生變更的數(shù)據(jù)條目達(dá)到了上百甚至上千條(其中有可能僅一條變更數(shù)據(jù)條目就會(huì)占用幾千字節(jié)空間,甚至幾兆字節(jié)空間),由此可見客戶端和服務(wù)器之間交互的這兩個(gè)數(shù)據(jù)包PKG3和PKG4都會(huì)為整個(gè)數(shù)據(jù)同步過程帶來很大的時(shí)間消耗及其流量消耗。
在上述大數(shù)據(jù)量同步處理過程中,無論對于數(shù)據(jù)包PKG3還是對于數(shù)據(jù)包PKG4中的數(shù)據(jù)而言,都可能分別被客戶端和服務(wù)器分割成多個(gè)消息部分依次進(jìn)行交互,每一次消息交互的過程都是一次發(fā)送請求、等待響應(yīng)的過程,請具體參照圖3所示,該圖是客戶端和服務(wù)器之間進(jìn)行變更數(shù)據(jù)部分交互處理的過程示意圖,這樣在無線鏈路帶寬不足、無線網(wǎng)絡(luò)信號不好等情況下,無疑比較費(fèi)時(shí),因此需要盡量減少上述這種變更數(shù)據(jù)部分的交互次數(shù)。
同時(shí)對于客戶端和服務(wù)器交互的每個(gè)變更數(shù)據(jù)消息中,對于新增加的數(shù)據(jù)條目的封裝顯然會(huì)占用大量的消息空間,尤其是對于容量較大的數(shù)據(jù)對象而言(如圖片、視頻等多媒體文件的新增數(shù)據(jù)條目)有時(shí)為了封裝一條新增加的數(shù)據(jù)條目都需要分成多個(gè)消息來分別發(fā)送。而且考慮到相對于客戶端而言,服務(wù)器在一次同步處理過程中需要同步給客戶端的數(shù)據(jù)量往往較大,為此本發(fā)明方案主要設(shè)計(jì)思想的關(guān)鍵點(diǎn)就放在如何減少服務(wù)器發(fā)送變更數(shù)據(jù)條目(尤其是新增加數(shù)據(jù)條目)給客戶端的數(shù)量上。
請參照圖4,該圖是本發(fā)明數(shù)據(jù)同步處理方法的主要實(shí)現(xiàn)原理流程圖,其主要實(shí)現(xiàn)過程如下步驟S10,客戶端根據(jù)服務(wù)器下發(fā)的變更數(shù)據(jù)條目進(jìn)行對應(yīng)變更處理;步驟S12、客戶端將服務(wù)器下發(fā)的對應(yīng)上述變更數(shù)據(jù)條目的全球唯一標(biāo)識GUID進(jìn)行緩存;步驟S14、若本次同步處理被中斷,下次同步處理被重新啟動(dòng)后,客戶端將上述緩存的GUID上報(bào)給服務(wù)器進(jìn)行存儲(chǔ);步驟S16,服務(wù)器根據(jù)存儲(chǔ)結(jié)果,判斷是否能夠在自身的變更數(shù)據(jù)庫中索引到未包括在存儲(chǔ)結(jié)果中的GUID及其對應(yīng)的變更數(shù)據(jù)條目,如果是,執(zhí)行下述步驟S18,否則執(zhí)行下述步驟S20;步驟S18,服務(wù)器根據(jù)存儲(chǔ)結(jié)果,將自身變更數(shù)據(jù)庫中未包括在所述存儲(chǔ)結(jié)果中的GUID及其對應(yīng)的變更數(shù)據(jù)條目下發(fā)給客戶端,然后返回繼續(xù)執(zhí)行步驟S10;步驟S20,本次數(shù)據(jù)同步處理過程結(jié)束。
在上述處理過程中,若服務(wù)器將客戶端上報(bào)的GUID成功存儲(chǔ)后,會(huì)向客戶端反饋成功存儲(chǔ)響應(yīng)消息;客戶端接收到服務(wù)器反饋的成功存儲(chǔ)響應(yīng)消息后,可以選擇刪除自身緩存的GUID。
其中上述步驟S12中客戶端將服務(wù)器下發(fā)的對應(yīng)變更數(shù)據(jù)條目的GUID進(jìn)行緩存的處理過程可以通過如下方式實(shí)現(xiàn)客戶端為服務(wù)器下發(fā)的變更數(shù)據(jù)條目分配對應(yīng)的本地唯一標(biāo)識LUID;并將分配的LUID和服務(wù)器下發(fā)的對述變更數(shù)據(jù)條目的GUID之間建立映射關(guān)系;然后將建立的映射關(guān)系進(jìn)行緩存,從而就實(shí)現(xiàn)了將服務(wù)器下發(fā)GUID進(jìn)行緩存的目的。
這樣在上述步驟S14中若本次同步處理被中斷,下次同步處理被重新啟動(dòng)后,客戶端可以將上述緩存的GUID和LUID之間的映射關(guān)系上報(bào)給服務(wù)器,從而實(shí)現(xiàn)將緩存的GUID上報(bào)給服務(wù)器的目的。
其中上述方法實(shí)現(xiàn)過程對于變更數(shù)據(jù)條目為新增加數(shù)據(jù)條目的處理過程將顯出較佳的技術(shù)效果。
綜上可見,本發(fā)明數(shù)據(jù)同步處理方法的主要技術(shù)實(shí)現(xiàn)原理就是在每次進(jìn)行數(shù)據(jù)同步處理時(shí),客戶端無論在接收數(shù)據(jù)包PKG4的過程中是否會(huì)出現(xiàn)異常中斷現(xiàn)象,都會(huì)在完成每條變更數(shù)據(jù)條目(下述以新增加數(shù)據(jù)條目為例進(jìn)行說明)的本地變更操作后,立即將自身分配給新增加數(shù)據(jù)條目的LUID和服務(wù)器下發(fā)的GUID進(jìn)行對應(yīng)映射,并將映射信息保存到文件中,這樣在下次同步重啟時(shí)就可以將此信息發(fā)送給服務(wù)器,從而避免服務(wù)器端將新增加的數(shù)據(jù)條目在多次同步處理過程中重復(fù)發(fā)送。
這樣,在服務(wù)器端存在大量新增加的數(shù)據(jù)條目需要同步給客戶端且在同步過程被多次中斷的情況下,本發(fā)明方案將會(huì)產(chǎn)生顯著的效果。客戶端可以分多次來完成大數(shù)據(jù)量的數(shù)據(jù)同步,類似于網(wǎng)絡(luò)下載中斷點(diǎn)續(xù)傳功能。
本發(fā)明方案的具體實(shí)施過程如下首先在客戶端本地也建立一個(gè)和服務(wù)器端存儲(chǔ)的同樣格式的ID映射信息表(具體如上述現(xiàn)有技術(shù)圖2中的Server Mapping Table所示),并將該建立的ID映射信息表進(jìn)行置空;每次進(jìn)行數(shù)據(jù)同步處理時(shí),客戶端無論在接收服務(wù)器下發(fā)的數(shù)據(jù)包PKG4的過程中是否會(huì)出現(xiàn)異常中斷現(xiàn)象,都會(huì)在完成每條新增加數(shù)據(jù)條目的本地添加操作后,在內(nèi)存中生成一條LUID(客戶端完成本地添加操作后會(huì)產(chǎn)生該新增加數(shù)據(jù)條目的LUID)和GUID(服務(wù)器下發(fā)的數(shù)據(jù)包PKG4中有該新增加數(shù)據(jù)條目的GUID)的對應(yīng)信息,同時(shí)將此條信息存入到本地ID映射信息表。如果本次同步處理成功結(jié)束,則客戶端會(huì)將上述生成的ID映射信息承載在數(shù)據(jù)包PKG5中發(fā)送給服務(wù)器,成功后應(yīng)清空本地ID映射信息表;若在客戶端接收服務(wù)器下發(fā)的數(shù)據(jù)包PKG4過程中,或后續(xù)處理過程中被異常中斷,則已成功添加到本地?cái)?shù)據(jù)庫中的新增加數(shù)據(jù)條目的ID映射信息就已經(jīng)保存在客戶端本地ID映射信息表中。
后續(xù)再次被啟動(dòng)同步處理時(shí),在完成同步初始化后,客戶端應(yīng)首先通過數(shù)據(jù)包PKG3將本地ID映射信息表中的所有信息(慢同步情況除外,慢同步是一種特殊的同步,主要是在服務(wù)器狀態(tài)出現(xiàn)異常時(shí)由服務(wù)器發(fā)起的。此時(shí)客戶端會(huì)把本地所有的變更數(shù)據(jù)條目都發(fā)給服務(wù)器,服務(wù)器將這些數(shù)據(jù)條目和服務(wù)器端現(xiàn)存的數(shù)據(jù)條目進(jìn)行逐一詳細(xì)的比較,然后將服務(wù)器沒有包括的數(shù)據(jù)條目保存下來,同時(shí)將服務(wù)器端已存在而客戶端還沒有的數(shù)據(jù)條目返回給客戶端,從而達(dá)成雙方數(shù)據(jù)條目的一致)發(fā)送給服務(wù)器,然后再發(fā)送本地的變更數(shù)據(jù)條目;服務(wù)器在接收到客戶端發(fā)來的數(shù)據(jù)包PKG3后,應(yīng)該首先根據(jù)其中的ID映射信息完善自身的ID映射信息表,然后在封裝數(shù)據(jù)包PKG4時(shí)就可以根據(jù)自身的ID映射信息表,避免把中斷之前已經(jīng)同步給客戶端的新增加數(shù)據(jù)條目再次下發(fā)給客戶端,這樣就在一定程度上減少了數(shù)據(jù)包PKG4中傳輸?shù)臄?shù)據(jù)量,也減少了數(shù)據(jù)包PKG4被分割成多個(gè)消息與客戶端依次進(jìn)行交互的次數(shù),最終減少了數(shù)據(jù)的同步處理時(shí)間。服務(wù)器可以在下發(fā)給客戶端的數(shù)據(jù)包PKG4中承載向客戶端反饋的存儲(chǔ)ID映射信息執(zhí)行成功響應(yīng)消息,這樣客戶端在接收到服務(wù)器下發(fā)的數(shù)據(jù)包PKG4之后,可以立刻清除本地ID映射信息表中的對應(yīng)信息。如果本次同步處理在此時(shí)又被異常中斷掉,則此次新增加到客戶端的數(shù)據(jù)條目又會(huì)產(chǎn)生新的ID映射信息被存入到客戶端本地的ID映射信息表中,這樣在后續(xù)啟動(dòng)新的同步處理時(shí)又可以減少一定的數(shù)據(jù)傳輸量。
下面將列舉一個(gè)簡單的例子來對本發(fā)明數(shù)據(jù)同步處理方法的具體實(shí)施情況進(jìn)行詳細(xì)的說明假設(shè)當(dāng)前服務(wù)器端新增加了三條數(shù)據(jù)條目(如下表2所示),而客戶端沒有變更數(shù)據(jù)條目;
表2

此時(shí)發(fā)起數(shù)據(jù)同步處理,服務(wù)器會(huì)通過數(shù)據(jù)包PKG4把自身新增加的三條數(shù)據(jù)條目發(fā)送給客戶端,如果客戶端在對服務(wù)器下發(fā)的新增加數(shù)據(jù)條目進(jìn)行對應(yīng)增加處理過程中突然斷電,若此時(shí)客戶端只將第一條新增加的數(shù)據(jù)條目加入到了本地?cái)?shù)據(jù)庫中,并為其分配了LUID為32,這樣客戶端本地ID映射信息表中就生成了一條ID映射信息[10093902,32],而另外兩條新增加數(shù)據(jù)條目在客戶端斷電時(shí)還未來得及處理。后續(xù)客戶端重啟后,重新和服務(wù)器發(fā)起數(shù)據(jù)同步處理,此次同步處理過程中,客戶端會(huì)首先通過數(shù)據(jù)包PKG3將自身存儲(chǔ)的ID映射信息[10093902,32]上報(bào)給服務(wù)器,服務(wù)器接收到該ID映射信息后,就會(huì)認(rèn)為第10093902號數(shù)據(jù)條目已同步給客戶端,這樣在發(fā)送數(shù)據(jù)包PKG4時(shí)就會(huì)只封裝后兩條未同步給客戶端處理的新增加數(shù)據(jù)條目,從而減少了本次數(shù)據(jù)同步處理的同步數(shù)據(jù)流量。
本發(fā)明相應(yīng)于上述提出的數(shù)據(jù)同步處理方法,這里還相應(yīng)提出了一種客戶端設(shè)備,請參照圖5,該圖是本發(fā)明客戶端的主要組成結(jié)構(gòu)框圖,其主要包括變更處理單元10、標(biāo)識緩存單元20和標(biāo)識上報(bào)單元30,其中各個(gè)組成部分的主要作用如下變更處理單元10,主要用于對服務(wù)器下發(fā)的變更數(shù)據(jù)條目進(jìn)行對應(yīng)的變更處理;標(biāo)識緩存單元20,主要用于將服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識GUID進(jìn)行緩存;標(biāo)識上報(bào)單元30,主要用于本次同步處理被中斷,下次同步處理被重新啟動(dòng)后,將上述標(biāo)識緩存單元20緩存的GUID上報(bào)給服務(wù)器端進(jìn)行存儲(chǔ)。
請參照圖6,該圖是本發(fā)明客戶端增加標(biāo)識刪除單元后的具體組成結(jié)構(gòu)框圖,其中新增加的標(biāo)識刪除單元40,主要用于接收到服務(wù)器反饋的成功存儲(chǔ)響應(yīng)消息后,刪除上述標(biāo)識緩存單元20中緩存的GUID。
請參照圖7,該圖是本發(fā)明客戶端中標(biāo)識緩存單元的具體組成結(jié)構(gòu)框圖,其主要包括標(biāo)識分配子單元210、映射關(guān)系建立子單元220和映射標(biāo)識緩存子單元230,其中各個(gè)組成部分的主要作用如下標(biāo)識分配子單元210,主要用于為服務(wù)器下發(fā)的變更數(shù)據(jù)條目分配對應(yīng)的本地唯一標(biāo)識LUID;映射關(guān)系建立子單元220,主要用于將上述標(biāo)識分配子單元210分配的LUID和服務(wù)器下發(fā)的對應(yīng)上述變更數(shù)據(jù)條目的GUID之間建立映射關(guān)系;映射標(biāo)識緩存子單元230,主要用于將上述映射關(guān)系建立子單元220建立的映射關(guān)系進(jìn)行緩存,以實(shí)現(xiàn)將服務(wù)器下發(fā)的GUID進(jìn)行緩存。
相應(yīng)的,上述標(biāo)識上報(bào)單元30要通過將映射標(biāo)識緩存子單元230中緩存的LUID和GUID之間的映射關(guān)系上報(bào)給服務(wù)器,從而實(shí)現(xiàn)將緩存的GUID上報(bào)給服務(wù)器的目的。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)同步處理方法,其特征在于,包括步驟A.客戶端對服務(wù)器下發(fā)的變更數(shù)據(jù)條目進(jìn)行對應(yīng)變更處理;并B.將服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識進(jìn)行緩存;C.若本次同步處理被中斷,下次同步處理被重啟后,客戶端將緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器存儲(chǔ);D.服務(wù)器根據(jù)所述存儲(chǔ)結(jié)果,將自身變更數(shù)據(jù)庫中未包括在所述存儲(chǔ)結(jié)果中的全球唯一標(biāo)識及其對應(yīng)的變更數(shù)據(jù)條目下發(fā)給客戶端,然后執(zhí)行A。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟C和D之間還包括步驟服務(wù)器將客戶端上報(bào)的全球唯一標(biāo)識成功存儲(chǔ)后,向客戶端反饋成功存儲(chǔ)響應(yīng)消息;客戶端接收到服務(wù)器反饋的成功存儲(chǔ)響應(yīng)消息后,刪除自身緩存的全球唯一標(biāo)識。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟D中若服務(wù)器根據(jù)所述存儲(chǔ)結(jié)果,在自身變更數(shù)據(jù)庫中索引不到未包括在所述存儲(chǔ)結(jié)果中的全球唯一標(biāo)識及其對應(yīng)的變更數(shù)據(jù)條目時(shí),則數(shù)據(jù)同步處理過程結(jié)束。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟B具體包括步驟客戶端為服務(wù)器下發(fā)的變更數(shù)據(jù)條目分配對應(yīng)的本地唯一標(biāo)識;并將所述本地唯一標(biāo)識和服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識之間建立映射關(guān)系;并將所述建立的映射關(guān)系進(jìn)行緩存,實(shí)現(xiàn)將服務(wù)器下發(fā)的全球唯一標(biāo)識進(jìn)行緩存。
5.如權(quán)利要求4所述的方法,其特征在于,所述步驟C中客戶端通過將緩存的映射關(guān)系上報(bào)給服務(wù)器實(shí)現(xiàn)將緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器。
6.如1~5任一權(quán)利要求所述的方法,其特征在于,所述變更數(shù)據(jù)條目為新增加數(shù)據(jù)條目。
7.一種客戶端,其特征在于,包括變更處理單元,用于對服務(wù)器下發(fā)的變更數(shù)據(jù)條目進(jìn)行對應(yīng)變更處理;標(biāo)識緩存單元,用于將服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識進(jìn)行緩存;標(biāo)識上報(bào)單元,用于在本次同步處理被中斷,下次同步處理被重啟后,將所述標(biāo)識緩存單元緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器存儲(chǔ)。
8.如權(quán)利要求7所述的客戶端,其特征在于,還包括標(biāo)識刪除單元,用于接收到服務(wù)器反饋的成功存儲(chǔ)響應(yīng)消息后,刪除所述標(biāo)識緩存單元中緩存的全球唯一標(biāo)識。
9.如權(quán)利要求7所述的客戶端,其特征在于,所述標(biāo)識緩存單元具體包括標(biāo)識分配子單元,用于為服務(wù)器下發(fā)的變更數(shù)據(jù)條目分配對應(yīng)的本地唯一標(biāo)識;映射關(guān)系建立子單元,用于將所述標(biāo)識分配子單元分配的本地唯一標(biāo)識和服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識之間建立映射關(guān)系;映射標(biāo)識緩存子單元,用于將所述映射關(guān)系建立子單元建立的映射關(guān)系進(jìn)行緩存,實(shí)現(xiàn)將服務(wù)器下發(fā)的全球唯一標(biāo)識進(jìn)行緩存。
10.如權(quán)利要求9所述的客戶端,其特征在于,所述標(biāo)識上報(bào)單元通過將所述映射標(biāo)識緩存子單元緩存的映射關(guān)系上報(bào)給服務(wù)器實(shí)現(xiàn)將緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器。
全文摘要
本發(fā)點(diǎn)分明公開了一種數(shù)據(jù)同步處理方法,包括客戶端對服務(wù)器下發(fā)的變更數(shù)據(jù)條目進(jìn)行對應(yīng)變更處理;并將服務(wù)器下發(fā)的對應(yīng)所述變更數(shù)據(jù)條目的全球唯一標(biāo)識進(jìn)行緩存;若本次同步處理被中斷,下次同步處理被重啟后,客戶端將緩存的全球唯一標(biāo)識上報(bào)給服務(wù)器存儲(chǔ);服務(wù)器根據(jù)所述存儲(chǔ)結(jié)果,將自身變更數(shù)據(jù)庫中未包括在所述存儲(chǔ)結(jié)果中的全球唯一標(biāo)識及其對應(yīng)的變更數(shù)據(jù)條目下發(fā)給客戶端,然后返回處理過程初始。相應(yīng)的本發(fā)明還提出了一種客戶端設(shè)備。本發(fā)明可以使數(shù)據(jù)同步處理過程在被中斷的情況下也能正常完成數(shù)據(jù)的同步,達(dá)到了提高用戶良好使用感受的目的。
文檔編號H04L29/06GK1852309SQ20051011539
公開日2006年10月25日 申請日期2005年11月16日 優(yōu)先權(quán)日2005年11月16日
發(fā)明者喻宏斌, 陳春榮, 周英軍, 高偉 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1