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

文档序号:7615189阅读:124来源:国知局
专利名称:构建多机系统高可用的自愈合逻辑环故障检测与容忍方法
技术领域
本发明涉及计算机技术领域,是一种多机系统可扩展自愈合逻辑环故障检测与故障容忍方法,特别涉及一种构建多机系统高可用性的自愈合逻辑环故障检测与容忍方法。
背景技术
高可用性是指当系统中的软件部件或硬件部件出现故障时系统还能持续提供应用服务的性质,这通常是通过在系统中配置冗余的部件来实现的。如果系统中某些部件出现故障,则在系统检测到故障后,其备份部件会接管原部件的工作,继续对外提供服务。高可用系统通常由两个或多个节点组成,这些节点通过互连网络直接或间接相连。
在现有技术中,多机系统的高可用性通常通过集中式或全备份方式来实现,通过集中的一个或者多个主控节点主动检测系统中其他的从节点,从节点完全处于被动状态,其受控于主控节点,主控节点往往成为系统新的性能瓶颈或者单一故障点。全备份通过将多机系统中每个节点所执行的应用任务的核心数据备份到其余的所有节点上来实现,其缺点是备份所需系统开销和网络上的附加流量都很大,不能充分利用资源,总体成本过高,而且物理实现和控制算法实现相对复杂。

发明内容
为了克服上述现有技术的不足,本发明的目的在于,提供一种构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,以消除主从备份方式的性能瓶颈和扩展性问题,消除集中主控方式或专用备份方式的单一故障点、高成本和负载均衡算法复杂的问题,消除分布式全备份或多备份方式下节点任务处理效率不高和系统附加网络流量较大的问题。
本发明的技术方案是这样实现的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.如果因为扩展处理能力或其它原因需要向多机系统中加入新的主机,管理员为其分配一个合适且唯一的逻辑标识,新加入主机向系统中的其余主机发送“加入”消息,系统中的节点收到消息后,根据系统运行情况重新进行负载均衡的任务划分,并重构逻辑环,加入新节点,实现自愈合;多台主机的加入可由每次加入一台,多次加入实现。
权利要求
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所述的构建多机系统高可用的自愈合逻辑环故障检测与容忍方法,其特征在于所述的自动故障容忍功能,需要上层应用的支持,同时也需要将上层应用的核心数据进行备份,每个节点周期性地将自己负载均衡的核心数据发送给其右邻居节点进行备份,在节点发生故障时,根据备份数据自动将失效节点的服务任务切换至环路上的其他节点。
全文摘要
本发明涉及计算机技术领域,是一种用于保证多机系统高可用的自动故障检测与故障容忍方法,它适用于通过网络连接的能进行点对点通信和多播(广播)通信的多机系统。该方法将多机系统中的成员节点组织成一个逻辑虚拟封闭环路,通过环形检测机制实现分布式故障发现,通过逻辑环自愈合机制实现自动故障隔离,通过环形数据备份机制和环形任务接管机制实现系统高可用,通过环形任务迁移和逻辑环自愈合机制实现系统的自动恢复,通过逻辑环自愈合机制和任务重新分配实现系统处理能力在线式动态伸缩。本发明无需设置主控节点,消除了系统单一故障点,数据备份的系统开销小,故障检测通信流量少,处理开销小,可用低成本系统实现。
文档编号H04L12/24GK1741489SQ20051004317
公开日2006年3月1日 申请日期2005年9月1日 优先权日2005年9月1日
发明者伍卫国, 刘爱华, 董小社, 杨文贵, 胡雷钧, 王恩东, 王守昊 申请人:西安交通大学, 浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1