CN1741489A - 构建多机系统高可用的自愈合逻辑环故障检测与容忍方法 - Google Patents

构建多机系统高可用的自愈合逻辑环故障检测与容忍方法 Download PDF

Info

Publication number
CN1741489A
CN1741489A CNA2005100431713A CN200510043171A CN1741489A CN 1741489 A CN1741489 A CN 1741489A CN A2005100431713 A CNA2005100431713 A CN A2005100431713A CN 200510043171 A CN200510043171 A CN 200510043171A CN 1741489 A CN1741489 A CN 1741489A
Authority
CN
China
Prior art keywords
node
logic
self
healing
loop
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
CNA2005100431713A
Other languages
English (en)
Other versions
CN100387017C (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Xian Jiaotong University
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Xian Jiaotong 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 Inspur Beijing Electronic Information Industry Co Ltd, Xian Jiaotong University filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CNB2005100431713A priority Critical patent/CN100387017C/zh
Publication of CN1741489A publication Critical patent/CN1741489A/zh
Application granted granted Critical
Publication of CN100387017C publication Critical patent/CN100387017C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及计算机技术领域,是一种用于保证多机系统高可用的自动故障检测与故障容忍方法,它适用于通过网络连接的能进行点对点通信和多播(广播)通信的多机系统。该方法将多机系统中的成员节点组织成一个逻辑虚拟封闭环路,通过环形检测机制实现分布式故障发现,通过逻辑环自愈合机制实现自动故障隔离,通过环形数据备份机制和环形任务接管机制实现系统高可用,通过环形任务迁移和逻辑环自愈合机制实现系统的自动恢复,通过逻辑环自愈合机制和任务重新分配实现系统处理能力在线式动态伸缩。本发明无需设置主控节点,消除了系统单一故障点,数据备份的系统开销小,故障检测通信流量少,处理开销小,可用低成本系统实现。

Description

构建多机系统高可用的自愈合逻辑环故障检测与容忍方法
技术领域
本发明涉及计算机技术领域,是一种多机系统可扩展自愈合逻辑环故障检测与故障容忍方法,特别涉及一种构建多机系统高可用性的自愈合逻辑环故障检测与容忍方法。
背景技术
高可用性是指当系统中的软件部件或硬件部件出现故障时系统还能持续提供应用服务的性质,这通常是通过在系统中配置冗余的部件来实现的。如果系统中某些部件出现故障,则在系统检测到故障后,其备份部件会接管原部件的工作,继续对外提供服务。高可用系统通常由两个或多个节点组成,这些节点通过互连网络直接或间接相连。
在现有技术中,多机系统的高可用性通常通过集中式或全备份方式来实现,通过集中的一个或者多个主控节点主动检测系统中其他的从节点,从节点完全处于被动状态,其受控于主控节点,主控节点往往成为系统新的性能瓶颈或者单一故障点。全备份通过将多机系统中每个节点所执行的应用任务的核心数据备份到其余的所有节点上来实现,其缺点是备份所需系统开销和网络上的附加流量都很大,不能充分利用资源,总体成本过高,而且物理实现和控制算法实现相对复杂。
发明内容
为了克服上述现有技术的不足,本发明的目的在于,提供一种构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,以消除主从备份方式的性能瓶颈和扩展性问题,消除集中主控方式或专用备份方式的单一故障点、高成本和负载均衡算法复杂的问题,消除分布式全备份或多备份方式下节点任务处理效率不高和系统附加网络流量较大的问题。
本发明的技术方案是这样实现的:
a)将多机系统内物理连通的所有主机节点组织成一个逻辑上的虚拟封闭环路,环路中的各节点关系对等,每个节点均被赋予一个唯一的逻辑标识;
b)依据逻辑虚拟环路的组织方法,逻辑环中相邻的主机节点间存在逻辑邻居关系;
c)逻辑虚拟环路中的节点依据节点间的逻辑邻居关系进行环形数据备份,以实现分布式的数据备份机制;
d)利用节点间逻辑上的邻居关系,采用逻辑邻居检测技术来检测节点的失效,达到系统的分布式故障发现;
e)当检测到系统内有节点失效时,通过逻辑环的自愈合特性自动隔离故障节点,故障节点执行的任务由其他节点接管,实现任务的不间断性,达到系统的高可用;
f)当节点故障被排除,节点恢复时,通过逻辑环的自愈合特性将恢复的故障节点重新加入到逻辑虚拟环路中,自动完成任务的恢复,即节点恢复运行;
g)当节点主动退出系统或者新节点加入系统时,通过逻辑环的自愈合特性自动隔离主动退出的节点或者将新节点加入到逻辑虚拟环路中,并重新分配环路中各个节点承担的任务,达到系统的动态伸缩;
h)多机系统的上层应用应该支持并行事务处理,并可以进行负载均衡和动态事务迁移,在此基础上,通过采用自愈合逻辑环方式的故障检测和故障容忍机制,在系统出现节点故障和通讯故障时,保证上层应用的故障切换,以此消除系统内的单一故障点。
所述的多机系统由物理上连通的至少两个节点组成,节点之间能够互相通信,且所有的节点之间关系对等,独立完成不同任务或协同完成同一个任务。
所述的逻辑虚拟封闭环路,是独立于具体物理拓扑,根据网络第三层以上特性,通过各个节点的唯一的网络标识和系统设定的逻辑标识,以逻辑标识值大小顺序组成的逻辑上的虚拟的封闭环路,其中的逻辑标识,是根据系统内节点情况而由用户设定的一个在系统内唯一的ID编号,而逻辑环的顺序在逻辑环建立时确定。
所述的逻辑邻居关系,是根据节点在逻辑虚拟封闭环路中的相邻关系而得到,具体分为左邻居和右邻居,按照逻辑环路ID编号形成的顺序,紧靠当前节点逻辑标识之前的邻居,称为左邻居;按照逻辑环路ID编号形成的顺序,紧跟当前节点逻辑标识之后的邻居,称为右邻居。
所述的环形数据备份,是根据逻辑邻居关系,采用每个节点将自己的核心数据发送给自己的右邻居节点进行备份,同时接收左邻居节点发送来的数据,对左邻居节点的核心数据进行备份。
所述的逻辑邻居检测技术,是根据逻辑邻居关系,采用每个节点监视自己的左邻居节点,同时定期向自己的右邻居节点发送“存活”监控消息;当某个节点发现被其监视的左邻居节点失效时,即以多播或广播通信方式向系统中所有节点发送“失效”消息,通知其左邻居节点已经失效,所说的失效,是指负责监视的节点负责接收被监视节点的“存活”监控消息,在阈值时间内没有收到“存活”监控消息,则认为被监视的节点发生失效;节点失效包含节点故障和其网络链路故障。阀值时间可以根据经验值进行设置,也可以根据网络和节点负载情况动态改变。
所述的逻辑虚拟环路的自愈合特性,是指在逻辑虚拟环路中有节点发生失效或有节点主动退出系统而导致原有逻辑环路断开的情况下,系统中剩余节点能够重构逻辑环路,自动隔离故障节点或主动退出系统的节点,保持环路的封闭性;或者是在失效节点恢复工作或有新的节点加入系统的情况下,系统原有节点和恢复的节点或新加入节点能够重新构成新逻辑环路,自动容纳恢复节点或新加入节点,保持环路的封闭性。
所述的任务重新分配,由具体的上层应用实现,在有节点主动退出或者有新节点加入逻辑虚拟环路时,自动对剩余节点或者新加入节点承担的任务进行分配。
所述的自动故障容忍功能,需要上层应用的支持,同时也需要将上层应用的核心数据进行备份,每个节点周期性地将自己负载均衡的核心数据发送给其右邻居节点进行备份,在节点发生故障时,根据备份数据自动将失效节点的服务任务切换至环路上的其他节点。
本发明是使多机系统中所有节点或部分相关节点以对等的方式组织成有机整体,并使该有机整体具有良好的可扩展性,逻辑处理的规整性,以利于负载均衡算法简化、应用程序算法简化等,使节点主动检测自己的状态,采用逻辑环结构,大大减少系统中附加的网络流量。
本发明适用于任何通过能进行点对点通信和多播(广播)通信的网络连接的多机系统或子系统,系统中的节点包括通用主机系统、嵌入式系统、专用硬件系统等。
本发明的优点在于:
1.消除了系统的单一故障点;
2.不需要传统的主控节点的干预,节点完全自我相互检测;
3.不需要传统的主控节点,系统内各节点对等,逻辑上处理规整,有利于负载均衡算法简化、应用程序算法简化、系统可扩展性好等;
4.由于环路中各节点关系对等,可提高系统部件的利用率,有利于系统软硬件的扩展和动态伸缩特性实现,因此,此方法适合于实现各种系统的高性能、可扩展、高可用机制;
5.实现中大部分消息是单播通信,消除传统故障检测频繁的广播或者多播报文,减少了网络中附加的系统信息流量,降低了节点对系统信息处理的开销,提高了系统的服务质量;
6.与具体应用软件相结合能够在系统部分失效时实现系统的自动故障容忍功能。
附图说明
图1是本发明的六个节点时的一种可扩展自愈合逻辑环构成示意图;
图2是本发明的分布式环形故障检测、分布式环形数据备份、环形任务接管和环形任务迁移示意图;
图3是本发明的主机节点发生失效时的逻辑环自愈合示意图;
图4本发明的失效节点恢复运行时的逻辑环自愈合示意图;
图5本发明的主机节点主动退出系统时的逻辑环自愈合示意图;
图6本发明的新主机节点加入系统时的逻辑环自愈合示意图。
具体实施例
附图是本发明的具体实施例;
下面结合附图对本发明的内容作进一步详细说明:
a)将多机系统中全部(或部分)主机节点或子系统中全部(或部分)相关主机节点组织成逻辑上虚拟的一个环路,具体方法如下——为多机系统中的每台主机节点设定一个唯一的逻辑标识,也就是一个ID编号,并建立每台主机节点的网络地址和ID编号之间的映射关系;系统中的每台主机节点先根据自己的ID编号确定两个编号ID_left=Neighbor_left(ID,N)和ID_right=Neighbor_right(ID,N),其中Neighbor_left(ID,N)=(ID-1)mod N,Neighbor_right(ID,N)=(ID+1)mod N(或者是Neighbor_left(ID,N)=(ID+1)mod N,Neighbor_ringht(ID,N)=(ID-1)mod N),参数N为要组织到逻辑虚拟环路中的主机节点的数目;在确定了ID_left和ID_right这两个编号之后,可根据ID编号和网络地址之间的对应关系进一步得到两个网络地址,进而根据网络地址确定两台主机节点,把该两台主机节点分别称作自己的左邻居节点和右邻居节点。用同样的方法,可以为多机系统中的每一台主机节点都找到自己的左邻居节点和右邻居节点,根据网络地址和逻辑标识的唯一性,以及求取左邻居节点和右邻居节点的算法可知,系统中节点的左邻居是没有重合的,右邻居节点也是没有重合的。在每台主机节点确定了自己的左邻居节点和右邻居节点之后,将每个节点都指向自己的右邻居节点(左邻居节点),同时又被自己的左邻居节点(右邻居节点)指向,这样即把系统中的主机节点组织成一个封闭的逻辑虚拟环路。
b)根据上面所述,多机系统中的主机都被组织到了一个逻辑虚拟环路上,依据逻辑邻居关系,逻辑环中的节点都定期将自己的核心数据发送给自己的右邻居节点,由右邻居节点对自己的数据进行备份,以便自身出现故障时使自己承担的任务交由右邻居节点接管,这就是环形数据备份机制。
c)多机系统中逻辑虚拟环路上的每台节点都首先检测自身健康状况,然后定期向其右邻居节点发送“存活”监控消息,同时接收自己的左邻居节点发送来的“存活”监控消息,监视左邻居节点的状况,实现分布式的故障发现。当逻辑环中某台主机节点在规定的阈值时间内没有收到自己的左邻居节点发送来的“存活”监控消息时,则判定该左邻居节点发生失效,检测节点以多播(广播)通信方式向多机系统中剩余的节点发送节点“失效”消息,以便系统中其余节点获知有节点发生失效这一事件,这就是分布式环形检测机制。
d)当发生了节点失效后,检测节点(也就是失效节点的右邻居节点)会根据所备份的核心数据接管其左邻居节点原先承担的任务,保持服务的不间断和系统的高可用性,这就是环形任务接管机制。
e)逻辑虚拟环路中的节点在收到有节点“失效”的消息后,根据失效节点的ID进行判断,如果发生失效的节点是自己的右邻居节点,则更改备份数据的发送对象为失效节点的右邻居节点,更改“存活”监控消息的发送对象为失效节点的右邻居节点,也就是用失效节点的右邻居节点来替代当前已经失效的右邻居节点;如果失效节点是自己的左邻居节点,则更改备份数据的接收对象为失效节点的左邻居节点,更改“存活”监控消息的接收对象为失效节点的左邻居节点,也就是用失效节点的左邻居节点替代当前已经失效的左邻居节点;如果失效节点既不是自己的左邻居节点,也不是自己的右邻居节点,则忽略该事件。由此,失效节点被自动隔离,而逻辑虚拟环路仍然保持闭合,这就是节点失效时的逻辑环自愈合特性。
f)当失效节点的故障被排除后,节点重新启动服务,并以多播(广播)方式向系统中的所有主机节点发送“恢复”消息,当系统中的节点收到该“恢复”消息后,根据恢复节点的ID编号进行判断,如果恢复的节点是自己的原来的左邻居节点,则向该恢复节点回传核心数据,以使恢复节点恢复原来承当的任务,这就是环形任务迁移机制。
g)在接收到“恢复”消息,并判断出恢复的节点是自己原来的右邻居节点时,则更改备份数据的发送对象为恢复节点,更改“存活”监控消息的发送对象为恢复节点,也就是自己当前的右邻居节点更改为恢复节点;如果判断出恢复节点是自己原来的左邻居节点,则更改备份数据的接收对象为恢复节点,同时更改“存活”监控消息的接收对象为恢复节点,也就是将当前的左邻居节点更改为恢复节点;如果恢复节点既不是自己的左邻居节点,也不是自己的右邻居节点,则忽略该“恢复”消息。由此,恢复节点被重新加入到逻辑环路中,并保持了逻辑环的闭合,这就是节点恢复时的逻辑环自愈合特性。
h)当逻辑虚拟环路中有主机节点主动退出系统时,主动退出的节点向系统中的所有节点发送“退出”消息,在收到该“退出”消息之后,系统中剩余的节点根据退出节点的ID编号作判断,如果退出节点是自己的右邻居节点,则更改备份数据的发送对象为退出节点的右邻居节点,更改“存活”监控消息的发送对象为退出节点的右邻居节点,也就是用退出节点的右邻居节点来替代当前已经退出的右邻居节点;如果退出节点是自己的左邻居节点,则更改备份数据的接收对象为退出节点的左邻居节点,更改“存活”监控消息的接收对象为退出节点的左邻居节点,也就是用退出节点的左邻居节点来替代当前已经退出的左邻居节点;如果退出节点既不是自己的左邻居节点,也不是自己的右邻居节点,则忽略该“退出”消息。由此,即可将退出节点自动隔离,并保持逻辑虚拟环路的闭合,这就是节点主动退出系统时的逻辑环自愈合特性,同时也是系统规模的动态缩小机制。
i)如果有新节点加入系统,则系统管理员为新加入的节点设定一个逻辑标识——ID编号,新节点启动运行后,即以多播(广播)通信方式向系统中的节点发送“加入”消息,当收到该“加入”消息后,系统中的节点立即修改当前系统中节点数目N这个参数,之后根据节点的ID编号进行判断,如果新加入的节点是自己的右邻居节点,则更改备份数据的发送对象为新加入的节点,更改“存活”监控消息的发送对象为新加入的节点,也就是将自己当前的右邻居节点修改为新加入的节点;如果新加入节点是自己的左邻居节点,则更改备份数据的发送对象为新加入节点,更改“存活”监控消息的接收对象为新加入节点,也就是将自己当前的左邻居节点修改为新加入节点;如果新加入节点既不是自己的左邻居节点,也不是右邻居节点,则无其他动作。由此,将新节点加入到逻辑虚拟环路中,并保持逻辑环的闭合,这就是新节点加入时的逻辑环自愈合特性,同时也是系统规模的动态扩展机制。
参照图1所示,描述了六个节点时的一种可扩展自愈合逻辑环的构成。通过网络物理连通的六台主机节点依据各自的逻辑标识——ID编号顺序,构成逻辑上的虚拟封闭环路,即按节点0、节点1、节点2、节点3、节点4、节点5和节点0顺序组成封闭环路,图1中用虚线进行了标识。
参照图2所示,描述了分布式环形故障检测、分布式环形数据备份、环形任务接管和环形任务迁移机制。逻辑环中的每个节点定期向自己的右邻居节点(如节点0向其右邻居节点1)发送“存活”监控消息,同时接收自己的左邻居节点发送来的“存活”监控消息,按节点0、节点1、节点2、节点3、节点4、节点5和节点0顺序组成封闭环路,图2中用实线进行了标识,指心跳监测信息传送逻辑环;逻辑环中每个节点定期将所承担任务的核心数据发送给自己的右邻居节点(如节点0向其右邻居节点1)作备份,一旦被自己的右邻居节点检测到发生失效,所承担的任务就由右邻居节点接管,按节点0、节点1、节点2、节点3、节点4、节点5和节点0顺序组成封闭环路,图2中用虚线进行了标识,表示备份和任务接管关系逻辑环;如果是某个失效节点(假设为节点0)故障排除,重新加入系统,则其右邻居节点(节点1)向它回传原来接管的任务的核心数据,任务重新往回迁移,按节点1、节点0、节点5、节点4、节点3、节点2和节点1顺序组成封闭环路,图2中用点线进行了标识,表示失效节点恢复加入任务迁移关系逻辑环。
参照图3所示,描述了系统中有主机节点发生失效时逻辑环进行重构,实现自愈合的过程。假设系统中的节点0发生了故障,则在设定的阈值时间内节点0的右邻居节点即节点1会检测到节点0失效了,于是其根据已有的备份数据接管节点0的任务,并以多播(广播)方式向系统中的其余四个节点发送“失效”消息。在四个节点收到该“失效”消息后,节点5会将备份数据的发送对象改为节点1,同时将“存活”监控消息的发送对象改为节点1;而节点1也会自动将备份数据的接收对象改为节点5,同时将“存活”监控消息的接收对象改为节点5。由此,系统就自动隔离了失效节点0,并保持了逻辑环的闭合,实现了节点失效时的逻辑环自愈合,即逻辑环从原来由节点0、节点1、节点2、节点3、节点4、节点5和节点0顺序组成的封闭环路变成了由节点1、节点2、节点3、节点4、节点5和节点1顺序组成的封闭环路。
参照图4所示,描述了失效节点恢复运行重新加入系统时逻辑环进行重构,实现自愈合的过程。当发生失效的节点0的故障被排除,重新启动加入系统后,节点0就会向系统中的五个工作节点发送“恢复”消息,在五个工作节点收到该“恢复”消息后,节点1会判断出恢复的节点0是自己原来的左邻居节点,于是节点1向节点0回传自己备份好的数据,使节点0恢复原来承担的任务,实现任务的往回迁移;同时,节点1将备份数据的接收对象改为节点0,将“存活”监控消息的接收对象改为节点0;而节点5会判断出恢复的节点0是自己原来的右邻居节点,并将备份数据的发送对象改为节点0,将“存活”监控消息的发送对象改为节点0。由此,系统就自动将恢复的节点加入到逻辑环中,并保持逻辑环的闭合,实现了节点恢复时的逻辑环自愈合,即逻辑环从原来由节点1、节点2、节点3、节点4、节点5和节点1顺序组成的封闭环路变成了由节点0、节点1、节点2、节点3、节点4、节点5和节点0顺序组成的封闭环路。
参照图5所示,描述了系统中有主机节点主动退出时逻辑环进行重构,实现自愈合的过程。当系统中的节点0主动退出时,它以多播(广播)通信方式向系统中的其余五个节点发送“退出”消息;在五个节点收到该“退出”消息后,节点5判断出退出的节点是自己的右邻居节点,于是节点5将备份数据的发送对象改为节点1,将“存活”监控消息的发送对象改为节点1;而节点1会判断出退出的节点0是自己的左邻居节点,于是节点1将备份数据的接收对象改为节点5,将“存活”监控消息的接收对象改为节点5;根据节点0原来承担的任务的具体类型,系统中的节点对其进行分担。由此,系统自动隔离了主动退出的节点,实现了节点主动退出时的逻辑环自愈合,即逻辑环从原来由节点0、节点1、节点2、节点3、节点4、节点5和节点0顺序组成的封闭环路变成了由节点1、节点2、节点3、节点4、节点5和节点1顺序组成的封闭环路。
参照图6所示,描述了新节点加入系统时,逻辑环进行重构,实现自愈合的过程。原系统由节点1、节点2、节点3、节点4和节点5五个节点组成;当新节点加入系统时,管理员为其设定一个逻辑标识——ID编号0(设定选号时要与原系统中已有的编号不同并且比最大编号大1或比最小编号小1)。当节点0启动时,它以多播(广播)通信方式向原系统中的五个节点发送“加入”消息;在五个节点收到该“加入”消息后,节点1会判断出新加入的节点是自己的左邻居节点,于是将备份数据的接收对象改为节点0,将“存活”监控消息的接收对象改为节点0;而节点5会判断出新加入的节点0是自己的右邻居节点,于是将备份数据的发送对象改为节点0,将“存活”监控消息的发送对象改为节点0。由此,系统就自动将新加入的节点加到逻辑环中,并保持逻辑环的闭合,实现了新节点加入逻辑环的自愈合,即逻辑环从原来由节点1、节点2、节点3、节点4、节点5和节点1顺序组成的封闭环路变成了由节点0、节点1、节点2、节点3、节点4、节点5和节点0顺序组成的封闭环路。
下面以100M以太网进行连接、依据TCP/IP协议进行通信、为集群服务器系统提供负载均衡功能的多主机接口系统为例,说明可扩展自愈合逻辑环故障检测和故障容忍方法的实施方法。
在本实例中,实施可扩展自愈合逻辑环故障检测和故障容忍方法所需的硬件与软件有:通用主机,以太网网卡,以太网交换机,网线,主机操作系统软件,负载均衡软件,高可用软件(即可扩展自愈合逻辑环故障检测与故障容忍方法的软件实现)。
用六台主机构建系统,每台主机通过各自的以太网卡和网线连接到交换机上,实现通信的物理连接。在每台主机上安装好操作系统软件,并配置好TCP/IP通信软件的参数,使各主机相互之间可以进行点对点通信,每台主机可向其余主机多播(广播)消息。安装负载均衡软件并配置相应参数,使软件可正常运行。安装高可用软件,设置主机的逻辑标识,设定主机的网络地址与逻辑标识之间的对应关系。启动负载均衡软件和高可用软件。如此,在高可用软件的支持下,执行负载均衡功能的多主机系统就能实现高可用,达到系统部分故障的自动容忍。
下面对可扩展自愈合逻辑环故障检测与容忍方法的软件实施方法作说明:
1.高可用软件根据多机系统中每台主机的网络地址和设定的逻辑标识,将系统中的主机组织到一个逻辑虚拟封闭环路中;
2.逻辑环中每台主机上的负载均衡软件定期将自身的核心数据传送给自己的右邻居节点,由右邻居节点作数据备份;
3.逻辑环中每台主机上的高可用软件定期向其右邻居节点发送“存活”监控消息,由右邻居节点对自己作监控;
4.若某台主机在设定的阈值时间内(1秒钟)没有收到其监控的左邻居节点发送的“存活”监控消息,则判定该左邻居节点失效,主机根据事先保存的备份数据接管该左邻居节点的任务,并以多播(广播)方式发送“失效”消息,告知系统中其余主机其左邻居节点发生故障,系统中剩余的主机立即重构逻辑环,将失效节点隔离出系统,实现自愈合;
5.若失效主机节点的故障排除,重新加入系统,则该主机以多播(广播)方式向系统中的节点发送“恢复”消息,在收到该消息后,该节点的右邻居节点会将原来接管的任务的核心数据回传给新加入的恢复节点,恢复主机根据回传数据重新恢复任务,任务恢复后系统重构逻辑环,实现自愈合;
6.如果因为降低运行成本或其它原因需要多机系统中的某台主机退出系统,则主动退出的主机向系统中的其余节点多播(广播)“退出”消息,在收到消息后系统中剩余主机根据运行情况重新进行负载均衡的任务划分,并重构逻辑环,将退出节点隔离出去,实现自愈合;多台主机的退出可由每次退出一台,多次退出实现;
7.如果因为扩展处理能力或其它原因需要向多机系统中加入新的主机,管理员为其分配一个合适且唯一的逻辑标识,新加入主机向系统中的其余主机发送“加入”消息,系统中的节点收到消息后,根据系统运行情况重新进行负载均衡的任务划分,并重构逻辑环,加入新节点,实现自愈合;多台主机的加入可由每次加入一台,多次加入实现。

Claims (9)

1、一种构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于,按下述步骤进行:
a)将多机系统内物理连通的所有主机节点组织成一个逻辑上的虚拟封闭环路,环路中的各节点关系对等,每个节点均被赋予一个唯一的逻辑标识;
b)依据逻辑虚拟环路的组织方法,逻辑环中相邻的主机节点间存在逻辑邻居关系;
c)逻辑虚拟环路中的节点依据节点间的逻辑邻居关系进行环形数据备份,以实现分布式的数据备份机制;
d)利用节点间逻辑上的邻居关系,采用逻辑邻居检测技术来检测节点的失效,达到系统的分布式故障发现;
e)当检测到系统内有节点失效时,通过逻辑环的自愈合特性自动隔离故障节点,故障节点执行的任务由其他节点接管,实现任务的不间断性,达到系统的高可用;
f)当节点故障被排除,节点恢复时,通过逻辑环的自愈合特性将恢复的故障节点重新加入到逻辑虚拟环路中,自动完成任务的恢复,即节点恢复运行;
g)当节点主动退出系统或者新节点加入系统时,通过逻辑环的自愈合特性自动隔离主动退出的节点或者将新节点加入到逻辑虚拟环路中,并重新分配环路中各个节点承担的任务,达到系统的动态伸缩;
h)多机系统的上层应用应该支持并行事务处理,并可以进行负载均衡和动态事务迁移,在此基础上,通过采用自愈合逻辑环方式的故障检测和故障容忍机制,在系统出现节点故障和通讯故障时,保证上层应用的故障切换,以此消除系统内的单一故障点。
2、根据权利要求1所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于:所述的多机系统由物理上连通的至少两个节点组成,节点之间能够互相通信,且所有的节点之间关系对等,独立完成不同任务或协同完成同一个任务。
3、根据权利要求1所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于:所述的逻辑虚拟封闭环路,是独立于具体物理拓扑,根据网络第三层以上特性,通过各个节点的唯一的网络标识和系统设定的逻辑标识,以逻辑标识值大小顺序组成的逻辑上的虚拟的封闭环路,其中的逻辑标识,是根据系统内节点情况而由用户设定的一个在系统内唯一的ID编号,而逻辑环的顺序在逻辑环建立时确定。
4、根据权利要求1所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于:所述的逻辑邻居关系,是根据节点在逻辑虚拟封闭环路中的相邻关系而得到,具体分为左邻居和右邻居,按照逻辑环路ID编号形成的顺序,紧靠当前节点逻辑标识之前的邻居,称为左邻居;按照逻辑环路ID编号形成的顺序,紧跟当前节点逻辑标识之后的邻居,称为右邻居。
5、根据权利要求1所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于:所述的环形数据备份,是根据逻辑邻居关系,采用每个节点将自己的核心数据发送给自己的右邻居节点进行备份,同时接收左邻居节点发送来的数据,对左邻居节点的核心数据进行备份。
6、根据权利要求1所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于:所述的逻辑邻居检测技术,是根据逻辑邻居关系,采用每个节点监视自己的左邻居节点,同时定期向自己的右邻居节点发送“存活”监控消息;当某个节点发现被其监视的左邻居节点失效时,即以多播或广播通信方式向系统中所有节点发送“失效”消息,通知其左邻居节点已经失效,所说的失效,是指负责监视的节点负责接收被监视节点的“存活”监控消息,在阈值时间内没有收到“存活”监控消息,则认为被监视的节点发生失效;节点失效包含节点故障和其网络链路故障。阀值时间可以根据经验值进行设置,也可以根据网络和节点负载情况动态改变。
7、根据权利要求1所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于:所述的逻辑虚拟环路的自愈合特性,是指在逻辑虚拟环路中有节点发生失效或有节点主动退出系统而导致原有逻辑环路断开的情况下,系统中剩余节点能够重构逻辑环路,自动隔离故障节点或主动退出系统的节点,保持环路的封闭性;或者是在失效节点恢复工作或有新的节点加入系统的情况下,系统原有节点和恢复的节点或新加入节点能够重新构成新逻辑环路,自动容纳恢复节点或新加入节点,保持环路的封闭性。
8、根据权利要求1所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于:所述的任务重新分配,由具体的上层应用实现,在有节点主动退出或者有新节点加入逻辑虚拟环路时,自动对剩余节点或者新加入节点承担的任务进行分配。
9、根据权利要求1所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于:所述的自动故障容忍功能,需要上层应用的支持,同时也需要将上层应用的核心数据进行备份,每个节点周期性地将自己负载均衡的核心数据发送给其右邻居节点进行备份,在节点发生故障时,根据备份数据自动将失效节点的服务任务切换至环路上的其他节点。
CNB2005100431713A 2005-09-01 2005-09-01 构建多机系统高可用的自愈合逻辑环故障检测与容忍方法 Expired - Fee Related CN100387017C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100431713A CN100387017C (zh) 2005-09-01 2005-09-01 构建多机系统高可用的自愈合逻辑环故障检测与容忍方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100431713A CN100387017C (zh) 2005-09-01 2005-09-01 构建多机系统高可用的自愈合逻辑环故障检测与容忍方法

Publications (2)

Publication Number Publication Date
CN1741489A true CN1741489A (zh) 2006-03-01
CN100387017C CN100387017C (zh) 2008-05-07

Family

ID=36093707

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100431713A Expired - Fee Related CN100387017C (zh) 2005-09-01 2005-09-01 构建多机系统高可用的自愈合逻辑环故障检测与容忍方法

Country Status (1)

Country Link
CN (1) CN100387017C (zh)

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007115456A1 (fr) * 2006-04-11 2007-10-18 Huawei Technologies Co., Ltd Procédé, dispositif et système de réseau en boucle permettant d'éliminer le message d'erreur id en boucle du réseau en boucle
WO2008025285A1 (fr) * 2006-08-31 2008-03-06 Huawei Technologies Co., Ltd. Procédé et dispositif pour obtenir un service de multidiffusion avec des types multiples de protection et de récupération
WO2008131624A1 (fr) * 2007-04-27 2008-11-06 Supcon Group Co., Ltd. Système ethernet réparti et son utilisation pour détection de dysfonctionnement
CN101488966A (zh) * 2009-01-14 2009-07-22 深圳市同洲电子股份有限公司 一种视频服务系统
CN101079800B (zh) * 2006-08-07 2010-07-28 腾讯科技(深圳)有限公司 一种提高p2p网络稳定性的方法及系统
WO2010115373A1 (zh) * 2009-04-08 2010-10-14 中兴通讯股份有限公司 基于对等网络的资源信息备份操作方法及对等网络
CN101026613B (zh) * 2007-04-04 2010-12-22 杭州华三通信技术有限公司 数据链接保护方法及装置
CN101247273B (zh) * 2008-02-27 2011-02-02 北京航空航天大学 分布式环境下服务协同节点组织结构的维护方法
CN101478433B (zh) * 2009-01-16 2011-04-20 哈尔滨工程大学 基于多主体随机决策过程的分布式系统自愈调控方法
WO2011103763A1 (zh) * 2010-02-24 2011-09-01 华为技术有限公司 数据容灾的方法、装置及系统
CN101587453B (zh) * 2009-06-18 2012-01-04 成都市华为赛门铁克科技有限公司 数据备份处理方法、数据存储节点设备及数据存储装置
CN102681911A (zh) * 2011-03-09 2012-09-19 腾讯科技(深圳)有限公司 一种配置中心的容灾系统和方法
CN102722146A (zh) * 2012-05-24 2012-10-10 哈尔滨工程大学 具有失效保护的分布式系统控制结构及失效保护方法
CN103298012A (zh) * 2013-06-09 2013-09-11 杭州华三通信技术有限公司 一种ap故障检测方法和设备
CN103516734A (zh) * 2012-06-20 2014-01-15 阿里巴巴集团控股有限公司 数据处理方法、设备和系统
CN103592880A (zh) * 2013-11-27 2014-02-19 中国海洋大学 用于大型工程类设备的智能控制器系统
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策系统及切换方法
CN104077199A (zh) * 2014-06-06 2014-10-01 中标软件有限公司 基于共享磁盘的高可用集群的隔离方法和系统
CN104182277A (zh) * 2013-05-21 2014-12-03 北大方正集团有限公司 基于多任务系统的分布式系统和方法
CN104360926A (zh) * 2014-07-01 2015-02-18 山东明佳科技有限公司 一种计算机组状态监控的方法
CN104378232A (zh) * 2014-11-10 2015-02-25 东软集团股份有限公司 主备集群组网模式下的脑裂发现、恢复方法及装置
CN104767663A (zh) * 2014-01-07 2015-07-08 艾默生网络能源有限公司 一种环形通信网络主节点切换方法、装置及系统
CN105450492A (zh) * 2014-08-22 2016-03-30 中国银联股份有限公司 一种自适应环网结构及组网方法
CN105915630A (zh) * 2016-06-01 2016-08-31 东软集团股份有限公司 跨网络数据传输系统及负载均衡调度方法
CN106200571A (zh) * 2015-04-28 2016-12-07 因文西斯系统公司 处理控制环境中的分布式计算
CN106330531A (zh) * 2016-08-15 2017-01-11 东软集团股份有限公司 节点故障记录和处理的方法以及装置
CN107493218A (zh) * 2017-08-21 2017-12-19 长沙曙通信息科技有限公司 一种备用节点修复故障环形网络实现方法
CN107528730A (zh) * 2017-08-28 2017-12-29 北京格是菁华信息技术有限公司 多重冗余方法、多重冗余服务器以及系统
CN108768794A (zh) * 2018-07-27 2018-11-06 郑州云海信息技术有限公司 一种网络集群的流量检测方法、装置、设备及介质
CN104811325B (zh) * 2014-01-24 2018-12-25 华为技术有限公司 一种集群节点控制器监控方法、相关装置以及控制器
CN109544827A (zh) * 2018-11-27 2019-03-29 福州市台江区金科电子科技有限公司 带数据备份装置的收银机及其使用方法
CN109639800A (zh) * 2018-12-14 2019-04-16 深信服科技股份有限公司 一种tcp连接处理方法、装置、设备及存储介质
CN109787808A (zh) * 2019-04-03 2019-05-21 中国电子科技集团公司第二十八研究所 一种适应广域部署的多数据中心抗毁接替方法
CN110019065A (zh) * 2017-09-05 2019-07-16 阿里巴巴集团控股有限公司 日志数据的处理方法、装置及电子设备
CN113364603A (zh) * 2020-03-06 2021-09-07 华为技术有限公司 环形网络的故障恢复方法及物理节点
CN113746873A (zh) * 2020-05-27 2021-12-03 华为技术有限公司 环形网络中的异常节点处理方法及相关设备
CN117250480A (zh) * 2023-11-08 2023-12-19 英诺达(成都)电子科技有限公司 组合逻辑电路的环路检测方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2327020A (en) * 1997-06-30 1999-01-06 Ericsson Telefon Ab L M A self-healing meshed network
US6490244B1 (en) * 2000-03-09 2002-12-03 Nortel Networks Limited Layer 3 routing in self-healing networks
DE60202766T2 (de) * 2001-04-23 2006-01-19 Transmode Systems Ab Optisches cwdm-system
CN1581813A (zh) * 2003-08-01 2005-02-16 光桥科技(中国)有限公司 在以太网上应用逻辑环网进行数据传输的方法

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007115456A1 (fr) * 2006-04-11 2007-10-18 Huawei Technologies Co., Ltd Procédé, dispositif et système de réseau en boucle permettant d'éliminer le message d'erreur id en boucle du réseau en boucle
CN101079800B (zh) * 2006-08-07 2010-07-28 腾讯科技(深圳)有限公司 一种提高p2p网络稳定性的方法及系统
WO2008025285A1 (fr) * 2006-08-31 2008-03-06 Huawei Technologies Co., Ltd. Procédé et dispositif pour obtenir un service de multidiffusion avec des types multiples de protection et de récupération
US8098576B2 (en) 2006-08-31 2012-01-17 Huawei Technologies Co., Ltd. Method and apparatus for providing a multicast service with multiple types of protection and recovery
CN101026613B (zh) * 2007-04-04 2010-12-22 杭州华三通信技术有限公司 数据链接保护方法及装置
WO2008131624A1 (fr) * 2007-04-27 2008-11-06 Supcon Group Co., Ltd. Système ethernet réparti et son utilisation pour détection de dysfonctionnement
CN101247273B (zh) * 2008-02-27 2011-02-02 北京航空航天大学 分布式环境下服务协同节点组织结构的维护方法
CN101488966A (zh) * 2009-01-14 2009-07-22 深圳市同洲电子股份有限公司 一种视频服务系统
CN101478433B (zh) * 2009-01-16 2011-04-20 哈尔滨工程大学 基于多主体随机决策过程的分布式系统自愈调控方法
WO2010115373A1 (zh) * 2009-04-08 2010-10-14 中兴通讯股份有限公司 基于对等网络的资源信息备份操作方法及对等网络
CN101587453B (zh) * 2009-06-18 2012-01-04 成都市华为赛门铁克科技有限公司 数据备份处理方法、数据存储节点设备及数据存储装置
WO2011103763A1 (zh) * 2010-02-24 2011-09-01 华为技术有限公司 数据容灾的方法、装置及系统
US8775859B2 (en) 2010-02-24 2014-07-08 Huawei Technologies Co., Ltd. Method, apparatus and system for data disaster tolerance
CN102681911A (zh) * 2011-03-09 2012-09-19 腾讯科技(深圳)有限公司 一种配置中心的容灾系统和方法
CN102722146B (zh) * 2012-05-24 2013-12-18 哈尔滨工程大学 具有失效保护的分布式系统控制结构及失效保护方法
CN102722146A (zh) * 2012-05-24 2012-10-10 哈尔滨工程大学 具有失效保护的分布式系统控制结构及失效保护方法
CN103516734A (zh) * 2012-06-20 2014-01-15 阿里巴巴集团控股有限公司 数据处理方法、设备和系统
CN103516734B (zh) * 2012-06-20 2018-01-12 阿里巴巴集团控股有限公司 数据处理方法、设备和系统
CN104182277A (zh) * 2013-05-21 2014-12-03 北大方正集团有限公司 基于多任务系统的分布式系统和方法
CN103298012A (zh) * 2013-06-09 2013-09-11 杭州华三通信技术有限公司 一种ap故障检测方法和设备
CN103298012B (zh) * 2013-06-09 2016-05-04 杭州华三通信技术有限公司 一种ap故障检测方法和设备
CN103592880A (zh) * 2013-11-27 2014-02-19 中国海洋大学 用于大型工程类设备的智能控制器系统
CN103592880B (zh) * 2013-11-27 2015-08-26 中国海洋大学 用于大型工程类设备的智能控制器系统
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策系统及切换方法
CN104767663A (zh) * 2014-01-07 2015-07-08 艾默生网络能源有限公司 一种环形通信网络主节点切换方法、装置及系统
CN104811325B (zh) * 2014-01-24 2018-12-25 华为技术有限公司 一种集群节点控制器监控方法、相关装置以及控制器
CN104077199A (zh) * 2014-06-06 2014-10-01 中标软件有限公司 基于共享磁盘的高可用集群的隔离方法和系统
CN104360926A (zh) * 2014-07-01 2015-02-18 山东明佳科技有限公司 一种计算机组状态监控的方法
CN105450492A (zh) * 2014-08-22 2016-03-30 中国银联股份有限公司 一种自适应环网结构及组网方法
CN104378232A (zh) * 2014-11-10 2015-02-25 东软集团股份有限公司 主备集群组网模式下的脑裂发现、恢复方法及装置
CN104378232B (zh) * 2014-11-10 2018-01-19 东软集团股份有限公司 主备集群组网模式下的脑裂发现、恢复方法及装置
CN106200571A (zh) * 2015-04-28 2016-12-07 因文西斯系统公司 处理控制环境中的分布式计算
CN106200571B (zh) * 2015-04-28 2021-08-17 因文西斯系统公司 处理控制环境中的分布式计算设备及方法
CN105915630A (zh) * 2016-06-01 2016-08-31 东软集团股份有限公司 跨网络数据传输系统及负载均衡调度方法
CN106330531A (zh) * 2016-08-15 2017-01-11 东软集团股份有限公司 节点故障记录和处理的方法以及装置
CN106330531B (zh) * 2016-08-15 2019-05-03 东软集团股份有限公司 节点故障记录和处理的方法以及装置
CN107493218A (zh) * 2017-08-21 2017-12-19 长沙曙通信息科技有限公司 一种备用节点修复故障环形网络实现方法
CN107528730A (zh) * 2017-08-28 2017-12-29 北京格是菁华信息技术有限公司 多重冗余方法、多重冗余服务器以及系统
CN110019065A (zh) * 2017-09-05 2019-07-16 阿里巴巴集团控股有限公司 日志数据的处理方法、装置及电子设备
CN110019065B (zh) * 2017-09-05 2023-05-05 阿里巴巴集团控股有限公司 日志数据的处理方法、装置及电子设备
CN108768794A (zh) * 2018-07-27 2018-11-06 郑州云海信息技术有限公司 一种网络集群的流量检测方法、装置、设备及介质
CN109544827A (zh) * 2018-11-27 2019-03-29 福州市台江区金科电子科技有限公司 带数据备份装置的收银机及其使用方法
CN109544827B (zh) * 2018-11-27 2021-10-29 福州市台江区金科电子科技有限公司 带数据备份装置的收银机及其使用方法
CN109639800B (zh) * 2018-12-14 2022-03-22 深信服科技股份有限公司 一种tcp连接处理方法、装置、设备及存储介质
CN109639800A (zh) * 2018-12-14 2019-04-16 深信服科技股份有限公司 一种tcp连接处理方法、装置、设备及存储介质
CN109787808A (zh) * 2019-04-03 2019-05-21 中国电子科技集团公司第二十八研究所 一种适应广域部署的多数据中心抗毁接替方法
CN113364603A (zh) * 2020-03-06 2021-09-07 华为技术有限公司 环形网络的故障恢复方法及物理节点
WO2021175226A1 (zh) * 2020-03-06 2021-09-10 华为技术有限公司 环形网络的故障恢复方法及物理节点
CN113746873A (zh) * 2020-05-27 2021-12-03 华为技术有限公司 环形网络中的异常节点处理方法及相关设备
CN117250480A (zh) * 2023-11-08 2023-12-19 英诺达(成都)电子科技有限公司 组合逻辑电路的环路检测方法、装置、设备及存储介质
CN117250480B (zh) * 2023-11-08 2024-02-23 英诺达(成都)电子科技有限公司 组合逻辑电路的环路检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN100387017C (zh) 2008-05-07

Similar Documents

Publication Publication Date Title
CN1741489A (zh) 构建多机系统高可用的自愈合逻辑环故障检测与容忍方法
CN103684941B (zh) 基于仲裁服务器的集群裂脑预防方法和装置
CN101043310A (zh) 核心控制系统的双核心控制的镜像备份方法
WO2016058307A1 (zh) 资源的故障处理方法及装置
CN101588304B (zh) 一种vrrp的实现方法和设备
US10728099B2 (en) Method for processing virtual machine cluster and computer system
CN1531262A (zh) 实现网络负载分担功能的网络通信方法
CN106375342A (zh) 一种基于zookeeper技术的系统集群方法及系统
CN1848841A (zh) 路由设备备份方法
CN103457775B (zh) 一种基于角色的高可用虚拟机池化管理系统
CN1317658C (zh) 利用机群节点相互备份的容错方法
CN1949767A (zh) 一种基于虚拟路由器冗余协议的主备路由设备切换方法
CN101571813A (zh) 一种多机集群中主从调度方法
EP3000048A2 (en) System and method for creating highly scalable high availability cluster in a massively parallel processing cluster of machines in a network
CN104378232A (zh) 主备集群组网模式下的脑裂发现、恢复方法及装置
CN101035047A (zh) 环网保护的处理方法
CN104639367A (zh) 一种实现主备服务器切换的方法及系统
CN1722664A (zh) 集群模式下实现网络安全设备高可用性的方法
CN114268581B (zh) 一种实现网络设备高可用和负载分担的方法
WO2023019904A1 (zh) 一种集群中进程协作的方法、系统、设备和存储介质
CN1722628A (zh) 通信系统中设备的倒换方法及其系统
CN113794765A (zh) 基于文件传输的网闸负载均衡方法及装置
CN1852447A (zh) 一种实现加扰器备份的系统及方法
US20090052474A1 (en) Selective build fabric (bf) and reconfigure fabric (rcf) flooding
CN111343260B (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080507

Termination date: 20110901