一种心跳信息发送方法、装置及心跳发送节点与流程

文档序号:11263555阅读:343来源:国知局
一种心跳信息发送方法、装置及心跳发送节点与流程

本发明涉及通信技术领域,尤其涉及一种心跳信息发送方法、装置及心跳发送节点。



背景技术:

目前,提高分布式数据库系统的可用性的一般方法为数据备份。为了保证数据库的一致性,数据备份必须是一致性备份。一致性备份需要采用一致性算法。常见的一致性算法包括paxos算法,raft算法等。进一步,在分布式数据库系统中,为了提高一致性备份过程中数据复制的速度和吞吐量,在进行数据备份时,通常将数据分成若干个数据块进行复制。

在数据块采用一致性算法进行复制备份的过程中,为了实现故障的自动恢复与容错,参与一致性算法的各个节点需要知道彼此数据块的状态信息。为此,节点之间需要发送心跳信息来通知自己的数据块的状态信息。

如图1所示,现有技术中,主数据块leader会向主数据块对应的从数据块发送心跳信息,当节点中的存在主数据块时,该节点会将节点内各个数据块的心跳信息合并,发送给所有与节点内的数据块位于同一数据块组的数据块所在的其他节点,具有相同数据块类型的节点是指存储有相同数据的数据块所在的节点。

然而,在系统中,节点会向所有包含相同数据块的其他节点发送心跳信息,由于节点中除了主数据块leader外,还包括不是leader的数据块,因此,对心跳信息进行合并,会导致节点发送大量无用的心跳信息。如图2所示,节点1中的数据块1为leader,数据块2不是leader,由于节点1和节点3都包括数据块2,则节点1会向节点3发送心跳信息,但由于节点1中的数据块2并不是leader, 因此这个心跳信息就是无用的心跳信息,无用的心跳信息会导致心跳信息的数量增加,影响系统性能。



技术实现要素:

本发明实施例提供一种心跳信息发送方法、装置及心跳发送节点,用于避免节点发送无用的心跳信息,从而减少心跳信息数量,防止网络拥塞。

本发明实施例第一方面提供了一种心跳信息发送方法,所述方法由心跳发送节点执行,所述方法包括:

确定所述心跳发送节点中的至少两个主数据块对应的至少两个从数据块所在的心跳接收节点;

在所述心跳接收节点为同一个节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息,其中,所述心跳发送节点的心跳信息为将所述至少两个主数据块各自的心跳信息合并后得到的心跳信息。

本发明实施例中,通过确定心跳发送节点中的至少两个主数据块对应的至少两个从数据块所在的心跳接收点,然后,在所述心跳接收节点为同一个节点时,向心跳接收节点发送至少两个主数据块各自的心跳信息合并后得到的心跳信息,避免了心跳发送节点将节点内各个数据块(包括主数据块和从数据块)的心跳信息合并,并发送给所有与节点内的数据块位于同一数据块组的数据块所在的其他节点,从而减少心跳信息数量,防止网络拥塞。

结合第一方面,在第一方面的第一种可能的实现方式中,所述心跳发送节点的心跳信息携带:用于标识所述至少两个主数据块各自所在的数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组各自的主数据块位于所述心跳发送节点。

本发明实施例第二方面提供了一种心跳信息发送方法,所述方法由心跳发送节点执行,所述方法包括:确定所述心跳发送节点中的当前主数据块对应的从数据块所在的心跳接收节点,所述当前主数据块所在的数据块组包括所述从 数据块;向所述心跳接收节点发送所述心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带:用于标识所述数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组中的主数据块位于所述心跳发送节点。

现有技术中,心跳发送节点发送的心跳信息携带有心跳发送节点的节点标识,心跳接收节点中具有心跳接收节点中的从数据块对应的主数据块所在节点的节点标识。在心跳接收节点接收到的心跳信息时,如果心跳信息携带的节点标识与从数据块对应的节点标识相同,则从数据块接收该心跳信息,并对心跳信息进行响应。如果从数据块所在的数据块组中的主数据块发生改变,即,另一心跳发送节点中的位于数据块组内的数据块成为该数据块组的主数据块,但是,心跳接收节点中的从数据块对应的节点标识没有改变,则在另一心跳发送节点向心跳接收节点发送心跳信息时,由于心跳信息中携带的另一心跳发送节点的节点标识与从数据块对应的节点标识不同,则从数据块会忽略该心跳信息,导致从数据块相对于另一心跳发送节点处于孤立状态。

本申请实施例中,通过在心跳发送节点的心跳信息中携带:用于标识所述至少两个主数据块各自所在的数据块组的数据块组标识,使得心跳接收节点在接收到携带有数据块组标识的心跳信息后,将从数据块对应的节点标识更新为用于标识所述心跳发送节点的标识,从而防止从数据块相对于心跳发送节点处于孤立状态。

结合第二方面,在第二方面的第一种可能的实现方式中,所述向所述心跳接收节点发送所述心跳发送节点的心跳信息,包括:在所述心跳接收节点为没有对所述当前主数据块的选举请求进行响应的节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息。本发明实施例中,在心跳接收节点为没有对所述当前主数据块的选举请求进行响应的节点时,向心跳接收节点发送心跳信息,减少了心跳信息的数量。

本发明实施例第三方面提供了一种心跳信息处理方法,所述方法由心跳接收节点执行,所述方法包括:接收来自心跳发送节点的心跳信息,所述心跳发 送节点的心跳信息携带用于标识数据块组的数据块组标识;确定所述心跳接收节点中位于所述数据块组中的从数据块;将所述从数据块对应的节点标识更新为用于标识所述心跳发送节点的标识,所述节点标识用于标识所述数据块组中的主数据块所在的节点。

本发明实施例中,心跳接收节点在接收到携带有用于标识数据块组的数据块组标识的心跳信息后,确定心跳接收节点中位于数据块组中的从数据块,然后,将从数据块对应的节点标识更新为用于标识所述心跳发送节点的标识,从而防止从数据块相对于心跳发送节点处于孤立状态。

本发明实施例第四方面提供了一种心跳信息发送装置,包括:

确定单元,用于确定所述心跳发送节点中的至少两个主数据块对应的至少两个从数据块所在的心跳接收节点;

发送单元,用于在所述心跳接收节点为同一个节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息,其中,所述心跳发送节点的心跳信息为将所述至少两个主数据块各自的心跳信息合并后得到的心跳信息。

结合第四方面,在第四方面的第一种可能的实现方式中,所述心跳发送节点的心跳信息携带:用于标识所述至少两个主数据块各自所在的数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组各自的主数据块位于所述心跳发送节点。

本发明实施例第五方面提供了一种心跳信息发送装置,包括:

确定单元,用于确定所述心跳发送节点中的当前主数据块对应的从数据块所在的心跳接收节点,所述当前主数据块所在的数据块组包括所述从数据块;

发送单元,用于向所述心跳接收节点发送所述心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带:用于标识所述数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组中的主数据块位于所述心跳发送节点。

结合第五方面,在第五方面的第一种可能的实现方式中,所述发送单元用 于:

在所述心跳接收节点为没有对所述当前主数据块的选举请求进行响应的节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息。

本发明实施例第六方面提供了一种心跳信息处理装置,包括:

接收单元,用于接收来自心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带用于标识数据块组的数据块组标识;

确定单元,用于确定所述心跳接收节点中位于所述数据块组中的从数据块;

更新单元,用于将所述从数据块对应的节点标识更新为用于标识所述心跳发送节点的标识,所述节点标识用于标识所述数据块组中的主数据块所在的节点。

本发明实施例第七方面提供了一种心跳发送节点,包括:处理器,发送器和通信总线;其中,所述处理器和所述发送器通过所述通信总线完成相互间的通信;

所述处理器用于:确定所述心跳发送节点中的至少两个主数据块对应的至少两个从数据块所在的心跳接收节点;

所述发送器用于:在所述心跳接收节点为同一个节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息,其中,所述心跳发送节点的心跳信息为将所述至少两个主数据块各自的心跳信息合并后得到的心跳信息。

结合第七方面,在第七方面的第一种可能的实现方式中,所述心跳发送节点的心跳信息携带:用于标识所述至少两个主数据块各自所在的数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组各自的主数据块位于所述心跳发送节点。

本发明实施例第八方面提供了一种心跳发送节点,包括:处理器,发送器和通信总线;其中,所述处理器和所述发送器通过所述通信总线完成相互间的通信;

所述处理器用于:确定所述心跳发送节点中的当前主数据块对应的从数据 块所在的心跳接收节点,所述当前主数据块所在的数据块组包括所述从数据块;

所述发送器用于:向所述心跳接收节点发送所述心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带:用于标识所述数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组中的主数据块位于所述心跳发送节点。

结合第八方面,在第八方面的第一种可能的实现方式中,所述发送器用于:

在所述心跳接收节点为没有对所述当前主数据块的选举请求进行响应的节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息。

本发明实施例第九方面提供了一种心跳发送节点,包括:处理器,接收器和通信总线;其中,所述处理器和所述接收器通过所述通信总线完成相互间的通信;

所述接收器用于:接收来自心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带用于标识数据块组的数据块组标识;

所述处理器用于:确定所述心跳接收节点中位于所述数据块组中的从数据块;将所述从数据块对应的节点标识更新为用于标识所述心跳发送节点的标识,所述节点标识用于标识所述数据块组中的主数据块所在的节点。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明实施例中,通过确定心跳发送节点中的至少两个主数据块对应的至少两个从数据块所在的心跳接收点,然后,在所述心跳接收节点为同一个节点时,向心跳接收节点发送至少两个主数据块各自的心跳信息合并后得到的心跳信息,避免了心跳发送节点将节点内各个数据块(包括主数据块和从数据块)的心跳信息合并,并发送给所有与节点内的数据块位于同一数据块组的数据块所在的其他节点,从而减少心跳信息数量,防止网络拥塞。

附图说明

图1为心跳信息合并的示意图;

图2为节点发送的无用的心跳信息的示意图;

图3为本发明实施例适用的分布式数据库系统的示意图;

图4为本发明实施例中的一种心跳信息发送方法的流程图;

图5为分布式数据库系统中主数据模块发生改变的示意图;

图6为本发明实施例中的另一心跳信息发送方法的流程图;

图7为本发明实施例中的一种心跳信息处理方法的流程图;

图8为本发明实施例中心跳发送装置的功能模块示意图;

图9为本发明实施例中心跳发送节点的硬件结构示意图;

图10为本发明实施例中另一心跳发送装置的功能模块示意图;

图11为本发明实施例中另一心跳发送节点的硬件结构示意图;

图12为本发明实施例中心跳接收装置的功能模块示意图;

图13为本发明实施例中心跳接收节点的硬件结构示意图。

具体实施方式

本发明实施例提供一种心跳信息发送方法、装置及心跳发送节点,用以解决分布式数据库系统中,节点发送无用的心跳信息的技术问题。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

请参考图3,为本发明实施例适用的分布式数据库系统的示意图,分布式数据库系统包含多个节点,每个节点包括至少一个数据块。在背景技术中已经提 及将数据分成若干个数据块进行复制,如:将节点1中的数据分为数据块1和数据块2,然后,对数据块1进行复制,并对数据块2进行复制。分布式数据库系统可以具有多个数据块组,每个数据快组具有唯一的数据块组标识,和唯一的主数据块leader,不同数据块组的主数据块可能位于分布式数据库系统中的同一节点,也可能位于不同节点。

一致性备份需要采用一致性算法,以raft算法为例,raft算法会从一个数据块组中选举出一个唯一的主数据块,该数据块组中的其他数据块为从数据块。主数据块负责管理日志,所有对日志的添加和状态变化操作都通过主数据块完成。在分布式数据库系统中,参与一致性算法的各个节点需要知道彼此数据块的状态信息,为此,主数据块需要向从数据块发送心跳信息来通知自己所在节点的状态信息。

下面对本发明实施例提供的心跳信息发送方法进行详细说明。

请参考图4,为本发明实施例提供的一种心跳信息发送方法的流程图。该方法包括以下内容:

步骤40:确定所述心跳发送节点中的至少两个主数据块对应的至少两个从数据块所在的心跳接收节点。

在分布式数据库系统中,心跳发送节点中维护有至少两个主数据块的集合leaderraftnode,和心跳接收节点的集合其中,nodel表示主数据块l的从数据块所在节点的集合。也就是说,如果心跳发送节点上有至少两个主数据块,则心跳接收节点的集合sheartbeatnode中包括心跳发送节点上的至少两个主数据块中的每个主数据块的从数据块所在的节点的并集。

则在步骤40中,心跳发送节点可以通过查询集合sheartbeatnode中包括的节点来确定心跳接收节点,即,心跳发送节点将集合sheartbeatnode中包括的节点确定为所述心跳接收节点。

步骤41:在所述心跳接收节点为同一个节点时,向所述心跳接收节点发送 所述心跳发送节点的心跳信息,其中,所述心跳发送节点的心跳信息为将所述至少两个主数据块各自的心跳信息合并后得到的心跳信息。

在分布式数据库系统中,在心跳接收节点为同一个节点时,也就是说,在至少两个从数据块位于同一个节点上时,心跳发送节点将至少两个主数据块各自的心跳信息进行合并,得到合并后的心跳信息,并将合并后的心跳信息发送至心跳信息节点,以减少心跳信息的数量。

需要说明的是,心跳发送节点上除主数据块外,还可以包括位于其他数据块组的从数据块。在分布式数据库系统中,由于节点发生故障等原因,心跳发送节点中的数据块的状态会发生改变,一种可能的情况为:心跳发送节点中的主数据块变成从数据块,另一种可能的情况为:心跳发送节点中的从数据块变成主数据块。在心跳发送节点中的数据块状态发生改变后,心跳发送节点会对节点上集合sheartbeatnode进行更新。更新的步骤如下:

第一步,确定心跳发送节点上的所有主数据块。

第二步:确定所有主数据块的所有从数据块。

第三步:确定所有从数据块所在的节点;

第四步:根据所有从数据块所在的节点,对集合sheartbeatnode的心跳接收节点进行更新。

现有技术中,对心跳信息进行合并后,可能会导致节点中的从数据块被主数据块孤立。举例来讲:如图5中的a所示,节点1中的数据块1和数据块2都为主数据块,节点2中包括数据块1和数据块2,通过合并数据块1和主数据块2心跳信息,节点1只需要向节点2发送一个心跳信息,该心跳信息中携带节点1的节点标识,节点2中的数据块1对应的节点标识为节点1的节点标识。如果节点2接收到节点1发送的心跳信息,则从数据块1会接收该心跳信息,并对心跳信息进行响应。

如图5中的b所示,在节点1中的数据块1的状态从主数据块变成从数据块,节点3中的数据块1变为所在数据块组的主数据块后,如果节点1继续向 节点2发送心跳信息,由于节点2中的数据块1对应的节点标识仍然为节点1的节点标识,则节点2接到节点1发送的心跳信息时,节点2中的数据块1会继续将节点1作为主数据块所在的节点;而节点2接收到节点3发送的心跳信息(心跳信息中携带节点3的节点标识)时,由于节点3的节点标识与节点2中的数据块1对应的节点标识不同,则节点2中的数据块1会忽略节点3发送的心跳信息,使得节点2中的数据块1相对于节点3中的主数据块处于孤立状态。

