一种集群系统中集群成员的仲裁方法及系统技术方案

技术编号:20947349 阅读:24 留言:0更新日期:2019-04-24 03:36
本发明专利技术公开了一种集群系统中集群成员的仲裁方法,涉及计算机存储技术领域,本发明专利技术向集群系统中引入集群心跳设备;集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统,及时仲裁出集群成员的非法成员,有效保护共享资源在集群环境中的一致性和可用性。本发明专利技术还公开了一种集群系统。

An Arbitration Method and System for Cluster Members in Cluster System

The invention discloses an arbitration method for cluster members in a cluster system, which relates to the field of computer storage technology. The invention introduces cluster heartbeat devices into a cluster system; cluster members judge whether they are illegal members according to their connection status with multiple heartbeat devices; and when a brain fissure occurs in the cluster system, they communicate with other cluster members according to the communication between the cluster members and other cluster members. The status and the total heartbeat of all cluster members on the cluster heartbeat device arbitrate whether they are illegal members. If arbitration is illegal members, the cluster members automatically quit the cluster system, arbitrate the illegal members of the cluster members in time, and effectively protect the consistency and availability of shared resources in the cluster environment. The invention also discloses a cluster system.

【技术实现步骤摘要】
一种集群系统中集群成员的仲裁方法及系统
本专利技术涉及计算机存储
,具体涉及一种集群系统中集群成员的仲裁方法及系统。
技术介绍
集群文件系统作为一种集群系统,在计算机存储领域被广泛应用,它能够为在集群成员部署上的应用提供共享的存储资源。在云计算领域常基于集群文件系统来实现虚拟化应用的动态迁移和高可用等高级功能。集群文件系统最核心的一个技术要点是为各集群成员提供数据视图的一致性服务,即在任何时刻集群成员看到的文件视图都是一样的。但在集群系统的运行过程中,可能由于某些异常情况的发生,例如网络阻塞等,导致整个集群系统被分裂成两个或多个子集群。此时同一个子集群中的成员之间可以相互通信,而两个不同子集群中的成员之间无法通信。当各子集群中的成员仍有权限访问共享资源时,如果不采用相应的保护措施则会导致整个集群系统发生脑裂,即分裂后的子集群成员各自都认为对共享的存储资源拥有访问权限,可能会对同一共享资源分别进行读写操作,致使各成员看到的数据出现不一致的情况。为了使得集群系统能正常运作,亟需一种集群成员的仲裁机制,及时将非法成员从原集群系统中移除。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种集群系统中集群成员的仲裁方法及系统,集群成员的仲裁机制,及时仲裁出集群成员的非法成员,有效保护共享资源在集群环境中的一致性和可用性。为达到以上目的,本专利技术采取的技术方案是:一种集群系统中集群成员的仲裁方法,包括以下步骤:向集群系统中引入集群心跳设备,所述集群心跳设备由多个心跳设备组成,集群成员之间周期性的相互通信,且周期性的向各个心跳设备写入心跳信息;集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统。在上述技术方案的基础上,集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员,具体包括以下步骤:将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。在上述技术方案的基础上,当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员,具体包括以下步骤:所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;集群成员仲裁为合法成员需要的最少票数定义为Quorum;与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;当发生脑裂时,判断该集群成员的Connected是否小于Quorum,若是,则该集群成员仲裁为非法成员。在上述技术方案的基础上,如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2;如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。在上述技术方案的基础上,如果当前集群中的Heartbeat为偶数,若该集群成员的Connected小于Quorum,则该集群成员仲裁为非法成员;如果该集群成员的Connected等于Quorum,继续判定该集群成员是否与集群成员Lowest处于连接状态,如果是,则该集群成员仲裁为合法成员,否则仲裁为非法成员。本专利技术还提供一种集群系统,所述集群系统包括多个集群成员和多个心跳设备:集群成员之间周期性的进行相互通信,且周期性的向各个心跳设备写入心跳信息;当该集群系统发生脑裂时,集群成员用于:根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统。在上述技术方案的基础上,所述集群成员具体用于:将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。在上述技术方案的基础上,所述集群成员具体用于:所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;集群成员仲裁为合法成员需要的最少票数定义为Quorum;与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;当发生脑裂时,判断该集群成员的Connected是否小于Quorum,若是,则该集群成员仲裁为非法成员。在上述技术方案的基础上,如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2;如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。在上述技术方案的基础上,如果当前集群中的Heartbeat为偶数,若该集群成员的Connected小于Quorum,则该集群成员仲裁为非法成员;如果该集群成员的Connected等于Quorum,继续判定该集群成员是否与集群成员Lowest处于连接状态,如果是,则该集群成员仲裁为合法成员,否则仲裁为非法成员。与现有技术相比,本专利技术的优点在于:本专利技术向集群系统中引入集群心跳设备;集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统,及时仲裁出集群成员的非法成员,有效保护共享资源在集群环境中的一致性和可用性。附图说明图1为本专利技术实施例中通过多个心跳设备对单个集群成员的仲裁方式;图2为本专利技术实施例中当前集群中的Heartbeat为奇数时采用的仲裁方式;图3为本专利技术实施例中当前集群中的Heartbeat为偶数时采用的仲裁方式。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。实施例1:参见图1所示,本专利技术实施例提供一种集群系统中集群成员的仲裁方法,包括以下步骤:向集群系统中引入集群心跳设备,所述集群心跳设备由多个心跳设备组成,集群成员之间周期性的相互通信,且周期性的向各个心跳设备写入心跳信息;集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生本文档来自技高网...

【技术保护点】
1.一种集群系统中集群成员的仲裁方法,其特征在于,包括以下步骤:向集群系统中引入集群心跳设备,所述集群心跳设备由多个心跳设备组成,集群成员之间周期性的相互通信,且周期性的向各个心跳设备写入心跳信息;集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统。

【技术特征摘要】
1.一种集群系统中集群成员的仲裁方法,其特征在于,包括以下步骤:向集群系统中引入集群心跳设备,所述集群心跳设备由多个心跳设备组成,集群成员之间周期性的相互通信,且周期性的向各个心跳设备写入心跳信息;集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统。2.如权利要求1所述的方法,其特征在于:集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员,具体包括以下步骤:将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。3.如权利要求2所述的方法,其特征在于:当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员,具体包括以下步骤:所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;集群成员仲裁为合法成员需要的最少票数定义为Quorum;与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;当发生脑裂时,判断该集群成员的Connected是否小于Quorum,若是,则该集群成员仲裁为非法成员。4.如权利要求3所述的方法,其特征在于:如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2;如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。5.如权利要求4所述的方法,其特征在于:如果当前集群中的Heartbeat为偶数,若该集群成员的Connected小于Quorum,则该集群成员仲裁为非法成员;如果该集群成员的Connected等于Quorum,继续判...

【专利技术属性】
技术研发人员:张傲张俊彭天彬
申请(专利权)人:武汉烽火信息集成技术有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1