节点切换方法、装置、管理机、节点设备和分布式系统与流程

文档序号:17262298发布日期:2019-03-30 09:44阅读:273来源:国知局
节点切换方法、装置、管理机、节点设备和分布式系统与流程

本发明涉及互联网技术领域,具体而言,涉及一种节点切换方法、装置、管理机、节点设备和分布式系统。



背景技术:

随着科学技术的发展,互联网在提供信息方面变得越来越方便,互联网可以为用户提供多元化、海量化的信息,但是对于网络服务商而言,传统的单一服务器或数据库等处理设备,已经不能满足对海量数据进行处理的要求,因此分布式系统应运而生。

分布式系统中包含多个节点(如服务器、存储设备或计算机等),通常只有一个主节点,其余均为从节点(亦称备用节点),通常来讲,由主节点对外提供服务,而从节点与主节点进行通信。如果分布式系统中,主节点出现故障或失效,为了保证系统的正常运转,要在从节点中选出一个从节点切换成为新的主节点,不然整个系统将无法对外提供服务。

现有技术中,在主节点出现故障或失效时,通常采用从节点之间竞选选举的方式,选举出主节点,但是,这种方式算法比较复杂,不能非常快速的进行主节点的切换。



技术实现要素:

针对上述现有技术中存在的问题,本发明提供了一种节点切换方法、装置、管理机、节点设备和分布式系统,有助于快速进行主节点切换。

第一方面,本发明实施例提供了一种节点切换方法,应用于管理机,所述方法包括:

监测各个注册节点的运行状态,其中,所述注册节点设置有编号;

当监测到离线节点时,向在线的注册节点发送离线通知消息,其中,所述离线节点为状态由在线变更为离线的注册节点,所述离线通知消息中携带有所述离线节点的编号,以使在线的注册节点根据所述离线节点的编号确定是否切换为主节点。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述监测各个注册节点的运行状态的步骤,包括:

接收各个注册节点的心跳信号,并记录各个注册节点的最近心跳时间;

将最近心跳时间与当前时间之间的时间差大于设定阈值的注册节点认定为离线节点。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:

接收节点的注册请求;

按照预定规则为新注册节点分配编号;

向新注册节点发送注册响应消息,所述注册响应消息中至少携带有所述新注册节点的编号。

结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:

向所述新注册节点发送已注册节点的编号。

结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述预定规则包括编号递增规则。

结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述向新注册的节点发送注册响应消息的步骤之后,所述方法还包括:

向注册节点发送新增节点消息;所述新增节点消息携带有所述新注册的节点的编号。

第二方面,本发明实施例还提供了一种节点切换方法,应用于从节点,所述方法包括:

接收管理机发送的离线通知消息,其中,所述离线通知消息中携带有离线节点的编号,所述离线节点为状态由在线变更为离线的注册节点;

根据所述离线节点的编号和所述从节点的编号,确定所述从节点的编号是否满足预定切换条件;

如果确定所述从节点的编号满足预定切换条件,切换为新的主节点对外提供服务。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述根据所述离线节点的编号和所述从节点的编号,确定所述从节点的编号是否满足预定切换条件包括:

根据所述离线节点的编号、所述从节点的编号和当前在线的注册节点的编号,确定所述从节点的编号是否满足预定切换条件。

结合第二方面或第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述预定切换条件为:所述从节点的编号在当前在线的注册节点中编号最小。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,在所述接收管理机发送的离线通知消息前,所述方法还包括:

向所述管理机发送注册请求;

接收管理机发送的用于指示注册成功的注册响应消息,所述注册响应消息中至少携带有所述管理机为所述从节点分配的编号。

结合第二方面的第三种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述方法还包括:

接收管理机发送的已注册节点的编号。

结合第二方面,本发明实施例提供了第二方面的第五种可能的实施方式,其中,所述方法还包括:

按照预设的间隔时长向所述管理机发送心跳信号。

结合第二方面,本发明实施例提供了第二方面的第六种可能的实施方式,其中,所述方法还包括:

接收所述管理机发送的新增节点消息,所述新增节点消息携带有所述新注册的节点的编号。

第三方面,本发明实施例还提供了一种节点切换装置,应用于管理机,所述装置包括:

节点监测模块,用于监测各个注册节点的运行状态,其中,所述注册节点设置有编号;

离线消息发送模块,用于当监测到离线节点时,向当前在线的注册节点发送离线通知消息,其中,所述离线节点为状态由在线变更为离线的注册节点,所述离线通知消息中携带有所述离线节点的编号,以使当前在线的注册节点根据所述离线节点的编号确定是否切换为主节点。

结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,节点监测模块用于:

接收各个注册节点的心跳信号,并记录各个注册节点的最近心跳时间;

将最近心跳时间与当前时间之间的时间差大于设定阈值的注册节点认定为离线节点。

结合第三方面,本发明实施例提供了第三方面的第二种可能的实施方式,其中,所述装置还包括注册请求处理模块,用于:

接收节点的注册请求;

按照预定规则为新注册节点分配编号;

向新注册节点发送注册响应消息,所述注册响应消息中至少携带有所述新注册节点的编号。

结合第三方面的第二种可能的实施方式,本发明实施例提供了第三方面的第三种可能的实施方式,所述注册请求处理模块还用于向所述新注册节点发送已注册节点的编号。

结合第三方面的第二种可能的实施方式,本发明实施例提供了第三方面的第四种可能的实施方式,其中,所述预定规则包括编号递增规则。

结合第三方面的第二种可能的实施方式,本发明实施例提供了第三方面的第五种可能的实施方式,其中,所述装置还包括新增节点消息发送模块,用于:

向注册节点发送新增节点消息;所述新增节点消息携带有所述新注册的节点的编号。

第四方面,本发明实施例还提供了一种节点切换装置,应用于从节点,所述装置包括:

消息接收模块,用于接收管理机发送的离线通知消息;所述离线通知消息中携带有离线节点的编号;所述离线节点为状态由在线变更为离线的注册节点;

节点切换模块,用于根据所述离线节点的编号、所述从节点的编号和当前在线的注册节点的编号,确定所述从节点的编号是否满足预定切换条件;如果确定所述从节点的编号满足预定切换条件,切换为新的主节点对外提供服务。

结合第四方面,本发明实施例提供了第四方面的第一种可能的实施方式,其中,节点切换模块用于:

根据所述离线节点的编号、所述从节点的编号和当前在线的注册节点的编号,确定所述从节点的编号是否满足预定切换条件。

结合第四方面或第四方面的第一种可能的实施方式,本发明实施例提供了第四方面的第二种可能的实施方式,其中,所述预定切换条件为:所述从节点的编号在当前在线的注册节点中编号最小。

结合第四方面,本发明实施例提供了第四方面的第三种可能的实施方式,其中,所述装置还包括注册模块,用于:

向所述管理机发送注册请求;

接收管理机发送的用于指示注册成功的注册响应消息,所述注册响应消息中至少携带有所述管理机为所述从节点分配的编号。

结合第四方面的第三种可能的实施方式,本发明实施例提供了第四方面的第四种可能的实施方式,所述注册模块还用于:

接收管理机发送的已注册节点的编号。

结合第四方面,本发明实施例提供了第四方面的第五种可能的实施方式,其中,所述装置还包括心跳信号发送模块,用于:

按照预设的间隔时长向所述管理机发送心跳信号。

结合第四方面,本发明实施例提供了第四方面的第六种可能的实施方式,其中,所述消息接收模块还用于:

接收所述管理机发送的新增节点消息,所述新增节点消息携带有所述新注册的节点的编号。

第五方面,本发明实施例还提供了一种管理机,包括处理器和存储器,所述存储器中存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现第一方面中任一项所述的节点切换方法。

第六方面,本发明实施例还提供了一种节点设备,包括处理器和存储器,所述存储器中存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现第二方面中任一项所述的节点切换方法。

第七方面,本发明实施例还提供了一种分布式系统,包括管理机和与所述管理机连接的多个节点设备;所述管理机中设置有第三方面中任一项所述的装置;所述节点设备中设置有第四方面中任一项所述的装置。

第八方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现第一方面中任一项或第二方面中任一项所提供的方法。

本发明实施例带来了以下有益效果:

本发明实施例提供的一种节点切换方法、装置、管理机、节点设备和分布式系统,管理机监测各个注册节点的运行状态,当监测到离线节点时,向在线的注册节点发送离线通知消息,所述离线通知消息中携带有所述离线节点的编号,在线的注册节点根据离线节点的编号确定是否切换为主节点。该方法不需要进行复杂的选举过程,可以快速进行主节点切换,保障系统正常对外提供服务。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的一种分布式系统的结构框图;

图2为本发明实施例所提供的一种节点切换方法的流程图;

图3为本发明实施例所提供的另一种节点切换方法的流程图;

图4为本发明实施例所提供的第一种节点切换装置的结构框图;

图5为本发明实施例所提供的第二种节点切换装置的结构框图;

图6为本发明实施例所提供的第三种节点切换装置的结构框图;

图7为本发明实施例所提供的第四种节点切换装置的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对现有技术在主节点出现故障或失效时,不能快速的进行主节点切换的问题,本发明实施例提供了一种节点切换方法、装置、管理机、节点设备和分布式系统。以下结合附图,首先对本发明实施例进行详细介绍。

实施例一

图1示出了本发明实施例提供的一种分布式系统,本发明实施例所提供的节点切换方法可以应用于图1所示的分布式系统。如图1所示,该分布式系统包括管理机6和与管理机6连接的多个节点设备。每个节点设备均在管理机6进行注册,管理机6为每个注册节点分配一个唯一对应的编号。

本发明实施例中,所言注册即指,节点在管理机处进行了登记,管理机会对登记的节点设备进行运行状态的监控,以及为登记的节点设备分配编号,并通知各登记的节点,关于所登记的节点的变化,比如新增节点、删除节点或者节点离线等。

示例性的,本实施例中,设定编号最小的节点作为主节点对外提供服务。图1中,编号为1的节点设备为主节点(即主节点1),用于对外提供服务。其余节点设备为从节点,包括从节点2、从节点3、从节点4和从节点5。各个从节点通过内部网络与主节点之间进行通信。

每个注册节点都按照预设的间隔时长向管理机6发送心跳信号。管理机6根据各个注册节点发送的心跳信号监测各个注册节点的运行状态。具体的,根据最近心跳时间,即最近一次接收到心跳信号的时间判断节点是否在线,如果最新心跳时间和当前时间之间的差值大于预设阈值,即已经很长时间没有接收到该节点的心跳信号,即认定该节点离线,例如发生宕机等事故。

如果主节点1发生故障或失效,中断了向管理机6发送心跳信号。管理机6监测到主节点1离线,向在线的其余几个注册节点发送离线通知消息,通知其余几个注册节点编号为1的节点离线。从节点2接收到该离线通知消息,根据离线节点的编号和自身的编号,可以确定从节点2是编号最小的节点了,即此时满足预设切换条件,从节点2切换为新的主节点对外提供服务,并可以通知其它几个注册节点编号为2的节点为新的主节点。从而可以快速完成主节点的切换,保障系统正常对外提供服务。

实施例二

本实施例提供了一种节点切换方法,应用于分布式系统中的管理机。图2示出了该节点切换方法的流程图,如图2所示,该方法包括如下步骤:

步骤s202,监测各个注册节点的运行状态。

其中,注册节点为预先向管理机发送注册请求并注册成功的节点设备,注册节点设置有编号。当分布式系统中,节点之间协同工作,各个节点预先向管理机发送注册请求,管理机接收节点的注册请求,按照预定规则为新注册节点分配编号。因此,每个注册节点都具有管理机为其分配的唯一的编号。

管理机为新注册节点分配编号时,可以按照编号递增规则进行分配,使新加入的注册节点的编号大于所有已有注册节点的编号。例如,当新的节点进行注册时,可以在已有最大编号的基础上加1,生成新的编号分配给新注册节点。

可以理解的是,编号分配的预定规则并不限于编号递增规则,也可以是其它规则,例如,编号递减规则,编号可以从设定的最大编号开始递减。

管理机可以采用心跳的方式监测各个注册节点的运行状态。具体地,管理机可以接收各个注册节点的心跳信号,并记录各个注册节点的最近心跳时间。如果管理机可以规律地接收到某注册节点的心跳信号,说明该节点运行正常。如果某注册节点的最近心跳时间与当前时间之间的时间差已大于设定阈值,仍没有接收到该注册节点的心跳信号,则将该注册节点认定为离线节点。

步骤s204,当监测到离线节点时,向在线的注册节点发送离线通知消息。

其中,所述离线节点为状态由在线变更为离线的注册节点,即最近心跳时间与当前时间之间的时间差大于设定阈值的注册节点。

当监测到离线节点时,管理机向在线的注册节点发送离线通知消息。离线通知消息中携带有离线节点的编号,以使在线的注册节点根据离线节点的编号确定是否切换为主节点。

当监测到离线节点后,管理机可删除记录的离线节点的编号。

例如,在分布式系统中,包括编号为1~5的五个节点,在线的注册节点中编号最小的注册节点可以作为主节点。如果编号为3的节点离线,其它四个节点均在线,管理机向在线的注册节点发送离线通知消息,离线通知消息中携带有离线节点的编号3。因为分布式系统中还存在编号为1和编号为2的注册节点,收到该离线通知消息的注册节点2,4和5根据离线节点的编号和自己的编号可以确定不需要切换为主节点。如果编号为1的节点离线,其它四个节点均在线,管理机向在线的注册节点发送离线通知消息,离线通知消息中携带有离线节点的编号1。编号为2的注册节点接收到该离线通知消息,根据离线节点的编号可以确定本节点为在线的注册节点中编号最小的注册节点,所以编号为2的注册节点切换为新的主节点对外提供服务。而其它注册节点接收到该离线通知消息,根据离线节点的编号可以确定不需要切换为主节点。

对于各从节点而言,可以预先知悉各节点的编号,例如,管理机可以将所有节点的编号告知给所有注册节点,则在接收到管理机发送的离线节点的编号后,可以根据包括自己的编号、离线节点的编号和其他所有节点的编号,确定自己是不是编号最小的节点,如果是,则升任主节点执行工作。当然,从节点而言,可以预先知悉管理机的编号规则,例如,从1开始递增变化,则在接收到管理机发送的离线节点的编号后,可以根据包括自己的编号、离线节点的编号和预知的编号规则,确定自己是不是编号最小的节点,如果是,则升任主节点执行工作。

可选地,当管理机接收节点的注册请求;按照预定规则为新注册节点分配编号;向新注册节点发送注册响应消息,所述注册响应消息中至少携带有新注册节点的编号。

可选的,管理机还可以向新注册的节点发送原来已注册的节点的编号,以使每个注册节点可以保存有所有注册节点的编号,在从节点收到离线节点的编号时,可以根据离线节点的编号,和包括自己和其他在线节点的所有编号,确定自己的编号是否满足切换为主节点的切换条件。

在向新注册的节点发送注册响应消息之后,管理机还可以向注册节点发送新增节点消息,所述新增节点消息携带有新注册节点的编号。由于在有新注册节点和有注册节点离线时,管理机都会向在线的各个注册节点发送相应消息,因此,各个注册节点可以获知当前在线的各个注册节点的编号,已确定自身是否符合作为主节点的条件。

可以理解的是,编号最小为切换条件仅为示例,本领域技术人员可以设置任何合理的与编号相关的切换条件,例如,编号最大,编号满足预设公式等。

本实施例提供的节点切换方法,管理机监测各个注册节点的运行状态,当监测到离线节点时,向在线的注册节点发送离线通知消息,所述离线通知消息中携带有所述离线节点的编号,在线的注册节点根据离线节点的编号确定是否切换为主节点。该方法不需要进行复杂的选举过程,可以快速进行主节点切换,保障系统正常对外提供服务。

实施例三

与实施例二提供的节点切换方法相对应地,本实施例提供了另一种节点切换方法,该方法应用于上述分布式系统中的从节点。图3示出了该节点切换方法的流程图,如图3所示,该方法包括如下步骤:

步骤s302,接收管理机发送的离线通知消息。

其中,离线通知消息中携带有离线节点的编号,所述离线节点为状态由在线变更为离线的注册节点。

管理机在超时未接收到某个注册节点的心跳信号时,将该注册节点认定为离线节点,向所有在线的注册节点发送离线通知消息,离线通知消息中携带有离线节点的编号。

步骤s304,根据离线节点的编号和从节点的编号,确定从节点的编号是否满足预定切换条件;如果是,执行步骤s306,如果否,结束。

在一可选的实施例中,预定切换条件可以是:所述从节点的编号在当前在线的注册节点中编号最小。例如,如果从节点自身的编号为2,离线节点的编号为1,则从节点2根据离线节点的编号和自身的编号,可以确定自身的编号在在线节点中最小,满足预定切换条件,则执行步骤s306。如果从节点自身的编号为4,离线节点的编号为1,编号为2和编号为3的节点依然在线,则从节点4根据离线节点的编号和自身的编号,可以确定自身的编号不满足预定切换条件,则结束。

具体地,从节点可以根据离线节点的编号、从节点的编号和当前在线的注册节点的编号,确定从节点的编号是否满足预定切换条件。例如,从节点可以接收管理机发送的新增节点消息,所述新增节点消息携带有所述新注册的节点的编号。从节点根据管理机发送的新增节点消息和离线通知消息,可以获知当前在线的注册节点的编号。例如,如果从节点自身的编号为4,离线节点的编号为3,当前在线的注册节点的编号分别为2和5,则从节点4根据离线节点的编号、从节点自身的编号和当前在线的注册节点的编号,可以确定从节点的编号不是最小,不满足预定切换条件,则结束。如果从节点自身的编号为3,离线节点的编号为2,当前在线的注册节点的编号分别为4和5,则从节点2根据离线节点的编号、从节点自身的编号和当前在线的注册节点的编号,可以确定从节点自身的编号最小,满足预定切换条件,则执行步骤s306。

可以理解的是,预定切换条件也可以是其它条件,如所述从节点的编号在当前在线的注册节点中编号最大等等。

步骤s306,切换为新的主节点对外提供服务。

如果确定所述从节点的编号满足预定切换条件,切换为新的主节点对外提供服务,并通知其它注册节点主节点已更换。

需要说明的是,上述从节点先在管理机进行注册,成为注册节点,然后才能接收到管理机发送的离线通知消息或其它消息。所述从节点向管理机发送注册请求,然后接收管理机发送的用于指示注册成功的注册响应消息,所述注册响应消息中至少携带有所述管理机为所述从节点分配的编号。成为注册节点之后,所述从节点将按照预设的间隔时长向管理机发送心跳信号,以使管理机可以监测所述从节点的运行状态。在节点注册后,还可以接收管理机发送的,在该节点注册前,原来已注册的节点的编号,在有新的节点注册后,还可以接收管理机发送的,发送的新增节点消息,所述新增节点消息携带有所述新注册的节点的编号。这样,可以基于这些节点的编号信息,在有节点离线时,基于编号信息确定是否切换为主节点。

本实施例提供的节点切换方法,从节点接收到管理机发送的离线通知消息,根据离线节点的编号和所述从节点的编号,确定所述从节点的编号是否满足预定切换条件;如果满足预定切换条件,该从节点切换为新的主节点对外提供服务。该方法不需要进行复杂的选举过程,可以快速进行主节点切换,保障系统正常对外提供服务。

实施例四

与实施例二提供的节点切换方法相对应地,本实施例提供了一种节点切换装置,该装置应用于分布式系统中的管理机。如图4所示,该装置包括:

节点监测模块41,用于监测各个注册节点的运行状态,其中,所述注册节点设置有编号;

离线消息发送模块42,用于当监测到离线节点时,向当前在线的注册节点发送离线通知消息,其中,所述离线节点为状态由在线变更为离线的注册节点,所述离线通知消息中携带有所述离线节点的编号,以使当前在线的注册节点根据所述离线节点的编号确定是否切换为主节点。

其中,节点监测模块41具体用于:接收各个注册节点的心跳信号,并记录各个注册节点的最近心跳时间;将最近心跳时间与当前时间之间的时间差大于设定阈值的注册节点认定为离线节点。

在一种可选的实施例中,如图5所示,本实施例提供的节点切换装置还可以包括注册请求处理模块51,用于:接收节点的注册请求;按照预定规则为新注册节点分配编号;向新注册节点发送注册响应消息,所述注册响应消息中至少携带有所述新注册节点的编号。

其中,所述预定规则可包括编号递增规则。

注册请求处理模块51还用于:向新注册节点发送已注册节点的编号。

本实施例提供的节点切换装置还可以包括新增节点消息发送模块52,用于:向注册节点发送新增节点消息;所述新增节点消息携带有所述新注册的节点的编号。

本实施例提供的节点切换方法装置,管理机监测各个注册节点的运行状态,当监测到离线节点时,向在线的注册节点发送离线通知消息,所述离线通知消息中携带有所述离线节点的编号,在线的注册节点根据离线节点的编号确定是否切换为主节点。该方法不需要进行复杂的选举过程,可以快速进行主节点切换,保障系统正常对外提供服务。

实施例五

与实施例三提供的节点切换方法相对应地,本实施例提供了一种节点切换装置,该装置应用于分布式系统中的管理机。如图6所示,该装置包括:

消息接收模块61,用于接收管理机发送的离线通知消息;所述离线通知消息中携带有离线节点的编号;所述离线节点为状态由在线变更为离线的注册节点;

节点切换模块62,用于根据所述离线节点的编号、所述从节点的编号和当前在线的注册节点的编号,确定所述从节点的编号是否满足预定切换条件;如果确定所述从节点的编号满足预定切换条件,切换为新的主节点对外提供服务。

其中,节点切换模块62具体可以用于:根据所述离线节点的编号、所述从节点的编号和当前在线的注册节点的编号,确定所述从节点的编号是否满足预定切换条件。

所述预定切换条件可以为:所述从节点的编号在当前在线的注册节点中编号最小。

消息接收模块61还可以用于:接收所述管理机发送的新增节点消息,所述新增节点消息携带有所述新注册的节点的编号。

在一种可选的实施例中,如图7所示,本实施例提供的节点切换装置还可以包括注册模块71,用于:向所述管理机发送注册请求;接收管理机发送的用于指示注册成功的注册响应消息,所述注册响应消息中至少携带有所述管理机为所述从节点分配的编号。

注册模块71还可用于:

接收管理机发送的已注册节点的编号。

本实施例提供的节点切换装置还可以包括心跳信号发送模块72,用于:按照预设的间隔时长向所述管理机发送心跳信号。

本实施例提供的节点切换装置,从节点接收到管理机发送的离线通知消息,根据离线节点的编号和所述从节点的编号,确定所述从节点的编号是否满足预定切换条件;如果满足预定切换条件,该从节点切换为新的主节点对外提供服务。该方法不需要进行复杂的选举过程,可以快速进行主节点切换,保障系统正常对外提供服务。

进一步地,本发明实施例还提供了一种管理机,所述管理机与分布式系统中的多个节点设备连接。该管理机包括第一处理器和第一存储器,所述第一存储器中存储有能够被所述第一处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实施例二所记载的节点切换方法。

其中,第一存储器可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。

第一处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器,第一处理器读取第一存储器中的信息,结合其硬件完成实施例二所记载的方法的步骤。

进一步地,本发明实施例还提供了一种节点设备,包括第二处理器和第二存储器,所述第二存储器中存储有能够被所述第二处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实施例三所记载的节点切换方法。第二处理器的结构可以与上述第一处理器相同,第二存储器的结构可以与上述第一存储器的结构相同,在此不再赘述。

进一步地,本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现实施例二或实施例三所记载的方法。

本发明实施例提供的节点切换方法、装置、管理机、节点设备和分布式系统具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

需要说明的是,在本发明所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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