[发明专利]Redis集群的扩容方法、装置、电子设备和存储介质在审
申请号: | 202210376717.0 | 申请日: | 2022-04-12 |
公开(公告)号: | CN114756527A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 应宏辉 | 申请(专利权)人: | 上海途虎信息技术有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/2455 |
代理公司: | 北京市盈科律师事务所 11344 | 代理人: | 陈晨 |
地址: | 201108 上海市闵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | redis 集群 扩容 方法 装置 电子设备 存储 介质 | ||
本发明提供了一种Redis集群的扩容方法、装置、电子设备和存储介质,所述方法包括:将新增节点加入集群,平均地分配槽位到所有节点,确定槽位迁移计划;获取需要迁移的槽位的配置;执行槽位迁移计划,将需要迁移的槽位从源节点迁移到目标节点;判断迁移过程是否有异常,如果有异常,则判断是否是已知异常,如果是已知异常,则进行兼容处理,如果不是已知异常,则发送告警信息。
技术领域
本发明涉及计算机技术领域,尤其涉及一种Redis集群的扩容方法、装置、电子设备和存储介质。
背景技术
Redis指的是一个开源的使用ANSIC语言(ANSIC语言是美国国家标准协会制定的一个C语言的标准)编写、支持网络、可基于内存亦可持久化的日志型、键值型数据库,并提供多种语言的应用程序界面。Redis集群是一个去中心化的集群,每个节点都会跟其他节点保持连接,用来交换彼此的信息。
现有技术进行Redis集群扩容时候,通常采用手动处理的方法,即管理员在收到业务人员告知的对Redis集群进行扩容通知后,在Redis集群上输入相关命令对Redis集群进行操作。
现有技术主要在以下三个方面问题:
第一,Redis集群扩容过程复杂,容易出错。
第二,Redis集群迁移数据过程耗时长,一次扩容迁移可能需要十几个小时,如在晚上进行运维服务,运维难度较大。
第三,Redis集群中的大key等情况容易导致扩容失败,对异常情况没有对应的处理,存在很大隐患。
发明内容
下文呈现各种示例性技术方案的概述。在以下概述中可以进行一些简化和省略,其意在突出并介绍各种示例性技术方案的一些方面,但不限制本发明的范围。将在后续部分呈现足以允许本领域的普通技术人员产生并使用本发明概念的示例性技术方案的详细描述。
未克服现有技术存在的问题,本发明的技术方案提供一种Redis集群的扩容方法,包括:将新增节点加入集群,平均地分配槽位到所有节点,确定槽位迁移计划;获取需要迁移的槽位的配置;执行槽位迁移计划,将需要迁移的槽位从源节点迁移到目标节点;判断迁移过程是否有异常,如果有异常,则判断是否是已知异常,如果是已知异常,则进行兼容处理,如果不是已知异常,则发送告警信息。
可选地,所述平均地分配槽位到所有节点,包括:总的槽位数除以节点数,得到每个节点的平均槽位数,若有余数,则将余数随机分配到各个节点。
可选地,所述需要迁移的槽位的配置包括槽位迁移速度。
可选地,所述执行槽位迁移计划,包括:采用多线程的方式执行槽位迁移计划。
可选地,所述执行槽位迁移计划,包括:在一个线程中,以单个槽位为维度,在迁移完一个槽位后,根据上一个槽位迁移情况判断是否迁移下一个槽位。
可选地,所述方法还包括:迁移完成后设置归属节点,采取锁的方式,同一时刻不允许并发地设置节点归属。
可选地,在所述确定槽位迁移计划之后,还包括;手动调整槽位迁移计划。
可选地,所述方法还包括:将迁移的重要事件节点发送通知,所述重要事件包括:开始迁移、迁移成功、迁移时间、迁移速度。
本发明的技术方案还提供一种Redis集群的扩容装置,包括:计算模块,被配置为将新增节点加入集群,平均地分配槽位到所有节点,确定槽位迁移计划;配置模块,被配置为获取需要迁移的槽位的配置;迁移模块,被配置为执行槽位迁移计划,将需要迁移的槽位从源节点迁移到目标节点;处理模块,被配置为判断迁移过程是否有异常,如果有异常,则判断是否是已知异常,如果是已知异常,则进行兼容处理,如果不是已知异常,则发送告警信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海途虎信息技术有限公司,未经上海途虎信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210376717.0/2.html,转载请声明来源钻瓜专利网。