为了解决上述技术问题,本发明实施例提供一种心跳信息发送方法,如图6所示,该方法包括以下内容:

步骤60:确定所述心跳发送节点中的当前主数据块对应的从数据块所在的心跳接收节点,所述当前主数据块所在的数据块组包括所述从数据块。

在分布式数据库系统中,对于参与raft算法的每个数据块,维护一个组节点集合noderaftnode,noderaftnode中包括系统中具有相同数据块组标识的所有数据块所在的节点,noderaftnode中每个元素的格式为元组(raftgroupid,nodeid),其中,raftgroupid为数据块组标识,nodeid为数据块所在的节点的节点标识。

如果某个数据块被选举为当前主数据块,在确定心跳接收节点时,可以根据当前主数据块所在的数据块组的数据块组标识,查询对应的noderaftnode,并将noderaftnode中的节点确定为当前主数据块对应的从数据块所在的心跳接收节点。

步骤61:向所述心跳接收节点发送所述心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带:用于标识所述数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组中的主数据块位于所述心跳发送节点。

对于noderaftnode中的每个节点,心跳发送节点会维护一个leadermsgr集合,leadermsgr集合中元素的格式为元组(raftgroupid,leaderid),其中,raftgroupid为数据块组标识,leaderid为主数据块所在节点的节点标识。当心跳发送节点向noderaftnode中的节点发送心跳信息时,心跳信息中添加leadermsgr中的数据块主标 识。

请参考图7,在心跳发送节点向心跳接收节点发送携带有数据块组标识的心跳信息后,心跳接收节点执行以下步骤:

步骤70:接收来自心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带用于标识数据块组的数据块组标识。

步骤71:确定所述心跳接收节点中位于所述数据块组中的从数据块。

对于参与raft算法的每个数据块,具有所在数据块组的唯一的数据块组标识,因此,心跳接收节点根据心跳信息中携带的数据块组标识,确定出位于所述数据块组中的从数据块,该从数据块的数据块组标识与心跳信息中携带的数据块组标识相同。

步骤72:将所述从数据块对应的节点标识更新为用于标识所述心跳发送节点的标识,所述节点标识用于标识所述数据块组中的主数据块所在的节点。

在步骤72中,如果所述从数据对应的节点标识与所述心跳发送节点的标识不同,心跳接收节点将从数据对应的节点标识更新为所述心跳发送节点的标识,则接下来,在心跳接收节点接收到心跳发送节点发送的心跳信息时,由于更新后的从数据对应的节点标识与心跳信息中携带的节点标识相同,则从数据块能够接收该心跳信息,并对该心跳信息进行响应,从而反之心跳接收节点中的从数据块相对于主数据块处于孤立状态。

举例来讲,请继续参考图5中的b,在节点1中的数据块1的状态从主数据块变为从数据块,节点3中的数据块1变为所在数据块组的主数据块后,节点2中的数据块1对应的节点标识为节点1的节点标识。节点3在发送至节点2的心跳信息中携带用于标识数据块1所在数据块组的数据块组标识,节点2接收到节点3发送的心跳信息后,确定出节点2中位于所述数据块组的从数据块为数据块1,并将数据块1对应的节点标识更新为节点3的节点标识。

如果节点1继续向节点2发送心跳信息,由于节点2中数据块1对应的节点标识更新为节点3的节点标识,则节点2接到节点1发送的心跳信息时,节 点2中的数据块1会忽略节点2发送的心跳信息,而节点2接收到节点3发送的心跳信息时,节点2中的数据块1会接收节点3发送的心跳信息,并对节点2发送的心跳信息进行响应,使得节点3中的数据块1的状态发生改变后,节点2中的数据块1相对于节点3不会处于孤立状态。

可选的,在所述心跳接收节点为没有对所述当前主数据块的选举请求进行响应的节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息。

