在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法和裝置制造方法
【專利摘要】本發(fā)明提供一種在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法和裝置,涉及互聯(lián)網(wǎng)領(lǐng)域。其中,該方法包括:服務(wù)器接收客戶端生成的變更集,其中,客戶端中包括由多個(gè)元素構(gòu)成的數(shù)據(jù),客戶端在每次數(shù)據(jù)變更后生成包含該次數(shù)據(jù)變更記錄的變更集,客戶端包括第一客戶端和第二客戶端,變更集包括第一客戶端生成的第一變更集和第二客戶端生成的第二變更集;當(dāng)?shù)谝蛔兏偷诙兏▽?duì)數(shù)據(jù)中不同元素的更變時(shí),服務(wù)器根據(jù)第一變更集和第二變更集對(duì)第一客戶端和第二客戶端進(jìn)行數(shù)據(jù)同步。通過本發(fā)明的實(shí)施方式,能夠?qū)崿F(xiàn)各客戶端之間準(zhǔn)確的數(shù)據(jù)同步。
【專利說明】在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,特別涉及一種在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法?!颈尘凹夹g(shù)】
[0002]網(wǎng)絡(luò)賬號(hào)的同步技術(shù)可以使用戶在通過不同的客戶端登陸同一個(gè)網(wǎng)絡(luò)賬號(hào)時(shí),獲取到相同的數(shù)據(jù)。
[0003]在不同客戶端之間進(jìn)行數(shù)據(jù)同步時(shí),需要在不同的客戶端上進(jìn)行文件傳送或刪除多余文件,最終使多個(gè)客戶端上的數(shù)據(jù)保持一致,當(dāng)多個(gè)客戶端上的內(nèi)容均發(fā)生變更時(shí),容易出現(xiàn)同步錯(cuò)誤,例如,有兩個(gè)客戶端均添加了同一個(gè)新的應(yīng)用,那么將這兩個(gè)客戶端上的數(shù)據(jù)同步到第三個(gè)客戶端后,第三個(gè)客戶端上可能會(huì)出現(xiàn)兩個(gè)相同的該應(yīng)用;或者多個(gè)客戶端分別進(jìn)行不同操作,進(jìn)行同步時(shí),無法根據(jù)不同的操作得到統(tǒng)一的同步結(jié)果。
[0004]對(duì)于現(xiàn)有技術(shù)中多個(gè)客戶端無法得到統(tǒng)一同步結(jié)果的問題,目前沒有好的解決辦法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法和裝置,以實(shí)現(xiàn)各客戶端之間準(zhǔn)確的數(shù)據(jù)同步。
[0006]本發(fā)明為了實(shí)現(xiàn)上述目的,提供一種在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法,包括:服務(wù)器接收客戶端生成的變更集,其中,客戶端中包括由多個(gè)元素構(gòu)成的數(shù)據(jù),客戶端在每次數(shù)據(jù)變更后生成包含該次數(shù)據(jù)變更記錄的變更集,客戶端包括第一客戶端和第二客戶端,變更集包括第一客戶端生成的第一變更集和第二客戶端生成的第二變更集;當(dāng)?shù)谝蛔兏偷诙兏▽?duì)數(shù)據(jù)中不同元素的更變時(shí),服務(wù)器根據(jù)第一變更集和第二變更集對(duì)第一客戶端和第二客戶端進(jìn)行數(shù)據(jù)同步。
[0007]在一個(gè)實(shí)施例中,上述方法還包括:服務(wù)器確定生成第一變更集和第二變更集的順序;當(dāng)?shù)谝蛔兏偷诙兏邪▽?duì)數(shù)據(jù)中同一元素的不同更變時(shí),服務(wù)器根據(jù)順序在后的變更集對(duì)第一客戶端和第二客戶端進(jìn)行數(shù)據(jù)同步。
[0008]在一個(gè)實(shí)施例中,在服務(wù)器上為變更后的數(shù)據(jù)設(shè)置版本號(hào)。
[0009]在一個(gè)實(shí)施例中,在每次數(shù)據(jù)變更后,版本號(hào)進(jìn)行一次遞增。
[0010]在一個(gè)實(shí)施例中,服務(wù)器為進(jìn)行數(shù)據(jù)變更的客戶端備份鏡像文件,鏡像文件為客戶端當(dāng)前數(shù)據(jù)的副本。
[0011]本發(fā)明為了實(shí)現(xiàn)上述目的,還提供一種在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的裝置,接收模塊,用于接收客戶端生成的變更集,其中,客戶端中包括由多個(gè)元素構(gòu)成的數(shù)據(jù),客戶端在每次數(shù)據(jù)變更后生成包含該次數(shù)據(jù)變更記錄的變更集,客戶端包括第一客戶端和第二客戶端,變更集包括第一客戶端生成的第一變更集和第二客戶端生成的第二變更集;第一同步模塊,用于當(dāng)?shù)谝蛔兏偷诙兏▽?duì)數(shù)據(jù)中不同元素的更變時(shí),根據(jù)第一變更集和第二變更集對(duì)第一客戶端和第二客戶端進(jìn)行數(shù)據(jù)同步。[0012]在一個(gè)實(shí)施例中,上述裝置還包括:處理模塊,用于確定生成第一變更集和第二變更集的順序;第二同步模塊,用于當(dāng)?shù)谝蛔兏偷诙兏邪▽?duì)數(shù)據(jù)中同一元素的不同更變時(shí),根據(jù)順序在后的變更集對(duì)第一客戶端和第二客戶端進(jìn)行數(shù)據(jù)同步。
[0013]在一個(gè)實(shí)施例中,上述裝置還包括:設(shè)置模塊,用于為變更后的數(shù)據(jù)設(shè)置版本號(hào)。
[0014]在一個(gè)實(shí)施例中,在每次數(shù)據(jù)變更后,版本號(hào)進(jìn)行一次遞增。
[0015]在一個(gè)實(shí)施例中,上述裝置還包括:備份模塊,用于為進(jìn)行數(shù)據(jù)變更的客戶端備份鏡像文件,鏡像文件為客戶端當(dāng)前數(shù)據(jù)的副本。
[0016]本發(fā)明通過各客戶端的變更集對(duì)所有客戶端進(jìn)行數(shù)據(jù)同步,實(shí)現(xiàn)準(zhǔn)確的數(shù)據(jù)同
止/J/ O
【專利附圖】
【附圖說明】
[0017]此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明的限定。在附圖中:
[0018]圖1是本發(fā)明實(shí)施例示出的在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法100的流程圖;
[0019]圖2A是本發(fā)明第一優(yōu)選實(shí)施例示出的在不同客戶端之間進(jìn)行數(shù)據(jù)同步的方法200的流程圖;
[0020]圖2B是本發(fā)明第一優(yōu)選實(shí)施例不出的第一不意圖;
[0021]圖2C是本發(fā)明第一優(yōu)選實(shí)施例示出的第二示意圖;
[0022]圖2D是本發(fā)明第一優(yōu)選實(shí)施例示出的第三示意圖;
[0023]圖2E是本發(fā)明第一優(yōu)選實(shí)施例示出的第四示意圖;
[0024]圖2F是本發(fā)明第一優(yōu)選實(shí)施例示出的第五示意圖;
[0025]圖3A是本發(fā)明第二優(yōu)選實(shí)施例示出的一種對(duì)多個(gè)客戶端中的數(shù)據(jù)進(jìn)行同步的方法的流程圖;
[0026]圖3B是本發(fā)明第二優(yōu)選實(shí)施例示出的第一示意圖;
[0027]圖3C是本發(fā)明第二優(yōu)選實(shí)施例示出的第二示意圖;
[0028]圖3D是本發(fā)明第二優(yōu)選實(shí)施例示出的第三示意圖;
[0029]圖3E是本發(fā)明第二優(yōu)選實(shí)施例示出的另一種對(duì)多個(gè)客戶端中的數(shù)據(jù)進(jìn)行同步的方法的流程圖;
[0030]圖3F是本發(fā)明第二優(yōu)選實(shí)施例示出的第四示意圖;
[0031]圖3G是本發(fā)明第二優(yōu)選實(shí)施例示出的第五示意圖;
[0032]圖3H是本發(fā)明第二優(yōu)選實(shí)施例示出的第六示意圖;
[0033]圖4是本發(fā)明實(shí)施例示出的在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的裝置400的結(jié)構(gòu)框圖;
[0034]圖5是本發(fā)明第一優(yōu)選實(shí)施例示出的在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的裝置500的結(jié)構(gòu)框圖;以及
[0035]圖6是本發(fā)明第二優(yōu)選實(shí)施例示出的在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的裝置600的結(jié)構(gòu)框圖?!揪唧w實(shí)施方式】
[0036]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)說明。在此,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。
[0037]現(xiàn)在將參考附圖進(jìn)一步詳細(xì)描述本發(fā)明。本發(fā)明可以許多不同的形式來實(shí)現(xiàn),不應(yīng)該被理解為僅限于此處所闡述的實(shí)施例。這些實(shí)施例只作為示例提供,以便為本領(lǐng)域技術(shù)人員提供對(duì)本發(fā)明的完全理解。
[0038]本發(fā)明實(shí)施例提供了一種在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法,圖1是本發(fā)明實(shí)施例示出的在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法100的流程圖。
[0039]本實(shí)施例首先以兩個(gè)客戶端的同步為例,對(duì)多個(gè)客戶端之間的同步方法進(jìn)行描述,如果任意兩個(gè)客戶端都能得到統(tǒng)一的同步結(jié)果,則所有的客戶端都能得到統(tǒng)一的同步結(jié)果。
[0040]該方法的執(zhí)行主體可以是一臺(tái)服務(wù)器,如圖1所示,該方法包括以下步驟:
[0041]步驟110,服務(wù)器接收客戶端生成的變更集。
[0042]客戶端中包括由多個(gè)元素構(gòu)成的數(shù)據(jù),每個(gè)元素可以是一個(gè)應(yīng)用、文件或鏈接等,通過添加元素、刪減元素或者調(diào)整元素的位置等方式,可以進(jìn)行數(shù)據(jù)變更,客戶端在每次數(shù)據(jù)變更后生成包含該次數(shù)據(jù)變更記錄的變更集。
[0043]客戶端包括第一客戶端和第二客戶端,變更集包括第一客戶端生成的第一變更集和第二客戶端生成的第二變更集。本實(shí)施例中的“第一”和“第二”不是對(duì)數(shù)量的限定,而是作為多個(gè)客戶端之間的區(qū)分,第一客戶端可以是客戶端11,第二客戶端可以是客戶端12,以下是在一次數(shù)據(jù)變更時(shí),由客戶端11生成的一個(gè)第一變更集的實(shí)例,客戶端11在初始狀態(tài)的數(shù)據(jù)為空集,變更后的數(shù)據(jù)為(a、b、c、d),此時(shí),a、b、c、d分別為數(shù)據(jù)中的元素,生成的
第一變更集如下:
[0044]
【權(quán)利要求】
1.一種在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的方法,其特征在于,包括: 服務(wù)器接收所述客戶端生成的變更集,其中,所述客戶端中包括由多個(gè)元素構(gòu)成的數(shù)據(jù),所述客戶端在每次數(shù)據(jù)變更后生成包含該次數(shù)據(jù)變更記錄的所述變更集,所述客戶端包括第一客戶端和第二客戶端,所述變更集包括所述第一客戶端生成的第一變更集和所述第二客戶端生成的第二變更集; 當(dāng)所述第一變更集和所述第二變更集包括對(duì)所述數(shù)據(jù)中不同元素的更變時(shí),所述服務(wù)器根據(jù)所述第一變更集和所述第二變更集對(duì)所述第一客戶端和所述第二客戶端進(jìn)行數(shù)據(jù)同步。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述服務(wù)器確定生成所述第一變更集和所述第二變更集的順序; 當(dāng)所述第一變更集和所述第二變更集中包括對(duì)所述數(shù)據(jù)中同一元素的不同更變時(shí),所述服務(wù)器根據(jù)順序在后的變更集對(duì)所述第一客戶端和所述第二客戶端進(jìn)行數(shù)據(jù)同步。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述服務(wù)器上為變更后的數(shù)據(jù)設(shè)置版本號(hào)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在每次數(shù)據(jù)變更后,所述版本號(hào)進(jìn)行一次遞增。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)器為進(jìn)行數(shù)據(jù)變更的客戶端備份鏡像文件,所述鏡像文件為所述客戶端當(dāng)前數(shù)據(jù)的副本。
6.一種在多個(gè)客戶端之間進(jìn)行數(shù)據(jù)同步的裝置,其特征在于,包括: 接收模塊,用于接收所述客戶端生成的變更集,其中,所述客戶端中包括由多個(gè)元素構(gòu)成的數(shù)據(jù),所述客戶端在每次數(shù)據(jù)變更后生成包含該次數(shù)據(jù)變更記錄的所述變更集,所述客戶端包括第一客戶端和第二客戶端,所述變更集包括所述第一客戶端生成的第一變更集和所述第二客戶端生成的第二變更集; 第一同步模塊,用于當(dāng)所述第一變更集和所述第二變更集包括對(duì)所述數(shù)據(jù)中不同元素的更變時(shí),根據(jù)所述第一變更集和所述第二變更集對(duì)所述第一客戶端和所述第二客戶端進(jìn)行數(shù)據(jù)同步。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 處理模塊,用于確定生成所述第一變更集和所述第二變更集的順序; 第二同步模塊,用于當(dāng)所述第一變更集和所述第二變更集中包括對(duì)所述數(shù)據(jù)中同一元素的不同更變時(shí),根據(jù)順序在后的變更集對(duì)所述第一客戶端和所述第二客戶端進(jìn)行數(shù)據(jù)同止/J/ O
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 設(shè)置模塊,用于為變更后的數(shù)據(jù)設(shè)置版本號(hào)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,在每次數(shù)據(jù)變更后,所述版本號(hào)進(jìn)行一次遞增。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 備份模塊,用于為進(jìn)行數(shù)據(jù)變更的客戶端備份鏡像文件,所述鏡像文件為所述客戶端當(dāng)前數(shù)據(jù)的副本。
【文檔編號(hào)】H04L29/08GK103716370SQ201310476939
【公開日】2014年4月9日 申請(qǐng)日期:2013年10月13日 優(yōu)先權(quán)日:2013年10月13日
【發(fā)明者】薛鵬飛, 鄭偉 申請(qǐng)人:北界創(chuàng)想(北京)軟件有限公司