CN115658116B - 一种存储集群升级控制方法、装置、设备及存储介质 - Google Patents

一种存储集群升级控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115658116B
CN115658116B CN202211412298.8A CN202211412298A CN115658116B CN 115658116 B CN115658116 B CN 115658116B CN 202211412298 A CN202211412298 A CN 202211412298A CN 115658116 B CN115658116 B CN 115658116B
Authority
CN
China
Prior art keywords
weight
storage
node
storage node
class
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
Application number
CN202211412298.8A
Other languages
English (en)
Other versions
CN115658116A (zh
Inventor
韩宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211412298.8A priority Critical patent/CN115658116B/zh
Publication of CN115658116A publication Critical patent/CN115658116A/zh
Application granted granted Critical
Publication of CN115658116B publication Critical patent/CN115658116B/zh
Priority to PCT/CN2023/131087 priority patent/WO2024099444A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及数据存储技术领域,公开了一种存储集群升级控制方法、装置、设备及存储介质,包括:确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。可见,本申请能够在保证存储集群业务系统不受影响的情况下实现大规模集群的高效并发在线升级。

Description

一种存储集群升级控制方法、装置、设备及存储介质
技术领域
本发明涉及数据存储技术领域,特别涉及一种存储集群升级控制方法、装置、设备及存储介质。
背景技术
随着存储体系越来越庞大,一个存储集群上线后,为修复漏洞、增强性能亦或者体验新版本特性需要定期的对存储系统进行升级,为保证升级过程不影响存储集群的正常业务则只能选择在线升级方式。目前大部分存储系统的在线升级方式为串行方式,即一个节点升级完成后执行下一个节点升级或者在某些场景下实现了并发升级,但是现有的在线升级方案限制条件较多,且不具有普适性。
因此,上述技术问题亟待本领域技术人员解决。
发明内容
有鉴于此,本发明的目的在于提供一种存储集群升级控制方法、装置、设备及存储介质,能够在保证存储集群业务系统不受影响的情况下实现大规模集群的高效并发在线升级。其具体方案如下:
本申请的第一方面提供了一种存储集群升级控制方法,包括:
确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;
确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;
基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。
可选的,所述确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,包括:
将所述存储集群中各个存储节点上部署的各存储服务及存储节点所属的底层故障域确定为该存储节点对应的所述目标权类,并根据全部权类及与权类对应的权值确定出与所述目标权类对应的所述目标权值。
可选的,所述基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制,包括:
将不存在重复的所述目标权类的所述权值矩阵对应的存储节点划分至并发升级节点组,并控制所述并发升级节点组中的各个存储节点进行在线并发升级;其中,所述并发升级节点组中至少包含一个存储节点;
将所述存储集群中未划分至所述并发升级节点组中的剩余存储节点划分至剩余存储节点组,并将所述剩余存储节点组中的所述权类矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更权值矩阵;
基于各个存储节点的更新后权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。
可选的,所述将不存在重复的所述目标权类的所述权值矩阵对应的存储节点划分至并发升级节点组,包括:
利用冒泡原则对全部存储节点的所述权值矩阵进行处理,以确定出不存在重复的所述目标权类的所述权值矩阵对应的存储节点,并划分至所述并发升级节点组。
可选的,所述基于各个存储节点的更新后权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制,包括:
将所述剩余存储节点组中存在所述目标权值为0的所述权值矩阵对应的存储节点进行剔除,得到剔除后的所述剩余存储节点组;其中,剔除后的所述剩余存储节点组中的存储节点的所述权值矩阵中的各所述目标权值均不为0;
从剔除后的所述剩余存储节点组中筛选出权类数量最少的存储节点,并将该存储节点划分至所述并发升级节点组;
将剔除后的所述剩余存储节点组中的所述权类矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更新后所述权值矩阵;
重复执行节点剔除步骤、根据权类数量筛选存储节点及权值减1步骤,直至剔除后的所述剩余存储节点组中各个存储节点的最新所述权值矩阵中均存在权值为0的所述目标权值,得到最新的所述剩余存储节点组。
可选的,所述从剔除后的所述剩余存储节点组中筛选出权类数量最少的存储节点,包括:
如果剔除后的所述剩余存储节点组中存在多个权类数量最少的存储节点,则从该多个存储节点中随机选择一个作为权类数量最少的存储节点。
可选的,得到最新的所述剩余存储节点组之后,还包括:
判断所述并发升级节点组中的各个存储节点是否升级完成,如果是,则将升级完成的存储节点的所述权值矩阵进行恢复,并将最新的所述剩余存储节点组中的所述权类矩阵中的与本次恢复的存储节点的所述目标权类对应的所述目标权值加1,得到最终的所述剩余存储节点组;
对最终的所述剩余存储节点组重复执行节点剔除步骤、根据权类数量筛选存储节点、权值减1步骤、节点权值矩阵恢复及权值加1步骤,直至全部的存储节点均升级完成。
可选的,所述各个权类对应的权值大于等于1。
可选的,所述存储集群升级控制方法,还包括:
获取所述存储集群的实时业务压力,并根据所述实时业务压力对与权类对应的权值进行调整。
可选的,所述根据所述实时业务压力对与权类对应的权值进行调整,包括:
如果所述实时业务压力超过预设压力值,则调高与权类对应的权值的大小,以减少并发数;
如果所述实时业务压力低于预设压力值,则调低与权类对应的权值的大小,以增大并发数。
可选的,所述存储集群升级控制方法,还包括:
利用升级流程控制器触发所述存储集群升级处于暂停状态并对当前升级进度进行存档,或触发所述存储集群继续执行升级。
可选的,所述存储集群为分布式存储系统下的集群且以可扩展的伪随机数据分布算法结构为基础的底层故障域结构。
本申请的第二方面提供了一种存储集群升级控制装置,包括:
权类及权值确定模块,用于确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;
权值矩阵生成模块,用于确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;
升级模块,用于基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述存储集群升级控制方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述存储集群升级控制方法。
本申请中,先确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;然后确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;最后基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。可见,本申请对存储集群中的存储节点设置权值矩阵,通过控制权值矩阵中的权类和权值的方式来控制存储节点的升级过程,从而在保证存储集群业务系统不受影响的情况下实现大规模集群的高效并发在线升级。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种存储集群升级控制方法流程图;
图2为本申请提供的一种具体的存储集群升级控制方法流程图;
图3为本申请提供的一种具体的存储集群升级控制方法示意图;
图4为本申请提供的一种存储集群升级控制装置结构示意图;
图5为本申请提供的一种存储集群升级控制电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有存储系统的在线升级方式为串行方式,即一个节点升级完成后执行下一个节点升级或者在某些场景下实现了并发升级,但是现有的在线升级方案限制条件较多,且不具有普适性。针对上述技术缺陷,本申请提供一种存储集群升级控制方案,对存储集群中的存储节点设置权值矩阵,通过控制权值矩阵中的权类和权值的方式来控制存储节点的升级过程,从而在保证存储集群业务系统不受影响的情况下实现大规模集群的高效并发在线升级。
图1为本申请实施例提供的一种存储集群升级控制方法流程图。参见图1所示,该存储集群升级控制方法包括:
S11:确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数。
本实施例中,先确定存储集群中的全部权类及与权类对应的权值。其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数。权类为节点上部署的各种服务以及节点所属的底层故障域结构,一种服务或一个故障域结构即为一个权类,一个存储节点可包含多个权类。权值为每个权类所允许并发升级的节点个数。权类决定节点能否升级,权值则确定可同时并发多少个节点升级。另外,本实施例的所述存储集群为分布式存储系统下的集群且以可扩展的伪随机数据分布算法结构(crush root结构)为基础的底层故障域结构。
本实施例的在线升级具有两个基本规则,由升级流程控制器来制定。基本规则1:节点下所有权类的权值必须大于0;基本规则2:具有相同权类的节点并发同时升级的个数不能超过其基础权值。流程控制器升级规则是以存储底层故障域结构(crush root结构)为基础的,因此可以有效避免上层协议对于升级规则的影响,进而可实现全场景并发在线升级。
S12:确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵。
本实施例中,确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵。具体的,将所述存储集群中各个存储节点上部署的各存储服务及存储节点所属的底层故障域确定为该存储节点对应的所述目标权类,并根据全部权类及与权类对应的权值确定出与所述目标权类对应的所述目标权值。
最终得到节点权值矩阵,节点权值矩阵决定一个节点能否升级取决于该节点的权值矩阵,节点权值矩阵有两个维度组成一个是权类,另一个是权值。基于节点权值矩阵的流程控制器具有高扩展性,即当需要添加其他权类时仅需要将对应权类的权值添加至权值矩阵即可。且基于节点权值矩阵的流程控制器具有高并发性,能够保证存储集群实时处于最佳并发升级状态。
S13:基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。
本实施例中,基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。需要说明的是,本实施例中基于节点权值矩阵的流程控制器具有高敏捷性,当集群业务或服务处于高压状态时,可以快速影响并调节并发升级的节点个数以此来保证集群业务的正常。具体的,先获取所述存储集群的实时业务压力,并根据所述实时业务压力对与权类对应的权值进行调整。如果所述实时业务压力超过预设压力值,则调高与权类对应的权值的大小,以减少并发数;如果所述实时业务压力低于预设压力值,则调低与权类对应的权值的大小,以增大并发数。即可实现在线升级过程中权类权值的自动调节,当升级流程控制器检测到存储集群业务压力较大,或者某服务的压力较大时,可主动调节节点权类的权值大小,调节权值大小可直接影响该权类节点的并发升级个数,进而保证更多节点可以处理集群业务。
进一步的,本实施例还可以利用升级流程控制器触发所述存储集群升级处于暂停状态并对当前升级进度进行存档,或触发所述存储集群继续执行升级。升级流程控制器具有暂停,继续升级功能,在升级结束前用户可以随时中断退出升级流程及可主动触发集群暂停升级流程,升级暂停后可通过继续功能恢复集群继续执行升级。
可见,本申请实施例先确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;然后确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;最后基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。本申请实施例对存储集群中的存储节点设置权值矩阵,通过控制权值矩阵中的权类和权值的方式来控制存储节点的升级过程,从而在保证存储集群业务系统不受影响的情况下实现大规模集群的高效并发在线升级。
图2为本申请实施例提供的一种具体的存储集群升级控制方法流程图。参见图2所示,该存储集群升级控制方法包括:
S21:确定存储集群中的全部权类及与权类对应的权值,并确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵。
本实施例中,关于上述步骤S21的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
S22:将不存在重复的所述目标权类的所述权值矩阵对应的存储节点划分至并发升级节点组,并控制所述并发升级节点组中的各个存储节点进行在线并发升级。
本实施例中,将不存在重复的所述目标权类的所述权值矩阵对应的存储节点划分至并发升级节点组。具体可以利用冒泡原则对全部存储节点的所述权值矩阵进行处理,以确定出不存在重复的所述目标权类的所述权值矩阵对应的存储节点,并划分至所述并发升级节点组。也即筛选出权类完全不同的节点,节点权类完全不同则说明节点间相互隔离,可进行并发升级。然后控制所述并发升级节点组中的各个存储节点进行在线并发升级。其中,所述并发升级节点组中至少包含一个存储节点。
S23:将所述存储集群中未划分至所述并发升级节点组中的剩余存储节点划分至剩余存储节点组,并将所述剩余存储节点组中的所述权类矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更权值矩阵。
本实施例中,将所述存储集群中未划分至所述并发升级节点组中的剩余存储节点划分至剩余存储节点组,然后将所述剩余存储节点组中的所述权类矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更权值矩阵。将筛选出的节点进行并发升级,同时根据升级节点的权类调整剩余未升级节点中对应权类的权值,对应权类的权值减1。
S24:将所述剩余存储节点组中存在所述目标权值为0的所述权值矩阵对应的存储节点进行剔除,得到剔除后的所述剩余存储节点组;其中,剔除后的所述剩余存储节点组中的存储节点的所述权值矩阵中的各所述目标权值均不为0。
S25:从剔除后的所述剩余存储节点组中筛选出权类数量最少的存储节点,并将该存储节点划分至所述并发升级节点组。
本实施例中,将所述剩余存储节点组中存在所述目标权值为0的所述权值矩阵对应的存储节点进行剔除,得到剔除后的所述剩余存储节点组。即筛选剩余节点中权值全部不为零的节点,其中,权值全部不为零说明可进行升级。剔除后的所述剩余存储节点组中的存储节点的所述权值矩阵中的各所述目标权值均不为0。从剔除后的所述剩余存储节点组中筛选出权类数量最少的存储节点,并将该存储节点划分至所述并发升级节点组。特别的,如果剔除后的所述剩余存储节点组中存在多个权类数量最少的存储节点,则从该多个存储节点中随机选择一个作为权类数量最少的存储节点。
S26:将剔除后的所述剩余存储节点组中的所述权类矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更新后所述权值矩阵。
S27:重复执行节点剔除步骤、根据权类数量筛选存储节点及权值减1步骤,直至剔除后的所述剩余存储节点组中各个存储节点的最新所述权值矩阵中均存在权值为0的所述目标权值,得到最新的所述剩余存储节点组。
本实施例中,将剔除后的所述剩余存储节点组中的所述权类矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更新后所述权值矩阵。然后重复执行节点剔除步骤、根据权类数量筛选存储节点及权值减1步骤,直至剔除后的所述剩余存储节点组中各个存储节点的最新所述权值矩阵中均存在权值为0的所述目标权值,得到最新的所述剩余存储节点组。
本实施例中,循环重复执行节点剔除步骤、根据权类数量筛选存储节点及权值减1步骤,直至剩余节点的权值中存在零,其中,权值为0则表示该权类的节点并发升级节点数已达到阈值,在该权类节点升级未完成前不允许用有该权类的节点升级。
S28:判断所述并发升级节点组中的各个存储节点是否升级完成,如果是,则将升级完成的存储节点的所述权值矩阵进行恢复,并将最新的所述剩余存储节点组中的所述权类矩阵中的与本次恢复的存储节点的所述目标权类对应的所述目标权值加1,得到最终的所述剩余存储节点组。
S29:对最终的所述剩余存储节点组重复执行节点剔除步骤、根据权类数量筛选存储节点、权值减1步骤、节点权值矩阵恢复及权值加1步骤,直至全部的存储节点均升级完成。
本实施例中,判断所述并发升级节点组中的各个存储节点是否升级完成,如果是,则将升级完成的存储节点的所述权值矩阵进行恢复,并将最新的所述剩余存储节点组中的所述权类矩阵中的与本次恢复的存储节点的所述目标权类对应的所述目标权值加1,得到最终的所述剩余存储节点组。即等待执行升级的节点升级完成后,根据完成升级节点的权类刷新剩余未升级节点中对应权类的权值,对应权类的权值加1。在此基础上,对最终的所述剩余存储节点组重复执行节点剔除步骤、根据权类数量筛选存储节点、权值减1步骤、节点权值矩阵恢复及权值加1步骤,直至全部的存储节点均升级完成。
下面以一个具体的例子对本申请实施例提供的升级控制算法进行具体的描述,流程控制器操作流程示意如图3所示。
对于由10个存储节点组成的存储集群,部署三个服务f1、f2、f3,底层故障域为d1和d2,将f1、f2、f3的权值也即并发阈值设置为2、2、2,将d1、d2的权值也即并发阈值设置为2、2。
步骤1:首先生成存储集群节点权值矩阵表,该表包含存储节点全部节点的权值矩阵。构建的各存储节点的权值矩阵表为:n1:[f1,2] [d1,2];n2:[f1,2] [d1,2];n3:[f1,2][d1,2];n4:[f2,2] [d2,2];n5: [f2,2] [d2,2];n6: [f2,2] [d2,2];n7:[f3,2] [d1,2];n8:[f3,2] [d2,2];n9: [f3,2];n10: [d2,2]。
步骤2:采用冒泡原则筛选节点,首选筛选出权类完全不同的节点,节点权类完全不同则说明节点间相互隔离,可进行并发升级。筛选权类完全不同的存储节点n1:[f1,2][d1,2]、n4[f2,2] [d2,2]和n9 [f3,2],这三个存储节点可进行并发升级。
步骤3:将筛选出的节点进行并发升级,同时根据升级节点的权类调整剩余未升级节点中对应权类的权值,对应权类的权值减1。剩余节点权值减1,具体是将f1、d1、f2、d2、f3这五个权类的权值减1。更新后所述权值矩阵为:n2:[f1,1] [d1,1];n3:[f1,1] [d1,1];n4:[f2,1] [d2,1];n5: [f2,1] [d2,1];n6: [f2,1] [d2,1];n7:[f3,1] [d1,1];n8:[f3,1] [d2,1];n10: [d2,1]。
步骤4:筛选剩余节点中权值全部不为零的节点(权值全部不为零说明可进行升级)。权值全部不为零的节点:n2:[f1,1] [d1,1];n3:[f1,1] [d1,1];n4:[f2,1] [d2,1];n5: [f2,1] [d2,1];n6: [f2,1] [d2,1];n7:[f3,1] [d1,1];n8:[f3,1] [d2,1];n10:[d2,1]。
步骤5:在步骤4产生的节点中选择权类数量最小的节点升级并相应调整剩余节点中对应权类的权值,对应权类的权值减1。权类个数相同则随机选择一个。剩余节点对应权值减1,具体是将d2这个权类的权值减1:n2:[f1,1] [d1,1];n3:[f1,1] [d1,1];n5: [f2,1] [d2,0];n6: [f2,1] [d2,0];n7:[f3,1] [d1,1];n8:[f3,1] [d2,0]。
步骤6:循环步骤4-5直至剩余节点的权值中存在零(权值为0则表示该权类的节点并发升级节点数已达到阈值,在该权类节点升级未完成前不允许用有该权类的节点升级):
{步骤4:权值全不为0的节点:n2:[f1,1] [d1,1];n3:[f1,1] [d1,1] ;n7:[f3,1][d1,1];
步骤5:选择权类数量最小的节点,权类个数相同则随机:n2:[f1,1] [d1,1];剩余节点对应权值减1:n3:[f1,0] [d1,0];n5: [f2,1] [d2,0];n6: [f2,1] [d2,0];n7:[f3,1] [d1,1];n8:[f3,1] [d2,0]。}
步骤7:等待执行升级的节点升级完成后,根据完成升级节点的权类刷新剩余未升级节点中对应权类的权值,对应权类的权值+1。例如,升级完成n1:[f1,2] [d1,2],剩余节点权值加1:n3:[f1,1] [d1,1];n5: [f2,1] [d2,0];n6: [f2,1] [d2,0];n7:[f3,1] [d1,1];n8:[f3,1] [d2,0]
步骤8:循环重复步骤4-7直至全部节点完成升级操作:
{步骤4:权值全不为0的节点:n3:[f1,1] [d1,1] ;n7:[f3,1] [d1,1];
步骤5:选择权类数量最小的节点,权类个数相同则随机:n3:[f1,1] [d1,1];剩余节点对应权值减1: n5: [f2,1] [d2,0];n6: [f2,1] [d2,0];n7:[f3,1] [d1,0];n8:[f3,1] [d2,0];等待节点权值恢复。}
上述在线升级过程中权类权值的自动调节,当升级流程控制器检测到存储集群业务压力较大,或者某服务的压力较大时,可主动调节节点权类的权值大小,调节权值大小可直接影响该权类节点的并发升级个数,进而保证更多节点可以处理集群业务。
参见图4所示,本申请实施例还相应公开了一种存储集群升级控制装置,包括:
权类及权值确定模块11,用于确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;
权值矩阵生成模块12,用于确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;
升级模块13,用于基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。
本实施例中,权类及权值确定模块11确定存储集群中的全部权类及与权类对应的权值。其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数。权类为节点上部署的各种服务以及节点所属的底层故障域结构,一种服务或一个故障域结构即为一个权类,一个存储节点可包含多个权类。权值为每个权类所允许并发升级的节点个数。权类决定节点能否升级,权值则确定可同时并发多少个节点升级。另外,本实施例的所述存储集群为分布式存储系统下的集群且以可扩展的伪随机数据分布算法结构(crush root结构)为基础的底层故障域结构。
本实施例的在线升级具有两个基本规则,由升级流程控制器来制定。基本规则1:节点下所有权类的权值必须大于0;基本规则2:具有相同权类的节点并发同时升级的个数不能超过其基础权值。流程控制器升级规则是以存储底层故障域结构(crush root结构)为基础的,因此可以有效避免上层协议对于升级规则的影响,进而可实现全场景并发在线升级。
本实施例中,权值矩阵生成模块12确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵。具体的,将所述存储集群中各个存储节点上部署的各存储服务及存储节点所属的底层故障域确定为该存储节点对应的所述目标权类,并根据全部权类及与权类对应的权值确定出与所述目标权类对应的所述目标权值。
最终得到节点权值矩阵,节点权值矩阵决定一个节点能否升级取决于该节点的权值矩阵,节点权值矩阵有两个维度组成一个是权类,另一个是权值。基于节点权值矩阵的流程控制器具有高扩展性,即当需要添加其他权类时仅需要将对应权类的权值添加至权值矩阵即可。且基于节点权值矩阵的流程控制器具有高并发性,能够保证存储集群实时处于最佳并发升级状态。
本实施例中,升级模块13基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。需要说明的是,本实施例中基于节点权值矩阵的流程控制器具有高敏捷性,当集群业务或服务处于高压状态时,可以快速影响并调节并发升级的节点个数以此来保证集群业务的正常。具体的,先获取所述存储集群的实时业务压力,并根据所述实时业务压力对与权类对应的权值进行调整。如果所述实时业务压力超过预设压力值,则调高与权类对应的权值的大小,以减少并发数;如果所述实时业务压力低于预设压力值,则调低与权类对应的权值的大小,以增大并发数。即可实现在线升级过程中权类权值的自动调节,当升级流程控制器检测到存储集群业务压力较大,或者某服务的压力较大时,可主动调节节点权类的权值大小,调节权值大小可直接影响该权类节点的并发升级个数,进而保证更多节点可以处理集群业务。
进一步的,本实施例还可以利用升级流程控制器触发所述存储集群升级处于暂停状态并对当前升级进度进行存档,或触发所述存储集群继续执行升级。升级流程控制器具有暂停,继续升级功能,在升级结束前用户可以随时中断退出升级流程及可主动触发集群暂停升级流程,升级暂停后可通过继续功能恢复集群继续执行升级。
可见,本申请实施例先确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;然后确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;最后基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。本申请实施例对存储集群中的存储节点设置权值矩阵,通过控制权值矩阵中的权类和权值的方式来控制存储节点的升级过程,从而在保证存储集群业务系统不受影响的情况下实现大规模集群的高效并发在线升级。
在一些具体实施例中,所述权值矩阵生成模块12,具体用于将所述存储集群中各个存储节点上部署的各存储服务及存储节点所属的底层故障域确定为该存储节点对应的所述目标权类,并根据全部权类及与权类对应的权值确定出与所述目标权类对应的所述目标权值。
在一些具体实施例中,所述升级模块13,具体包括:
第一划分单元,用于将不存在重复的所述目标权类的所述权值矩阵对应的存储节点划分至并发升级节点组,并控制所述并发升级节点组中的各个存储节点进行在线并发升级;其中,所述并发升级节点组中至少包含一个存储节点;
第二划分单元,用于将所述存储集群中未划分至所述并发升级节点组中的剩余存储节点划分至剩余存储节点组,并将所述剩余存储节点组中的所述权类矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更权值矩阵;
剔除单元,用于将所述剩余存储节点组中存在所述目标权值为0的所述权值矩阵对应的存储节点进行剔除,得到剔除后的所述剩余存储节点组;其中,剔除后的所述剩余存储节点组中的存储节点的所述权值矩阵中的各所述目标权值均不为0;
筛选单元,用于从剔除后的所述剩余存储节点组中筛选出权类数量最少的存储节点,并将该存储节点划分至所述并发升级节点组;
权值减单元,用于将剔除后的所述剩余存储节点组中的所述权类矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更新后所述权值矩阵;
第一循环单元,用于重复执行节点剔除步骤、根据权类数量筛选存储节点及权值减1步骤,直至剔除后的所述剩余存储节点组中各个存储节点的最新所述权值矩阵中均存在权值为0的所述目标权值,得到最新的所述剩余存储节点组;
判断单元,用于判断所述并发升级节点组中的各个存储节点是否升级完成,如果是,则将升级完成的存储节点的所述权值矩阵进行恢复,并将最新的所述剩余存储节点组中的所述权类矩阵中的与本次恢复的存储节点的所述目标权类对应的所述目标权值加1,得到最终的所述剩余存储节点组;
第二循环单元,用于对最终的所述剩余存储节点组重复执行节点剔除步骤、根据权类数量筛选存储节点、权值减1步骤、节点权值矩阵恢复及权值加1步骤,直至全部的存储节点均升级完成。
在一些具体实施例中,所述第一划分单元,具体还用于利用冒泡原则对全部存储节点的所述权值矩阵进行处理,以确定出不存在重复的所述目标权类的所述权值矩阵对应的存储节点,并划分至所述并发升级节点组。
在一些具体实施例中,所述剔除单元,具体还用于如果剔除后的所述剩余存储节点组中存在多个权类数量最少的存储节点,则从该多个存储节点中随机选择一个作为权类数量最少的存储节点。
在一些具体实施例中,所述存储集群升级控制装置还包括:
调整模块,用于获取所述存储集群的实时业务压力,并根据所述实时业务压力对与权类对应的权值进行调整;
控制模块,用于利用升级流程控制器触发所述存储集群升级处于暂停状态并对当前升级进度进行存档,或触发所述存储集群继续执行升级。
在一些具体实施例中,所述调整模块,具体包括:
第一调整单元,用于如果所述实时业务压力超过预设压力值,则调高与权类对应的权值的大小,以减少并发数;
第二调整单元,用于如果所述实时业务压力低于预设压力值,则调低与权类对应的权值的大小,以增大并发数。
进一步的,本申请实施例还提供了一种电子设备。图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的存储集群升级控制方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的存储集群升级控制方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的权类信息及权值信息。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的存储集群升级控制方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的存储集群升级控制方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种存储集群升级控制方法,其特征在于,包括:
确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;
确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;
基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制;
所述基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制,包括:
将不存在重复的所述目标权类的所述权值矩阵对应的存储节点划分至并发升级节点组,并控制所述并发升级节点组中的各个存储节点进行在线并发升级;其中,所述并发升级节点组中至少包含一个存储节点;
将所述存储集群中未划分至所述并发升级节点组中的剩余存储节点划分至剩余存储节点组,并将所述剩余存储节点组中的所述权值矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更新权值矩阵;
基于各个存储节点的更新后权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。
2.根据权利要求1所述的存储集群升级控制方法,其特征在于,所述确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,包括:
将所述存储集群中各个存储节点上部署的各存储服务及存储节点所属的底层故障域确定为该存储节点对应的所述目标权类,并根据全部权类及与权类对应的权值确定出与所述目标权类对应的所述目标权值。
3.根据权利要求1所述的存储集群升级控制方法,其特征在于,所述将不存在重复的所述目标权类的所述权值矩阵对应的存储节点划分至并发升级节点组,包括:
利用冒泡原则对全部存储节点的所述权值矩阵进行处理,以确定出不存在重复的所述目标权类的所述权值矩阵对应的存储节点,并划分至所述并发升级节点组。
4.根据权利要求1所述的存储集群升级控制方法,其特征在于,所述基于各个存储节点的更新后权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制,包括:
将所述剩余存储节点组中存在所述目标权值为0的所述权值矩阵对应的存储节点进行剔除,得到剔除后的所述剩余存储节点组;其中,剔除后的所述剩余存储节点组中的存储节点的所述权值矩阵中的各所述目标权值均不为0;
从剔除后的所述剩余存储节点组中筛选出权类数量最少的存储节点,并将该存储节点划分至所述并发升级节点组;
将剔除后的所述剩余存储节点组中的所述权值矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更新后所述权值矩阵;
重复执行节点剔除步骤、根据权类数量筛选存储节点及权值减1步骤,直至剔除后的所述剩余存储节点组中各个存储节点的最新所述权值矩阵中均存在权值为0的所述目标权值,得到最新的所述剩余存储节点组。
5.根据权利要求4所述的存储集群升级控制方法,其特征在于,所述从剔除后的所述剩余存储节点组中筛选出权类数量最少的存储节点,包括:
如果剔除后的所述剩余存储节点组中存在多个权类数量最少的存储节点,则从该多个权类数量最少的存储节点中随机选择一个作为权类数量最少的存储节点。
6.根据权利要求4所述的存储集群升级控制方法,其特征在于,得到最新的所述剩余存储节点组之后,还包括:
判断所述并发升级节点组中的各个存储节点是否升级完成,如果是,则将升级完成的存储节点的所述权值矩阵进行恢复,并将最新的所述剩余存储节点组中的所述权值矩阵中的与本次恢复的存储节点的所述目标权类对应的所述目标权值加1,得到最终的所述剩余存储节点组;
对最终的所述剩余存储节点组重复执行节点剔除步骤、根据权类数量筛选存储节点、权值减1步骤、节点权值矩阵恢复及权值加1步骤,直至全部的存储节点均升级完成。
7.根据权利要求1所述的存储集群升级控制方法,其特征在于,各个权类对应的权值大于等于1。
8.根据权利要求1所述的存储集群升级控制方法,其特征在于,还包括:
获取所述存储集群的实时业务压力,并根据所述实时业务压力对与权类对应的权值进行调整。
9.根据权利要求8所述的存储集群升级控制方法,其特征在于,所述根据所述实时业务压力对与权类对应的权值进行调整,包括:
如果所述实时业务压力超过预设压力值,则调高与权类对应的权值的大小,以减少并发数;
如果所述实时业务压力低于预设压力值,则调低与权类对应的权值的大小,以增大并发数。
10.根据权利要求1所述的存储集群升级控制方法,其特征在于,还包括:
利用升级流程控制器触发所述存储集群升级处于暂停状态并对当前升级进度进行存档,或触发所述存储集群继续执行升级。
11.根据权利要求1至10任一项所述的存储集群升级控制方法,其特征在于,所述存储集群为分布式存储系统下的集群且以可扩展的伪随机数据分布算法结构为基础的底层故障域结构。
12.一种存储集群升级控制装置,其特征在于,包括:
权类及权值确定模块,用于确定存储集群中的全部权类及与权类对应的权值;其中,权类包括所述存储集群中部署的全部存储服务和所述存储集群的底层故障域;权值表征对应的所述权类允许并发升级的节点个数;
权值矩阵生成模块,用于确定出所述存储集群中各个存储节点对应的目标权类及与所述目标权类对应的目标权值,以生成各个存储节点的权值矩阵;
升级模块,用于基于各个存储节点的权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制;
所述存储集群升级控制装置,还用于:
将不存在重复的所述目标权类的所述权值矩阵对应的存储节点划分至并发升级节点组,并控制所述并发升级节点组中的各个存储节点进行在线并发升级;其中,所述并发升级节点组中至少包含一个存储节点;
将所述存储集群中未划分至所述并发升级节点组中的剩余存储节点划分至剩余存储节点组,并将所述剩余存储节点组中的所述权值矩阵中的与本次划分至所述并发升级节点组中的存储节点的所述目标权类对应的所述目标权值减1,得到各个存储节点的更新权值矩阵;
基于各个存储节点的更新后权值矩阵对所述存储集群中各个存储节点的在线并发升级过程进行控制。
13.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至11任一项所述的存储集群升级控制方法。
14.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至11任一项所述的存储集群升级控制方法。
CN202211412298.8A 2022-11-11 2022-11-11 一种存储集群升级控制方法、装置、设备及存储介质 Active CN115658116B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211412298.8A CN115658116B (zh) 2022-11-11 2022-11-11 一种存储集群升级控制方法、装置、设备及存储介质
PCT/CN2023/131087 WO2024099444A1 (zh) 2022-11-11 2023-11-10 一种存储集群升级控制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211412298.8A CN115658116B (zh) 2022-11-11 2022-11-11 一种存储集群升级控制方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115658116A CN115658116A (zh) 2023-01-31
CN115658116B true CN115658116B (zh) 2023-03-28

Family

ID=85020783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211412298.8A Active CN115658116B (zh) 2022-11-11 2022-11-11 一种存储集群升级控制方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN115658116B (zh)
WO (1) WO2024099444A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115658116B (zh) * 2022-11-11 2023-03-28 苏州浪潮智能科技有限公司 一种存储集群升级控制方法、装置、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118076B (zh) * 2013-01-11 2015-05-13 烽火通信科技股份有限公司 升级服务器集群系统及其负载均衡方法
WO2021003677A1 (zh) * 2019-07-09 2021-01-14 华为技术有限公司 一种分布式系统中的业务升级方法、装置及分布式系统
CN110597531B (zh) * 2019-08-05 2022-11-08 平安科技(深圳)有限公司 分布式的模块升级方法、装置及存储介质
US10990286B1 (en) * 2019-10-30 2021-04-27 EMC IP Holding Company LLC Parallel upgrade of nodes in a storage system
CN112463185A (zh) * 2020-11-12 2021-03-09 苏州浪潮智能科技有限公司 一种分布式集群在线升级方法及相关组件
CN112463195B (zh) * 2020-12-07 2022-07-08 苏州浪潮智能科技有限公司 一种集群分组在线升级的方法、系统、终端及存储介质
CN112650624B (zh) * 2020-12-25 2023-05-16 浪潮(北京)电子信息产业有限公司 一种集群升级方法、装置、设备及计算机可读存储介质
CN114697213A (zh) * 2022-03-30 2022-07-01 联想(北京)有限公司 一种升级方法及装置
CN115658116B (zh) * 2022-11-11 2023-03-28 苏州浪潮智能科技有限公司 一种存储集群升级控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115658116A (zh) 2023-01-31
WO2024099444A1 (zh) 2024-05-16

Similar Documents

Publication Publication Date Title
CN106803790B (zh) 一种集群系统的升级控制方法及装置
KR20200061393A (ko) 리소스 스케줄링 방법, 스케줄링 서버, 클라우드 컴퓨팅 시스템, 및 저장 매체
CN115658116B (zh) 一种存储集群升级控制方法、装置、设备及存储介质
CN110753112A (zh) 云服务的弹性伸缩方法和装置
CN113032102B (zh) 资源重调度方法、装置、设备和介质
CN111694517B (zh) 分布式数据迁移方法、系统和电子设备
WO2019108465A1 (en) Automated capacity management in distributed computing systems
CN112636982A (zh) 网络对抗环境配置方法及用于网络对抗的实验云平台系统
CN113297031A (zh) 容器集群中的容器组防护方法及装置
CN112214288B (zh) 基于Kubernetes集群的Pod调度方法、装置、设备和介质
CN112527450B (zh) 基于不同资源的超融合自适应方法、终端及系统
CN111130834A (zh) 一种网络弹性策略的处理方法及装置
JP2017033337A (ja) 仮想マシン配置装置および仮想マシン配置方法
CN114443057A (zh) 对话模型的部署和对话方法、装置、电子设备及存储介质
CN116069447A (zh) 一种虚拟机numa拓扑生成方法、装置、设备、介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN115794306A (zh) 基于抢占实例的资源分配方法及装置、电子设备及介质
CN116418826A (zh) 对象存储系统扩容方法、装置、系统及计算机设备
CN114385366A (zh) 容器云平台的容器组弹性扩容方法、系统、介质和设备
CN113271323B (zh) 集群扩容方法、装置和存储介质
CN114936106A (zh) 一种主机故障的处理方法、装置及介质
CN114416379A (zh) 一种Kubernetes资源巡检方法、系统及设备
CN114745278A (zh) 一种业务系统扩缩容的方法、装置、电子设备和存储介质
CN113886196A (zh) 片上功耗管理方法、电子设备及存储介质
CN112148496A (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