首先,对raft算法中主数据块的选举进行说明。

raft算法中,任何一个数据块在任何一个时刻都处于三种状态之一:主数据块(leader),从数据块(follower),候选数据块(candidate)。raft算法把时间分为连续的任期,每个任期开始时进行主数据块选举。选举时,候选数据块所在节点启动一个新的计时器,并向与候选数据块位于同一数据块组中的所有其它数据块所在节点发送requestvoterpc请求(选举请求),并等待节点响应,如果在计时器超时前,候选数据块所在节点接收到系统中多数节点返回的同意投票,则该数据块候选数据块成为主数据块。

在主数据块选举结束后,假设候选数据块成为当前主数据块,如果在选举的过程中,当前主数据块所在的心跳发送节点没有接收到心跳接收节点的同意投票,则心跳发送节点会向心跳接收节点发送携带有数据块组标识心跳信息;如果在选举过程中,心跳发送节点接收到了心跳接收节点返回的同意投票,则心跳发送节点可以不向心跳接收节点发送携带有数据块组标识心跳信息。

基于同一发明构思,本发明实施例还提供一种心跳信息发送装置,如图8所示,包括:

确定单元80,用于确定所述心跳发送节点中的至少两个主数据块对应的至少两个从数据块所在的心跳接收节点;

发送单元81,用于在所述心跳接收节点为同一个节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息,其中,所述心跳发送节点的心跳信息为将所述至少两个主数据块各自的心跳信息合并后得到的心跳信息。

可选的,所述心跳发送节点的心跳信息携带:用于标识所述至少两个主数据块各自所在的数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组各自的主数据块位于所述心跳发送节点。

前述图4实施例中的心跳信息发送方法中的各种变化方式和具体实例同样适用于本实施例的心跳信息发送装置,通过前述对心跳信息发送方法的详细描述,本领域技术人员可以清楚的知道本实施例中心跳信息发送装置的实施方法,所以为了说明书的简洁,在此不再详述。

基于同一发明构思,本发明实施例还提供一种心跳发送节点,如图9所示,包括:处理器402,发送器401和通信总线400;其中,所述处理器402和所述发送器401通过所述通信总线400完成相互间的通信;

所述处理器402用于:确定所述心跳发送节点中的至少两个主数据块对应的至少两个从数据块所在的心跳接收节点;

所述发送器401用于:在所述心跳接收节点为同一个节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息,其中,所述心跳发送节点的心跳信息为将所述至少两个主数据块各自的心跳信息合并后得到的心跳信息。

可选的,所述心跳发送节点的心跳信息携带:用于标识所述至少两个主数据块各自所在的数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组各自的主数据块位于所述心跳发送节点。

进一步,在图9中,通信总线400可以包括任意数量的互联的总线和桥,通信总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路连接在一起。通信总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口405在通信总线400和发送器401之间提供接口。发送器401可以是收发机,提供用于在传输介质上与各种其他装置通信的单元。

处理器402负责管理通信总线400和通常的处理,而存储器404可以被用 于存储处理器402在执行操作时所使用的数据。

前述图4实施例中的心跳信息发送方法中的各种变化方式和具体实例同样适用于本实施例的心跳信息发送装置,通过前述对心跳信息发送方法的详细描述,本领域技术人员可以清楚的知道本实施例中心跳信息发送装置的实施方法,所以为了说明书的简洁,在此不再详述。

基于同一发明构思,本发明实施例还提供一种心跳信息发送装置,如图10所示,包括:

确定单元101,用于确定所述心跳发送节点中的当前主数据块对应的从数据块所在的心跳接收节点,所述当前主数据块所在的数据块组包括所述从数据块;

发送单元102,用于向所述心跳接收节点发送所述心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带:用于标识所述数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组中的主数据块位于所述心跳发送节点。

可选的,所述发送单元102用于:

在所述心跳接收节点为没有对所述当前主数据块的选举请求进行响应的节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息。

前述图6实施例中的心跳信息发送方法中的各种变化方式和具体实例同样适用于本实施例的心跳信息发送装置,通过前述对心跳信息发送方法的详细描述,本领域技术人员可以清楚的知道本实施例中心跳信息发送装置的实施方法,所以为了说明书的简洁,在此不再详述。

基于同一发明构思,本发明实施例还提供一种心跳发送节点,如图11所示,包括:处理器602,发送器601和通信总线600;其中,所述处理器602和所述发送器601通过所述通信总线600完成相互间的通信;

所述处理器602用于:确定所述心跳发送节点中的当前主数据块对应的从数据块所在的心跳接收节点,所述当前主数据块所在的数据块组包括所述从数据块;

所述发送器601用于:向所述心跳接收节点发送所述心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带:用于标识所述数据块组的数据块组标识,所述数据块组标识用于指示所述数据块组中的主数据块位于所述心跳发送节点。

可选的,所述发送器601用于:

在所述心跳接收节点为没有对所述当前主数据块的选举请求进行响应的节点时,向所述心跳接收节点发送所述心跳发送节点的心跳信息。

进一步,在图11中,通信总线600可以包括任意数量的互联的总线和桥,通信总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路连接在一起。通信总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口605在通信总线600和发送器601之间提供接口。发送器601可以是收发机,提供用于在传输介质上与各种其他装置通信的单元。

处理器602负责管理通信总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。

前述图6实施例中的心跳信息发送方法中的各种变化方式和具体实例同样适用于本实施例的心跳信息发送装置,通过前述对心跳信息发送方法的详细描述,本领域技术人员可以清楚的知道本实施例中心跳信息发送装置的实施方法,所以为了说明书的简洁,在此不再详述。

基于同一发明构思,本发明实施例还提供一种心跳信息处理装置,如图12所示,包括:

接收单元121,用于接收来自心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带用于标识数据块组的数据块组标识;

确定单元122,用于确定所述心跳接收节点中位于所述数据块组中的从数据块;

更新单元123,用于将所述从数据块对应的节点标识更新为用于标识所述心跳发送节点的标识,所述节点标识用于标识所述数据块组中的主数据块所在的节点。

前述图7实施例中的心跳信息处理方法中的各种变化方式和具体实例同样适用于本实施例的心跳信息处理装置,通过前述对心跳信息处理方法的详细描述,本领域技术人员可以清楚的知道本实施例中心跳信息处理装置的实施方法,所以为了说明书的简洁,在此不再详述。

基于同一发明构思,本发明实施例还提供一种心跳接收节点,如图13所示,包括:处理器802,接收器801和通信总线800;其中,所述处理器802和所述接收器801通过所述通信总线800完成相互间的通信;

所述接收器801用于:接收来自心跳发送节点的心跳信息,所述心跳发送节点的心跳信息携带用于标识数据块组的数据块组标识;

所述处理器802用于:确定所述心跳接收节点中位于所述数据块组中的从数据块;将所述从数据块对应的节点标识更新为用于标识所述心跳发送节点的标识,所述节点标识用于标识所述数据块组中的主数据块所在的节点。

进一步,在图13中,通信总线800可以包括任意数量的互联的总线和桥,通信总线800将包括由处理器802代表的一个或多个处理器和存储器804代表的存储器的各种电路连接在一起。通信总线800还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口805在通信总线800和接收器801之间提供接口。接收器801可以是收发机,提供用于在传输介质上与各种其他装置通信的单元。

处理器802负责管理通信总线800和通常的处理,而存储器804可以被用于存储处理器802在执行操作时所使用的数据。

前述图7实施例中的心跳信息处理方法中的各种变化方式和具体实例同样适用于本实施例的心跳信息处理装置,通过前述对心跳信息处理方法的详细描 述,本领域技术人员可以清楚的知道本实施例中心跳信息处理装置的实施方法,所以为了说明书的简洁,在此不再详述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1