CN103516734B - 数据处理方法、设备和系统 - Google Patents
数据处理方法、设备和系统 Download PDFInfo
- Publication number
- CN103516734B CN103516734B CN201210204318.2A CN201210204318A CN103516734B CN 103516734 B CN103516734 B CN 103516734B CN 201210204318 A CN201210204318 A CN 201210204318A CN 103516734 B CN103516734 B CN 103516734B
- Authority
- CN
- China
- Prior art keywords
- node
- node device
- business datum
- backup
- telegon
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种数据处理方法、设备和系统,应用于包括协调器和多个节点设备的分布式系统,该方法包括:协调器对各节点设备进行监测;当所述协调器监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息,确定所述业务数据发生变化的节点设备的备份节点设备,并向该第一业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其备份节点设备上对应的第二业务数据。通过采用本申请提供的技术方案,提高了分布式系统内数据存储的安全性,并提高了节点设备的资源利用率。
Description
技术领域
本申请涉及互联网技术应用领域,特别是涉及一种数据处理方法、设备和系统。
背景技术
随着互联网技术的高速发展,计算机软件应用需求已经逐渐向响应时间、可升级性以及快速数据增长等方向转变。为了适应这些需求,应用部署模式已经从使用直接附带存储器的单个主机上运行应用发展到分布式环境中,其中,在该分布式环境中将应用工作负荷分布在使用集中式存储模型的多个主机上。
在分布式系统中每个主机设备都称为“节点”,为保证系统数据具备容灾能力,数据需要备份(冗余)到一个或多个节点上。
在现有的一种分布式系统数据备份方案中,新数据被写入系统中时,为保证写入的一致性,系统中只有一个节点对外提供写入接口,这个节点称为Master节点(主节点),但数据写入Master节点的同时,Master节点保证将同样的数据写入至少另一个节点,该节点称为Slave节点(从节点)。
在该技术方案中,由于Slave节点在Master节点正常工作时,不提供对外的写服务,以一个Master节点对应一个Slave节点为例,若分布式系统中节点数为N,则其中有N/2的节点资源利用率会很低;同时,一旦Master节点不可用后,此时系统虽然可用,但现有数据已陷入单点的危机中,需人工介入恢复Master或新增节点。
发明内容
本申请的目的在于,提供一种数据处理方法、设备和系统,以提高分布式系统内数据存储的安全性,并提高节点设备的资源利用率,为此,本申请实施
一种数据处理的方法,应用于包括协调器和多个节点设备的分布式系统,各节点设备中存储有第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据,所述协调器中记录有系统内各节点设备之间的数据备份关系信息;该方法包括:
协调器对所述各节点设备进行监测;
当所述协调器监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息,确定所述业务数据发生变化的节点设备的备份节点设备,并向该第一业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其备份节点设备上对应的第二业务数据。
一种协调器,应用于包括多个节点设备的分布式系统,各节点设备中存储有第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据,该协调器包括:
记录模块,用于记录所述节点设备之间的数据备份关系信息;
监测模块,用于对所述节点设备进行监测;
确定模块,用于当所述监测模块监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息确定用于该业务数据发生变化的节点设备的备份节点设备;
指示模块,用于向所述第一业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其备份节点设备上的对应的第二业务备份数据。
一种数据处理方法,应用于包括协调器和多个节点设备的分布式系统,各节点设备中存储有第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据,所述协调器中记录有系统内各节点设备之间的数据备份关系信息;该方法包括:
节点设备接收所述协调器发送的第一指示信息;其中,当所述协调器监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息,确定所述业务数据发生变化的节点设备的备份节点设备,并向该业务数据发生变化的节点设备发送第一指示信息;
所述节点设备根据所述第一指示信息更新其备份节点设备上对应的第二业务数据。
一种节点设备,应用于包括协调器的分布式系统,所述协调器中记录有系统内各节点设备之间的数据备份关系信息;该节点设备包括:
存储模块,用于存储第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据;
接收模块,用于接收协调器发送的第一指示信息;其中,当所述协调器监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息,确定所述业务数据发生变化的节点设备的备份节点设备,并向该业务数据发生变化的节点设备发送第一指示信息;
处理模块,用于根据接收到的第一指示信息更新其备份节点设备上对应的第二业务数据。
一种分布式系统,包括上述协调器和节点设备。
本申请的上述实施例,通过协调器对系统内的节点设备进行监测,并当协调器监测到节点设备上的业务数据发生变化时,根据数据备份关系信息确定该业务数据发生变化的节点设备的备份节点设备,该备份节点设备用于备份该业务数据发生变化的节点设备的业务数据,并向该业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其备份节点设备上的备份数据,提高了分布式系统内数据存储的安全性,并提高了节点设备的资源利用率。
附图说明
图1为本申请实施例提供的技术方案的应用场景的系统架构图;
图2为本申请实施例提供的一种实现数据备份的方法的流程示意图;
图3A为本申请实施例提供的一种应用场景的系统架构图;
图3B为本申请实施例提供的一种应用场景的系统架构图;
图3C为本申请实施例提供的一种应用场景的系统架构图;
图4为本申请实施例提供的一种协调器的结构示意图;
图5为本申请实施例提供的一种节点设备的结构示意图。
具体实施方式
针对上述现有技术中存在的缺陷,本申请提供了一种数据处理的技术方案,应用于包括协调器和多个节点设备的分布式系统。在该技术方案中,各节点设备中存储有第一业务数据和第二业务数据,第一业务数据为节点设备自身的业务数据,第二业务数据为节点设备作为其他节点设备的备份节点设备时,存储的该其他节点设备的第一业务数据的备份数据,协调器中记录有系统内各节点设备之间的数据备份关系信息;当协调器监测到节点设备上的第一业务数据发生变化时,根据数据备份关系信息,确定该业务数据发生变化的节点设备的备份节点设备,并向该第一业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其备份节点设备上对应的第二业务数据,提高了系统内节点设备的资源利用率,并提高了分布式系统中数据存储的安全性。
其中,协调器可以通过设置在系统内各节点设备中的监控客户端对系统内各节点设备进行监控,系统内各节点设备可以通过相应的监控客户端以一定的频率向协调器发送报文(如心跳报文),以使协调器获知相应节点设备的可用状态。
在本申请实施例提供的技术方案中,当一个节点设备(如节点设备A)的第一业务数据在另一个节点设备中进行备份时,则该节点设备(节点设备A)称为该另一个节点设备(节点设备B)的上游节点设备(即节点设备B中存储的第二业务数据所归属的节点设备);相应地,节点设备B即称为该节点设备A的下游节点设备(即节点设备A的备份节点设备)。协调器中记录有系统内各节点的数据存储状态信息,即各节点设备之间的数据备份关信息,根据该数据备份关系信息,协调器可以获知系统任一节点设备的上游节点设备和下游节点设备,并当系统内节点设备之间的数据备份关系发生变化时,更新自身记录的数据备份关系信息。
需要注意的是,在本申请实施例提供的技术方案中,一个节点设备中存储的业务数据可以在多个设备中进行备份。例如,系统内包括节点设备1-5,则节点设备1的第一业务数据可以在节点设备2和3上备份,节点设备2的第一业务数据可以在节点设备3和节点设备4上备份,依次类推,节点设备5的第一业务数据可以在节点设备1和节点设备2上备份。为了便于描述,在本申请的实施例中,均以一个节点设备在另一个节点设备上进行数据备份为例进行描述。
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,其为本申请实施例提供的技术方案的应用场景的结构图,其中包括协调器和多个节点设备;其中:
在本申请实施例中,节点设备之间形成环链式数据备份,即节点设备1中存储的第一业务数据备份在节点设备2中,同时,节点设备1中存储有对应节点设备N的第二业务数据(相应地,节点设备1可以称为节点设备2的上游节点设备,同时也可以称为节点设备N的下游节点设备);
协调器中存储有分布式系统内各节点设备之间的数据备份关系信息,用于对系统内各节点设备进行监控,并当监控到某节点设备不可用(如发生故障)时,通知该节点设备的上游节点设备和下游节点设备进行相应的数据备份处理,并更新自身记录的系统内各节点设备之间的数据备份关系信息。
基于图1所示的系统架构,本申请实施例提供了一种数据处理方法。
如图2所示,其为本申请实施例提供的一种数据处理方法的流程示意图,可以包括以下步骤:
步骤201、协调器对各节点设备进行监测。
具体的,在本申请实施例中,协调器可以通过心跳机制对系统内各节点设备进行监测。当协调器在预设时间内未接收到节点设备发送的心跳报文时,则确定该节点设备不可用。
步骤202、当协调器监测到节点设备上的第一业务数据发生变化时,根据数据备份关系信息确定该第一业务数据发生变化的节点设备的下游节点设备,并向该第一业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其下游节点设备上对应的第二业务数据。
具体的,在本申请实施例中,第一业务数据发生变化可以包括:节点设备中有第一业务数据写入,节点设备中有第一业务数据被删除,或节点设备中第一业务数据发生更新。
当协调器监测到节点设备上的第一业务数据发生变化时,协调器可以向该节点设备发送指示信息(第一指示信息),指示该节点设备更新其下游节点设备上对应的第二业务数据。
相应地,当节点设备接收到协调器发送的第一指示信息时,该节点设备可以根据该第一指示信息更新其下游节点上对应的第二业务数据。
其中,当所述第一业务数据的变化为第一业务数据写入时,所述协调器指示所述节点设备将写入的第一业务数据备份到其下游节点设备;或,
当所述第一业务数据的变化为第一业务数据删除时,所述协调器指示所述节点设备删除其下游节点设备中对应的第二业务数据;或,
当所述业务数据的变化为业务数据更新时,所述协调器指示所述节点设备更新其下游节点设备中对应的第二业务数据。
进一步地,在本申请实施例中,当协调器监测到系统内节点设备不可用时,协调器可以根据自身存储的数据备份关系确定该不可用节点设备的上游节点设备、该不可用节点设备的下游节点设备以及该不可用节点设备的下游节点设备的下游节点设备,协调器可以向该不可用节点设备的上游节点发送指示信息(第二指示信息),指示该不可用节点设备的上游节点设备将自身的第一业务数据备份到该不可用节点设备的下游节点设备;协调器还可以向该不可用节点设备的下游节点设备发送指示信息(第三指示信息),指示该不可用节点设备的下游节点设备将自身存储的对应该不可用节点设备的第二业务数据备份到自身的下游节点设备(即不可用节点设备的下游节点设备的下游节点设备),并更新系统内各节点设备之间的数据备份关系信息。
相应地,当节点设备接收到协调器发送的第二指示信息时,根据该第二指示信息将自身存储的第一业务数据备份到不可用节点设备的下游节点设备;当节点设备接收到协调器发送的第三指示信息时,根据该第三指示信息将自身存储的对应不可用节点设备的第二业务数据备份到自身的下游节点设备。
以图3A所示的应用场景为例。系统中每个节点设备都可以对外提供数据服务(读或写),其自身存储的业务数据都会备份给环链中顺时针的下一个节点设备。其中,节点设备(节点)1中存储的业务数据(实线圈1)备份给节点2(虚线圈1);节点2中存储的业务数据(实线圈2)备份给节点3(虚线圈2);节点3中存储的业务数据(实线圈3)备份给节点4(虚线圈3);节点4中存储的业务数据(实线圈4)备份给节点1(虚线圈4),其中,协调器中存储的数据备份关系信息可以如表1所示:
表1
节点设备 | 上游节点设备 | 下游节点设备 |
节点1 | 节点4 | 节点2 |
节点2 | 节点1 | 节点3 |
节点3 | 节点2 | 节点4 |
节点4 | 节点3 | 节点1 |
参见图3B,当协调器监测到节点2故障时,协调器指示节点1将自身的业务数据备份到节点3中,节点3将自身存储的节点2的业务数据的备份变为节点3的业务数据,并备份到节点4上。
其中,协调器还可以根据上述更新后的数据备份关系,更新自身记录的各节点设备之间的数据备份关系信息,该更新后的数据备份关系信息可以如表2所示:
表2
节点设备 | 上游节点设备 | 下游节点设备 |
节点1 | 节点4 | 节点3 |
节点3 | 节点1 | 节点4 |
节点4 | 节点3 | 节点1 |
进一步地,在本申请实施例中,当协调器监测到对系统内节点设备的数据访问请求时,协调器可以判断该节点设备是否为不可用节点设备,若判断为是,则协调器可以根据自身记录的数据备份关系信息确定存储有对应该不可用节点设备的第二业务数据的节点设备,并将该数据访问请求迁移至该节点设备;否则,进行常规数据访问流程。
进一步地,在本申请实施例中,当协调器监测到系统内有新的节点设备加入时,协调器可以确定该新加入的节点设备的上游节点设备和下游节点设备,并向该新加入的节点设备的上游节点设备发送第四指示信息,指示该新加入的节点设备的上游节点设备将自身存储的业务数据备份到该加入的节点设备;协调器还可以向该新加入的节点设备发送指示信息(第五指示信息),指示该新加入的节点设备将自身存储的第一业务数据备份到该新加入的节点设备的下游节点设备
此外,协调器还可以向该新加入的节点设备的下游节点设备发送指示信息(第六指示信息),指示该新加入的节点设备的下游节点设备删除自身存储的对应该新加入的节点设备的上游节点设备的第二业务数据。
相应地,当节点设备接收到协调器发送的第四指示信息时,将自身存储的第一业务数据备份到新加入的节点设备;当节点设备接收到协调器发送的第五指示信息时,将自身存储的第一业务数据备份到新加入的节点设备的下游节点设备;当节点设备接收到协调器发送的第六指示信息时,根据该第六指示信息删除自身存储的对应新加入的节点设备的上游节点设备的第二业务数据。
其中,协调器还可以根据更新后的数据备份关系,更新自身记录的系统内各节点设备之间的数据备份关系信息。
为了便于管理,在本申请实施例提供的技术方案中,协调器中可以存储有各节点设备的编号,其中,编号为N的节点设备为编号为N-X的节点设备的下游节点设备,且编号为X的节点设备为编号为N的节点设备的下游节点设备,N为分布式系统为节点设备数量,X为小于N的正整数。
在该场景下,当分布式系统中有新的节点设备加入时,协调器可以将该节点设备的编号确定为N+X,并将编号为N的节点设备确定为该编号为N+X的节点设备的上游节点设备,将编号为X的节点设备确定为该编号为N+X的节点设备的下游节点设备,进而,协调器可以指示编号为N的节点设备将自身存储的第一业务数据备份到新增的节点设备(节点N+X)中,编号为X的节点设备删除自身存储的对应编号为N的节点设备的第二业务数据,编号为N+X的节点设备将自身存储的业务数据备份到编号为X的节点设备。其中,若后续过程中,节点N+X中有用户写入数据,则该数据会备份到编号为X的节点设备,参见图3C。
需要注意的是,上述系统内有新的节点设备加入时的处理方式为在新加入的节点设备的下游节点设备为一个的情况下的处理方式,在新加入节点设备的下游节点设备为多个的情况下,对于每一个下游节点设备,协调器可以确定该备份节点的上游节点设备中在传输链路上与自身相隔最远的节点设备,并指示该下游节点设备删除其备份的该最远的上游节点设备的业务数据。
例如,以图3C所示的场景为例,若节点1的下游节点设备包括节点设备2和3(节点1为节点3的上游节点设备中在传输链路上与节点3相隔最远的节点),节点2的下游节点设备包括节点3和4(节点2为节点4的上游节点设备中在传输链路上与节点4相隔最远的节点)...节点4的下游节点设备包括节点1和2(节点4为节点2的上游节点设备中在传输链路上与节点2相隔最远的节点);协调器中存储的数据备份关系信息可以如表3所示:
表3
节点设备 | 上游节点设备 | 下游节点设备 |
节点1 | 节点3、节点4 | 节点2、节点3 |
节点2 | 节点4、节点1 | 节点3、节点4 |
节点3 | 节点1、节点2 | 节点4、节点1 |
节点4 | 节点2、节点3 | 节点1、节点2 |
当有新的节点(节点5)加入时,确定节点1和2为其下游节点设备,节点3和4为其上游节点设备。协调器指示节点3和4将自身业务数据在节点5上进行备份,并指示节点5将自身业务数据在节点1和2上备份;同时,由于对于节点1,节点3为节点5加入前其上游节点设备中与其在传输链路上相隔最远的上游节点设备,在节点5加入后,节点3不再作为节点1的上游节点设备,协调器指示节点1删除其备份的节点3的业务数据;相应地,协调器指示节点2删除其备份的节点4的业务数据;协调器中存储的数据备份关系信息可以如表4所示:。
表4
节点设备 | 上游节点设备 | 下游节点设备 |
节点1 | 节点4、节点5 | 节点2、节点3 |
节点2 | 节点5、节点1 | 节点3、节点4 |
节点3 | 节点1、节点2 | 节点4、节点5 |
节点4 | 节点2、节点3 | 节点5、节点1 |
节点5 | 节点3、节点4 | 节点1、节点2 |
下面结合具体的应用场景对本申请实施例提供的技术方案进行更加详细的描述。
在该实施例中,分布式系统中各节点设备上部署有监控客户端(在实施例中以ZK(Zookeeper,应用程序协调服务)客户端为例),相应地,协调器可以为ZK服务器,各节点设备通过自身部署的ZK客户端与ZK服务器建立通讯,ZK服务器通过各节点设备上部署的ZK客户端对各节点设备进行监控。
具体的,每个节点设备可以通过ZK客户端在ZK服务端上建立与自己对应的EN(Ephemeral Node,临时节点),例如/root/nodes/dn0001;其中:
节点设备通过对应的ZK客户端与ZK服务端之间的心跳报文维护对应的EN,当节点设备不可用时,对应的EN也会消失。因此,EN可用于获知系统中每个节点设备是否存在。其中,各节点设备会在对应的EN中设置自己的相关信息,如主机名、服务端口等。
ZK服务器可以通过监视/root/nodes下所有EN的变化对系统内各节点设备进行监控:
当ZK服务器监测到/root/nodes下有EN消失时,则确定对应的节点设备不可用,指示该不可用节点设备的上游节点设备将自身的业务数据备份到该不可用节点设备的下游节点设备,指示该不可用节点设备的下游节点设备将其备份的该不可用节点设备的业务数据备份到自身的下游节点设备,并更新系统内各节点设备之间的数据备份关系信息。
当ZK服务器监测到/root/nodes下新增EN时,则确定该新加入的节点设备的上游节点设备和下游节点设备;指示新加入的节点设备的上游节点设备将自身的业务数据备份到其下游节点设备;指示新加入的节点设备的下游节点设备删除其备份的上游节点设备的业务数据,并将自身的业务数据备份到其下游节点设备;更新系统内各节点设备之间的数据备份关系信息。
需要注意的是,上述ZK服务器和ZK客户端的实现方式仅仅是本申请提供的技术方案的一种具体实施方式,即本申请实施例提供的技术方案中,节点设备中部署的监控客户端也可以是ZK客户端之外的客户端,相应地,ZK服务器也可以是对应的其他服务器(只需保证相应的服务器和客户端支持心跳机制以及节点变化通知机制),其具体实现在此不再赘述。
通过以上描述可以看出,在本申请实施例提供的技术方案中,通过节点设备之间形成环链式数据备份,各节点设备中备份有其上游节点设备的业务数据;当协调器监测到系统内节点设备不可用时,指示该不可用节点设备的上游节点设备将自身的业务数据备份到该不可用节点设备的下游节点设备,指示该不可用节点设备的下游节点设备将其备份的该不可用节点设备的业务数据备份到自身的下游节点设备,提高了系统内节点设备的资源利用率,并提高了分布式系统中数据存储的安全性。
基于上述方法实施例相同的技术构思,本申请实施例还提供一种协调器,可以应用于上述方法流程中。
如图4所示,其为本申请实施例提供的一种协调器的结构示意图,该协调器可以应用于包括多个节点设备的分布式系统,各节点设备中存储有第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据,该协调器可以包括:
记录模块41,用于记录所述各节点设备之间的数据备份关系信息;
监测模块42,用于对所述节点设备进行监测;
确定模块43,用于当所述监测模块42监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息确定用于该业务数据发生变化的节点设备的备份节点设备;
指示模块44,用于向所述第一业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其备份节点设备上的对应的第二业务数据。。
其中,所述确定模块43还用于,当所述监测模块42监测到节点设备不可用时,根据所述数据备份关系信息,确定该不可用节点设备中存储的第二业务数据所归属的节点设备、该不可用节点设备的备份节点设备、以及该不可用节点设备的备份节点设备的备份节点设备;
所述指示模块44具体用于,指示所述不可用节点设备中存储的第二业务数据所归属的节点设备,将该不可用节点设备中存储的第二业务数据所归属的节点设备的第一业务数据备份到该不可用节点设备的备份节点设备,并指示所述不可用节点设备的备份节点设备,将该不可用节点设备的备份节点设备存储的对应该不可用节点设备的第二业务数据备份到该不可用节点设备的备份节点设备的备份节点设备上;
相应地,本申请实施例提供的协调器还可以包括:
更新模块45,用于更新各对应节点设备之间的数据备份关系信息。
其中,所述确定模块43还用于,当所述监测模块监测到对所述不可用节点设备的数据访问请求时,根据所述数据备份关系确定该不可用节点设备的备份节点设备;
所述指示模块44还用于,将所述数据访问请求迁移至所确定出的备份节点设备。
其中,所述确定模块43还用于,当所述监测模块监测到系统内有新的节点设备加入时,确定需要将自身存储的第一业务数据备份到该新加入的节点设备的节点设备,以及该新加入的节点设备的备份节点设备;
所述指示模块44还用于,指示所述需要将自身存储的第一业务数据备份到该新加入的节点设备的节点设备,将自身的第一业务数据备份到该新加入的节点设备;并指示该新加入的节点设备将自身的第一业务数据备份到该新加入的节点设备的备份节点设备;
所述更新模块45还可以用于更新各对应节点设备之间的数据备份关系信息。
其中,所述指示模块44还用于,指示所述新加入的节点设备的备份节点设备,删除其自身存储的对应所述需要将自身存储的第一业务数据备份到的该新加入的节点设备的节点设备的第二业务数据。
其中,所述记录模块41还用于,记录各节点设备的编号,其中,编号为N的节点设备为编号为N-X的节点设备的备份节点设备,且编号为X的节点设备为编号为N的节点设备的备份节点设备,所述节点设备之间形成环链式数据备份,N为分布式系统为节点设备数量,X为小于N的正整数;
相应地,所述确定模块45可以具体用于,当所述监测模块监测到系统内有新的节点设备加入时,确定该新加入的节点设备的编号为N+X,并将编号为N+X的节点设备确定为编号为N的节点设备的备份节点设备,将编号为X的节点设备确定为该编号为N+X的节点设备的备份节点设备。
基于上述方法实施例相同的技术构思,本申请实施例还提供了一种节点设备,可以应用于上述方法流程中。
如图5所示,为本申请实施例提供的一种节点设备的结构示意图,可以包括:
存储模块51,用于第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据;
接收模块52,用于接收协调器发送的第一指示信息;其中,当所述协调器监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息,确定所述第一业务数据发生变化的节点设备的备份节点设备,并向该第一业务数据发生变化的节点设备发送第一指示信息;
处理模块53,用于根据接收到的第一指示信息更新其备份节点设备上的对应的第二业务数据。
其中,所述接收模块52还用于,接收所述协调器发送的第二指示信息或第三指示信息;其中,当所述协调器监测到节点设备不可用时,根据所述数据备份关系信息,确定该不可用节点设备中存储的第二业务数据所归属的节点设备、该不可用节点设备的备份节点设备、以及该不可用节点设备的备份节点设备的备份节点设备,并向所述不可用节点设备中存储的第二业务数据所归属的节点设备发送第二指示信息,向所述不可用节点设备的备份节点设备发送第三指示信息;
所述处理模块53还用于,根据所述接收模块接收到的第二指示信息将所述存储模块存储的第一业务数据备份到所述不可用节点设备的备份节点设备;或,根据所述接收模块接收到的第三指示信息将所述存储模块中存储的对应所述不可用节点设备的第二业务数据备份自身的备份节点设备。
其中,所述接收模块52还用于,接收所述协调器发送的第四指示信息或第五指示信息或第六指示信息;其中,当协调器监测到系统内有新的节点设备加入时,所述协调器确定需要将自身存储的第一业务数据备份到该新加入的节点设备的节点设备和该新加入的节点设备的备份节点设备,并向需要将自身存储的第一业务数据备份到所述新加入的节点设备的节点设备发送第四指示信息,向该新加入的节点设备发送第五指示信息;
所述处理模块53具体用于,根据所述第四指示信息将所述存储模块51存储的第一业务数据备份到新加入的节点设备;或,根据所述第五指示信息所述存储51模块存储的第一业务数据备份到所述新加入的节点设备的备份节点设备。
其中,所述接收模块52还用于,接收所述协调器发送的第六指示信息;其中,当协调器监测到系统内有新的节点设备加入时,所述协调器向该新加入的节点设备的备份节点设备发送第六指示信息;
所述处理模块53还用于,根据所述第六指示信息删除所述存储模块存储的对应所述需要将自身存储的第一业务数据备份到该新加入的节点设备的节点设备的第二业务数据。
基于上述方法实施例系统的技术构思,本申请实施例还提供了一种分布式系统,包括上述实施例所提供的协调器和节点设备;其中,该协调器的结构示意图可以如图4所示,该节点设备的结构示意图可以如图5所示。
其中,所述分布式系统中各节点设备上部署有监控客户端,所述协调器通过各节点设备上部署的监控客户端对各节点设备进行监控。
本领域技术人员可以理解,本装置实施例中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化而位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。
Claims (11)
1.一种数据处理的方法,其特征在于,应用于包括协调器和多个节点设备的分布式系统,各节点设备中存储有第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据,所述协调器中记录有系统内各节点设备之间的数据备份关系信息;该方法包括:
协调器对所述各节点设备进行监测;
当所述协调器监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息,确定所述业务数据发生变化的节点设备的备份节点设备,并向该第一业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其备份节点设备上对应的第二业务数据;
其中,当所述第一业务数据的变化为第一业务数据写入时,所述协调器指示所述节点设备将写入的第一业务数据备份到其下游节点设备;或,
当所述第一业务数据的变化为第一业务数据删除时,所述协调器指示所述节点设备删除其下游节点设备中对应的第二业务数据;或,
当所述第一业务数据的变化为第一业务数据更新时,所述协调器指示所述节点设备更新其下游节点设备中对应的第二业务数据。
2.如权利要求1所述的方法,其特征在于,该方法还包括:
当所述协调器监测到节点设备不可用时,根据所述数据备份关系信息,确定该不可用节点设备中存储的第二业务数据所归属的节点设备、该不可用节点设备的备份节点设备、以及该不可用节点设备的备份节点设备的备份节点设备;
所述协调器指示所述不可用节点设备中存储的第二业务数据所归属的节点设备,将该不可用节点设备中存储的第二业务数据所归属的节点设备的第一业务数据备份到该不可用节点设备的备份节点设备,并指示所述不可用节点设备的备份节点设备,将该不可用节点设备的备份节点设备存储的对应该不可用节点设备的第二业务数据备份到该不可用节点设备的备份节点设备的备份节点设备上;
所述协调器更新各对应节点设备之间的数据备份关系信息。
3.如权利要求2所述的方法,其特征在于,该方法还包括:
当所述协调器监测到对所述不可用节点设备的数据访问请求时,根据所述数据备份关系信息确定该不可用节点设备的备份节点设备,并将所述数据访问请求迁移至所确定出的备份节点设备。
4.如权利要求1所述的方法,其特征在于,该方法还包括:
当所述协调器监测到系统内有新的节点设备加入时,所述协调器确定需要将自身存储的第一业务数据备份到该新加入的节点设备的节点设备,以及该新加入的节点设备的备份节点设备;
所述协调器指示所述需要将自身存储的第一业务数据备份到该新加入的节点设备的节点设备,将自身的第一业务数据备份到该新加入的节点设备;以及,指示该新加入的节点设备将自身的第一业务数据备份到该新加入的节点设备的备份节点设备;
所述协调器更新各对应节点设备之间的数据备份关系信息。
5.如权利要求4所述的方法,其特征在于,还包括:
所述协调器指示该新加入的节点设备的备份节点设备,删除其自身存储的对应所述需要将自身存储的第一业务数据备份到的该新加入的节点设备的节点设备的第二业务数据。
6.如权利要求4或5所述的方法,其特征在于,所述协调器中存储有各节点设备的编号,其中,编号为N的节点设备为编号为N-X的节点设备的备份节点设备,且编号为X的节点设备为编号为N的节点设备的备份节点设备,所述节点设备之间形成环链式数据备份,N为分布式系统为节点设备数量;
当所述协调器监测到系统内有新的节点设备加入时,所述协调器确定该新加入的节点设备的编号为N+X,并将该编号为N+X的节点设备确定为编号为N的节点设备的备份节点设备,将编号为X的节点设备确定为该编号为N+X的节点设备的备份节点设备;其中,X为正整数。
7.一种协调器,其特征在于,应用于包括多个节点设备的分布式系统,各节点设备中存储有第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据,该协调器包括:
记录模块,用于记录所述各节点设备之间的数据备份关系信息;
监测模块,用于对所述节点设备进行监测;
确定模块,用于当所述监测模块监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息确定用于该业务数据发生变化的节点设备的备份节点设备;
指示模块,用于向所述第一业务数据发生变化的节点设备发送指示信息,以指示该节点设备更新其备份节点设备上的对应的第二业务数据;
其中,当所述第一业务数据的变化为第一业务数据写入时,所述协调器指示所述节点设备将写入的第一业务数据备份到其下游节点设备;或,
当所述第一业务数据的变化为第一业务数据删除时,所述协调器指示所述节点设备删除其下游节点设备中对应的第二业务数据;或,
当所述第一业务数据的变化为第一业务数据更新时,所述协调器指示所述节点设备更新其下游节点设备中对应的第二业务数据。
8.如权利要求7所述的协调器,其特征在于,
所述记录模块还用于,记录各节点设备的编号,其中,编号为N的节点设备为编号为N-X的节点设备的备份节点设备,且编号为X的节点设备为编号为N的节点设备的备份节点设备,所述节点设备之间形成环链式数据备份,N为分布式系统为节点设备数量,X为小于N的正整数;
所述确定模块具体用于,当所述监测模块监测到系统内有新的节点设备加入时,确定该新加入的节点设备的编号为N+X,并将编号为N+X的节点设备确定为编号为N的节点设备的备份节点设备,将编号为X的节点设备确定为该编号为N+X的节点设备的备份节点设备。
9.一种数据处理方法,其特征在于,应用于包括协调器和多个节点设备的分布式系统,各节点设备中存储有第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据,所述协调器中记录有系统内各节点设备之间的数据备份关系信息;该方法包括:
节点设备接收所述协调器发送的第一指示信息;其中,当所述协调器监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息,确定所述业务数据发生变化的节点设备的备份节点设备,并向该业务数据发生变化的节点设备发送第一指示信息;
所述节点设备根据所述第一指示信息更新其备份节点设备上对应的第二业务数据;
其中,当所述第一业务数据的变化为第一业务数据写入时,所述协调器指示所述节点设备将写入的第一业务数据备份到其下游节点设备;或,
当所述第一业务数据的变化为第一业务数据删除时,所述协调器指示所述节点设备删除其下游节点设备中对应的第二业务数据;或,
当所述第一业务数据的变化为第一业务数据更新时,所述协调器指示所述节点设备更新其下游节点设备中对应的第二业务数据。
10.一种节点设备,其特征在于,应用于包括协调器的分布式系统,所述协调器中记录有系统内各节点设备之间的数据备份关系信息;该节点设备包括:
存储模块,用于存储第一业务数据和第二业务数据,所述第一业务数据为所述节点设备自身的业务数据,所述第二业务数据为所述节点设备作为其他节点设备的备份节点设备时,存储的所述其他节点设备的第一业务数据的备份数据;
接收模块,用于接收协调器发送的第一指示信息;其中,当所述协调器监测到节点设备的第一业务数据发生变化时,根据所述数据备份关系信息,确定所述第一业务数据发生变化的节点设备的备份节点设备,并向该第一业务数据发生变化的节点设备发送第一指示信息;
处理模块,用于根据接收到的第一指示信息更新其备份节点设备上对应的第二业务数据;
其中,当所述第一业务数据的变化为第一业务数据写入时,所述协调器指示所述节点设备将写入的第一业务数据备份到其下游节点设备;或,
当所述第一业务数据的变化为第一业务数据删除时,所述协调器指示所述节点设备删除其下游节点设备中对应的第二业务数据;或,
当所述第一业务数据的变化为第一业务数据更新时,所述协调器指示所述节点设备更新其下游节点设备中对应的第二业务数据。
11.一种分布式系统,其特征在于,包括如权利要求7或8所述的协调器和如权利要求10所述的节点设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210204318.2A CN103516734B (zh) | 2012-06-20 | 2012-06-20 | 数据处理方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210204318.2A CN103516734B (zh) | 2012-06-20 | 2012-06-20 | 数据处理方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103516734A CN103516734A (zh) | 2014-01-15 |
CN103516734B true CN103516734B (zh) | 2018-01-12 |
Family
ID=49898766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210204318.2A Active CN103516734B (zh) | 2012-06-20 | 2012-06-20 | 数据处理方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103516734B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141418A (zh) * | 2014-05-26 | 2015-12-09 | 中国移动通信集团公司 | 认证鉴权方法及系统 |
CN112054961B (zh) * | 2016-04-21 | 2023-12-08 | 华为技术有限公司 | 数据传输系统、方法及装置 |
CN107357681B (zh) * | 2017-06-26 | 2019-12-31 | 杭州铭师堂教育科技发展有限公司 | 基于salt的Zookeeper备份管理系统及方法 |
CN110019065B (zh) * | 2017-09-05 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 日志数据的处理方法、装置及电子设备 |
CN109697110B (zh) * | 2017-10-20 | 2023-01-06 | 阿里巴巴集团控股有限公司 | 事务协调处理系统、方法、装置及电子设备 |
CN109324942B (zh) * | 2018-08-07 | 2022-06-07 | 顺丰科技有限公司 | 微服务的双活处理方法、装置及系统、设备、存储介质 |
CN111404647B (zh) * | 2019-01-02 | 2023-11-28 | 中兴通讯股份有限公司 | 一种节点协同关系的控制方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567237A (zh) * | 2003-06-09 | 2005-01-19 | 浪潮电子信息产业股份有限公司 | 构建高可用分布式存储系统的方法 |
CN1741489A (zh) * | 2005-09-01 | 2006-03-01 | 西安交通大学 | 构建多机系统高可用的自愈合逻辑环故障检测与容忍方法 |
WO2009100636A1 (zh) * | 2008-02-05 | 2009-08-20 | Huawei Technologies Co., Ltd. | 电信网络用户数据存储管理的方法及装置 |
-
2012
- 2012-06-20 CN CN201210204318.2A patent/CN103516734B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567237A (zh) * | 2003-06-09 | 2005-01-19 | 浪潮电子信息产业股份有限公司 | 构建高可用分布式存储系统的方法 |
CN1741489A (zh) * | 2005-09-01 | 2006-03-01 | 西安交通大学 | 构建多机系统高可用的自愈合逻辑环故障检测与容忍方法 |
WO2009100636A1 (zh) * | 2008-02-05 | 2009-08-20 | Huawei Technologies Co., Ltd. | 电信网络用户数据存储管理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103516734A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103516734B (zh) | 数据处理方法、设备和系统 | |
CN109729129A (zh) | 存储集群的配置修改方法、存储集群及计算机系统 | |
CN110362381A (zh) | Hdfs集群高可用部署方法、系统、设备及存储介质 | |
CN104346373B (zh) | 分区日志队列同步管理方法及设备 | |
CN103218233B (zh) | Hadoop异构集群中的数据分配策略 | |
CN103051681B (zh) | 一种面向分布式文件系统的协作式日志系统 | |
WO2019210580A1 (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
CN108173959A (zh) | 一种集群存储系统 | |
CN106888245A (zh) | 一种数据处理方法、装置及系统 | |
CN109151045A (zh) | 一种分布式云系统及监控方法 | |
CN108055333A (zh) | 一种基于ufs的nas-cifs集群负载均衡方法 | |
CN107404509A (zh) | 分布式服务配置系统及信息管理方法 | |
CN106126374A (zh) | 数据写入方法、数据读取方法及装置 | |
CN107682411A (zh) | 一种大规模sdn控制器集群及网络系统 | |
CN110633325A (zh) | 一种基于Docker的数据库集群扩容方法及装置 | |
CN106874142A (zh) | 一种实时数据容错处理方法及系统 | |
CN109165112A (zh) | 一种元数据集群的故障恢复方法、系统及相关组件 | |
CN103856511B (zh) | 数据包上传方法、客户端、节点、信息服务器及系统 | |
CN109688006A (zh) | 支持目标集群动态探测的高性能网络日志消息分发方法 | |
CN106357723A (zh) | 一种基于云主机的多集群缓存信息同步系统和方法 | |
CN108140035A (zh) | 分布式系统的数据库复制方法及装置 | |
CN103428288A (zh) | 基于分区状态表和协调节点的副本同步方法 | |
CN105760391A (zh) | 数据动态重分布的方法、数据节点、名字节点及系统 | |
CN111147312A (zh) | 资源配置的管理方法及装置、资源配置缓存的管理方法及装置、配置管理系统 | |
CN106254814A (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 |