CN102308559B - 一种用于集群计算机系统的投票仲裁方法及装置 - Google Patents

一种用于集群计算机系统的投票仲裁方法及装置 Download PDF

Info

Publication number
CN102308559B
CN102308559B CN201180001450.7A CN201180001450A CN102308559B CN 102308559 B CN102308559 B CN 102308559B CN 201180001450 A CN201180001450 A CN 201180001450A CN 102308559 B CN102308559 B CN 102308559B
Authority
CN
China
Prior art keywords
resource
cluster
poll
node
sub
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
CN201180001450.7A
Other languages
English (en)
Other versions
CN102308559A (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.)
Changshu intellectual property operation center 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
Publication of CN102308559A publication Critical patent/CN102308559A/zh
Application granted granted Critical
Publication of CN102308559B publication Critical patent/CN102308559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种用于集群计算机系统的投票仲裁方法,所述方法包括:当所述集群计算机系统发生分裂时,根据所述分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使所述仲裁得到的合法子集群继续提供服务。相应地,本发明还提供了一种用于集群计算机系统的投票仲裁装置。实施本发明提供的方法和装置,可有效地降低合法子集群确定过程中的资源切换处理时间,提高集群系统连续对外服务的时间。

Description

一种用于集群计算机系统的投票仲裁方法及装置
技术领域
本发明涉及计算机通信网络,尤其涉及一种用于集群计算机系统的投票仲裁方法及装置。
背景技术
在集群计算机系统中,当发生故障使集群系统分裂为几个子集群时,如果不采用相应的防止手段会导致集群发生脑裂,即分裂后的几个子集群都互相接管其他子集群的服务共同向外提供服务或访问共享资源。仲裁机制是解决当前集群计算机系统脑裂的手段之一,其实现方式为:集群系统中的每个节点投一票或多票,当集群发生分裂时,节点票数多的子集群为合法集群,然后由合法集群接管不合法子集群的服务。但是,采用上述节点投票方式为分裂后合法子集群的确定(即子集群的接管)进行仲裁的过程中,当不合法子集群上运行了启动时间较长,完成切换所需时间较长的资源,而合法子集群上运行的资源切换相对简单时,会增加资源的切换时间,从增加服务宕机时间,降低集群计算机系统连续对外服务的时间,即降低集群系统的可用性。
发明内容
本发明实施例提供了一种用于集群计算机系统的投票仲裁方法及装置,通过将分裂后子集群的节点票数和节点上的资源票数作为合法集群接管仲裁的考虑因素,有效地解决仅将节点数作为仲裁考虑因素而导致的接管切换时间增加,集群系统连续服务时间降低的问题。
根据本发明实施例的第一方面,提供了一种用于集群计算机系统的投票仲裁方法,所述方法包括:
当所述集群计算机系统发生分裂时,根据所述分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使所述仲裁得到的合法子集群继续提供服务,其中
所述资源票数可根据节点上运行的应用资源的启动时间进行设置。
根据本发明实施例的第二方面,提供了一种用于集群计算机系统的投票仲裁装置,所述装置包括:
用于当所述集群计算机系统发生分裂时,根据所述分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使所述仲裁得到的合法子集群继续提供服务,其中
所述资源票数可根据节点上运行的应用资源的启动时间进行设置。
实施本发明实施例,具有如下有益效果:通过根据节点上的运行资源的启动时间为各节点设置资源票数,在集群发生分裂后,将分裂后子集群的节点票数和节点上的资源票数作为分裂后子集群接管的仲裁因素,有效地降低了分裂后子集群接管的切换处理时间,达到了减少服务宕机时间的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1图示了根据本发明实施方式的用于集群计算机系统的投票仲裁方法流程示意图。
图2图示了根据本发明实施方式的集群内节点上的资源票数设置的流程示意图。
图3图示了根据本发明实施方式的双节点高可用集群计算机系统的组网模型示意图。
图4图示了根据本发明实施方式的用于集群计算机系统的投票仲裁装置的结构示意图。
图5图示了根据本发明实施方式的资源票数设置模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图示了根据本发明实施方式的用于集群计算机系统的投票仲裁方法流程示意图,本发明提供的用于集群计算机系统的投票仲裁方法包括:
当所述集群计算机系统发生分裂时,根据所述分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使所述仲裁得到的合法子集群继续提供服务,其中
所述资源票数可根据节点上运行的应用资源的启动时间进行设置。
本发明的实施方式中,当集群计算机系统发生故障分裂时,根据分裂后各子集群内节点上的资源票数和节点票数为分裂后合法集群的确定(即子集群的接管)进行仲裁以使仲裁得到的合法子集群继续提供服务。其中,所述故障可能是因节点间的心跳检测故障而导致的集群分裂,也可能是因某一节点自身故障而导致的集群分裂。例如,双节点集群系统因两节点间的心跳检测故障发生分裂,分裂为子集群1(包括节点1)和子集群2(包括节点2)。
本发明实施方式中,分裂后子集群内的节点票数可以采用每个节点投一票或一票以上的形式实施,例如上述的双节点集群系统中,可以采用每个节点投一票,子集群1仅包括1个节点(即节点1),则其节点票数为1票,子集群2包括1个节点(即节点2),则其节点票数也为1票。节点上的资源票数是节点上运行的应用资源的票数之和,可以根据节点上各个应用资源的启动时间进行资源票数设置,例如节点1上有应用资源app1和app2,应用资源app1的启动时间20S(S为时间度量单位秒),可设置资源票数为1票,应用资源app2的启动时间为40S,可设置资源票数为2票,节点1上的资源票数为该节点上应用资源app1和app2的资源票数之和,即3票。值得指出的是,本领域技术人员可以根据应用需要设置应用资源启动时间与资源票数之间的对应关系,并不限于本发明实施方式中所提到的对应关系。
本发明实施方式中,分裂后子集群的资源票数为该子集群内各节点的资源票数之和,例如子集群1内包括节点1和节点2,节点1的资源票数为2票,节点2的资源票数为3票,则子集群1的资源票数为该子集群内节点1和节点2的资源票数之和,即5票。
本发明的一些实施方式中,以四节点集群计算机系统为例,因故障分裂为两个子集群,子集群1(包括节点1和节点2)和子集群2(包括节点3和节点4),节点1的资源票数为4票,节点2的资源票数为2票,节点3的资源票数为1票,节点4的资源票数为1票,采用每个节点投一票的形式,子集群1包括两个节点,其节点票数为2票,子集群2包括两个节点,其节点票数同样为两票,通过本发明提供的投票仲裁方法根据分裂后子集群内节点上的资源票数和节点票数确定合法子集群,子集群1和子集群2的节点票数相同,通过节点票数比较不能确定出合法子集群,通过比较子集群1(资源票数为6票)和子集群2(资源票数为2票)的资源票数,可知子集群1的资源票数大于子集群2的资源票数,将子集群1确定为合法子集群,由确定出的合法子集群1接管子集群2。
本发明的所述分裂后子集群内节点上的资源票数的确定可以采用图2所示的流程设置。参见图2,图示了根据本发明实施方式的集群内节点上的资源票数设置的流程示意图,具体可以包括:
S200,资源启动单元启动所述节点上的应用资源;
S202,监测单元通过监测脚本监测所述应用资源的启动时间;
S204,资源投票分数设置器根据监测得到的启动时间设置所述应用资源的资源票数。
需要说明的是,本发明实施方式中的资源启动单元、监测单元和资源投票分数设置器可部署于用于管理集群计算系统的设备内。本发明的实施方式中,为使节点上运行的应用资源参与投票,其中应用资源包括httpd应用资源、tomcat应用资源等。可以在资源启动单元启动应用资源后,根据监测脚本监测到的启动时间为各节点上的应用资源设置相应的票数,其中票数设置的高低与监测脚本监测得到的资源的启动时间有关,监测脚本监测得到的启动时间越长,资源投票分数设置器为所述应用资源设置的资源票数越高。例如,在本发明的一些实施方式中,资源启动时间与资源票数可以是如下表1所示,表中启动时间为T,S为时间度量单位秒。
表1
启动时间T/S   资源票数
0S<T<=10S   0票
10S<T<=30S   1票
30S<T<=50S  2票
50S<T<=70S  3票
70S<T<=90S  4票
90S<T   5票
需要说明的是,本领域技术人员可以根据应用需要设置启动时间和资源票数之间的关系,并不限于本发明实施方式中表1所示的对应关系。
本发明的实施方式中,考虑到应用资源启动后随着业务量的增加资源的启动时间会增加的问题,可以在监测脚本中加入监测资源的业务量的功能。本发明实施方式中的应用资源还可以包括甲骨文数据库应用资源,即oracle应用资源,对于oracle应用资源,业务量的大小是影响资源启动时间的主要因素。在oracle资源的资源票数设置过程中,本发明的方法可以包括:
通过监测脚本获取所述应用资源的业务量,当所述业务量超过预定的阈值时,资源投票分数设置器为所述应用资源重新设置资源票数。
具体地,可以在监测脚本中加入获取业务量的命令来获取应用资源的业务量,当业务量超过预定的阈值时,启动资源投票分数设置器为所述资源重新设置资源票数。其中,所述预定的阈值可以由技术人员根据应用需要进行设置。
本发明的高可用集群计算机系统可以包括双节点高可用集群计算机系统。参见图3,图示了根据本发明实施方式的双节点高可用集群计算机系统的组网模型示意图。当双节点集群计算机系统出现故障分裂时,需要借助第三方(磁盘、仲裁服务器等)确定哪一个节点是合法节点,并由合法节点接管另一节点上运行的服务。在图2所示的双节点集群中,可以采用表1中所示的启动时间和资源票数对应关系,资源app1的启动时间为80S,可设置票数为4票,资源app2的启动时间为30S,可设置票数为2票,资源app3的启动时间为20S,可设置票数为1票,其中S为时间度量单位秒。当发生故障时,可以通过比较所述双节点高可用集群计算机系统内两节点上的资源票数确定出具有最大资源票数的节点,将确定出的具有最大资源票数的节点(节点1)作为合法子集群接管非法子集群(节点2)以使合法子集群可以继续对外提供服务,由于在双节点集群系统中两节点的节点票数相同,因而可以在仲裁过程中不进行比较。通过比较节点1和节点2的资源票数确定出节点1为合法节点,由节点1获取磁盘的控制权接管节点2上运行的资源,即在节点1上重新启动资源app2、app3,所需的时间大约为30S。需要说明的是,为了保证分裂后的双节点子集群继续对外提供服务,如果确定出资源票数高的节点(节点1)应当接管另一节点(节点2)上的服务,但是当节点1发生故障无法进行接管时,可以采用节点2进行接管以继续对外提供服务。在图3所示的组网模型下,采用现有的节点投票方式进行仲裁,节点2至少有50%的机会获取磁盘的控制权接管节点1上的运行的资源app1,其所需时间为大约80S。显然,本发明提供的方法有效地降低了资源切换的处理时间,提高了集群系统的连续对外服务时间。
本发明的集群计算机系统不仅可以包括双节点高可用集群计算机系统,还可以包括含有三个以上节点的高可用集群计算机系统。需要说明的是,在三节点集群系统中,当集群分裂为两个子集群,子集群1包括两个节点,子集群2包括一个节点时,为了避免集群中的单点故障,首先考虑集群分裂后子集群的节点票数,将包括两个节点的子集群1确定为合法子集群。
优选地,以四节点集群系统为例,说明本发明的根据分裂后各子集群内节点上的资源票数和节点票数为分裂后各子集群的接管进行仲裁以继续提供服务的方法。四节点集群计算机系统中,各节点上存有集群内所有节点的资源票数信息及对应的节点票数信息,节点1上运行资源app1,节点2上运行资源app2和app3,节点3上运行资源app4,节点4上运行资源app5,其中各节点上资源的启动时间和资源票数对应关系可以如表2所示,集群中每个节点上可存有如表3所示的资源票数和节点票数信息。
表2
  资源名   启动时间   资源票数
  app1   15S   1票
  app2   35S   2票
  app3   20S   1票
  app4   80S   4票
  app5   60S   3票
表3
  资源名   运行节点   资源票数
  app1   节点1   1票
  app2   节点2   2票
  app3   节点2   1票
  app4   节点3   4票
  app5   节点4   3票
本发明实施方式中,发生故障时,分裂为子集群1(包括节点1和节点2),子集群2(包括节点3和节点4)。按照本发明提供方法根据分裂后子集群内的节点上的资源票数和节点票数为合法子集群的确定进行仲裁,子集群1和子集群2的节点票数相同,均为2票,子集群1的资源票数为其各节点的资源票数之和为4票,而子集群2其各节点的资源票数之和为7票,子集群2的资源票数高于子集群1的资源票数,可以确定出子集群2为合法集群,由确定出的子集群2接管子集群1上运行的资源,所需的切换时间为大约50S。若采用现有的节点投票方案,子集群1具有50%的机会接管子集群2上运行的资源,其所需的资源切换时间大约为140S,显然,本发明所提供的根据分裂后子集群节点票数和资源票数结合的方法显著地减少了合法子集群接管过程中资源切换所需要的处理时间,提高了集群系统的连续对外服务时间。
本发明实施方式可以通过比较分裂后子集群内的节点上的资源票数和节点票数来确定合法子集群,例如可以通过比较分裂后子集群内各子集群的节点票数来确定出节点票数占集群的总节点票数三分之二以上的子集群,如果分裂后子集群中包括符合上述节点票数条件的子集群,则将该子集群确定为合法子集群,如果分裂后子集群中不包括符合上述节点票数条件的子集群,则进一步判断分裂后子集群内是否包括节点票数占集群的总节点票数三分之一以上且包括最大资源票数节点的子集群,如果分裂后子集群内包括符合上述节点票数条件和资源票数条件的子集群,则将该子集群确定为合法子集群,如果没有包括符合上述节点票数和资源票数条件的子集群,则集群系统宕机,无法继续服务。
以五节点集群系统为例,节点1上运行资源app1,节点2上运行资源app2,节点3上运行资源app3,节点4上运行资源app4,节点5上运行资源app5,各节点上运行的资源的启动时间与资源票数对应关系可以如表4所示,节点上存有的资源票数和节点票数信息如表5所示。
表4
  资源名   启动时间   资源票数
  app1   15S   1票
  app2   20S   1票
  app3   40S   2票
  app4   60S   3票
  app5   120S   5票
表5
  资源名   运行节点   资源票数
  app1   节点1   1票
  app2   节点2   1票
  app3   节点3   2票
  app4   节点4   3票
  app5   节点5   5票
本发明的一些实施方式中,发生故障后,分裂为子集群1(包括节点1,节点2,节点3和节点4),子集群2(仅包括节点5),根据本发明提供的上述仲裁方案,子集群1的节点票数(4票)大于集群的总节点票数(5票)的三分之二,可以确定子集群1为合法集群。本发明的另外一些实施方式中,分裂为子集群1(包括节点1,节点2和节点3),子集群2(包括节点4和节点5),根据本发明提供的上述仲裁方案,在确定没有节点票数大于集群的总节点票数三分之二的子集群后,进一步判断是否包括节点票数大于集群的总节点票数三分之一且包括最大资源票数的节点的子集群,通过比较节点票数和资源票数,可以确定出子集群2为合法集群,由于该子集群内包括了具有资源票数最大(启动时间最长的资源app5)的节点,其接管的另外的子集群的资源启动时间都比最大资源票数的启动时间短,因而可以在子集群接管过程中缩短资源切换的处理时间,提高集群连续对外服务时间。值得指出的是,本发明实施方式中的节点票数判断除了可以采用提到的三分之二和三分之一之外,还可以采用其他的分数,本领域技术人员可根据应用情况进行相应的设置。
以上结合附图和图表对本发明的用于集群计算机系统的投票仲裁方法进行了说明,下面将结合附图对本发明的用于集群计算机系统的投票仲裁装置进行说明。
参见图4,图示了根据本发明实施方式的用于集群计算机系统的投票仲裁装置的结构示意图,所述装置400包括:
仲裁模块402,用于当所述集群计算机系统发生分裂时,根据所述分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使所述仲裁得到的合法子集群继续提供服务,其中
所述资源票数可根据节点上运行的应用资源的启动时间进行设置。
需要说明的是,本发明实施方式中的仲裁模块402可部署于用于管理集群计算机系统的设备内。本发明的实施方式中,当集群计算机系统发生分裂时,仲裁模块402可以用于根据各分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使仲裁得到的合法子集群继续对外提供服务。
本发明实施方式中,分裂后子集群内的节点票数可以采用每个节点投一票或一票以上的形式实施,例如上述的双节点集群系统中,可以采用每个节点投一票,子集群1仅包括1个节点(即节点1),则其节点票数为1票,子集群2包括1个节点(即节点2),则其节点票数也为1票。节点上的资源票数是节点上运行的应用资源的票数之和,可以根据节点上各个应用资源的启动时间进行资源票数设置,例如节点1上有应用资源app1和app2,应用资源app1的启动时间20S(S为时间度量单位秒),可设置资源票数为1票,应用资源app2的启动时间为40S,可设置资源票数为2票,节点1上的资源票数为该节点上应用资源app1和app2的资源票数之和,即3票。值得指出的是,本领域技术人员可以根据应用需要设置应用资源启动时间与资源票数之间的对应关系,并不限于本发明实施方式中所提到的对应关系。
本发明实施方式中,分裂后子集群的资源票数为该子集群内各节点的资源票数之和,例如子集群1内包括节点1和节点2,节点1的资源票数为2票,节点2的资源票数为3票,则子集群1的资源票数为该子集群内节点1和节点2的资源票数之和,即5票。
本发明的一些实施方式中,以四节点集群计算机系统为例,因故障分裂为两个子集群,子集群1(包括节点1和节点2)和子集群2(包括节点3和节点4),节点1的资源票数为4票,节点2的资源票数为2票,节点3的资源票数为1票,节点4的资源票数为1票,采用每个节点投一票的形式,子集群1包括两个节点,其节点票数为2票,子集群2包括两个节点,其节点票数同样为两票,通过本发明提供的仲裁模块402根据分裂后子集群内节点上的资源票数和节点票数确定合法子集群,子集群1和子集群2的节点票数相同,通过节点票数比较不能确定出合法子集群,通过比较子集群1(资源票数为6票)和子集群2(资源票数为2票)的资源票数,可知子集群1的资源票数大于子集群2的资源票数,将子集群1确定为合法子集群,由确定出的合法子集群1接管子集群2。
本发明的实施方式中,所述用于集群计算机系统的投票仲裁装置不仅包括图4所示的模块,还可以包括资源票数设置模块。参见图5,图示了根据本发明实施方式的资源票数设置模块的结构示意图,所述资源票数设置模块500具体可以包括:
资源启动单元502,用于启动所述节点上的应用资源;
监测单元504,用于通过监测脚本监测所述应用资源的启动时间;
资源投票分数设置器506,用于根据监测单元监测得到的启动时间设置所述应用资源的资源票数。
需要说明的是,本发明实施方式中的资源启动单元502、监测单元504和资源投票分数设置器506可以部署于用于管理集群计算机系统的设备内。本发明实施方式中,为使节点上运行的应用资源参与投票,其中应用资源包括httpd应用资源、tomcat应用资源等。可以利用资源启动单元502启动节点上的应用资源,监测单元504通过监测脚本监测应用资源的启动时间,然后通过资源投票分数设置器506根据监测单元504监测得到的启动时间为所述应用资源设置资源票数。其中,资源票数设置与监测得到的资源启动时间有关,监测单元504监测得到的启动时间越长,资源投票分数设置器506为所述应用资源设置的资源票数越高。
本发明实施方式中的应用资源还可以包括甲骨文数据库应用资源,即oracle应用资源,对于oracle应用资源,业务量的大小是影响资源启动时间的主要因素,考虑到资源启动后随着业务量的增加资源的启动时间会增加的问题。监测单元504,还用于通过监测脚本获取所述应用资源的业务量,当所述业务量超过预定的阈值时,启动资源投票分数设置器506为所述应用资源重新设置资源票数。具体而言,可以在监测脚本中加入获取业务量的命令来获取应用资源的业务量,当业务量超过预定的阈值时,启动资源投票分数设置器为所述资源重新设置资源票数,其中预定的阈值可以由技术人员根据应用需要进行设置。
本发明实施方式中的集群计算机系统可以包括双节点高可用集群计算机系统,可以是如图3所示的双节点高可用集群计算机系统。对于双节点高可用集群计算机系统,所述仲裁模块402可以用于实现:通过比较所述双节点高可用集群计算机系统内两节点上的资源票数确定出具有最大资源票数的节点,将确定出的具有最大资源票数的节点作为合法子集群以使所述合法子集群继续提供服务。在如图3所示的资源票数设置的双节点集群系统中,在发生故障时,仲裁模块402通过比较节点1和节点2的资源票数确定出节点1为合法节点,由节点1获取磁盘的控制权接管节点2上运行的资源,即在节点1上重新启动资源app2、app3,所需的时间大约为30S。
本发明的集群计算机系统不仅可以包括双节点高可用集群计算机系统,还可以包括含三个以上节点的高可用集群计算机系统。本发明实施方式的仲裁模块可以通过比较分裂后子集群内的节点上的资源票数和节点票数来确定合法集群,例如可以通过比较分裂后子集群内各子集群的节点票数来确定出节点票数占集群的总节点票数三分之二以上的子集群,如果分裂后子集群中包括符合上述节点票数条件的子集群,则将该子集群确定为合法子集群,如果分裂后子集群中不包括符合上述节点票数条件的子集群,则进一步判断分裂后子集群内是否包括集群节点票数占集群的总节点票数三分之一以上且包括最大资源票数节点的子集群,如果分裂后子集群内包括符合上述节点票数条件和资源票数条件的子集群,则将该子集群确定为合法子集群,如果没有包括符合上述节点票数和资源票数条件的子集群,则集群系统宕机,无法继续服务。以五节点集群系统为例,节点1上运行资源app1,节点2上运行资源app2,节点3上运行资源app3,节点4上运行资源app4,节点5上运行资源app5,各节点上运行的资源的启动时间与资源票数对应关系可以如表4所示,节点上存有的资源票数和节点票数信息如表5所示。
本发明的一些实施方式中,发生故障后,分裂为子集群1(包括节点1,节点2,节点3和节点4),子集群2(仅包括节点5),仲裁模块可以通过比较分裂后子集群1和子集群2的节点票数确定出,子集群1的节点票数(4票)大于集群的总节点票数(5票)的三分之二,可以确定子集群1为合法集群。本发明的另外一些实施方式中,分裂为子集群1(包括节点1,节点2和节点3),子集群2(包括节点4和节点5),根据本发明提供的上述仲裁方案,在确定没有节点票数大于集群的总节点票数三分之二的子集群后,进一步判断是否包括节点票数大于集群的总节点票数三分之一且包括最大资源票数的节点的子集群,仲裁模块通过比较节点票数和资源票数,可以确定出子集群2为合法集群,由于该子集群内包括了具有资源票数最大(启动时间最长的资源app5)的节点,其接管的另外的子集群的资源启动时间都比最大资源票数的启动时间短,因而可以在子集群接管过程中缩短资源切换的处理时间,提高集群连续对外服务时间。值得指出的是,本发明实施方式中的节点票数判断除了可以采用提到的三分之二和三分之一之外,还可以采用其他的分数,本领域技术人员可根据应用情况进行相应的设置。
实施本发明的用于集群计算机系统的投票仲裁方法及装置,根据集群内节点上的应用资源的启动时间为节点资源设置资源票数,并将资源票数与节点票数结合为分裂后合法子集群的确定(即子集群的接管)进行仲裁,有效地减少了合法子集群接管过程中资源切换所需要的处理时间,提高了集群系统的连续服务时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变化,这些改进和变化也视为本发明的保护范围。

Claims (14)

1.一种用于集群计算机系统的投票仲裁方法,其特征在于,所述方法包括:
当所述集群计算机系统发生分裂时,根据所述分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使所述仲裁得到的合法子集群继续提供服务,其中
所述资源票数可根据节点上运行的应用资源的启动时间进行设置;
其中,所述分裂后子集群内节点上的资源票数的设置步骤包括:
资源启动单元启动所述节点上的应用资源;
监测单元通过监测脚本监测所述应用资源的启动时间;
资源投票分数设置器根据监测得到的启动时间设置所述应用资源的资源票数。
2.如权利要求1所述的方法,其特征在于,所述监测得到的启动时间越长,所述资源投票分数设置器为所述应用资源设置的资源票数越高。
3.如权利要求2所述的方法,其特征在于,所述应用资源包括甲骨文数据库应用资源。
4.如权利要求3所述的方法,其特征在于,所述方法包括:
通过监测脚本获取所述应用资源的业务量,当所述业务量超过预定的阈值时,资源投票分数设置器为所述应用资源重新设置资源票数。
5.如权利要求2所述的方法,其特征在于,所述集群计算机系统包括双节点高可用集群计算机系统。
6.如权利要求5所述的方法,其特征在于,所述根据所述分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使所述仲裁得到的合法子集群继续提供服务包括:
通过比较所述双节点高可用集群计算机系统内两节点上的资源票数确定出具有最大资源票数的节点,将确定出的具有最大资源票数的节点作为合法子集群以使所述合法子集群继续提供服务。
7.如权利要求2所述的方法,其特征在于,所述集群计算机系统包括含三个以上节点的高可用集群计算机系统。
8.一种用于集群计算机系统的投票仲裁装置,其特征在于,所述装置包括:
仲裁模块,用于当所述集群计算机系统发生分裂时,根据所述分裂后子集群内节点上的资源票数和节点票数为分裂后合法子集群的确定进行仲裁以使所述仲裁得到的合法子集群继续提供服务,其中
所述资源票数可根据节点上运行的应用资源的启动时间进行设置;
其中,所述装置还包括资源票数设置模块,具体包括:
资源启动单元,用于启动所述节点上的应用资源;
监测单元,用于通过监测脚本监测所述应用资源的启动时间;
资源投票分数设置器,用于根据监测单元监测得到的启动时间设置所述应用资源的资源票数。
9.如权利要求8所述的装置,其特征在于,所述监测单元监测得到的启动时间越长,所述资源投票分数设置器为所述应用资源设置的资源票数越高。
10.如权利要求9所述的装置,其特征在于,所述应用资源包括甲骨文数据库应用资源。
11.如权利要求10所述的装置,其特征在于,所述监测单元,还用于通过监测脚本获取所述应用资源的业务量,当所述业务量超过预定的阈值时,启动资源投票分数设置器为所述应用资源重新设置资源票数。
12.如权利要求9所述的装置,其特征在于,所述集群计算机系统包括双节点高可用集群计算机系统。
13.如权利要求12所述的装置,其特征在于,所述仲裁模块用于实现:通过比较所述双节点高可用集群计算机系统内两节点上的资源票数确定出具有最大资源票数的节点,将确定出的具有最大资源票数的节点作为合法子集群以使所述合法子集群继续提供服务。
14.如权利要求9所述的装置,其特征在于,所述集群计算机系统包括含三个以上节点的高可用集群计算机系统。
CN201180001450.7A 2011-07-26 2011-07-26 一种用于集群计算机系统的投票仲裁方法及装置 Active CN102308559B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/077598 WO2012083693A1 (zh) 2011-07-26 2011-07-26 一种用于集群计算机系统的投票仲裁方法及装置

Publications (2)

Publication Number Publication Date
CN102308559A CN102308559A (zh) 2012-01-04
CN102308559B true CN102308559B (zh) 2014-04-02

Family

ID=45381277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180001450.7A Active CN102308559B (zh) 2011-07-26 2011-07-26 一种用于集群计算机系统的投票仲裁方法及装置

Country Status (2)

Country Link
CN (1) CN102308559B (zh)
WO (1) WO2012083693A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904946B (zh) * 2012-09-29 2015-06-10 浪潮(北京)电子信息产业有限公司 集群内节点管理方法和装置
CN103647820B (zh) * 2013-12-09 2016-11-23 华为数字技术(苏州)有限公司 用于分布式集群系统的仲裁方法及仲裁装置
CN104717077B (zh) * 2013-12-11 2018-05-22 中国移动通信集团山东有限公司 一种管理数据中心的方法、装置及系统
CN105450717A (zh) * 2014-09-29 2016-03-30 中兴通讯股份有限公司 集群脑裂处理方法和装置
CN104378232B (zh) * 2014-11-10 2018-01-19 东软集团股份有限公司 主备集群组网模式下的脑裂发现、恢复方法及装置
CN105704187B (zh) * 2014-11-27 2019-03-05 华为技术有限公司 一种集群脑裂的处理方法及装置
WO2016106682A1 (zh) 2014-12-31 2016-07-07 华为技术有限公司 一种集群脑裂后仲裁处理方法、仲裁存储装置以及系统
CN107153514A (zh) * 2015-09-08 2017-09-12 中兴通讯股份有限公司 数据读写方法及装置
CN107181834B (zh) * 2017-06-13 2021-02-12 聚好看科技股份有限公司 一种redis管理虚拟IP地址的方法、装置及redis系统
CN108134712B (zh) * 2017-12-19 2020-12-18 海能达通信股份有限公司 一种分布式集群脑裂的处理方法、装置及设备
US11169854B2 (en) 2019-01-31 2021-11-09 Hewlett Packard Enterprise Development Lp Node eligibility determinations
CN111835534B (zh) * 2019-04-15 2022-05-06 华为技术有限公司 一种用于集群控制的方法,网络设备,主控节点装置及计算机可读存储介质
CN112711632A (zh) * 2019-12-27 2021-04-27 山东鲁能软件技术有限公司 一种高可用集群的异步数据流复制方法及系统
CN112468596B (zh) * 2020-12-02 2022-07-05 苏州浪潮智能科技有限公司 一种集群仲裁方法、装置、电子设备及可读存储介质
CN113608836A (zh) * 2021-08-06 2021-11-05 上海英方软件股份有限公司 一种基于集群的虚拟机高可用方法及系统
US20230161633A1 (en) * 2021-11-23 2023-05-25 International Business Machines Corporation Avoidance of Workload Duplication Among Split-Clusters
CN114374707B (zh) * 2022-03-22 2022-06-21 联想凌拓科技有限公司 用于存储集群的管理方法、装置、设备及介质
CN115617917B (zh) * 2022-12-16 2023-03-10 中国西安卫星测控中心 一种数据库集群多活控制的方法、装置、系统和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1483163A (zh) * 2000-12-21 2004-03-17 ���ܿ���ϵͳ���޹�˾ 利用网络介质链接状态功能来提高计算机集群系统可用性的方法
CN101252603A (zh) * 2008-04-11 2008-08-27 清华大学 基于存储区域网络san的集群分布式锁管理方法
US7496782B1 (en) * 2004-06-01 2009-02-24 Network Appliance, Inc. System and method for splitting a cluster for disaster recovery

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0622553D0 (en) * 2006-11-11 2006-12-20 Ibm A method, apparatus or software for managing partitioning in a cluster of nodes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1483163A (zh) * 2000-12-21 2004-03-17 ���ܿ���ϵͳ���޹�˾ 利用网络介质链接状态功能来提高计算机集群系统可用性的方法
US7496782B1 (en) * 2004-06-01 2009-02-24 Network Appliance, Inc. System and method for splitting a cluster for disaster recovery
CN101252603A (zh) * 2008-04-11 2008-08-27 清华大学 基于存储区域网络san的集群分布式锁管理方法

Also Published As

Publication number Publication date
CN102308559A (zh) 2012-01-04
WO2012083693A1 (zh) 2012-06-28

Similar Documents

Publication Publication Date Title
CN102308559B (zh) 一种用于集群计算机系统的投票仲裁方法及装置
CN108847982B (zh) 一种分布式存储集群及其节点故障切换方法和装置
CN106933843A (zh) 数据库心跳检测方法以及装置
CN106487486A (zh) 业务处理方法和数据中心系统
CN110162428A (zh) 数据同步方法及装置、电子设备和计算机可读存储介质
CN103259688A (zh) 一种分布式存储系统的故障诊断方法与装置
CN111625383B (zh) 进程异常事件处理方法、装置、电子设备及存储介质
CN111694843B (zh) 缺失号码检测方法、装置、电子设备及存储介质
CN110674034A (zh) 一种健康检查方法、装置及电子设备和存储介质
CN104809054B (zh) 实现程序测试的方法和系统
CN112131196A (zh) 一种分布式日志处理方法、装置、终端设备及存储介质
CN106155826B (zh) 用于在总线结构中检测及处理错误的方法和系统
US10853892B2 (en) Social networking relationships processing method, system, and storage medium
CN113407374A (zh) 故障处理方法、装置、故障处理设备及存储介质
CN108241616B (zh) 消息推送方法和装置
CN111240936A (zh) 一种数据完整性校验的方法及设备
CN102904946A (zh) 集群内节点管理方法和装置
CN103442033A (zh) 一种运行状态信息的同步方法和设备
CN103176745A (zh) 具有双控制器的储存系统的硬盘阵列接管方法
CN103259863B (zh) 基于集群的控制zookeeper服务的系统及方法
CN112054926B (zh) 集群管理方法、装置、电子设备及存储介质
CN115150253B (zh) 一种故障根因确定方法、装置及电子设备
CN112306781B (zh) 一种线程故障处理方法、装置、介质及设备
CN111106981B (zh) 一种pcie通道的检修方法及装置
CN116225789B (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201123

Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20201123

Address after: 215500 No.13, Caotang Road, Changshu, Suzhou, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 215500 5th floor, building 4, 68 Lianfeng Road, Changfu street, Changshu City, Suzhou City, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: No.13 caodang Road, Changshu City, Suzhou City, Jiangsu Province

Patentee before: Changshu intellectual property operation center Co.,Ltd.