实现高可用集群中业务组启动的方法及装置的制作方法

文档序号:7887360阅读:211来源:国知局
专利名称:实现高可用集群中业务组启动的方法及装置的制作方法
技术领域
本发明涉及计算机高可用集群技术,尤其涉及实现高可用集群中业务组启动的方法及装置。
背景技术
目前,随着云时代的到来,更多强调的是由大规模计算机组成的计算机集群系统的应用,尤其是高可用集群系统的应用。在一个高可用集群系统中通常以业务组的形式提供多种业务服务,这些业务组可能存在着互斥冲突关系。存在互斥冲突关系的多个业务组称为互斥冲突业务组,这些业务组不能同时启动在一个服务器上,以防止它们由于之间相互排斥而不能正常提供服务。在集群设置中,两个互斥冲突业务组的第一优先服务器是不相同的。由此造成在集群有限的服务器资源中,因启动方式不当而导致集群服务中的业务组不能正常启动来提供最佳的服务。在现有的高可用集群服务中,互斥冲突业务组的启动基本上采用竞争式启动,即把相冲突的业务组启动到最优(资源及运行等)的服务器上。而如果某个业务组无启动服务器,则只好暂不启动。这样将会导致一些业务组不能正常对外提供服务。因此,需要提供一种高可用集群中实现业务组启动的方法,能够尽可能多地启动集群中的业务组,同时在可行的条件下,能够将业务组启动到可启动的优先级最高的服务器上。

发明内容
本发明所要解决的技术问题是提供一种实现高可用集群中业务组启动的方法及装置,能够尽可能多地启动集群中的业务组。为了解决上述技术问题,本发明提供了一种实现高可用集群中业务组启动的方法,包括在有业务组要启动时,若判断该业务组存在多个可启动的服务器,且该业务组存在互斥冲突业务组,则在启动尽可能多的互斥冲突业务组后,启动该业务组。进一步地,若判断该业务组存在多个可启动的服务器,且该业务组存在互斥冲突业务组,则通过最大化启动算法和/或最优化启动算法在启动尽可能多的互斥冲突业务组后,通过最优化启动算法启动该业务组;其中,最大化启动算法是指从该业务组存在的一个或多个互斥冲突业务组可启动的服务器中,挑选出与该业务组可启动的服务器不重叠的服务器启动相应的互斥冲突业务组;最优化启动算法启动互斥冲突业务组或相应业务组是指从多个可启动服务器中找出启动所述互斥冲突业务组或相应业务组优先级最高的服务器或者在唯一可启动服务器上进行启动,然后从可启动服务器记录中删除已启动服务器的记录。
进一步地,该方法还包括若判断该业务组存在多个可启动的服务器,且该业务组不存在互斥冲突业务组, 则直接通过最优化启动算法启动该业务组。进一步地,该方法还包括若判断该业务组只存在一个可启动的服务器,则直接在该服务器上启动该业务组。为了解决上述技术问题,本发明提供了一种实现高可用集群中业务组启动的装置,包括依次连接的业务组启动模块、可启设备查找模块以及冲突业务组查找模块,其中可启设备查找模块,用于在有业务组要启动时,若查找到该业务组存在多个可启动的服务器,则向冲突业务组查找模块输出冲突业务组查找指令;若冲突业务组查找模块返回相应的互斥冲突业务组,则向业务组启动模块输出冲突业务组启动指令;冲突业务组查找模块,用于根据输入的冲突业务组查找指令将查找到的相应业务组的互斥冲突业务组向可启设备查找模块返回;业务组启动模块,用于根据输入的冲突业务组启动指令在启动尽可能多的互斥冲突业务组后,启动该业务组。进一步地,业务组启动模块通过最优化启动算法启动尽可能多的互斥冲突业务组,并通过最优化启动算法启动该业务组;其中,最大化启动算法是指从该业务组存在的一个或多个互斥冲突业务组可启动的服务器中,挑选出与该业务组可启动服务器不重叠的服务器启动相应的互斥冲突业务组;最优化启动算法启动互斥冲突业务组或相应业务组是指从多个可启动服务器中找出启动互斥冲突业务组或相应业务组优先级最高的服务器或者在唯一可启动服务器上进行启动,然后从可启动服务器记录中删除已启动服务器的记录。进一步地,冲突业务组查找模块根据所述冲突业务组查找指令,将相应业务组不存在互斥冲突业务组的查找结果返回给可启设备查找模块;可启设备查找模块根据相应业务组不存在互斥冲突业务组的查找结果,向业务组启动模块输出最优化启动业务组指令;业务组启动模块根据输入的最优化启动业务组指令通过最优化启动算法启动相应的业务组。进一步地,可启设备查找模块若查找该业务组只存在一个可启动的服务器,则向业务组启动模块输出在指定服务器上启动业务组指令;所述业务组启动模块根据在指定服务器上启动业务组指令,直接在指定服务器上启动相应的业务组。本发明结合集群中有限的服务器资源,并根据集群中业务组之间的互斥冲突关系,首先利用最大化启动算法启动尽可能多的业务组;在此基础之上,利用业务组在服务期上启动的优先级不同实现业务组最优化启动。这样既保证了集群提供最多的业务服务,同时也保证了集群发挥最大效能。


图1为本发明的实现高可用集群中业务组启动的方法实施例的流程图;图2为图1方法实施例流程中最优化启动算法实例的流程图;图3为本发明的实现高可用集群中业务组启动的装置实施例的结构框图。
具体实施例方式下面结合附图和优选实施例对本发明的技术方案进行详细地描述。应该理解,以下列举的实施例仅用于说明和解释本发明,而不构成对本发明技术方案的限制。本发明在启动某个组时,首先判断该组现存多少可用启动服务器;假如只存在一个服务器,则直接将业务组启动在该服务器上;倘若有多个可启动服务器,则需要考虑该业务组的互斥冲突业务组(简称冲突业务组)的启动,假如该业务组没有冲突业务组,则可直接利用最优化启动算法启动该业务组;假如存在冲突业务组,则在充分考虑且将尽可能多的互斥冲突业务组启动之后,启动该业务组,实现最大化启动。本发明的实现高可用集群中业务组启动的方法实施例,包括在有业务组要启动时,若判断该业务组存在多个可启动的服务器,且该业务组存在互斥冲突业务组,则在启动尽可能多的互斥冲突业务组后,启动该业务组。在上述方法实施例中,通过最大化启动算法和/或最优化启动算法启动尽可能多的互斥冲突业务组,并通过最优化启动算法启动该业务组;其中,最大化启动算法是指从该业务组存在的一个或多个互斥冲突业务组可启动的服务器中,挑选出与该业务组可启动服务器不重叠的服务器启动相应的互斥冲突业务组;最优化启动算法启动互斥冲突业务组或相应业务组是指从多个可启动服务器中找出启动互斥冲突业务组或相应业务组优先级最高的服务器或者在唯一可启动服务器上进行启动,然后从可启动服务器记录中删除已启动服务器的记录。在上述方法实施例中,若判断该业务组存在多个可启动的服务器,且该业务组不存在互斥冲突业务组, 则直接通过最优化启动算法启动该业务组。在上述方法实施例中,若判断该业务组只存在一个可启动的服务器,直接在该服务器上启动该业务组。图1表示了上述实现高可用集群中业务组启动的方法实施例的流程,包括如下步骤101 有业务组要启动;102:判断针对该业务组是否存在多个可启动服务器,是则执行下一步骤,否则执行步骤114;103 保存该业务组可启动服务器的记录A ;104 判断针对该业务组是否存在互斥冲突业务组(简称冲突业务组),是则执行下一步骤,否则执行步骤113;105 轮询冲突业务组的记录,并获取其中一个冲突业务组;106:判断该冲突业务组是否存在多个可启动服务器,是则执行下一步骤,否则执行步骤112 ;107 保存该冲突业务组可启动服务器的记录B ;108 判断该记录B是否存在记录A以外的其它服务器,是则返回步骤105执行,否则执行下一步骤;109 执行最优化启动算法启动该冲突业务组;110 从记录A中删除已启动的服务器记录;111 判断记录A中可启动的服务器数目是否大于1,是则返回步骤105执行,否则执行步骤113;112 在相应的服务器上启动该冲突业务组,执行步骤110 ;113 执行最优化启动算法启动该业务组,结束流程;114 直接在相应的服务器上启动该业务组,结束流程。图2表示了图1方法实施例流程中步骤109、113执行最优化启动算法实例的流程,包括如下步骤210 判断记录A中是否有多个可启动服务器,是则执行下一步骤,否则执行步骤 230 ;220 从记录A的多个可启动服务器中找出启动相应的业务组优先级最高的服务器;在此,启动相应的业务组优先级最高的服务器是指排除了互斥因素的最适合于启动运行相应业务组的那个服务器。230 在选出的服务器上启动相应的业务组;240 从记录A中删除已启动业务组的服务器记录,结束流程。本发明针对上述方法实施例,相应地还提供了实现高可用集群中业务组启动的装置实施例,包括依次连接的业务组启动模块、可启设备查找模块以及冲突业务组查找模块, 其中可启设备查找模块,用于在有业务组要启动时,若查找到该业务组存在多个可启动的服务器,则向冲突业务组查找模块输出冲突业务组查找指令;若冲突业务组查找模块返回相应的互斥冲突业务组,则向业务组启动模块输出冲突业务组启动指令;冲突业务组查找模块,用于根据输入的冲突业务组查找指令将查找到的相应业务组的互斥冲突业务组向可启设备查找模块返回;业务组启动模块,用于根据输入的互斥冲突业务组启动指令在启动尽可能多的互斥冲突业务组后,启动该业务组。在上述装置实施例中,业务组启动模块通过最优化启动算法启动尽可能多的互斥冲突业务组,并通过最优化启动算法启动该业务组;其中,最大化启动算法是指从该业务组存在的一个或多个互斥冲突业务组可启动的服务器中,挑选出与该业务组可启动服务器不重叠的服务器启动相应的互斥冲突业务组;最优化启动算法启动互斥冲突业务组或相应业务组是指从多个可启动服务器中找出启动互斥冲突业务组或相应业务组优先级最高的服务器或者在唯一可启动服务器上进行启动,然后从可启动服务器记录中删除已启动服务器的记录。在上述装置实施例中,
冲突业务组查找模块根据输入的冲突业务组查找指令,将相应业务组不存在互斥冲突业务组的查找结果返回给可启设备查找模块;可启设备查找模块根据冲突业务组查找模块返回的相应业务组不存在互斥冲突业务组的查找结果,向业务组启动模块输出最优化启动业务组指令;业务组启动模块根据输入的最优化启动业务组指令通过最优化启动算法启动相应的业务组。在上述装置实施例中,可启设备查找模块若查找该业务组只存在一个可启动的服务器,则向业务组启动模块输出在指定服务器上启动业务组指令;业务组启动模块根据输入的在指定服务器上启动业务组指令,直接在指定服务器上启动相应的业务组。本发明结合有限的服务器资源,并根据业务组之间的互斥冲突关系,首先利用最大化启动算法提供最大化启动业务组的方法;在此基础之上,利用业务组在服务期上启动的优先级不一样,实现最优化启动业务组。这样保证了高可用集群能够尽可能多地提供业务服务,以此保证集群最大化的效能。对于本领域的专业人员来说,在了解了本发明内容和原理后,能够在不背离本发明的原理和范围的情况下,根据本发明的方法进行形式和细节上的各种修正和改变,但是这些基于本发明的修正和改变仍在本发明的权利要求保护范围之内。
权利要求
1.一种实现高可用集群中业务组启动的方法,其特征在于,包括在有业务组要启动时,若判断该业务组存在多个可启动的服务器,且该业务组存在互斥冲突业务组,则在启动尽可能多的互斥冲突业务组后,启动该业务组。
2.按照权利要求1所述的方法,其特征在于,所述若判断该业务组存在多个可启动的服务器,且该业务组存在互斥冲突业务组,则通过最大化启动算法和/或最优化启动算法在启动尽可能多的互斥冲突业务组后,通过所述最优化启动算法启动该业务组;其中,最大化启动算法是指从该业务组存在的一个或多个互斥冲突业务组可启动的服务器中,挑选出与该业务组可启动的服务器不重叠的服务器启动相应的互斥冲突业务组; 最优化启动算法启动互斥冲突业务组或相应业务组是指从多个可启动服务器中找出启动所述互斥冲突业务组或所述相应业务组优先级最高的服务器或者在唯一可启动服务器上进行所述启动,然后从可启动服务器记录中删除已启动服务器的记录。
3.按照权利要求2所述的方法,其特征在于,还包括若判断该业务组存在多个可启动的服务器,且该业务组不存在互斥冲突业务组,则直接通过所述最优化启动算法启动该业务组。
4.按照权利要求2所述的方法,其特征在于,还包括若判断该业务组只存在一个可启动的服务器,则直接在该服务器上启动该业务组。
5.一种实现高可用集群中业务组启动的装置,包括依次连接的业务组启动模块、可启设备查找模块以及冲突业务组查找模块,其中可启设备查找模块,用于在有业务组要启动时,若查找到该业务组存在多个可启动的服务器,则向冲突业务组查找模块输出冲突业务组查找指令;若冲突业务组查找模块返回相应的互斥冲突业务组,则向业务组启动模块输出冲突业务组启动指令;冲突业务组查找模块,用于根据输入的所述冲突业务组查找指令将查找到的相应业务组的互斥冲突业务组向可启设备查找模块返回;业务组启动模块,用于根据输入的所述冲突业务组启动指令在启动尽可能多的互斥冲突业务组后,启动该业务组。
6.按照权利要求5所述的装置,其特征在于,所述业务组启动模块通过最优化启动算法启动尽可能多的互斥冲突业务组,并通过最优化启动算法启动该业务组;其中,所述最大化启动算法是指从该业务组存在的一个或多个互斥冲突业务组可启动的服务器中,挑选出与该业务组可启动服务器不重叠的服务器启动相应的互斥冲突业务组;所述最优化启动算法启动互斥冲突业务组或相应业务组是指 从多个可启动服务器中找出启动互斥冲突业务组或相应业务组优先级最高的服务器或者在唯一可启动服务器上进行启动,然后从可启动服务器记录中删除已启动服务器的记录。
7.按照权利要求6所述的装置,其特征在于,所述冲突业务组查找模块根据所述冲突业务组查找指令,将相应业务组不存在互斥冲突业务组的查找结果返回给所述可启设备查找模块;所述可启设备查找模块根据所述相应业务组不存在互斥冲突业务组的查找结果,向所述业务组启动模块输出最优化启动业务组指令;所述业务组启动模块根据输入的所述最优化启动业务组指令通过所述最优化启动算法启动相应的业务组。
8.按照权利要求6所述的装置,其特征在于,所述可启设备查找模块若查找该业务组只存在一个可启动的服务器,则向所述业务组启动模块输出在指定服务器上启动业务组指令;所述业务组启动模块根据所述在指定服务器上启动业务组指令,直接在指定服务器上启动相应的业务组。
全文摘要
本发明披露了实现高可用集群中业务组启动的方法及装置,其中方法包括在有业务组要启动时,若判断该业务组存在多个可启动的服务器,且该业务组存在互斥冲突业务组,则在启动尽可能多的互斥冲突业务组后,启动该业务组。本发明结合集群中有限的服务器资源,并根据集群中业务组之间的互斥冲突关系,首先利用最大化启动算法启动尽可能多的业务组;在此基础之上,利用业务组在服务期上启动的优先级不同实现业务组最优化启动。这样既保证了集群提供最多的业务服务,同时也保证了集群发挥最大效能。
文档编号H04L29/08GK102571965SQ20121001283
公开日2012年7月11日 申请日期2012年1月16日 优先权日2012年1月16日
发明者张书宁, 王婷 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1