WO2017000666A1 - 集群主节点选举方法及装置 - Google Patents

集群主节点选举方法及装置 Download PDF

Info

Publication number
WO2017000666A1
WO2017000666A1 PCT/CN2016/081429 CN2016081429W WO2017000666A1 WO 2017000666 A1 WO2017000666 A1 WO 2017000666A1 CN 2016081429 W CN2016081429 W CN 2016081429W WO 2017000666 A1 WO2017000666 A1 WO 2017000666A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
cluster
requester
votes
master node
Prior art date
Application number
PCT/CN2016/081429
Other languages
English (en)
French (fr)
Inventor
任焕文
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017000666A1 publication Critical patent/WO2017000666A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Definitions

  • the initiating module is configured to initiate a primary node election for the nodes in the cluster to vote on the requester node;
  • the adding voting module includes a viewing unit and an adding voting unit;
  • the adding a voting unit is configured to: when it finds that the connection between the node in the cluster and the requester node is normal, add a preset number of votes to the requester node, until all nodes in the cluster are viewed and The connection status of the requester node.
  • the master node increases the voting for the requester node, so that the current master node in the cluster can obtain sufficient voting when the election is initiated, and maintain the location of the master node, effectively avoiding the participation of small IP nodes in the cluster.
  • the stability and reliability of the cluster master node are guaranteed.
  • FIG. 2 is a schematic flowchart of a cluster primary node election method according to Embodiment 2 of the present invention.
  • FIG. 4 is a schematic flowchart of a method for electing a cluster master node according to Embodiment 4 of the present invention.
  • Step S42 the requester node determines whether the total number of votes is greater than or equal to a preset number of cluster nodes
  • the determining module 40 is configured to: determine, according to the obtained total number of votes, whether the requester node is a master node in a preset lease time period.
  • the preset number of votes may be selected as a ticket, and when the requester node finds that the connection between the node in the cluster and the requester node is normal, each node that finds a normal connection with the requester node is found. The requester node adds a ticket until the connection status of all nodes in the cluster with the requester node is viewed.
  • the intra-cluster node votes on the primary node election initiated by the requester node, and the requester node receives the voting of the node in the cluster, and the number of votes received in the preset time and the preset proportion of the cluster
  • the number of nodes is compared; when the number of votes received by the requester node within a preset time is less than the number of cluster nodes of the preset ratio, it is determined whether the node is currently a master node.
  • the current master node in the cluster can obtain sufficient time when initiating the election. Voting and maintaining the location of the master node effectively avoids the problem that when the small IP nodes in the cluster join, the current master node does not get enough votes and loses the location of the master node, which ensures the stability and reliability of the cluster master node. Sex.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种集群主节点选举方法,包括以下步骤:集群内的请求者节点发起主节点选举,以供集群内节点对所述请求者节点进行投票;所述请求者节点接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点;若是,则所述请求者节点增加所获得的投票数;所述请求者节点根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点。上述方法使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。

Description

集群主节点选举方法及装置 技术领域
本申请涉及但不限于分布式系统领域,尤其涉及一种集群主节点选举方法及装置。
背景技术
在分布式系统中,会从集群中选举一个网络协议(IP,Internet Protocol)地址最小的节点为主节点,将集群所有数据的修改都通过该主节点提交,以保证集群内的所有节点执行相同的命令序列。
在相关的分布式系统中,存在集群内新加入的小IP节点会使得集群内主节点切换的问题。在集群内主节点选举过程中,当请求者节点获得的投票数等于预设比例的集群节点数,该请求者节点获得主节点权限。当新的小IP节点加入集群时,集群节点数增大,而新加入的节点在一定时间内不会投票给集群内当前的主节点,因此,集群内当前的主节点能够获得的投票数不会变,而集群节点数增大了,当前主节点获得的投票数小于预设比例的集群节点数,当前主节点将在租赁时间到期时失去主节点位置。由于集群内主节点丢失,集群重新选举则会将新加入的小IP节点选举为新的主节点,使得集群内的主节点产生切换。
例如,集群内发起选举的请求者节点获得的投票数等于所述集群内节点数的1/2时,所述请求者节点获得主节点位置。当集群内新加入一个小IP节点时,该主节点再次发起选举时,由于集群内的节点数增加了一个,而新加入的小IP节点在最长超时时间(9秒)内不会投票给任何节点,因此,该请求者节点获得的投票数小于所述集群内节点数的1/2,所述主节点将在租赁(Lease)时间(6秒)到期后,失去主节点位置,集群内主节点丢失。由于集群内不存在主节点了,新加入的小IP节点会在最长超时时间(9秒)达到时,投票给自己,进而使得该新加入的小IP节点获得主节点位置,使得集群内的主节点发生切换。
对于集群来说,由于所有的分布式操作,包括所有配置数据、计划任务、分布式日志等都需要主节点,且实时性要求高,因此,不允许主节点随便切换。在主节点切换过程中,即新的主节点选举出来之前是有一定的时间间隙的,在这时间段中集群没有主节点,集群的分布式增加、删除、更新操作将不能使用。因此,相关的集群主节点选举过程中,存在新加入的小IP节点将会使得集群当前的主节点得不到足够的投票而失去主节点位置,而新加入的小IP节点则会在集群内无主节点时被选举为新的主节点,进而导致集群主节点切换的问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种集群主节点选举方法及装置,能够解决集群主节点选举过程中,存在新加入的小IP节点将会使得集群当前的主节点得不到足够的投票而失去主节点位置,而新加入的小IP节点则会在集群内无主节点时被选举为新的主节点,进而导致集群主节点切换的问题。
本发明实施例提供一种集群主节点选举方法,所述集群主节点选举方法包括以下步骤:
集群内的请求者节点发起主节点选举,以供集群内节点对所述请求者节点进行投票;
所述请求者节点接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点;
若是,则所述请求者节点增加所获得的投票数;
所述请求者节点根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点。
可选地,所述请求者节点增加所获得的投票数的步骤包括:
所述请求者节点遍历所述集群内的所有节点,查看所述集群内节点与所述请求者节点的连接状态;
所述请求者节点在查找到集群内节点与所述请求者节点的连接正常时,给所述请求者节点增加预设票数,直至查看完所述集群内的所有节点与所述请求者节点的连接状态。
可选地,所述请求者节点接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点的步骤包括:
所述请求者节点接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对;
所述请求者节点在预设时间内接收到的投票数小于所述预设比例的集群节点数时,判断所述请求者节点当前是否为主节点。
可选地,所述请求者节点接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对的步骤之后,所述方法还包括:
所述请求者节点在预设时间内接收到的投票数大于或者等于所述预设比例的集群节点数时,确定所述请求者节点在所述租赁时间段内为主节点。
可选地,所述请求者节点根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点的步骤包括:
所述请求者节点统计所获得的投票总数;
所述请求者节点判断所述投票总数是否大于或等于预设比例的集群节点数;
若是,则确定所述请求者节点在所述租赁时间段为主节点;
若否,则确定所述请求者节点在所述租赁时间段不是主节点。
本发明实施例还提供一种集群主节点选举装置,所述集群主节点选举装置包括:
发起模块,设置为发起主节点选举,以供集群内节点对请求者节点进行投票;
判断模块,设置为:接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点;
增加投票模块,设置为:若所述请求者节点当前为主节点,则增加所获得的投票数;
确定模块,设置为:根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点。
可选地,所述增加投票模块包括查看单元及增加投票单元;
所述查看单元,设置为:遍历所述集群内的所有节点,查看所述集群内节点与所述请求者节点的连接状态;
所述增加投票单元,设置为:在查找到集群内节点与所述请求者节点的连接正常时,给所述请求者节点增加预设票数,直至查看完所述集群内的所有节点与所述请求者节点的连接状态。
可选地,所述判断模块是设置为:接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对;在预设时间内接收到的投票数小于所述预设比例的集群节点数时,判断所述请求者节点当前是否为主节点。
可选地,所述判断模块还设置为:在预设时间内接收到的投票数大于或者等于所述预设比例的集群节点数时,确定所述请求者节点在所述租赁时间段内为主节点。
可选地,所述确定模块包括统计单元、判断单元及确定单元;
所述统计单元,设置为统计所获得的投票总数;
所述判断单元,设置为判断所述投票总数是否大于或等于预设比例的集群节点数;
所述确定单元,设置为:若所述投票总数是否大于或等于预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段为主节点;若所述投票总数是否小于预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段不是主节点。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述的集群主节点选举方法。
本发明实施例在集群文件主节点选举过程中,若所述请求者节点当前为 主节点,则通过增加给所述请求者节点的投票,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
图1为本发明实施例一的集群主节点选举方法的流程示意图;
图2为本发明实施例二的集群主节点选举方法的流程示意图;
图3为本发明实施例三的集群主节点选举方法的流程示意图;
图4为本发明实施例四的集群主节点选举方法的流程示意图;
图5为本发明实施例一的集群主节点选举装置的功能模块示意图;
图6为本发明实施例二的集群主节点选举装置的功能模块示意图;
图7为本发明实施例四的集群主节点选举装置的功能模块示意图。
本发明的实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本发明实施例中,集群内的请求者节点发起主节点选举,以供集群内的所有节点对所述请求者节点进行投票;所述请求者节点在预设时间内接收到的投票数小于预设比例的集群节点数时,判断所述请求者节点当前是否为主节点;若是,则增加给所述请求者节点的投票数;所述请求者节点根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点。
由于相关的集群主节点选举过程中,存在新加入的小IP节点将会使得集群当前的主节点得不到足够的投票而失去主节点位置,而新加入的小IP节点则会在集群内无主节点时被选举为新的主节点,进而导致集群主节点切换的问题。
本发明实施例提供一种集群主节点选举方法。
参照图1,图1为本发明实施例一的集群主节点选举方法的流程示意图。
在本实施例中,所述集群主节点选举方法包括:
步骤S10,集群内的请求者节点发起主节点选举,以供集群内节点对所述请求者节点进行投票;
所述集群可以是ceph(Linux PB级分布式文件系统)集群、NAS(网络附属存储)集群、SAN(存储区域网络)集群、统一存储集群等等需要使用主节点的集群。所述集群内的请求者节点通过发送请求消息至集群内的所有节点来发起主节点选举,集群内接收到所述请求消息的节点为接受者节点,所述接受者节点在接收到所述请求消息时,对所述请求者节点进行投票,并将投票结果发送给所述请求者节点。所述请求者节点及所述接受者节点均可以为所述集群内的所有节点。所述请求者节点可以是集群内当前的主节点,或者也可以是集群内当前的主节点以外的其它节点。所述请求者节点发起的主节点选举,所述请求者节点也可以对本节点进行投票。
可选地,所述请求者节点发送请求消息至集群内的所有节点,以供接收到所述请求消息的节点对所述请求者节点进行投票并返回应答消息;所述请求者节点接收所述应答消息,并根据所述应答消息确定获得的投票数。所述应答消息可以是投票响应或不投票响应。
所述集群内的节点对所述请求者节点进行投票的过程,可以通过如下方式实施:所述集群内的节点在接收到请求消息时,判断集群内是否存在主节点;若集群内存在主节点,则判断所述请求者节点是否为主节点;若是,则给所述请求者节点投票;若否,则不给所述请求者节点投票;若集群内不存在主节点,则判断所述请求者节点是否为集群内的最小IP节点,若是,则给所述请求者节点投票;若否,则不给所述请求者节点投票。
步骤S20,所述请求者节点接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点;
可选地,所述请求者节点接收所述集群内节点的投票,在达到预设时间时,判断本节点当前是否为主节点,根据判断结果增加主节点获得的投票数; 进行投票统计,确定所述请求者节点在预设的租赁时间是否为主节点。
或者,所述请求者节点也可以接收所述集群内节点的投票,在达到预设时间时,进行投票统计,确定所述请求者节点在预设的租赁时间是否为主节点,若是,则选举结束;若否,则判断所述请求者节点当前是否为主节点,根据判断结果确定增加主节点获得的投票数;再进行投票统计,确定所述请求者节点在预设的租赁时间是否为主节点。
步骤S30,若所述请求者节点当前是主节点,则所述请求者节点增加所获得的投票数;
若所述请求者节点当前为主节点,则所述请求者节点增加给所述请求者节点的投票数,以使当前集群的主节点发起主节点选举时,能够获得足够的投票保持主节点的位置,不会因为新加入的节点得不到足够的选票而失去主节点的位置。
步骤S40,所述请求者节点根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点。
所述预设的租赁时间为所述选举对应的租赁时间,租赁时间为集群内节点每次选举获得主节点位置的时间期限。所述请求者节点可以通过将所述请求者节点的获得的投票总数与预设比例的集群节点数进行比对,若所述请求者节点获得的投票总数大于或等于所述预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段为主节点;若所述请求者节点获得的投票总数小于所述预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段不是主节点。所述预设比例的集群节点数可以是所述集群节点数的1/2、所述集群节点数的1/3或者所述集群节点数的1/4等等。
本实施例在集群文件主节点选举过程中,若所述请求者节点当前为主节点,则通过增加给所述请求者节点的投票,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
参照图2,图2为本发明实施例二的集群主节点选举方法的流程示意图。 基于上述实施例一的集群主节点选举方法,所述步骤S30包括:
步骤S31,所述请求者节点遍历所述集群内的所有节点,查看所述集群内节点与所述请求者节点的连接状态;
所述请求者节点在确定本节点当前为主节点时,所述请求者节点遍历所述集群内的所有节点,查看所述集群内节点与所述请求者节点的连接状态。
步骤S32,所述请求者节点在查找到集群内节点与所述请求者节点的连接正常时,给所述请求者节点增加预设票数,直至查看完所述集群内的所有节点与所述请求者节点的连接状态。
所述预设票数可选为一票,所述请求者节点在查找到集群内节点与所述请求者节点的连接正常时,每查找到一个与所述请求者节点连接正常的节点,给所述请求者节点增加一票,直至查看完所述集群内的所有节点与所述请求者节点的连接状态。
本实施例在集群文件主节点选举过程中,若所述请求者节点当前为主节点,则通过遍历集群内节点与请求者节点的连接状态,每查找到一个连接正常的节点则给所述请求者节点增加预设票数,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
参照图3,图3为本发明实施例三的集群主节点选举方法的流程示意图。基于上述实施例一的集群主节点选举方法,所述步骤S20包括:
步骤S21,所述请求者节点接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对;
步骤S22,所述请求者节点在预设时间内接收到的投票数小于所述预设比例的集群节点数时,判断所述请求者节点当前是否为主节点。
所述集群内节点对所述请求者节点发起的主节点选举进行投票,所述请求者节点接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对;所述请求者节点在预设时间内接收到的投票数小于所述预设比例的集群节点数时,判断本节点当前是否为主节点。
所述预设时间可以为所述集群内的租赁时间,所述租赁时间可选设置为6秒;或者,所述预设时间也可以为所述集群内的最长超时时间,所述最长超时时间可选设置为9秒;或者,所述预设时间也可以为所述集群内发起主节点选举的间隔时间,所述主节点选举的间隔时间可选设置为3秒。
所述请求者节点在预设时间内接收到的投票数大于或者等于所述预设比例的集群节点数时,确定所述请求者节点在所述租赁时间段内为主节点。
例如,所述请求者节点接收所述集群内节点的投票,若在预设的最长超时时间9秒内,接收到的投票数大于或等于所述集群节点数的1/2,则确定所述请求者节点在所述租赁时间段内为主节点,若在预设的最长超时时间9秒内,接收到的投票数小于所述集群节点数的1/2,则进一步判断所述请求者节点是否为主节点。
本实施例在集群文件主节点选举过程中,若所述请求者节点当前为主节点,则通过增加给所述请求者节点的投票,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
参照图4,图4为本发明实施例四的集群主节点选举方法的流程示意图。基于上述实施例一的集群主节点选举方法,所述步骤S40包括:
步骤S41,所述请求者节点统计所获得的投票总数;
步骤S42,所述请求者节点判断所述投票总数是否大于或等于预设比例的集群节点数;
步骤S43,若是,则确定所述请求者节点在所述租赁时间段为主节点;
步骤S44,若否,则确定所述请求者节点在所述租赁时间段不是主节点。
所述请求者节点统计所获得的投票总数;所述请求者节点判断所述投票总数是否大于或等于预设比例的集群节点数;若是,则确定所述请求者节点在所述租赁时间段为主节点;若否,则确定所述请求者节点在所述租赁时间段不是主节点。
本实施例在集群文件主节点选举过程中,若所述请求者节点当前为主节 点,则通过增加给所述请求者节点的投票,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
本发明实施例还提供一种集群主节点选举装置。
参照图5,图5为本发明实施例一的集群主节点选举装置的功能模块示意图。
在本实施例中,所述集群主节点选举装置包括:发起模块10、判断模块20、增加投票模块30及确定模块40。
所述发起模块10,设置为发起主节点选举,以供集群内节点对请求者节点进行投票;
所述集群可以是ceph(Linux PB级分布式文件系统)集群、NAS(网络附属存储)集群、SAN(存储区域网络)集群、统一存储集群等等需要使用主节点的集群。所述集群内的请求者节点通过发送请求消息至集群内的所有节点来发起主节点选举,集群内接收到所述请求消息的节点为接受者节点,所述接受者节点在接收到所述请求消息时,对所述请求者节点进行投票,并将投票结果发送给所述请求者节点。所述请求者节点及所述接受者节点均可以为所述集群内的所有节点。所述请求者节点可以是集群内当前的主节点,或者也可以是集群内当前的主节点以外的其它节点。所述请求者节点发起的主节点选举,所述请求者节点也可以对本节点进行投票。
可选地,所述请求者节点发送请求消息至集群内的所有节点,以供接收到所述请求消息的节点对所述请求者节点进行投票并返回应答消息;所述请求者节点接收所述应答消息,并根据所述应答消息确定获得的投票数。所述应答消息可以是投票响应或不投票响应。
所述集群内的节点对所述请求者节点进行投票的过程,可以通过如下方式实施:所述集群内的节点在接收到请求消息时,判断集群内是否存在主节点;若集群内存在主节点,则判断所述请求者节点是否为主节点;若是,则给所述请求者节点投票;若否,则不给所述请求者节点投票;若集群内不存 在主节点,则判断所述请求者节点是否为集群内的最小IP节点,若是,则给所述请求者节点投票;若否,则不给所述请求者节点投票。
所述判断模块20,设置为:接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点;
可选地,所述请求者节点接收所述集群内节点的投票,在达到预设时间时,判断本节点当前是否为主节点,根据判断结果增加主节点获得的投票数;进行投票统计,确定所述请求者节点在预设的租赁时间是否为主节点。
或者,所述请求者节点也可以接收所述集群内节点的投票,在达到预设时间时,进行投票统计,确定所述请求者节点在预设的租赁时间是否为主节点,若是,则选举结束;若否,则判断所述请求者节点当前是否为主节点,根据判断结果确定增加主节点获得的投票数;再进行投票统计,确定所述请求者节点在预设的租赁时间是否为主节点。
所述增加投票模块30,设置为:若所述请求者节点当前为主节点,则增加所获得的投票数;
若所述请求者节点当前为主节点,则所述增加投票模块30增加给所述请求者节点的投票数,以使当前集群的主节点发起主节点选举时,能够获得足够的投票保持主节点的位置,不会因为新加入的节点得不到足够的选票而失去主节点的位置。
所述确定模块40,设置为:根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点。
所述预设的租赁时间为所述选举对应的租赁时间,租赁时间为集群内节点每次选举获得主节点位置的时间期限。所述请求者节点可以通过将所述请求者节点的获得的投票总数与预设比例的集群节点数进行比对,若所述请求者节点获得的投票总数大于或等于所述预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段为主节点;若所述请求者节点获得的投票总数小于所述预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段不是主节点。所述预设比例的集群节点数可以是所述集群节点数的1/2、所述集群节点数的1/3或者所述集群节点数的1/4等等。
本实施例在集群文件主节点选举过程中,若所述请求者节点当前为主节点,则通过增加给所述请求者节点的投票,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
参照图6,图6为本发明实施例二的集群主节点选举装置的功能模块示意图。基于上述实施例一的集群主节点选举装置,所述增加投票模块30包括查看单元31及增加投票单元32;
所述查看单元31,设置为:遍历所述集群内的所有节点,查看所述集群内节点与所述请求者节点的连接状态;
所述请求者节点在确定本节点当前为主节点时,所述请求者节点遍历所述集群内的所有节点,查看所述集群内节点与所述请求者节点的连接状态。
所述增加投票单元32,设置为:在查找到集群内节点与所述请求者节点的连接正常时,给所述请求者节点增加预设票数,直至查看完所述集群内的所有节点与所述请求者节点的连接状态。
所述预设票数可选为一票,所述请求者节点在查找到集群内节点与所述请求者节点的连接正常时,每查找到一个与所述请求者节点连接正常的节点,给所述请求者节点增加一票,直至查看完所述集群内的所有节点与所述请求者节点的连接状态。
本实施例在集群文件主节点选举过程中,若所述请求者节点当前为主节点,则通过遍历集群内节点与请求者节点的连接状态,每查找到一个连接正常的节点则给所述请求者节点增加预设票数,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
可选地,所述判断模块20是设置为:接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对;在预设时间内接收到的投票数小于所述预设比例的集群节点数时,判断所述请求者节点 当前是否为主节点。
所述集群内节点对所述请求者节点发起的主节点选举进行投票,所述请求者节点接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对;所述请求者节点在预设时间内接收到的投票数小于所述预设比例的集群节点数时,判断本节点当前是否为主节点。
所述预设时间可以为所述集群内的租赁时间,所述租赁时间可选设置为6秒;或者,所述预设时间也可以为所述集群内的最长超时时间,所述最长超时时间可选设置为9秒;或者,所述预设时间也可以为所述集群内发起主节点选举的间隔时间,所述主节点选举的间隔时间可选设置为3秒。
所述请求者节点在预设时间内接收到的投票数大于或者等于所述预设比例的集群节点数时,确定所述请求者节点在所述租赁时间段内为主节点。
所述判断模块20还设置为:在预设时间内接收到的投票数大于或者等于所述预设比例的集群节点数时,确定所述请求者节点在所述租赁时间段内为主节点。例如,所述请求者节点接收所述集群内节点的投票,若在预设的最长超时时间9秒内,接收到的投票数大于或等于所述集群节点数的1/2,则确定所述请求者节点在所述租赁时间段内为主节点,若在预设的最长超时时间9秒内,接收到的投票数小于所述集群节点数的1/2,则进一步判断所述请求者节点是否为主节点。
本实施例在集群文件主节点选举过程中,若所述请求者节点当前为主节点,则通过增加给所述请求者节点的投票,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
参照图7,图7为本发明实施例四的集群主节点选举装置的功能模块示意图。基于上述实施例一的集群主节点选举装置,所述确定模块40包括统计单元41、判断单元42及确定单元43;
所述统计单元41,设置为统计所获得的投票总数;
所述判断单元42,设置为判断所述投票总数是否大于或等于预设比例的 集群节点数;
所述确定单元43,设置为:若所述投票总数是否大于或等于预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段为主节点;若所述投票总数是否小于预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段不是主节点。
所述请求者节点统计所获得的投票总数;所述请求者节点判断所述投票总数是否大于或等于预设比例的集群节点数;若是,则确定所述请求者节点在所述租赁时间段为主节点;若否,则确定所述请求者节点在所述租赁时间段不是主节点。
本实施例在集群文件主节点选举过程中,若所述请求者节点当前为主节点,则通过增加给所述请求者节点的投票,使得集群内当前的主节点在发起选举时能够获得足够的投票,并保持主节点位置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述的集群主节点选举方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,例如通过处理器执行存储于存储器中的程序/指令来实现;也可以通过硬件实现,例如通过集成电路来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品 的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的可选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
工业实用性
本申请实施例提供一种集群主节点选举方法及装置,有效地避免了当集群内有小IP节点加入时,当前的主节点得不到足够的投票而失去主节点位置的问题,保证了集群主节点的稳定性和可靠性。

Claims (10)

  1. 一种集群主节点选举方法,包括以下步骤:
    集群内的请求者节点发起主节点选举,以供集群内节点对所述请求者节点进行投票;
    所述请求者节点接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点;
    若是,则所述请求者节点增加所获得的投票数;
    所述请求者节点根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点。
  2. 如权利要求1所述的集群主节点选举方法,其中,所述请求者节点增加所获得的投票数的步骤包括:
    所述请求者节点遍历所述集群内的所有节点,查看所述集群内节点与所述请求者节点的连接状态;
    所述请求者节点在查找到集群内节点与所述请求者节点的连接正常时,给所述请求者节点增加预设票数,直至查看完所述集群内的所有节点与所述请求者节点的连接状态。
  3. 如权利要求1所述的集群主节点选举方法,其中,所述请求者节点接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点的步骤包括:
    所述请求者节点接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对;
    所述请求者节点在预设时间内接收到的投票数小于所述预设比例的集群节点数时,判断所述请求者节点当前是否为主节点。
  4. 如权利要求3所述的集群主节点选举方法,所述请求者节点接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对的步骤之后,所述方法还包括:
    所述请求者节点在预设时间内接收到的投票数大于或者等于所述预设比例的集群节点数时,确定所述请求者节点在所述租赁时间段内为主节点。
  5. 如权利要求1至4任一项所述的集群主节点选举方法,其中,所述请求者节点根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段 是否为主节点的步骤包括:
    所述请求者节点统计所获得的投票总数;
    所述请求者节点判断所述投票总数是否大于或等于预设比例的集群节点数;
    若是,则确定所述请求者节点在所述租赁时间段为主节点;
    若否,则确定所述请求者节点在所述租赁时间段不是主节点。
  6. 一种集群主节点选举装置,包括:
    发起模块,设置为发起主节点选举,以供集群内节点对请求者节点进行投票;
    判断模块,设置为接收所述集群内节点的投票,并判断所述请求者节点当前是否为主节点;
    增加投票模块,设置为若所述请求者节点当前为主节点,则增加所获得的投票数;
    确定模块,设置为根据所获得的投票总数,确定所述请求者节点在预设的租赁时间段是否为主节点。
  7. 如权利要求6所述的集群主节点选举装置,其中,所述增加投票模块包括查看单元及增加投票单元;
    所述查看单元,设置为:遍历所述集群内的所有节点,查看所述集群内节点与所述请求者节点的连接状态;
    所述增加投票单元,设置为:在查找到集群内节点与所述请求者节点的连接正常时,给所述请求者节点增加预设票数,直至查看完所述集群内的所有节点与所述请求者节点的连接状态。
  8. 如权利要求6所述的集群主节点选举装置,其中,所述判断模块是设置为:接收所述集群内节点的投票,并将预设时间内接收到的投票数与预设比例的集群节点数进行比对;在预设时间内接收到的投票数小于所述预设比例的集群节点数时,判断所述请求者节点当前是否为主节点。
  9. 如权利要求8所述的集群主节点选举装置,其中,所述判断模块还设置为:在预设时间内接收到的投票数大于或者等于所述预设比例的集群节点数时,确定所述请求者节点在所述租赁时间段内为主节点。
  10. 如权利要求6至9任一项所述的集群主节点选举装置,其中,所述 确定模块包括统计单元、判断单元及确定单元;
    所述统计单元,设置为统计所获得的投票总数;
    所述判断单元,设置为判断所述投票总数是否大于或等于预设比例的集群节点数;
    所述确定单元,设置为:若所述投票总数是否大于或等于预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段为主节点;若所述投票总数是否小于预设比例的集群节点数,则确定所述请求者节点在所述租赁时间段不是主节点。
PCT/CN2016/081429 2015-07-02 2016-05-09 集群主节点选举方法及装置 WO2017000666A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510381889.7 2015-07-02
CN201510381889.7A CN106331046A (zh) 2015-07-02 2015-07-02 集群主节点选举方法及装置

Publications (1)

Publication Number Publication Date
WO2017000666A1 true WO2017000666A1 (zh) 2017-01-05

Family

ID=57607679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/081429 WO2017000666A1 (zh) 2015-07-02 2016-05-09 集群主节点选举方法及装置

Country Status (2)

Country Link
CN (1) CN106331046A (zh)
WO (1) WO2017000666A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365794A (zh) * 2019-07-30 2019-10-22 四川虹魔方网络科技有限公司 一种基于互联网电视的消息推送方法及系统
CN112379845A (zh) * 2020-11-30 2021-02-19 深信服科技股份有限公司 一种集群扩容方法、装置、计算设备及存储介质
TWI744068B (zh) * 2020-11-03 2021-10-21 啟碁科技股份有限公司 資源管理系統及資源管理方法
CN113641692A (zh) * 2021-08-18 2021-11-12 福建天晴数码有限公司 一种实现分布式集群节点参选的方案及系统
CN113886129A (zh) * 2021-10-21 2022-01-04 联想(北京)有限公司 一种信息处理方法、装置和电子设备
CN112379845B (zh) * 2020-11-30 2024-05-28 深信服科技股份有限公司 一种集群扩容方法、装置、计算设备及存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929411A (zh) * 2017-02-27 2021-06-08 深圳市先河系统技术有限公司 一种分布式文件传输方法、服务器及私有云设备
CN106952207A (zh) * 2017-03-10 2017-07-14 深圳市博信诺达经贸咨询有限公司 监控云平台分布式系统的选举方法及系统
CN107070729A (zh) * 2017-06-13 2017-08-18 深圳市伊特利网络科技有限公司 网络链接中主设备推选方法及系统
CN109240840B (zh) * 2017-07-11 2022-04-19 阿里巴巴集团控股有限公司 集群系统的容灾方法、装置和机器可读介质
CN109327544B (zh) * 2018-11-21 2021-06-18 新华三技术有限公司 一种领导节点的确定方法和装置
CN111049696B (zh) * 2020-03-16 2020-06-12 支付宝(杭州)信息技术有限公司 用于区块链系统的节点管理的方法、节点和计算设备
CN111046110B (zh) * 2020-03-16 2020-06-26 支付宝(杭州)信息技术有限公司 用于区块链系统的节点管理的方法、节点和计算设备
CN112565353A (zh) * 2020-11-20 2021-03-26 珠海格力电器股份有限公司 终端网络的通信方法、终端网络和一种控制器
CN113364871B (zh) * 2021-06-07 2022-05-17 杭州溪塔科技有限公司 一种基于智能合约的节点选举方法、装置及电子设备
CN116367202A (zh) * 2021-12-28 2023-06-30 华为技术有限公司 一种集群仲裁方法、网络设备及系统
CN115412419B (zh) * 2022-08-29 2024-05-14 福建乐摩物联科技有限公司 一种自组网主节点选举及数据同步方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120089709A1 (en) * 2007-01-05 2012-04-12 Frank Paul R System and Method of Synchronizing Real Time Clock Values in Arbitrary Distributed Systems
CN103118084A (zh) * 2013-01-21 2013-05-22 浪潮(北京)电子信息产业有限公司 一种主节点的选举方法及节点
US20140059154A1 (en) * 2012-08-23 2014-02-27 Metaswitch Networks Ltd Leader Node Appointment
CN104679796A (zh) * 2013-12-03 2015-06-03 方正信息产业控股有限公司 一种选举方法、装置及数据库镜像集群节点

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320459B (zh) * 2014-10-24 2018-01-09 新华三技术有限公司 一种节点管理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120089709A1 (en) * 2007-01-05 2012-04-12 Frank Paul R System and Method of Synchronizing Real Time Clock Values in Arbitrary Distributed Systems
US20140059154A1 (en) * 2012-08-23 2014-02-27 Metaswitch Networks Ltd Leader Node Appointment
CN103118084A (zh) * 2013-01-21 2013-05-22 浪潮(北京)电子信息产业有限公司 一种主节点的选举方法及节点
CN104679796A (zh) * 2013-12-03 2015-06-03 方正信息产业控股有限公司 一种选举方法、装置及数据库镜像集群节点

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365794A (zh) * 2019-07-30 2019-10-22 四川虹魔方网络科技有限公司 一种基于互联网电视的消息推送方法及系统
CN110365794B (zh) * 2019-07-30 2021-09-14 四川虹魔方网络科技有限公司 一种基于互联网电视的消息推送方法及系统
TWI744068B (zh) * 2020-11-03 2021-10-21 啟碁科技股份有限公司 資源管理系統及資源管理方法
CN112379845A (zh) * 2020-11-30 2021-02-19 深信服科技股份有限公司 一种集群扩容方法、装置、计算设备及存储介质
CN112379845B (zh) * 2020-11-30 2024-05-28 深信服科技股份有限公司 一种集群扩容方法、装置、计算设备及存储介质
CN113641692A (zh) * 2021-08-18 2021-11-12 福建天晴数码有限公司 一种实现分布式集群节点参选的方案及系统
CN113886129A (zh) * 2021-10-21 2022-01-04 联想(北京)有限公司 一种信息处理方法、装置和电子设备

Also Published As

Publication number Publication date
CN106331046A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
WO2017000666A1 (zh) 集群主节点选举方法及装置
US11716680B2 (en) PDU type setting method, UE policy setting method, and related entity
US8732261B2 (en) Apparatus and methods of a zero single point of failure load balancer
WO2016061898A1 (zh) 直播间的频道访问方法和系统
KR100812374B1 (ko) 클러스터 시스템에서 프로토콜 네트워크 장애 관리 시스템및 방법
CN106060088B (zh) 一种服务管理方法及装置
US9798680B2 (en) Policy control method and apparatus for terminal peripheral
CN112118315A (zh) 数据处理系统、方法、装置、电子设备和存储介质
US20220141311A1 (en) Resource subscription method, device and server, and computer storage medium
WO2017036373A1 (zh) 一种组呼业务处理方法、终端及核心网网元
US20170329628A1 (en) Task Processing Apparatus, Intelligent Device, Task Processing Method, and Baseband Processor
CN112218342A (zh) 一种实现核心网子切片容灾的方法、装置和系统
US10802896B2 (en) Rest gateway for messaging
WO2015096802A1 (zh) 消息发送方法、装置及服务器
WO2013000221A1 (zh) 一种寻呼重发的方法及接入网设备
US20150149629A1 (en) User online state querying method and apparatus
WO2017000625A1 (zh) 动态主机配置协议dhcp服务器管理方法及装置
CN112492030B (zh) 数据存储方法、装置、计算机设备和存储介质
EP2071764A1 (en) A method, device and communication system thereof of electing local master
US10674337B2 (en) Method and device for processing operation for device peripheral
US10951732B2 (en) Service processing method and device
US10409579B1 (en) Application healthcheck communicator
JP5863203B2 (ja) ログ収集システム
WO2016095472A1 (zh) 资源操作请求的处理方法及装置
WO2016165335A1 (zh) 一种控制锁屏的方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16817030

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16817030

Country of ref document: EP

Kind code of ref document: A1