一种分布式网络中数据同步异常的恢复方法和装置与流程

专利2022-06-29  84


本发明涉及通信技术领域,特别涉及一种分布式网络中数据同步异常的恢复方法和装置。



背景技术:

分布式网络环境中,主节点与从多个从节点之间有多种类型的数据需要同步,多个从节点存在同时向主节点上报数据的情况,需要考虑数据的正确性和时效性。在网络信号不好或者节点故障导致主节点和从节点之间失去连接后,应保证网络恢复后数据同步的可恢复。

专利申请201510967346.3公开了一种用于分布式采集系统的数据同步方法,该专利根据采集装置分类,确定时间为基准信号,针对多种采集指标使用多个线程根据时间来定时采集数据,保证数据同步成功后统计时多种数据的一致性。该专利主要解决的是多种不同类型的数据同步需要在时间装置的保证下,保证多种数据同步的一致性,保证统计数据的正确性和完整性,但未考虑到网络异常情况下的数据恢复。

专利申请201511025349.1公开了一种分布式系统同步式数据同步的方法,该专利中,信息服务中心的数据发生变化时,将数据更新消息传递到目标客户端;一个客户端收到一条数据更新消息后,根据数据差别信息更新自身的同步数据,更新后向信息服务中心发送信息已同步信号;信息服务中心收到已同步信号后更新同步信息表后,数据同步任务结束。该专利主要针对的应用场景是:信息服务中心的数据发生变化时,以通知方式同步给多个客户端,这种方式只保证了在正常环境下的数据正确性问题,但是并未考虑信息服务中心节点或某些客户端宕机导致网络异常后的数据恢复问题。

可以看出,上述两个专利提供的数据同步方法,都不能够保证网络从故障中恢复后数据同步的可恢复。



技术实现要素:

有鉴于此,本发明的目的在于提供一种分布式网络中数据同步异常的恢复方法和装置,能够保证网络从故障中恢复后的数据同步的可恢复。

为了达到上述目的,本发明提供了如下技术方案:

一种数据同步异常的恢复方法,应用于分布式网络中,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该方法具体应用于主节点,包括:

接收从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后发送的数据同步请求消息;

循环执行以下操作,直至确定该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:确定该从节点需要同步到主节点的每种数据类型的最后同步编号,向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,以使该从节点根据该同步数据响应消息执行一次同步数据到主节点的操作。

另一种数据同步异常的恢复方法,应用于分布式网络中,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该方法具体应用于任一从节点,包括:

该从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后,向主节点发送数据同步请求消息;

循环执行以下操作,直至该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:接收主节点发送的携带该从节点需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,根据该数据同步响应消息执行一次同步数据到主节点的操作。

一种数据同步异常的恢复装置,应用于分布式网络中,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该装置具体应用于主节点,包括:

接收单元,用于接收从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后发送的数据同步请求消息;

第一同步单元,用于接收单元接收到该从节点的数据同步请求消息时,循环执行以下操作,直至确定该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:确定该从节点需要同步到主节点的每种数据类型的最后同步编号,向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,以使该从节点根据该同步数据响应消息执行一次同步数据到主节点的操作。

另一种数据同步异常的恢复装置,应用于分布式网络中,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该装置具体应用于任一从节点,包括:

发送单元,用于该从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后,向主节点发送数据同步请求消息;

第二同步单元,循环执行以下操作,直至该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:接收主节点发送的携带该从节点需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,根据该数据同步响应消息执行一次同步数据到主节点的操作。

一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通过总线相连的存储器;所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序;所述至少一个处理器执行所述一个或多个计算机程序时实现图1所示方法步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现图1所示方法。

另一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通过总线相连的存储器;所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序;所述至少一个处理器执行所述一个或多个计算机程序时实现图2所示方法步骤。

另一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现图2所示方法。

由上面的技术方案可知,本发明中,从节点在首次登录主节点、故障恢复后登录主节点、或者有需要同步至主节点的新增数据时,均向主节点发送的数据同步请求消息,主节点通过多次发送携带该从节点需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,触发从节点与主节点之间的多次数据同步操作,直至从节点和主节点之间完成数据同步。本发明中,当无论是网络正常,还是网络故障(例如从节点故障)恢复,从节点与主节点之间的数据同步均是从主节点记录的每种数据类型的最后同步编号开始同步的,因此,不会发生因网络故障原因造成的数据不可恢复,因此可知,本发明能够保证网络从故障中恢复后的数据同步的可恢复。

附图说明

图1是本发明实施例一数据同步异常的恢复方法流程图;

图2是本发明实施例二数据同步异常的恢复方法流程图;

图3是本发明实施例一数据同步异常的恢复装置的结构示意图;

图4是本发明实施例二数据同步异常的恢复装置的结构示意图;

图5是本发明实施例电子设备500的结构示意图;

图6是本发明实施例电子设备600的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。

本发明应用于分布式网络环境,分布式网络中包括一个主节点和多个从节点,每个从节点需要主节点同步一种或多种数据类型的数据到主节点。

本发明实施例中,为了实现从节点到主节点的数据同步,主节点记录每个从节点需要同步到主节点的数据类型、以及每种数据类型的最后同步编号。当某个从节点登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点之后,均向主节点发送数据同步请求消息;主节点接收到该数据同步消息后,通过一次或多次向该从节点发送数据同步响应消息,以触发该从节点到主节点的一次或多次数据同步操作,使得该从节点最终完成与主节点数据同步。

下面分别从主节点和从节点的角度,对本发明的实现方法进行详细说明:

参见图1,图1是本发明实施例一数据同步异常的恢复方法流程图,应用于分布式网络中,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该方法具体应用于主节点,包括以下步骤:

步骤101、主节点接收从节点首次登录主节点、或导致与主节点的连接断开的网络故障恢复后登录主节点后发送的数据同步请求消息。

本发明实施例中,从节点需要在登录主节点后与主节点之间进行数据同步。从节点登录主节点也即在主节点上进行注册。其中,从节点首次上线时,通过向主节点发送注册请求实现首次登录;导致从节点与主节点的连接断开的网络故障恢复后,从节点也通过向主节点发送注册请求实现登录。而主节点接收到从节点的注册请求后,根据该注册请求对该从节点进行注册,使得从节点登录到主节点。

本发明实施例中,从节点在登录主节点后,需要发起与主节点之间的数据同步。从节点通过向主节点发送数据同步请求消息发起与主节点之间的数据同步。

步骤102、主节点循环执行以下操作,直至确定该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:确定该从节点需要同步到主节点的每种数据类型的最后同步编号,向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,以使该从节点根据该同步数据响应消息执行一次同步数据到主节点的操作。

本发明实施例中,主节点向从节点发送的数据同步响应消息中携带该从节点需要同步到主节点的每种数据类型的最后同步编号,该从节点接收到数据同步响应消息后,根据该数据同步响应消息,就可以确定每种数据类型当前已经同步到的数据编号(即该种数据类型的最后同步编号),因而,在执行数据同步时,只需要将大于该数据编号的数据同步到主节点。

从节点每接收到一次主节点的数据同步响应消息,执行一次同步数据到主节点的操作。从节点的一次同步操作可以将预设数量(例如100条数据)的数据同步到主节点。如果从节点中需要同步到主节点数据超过该预设数量,则主节点需要向从节点发送多次数据同步响应消息,从节点则每接收一次同步数据响应消息,执行一次同步数据到主节点的操作。从节点将需要同步到主节点的数据全部同步到主节点后,可以向主节点发送数据同步结束标记,以此通知主节点本次数据同步结束。

