专利名称:改善高可用性系统可靠性的方法和装置的制作方法
技术领域:
本发明涉及计算机技术领域,尤其涉及一种改善高可用性系统可靠性的方法和装置。
背景技术:
随着通信网络技术的飞速发展,电信、金融、电子政务等关键领域对服务器可用性的要求越来越高。为了避免服务器故障造成的巨大损失,可以通过高可用性(HighAvailability, HA)系统缩短常规维护和系统故障引起的停机时间,从而将因软件、硬件和人为造成的故障对业务的影响降低到最小。
HA系统由两台机器通过网络或串口等连接而成,其中,一台机器为工作机,另一台机器为备份机,他们之间可以通过心跳线连接。工作机和备份机通过传送同步信息监测对方的运行情况;当备份机不能在一定的时间内收到同步信息时,备份机认为工作机发生了故障,接管工作机继续提供服务。HA系统可以通过上述过程提高可用性,但是当由于心跳线故障,导致工作机和备份机同时提供服务时,会出现裂脑(Split Brain,SB),导致数据损坏。心跳线不畅通会导致HA系统的状态误判,从而产生裂脑。现有技术中,当一端机器提供服务时,会通过磁盘锁锁住服务相应的资源,使另一端机器如果在该一端机器提供服务时启动该服务,无法获取该服务相应的资源,从而避免了裂脑的产生,改善了 HA系统的可靠性。在改善HA系统可靠性的过程中,发明人发现现有技术存在如下问题由于一端机器提供服务时,会通过磁盘锁锁住服务相应的资源,如果该机器出现死机或崩溃等故障,则不能执行相应的解锁命令,使得其他机器由于无法获取该资源而不能提供服务。
发明内容
本发明实施例提供一种改善高可用性系统可靠性的方法和装置,能够使一端机器出现故障时,由其他机器提供服务。—方面,提供了一种改善高可用性系统可靠性的方法,包括第一机器判断目标业务相应的虚拟互联网协议地址资源是否被使用;所述虚拟互联网协议地址资源未被使用时,所述第一机器获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源;所述目标业务满足预先设置的启动条件时,所述第一机器通过所述虚拟互联网协议地址资源和所述业务资源启动所述目标业务。另一方面,提供了一种改善高可用性系统可靠性的装置,包括互联网协议地址判断模块,用于判断目标业务相应的虚拟互联网协议地址资源是否被使用;资源获取模块,用于所述互联网协议地址判断模块判断出虚拟互联网协议地址资源未被使用时,获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源;
业务启动模块,用于所述目标业务满足预先设置的启动条件时,通过所述资源获取模块获取的虚拟互联网协议地址资源和所述业务资源启动所述目标业务。本发明实施例提供的改善高可用性系统可靠性的方法和装置,目标业务相应的虚拟互联网协议地址资源未被使用时,获取虚拟互联网协议地址资源和业务资源并启动目标业务,在避免了裂脑的产生的同时,使一端机器出现故障时,另一端机器可以直接通过业务相应的资源提供服务。本发明实施例提供的技术方案解决了现有技术中当使用磁盘锁锁住服务相应的资源的机器出现死机或崩溃等故障时,该机器不能执行相应的解锁命令,使得其他机器由于无法获取该资源而不能提供服务的问题。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图I为本发明实施例一提供的改善高可用性系统可靠性的方法的流程图;图2为本发明实施例二提供的改善高可用性系统可靠性的方法的流程图一;图3为本发明实施例二提供的改善高可用性系统可靠性的方法的流程图二 ;图4为本发明实施例三提供的改善高可用性系统可靠性的方法的流程图一;图5为本发明实施例三提供的改善高可用性系统可靠性的方法的流程图二 ;图6为本发明实施例三提供的改善高可用性系统可靠性的方法的流程图三;图7为本发明实施例三提供的改善高可用性系统可靠性的方法的流程图四;图8为本发明实施例三提供的改善高可用性系统可靠性的方法的流程图五;图9为本发明实施例三提供的改善高可用性系统可靠性的方法的流程图六;图10为本发明实施例四提供的改善高可用性系统可靠性的方法的流程图;图11为本发明实施例五提供的改善高可用性系统可靠性的装置的结构示意12为本发明实施例五提供的改善高可用性系统可靠性的装置的结构示意图-* ;图13为本发明实施例五提供的改善高可用性系统可靠性的装置的结构示意图—■
---,图14为本发明实施例五提供的改善高可用性系统可靠性的装置的结构示意图四;图15为本发明实施例五提供的改善高可用性系统可靠性的装置的结构示意图五;图16为本发明实施例五提供的改善高可用性系统可靠性的装置的结构示意图六图17为本发明实施例五提供的改善高可用性系统可靠性的装置的结构示意图七;图18为本发明实施例五提供的改善高可用性系统可靠性的装置的结构示意图八。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了解决现有技术中一端机器通过磁盘锁锁住服务相应的资源时,其他机器由于无法获取服务相应的资源而不能提供服务的问题,本发明实施例提供了一种改善高可用性系统可靠性的方法和装置。如图I所示,本发明实施例一提供的改善高可用性系统可靠性的方法,包括步骤101,第一机器判断目标业务相应的虚拟互联网协议地址资源是否被使用。在本实施例中,第一机器通过步骤101判断目标业务相应的虚拟互联网协议(Internet Protocol, IP)地址资源是否被使用的过程可以包括第一机器向第二机器发送地址解析协议(Address Resolution Protocol, ARP)请求包;然后通过判断第一机器是否接收到第二机器的回复包判断目标业务相应的虚拟互联网协议地址资源是否被使用。第一机器还可以通过其他方式判断目标业务相应的虚拟互联网协议地址资源是否被使用,在此不再一一赘述。在本实施例中,第一机器可以直接通过步骤101判断目标业务相应的虚拟互联网协议地址资源是否被使用;也可以首先确定目标业务是否在第一机器运行,当目标业务未在第一机器运行时,通过步骤101判断目标业务相应的虚拟互联网协议地址资源是否被使用,在此不作限制。在本实施例中,如果通过步骤101确定目标业务相应的虚拟互联网协议地址资 源被使用,可选的,可以通过步骤101重新判断目标业务相应的虚拟互联网协议地址资源是否被使用,直到确定目标业务相应的虚拟互联网协议地址资源未被使用;如果通过步骤101确定目标业务相应的虚拟互联网协议地址资源未被使用,可以通过步骤102获取该虚拟互联网协议地址资源和目标业务所需的资源。步骤102,该虚拟互联网协议地址资源未被使用时,第一机器获取该虚拟互联网协议地址资源和目标业务所需的业务资源。在本实施例中,第一机器通过步骤101确定目标业务相应的虚拟互联网协议地址资源未被使用后,第一机器可以在接收到第二机器发送的目标业务的启动指令时,该第一机器通过步骤102获取该虚拟互联网协议地址资源和目标业务所需的业务资源;第一机器也可以在目标业务达到预先设置的运行等待时间时,该第一机器通过步骤102获取该虚拟互联网协议地址资源和目标业务所需的业务资源,在此不作限制。其中,预先设置的运行等待时间,可以为业务未运行时,进行状态变化需要等待的时间;为了使重新启动业务时确保业务可以在主机上运行,主机上不能运行的业务由备机运行,可以将主备机设置不同的运行等待时间。在本实施例中,如果通过步骤101确定目标业务相应的虚拟互联网协议地址资源未被使用,第一机器可以直接通过步骤102获取该虚拟互联网协议地址资源和目标业务所需的资源;第一机器也可以首先判断目标业务是否满足预先设置的启动条件,当满足预先设置的启动条件时,通过步骤102获取虚拟互联网协议地址资源和目标业务所需的资源。步骤103,目标业务满足预先设置的启动条件时,第一机器通过虚拟互联网协议地址资源和业务资源启动目标业务。在本实施例中,目 标业务满足预先设置的启动条件时,第一机器可以直接通过步骤103启动目标业务;也可以首先判断目标业务是否在第二机器运行,当确定目标业务未在第二机器运行且目标业务满足预先设置的启动条件时,第一机器通过步骤103启动目标业务。其中,可以通过判断虚拟互联网协议地址资源是否被使用,确定目标业务是否在第二机器运行;也可以通过心跳信息判断目标业务是否在第二机器运行;还可以通过上述两种方法的结合判断目标业务是否在第二机器运行。在本实施例中,目标业务满足预先设置的启动条件,可以包括第一机器未接收到第二机器发送的禁止启动该目标业务的请求,第一机器未接收到停止启动该目标业务的请求,第一机器能够为该目标业务提供相应的服务。其中,第一机器能够为该目标业务提供相应的服务,可以通过第一机器与网关的连通性,第一机器中目标业务相应的存储区的可靠性确定;也可以通过其他方式确定,在此不再--赘述。在本实施例中,通过上述过程,可以使第二机器运行目标业务时,第一机器无法运行,从而防止裂脑的产生;在上述过程中,为了避免第一机器或第二机器不能运行目标业务时,占用目标业务相应的资源,第一机器还可以通过判断能否与目标业务的通道正确通信控制该资源的释放;为了使第一机器能够快速启动或停止目标业务,第一机器还可以通过接收启动或禁止请求控制目标业务的启动或停止;为了避免第一机器和第二机器同时获取虚拟互联网协议地址资源并启动目标业务时,产生裂脑,第一机器可以在启动目标业务之前,判断第二机器是否获取虚拟互联网协议地址资源,并在第二机器获取虚拟互联网协议地址资源时,使第二机器释放该虚拟互联网协议地址资源;为了避免第二机器在第一机器正在启动目标业务时运行目标业务,产生裂脑,第一机器可以在正在启动目标业务时,检测第二机器是否正在运行该目标业务,并在第二机器正在运行目标业务时,第一机器停止启动该目标业务并释放虚拟互联网资源和业务资源。在本实施例中,第一机器可以为工作机或备份机,相应地,第二机器可以为备份机或工作机。本发明实施例提供的改善高可用性系统可靠性的方法,目标业务相应的虚拟互联网协议地址资源未被使用时,获取虚拟互联网协议地址资源和业务资源并启动目标业务,在避免了裂脑的产生的同时,使一端机器出现故障时,另一端机器可以直接通过业务相应的资源提供服务。本发明实施例提供的技术方案解决了现有技术中当使用磁盘锁锁住服务相应的资源的机器出现死机或崩溃等故障时,该机器不能执行相应的解锁命令,使得其他机器由于无法获取该资源而不能提供服务的问题。如图2所示,本发明实施例二提供的改善高可用性系统可靠性的方法,包括步骤201至步骤203,判断目标业务相应的虚拟互联网协议地址资源是否被使用,并在目标业务相应的虚拟互联网协议地址资源未被使用时,启动目标业务。具体过程与图I所示的步骤101至步骤103相似,在此不再一一赘述。步骤204,第一机器判断目标业务是否已运行。 在本实施例中,第一机器通过步骤203启动目标业务后,可以通过步骤204判断该目标业务是否已运行。第一机器可以通过运行模块的心跳信息确定该目标业务是否已运行,也可以通过其他方式确定目标业务是否已运行,在此不再一一赘述。在本实施例中,为了防止第一机器正在启动目标业务时,通过步骤204判断目标业务是否已运行,造成第一机器的误判。第一机器可以在启动目标业务预先设置的时间后,通过步骤204判断目标业务是否已运行;第一机器也可以启动目标业务后,通过步骤204多次判断目标业务是否已运行,并根据多次判断结果得出目标业务是否已运行的最终结果。在本实施例中,如果通过步骤204确定目标业务已运行,此时该第一机器能够为目标业务提供服务;如果通过步骤204确定目标业务未运行,此时该第一机器可能是由于资源等原因无法运行该目标业务,可以通过步骤205释放虚拟互联网协议地址资源和业务资源,使得第二机器检测到业务未运行时,通过第二机器启动该目标业务。步骤205,目标业务未运行时,第一机器释放虚拟互联网协议地址资源和业务资源,以使得与第一机器相连的第二机器检测到目标业务未运行时,第二机器获取该虚拟互联网协议地址资源和业务资源,并启动该目标业务。 在本实施例中,为了使第一机器由于资源等原因无法运行的业务能够在其他机器运行,第一机器可以通过步骤205在目标业务启动后却未运行时,释放虚拟互联网协议地址资源和业务资源,以使得与第一机器相连的第二机器通过心跳信息检测到第一机器未运行目标业务时,获取该虚拟互联网协议地址资源和业务资源,以实现目标业务的启动。进一步的,如图3所示,为了防止使用PING变化的互联网协议地址的方法检查业务时,由于两台机器检查同一变化的互联网协议地址,导致系统误判,产生裂脑的问题,本实施例提供的改善高可用性系统可靠性的方法,还可以包括步骤206,目标业务已运行时,第一机器检测第二机器是否正在运行目标业务。在本实施例中,第一机器通过步骤204确定目标业务已运行时,可以通过步骤206检测第二机器是否正在运行目标业务。步骤206检测第二机器是否正在运行目标业务的方式,可以为通过心跳信息检测第二机器是否正在运行目标业务;也可以通过其他方式检测第二机器是否正在运行目标业务,在此不再一一赘述。步骤207,第二机器正在运行目标业务时,如果第一机器中目标业务预先设置的优先级低于第二机器,第一机器释放虚拟互联网协议地址资源和业务资源。在本实施例中,通过步骤206确定第二机器正在运行目标业务时,如果第一机器中目标业务预先设置的优先级低于第二机器,第一机器可以通过步骤207释放虚拟互联网协议地址资源和业务资源。可选的,如果第一机器中目标业务预先设置的优先级高于第二机器,可以通过第二机器释放目标业务相应的虚拟互联网协议地址资源和业务资源。 在本实施例中,通过上述过程,可以使第二机器运行目标业务时,第一机器无法运行,从而防止裂脑的产生;在上述过程中,为了避免第一机器或第二机器不能运行目标业务时,占用目标业务相应的资源,第一机器还可以通过判断能否与目标业务的通道正确通信控制该资源的释放;为了使第一机器能够快速启动或停止目标业务,第一机器还可以通过接收启动或禁止请求控制目标业务的启动或停止;为了避免第一机器和第二机器同时获取虚拟互联网协议地址资源并启动目标业务时,产生裂脑,第一机器可以在启动目标业务之前,判断第二机器是否获取虚拟互联网协议地址资源,并在第二机器获取虚拟互联网协议地址资源时,使第二机器释放该虚拟互联网协议地址资源;为了避免第二机器在第一机器正在启动目标业务时运行目标业务,产生裂脑,第一机器可以在正在启动目标业务时,检测第二机器是否正在运行该目标业务,并在第二机器正在运行目标业务时,第一机器停止启动该目标业务并释放虚拟互联网资源和业务资源。在本实施例中,目标业务满足预先设置的启动条件,可以包括第一机器未接收到第二机器发送的禁止启动该目标业务的请求,第一机器未接收到停止启动该目标业务的请求,第一机器能够为该目标业务提供相应的服务。其中,第一机器能够为该目标业务提供相应的服务,可以通过第一机器与网关的连通性,第一机器中目标业务相应的存储区的可靠性确定;也可以通过其他方式确定,在此不再--赘述。在本实施例中,第一机器可以为工作机或备份机,相应地,第二机器可以为备份机或工作机。本发明实施例提供的改善高可用性系统可靠性的方法,第一机器可以在目标业务 启动后却未运行时,释放虚拟互联网协议地址资源和业务资源,使与第一机器相连的第二机器通过心跳信息检测到第一机器未运行目标业务时,获取该虚拟互联网协议地址资源和业务资源,以实现目标业务的启动;该技术方案解决了现有技术中目标业务由于资源原因无法在第一机器上运行时,也无法在第二机器上运行的问题,提高了高可用性系统的可靠性。在第一机器运行目标业务时,通过检测第二机器是否运行目标业务,并在第二机器运行目标业务时,根据第一机器中目标业务的优先级,释放虚拟互联网协议地址资源和业务资源;该技术方案解决了现有技术中使用PING变化的互联网协议地址的方法检查业务时,由于两台机器检查同一变化的互联网协议地址,导致系统误判,产生裂脑的问题。本发明实施例提供的改善高可用性系统可靠性的方法,目标业务相应的虚拟互联网协议地址资源未被使用时,获取虚拟互联网协议地址资源和业务资源并启动目标业务在避免了裂脑的产生的同时,使一端机器出现故障时,另一端机器可以直接通过业务相应的资源提供服务。本发明实施例提供的技术方案解决了现有技术中当使用磁盘锁锁住服务相应的资源的机器出现死机或崩溃等故障时,该机器不能执行相应的解锁命令,使得其他机器由于无法获取该资源而不能提供服务的问题。如图4所示,本发明实施例三提供的改善高可用性系统可靠性的方法,包括步骤401至步骤403,判断目标业务相应的虚拟互联网协议地址资源是否被使用,并在目标业务相应的虚拟互联网协议地址资源未被使用时,启动目标业务。具体过程与图I所示的步骤101至步骤103相似,在此不再一一赘述。在本实施例中,通过上述过程,可以使第二机器运行目标业务时,第一机器无法运行,从而防止裂脑的产生。进一步的,为了避免第一机器不能运行目标业务时,占用目标业务相应的资源,如图5所示,本发明实施例提供的改善高可用性系统可靠性的方法,还可以包括步骤404,第一机器判断能否与目标业务的通道正确通信。在本实施例中,通过步骤404判断能否与目标业务的通道正确通信的过程包括第一机器向目标业务的通道发送数据包;第一机器根据能否收到目标业务的通道发送的反馈数据判断能否与目标业务的通道正确通信。还可以使用其他方式判断能否与目标业务的通道正确通信,在此不再一一赘述。步骤405,第一机器不能与目标业务的通道正确通信时,该第一机器释放获取的资源。在本实施例中,通过步骤404判断能否与目标业务的通道正确通信的过程,可以在通过步骤403启动目标业务之后进行,如图5所示;也可以在步骤401至步骤403任意步骤之前进行,在此不再一一赘述。进一步的,为了使第二机器能够快速启动业务,如图6所示,本发明实施例提供的改善高可用性系统可靠性的方法,还包括步骤406,第一机器向第二机器发送第二业务的启动请求,使第二机器接收到启动请求后,启动该第二业务。在本实施例中,当第一机器无法启动第二业务时,可以通过步骤406向第二机器发送第二业务的启动请求,使得第一机器无法启动的业务能够在第二机器上快速启动。通过步骤406发送启动请求的过程,可以在通过步骤403启动目标业务之后进行,如图6所示;也可以在步骤401至步骤403任意步骤之前进行,在此不再一一赘述。 进一步的,为了使第二机器能够快速停止业务,如图7所示,本发明实施例提供的改善高可用性系统可靠性的方法,包括步骤407,第二机器运行第一业务时,第一机器向第二机器发送第一业务的禁止请求,使第二机器接收到禁止请求后,释放第一业务相应的虚拟互联网协议地址资源和所需的业务资源。在本实施例中,当第一机器检测到第一机器和第二机器同时运行第一业务时,可以通过步骤407向第二机器发送第一业务的禁止请求,使第二机器提前释放第一业务相应的虚拟互联网协议地址资源和所需的业务资源,从而减少裂脑的产生;当第一机器接收到第一业务的运行请求时,也可以通过步骤407向第二机器发送第一业务的禁止请求,避免裂脑的产生。通过步骤407发送禁止请求的过程,可以在通过步骤303启动目标业务之后进行,如图7所示;也可以在步骤401至步骤403任意步骤之前进行,在此不再一一赘述。进一步的,为了避免第一机器正在启动目标业务的过程中,第二机器运行该目标业务产生裂脑,如图8所示,本实施例中改善高可用性系统可靠性的方法,还可以包括步骤408,目标业务正在启动时,第一机器检测第二机器是否正在运行该目标业务。在本实施例中,第一机器通过步骤408检测第二机器是否正在运行目标业务,可以通过判断目标业务相应的虚拟互联网协议地址资源是否被使用确定;也可以通过心跳信息确定;还可以通过其他方式判断目标业务是否在第二机器运行,在此不再一一赘述。在本实施例中,通过步骤408检测第二机器是否正在运行目标业务,如果第二机器正在运行目标业务时,第一机器可以通过步骤410停止启动目标业务并释放虚拟互联网协议地址资源和业务资源;如果第二机器未运行目标业务时,第一机器可以通过步骤409继续启动目标业务。步骤409,第二机器未运行目标业务时,第一机器继续启动该目标业务。步骤410,第二机器正在运行目标业务时,第一机器停止启动该目标业务,并释放虚拟互联网协议地址资源和业务资源。进一步的,为了确保第一机器启动目标业务时,第二机器未运行该目标业务,如图9所示,本实施例中改善高可用性系统可靠性的方法,还可以包括
步骤411,第一机器判断目标业务是否在第二机器运行。在本实施例中,第一机器通过步骤411判断目标业务是否在第二机器运行,可以通过判断目标业务相应的虚拟互联网协议地址资源是否被使用确定;也可以通过心跳信息确定;还可以通过其他方式判断目标业务是否在第二机器运行,在此不再一一赘述。在本实施例中,通过步骤411判断目标业务是否在第二机器运行,如果目标业务在第二机器运行,可选的,第一机器可以首先是释放目标业务相应的虚拟互联网协议地址资源和所需的的业务资源,然后重新通过步骤401判断目标业务相应的虚拟互联网协议地址资源是否被使用;如果目标业务未在第二机器运行,第一机器可以通过步骤403启动该目标业务。在本实施例中,通过步骤411确定目标业务未在第二机器运行后,直接通过步骤403启动该目标业务;也可以多次通过步骤411确定目标业务未在第二机器运行后,通过步骤403启动该目标业务,在此不再一一赘述。
此时,步骤403为,如果目标业务未在第二机器运行,且目标业务满足预先设置的启动条件时,第一机器通过虚拟互联网协议地址资源和业务资源启动该目标业务。在本实施例中,目标业务满足预先设置的启动条件,可以包括第一机器未接收到第二机器发送的禁止启动该目标业务的请求,第一机器未接收到停止启动该目标业务的请求,第一机器能够为该目标业务提供相应的服务。其中,第一机器能够为该目标业务提供相应的服务,可以通过第一机器与网关的连通性,第一机器中目标业务相应的存储区的可靠性确定;也可以通过其他方式确定,在此不再--赘述。在本实施例中,第一机器可以为工作机或备份机,相应地,第二机器可以为备份机或工作机。本发明实施例提供的改善高可用性系统可靠性的方法,通过判断能否与目标业务的通道正确通信,控制资源的释放,解决了现有技术中第一机器不能提供服务时,占用相应的资源的问题。本发明实施例提供的改善高可用性系统可靠性的方法,目标业务相应的虚拟互联网协议地址资源未被使用时,获取虚拟互联网协议地址资源和业务资源并启动目标业务,在避免了裂脑的产生的同时,使一端机器出现故障时,另一端机器可以直接通过业务相应的资源提供服务。本发明实施例提供的技术方案解决了现有技术中当使用磁盘锁锁住服务相应的资源的机器出现死机或崩溃等故障时,该机器不能执行相应的解锁命令,使得其他机器由于无法获取该资源而不能提供服务的问题。如图10所示,本发明实施例四提供的改善高可用性系统可靠性的方法,包括步骤1001至步骤1002,判断目标业务相应的虚拟互联网协议地址资源是否被使用,并在目标业务相应的虚拟互联网协议地址资源未被使用时,获取虚拟互联网协议地址资源和业务资源。具体过程与图I所示的步骤101至步骤102相似,在此不再一一赘述。步骤1003,第一机器检测第二机器是否获取虚拟互联网协议地址资源。在本实施例中,为了避免第一机器获取虚拟互联网协议地址资源时,第二机器同时获取该虚拟互联网协议地址资源,并同时启动目标业务,产生裂脑,第一机器可以通过步骤1003检测第二机器是否获取虚拟互联网协议地址资源。在本实施例中,为了方便检测第二机器是否获取虚拟互联网协议地址资源,高可用性系统可以在第一机器和/或第二机器获取互联网协议地址资源时,记录该状态,使第一机器可以通过高可用性系统的记录检测第二机器是否获取虚拟互联网协议地址资源。步骤1004,第二机器获取虚拟互联网协议地址资源时,第一机器向第二机器发送释放指令,以使得第二机器根据该释放指令释放该虚拟互联网协议地址资源。在本实施例中,为了避免第二机器获取 虚拟互联网协议地址资源后,和第一机器同时启动目标业务,产生裂脑,第一机器可以在第二机器也获取虚拟互联网协议地址资源时,通过步骤1004向第二机器发送释放指令,使第二机器释放相应的虚拟互联网协议地址资源。步骤1005,目标业务满足预先设置的启动条件时,第一机器通过虚拟互联网协议地址资源和业务资源启动目标业务。具体过程与图I所示的步骤103相似,在此不再一一赘述。在本实施例中,目标业务满足预先设置的启动条件,可以包括第一机器未接收到第二机器发送的禁止启动该目标业务的请求,第一机器未接收到停止启动该目标业务的请求,第一机器能够为该目标业务提供相应的服务。其中,第一机器能够为该目标业务提供相应的服务,可以通过第一机器与网关的连通性,第一机器中目标业务相应的存储区的可靠性确定;也可以通过其他方式确定,在此不再--赘述。在本实施例中,第一机器可以为工作机或备份机,相应地,第二机器可以为备份机或工作机。本发明实施例提供的改善高可用性系统可靠性的方法,目标业务相应的虚拟互联网协议地址资源未被使用时,获取虚拟互联网协议地址资源和业务资源并启动目标业务,在避免了裂脑的产生的同时,使一端机器出现故障时,另一端机器可以直接通过业务相应的资源提供服务。本发明实施例提供的技术方案解决了现有技术中当使用磁盘锁锁住服务相应的资源的机器出现死机或崩溃等故障时,该机器不能执行相应的解锁命令,使得其他机器由于无法获取该资源而不能提供服务的问题。如图11所示,本发明实施例五提供的改善高可用性系统可靠性的装置,包括互联网协议地址判断模块1101,用于判断目标业务相应的虚拟互联网协议地址资源是否被使用。在本实施例中,第一机器通过互联网协议地址判断模块1101判断目标业务相应的虚拟互联网协议地址资源是否被使用的过程可以包括第一机器向第二机器发送ARP请求包;然后通过判断第一机器是否接收到第二机器的回复包判断目标业务相应的虚拟互联网协议地址资源是否被使用。第一机器还可以通过其他方式判断目标业务相应的虚拟互联网协议地址资源是否被使用,在此不再一一赘述。在本实施例中,第一机器可以直接通过互联网协议地址判断模块1101判断目标业务相应的虚拟互联网协议地址资源是否被使用;也可以首先确定目标业务是否在第一机器运行,当目标业务未在第一机器运行时,通过互联网协议地址判断模块1101判断目标业务相应的虚拟互联网协议地址资源是否被使用,在此不作限制。在本实施例中,如果通过互联网协议地址判断模块1101确定目标业务相应的虚拟互联网协议地址资源被使用,可选的,可以通过互联网协议地址判断模块1101重新判断目标业务相应的虚拟互联网协议地址资源是否被使用,直到确定目标业务相应的虚拟互联网协议地址资源未被使用;如果通过互联网协议地址判断模块1101确定目标业务相应的虚拟互联网协议地址资源未被使用,可以通过资源获取模块1102获取该虚拟互联网协议地址资源和目标业务所需的资源。资源获取模块1102,用于互联网协议地址判断模块判断出虚拟互联网协议地址资源未被使用时,获取虚拟互联网协议地址资源和目标业务所需的业务资源。在本实施例中,资源获取模块1102可以包括第一获取子模块或者第二获取子模块;第一机器通过互联网协议地址判断模块1101确定目标业务相应的虚拟互联网协议地址资源未被使用后,第一机器可以通过第一获取子模块,在接收到第二机器发送的目标业务的启动指令时,获取该虚拟互联网协议地址资源和目标业务所需的业务资源;第一机器也可以通过第二获取子模块,在目标业务达到预先设置的运行等待时间时,获取该虚拟互联网协议地址资源和目标业务所需的业务资源,在此不作限制。其中,预先设置的运行等待时间,可以为业务未运行时,进行状态变化需要等待的时间;为了使重新启动业务时确保业务可以在主机上运行,主机上不能运行的业务由备机运行,可以将主备机设置不同的运行 等待时间。在本实施例中,如果通过互联网协议地址判断模块1101确定目标业务相应的虚拟互联网协议地址资源未被使用,第一机器可以直接通过资源获取模块1102获取该虚拟互联网协议地址资源和目标业务所需的资源;第一机器也可以首先判断目标业务是否满足预先设置的启动条件,当满足预先设置的启动条件时,通过资源获取模块1102获取虚拟互联网协议地址资源和目标业务所需的资源。业务启动模块1103,用于目标业务满足预先设置的启动条件时,通过资源获取模块获取的虚拟互联网协议地址资源和业务资源启动目标业务。在本实施例中,目标业务满足预先设置的启动条件时,第一机器可以直接通过业务启动模块1103启动目标业务;也可以首先判断目标业务是否在第二机器运行,当确定目标业务未在第二机器运行时,第一机器通过业务启动模块1103启动目标业务。其中,可以通过判断虚拟互联网协议地址资源是否被使用,确定目标业务是否在第二机器运行;也可以通过心跳信息判断目标业务是否在第二机器运行;还可以通过上述两种方法的结合判断目标业务是否在第二机器运行。在本实施例中,通过上述过程,可以使第二机器运行目标业务时,第一机器无法运行,从而防止裂脑的产生;在上述过程中,为了避免第一机器或第二机器不能运行目标业务时,占用目标业务相应的资源,第一机器还可以通过判断能否与目标业务的通道正确通信控制该资源的释放;为了使第一机器能够快速启动或停止目标业务,第一机器还可以通过接收启动或禁止请求控制目标业务的启动或停止;为了避免第一机器和第二机器同时获取虚拟互联网协议地址资源并启动目标业务时,产生裂脑,第一机器可以在启动目标业务之前,判断第二机器是否获取虚拟互联网协议地址资源,并在第二机器获取虚拟互联网协议地址资源时,使第二机器释放该虚拟互联网协议地址资源;为了避免第二机器在第一机器正在启动目标业务时运行目标业务,产生裂脑,第一机器可以在正在启动目标业务时,检测第二机器是否正在运行该目标业务,并在第二机器正在运行目标业务时,第一机器停止启动该目标业务并释放虚拟互联网资源和业务资源。进一步的,如图12所示,本实施例中改善高可用性系统可靠性的装置,还包括
业务判断模块1104,用于判断目标业务是否已运行。在本实施例中,第一机器通过业务启动模块1103启动目标业务后,可以通过业务判断模块1104判断该目标业务是否已运行。第一机器可以通过运行模块的心跳信息确定该目标业务是否已运行,也可以通过其他方式确定目标业务是否已运行,在此不再一一赘述。 在本实施例中,为了防止第一机器正在启动目标业务时,通过业务判断模块1104判断目标业务是否已运行,造成第一机器的误判。第一机器可以在启动目标业务预先设置的时间后,通过业务判断模块1104判断目标业务是否已运行;第一机器也可以启动目标业务后,通过业务判断模块1104多次判断目标业务是否已运行,并根据多次判断结果得出目标业务是否已运行的最终结果。 在本实施例中,如果通过业务判断模块1104确定目标业务已运行,此时该第一机器能够为目标业务提供服务;如果通过业务判断模块1104确定目标业务未运行,此时该第一机器可能是由于资源等原因无法运行该目标业务,可以通过第一资源释放模块1105释放虚拟互联网协议地址资源和业务资源,使得第二机器检测到业务未运行时,通过第二机器启动该目标业务。第一资源释放模块1105,用于业务判断模块判断出目标业务未运行时,释放虚拟互联网协议地址资源和业务资源,以使得第二机器检测到目标业务未运行时,第二机器获取虚拟互联网协议地址资源和业务资源,并启动目标业务。在本实施例中,为了使第一机器由于资源等原因无法运行的业务能够在其他机器运行,第一机器可以通过业务启动模块1103在目标业务启动后却未运行时,释放虚拟互联网协议地址资源和业务资源,以使得与第一机器相连的第二机器通过心跳信息检测到第一机器未运行目标业务时,获取该虚拟互联网协议地址资源和业务资源,以实现目标业务的启动。在本实施例中,通过上述过程,可以使第二机器运行目标业务时,第一机器无法运行,从而防止裂脑的产生;在上述过程中,为了避免第一机器或第二机器不能运行目标业务时,占用目标业务相应的资源,第一机器还可以通过判断能否与目标业务的通道正确通信控制该资源的释放;为了使第一机器能够快速启动或停止目标业务,第一机器还可以通过接收启动或禁止请求控制目标业务的启动或停止;为了确保第一机器运行故障时能自动回复,减少裂脑问题带来的影响,第一机器还可以通过对正在运行的模块的状态监控控制正在运行的模块的恢复重建。进一步的,如图13所示,为了防止使用PING变化的互联网协议地址的方法检查业务时,由于两台机器检查同一变化的互联网协议地址,导致系统误判,产生裂脑的问题,本实施例提供的改善高可用性系统可靠性的装置,还可以包括第一运行检测模块1106,用于所述目标业务已运行时,所述第一机器检测所述第二机器是否正在运行所述目标业务。在本实施例中,第一机器通过业务判断模块1104确定目标业务已运行时,可以通过第一运行检测模块1106检测第二机器是否正在运行目标业务。第一运行检测模块1106检测第二机器是否正在运行目标业务的方式,可以为通过心跳信息检测第二机器是否正在运行目标业务;也可以通过其他方式检测第二机器是否正在运行目标业务,在此不再一一赘述。第二资源释放模块1107,用于所述第二机器正在运行所述目标业务时,如果所述第一机器中所述目标业务预先设置的优先级低于所述第二机器,所述第一机器释放所述虚拟互联网协议地址资源和所述业务资源。在本实施例中,通过第一运行检测模块1106确定第二机器正在运行目标业务时,如果第一机器中目标业务预先设置的优先级低于第二机器,第一机器可以通过第二资源释放模块1107释放虚拟互联网协议地址资源和业务资源。可选的,如果第一机器中目标业务预先设置的优先级高于第二机器,可以通过第二机器释放目标业务相应的虚拟互联网协议地址资源和业务资源。进一步的,如图14所示,为了避免第一机器不能运行目标业务时,占用目标业务相应的资源,本发明实施例提供的改善高可用性系统可靠性的装置,还可以包括
通信判断模块1108,用于判断能否与目标业务的通道正确通信。在本实施例中,通过通信判断模块1108判断能否与目标业务的通道正确通信的过程包括第一机器向目标业务的通道发送数据包;第一机器根据能否收到目标业务的通道发送的反馈数据判断能否与目标业务的通道正确通信。还可以使用其他方式判断能否与目标业务的通道正确通信,在此不再一一赘述。第四资源释放模块1109,用于第一机器不能与目标业务的通道正确通信时,第一机器释放获取的资源。在本实施例中,通过通信判断模块1108判断能否与目标业务的通道正确通信的过程,可以在通过业务启动模块1103启动目标业务之后进行,如图14所示;也可以在互联网协议地址判断模块1101至业务启动模块1103任意模块之前进行,在此不再一一赘述。进一步的,为了使第二机器能够快速启动和/或停止业务,本发明实施例提供的改善高可用性系统可靠性的装置,还可以包括第一请求发送模块和/或第二请求发送模块。其中,第一请求发送模块,用于第二机器运行第一业务时,向第二机器发送第一业务的禁止请求,使第二机器接收到禁止请求后,释放第一业务相应的虚拟互联网协议地址资源和所需的业务资源。在本实施例中,当第一机器无法启动第二业务时,可以通过第一请求发送模块向第二机器发送第二业务的启动请求,使得第一机器无法启动的业务能够在第二机器上快速启动。通过第一请求发送模块发送启动请求的过程,可以在通过业务启动模块1103启动目标业务之后进行;也可以在互联网协议地址判断模块1101至业务启动模块1103任意模块之前进行,在此不再一一赘述。第二请求发送模块,用于向第二机器发送第二业务的启动请求,使第二机器接收到启动请求后,启动第二业务。在本实施例中,当第一机器检测到第一机器和第二机器同时运行第一业务时,可以通过第二请求发送模块向第二机器发送第一业务的禁止请求,使第二机器提前释放第一业务相应的虚拟互联网协议地址资源和所需的业务资源,从而减少裂脑的产生;当第一机器接收到第一业务的运行请求时,也可以通过第二请求发送模块向第二机器发送第一业务的禁止请求,避免裂脑的产生。通过第二请求发送模块发送禁止请求的过程,可以在通过业务启动模块1103启动目标业务之后进行;也可以在互联网协议地址判断模块1101至业务启动模块1103任意模块之前进行,在此不再一一赘述。进一步的,为了确保第一机器运行故障时能自动恢复,减少裂脑问题带来的影响,如图15所示,本实施例中改善高可用性系统可靠性的装置,还可以包括运行判断模块1110,用于判断正在运行的模块是否正常运行,正在运行的模块包括所述互联网协议地址判断模块、资源获取模块、业务启动模块、业务判断模块或第一资源释放模块。在本实施例中,运行判断模块1110中判断正在运行模块是否正常运行,可以通过检查高可用性系统中正在运行模块的心跳信息实现;也可以通过其他方式判断正在运行的模块是否正在运行,在此不再一一赘述。重建模块1111,用于运行判断模块判断出正在运行的模块未正常运行时,重建正在运行的模块。 在本实施例中,通过重建模块1111重建该至少一个模块的过程,可以包括首先获取至少一个模块使用的资源;然后,建立和至少一个模块相同功能的模块。在本实施例中,通过重建模块1111将重建未正常运行的模块,使高可用性系统出现故障时能够自动恢复,减少裂脑带来的影响。进一步的,如图16所示,为了确保第一机器启动目标业务时,第二机器未运行该目标业务,本实施例中改善高可用性系统可靠性的装置,还可以包括启动判断模块1112,用于判断目标业务是否在第二机器运行。在本实施例中,第一机器通过启动判断模块1112判断目标业务是否在第二机器运行,可以通过判断目标业务相应的虚拟互联网协议地址资源是否被使用确定;也可以通过心跳信息确定;还可以通过其他方式判断目标业务是否在第二机器运行,在此不再一一赘述。在本实施例中,通过启动判断模块1112判断目标业务是否在第二机器运行,如果目标业务在第二机器运行,可选的,第一机器可以首先是释放目标业务相应的虚拟互联网协议地址资源和所需的的业务资源,然后重新通过互联网协议地址判断模块1101判断目标业务相应的虚拟互联网协议地址资源是否被使用;如果目标业务未在第二机器运行,第一机器可以通过业务启动模块1103启动该目标业务。在本实施例中,通过启动判断模块1112确定目标业务未在第二机器运行后,直接通过业务启动模块1103启动该目标业务;也可以多次通过启动判断模块1112确定目标业务未在第二机器运行后,通过业务启动模块1103启动该目标业务,在此不再一一赘述。此时,该业务启动模块1103,用于如果目标业务未在第二机器运行,且目标业务满足预先设置的启动条件时,通过虚拟互联网协议地址资源和业务资源启动目标业务。进一步的,如图17所示,本实施例中改善高可用性系统可靠性的装置,还可以包括资源检测模块1113,用于检测所述第二机器是否获取所述虚拟互联网协议地址资源。在本实施例中,为了避免第一机器获取虚拟互联网协议地址资源时,第二机器同时获取该虚拟互联网协议地址资源,并同时启动目标业务,产生裂脑,第一机器可以通过资源检测模块1113检测第二机器是否获取虚拟互联网协议地址资源。在本实施例中,为了方便检测第二机器是否获取虚拟互联网协议地址资源,高可用性系统可以在第一机器和/或第二机器获取互联网协议地址资源时,记录该状态,使第一机器可以通过高可用性系统的记录检测第二机器是否获取虚拟互联网协议地址资源。指令发送模块1114,用于所述第二机器获取所述互联网协议地址资源时,向所述第二机器发送释放指令,以使得所述第二机器根据所述释放指令释放所述虚拟互联网协议地址资源。在本实施例中,为了避免第二机器获取虚拟互联网协议地址资源后,和第一机器 同时启动目标业务,产生裂脑,第一机器可以在第二机器也获取虚拟互联网协议地址资源时,通过指令发送模块1114向第二机器发送释放指令,使第二机器释放相应的虚拟互联网协议地址资源。进一步的,如图18所示,本实施例中改善高可用性系统可靠性的装置,还可以包括第二运行检测模块1115,用于所述目标业务正在启动时,检测所述第二机器是否正在运行所述目标业务。在本实施例中,第一机器通过第二运行检测模块1115检测第二机器是否正在运行目标业务,可以通过判断目标业务相应的虚拟互联网协议地址资源是否被使用确定;也可以通过心跳信息确定;还可以通过其他方式判断目标业务是否在第二机器运行,在此不再赘述。在本实施例中,通过第二运行检测模块1115检测第二机器是否正在运行目标业务,如果第二机器正在运行目标业务时,第一机器可以通过第三资源释放模块1117停止启动目标业务并释放虚拟互联网协议地址资源和业务资源;如果第二机器未运行目标业务时,第一机器可以通过继续启动模块1116继续启动目标业务。继续启动模块1116,用于所述第二机器未运行所述目标业务时,继续启动所述目标业务;第三资源释放模块1117,用于所述第二机器正在运行所述目标业务时,停止启动所述目标业务,并释放所述虚拟互联网协议地址资源和所述业务资源。在本实施例中,目标业务满足预先设置的启动条件,可以包括第一机器未接收到第二机器发送的禁止启动该目标业务的请求,第一机器未接收到停止启动该目标业务的请求,第一机器能够为该目标业务提供相应的服务。其中,第一机器能够为该目标业务提供相应的服务,可以通过第一机器与网关的连通性,第一机器中目标业务相应的存储区的可靠性确定;也可以通过其他方式确定,在此不再--赘述。在本实施例中,第一机器可以为工作机或备份机,相应地,第二机器可以为备份机或工作机。本发明实施例提供的改善高可用性系统可靠性的装置,第一机器可以在目标业务启动后却未运行时,释放虚拟互联网协议地址资源和业务资源,使与第一机器相连的第二机器通过心跳信息检测到第一机器未运行目标业务时,获取该虚拟互联网协议地址资源和业务资源,以实现目标业务的启动;该技术方案解决了现有技术中目标业务由于资源原因无法在第一机器上运行时,也无法在第二机器上运行的问题,提高了高可用性系统的可靠性。在第一机器运行目标业务时,通过检测第二机器是否运行目标业务,并在第二机器运行目标业务时,根据第一机器中目标业务的优先级,释放虚拟互联网协议地址资源和业务资源;该技术方案解决了现有技术中使用PING变化的互联网协议地址的方法检查业务时,由于两台机器检查同一变化的互联网协议地址,导致系统误判,产生裂脑的问题;通过判断能否与目标业务的通道正确通信,控制资源的释放,解决了现有技术中第一机器不能提供服务时,占用相应的资源的问题;通过在模块未正常运行时,重建该模块,使高可用性系统出现故障时能够自动恢复,减少裂脑带来的影响。本发明实施例提供的改善高可用性系统可靠性的装置,目标业务相应的虚拟互联网协议地址资源未被使用时,获取虚拟互联网协议地址资源和业务资源并启动目标业务,在避免了裂脑的产生的同时,使一端机器出现故障时,另一端机器可以直接通过业务相应 的资源提供服务。本发明实施例提供的技术方案解决了现有技术中当使用磁盘锁锁住服务相应的资源的机器出现死机或崩溃等故障时,该机器不能执行相应的解锁命令,使得其他机器由于无法获取该资源而不能提供服务的问题。本发明实施例提供的改善高可用性系统可靠性的方法和装置,可以应用在高可用性系统中。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种改善高可用性系统可靠性的方法,其特征在于,包括 第一机器判断目标业务相应的虚拟互联网协议地址资源是否被使用; 所述虚拟互联网协议地址资源未被使用时,所述第一机器获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源; 所述目标业务满足预先设置的启动条件时,所述第一机器通过所述虚拟互联网协议地址资源和所述业务资源启动所述目标业务。
2.根据权利要求I所述的改善高可用性系统可靠性的方法,其特征在于,还包括 所述第一机器判断所述目标业务是否已运行; 所述目标业务未运行时,所述第一机器释放所述虚拟互联网协议地址资源和所述业务资源,以使得与所述第一机器相连的第二机器检测到所述目标业务未运行时,所述第二机器获取所述虚拟互联网协议地址资源和所述业务资源,并启动所述目标业务。
3.根据权利要求2所述的改善高可用性系统可靠性的方法,其特征在于,还包括 所述目标业务已运行时,所述第一机器检测所述第二机器是否正在运行所述目标业务; 所述第二机器正在运行所述目标业务时,如果所述第一机器中所述目标业务预先设置的优先级低于所述第二机器,所述第一机器释放所述虚拟互联网协议地址资源和所述业务资源。
4.根据权利要求I所述的改善高可用性系统可靠性的方法,其特征在于,在所述第一机器通过所述虚拟互联网协议地址资源和所述业务资源启动所述目标业务之前,所述方法还包括 所述第一机器检测所述第二机器是否获取所述虚拟互联网协议地址资源; 所述第二机器获取所述虚拟互联网协议地址资源时,所述第一机器向所述第二机器发送释放指令,以使得所述第二机器根据所述释放指令释放所述虚拟互联网协议地址资源。
5.根据权利要求I所述的改善高可用性系统可靠性的方法,其特征在于,还包括 所述目标业务正在启动时,所述第一机器检测所述第二机器是否正在运行所述目标业务; 所述第二机器未运行所述目标业务时,所述第一机器继续启动所述目标业务; 所述第二机器正在运行所述目标业务时,所述第一机器停止启动所述目标业务,并释放所述虚拟互联网协议地址资源和所述业务资源。
6.根据权利要求I所述的改善高可用性系统可靠性的方法,其特征在于,所述第一机器获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源,包括 接收到所述第二机器发送的所述目标业务的启动指令时,所述第一机器获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源;或者, 所述目标业务达到预先设置的运行等待时间时,所述第一机器获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源。
7.根据权利要求I或2所述的改善高可用性系统可靠性的方法,其特征在于,还包括 所述第一机器判断能否与所述目标业务的通道正确通信; 所述第一机器不能与所述目标业务的通道正确通信时,所述第一机器释放获取的资源。
8.根据权利要求I或2所述的改善高可用性系统可靠性的方法,其特征在于,还包括 所述第二机器运行第一业务时,所述第一机器向所述第二机器发送所述第一业务的禁止请求,使所述第二机器接收到所述禁止请求后,释放所述第一业务相应的虚拟互联网协议地址资源和所需的业务资源;和/或 所述第一机器向所述第二机器发送第二业务的启动请求,使所述第二机器接收到所述启动请求后,启动所述第二业务。
9.根据权利要求I所述的改善高可用性系统可靠性的方法,其特征在于,在所述第一机器通过所述虚拟互联网协议地址资源和所述业务资源启动所述目标业务之前,所述方法还包括 所述第一机器判断所述目标业务是否在所述第二机器运行; 所述目标业务满足预先设置的启动条件时,所述第一机器通过所述虚拟互联网协议地址资源和所述业务资源启动所述目标业务为如果所述目标业务未在第二机器运行,且所述目标业务满足预先设置的启动条件时,所述第一机器通过所述虚拟互联网协议地址资源和所述业务资源启动所述目标业务。
10.根据权利要求I或9所述的改善高可用性系统可靠性的方法,其特征在于,所述预先设置的启动条件,包括 所述第一机器未接收到所述第二机器发送的禁止启动所述目标业务的请求,所述第一机器未接收到停止启动所述目标业务的请求,所述第一机器能够为所述目标业务提供相应的服务。
11.一种改善高可用性系统可靠性的装置,其特征在于,包括 互联网协议地址判断模块,用于判断目标业务相应的虚拟互联网协议地址资源是否被使用; 资源获取模块,用于所述互联网协议地址判断模块判断出虚拟互联网协议地址资源未被使用时,获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源; 业务启动模块,用于所述目标业务满足预先设置的启动条件时,通过所述资源获取模块获取的虚拟互联网协议地址资源和所述业务资源启动所述目标业务。
12.根据权利要求11所述的改善高可用性系统可靠性的装置,其特征在于,还包括 业务判断模块,用于判断所述目标业务是否已运行; 第一资源释放模块,用于所述业务判断模块判断出目标业务未运行时,释放所述虚拟互联网协议地址资源和所述业务资源,以使得第二机器检测到所述目标业务未运行时,所述第二机器获取所述虚拟互联网协议地址资源和所述业务资源,并启动所述目标业务。
13.根据权利要求12所述的改善高可用性系统可靠性的装置,其特征在于,还包括 第一运行检测模块,用于所述目标业务已运行时,所述第一机器检测所述第二机器是否正在运行所述目标业务; 第二资源释放模块,用于所述第二机器正在运行所述目标业务时,如果所述第一机器中所述目标业务预先设置的优先级低于所述第二机器,所述第一机器释放所述虚拟互联网协议地址资源和所述业务资源。
14.根据权利要求11所述的改善高可用性系统可靠性的装置,其特征在于,还包括 资源检测模块,用于检测所述第二机器是否获取所述虚拟互联网协议地址资源;指令发送模块,用于所述第二机器获取所述互联网协议地址资源时,向所述第二机器发送释放指令,以使得所述第二机器根据所述释放指令释放所述虚拟互联网协议地址资源。
15.根据权利要求11所述的改善高可用性系统可靠性的装置,其特征在于,还包括第二运行检测模块,用于所述目标业务正在启动时,检测所述第二机器是否正在运行所述目标业务; 继续启动模块,用于所述第二机器未运行所述目标业务时,继续启动所述目标业务;第三资源释放模块,用于所述第二机器正在运行所述目标业务时,停止启动所述目标业务,并释放所述虚拟互联网协议地址资源和所述业务资源。
16.根据权利要求11所述的改善高可用性系统可靠性的装置,其特征在于,所述资源 获取模块,包括 第一获取子模块或者第二获取子模块; 所述第一获取子模块,用于接收到所述第二机器发送的所述目标业务的启动指令时,获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源; 所述第二获取子模块,用于所述目标业务达到预先设置的运行等待时间时,获取所述虚拟互联网协议地址资源和所述目标业务所需的业务资源。
17.根据权利要求11或12所述的改善高可用性系统可靠性的装置,其特征在于,还包括 通信判断模块,用于判断能否与所述目标业务的通道正确通信; 第四资源释放模块,用于所述第一机器不能与所述目标业务的通道正确通信时,所述第一机器释放获取的资源。
18.根据权利要求11或12所述的改善高可用性系统可靠性的装置,其特征在于,还包括 第一请求发送模块和/或第二请求发送模块; 所述第一请求发送模块,用于所述第二机器运行第一业务时,向所述第二机器发送所述第一业务的禁止请求,使所述第二机器接收到所述禁止请求后,释放所述第一业务相应的虚拟互联网协议地址资源和所需的业务资源; 所述第二请求发送模块,用于向所述第二机器发送第二业务的启动请求,使所述第二机器接收到所述启动请求后,启动所述第二业务。
19.根据权利要求11或12所述的改善高可用性系统可靠性的装置,其特征在于,还包括 运行判断模块,用于判断正在运行的模块是否正常运行,所述正在运行的模块包括所述互联网协议地址判断模块、资源获取模块、业务启动模块、业务判断模块或第一资源释放模块; 重建模块,用于所述运行判断模块判断出正在运行的模块未正常运行时,重建所述正在运行的模块。
20.根据权利要求11所述的改善高可用性系统可靠性的装置,其特征在于,还包括 启动判断模块,用于判断所述目标业务是否在所述第二机器运行; 所述业务启动模块,用于如果所述目标业务未在第二机器运行,且所述目标业务满足预先设置的启动条件时,通 过所述虚拟互联网协议地址资源和所述业务资源启动所述目标业务。
全文摘要
本发明公开了一种改善高可用性系统可靠性的方法和装置,涉及计算机技术领域。为解决现有技术中一端机器通过磁盘锁锁住服务相应的资源时,其他机器不能提供服务的问题而发明。本发明实施例提供的技术方案包括第一机器判断目标业务相应的虚拟互联网协议地址资源是否被使用;虚拟互联网协议地址资源未被使用时,第一机器获取虚拟互联网协议地址资源和目标业务所需的业务资源;目标业务满足预先设置的启动条件时,第一机器通过虚拟互联网协议地址资源和业务资源启动目标业务。
文档编号H04L29/12GK102742214SQ201180004392
公开日2012年10月17日 申请日期2011年7月13日 优先权日2011年7月13日
发明者刘磊, 宋道建 申请人:青岛海信传媒网络技术有限公司