CN103634375B - 扩容集群节点的方法、装置及设备 - Google Patents

扩容集群节点的方法、装置及设备 Download PDF

Info

Publication number
CN103634375B
CN103634375B CN201310554528.9A CN201310554528A CN103634375B CN 103634375 B CN103634375 B CN 103634375B CN 201310554528 A CN201310554528 A CN 201310554528A CN 103634375 B CN103634375 B CN 103634375B
Authority
CN
China
Prior art keywords
node
priority
host
vote information
dilatation
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
Application number
CN201310554528.9A
Other languages
English (en)
Other versions
CN103634375A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310554528.9A priority Critical patent/CN103634375B/zh
Publication of CN103634375A publication Critical patent/CN103634375A/zh
Application granted granted Critical
Publication of CN103634375B publication Critical patent/CN103634375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种扩容集群节点的方法、装置及设备,从服务器集群中包含的M个节点中确定主节点,其中,所述M为大于等于2的整数,所述主节点获得的投票数量大于预设阈值且小于等于M;对所述服务集群进行节点扩容,扩容后的所述服务器集群中包含有N个节点,其中,扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,N为大于等于2的整数,且M大于N/2。

Description

扩容集群节点的方法、装置及设备
技术领域
本发明涉及计算机技术领域,具体涉及一种扩容集群节点的方法、装置及设备。
背景技术
在分布式系统中,一个服务器集群仅有一个主节点管理所述服务器集群包含的多个节点,在所述服务器集群选择主节点之后,在进行节点扩容时,会停止所述服务器集群包含的每一个节点中的进程,以及更新每一个节点的静态配置文件,再重新选择主节点,下面具体以zookeeper为例,zookeeper是一个针对大型分布式系统的可靠协调系统,可以提供配置维护、名字服务、分布式同步、组服务等的功能,zookeeper的选择主节点步骤如下:
1、读取静态配置文件(含有zookeeper集群中所有节点的IP和端口);
2、向zookeeper集群中所有节点发送投票消息用于选主;
3、选主成功后,从节点向主节点请求同步数据;
4、同步数据完成后,主节点对外提供服务。
Zookeeper的节点扩容步骤如下:
a、停止所有zookeeper节点进程;
b、更新所有zookeeper节点的静态配置文件(新增zookeeper节点配置);
c、执行上述选择主节点步骤。
如此,使得在分布式系统中的服务器集群在节点扩容中,需要停止所述服务器集群包含的每一个节点中的进程,由于每一个节点中的进程都处于停止状态,进而使得所述服务器集群不能提供服务,进而导致在分布式系统中的服务器集群在节点扩容中,存在不能对外提供服务的技术问题。
发明内容
本申请实施例通过提供一种扩容集群节点的方法、装置及设备,用于解决现有分布式系统中的服务器集群在节点扩容中,存在不能对外提供服务的技术问题。
根据本发明的第一方面,提供了一种扩容集群节点的方法,所述方法包括:从服务器集群中包含的M个节点中确定主节点,其中,所述M为大于等于2的整数,所述主节点获得的投票数量大于预设阈值且小于等于M;对所述服务集群进行节点扩容,扩容后的所述服务器集群中包含有N个节点,其中,扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,N为大于等于2的整数,且M大于N/2。
结合第一方面,在第一种可能的实现方式中,所述预设阈值为M/2。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述从服务器集群中包含的M个节点中确定主节点,具体包括:控制所述M个节点中的每两个节点相互发送投票信息,每一个节点的投票信息包括所述节点的标识以及选择的主节点信息;根据所述投票信息,从所述M个节点中确定主节点。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述投票信息,从所述M个节点中确定主节点,具体包括:在所述服务器集群中的第i节点接收到第j节点发送的所述第j节点投票信息时,判断所述第i节点的第一优先级是否大于基于所述第一投票信息获取的所述第j节点的第二优先级,其中,i和j均为大于等于1小于等于M的整数,且i不等于j;在所述第一优先级大于所述第二优先级时,将所述第i节点的投票信息发送给所述第j节点,以使得所述第j节点基于接收到的所述i节点的投票信息,更新所述第j节点的投票信息,其中,更新后的所述第j节点的投票信息选择所述第i节点为主节点;在所述第一优先级小于所述第二优先级时,更新所述第i节点的投票信息,其中,更新后的第i节点的投票信息选择所述第j节点为主节点。
结合第一方面或第一种至第三种可能的实现方式的任一种,在第四种可能的实现方式中,每一个用于扩容所述服务器集群的扩容节点的优先级小于所述M个节点中的任意一个节点的优先级。
根据本发明的第二方面,提供了一种扩容集群节点的装置,所述装置包括:选主单元,用于从服务器集群中包含的M个节点中确定主节点,其中,所述M为大于等于2的整数,所述主节点获得的投票数量大于预设阈值且小于等于M;扩容单元,用于在所述选主单元确定主节点之后,对所述服务集群进行节点扩容,扩容后的所述服务器集群中包含有N个节点,其中,扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,N为大于等于2的整数,且M大于N/2。
结合第二方面,在第一种可能的实现方式中,所述预设阈值为M/2。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述选主单元还用于控制所述M个节点中的每两个节点相互发送投票信息,每一个节点的投票信息包括所述节点的标识以及选择的主节点信息,以及根据所述投票信息,从所述M个节点中确定主节点。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述选主单元包括第一选主子单元,用于在所述服务器集群中的第i节点接收到第j节点发送的所述第j节点投票信息时,判断所述第i节点的第一优先级是否大于基于所述第一投票信息获取的所述第j节点的第二优先级,其中,i和j均为大于等于1小于等于M的整数,且i不等于j,在所述第一优先级大于所述第二优先级时,将所述第i节点的投票信息发送给所述第j节点,以使得所述第j节点基于接收到的所述i节点的投票信息,更新所述第j节点的投票信息,其中,更新后的所述第j节点的投票信息选择所述第i节点为主节点,在所述第一优先级小于所述第二优先级时,更新所述第i节点的投票信息,其中,更新后的第i节点的投票信息选择所述第j节点为主节点。
结合第二方面或第一种至第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述扩容单元,用于在对所述服务集群进行节点扩容时,控制每一个用于扩容所述服务器集群的扩容节点的优先级小于所述M个节点中的任意一个节点的优先级。
根据本发明的第三方面,提供了一种扩容集群节点的设备,所述设备包括:电路板;控制器,设置于所述电路板上,包括扩容集群节点的装置;存储器,电性连接所述电路板,用于存储所述N个节点的路由信息。
结合第三方面,在第一种可能的实现方式中,所述扩容集群节点的装置,具体用于确定所述预设阈值为M/2。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述扩容集群节点的装置,具体用于控制所述M个节点中的每两个节点相互发送投票信息,每一个节点的投票信息包括所述节点的标识以及选择的主节点信息,以及根据所述投票信息,从所述M个节点中确定主节点。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述扩容集群节点的装置,用于在所述服务器集群中的第i节点接收到第j节点发送的所述第j节点投票信息时,判断所述第i节点的第一优先级是否大于基于所述第一投票信息获取的所述第j节点的第二优先级,其中,i和j均为大于等于1小于等于M的整数,且i不等于j,在所述第一优先级大于所述第二优先级时,将所述第i节点的投票信息发送给所述第j节点,以使得所述第j节点基于接收到的所述i节点的投票信息,更新所述第j节点的投票信息,其中,更新后的所述第j节点的投票信息选择所述第i节点为主节点,在所述第一优先级小于所述第二优先级时,更新所述第i节点的投票信息,其中,更新后的第i节点的投票信息选择所述第j节点为主节点。
结合第三方面或第一种至第三种可能的实现方式的任一种,在第四种可能的实现方式中,所述扩容集群节点的装置,具体用于在对所述服务集群进行节点扩容时,控制每一个用于扩容所述服务器集群的扩容节点的优先级小于所述M个节点中的任意一个节点的优先级。
本发明实施例中,本申请技术方案是从服务器集群中包含的M个节点中确定主节点,对所述服务集群进行节点扩容,使扩容后的所述服务器集群中包含有N个节点,以使得扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,如此,使得所述服务器集群中的主节点在节点扩容过程中不会改变,不会出现选择主节点的操作,进而使得所述主节点在节点扩容过程中,仍能对外提供服务,从而解决了现有分布式系统中的服务器集群在节点扩容中,存在不能对外提供服务的技术问题。
附图说明
图1为本发明实施例中扩容集群节点的方法流程图;
图2为本发明实施例中扩容集群节点的装置的结构图;
图3为本发明实施例中扩容集群节点的设备的结构图。
具体实施方式
针对现有分布式系统中的服务器集群在节点扩容中,存在不能对外提供服务的技术问题,本发明实施例提出的技术方案中,首先从服务器集群中包含的M个节点中确定主节点,再对所述服务集群进行节点扩容,使扩容后的所述服务器集群中包含有N个节点,由于所述主节点的投票数量大于预设阈值且小于等于M,而且M大于N/2,能够使得扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,扩容后不会进行选择主节点的操作,进而使得所述主节点在节点扩容过程中,仍能对外提供服务,使得服务器集群的工作效率得以提高,延长持续工作的时间。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
实施例一:
本发明实施例一提出了一种扩容集群节点的方法,如图1所示,该方法具体处理过程如下:
步骤101:从服务器集群中包含的M个节点中确定主节点,其中,所述M为大于等于2的整数,所述主节点获得的投票数量大于预设阈值且小于等于M;
步骤102:对所述服务集群进行节点扩容,扩容后的所述服务器集群中包含有N个节点,其中,扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,N为大于等于2的整数,且M大于N/2。
其中,在步骤101中,从服务器集群中包含的M个节点中确定主节点,其中,所述M为大于等于2的整数,所述主节点获得的投票数量大于预设阈值且小于等于M。
在具体实施过程中,所述预设阈值为大于等于2M/5小于等于M/2的值,例如所述预设阈值可以为2M/5,9M/20,M/2等值,当M=100时,所述预设阈值例如可以为40,45,50等值。
具体来讲,在所述预设阈值为M/2时,所述从服务器集群中包含的M个节点中确定主节点,具体包括:控制所述M个节点中的每两个节点相互发送投票信息,每一个节点的投票信息包括所述节点的标识以及选择的主节点信息,再根据所述投票信息,从所述M个节点中选择获得的投票数量大于M/2的候选主节点为主节点。
其中,所述选择的主节点信息包括所述选择的主节点的标识及其优先级。
具体的,在所述M个节点中的每一个节点的第一次的投票信息均选择自己作为主节点,例如所述M个节点中包含a节点时,a节点的第一次的投票信息选择a节点为主节点,节点的优先级是可以由数据更新时间来确定,数据越新,节点的优先级越高,例如,a节点在10:15:12秒的时刻更新了数据,而b节点在10:25:15秒的时刻更新了数据,进而可以确定b节点的优先级高于a节点的优先级。
又例如,以zookeeper系统为例,zookeeper系统中的流水号zxid具有唯一性,且越新的数据,zxid越大,如此,可以使用zxid来确定所述M个节点中的每一个节点的优先级,假设a节点的zxid为20,而b节点的zxid为30,c节点的zxid为25,由于20<25<30,由于越新的数据zxid越大,导致zxid越大,优先级越高,进而可以确定才b节点的优先级高于c节点的优先级,而c节点的优先级高于a节点的优先级。
当然,节点的优先级还可以根据节点的存储空间的容量,CPU占用率来确定,在所述M个节点中的每一个节点的标识不同时,还可以基于所述标识来确定优先级,当一个节点的标识越小,所述节点的优先级越高,例如,a节点对应的数字标识为11,而b节点对应的数字标识为15,则可以确定b节点的优先级小于a节点的优先级。
在具体实施过程中,为了更准确的采集所述M个节点的所有投票信息,所述节点的标识以及选择的主节点信息和所述节点的状态,所述节点的状态例如为投票中,选举为主节点,选举为从节点。
例如,a节点的标识为a及其优先级为2,且b节点的标识为b及其优先级为3时,a节点的第一次投票信息为投票节点的标识为a,选择a节点为主节点的标识为a,优先级为2,a节点的状态为选举为主节点,同样b节点的第一次投票信息为投票节点的标识为b,选择b节点为主节点的标识为b,优先级为3,b节点的状态为选举为主节点。当a节点和b节点之间相互发送第一次投票信息之后,由于b节点的优先级高于a节点的优先级,因此,a节点的第二次投票信息为投票节点的标识为a,选择b节点为主节点的标识为b,优先级为3,a节点的状态为选举为从节点。
具体的,所述根据所述投票信息,从所述M个节点中选择获得的投票数量大于M/2的候选主节点为主节点,具体包括:在所述服务器集群中的第i节点接收到第j节点发送的所述第j节点投票信息时,判断所述第i节点的第一优先级是否大于基于所述第一投票信息获取的所述第j节点的第二优先级,其中,i和j均为大于等于1小于等于M的整数,且i不等于j;在所述第一优先级大于所述第二优先级时,将所述第i节点的投票信息发送给所述第j节点,以使得所述第j节点基于接收到的所述i节点的投票信息,更新所述第j节点的投票信息,其中,更新后的所述第j节点的投票信息选择所述第i节点为主节点;在所述第一优先级小于所述第二优先级时,更新所述第i节点的投票信息,其中,更新后的第i节点的投票信息选择所述第j节点为主节点。
其中,所述第i个节点可以为所述M个节点中的任意一个节点,所述第j个节点为所述M个节点中除所述第i个节点之外的任意一个节点。例如,以所述M个节点为a节点、b节点、c节点、d节点和e节点为例,在所述第i个节点为a节点时,所述第j个节点为b、c、d和e节点中的任意一个节点。
具体的,由于所述第i节点为所述M个节点中的任何一个节点,使得所述M个节点中的每一个节点均执行上述操作,进而可以从所述M个节点中选择获得的投票数量大于M/2的候选主节点,并将所述候选主节点作为所述主节点,进而可以从所述M个节点中确定主节点。
由于所述M个节点的每两个节点之间相互发送投票信息是并行发送的,进而能够缩短选择所述候选主节点的时间,以提高工作效率。
其中,为了说书的简洁,每一个节点的投票信息下面具体以(投票节点的标识,选择的主节点的标识,选择的主节点的优先级)进行表示,而且在进行每一个节点在进行首次投票时,每一个节点的首次投票信息均选择节点自身为主节点。
具体的,以所述M个节点为a节点、b节点、c节点、d节点和e节点为例,a节点的标识为a及其优先级为10,b节点的标识为b及其优先级为20,c节点的标识为c及其优先级为15,d节点的标识为d及其优先级为18,e节点的标识为e及其优先级为25。
其中,以a节点为所述第i个节点,以e节点为所述第j个节点为例,若a节点的投票信息为:(a,a,10);e节点的投票信息为(e,e,25),当a节点接收到e节点的投票信息时,由于a节点的优先级为10小于e节点的优先级25,则更新a节点的投票信息,得到更新后的a节点的投票信息为:(a,e,25)。
当e节点为所述第i个节点,a节点为所述第j个节点时,e节点接收到a节点的投票信息时,由于e节点的优先级为25大于a节点的优先级10,检测e节点是否以将e节点的投票信息发送给a节点,若未发送,则将e节点的投票信息发送给a节点,若已发送,可以不再发送e节点的投票信息,使得a节点基于接收到的e节点的投票信息,更新a节点的投票信息,使得更新后的a节点的投票信息为(a,e,25)。
由于a节点、b节点、c节点、d节点和e节点中每两个节点之间是并行发送投票信息的,例如a节点分别与b节点、c节点、d节点和e节点相互发送投票信息,以及c节点分别与a节点、b节点、d节点和e节点相互发送投票信息,下面具体以b节点和c节点相互发送投票信息为例。若b节点的投票信息为(b,b,20),而c节点的投票信息为(c,c,15),由于b节点的优先级20大于c节点的优先级15,如此,更新c节点的投票信息,获取更新后的c节点的投票信息为(c,b,20)。
在更新后a节点和c节点的投票信息之后,a节点、b节点、c节点、d节点和e节点中每两个节点再次并行发送投票信息,下面具体以a节点和c节点为例。
由于a节点的投票信息为(a,e,25),而c节点的投票信息为(c,b,20),由于a节点选择e为主节点而c选择b节点为主节点,由于e节点的优先级为25大于b节点的优先级20,如此,再次更新c节点的投票信息,获取再次更新后的c节点的投票信息为(c,e,25),这时,由于a节点、c节点和e节点均选择e节点为主节点,使得选择e节点为主节点的数量为3大于5/2,如此,可以确定e节点为候选主节点,并将e节点作为主节点。
在具体实施过程中,为了更准确的选择主节点,所述根据所述投票信息,从所述M个节点中选择获得的投票数量大于M/2的候选主节点为主节点,具体包括:根据所述投票信息,在T1时刻,从所述M个节点中选择所述候选主节点;以及在所述T1时刻,检测每一个节点是否完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新;在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它节点互发投票信息但未完成投票信息的更新时,在所述T1时刻之后的T2时刻,所述候选主节点未改变时,将所述候选主节点作为主节点,其中,所述T2时刻与所述T1时刻的差值大于等于一阈值。
具体来讲,在所述T1时刻,在每一个节点完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新时,将所述候选主节点作为主节点;以及在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新时,在所述T2时刻,检测到所述候选主节点未改变时,将所述候选主节点作为主节点,以及在所述候选主节点发生改变时,将改变后的候选主节点作为主节点。
例如,以所述M个节点为a节点、b节点、c节点、d节点和e节点为例,在10:15:15秒,a、b和c节点完成了互发投票信息且完成了更新投票信息,d和e节点也完成了互发投票信息且完成了更新投票信息,由于a节点未与d节点和e节点完成互发投票信息,因此,可以判定每一个节点未完成与所述其它节点互发投票信息;若a、b、c、d和e节点均完成了互发投票信息,当d节点的投票信息为(d,B,20),且接收到了e节点的投票信息(e,e,25),由于节点B的优先级20小于节点e的优先级25,如此,需要更新d节点的投票信息,当检测到d节点的投票信息未完成更新时,则可以判定每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新。
具体的,所述阈值例如可以为2秒,3秒,1秒,4秒等值,基于所述M的取值来确定,当所述M的取值较大时,所述阈值的取值也越大,例如在所述M的取值为100时,所述阈值为1秒,在所述M的取值为5000时,则所述阈值为3秒。
由于在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新之后,至在每一个节点完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新时,会使得所述M个节点中的一部分节点选择的主节点发生改变,会有可能导致候选主节点发生改变,如此,会使得在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新时的候选主节点不准确,如此,则需要在所述T2时刻,获取新的候选主节点作为主节点,进而实现更准确的选择主节点。
例如,以所述M个节点为a节点、b节点、c节点、d节点和e节点为例,在12:15:25秒,a、b和c节点相互发送了投票信息且完成了更新投票信息,d和e节点相互发送了投票信息且完成了更新投票信息,由于a、b和c节点中的b节点的优先级最高,则a、b和c节点均选择b节点为主节点,而d和e节点中的e节点的优先级最高,则d和e节点均选择e节点为主节点,由于a、b和c节点均选择b节点为主节点,则选择b节点为主节点的数量为3大于5/2,则b节点为候选主节点,在12:15:26秒时,d和c节点,e和a节点互发了投票信息且完成了更新投票信息,则由于e节点的优先级大于b节点的优先级,则a、c、d和e节点均选择e节点为主节点,由于选择e节点为主节点的数量为4大于5/2,则将e节点作为主节点,进而实现更准确的选择主节点。
又例如,以所述M个节点为a节点、b节点、c节点、d节点和e节点为例,在12:15:25秒,a、b和e节点相互发送了投票信息且完成了更新投票信息,c和d节点相互发送了投票信息且完成了更新投票信息,由于a、b和e节点中的e节点的优先级最高,则a、b和e节点均选择e节点为主节点,而c和d节点中的d节点的优先级最高,则c和d节点均选择d节点为主节点,由于a、b和e节点均选择e节点为主节点,则选择e节点为主节点的数量为3大于5/2,则e节点为候选主节点,在12:15:26秒时,e和c节点互发了投票信息且完成了更新投票信息,则由于e节点的优先级大于d节点的优先级,则a、b、c和e节点均选择e节点为主节点,由于候选主节点仍为e节点,则将e节点作为主节点。
当所述预设阈值取值为小于M/2大于2M/5时,这时,可能会存在两个候选主节点,在存在两个候选主节点时,可以从所述两个候选主节点中随机选择一个候选主节点为主节点,也可以比较两个候选主节点的优先级,优先级高的候选主节点作为主节点,下面具体以所述预设阈值为2M/5为例。
例如,以所述M个节点为a节点、b节点、c节点、d节点、e节点、A节点、B节点、C节点和D节点为例,其中,A节点的标识为A及其优先级为8,B节点的标识为B及其优先级为22,C节点的标识为C及其优先级为17,D节点的标识为D及其优先级为9。
其中,在并行发送投票信息之后,基于所述投票信息,获取到选择e节点为主节点的节点为a节点,e节点,c节点和d节点,即选择e节点为主节点的数量为4,以及获得到选择B节点为主节点的节点为A节点、b节点、B节点和D节点,即选择B节点为主节点的数量也为4,由于4大于9*40%=3.6,则可以确定e节点和B节点均为候选主节点,则可以从e节点和B节点中随机选择e节点或B节点为主节点,或者比较e节点和B节点的优先级,由于e节点的优先级25大于B节点的优先级22,则选择e节点为主节点。
在确定主节点之后,接下来执行步骤102,对所述服务集群进行节点扩容,扩容后的所述服务器集群中包含有N个节点,其中,扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,N为大于等于2的整数,且M大于N/2。
在具体实施过程中,在通过步骤101确定主节点之后,所述服务器集群中的主节点的优先级最高,在所述M个节点中的第k个节点有数据写入时,提高所述第k个节点的优先级,其中,K为不小于1且大于M的整数,即表征所述第k个节点为所述M个节点中的任意一个节点。
其中,为了使得所述服务器集群中的主节点的优先级保持最高,在所述M个节点中的任意一个节点的优先级提高时,所述服务器集群中的主节点的优先级也相应提高,且所述任意一个节点的优先级提高的数值小于等于所述服务器集群中的主节点的优先级提高的数值,例如,在a节点写入数据时,a节点的优先级从10升高到12,由于e节点为主节点,则e节点的优先级最少为25+(12-10)=27,以确保所述服务器集群中的主节点的优先级最高。
具体来讲,每一个用于扩容所述服务器集群的扩容节点的优先级小于所述M个节点中的任意一个节点的优先级,例如当所述M个节点中的只要写入了数据的节点的优先级均大于所述扩容节点的优先级,若所述M个节点未写入数据的节点的优先级等于所述扩容节点的优先级。
其中,所述扩容节点的数量为小于等于M-1的正整数。
其中,所述扩容节点数量以K表示,所述K为小于等于M-1的正整数,若所述M个节点选择的主节点为A节点,在所述服务器集群在节点扩容过程中,所述M个节点中的每一个节点的主节点为A节点,而每一个扩容节点的优先级小于所述M个节点中的任意一个节点的优先级,进而使得所述服务器集群中的主节点的优先级仍是最高的,即使所述扩容节点均选择所述M个节点中不为A节点的节点为主节点,而A节点获得的投票数量也为M,使得A节点获得的投票数量至少为M,而所述服务器集群扩容过程中的总投票数量为M+K,由于K最大为M-1,而M大于(2M-1)/2,使得所述服务器集群的主节点在扩容过程中的投票数量超过了总投票数量的一半,而所述预设阈值的取值为大于等于2M/5小于等于M/2的值,使得所述预设阈值最大仅为所述服务器集群的总投票数量的一半,进而使得所述所述服务器集群的主节点在扩容过程中的投票数量超过了所述预设阈值,如此,可以确定在所述服务器集群在扩容过程中主节点获得的投票数量必然超过了所述预设阈值,使得所述服务器集群在扩容过程中无需重新进行选主操作,使得所述服务器集群的主节点在节点扩容过程中仍能正常工作,如此,使得主节点在扩容过程中仍能对外提供服务,所述服务器集群的工作效率得以提高,延长持续工作的时间。
进一步的,在所述服务器集群在扩容过程中,所述扩容节点会向所述M个节点和所述扩容节点中的每一个节点发送投票信息,而所述M个节点不会发送投票信息,仅对接收到的投票信息进行反馈,由于所述服务器集群在扩容过程中主节点获得的投票数量必然超过了所述预设阈值,进而使得所述服务器集群在扩容过程中无需重新进行选主操作,使得所述服务器集群的主节点在节点扩容过程中,仍能对外提供服务,所述服务器集群的工作效率得以提高,延长持续工作的时间。
例如,以所述M个节点为a节点、b节点、c节点、d节点和e节点为例,其中,所述M个节点中的主节点为e节点,扩容节点的数量最大为M-1=4,若所述扩容节点为a1节点和b1节点,由于每一个扩容节点的优先级小于所述M个节点中的任意一个节点的优先级,例如a1节点的优先级为22小于e节点的优先级,b1节点的优先级为8小于a节点的优先级,在扩容过程中,a1节点会将a1节点的投票信息发送给a、b、c、d、e和b1节点,以及b1节点会将b1节点的投票信息发送给a、b、c、d、e和a1节点,使得a、b、c、d和e节点对接收到的a1节点的投票信息和b1节点的投票信息进行反馈,而a、b、c、d和e节点的投票信息均选择e节点为投票节点,而e节点的优先级25大于a1节点的优先级和b1节点的优先级,使得a1节点和b1节点会接收到a、b、c、d和e节点的反馈的投票信息,由于a、b、c、d和e节点均选择e节点,则使得a1节点和b1节点根据a、b、c、d和e节点的反馈的投票信息,可以确定e节点获得的投票数量为5,而总投票数量为7,而所述预设阈值最大为M/2,而5大于7/2,进而使得a1节点和b1节点可以确定选择e节点的投票数量大于所述预设阈值。这样,所述服务器集群在扩容过程中,无需重新选择主节点,仍能对外提供服务,所述服务器集群的工作效率得以提高,延长持续工作的时间。
另外,由于a1节点和b1节点可以确定选择e节点的投票数量大于所述预设阈值,使得a1节点和b1节点也会选择e节点为主节点,进而使得扩容过程中的主节点仍为e节点。
由于所述服务器集群包含有M个节点,为了保证每次节点扩容都可以成功,则第一次扩容的扩容节点的数量为a[0],其中,a[0]未正整数,且最大可以等于m-1;
第二次扩容的扩容节点的数量为a[1],a[1]未正整数,且最大可以等于a[0]+m-1;
……
第i次扩容的扩容节点的数量为a[i-1],最大可以等于a[0]+a[1]+……+a[i-2]+m-1。
所述服务器集群每一次扩容的扩容节点的数量均小于扩容前的节点的数量,由于每一个扩容节点的优先级小于所述M个节点中的任意一个节点的优先级,使得所述服务器集群的主节点在扩容过程中获得的投票数量必然大于所述预设阈值,进而导致所述服务器集群在扩容过程中,无需重新选择主节点,进而使得所述服务器集群的主节点在节点扩容过程中,仍能对外提供服务,进而使得服务器集群的工作效率得以提高,延长持续工作的时间。
在实际应用过程中,以所述M个节点为a节点、b节点、c节点、d节点和e节点为例,扩容节点为a1节点,所述服务集群在进行节点扩容时,会自动生成一套新的配置,并将新配置发送给a、b、c、d、e和a1节点,当a、b、c、d、e和a1节点均收到所述新配置后,生成与所述新配置对应的配置文件,更新所述服务器集群的节点列表,并检测所述服务器集群的主节点获得的投票数量是否大于所述预设阈值,在所述服务器集群的主节点获得的投票数量大于所述预设阈值时,不重新选主,进而使得所述服务器集群的主节点在节点扩容过程中,仍能对外提供服务,使得所述服务器集群的工作效率得以提高,延长持续工作的时间。
其中,所述新配置是将a1节点的标识和IP地址发送给a、b、c、d和e节点,以及将a、b、c、d和e节点的标识及其IP地址发送给a1节点,以使得a、b、c、d、e和a1节点之间能够进行数据同步。
在本申请实施例中,一个节点可以由一个或多个服务器组成,前序方法的执行主体可以为所述M个节点中的任意一个节点,也可以为与所述M个节点连接的其它服务器,本申请不作具体限制。
本发明实施例中,本申请技术方案是从服务器集群中包含的M个节点中确定主节点,对所述服务集群进行节点扩容,使扩容后的所述服务器集群中包含有N个节点,以使得扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,如此,使得所述服务器集群中的主节点在节点扩容过程中不会改变,不会出现重新选择主节点的操作,进而使得所述主节点在节点扩容过程中,仍能对外提供服务,从而解决了现有分布式系统中的服务器集群在节点扩容中,存在不能对外提供服务的技术问题。
实施例二:
本发明实施例二提出了一种扩容集群节点的装置,如图2所示,所述装置包括:
选主单元201,用于从服务器集群中包含的M个节点中确定主节点,其中,所述M为大于等于2的整数,所述主节点获得的投票数量大于预设阈值且小于等于M;
扩容单元202,用于在选主单元201确定主节点之后,对所述服务集群进行节点扩容,扩容后的所述服务器集群中包含有N个节点,其中,扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,N为大于等于2的整数,且M大于N/2。
其中,所述服务器集群中仅包含有N个节点,每一个节点可以为台式电脑,笔记本电脑等电子设备。
在具体实施过程中,所述预设阈值为大于等于2M/5小于等于M/2的值,例如所述预设阈值可以为2M/5,9M/20,M/2等值,当M=100时,所述预设阈值例如可以为40,45,50等值。
较佳的,所述所述预设阈值为M/2。
进一步的,选主单元201,还用于控制所述M个节点中的每两个节点相互发送投票信息,每一个节点的投票信息包括所述节点的标识以及选择的主节点信息,以及根据所述投票信息,从所述M个节点中确定主节点。
其中,所述选择的主节点信息包括所述选择的主节点的标识及其优先级。
具体的,在所述M个节点中的每一个节点的第一次的投票信息均选择自己作为主节点,例如所述M个节点中包含a节点时,a节点的第一次的投票信息选择a节点为主节点,节点的优先级是可以由数据更新时间来确定,数据越新,节点的优先级越高。
进一步的,为了更准确的采集所述M个节点的所有投票信息,所述节点的标识以及选择的主节点信息和所述节点的状态,所述节点的状态例如为投票中,选举为主节点,选举为从节点。
较佳的,选主单元201包括第一选主子单元203,用于在所述服务器集群中的第i节点接收到第j节点发送的所述第j节点投票信息时,判断所述第i节点的第一优先级是否大于基于所述第一投票信息获取的所述第j节点的第二优先级,其中,i和j均为大于等于1小于等于M的整数,且i不等于j,在所述第一优先级大于所述第二优先级时,将所述第i节点的投票信息发送给所述第j节点,以使得所述第j节点基于接收到的所述i节点的投票信息,更新所述第j节点的投票信息,其中,更新后的所述第j节点的投票信息选择所述第i节点为主节点,在所述第一优先级小于所述第二优先级时,更新所述第i节点的投票信息,其中,更新后的第i节点的投票信息选择所述第j节点为主节点。
具体的,由于所述第i节点为所述M个节点中的任何一个节点,使得所述M个节点中的每一个节点均执行上述操作,进而可以从所述M个节点中选择获得的投票数量大于M/2的候选主节点,并将所述候选主节点作为所述主节点,进而可以从所述M个节点中确定主节点。
较佳的,选主单元201包括第二选主子单元204,用于根据所述投票信息,在T1时刻,从所述M个节点中选择所述候选主节点,以及在所述T1时刻,检测每一个节点是否完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新,在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新时,在所述T1时刻之后的T2时刻,所述候选主节点未改变时,将所述候选主节点作为主节点,其中,所述T2时刻与所述T1时刻的差值大于等于一阈值。
具体的,所述阈值例如可以为2秒,3秒,1秒,4秒等值,基于所述M个取值来确定,当所述M个取值较大时,所述阈值的取值也越大,例如在所述M为100时,所述阈值为1秒,在所述M取值为5000时,则所述阈值为3秒。
进一步的,在所述T1时刻,在每一个节点完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新时,将所述候选主节点作为主节点;以及在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新时,在所述T2时刻,检测到所述候选主节点未改变时,将所述候选主节点作为主节点,以及在所述候选主节点发生改变时,将改变后的候选主节点作为主节点。
由于在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新之后,至在每一个节点完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新时,会使得所述M个节点中的一部分节点选择的主节点发生改变,会有可能导致候选主节点发生改变,如此,会使得在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新时的候选主节点不准确,如此,则需要在所述T2时刻,获取新的候选主节点作为主节点,进而实现更准确的选择主节点。
较佳的,扩容单元202,用于在对所述服务集群进行节点扩容时,控制每一个用于扩容所述服务器集群的扩容节点的优先级小于所述M个节点中的任意一个节点的优先级,例如当所述M个节点中的只要写入了数据的节点的优先级均大于所述扩容节点的优先级,若所述M个节点未写入数据的节点的优先级等于所述扩容节点的优先级。
其中,所述扩容节点的数量为小于等于M-1的正整数,由于所述扩容节点的数量为小于小于等于M-1的正整数,而所述服务器集群的主节点获得的投票数量为M,而每一个扩容节点的优先级小于所述M个节点中的任意一个节点的优先级,进而使得所述服务器集群中的主节点的优先级仍是最高的,使得所述服务器集群的主节点在扩容后的获得投票数量至少为M,由于M/(M+M-1)大于M/2,而所述预设阈值为大于等于2M/5小于等于M/2的值,导致所述服务器集群的主节点在扩容后的获得投票数量仍大于所述预设阈值,进而无需重新选择主节点,进而使得所述服务器集群的主节点在节点扩容过程中,仍能对外提供服务,导致所述服务器集群的工作效率得以提高,延长持续工作的时间。
进一步的,为了使得所述服务器集群中的主节点的优先级保持最高,在所述M个节点中的任意一个节点的优先级提高时,所述服务器集群中的主节点的优先级也相应提高,且所述任意一个节点的优先级提高的数值小于等于所述服务器集群中的主节点的优先级提高的数值,例如,在a节点写入数据时,a节点的优先级从10升高到12,由于e节点为主节点,则e节点的优先级最少为25+(12-10)=27,以确保所述服务器集群中的主节点的优先级最高。
本发明实施例中,本申请技术方案是从服务器集群中包含的M个节点中确定主节点,对所述服务集群进行节点扩容,使扩容后的所述服务器集群中包含有N个节点,以使得扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,如此,使得所述服务器集群中的主节点在节点扩容过程中不会改变,不会出现选择主节点的操作,进而使得所述主节点在节点扩容过程中,仍能对外提供服务,从而解决了现有分布式系统中的服务器集群在节点扩容中,存在不能对外提供服务的技术问题。
实施例三:
本发明实施例三提出了一种扩容集群节点的设备,如图3所示,所述设备包括:电路板301;控制器302,设置于电路板301上,包括扩容集群节点的装置303;存储器304,电性连接电路板301,用于存储所述N个节点的路由信息。
其中,电路板301可以为所述扩容集群节点的设备的主板,进一步的,控制器302可以是单独的处理芯片,也可以集成在所述扩容集群节点的设备的处理器中。
进一步的,所述预设阈值为大于等于2M/5小于等于M/2的值,例如所述预设阈值可以为2M/5,9M/20,M/2等值,当M=100时,所述预设阈值例如可以为40,45,50等值。
较佳的,扩容集群节点的装置303,具体用于确定所述预设阈值为M/2。
进一步的,扩容集群节点的装置303,具体用于控制所述M个节点中的每两个节点相互发送投票信息,每一个节点的投票信息包括所述节点的标识以及选择的主节点信息,以及根据所述投票信息,从所述M个节点中选择获得的投票数量大于M/2的候选主节点为主节点。
其中,所述选择的主节点信息包括所述选择的主节点的标识及其优先级。
具体的,在所述M个节点中的每一个节点的第一次的投票信息均选择自己作为主节点,例如所述M个节点中包含a节点时,a节点的第一次的投票信息选择a节点为主节点,节点的优先级是可以由数据更新时间来确定,数据越新,节点的优先级越高。
进一步的,为了更准确的采集所述M个节点的所有投票信息,所述节点的标识以及选择的主节点信息和所述节点的状态,所述节点的状态例如为投票中,选举为主节点,选举为从节点。
较佳的,扩容集群节点的装置303,用于在所述服务器集群中的第i节点接收到第j节点发送的所述第j节点投票信息时,判断所述第i节点的第一优先级是否大于基于所述第一投票信息获取的所述第j节点的第二优先级,其中,i和j均为大于等于1小于等于M的整数,且i不等于j,在所述第一优先级大于所述第二优先级时,将所述第i节点的投票信息发送给所述第j节点,以使得所述第j节点基于接收到的所述i节点的投票信息,更新所述第j节点的投票信息,其中,更新后的所述第j节点的投票信息选择所述第i节点为主节点,在所述第一优先级小于所述第二优先级时,更新所述第i节点的投票信息,其中,更新后的第i节点的投票信息选择所述第j节点为主节点。
具体的,由于所述第i节点为所述M个节点中的任何一个节点,使得所述M个节点中的每一个节点均执行上述操作,进而可以从所述M个节点中选择获得的投票数量大于M/2的候选主节点,并将所述候选主节点作为所述主节点,进而可以从所述M个节点中确定主节点。
较佳的,扩容集群节点的装置303,具体用于根据所述投票信息,在T1时刻,从所述M个节点中选择所述候选主节点,以及在所述T1时刻,检测每一个节点是否完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新,以及在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新时,在所述T1时刻之后的T2时刻,所述候选主节点未改变时,将所述候选主节点作为主节点,其中,所述T2时刻与所述T1时刻的差值大于等于一阈值。
具体的,所述阈值例如可以为2秒,3秒,1秒,4秒等值,基于所述M个取值来确定,当所述M个取值较大时,所述阈值的取值也越大,例如在所述M为100时,所述阈值为1秒,在所述M去值为5000时,则所述阈值为3秒。
进一步的,在所述T1时刻,在每一个节点完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新时,将所述候选主节点作为主节点;以及在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新时,在所述T2时刻,检测到所述候选主节点未改变时,将所述候选主节点作为主节点,以及在所述候选主节点发生改变时,将改变后的候选主节点作为主节点。
由于在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新之后,至在每一个节点完成了与所述M个节点中的其它节点互发投票信息且完成了投票信息的更新时,会使得所述M个节点中的一部分节点选择的主节点发生改变,会有可能导致候选主节点发生改变,如此,会使得在每一个节点未完成与所述其它节点互发投票信息,或,每一个节点完成了与所述其它互发投票信息但未完成投票信息的更新时的候选主节点不准确,如此,则需要在所述T2时刻,获取新的候选主节点作为主节点,进而实现更准确的选择主节点。
较佳的,扩容集群节点的装置303,具体用于在对所述服务集群进行节点扩容时,控制每一个用于扩容所述服务器集群的扩容节点的优先级小于所述M个节点中的任意一个节点的优先级。
本发明实施例中,本申请技术方案是从服务器集群中包含的M个节点中确定主节点,对所述服务集群进行节点扩容,使扩容后的所述服务器集群中包含有N个节点,以使得扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,如此,使得所述服务器集群中的主节点在节点扩容过程中不会改变,不会出现选择主节点的操作,进而使得所述主节点在节点扩容过程中,仍能对外提供服务,从而解决了现有分布式系统中的服务器集群在节点扩容中,存在不能对外提供服务的技术问题。
本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和更新。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和更新。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些更新和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种扩容集群节点的方法,其特征在于,所述方法包括:
从服务器集群中包含的M个节点中确定主节点,其中,所述M为大于等于2的整数,所述主节点获得的投票数量大于预设阈值且小于等于M;
对所述服务集群进行节点扩容,扩容后的所述服务器集群中包含有N个节点,其中,扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,N为大于等于2的整数,且M大于N/2;每一个用于扩容所述服务器集群的扩容节点的优先级小于所述M个节点中的任意一个节点的优先级。
2.如权利要求1所述的方法,其特征在于,所述预设阈值为M/2。
3.如权利要求2所述的方法,其特征在于,所述从服务器集群中包含的M个节点中确定主节点,具体包括:
控制所述M个节点中的每两个节点相互发送投票信息,每一个节点的投票信息包括所述节点的标识以及选择的主节点信息;
根据所述投票信息,从所述M个节点中确定主节点。
4.如权利要求3所述的方法,其特征在于,所述根据所述投票信息,从所述M个节点中确定主节点,具体包括:
在所述服务器集群中的第i节点接收到第j节点发送的所述第j节点投票信息时,判断所述第i节点的第一优先级是否大于基于所述第一投票信息获取的所述第j节点的第二优先级,其中,i和j均为大于等于1小于等于M的整数,且i不等于j;
在所述第一优先级大于所述第二优先级时,将所述第i节点的投票信息发送给所述第j节点,以使得所述第j节点基于接收到的所述i节点的投票信息,更新所述第j节点的投票信息,其中,更新后的所述第j节点的投票信息选择所述第i节点为主节点;
在所述第一优先级小于所述第二优先级时,更新所述第i节点的投票信息,其中,更新后的第i节点的投票信息选择所述第j节点为主节点。
5.一种扩容集群节点的装置,其特征在于,所述装置包括:
选主单元,用于从服务器集群中包含的M个节点中确定主节点,其中,所述M为大于等于2的整数,所述主节点获得的投票数量大于预设阈值且小于等于M;
扩容单元,用于在所述选主单元确定主节点之后,对所述服务集群进行节点扩容,扩容后的所述服务器集群中包含有N个节点,其中,扩容后的所述服务器集群中的主节点仍为扩容前的所述服务器集群中的主节点,N为大于等于2的整数,且M大于N/2;所述扩容单元在对所述服务集群进行节点扩容时,控制每一个用于扩容所述服务器集群的扩容节点的优先级小于所述M个节点中的任意一个节点的优先级。
6.如权利要求5所述的装置,其特征在于,所述预设阈值为M/2。
7.如权利要求6所述的装置,其特征在于,所述选主单元还用于控制所述M个节点中的每两个节点相互发送投票信息,每一个节点的投票信息包括所述节点的标识以及选择的主节点信息,以及根据所述投票信息,从所述M个节点中确定主节点。
8.如权利要求7所述的装置,其特征在于,所述选主单元包括第一选主子单元,用于在所述服务器集群中的第i节点接收到第j节点发送的所述第j节点投票信息时,判断所述第i节点的第一优先级是否大于基于所述第一投票信息获取的所述第j节点的第二优先级,其中,i和j均为大于等于1小于等于M的整数,且i不等于j,在所述第一优先级大于所述第二优先级时,将所述第i节点的投票信息发送给所述第j节点,以使得所述第j节点基于接收到的所述i节点的投票信息,更新所述第j节点的投票信息,其中,更新后的所述第j节点的投票信息选择所述第i节点为主节点,在所述第一优先级小于所述第二优先级时,更新所述第i节点的投票信息,其中,更新后的第i节点的投票信息选择所述第j节点为主节点。
9.一种扩容集群节点的设备,其特征在于,所述设备包括:
电路板;
控制器,设置于所述电路板上,包含如权利要求5至8任一项所述的装置;
存储器,电性连接所述电路板,用于存储所述N个节点的路由信息。
CN201310554528.9A 2013-11-07 2013-11-07 扩容集群节点的方法、装置及设备 Active CN103634375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310554528.9A CN103634375B (zh) 2013-11-07 2013-11-07 扩容集群节点的方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310554528.9A CN103634375B (zh) 2013-11-07 2013-11-07 扩容集群节点的方法、装置及设备

Publications (2)

Publication Number Publication Date
CN103634375A CN103634375A (zh) 2014-03-12
CN103634375B true CN103634375B (zh) 2017-01-11

Family

ID=50214991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310554528.9A Active CN103634375B (zh) 2013-11-07 2013-11-07 扩容集群节点的方法、装置及设备

Country Status (1)

Country Link
CN (1) CN103634375B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916481B (zh) * 2014-04-17 2017-05-10 北京京东尚科信息技术有限公司 一种处理数据的方法和装置
CN105656653B (zh) * 2014-11-14 2019-07-19 华为技术有限公司 分布式协调系统中新增节点的入网方法、装置和系统
CN105743671B (zh) * 2014-12-10 2020-07-14 华为技术有限公司 一种扩容方法、控制器及系统
CN106161495A (zh) * 2015-03-25 2016-11-23 中兴通讯股份有限公司 一种主节点选举方法、装置及存储系统
CN106155780B (zh) 2015-04-02 2020-01-31 阿里巴巴集团控股有限公司 一种基于时间的节点选举方法及装置
CN106301864B (zh) * 2015-06-11 2019-12-27 腾讯科技(深圳)有限公司 一种服务器系统扩容方法、装置及扩容处理设备
CN105260376B (zh) * 2015-08-17 2018-08-14 北京京东尚科信息技术有限公司 用于集群节点缩扩的方法、设备和系统
CN107786365B (zh) * 2016-08-31 2020-06-19 北京金山云网络技术有限公司 一种集群扩容方法及装置
CN107919977B (zh) 2016-10-11 2021-09-03 阿里巴巴集团控股有限公司 一种基于Paxos协议的在线扩容、在线缩容的方法和装置
CN106817250B (zh) * 2016-12-23 2020-07-10 东软集团股份有限公司 一种动态选举方法及系统
CN106878382B (zh) * 2016-12-29 2020-02-14 北京华为数字技术有限公司 一种分布式仲裁集群中动态改变集群规模的方法及装置
WO2018161342A1 (zh) * 2017-03-10 2018-09-13 深圳市博信诺达经贸咨询有限公司 监控云平台分布式系统的选举方法及系统
CN107544848B (zh) * 2017-08-30 2019-10-25 深圳云天励飞技术有限公司 集群扩展方法、装置、电子设备及存储介质
CN110764918A (zh) * 2019-11-04 2020-02-07 浪潮云信息技术有限公司 一种容器集群中主节点管理方法
CN112379845B (zh) * 2020-11-30 2024-05-28 深信服科技股份有限公司 一种集群扩容方法、装置、计算设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562784A (zh) * 2008-04-14 2009-10-21 华为技术有限公司 报文分发方法、设备及系统
CN103064742A (zh) * 2012-12-25 2013-04-24 中国科学院深圳先进技术研究院 一种hadoop集群的自动部署系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101310304B1 (ko) * 2009-12-10 2013-09-23 한국전자통신연구원 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562784A (zh) * 2008-04-14 2009-10-21 华为技术有限公司 报文分发方法、设备及系统
CN103064742A (zh) * 2012-12-25 2013-04-24 中国科学院深圳先进技术研究院 一种hadoop集群的自动部署系统及方法

Also Published As

Publication number Publication date
CN103634375A (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
CN103634375B (zh) 扩容集群节点的方法、装置及设备
CN104506619A (zh) 一种数据备份、恢复方法及其装置、服务器
CN103530200B (zh) 一种服务器热备份系统和方法
CN105930276A (zh) 一种识别测试用例失败原因的方法及装置
CN106814972B (zh) 分布式块存储的快照节点的回滚方法和装置
CN105446827A (zh) 一种数据库故障时的数据存储方法和设备
CN108199962B (zh) 地址迁移方法、装置、网络设备及可读存储介质
CN105897507A (zh) 节点设备的状态检测方法和装置
CN104837168A (zh) 一种设备切换方法、设备及系统
CN104301990B (zh) 一种数据同步的方法及装置
CN107122271B (zh) 一种恢复节点事件的方法、装置及系统
CN106611001A (zh) 虚拟机数据库表数据一致性的校验方法、装置及系统
CN104009863A (zh) 一种服务器系统、及自动获取服务器编号的方法
CN106158041B (zh) 一种列再次修复方法和装置
CN102739446A (zh) 选择网络时间协议服务器的方法和装置
CN102664755A (zh) 控制通道故障确定方法及其装置
CN108123967A (zh) 一种集群系统的数据同步方法和系统
CN102571311B (zh) 主备切换的通讯系统和通讯方法
CN104426624B (zh) 一种图像同步显示方法及装置
US10693731B2 (en) Flow entry management method and device
CN105183766A (zh) 一种消除地图历史轨迹冗余点的方法及系统
CN106775437B (zh) 数据同步方法及装置
JP2000193725A (ja) テストパタン生成方法および装置ならびにテストパタン生成プログラムを記録した記録媒体
CN105373564A (zh) 基于客观结构化临床考试框架的考站表生成方法及装置
CN104184614A (zh) 一种配置回滚方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant