CN105791337A - 一种升级方法、设备及集群系统 - Google Patents
一种升级方法、设备及集群系统 Download PDFInfo
- Publication number
- CN105791337A CN105791337A CN201410799585.8A CN201410799585A CN105791337A CN 105791337 A CN105791337 A CN 105791337A CN 201410799585 A CN201410799585 A CN 201410799585A CN 105791337 A CN105791337 A CN 105791337A
- Authority
- CN
- China
- Prior art keywords
- cluster
- business
- sub
- upgrading
- equipment
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种升级方法,包括:第三设备将集群划分为至少两个子集群,至少两个子集群包括升级子集群以及业务子集群,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备;第三设备指示升级子集群将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务;第三设备指示升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求业务子集群将第一业务切换到升级后的升级子集群。本发明实施例还公开了一种设备及集群系统。采用本发明,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种升级方法、设备及集群系统。
背景技术
在存储系统的运行过程中,对存储系统进行升级能够使存储系统获得新的功能特性。在升级时,用户通常选择在不中断业务的情况下进行升级,因此只能对存储系统进行在线升级。
存储系统的性能和存储容量可通过集群的方式得以叠加和扩展。集群由若干个设备组成,以集群包括设备E1、设备E2以及设备E3为例,初始状态下设备E1、设备E2以及设备E3的性能均为旧版本。为了使集群在不中断业务的情况下进行升级,在升级时只能选择集群中一部分设备进行升级,另一部分则继续承载业务。若先升级设备E1,则先将设备E1的业务转由设备E2承载,此时设备E2共同承载设备E1以及设备E2的业务。待设备E1升级完成后,设备E1重新接管设备E2当前承载的业务,再对设备E2进行升级。由于每个设备均需要利用这种方式进行升级,因此需要较长时间才能将集群内所有的设备完成升级,从升级总体情况来看,升级流程较为复杂。
此外,每个设备的升级时间(从对设备进行升级至重启设备的时间约10至20分钟)较长,容易导致在集群里出现新版本的设备与旧版本的设备并存的情况。例如,设备与设备之间会不断通过发送大量消息进行通信,若设备E1升级完成而此时设备E3仍未升级,设备E1发送给设备E3的消息为新版本的消息,设备E3却无法识别新版本的消息,导致设备E1和设备E3之间无法正常通信,从而影响到整个集群的在线升级,甚至使集群的运作陷入异常状态。
发明内容
本发明提供一种升级方法、设备及集群系统,能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
本发明第一方面提供一种升级方法,包括:
第三设备将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
所述第三设备指示所述升级子集群将自身运行的第一业务切换到所述业务子集群,以使所述业务子集群运行所述第一业务;
所述第三设备指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群。
结合本发明第一方面的实施方式,在本发明第一方面的第一种可能的实现方式中,所述方法还包括:
所述第三设备指示所述业务子集群的至少一个第二设备升级。
结合本发明第一方面的实施方式,在本发明第一方面的第二种可能的实现方式中,所述第三设备指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群,具体包括:
所述第三设备指示所述升级子集群的至少一个第一设备升级,以使所述升级后的升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级后的升级子集群,所述第二业务为所述业务子集群运行的业务。
本发明第二方面提供一种升级方法,包括:
升级子集群根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使所述业务子集群运行所述第一业务,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级;
所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群,以使所述升级子集群运行所述第一业务。
结合本发明第二方面的实施方式,在本发明第二方面的第一种可能的实现方式中,所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群之前,所述方法还包括:
所述升级子集群获取系统的配置信息,以恢复所述升级子集群的配置。
结合本发明第二方面的实施方式,在本发明第二方面的第二种可能的实现方式中,所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群之后,所述方法还包括:
所述升级子集群接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知;
所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
结合本发明第二方面的第二种可能的实施方式,在本发明第二方面的第三种可能的实现方式中,所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据之后,所述方法还包括:
所述升级子集群接收所述业务子集群发送的指示信息,所述指示信息用于指示所述升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
结合本发明第二方面的第二种可能的实施方式,在本发明第二方面的第四种可能的实现方式中,所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群,具体包括:
所述升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级子集群,所述第二业务为所述业务子集群运行的业务;
则所述升级子集群接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知,具体包括:
所述升级子集群接收所述业务子集群在将所述第一业务的业务数据和元数据以及所述第二业务的业务数据和元数据存储至所述存储模块之后发送的所述切换通知;
则所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据,具体包括:
所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
本发明第三方面提供一种升级方法,包括:
业务子集群接收升级子集群根据第三设备的指示切换的第一业务,以使所述业务子集群运行所述第一业务,所述第一业务为所述升级子集群运行的业务,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
在所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级后,所述业务子集群接收升级后的升级子集群发送的请求;
所述业务子集群根据所述请求将所述第一业务切换到所述升级后的升级子集群,以使所述升级后的升级子集群运行所述第一业务。
结合本发明第三方面的实施方式,在本发明第三方面的第一种可能的实现方式中,所述方法还包括:
所述业务子集群根据所述第三设备的指示对所述业务子集群的至少一个第二设备升级。
结合本发明第三方面的实施方式,在本发明第三方面的第二种可能的实现方式中,所述业务子集群根据所述请求将所述第一业务切换到所述升级后的升级子集群,具体包括:
所述业务子集群根据所述请求将所述第一业务的业务数据和元数据存储至存储模块;
所述业务子集群发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
结合本发明第三方面的第二种可能的实施方式,在本发明第三方面的第三种可能的实现方式中,所述业务子集群发送切换通知给所述升级后的升级子集群之后,所述方法还包括:
所述业务子集群向所述升级后的升级子集群发送指示信息,所述指示信息用于指示所述升级后的升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
结合本发明第三方面的第二种可能的实施方式,在本发明第三方面的第四种可能的实现方式中,所述业务子集群根据所述请求将所述第一业务的业务数据和元数据存储至存储模块,具体包括:
所述业务子集群根据所述请求将所述第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至所述存储模块,所述第二业务为所述业务子集群运行的业务;
所述业务子集群发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据,具体包括:
所述业务子集群发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
本发明第四方面提供一种设备,包括:
划分模块,用于将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
指示模块,用于指示所述升级子集群将自身运行的第一业务切换到所述业务子集群,以使所述业务子集群运行所述第一业务;
所述指示模块,还用于指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群。
结合本发明第四方面的实施方式,在本发明第四方面的第一种可能的实现方式中,所述指示模块,还用于指示所述业务子集群的至少一个第二设备升级。
结合本发明第四方面的实施方式,在本发明第四方面的第二种可能的实现方式中,所述指示模块,具体用于指示所述升级子集群的至少一个第一设备升级,以使所述升级后的升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级后的升级子集群,所述第二业务为所述业务子集群运行的业务。
本发明第五方面提供一种集群系统,包括:
切换模块,用于根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使所述业务子集群运行所述第一业务,所述集群系统包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
升级模块,用于根据所述第三设备的指示对所述集群系统的至少一个第一设备升级;
请求模块,用于请求所述业务子集群将所述第一业务切换到所述集群系统,以使所述集群系统运行所述第一业务。
结合本发明第五方面的实施方式,在本发明第五方面的第一种可能的实现方式中,所述集群系统还包括:
获取模块,用于获取系统的配置信息,以恢复所述集群系统的配置。
结合本发明第五方面的实施方式,在本发明第五方面的第二种可能的实现方式中,所述集群系统还包括:
接收模块,用于接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知;
提取模块,用于根据所述接收模块接收的切换通知从所述存储模块中提取所述第一业务的元数据。
结合本发明第五方面的第二种可能的实施方式,在本发明第五方面的第三种可能的实现方式中,所述接收模块,还用于接收所述业务子集群发送的指示信息,所述指示信息用于指示所述集群系统恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
结合本发明第五方面的第二种可能的实施方式,在本发明第五方面的第四种可能的实现方式中,所述请求模块,具体用于请求所述业务子集群将所述第一业务以及第二业务切换到所述集群系统,所述第二业务为所述业务子集群运行的业务;
所述接收模块,具体用于接收所述业务子集群在将所述第一业务的业务数据和元数据以及所述第二业务的业务数据和元数据存储至所述存储模块之后发送的所述切换通知;
所述提取模块,具体用于根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
本发明第六方面提供一种集群系统,包括:
接收模块,用于接收升级子集群根据第三设备的指示切换的第一业务,以使所述集群系统运行所述第一业务,所述第一业务为所述升级子集群运行的业务,所述升级子集群包括至少一个第一设备,所述集群系统包括至少一个第二设备;
所述接收模块,还用于在所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级后,接收升级后的升级子集群发送的请求;
切换模块,用于根据所述接收模块接收的请求将所述第一业务切换到所述升级后的升级子集群,以使所述升级后的升级子集群运行所述第一业务。
结合本发明第六方面的实施方式,在本发明第六方面的第一种可能的实现方式中,所述集群系统还包括:
升级模块,用于根据所述第三设备的指示对所述集群系统的至少一个第二设备升级。
结合本发明第六方面的实施方式,在本发明第六方面的第二种可能的实现方式中,所述切换模块,具体用于:
根据所述接收模块接收的请求将所述第一业务的业务数据和元数据存储至存储模块;
发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
结合本发明第六方面的第二种可能的实施方式,在本发明第六方面的第三种可能的实现方式中,所述集群系统还包括:
发送模块,用于向所述升级后的升级子集群发送指示信息,所述指示信息用于指示所述升级后的升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
结合本发明第六方面的第二种可能的实施方式,在本发明第六方面的第四种可能的实现方式中,所述切换模块,具体还用于:
根据所述请求将所述第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至所述存储模块,所述第二业务为所述集群系统运行的业务;
发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
采用本发明实施例,第三设备将集群划分为至少两个子集群,至少两个子集群包括升级子集群以及业务子集群,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备;第三设备指示升级子集群将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务;第三设备指示升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求业务子集群将第一业务切换到升级后的升级子集群,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种升级方法的一实施例的流程示意图;
图2是本发明实施例的一种升级方法的一实施例的集群划分示意图;
图3是本发明实施例的一种升级方法的另一实施例的流程示意图;
图4是本发明实施例的一种升级方法的第三实施例的流程示意图;
图5是本发明实施例的一种升级方法的第四实施例的流程示意图;
图6是本发明实施例的一种升级方法的第五实施例的流程示意图;
图7是本发明实施例的一种设备的一实施例的结构示意图;
图8是本发明实施例的一种设备的另一实施例的结构示意图;
图9是本发明实施例的一种集群系统的一实施例的结构示意图;
图10是本发明实施例的一种集群系统的另一实施例的结构示意图;
图11是本发明实施例的一种集群系统的第三实施例的结构示意图;
图12是本发明实施例的一种集群系统的第四实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
采用本发明实施例,能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
请参阅图1,图1是本发明实施例的一种升级方法的一实施例的流程示意图。本发明实施例所涉及的第三设备、第一设备以及第二设备可为控制器、服务器、节点等设备。本发明实施例基于集群脑裂的思想,将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群,使得每个子集群能够独立执行,例如一个子集群负责接管并运行业务,而另一个子集群包括的至少一个设备则可进行升级。
如图1所示,本发明实施例的一种升级方法的一实施例可以包括以下步骤。
S100,第三设备将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备。
具体实现中,第三设备可将集群分为至少两个子集群,其中一个子集群可为升级子集群,另一个子集群可为业务子集群。本发明实施例以将集群划分为升级子集群和业务子集群为例,升级子集群用于单独为升级子集群包括的至少一个第一设备进行升级,而业务子集群则用于在第三设备指示升级子集群包括的至少一个第一设备进行升级时承载升级子集群正在运行的业务,保证在线升级时集群的业务不中断。初始状态下,互为备份的两个设备组成一个引擎,由至少一个这样的引擎组成集群。如图2所示,该集群有多个引擎,其中,引擎E0包含设备A0和设备B0,引擎E1包含设备A1和设备B1,引擎E2包含设备A2和设备B2,引擎E3包含设备A3和设备B3。在第三设备划分时,将集群划分为至少两个子集群,其中包括升级子集群以及业务子集群,则升级子集群包括设备A0、设备A1、设备A2以及设备A3,业务子集群包括设备B0、设备B1、设备B2以及设备B3。升级子集群包括的设备A0、设备A1、设备A2以及设备A3之间可相互通信,业务子集群包括的设备B0、设备B1、设备B2以及设备B3之间也可相互通信。将集群划分为至少两个子集群的方式能将子集群的设备与其他子集群的设备进行隔离,子集群内的设备能够共同升级成为新版本的设备,或者共同运行业务,避免子集群内存在新版本设备和旧版本设备并存的情况。
作为一种可实施的方式,升级子集群可与业务子集群相互通信,具体的,子集群可在包括的至少一个设备中决策出其中一个设备作为集群主,以代表该子集群与其他子集群的集群主通信,使子集群内的其他设备不能与其他子集群包括的设备进行通信。若升级子集群包括的设备A0、设备A1、设备A2以及设备A3均已升级,业务子集群包括的设备B0、设备B1、设备B2以及设备B3还未升级,由于升级子集群包括的设备A0、设备A1、设备A2以及设备A3不能向业务子集群包括的设备B0、设备B1、设备B2以及设备B3发送消息,因此不会影响业务子集群的设备B0、设备B1、设备B2以及设备B3的升级,能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
作为一种可实施的方式,在第三设备将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群之前,可检测集群的状态,判断该集群是否能升级。若判断为是,则执行步骤S101,即对集群在不中断业务的情况下进行升级。在对集群进行升级的过程中,停止修改集群的配置信息等相关参数。若判断为否,则结束流程。
S101,所述第三设备指示所述升级子集群将自身运行的第一业务切换到所述业务子集群,以使所述业务子集群运行所述第一业务。
具体实现中,第三设备若先对升级子集群包括的至少一个第一设备进行升级,则指示升级子集群先将自身正在运行的第一业务切换给业务子集群,使业务子集群运行第一业务,保证升级子集群在升级时正在运行的业务不中断。
作为一种可实施的方式,业务子集群在接收升级子集群切换的第一业务之前还可运行第二业务,因此若业务子集群此时正在运行第二业务,在业务子集群接收升级子集群切换的第一业务后,业务子集群运行第一业务和第二业务。
S102,所述第三设备指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群。
具体实现中,在升级子集群将自身运行的第一业务切换到业务子集群之后,第三设备指示升级子集群的至少一个第一设备升级,使至少一个第一设备全部升级后均成为新版本的设备。随后,升级后的升级子集群向业务子集群发送请求,该请求用于请求业务子集群将正在运行的第一业务再次切换回升级后的升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务。
作为一种可实施的方式,第三设备可发送新版本的软件包给升级子集群的至少一个第一设备,使至少一个第一设备均采用新版本的软件包进行升级。
可选的,所述第三设备指示所述升级子集群的至少一个第一设备升级,以使所述升级后的升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级后的升级子集群,所述第二业务为所述业务子集群运行的业务。
具体实现中,第一业务和第二业务均为系统运行的业务的一部分。若业务子集群同时运行第一业务以及第二业务,且业务子集群的至少一个第二设备均为未升级的旧版本的设备,则升级后的升级子集群向业务子集群发送的请求用于请求业务子集群将正在运行的第一业务以及第二业务再次切换给升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务以及第二业务。
可选的,本实施例的一种升级方法的一实施例还可包括步骤S103(未图示)。
S103,所述第三设备指示所述业务子集群的至少一个第二设备升级。
具体实现中,在业务子集群将第一业务切换到升级子集群后,升级子集群继续运行第一业务。若业务子集群的至少一个第二设备在升级子集群升级之前已为新版本的设备,则无需执行步骤S103;若业务子集群的至少一个第二设备仍为未升级的旧版本的设备,第三设备则对业务子集群的至少一个第二设备进行升级。在至少一个第二设备全部升级后均为新版本的设备,最后完成对集群的整体升级的操作,恢复集群中所有设备之间的通信。
作为一种可实施的方式,若在步骤S102中升级后的升级子集群在进行切换后运行的是第一业务以及第二业务,则在业务子集群升级后,业务子集群可向升级后的升级子集群请求切换第二业务,使业务子集群恢复之前运行第二业务的执行状态。
采用本发明实施例,第三设备将集群划分为至少两个子集群,至少两个子集群包括升级子集群以及业务子集群,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备;第三设备指示升级子集群将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务;第三设备指示升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求业务子集群将第一业务切换到升级后的升级子集群,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
请参阅图3,图3是本发明实施例的一种升级方法的另一实施例的流程示意图。本发明实施例针对升级子集群与业务子集群之间的通信进行详细说明。本发明实施例涉及的业务子集群的至少第二设备既可为升级后的新版本的设备,也可为未升级的旧版本的设备,本发明实施例则不作限定。
如图3所示,本发明实施例的一种升级方法的另一实施例可以包括以下步骤。
S300,升级子集群根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使所述业务子集群运行所述第一业务,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备。
具体实现中,如实施例图1第三设备将集群划分的子集群包括升级子集群和业务子集群,第三设备指示升级子集群将自身运行的第一业务切换到业务子集群。其中,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备。第三设备若先对升级子集群包括的至少一个第一设备进行升级,则指示升级子集群先将自身正在运行的第一业务切换给业务子集群,使业务子集群运行第一业务,保证升级子集群在升级时正在运行的业务不中断。
S301,所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级。
具体实现中,在升级子集群将自身运行的第一业务切换到业务子集群之后,第三设备指示升级子集群的至少一个第一设备升级,使至少一个第一设备全部升级后均成为新版本的设备。随后,升级后的升级子集群向业务子集群发送请求,该请求用于请求业务子集群将正在运行的第一业务再次切换回升级后的升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务。
作为一种可实施的方式,第三设备可发送新版本的软件包给升级子集群的至少一个第一设备,使至少一个第一设备均采用新版本的软件包进行升级并重启。此外,升级子集群内的至少一个第一设备均升级能够避免出现升级子集群内新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
作为一种可实施的方式,升级之后的至少一个第一设备之间能够进行通信,但此时的升级子集群还不能运行业务。
S302,所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群,以使所述升级子集群运行所述第一业务。
具体实现中,升级子集群的至少一个第一设备根据第三设备的指示升级后,向业务子集群发送请求,以请求业务子集群将第一业务切换到升级子集群。在业务子集群将正在运行的第一业务切换给升级子集群后,由升级子集群重新接管并运行第一业务。
采用本发明实施例,升级子集群根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务,升级子集群的至少一个第一设备根据第三设备的指示升级,升级后的升级子集群请求业务子集群将第一业务切换到升级子集群,以使升级子集群运行第一业务,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
请参阅图4,图4是本发明实施例的一种升级方法的第三实施例的流程示意图。本发明实施例涉及的子集群通过从子集群的至少一个设备中确认其中一个设备作为集群主,以代表该子集群与其他子集群的集群主进行通信,能够减少该子集群的设备与其他子集群的设备之间的消息的发送,从而提高升级的效率。
如图4所示,本发明实施例的一种升级方法的第三实施例可以包括以下步骤。
S400,升级子集群根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使所述业务子集群运行所述第一业务,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备。
S401,所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级。
具体实现中,本发明实施例的步骤S400以及步骤S401的具体实施方式可详见实施例图3的步骤S300以及步骤S301,本发明实施例则不再赘述。值得注意的是,下述步骤提及到的升级子集群均为升级后的升级子集群。
S402,所述升级子集群获取系统的配置信息,以恢复所述升级子集群的配置。
具体实现中,在升级子集群的至少一个第一设备均完成升级并成为新版本的设备后进行重启,从这至少一个第一设备中确认用于代表升级子集群的集群主,通过集群主与其他子集群的集群主进行交互,能够限制升级子集群的至少一个第一设备与业务子集群的至少一个第二设备之间消息的发送,从而加快集群整体的升级速度。在确认出升级子集群的集群主后,由升级子集群的集群主获取升级子集群的配置信息。具体的,至少一个第一设备升级后会删除升级前保存的配置信息,恢复原始出厂设置的状态,因此升级子集群的集群主需要获取升级前的配置信息,并将获取的配置信息发送给至少一个第一设备,以使至少一个第一设备根据配置信息恢复升级前的配置。
作为一种可实施的方式,升级子集群指示至少一个第一设备之间进行主备竞争,从这至少一个第一设备中竞选出性能较优的设备,将该性能较优的设备确认为代表升级子集群的集群主。主备竞争的具体实施方式为现有技术,本发明实施例则不进行赘述。
作为一种可实施的方式,在至少一个第一设备恢复升级前的配置之前,升级子集群的集群主可确定逻辑单元号(LUN,LogicalUnitNumber)或存储池等存储模块的仲裁设备。仲裁设备用于协调升级子集群和业务子集群之间的业务切换。上述升级子集群的集群主确定仲裁设备的过程为现有技术,本实施例则不再赘述。
S403,所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群,以使所述升级子集群运行所述第一业务。
具体实现中,升级子集群的至少一个第一设备根据第三设备的指示升级后,升级子集群的集群主向业务子集群的集群主发送请求,以请求业务子集群将第一业务切换到升级子集群。在业务子集群将正在运行的第一业务切换给升级子集群后,由升级子集群重新接管并运行第一业务。
作为一种可实施的方式,若业务子集群的至少一个第二设备均为已升级的新版本的设备,则流程结束;若业务子集群的至少一个第二设备均为未升级的旧版本的设备,则在业务子集群将第一业务切换给升级子集群后,根据第三设备的指示进行升级。
可选的,所述升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级子集群,所述第二业务为所述业务子集群运行的业务。
具体实现中,若业务子集群的至少一个第二设备为未升级的旧版本的设备,并且,业务子集群除了运行切换后的第一业务之外,还运行第二业务,则升级子集群请求业务子集群将自身运行的第一业务以及第二业务切换到升级子集群,由升级子集群接管并运行第一业务以及第二业务。而业务子集群则根据第三设备的指示进行升级。
S404,所述升级子集群接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知。
具体实现中,业务子集群的集群主接收到升级子集群的集群主发送的请求后,提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块,再发送切换通知给升级子集群,以通知升级子集群的集群主接管第一业务。具体的,存储模块可为磁盘、LUN或存储池等。业务数据用于展示存储系统的具体业务,元数据用于描述业务的结构、内容和索引等多项内容。
可选的,所述升级子集群接收所述业务子集群在将所述第一业务的业务数据和元数据以及所述第二业务的业务数据和元数据存储至所述存储模块之后发送的所述切换通知。
具体实现中,若业务子集群的至少一个第二设备为未升级的旧版本的设备,并且,业务子集群除了运行切换后的第一业务之外,还运行第二业务,则业务子集群同样也需要升级,因此业务子集群会先将第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至存储模块,再发送切换通知给升级子集群,以使升级子集群接管并运行第一业务以及第二业务。
S405,所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
具体实现中,升级子集群的集群主接收到业务子集群的集群主发送的切换通知后,升级子集群的集群主从存储模块中提取出第一业务的元数据,将第一业务切换到升级子集群。
作为一种可实施的方式,第一业务可包括至少两个第三业务,则在升级子集群的集群主提取第一业务的元数据的过程中,可将至少一个第三业务逐个到切换升级子集群。
作为一种可实施的方式,若升级子集群切换失败,则通知业务子集群的集群主重新接管第一业务,而升级子集群的至少一个第一设备则恢复为旧版本的设备。
可选的,所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
具体实现中,若业务子集群存储至存储模块的数据为第一业务的业务数据和元数据以及第二业务的业务数据和元数据,说明业务子集群也需要升级,则升级子集群的集群主从存储模块中提取第一业务的元数据以及第二业务的元数据。
S406,所述升级子集群接收所述业务子集群发送的指示信息,所述指示信息用于指示所述升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
具体实现中,在升级子集群的集群主接管第一业务后,升级子集群的集群主接收业务子集群的集群主发送的指示信息,根据指示信息恢复至少一个第一设备与至少一个第二设备之间的通信。在业务子集群的至少一个第二设备根据第三设备的指示进行升级后,使得集群内的所有设备均为已升级的新版本的设备。由于运行第一业务的升级子集群的至少第一设备已为新版本的设备,无需再进行切换操作,因此业务子集群的至少一个第二设备可直接采用新版本的软件包重启,加快了集群整体的升级速度。
作为一种可实施的方式,若升级子集群运行的业务还包括第二业务,则在业务子集群的至少一个第二设备升级后,升级子集群还可将第二业务切换给业务子集群运行。
采用本发明实施例,升级子集群根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务,升级子集群根据第三设备的指示对升级子集群的至少一个第一设备升级,在升级子集群恢复配置后请求业务子集群将第一业务切换到升级子集群,以使升级子集群运行第一业务,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,并且减少了升级过程中不同子集群的设备之间发送消息的数量,提高升级的效率。
请参阅图5,图5是本发明实施例的一种升级方法的第四实施例的流程示意图。本发明实施例针对升级子集群与业务子集群之间的通信进行详细说明。本发明实施例涉及的业务子集群的至少第二设备既可为升级后的新版本的设备,也可为未升级的旧版本的设备,本发明实施例则不作限定。升级子集群可与业务子集群相互通信,具体的,子集群可在包括的至少一个设备中决策出其中一个设备作为集群主,以代表该子集群与其他子集群的集群主通信,使子集群内的其他设备不能与其他子集群包括的设备进行通信。
S500,业务子集群接收升级子集群根据第三设备的指示切换的第一业务,以使所述业务子集群运行所述第一业务,所述第一业务为所述升级子集群运行的业务,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备。
具体实现中,如实施例图1第三设备将集群划分为至少两个子集群,其中包括升级子集群和业务子集群。第三设备指示升级子集群将自身运行的第一业务切换到业务子集群。其中,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备。第三设备若先对升级子集群包括的至少一个第一设备进行升级,则指示升级子集群先将自身正在运行的第一业务切换给业务子集群,使业务子集群运行第一业务,保证升级子集群在升级时正在运行的业务不中断。
S501,在所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级后,所述业务子集群接收升级后的升级子集群发送的请求。
具体实现中,在升级子集群将自身运行的第一业务切换到业务子集群之后,第三设备指示升级子集群的至少一个第一设备升级,使至少一个第一设备全部升级后均成为新版本的设备。随后,升级后的升级子集群在恢复配置后,升级后的升级子集群的集群主可向业务子集群的集群主发送请求,该请求用于请求业务子集群将正在运行的第一业务再次切换回升级后的升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务。
S502,所述业务子集群根据所述请求将所述第一业务切换到所述升级后的升级子集群,以使所述升级后的升级子集群运行所述第一业务。
具体实现中,业务子集群的集群主接收升级子集群的集群主发送的请求,根据该请求将当前运行的第一业务切换回升级后的升级子集群,以使升级后的升级子集群继续运行第一业务。
采用本发明实施例,业务子集群接收升级子集群根据第三设备的指示切换的第一业务,以使业务子集群运行第一业务,在升级子集群根据第三设备的指示对升级子集群的至少一个第一设备升级后,业务子集群接收升级后的升级子集群发送的请求,业务子集群根据请求将第一业务切换到升级后的升级子集群,以使升级后的升级子集群运行第一业务,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
请参阅图6,图6是本发明实施例的一种升级方法的第五实施例的流程示意图。本发明实施例涉及的业务子集群的至少第二设备既可为升级后的新版本的设备,也可为未升级的旧版本的设备。而本发明实施例则以业务子集群的至少第二设备均为未升级的旧版本的设备进行说明,以描述整个集群升级的过程。升级子集群可与业务子集群相互通信,具体的,子集群可在包括的至少一个设备中决策出其中一个设备作为集群主,以代表该子集群与其他子集群的集群主通信,使子集群内的其他设备不能与其他子集群包括的设备进行通信。
S600,业务子集群接收升级子集群根据第三设备的指示切换的第一业务,以使所述业务子集群运行所述第一业务,所述第一业务为所述升级子集群运行的业务,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备。
S601,在所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级后,所述业务子集群接收升级后的升级子集群发送的请求。
S602,所述业务子集群根据所述请求将所述第一业务切换到所述升级后的升级子集群,以使所述升级后的升级子集群运行所述第一业务。
具体实现中,本发明实施例的步骤S600至步骤S602可详见实施例图5的步骤S500至步骤S502,本发明实施例则不再赘述。此外,需要说明的是,下述步骤涉及的升级子集群为升级后的升级子集群。
可选的,上述步骤S602具体可以包括步骤S6020(未图示)以及步骤S6021(未图示)。
S6020,所述业务子集群根据所述请求将所述第一业务的业务数据和元数据存储至存储模块。
具体实现中,业务子集群的集群主接收到升级子集群的集群主发送的请求后,提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块。具体的,存储模块可为磁盘、LUN或存储池等。
可选的,所述业务子集群根据所述请求将所述第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至所述存储模块,所述第二业务为所述业务子集群运行的业务
具体实现中,若业务子集群的至少一个第二设备为未升级的旧版本的设备,并且,业务子集群除了运行切换后的第一业务之外,还运行第二业务,则业务子集群同样也需要升级,因此业务子集群会先将第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至存储模块。
S6021,所述业务子集群发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
具体实现中,业务子集群提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块后,业务子集群的集群主发送切换通知给升级子集群的集群主,以通知升级子集群的集群主接管第一业务。升级子集群的集群主接收到业务子集群的集群主发送的切换通知后,升级子集群的集群主从存储模块中提取出第一业务的元数据,由此将第一业务切换到升级子集群。
作为一种可实施的方式,若升级子集群切换失败,则升级子集群的集群主通知业务子集群的集群主重新接管第一业务,而升级子集群的至少一个第一设备则恢复为旧版本的设备。
可选的,所述业务子集群发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
具体实现中,业务子集群若将第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至存储模块,说明业务子集群也需要升级,则升级子集群的集群主从存储模块中提取第一业务的元数据以及第二业务的元数据。
S603,所述业务子集群向所述升级后的升级子集群发送指示信息,所述指示信息用于指示所述升级后的升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
具体实现中,在升级子集群的集群主接管第一业务后,业务子集群的集群主向升级子集群的集群主发送指示信息,根据指示信息恢复至少一个第一设备与至少一个第二设备之间的通信。
S604,所述业务子集群根据所述第三设备的指示对所述业务子集群的至少一个第二设备升级。
具体实现中,在业务子集群根据第三设备的指示对业务子集群的至少一个第二设备进行升级后,集群内的所有设备均为已升级的新版本的设备。由于运行第一业务的升级子集群的至少第一设备已为新版本的设备,无需再进行切换操作,因此业务子集群的至少一个第二设备可直接采用新版本的软件包重启,加快了集群整体的升级速度。
作为一种可实施的方式,若升级子集群运行的业务还包括第二业务,则在业务子集群的至少一个第二设备升级后,升级子集群还可将第二业务切换给业务子集群运行。
采用本发明实施例,业务子集群接收升级子集群根据第三设备的指示切换的第一业务,以使业务子集群运行第一业务,在升级子集群根据第三设备的指示对升级子集群的至少一个第一设备升级后,业务子集群接收升级后的升级子集群发送的请求,业务子集群根据请求将第一业务切换到升级后的升级子集群,以使升级后的升级子集群运行第一业务,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,并且减少了升级过程中不同子集群的设备之间发送消息的数量,提高升级的效率。
请参阅图7,图7是本发明实施例的一种设备的一实施例的结构示意图。如图7所示的一种设备包括划分模块700以及指示模块701。
划分模块700,用于将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
指示模块701,用于指示所述升级子集群将自身运行的第一业务切换到所述业务子集群,以使所述业务子集群运行所述第一业务;
所述指示模块701,还用于指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群。
具体实现中,第三设备可将集群分为至少两个子集群,其中一个子集群可为升级子集群,另一个子集群可为业务子集群。本发明实施例以将集群划分为升级子集群和业务子集群为例,升级子集群用于单独为升级子集群包括的至少一个第一设备进行升级,而业务子集群则用于在第三设备指示升级子集群包括的至少一个第一设备进行升级时承载升级子集群正在运行的业务,保证在线升级时集群的业务不中断。初始状态下,互为备份的两个设备组成一个引擎,由至少一个这样的引擎组成集群。如图2所示,该集群有多个引擎,其中,引擎E0包含设备A0和设备B0,引擎E1包含设备A1和设备B1,引擎E2包含设备A2和设备B2,引擎E3包含设备A3和设备B3。在第三设备划分时,将集群划分为至少两个子集群,其中包括升级子集群以及业务子集群,则升级子集群包括设备A0、设备A1、设备A2以及设备A3,业务子集群包括设备B0、设备B1、设备B2以及设备B3。升级子集群包括的设备A0、设备A1、设备A2以及设备A3之间可相互通信,业务子集群包括的设备B0、设备B1、设备B2以及设备B3之间也可相互通信。将集群划分为至少两个子集群的方式能将子集群的设备与其他子集群的设备进行隔离,子集群内的设备能够共同升级成为新版本的设备,或者共同运行业务,避免子集群内存在新版本设备和旧版本设备并存的情况。
作为一种可实施的方式,升级子集群可与业务子集群相互通信,具体的,子集群可在包括的至少一个设备中决策出其中一个设备作为集群主,以代表该子集群与其他子集群的集群主通信,使子集群内的其他设备不能与其他子集群包括的设备进行通信。若升级子集群包括的设备A0、设备A1、设备A2以及设备A3均已升级,业务子集群包括的设备B0、设备B1、设备B2以及设备B3还未升级,由于升级子集群包括的设备A0、设备A1、设备A2以及设备A3不能向业务子集群包括的设备B0、设备B1、设备B2以及设备B3发送消息,因此不会影响业务子集群的设备B0、设备B1、设备B2以及设备B3的升级,能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
作为一种可实施的方式,在第三设备将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群之前,可检测集群的状态,判断该集群是否能升级。若判断为是,则对集群在不中断业务的情况下进行升级。在对集群进行升级的过程中,停止修改集群的配置信息等相关参数。若判断为否,则结束流程。
具体实现中,第三设备若先对升级子集群包括的至少一个第一设备进行升级,则指示升级子集群先将自身正在运行的第一业务切换给业务子集群,使业务子集群运行第一业务,保证升级子集群在升级时正在运行的业务不中断。
作为一种可实施的方式,业务子集群在接收升级子集群切换的第一业务之前还可运行第二业务,因此若业务子集群此时正在运行第二业务,在业务子集群接收升级子集群切换的第一业务后,业务子集群运行第一业务和第二业务。
具体实现中,在升级子集群将自身运行的第一业务切换到业务子集群之后,第三设备指示升级子集群的至少一个第一设备升级,使至少一个第一设备全部升级后均成为新版本的设备。随后,升级后的升级子集群向业务子集群发送请求,该请求用于请求业务子集群将正在运行的第一业务再次切换回升级后的升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务。
作为一种可实施的方式,第三设备可发送新版本的软件包给升级子集群的至少一个第一设备,使至少一个第一设备均采用新版本的软件包进行升级。
可选的,所述指示模块701,还用于指示所述业务子集群的至少一个第二设备升级。
具体实现中,在业务子集群将第一业务切换到升级子集群后,升级子集群继续运行第一业务。若业务子集群的至少一个第二设备仍为未升级的旧版本的设备,第三设备则对业务子集群的至少一个第二设备进行升级。在至少一个第二设备全部升级后均为新版本的设备,最后完成对集群的整体升级的操作,恢复集群中所有设备之间的通信。
作为一种可实施的方式,若升级后的升级子集群在进行切换后运行的是第一业务以及第二业务,则在业务子集群升级后,业务子集群可向升级后的升级子集群请求切换第二业务,使业务子集群恢复之前运行第二业务的执行状态。
可选的,所述指示模块701,具体用于指示所述升级子集群的至少一个第一设备升级,以使所述升级后的升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级后的升级子集群,所述第二业务为所述业务子集群运行的业务。
具体实现中,第一业务和第二业务均为系统运行的业务的一部分。若业务子集群同时运行第一业务以及第二业务,且业务子集群的至少一个第二设备均为未升级的旧版本的设备,则升级后的升级子集群向业务子集群发送的请求用于请求业务子集群将正在运行的第一业务以及第二业务再次切换给升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务以及第二业务。
采用本发明实施例,第三设备将集群划分为至少两个子集群,至少两个子集群包括升级子集群以及业务子集群,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备;第三设备指示升级子集群将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务;第三设备指示升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求业务子集群将第一业务切换到升级后的升级子集群,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
请参阅图8,图8是本发明实施例的一种设备的另一实施例的结构示意图。如图8所示的终端包括输入装置800、输出装置801和处理器802(设备的处理器的数量可以为一个或多个,图8中以一个处理器为例)。在本发明实施例中,输入装置800、输出装置801和处理器802可通过总线或其他方式连接,其中,图8中以通过总线连接为例。输入装置800用于接收升级子集群以及业务子集群反馈的消息。
处理器802,用于将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
输出装置801,还用于指示所述升级子集群将自身运行的第一业务切换到所述业务子集群,以使所述业务子集群运行所述第一业务;
输出装置801,还用于指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群。
具体实现中,第三设备可将集群分为至少两个子集群,其中一个子集群可为升级子集群,另一个子集群可为业务子集群。本发明实施例以将集群划分为升级子集群和业务子集群为例,升级子集群用于单独为升级子集群包括的至少一个第一设备进行升级,而业务子集群则用于在第三设备指示升级子集群包括的至少一个第一设备进行升级时承载升级子集群正在运行的业务,保证在线升级时集群的业务不中断。
可选的,输出装置801,还指示所述业务子集群的至少一个第二设备升级。
具体实现中,在业务子集群将第一业务切换到升级子集群后,升级子集群继续运行第一业务。若业务子集群的至少一个第二设备仍为未升级的旧版本的设备,第三设备则对业务子集群的至少一个第二设备进行升级。在至少一个第二设备全部升级后均为新版本的设备,最后完成对集群的整体升级的操作,恢复集群中所有设备之间的通信。
可选的,输出装置801,具体用于指示所述升级子集群的至少一个第一设备升级,以使所述升级后的升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级后的升级子集群,所述第二业务为所述业务子集群运行的业务。
具体实现中,第一业务和第二业务均为系统运行的业务的一部分。若业务子集群同时运行第一业务以及第二业务,且业务子集群的至少一个第二设备均为未升级的旧版本的设备,则升级后的升级子集群向业务子集群发送的请求用于请求业务子集群将正在运行的第一业务以及第二业务再次切换给升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务以及第二业务。
采用本发明实施例,第三设备将集群划分为至少两个子集群,至少两个子集群包括升级子集群以及业务子集群,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备;第三设备指示升级子集群将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务;第三设备指示升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求业务子集群将第一业务切换到升级后的升级子集群,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
请参阅图9,图9是本发明实施例的一种集群系统的一实施例的结构示意图。如图9所示的一种集群系统包括切换模块900、升级模块901以及请求模块902。
切换模块900,用于根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使所述业务子集群运行所述第一业务,所述集群系统包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
升级模块901,用于根据所述第三设备的指示对所述集群系统的至少一个第一设备升级;
请求模块902,用于请求所述业务子集群将所述第一业务切换到所述集群系统,以使所述集群系统运行所述第一业务。
具体实现中,如实施例图1第三设备将集群划分的子集群包括升级子集群和业务子集群,第三设备指示升级子集群将自身运行的第一业务切换到业务子集群。其中,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备。第三设备若先对升级子集群包括的至少一个第一设备进行升级,则指示升级子集群先将自身正在运行的第一业务切换给业务子集群,使业务子集群运行第一业务,保证升级子集群在升级时正在运行的业务不中断。
具体实现中,在升级子集群将自身运行的第一业务切换到业务子集群之后,第三设备指示升级子集群的至少一个第一设备升级,使至少一个第一设备全部升级后均成为新版本的设备。随后,升级后的升级子集群向业务子集群发送请求,该请求用于请求业务子集群将正在运行的第一业务再次切换回升级后的升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务。
作为一种可实施的方式,第三设备可发送新版本的软件包给升级子集群的至少一个第一设备,使至少一个第一设备均采用新版本的软件包进行升级并重启。此外,升级子集群内的至少一个第一设备均升级能够避免出现升级子集群内新版本的设备与旧版本的设备并存的情况,子集群与子集群之间的相互通信能减少不同子集群的设备之间消息的发送,从而提高升级的效率。
作为一种可实施的方式,升级之后的至少一个第一设备之间能够进行通信,但此时的升级子集群还不能运行业务。
具体实现中,升级子集群的至少一个第一设备根据第三设备的指示升级后,向业务子集群发送请求,以请求业务子集群将第一业务切换到升级子集群。在业务子集群将正在运行的第一业务切换给升级子集群后,由升级子集群重新接管并运行第一业务。
作为一种可实施的方式,若业务子集群的至少一个第二设备均为已升级的新版本的设备,则流程结束;若业务子集群的至少一个第二设备均为未升级的旧版本的设备,则在业务子集群将第一业务切换给升级子集群后,根据第三设备的指示进行升级。
可选的,所述集群系统还包括获取模块903。
获取模块903,用于获取系统的配置信息,以恢复所述集群系统的配置。
具体实现中,在升级子集群的至少一个第一设备均完成升级并成为新版本的设备后进行重启,从这至少一个第一设备中确认用于代表升级子集群的集群主,通过集群主与其他子集群的集群主进行交互,能够限制升级子集群的至少一个第一设备与业务子集群的至少一个第二设备之间消息的发送,从而加快集群整体的升级速度。在确认出升级子集群的集群主后,由升级子集群的集群主获取升级子集群的配置信息。具体的,至少一个第一设备升级后会删除升级前保存的配置信息,恢复原始出厂设置的状态,因此升级子集群的集群主需要获取升级前的配置信息,并将获取的配置信息发送给至少一个第一设备,以使至少一个第一设备根据配置信息恢复升级前的配置。
作为一种可实施的方式,升级子集群指示至少一个第一设备之间进行主备竞争,从这至少一个第一设备中竞选出性能较优的设备,将该性能较优的设备确认为代表升级子集群的集群主。主备竞争的具体实施方式为现有技术,本发明实施例则不进行赘述。
作为一种可实施的方式,在至少一个第一设备恢复升级前的配置之前,升级子集群的集群主可确定LUN或存储池等存储模块的仲裁设备。仲裁设备用于协调升级子集群和业务子集群之间的业务切换。上述升级子集群的集群主确定仲裁设备的过程为现有技术,本实施例则不再赘述。
可选的,所述集群系统还包括接收模块904以及提取模块905。
接收模块904,用于接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知;
提取模块905,用于根据所述接收模块904接收的切换通知从所述存储模块中提取所述第一业务的元数据。
具体实现中,业务子集群的集群主接收到升级子集群的集群主发送的请求后,提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块,再发送切换通知给升级子集群,以通知升级子集群的集群主接管第一业务。具体的,存储模块可为磁盘、LUN或存储池等。
具体实现中,升级子集群的集群主接收到业务子集群的集群主发送的切换通知后,升级子集群的集群主从存储模块中提取出第一业务的元数据,将第一业务切换到升级子集群。
作为一种可实施的方式,若升级子集群切换失败,则通知业务子集群的集群主重新接管第一业务,而升级子集群的至少一个第一设备则恢复为旧版本的设备。
可选的,所述接收模块904,还用于接收所述业务子集群发送的指示信息,所述指示信息用于指示所述集群系统恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
具体实现中,在升级子集群的集群主接管第一业务后,升级子集群的集群主接收业务子集群的集群主发送的指示信息,根据指示信息恢复至少一个第一设备与至少一个第二设备之间的通信。在业务子集群的至少一个第二设备根据第三设备的指示进行升级后,使得集群内的所有设备均为已升级的新版本的设备。由于运行第一业务的升级子集群的至少第一设备已为新版本的设备,无需再进行切换操作,因此业务子集群的至少一个第二设备可直接采用新版本的软件包重启,加快了集群整体的升级速度。
作为一种可实施的方式,若升级子集群运行的业务还包括第二业务,则在业务子集群的至少一个第二设备升级后,升级子集群还可将第二业务切换给业务子集群运行。
可选的,所述请求模块902,具体用于请求所述业务子集群将所述第一业务以及第二业务切换到所述集群系统,所述第二业务为所述业务子集群运行的业务。
具体实现中,若业务子集群的至少一个第二设备为未升级的旧版本的设备,并且,业务子集群除了运行切换后的第一业务之外,还运行第二业务,则升级子集群请求业务子集群将自身运行的第一业务以及第二业务切换到升级子集群,由升级子集群接管并运行第一业务以及第二业务。而业务子集群则根据第三设备的指示进行升级。
可选的,所述接收模块904,具体用于接收所述业务子集群在将所述第一业务的业务数据和元数据以及所述第二业务的业务数据和元数据存储至所述存储模块之后发送的所述切换通知。
具体实现中,若业务子集群的至少一个第二设备为未升级的旧版本的设备,并且,业务子集群除了运行切换后的第一业务之外,还运行第二业务,则业务子集群同样也需要升级,业务数据和元数据以及第二业务的业务数据和元数据存储至存储模块,再发送切换通知给升级子集群,以使升级子集群接管并运行第一业务以及第二业务。
可选的,所述提取模块905,具体用于根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
具体实现中,若业务子集群存储至存储模块的数据为第一业务的业务数据和元数据以及第二业务的业务数据和元数据,说明业务子集群也需要升级,则升级子集群的集群主从存储模块中提取第一业务的元数据以及第二业务的元数据。
采用本发明实施例,升级子集群根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务,升级子集群根据第三设备的指示对升级子集群的至少一个第一设备升级,在升级子集群恢复配置后请求业务子集群将第一业务切换到升级子集群,以使升级子集群运行第一业务,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,并且减少了升级过程中不同子集群的设备之间发送消息的数量,提高升级的效率。
请参阅图10、图10是本发明实施例的一种集群系统的另一实施例的结构示意图。如图10所示的终端包括输入装置1000、输出装置1001和处理器1002(设备的处理器的数量可以为一个或多个,图10中以一个处理器为例)。在本发明实施例中,输入装置1000、输出装置1001和处理器1002可通过总线或其他方式连接,其中,图10中以通过总线连接为例。
处理器1002,用于根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使所述业务子集群运行所述第一业务,所述集群系统包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
处理器1002,还用于根据所述第三设备的指示对所述集群系统的至少一个第一设备升级;
输出装置1001,用于请求所述业务子集群将所述第一业务切换到所述集群系统,以使所述集群系统运行所述第一业务。
具体实现中,如实施例图1第三设备将集群划分的子集群包括升级子集群和业务子集群,第三设备指示升级子集群将自身运行的第一业务切换到业务子集群。其中,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备。第三设备若先对升级子集群包括的至少一个第一设备进行升级,则指示升级子集群先将自身正在运行的第一业务切换给业务子集群,使业务子集群运行第一业务,保证升级子集群在升级时正在运行的业务不中断。
具体实现中,在升级子集群将自身运行的第一业务切换到业务子集群之后,第三设备指示升级子集群的至少一个第一设备升级,使至少一个第一设备全部升级后均成为新版本的设备。随后,升级后的升级子集群向业务子集群发送请求,该请求用于请求业务子集群将正在运行的第一业务再次切换回升级后的升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务。
可选的,输入装置1000,用于获取系统的配置信息,以恢复所述集群系统的配置。
具体实现中,在升级子集群的至少一个第一设备均完成升级并成为新版本的设备后进行重启,从这至少一个第一设备中确认用于代表升级子集群的集群主,通过集群主与其他子集群的集群主进行交互,能够限制升级子集群的至少一个第一设备与业务子集群的至少一个第二设备之间消息的发送,从而加快集群整体的升级速度。在确认出升级子集群的集群主后,由升级子集群的集群主获取升级子集群的配置信息。具体的,至少一个第一设备升级后会删除升级前保存的配置信息,恢复原始出厂设置的状态,因此升级子集群的集群主需要获取升级前的配置信息,并将获取的配置信息发送给至少一个第一设备,以使至少一个第一设备根据配置信息恢复升级前的配置。
可选的,输入装置1000,还用于接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知;处理器1002,还用于根据输入装置1000接收的切换通知从所述存储模块中提取所述第一业务的元数据。
具体实现中,业务子集群的集群主接收到升级子集群的集群主发送的请求后,提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块,再发送切换通知给升级子集群,以通知升级子集群的集群主接管第一业务。具体的,存储模块可为磁盘、LUN或存储池等。
具体实现中,升级子集群的集群主接收到业务子集群的集群主发送的切换通知后,升级子集群的集群主从存储模块中提取出第一业务的元数据,将第一业务切换到升级子集群。
可选的,输入装置1000,还用于接收所述业务子集群发送的指示信息,所述指示信息用于指示所述集群系统恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
具体实现中,在升级子集群的集群主接管第一业务后,升级子集群的集群主接收业务子集群的集群主发送的指示信息,根据指示信息恢复至少一个第一设备与至少一个第二设备之间的通信。在业务子集群的至少一个第二设备根据第三设备的指示进行升级后,使得集群内的所有设备均为已升级的新版本的设备。由于运行第一业务的升级子集群的至少第一设备已为新版本的设备,无需再进行切换操作,因此业务子集群的至少一个第二设备可直接采用新版本的软件包重启,加快了集群整体的升级速度。
可选的,输出装置1001,具体用于请求所述业务子集群将所述第一业务以及第二业务切换到所述集群系统,所述第二业务为所述业务子集群运行的业务。
可选的,输入装置1000,具体用于接收所述业务子集群在将所述第一业务的业务数据和元数据以及所述第二业务的业务数据和元数据存储至所述存储模块之后发送的所述切换通知。
可选的,处理器1002,具体用于根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
采用本发明实施例,升级子集群根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使业务子集群运行第一业务,升级子集群根据第三设备的指示对升级子集群的至少一个第一设备升级,在升级子集群恢复配置后请求业务子集群将第一业务切换到升级子集群,以使升级子集群运行第一业务,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,并且减少了升级过程中不同子集群的设备之间发送消息的数量,提高升级的效率。
图11是本发明实施例的一种集群系统的第三实施例的结构示意图。如图11所示的集群系统包括接收模块1100以及切换模块1101。
接收模块1100,用于接收升级子集群根据第三设备的指示切换的第一业务,以使所述集群系统运行所述第一业务,所述第一业务为所述升级子集群运行的业务,所述升级子集群包括至少一个第一设备,所述集群系统包括至少一个第二设备;
所述接收模块1100,还用于在所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级后,接收升级后的升级子集群发送的请求;
切换模块1101,用于根据所述接收模块1100接收的请求将所述第一业务切换到所述升级后的升级子集群,以使所述升级后的升级子集群运行所述第一业务。
具体实现中,如实施例图1第三设备将集群划分为至少两个子集群,其中包括升级子集群和业务子集群。第三设备指示升级子集群将自身运行的第一业务切换到业务子集群。其中,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备。第三设备若先对升级子集群包括的至少一个第一设备进行升级,则指示升级子集群先将自身正在运行的第一业务切换给业务子集群,使业务子集群运行第一业务,保证升级子集群在升级时正在运行的业务不中断。
具体实现中,在升级子集群将自身运行的第一业务切换到业务子集群之后,第三设备指示升级子集群的至少一个第一设备升级,使至少一个第一设备全部升级后均成为新版本的设备。随后,升级后的升级子集群在恢复配置后,升级后的升级子集群的集群主可向业务子集群的集群主发送请求,该请求用于请求业务子集群将正在运行的第一业务再次切换回升级后的升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务。
具体实现中,业务子集群的集群主接收升级子集群的集群主发送的请求,根据该请求将当前运行的第一业务切换回升级后的升级子集群,以使升级后的升级子集群继续运行第一业务。
可选的,所述集群系统还包括升级模块1102。
升级模块1102,用于根据所述第三设备的指示对所述集群系统的至少一个第二设备升级。
具体实现中,在业务子集群根据第三设备的指示对业务子集群的至少一个第二设备进行升级后,集群内的所有设备均为已升级的新版本的设备。由于运行第一业务的升级子集群的至少第一设备已为新版本的设备,无需再进行切换操作,因此业务子集群的至少一个第二设备可直接采用新版本的软件包重启,加快了集群整体的升级速度。
作为一种可实施的方式,若升级子集群运行的业务还包括第二业务,则在业务子集群的至少一个第二设备升级后,升级子集群还可将第二业务切换给业务子集群运行。
可选的,所述切换模块1101,具体用于:
根据所述接收模块1100接收的请求将所述第一业务的业务数据和元数据存储至存储模块;
发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
具体实现中,业务子集群的集群主接收到升级子集群的集群主发送的请求后,提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块。具体的,存储模块可为磁盘、LUN或存储池等。
具体实现中,业务子集群提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块后,业务子集群的集群主发送切换通知给升级子集群的集群主,以通知升级子集群的集群主接管第一业务。升级子集群的集群主接收到业务子集群的集群主发送的切换通知后,升级子集群的集群主从存储模块中提取出第一业务的元数据,将第一业务切换到升级子集群。
作为一种可实施的方式,若升级子集群切换失败,则升级子集群的集群主通知业务子集群的集群主重新接管第一业务,而升级子集群的至少一个第一设备则恢复为旧版本的设备。
可选的,所述集群系统还包括发送模块1103。
发送模块1103,用于向所述升级后的升级子集群发送指示信息,所述指示信息用于指示所述升级后的升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
具体实现中,在升级子集群的集群主接管第一业务后,业务子集群的集群主向升级子集群的集群主发送指示信息,根据指示信息恢复至少一个第一设备与至少一个第二设备之间的通信。
可选的,所述切换模块1101,具体还用于:
根据所述请求将所述第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至所述存储模块,所述第二业务为所述集群系统运行的业务;
发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
具体实现中,若业务子集群的至少一个第二设备为未升级的旧版本的设备,并且,业务子集群除了运行切换后的第一业务之外,还运行第二业务,则业务子集群同样也需要升级,因此业务子集群会先将第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至存储模块。
具体实现中,业务子集群若将第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至存储模块,说明业务子集群也需要升级,则升级子集群的集群主从存储模块中提取第一业务的元数据以及第二业务的元数据。
采用本发明实施例,业务子集群接收升级子集群根据第三设备的指示切换的第一业务,以使业务子集群运行第一业务,在升级子集群根据第三设备的指示对升级子集群的至少一个第一设备升级后,业务子集群接收升级后的升级子集群发送的请求,业务子集群根据请求将第一业务切换到升级后的升级子集群,以使升级后的升级子集群运行第一业务,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,并且减少了升级过程中不同子集群的设备之间发送消息的数量,提高升级的效率。
图12是本发明实施例的一种集群系统的第四实施例的结构示意图。如图12所示的终端包括输入装置1200、输出装置1201和处理器1202(设备的处理器的数量可以为一个或多个,图12中以一个处理器为例)。在本发明实施例中,输入装置1200、输出装置1201和处理器1202可通过总线或其他方式连接,其中,图12中以通过总线连接为例。
输入装置1200,用于接收升级子集群根据第三设备的指示切换的第一业务,以使所述集群系统运行所述第一业务,所述第一业务为所述升级子集群运行的业务,所述升级子集群包括至少一个第一设备,所述集群系统包括至少一个第二设备;
输入装置1200,还用于在所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级后,接收升级后的升级子集群发送的请求;
处理器1202,用于根据输入装置1200接收的请求将所述第一业务切换到所述升级后的升级子集群,以使所述升级后的升级子集群运行所述第一业务。
具体实现中,如实施例图1第三设备将集群划分的子集群包括升级子集群和业务子集群,第三设备指示升级子集群将自身运行的第一业务切换到业务子集群。其中,升级子集群包括至少一个第一设备,业务子集群包括至少一个第二设备。第三设备若先对升级子集群包括的至少一个第一设备进行升级,则指示升级子集群先将自身正在运行的第一业务切换给业务子集群,使业务子集群运行第一业务,保证升级子集群在升级时正在运行的业务不中断。
具体实现中,在升级子集群将自身运行的第一业务切换到业务子集群之后,第三设备指示升级子集群的至少一个第一设备升级,使至少一个第一设备全部升级后均成为新版本的设备。随后,升级后的升级子集群在恢复配置后,升级后的升级子集群的集群主可向业务子集群的集群主发送请求,该请求用于请求业务子集群将正在运行的第一业务再次切换回升级后的升级子集群。由此,升级后的升级子集群继续运行业务子集群切换的第一业务。
可选的,处理器1202,还用于根据所述第三设备的指示对所述集群系统的至少一个第二设备升级。
具体实现中,在业务子集群根据第三设备的指示对业务子集群的至少一个第二设备进行升级后,集群内的所有设备均为已升级的新版本的设备。由于运行第一业务的升级子集群的至少第一设备已为新版本的设备,无需再进行切换操作,因此业务子集群的至少一个第二设备可直接采用新版本的软件包重启,加快了集群整体的升级速度。
可选的,处理器1202,具体用于根据输入装置1200接收的请求通过输出装置1201将所述第一业务的业务数据和元数据存储至存储模块;通过输出装置1201发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
具体实现中,业务子集群的集群主接收到升级子集群的集群主发送的请求后,提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块。具体的,存储模块可为磁盘、LUN或存储池等。
具体实现中,业务子集群提取当前运行的第一业务的业务数据和元数据并将第一业务的业务数据和元数据存储至存储模块后,业务子集群的集群主发送切换通知给升级子集群的集群主,以通知升级子集群的集群主接管第一业务。升级子集群的集群主接收到业务子集群的集群主发送的切换通知后,升级子集群的集群主从存储模块中提取出第一业务的元数据,将第一业务切换到升级子集群。
作为一种可实施的方式,若升级子集群切换失败,则升级子集群的集群主通知业务子集群的集群主重新接管第一业务,而升级子集群的至少一个第一设备则恢复为旧版本的设备。
可选的,输出装置1201,还用于向所述升级后的升级子集群发送指示信息,所述指示信息用于指示所述升级后的升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
具体实现中,在升级子集群的集群主接管第一业务后,业务子集群的集群主向升级子集群的集群主发送指示信息,根据指示信息恢复至少一个第一设备与至少一个第二设备之间的通信。
可选的,处理器1202,具体用于通过输出装置1201根据所述请求将所述第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至所述存储模块,所述第二业务为所述集群系统运行的业务;通过输出装置1201发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
具体实现中,若业务子集群的至少一个第二设备为未升级的旧版本的设备,并且,业务子集群除了运行切换后的第一业务之外,还运行第二业务,则业务子集群同样也需要升级,因此业务子集群会先将第一业务的业务数据和元数据以及第二业务的业务数据和元数据发送至存储模块进行存储。
具体实现中,业务子集群若将第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至存储模块,说明业务子集群也需要升级,则升级子集群的集群主从存储模块中提取第一业务的元数据以及第二业务的元数据。
采用本发明实施例,业务子集群接收升级子集群根据第三设备的指示切换的第一业务,以使业务子集群运行第一业务,在升级子集群根据第三设备的指示对升级子集群的至少一个第一设备升级后,业务子集群接收升级后的升级子集群发送的请求,业务子集群根据请求将第一业务切换到升级后的升级子集群,以使升级后的升级子集群运行第一业务,能避免在一个子集群内出现新版本的设备与旧版本的设备并存的情况,并且减少了升级过程中不同子集群的设备之间发送消息的数量,提高升级的效率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
本发明实施例的模块或模块,可以以通用集成电路(如中央处理器CPU),或以专用集成电路(ASIC)来实现。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (26)
1.一种升级方法,其特征在于,包括:
第三设备将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
所述第三设备指示所述升级子集群将自身运行的第一业务切换到所述业务子集群,以使所述业务子集群运行所述第一业务;
所述第三设备指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第三设备指示所述业务子集群的至少一个第二设备升级。
3.根据权利要求1所述的方法,其特征在于,所述第三设备指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群,具体包括:
所述第三设备指示所述升级子集群的至少一个第一设备升级,以使所述升级后的升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级后的升级子集群,所述第二业务为所述业务子集群运行的业务。
4.一种升级方法,其特征在于,包括:
升级子集群根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使所述业务子集群运行所述第一业务,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级;
所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群,以使所述升级子集群运行所述第一业务。
5.根据权利要求4所述的方法,其特征在于,所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群之前,所述方法还包括:
所述升级子集群获取系统的配置信息,以恢复所述升级子集群的配置。
6.根据权利要求4所述的方法,其特征在于,所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群之后,所述方法还包括:
所述升级子集群接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知;
所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
7.根据权利要求6所述的方法,其特征在于,所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据之后,所述方法还包括:
所述升级子集群接收所述业务子集群发送的指示信息,所述指示信息用于指示所述升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
8.根据权利要求6所述的方法,其特征在于,
所述升级子集群请求所述业务子集群将所述第一业务切换到所述升级子集群,具体包括:
所述升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级子集群,所述第二业务为所述业务子集群运行的业务;
则所述升级子集群接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知,具体包括:
所述升级子集群接收所述业务子集群在将所述第一业务的业务数据和元数据以及所述第二业务的业务数据和元数据存储至所述存储模块之后发送的所述切换通知;
则所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据,具体包括:
所述升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
9.一种升级方法,其特征在于,包括:
业务子集群接收升级子集群根据第三设备的指示切换的第一业务,以使所述业务子集群运行所述第一业务,所述第一业务为所述升级子集群运行的业务,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
在所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级后,所述业务子集群接收升级后的升级子集群发送的请求;
所述业务子集群根据所述请求将所述第一业务切换到所述升级后的升级子集群,以使所述升级后的升级子集群运行所述第一业务。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述业务子集群根据所述第三设备的指示对所述业务子集群的至少一个第二设备升级。
11.根据权利要求9所述的方法,其特征在于,所述业务子集群根据所述请求将所述第一业务切换到所述升级后的升级子集群,具体包括:
所述业务子集群根据所述请求将所述第一业务的业务数据和元数据存储至存储模块;
所述业务子集群发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
12.根据权利要求11所述的方法,其特征在于,所述业务子集群发送切换通知给所述升级后的升级子集群之后,所述方法还包括:
所述业务子集群向所述升级后的升级子集群发送指示信息,所述指示信息用于指示所述升级后的升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
13.根据权利要求11所述的方法,其特征在于,
所述业务子集群根据所述请求将所述第一业务的业务数据和元数据存储至存储模块,具体包括:
所述业务子集群根据所述请求将所述第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至所述存储模块,所述第二业务为所述业务子集群运行的业务;
所述业务子集群发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据,具体包括:
所述业务子集群发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
14.一种设备,其特征在于,包括:
划分模块,用于将集群划分为至少两个子集群,所述至少两个子集群包括升级子集群以及业务子集群,所述升级子集群包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
指示模块,用于指示所述升级子集群将自身运行的第一业务切换到所述业务子集群,以使所述业务子集群运行所述第一业务;
所述指示模块,还用于指示所述升级子集群的至少一个第一设备升级,以使升级后的升级子集群请求所述业务子集群将所述第一业务切换到所述升级后的升级子集群。
15.根据权利要求14所述的设备,其特征在于,
所述指示模块,还用于指示所述业务子集群的至少一个第二设备升级。
16.根据权利要求14所述的设备,其特征在于,
所述指示模块,具体用于指示所述升级子集群的至少一个第一设备升级,以使所述升级后的升级子集群请求所述业务子集群将所述第一业务以及第二业务切换到所述升级后的升级子集群,所述第二业务为所述业务子集群运行的业务。
17.一种集群系统,其特征在于,包括:
切换模块,用于根据第三设备的指示将自身运行的第一业务切换到业务子集群,以使所述业务子集群运行所述第一业务,所述集群系统包括至少一个第一设备,所述业务子集群包括至少一个第二设备;
升级模块,用于根据所述第三设备的指示对所述集群系统的至少一个第一设备升级;
请求模块,用于请求所述业务子集群将所述第一业务切换到所述集群系统,以使所述集群系统运行所述第一业务。
18.根据权利要求17所述的集群系统,其特征在于,所述集群系统还包括:
获取模块,用于获取系统的配置信息,以恢复所述集群系统的配置。
19.根据权利要求17所述的集群系统,其特征在于,所述集群系统还包括:
接收模块,用于接收所述业务子集群在将所述第一业务的业务数据和元数据存储至存储模块之后发送的切换通知;
提取模块,用于根据所述接收模块接收的切换通知从所述存储模块中提取所述第一业务的元数据。
20.根据权利要求19所述的集群系统,其特征在于,
所述接收模块,还用于接收所述业务子集群发送的指示信息,所述指示信息用于指示所述集群系统恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
21.根据权利要求19所述的集群系统,其特征在于,
所述请求模块,具体用于请求所述业务子集群将所述第一业务以及第二业务切换到所述集群系统,所述第二业务为所述业务子集群运行的业务;
所述接收模块,具体用于接收所述业务子集群在将所述第一业务的业务数据和元数据以及所述第二业务的业务数据和元数据存储至所述存储模块之后发送的所述切换通知;
所述提取模块,具体用于根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
22.一种集群系统,其特征在于,包括:
接收模块,用于接收升级子集群根据第三设备的指示切换的第一业务,以使所述集群系统运行所述第一业务,所述第一业务为所述升级子集群运行的业务,所述升级子集群包括至少一个第一设备,所述集群系统包括至少一个第二设备;
所述接收模块,还用于在所述升级子集群根据所述第三设备的指示对所述升级子集群的至少一个第一设备升级后,接收升级后的升级子集群发送的请求;
切换模块,用于根据所述接收模块接收的请求将所述第一业务切换到所述升级后的升级子集群,以使所述升级后的升级子集群运行所述第一业务。
23.根据权利要求22所述的集群系统,其特征在于,所述集群系统还包括:
升级模块,用于根据所述第三设备的指示对所述集群系统的至少一个第二设备升级。
24.根据权利要求22所述的集群系统,其特征在于,所述切换模块,具体用于:
根据所述接收模块接收的请求将所述第一业务的业务数据和元数据存储至存储模块;
发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据。
25.根据权利要求24所述的集群系统,其特征在于,所述集群系统还包括:
发送模块,用于向所述升级后的升级子集群发送指示信息,所述指示信息用于指示所述升级后的升级子集群恢复所述至少一个第一设备与所述至少一个第二设备之间的通信。
26.根据权利要求24所述的集群系统,其特征在于,所述切换模块,具体还用于:
根据所述请求将所述第一业务的业务数据和元数据以及第二业务的业务数据和元数据存储至所述存储模块,所述第二业务为所述集群系统运行的业务;
发送切换通知给所述升级后的升级子集群,以使所述升级后的升级子集群根据所述切换通知从所述存储模块中提取所述第一业务的元数据以及所述第二业务的元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410799585.8A CN105791337B (zh) | 2014-12-19 | 2014-12-19 | 一种升级方法、设备及集群系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410799585.8A CN105791337B (zh) | 2014-12-19 | 2014-12-19 | 一种升级方法、设备及集群系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105791337A true CN105791337A (zh) | 2016-07-20 |
CN105791337B CN105791337B (zh) | 2019-11-12 |
Family
ID=56385005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410799585.8A Active CN105791337B (zh) | 2014-12-19 | 2014-12-19 | 一种升级方法、设备及集群系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105791337B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106941420A (zh) * | 2017-03-16 | 2017-07-11 | 北京深思数盾科技股份有限公司 | 一种集群应用环境升级方法及装置 |
CN107506214A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种集群系统控制器的更新方法及更新系统 |
CN109213507A (zh) * | 2018-08-27 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种升级方法及服务器 |
CN113596157A (zh) * | 2021-07-30 | 2021-11-02 | 绿漫科技有限公司 | 一种基于SpringCloud的联盟链无感发布方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101843129A (zh) * | 2007-11-02 | 2010-09-22 | 艾利森电话股份有限公司 | 在无线基站节点中升级软件 |
CN102833101A (zh) * | 2012-08-22 | 2012-12-19 | 瑞斯康达科技发展股份有限公司 | 一种分布式网络系统的软件升级方法及设备 |
US8458693B2 (en) * | 2007-08-02 | 2013-06-04 | Sap Ag | Transitioning from static to dynamic cluster management |
CN103412780A (zh) * | 2013-08-19 | 2013-11-27 | 浪潮(北京)电子信息产业有限公司 | 一种对分布式文件系统进行升级的系统、装置及方法 |
CN103580918A (zh) * | 2013-10-30 | 2014-02-12 | 华为技术有限公司 | 一种配置数据处理方法及装置 |
-
2014
- 2014-12-19 CN CN201410799585.8A patent/CN105791337B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458693B2 (en) * | 2007-08-02 | 2013-06-04 | Sap Ag | Transitioning from static to dynamic cluster management |
CN101843129A (zh) * | 2007-11-02 | 2010-09-22 | 艾利森电话股份有限公司 | 在无线基站节点中升级软件 |
CN102833101A (zh) * | 2012-08-22 | 2012-12-19 | 瑞斯康达科技发展股份有限公司 | 一种分布式网络系统的软件升级方法及设备 |
CN103412780A (zh) * | 2013-08-19 | 2013-11-27 | 浪潮(北京)电子信息产业有限公司 | 一种对分布式文件系统进行升级的系统、装置及方法 |
CN103580918A (zh) * | 2013-10-30 | 2014-02-12 | 华为技术有限公司 | 一种配置数据处理方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106941420A (zh) * | 2017-03-16 | 2017-07-11 | 北京深思数盾科技股份有限公司 | 一种集群应用环境升级方法及装置 |
CN106941420B (zh) * | 2017-03-16 | 2019-12-13 | 北京深思数盾科技股份有限公司 | 一种集群应用环境升级方法及装置 |
CN107506214A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种集群系统控制器的更新方法及更新系统 |
CN107506214B (zh) * | 2017-08-30 | 2021-05-25 | 郑州云海信息技术有限公司 | 一种集群系统控制器的更新方法及更新系统 |
CN109213507A (zh) * | 2018-08-27 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种升级方法及服务器 |
CN113596157A (zh) * | 2021-07-30 | 2021-11-02 | 绿漫科技有限公司 | 一种基于SpringCloud的联盟链无感发布方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105791337B (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2619662B1 (en) | In-service software upgrade of control and line cards of network element | |
CN102497280B (zh) | 一种分布式系统及其实现管理的方法 | |
CN102238093B (zh) | 防止业务中断的方法和装置 | |
CN101739263A (zh) | 在多机集群系统中实现操作系统升级的方法及装置 | |
CN105791337A (zh) | 一种升级方法、设备及集群系统 | |
CN101888304A (zh) | 一种路由设备的升级方法、装置和系统 | |
CN102932409B (zh) | 一种虚拟机在线迁移的方法和系统 | |
CN104038376A (zh) | 一种管理真实服务器的方法、装置及lvs集群系统 | |
CN105677380B (zh) | 一种双主控隔离的逐板升级的方法及装置 | |
CN106469069B (zh) | 一种版本升级方法及系统 | |
CN104243527A (zh) | 数据同步方法、数据同步装置及分布式系统 | |
JP6431197B2 (ja) | スナップショット処理方法および関係付けられたデバイス | |
CN104348862B (zh) | 数据迁移处理方法、装置及系统 | |
CN104486394A (zh) | 不中断业务软件升级方法及装置 | |
CN102035683A (zh) | 一种主备板倒换的控制方法和系统 | |
CN104394016A (zh) | Issu升级方法和装置 | |
CN113220235B (zh) | 读写请求的处理方法、装置、设备及存储介质 | |
CN102984055B (zh) | 一种issu的软重启升级方法和设备 | |
US8990619B1 (en) | Method and systems to perform a rolling stack upgrade | |
US20220066436A1 (en) | Industrial field device replacement system | |
CN104182296A (zh) | 数据处理系统、数据处理设备以及存储介质 | |
CN104517067A (zh) | 访问数据的方法、装置及系统 | |
CN112351106B (zh) | 一种含事件网格的服务网格平台及其通信方法 | |
CN110737543B (zh) | 一种分布式文件系统数据恢复的方法、装置及存储介质 | |
CN107547605A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |