[发明专利]一种用于在节点集群中管理分区划分的方法和设备无效
申请号: | 200710167641.6 | 申请日: | 2007-10-26 |
公开(公告)号: | CN101178668A | 公开(公告)日: | 2008-05-14 |
发明(设计)人: | A·J·普雷斯顿 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;H04L29/08;H04L12/24 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 王茂华 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 节点 集群 管理 分区 划分 方法 设备 | ||
技术领域
本发明涉及一种用于在节点集群中管理分区划分(partitioning)的方法、设备或软件。
背景技术
在计算体系中,集群是一种用于表示一系列诸如计算机的互联的节点的术语。将集群安排用以提供诸如对处理许多并发计算任务的负载进行平衡的设备、提供如数据、应用程序或并行处理等资源的高可用性。将高可用性(HA)集群安排用以保证该集群提供的服务的可用性,并且可以使用通常情况下不活动的冗余节点来实现。然后,使用这些非活动的节点代替任何故障的活动节点来提供集群服务。将用于给定集群的集群管理系统安排来使用集群中固有的冗余,以消除单点故障。
针对集群而必须管理的一个问题是分区划分。分区划分发生在一个或多个节点出现故障的时候,或节点之间的通信链路出现故障的时候。这会导致该集群被有效地分成两个分离的子集群或分区。如果没有被正确地管理,集群分区可能竞争诸如通信或数据资源之类的集群资源,这可能导致数据损坏或服务降级。因此,一旦检测到分区划分,就将每个集群分区安排用以识别是否它应该提供集群的服务,还是应该关闭而由另一分区来提供服务。
一种用于确定哪一个分区应该在重组中存活的方法是一个定额系统(quorum system),其中选择出一个分区提供集群的服务。在一些定额系统中,给节点分配不同的权值,针对每个分区的节点权值的乘积来确定哪个分区提供集群的服务。采用这种定额系统存在的一个问题是,分区可能伴随着相等数量的节点或节点的权值乘积相同而出现。在这种情况下,除非提供一个额外的管理系统来解决这种“加赛”(tie-break)的情况,否则集群分区会相互竞争,导致数据损坏或服务降级。附加的管理系统增加了用来对集群进行重组的时间以及在每个节点上的处理负担。
发明内容
本发明的一个实施例提供一种用于在节点集群中管理分区划分的方法,该方法包括步骤:
a) 为节点集群中的节点分配素数;
b) 监视这个集群以用于该集群的分区划分;
c) 如果检测到该集群的分区划分,则从分配给每个分区中的每个节点的素数的乘积中计算出分区值;
d) 如果节点在具有最大分区值的分区中,那么使该节点在该分区中激活。
该节点可以维护一个分配给该集群中每个节点的所有素数的记录。该节点可以将一个唯一的标识符和所分配的素数发送到集群中所有的其他节点。如果该节点在不具有最大分区值的分区内,那么该节点可能未激活。该方法可以包括进一步的步骤:计算每个分区中的节点数,如果一个节点在具有最大节点数的分区内则使该节点保持活动;如果有多于一个的分区具有最大节点数,则使用分区值来确定是否将该节点保持活动。
较大的素数可以被分配给一个或多个特定节点,以便增加特定节点位于活动的分区中的可能性。素数可以从一个素数范围内随机选择。可以提供多个素数范围,将每个素数范围分配给不同种类的节点。可以在一个预定的限制范围之内调整表示素数的位数。可以将用于该集群的新节点的素数选择为未分配给集群中任何其他节点的最小素数。
另一个实施例提供一种用于在节点集群中管理分区划分的设备,该设备可被操作来:
a) 为节点集群中的节点分配素数;
b) 监视这个集群以用于该集群的分区划分;
c) 如果检测到该集群的分区划分,则从分配给每个分区中的每个节点的素数的乘积中计算出分区值;
d) 如果节点在具有最大分区值的分区中,那么使该节点在该分区中被激活。
另一个实施例提供一个程序或一组程序,其被安排用来使一个可编程的装置或一组这样的装置来执行用于管理节点集群中分区划分的方法,该方法包括步骤:
a) 为节点集群中的节点分配素数;
b) 监视这个集群以用于该集群的分区划分;
c) 如果检测到该集群的分区划分,则从分配给每个分区中的每个节点的素数的乘积中计算出分区值;
d) 如果节点在具有最大分区值的分区中,那么使该节点在该分区中被激活。
另外一个实施例提供一个程序或一组程序,用来使一个可编程的装置或一组这样的装置来提供用于在一个节点集群中管理分区的设备,该设备可被操作为:
a) 为节点集群中的节点分配素数;
b) 监视这个集群以用于该集群的分区划分;
c) 如果检测到该集群的分区划分,则从分配给每个分区中的每个节点的素数的乘积中计算出分区值;
d) 如果节点在具有最大分区值的分区中,那么使该节点在该分区中被激活。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710167641.6/2.html,转载请声明来源钻瓜专利网。