CN105430052B - 一种用于集群系统的仲裁方法和装置 - Google Patents
一种用于集群系统的仲裁方法和装置 Download PDFInfo
- Publication number
- CN105430052B CN105430052B CN201510726821.8A CN201510726821A CN105430052B CN 105430052 B CN105430052 B CN 105430052B CN 201510726821 A CN201510726821 A CN 201510726821A CN 105430052 B CN105430052 B CN 105430052B
- Authority
- CN
- China
- Prior art keywords
- node
- arbitration
- legitimate
- default
- connect
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种用于集群系统的仲裁方法和装置,该方法包括:确定连接多个心跳设备的节点的第一数目;在确定的节点的第一数目为一个时,确定当前集群系统中与节点连接的心跳设备的第二数目;根据确定出的第二数目和当前集群系统中的全部心跳设备的第三数目判断节点是否为合法节点。本发明能够在集群系统只包含一个节点的情况下对该节点进行仲裁。
Description
技术领域
本发明涉及计算机技术,尤指一种用于集群系统的仲裁方法和装置。
背景技术
在云计算领域中,集群系统被广泛应用。它能为系统中至少一个节点提供共享的存储资源,在集群系统的运行过程中,可能由于某些原因,如网络阻塞等,导致集群系统分裂成两个或多个集群,此时处于集群中的节点可以相互通信,而集群间的节点则无法通信。当各集群中的节点仍有权限访问共享资源时,如果不采用相应的防护措施则会导致集群发生脑裂,即分裂后的子集群各自都认为自己对共享的存储资源拥有访问权限,可能先后对该共享存储上的特定资源进行读写操作,以至各节点看到的数据出现不一致的情况。为了使集群系统能正常运作,往往需要提供相应的仲裁方式,将非法的节点从原集群系统中剔除。
现有的集群系统中主要通过节点间的投票实现仲裁,具体地,集群系统中各节点通过心跳来通报彼此的健康状况,假设每收到一个节点的通报代表1票,例如,对于一个三节点的集群系统,正常运行时,每个节点都会有3票,假设节点1的心跳出现故障,但是节点1还在运行,这时整个集群系统就分裂成两个小的集群。节点1自己一个集群,节点2和节点3是另一个集群,这就必须剔除一个集群,这时节点2和节点3所在的集群中每个节点有两票,节点1只有一票,所以节点2和节点3组成的小集群获得对该集群系统的控制权,节点1被踢出。但是,上述仲裁方式在该集群系统只包含一个节点的情况下,由于该节点总是会获得对该集群系统的控制权,因此无法检验该节点自身的合法性。
发明内容
为了解决上述技术问题,本发明提供了一种用于集群系统的仲裁方法和装置,能够在集群系统只包含一个节点的情况下对该节点进行仲裁。
为了达到本发明目的,本发明提供了一种用于集群系统的仲裁方法,当前集群系统中,包括:确定连接多个心跳设备的节点的第一数目;在确定的节点的第一数目为一个时,确定所述当前集群系统中与所述节点连接的心跳设备的第二数目;根据确定出的第二数目和所述当前集群系统中的全部心跳设备的第三数目判断所述节点是否为合法节点。
可选地,所述判断所述节点是否为合法节点包括:在所述第二数目大于或等于所述第三数目的一半时,确定所述节点为合法节点;在所述第二数目小于所述第三数目的一半时,确定所述节点为非法节点。
可选地,在所述第一数目为多个时,该方法还包括:确定所述当前集群系统中与所述节点连接的其他节点的第四数目;根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点。
可选地,在根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点前,所述方法还包括:确定所述节点的第一数目是否为偶数:在确定所述节点的第一数目为偶数时,所述根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点包括:在所述第四数目大于第一预设仲裁数目时,确定所述节点为合法节点;其中,所述第一预设仲裁数目为所述当前集群系统中与所述多个心跳设备连接的节点的数目的一半;在所述第四数目小于所述第一预设仲裁数目时,确定所述节点为非法节点;在所述第四数目等于所述第一预设仲裁数目时,判断所述节点是否与编号最小的节点处于连接状态,在所述节点与所述编号最小的节点处于连接状态时,确定所述节点为合法节点;在所述节点与所述编号最小的节点处于非连接状态时,确定所述节点为非法节点。
可选地,在确定所述节点的第一数目为奇数时,所述根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点包括:在所述第四数目大于或等于第二预设仲裁数目时,确定所述节点为合法节点;其中,所述第二预设仲裁数目为所述当前集群系统中与所述多个心跳设备连接的节点的数目加一的一半;在所述第四数目小于所述第二预设仲裁数目时,确定所述节点为非法节点。
为了达到本发明目的,本发明还提供了一种用于集群系统的仲裁装置,包括:第一确定单元,用于确定连接多个心跳设备的节点的第一数目;第二确定单元,用于在所述第一确定单元确定的节点的第一数目为一个时,确定当前集群系统中与所述节点连接的心跳设备的第二数目;第一判断单元,用于根据确定出的第二数目和所述当前集群系统中的全部心跳设备的第三数目判断所述节点是否为合法节点。
可选地,所述第一判断单元,用于在所述第二数目大于或等于所述第三数目的一半时,确定所述节点为合法节点;在所述第二数目小于所述第三数目的一半时,确定所述节点为非法节点。
可选地,所述装置还包括:第二判断单元,用于在所述第一确定单元确定的节点的第一数目为多个时,确定所述当前集群系统中与所述节点连接的其他节点的第四数目;根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点。
可选地,所述第一确定单元,还用于确定所述节点的第一数目是否为偶数:
所述第二判断单元,还用于在所述第一确定单元确定所述节点的第一数目为偶数时,若所述第四数目大于第一预设仲裁数目时,确定所述节点为合法节点;其中,所述第一预设仲裁数目为所述当前集群系统中与所述多个心跳设备连接的节点的数目的一半;若所述当前集群系统中与所述节点连接的其他节点的数目小于所述预设仲裁数目,确定所述节点为非法节点;若所述当前集群系统中与所述节点连接的其他节点的数目等于所述预设仲裁数目,判断所述节点是否与编号最小的节点处于连接状态,在所述节点与所述编号最小的节点处于连接状态时,确定所述节点为合法节点;在所述节点与所述编号最小的节点处于非连接状态时,确定所述节点为非法节点。
可选地,所述第二判断单元,还用于在所述第二确定单元确定所述节点的第一数目为奇数时,在所述第四数目大于或等于第二预设仲裁数目时,确定所述节点为合法节点;其中,所述第二预设仲裁数目为所述当前集群系统中与所述多个心跳设备连接的节点的数目加一的一半;在所述第四数目小于所述第二预设仲裁数目时,确定所述节点为非法节点。
与现有技术相比,本发明包括确定连接多个心跳设备的节点的第一数目;在确定的节点的第一数目为一个时,确定当前集群系统中与节点连接的心跳设备的第二数目;根据确定出的第二数目和当前集群系统中的全部心跳设备的第三数目判断节点是否为合法节点。这样,本发明根据单个节点与多个心跳设备的连接状态来判断单一节点是否为合法节点,从而能够在集群系统只包含一个节点的情况下实现对该节点的仲裁。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的一种用于集群系统的仲裁方法的流程示意图;
图2为本发明实施例提供的另一种用于集群系统的仲裁方法的流程示意图;
图3为本发明实施例提供的一种用于集群系统的仲裁装置的结构示意图;
图4为本发明实施例提供的另一种用于集群系统的仲裁装置的结构示意图;
图5为本发明实施例提供的一种集群系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例提供的一种用于集群系统的仲裁方法,如图1所示,该本发明实施例的执行主体可以是一种用于集群系统的仲裁装置,在当前集群系统中,该方法包括:
步骤101、确定连接多个心跳设备的节点的第一数目。
其中,该集群系统包括至少一个节点。
需要说明的是,该心跳设备可以是一块共享的存储设备,例如是一块磁盘,该心跳设备可以用于判断节点是否存活。
步骤102、在确定的节点的第一数目为一个时,确定当前集群系统中与节点连接的心跳设备的第二数目。
在本发明实施例中,当前集群系统中的各个节点都会与心跳设备周期性地进行通信,具体地,节点按照预设时间间隔向心跳设备写入数据,每写入一次数据则更新该心跳设备上与该节点对应的时间戳,若在达到该预设时间间隔时,该时间戳发生更新,则表示该节点与心跳设备连接,若在达到该预设时间间隔时,该时间戳未发生更新,则表示该节点与心跳设备未连接。例如,节点每隔2分钟向心跳设备写入数据,且每次写入数据都会更新该节点在心跳设备上对应的时间戳,若每隔2分钟该节点在心跳设备上对应的时间戳发生了更新,则表示该节点与该心跳设备连接,若每隔2分钟该节点在心跳设备上对应的时间戳未发生更新,则表示该节点与心跳设备未连接。
需要说明的是,本发明实施例中描述的连接表示两个设备之间能够进行正常的数据通信,而不是单纯的物理连接,例如,节点与心跳设备之间的连接即表示节点与心跳设备之间能够进行正常的数据通信,节点与节点之间的连接即表示节点与节点之间能够进行正常的数据通信。
步骤103、根据确定出的第二数目和该当前集群系统中的全部心跳设备的第三数目判断该节点是否为合法节点。
在本步骤中,在该第二数目大于或等于该第三数目的一半时,确定该节点为合法节点;在该第二数目小于该第三数目的一半时,确定该节点为非法节点。
其中,当该节点为合法节点时,则该节点可以正常访问共享存储(即读取或者写入该共享存储的数据);当该节点为非法节点时,则该节点进行重启操作。
这样,本发明实施例根据单个节点与多个心跳设备的连接状态来判断单一节点是否为合法节点,从而能够在集群系统只包含一个节点的情况下实现对该节点的仲裁。
进一步地,在确定的节点的第一数目为多个时,确定该当前集群系统中与该节点连接的其他节点的第四数目,并根据该第四数目和预设仲裁数目判断该节点是否为合法节点。
可选地,在根据该第四数目和预设仲裁数目判断该节点是否为合法节点前,确定该节点的第一数目是否为偶数。
其中,在确定该节点的第一数目为偶数时,在该第四数目大于第一预设仲裁数目时,确定该节点为合法节点;在该第四数目小于该第一预设仲裁数目时,确定该节点为非法节点;在该第四数目等于该第一预设仲裁数目时,判断该节点是否与编号最小的节点处于连接状态,在该节点与该编号最小的节点处于连接状态时,确定该节点为合法节点;在该节点与该编号最小的节点处于非连接状态时,确定该节点为非法节点,其中,该第一预设仲裁数目为该当前集群系统中与该多个心跳设备连接的节点的数目的一半。这样,采用上述方式能够在集群系统包含的节点的数目为偶数时,通过将各节点与其他节点的通信状态以及各节点与编号最小的节点的连接状态作为仲裁因素,从而能够在集群系统包含的节点的数目为偶数时,对各节点的可靠仲裁。
需要说明的是,节点的编号是当节点加入到当前集群系统中就已经确定的,例如可以按照加入节点的先后顺序进行编号且编号依次递增,当集群中有多个节点时,最小编号的节点便是确定的。
进一步地,在确定该节点的第一数目为奇数时,在该第四数目大于或等于第二预设仲裁数目时,确定该节点为合法节点;在该第四数目小于该第二预设仲裁数目时,确定该节点为非法节点。其中,该第二预设仲裁数目为该当前集群系统中与该多个心跳设备连接的节点的数目加一的一半。这样,采用上述方式能够在集群系统包含的节点的数目为奇数时,通过将各节点与其他节点的通信状态作为仲裁因素,从而实现了在集群系统包含的节点的数目为奇数时,对各节点的可靠仲裁。
在本发明实施例中,上述第一预设仲裁数目和第二预设仲裁数目即表示当前集群系统中的节点仲裁为合法节点需要的最少数目。
图2为本发明实施例提供的一种用于集群系统的仲裁方法,如图2所示,本发明实施例的执行主体为一种用于集群系统的仲裁装置,在当前集群系统中,该方法包括:
步骤201、确定连接多个心跳设备的的节点的第一数目。
其中,该当前集群系统包括至少一个节点。
需要说明的是,该心跳设备可以是一块共享的存储设备,例如是一块磁盘,该心跳设备可以用于判断节点是否存活。
步骤202、在该第一数目为一个时,确定该当前集群系统中与该节点连接的心跳设备的第二数目。
在本发明实施例中,当前集群系统中的各个节点都会与心跳设备周期性地进行通信,具体地,节点按照预设时间间隔向心跳设备写入数据,每写入一次数据则更新该心跳设备上与该节点对应的时间戳,若在达到该预设时间间隔时,该时间戳发生更新,则表示该节点与心跳设备连接,若在达到该预设时间间隔时,该时间戳未发生更新,则表示该节点与心跳设备未连接。例如,节点每隔2分钟向心跳设备写入数据,且每次写入数据都会更新该节点在心跳设备上对应的时间戳,若每隔2分钟该节点在心跳设备上对应的时间戳发生了更新,则表示该节点与该心跳设备连接,若每隔2分钟该节点在心跳设备上对应的时间戳未发生更新,则表示该节点与心跳设备未连接。
需要说明的是,本发明实施例中描述的连接表示两个设备之间能够进行正常的数据通信,而不是单纯的物理连接,例如,节点与心跳设备之间的连接即表示节点与心跳设备之间能够进行正常的数据通信,节点与节点之间的连接即表示节点与节点之间能够进行正常的数据通信。
步骤203、判断该第二数目是否大于或等于该当前集群系统中的全部心跳设备的第三数目的一半。
若判断结果为是,执行步骤209;
若判断结果为否,执行步骤210。
这样,本发明实施例根据单个节点与多个心跳设备的连接状态来判断单一节点是否为合法节点,从而能够在集群系统只包含一个节点的情况下实现对该节点的仲裁。
步骤204、在该第一数目为多个时,确定该当前集群系统中与该节点连接的其他节点的第四数目。
其中,在当前集群系统包括多个节点且发生脑裂后,由于当前集群系统的多个节点分裂成多个集群,因此,在该第一数目为多个时,本实施例中的当前集群系统即为当前进行仲裁的集群。
步骤205、判断该第一数目是否为偶数。
在判断结果为是时,执行步骤206至步骤207以及步骤209至步骤210;
在判断结果为否时,执行步骤208步骤211。
步骤206、判断该第四数目与第一预设仲裁数目的关系。
其中,该第一预设仲裁数目为该当前集群系统中与该多个心跳设备连接的节点的数目的一半,该关系包括该第四数目大于第一预设仲裁数目;或者,该第四数目小于第一预设仲裁数目;或者,该第四数目等于第一预设仲裁数目。
在该第四数目大于第一预设仲裁数目时,执行步骤209;
在该第四数目小于第一预设仲裁数目时,执行步骤210;
在该第四数目等于第一预设仲裁数目时,执行步骤207。
步骤207、判断该节点是否与编号最小的节点处于连接状态。
其中,节点的编号是当节点加入到当前集群系统中就已经确定的,例如可以按照加入节点的先后顺序进行编号,当集群中有多个节点时,最小编号的节点便是确定的。
在该节点与该编号最小的节点处于连接状态时,执行步骤209;
在该节点与该编号最小的节点处于非连接状态时,执行步骤210。
步骤208、判断该第四数目是否大于或等于第二预设仲裁数目。
在判断结果为是时,执行步骤209;
在判断结果为否时,执行步骤210。
步骤209、确定该节点为合法节点。
步骤210、确定该节点为非法节点,并对该非法节点执行重启操作。
这样,采用上述方式能够在集群系统包含的节点的数目为偶数时,通过将各节点与其他节点的通信状态以及各节点与编号最小的节点的连接状态作为仲裁因素,在集群系统包含的节点的数目为奇数时,通过将各节点与其他节点的通信状态作为仲裁因素,从而实现了在集群系统包含的节点的数目为多个时,对各节点的可靠仲裁。
需要说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
图3为本发明实施例提供的一种集群系统的仲裁装置,如图3所示,该装置包括第一确定单元301、第二确定单元302和第一判断单元303;其中,
第一确定单元301,用于确定连接多个心跳设备的节点的第一数目;
第二确定单元302,用于在第一确定单元301确定的节点的第一数目为一个时,确定当前集群系统中与节点连接的心跳设备的第二数目;
第一判断单元303,用于根据确定出的第二数目和当前集群系统中的全部心跳设备的第三数目判断节点是否为合法节点。
可选地,该第一判断单元303,用于在该第二数目大于或等于该第三数目的一半时,确定该节点为合法节点;在该第二数目小于该第三数目的一半时,确定该节点为非法节点。
可选地,如图4所示,该装置还包括:
第二判断单元304,用于在该第一确定单元301确定的节点的第一数目为多个时,确定该当前集群系统中与该节点连接的其他节点的第四数目;根据该第四数目和预设仲裁数目判断该节点是否为合法节点。
可选地,该第一确定单元301,用于确定该节点的第一数目是否为偶数:
该第二判断单元304,还用于在该第一确定单元301确定该节点的第一数目为偶数时,若该第四数目大于第一预设仲裁数目时,确定该节点为合法节点;其中,该第一预设仲裁数目为该当前集群系统中与该多个心跳设备连接的节点的数目的一半;若该当前集群系统中与该节点连接的其他节点的数目小于该预设仲裁数目,确定该节点为非法节点;若该当前集群系统中与该节点连接的其他节点的数目等于该预设仲裁数目,判断该节点是否与编号最小的节点处于连接状态,在该节点与该编号最小的节点处于连接状态时,确定该节点为合法节点;在该节点与该编号最小的节点处于非连接状态时,确定该节点为非法节点。
可选地,该第二判断单元304,还用于在该第二确定单元确定该节点的第一数目为奇数时,在该第四数目大于或等于第二预设仲裁数目时,确定该节点为合法节点;其中,该第二预设仲裁数目为该当前集群系统中与该多个心跳设备连接的节点的数目加一的一半;在该第四数目小于该第二预设仲裁数目时,确定该节点为非法节点。
采用上述仲裁装置,该仲裁装置根据单个节点与多个心跳设备的连接状态来判断单一节点是否为合法节点,从而能够在集群系统只包含一个节点的情况下实现对该节点的仲裁。
需要说明的是,所属本领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的仲裁装置的具体工作过程和描述,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5为本发明实施例提供的一种仲裁系统,该系统包括:集群节点501、集群心跳设备502和仲裁装置503,
其中,该集群节点包括至少一个节点,该集群心跳设备包括多个心跳设备,该仲裁装置包括上述图3至图4所描述的仲裁装置,该仲裁装置可以是仲裁服务器。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (8)
1.一种用于集群系统的仲裁方法,其特征在于,当前集群系统中,包括:
确定连接多个心跳设备的节点的第一数目;
在确定的节点的第一数目为一个时,确定所述当前集群系统中与所述节点连接的心跳设备的第二数目;
根据确定出的第二数目和所述当前集群系统中的全部心跳设备的第三数目判断所述节点是否为合法节点,
其中:在所述第二数目大于或等于所述第三数目的一半时,确定所述节点为合法节点;
在所述第二数目小于所述第三数目的一半时,确定所述节点为非法节点。
2.根据权利要求1所述的仲裁方法,其特征在于,在所述第一数目为多个时,该方法还包括:
确定所述当前集群系统中与所述节点连接的其他节点的第四数目;
根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点。
3.根据权利要求2所述的仲裁方法,其特征在于,在根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点前,所述方法还包括:
确定所述节点的第一数目是否为偶数:
在确定所述节点的第一数目为偶数时,所述根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点包括:
在所述第四数目大于第一预设仲裁数目时,确定所述节点为合法节点;其中,所述第一预设仲裁数目为所述当前集群系统中与所述多个心跳设备连接的节点的数目的一半;
在所述第四数目小于所述第一预设仲裁数目时,确定所述节点为非法节点;
在所述第四数目等于所述第一预设仲裁数目时,判断所述节点是否与编号最小的节点处于连接状态,在所述节点与所述编号最小的节点处于连接状态时,确定所述节点为合法节点;在所述节点与所述编号最小的节点处于非连接状态时,确定所述节点为非法节点。
4.根据权利要求2或3所述的仲裁方法,其特征在于,在确定所述节点的第一数目为奇数时,所述根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点包括:
在所述第四数目大于或等于第二预设仲裁数目时,确定所述节点为合法节点;其中,所述第二预设仲裁数目为所述当前集群系统中与所述多个心跳设备连接的节点的数目加一的一半;
在所述第四数目小于所述第二预设仲裁数目时,确定所述节点为非法节点。
5.一种用于集群系统的仲裁装置,其特征在于,包括:
第一确定单元,用于确定连接多个心跳设备的节点的第一数目;
第二确定单元,用于在所述第一确定单元确定的节点的第一数目为一个时,确定当前集群系统中与所述节点连接的心跳设备的第二数目;
第一判断单元,用于根据确定出的第二数目和所述当前集群系统中的全部心跳设备的第三数目判断所述节点是否为合法节点;
其中,在所述第二数目大于或等于所述第三数目的一半时,确定所述节点为合法节点;在所述第二数目小于所述第三数目的一半时,确定所述节点为非法节点。
6.根据权利要求5所述的仲裁装置,其特征在于,所述装置还包括:
第二判断单元,用于在所述第一确定单元确定的节点的第一数目为多个时,确定所述当前集群系统中与所述节点连接的其他节点的第四数目;根据所述第四数目和预设仲裁数目判断所述节点是否为合法节点。
7.根据权利要求6所述的仲裁装置,其特征在于,
所述第一确定单元,还用于确定所述节点的第一数目是否为偶数:
所述第二判断单元,还用于在所述第一确定单元确定所述节点的第一数目为偶数时,若所述第四数目大于第一预设仲裁数目时,确定所述节点为合法节点;其中,所述第一预设仲裁数目为所述当前集群系统中与所述多个心跳设备连接的节点的数目的一半;若所述当前集群系统中与所述节点连接的其他节点的数目小于所述预设仲裁数目,确定所述节点为非法节点;若所述当前集群系统中与所述节点连接的其他节点的数目等于所述预设仲裁数目,判断所述节点是否与编号最小的节点处于连接状态,在所述节点与所述编号最小的节点处于连接状态时,确定所述节点为合法节点;在所述节点与所述编号最小的节点处于非连接状态时,确定所述节点为非法节点。
8.根据权利要求6或7所述的仲裁装置,其特征在于,所述第二判断单元,还用于在所述第二确定单元确定所述节点的第一数目为奇数时,在所述第四数目大于或等于第二预设仲裁数目时,确定所述节点为合法节点;其中,所述第二预设仲裁数目为所述当前集群系统中与所述多个心跳设备连接的节点的数目加一的一半;在所述第四数目小于所述第二预设仲裁数目时,确定所述节点为非法节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510726821.8A CN105430052B (zh) | 2015-10-30 | 2015-10-30 | 一种用于集群系统的仲裁方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510726821.8A CN105430052B (zh) | 2015-10-30 | 2015-10-30 | 一种用于集群系统的仲裁方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105430052A CN105430052A (zh) | 2016-03-23 |
CN105430052B true CN105430052B (zh) | 2018-09-07 |
Family
ID=55507989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510726821.8A Active CN105430052B (zh) | 2015-10-30 | 2015-10-30 | 一种用于集群系统的仲裁方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105430052B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107276828A (zh) * | 2017-07-26 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种集群中节点的调度方法及装置 |
CN109471745A (zh) * | 2018-10-18 | 2019-03-15 | 中国银行股份有限公司 | 基于服务器集群的宕机服务器任务处理方法及系统 |
CN109672559A (zh) * | 2018-12-04 | 2019-04-23 | 武汉烽火信息集成技术有限公司 | 一种集群系统中集群成员的仲裁方法及系统 |
CN112367198B (zh) * | 2020-10-30 | 2022-07-01 | 新华三大数据技术有限公司 | 主备节点切换方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904946A (zh) * | 2012-09-29 | 2013-01-30 | 浪潮(北京)电子信息产业有限公司 | 集群内节点管理方法和装置 |
CN104378232A (zh) * | 2014-11-10 | 2015-02-25 | 东软集团股份有限公司 | 主备集群组网模式下的脑裂发现、恢复方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449040B2 (en) * | 2012-11-26 | 2016-09-20 | Amazon Technologies, Inc. | Block restore ordering in a streaming restore system |
-
2015
- 2015-10-30 CN CN201510726821.8A patent/CN105430052B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904946A (zh) * | 2012-09-29 | 2013-01-30 | 浪潮(北京)电子信息产业有限公司 | 集群内节点管理方法和装置 |
CN104378232A (zh) * | 2014-11-10 | 2015-02-25 | 东软集团股份有限公司 | 主备集群组网模式下的脑裂发现、恢复方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105430052A (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105430052B (zh) | 一种用于集群系统的仲裁方法和装置 | |
CN107453929B (zh) | 集群系统自构建方法、装置及集群系统 | |
CN102308559B (zh) | 一种用于集群计算机系统的投票仲裁方法及装置 | |
CN106899681A (zh) | 一种信息推送的方法以及服务器 | |
CN102402395A (zh) | 基于仲裁磁盘的高可用系统不间断运行方法 | |
CN109858854A (zh) | 一种冷链物流管理方法和系统 | |
CN110290021B (zh) | 基于动态规划算法的跨链共识时延优化方法 | |
CN107153573A (zh) | 分布式任务处理方法和装置 | |
CN107229397A (zh) | 一种提高终端流畅度的方法、系统、终端以及存储装置 | |
CN110096472A (zh) | 节点集群中管理节点的选择 | |
KR101052592B1 (ko) | 계층적 클러스터링에서 최적의 군집 분할 방법 및 시스템 | |
CN104917639B (zh) | 基于集群监控分配数据业务方法及装置 | |
CN113900598A (zh) | 基于区块链的数据存储方法、装置、设备以及存储介质 | |
CN106528288A (zh) | 一种资源管理方法、装置和系统 | |
CN108984349A (zh) | 主节点选举方法及装置、介质和计算设备 | |
CN104601364B (zh) | 一种管理集群中成员管理方法及装置 | |
CN105553732B (zh) | 一种分布式网络模拟方法及系统 | |
CN109240826B (zh) | 多区块链网络中节点共用计算设备时的计算资源分配方法 | |
CN103678537B (zh) | 基于集群的元数据修改方法、装置及节点设备 | |
CN110083504A (zh) | 分布式任务的运行状态监控方法及装置 | |
CN111857995B (zh) | 进程调度方法和装置、存储介质及电子装置 | |
DE112016005840B4 (de) | Drahtloses kommunikationsgerät, drahtloses kommunikationsverfahren und programm für drahtlose kommunikation | |
CN105528199B (zh) | 一种节点的处理方法及装置 | |
CN106899659A (zh) | 分布式系统及其管理方法和管理装置 | |
CN116886490A (zh) | 服务器巡检方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |