软件版本不一致的处理方法和堆叠系统中的成员设备.pdf

上传人:b*** 文档编号:1085946 上传时间:2018-03-30 格式:PDF 页数:27 大小:1.23MB
返回 下载 相关 举报
摘要
申请专利号:

CN200910091158.3

申请日:

2009.08.11

公开号:

CN101621407A

公开日:

2010.01.06

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 12/24变更事项:专利权人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更后:310052 浙江省杭州市滨江区长河路466号|||授权|||实质审查的生效IPC(主分类):H04L 12/24申请日:20090811|||公开

IPC分类号:

H04L12/24

主分类号:

H04L12/24

申请人:

杭州华三通信技术有限公司

发明人:

杜 澎; 严德汗; 高平利

地址:

310053浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

优先权:

专利代理机构:

北京德琦知识产权代理有限公司

代理人:

王一斌;王 琦

PDF下载: PDF下载
内容摘要

本发明公开了一种堆叠系统中成员设备软件版本不一致的处理方法,该方法包括:堆叠系统中的一个或多个成员设备启动并请求加入一个堆叠组时,检测所述一个或多个成员设备与欲加入所述堆叠组的其他已启动设备的软件版本是否一致;如果不一致,则允许所述一个或多个成员设备以主设备身份启动;否则,所述一个或多个成员设备和所述其他已启动设备加入所述堆叠组。本发明还公开了一种成员设备。使用本发明能够在不间断业务的情况下,实现堆叠组的升级。

权利要求书

1、  一种堆叠系统中成员设备软件版本不一致的处理方法,其特征在于,该方法包括:
A、堆叠系统中的一个或多个成员设备启动并请求加入一个堆叠组时,检测所述一个或多个成员设备与欲加入所述堆叠组的其他已启动设备的软件版本是否一致;如果不一致,则允许所述一个或多个成员设备以主设备身份启动;否则,所述一个或多个成员设备加入所述堆叠组;
B、当检测到所述堆叠系统中包含至少两个主设备且各主设备的软件版本不完全一致时,保留启动时间最短的一个主设备正常工作,将未保留的成员设备的所有业务口关闭。

2、
  如权利要求1所述的方法,其特征在于,当堆叠系统中的一个成员设备x_1启动并请求加入一个堆叠组时,
步骤A所述允许所述一个或多个成员设备以主设备身份启动为:所述成员设备x_1以主设备身份启动;
步骤B所述保留启动时间最短的一个主设备正常工作,将未保留的成员设备的所有业务口关闭为:比较成员设备x_1与欲加入所述堆叠组中的其他已启动设备的启动时间,确定所述成员设备x_1的启动时间短于所述其他已启动设备,则保留成员设备x_1正常工作,将所述其他已启动设备的所有业务口关闭。

3、
  如权利要求1所述的方法,其特征在于,当堆叠系统中的多个成员设备x_1~x_n启动并请求加入一个堆叠组时,其中,n为大于或等于2的整数;
步骤A所述允许所述一个或多个成员设备以主设备身份启动为:所述成员设备x_1~x_n分别以主设备身份启动;
步骤B所述保留启动时间最短的一个主设备正常工作,将未保留的成员设备的所有业务口关闭为:比较成员设备x_1~x_n和欲加入所述堆叠组的其他已启动设备的启动时间,确定所述成员设备x_1~x_n的启动时间相同,且短于所述其他已启动设备,则根据MAD机制从所述成员设备x_1~x_n中选择一个成员设备保留正常工作,将成员设备x_1~x_n中除保留成员设备之外的所有成员设备以及所述其他已启动设备的所有业务口关闭。

4、
  如权利要求1所述的方法,其特征在于,当堆叠系统中的多个成员设备x_1~x_n启动并请求加入一堆叠组时,其中,n为大于或等于2的整数;
步骤A所述允许所述一个或多个成员设备以主设备身份启动为:成员设备x_1~x_n选举主设备x_A并堆叠在一起启动;
步骤B所述保留启动时间最短的一个主设备正常工作,将未保留的成员设备的所有业务口关闭为:比较主设备x_A和欲加入所述堆叠组的其他已启动设备的启动时间,确定主设备x_A的启动时间短于所述其他已启动设备,则保留成员设备x_1~x_n正常工作,将所述其他已启动设备的所有业务口关闭。

5、
  如权利要求1所述的方法,其特征在于,该方法进一步包括:在所述堆叠系统初始启动时,如果所述堆叠系统中各成员设备的软件版本不完全一致,则软件版本相同的成员设备选举主设备并堆叠在一起启动;
所述堆叠系统初始启动后,MAD机制检测到所述堆叠系统中包含至少两个主设备,且各主设备的软件版本不完全一致但启动时间相同,则根据MAD机制从各主设备中选择一个,保留选定的主设备及其从设备正常工作,将未保留的成员设备的所有业务口关闭。

