一种升级系统、方法、装置及云计算节点.pdf

上传人:111****11 文档编号:1748363 上传时间:2018-07-09 格式:PDF 页数:18 大小:1.15MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410054935.8

申请日:

2014.02.18

公开号:

CN104850416A

公开日:

2015.08.19

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/445申请日:20140218|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

中国移动通信集团公司

发明人:

钱岭; 张志宏; 郭旸

地址:

100032北京市西城区金融大街29号

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司11291

代理人:

郭润湘

PDF下载: PDF下载
内容摘要

本发明公开了一种升级系统、方法、装置及云计算节点,用以提高云计算集群系统升级的通用性和可靠性,包括RUM和多个云计算集群子系统,云计算集群子系统包括MN和至少两个SN,MN包括RUMA,SN包括RUA,其中:RUM用于在接收到系统升级指令之后,向RUMA发送系统升级请求;以及根据RUMA返回的升级管理信息确定升级策略;并向RUMA发送升级策略;RUMA用于在接收到系统升级请求之后,向MN获取SN的状态信息;根据获取的状态信息确定升级管理信息并发送给RUM;以及根据RUM发送的升级策略,向RUA发送系统升级指示信息;RUA用于在接收到系统升级指示信息之后,执行系统升级操作。

权利要求书

权利要求书
1.  一种升级系统,其特征在于,包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA,其中:
所述RUM,用于在接收到系统升级指令之后,向所述RUMA发送系统升级请求;以及根据所述RUMA返回的升级管理信息确定升级策略;并向所述RUMA发送所述升级策略;
所述RUMA,用于在接收到所述系统升级请求之后,向所述MN获取所述SN的状态信息;根据获取的状态信息确定所述升级管理信息并发送给所述RUM;以及根据所述RUM发送的升级策略,向所述RUA发送系统升级指示信息;
所述RUA,用于在接收到系统升级指示信息之后,执行系统升级操作。

2.  如权利要求1所述的系统,其特征在于,所述升级管理信息包括:空闲节点列表和/或节点数据依赖关系信息;以及所述升级策略包括节点升级顺序列表和/或不可同时升级节点约束信息。

3.  如权利要求1或2所述的系统,其特征在于,
所述RUMA,还用于实时向所述MN获取所述SN的状态信息,根据获取的状态信息更新所述升级管理信息并发送给所述RUM;
所述RUM,还用于根据更新后的升级管理信息,更新所述升级策略。

4.  如权利要求1或2所述的系统,其特征在于,所述升级管理信息还包括:所述MN与所述SN之间的心跳间隔时间信息;以及
所述RUA,还用于在成功执行系统升级操作之后,向所述RUM返回节点升级所需时间信息;
所述RUM,还用于根据各SN的节点升级时间信息确定节点升级平均所需时间信息;以及若节点升级平均所需时间大于心跳间隔时间,通知RUMA所 述节点升级平均所需时间;
所述RUMA,还用于在接收到所述节点升级平均所需时间时通知所述MN。

5.  如权利要求1所述的系统,其特征在于,
所述RUM,还用于按照预设周期向所述RUA获取所述RUA所在节点当前运行的软件版本信息并存储;以及向所述RUMA发送系统升级请求之前,确定自身当前配置的软件版本高于所述RUA所在节点当前运行的版本。

6.  如权利要求1所述的系统,其特征在于,
所述RUA,具体用于在接收到系统升级指示信息之后,从所述RUM获取新版本软件,以及停止自身所在云计算从节点的旧版本软件,部署并运行所述新版本软件。

7.  一种升级方法,应用于升级系统中,其特征在于,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA;以及
所述方法,包括:
所述RUM在接收到系统升级指令之后,向所述RUMA发送系统升级请求;
接收所述RUMA返回的升级管理信息,其中所述升级管理信息为所述RUMA根据获取的所述SN的状态信息确定出的;
根据所述升级管理信息确定升级策略;
向所述RUMA发送所述升级策略。

8.  如权利要求7所述的方法,其特征在于,还包括:
接收所述RUMA发送的更新后的升级管理信息,其中,更新后的升级管理信息为所述RUMA向所述MN实时获取所述SN的状态信息,并根据获取的所述SN的状态信息确定出的;
所述RUM根据更新后的升级管理信息更新所述升级策略;以及
将更新后的升级策略发送给所述RUMA。

9.  如权利要求7或8所述的方法,其特征在于,所述升级管理信息包括:所述MN与所述SN之间的心跳间隔时间信息;以及
所述方法,还包括:
所述RUM接收所述RUA在成功执行系统升级操作之后返回的节点升级所需时间信息;
所述RUM根据各SN的节点升级时间信息确定节点升级平均所需时间信息;
若节点升级平均所需时间大于心跳间隔时间,所述RUM通知RUMA所述节点升级平均所需时间。

10.  如权利要求7所述的方法,其特征在于,在接收系统升级指令之前,还包括:
所述RUM按照预设周期向所述RUA获取所述RUA所在节点当前运行的软件版本信息并存储;以及
在接收到系统升级指令之后,向所述RUMA发送系统升级请求之前,还包括:
确定自身当前配置的软件版本高于所述RUA所在节点当前运行的版本。

11.  一种升级管理系统,应用于升级系统中,其特征在于,所述升级系统还包括多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA;以及
所述系统,包括:
接收单元,用于接收系统升级指令;以及接收所述RUMA返回的升级管理信息,其中所述升级管理信息为所述RUMA在接收到系统升级请求之后,根据获取的所述SN的状态信息确定出的;
发送单元,用于在所述接收单元接收到系统升级指令之后,向所述RUMA 发送系统升级请求;以及向所述RUMA发送升级策略;
确定单元,用于根据所述升级管理信息确定所述升级策略。

12.  如权利要求11所述的系统,其特征在于,
所述接收单元,还用于接收所述RUMA发送的更新的升级管理信息,其中,更新后的升级管理信息为所述RUMA向所述MN实时获取所述SN的状态信息,并根据获取的所述SN的状态信息确定出的;
所述确定单元,还用于根据更新后的升级管理信息更新所述升级策略;
所述发送单元,还用于将更新后的升级策略发送给所述RUMA。

13.  如权利要求11或12所述的系统,其特征在于,所述升级管理信息包括所述MN与所述SN之间的心跳间隔时间信息;以及
所述系统,还包括通知单元,其中:
所述接收单元,还用于接收所述RUA在成功执行系统升级操作之后返回的节点升级所需时间信息;
所述确定单元,还用于根据各SN的节点升级时间信息确定节点升级平均所需时间信息;
所述通知单元,用于若所述确定单元确定出的节点升级平均所需时间大于心跳间隔时间,通知RUMA所述节点升级平均所需时间。

14.  如权利要求11所述的系统,其特征在于,还包括获取单元,其中:
所述获取单元,用于按照预设周期向所述RUA获取所述RUA所在节点当前运行的软件版本信息并存储;
所述确定单元,还用于在所述接收单元接收到所述系统升级指令之后,在所述发送单元发送系统升级请求之前,确定自身当前配置的软件版本高于所述RUA所在节点当前运行的版本。

15.  一种升级方法,应用于升级系统中,其特征在于,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理 RUMA,所述SN包括升级代理RUA;以及
所述方法,包括:
所述RUMA接收所述RUM在接收到系统升级指令之后发送的系统升级请求;
所述RUMA向所述MN获取所述SN的状态信息;以及
根据获取的状态信息确定所述升级管理信息并发送给所述RUM;
所述RUMA接收所述RUM发送的升级策略,所述升级策略为所述RUM根据所述升级管理信息确定出的;以及
根据所述升级策略,向所述RUA发送系统升级指示信息。

16.  如权利要求15所述的方法,其特征在于,还包括:
所述RUMA实时向所述MN获取所述SN的状态信息,根据获取的状态信息更新所述升级管理信息并发送给所述RUM。

17.  如权利要求15或16所述的方法,其特征在于,所述升级管理信息包括所述MN与所述SN之间的心跳间隔时间信息;以及
所述方法,还包括:
所述RUMA接收所述RUM发送的节点升级平均所需时间信息,其中,所述RUM在节点升级平均所需时间大于心跳间隔时间时发送所述节点升级平均所需时间信息,节点升级平均所需时间为所述RUM根据所述RUA在成功执行系统升级操作之后,返回的各SN的节点升级所需时间信息确定出的。

18.  一种升级管理代理装置,其特征在于,设置于云计算主控节点MN中,所述MN应用于升级系统,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括所述MN和至少两个云计算从节点SN,所述SN包括升级代理RUA;以及
所述升级管理代理装置,包括:
接收单元,用于接收所述RUM在接收到系统升级指令之后发送的系统升级请求;以及接收所述RUM发送的升级策略,所述升级策略为所述RUM根 据所述升级管理信息确定出的;
获取单元,用于在所述接收单元接收到所述系统升级指令之后,向所述MN获取所述SN的状态信息;
确定单元,用于根据所述获取单元获取的状态信息确定所述升级管理信息并发送给所述RUM;
发送单元,用于根据所述接收单元接收到的升级策略,向所述RUA发送系统升级指示信息。

19.  如权利要求18所述的装置,其特征在于,
所述获取单元,还用于实时向所述MN获取所述SN的状态信息,根据获取的状态信息更新所述升级管理信息并发送给所述RUM。

20.  如权利要求18或19所述的装置,其特征在于,所述升级管理信息包括MN与SN之间的心跳间隔时间信息;以及
所述接收单元,还用于接收所述RUM发送的节点升级平均所需时间信息,其中,RUM在节点升级平均所需时间大于心跳间隔时间时发送所述节点升级平均所需时间信息,节点升级平均所需时间为所述RUM根据所述RUA在成功执行系统升级操作之后,返回的各SN的节点升级所需时间信息确定出的。

21.  一种云计算主控节点,其特征在于,包括权利要求18、19或20所述的装置。

22.  一种升级方法,应用于升级系统中,其特征在于,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA;以及
所述方法,包括:
接收所述RUMA发送的系统升级指示信息;
根据所述系统升级指示信息,执行系统升级操作。

23.  如权利要求22所述的方法,其特征在于,还包括:
按照预设周期向所述RUM上报本装置当前运行的软件版本信息。

24.  一种升级代理装置,其特征在于,设置于云计算从节点SN中,所述SN应用于升级系统,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个所述SN,所述MN包括升级管理代理RUMA;以及
所述升级代理装置,包括:
接收单元,用于接收所述RUMA发送的系统升级指示信息;
执行单元,用于在所述接收单元接收到所述系统升级指示信息之后,执行系统升级操作。

25.  如权利要求24所述的装置,其特征在于,还包括:
上报单元,用于按照预设周期向所述RUM上报本装置当前运行的软件版本信息。

26.  一种云计算从节点,其特征在于,包括权利要求24或25所述的装置。

说明书

