CN102025756A - 分布式系统及其数据同步方法 - Google Patents

分布式系统及其数据同步方法 Download PDF

Info

Publication number
CN102025756A
CN102025756A CN2009101737103A CN200910173710A CN102025756A CN 102025756 A CN102025756 A CN 102025756A CN 2009101737103 A CN2009101737103 A CN 2009101737103A CN 200910173710 A CN200910173710 A CN 200910173710A CN 102025756 A CN102025756 A CN 102025756A
Authority
CN
China
Prior art keywords
data
slave node
node
level
amount threshold
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.)
Granted
Application number
CN2009101737103A
Other languages
English (en)
Other versions
CN102025756B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN200910173710.3A priority Critical patent/CN102025756B/zh
Publication of CN102025756A publication Critical patent/CN102025756A/zh
Application granted granted Critical
Publication of CN102025756B publication Critical patent/CN102025756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明提供了一种分布式系统的数据同步方法,包括:设置主节点为根节点,并将所有备节点分级为从属于根节点的至少两级;主节点向其下一级的一级备节点进行数据同步;一级备节点继续向其管辖的下一级的二级备节点进行数据同步,直到所有备节点数据同步完毕。本发明还提供了一种分布式系统。本发明解决了现有技术存在的主节点性能、网络带宽容易出现瓶颈,数据响应的时延过长的问题,从而提供了有效的数据同步方式,减轻了主节点的负担,缓解了网络带宽的需求,并极大地缩短了数据响应的时延,改善了用户体验。

Description

分布式系统及其数据同步方法
技术领域
本发明涉及通信领域,具体而言,涉及一种分布式系统及其数据同步方法。
背景技术
在分布式环境下,存在大量的数据访问需求,出于数据可靠性和负荷分担的考虑,往往采取多个数据节点的方式。
为了维护多个数据节点的数据一致性,目前一般采用两种数据同步方式:主备同步和对等同步。主备同步(如图1所示)即所有数据节点分为一个主节点和多个备节点,主节点可读可写,备节点只读,数据修改从主节点同步到备节点;对等同步即所有数据节点不分主备,均可读可写,数据修改从任意节点传播到其他所有节点。
主备同步方式由于实现相对简单、可靠,目前被较为广泛的采用。但是,发明人发现现有技术存在以下问题:由于主节点只有一个,大量的数据需要从主节点向多个备节点同步,主节点的性能非常容易出现瓶颈。另外,分布式环境下数据节点一般分布在多个地区,地区之间的距离跨度可能比较大,主节点所在的地区和其他备节点所在的地区之间的传输网络带宽也可能出现瓶颈。
发明内容
本发明旨在提供一种分布式系统及其数据同步方法,以解决现有技术存在的主节点性能、网络带宽容易出现瓶颈的问题。
根据本发明的一个方面,提供了一种分布式系统的数据同步方法,包括:设置主节点为根节点,并将所有备节点分级为从属于根节点的至少两级;主节点向其下一级的一级备节点进行数据同步;一级备节点继续向其管辖的下一级的二级备节点进行数据同步,直到所有备节点数据同步完毕。
优选地,所有备节点分级的级数不大于三级,且一个备节点归属于一个其上一级的备节点管辖。
优选地,当主节点和所有备节点分布在多个地区时,每个地区至少包括一个一级备节点。
优选地,每个备节点管辖的下一级的备节点为多个。
优选地,在主节点向其下一级的一级备节点进行数据同步之前还包括:配置数据修改有效所需的成功应答的备节点的数量阈值。
优选地,当将所有备节点分级为从属于主节点的两级,且在主节点配置数量阈值时,
主节点向其下一级的一级备节点进行数据同步包括:主节点根据接收到的客户端的数据修改请求更新数据,并向一级备节点发送数据同步请求;
一级备节点向其管辖的下一级的二级备节点进行数据同步,直到多个备节点数据同步完毕包括:一级备节点根据数据同步请求更新数据,成功后向主节点返回数据同步成功响应;主节点根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量是否大于或等于数量阈值且自身数据更新是否成功;若是,则向客户端返回数据修改成功响应。
优选地,当将所有备节点分级为从属于主节点的两级,且分别在主节点和一级备节点配置数量阈值时,
主节点向其下一级的一级备节点进行数据同步包括:主节点根据接收到的客户端的数据修改请求更新数据,并向一级备节点发送数据同步请求;
一级备节点向其管辖的下一级的二级备节点进行数据同步,直到多个备节点数据同步完毕包括:一级备节点根据数据同步请求更新数据,并向其管辖的二级备节点发送数据同步请求;二级备节点根据接收到的数据同步请求更新数据,成功后向其归属管辖的一级备节点返回数据同步成功响应;一级备节点根据接收到的数据同步成功响应判断其管辖的数据同步成功的二级备节点的数量是否大于或等于配置的数量阈值且自身数据更新是否成功;若是,则向主节点返回数据同步成功响应;主节点根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量是否大于或等于配置的数量阈值且自身数据更新是否成功;若是,则向客户端返回数据修改成功响应。
优选地,在主节点配置的数量阈值的范围在1和一级备节点的总数量之间;分别配置时,在每个一级备节点配置的数量阈值的范围在1和其管辖的二级备节点的数量之间;统一配置时,在一级备节点配置的数量阈值的范围在1和所有一级备节点管辖的二级备节点的数量的最小值之间。
根据本发明的另一个方面,还提供了一种分布式系统,包括:主节点,用于向其下一级的一级备节点进行数据同步,其中设置主节点为根节点,并将所有备节点分级为从属于根节点的至少两级;一级备节点,用于继续向其管辖的下一级的二级备节点进行数据同步,直到所有备节点数据同步完毕;二级备节点。
优选地,当将所有备节点分级为从属于主节点的两级,且在主节点配置数据修改有效所需的成功应答的备节点的数量阈值时,主节点还用于根据接收到的客户端的数据修改请求更新数据,向一级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量大于或等于数量阈值且自身数据更新成功,则向客户端返回数据修改成功响应;一级备节点还用于根据数据同步请求更新数据,成功后向主节点返回数据同步成功响应。
优选地,当将所有备节点分级为从属于主节点的两级,且分别在主节点和一级备节点配置数据修改有效所需的成功应答的备节点的数量阈值时,主节点还用于根据接收到的客户端的数据修改请求更新数据,向一级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量大于或等于配置的数量阈值且自身数据更新成功,则向客户端返回数据修改成功响应;一级备节点还用于根据数据同步请求更新数据,向其管辖的二级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断其管辖的数据同步成功的二级备节点的数量大于或等于配置的数量阈值且自身数据更新成功,则向主节点返回数据同步成功响应;二级备节点还用于根据接收到的数据同步请求更新数据,成功后向其归属管辖的一级备节点返回数据同步成功响应。
优选地,在主节点配置的数量阈值的范围在1和一级备节点的总数量之间;分别配置时,在每个一级备节点配置的数量阈值的范围在1和其管辖的二级备节点的数量之间;统一配置时,在一级备节点配置的数量阈值的范围在1和所有一级备节点管辖的二级备节点的数量的最小值之间。
因为通过将数据节点以级联的形式进行连接,当进行数据同步时上一级节点只需向其管辖的下一级节点进行数据同步即可,解决了现有技术存在的主节点性能、网络带宽容易出现瓶颈的问题,从而提供了有效的数据同步方式,减轻了主节点的负担,缓解了网络带宽的需求。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了现有技术的分布式环境主备同步方式下,数据同步处理示意图;
图2示出了根据本发明实施例的用于分布式系统的数据同步方法的流程图;
图3示出了根据本发明优选实施例的分布式系统的示意图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图2示出了根据本发明实施例的用于分布式系统的数据同步方法的流程图,包括以下步骤:
步骤S10,设置主节点为根节点,并将所有备节点分级为从属于根节点的至少两级;
步骤S20,主节点向其下一级的一级备节点进行数据同步;
步骤S30,一级备节点继续向其管辖的下一级的二级备节点进行数据同步,直到所有备节点数据同步完毕。
该实施例通过将数据节点以级联的形式进行连接,当进行数据同步时上一级节点只需向其管辖的下一级节点进行数据同步即可,解决了现有技术存在的主节点性能、网络带宽容易出现瓶颈的问题。使用该实施例提供了有效的数据同步方式,减轻了主节点的负担,缓解了网络带宽的需求。
优选地,所有备节点分级的级数不大于三级,且一个备节点归属于一个其上一级的备节点管辖;当主节点和所有备节点分布在多个地区时,每个地区至少包括一个一级备节点;每个备节点管辖的下一级的备节点为多个。
该优选实施例提供了对备节点进行分级的原则。
优选地,在主节点向其下一级的一级备节点进行数据同步之前还包括:配置数据修改有效所需的成功应答的备节点的数量阈值。
优选地,当将所有备节点分级为从属于主节点的两级,且在主节点配置数量阈值时,步骤S20包括:主节点根据接收到的客户端的数据修改请求更新数据,并向一级备节点发送数据同步请求;步骤S30包括:一级备节点根据数据同步请求更新数据,成功后向主节点返回数据同步成功响应;主节点根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量是否大于或等于数量阈值且自身数据更新是否成功;若是,则向客户端返回数据修改成功响应。
该优选实施例提供了采用同步/异步结合的方式时的一种具体实施方案。
优选地,当将所有备节点分级为从属于主节点的两级,且分别在主节点和一级备节点配置数量阈值时,步骤S20包括:主节点根据接收到的客户端的数据修改请求更新数据,并向一级备节点发送数据同步请求;步骤S30包括:一级备节点根据数据同步请求更新数据,并向其管辖的二级备节点发送数据同步请求;二级备节点根据接收到的数据同步请求更新数据,成功后向其归属管辖的一级备节点返回数据同步成功响应;一级备节点根据接收到的数据同步成功响应判断其管辖的数据同步成功的二级备节点的数量是否大于或等于配置的数量阈值且自身数据更新是否成功;若是,则向主节点返回数据同步成功响应;主节点根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量是否大于或等于配置的数量阈值且自身数据更新是否成功;若是,则向客户端返回数据修改成功响应。
该优选实施例提供了采用同步/异步结合的方式时的另一种具体实施方案。该优选实施例仅提供了当备节点分级为两级时采用同步/异步结合的数据同步方式的具体实施方案。同理可知,当备节点分级为三级或三级以上时,可以在主节点、一级备节点和二级备节点等上分别配置上述数量阈值,当备节点判断其管辖的数据同步成功的下一级的备节点的数量大于或等于配置的数量阈值且自身也已数据同步成功时才向其上一级的备节点返回数据同步成功响应,直到主节点也判断其管辖的数据同步成功的一级备节点的数量大于或等于配置的数量阈值且自身也已数据同步成功时向客户端返回数据修改成功响应。
其中,在上述的两个采用同步/异步结合的方式的优选实施例中,在主节点配置的数量阈值的范围在1和一级备节点的总数量之间;分别配置时,在每个一级备节点配置的数量阈值的范围在1和其管辖的二级备节点的数量之间;统一配置时,在一级备节点配置的数量阈值的范围在1和所有一级备节点管辖的二级备节点的数量的最小值之间。例如,有3个一级备节点:备节点#1、备节点#2和备节点#3,其管辖的二级备节点的数量分别为10、6和8,则分别配置时,在备节点#1配置的数量阈值为10、在备节点#2配置的数量阈值为6、在备节点#3配置的数量阈值为8;统一配置时,在备节点#1、备节点#2和备节点#3配置的数量阈值为min{10,6,8}=6。
通过配置不同的数量阈值来控制采用不同的数据同步方式,该优选实施例提供了采用同步/异步结合的方式时的数量阈值的取值范围。同理可知,当备节点分级为三级或三级以上时,在主节点配置的数量阈值的范围在1和所有一级备节点的总数量之间;分别配置时,每个备节点配置的数量阈值的范围在1和其管辖的下一级的备节点的数量之间;统一配置时,在每一级的备节点配置的数量阈值的范围在1和该级中所有备节点管辖的下一级的备节点的数量的最小值。其中,值得注意的是,最底层的备节点(即叶子节点)无需配置数量阈值。
此外,发明人发现现有技术还存在以下问题:在主备同步方式下对数据请求的常规处理为:主节点收到客户端的修改请求,只有向所有备节点同步完成后,才会向客户端返回修改成功应答。考虑到多个备节点的跨地区、远距离分布因素,所有备节点数据同步的持续时间会比较长,进而导致给客户端数据响应的时延过长。
采用上述的优选实施例通过配置数据修改有效所需的成功应答的备节点的数量阈值来控制采用同步/异步结合的数据同步方式,主节点判断一定数量的备节点完成了数据修改,即认为数据修改有效,其余备节点的数据修改可以后续完成,解决了现有技术存在的数据响应的时延过长的问题。采用上述的优选实施例能够有效地缩短数据响应时间,保证了数据同步的效率。
本发明的分布式环境下的数据同步方法包括以下方面:
1、主节点性能、网络带宽问题的解决
对该问题的解决采用级联同步方式,具体说明如下:
(1)对多个备节点进行分级,比如分为一级备节点、二级备节点;
(2)备节点分级的原则:
A、为了避免级联层次的过多,原则上节点的分级不宜超过三层。
B、对于多个地区的情况,原则上每个地区至少分配一个一级备节点。
C、每个上级备节点可以管辖数个下级备节点,原则上尽量保证每个上级备节点管辖的下级备节点数量相等。
D、每个下级备节点只能归属一个上级备节点,不能归属于同级或者下级备节点。
(3)主节点仅负责向一级备节点进行数据同步;
(4)一级备节点负责向其管辖的二级备节点进行数据同步,其余级别节点依次类推。
2、数据响应时延问题的解决
对该问题的解决采用同步/异步结合的方式,具体说明如下:
(1)数据同步方式
A、纯同步:即只有主节点和所有备节点同时完成了数据修改,数据修改才有效,否则,主节点已经完成的数据修改需要回滚。
B、纯异步:即只要主节点完成了数据修改,数据修改即有效,备节点的数据修改可以后续完成。
C、同步/异步结合:主节点判断一定数量的备节点完成了数据修改,即认为数据修改有效,其余备节点的数据修改可以后续完成。
同步/异步结合的方式既不是完全等待,也不是完全不等待,是数据安全、同步效率的折中,适合于多个备节点跨地区分布的场景。
(2)系统对数据修改有效所需的成功应答的备节点数量进行配置,可以控制采用纯同步(所需成功应答的备节点数量等于备节点的数量)、纯异步(所需成功应答的备节点数量等于0)、同步和异步结合的方式(所需成功应答的备节点数量介于1和备节点总数之间)。
(3)主节点收到备节点的数据同步响应,根据配置的数量进行判断,如果满足配置条件,则向客户端返回数据响应。
上述优选实施例能够有效地解决分布式环境下主备同步方式所面临的主节点性能、网络带宽和数据响应时延问题,从而提供了有效的数据同步方式,减轻了主节点的负担,缓解了网络带宽的需求,并极大地缩短了数据响应的时延,改善了用户体验。
图3示出了根据本发明优选实施例的分布式系统的示意图,包括:主节点(如主节点#1),用于向其下一级的一级备节点进行数据同步,其中设置主节点为根节点,并将所有备节点分级为从属于根节点的至少两级;一级备节点(如备节点#2、备节点#3、备节点#4、备节点#7),用于继续向其管辖的下一级的二级备节点进行数据同步,直到所有备节点数据同步完毕;二级备节点(如备节点#5、备节点#6、备节点#8、备节点#9)。
该实施例通过将数据节点以级联的形式进行连接,当进行数据同步时上一级节点只需向其管辖的下一级节点进行数据同步即可,解决了现有技术存在的主节点性能、网络带宽容易出现瓶颈的问题。使用该实施例提供了有效的数据同步方式,减轻了主节点的负担,缓解了网络带宽的需求。
优选地,如图3所示,当将所有备节点分级为从属于主节点的两级,且在主节点配置数据修改有效所需的成功应答的备节点的数量阈值时,主节点还用于根据接收到的客户端的数据修改请求更新数据,向一级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量大于或等于数量阈值且自身数据更新成功,则向客户端返回数据修改成功响应;一级备节点还用于根据数据同步请求更新数据,成功后向主节点返回数据同步成功响应。
该优选实施例提供了采用同步/异步结合的方式时的一种具体实施方案。
优选地,如图3所示,当将所有备节点分级为从属于主节点的两级,且分别在主节点和一级备节点配置数据修改有效所需的成功应答的备节点的数量阈值时,主节点还用于根据接收到的客户端的数据修改请求更新数据,向一级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量大于或等于配置的数量阈值且自身数据更新成功,则向客户端返回数据修改成功响应;一级备节点还用于根据数据同步请求更新数据,向其管辖的二级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断其管辖的数据同步成功的二级备节点的数量大于或等于配置的数量阈值且自身数据更新成功,则向主节点返回数据同步成功响应;二级备节点还用于根据接收到的数据同步请求更新数据,成功后向其归属管辖的一级备节点返回数据同步成功响应。
该优选实施例提供了采用同步/异步结合的方式时的另一种具体实施方案。
其中,在上述的两个采用同步/异步结合的方式的优选实施例中,在主节点配置的数量阈值的范围在1和一级备节点的总数量之间;分别配置时,在每个一级备节点配置的数量阈值的范围在1和其管辖的二级备节点的数量之间;统一配置时,在一级备节点配置的数量阈值的范围在1和所有一级备节点管辖的二级备节点的数量的最小值之间。
通过配置不同的数量阈值来控制采用不同的数据同步方式,该优选实施例提供了采用同步/异步结合的方式时的数量阈值的取值范围。同理可知,当备节点分级为三级或三级以上时,在主节点配置的数量阈值的范围在1和所有一级备节点的总数量之间;分别配置时,每个备节点配置的数量阈值的范围在1和其管辖的下一级的备节点的数量之间;统一配置时,在每一级的备节点配置的数量阈值的范围在1和该级中所有备节点管辖的下一级的备节点的数量的最小值。其中,值得注意的是,最底层的备节点(即叶子节点)无需配置数量阈值。
下面结合图1和图3详细地说明本发明的分布式环境下数据同步方法的处理流程。
如图1和图3所示,该分布式网络包括:1:地区-1;2:地区-2;3:地区-3;4:主节点#1;5:备节点#2;6:备节点#3;7:备节点#4;8:备节点#5;9:备节点#6;10:备节点#7;11:备节点#8;12:备节点#9;13:客户端;
其中,地区1-3,为分布式环境多数据节点分布的场所,此处三个仅为示意,实际不限于上述数量的限制;
主节点#1,为分布式环境多数据节点的主节点,负责接受客户端的读/写请求,并把本节点的数据变化依靠某种途径最终同步到各个备节点,主节点个数只能为一个;
备节点(#2-#9),为分布式环境多数据节点的备节点,负责接受客户端的读请求,并依靠某种途径实现与主节点的数据同步,此处八个仅为示意,实际不限于上述数量的限制;
结合图1,对分布式环境主备同步方式下,现有技术的数据同步处理进行说明:
(1)数据节点包括主节点#1和备节点#2-#9,所有备节点等同处理。
(2)主节点#1负责把数据同步到所有备节点(#2-#9)。
(3)主节点#1收到所有备节点(#2-#9)的数据同步成功响应后,向客户端返回数据修改响应。
结合图3,对分布式环境主备同步方式下,根据本发明优选实施例的级联同步处理进行说明:
(1)备节点分为两级:一级备节点(#2、#3、#4、#7);二级备节点(#5、#6、#8、#9)。
(2)主节点1负责把数据同步到所有一级备节点(#2、#3、#4、#7)。
(3)每个一级备节点负责把数据同步到各自管辖的二级备节点,其中备节点#4负责向备节点#5、备节点#6同步,备节点#7负责向备节点#8、备节点#9同步。
(4)主节点#1收到所有一级备节点(#2、#3、#4、#7)的数据同步成功响应后,向客户端返回数据修改响应。
对图1所示的现有技术的数据同步处理和图3所示的根据本发明优选实施例的级联同步处理进行比较:
假定主节点向单个备节点数据同步的消息次数发送为1000次/秒,网络流量为2MB/秒。
现有技术的数据同步方式下:
主节点的消息发送次数为:8*1000次/秒=8000次/秒;
地区之间的网络流量为:3*2MB/秒=6MB/秒。
根据本发明优选实施例的级联方式下:
主节点的消息发送次数为:4*1000次/秒=4000次/秒;
地区之间的网络流量为:1*2MB/秒=2MB/秒。
由上述数据可见,分布式环境主备同步方式下,根据本发明优选实施例的级联同步处理相对于现有技术的同步处理,可以有效地降低主节点的性能负荷瓶颈,以及地区之间的网络流量。并且随着节点、地区个数的递增,这一优势将会得到更为明显的体现。
结合图3,对分布式环境主备同步方式下,根据本发明优选实施例的同步/异步结合的处理进行说明:
(1)假定系统配置的数据修改有效所需的成功应答的备节点数量阈值为两个。
(3)主节点#1收到客户端的数据修改请求后,发送数据同步请求到所有一级备节点(#2、#3、#4、#7)。
(4)主节点#1收到任意两个一级备节点的数据同步成功响应后(此处假定为备节点#2、备节点#4),判断满足配置的数据同步成功条件,即向客户端返回数据修改响应。
通过上述处理,主节点不需等待所有备节点的响应即可向客户端返回数据响应,有效地降低了响应时间。同时,由于响应的备节点个数一般都设为大于等于一个,因此在保证效率的同时,数据的可靠性也能得到比较有效的保证。
在上述优选实施例的同步/异步结合的处理中,还可分别在主节点和一级备节点上配置数据修改有效所需的成功应答的备节点数量阈值(如主节点和一级备节点上的数量阈值分别为m和n),一级备节点判断收到n个其管辖的二级备节点的数据同步成功响应且其自身数据同步成功后,向主节点返回数据同步成功响应,主节点同样判断收到m个一级备节点的数据同步成功响应且其自身数据同步成功后,即向客户端返回数据修改响应。
从以上的描述中,可以看出,本发明实现了如下技术效果:因为通过将数据节点以级联的形式进行连接,当进行数据同步时上一级节点只需向其管辖的下一级节点进行数据同步即可,解决了现有技术存在的主节点性能、网络带宽容易出现瓶颈的问题,从而提供了有效的数据同步方式,减轻了主节点的负担,缓解了网络带宽的需求,改善了用户体验。此外,通过采用同步/异步结合的数据同步方式,解决了现有技术存在的数据响应的时延过长的问题,极大地缩短了数据响应的时延。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种分布式系统的数据同步方法,其特征在于,包括:
设置主节点为根节点,并将所有备节点分级为从属于所述根节点的至少两级;
所述主节点向其下一级的一级备节点进行数据同步;
所述一级备节点继续向其管辖的下一级的二级备节点进行数据同步,直到所述所有备节点数据同步完毕。
2.根据权利要求1所述的数据同步方法,其特征在于,所述所有备节点分级的级数不大于三级,且一个备节点归属于一个其上一级的备节点管辖。
3.根据权利要求1所述的数据同步方法,其特征在于,当所述主节点和所述所有备节点分布在多个地区时,每个地区至少包括一个所述一级备节点。
4.根据权利要求1所述的数据同步方法,其特征在于,每个备节点管辖的下一级的备节点为多个。
5.根据权利要求1所述的数据同步方法,其特征在于,在所述主节点向其下一级的一级备节点进行数据同步之前还包括:
配置数据修改有效所需的成功应答的备节点的数量阈值。
6.根据权利要求5所述的数据同步方法,其特征在于,当将所述所有备节点分级为从属于所述主节点的两级,且在所述主节点配置所述数量阈值时,
所述主节点向其下一级的一级备节点进行数据同步包括:
所述主节点根据接收到的客户端的数据修改请求更新数据,并向所述一级备节点发送数据同步请求;
所述一级备节点向其管辖的下一级的二级备节点进行数据同步,直到所述多个备节点数据同步完毕包括:
所述一级备节点根据所述数据同步请求更新数据,成功后向所述主节点返回数据同步成功响应;
所述主节点根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量是否大于或等于所述数量阈值且自身数据更新是否成功;
若是,则向所述客户端返回数据修改成功响应。
7.根据权利要求5所述的数据同步方法,其特征在于,当将所述所有备节点分级为从属于所述主节点的两级,且分别在所述主节点和所述一级备节点配置所述数量阈值时,
所述主节点向其下一级的一级备节点进行数据同步包括:
所述主节点根据接收到的客户端的数据修改请求更新数据,并向所述一级备节点发送数据同步请求;
所述一级备节点向其管辖的下一级的二级备节点进行数据同步,直到所述多个备节点数据同步完毕包括:
所述一级备节点根据所述数据同步请求更新数据,并向其管辖的所述二级备节点发送数据同步请求;
所述二级备节点根据接收到的数据同步请求更新数据,成功后向其归属管辖的所述一级备节点返回数据同步成功响应;
所述一级备节点根据接收到的数据同步成功响应判断其管辖的数据同步成功的二级备节点的数量是否大于或等于配置的所述数量阈值且自身数据更新是否成功;
若是,则向所述主节点返回数据同步成功响应;
所述主节点根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量是否大于或等于配置的所述数量阈值且自身数据更新是否成功;
若是,则向所述客户端返回数据修改成功响应。
8.根据权利要求6或7所述的数据同步方法,其特征在于,在所述主节点配置的所述数量阈值的范围在1和所述一级备节点的总数量之间;
分别配置时,在每个所述一级备节点配置的所述数量阈值的范围在1和其管辖的所述二级备节点的数量之间;
统一配置时,在所述一级备节点配置的所述数量阈值的范围在1和所有所述一级备节点管辖的所述二级备节点的数量的最小值之间。
9.一种分布式系统,其特征在于,包括:
主节点,用于向其下一级的一级备节点进行数据同步,其中设置所述主节点为根节点,并将所有备节点分级为从属于所述根节点的至少两级;
所述一级备节点,用于继续向其管辖的下一级的二级备节点进行数据同步,直到所述所有备节点数据同步完毕;
所述二级备节点。
10.根据权利要求9所述的分布式系统,其特征在于,当将所述所有备节点分级为从属于所述主节点的两级,且在所述主节点配置数据修改有效所需的成功应答的备节点的数量阈值时,
所述主节点还用于根据接收到的客户端的数据修改请求向所述一级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量大于或等于所述数量阈值,则向所述客户端返回数据修改成功响应;
所述一级备节点还用于根据所述数据同步请求更新数据,成功后向所述主节点返回数据同步成功响应。
11.根据权利要求9所述的分布式系统,其特征在于,当将所述所有备节点分级为从属于所述主节点的两级,且分别在所述主节点和所述一级备节点配置数据修改有效所需的成功应答的备节点的数量阈值时,
所述主节点还用于根据接收到的客户端的数据修改请求向所述一级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断数据同步成功的一级备节点的数量大于或等于配置的所述数量阈值,则向所述客户端返回数据修改成功响应;
所述一级备节点还用于根据所述数据同步请求更新数据,向其管辖的所述二级备节点发送数据同步请求,并根据接收到的数据同步成功响应判断其管辖的数据同步成功的二级备节点的数量大于或等于配置的所述数量阈值且自身数据更新成功,则向所述主节点返回数据同步成功响应;
所述二级备节点还用于根据接收到的数据同步请求更新数据,成功后向其归属管辖的所述一级备节点返回数据同步成功响应。
12.根据权利要求10或11所述的分布式系统,其特征在于,在所述主节点配置的所述数量阈值的范围在1和所述一级备节点的总数量之间;
分别配置时,在每个所述一级备节点配置的所述数量阈值的范围在1和其管辖的所述二级备节点的数量之间;
统一配置时,在所述一级备节点配置的所述数量阈值的范围在1和所有所述一级备节点管辖的所述二级备节点的数量的最小值之间。
CN200910173710.3A 2009-09-09 2009-09-09 分布式系统及其数据同步方法 Active CN102025756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910173710.3A CN102025756B (zh) 2009-09-09 2009-09-09 分布式系统及其数据同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910173710.3A CN102025756B (zh) 2009-09-09 2009-09-09 分布式系统及其数据同步方法

Publications (2)

Publication Number Publication Date
CN102025756A true CN102025756A (zh) 2011-04-20
CN102025756B CN102025756B (zh) 2014-09-10

Family

ID=43866610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910173710.3A Active CN102025756B (zh) 2009-09-09 2009-09-09 分布式系统及其数据同步方法

Country Status (1)

Country Link
CN (1) CN102025756B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298735A (zh) * 2011-07-28 2011-12-28 中兴通讯股份有限公司 一种业务管理系统级联操作的处理方法和装置
CN103139243A (zh) * 2011-11-24 2013-06-05 明博教育科技有限公司 一种基于星型分布式系统的文件同步方法
CN103197920A (zh) * 2013-03-25 2013-07-10 华为技术有限公司 一种并发控制方法、控制节点及系统
CN103580906A (zh) * 2012-08-09 2014-02-12 腾讯科技(深圳)有限公司 一种数据备份的方法、系统及服务器
CN103795754A (zh) * 2012-10-31 2014-05-14 中国电信股份有限公司 多系统间的数据同步方法和系统
WO2014078992A1 (zh) * 2012-11-20 2014-05-30 杭州华为数字技术有限公司 一种升级方法和节点设备
CN104699659A (zh) * 2013-12-09 2015-06-10 富士通株式会社 数据处理方法、装置以及系统
CN104980463A (zh) * 2014-04-04 2015-10-14 腾讯科技(深圳)有限公司 同步网络数据的方法和系统
CN105187465A (zh) * 2014-06-20 2015-12-23 中国科学院深圳先进技术研究院 一种文件的共享方法、装置及系统
CN105681401A (zh) * 2015-12-31 2016-06-15 深圳前海微众银行股份有限公司 分布式架构
CN105721531A (zh) * 2014-12-05 2016-06-29 华为软件技术有限公司 一种消息同步方法及装置
CN105760556A (zh) * 2016-04-19 2016-07-13 江苏物联网研究发展中心 低延时高吞吐量的多副本文件读写优化方法
CN105872056A (zh) * 2016-04-01 2016-08-17 浪潮电子信息产业股份有限公司 一种快速同步计算机集群数据的方法和系统
CN106648970A (zh) * 2016-11-04 2017-05-10 北京华为数字技术有限公司 文件备份方法和分布式文件系统
CN107102898A (zh) * 2016-02-23 2017-08-29 阿里巴巴集团控股有限公司 一种基于numa架构的内存管理、构建数据结构的方法及装置
CN108183965A (zh) * 2018-01-15 2018-06-19 郑州云海信息技术有限公司 一种数据同步方法、装置、设备、系统及可读存储介质
CN108616598A (zh) * 2018-05-10 2018-10-02 新华三技术有限公司成都分公司 数据同步方法、装置和分布式存储系统
CN109873714A (zh) * 2019-01-04 2019-06-11 平安科技(深圳)有限公司 云计算节点配置更新方法及终端设备
CN110381149A (zh) * 2019-07-24 2019-10-25 北京视界云天科技有限公司 数据分发方法、装置以及数据同步方法、装置
CN111125139A (zh) * 2019-12-26 2020-05-08 北京浪潮数据技术有限公司 一种多控制器的任务处理方法及相关装置
CN112437142A (zh) * 2020-11-13 2021-03-02 杭州米络星科技(集团)有限公司 多个数据中心的数据同步系统和方法
CN114500525A (zh) * 2021-12-24 2022-05-13 天翼云科技有限公司 分布式系统中节点更新的方法、装置、计算机设备及介质
CN114513525A (zh) * 2022-04-19 2022-05-17 北京易鲸捷信息技术有限公司 采用跨机房链式转发的数据一致性优化方法及系统
CN114745393A (zh) * 2022-03-31 2022-07-12 阿里云计算有限公司 会话同步系统及其方法、云计算中心和云计算设备
CN115314512A (zh) * 2022-10-09 2022-11-08 中孚信息股份有限公司 一种海量终端数据同步方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324571B1 (en) * 1998-09-21 2001-11-27 Microsoft Corporation Floating single master operation
CN1777178A (zh) * 2004-11-16 2006-05-24 国际商业机器公司 用于缓存器同步的装置、系统和方法
CN101035037A (zh) * 2007-04-17 2007-09-12 华为技术有限公司 检测网络通信质量的方法、系统及相关装置
CN101079869A (zh) * 2006-05-26 2007-11-28 腾讯科技(深圳)有限公司 一种基于分布式的数据同步方法及系统
CN101296108A (zh) * 2007-04-27 2008-10-29 华为技术有限公司 在结构化p2p中备份资源的方法、网络设备和系统
US20080301199A1 (en) * 2007-05-31 2008-12-04 Bockhold A Joseph Failover Processing in Multi-Tier Distributed Data-Handling Systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324571B1 (en) * 1998-09-21 2001-11-27 Microsoft Corporation Floating single master operation
CN1777178A (zh) * 2004-11-16 2006-05-24 国际商业机器公司 用于缓存器同步的装置、系统和方法
CN101079869A (zh) * 2006-05-26 2007-11-28 腾讯科技(深圳)有限公司 一种基于分布式的数据同步方法及系统
CN101035037A (zh) * 2007-04-17 2007-09-12 华为技术有限公司 检测网络通信质量的方法、系统及相关装置
CN101296108A (zh) * 2007-04-27 2008-10-29 华为技术有限公司 在结构化p2p中备份资源的方法、网络设备和系统
US20080301199A1 (en) * 2007-05-31 2008-12-04 Bockhold A Joseph Failover Processing in Multi-Tier Distributed Data-Handling Systems

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298735A (zh) * 2011-07-28 2011-12-28 中兴通讯股份有限公司 一种业务管理系统级联操作的处理方法和装置
CN102298735B (zh) * 2011-07-28 2017-04-26 中兴通讯股份有限公司 一种业务管理系统级联操作的处理方法和装置
CN103139243A (zh) * 2011-11-24 2013-06-05 明博教育科技有限公司 一种基于星型分布式系统的文件同步方法
CN103580906A (zh) * 2012-08-09 2014-02-12 腾讯科技(深圳)有限公司 一种数据备份的方法、系统及服务器
CN103580906B (zh) * 2012-08-09 2018-02-27 腾讯科技(深圳)有限公司 一种数据备份的方法、系统及服务器
CN103795754B (zh) * 2012-10-31 2017-08-25 中国电信股份有限公司 多系统间的数据同步方法和系统
CN103795754A (zh) * 2012-10-31 2014-05-14 中国电信股份有限公司 多系统间的数据同步方法和系统
WO2014078992A1 (zh) * 2012-11-20 2014-05-30 杭州华为数字技术有限公司 一种升级方法和节点设备
CN104471894A (zh) * 2012-11-20 2015-03-25 杭州华为数字技术有限公司 一种升级方法和节点设备
CN104471894B (zh) * 2012-11-20 2018-02-09 杭州华为数字技术有限公司 一种升级方法和节点设备
CN103197920B (zh) * 2013-03-25 2016-08-03 华为技术有限公司 一种并发控制方法、控制节点及系统
CN103197920A (zh) * 2013-03-25 2013-07-10 华为技术有限公司 一种并发控制方法、控制节点及系统
CN104699659A (zh) * 2013-12-09 2015-06-10 富士通株式会社 数据处理方法、装置以及系统
CN104980463A (zh) * 2014-04-04 2015-10-14 腾讯科技(深圳)有限公司 同步网络数据的方法和系统
CN104980463B (zh) * 2014-04-04 2019-03-05 腾讯科技(深圳)有限公司 同步网络数据的方法和系统
CN105187465A (zh) * 2014-06-20 2015-12-23 中国科学院深圳先进技术研究院 一种文件的共享方法、装置及系统
CN105187465B (zh) * 2014-06-20 2019-03-01 中国科学院深圳先进技术研究院 一种文件的共享方法、装置及系统
CN105721531A (zh) * 2014-12-05 2016-06-29 华为软件技术有限公司 一种消息同步方法及装置
CN105721531B (zh) * 2014-12-05 2020-01-31 华为软件技术有限公司 一种消息同步方法及装置
CN105681401A (zh) * 2015-12-31 2016-06-15 深圳前海微众银行股份有限公司 分布式架构
CN107102898B (zh) * 2016-02-23 2021-04-30 阿里巴巴集团控股有限公司 一种基于numa架构的内存管理、构建数据结构的方法及装置
CN107102898A (zh) * 2016-02-23 2017-08-29 阿里巴巴集团控股有限公司 一种基于numa架构的内存管理、构建数据结构的方法及装置
CN105872056B (zh) * 2016-04-01 2019-03-08 浪潮电子信息产业股份有限公司 一种快速同步计算机集群数据的方法和系统
CN105872056A (zh) * 2016-04-01 2016-08-17 浪潮电子信息产业股份有限公司 一种快速同步计算机集群数据的方法和系统
CN105760556B (zh) * 2016-04-19 2019-05-24 江苏物联网研究发展中心 低延时高吞吐量的多副本文件读写优化方法
CN105760556A (zh) * 2016-04-19 2016-07-13 江苏物联网研究发展中心 低延时高吞吐量的多副本文件读写优化方法
CN106648970A (zh) * 2016-11-04 2017-05-10 北京华为数字技术有限公司 文件备份方法和分布式文件系统
CN108183965A (zh) * 2018-01-15 2018-06-19 郑州云海信息技术有限公司 一种数据同步方法、装置、设备、系统及可读存储介质
CN108616598B (zh) * 2018-05-10 2021-01-01 新华三技术有限公司成都分公司 数据同步方法、装置和分布式存储系统
CN108616598A (zh) * 2018-05-10 2018-10-02 新华三技术有限公司成都分公司 数据同步方法、装置和分布式存储系统
CN109873714A (zh) * 2019-01-04 2019-06-11 平安科技(深圳)有限公司 云计算节点配置更新方法及终端设备
CN109873714B (zh) * 2019-01-04 2023-12-22 平安科技(深圳)有限公司 云计算节点配置更新方法及终端设备
CN110381149A (zh) * 2019-07-24 2019-10-25 北京视界云天科技有限公司 数据分发方法、装置以及数据同步方法、装置
CN110381149B (zh) * 2019-07-24 2022-03-18 北京视界云天科技有限公司 数据分发方法、装置以及数据同步方法、装置
CN111125139A (zh) * 2019-12-26 2020-05-08 北京浪潮数据技术有限公司 一种多控制器的任务处理方法及相关装置
CN111125139B (zh) * 2019-12-26 2022-04-22 北京浪潮数据技术有限公司 一种多控制器的任务处理方法及相关装置
CN112437142A (zh) * 2020-11-13 2021-03-02 杭州米络星科技(集团)有限公司 多个数据中心的数据同步系统和方法
CN112437142B (zh) * 2020-11-13 2022-05-31 杭州米络星科技(集团)有限公司 多个数据中心的数据同步系统和方法
CN114500525A (zh) * 2021-12-24 2022-05-13 天翼云科技有限公司 分布式系统中节点更新的方法、装置、计算机设备及介质
CN114500525B (zh) * 2021-12-24 2024-04-26 天翼云科技有限公司 分布式系统中节点更新的方法、装置、计算机设备及介质
CN114745393A (zh) * 2022-03-31 2022-07-12 阿里云计算有限公司 会话同步系统及其方法、云计算中心和云计算设备
CN114513525B (zh) * 2022-04-19 2022-07-05 北京易鲸捷信息技术有限公司 采用跨机房链式转发的数据一致性优化方法及系统
CN114513525A (zh) * 2022-04-19 2022-05-17 北京易鲸捷信息技术有限公司 采用跨机房链式转发的数据一致性优化方法及系统
CN115314512A (zh) * 2022-10-09 2022-11-08 中孚信息股份有限公司 一种海量终端数据同步方法及系统
CN115314512B (zh) * 2022-10-09 2023-02-17 中孚信息股份有限公司 一种海量终端数据同步方法及系统

Also Published As

Publication number Publication date
CN102025756B (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
CN102025756B (zh) 分布式系统及其数据同步方法
CN110034983B (zh) 基于发布-订阅消息处理机制的家居设备联动方法及系统
EP4178134A1 (en) Data transmission method, proxy server, storage medium, and electronic device
US20200374338A1 (en) Method, Apparatus, and System for Executing Distributed Transaction Resources
KR101706876B1 (ko) 서비스 처리 방법 및 장치
CN102684923A (zh) 一种半双工异步通信自愈组网方法
CN102870374B (zh) 负荷分担方法及装置、单板
CN108363764A (zh) 一种分布式缓存管理系统及方法
CN104038548A (zh) 服务器系统
CN104811403A (zh) 基于开放流的组表处理方法、装置及组表配置单元
CN103179009A (zh) 一种分布式管理系统的动态自适应调用方法
US9240896B2 (en) Method and system for USB connections over distinct network paths
CN101854563A (zh) Epon网络中发现进程的处理方法
CN105207866B (zh) 基于空调控制网络的控制终端的通信方法及空调控制网络
CN102681969B (zh) 基于can总线的长帧数据传输方法
US20120117278A1 (en) Method and system for partial USB enumeration and edge initiation
CN101937347A (zh) 专业网络化终端设备中管理自动升级的方法
CN104503709A (zh) 一种双控存储阵列的共享磁盘争用仲裁方法及系统
CN108737120A (zh) 一种机顶盒的待机方法和机顶盒
CN103118072B (zh) 一种数据库更新的方法及系统
CN106657264A (zh) 分布式系统及其数据同步方法
CN103077231B (zh) 一种数据库同步的方法及系统
CN109428951A (zh) 串联通讯系统中的地址自动分配方法
CN114554436A (zh) 无源物联网节点介质访问控制方法、系统、装置及介质
CN109862553B (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
C14 Grant of patent or utility model
GR01 Patent grant