为此,主节点向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息时,还可以进一步设置一个定时器,如果在定时器时间内接收到该从节点发送的数据同步结束标志,则确定该从节点完成到主节点的数据同步,否则,确定该从节点未完成到主节点的数据同步,可以再次执行本步骤102的循环操作。

本发明实施例中,从节点登录到主节点后,需要定期向主节点上报该从节点的状态信息。而主节点则根据接收该从节点上报状态信息的时间间隔确定是否发生导致该从节点与主节点的连接断开的网络故障,具体地,如果主节点接收该从节点上报的状态信息的时间间隔超过预设间隔阈值,则确定发生导致该从节点与主节点的连接断开的网络故障,否则,确定未发生导致该从节点与主节点的连接断开的网络故障。从节点故障或从节点与主节点之间的链路故障,均会导致该从节点与主节点的连接断开。

在实际应用中,从节点向主节点同步数据时,如果多次执行同步数据到主节点的操作后,仍然未完成与主节点之间的数据同步,则说明该从节点需要同步到主节点的数据量非常大。但是正常情况下,从节点首次登录主节点时,由于刚刚上线,一般不存在或仅存在少量需要同步的数据;从节点故障后通常会被很快修复,也不可能有大量需要同步的数据;登录状态下有新增同步数据时,也会及时同步到主节点。由此可知,从节点同步到主节点的数据量非常大的情况是不正常的。

因此,本发明实施例中,如果主节点确定该从节点执行同步数据到主节点的操作次数达到预设次数上限,则将确定发生导致该从节点与主节点的连接断开的网络故障,禁止该从节点同步数据到主节点,之后可以对该从节点的数据进行人工或其他方式的检查。

参见图2,图2是本发明实施例二数据同步异常的恢复方法流程图,应用于分布式网络中,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该方法具体应用于任一从节点,包括以下步骤:

步骤201、该从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后,向主节点发送数据同步请求消息。

本发明实施例中,从节点需要在登录主节点后与主节点之间进行数据同步。从节点登录主节点也即在主节点上进行注册。其中,从节点首次上线时,通过向主节点发送注册请求实现首次登录;导致该从节点与主节点的连接断开的网络故障恢复后,该从节点也通过向主节点发送注册请求实现登录。而主节点接收到从节点的注册请求后,根据该注册请求对该从节点进行注册,实现该从节点在主节点的登录。

本发明实施例中,从节点在登录主节点后,需要发起与主节点之间的数据同步。从节点通过向主节点发送数据同步请求消息发起与主节点之间的数据同步。

步骤202、该从节点循环执行以下操作,直至该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:接收主节点发送的携带该从节点需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,根据该数据同步响应消息执行一次同步数据到主节点的操作。

本发明实施例中,从节点向主节点发送数据同步请求消息后,主节点向从节点发送的数据同步响应消息中携带该从节点需要同步到主节点的每种数据类型的最后同步编号,该从节点接收到数据同步响应消息后,根据该数据同步响应消息,就可以确定每种数据类型当前已经同步到的数据编号(即该种数据类型的最后同步编号),因而,在执行数据同步时,只需要将大于该数据编号的数据同步到主节点。

从节点每接收到一次主节点的数据同步响应消息,执行一次同步数据到主节点的操作。从节点的一次同步操作可以将预设数量(例如100条数据)的数据同步到主节点。如果从节点中需要同步到主节点数据超过该预设数量,则主节点需要向从节点发送多次数据同步响应消息,从节点则每接收一次同步数据响应消息,执行一次同步数据到主节点的操作。从节点将需要同步到主节点的数据全部同步到主节点后,可以向主节点发送数据同步结束标记,以此通知主节点本次数据同步结束。

为此,该从节点根据该数据同步响应消息执行一次同步数据到主节点的操作之后,还可以进一步判断该从节点是否已经完成到主节点的数据同步,如果是,则向主节点发送数据同步结束标记,否则,不向主节点发送数据同步结束标记,从而,主节点因未收到数据同步结束标记,会再次发送同步数据响应消息,使得该从节点再次执行本步骤202的循环操作。

本发明实施例中,该从节点登录主节点后,需要定期向主节点上报该从节点的状态信息,使得主节点可以根据该从节点上报状态信息间隔确定是否发生导致该从节点与主节点的连接断开的网络故障。

以下以一个具体的例子进行说明。

假设有一从节点a掉线后重新上线(故障恢复),登录到主节点(即向主节点发送主册请求进行注册,并注册成功),假设该从节点a只有一种需要同步到主节点的数据类型,该从节点a中该种数据类型的数据编号为12800,该从节点到主节点的一次数据同步操作的同步数据两是1000条,且主节点中记录的该种数据类型对应的最后同步编号为10000。则该从节点a登录到主节点后,与主节点的数据同步过程如下:

该从节点a向主节点发送数据同步请求消息。

主节点将该种数据类型及其最后同步编号10000携带在数据同步响应消息中发送给该从节点a,并启动定时器;该从节点a将编号10001至11000的数据同步到主节点,且不向主节点发送数据同步结束标志。

主节点在规定定时器时间内未接收到该从节点a的数据同步结束标志,因此,再次将该种数据类型及其最后同步编号11000携带在数据同步响应消息中发送给该从节点a,并启动/重启定时器;该从节点a将编号11001至12000的数据同步到主节点,且不向主节点发送数据同步结束标志。

主节点在规定定时器时间内未接收到该从节点a的数据同步结束标志,因此,再次将该种数据类型及其最后同步编号12000携带在数据同步响应消息中发送给该从节点a;该从节点a将编号12001至12800的数据同步到主节点,并向主节点发送数据同步结束标志;主节点接收到该从节点a发送的同步结束标志,确定该从节点完成与主节点之间的数据同步。

以上分别从主节点和从节点的角度对本发明数据同步异常的恢复方法进行了详细说明,本发明还提供了一种应用于主节点的数据同步异常的恢复装置和一种应用于从节点的数据同步异常的恢复装置,以下结合图3、图4进行详细说明:

参见图3,图3是本发明实施例一数据同步异常的恢复装置的结构示意图,该装置具体应用于分布式网络中的主节点,如图3所示,具体包括:

接收单元301,用于接收从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后发送的数据同步请求消息;

第一同步单元302,用于接收单元301接收到该从节点的数据同步请求消息时,循环执行以下操作,直至确定该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:确定该从节点需要同步到主节点的每种数据类型的最后同步编号,向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,以使该从节点根据该同步数据响应消息执行一次同步数据到主节点的操作。

图3所示装置中,

所述第一同步单元302,用于向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息时,进一步设置定时器;

所述接收单元301,用于接收该从节点发送的数据同步结束标志;

所述第一同步单元302,判断该从节点是否完成到主节点的数据同步时,用于:如果接收单元301在定时器时间内接收到该从节点发送的数据同步结束标志,则确定该从节点完成到主节点的数据同步,否则,确定该从节点未完成到主节点的数据同步。

图3所示装置中,

所述接收单元301,进一步用于:接收该从节点登录主节点后定期上报的状态信息;

所述第一同步单元302,判断是否发生导致该从节点与主节点的连接断开的网络故障时,用于:如果接收单元301接收该从节点上报的状态信息的时间间隔超过预设间隔阈值,则确定发生导致该从节点与主节点的连接断开的网络故障,否则,确定未发生导致该从节点与主节点的连接断开的网络故障。

图3所示装置中,

所述第一同步单元302,用于如果该从节点执行同步数据到主节点的操作次数达到预设次数上限,则确定发生导致该从节点与主节点的连接断开的网络,禁止该从节点同步数据到主节点。

参见图4,图4是本发明实施例二数据同步异常的恢复装置的结构示意图,该装置具体应用于分布式网络中的任一从节点,如图4所示,具体包括:

发送单元401,用于该从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后,向主节点发送数据同步请求消息;

第二同步单元402,用于发送单元401向主节点发送数据同步请求消息后,循环执行以下操作,直至该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:接收主节点发送的携带该从节点需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,根据该数据同步响应消息执行一次同步数据到主节点的操作。

图4所示装置中,

所述第二同步单元402,根据该数据同步响应消息执行一次同步数据到主节点的操作之后,进一步用于:如果该从节点已经完成到主节点的数据同步,则向主节点发送数据同步结束标记,否则,不向主节点发送数据同步结束标记。

图4所示装置中,

所述发送单元401,进一步用于:该从节点登录主节点后,定期向主节点上报该从节点的状态信息。

参见图5,本发明的另一实施例还提供了一种电子设备500,功能与如图3所示装置相同,图5所示的电子设备包括:至少一个处理器501,以及与所述至少一个处理器通过总线相连的存储器502;所述存储器502存储有可被所述至少一个处理器执行的一个或多个计算机程序;当所述至少一个处理器501执行所述一个或多个计算机程序时实现如图1所示的方法步骤。

本发明实施例例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现如图1所示方法。

参见图6,本发明的另一实施例还提供了一种电子设备600,功能与如图4所示装置相同,图6所示的电子设备包括:至少一个处理器601,以及与所述至少一个处理器通过总线相连的存储器602;所述存储器602存储有可被所述至少一个处理器执行的一个或多个计算机程序;当所述至少一个处理器601执行所述一个或多个计算机程序时实现如图2所示的方法步骤。

本发明实施例例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现如图2所示方法。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。


技术特征:

1.一种数据同步异常的恢复方法,应用于分布式网络中,其特征在于,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该方法具体应用于主节点,包括:

接收从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后发送的数据同步请求消息;

循环执行以下操作,直至确定该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:确定该从节点需要同步到主节点的每种数据类型的最后同步编号,向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,以使该从节点根据该同步数据响应消息执行一次同步数据到主节点的操作。

2.根据权利要求1所述的方法,其特征在于,

向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息时,进一步设置定时器;

判断该从节点是否完成到主节点的数据同步的方法为:如果在定时器时间内接收到该从节点发送的数据同步结束标志,则确定该从节点完成到主节点的数据同步,否则,确定该从节点未完成到主节点的数据同步。

3.根据权利要求1所述的方法,其特征在于,

该方法进一步包括:接收该从节点登录主节点后定期上报的状态信息;

判断是否发生导致该从节点与主节点的连接断开的网络故障的方法为:如果接收该从节点上报的状态信息的时间间隔超过预设间隔阈值,则确定发生导致该从节点与主节点的连接断开的网络故障,否则,确定未发生导致该从节点与主节点的连接断开的网络故障。

4.根据权利要求1所述的方法,其特征在于,

如果该从节点执行同步数据到主节点的操作次数达到预设次数上限,则确定发生导致该从节点与主节点的连接断开的网络故障,禁止该从节点同步数据到主节点。

5.一种数据同步异常的恢复方法,应用于分布式网络中,其特征在于,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该方法具体应用于任一从节点,包括:

该从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后,向主节点发送数据同步请求消息;

循环执行以下操作,直至该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:接收主节点发送的携带该从节点需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,根据该数据同步响应消息执行一次同步数据到主节点的操作。

6.根据权利要求5所述的方法,其特征在于,

根据该数据同步响应消息执行一次同步数据到主节点的操作之后,进一步包括:如果该从节点已经完成到主节点的数据同步,则向主节点发送数据同步结束标记,否则,不向主节点发送数据同步结束标记。

7.根据权利要求5所述的方法,其特征在于,

该方法进一步包括:该从节点登录主节点后,定期向主节点上报该从节点的状态信息。

8.一种数据同步异常的恢复装置,应用于分布式网络中,其特征在于,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该装置具体应用于主节点,包括:

接收单元,用于接收从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后发送的数据同步请求消息;

第一同步单元,用于接收单元接收到该从节点的数据同步请求消息时,循环执行以下操作,直至确定该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:确定该从节点需要同步到主节点的每种数据类型的最后同步编号,向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,以使该从节点根据该同步数据响应消息执行一次同步数据到主节点的操作。

9.根据权利要求8所述的装置,其特征在于,

所述第一同步单元,用于向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息时,进一步设置定时器;

所述接收单元,用于接收该从节点发送的数据同步结束标志;

所述第一同步单元,判断该从节点是否完成到主节点的数据同步时,用于:如果接收单元在定时器时间内接收到该从节点发送的数据同步结束标志,则确定该从节点完成到主节点的数据同步,否则,确定该从节点未完成到主节点的数据同步。

10.根据权利要求8所述的装置,其特征在于,

所述接收单元,进一步用于:接收该从节点登录主节点后定期上报的状态信息;

所述第一同步单元,判断是否发生导致该从节点与主节点的连接断开的网络故障时,用于:如果接收单元接收该从节点上报的状态信息的时间间隔超过预设间隔阈值,则确定发生导致该从节点与主节点的连接断开的网络故障,否则,确定未发生导致该从节点与主节点的连接断开的网络故障。

11.根据权利要求8所述的装置,其特征在于,

所述第一同步单元,用于如果该从节点执行同步数据到主节点的操作次数达到预设次数上限,则确定发生导致该从节点与主节点的连接断开的网络,禁止该从节点同步数据到主节点。

12.一种数据同步异常的恢复装置,应用于分布式网络中,其特征在于,所述分布式网络包括一个主节点和用于向主节点同步数据的多个从节点,该装置具体应用于任一从节点,包括:

发送单元,用于该从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后,向主节点发送数据同步请求消息;

第二同步单元,循环执行以下操作,直至该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:接收主节点发送的携带该从节点需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,根据该数据同步响应消息执行一次同步数据到主节点的操作。

13.根据权利要求12所述的装置,其特征在于,

所述第二同步单元,根据该数据同步响应消息执行一次同步数据到主节点的操作之后,进一步用于:如果该从节点已经完成到主节点的数据同步,则向主节点发送数据同步结束标记,否则,不向主节点发送数据同步结束标记。

14.根据权利要求12所述的装置,其特征在于,

所述发送单元,进一步用于:该从节点登录主节点后,定期向主节点上报该从节点的状态信息。

15.一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通过总线相连的存储器;所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序;其特征在于,所述至少一个处理器执行所述一个或多个计算机程序时实现权利要求1-4任一权项所述的方法步骤。

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现权利要求1-4中任一项所述的方法。

17.一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通过总线相连的存储器;所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序;其特征在于,所述至少一个处理器执行所述一个或多个计算机程序时实现权利要求5-7任一权项所述的方法步骤。

18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现权利要求5-7中任一项所述的方法。

技术总结
本发明提供了一种数据同步异常的恢复方法和装置,技术方案为:从节点首次登录主节点、或导致该从节点与主节点的连接断开的网络故障恢复后登录主节点后向主节点发送数据同步请求消息;主节点接收该数据同步请求消息后,循环执行以下操作,直至确定该从节点完成到主节点的数据同步、该从节点故障、或该从节点执行同步数据到主节点的操作次数达到预设次数上限:确定该从节点需要同步到主节点的每种数据类型的最后同步编号,向该从节点发送携带需要同步到主节点的每种数据类型的最后同步编号的数据同步响应消息,以使该从节点根据该同步数据响应消息执行一次同步数据到主节点的操作。本发明能够保证网络从故障中恢复后的数据同步的可恢复。

技术研发人员:常静波
受保护的技术使用者:北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
技术研发日:2018.12.03
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20663.html

最新回复(0)