说明书一种升级系统、方法、装置及云计算节点
技术领域
本发明涉及云计算技术领域,尤其涉及一种升级系统、方法、装置及云计算节点。
背景技术
随着云计算技术的应用和发展,企业开始部署大规模的云计算集群,通常单个集群的规模可以达到1000-50000台服务器,这对云计算集群的管理提出了更高的要求。一般来说一个集群通常被分成2个部分:底层操作系统和上层云计算系统(含应用)。底层操作系统一般由系统集群管理进行管理,由于操作系统管理技术较为成熟,目前已经基本上实现了操作系统的自动化升级和管理。但是上层云计算系统由于成熟度、复杂性而难以实现自动化的不停服升级,一般也被成为滚动升级(Rolling Upgrade)。目前主要有如下解决方案:
1、小规模集群滚动升级方法。这种方法通常采用共享存储的方式来解决滚动升级问题,一些方法中还要求系统支持某个最低版本,并可以在最低版本下持续工作。
2、手工/半自动升级。目前Hadoop、HBase等系统通常需要采用手工方式将系统停服(Stop Service),然后升级系统和数据,然后再次启动。一些互联网公司也会撰写一些脚本程序实现上述手工操作中的部分步骤,从而实现半自动化的升级。
上述第一种解决方案,由于其针对高价格高性能的小型机集群,只适用于小规模集群,且不具有通用性,每种系统均需要有不同的解决方案;上述第二种方法中,仍未解决通用性问题,且手工干预较多,这依赖于操作人员的技术水平和经验,影响了系统升级的可靠性。
发明内容
本发明实施例提供一种升级系统、方法、装置及云计算节点,用以提高云计算集群系统升级的通用性和可靠性。
本发明实施例提供一种升级系统,包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA,其中:
所述RUM,用于在接收到系统升级指令之后,向所述RUMA发送系统升级请求;以及根据所述RUMA返回的升级管理信息确定升级策略;并向所述RUMA发送所述升级策略;
所述RUMA,用于在接收到所述系统升级请求之后,向所述MN获取所述SN的状态信息;根据获取的状态信息确定所述升级管理信息并发送给所述RUM;以及根据所述RUM发送的升级策略,向所述RUA发送系统升级指示信息;
所述RUA,用于在接收到系统升级指示信息之后,执行系统升级操作。
本发明实施例提供一种升级方法,应用于升级系统中,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA;以及
所述方法,包括:
所述RUM在接收到系统升级指令之后,向所述RUMA发送系统升级请求;
接收所述RUMA返回的升级管理信息,其中所述升级管理信息为所述RUMA根据获取的所述SN的状态信息确定出的;
根据所述升级管理信息确定升级策略;
向所述RUMA发送所述升级策略。
本发明实施例提供一种升级管理系统,应用于升级系统中,所述升级系统 还包括多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA;以及
所述系统,包括:
接收单元,用于接收系统升级指令;以及接收所述RUMA返回的升级管理信息,其中所述升级管理信息为所述RUMA在接收到系统升级请求之后,根据获取的所述SN的状态信息确定出的;
发送单元,用于在所述接收单元接收到系统升级指令之后,向所述RUMA发送系统升级请求;以及向所述RUMA发送升级策略;
确定单元,用于根据所述升级管理信息确定所述升级策略。
本发明实施例提供另外一种升级方法,应用于升级系统中,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA;以及
所述方法,包括:
所述RUMA接收所述RUM在接收到系统升级指令之后发送的系统升级请求;
所述RUMA向所述MN获取所述SN的状态信息;以及
根据获取的状态信息确定所述升级管理信息并发送给所述RUM;
所述RUMA接收所述RUM发送的升级策略,所述升级策略为所述RUM根据所述升级管理信息确定出的;以及
根据所述升级策略,向所述RUA发送系统升级指示信息。
本发明实施例提供一种升级管理代理装置,设置于云计算主控节点MN中,所述MN应用于升级系统,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括所述MN和至少两个云计算从节点SN,所述SN包括升级代理RUA;以及
所述升级管理代理装置,包括:
接收单元,用于接收所述RUM在接收到系统升级指令之后发送的系统升级请求;以及接收所述RUM发送的升级策略,所述升级策略为所述RUM根据所述升级管理信息确定出的;
获取单元,用于在所述接收单元接收到所述系统升级指令之后,向所述MN获取所述SN的状态信息;
确定单元,用于根据所述获取单元获取的状态信息确定所述升级管理信息并发送给所述RUM;
发送单元,用于根据所述接收单元接收到的升级策略,向所述RUA发送系统升级指示信息。
本发明实施例提供一种云计算主控节点,包括上述的升级管理代理装置。
本发明实施例提供一种升级方法,应用于升级系统中,所述升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA;以及
所述方法,包括:
接收所述RUMA发送的系统升级指示信息;
根据所述系统升级指示信息,执行系统升级操作。
本发明实施例提供一种升级代理装置,设置于云计算从节点SN中,所述SN应用于升级系统,所述升级包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个所述SN,所述MN包括升级管理代理RUMA;以及
所述升级代理装置,包括:
接收单元,用于接收所述RUMA发送的系统升级指示信息;
执行单元,用于在所述接收单元接收到所述系统升级指示信息之后,执行系统升级操作。
本发明实施例提供一种云计算从节点,包括上述的升级代理装置。
本发明实施例提供的升级系统、方法、装置及云计算节点,升级系统包括升级管理系统RUM和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点MN和至少两个云计算从节点SN,所述MN包括升级管理代理RUMA,所述SN包括升级代理RUA,RUM在接收到系统升级指令之后,向RUMA发送系统升级请求,RUMA在接收到系统升级请求之后,获取各SN的状态信息,并根据各SN的状态信息确定升级管理信息并发送给RUM,RUM根据RUMA反馈的升级管理信息确定升级策略并发送给RUMA,RUMA根据接收到的升级策略控制各RUA进行系统升级,由于上述过程中,对于云计算集群系统本身没有特殊要求,所以适用于各种类型以及不同规模的云计算集群系统,提高了云计算集群系统升级的通用性,同时,由于RUM根据各SN的状态信息确定升级策略,从而提高了云计算集群系统升级的可靠性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中,主从式云计算集群系统的基本结构示意图;
图2为本发明实施例中,升级系统的结构示意图;
图3为本发明实施例中,升级管理系统实施升级方法的实施流程示意图;
图4为本发明实施例中,升级管理系统的结构示意图;
图5为本发明实施例中,云计算主控节点实施升级方法的实施流程示意图;
图6为本发明实施例中,升级管理代理装置的结构示意图;
图7为本发明实施例中,云计算从节点实施升级方法的实施流程示意图;
图8为本发明实施例中,升级代理装置的结构示意图。
具体实施方式
为了提高云计算集群系统升级通用性和可靠性,本发明实施例提供了一种升级系统、方法、装置及云计算节点。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
云计算集群系统的实现架构较多,既有主从架构(Master-Slave),也有对等式(Peer To Peer)设计。如图1所示,为主从式云计算集群系统的基本结构,包括云计算主控节点(MN,Master Node)和云计算从节点(SN,Slave Node)组成。对等式设计虽然与主从式不同,但是可以看做是同一个节点既是主控节点,又是云计算节点,因此本发明实施例中不再区分架构设计的差异,而是仅以MN和SN区分节点的不同逻辑功能。
此外,云计算集群系统升级需要解决的问题也不一样,可以包括以下几种:(1)、修复程序Bug的程序补丁(Patch),不包括(2)-(4)提到的升级;(2)修改系统中模块之间通信协议的升级;(3)修改数据格式的升级;(4)修改元数据格式的升级;(5)混合上述(1)-(4)各种升级。
通常来说,(2)-(5)均需要将整个系统停服才能保证系统数据的正确性和一致性,一般也难以实现不停服的滚动升级,通常发生的概率相对也比较低(3-6个月一次)。而问题(1)是大规模分布式云计算集群系统中常见的升级操作,执行频率相对更高(如每周一次)。因此本发明实施例适用于问题(1)的滚动升级。
本发明实施例提供一种针对大规模云计算集群系统的通用滚动升级方法和系统,本系统不要求原有云计算集群系统必须提供特定的针对性开发就可以 完成滚动升级,同时针对云计算集群系统提供了升级管理代理模块,用于实现优化的滚动升级。
如图2所示,为本发明实施例提供的升级系统的结构示意图,包括:升级管理系统201(RUM,Rolling Upgrade Manager)和多个云计算集群子系统,所述云计算集群子系统包括云计算主控节点202(MN)和至少两个云计算从节点203(SN),MN中设置有升级管理代理2021(RUMA,Rolling Upgrade Management Agent),SN中设置有升级代理2031(RUA,Rolling Upgrade Agent)。其中:
RUM201,用于在接收到系统升级指令之后,向RUM A2021发送系统升级请求;以及根据RUMA 2021返回的升级管理信息确定升级策略;并向所述RUMA 2021发送所述升级策略;
RUM A 2021,用于在接收到RUM 201发送的系统升级请求之后,向MN 202获取SN 203的状态信息;根据获取的状态信息确定升级管理信息并发送给RUM 201;以及根据RUM 201发送的升级策略,向RUA 2031发送系统升级指示信息;
RUA 2031,用于在接收到系统升级指示信息之后,执行系统升级操作。
具体实施中,升级管理系统(RUM)201负责管理滚动升级,包括负责调度云计算集群各个节点实现升级,直到所有节点升级完毕;以及负责管理和RUMA 2021的通信;设置有升级软件库,管理本系统待升级的软件和模块(静态),还负责存储和管理云计算集群中各个节点的升级策略和状态(动态)。
升级代理(RUA)2031部署到云计算集群中每个节点,负责接收来自RUM 201的指令,反馈本节点状态,并完成本节点服务的启动和停止。负责接收指令和反馈状态;以及负责监视本节点服务的状态,包括启停状态、版本信息、错误信息等内容;还负责完成滚动升级操作;设置有配置库,存储本节点软件部署位置,节点名称,节点类型等信息。
升级管理代理(RUMA)2021为本发明实施例中针对云计算集群系统的针 对性设计,部署在集群中的每个节点上,但是只有云计算集群系统中具备管理节点才会与RUMA 2021通信,这个部分需要云计算集群系统按照要求进行实现。RUMA 2021可以与待升级云计算节点实现通信获取云计算系统的内部调度信息,并提供给RUM 201,从而提供优化的升级策略(包括并行升级、免数据迁移、故障等),其中,升级策略可以但不限于包括以下任一种或者任意组合:节点升级次序列表(动态更新)、节点升级时间约束(通常来自静态配置,如心跳间隔)、不可同时升级节点约束、故障处理等。
具体实施时,RUM201按照预设周期向RUA 2031获取RUA2031所在节点当前运行的软件版本信息并存储;在向RUMA2021发送系统升级请求之前,确定自身当前配置的软件版本高于所述RUA所在节点当前运行的版本。
具体的,系统初始化时,RUM 201定期收集所有RUA 2031的状态,通过RUA2031获得该RUA 2031所在节点运行的软件版本信息、运行状态信息等,在没有升级需求时,并不从RUMA 2021获得节点信息。RUA 2031用于监控自身所在节点的运行版本和运行状态并上报RUM 201,通常可以通过对自身所在SN、MN进程或者服务端口的监测来实现,一般无需SN和MN提供特别的接口。RUMA 2021一般处于不活动状态。
当系统管理员通过发送消息(如点击按钮,命令行)等方式通知RUM 201要求滚动升级时,亦即RUM201在接收到系统升级指令之后,需要进行如下操作:首先检查是否上次升级是否完成,如果没有完成则不继续升级;同时检测升级软件库中配置的版本是否高于当前版本,否则提示是否执行降级操作。无论何种情况,升级软件库中均需要保存有目前正在运行的版本和相关配置。
RUM 201与RUMA 2021通信,向RUMA发送系统升级请求,以获知MN建议的升级策略,如果系统中RUMA 2021不反对信息,则意味着本系统中MN没有实现和RUMA的通信机制,无法提供优化的升级,进入一般升级处理。
RUMA 2021在接收到RUM 201发送的系统升级请求之后,与MN 202通 信,MN 202根据当前云计算从节点的状态可以但不限于提供如下信息中的一种或者任意组合(在升级过程中,RUMA 2021周期性通知RUM 201节点状态变化):(1)空闲节点列表。同时建议MN 202不再将任务调度到这些空闲节点。(2)节点状态信息。(3)节点的数据依赖性关系。例如,如果节点A、B、C均保存了同样数据的副本(假定系统中每个数据有3个副本),则A、B、C无法同时升级,最多可以两个节点同时升级,或者在读写分离的系统中,主库和从库是无法同时升级的,但是多个从库是可以同时升级的。(4)MN 202和SN 203之间的心跳间隔Th。RUMA将获得的上述信息作为升级管理信息发送给RUM 201。
在收到RUMA返回的升级管理信息后,RUM计算并生成升级策略,升级策略包括节点升级顺序列表和/或不可同时升级节点约束信息,其中,重点计算可以并行升级的节点列表及其升级顺序,以此作为并行升级的依据。(本发明实施例只涉及SN节点的升级,通常云计算系统中MN节点均会采用2-3个节点的高可用设计,因此一般采用手工升级方式完成)。
在确定出升级策略之后,RUM201将升级策略发送给RUMA,2021,RUMA 2021根据接收到的升级策略向相关节点的RUA 2031发送系统升级指示信息通知RUA 2031进行升级。RUA 2031首先从软件库获取新、旧版本软件,然后停止本节点的旧版本软件,部署新版本软件,并启动新版本软件。一旦升级成功则向RUM 201汇报成功消息,否则进行重试(按照配置)。重试失败则形成故障,无论故障如何,均倒序回退到升级前的旧版本。如果重试多次(按照配置)均无法回到旧版本,则停止本机SN服务。
具体实施中,RUMA 2021还可以用于实时向MN 202获取SN 203的状态信息,根据获取的状态信息更新升级管理信息并发送给所述RUM 201;RUM 201根据更新后的升级管理信息,更新升级策略。具体的,滚动升级过程中,RUM 201持续从RUMA 2021获得最新升级管理信息,更新升级策略后继续完成滚动升级。同时告知RUMA 2021各节点升级状态。MN 202通过RUMA 2021 获得升级状态信息后,可以进行相应的内部处理。RUM 201还可以通过RUMA2021的反馈获得SN 203的实际状态,并与RUA 2031返回的状态比对,验证节点启动成功。
较佳的,RUA 2031在成功执行系统升级操作之后,向RUM 201返回节点升级所需时间信息;RUM 201根据各SN 203的节点升级时间信息确定节点升级平均所需时间信息;若节点升级平均所需时间大于心跳间隔时间Th时,通知RUMA 2021节点升级平均所需时间;RUMA 2021在接收到节点升级平均所需时间时通知MN 202。具体的,RUM 201根据RUA 2031反馈的信息计算节点升级所需时间Tu,如果Tu小于Th,说明升级并未造成节点心跳中断,否则将平均Tu值经过RUMA 2021告知MN 202,RUMA 2021收到Tu信息后,告知MN 202,以便重新设置心跳间隔,避免MN 202认为SN203失效而进行数据或服务迁移操作。
具体实施中,RUM 201在升级完成后,告知RUMA2021升级完成,统计升级状态信息,并反馈给管理员;RUMA 2021告知MN升级完成,并进行相应内部处理。
需要说明的是,本发明实施例中为例便于说明,将一个MN202及其负责的SN203划分为一个云计算集群子系统进行描述,其中,在对等设计结构中,MN也可能为另一个云计算集群子系统的SN。具体实施时,一个云计算集群系统可能包括多个云计算集群子系统。
本发明实施例不要求现有云计算系统进行额外既可以实现滚动升级,而现有技术通常要求待升级系统中包含特殊的设计和实现。在优化实现的前提下,本发明实施例虽然对现有系统提出了增强开发要求,但是只要待升级系统实现了这些要求,本系统就可以实现优化滚动升级,并不与某个云计算系统绑定,因此具备通用性,另一方面,本发明实施例针对云计算系统的设计,在待升级云计算系统提供接口实现时,可以实现并行升级,可以大大降低系统的升级时间。在提高并行度的同时,也支持不可同时升级的黑名单管理,保证系统的稳 定性;另外,本发明实施例针对云计算系统的设计,在待升级云计算系统提供接口实现时,可以检测和设置心跳间隔,避免系统因为心跳超时而将服务和数据迁移,造成不必要的负载。
基于同一发明构思,本发明实施例中还提供了一种升级方法、升级管理系统、升级管理代理装置、升级代理装置和云计算节点,由于上述方法、装置、系统及设备解决问题的原理与升级系统相似,因此上述方法、装置、系统及设备的实施可以参见方法的实施,重复之处不再赘述。
如图3所示,为升级管理系统实施升级方法的实施流程示意图,应用于升级系统中,其中,云计算集群系统包括升级管理系统(RUM)和多个云计算集群子系统,云计算集群子系统包括云计算主控节点(MN)和至少两个云计算从节点(SN),MN包括升级管理代理(RUMA),SN包括升级代理(RUA),具体实施时,可以包括以下步骤:
S301、RUM在接收到系统升级指令之后,向RUMA发送系统升级请求;
S302、RUM接收RUMA返回的升级管理信息;
其中,其中升级管理信息为RUMA根据获取的SN的状态信息确定出的;
S303、RUM根据升级管理信息确定升级策略;
S304、RUM向RUMA发送确定出的升级策略。
较佳的,升级过程中,RUM持续接收RUMA发送的更新后的升级管理信息,其中,更新后的升级管理信息为RUMA向MN实时获取SN的状态信息,并根据获取的SN的状态信息确定出的;RUM根据更新后的升级管理信息更新所述升级策略;并将更新后的升级策略发送给RUMA。
较佳的,升级管理信息包括MN与SN之间的心跳间隔时间信息,RUM接收RUA在成功执行系统升级操作之后返回的节点升级所需时间信息;RUM根据各SN的节点升级时间信息确定节点升级平均所需时间信息;若节点升级平均所需时间大于心跳间隔时间,RUM通知RUMA节点升级平均所需时间。
具体实施时,在RUM接收系统升级指令之前,还可以包括以下步骤:RUM 按照预设周期向RUA获取RUA所在节点当前运行的软件版本信息并存储。
在接收到系统升级指令之后,向RUMA发送系统升级请求之前,还可以包括:RUM确定自身当前配置的软件版本高于RUA所在节点当前运行的版本。
如图4所示,为本发明实施例提供的升级管理系统的结构示意图,该升级管理系统可以应用于升级系统中,其中,云计算集群系统还包括多个云计算集群子系统,云计算集群子系统包括云计算主控节点(MN)和至少两个云计算从节点(SN),MN包括升级管理代理(RUMA),SN包括升级代理(RUA),升级管理系统包括:
接收单元401,用于接收系统升级指令;以及接收RUMA返回的升级管理信息,其中升级管理信息为RUMA在接收到系统升级请求之后,根据获取的SN的状态信息确定出的;
发送单元402,用于在接收单元401接收到系统升级指令之后,向RUMA发送系统升级请求;以及向RUMA发送升级策略;
确定单元403,用于根据升级管理信息确定升级策略。
具体实施时,接收单元401,还可以用于接收RUMA发送的更新的升级管理信息,其中,更新后的升级管理信息为RUMA向MN实时获取SN的状态信息,并根据获取的SN的状态信息确定出的;
确定单元403,还用于根据更新后的升级管理信息更新升级策略;
发送单元402,还用于将更新后的升级策略发送给RUMA。
具体实施时,升级管理信息包括MN与SN之间的心跳间隔时间信息;以及
升级管理系统,还可以包括通知单元,其中:
接收单元401,还可以用于接收RUA在成功执行系统升级操作之后返回的节点升级所需时间信息;
确定单元403,还可以用于根据各SN的节点升级时间信息确定节点升级平均所需时间信息;
通知单元,用于若确定单元确定出的节点升级平均所需时间大于心跳间隔时间,通知RUMA节点升级平均所需时间。
具体实施时,本发明实施例提供的升级管理系统还可以包括获取单元,其中:
获取单元,用于按照预设周期向RUA获取RUA所在节点当前运行的软件版本信息并存储;
确定单元403,还可以用于在接收单元401接收到系统升级指令之后,在发送单元402发送系统升级请求之前,确定自身当前配置的软件版本高于RUA所在节点当前运行的版本。
为了描述的方便,以上各部分按照功能划分为各(或单元)分别描述。当然,在实施本发明时可以把各(或单元)的功能在同一个或多个软件或硬件中实现。
如图5,为云计算主控节点实施升级方法的实施流程示意图,应用于升级系统中,云计算集群系统包括升级管理系统(RUM)和多个云计算集群子系统,云计算集群子系统包括云计算主控节点(MN)和至少两个云计算从节点(SN),MN包括升级管理代理(RUMA),SN包括升级代理(RUA),可以包括以下步骤:
S501、RUMA接收RUM在接收到系统升级指令之后发送的系统升级请求;
S502、RUMA向MN获取SN的状态信息;
S503、RUMA根据获取的状态信息确定升级管理信息并发送给RUM;
S504、RUMA接收RUM发送的升级策略,升级策略为RUM根据升级管理信息确定出的;
S505、根据升级策略,向RUA发送系统升级指示信息。
具体实施时,还可以包括:RUMA实时向所述MN获取所述SN的状态信息,根据获取的状态信息更新所述升级管理信息并发送给所述RUM。
较佳的,升级管理信息包括MN与SN之间的心跳间隔时间信息;以及上 述方法,还可以包括以下步骤:RUMA接收RUM发送的节点升级平均所需时间信息,其中,RUM在节点升级平均所需时间大于心跳间隔时间时发送节点升级平均所需时间信息,节点升级平均所需时间为RUM根据RUA在成功执行系统升级操作之后,返回的各SN的节点升级所需时间信息确定出的。
如图6所示,为升级管理代理装置的结构示意图,升级管理代理装置设置于升级系统中,云计算集群系统包括升级管理系统(RUM)和多个云计算集群子系统,云计算集群子系统包括云计算主控节点(MN)和至少两个云计算从节点(SN),MN包括升级管理代理(RUMA),SN包括升级代理(RUA),升级管理代理装置包括:
接收单元601,用于接收RUM在接收到系统升级指令之后发送的系统升级请求;以及接收RUM发送的升级策略,升级策略为RUM根据升级管理信息确定出的;
获取单元602,用于在接收单元601接收到系统升级指令之后,向MN获取SN的状态信息;
确定单元603,用于根据获取单元602获取的状态信息确定升级管理信息并发送给RUM;
发送单元604,用于根据接收单元601接收到的升级策略,向RUA发送系统升级指示信息。
其中,获取单元602,还可以用于实时向MN获取SN的状态信息,根据获取的状态信息更新升级管理信息并发送给RUM。
较佳的,升级管理信息包括MN与SN之间的心跳间隔时间信息;以及
接收单元601,还用于接收RUM发送的节点升级平均所需时间信息,其中,RUM在节点升级平均所需时间大于心跳间隔时间时发送节点升级平均所需时间信息,节点升级平均所需时间为RUM根据RUA在成功执行系统升级操作之后,返回的各SN的节点升级所需时间信息确定出的。
为了描述的方便,以上各部分按照功能划分为各(或单元)分别描述。当 然,在实施本发明时可以把各(或单元)的功能在同一个或多个软件或硬件中实现。
具体实施时,升级管理代理装置可以设置于云计算主控节点中。
如图7所示,为云计算从节点实施升级方法的实施流程示意图,应用于升级系统中,云计算集群系统包括升级管理系统(RUM)和多个云计算集群子系统,云计算集群子系统包括云计算主控节点(MN)和至少两个云计算从节点(SN),MN包括升级管理代理(RUMA),SN包括升级代理(RUA),该方法可以包括以下步骤:
S701、接收RUMA发送的系统升级指示信息;
S702、根据系统升级指示信息,执行系统升级操作。
具体实施时,还可以包括以下步骤:按照预设周期向RUM上报本装置当前运行的软件版本信息。
如图8所示,为升级代理装置的结构示意图,升级代理装置可以设置于升级系统中,云计算集群系统包括升级管理系统(RUM)和多个云计算集群子系统,云计算集群子系统包括云计算主控节点(MN)和至少两个云计算从节点(SN),MN包括升级管理代理(RUMA),SN包括升级代理(RUA),升级代理装置包括:
接收单元801,用于接收RUMA发送的系统升级指示信息;
执行单元802,用于在接收单元801接收到系统升级指示信息之后,执行系统升级操作。
具体实施时,升级代理装置还可以包括上报单元,用于按照预设周期向RUM上报本装置当前运行的软件版本信息。
为了描述的方便,以上各部分按照功能划分为各(或单元)分别描述。当然,在实施本发明时可以把各(或单元)的功能在同一个或多个软件或硬件中实现。
具体实施时,升级代理装置可以设置于云计算从节点中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

一种升级系统、方法、装置及云计算节点.pdf_第1页
第1页 / 共18页
一种升级系统、方法、装置及云计算节点.pdf_第2页
第2页 / 共18页
一种升级系统、方法、装置及云计算节点.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种升级系统、方法、装置及云计算节点.pdf》由会员分享,可在线阅读,更多相关《一种升级系统、方法、装置及云计算节点.pdf(18页珍藏版)》请在专利查询网上搜索。

本发明公开了一种升级系统、方法、装置及云计算节点,用以提高云计算集群系统升级的通用性和可靠性,包括RUM和多个云计算集群子系统,云计算集群子系统包括MN和至少两个SN,MN包括RUMA,SN包括RUA,其中:RUM用于在接收到系统升级指令之后,向RUMA发送系统升级请求;以及根据RUMA返回的升级管理信息确定升级策略;并向RUMA发送升级策略;RUMA用于在接收到系统升级请求之后,向MN获取SN的。

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

当前位置:首页 > 物理 > 计算;推算;计数


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