CN103716370B - 在多个客户端之间进行数据同步的方法和装置 - Google Patents

在多个客户端之间进行数据同步的方法和装置 Download PDF

Info

Publication number
CN103716370B
CN103716370B CN201310476939.0A CN201310476939A CN103716370B CN 103716370 B CN103716370 B CN 103716370B CN 201310476939 A CN201310476939 A CN 201310476939A CN 103716370 B CN103716370 B CN 103716370B
Authority
CN
China
Prior art keywords
client
change
data
collection
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310476939.0A
Other languages
English (en)
Other versions
CN103716370A (zh
Inventor
薛鹏飞
郑伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northern Boundary Of Imagination (beijing) Software Co Ltd
Original Assignee
Northern Boundary Of Imagination (beijing) Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northern Boundary Of Imagination (beijing) Software Co Ltd filed Critical Northern Boundary Of Imagination (beijing) Software Co Ltd
Priority to CN201310476939.0A priority Critical patent/CN103716370B/zh
Publication of CN103716370A publication Critical patent/CN103716370A/zh
Application granted granted Critical
Publication of CN103716370B publication Critical patent/CN103716370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种在多个客户端之间进行数据同步的方法和装置,涉及互联网领域。其中,该方法包括:服务器接收客户端生成的变更集,其中,客户端中包括由多个元素构成的数据,客户端在每次数据变更后生成包含该次数据变更记录的变更集,客户端包括第一客户端和第二客户端,变更集包括第一客户端生成的第一变更集和第二客户端生成的第二变更集;当第一变更集和第二变更集包括对数据中不同元素的更变时,服务器根据第一变更集和第二变更集对第一客户端和第二客户端进行数据同步。通过本发明的实施方式,能够实现各客户端之间准确的数据同步。

Description

在多个客户端之间进行数据同步的方法和装置
技术领域
本发明涉及互联网领域,特别涉及一种在多个客户端之间进行数据同步的方法。
背景技术
网络账号的同步技术可以使用户在通过不同的客户端登陆同一个网络账号时,获取到相同的数据。
在不同客户端之间进行数据同步时,需要在不同的客户端上进行文件传送或删除多余文件,最终使多个客户端上的数据保持一致,当多个客户端上的内容均发生变更时,容易出现同步错误,例如,有两个客户端均添加了同一个新的应用,那么将这两个客户端上的数据同步到第三个客户端后,第三个客户端上可能会出现两个相同的该应用;或者多个客户端分别进行不同操作,进行同步时,无法根据不同的操作得到统一的同步结果。
对于现有技术中多个客户端无法得到统一同步结果的问题,目前没有好的解决办法。
发明内容
本发明实施例提供一种在多个客户端之间进行数据同步的方法和装置,以实现各客户端之间准确的数据同步。
本发明为了实现上述目的,提供一种在多个客户端之间进行数据同步的方法,包括:服务器接收客户端生成的变更集,其中,客户端中包括由多个元素构成的数据,客户端在每次数据变更后生成包含该次数据变更记录的变更集,客户端包括第一客户端和第二客户端,变更集包括第一客户端生成的第一变更集和第二客户端生成的第二变更集;当第一变更集和第二变更集包括对数据中不同元素的更变时,服务器根据第一变更集和第二变更集对第一客户端和第二客户端进行数据同步。
在一个实施例中,上述方法还包括:服务器确定生成第一变更集和第二变更集的顺序;当第一变更集和第二变更集中包括对数据中同一元素的不同更变时,服务器根据顺序在后的变更集对第一客户端和第二客户端进行数据同步。
在一个实施例中,在服务器上为变更后的数据设置版本号。
在一个实施例中,在每次数据变更后,版本号进行一次递增。
在一个实施例中,服务器为进行数据变更的客户端备份镜像文件,镜像文件为客户端当前数据的副本。
本发明为了实现上述目的,还提供一种在多个客户端之间进行数据同步的装置,接收模块,用于接收客户端生成的变更集,其中,客户端中包括由多个元素构成的数据,客户端在每次数据变更后生成包含该次数据变更记录的变更集,客户端包括第一客户端和第二客户端,变更集包括第一客户端生成的第一变更集和第二客户端生成的第二变更集;第一同步模块,用于当第一变更集和第二变更集包括对数据中不同元素的更变时,根据第一变更集和第二变更集对第一客户端和第二客户端进行数据同步。
在一个实施例中,上述装置还包括:处理模块,用于确定生成第一变更集和第二变更集的顺序;第二同步模块,用于当第一变更集和第二变更集中包括对数据中同一元素的不同更变时,根据顺序在后的变更集对第一客户端和第二客户端进行数据同步。
在一个实施例中,上述装置还包括:设置模块,用于为变更后的数据设置版本号。
在一个实施例中,在每次数据变更后,版本号进行一次递增。
在一个实施例中,上述装置还包括:备份模块,用于为进行数据变更的客户端备份镜像文件,镜像文件为客户端当前数据的副本。
本发明通过各客户端的变更集对所有客户端进行数据同步,实现准确的数据同步。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例示出的在多个客户端之间进行数据同步的方法100的流程图;
图2A是本发明第一优选实施例示出的在不同客户端之间进行数据同步的方法200的流程图;
图2B是本发明第一优选实施例示出的第一示意图;
图2C是本发明第一优选实施例示出的第二示意图;
图2D是本发明第一优选实施例示出的第三示意图;
图2E是本发明第一优选实施例示出的第四示意图;
图2F是本发明第一优选实施例示出的第五示意图;
图3A是本发明第二优选实施例示出的一种对多个客户端中的数据进行同步的方法的流程图;
图3B是本发明第二优选实施例示出的第一示意图;
图3C是本发明第二优选实施例示出的第二示意图;
图3D是本发明第二优选实施例示出的第三示意图;
图3E是本发明第二优选实施例示出的另一种对多个客户端中的数据进行同步的方法的流程图;
图3F是本发明第二优选实施例示出的第四示意图;
图3G是本发明第二优选实施例示出的第五示意图;
图3H是本发明第二优选实施例示出的第六示意图;
图4是本发明实施例示出的在多个客户端之间进行数据同步的装置400的结构框图;
图5是本发明第一优选实施例示出的在多个客户端之间进行数据同步的装置500的结构框图;以及
图6是本发明第二优选实施例示出的在多个客户端之间进行数据同步的装置600的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例作进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
现在将参考附图进一步详细描述本发明。本发明可以许多不同的形式来实现,不应该被理解为仅限于此处所阐述的实施例。这些实施例只作为示例提供,以便为本领域技术人员提供对本发明的完全理解。
本发明实施例提供了一种在多个客户端之间进行数据同步的方法,图1是本发明实施例示出的在多个客户端之间进行数据同步的方法100的流程图。
本实施例首先以两个客户端的同步为例,对多个客户端之间的同步方法进行描述,如果任意两个客户端都能得到统一的同步结果,则所有的客户端都能得到统一的同步结果。
该方法的执行主体可以是一台服务器,如图1所示,该方法包括以下步骤:
步骤110,服务器接收客户端生成的变更集。
客户端中包括由多个元素构成的数据,每个元素可以是一个应用、文件或链接等,通过添加元素、删减元素或者调整元素的位置等方式,可以进行数据变更,客户端在每次数据变更后生成包含该次数据变更记录的变更集。
客户端包括第一客户端和第二客户端,变更集包括第一客户端生成的第一变更集和第二客户端生成的第二变更集。本实施例中的“第一”和“第二”不是对数量的限定,而是作为多个客户端之间的区分,第一客户端可以是客户端11,第二客户端可以是客户端12,以下是在一次数据变更时,由客户端11生成的一个第一变更集的实例,客户端11在初始状态的数据为空集,变更后的数据为(a、b、c、d),此时,a、b、c、d分别为数据中的元素,生成的第一变更集如下:
从该变更集可以看出,客户端11添加了元素a,元素a的前面previous是None,即元素a的前面没有其他数据,元素a的属性properties可以根据需求进行设置,在本实施例中为其他属性other properties。本实施例中为元素a、b、c、d设置了属性,但本领域一般技术人员应当理解的是,数据有多种划分为元素的方式,因此元素也可能没有设置属性。
客户端11还添加了元素b、元素c和元素d,元素b的previous为元素a,元素c的previous为元素b,元素d的previous为元素c,即客户端11更变后的数据为(a、b、c、d),通过变更集可以得出变更后的数据,同理,通过变更后的数据也可以得出该次数据变更的变更集。
具体实施例中,服务器上还可以为变更后的数据设置版本号,版本号可以通过调用计数器来实现,服务器上的数据在同步时每进行一次变更,版本号自动进行一次递增,例如初始状态版本号为0,服务器上的数据在每次变更后,版本号加1,该次与服务器进行同步的客户端在同步后被设置为与服务器具有相同版本号。
优选地,服务器可以在每次数据变更后为进行数据变更的客户端备份一个版本的镜像文件,客户端通过和服务器上的镜像文件进行对比,可以比较简便地生成变更集。例如:客户端11的版本对应于服务器上的镜像文件为按预设格式存数的数据副本。
步骤120,当第一变更集和第二变更集包括针对数据中不同元素的更变时,服务器根据第一变更集和第二变更集对第一客户端和第二客户端进行数据同步。
例如,第一变更集删掉(a、b、c、d)中的元素a,第二变更集删掉(a、b、c、d)中的元素d,由于针对的元素不同,则第一变更集和第二变更集包括对不同元素的变更;如果第一变更集将(a、b、c、d)中的元素a变更为元素e,第二变更集将(a、b、c、d)中的元素a变更为元素f,由于都对元素a进行了变更,则第一变更集和第二变更集包括对同一元素的不同变更。
如果两个客户端产生了变更集,在进行客户端之间的同步时,首先将第一个客户端的变更集同步到服务器上,服务器得到变更后的数据(X),然后将第二个客户端的变更集同步到服务器上,服务器得到变更后的数据(X+Y),最后服务器将变更后的数据(X+Y)同步到各客户端。具体同步方式详见后文描述。
步骤130,服务器确定生成第一变更集和第二变更集的顺序,当第一变更集和第二变更集包括对数据中同一元素的不同更变时,根据顺序在后的变更集对第一客户端和第二客户端进行数据同步。
在某些特定情况下,两个客户端可能对同一元素进行不同的更变,例如客户端11对数据中的元素a进行变更,将数据(a、b)变更为(c、b),而客户端12也对数据中的元素a进行变更,将数据(a、b)变更为(d、b)时,此时需先确定两个客户端生成变更集的顺序,根据顺序在后的变更集进行同步。
确定变更集的顺序可以根据各变更集的获取时间或者生成时间,例如客户端11在生成变更集时会记录时间t1,客户端12在生成变更集时会记录时间t2,在判断出t1和t2的先后顺序后,根据预先的设定,按顺序在后的变更集进行同步即可。例如t1是2013/1/1/0:1,t2是2013/1/1/0:31,即t1为2013年1月1日凌晨0点1分,t2为2013年1月1日凌晨0点31分,由于t2的顺序在t1之后,则按照t2对应的变更集进行同步。
在一种情况下,在两次同步之间的时间里,一个客户端对数据有过多次数据变更,根据多次数据变更的情况,生成一个变更集,变更集的时间为最后一次变更后生成变更集的时间,例如客户端11包含分别在t11和t12(t12>t11)两个时间添加了a和b,则该客户端11的第一变更集为:
生成变更集的时间为t12。
同样,客户端12包含分别在t21和t22(t22>t21)两个时间添加了c和d,则该客户端12的第二变更集为:
生成变更集的时间为t21。
具体数据同步示意如下:初始状态下服务器、客户端11和客户端12的版本号均为0,客户端11和客户端12分别产生变更集,服务器首先与客户端11(或与客户端11的镜像文件)进行同步,在该次同步结束后,服务器和客户端11的版本号升为1,客户端12的版本号仍为0;然后服务器在于客户端12进行同步,在该次同步结束后,服务器和客户端12的版本号升为2,客户端11的版本号仍为1,最后将服务器上的内容同步到客户端11,由于本次同步客户端12没有生成新的变更集,即服务器上的数据没有变化,所以服务器的版本号不会加1,此时客户端12的版本号也升为2,以与服务端保持一致。
版本号可以确保各版本的准确的变更,例如从初始状态开始,服务器第一次同步的变更集为x,第二次同步的变更集为y,如果某一客户端没有根据第一次的变更集x进行同步,而只根据第二次的变更集y进行同步,则该客户端上的数据是不准确的。通过设置版本号可以解决该问题,例如服务器在进行第一次同步后版本号为1,在进行第二次同步后版本号升为2,进行了第一次同步的各客户端的版本号均为1,未被同步的客户端的版本号仍为0,那么在下次同步时,根据该客户端的版本号,可以确定该客户端数据缺失。在这种情况下,可以用服务器当前数据替换该客户端上的数据,以保证各客户端数据的一致。
图2A是本发明第一优选实施例示出的在不同客户端之间进行数据同步的方法200的流程图。
本实施例描述了客户端第一次与服务器进行同步时的操作步骤。如果客户端是第一次与服务器进行同步,则直接将从服务器上同步时获取的数据添加到客户端中原有数据的后面。本实施例以三个客户端:客户端21、客户端22和客户端23,以及服务器24为例,对服务器24和不同客户端之间进行数据同步的方法进行描述,如图2A所示,该方法包括步骤210至步骤250。
步骤210,客户端21与服务器24同步。
初始状态下,客户端21、客户端22、客户端23和服务器24上均没有数据,如图2B所示,变更后客户端21上包括数据(a、b、c),客户端22上包括数据(d、e、f),客户端23上包括数据(g、h、i),即客户端21产生的变更集为增加元素a、元素b、元素c,客户端22产生的变更集为增加元素d、元素e、元素f,客户端23产生的变更集为增加元素g、元素h、元素i。在对这些变更的数据进行同步前,客户端21、客户端22、客户端23和服务器24的版本号均为0,将客户端21上的数据(或客户端21在服务器24上的镜像文件)同步到服务器24上以后,服务器24上包括数据(a、b、c),此时服务器24和客户端21的版本号升为1,客户端22和客户端23版本号仍为0。
步骤220,客户端22与服务器24同步。
如图2C所示,客户端21上包括数据(a、b、c),客户端22上包括数据(d、e、f),客户端23上包括数据(g、h、i)。同步前,服务器24上包括数据(a、b、c),且服务器24的版本号为1。将客户端22上的数据与服务器24进行同步以后,即服务器24在原有数据上增加元素d、元素e、元素f,并将增加后的数据同步给客户端22,则服务器24和客户端22上包括数据(a、b、c、d、e、f),此时,由于客户端21仅参与了第一次同步,而客户端22和服务器24参与了第二次同步,所以客户端21的版本号仍为1,服务器24和客户端22的版本号升为2,客户端23的版本号仍为0。
步骤230,客户端23与服务器24同步。
如图2D所示,客户端21上包括数据(a、b、c),客户端22上包括数据(a、b、c、d、e、f),客户端23上包括数据(g、h、i)。同步前,服务器24上包括数据(a、b、c、d、e、f),此时服务器24的版本号为2,将客户端23上的数据与服务器24同步以后,服务器24和客户端23上包括数据(a、b、c、d、e、f、g、h、i),此时客户端21的版本号仍为1,客户端22的版本号为2,服务器24和客户端23的版本号升为3。
步骤240,服务器24与客户端22同步。
如图2E所示,客户端21上包括数据(a、b、c),客户端22上包括数据(a、b、c、d、e、f),客户端23上包括数据(a、b、c、d、e、f、g、h、i)。在进行下一次同步前,服务器24上包括数据(a、b、c、d、e、f、g、h、i),将服务器24上的数据同步到客户端22上,客户端22上数据也包括(a、b、c、d、e、f、g、h、i),此时,服务器24、客户端22和客户端23的版本号均为3,客户端21的版本号仍为1。
步骤250,服务器24与客户端21同步。
如图2F所示,客户端21上包括数据(a、b、c),客户端22、客户端23和服务器24上均包括数据(a、b、c、d、e、f、g、h、i)。将服务器24上的数据同步到客户端21上以后,客户端21上也包括数据(a、b、c、d、e、f、g、h、i),此时,客户端21、客户端22、客户端23和服务器24上的数据相同,且版本号均为3。
至此,本次多个客户端的数据同步就全部完成。
在上一个实施例中,各客户端的变更均针对不同的数据,在另一个实施例中,先后对同一数据进行不同的变更会导致完全不同的同步效果,本实施例将按两种不同的顺序对一个数据进行变更,并进行同步,下面以客户端31、客户端32和服务器33为例,进行详细说明,图3A是本发明第二优选实施例示出的一种对多个客户端中的数据进行同步的方法的流程图。
如图3A所示,该方法包括步骤310A至步骤330A。
步骤310A,客户端31与服务器33同步。
初始状态下,客户端31、客户端32和服务器33上的数据均为(a、b),版本号均为0,同步前,客户端31先将元素b变更为元素c,即客户端31的数据变更为(a、c);客户端32再将元素b变更为元素d,并添加元素e,即客户端32的内容变更为(a、d、e),在客户端31与服务器33同步后,如图3B所示,服务器33和客户端31上的数据都是(a、c),服务器33和客户端31的版本号上升为1,客户端32的版本号仍为0。
步骤320A,客户端32与服务器33同步。
如图3C所示,客户端31上包括数据(a、c),客户端32上包括数据(a、d、e),将客户端32与服务器33同步,客户端31和客户端32对服务器33上的同一数据进行了不同的变更,客户端31将元素b变更为元素c,客户端32将元素b变更为元素d,根据预先的设置,不同客户端对同一数据的变更以后变更的为准,因此此时对元素b的变更以客户端32的变更为准,将服务器33与客户端32同步后,服务器33和客户端32上包括数据(a、d、e),此时服务器33和客户端32的版本号升为2,客户端31的版本号仍为1。
步骤330A,服务器33与客户端31同步。
如图3D所示,本次同步前,客户端31上包括数据(a、c),服务器33上包括数据(a、d、e),服务器33与客户端31同步后,客户端31的数据变更为(a、d、e),客户端31的版本号升为2。
图3E是本发明第二优选实施例示出的另一种对多个客户端中的数据进行同步的方法的流程图。如图3E所示,包括如下步骤:
步骤310E,客户端31与服务器33同步。
初始状态下,客户端31、客户端32和服务器33上的数据均为(a、b),版本号均为0,同步前,客户端32先将元素b变更为元素d,并添加元素e;客户端31再将元素b变更为元素c,在客户端31与服务器33同步后,如图3F所示,服务器33和客户端31上包括的数据都是(a、c),服务器33和客户端31的版本号上升为1,客户端32的数据不变,版本号仍为0。
步骤320E,客户端32与服务器33同步。
如图3G所示,客户端31上包括数据(a、c),客户端32上包括数据(a、d、e),将客户端32与服务器33同步,客户端31和客户端32对服务器33上的同一数据进行了不同的变更,客户端31将元素b变更为元素c,客户端32将元素b变更为元素d,由于不同客户端对同一数据的变更以后变更的为准,因此对元素b的变更以客户端31的变更为准,将服务器33与客户端32同步后,服务器33和客户端32上包括数据(a、c、e),此时服务器33和客户端32的版本号升为2,客户端31的版本号仍为1。
步骤330E,服务器33与客户端31同步。
如图3H所示,同步前,客户端31上包括数据(a、c),服务器33上包括数据(a、c、e),服务器33与客户端31同步后,客户端31也包括与服务器相同的数据(a、c、e),此时客户端31的版本号升为2。
根据图3A和图3E所示的实施例,可以看出,通过变更集的不同顺序会导致完全不同的同步效果。
本发明实施例还提供了一种在多个客户端之间进行数据同步的装置。该装置可以被设置在服务器中,以实现在多个客户端之间进行数据同步的方法。
图4是本发明实施例示出的在多个客户端之间进行数据同步的装置400的结构框图,如图4所示,该装置400包括接收模块402和第一同步模块404。
接收模块402用于接收客户端生成的变更集,其中,客户端中包括由多个元素构成的数据,客户端在每次数据变更后生成包含该次数据变更记录的变更集,客户端包括第一客户端和第二客户端,变更集包括第一客户端生成的第一变更集和第二客户端生成的第二变更集;
第一同步模块404用于当第一变更集和第二变更集包括对数据中不同元素的更变时,根据第一变更集和第二变更集对第一客户端和第二客户端进行数据同步。
图5是本发明第一优选实施例示出的在多个客户端之间进行数据同步的装置500的结构框图,如图5所示,该装置500在装置400的基础上还包括处理模块502和第二同步模块504。
处理模块502用于确定生成第一变更集和第二变更集的顺序。
第二同步模块504用于当第一变更集和第二变更集中包括对数据中同一元素的不同更变时,根据顺序在后的变更集对第一客户端和第二客户端进行数据同步。
图6是本发明第二优选实施例示出的在多个客户端之间进行数据同步的装置600的结构框图,如图6所示,该装置600在装置400的基础上还包括设置模块602。
设置模块602用于为变更后的数据设置版本号。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种在多个客户端之间进行数据同步的方法,其特征在于,包括:
服务器接收所述客户端生成的变更集,在所述服务器上为变更后的数据设置版本号,在每次数据变更后,所述版本号进行一次递增并为所述数据变更的客户端备份镜像文件,其中,所述客户端中包括由多个元素构成的数据,所述客户端在数据变更后与所述服务器上最后一次数据变更后的镜像文件对比生成所述客户端该次数据变更记录的所述变更集,所述客户端包括第一客户端和第二客户端,所述变更集包括所述第一客户端生成的第一变更集和所述第二客户端生成的第二变更集;
当所述第一变更集和所述第二变更集包括对所述数据中不同元素的变更时,所述服务器根据服务器数据的版本号和客户端数据的版本号,以及所述第一变更集和所述第二变更集对所述第一客户端和所述第二客户端进行数据同步;所述客户端在同步后被设置为与所述服务器具有相同版本号。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述服务器确定生成所述第一变更集和所述第二变更集的顺序;
当所述第一变更集和所述第二变更集中包括对所述数据中同一元素的不同更变时,所述服务器根据顺序在后的变更集对所述第一客户端和所述第二客户端进行数据同步。
3.根据权利要求1所述的方法,其特征在于,所述服务器为进行数据变更的客户端备份镜像文件,所述镜像文件为所述客户端当前数据的副本。
4.一种在多个客户端之间进行数据同步的装置,其特征在于,包括:
接收模块,用于接收所述客户端生成的变更集,在服务器上为变更后的数据设置版本号,在每次数据变更后,所述版本号进行一次递增并为所述数据变更的客户端备份镜像文件,其中,所述客户端中包括由多个元素构成的数据,所述客户端在数据变更后与所述服务器上最后一次数据变更后的镜像文件对比生成所述客户端该次数据变更记录的所述变更集,所述客户端包括第一客户端和第二客户端,所述变更集包括所述第一客户端生成的第一变更集和所述第二客户端生成的第二变更集;
第一同步模块,用于当所述第一变更集和所述第二变更集包括对所述数据中不同元素的更变时,根据服务器数据的版本号和客户端数据的版本号,以及所述第一变更集和所述第二变更集对所述第一客户端和所述第二客户端进行数据同步,所述客户端在同步后被设置为与所述服务器具有相同版本号。
5.根据权利要求4所述的装置,其特征在于,还包括:
处理模块,用于确定生成所述第一变更集和所述第二变更集的顺序;
第二同步模块,用于当所述第一变更集和所述第二变更集中包括对所述数据中同一元素的不同更变时,根据顺序在后的变更集对所述第一客户端和所述第二客户端进行数据同步。
6.根据权利要求4所述的装置,其特征在于,还包括:
备份模块,用于为进行数据变更的客户端备份镜像文件,所述镜像文件为所述客户端当前数据的副本。
CN201310476939.0A 2013-10-13 2013-10-13 在多个客户端之间进行数据同步的方法和装置 Active CN103716370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310476939.0A CN103716370B (zh) 2013-10-13 2013-10-13 在多个客户端之间进行数据同步的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310476939.0A CN103716370B (zh) 2013-10-13 2013-10-13 在多个客户端之间进行数据同步的方法和装置

Publications (2)

Publication Number Publication Date
CN103716370A CN103716370A (zh) 2014-04-09
CN103716370B true CN103716370B (zh) 2018-01-02

Family

ID=50408942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310476939.0A Active CN103716370B (zh) 2013-10-13 2013-10-13 在多个客户端之间进行数据同步的方法和装置

Country Status (1)

Country Link
CN (1) CN103716370B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967660B (zh) * 2015-05-11 2018-01-05 华中科技大学 一种面向多云架构的网络性能提升方法
CN106713392B (zh) * 2015-11-13 2020-10-27 阿里巴巴集团控股有限公司 数据同步方法、装置和***
CN106055353B (zh) * 2016-05-23 2019-03-29 北京小米移动软件有限公司 数据更新方法及装置
CN106296365A (zh) * 2016-08-19 2017-01-04 北京三快在线科技有限公司 一种购买操作共享方法及装置
CN106779936B (zh) * 2016-12-08 2020-09-22 上海携程国际旅行社有限公司 订单验证***及订单验证方法
CN107172169A (zh) * 2017-05-27 2017-09-15 广东欧珀移动通信有限公司 数据同步方法、装置、服务器及存储介质
CN109614442B (zh) * 2018-11-02 2020-12-25 东软集团股份有限公司 数据同步的数据表维护方法、装置、存储介质和电子设备
CN111901420B (zh) * 2020-07-28 2023-06-16 深圳市康冠科技股份有限公司 一种数据同步方法、装置及***
CN112685346B (zh) * 2020-12-29 2023-03-14 中电科航空电子有限公司 一种基于arinc429总线的多设备数据同步方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582908A (zh) * 2009-06-30 2009-11-18 杭州华三通信技术有限公司 一种参数配置方法和设备
CN101621398A (zh) * 2008-06-30 2010-01-06 中兴通讯股份有限公司 客户/服务器***及其多个客户端自动同步配置的方法
CN101741830A (zh) * 2009-11-09 2010-06-16 深圳市同洲电子股份有限公司 实现多客户端数据同步的方法、***、客户端及服务器
CN102089760A (zh) * 2008-03-04 2011-06-08 苹果公司 同步服务器处理

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW579463B (en) * 2001-06-30 2004-03-11 Ibm System and method for a caching mechanism for a central synchronization server
CN101064630B (zh) * 2006-04-24 2011-09-21 华为技术有限公司 一种数据同步方法及***
CN101127869B (zh) * 2007-09-20 2010-06-16 中兴通讯股份有限公司 一种电子业务指南内容信息的更新和传输方法
CN103259824B (zh) * 2012-02-21 2016-03-09 深圳市腾讯计算机***有限公司 分布式数据存储***中数据路由的同步方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102089760A (zh) * 2008-03-04 2011-06-08 苹果公司 同步服务器处理
CN101621398A (zh) * 2008-06-30 2010-01-06 中兴通讯股份有限公司 客户/服务器***及其多个客户端自动同步配置的方法
CN101582908A (zh) * 2009-06-30 2009-11-18 杭州华三通信技术有限公司 一种参数配置方法和设备
CN101741830A (zh) * 2009-11-09 2010-06-16 深圳市同洲电子股份有限公司 实现多客户端数据同步的方法、***、客户端及服务器

Also Published As

Publication number Publication date
CN103716370A (zh) 2014-04-09

Similar Documents

Publication Publication Date Title
CN103716370B (zh) 在多个客户端之间进行数据同步的方法和装置
JP7090744B2 (ja) 分散データベースクラスタシステム、及びデータ同期方法
CN105262831B (zh) 一种存储***间同步数据的方法、装置及同步***
CN106844477B (zh) 区块链***、区块查找方法和区块链后向同步方法
US8260742B2 (en) Data synchronization and consistency across distributed repositories
CN103970833A (zh) 一种基于日志的异构数据库同步***中双向同步数据循环的解决方法
CN106776894A (zh) 日志数据库***和同步方法
CN105488210B (zh) 一种批量数据匹配方法及装置
CN105376277B (zh) 一种数据同步方法及装置
JP2009545815A (ja) ウェブシンジケーションを介した双方向マルチマスタ同期
CN103312826B (zh) 文件同步的方法、装置、客户端、服务器端及设备
US20140279876A1 (en) Storing and processing data organized as flexible records
CN108595522A (zh) 一种增量同步方法、装置及***
CN103324696B (zh) 一种数据日志收集与统计分析***和方法
CN108776702A (zh) 一种数据填报页面自定义可视化配置方法
CN106453297A (zh) 检测主从延时方法、装置和***
CN110209730A (zh) 变更数据的同步方法、装置、计算机设备及计算机存储介质
CN107562882A (zh) 一种基于日志分析的数据同步方法及装置
CN107451108A (zh) 一种协同编辑文档的方法和***
US10664494B2 (en) Method and system for synchronously storing multi-modal information of portable endoscope
CN109446177A (zh) 一种分布式文件***目录文件个数配额的实现方法及装置
CN111753015B (zh) 支付清算***的数据查询方法及装置
CN106663048A (zh) 日志记录***、日志记录装置、数据日志记录方法
CN102594874B (zh) 一种同步处理方法和装置
CN101610225B (zh) 一种同步处理方法、***和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant