CN101702721A - 一种多集群***的可重组方法 - Google Patents

一种多集群***的可重组方法 Download PDF

Info

Publication number
CN101702721A
CN101702721A CN200910236550A CN200910236550A CN101702721A CN 101702721 A CN101702721 A CN 101702721A CN 200910236550 A CN200910236550 A CN 200910236550A CN 200910236550 A CN200910236550 A CN 200910236550A CN 101702721 A CN101702721 A CN 101702721A
Authority
CN
China
Prior art keywords
cluster
election
message
clusters
convenes
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.)
Granted
Application number
CN200910236550A
Other languages
English (en)
Other versions
CN101702721B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2009102365502A priority Critical patent/CN101702721B/zh
Publication of CN101702721A publication Critical patent/CN101702721A/zh
Application granted granted Critical
Publication of CN101702721B publication Critical patent/CN101702721B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明揭露了一种多集群***的可重组的方法,用以解决多集群组合、拆分等灵活性配置问题。多集群***包括:多个成员集群、成员集群包括管理节点、计算节点,管理节点中设置调度器和作业管理器,所有的管理节点只与一个激活的调度器交互进行作业的调度,多个成员集群进一步划分为主集群、从集群,其中主集群是具有所述被激活的调度器的成员集群,从集群是不包含所述被激活的调度器的成员集群,该方法进一步包括以下三种处理:处理一,根据***请求,将一待合并集群加入到当前多集群中;处理二,根据***请求,在主集群退出当前多集群后,重新确定新的主集群;处理三,根据***请求,将某一从集群退出当前多集群,并重新组织多集群。

Description

一种多集群***的可重组方法
技术领域
本发明涉及高性能计算机集群技术领域,特别是涉及到多集群间的可重组技术。
背景技术
集群是一种计算机***,它通过一组松散集成的计算机软件和硬件连接起来高度紧密地协作完成计算工作,具有造价低、维护简便、配置灵活等优点,并且一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多。图1为集群的物理结构,多台计算机(管理节点1和计算节点3)通过交换机或其他高速通信设备2连接成网络,即构成一个简单的计算机集群(以下简称为集群)。图2为集群的逻辑结构。
但是随着社会的发展,人们对大量数据计算和复杂问题求解的需求日益增多,对计算机***的性能、可用性和成本提出了更高的要求,单个集群很多时候已经不能够满足计算的需求,它的缺点及不足也逐渐凸显。
当并行作业需要的节点数超过集群的总节点数时,单个集群就没有办法运行了,所以单个集群无法处理更大规模的计算任务。如果将多个处于不同地理位置的集群通过网络连接起来,组成一个更大的计算资源,通常称之为多集群(Multi-cluster)。多集群技术可以将一些企业和组织现有的多个集群连接起来,组成一个更大的计算资源。这样做不仅可以大大提高该组织整体的计算能力,能够运行更大规模的计算任务,还可以平衡负载,避免有些部门的集群用户因作业多而使得所属部门的集群***过度超载,而另一些部门的集群用户则因为作业少而闲置了该部门的集群***,使得集群***的使用率非常的低。这种方案不需要增加硬件成本,仅要更新***,就可以大大提高计算能力,是非常有效的。
然而,现实应用中需要集群之间能够灵活的配置,以便于车载或移动并行计算。多个集群可以通过灵活组合及拆分配置形成一个灵活计算环境,就必须将这些集群有机地结合为一个逻辑上的整体,使其既能满足更高计算能力的要求,又具有良好的可伸缩性和可用性。换句话说,多个独立的集群在面临具有较大计算量的任务时,需要整合到一起共同提供计算能力,而在计算任务完成后,又需要能够马上分散开去单独使用,甚至在一些特殊的情况下,需要将单个或一组集群从多集群中拆出去,组合成一个小规模的多集群进行车载移动计算。但是,现有技术并未有效的解决上述问题。
发明内容
有鉴于此,本发明的目的就是要提供一种多集群***的可重组方法,该方法就可以解决多集群组合、拆分等灵活性配置问题,可以满足特殊环境下的动态性、自适应性要求。
根据本发明的第一方面,本发明揭露了一种多集群***的可重组的方法,包括如下步骤:将多个可单独工作的成员集群的管理节点之间以网络互联,使管理节点之间可以相互通信,从而够成多集群;令所述管理节点转发所述成员集群的各个计算节点之间的通信;在每个成员集群的所述管理节点中设置调度器和作业管理器,负责作业的提交、调度与管理;在每个成员集群的所述计算节点中设置资源及作业监控器,负责监视计算节点的资源状况和作业任务的执行;每个成员集群的管理节点负责接收本地用户提交的作业,由管理节点将作业分配到各个计算节点,为避免调度冲突,每个成员集群的管理节点只与一个被激活的调度器交互进行作业的调度,所述被激活的调度器是为多个成员集群中的所述管理节点服务的;将所述多集群中的多个成员集群进一步划分为主集群和从集群,其中主集群是具有所述被激活的调度器的成员集群,从集群是不包含所述被激活的调度器的成员集群;该方法进一步包括以下三种处理:处理一,根据***需求,将一待合并集群加入到当前多集群中;处理二,根据***需求,在主集群退出当前多集群后,重新确定新的主集群;处理三,根据***需求,将某一从集群退出当前多集群,并重新组织多集群。
根据本发明的第一方面,上述处理一进一步包括:探测阶段、握手阶段、竞争阶段和更新阶段;所述待合并集群可以是未加入任何多集群的单集群,也可以是一个多集群;其中,
a.探测阶段
①当前主集群周期性的向多集群网络内广播一条探测消息,并监听回复;
②一个待合并集群收到了一条上述探测消息后,判断它是否是自己发出的,如果是则丢弃;如果不是则向发送探测消息的当前主集群发送一条包含自己信息的回复,之后,该待合并集群丢弃所有收到的探测消息;
③当前主集群收到待合并集群的回复消息后,当前主集群向待合并集群发送请求结合的消息,并等待该请求结合的消息的回复消息;
b.握手阶段
④待合并集群收到当前主集群发来的请求结合的消息以后,向当前主集群发送该请求结合的消息的回复消息;
⑤当前主集群收到待合并集群发来的该请求结合的消息的回复消息后,向待合并集群发送同意结合消息,双方握手成功;
c.竞争阶段
⑥待合并集群向当前主集群发送竞争消息,开始竞争主集群;
⑦双方根据竞争规则进行竞争,竞争获胜者成为新的主集群,失败者和自己的从集群都成为对方的从集群;
d.更新阶段
⑧竞争失败的集群向自己所有的从集群发送一条包含新的主集群ID的主集群变更消息,通知它们更改自己的主集群信息;
所述竞争规则为:选择拥有从集群数目最多的主集群成为新的主集群。
根据本发明的第一方面,上述处理二进一步包括:1)确定新的主集群的选举规则,选举编号最大的集群作为新的主集群;2)当前主集群退出后,首先发现当前主集群退出的集群召集选举,该召集选举的集群向所有比自己编号大的集群发送一条选举消息;3)如果某一集群收到编号比自己小的集群发来的选举信息,则该集群回复一条包含自身编号信息的消息给该召集选举的集群;4)如果所述召集选举的集群得不到任何回复,则该召集选举的集群赢得选举,该召集选举的集群向所有集群发送协调消息,宣布自己为新的主集群;5)如果该召集选举的集群得到任何一个回复,该回复一定来自于比自己编号大的集群,该召集选举的集群的召集选举工作结束,因为该召集选举的集群此时已经不可能赢得选举而成为新的主集群;6)对于除了该召集选举的集群之外的其它集群,或正在召集选举,或可能接收到比自己编号小的集群的选举消息,当除上述召集选举的集群之外的其它集群收到一个选举消息后,将回复一个应答消息给该发送选举消息的集群;如果这时除上述召集选举的集群之外的其它集群还不是召集选举的集群,它们也将开始一个召集选举的过程,即执行步骤1)到4)的操作。
根据本发明的第一方面,上述处理三进一步包括:主集群周期性的给各个从集群发送广播,当主集群发现某个从集群不再响应,就发送消息给各个集群,并更新成员集群列表信息,表明未响应的从集群已退出或者出现故障。
根据本发明的第一方面,上述处理二进一步包括:1)确定新的主集群的选举规则,选举编号最大的集群作为新的主集群;2)当前主集群退出后,首先发现当前主集群退出的集群召集选举,该召集选举的集群向所有比自己编号大的集群发送一条选举消息;3)如果某一集群收到编号比自己小的集群发来的选举信息,则回复一条包含自身编号信息的消息给该召集选举的集群;4)如果召集选举的集群得不到任何回复,则该召集选举的集群赢得选举,该召集选举的集群向所有集群发送协调消息,宣布自己当选新的主集群;5)如果所述召集选举的集群得到回复,该召集选举的集群收集所有响应消息,从中选取编号最大的集群,推举它为新的主集群,该新的主集群向其它集群发送消息通知选举结果。
根据本发明的第一方面,上述处理二进一步包括:1)确定新的主集群的选举规则,选举编号最大的集群作为新的主集群;2)当前主集群退出后,首先发现当前主集群退出的集群召集选举,该召集选举的集群向所有比自己编号大的集群发送一条选举消息;3)如果多个集群同时发起选举,则多集群***中的某一集群将收到多条所述选举消息,该收到多条选举消息的集群只向发送多条选举消息的多个召集选举的集群中的编号较小的集群回复一个包含自身编号信息的应答消息;4)如果某一召集选举的集群得不到任何回复,则该召集选举的集群赢得选举,该召集选举的集群向所有集群发送协调消息,宣布自己成为新的主集群;5)如果上述召集选举的集群得到回复,该召集选举的集群收集所有响应消息,从中选取编号最大的集群,推举它为新的主集群,该新的主集群向其它集群发送消息通知选举结果。
为了要让本发明的目的、特征和优点能更明显易懂,下文例举了本发明的数个实施例,并配合附图,作详细说明如下,籍以使本领域普通技术人员能够更清楚的了解本发明所欲阐述的精神。
附图说明
图1是集群的物理结构图;
图2是集群的逻辑结构图;
图3是可重组多集群计算环境的组织结构;
图4是作业管理和调度相互分离的体系结构;
图5是集中式管理和集中式调度结构图;
图6是分布式管理和集中式调度结构图;
图7是分布式管理和分布式调度结构图;
图8是可重组多集群***的体系结构;
图9是Master集群的退出处理示意图;
图10是Master集群退出处理的优化处理1;
图11是Master集群退出处理的优化处理2。
具体实施方式
实施例1
可重组多集群计算环境由多个成员集群4组成,各集群有独立的管理域并可单独工作,集群之间处于对等地位,多集群计算环境的组合与拆分无需改变各集群的管理域,能够灵活方便的重组,具有较好的可伸缩性与可用性。其组织结构如图3所示。
若多集群计算环境由n个成员集群C1,C2,…,Cn组成,其中Ci由多个同构的计算节点3构成,则其可重组性可以描述为:多集群M={Ci,1≤i≤n}中的集群可以任意组合成为多个集群组N1,N2,…Nm(1≤m≤n),且Nj(1≤j≤m)是M的非空子集之一,如果x∈Np,y∈Nq,并且p≠q,那么必然有x≠y。
多个集群的管理节点1之间以网络互联,可以相互通信,多集群间的各个计算节点3之间的通信需要经过管理节点1的转发。
经过分析,要满足可重组性就要解决以下两个问题。
Figure G2009102365502D0000051
如何知道当前***中有哪些成员集群?
由谁来存储成员集群的信息?
在多集群调度作业的过程中,需要查询每个成员集群4的作业及资源状况,从而做出调度决策。在通常的多集群作业管理***中,可以使用配置文件来指定每个成员集群4。但是,在可重组式多集群中,成员集群4可以随时动态地加入或退出,如果每次都需要用户手动的更新各个配置文件,无疑为用户更加了工作量,降低了多集群***的易用性。因此,需要有一种新的机制来维护当前***中所有成员集群4的列表,以供调度器使用。
另外一个问题是成员集群4的列表存储在什么地方。最为直观的解决方法是由成员集群4中的某一个节点来负责维护集群列表的信息。然而,在可重组环境中,任何一个集群节点都可能随时退出。
本发明采用了作业管理和调度相互分离的体系结构,降低了作业管理模块和调度模块间的耦合性,简化了调度器的实现,便于加入新的调度策略,并且赋予了调度器同时为多个作业管理器服务的能力。
如图4所示,作业管理器组件5和调度器6组件被安装在集群的管理节点1上,而每个计算节点3上都会安装一个资源及作业监控器组件7。作业管理器组件5具有成员集群列表,其存储成员集群的相关信息,该作业管理器5对作业进行全生命周期的管理,还负责和用户之间的交互,包括作业提交和监控等。资源及作业监控组件7负责监视计算节点3的资源状况和作业任务的执行。调度器组件6是调度模块,本身不存储任何作业和资源信息。当作业管理器组件5需要进行作业调度的时候,会给调度器组件6发送一条调度命令,调度器组件6做完调度决策后将结果发回给作业管理器组件5。作业管理器组件5和调度器组件6之间以标准的TCP/IP进行通信,因此,作业管理器组件5和调度器组件6完全可以在不同的机器上。并且,由于调度器组件6并不存储任何作业信息,因此可以同时为多个集群上的作业管理器组件提供调度服务。上述作业管理器组件5、调度器组件6和资源及作业监控组件7在本领域通常是由程序或硬件实现,并已得到广泛使用。
在确立了作业管理和作业调度相分离,以及事件驱动的调度模型之后,就可以在调度模型之上选择相应的体系结构。有以下三种体系结构可供选择:
集中式调度和集中式管理
Figure G2009102365502D0000062
集中式调度和分布式管理
Figure G2009102365502D0000063
分布式管理和分布式调度
集中式管理和集中式调度实际上是单集群作业管理***的一种简单扩展。如图5所示,它在单集群之上添加了一个高层的作业管理器和调度器,从而将单集群的两层树形结构扩展为三层。物理上,高层作业管理器和调度器可以安装在一台单独的主机上,也可以由某个单元集群的管理节点1来代理。和单集群相同,用户仍然只能在树结构的根节点上提交作业。在这种情况下,每个单元集群上的本地作业管理器5不再具有作业管理的功能,而成为了全局作业管理器的执行代理。这种结构实现简单,对于一般的多集群来讲比较适合。然而,在可重组多集群中,任何集群都有可能随时退出,无法存在一个节点来安装全局管理器。
分布式管理和集中式调度中,没有全局的作业管理器,如图6所示,每个集群的本地作业管理器5负责接收本地用户提交的作业,并且管理这些作业。所有的本地作业管理器5与一个调度器6交互进行作业的调度,此时的调度器6是为多个作业管理器5服务的。
在分布式管理和分布式调度中,每个集群都有自己的本地作业管理器5,如图7所示,并且都有一个调度器6,每个调度器6都能够对作业进行全局的调度。对于可重组多集群来讲,这是最理想的结构。然而,在这种结构中,因为***中存在多个调度器6,可能出现调度冲突,需要在各个调度器6之间进行同步,实现起来较为困难。
经过上述分析,发现分布式管理和集中式调度最适合于可重组的环境。但是这个结构还存在一些问题,因为如果调度器6所在的集群退出后,***就失去了调度器6。但是因为调度器6本身不存储任何信息,因此可以采用如下方案,在每个集群上都安装一个调度器6,但是只有一个处于激活状态,其他的都当作备用调度器。如图8所示,集群1的调度器6是激活的调度器,集群2和集群3的调度器6都作为备用调度器。我们把激活的调度器所在的集群称作Master集群(主集群),其他的集群称作Slave集群(从集群)。另外,我们把没有和任何集群组成多集群的单集群称作Idle集群(空闲集群)。
当激活的调度器所在集群退出后,可以通过某种方式来启动一个备用调度器。但是必须只能启动一个,并且在所有的集群中达成共识。
由于一个多集群***中有一个Master集群和若干个Slave集群。未加入任何多集群的单集群叫做Idle集群。那么,可重组机制就要能够适应如下几种情形:
1)空闲集群加入多集群:Master集群如何发现新的集群,并把它变成自己的Slave集群。
2)两个多集群的合并:***中出现了两个Master集群,则由谁来成为唯一的Master集群。
3)Master集群离开:Master集群退出或出现故障,不再响应时,原来的Slave集群就失去了自己的Master集群,则如何指定一个新的Master集群。
4)Slave集群离开:某个Slave集群离开***,此时Master集群如何处理这种情况。
5)多集群的拆分:一个多集群***中的多个Slave集群同时离开,此时原来的Master集群如何处理这种情况。
进一步分析,可以发现其实Idle集群可以看作是一个拥有0个Slave集群的Master集群,那么情况1)和情况2)就没有本质上的区别了。对于情况5)可以看作是两个集群分别离开进入到另一个通信域,那么情况4)和情况5)就可以看作是同一种情况。最终,只剩以下3神情形需要处理:
Figure G2009102365502D0000071
集群的合并
Figure G2009102365502D0000072
Master集群的退出
Figure G2009102365502D0000073
Slave集群的退出
针对上述几种情况,本发明应用了聚合算法来处理集群的合并问题,同时应用了选举算法来处理Master集群的退出。
对于Slave集群退出,Master集群周期性给各个Slave发送广播。在一定的周期内,当Master集群发现某个Slave集群不再响应,退出或者出现故障时,就发送消息给各集群,更新集群列表信息。
下面对上述三种情况的处理进行详细描述:
(1)关于集群合并的处理
可分为以下四个阶段:探测阶段,握手阶段,竞争阶段和更新阶段。
a.探测阶段
①Master集群A周期性的向网络内广播一条Detect消息(探测消息),并监听回复。
②假设一个Master集群B收到了一条Detect消息后,判断它是否是自己发出的,如果是则丢弃;如果不是则向发送Detect消息的集群A发送一条包含自己信息的回复,之后,集群B丢弃所有收到的Detect消息。
③集群A收到集群B的回复消息后,集群A向集群B发送Join消息(请求结合消息),并等待Join Ack消息(请求结合消息的回复消息)。
b.握手阶段
④集群B收到集群A发来的Join消息以后,则向集群A发送Join Ack消息。
⑤集群A收到集群B发来的Join Ack消息后,向集群B发送Join Con消息(同意结合消息),双方握手成功。
c.竞争阶段
⑥集群B向集群A发送Compete消息(竞争消息),开始竞争Master集群。
⑦双方根据一定的规则进行竞争,竞争获胜者成为Master集群,失败者和自己的Slave集群都成为对方的Slave集群。
d.更新阶段
⑧竞争失败的集群向自己所有的Slave集群发送一条包含新Master集群ID的UpdateMaster消息(主集群变更消息),通知它们更改自己的Master集群的信息。
竞争规则:为了尽量减少在更新阶段中发送的UpdateMaster消息的数量,使尽量少的集群更新设置。选定了如下竞争规则:选择拥有Slave集群数目多的Master集群竞争获胜,成为新的Master集群。
上述Detect消息(探测消息)、Join消息(请求结合消息)、Join Ack消息(请求结合消息的回复消息)、Join Con消息(同意结合消息)、Compete消息(竞争消息)、UpdateMaster消息(主集群变更消息)等多种消息通常可以是网络标识符或其它具有标识功能的二进制编码。
(2)Master集群退出的处理
假设Master集群有一个热备份状态的冗余节点,它不参与计算与管理,当Master集群离开或者出现故障时,***利用事务的原理取消作业,选举出新的Master集群以后,将备份的作业状态迁移到新的Master集群,重现开始作业。
假设每个集群有一个全局唯一的编号,这个编号可以是网络地址或其他方法产生的编号。假设选举时总是选举编号最大的集群作为Master集群。
如果一个集群启动了选举的一次执行,且每次只能启动一次召集选举的过程,则原则上有n个集群的集群组可能并发地召集n次选举。选举过程的一个基本要求是对当选集群的选择必须是唯一的,即使有多个并发的召集过程在执行,最后的结果必须保证所有召集选举和参与选举的集群对当选的集群达成共识。
参考图9,图中标记为0、1、2……7的圆圈代表多个集群,具体处理步骤如下:
1)当前Master集群退出后,首先发现当前Master群退出的集群召集选举,该召集选举的集群向所有比自己编号大的集群发送一条election消息(选举消息);
2)如果某一集群收到编号比自己小的集群发来的election消息,则该集群回复一条包含自身编号信息的OK消息(应答消息)给该召集选举的集群;
3)如果召集选举的集群得不到任何回复,则召集选举的集群赢得选举,召集选举的集群向所有集群发送coordinator消息(协调消息),宣布自己成为新的Master集群;
4)如果召集选举的集群得到任何一个回复,回复一定来自于比自己编号大的集群,召集选举的集群的召集选举的工作结束,因为召集选举的集群此时已经不可能赢得选举而成为新的Master集群;
5)对于其它集群,或正在召集选举,或可能接收到比自己编号小的集群的election消息。当除上述召集选举的集群之外的其它集群收到一个election消息后,将回复一个OK消息(应答消息)给该发送election消息的集群;如果这时除上述召集选举的集群之外的其它集群还不是召集选举的集群,它也将开始一个召集选举的过程,即执行步骤1)到3)的操作。
上述election消息(选举消息)、coordinator消息(协调消息)、OK消息(应答消息)等通常可以是网络标识符或其它具有标识功能的二进制编码。
(3)Slave集群退出的处理
Master集群周期性的给各个Slave集群发送广播,在一定的周期内,当Master集群发现某个Slave集群不再响应,就发送消息给各集群,并更新集群列表信息,表明该未响应的Slave集群已退出或者出现故障。
实施例2
实施例1中Master集群的退出处理的优势是执行简单,但是当集群的数量较多或者是编号较小的集群首先发现Master集群退出的情况下,需在网络上传输大量的信包,***性能比较低。
本实施例针对实施例1中Master集群的退出处理进行了改进,得到一种优化处理方法。当一个集群P发现Master集群不再响应请求时,它就发起选举。参考图10,图中标记为0、1、2……7的圆圈代表多个集群,处理过程如下:
1)当前Master集群退出后,首先发现当前Master集群退出的集群召集选举,该召集选举的集群向所有比自己编号大的集群发送一条election消息(选举消息);
2)如果某一集群收到编号比自己小的集群发来的election消息,则回复一条包含自身编号信息的OK消息(应答消息)给该召集选举的集群;
3)如果召集选举的集群得不到任何回复,则该召集选举的集群赢得选举,该召集选举的集群向所有集群发送coordinator消息(协调消息),宣布自己当选新的Master集群;
4)如果该召集选举的集群得到回复,该召集选举的集群收集所有响应消息,从中选取编号最大的集群,推举它为新的Master集群(即不需要循环过程,一次选出协调者),新的Master集群向其它集群发送消息通知选举结果。
上述优化后的处理方式避免了不断循环的选举过程,在任何情况下都只需经过一轮选举就可选出新的协调者。当集群数量大或编号较小集群率先发起选举时,优越性体现得很明显。由于极大地减少了集群间通信的消息数,***总体性能得到显著的改善和提高。
相对于实施例1的Master集群退出处理,实施例2的处理方式具有以下优点:
①减少了选举过程所需传递的消息数,进而减少了网络流量,避免了由于在网络上传输大量的信包而引起网络拥塞;
②由于消息传递量的减少,使得通信量最小化,相应使得响应时间也最小化,避免了由于网络流量太大而引起的网络延迟,提高了***工作效率和性能。
实施例3
对于分布式的多集群环境,如果不止一个、甚至所有集群同时发现Master失效,并同时发起选举,也会造成网络负载加重。针对这种情况,本实施例再一次对实施例1和实施例2中的Master集群退出处理方法进行改进。
参考图11,图中标记为0、1、2……7的圆圈代表多个集群,处理过程如下:
1)当一个召集选举的集群发现Master集群不再响应请求时,该召集选举的集群向所有比自己编号大的集群发送一条election消息(选举消息);
2)如果多个集群同时发起选举,则多集群***中的某一集群将收到多条election消息,该集群只向发送多条election消息的多个召集选举的集群中的编号较小的集群回复OK消息(应答消息);
3)如果召集选举的集群得不到任何回复,则该召集选举的集群赢得选举,该召集选举的集群向所有集群发送coordinator消息(协调消息),宣布自己成为新的Master集群;
4)如果召集选举的集群得到回复,该召集选举的集群收集所有响应消息,从中选取编号最大的集群,推举它为新的Master集群,该新的Master集群向其它集群发送消息通知选举结果。
上述处理方法在实施例2的基础上,进一步减少了新的Master集群产生过程所需传递的消息数。
以上所述,仅是本发明的较佳实例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何精于本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出其他种种的改良或修饰为等同变化的等效实例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (6)

1.一种多集群***的可重组的方法,其特征在于包括如下步骤:
将多个可单独工作的成员集群4的管理节点1之间以网络互联,使管理节点1之间可以相互通信,从而够成多集群;
令所述管理节点1转发所述成员集群4的各个计算节点3之间的通信;
在每个成员集群4的所述管理节点1中设置调度器6和作业管理器5,负责作业的提交、调度与管理;在每个成员集群4的所述计算节点3中设置资源及作业监控器7,负责监视计算节点3的资源状况和作业任务的执行;
每个成员集群4的管理节点1负责接收本地用户提交的作业,由管理节点1将作业分配到各个计算节点3,为避免调度冲突,每个成员集群4的管理节点1只与一个被激活的调度器交互进行作业的调度,所述被激活的调度器是为多个成员集群4中的所述管理节点1服务的;
将所述多集群中的多个成员集群4进一步划分为主集群和从集群,其中主集群是具有所述被激活的调度器的成员集群,从集群是不包含所述被激活的调度器的成员集群;
该方法进一步包括以下三种处理:
处理一,根据***需求,将一待合并集群加入到当前多集群中;
处理二,根据***需求,在主集群退出当前多集群后,重新确定新的主集群;
处理三,根据***需求,将一从集群退出当前多集群,并重新组织多集群。
2.一种如权利要求1所述的多集群***的可重组的方法,其特征在于:所述处理一进一步包括探测阶段、握手阶段、竞争阶段和更新阶段,所述待合并集群可以是未加入任何多集群的单集群,也可以是一个多集群;其中,
a.探测阶段
①当前主集群周期性的向网络内广播一条探测消息,并监听回复;
②所述待合并集群收到了一条上述探测消息后,判断它是否是自己发出的,如果是则丢弃;如果不是则向发送探测消息的当前主集群发送一条包含自己信息的回复,之后,该待合并集群丢弃所有收到的探测消息;
③当前主集群收到待合并集群的回复消息后,当前主集群向待合并集群发送请求结合的消息,并等待该请求结合的消息的回复消息;
b.握手阶段
④待合并集群收到当前主集群发来的请求结合的消息以后,向当前主集群发送该请求结合的消息的回复消息;
⑤当前主集群收到待合并集群发来的该请求结合的消息的回复消息后,向待合并集群发送同意结合消息,双方握手成功;
c.竞争阶段
⑥待合并集群向当前主集群发送竞争消息,开始竞争主集群;
⑦双方根据竞争规则进行竞争,竞争获胜者成为新的主集群,失败者和自己的从集群都成为对方的从集群;
d.更新阶段
⑧竞争失败的集群向自己所有的从集群发送一条包含新的主集群ID的主集群变更消息,通知它们更改自己的主集群信息;
所述竞争规则为:选择拥有从集群数目最多的主集群成为新的主集群。
3.一种如权利要求1所述的多集群***的可重组的方法,其特征在于所述处理二进一步包括如下步骤:
1)确定新的主集群的选举规则,选举编号最大的集群作为新的主集群;
2)当前主集群退出后,首先发现当前主集群退出的集群召集选举,该召集选举的集群向所有比自己编号大的集群发送一条选举消息;
3)如果某一集群收到编号比自己小的集群发来的选举信息,则该集群回复一条包含自身编号信息的消息给该召集选举的集群;
4)如果所述召集选举的集群得不到任何回复,则该召集选举的集群赢得选举,该召集选举的集群向所有集群发送协调消息,宣布自己为新的主集群;
5)如果该召集选举的集群得到任何一个回复,该回复一定来自于比自己编号大的集群,该召集选举的集群的召集选举工作结束,因为该召集选举的集群此时已经不可能赢得选举而成为新的主集群;
6)对于除了该召集选举的集群之外的其它集群,或正在召集选举,或可能接收到比自己编号小的集群的选举消息,当除上述召集选举的集群之外的其它集群收到一个选举消息后,将回复一个应答消息给该发送选举消息的集群;如果这时除上述召集选举的集群之外的其它集群还不是召集选举的集群,它们也将开始一个召集选举的过程,即执行步骤1)到4)的操作。
4.一种如权利要求1所述的多集群***的可重组的方法,其特征在于所述处理三进一步包括:
主集群周期性的给各个从集群发送广播,当主集群发现某个从集群不再响应,就发送消息给各个集群,并更新成员集群列表信息,表明未响应的从集群已退出或者出现故障。
5.一种如权利要求1所述的多集群***的可重组的方法,其特征在于所述处理二进一步包括如下步骤:
1)确定新的主集群的选举规则,选举编号最大的集群作为新的主集群;
2)当前主集群退出后,首先发现当前主集群退出的集群召集选举,该召集选举的集群向所有比自己编号大的集群发送一条选举消息;
3)如果某一集群收到编号比自己小的集群发来的选举信息,则回复一条包含自身编号信息的消息给该召集选举的集群;
4)如果召集选举的集群得不到任何回复,则该召集选举的集群赢得选举,该召集选举的集群向所有集群发送协调消息,宣布自己当选新的主集群;
5)如果所述召集选举的集群得到回复,该召集选举的集群收集所有响应消息,从中选取编号最大的集群,推举它为新的主集群,该新的主集群向其它集群发送消息通知选举结果。
6.一种如权利要求1所述的多集群***的可重组的方法,其特征在于所述处理二进一步包括如下步骤:
1)确定新的主集群的选举规则,选举编号最大的集群作为新的主集群;
2)当前主集群退出后,首先发现当前主集群退出的集群召集选举,该召集选举的集群向所有比自己编号大的集群发送一条选举消息;
3)如果多个集群同时发起选举,则多集群***中的某一集群将收到多条所述选举消息,该收到多条选举消息的集群只向发送多条选举消息的多个召集选举的集群中的编号较小的集群回复一个包含自身编号信息的应答消息;
4)如果某一召集选举的集群得不到任何回复,则该召集选举的集群赢得选举,该召集选举的集群向所有集群发送协调消息,宣布自己成为新的主集群;
5)如果上述召集选举的集群得到回复,该召集选举的集群收集所有响应消息,从中选取编号最大的集群,推举它为新的主集群,该新的主集群向其它集群发送消息通知选举结果。
CN2009102365502A 2009-10-26 2009-10-26 一种多集群***的可重组方法 Expired - Fee Related CN101702721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102365502A CN101702721B (zh) 2009-10-26 2009-10-26 一种多集群***的可重组方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102365502A CN101702721B (zh) 2009-10-26 2009-10-26 一种多集群***的可重组方法

Publications (2)

Publication Number Publication Date
CN101702721A true CN101702721A (zh) 2010-05-05
CN101702721B CN101702721B (zh) 2011-08-31

Family

ID=42157614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102365502A Expired - Fee Related CN101702721B (zh) 2009-10-26 2009-10-26 一种多集群***的可重组方法

Country Status (1)

Country Link
CN (1) CN101702721B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479099A (zh) * 2010-11-22 2012-05-30 中兴通讯股份有限公司 虚拟机管理***及其使用方法
CN102571954A (zh) * 2011-12-02 2012-07-11 北京航空航天大学 基于节点核心影响力的复杂网络聚类方法
CN102685173A (zh) * 2011-04-14 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种异步任务分发***及调度分发计算单元
CN102833289A (zh) * 2011-06-16 2012-12-19 宁波速腾电子有限公司 一种分布式云计算资源组织和任务分配方法
CN103380608A (zh) * 2011-03-09 2013-10-30 中国科学院计算机网络信息中心 在计算环境中汇聚队列信息及作业信息的方法
CN103491168A (zh) * 2013-09-24 2014-01-01 浪潮电子信息产业股份有限公司 一种集群选举设计方法
CN104469699A (zh) * 2014-11-27 2015-03-25 华为技术有限公司 集群仲裁方法和多集群配合***
CN104683446A (zh) * 2015-01-29 2015-06-03 广州杰赛科技股份有限公司 一种云存储集群节点服务状态实时监控方法和***
CN104917792A (zh) * 2014-03-12 2015-09-16 上海宝信软件股份有限公司 民主自治的集群管理方法和***
CN105045566A (zh) * 2015-08-13 2015-11-11 山东华宇航天空间技术有限公司 一种嵌入式并行计算***及采用其的并行计算方法
CN105227349A (zh) * 2015-08-27 2016-01-06 北京泰乐德信息技术有限公司 游牧式自组网调度***及其调度方法
CN105791354A (zh) * 2014-12-23 2016-07-20 中兴通讯股份有限公司 作业调度方法和云调度服务器
WO2016150066A1 (zh) * 2015-03-25 2016-09-29 中兴通讯股份有限公司 一种主节点选举方法、装置及存储***
CN106301904A (zh) * 2016-08-08 2017-01-04 无锡天脉聚源传媒科技有限公司 一种集群服务器管理方法及装置
CN106331098A (zh) * 2016-08-23 2017-01-11 东方网力科技股份有限公司 一种服务器集群***
CN107196814A (zh) * 2017-07-28 2017-09-22 郑州云海信息技术有限公司 一种多集群的管理方法及***
CN108092829A (zh) * 2018-01-31 2018-05-29 深信服科技股份有限公司 集群***的处理方法、sdn控制器及存储介质
CN108282526A (zh) * 2018-01-22 2018-07-13 中国软件与技术服务股份有限公司 双集群间服务器动态分配方法及***
CN110308984A (zh) * 2019-04-30 2019-10-08 北京航空航天大学 一种用于处理地理分布式数据的跨集群计算***
CN111586110A (zh) * 2020-04-22 2020-08-25 广州锦行网络科技有限公司 一种raft在出现点对点故障时的优化处理方法
CN111708659A (zh) * 2020-06-10 2020-09-25 中国—东盟信息港股份有限公司 一种基于kubernetes构建云原生容灾架构的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235141A (ja) * 1995-02-28 1996-09-13 Kofu Nippon Denki Kk 情報処理システム
CN101252603B (zh) * 2008-04-11 2011-03-30 清华大学 基于存储区域网络san的集群分布式锁管理方法
CN101340423B (zh) * 2008-08-13 2011-02-02 北京航空航天大学 一种基于元调度环的多集群作业调度方法

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012068867A1 (zh) * 2010-11-22 2012-05-31 刘建 虚拟机管理***及其使用方法
CN102479099B (zh) * 2010-11-22 2015-06-10 中兴通讯股份有限公司 虚拟机管理***及其使用方法
CN102479099A (zh) * 2010-11-22 2012-05-30 中兴通讯股份有限公司 虚拟机管理***及其使用方法
CN103380608A (zh) * 2011-03-09 2013-10-30 中国科学院计算机网络信息中心 在计算环境中汇聚队列信息及作业信息的方法
CN103380608B (zh) * 2011-03-09 2015-12-02 中国科学院计算机网络信息中心 在计算环境中汇聚队列信息及作业信息的方法
CN102685173A (zh) * 2011-04-14 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种异步任务分发***及调度分发计算单元
CN102833289A (zh) * 2011-06-16 2012-12-19 宁波速腾电子有限公司 一种分布式云计算资源组织和任务分配方法
CN102833289B (zh) * 2011-06-16 2016-02-17 浙江速腾电子有限公司 一种分布式云计算资源组织和任务分配方法
CN102571954B (zh) * 2011-12-02 2014-07-16 北京航空航天大学 基于节点核心影响力的复杂网络聚类方法
CN102571954A (zh) * 2011-12-02 2012-07-11 北京航空航天大学 基于节点核心影响力的复杂网络聚类方法
CN103491168A (zh) * 2013-09-24 2014-01-01 浪潮电子信息产业股份有限公司 一种集群选举设计方法
CN104917792B (zh) * 2014-03-12 2018-10-30 上海宝信软件股份有限公司 民主自治的集群管理方法和***
CN104917792A (zh) * 2014-03-12 2015-09-16 上海宝信软件股份有限公司 民主自治的集群管理方法和***
CN104469699B (zh) * 2014-11-27 2018-09-21 华为技术有限公司 集群仲裁方法和多集群配合***
CN104469699A (zh) * 2014-11-27 2015-03-25 华为技术有限公司 集群仲裁方法和多集群配合***
CN105791354A (zh) * 2014-12-23 2016-07-20 中兴通讯股份有限公司 作业调度方法和云调度服务器
CN104683446A (zh) * 2015-01-29 2015-06-03 广州杰赛科技股份有限公司 一种云存储集群节点服务状态实时监控方法和***
WO2016150066A1 (zh) * 2015-03-25 2016-09-29 中兴通讯股份有限公司 一种主节点选举方法、装置及存储***
CN105045566A (zh) * 2015-08-13 2015-11-11 山东华宇航天空间技术有限公司 一种嵌入式并行计算***及采用其的并行计算方法
CN105045566B (zh) * 2015-08-13 2018-11-20 山东华宇航天空间技术有限公司 一种嵌入式并行计算***及采用其的并行计算方法
CN105227349A (zh) * 2015-08-27 2016-01-06 北京泰乐德信息技术有限公司 游牧式自组网调度***及其调度方法
CN105227349B (zh) * 2015-08-27 2018-04-17 北京泰乐德信息技术有限公司 游牧式自组网调度***及其调度方法
CN106301904A (zh) * 2016-08-08 2017-01-04 无锡天脉聚源传媒科技有限公司 一种集群服务器管理方法及装置
CN106331098A (zh) * 2016-08-23 2017-01-11 东方网力科技股份有限公司 一种服务器集群***
CN106331098B (zh) * 2016-08-23 2020-01-21 东方网力科技股份有限公司 一种服务器集群***
CN107196814A (zh) * 2017-07-28 2017-09-22 郑州云海信息技术有限公司 一种多集群的管理方法及***
CN108282526A (zh) * 2018-01-22 2018-07-13 中国软件与技术服务股份有限公司 双集群间服务器动态分配方法及***
CN108282526B (zh) * 2018-01-22 2021-02-05 中国软件与技术服务股份有限公司 双集群间服务器动态分配方法及***
CN108092829A (zh) * 2018-01-31 2018-05-29 深信服科技股份有限公司 集群***的处理方法、sdn控制器及存储介质
CN108092829B (zh) * 2018-01-31 2021-07-06 深信服科技股份有限公司 集群***的处理方法、sdn控制器及存储介质
CN110308984A (zh) * 2019-04-30 2019-10-08 北京航空航天大学 一种用于处理地理分布式数据的跨集群计算***
CN110308984B (zh) * 2019-04-30 2022-01-07 北京航空航天大学 一种用于处理地理分布式数据的跨集群计算***
CN111586110A (zh) * 2020-04-22 2020-08-25 广州锦行网络科技有限公司 一种raft在出现点对点故障时的优化处理方法
CN111708659A (zh) * 2020-06-10 2020-09-25 中国—东盟信息港股份有限公司 一种基于kubernetes构建云原生容灾架构的方法

Also Published As

Publication number Publication date
CN101702721B (zh) 2011-08-31

Similar Documents

Publication Publication Date Title
CN101702721B (zh) 一种多集群***的可重组方法
CN109471705B (zh) 任务调度的方法、设备及***、计算机设备
CN101441580B (zh) 分布式并行计算平台***及其计算任务分配方法
Shan et al. Job superscheduler architecture and performance in computational grid environments
CN101957780B (zh) 一种基于资源状态信息的网格任务调度处理器及方法
CN104461740B (zh) 一种跨域集群计算资源聚合和分配的方法
TWI755417B (zh) 計算任務分配方法、流計算任務的執行方法、控制伺服器、流計算中心伺服器集群、流計算系統及異地多活系統
CN102457906B (zh) 一种消息队列的负载均衡控制方法及***
CN109802986B (zh) 设备管理方法、***、装置及服务器
CN101072133A (zh) 一种基于对等网络的高性能计算***
CN101571813A (zh) 一种多机集群中主从调度方法
CN102394807A (zh) 一种分散调度自治的流程引擎负载均衡集群***及方法
CN101753405A (zh) 集群服务器内存管理方法及其***
CN111064672A (zh) 云平台通信***、选举方法及资源调度管理方法
CN109728941A (zh) 一种区块链领导人选举方法及其装置
CN100357930C (zh) 网格环境下的大规模数据并行型计算主***
CN110247980B (zh) 一种局域网中的网关控制方法及网关
CN102571595B (zh) 一种堆叠***的路由转发信息同步方法和装置
CN104484228A (zh) 基于Intelli-DSC的分布式并行任务处理***
CN111200518B (zh) 一种基于paxos算法的去中心化HPC计算集群管理方法及***
CN100440802C (zh) 服务网格***及处理作业的方法
CN116775338A (zh) 一种分布式事件异步处理***
Feller et al. Autonomous and energy-aware management of large-scale cloud infrastructures
CN114710485B (zh) 处理方法和处理装置
Li et al. Design and implementation of high availability distributed system based on multi-level heartbeat protocol

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110831

Termination date: 20151026

EXPY Termination of patent right or utility model