6、
  如权利要求1至5任意一项所述的方法,其特征在于,所述步骤B之后,该方法进一步包括步骤C:重启业务口关闭的成员设备,重启的成员设备运行与所述堆叠组中的成员设备相同的软件版本,允许所述重启的成员设备加入所述堆叠组。

7、
  如权利要求6所述的方法,其特征在于,在需要对已启动的堆叠组进行软件版本升级时,先重启所述堆叠组中的部分成员设备X;所述已启动的堆叠组中未重启的成员设备称为成员设备Y;
成员设备X重启时,运行升级后的软件版本,然后执行所述步骤A至C;且步骤A中所述的其他已启动设备为所述成员设备Y。

8、
  如权利要求7所述的方法,其特征在于,所述重启所述堆叠组中的部分成员设备X之前,该方法进一步包括:将待升级的软件版本下载到所述堆叠组中的所有成员设备中,并标记为下一次启动时运行的版本。

9、
  一种堆叠系统中的成员设备,其特征在于,该成员设备包括:
软件版本检测单元,用于当所在成员设备启动并请求加入一堆叠组时,检测自身与欲加入所述堆叠组的其他已启动设备的软件版本是否一致;如果不一致,则允许所在成员设备以主设备身份启动;否则,允许所在成员设备加入所述堆叠组;
多主设备检测单元,用于当检测到所在堆叠系统中包含至少两个主设备且各主设备的软件版本不完全一致时,确定启动时间最短的一个主设备,判断所在成员设备是否为所确定的主设备本身或其从设备;如果是,则保留所在成员设备正常工作;否则,将所在成员设备的所有业务口关闭。

10、
  如权利要求9所述的成员设备,其特征在于,所述软件版本检测单元在判定自身与欲加入所述堆叠组的其他已启动设备的软件版本不一致时,无论是否存在同时启动的其他成员设备,均以主设备身份启动;
或者,与其他同时启动且具有相同软件版本的成员设备堆叠在一起启动。

11、
  如权利要求9所述的成员设备,其特征在于,所述多主设备检测单元在确定启动时间最短的一个主设备时,如果所在堆叠系统中仅存在一个启动时间最短的主设备,则将该主设备确定为所述启动时间最短的一个主设备;如果所在堆叠系统中存在多个启动时间最短的主设备,则根据MAD机制从所述多个启动时间最短的主设备中选择一个主设备,将选定的主设备确定为所述启动时间最短的一个主设备。

12、
  如权利要求9所述的成员设备,其特征在于,所述软件版本检测单元进一步用于,在所述堆叠系统初始启动时,如果所述堆叠系统中各成员设备的软件版本不完全一致,则软件版本相同的成员设备选举主设备并堆叠在一起启动;
所述多主设备检测单元进一步用于,所述堆叠系统初始启动后,MAD机制检测到所述堆叠系统中包含至少两个主设备,且各主设备的软件版本不完全一致但启动时间相同,则根据MAD机制从各主设备中选择一个,判断所在成员设备是否为所选定的主设备本身或其从设备;如果是,则保留所在成员设备正常工作;否则,将所在成员设备的所有业务口关闭。

13、
  如权利要求9至12任意一项所述的成员设备,其特征在于,该成员设备进一步包括软件保存单元和重启单元;
所述软件保存单元,用于接收并保存软件,该软件包括升级后的软件版本;
所述重启单元,用于根据来自外部的重启命令重启时,运行所述软件保存单元保存的所述升级后的软件版本,并通知软件版本检测单元执行其自身操作。

14、
  如权利要求13所述的成员设备,其特征在于,所述软件保存单元在所在成员设备重启之前,接收来自外部的升级后的软件版本,并标记为下一次启动时运行的版本。

说明书

