CN111459521B - 集群升级方法及装置 - Google Patents
集群升级方法及装置 Download PDFInfo
- Publication number
- CN111459521B CN111459521B CN202010240987.XA CN202010240987A CN111459521B CN 111459521 B CN111459521 B CN 111459521B CN 202010240987 A CN202010240987 A CN 202010240987A CN 111459521 B CN111459521 B CN 111459521B
- Authority
- CN
- China
- Prior art keywords
- node
- upgrade
- cluster
- upgrading
- child
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013515 script Methods 0.000 claims abstract description 33
- 238000007726 management method Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种集群升级方法及装置,其中,集群升级方法包括:步骤S1,根据集群内各设备的从属关系形成树状结构,所述树状结构为从根节点开始的逐层从属的多层层级结构,每两层中相应的上层设备为父节点且每个父节点对应的下层设备为其子节点;步骤S2,从所述树状结构的根节点开始,依次对多个所述设备进行逐级升级,其中,每个节点使用相同的升级代码和升级脚本进行升级,且所述升级代码根据各节点所处的位置进行相应的设置。根据本发明的集群升级方法,能够快速升级且升级同时升级过程不影响整个集群的正常使用。
Description
技术领域
本发明涉及计算机领域,具体涉及一种集群升级方法及装置。
背景技术
集群是指由多个机器相连,共同完成某项或某些任务的机器群体,目前使用的集群,大多数是以地区划分的,多个地区进行联合执行任务。
通常的升级方式,按集群中各个机器的编号,顺序进行升级,每一个机器升级结束再对下一个机器进行操作,直到列表上所有机器都已经被升级完毕。
每一个机器的升级准备工作是线性处理,同时升级的话会影响集群的正常使用。
使用的是顺序升级的方法,集群中所有节点的权限是相同的,导致某个节点升级的时候(比较大的升级会关闭节点),所有跟他相连的节点都会受到影响。
发明内容
有鉴于此,本发明提供一种集群升级方法及装置,能够快速升级且升级同时升级过程不影响整个集群的正常使用。
为解决上述技术问题,一方面,本发明提供一种集群升级方法,包括如下步骤:
步骤S1,根据集群内各设备的从属关系形成树状结构,所述树状结构为从根节点开始的逐层从属的多层层级结构,每两层中相应的上层设备为父节点且每个父节点对应的下层设备为其子节点;
步骤S2,从所述树状结构的根节点开始,依次对多个所述设备进行逐级升级,其中,每个节点使用相同的升级代码和升级脚本进行升级,且所述升级代码根据各节点所处的位置进行相应的设置。
进一步地,升级之前对于父节点和子节点的关系进行备份或者处理以避免擦除所述关系。
进一步地,通过升级模块确定由父节点管理其子节点的升级。
进一步地,在子节点进行升级的时候其对应的父节点代替该子节点进行相应的任务处理。
进一步地,由父节点发送升级代码和升级脚本至其子节点。
进一步地,父节点发送完所述升级代码和所述升级脚本至其子节点后,父节点根据升级需要的内容和子节点的相关参数启动所述升级脚本,以便子节点进行升级。
进一步地,子节点升级完成后,其升级代码替换为新版本的升级代码,且发送升级成功信号至其父节点。
第二方面,本发明提供一种集群升级装置,用于对集群装置进行升级,所述集群装置包括多个设备,
所述集群升级装置包括:
树状结构构建模块,用于将多个所述设备根据从属关系形成树状结构,所述树状结构为从根节点开始的逐层从属的多层层级结构,每两层中相应的上层设备为父节点且每个父节点对应的下层设备为其子节点;
升级模块,用于从所述树状结构的根节点开始,依次对于多个所述设备进行逐级升级,
其中,每个节点使用相同的升级代码和升级脚本进行升级,且所述升级代码根据各节点所处的位置进行相应的设置。
进一步地,所述集群升级装置还包括:
关系处理模块,用于在升级之前对于父节点和子节点的关系进行备份或者处理以避免擦除所述关系。
进一步地,所述升级模块包括:
管理模块,用于确定由父节点管理其子节点的升级。
进一步地,所述管理模块包括:
替代任务处理模块,用于监控子节点升级,当有任务需要在升级过程中的所述子节点进行处理的时候,将所述任务分配给所述子节点的父节点进行处理。
进一步地,所述管理模块还包括传递模块,用于将父节点的升级代码和升级脚本发送至其子节点。
进一步地,所述管理模块还包括启动模块,用于根据父节点的需求,启动其子节点的所述升级脚本,以便子节点进行升级。
进一步地,所述管理模块还包括反馈模块,用于将子节点的升级成功信号发送至其父节点。
本发明的上述技术方案至少具有如下有益效果之一:
根据本发明的集群升级方法,采用树状结构升级方式,能够快速进行升级;
通过使用全量升级(即每个节点的升级代码和升级脚本相同)使得在升级过程中,软件自身能够保证存活,从而确保升级的顺利进行;
进一步地,在子节点进行升级的时候其对应的父节点代替该子节点进行相应的任务处理,能够在升级过程维持集群的正常使用;
更进一步地,通过升级模块,由父节点管理其子节点的升级,能够确保子节点的升级过程符合父节点的期望,确保升级的顺利进行。
附图说明
图1为根据本发明一实施例的集群升级方法的流程图;
图2为本发明实施例的树状结构的示意图;
图3为根据本发明实施例的集群升级装置的示意图。
具体实施方式
下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
通过将树状结构与升级联系在一起可以提升升级效果。行业内原本没有使用树状结构的网络,是因为对于升级时间短、升级内容少的网络结构,不需要树状结构,直接挨个升级即可。但是对于每一个节点都要升级长时间,而且对于升级过程中节点的保留非常重要的升级,就不可以挨个升级。
在实际使用中,集群内的各个节点之间是有从属关系的。每一个节点或者是最高权限的节点,或者是被某个固定节点管辖的节点。这个属性使得集群之间有从属关系,而且改动频率低。在升级的时候,利用这个从属关系,可以确保上级节点对于下级节点的管辖保持住,而且利用上级节点与下级节点的管辖关系,可以确保升级同时进行,不需要因为节点之间的联系而影响整个集群的正常使用。
下面,首先,结合图1说明根据本发明实施例的集群升级方法。
如图1所示,本发明实施例的集群升级方法,包括:
步骤S1,根据集群内各设备的从属关系形成树状结构,所述树状结构为从根节点开始的逐层从属的多层层级结构,每两层中相应的上层设备为父节点且每个父节点对应的下层设备为其子节点。
例如,如图1所示的树状结构,总共分为3层,
顶层为根节点(代表全国节点);
第二层为为层为华东地区节点、华中地区节点、华南地区节点;
第三层为江苏节点(华东地区子节点)、浙江节点(华东地区子节点)、河南节点(华中地区子节点)、湖南节点(华中地区子节点)、广东节点(华南地区子节点)、福建节点(华南地区子节点)。
步骤S2,从所述树状结构的根节点开始,依次对多个所述设备进行逐级升级,其中,每个节点使用相同的升级代码和升级脚本进行升级,且所述升级代码根据各节点所处的位置进行相应的设置。
例如,如图1所示的树状结构,升级过程是:
1)全国节点升级;
2)全国节点升级完毕,华东地区、华中地区及华南地区节点进行升级;
3)华东地区节点升级完毕,江苏和广东节点进行升级;华中地区节点升级完毕,河南和湖南节点进行升级;华南地区节点升级完毕,福建和广东节点进行升级。
由此,相比于逐个升级,树状结构能够以较快的速度升级。
根据本发明的集群升级方法,运用树状结构进行升级管理,通过对于每个节点使用相同的升级代码和升级脚本进行升级,也即采用全量升级,可以保证软件升级过程的存活,确保升级的顺利进行。
以上父节点和子节点的关系是人工设置的,优选地,升级之前对于父节点和子节点的关系进行备份或者处理以避免擦除所述关系。由此,可以保证父节点和子节点的关系稳定,便于升级。
根据本发明一些实施例,在升级过程中,由父节点管理其子节点的升级。
进一步地,在子节点进行升级的时候其对应的父节点代替该子节点进行相应的任务处理。
通常父节点的权限比子节点权限高,在子节点进行升级的时候其对应的父节点可以代替该子节点进行相应的任务处理。
例如,江苏节点在升级的时候,浙江节点和江苏节点的通讯任务可以由华东地区节点与浙江节点通讯暂时代替,避免了江苏节点在升级时,与浙江节点通讯中断。
例如,一些重要信息,浙江节点和江苏节点的通讯需要华东地区节点传递,在华东地区节点进行升级的时候,可以由全国节点代替华东地区节点进行传递信息,可以维持浙江节点和江苏节点的通讯正常。
由此,可以避免升级过程造成集群正常使用的情况,升级过程仍然能够最大限度的保证集群的正常使用。
下面介绍父节点具体管理子节点升级的过程:
首先,父节点发送升级代码和升级脚本至其子节点;
例如,父节点对每一个子节点都传输一份完整的升级代码和升级脚本。
接着,父节点发送完所述升级代码和所述升级脚本至其子节点后,父节点根据升级需要的内容和子节点的相关参数启动所述升级脚本,以便子节点进行升级。
最后,子节点升级完成后,其升级代码替换为新版本的升级代码,且发送升级成功信号至其父节点。例如,子节点的升级脚本清理子节点上旧的版本,并且确保环境的完整,在这之后开始替换和升级代码,通过将升级代码替换得到一个新的版本。
在确认版本升级成功之后,该脚本会向自己的子节点也发送完整的升级代码和升级脚本,开始传播的操作。在脚本确认所有子节点都升级成功之后,就会向自己的父节点发送一个升级成功的信息,并且结束升级。
当根节点收到了升级成功的消息,我们就可以认为整个集群都已经被升级成功了。
也就是说,本发明通过一个“升级模块”来使得父节点管理子节点的升级,根据该升级模块,使得父节点发送升级代码和升级脚本至其子节点,并且根据升级模块,使得父节点发送完所述升级代码和所述升级脚本至其子节点后,父节点根据升级需要的内容和子节点的相关参数启动所述升级脚本,且根据升级模块,使得子节点升级完成后将其升级代码替换为新版本的升级代码,且发送升级成功信号至其父节点。由此,可以确保子节点的升级过程符合父节点的期望,便于升级的稳定。
需要注意的是,以上只是可选地示例,也可以对子树进行升级,例如只升级华东地区的子树,起始节点则为子树的根节点即华东地区节点,逐级往下升级至叶子节点(最底层节点),这些均应该理解在本发明范围内。
可选地,也可以从最底层节点往上升级。由此,可以实现局部的升级,避免对整个树状结构的扰动,使得升级可以定制化或针对性。
下面,结合图2说明根据本发明实施例的集群升级装置。
如图2所示,集群升级装置1000包括:多个设备1001和升级模块1002,第二方面,本发明提供一种集群升级装置1000,用于对集群装置进行升级,所述集群装置包括多个设备,
集群升级装置1000包括:
树状结构构建模块1001,用于将多个所述设备根据从属关系形成树状结构,所述树状结构为从根节点开始的逐层从属的多层层级结构,每两层中相应的上层设备为父节点且每个父节点对应的下层设备为其子节点;
升级模块1002,用于从所述树状结构的根节点开始,依次对于多个所述设备进行逐级升级,
其中,每个节点使用相同的升级代码和升级脚本进行升级,且所述升级代码根据各节点所处的位置进行相应的设置。
进一步地,集群升级装置1000还包括:
关系处理模块1003,用于在升级之前对于父节点和子节点的关系进行备份或者处理以避免擦除所述关系。
进一步地,升级模块1002包括:
管理模块10021,用于确定由父节点管理其子节点的升级。
进一步地,管理模块10021包括:
替代任务处理模块,用于监控子节点升级,当有任务需要在升级过程中的所述子节点进行处理的时候,将所述任务分配给所述子节点的父节点进行处理。
进一步地,管理模块10021还包括传递模块,用于将父节点的升级代码和升级脚本发送至其子节点。
进一步地,述管理模块10021还包括启动模块,用于根据父节点的需求,启动其子节点的所述升级脚本,以便子节点进行升级。
进一步地,管理模块10021还包括反馈模块,用于将子节点的升级成功信号发送至其父节点。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种集群升级方法,其特征在于,包括如下步骤:
步骤S1,根据集群内各设备的从属关系形成树状结构,所述树状结构为从根节点开始的逐层从属的多层层级结构,每两层中相应的上层设备为父节点且每个父节点对应的下层设备为其子节点;所述父节点和所述子节点以地区来划分;
步骤S2,从所述树状结构的根节点开始,依次对多个所述设备进行逐级升级,
其中,每个节点使用相同的升级代码和升级脚本进行升级,且所述升级代码根据各节点所处的位置进行相应的设置;
在子节点进行升级的时候其对应的父节点代替该子节点进行相应的任务处理。
2.根据权利要求1所述的集群升级方法,其特征在于,升级之前对于父节点和子节点的关系进行备份或者处理以避免擦除所述关系。
3.根据权利要求2所述的集群升级方法,其特征在于,通过升级模块确定由父节点管理其子节点的升级。
4.根据权利要求3所述的集群升级方法,其特征在于,由父节点发送升级代码和升级脚本至其子节点。
5.根据权利要求4所述的集群升级方法,其特征在于,父节点发送完所述升级代码和所述升级脚本至其子节点后,父节点根据升级需要的内容和子节点的相关参数启动所述升级脚本,以便子节点进行升级。
6.根据权利要求5所述的集群升级方法,其特征在于,子节点升级完成后,其升级代码替换为新版本的升级代码,且发送升级成功信号至其父节点。
7.一种集群升级装置,用于对集群装置进行升级,其特征在于,所述集群装置包括多个设备,
所述集群升级装置包括:
树状结构构建模块,用于将多个所述设备根据从属关系形成树状结构,所述树状结构为从根节点开始的逐层从属的多层层级结构,每两层中相应的上层设备为父节点且每个父节点对应的下层设备为其子节点;所述父节点和所述子节点以地区来划分;
升级模块,用于从所述树状结构的根节点开始,依次对于多个所述设备进行逐级升级,
其中,每个节点使用相同的升级代码和升级脚本进行升级,且所述升级代码根据各节点所处的位置进行相应的设置;
所述管理模块包括:
替代任务处理模块,用于监控子节点升级,当有任务需要在升级过程中的所述子节点进行处理的时候,将所述任务分配给所述子节点的父节点进行处理。
8.根据权利要求7所述的集群升级装置,其特征在于,还包括:
关系处理模块,用于在升级之前对于父节点和子节点的关系进行备份或者处理以避免擦除所述关系。
9.根据权利要求8所述的集群升级装置,其特征在于,所述升级模块包括:
管理模块,用于确定由父节点管理其子节点的升级。
10.根据权利要求9所述的集群升级装置,其特征在于,所述管理模块还包括传递模块,用于将父节点的升级代码和升级脚本发送至其子节点。
11.根据权利要求10所述的集群升级装置,其特征在于,所述管理模块还包括启动模块,用于根据父节点的需求,启动其子节点的所述升级脚本,以便子节点进行升级。
12.根据权利要求11所述的集群升级装置,其特征在于,所述管理模块还包括反馈模块,用于将子节点的升级成功信号发送至其父节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010240987.XA CN111459521B (zh) | 2020-03-31 | 2020-03-31 | 集群升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010240987.XA CN111459521B (zh) | 2020-03-31 | 2020-03-31 | 集群升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111459521A CN111459521A (zh) | 2020-07-28 |
CN111459521B true CN111459521B (zh) | 2024-03-22 |
Family
ID=71683358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010240987.XA Active CN111459521B (zh) | 2020-03-31 | 2020-03-31 | 集群升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111459521B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461240B (zh) * | 2021-06-30 | 2023-04-14 | 荣耀终端有限公司 | 软件升级方法、软件升级***及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069019A (zh) * | 2015-07-14 | 2015-11-18 | 惠龙易通国际物流股份有限公司 | 数据库无间断更新方法及*** |
CN105337904A (zh) * | 2014-08-05 | 2016-02-17 | 杭州华三通信技术有限公司 | 控制器集群的升级方法及装置 |
CN106803790A (zh) * | 2016-12-06 | 2017-06-06 | 浙江大华技术股份有限公司 | 一种集群***的升级控制方法及装置 |
US9747291B1 (en) * | 2015-12-29 | 2017-08-29 | EMC IP Holding Company LLC | Non-disruptive upgrade configuration translator |
CN108829420A (zh) * | 2018-06-12 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种基于rpm包的分布式存储***软件升级方法 |
CN109445825A (zh) * | 2018-11-09 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种服务器集群***更新升级的方法和装置 |
CN110688377A (zh) * | 2019-08-30 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 一种更新状态默克树的方法及装置 |
-
2020
- 2020-03-31 CN CN202010240987.XA patent/CN111459521B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337904A (zh) * | 2014-08-05 | 2016-02-17 | 杭州华三通信技术有限公司 | 控制器集群的升级方法及装置 |
CN105069019A (zh) * | 2015-07-14 | 2015-11-18 | 惠龙易通国际物流股份有限公司 | 数据库无间断更新方法及*** |
US9747291B1 (en) * | 2015-12-29 | 2017-08-29 | EMC IP Holding Company LLC | Non-disruptive upgrade configuration translator |
CN106803790A (zh) * | 2016-12-06 | 2017-06-06 | 浙江大华技术股份有限公司 | 一种集群***的升级控制方法及装置 |
CN108829420A (zh) * | 2018-06-12 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种基于rpm包的分布式存储***软件升级方法 |
CN109445825A (zh) * | 2018-11-09 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种服务器集群***更新升级的方法和装置 |
CN110688377A (zh) * | 2019-08-30 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 一种更新状态默克树的方法及装置 |
Non-Patent Citations (3)
Title |
---|
Configuring A MapReduce Framework For Performance-Heterogeneous Clusters;Hartog, Jessica等;《2014 IEEE INTERNATIONAL CONGRESS ON BIG DATA (BIGDATA CONGRESS)》;20150325;全文 * |
云环境中集群监控数据采集与分析***的研究与实现;支连意;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20170315;全文 * |
大规模集群一致性维护的网络传输控制方案;郭刚;卢宇彤;;科学技术与工程;20060330(06);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111459521A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101635640B (zh) | Web网站***服务器终端程序的版本自动发布方法 | |
CN105763369B (zh) | 一种终端设备远程软件版本分发方法及*** | |
CA2457440C (en) | System and method for the automatic installation and configuration of an operating system | |
CN105808274A (zh) | 软件升级方法、***及对应的客户端与服务器 | |
CN101136770B (zh) | 电信多分支网络管理***的自动升级方法及装置 | |
US7698391B2 (en) | Performing a provisioning operation associated with a software application on a subset of the nodes on which the software application is to operate | |
CN107870774A (zh) | 一种用于aoi***软件版本管理的*** | |
CN110413295B (zh) | 一种嵌入式设备远程固件更新方法 | |
CN109189680B (zh) | 一种应用发布和配置的***及方法 | |
CN106790432A (zh) | 一种软件更新方法及装置 | |
CN1859125A (zh) | 集中远程自动升级软件的***及其方法 | |
CN102640108A (zh) | 已复制数据的监控 | |
CN1668010A (zh) | 用来在更新分发***中分发更新元数据的基于标记模式 | |
NO332249B1 (no) | Oppdateringsdistribusjonssystem og en oppdateringstjenestenode for distribusjon av programvareoppdateringer. | |
CN104133715A (zh) | 一种以太网供电设备固件升级方法和装置 | |
CN106713053A (zh) | 基于Linux的批量升级服务器固件的方法及其装置 | |
CN106936633A (zh) | 一种应用安装包制作的方法及服务器 | |
CN111459521B (zh) | 集群升级方法及装置 | |
CN107203400A (zh) | 一种远程部署组件的方法及装置 | |
CN109189431A (zh) | 一种客户端升级方法、装置、设备及可读存储介质 | |
CN112579613A (zh) | 数据库集群差异比对与数据同步的方法、***及介质 | |
CN113127023B (zh) | 业务升级的方法、装置和*** | |
CN101266566B (zh) | 多测试场景自动调度***和方法 | |
CN115809096B (zh) | 操作***批量自适应升级方法 | |
CN110908694A (zh) | 一种电子招投标客户端应用的热更新***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |