一种redis服务节点的配置升级方法及装置转让专利
申请号 : CN202210029517.8
文献号 : CN114047941B
文献日 : 2022-04-26
发明人 : 陈实 , 赵增义 , 张益军 , 王金明
申请人 : 飞狐信息技术(天津)有限公司
摘要 :
权利要求 :
1.一种redis服务节点的配置升级方法,其特征在于,包括:接收配置项修改请求;
查询所述配置项修改请求是否在支持配置项的白名单中,若是,则从待处理集群中筛选出目标节点,对所述目标节点的配置项进行热配置修改;
若所述热配置修改成功,则确定所述目标节点的配置项为热配置,对所述待处理集群中的所有节点的配置项执行所述热配置修改,并将所述待处理集群下的所有节点的配置项写入所述所有节点对应的配置文件中;所述待处理集群中的所有节点,包括:所述目标节点;
若所述热配置修改失败,则确定所述目标节点的配置项中的配置值为非法配置值或所述目标节点的配置项不支持所述热配置修改,若所述目标节点的配置项中的配置值为非法配置值,结束对所述目标节点的配置项的热配置修改;若所述目标节点的配置项不支持所述热配置修改,则确定所述目标节点的配置项为冷配置;
当所述目标节点的配置项为冷配置时,对所述待处理集群中的所有节点进行分组,对分组之后的各个节点对应的配置文件进行冷配置修改;
在所述冷配置修改之后,根据集群重启算法对分组后的各个节点进行重启。
2.根据权利要求1所述的方法,其特征在于,所述对分组之后的各个节点对应的配置文件进行冷配置修改之前,还包括:从预设的目标测试集群中筛选出目标测试节点,对所述目标测试节点对应的配置文件进行冷配置修改,并对所述目标测试节点进行重启;若所述重启失败,结束本次修改;
若所述重启成功,触发执行如下步骤:对分组之后的各个节点对应的配置文件进行冷配置修改;在所述冷配置修改之后,根据集群重启算法对分组后的各个节点进行重启;其中,所述预设的目标测试集群支持的配置项的范围大于或等于待处理集群支持的配置项的范围。
3.根据权利要求1所述的方法,其特征在于,所有节点包括:主节点、从节点;所述对所述待处理集群中的各个节点进行分组,包括:查询所述待处理集群中的主从节点关系信息;
根据所述主从节点关系信息,对所有节点进行分组,得到多个主从节点分组,所述主从节点分组中包括一个主节点和对应多个从节点;
为每个所述主从节点分组添加主从节点标志位;
所述对分组之后的各个节点对应的配置文件进行冷配置修改,包括:根据所述主从节点标志位,对分组之后的各个节点对应的配置文件进行冷配置修改;
所述根据集群重启算法对分组后的各个节点进行重启,包括:根据所述主从节点标志位,对分组后的各个节点进行重启。
4.根据权利要求3所述的方法,其特征在于,所述为每个所述主从节点分组添加主从节点标志位,包括:
判断所述待处理集群中当前的主从节点分组中是否存在指定修改节点;
若待处理集群中主从节点分组中存在指定修改节点,确定所述主从节点标志位用于指示所述指定修改节点为主从节点、或主节点、或从节点;
若待处理集群中主从节点分组中不存在指定修改节点,确定所述主从节点标志位指示所述主从节点分组中不存在所述指定修改节点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述主从节点标志位,对分组之后的各个节点对应的配置文件进行冷配置修改,包括:当所述主从节点标志位指示所述指定修改节点为主从节点时,对从节点对应的配置文件进行冷配置修改,对主节点对应的配置文件进行冷配置修改;
当所述主从节点标志位指示所述指定修改节点为主节点时,对所述主节点对应的配置文件进行冷配置修改;当所述主从节点标志位指示所述指定修改节点为从节点时,对所述从节点对应的配置文件进行冷配置修改;
当所述主从节点标志位指示所述主从节点分组中不存在所述指定修改节点时,则进行下一个主从节点分组的判断。
6.根据权利要求4所述的方法,其特征在于,所述根据所述主从节点标志位,对分组后的各个节点进行重启,包括:
当所述主从节点标志位指示所述指定修改节点为主从节点时,对从节点进行重启,在所述从节点进行重启之后,对主节点进行重启;
当所述主从节点标志位指示所述指定修改节点为从节点时,对所述从节点进行重启;
当所述主从节点标志位指示所述指定修改节点为主节点时,则从当前主从节点分组中选取备用从节点,当所述备用从节点与所述主节点连接正常,将备用从节点替换为主节点,在所述备用从节点替换为主节点成功后,对替换之前的主节点进行重启;
当所述主从节点标志位指示所述主从节点分组中不存在所述指定修改节点,结束当前主从节点分组的重启。
7.一种redis服务节点的配置升级装置,其特征在于,包括:接收模块,用于接收配置项修改请求;
第一查询模块,用于查询所述配置项修改请求是否在支持配置项的白名单中,若是,则从待处理集群中筛选出目标节点,对所述目标节点的配置项进行热配置修改;
热配置修改模块,用于若所述热配置修改成功,则确定所述目标节点的配置项为热配置,对所述待处理集群中的所有节点的配置项执行所述热配置修改,并将所述待处理集群下的所有节点的配置项写入配置文件中;所述待处理集群中的所有节点,包括:所述目标节点;
第一判断模块,用于若所述对所述目标节点的配置项进行热配置修改失败,则确定所述目标节点的配置项中的配置值为非法配置值或所述目标节点的配置项不支持所述热配置修改,若所述目标节点的配置项中的配置值为非法配置值,结束对目标节点的配置项的修改;若所述目标节点的配置项不支持所述热配置修改,则确定所述目标节点的配置项为冷配置;
冷配置修改模块,用于当所述目标节点的配置项为冷配置时,对所述待处理集群中的所有节点进行分组,对分组之后的各个节点对应的配置文件进行冷配置修改;
重启模块,用于在所述配置文件进行冷配置修改之后,根据集群重启算法对分组后的各个节点进行重启。
8.根据权利要求7所述的装置,其特征在于,还包括:第二查询模块,用于查询所述待处理集群中的主从节点关系信息;
分组模块,用于根据所述主从节点关系信息,对所有节点进行分组,得到多个主从节点分组,所述主从节点分组中包括一个主节点和对应多个从节点;
添加模块,用于为每个所述主从节点分组添加主从节点标志位;
所述冷配置修改模块,具体用于根据所述主从节点标志位,对分组之后的各个节点对应的配置文件进行冷配置修改;
所述重启模块,具体用于根据所述主从节点标志位,对分组后的各个节点进行重启。
9.根据权利要求8所述的装置,其特征在于,所述添加模块包括:第二判断模块,用于判断所述待处理集群中当前的主从节点分组中是否存在指定修改节点;
第一指示模块,用于若待处理集群中主从节点分组中存在指定修改节点,确定所述主从节点标志位用于指示所述指定修改节点为主从节点、或主节点、或从节点;
第二指示模块,用于若待处理集群中主从节点分组中不存在指定修改节点,确定所述主从节点标志位指示所述主从节点分组中不存在所述指定修改节点。
10.一种存储介质,其特征在于,所述存储介质上存储有程序,所述程序被处理器执行时实现权利要求1至6中任一项所述方法。
说明书 :
一种redis服务节点的配置升级方法及装置
技术领域
背景技术
繁琐,十分耗时。并且,采用人工升级的方式,任何一个环节出现问题,可能会导致redis服
务不可用。因此,急需一种集中化管理流程对redis服务节点进行管理操作,降低redis服务
节点的配置升级的运维成本。
发明内容
redis服务节点的升级的运维成本。
置项写入所述所有节点对应的配置文件中;所述待处理集群中的所有节点,包括:所述目标
节点;
非法配置值,结束对所述目标节点的配置项的热配置修改;若所述目标节点的配置项不支
持所述热配置修改,则确定所述目标节点的配置项为冷配置;
其中,所述预设的目标测试集群支持的配置项的范围大于或等于待处理集群支持的配置项
的范围。
所述从节点对应的配置文件进行冷配置修改;
节点,在所述备用从节点替换为主节点成功后,对替换之前的主节点进行重启;
集群下的所有节点的配置项写入配置文件中;所述待处理集群中的所有节点,包括:所述目
标节点;
热配置修改,若所述目标节点的配置项中的配置值为非法配置值,结束对目标节点的配置
项的修改;若所述目标节点的配置项不支持所述热配置修改,则确定所述目标节点的配置
项为冷配置;
则从待处理集群中筛选出目标节点,对所述目标节点的配置项进行热配置修改;若所述热
配置修改成功,则确定所述目标节点的配置项为热配置,对所述待处理集群中的所有节点
的配置项执行所述热配置修改,并将所述待处理集群下的所有节点的配置项写入所述所有
节点对应的配置文件中;所述待处理集群中的所有节点,包括:所述目标节点;若所述热配
置修改失败,则确定所述目标节点的配置项中的配置值为非法配置值或所述目标节点的配
置项不支持所述热配置修改,若所述目标节点的配置项中的配置值为非法配置值,结束对
所述目标节点的配置项的热配置修改;若所述目标节点的配置项不支持所述热配置修改,
则确定所述目标节点的配置项为冷配置;当所述目标节点的配置项为冷配置时,对所述待
处理集群中的所有节点进行分组,对分组之后的各个节点对应的配置文件进行冷配置修
改;在所述冷配置修改之后,根据集群重启算法对分组后的各个节点进行重启。本申请实施
例能够针对大规模集群提供快速高效的运维操作,降低了redis服务节点的配置升级的运
维成本,而且在修改的过程中,集群服务依然可用。
附图说明
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
具体实施方式
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
节点配置升级装置用于对redis服务中的各个节点进行配置升级。
行拦截。
set对目标节点的配置项进行修改。
的配置项写入所述所有节点对应的配置文件中;所述待处理集群中的所有节点,包括:所述
目标节点。
并将所述待处理集群下的所有节点的配置项写入配置文件中。
中config rewrite将配置项写入到配置文件中。
置值为非法配置值,结束对所述目标节点的配置项的热配置修改;若所述目标节点的配置
项不支持所述热配置修改,则确定所述目标节点的配置项为冷配置。
所述目标节点的配置项中的配置值为非法配置值,结束对目标节点的配置项的修改。
服务节点的配置升级的不便,和某些配置无法通过redis命令修改的问题。
集群重启算法对各个节点进行重启,完成对待处理集群的配置文件的修改。
则从待处理集群中筛选出目标节点,对所述目标节点的配置项进行热配置修改;若所述热
配置修改成功,则确定所述目标节点的配置项为热配置,对所述待处理集群中的所有节点
的配置项执行所述热配置修改,并将所述待处理集群下的所有节点的配置项写入所述所有
节点对应的配置文件中;所述待处理集群中的所有节点,包括:所述目标节点;若所述热配
置修改失败,则确定所述目标节点的配置项中的配置值为非法配置值或所述目标节点的配
置项不支持所述热配置修改,若所述目标节点的配置项中的配置值为非法配置值,结束对
所述目标节点的配置项的热配置修改;若所述目标节点的配置项不支持所述热配置修改,
则确定所述目标节点的配置项为冷配置;当所述目标节点的配置项为冷配置时,对所述待
处理集群中的所有节点进行分组,对分组之后的各个节点对应的配置文件进行冷配置修
改;在所述冷配置修改之后,根据集群重启算法对分组后的各个节点进行重启。本申请实施
例能够针对大规模集群提供快速高效的运维操作,降低了redis服务节点的配置升级的运
维成本,而且在修改的过程中,集群服务依然可用。
修改;
重启;其中,所述预设的目标测试集群支持的配置项的范围大于或等于待处理集群支持的
配置项的范围。
目标测试集群,对预设的目标测试集群中筛选出目标测试节点,对所述目标从节点的配置
文件进行冷配置修改,并进行重启,当重启成功时,说明待处理集群的配置文件的配置值正
确,这样一来,可减少待处理集群的重启次数。在同一版本的redis服务集群中,在预设的目
标测试集群中修改配置能够成功,那么在待处理的集群中修改配置也能够成功。其中,所述
预设的目标测试集群支持的配置项的范围大于或等于待处理集群支持的配置项的范围。
正确。
中,每个主从节点分组包括一个主节点和多个与该主节点对应的从节点。并为每个主从节
点分组添加主从节点标志位,该主从节点标志位可以用于指示主从节点分组的节点信息,
以便后续利用主从节点标志位对分组之后的各个节点对应的配置文件进行冷配置修改以
及对分组后的各个节点进行重启。
行分组,从而得到多个主从节点分组,并为每个所述主从节点分组添加主从节点标志位,根
据所述主从节点标志位,对分组之后的各个节点对应的配置文件进行冷配置修改,根据所
述主从节点标志位,对分组后的各个节点进行重启,能够针对大规模集群提供快速高效的
运维操作,降低了redis服务节点的配置升级的运维成本。
的指定修改节点信息,主从节点标志位用于指示当前的主从节点分组中指定修改节点包含
的节点信息,具体地,主从节点标志位用于指示所述指定修改节点为主从节点、或主节点、
或从节点。
所述主从节点标志位指示所述主从节点分组中不存在指定修改节点。
冷配置修改之后,对主节点对应的配置文件进行冷配置修改。当所述主从节点标志位指示
所述指定修改节点为主节点时,对所述主节点对应的配置文件进行冷配置修改,当所述主
从节点标志位指示所述指定修改节点为从节点时,对所述从节点对应的配置文件进行冷配
置修改当所述主从节点标志位指示所述主从节点分组中不存在所述指定修改节点时,则进
行下一个主从节点分组的判断。
然可用。
节点,在所述备用从节点替换为主节点成功后,对替换之前的主节点进行重启;
连接正常,若正常,则先对该从节点进行failover操作(在集群中,将从节点变更为主节点
的操作,该操作执行之后,所述从节点将变更为主节点),执行成功后,对替换之前的主节点
进行重启,在所述替换之前的主节点进行重启成功之后,如果不允许主从节点角色切换,则
对所述替换之前主节点进行换主操作,以保证在重启的过程中,集群服务依然可用。这是因
为,若在当前主从节点分组中直接重启主节点,会导致当前主从节点分组中没有存活的主
节点,造成待处理集群服务异常。
节点,在所述备用从节点替换为主节点成功后,对替换之前的主节点进行重启。
服务异常。因此,从当前主从节点分组中筛选出一备用从节点,判断该备用从节点与所述主
节点是否连接正常,若连接正常,则将备用从节点进行failover操作(在集群中,将从节点
变更为主节点的操作,该操作执行之后,所述从节点将变更为主节点),执行成功后,对替换
之前的主节点(原来的主节点,现在可视为从节点)进行重启。在所述替换之前的主节点进
行重启成功之后,如果不允许主从节点角色切换,则对所述替换之前主节点进行换主操作,
以保证在重启的过程中,集群服务依然可用。针对上述操作,一旦某一步失败,则结束当前
主从节点分组的重启,并记录重启失败的原因。
主从节点分组添加主从节点标志位;判断所述待处理集群中当前的主从节点分组中是否存
在指定修改节点;若待处理集群中主从节点分组中存在指定修改节点,确定所述主从节点
标志位用于指示所述指定修改节点为主从节点、或主节点、或从节点;若待处理集群中主从
节点分组中不存在指定修改节点,确定所述主从节点标志位指示所述主从节点分组中不存
在所述指定修改节点,根据所述主从节点标志位,对分组后的各个节点进行重启。
节点的配置项执行热配置修改;若热配置修改失败,且所述目标节点的配置项不支持所述
热配置修改,则确定目标节点的配置项为冷配置;对待处理集群中的所有节点进行分组,对
分组之后的各个节点对应的配置文件进行冷配置修改,根据集群重启算法对分组后的各个
节点进行重启。本申请实施例能够针对大规模集群提供快速高效的运维操作,降低了redis
服务的节点的配置升级的运维成本。而且在修改的过程中,集群服务依然可用。
理集群下的所有节点的配置项写入配置文件中;所述待处理集群中的所有节点,包括:所述
目标节点;
述热配置修改,若所述目标节点的配置项中的配置值为非法配置值,结束对目标节点的配
置项的修改;若所述目标节点的配置项不支持所述热配置修改,则确定所述目标节点的配
置项为冷配置;
程序,所述程序被处理器执行时实现所述redis服务配置修改方法。
修改成功,则确定目标节点的配置项为热配置,对待处理集群中的所有节点的配置项执行
热配置修改;若热配置修改失败,且所述目标节点的配置项不支持所述热配置修改,则确定
目标节点的配置项为冷配置;对待处理集群中的所有节点进行分组,对分组之后的各个节
点对应的配置文件进行冷配置修改,根据集群重启算法对分组后的各个节点进行重启。本
申请实施例能够针对大规模集群提供快速高效的运维操作,降低了redis服务配置的运维
成本。
而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说
明即可。
软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业
技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本申请的范围。
储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术
领域内所公知的任意其它形式的存储介质中。
一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。