软件版本不一致的处理方法和堆叠系统中的成员设备
技术领域
本发明涉及数据通信网络领域中的堆叠技术,具体涉及一种堆叠系统中成员设备软件版本不一致的处理方法和一种堆叠系统中的成员设备。
背景技术
随着网络规模的急剧增加,堆叠技术应运而生。堆叠技术是指将两台或多台网络设备通过堆叠口连接起来,组成堆叠系统。组成堆叠系统的网络设备称为堆叠成员设备,简称成员设备。堆叠系统启动时各成员设备选举主设备并堆叠在一起启动,堆叠在一起的设备组成堆叠组。堆叠组中有一台成员设备充当控制者和管理者的角色,称为主设备(Active设备),其他成员设备均为从设备(Slave设备)。从逻辑上来说,堆叠在一起的设备相当于同一设备,用户管理堆叠组就像管理一台设备。
堆叠组中各成员设备的软件版本号必须一致。当某一新设备请求与一堆叠组a堆叠以形成新的堆叠组A时,即新设备请求加入堆叠组A时,如果新设备的软件版本为升级后的软件版本,而堆叠组a中各设备的软件版本为升级前的软件版本,则现有技术不允许新设备与堆叠组a堆叠,除非新设备采用与堆叠组a相同的软件版本,或者堆叠组a升级为新的软件版本。
当需要对已启动的堆叠组进行软件版本升级时,需要向堆叠组中的所有设备下载升级后的软件版本,然后同时重启堆叠组中的所有设备,设备重启后运行升级后的软件版本,从而完成了堆叠组的升级。但是,在升级过程中,同时重启堆叠组中的所有设备势必会造成用户流量中断,不能满足不间断业务升级的要求。
发明内容
有鉴于此,本发明提供了一种堆叠组中成员设备的软件版本不一致的处理方法,有利于实现不间断业务下的堆叠组升级。
该方法包括:
A、堆叠系统中的一个或多个成员设备启动并请求加入一个堆叠组时,检测所述一个或多个成员设备与欲加入所述堆叠组的其他已启动设备的软件版本是否一致;如果不一致,则允许所述一个或多个成员设备以主设备身份启动;否则,所述一个或多个成员设备加入所述堆叠组;
B、当检测到所述堆叠系统中包含至少两个主设备且各主设备的软件版本不完全一致时,保留启动时间最短的一个主设备正常工作,将未保留的成员设备的所有业务口关闭。
当堆叠系统中的一个成员设备x_1启动并请求加入一个堆叠组时,
步骤A所述允许所述一个或多个成员设备以主设备身份启动为:所述成员设备x_1以主设备身份启动;
步骤B所述保留启动时间最短的一个主设备正常工作,将未保留的成员设备的所有业务口关闭为:比较成员设备x_1与欲加入所述堆叠组中的其他已启动设备的启动时间,确定所述成员设备x_1的启动时间短于所述其他已启动设备,则保留成员设备x_1正常工作,将所述其他已启动设备的所有业务口关闭。
当堆叠系统中的多个成员设备x_1~x_n启动并请求加入一个堆叠组时,其中,n为大于或等于2的整数;
步骤A所述允许所述一个或多个成员设备以主设备身份启动为:所述成员设备x_1~x_n分别以主设备身份启动;
步骤B所述保留启动时间最短的一个主设备正常工作,将未保留的成员设备的所有业务口关闭为:比较成员设备x_1~x_n和欲加入所述堆叠组的其他已启动设备的启动时间,确定所述成员设备x_1~x_n的启动时间相同,且短于所述其他已启动设备,则根据MAD机制从所述成员设备x_1~x_n中选择一个成员设备保留正常工作,将成员设备x_1~x_n中除保留成员设备之外的所有成员设备以及所述其他已启动设备的所有业务口关闭。
当堆叠系统中的多个成员设备x_1~x_n启动并请求加入一堆叠组时,其中,n为大于或等于2的整数;
步骤A所述允许所述一个或多个成员设备以主设备身份启动为:成员设备x_1~x_n选举主设备x_A并堆叠在一起启动;
步骤B所述保留启动时间最短的一个主设备正常工作,将未保留的成员设备的所有业务口关闭为:比较主设备x_A和欲加入所述堆叠组的其他已启动设备的启动时间,确定主设备x_A的启动时间短于所述其他已启动设备,则保留成员设备x_1~x_n正常工作,将所述其他已启动设备的所有业务口关闭。
较佳地,该方法进一步包括:在所述堆叠系统初始启动时,如果所述堆叠系统中各成员设备的软件版本不完全一致,则软件版本相同的成员设备选举主设备并堆叠在一起启动;
所述堆叠系统初始启动后,MAD机制检测到所述堆叠系统中包含至少两个主设备,且各主设备的软件版本不完全一致但启动时间相同,则根据MAD机制从各主设备中选择一个,保留选定的主设备及其从设备正常工作,将未保留的成员设备的所有业务口关闭。
较佳地,所述步骤B之后,该方法进一步包括步骤C:重启业务口关闭的成员设备,重启的成员设备运行与所述堆叠组中的成员设备相同的软件版本,允许所述重启的成员设备加入所述堆叠组。
在需要对已启动的堆叠组进行软件版本升级时,先重启所述堆叠组中的部分成员设备X;所述已启动的堆叠组中未重启的成员设备称为成员设备Y;
成员设备X重启时,运行升级后的软件版本,然后执行所述步骤A至C;且步骤A中所述的其他已启动设备为所述成员设备Y。
较佳地,所述重启所述堆叠组中的部分成员设备X之前,该方法进一步包括:将待升级的软件版本下载到所述堆叠组中的所有成员设备中,并标记为下一次启动时运行的版本。
本发明还提供了一种堆叠系统中的成员设备,有利于实现不间断业务下的堆叠组升级。
该成员设备包括:
软件版本检测单元,用于当所在成员设备启动并请求加入一堆叠组时,检测自身与欲加入所述堆叠组的其他已启动设备的软件版本是否一致;如果不一致,则允许所在成员设备以主设备身份启动;否则,允许所在成员设备加入所述堆叠组;
多主设备检测单元,用于当检测到所在堆叠系统中包含至少两个主设备且各主设备的软件版本不完全一致时,确定启动时间最短的一个主设备,判断所在成员设备是否为所确定的主设备本身或其从设备;如果是,则保留所在成员设备正常工作;否则,将所在成员设备的所有业务口关闭。
其中,所述软件版本检测单元在判定自身与欲加入所述堆叠组的其他已启动设备的软件版本不一致时,无论是否存在同时启动的其他成员设备,均以主设备身份启动;
或者,与其他同时启动且具有相同软件版本的成员设备堆叠在一起启动。
其中,所述多主设备检测单元在确定启动时间最短的一个主设备时,如果所在堆叠系统中仅存在一个启动时间最短的主设备,则将该主设备确定为所述启动时间最短的一个主设备;如果所在堆叠系统中存在多个启动时间最短的主设备,则根据MAD机制从所述多个启动时间最短的主设备中选择一个主设备,将选定的主设备确定为所述启动时间最短的一个主设备。
较佳地,所述软件版本检测单元进一步用于,在所述堆叠系统初始启动时,如果所述堆叠系统中各成员设备的软件版本不完全一致,则软件版本相同的成员设备选举主设备并堆叠在一起启动;
所述多主设备检测单元进一步用于,所述堆叠系统初始启动后,MAD机制检测到所述堆叠系统中包含至少两个主设备,且各主设备的软件版本不完全一致但启动时间相同,则根据MAD机制从各主设备中选择一个,判断所在成员设备是否为所选定的主设备本身或其从设备;如果是,则保留所在成员设备正常工作;否则,将所在成员设备的所有业务口关闭。
较佳地,该成员设备进一步包括软件保存单元和重启单元;
所述软件保存单元,用于接收并保存软件,该软件包括升级后的软件版本;
所述重启单元,用于根据来自外部的重启命令重启时,运行所述软件保存单元保存的所述升级后的软件版本,并通知软件版本检测单元执行其自身操作。
较佳地,所述软件保存单元在所在成员设备重启之前,接收来自外部的升级后的软件版本,并标记为下一次启动时运行的版本。
根据以上技术方案可见,本发明在某成员设备加入堆叠组A时,如果出现软件版本不一致的情况,虽不能正常堆叠,但允许成员设备以主设备身份启动。这样,堆叠系统中会同时存在多个主设备且各主设备的软件版本不完全一致,然后再根据各主设备的启动时间,保留启动时间最短的主设备正常工作,如果保留的主设备有从设备,还保留其从设备正常工作,将未保留的成员设备的所有业务口关闭。实际上,启动时间最短的主设备就是运行升级后软件版本的设备,采用该方案使得运行升级后软件版本的设备保留正常工作,使得运行旧软件版本的设备关闭,从而将旧软件版本的设备从堆叠组中去除。
当后续对业务口关闭的设备进行软件版本升级再重启后,由于软件版本一致,可以正常堆叠,至此,堆叠组中所有成员设备都运行升级的软件版本,从而完成了整个堆叠组的升级。
由于堆叠组的升级过程中始终有一个或一个以上的设备正常工作,从而避免了业务中断。
附图说明
图1为本发明堆叠组中成员设备软件版本不一致的处理方法流程图。
图2为本发明堆叠组升级方法的流程图。
图3为本发明实施例一中堆叠组软件版本升级的方法流程图。
图4为本发明实施例二中堆叠组软件版本升级的方法流程图。
图5为本发明实施例三中堆叠组软件版本升级的方法流程图。
图6为本发明实施例中一种成员设备的结构示意图。
具体实施方式
本发明首先提供了一种堆叠系统中成员设备软件版本不一致的处理方案,如图1所示,该方法包括以下步骤:
步骤101:当堆叠系统中的一个或多个成员设备启动并请求加入某一堆叠组A时,检测所述一个或多个成员设备与欲加入堆叠组A的其他已启动设备的软件版本是否一致;如果不一致,则不允许所述一个或多个成员设备加入所述堆叠组A,但允许所述一个或多个成员设备以主设备身份启动;否则,允许所述一个或多个成员设备加入所述堆叠组A,即所述一个或多个成员设备与所述其他已启动设备堆叠,形成堆叠组A。
其中,成员设备的“启动”包括初始启动和重启。
本发明中,欲加入堆叠组A的“其他已启动设备”可以是一个设备,也可以是多个设备堆叠在一起组成的堆叠组a。
以“其他已启动设备”为堆叠组a为例,当所述“一个或多个成员设备”启动后,如果“一个或多个成员设备”与堆叠组a的软件版本一致,则“一个或多个成员设备”与堆叠组a堆叠,构成所述堆叠组A。其中,判断设备与堆叠组软件版本是否一致为:判断设备与堆叠组中的设备软件版本是否一致。
步骤102:当所述一个或多个成员设备以主设备身份启动后,检测到所述堆叠系统中包含至少两个主设备且各主设备的软件版本不完全一致,此时根据各主设备的启动时间,保留启动时间最短的主设备正常工作,即保留软件版本较新的主设备正常工作,将未保留的成员设备的所有业务口关闭。
被关闭的业务口为面向用户的业务口,并非堆叠链路所占用的堆叠口。关闭相应业务口后,堆叠系统的多主设备仍然存在,只对外网不可见,对外网来说,堆叠系统仍然只具有一个主设备。
其中,检测堆叠系统中是否包含多个主设备的操作可以采用现有的多活动主机检测(MAD,Multi-Active Detection)机制完成。该MAD机制检测的范围是堆叠系统,即配置的堆叠范围。
这里需要说明的是,本文所述的堆叠系统和堆叠组是有区别的:堆叠系统是指配置的堆叠范围,即通过堆叠链路连接起来的成员设备的范围;堆叠组是指成员设备启动并参与堆叠后形成的设备集合。当堆叠系统启动后,形成堆叠组,堆叠组中成员设备的数量小于或等于堆叠系统中成员设备的数量。例如,配置堆叠系统中包括设备A、B、C和D,堆叠系统启动后,因为某种原因设备A未能成功堆叠,则设备B、C和D成功堆叠在一起,则形成的堆叠组仅包括设备B、C和D。
至此,本流程结束。
上述步骤101和102包含了本发明提出的两种处理机制:
机制1:当某成员设备x_1请求与其他已启动设备堆叠成堆叠组A时,如果检测到成员设备x1的软件版本与欲加入堆叠组A的其他已启动设备的软件版本不一致时,不允许堆叠成功,允许成员设备x1以主设备的身份启动。
需要说明的是,所述允许成员设备x1以主设备的身份启动并不表明成员设备x1一定会以主设备的身份启动,具体来说,可以包括以下两种实施方式:
其一、无论是否存在同时启动的其他成员设备,成员设备x1均以主设备身份启动;
其二、仅当不存在同时启动的其他成员设备时,成员设备x1以主设备身份启动;当存在同时启动的其他成员设备时,成员设备x1与其他同时启动且具有相同软件版本的设备堆叠在一起启动。堆叠在一起启动的成员设备相互交流并选举出主设备。
机制2:当MAD检测到多主设备时,比较多个主设备的软件版本号,如果不一致,则保留启动时间最短的主设备及其从设备正常工作,将未保留的设备的所有业务口关闭。
具体来说,所述保留启动时间最短的设备正常工作为:
如果堆叠系统中仅存在一个启动时间最短的主设备,则保留该启动时间最短的主设备及其从设备正常工作;
如果堆叠系统中存在多个启动时间最短的主设备,则根据MAD机制从多个启动时间最短的主设备中选择一个主设备,保留选定的主设备及其从设备正常工作。
经图1所述流程的处理,业务口被关闭的成员设备上的流量切换到被保留的设备中,从而避免了业务流量的中断。当后续对业务口关闭的成员设备升级并重启后,由于经升级后软件版本一致,则允许重启后的设备堆叠成功,从而完成了堆叠组的升级过程。在堆叠组的升级过程中始终有成员设备正常工作,业务流量不会间断,因此图1所述的处理方法有利于实现不间断业务下的堆叠组升级。
利用图1示出的处理方法可以实现堆叠组的在线升级,即对已启动的堆叠组进行升级。图2为本发明堆叠组升级方法的流程图。如图2所示,该流程包括以下步骤:
步骤201:在需要对已启动的堆叠组A进行软件版本升级时,先重启堆叠组A中的部分成员设备X。成员设备X被重启后,退出堆叠组A,缺少成员设备X的堆叠组A形成堆叠组a。
在实际中,两台成员设备构成的堆叠组比较常见,那么先重启的部分成员设备X为一个。
如果堆叠组包括两台以上成员设备,则先重启的部分成员设备X可以为一个,也可以为多个(多个指一个以上)。由于只要剩余一个成员设备提供业务流量处理即可,因此先重启的部分成员设备X最多不超过N-1个,N为重启前堆叠组A中所有成员设备的数目。
步骤202:成员设备X重启时,运行升级后的软件版本,并请求与堆叠组a堆叠,以形成堆叠组A,即成员设备X请求加入堆叠组A;在检测到成员设备X重启后运行的软件版本与堆叠组a的软件版本不一致时,允许成员设备X以主设备身份启动。
根据前述步骤101所述的其一和其二,本步骤202所述成员设备X以主设备身份启动也分为几种情况:
一种情况是,当成员设备X为一个时,必定以主设备身份启动;
另一种情况是,当成员设备X为至少2个时,可以按照“其一”每个成员设备X都以主设备身份启动,也可以按照“其二”多个成员设备X选举主设备并堆叠在一起启动。
步骤203:成员设备X重启完成后,MAD机制检测到堆叠系统中包含不只一个主设备后,比较各主设备的软件版本,如果版本完全不一致,则保留启动时间最短的一个主设备及其从设备正常工作,将未保留的成员设备的所有业务口关闭,业务口被关闭的成员设备记为Y。成员设备Y的业务口被关闭后,成员设备X形成堆叠组a’。
成员设备X的数目为一个和多个时,对应的保留设备选择过程略有不同,以下实施例中详细描述。
步骤204:重启成员设备Y;重启的成员设备Y运行升级后的软件版本,并请求与堆叠组a’堆叠,以再次形成堆叠组A;检测到成员设备Y重启后运行的软件版本与堆叠组a’的软件版本一致,则允许成员设备Y和堆叠组a’堆叠,形成堆叠组A。
至此,堆叠组A中的所有成员设备均完成了升级。
由于在升级过程中始终有保持正常运行的成员设备,因此业务流量可以由正常运行的成员设备处理,避免了对堆叠组中的所有设备同时重启造成的业务流量中断问题,能够满足用户要求不间断业务升级的要求。
下面针对堆叠组包含不同数量的成员设备以及先重启不同数量的成员设备分别举实施例进行描述。
实施例一
本实施例中堆叠组A包括两个成员设备,分别称为设备1和设备2。
图3为本发明实施例一中堆叠组软件版本升级的方法流程图。如图3所示,该方法包括以下步骤:
步骤301:向堆叠组A中的设备1和设备2中下载升级后的软件版本,并标记为下一次启动版本。假设设备1和设备2当前运行的版本为版本1,升级后的版本为版本2。
步骤302:重启堆叠组A中其中一台设备,假设重启设备1,此时,业务流量切换到设备2,流量没有中断。
堆叠组中的某台设备重启,MAD机制会将原本由被重启的设备处理的流量切换到保持正常工作的设备上,该过程为常规手段,这里不赘述。
其中,重启的设备1可以为主设备,也而可以为从设备。当设备1为主设备时,设备1重启后,设备2切换为主设备,该切换过程也为常规手段。
步骤303:当设备1重启时,运行版本2的软件,并请求与设备2堆叠,以加入堆叠组A。此时,判定设备1与设备2的软件版本不一致(设备1使用版本2,设备2使用版本1),此时根据机制1,设备1不能与设备2正常堆叠,只能以主设备的身份单独启动。
本步骤执行后实现了设备1的软件版本升级。
步骤304:设备1重启后,设备1和设备2均为主设备,MAD机制检测到此现象后,根据机制2比较设备1和设备2的软件版本号,发现软件版本号不一致,再比较设备1和设备2的启动时间,设备1启动时间较短,所以将设备2的业务口关闭。此时,业务流量切换到设备1,流量没有中断。设备1切换为主设备。
步骤305:手工重启设备2。当设备2重启时,运行版本2的软件,并请求与设备1堆叠,以加入堆叠组A。此时,判定设备2与设备1的软件版本一致,允许设备2正常堆叠并完成重启,从而实现了设备2的软件版本升级。设备2启动后,业务流量重新在两台设备间分担,流量没有中断。
至此,完成了堆叠组A的升级过程,由升级过程的描述可以看出,流量始终没有中断。
在实际中,如果堆叠组A包括两台以上成员设备,且首次重启其中一台成员设备,则堆叠组A的升级过程与图3相似,只是步骤305重启的成员设备个数为N-1。
实施例二
本实施例中堆叠组A包括四个成员设备,分别称为设备1、2、3和4。升级堆叠组A时,先重启其中两台设备。
图4为本发明实施例二中堆叠组软件版本升级的方法流程图。如图4所示,该方法包括以下步骤:
步骤401:向堆叠组A中的各设备下载升级后的软件版本,并标记为下一次启动版本。假设堆叠组中各设备当前运行的版本为版本1,升级后的版本为版本2。
步骤402:重启堆叠组A中其中两台设备,假设重启设备1和设备2,此时,业务流量根据负载分担策略切换到设备3和/或设备4,流量没有中断。
被重启的设备1和设备2中可以包括主设备,也可以不包括主设备。当设备1和设备2包括主设备时,设备1和设备2重启后,设备3和设备4重新选举新的主设备。假设重启后设备3为主设备。
步骤403:当设备1和2重启时,均运行版本2的软件,并请求与设备3和设备4组成的堆叠组a堆叠,以加入堆叠组A。此时,判定设备1和设备2与堆叠组a中的当前主设备即设备3的软件版本不一致(设备1和设备2使用版本2,设备3使用版本1),此时根据机制1,设备1和设备2不能与堆叠组a成功堆叠,分别以主设备的身份正常启动。
步骤404:设备1和设备2重启后,设备1、设备2和设备3均为主设备,MAD机制检测到此现象后,根据机制2比较设备1、设备2和设备3的软件版本号,发现软件版本号不完全一致,再比较设备1、设备2和设备3的启动时间,假设设备1和设备2的启动时间完全相同且短于设备3,此时进一步根据MAD机制从设备1和设备2中选择一个成员设备保留正常工作,例如选择成员编号最小的设备正常工作。假设在设备1和设备2中,设备1的成员编号较小,则保留设备1正常工作,将设备2和堆叠组a中所有成员设备的所有业务口的所有业务口关闭。
在实际中,由于设备个体差异,如果设备1和设备2的启动时间稍有差别,则可以直接选择启动时间最短的成员设备保留正常工作,而不必交由MAD机制选择保留设备。
经本步骤的处理,业务流量切换到设备1,流量没有中断。同时设备1切换为主设备。
步骤405:手工重启设备2、3和4。重启后设备2、3和4运行版本2的软件,并请求与设备1堆叠,以加入堆叠组A。此时,判定设备2、3和4的软件版本号与设备1一致,允许设备2、3和4与设备1正常堆叠并完成重启,从而实现了设备2、3和4的软件版本升级。至此,完成了堆叠组A的升级过程。此后,业务流量重新在四台设备间分担,流量没有中断。
本实施例中,同时重启多个设备可以采用同时关闭设备电源的方式。
但是在实际中,为了保证不间断业务升级的效果,通常对先重启的多台设备也采用顺序重启的方式,例如在上述步骤402中按照先设备1再设备2的顺序重启这两台设备。那么在步骤403和404中,设备1先以主设备身份重启完成,根据机制2设备1保持正常工作,并关闭设备3和设备4的业务口,此时,设备2请求与设备1堆叠,由于软件版本一致,堆叠成功。然后再手工重启设备3和设备4从而完成了堆叠组的升级。
实施例三
本实施例中堆叠组A仍包括四个成员设备,分别称为设备1、2、3和4。升级堆叠组A时,先同时重启设备1和设备2。不同之处在于设备1和设备2堆叠在一起重启。
图5为本发明实施例三中堆叠组软件版本升级的方法流程图。如图5所示,该方法包括以下步骤:
步骤501和502与前述步骤401和402相同。
步骤503:当设备1和2重启时,均运行版本2的软件,并请求与设备3和设备4组成的堆叠组a堆叠,以加入堆叠组A,此时设备1判定与堆叠组a的当前主设备即设备3的软件版本不一致,但与设备2一致,相应地设备2判定与设备3的软件版本不一致,但与设备1一致,则根据机制1,设备1和设备2不能与堆叠组a成功堆叠,但设备1和设备2具有相同软件版本号,可以相互堆叠,因此设备1和设备2选举主设备并堆叠在一起启动,设备1和设备2形成的堆叠组称为堆叠组a’。假设选举设备1为主设备。
设备1和设备2选举主设备并堆叠在一起启动的前提条件是设备1和设备2之间具有物理连接。如果设备1和设备2之间没有物理连接,那么设备1和设备2之间相互知道对方的软件版本号,则设备1和设备2仍分别以主设备身份单独启动。在这种情况下,设备1和设备2重启后的操作与实施例二相同,这里不赘述。
步骤504为:设备1和设备2重启后,设备1和设备3均为主设备,MAD机制检测到此现象后,根据机制2比较设备1和设备3的软件版本号,发现软件版本号不一致,再比较设备1和设备3的启动时间,设备1的启动时间较短,则保留设备1及其从设备即设备2正常工作,将设备3及其从设备即设备4的所有业务口关闭。
经本步骤的处理,业务流量切换到设备1和/或设备2,流量没有中断。同时设备1仍然作为主设备。
步骤505:手工重启设备3和4。重启后设备3和4运行版本2的软件,并请求与堆叠组a’堆叠,以加入堆叠组A。此时,判定设备3和4的软件版本号与堆叠组a’的当前主设备即设备1一致,允许设备3和4与堆叠组a’正常堆叠并完成启动,从而实现了设备3和4的软件版本升级。至此,完成了堆叠组A的升级过程。此后,业务流量重新在四台设备间分担,流量没有中断。
通常,堆叠系统在初始启动时,各成员设备的软件版本会被配置为一致从而可以正常堆叠,形成堆叠组。一旦在堆叠系统初始启动时,各成员设备的软件版本不完全一致,则本发明实施例将软件版本相同的成员设备选举主设备并堆叠在一起启动。堆叠系统启动后,MAD机制检测不只一个主设备,且各主设备的启动时间相同但软件版本不完全一致,则根据MAD机制从各主设备中选择一个,例如选择成员编号最小者,保留选定的主设备及其从设备正常工作,将未保留的成员设备的所有业务口关闭,等待手工重启。该各主设备的启动时间相同则交给MAD机制处理的方式作为上述机制2的补充,从而使得机制1的设置不会影响堆叠组的正常工作。
为了实现本发明实施例中软件版本不一致的处理方法,本发明提供了一种堆叠系统中的成员设备。图6为本发明实施例中一种成员设备的结构示意图。如图6所示,该成员设备包括软件版本检测单元61和多主设备检测单元62;其中,
软件版本检测单元61,用于当所在成员设备启动并请求加入一堆叠组时,检测自身与欲加入所述堆叠组的其他已启动设备的软件版本是否一致;如果不一致,则允许所在成员设备以主设备身份启动;否则,允许所在成员设备加入所述堆叠组。
其中,该软件版本检测单元61在判定自身与欲加入所述堆叠组的其他已启动设备的软件版本不一致时,无论是否存在同时启动的其他成员设备,均以主设备身份启动;或者,与其他同时启动且具有相同软件版本的成员设备堆叠在一起启动。
多主设备检测单元62,用于当检测到所在堆叠系统中包含至少两个主设备且各主设备的软件版本不完全一致时,确定启动时间最短的一个主设备,判断所在成员设备是否为所确定的主设备本身或其从设备;如果是,则保留所在成员设备正常工作;否则,将所在成员设备的所有业务口关闭。
其中,该多主设备检测单元62,在确定启动时间最短的一个主设备时,如果所在堆叠系统中仅存在一个启动时间最短的主设备,则将该主设备确定为所述启动时间最短的一个主设备;如果所在堆叠系统中存在多个启动时间最短的主设备,则根据MAD机制从所述多个启动时间最短的主设备中选择一个主设备,将选定的主设备确定为所述启动时间最短的一个主设备。
较佳地,软件版本检测单元61进一步用于,当所在堆叠系统初始启动时,如果所述堆叠系统中各成员设备的软件版本不完全一致,则软件版本相同的成员设备选举主设备并堆叠在一起启动;
多主设备检测单元62进一步用于,所在堆叠系统初始启动后,MAD机制检测到所述堆叠系统中包含至少两个主设备,且各主设备的软件版本不完全一致但启动时间相同,则根据MAD机制从各主设备中选择一个,判断所在成员设备是否为所选定的主设备本身或其从设备;如果是,则保留所在成员设备正常工作;否则,将所在成员设备的所有业务口关闭。
当采用图6示出的成员设备实现上述堆叠组升级时,图6示出的成员设备进一步包括软件保存单元63和重启单元64;其中,
软件保存单元63,用于接收并保存软件,该软件包括升级后的软件版本。在一个实施例中,在所在成员设备重启之前,该软件保存单元63接收来自外部的升级后的软件版本,并标记为下一次启动时运行的版本。
重启单元64,用于根据来自外部的重启命令重启时,运行软件保存单元63保存的升级后的软件版本,并通知软件版本检测单元61执行其自身操作。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

软件版本不一致的处理方法和堆叠系统中的成员设备.pdf_第1页
第1页 / 共27页
软件版本不一致的处理方法和堆叠系统中的成员设备.pdf_第2页
第2页 / 共27页
软件版本不一致的处理方法和堆叠系统中的成员设备.pdf_第3页
第3页 / 共27页
点击查看更多>>
资源描述

《软件版本不一致的处理方法和堆叠系统中的成员设备.pdf》由会员分享,可在线阅读,更多相关《软件版本不一致的处理方法和堆叠系统中的成员设备.pdf(27页珍藏版)》请在专利查询网上搜索。

本发明公开了一种堆叠系统中成员设备软件版本不一致的处理方法,该方法包括:堆叠系统中的一个或多个成员设备启动并请求加入一个堆叠组时,检测所述一个或多个成员设备与欲加入所述堆叠组的其他已启动设备的软件版本是否一致;如果不一致,则允许所述一个或多个成员设备以主设备身份启动;否则,所述一个或多个成员设备和所述其他已启动设备加入所述堆叠组。本发明还公开了一种成员设备。使用本发明能够在不间断业务的情况下,实现。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1