内存数据库集群的实现方法、装置及内存数据库集群制造方法及图纸

技术编号:36919927 阅读:53 留言:0更新日期:2023-03-22 18:43
本申请公开了内存数据库集群的实现方法、装置及内存数据库集群,其方法包括:根据数据键与内存数据库簇的属性,生成第一路由策略;根据数据键,以及各内存数据库簇中各内存数据库节点的属性,生成第二路由策略;在代理服务器中部署第一路由策略,以及在各内存数据库簇中部署相应的第二路由策略,使代理服务器能够根据第一路由策略,将来自应用的请求路由至目标内存数据库簇,以及使目标内存数据库簇能够根据第二路由策略,将请求路由至相应的内存数据库节点,从而对请求进行处理。本申请通过代理服务器的设置,使得多个内存数据库簇形成一个超大集群,能够满足不断增长的业务需求,且提高了内存数据库的处理性能。提高了内存数据库的处理性能。提高了内存数据库的处理性能。

【技术实现步骤摘要】
内存数据库集群的实现方法、装置及内存数据库集群


[0001]本申请涉及数据库
,具体涉及一种内存数据库集群的实现方法、装置及内存数据库集群。

技术介绍

[0002]内存数据库,例如Redis,是一种开源的基于Key

Value的内存型数据库。内存数据库簇,例如Redis Cluster,是Redis官方提供的一种Redis集群实现。通常,内存数据库簇存在规模极限,例如一个Redis Cluster可包含的Redis实例上限为1000个Redis实例(如阿里云Redis Cluster目前最大支持256个Redis分片,每个分片包含一主(Master)两从(Slave),总计768个Redis实例)。因此,随着业务体量的不断攀升,单个Redis Cluster已无法满足业务需求。

技术实现思路

[0003]本申请实施例提供了一种内存数据库集群的实现方法、装置及内存数据库集群,该方法能够使多个内存数据库簇形成一个超大的内存数据库集群,以满足不断提升的数据处理需求。
[0004]本申请实施例采用下述技术方案:
[0005]第一方面,本申请实施例提供了一种内存数据库集群的实现方法,其中,该方法由控制服务器执行,包括:
[0006]根据数据键与内存数据库簇的属性,生成第一路由策略;
[0007]根据数据键,以及各内存数据库簇中各内存数据库节点的属性,生成各内存数据库簇的第二路由策略;
[0008]在代理服务器中部署第一路由策略,以及在各内存数据库簇中部署相应的第二路由策略,使代理服务器能够根据第一路由策略,将来自应用的请求路由至目标内存数据库簇,以及使目标内存数据库簇能够根据第二路由策略,将请求路由至相应的内存数据库节点,从而对请求进行处理。
[0009]可选的,所述方法还包括:在满足扩缩容条件的情况下,对所述内存数据库集群启用的内存数据库簇的数量进行调整,和/或,对所述内存数据库集群启用的内存数据库簇的内存数据库节点的数量进行调整。
[0010]可选的,上述方法还包括:获取第一扩缩容指标数据,扩缩容指标数据包括预设历史时间内代理服务器接收到的请求数量和/或各内存数据库簇接收到的请求数量;
[0011]若第一扩缩容指标数据触发了预设的第一扩缩容策略,则确定为满足第一扩缩容条件,并对内存数据库集群启用的内存数据库簇的数量进行调整。
[0012]可选的,在上述方法中,若第一扩缩容指标数据大于第一扩缩容策略的预设上限值,则第一扩缩容指标数据触发了预设的第一扩容策略;
[0013]对内存数据库集群启用的内存数据库簇的数量进行调整包括:
[0014]创建新的内存数据库簇;
[0015]按照第一预设分区规则,将各已启用的内存数据库簇中的待迁移槽及其对应的数据复制至新的内存数据库簇中;
[0016]删除各已启用的内存数据库簇中的待迁移槽及其对应的数据;
[0017]根据第一预设分区规则,对第一路由策略和第二路由策略进行更新。
[0018]可选的,在上述方法中,若第一扩缩容指标数据小于第一扩缩容策略的预设下限值,则第一扩缩容指标数据触发了预设的第一缩容策略;
[0019]对内存数据库集群启用的内存数据库簇的数量进行调整包括:
[0020]按照第一预设分区规则,将待停用的内存数据库簇的槽及其对应的数据复制至其它已启用的内存数据库簇中;
[0021]删除各待停用的内存数据库簇中的槽及其对应的数据;
[0022]删除待停用的内存数据库簇;
[0023]根据第一预设分区规则,对第一路由策略和第二路由策略进行更新。
[0024]可选的,上述方法还包括:
[0025]获取第二扩缩容指标数据,第二扩缩容指标数据包括预设时间内各内存数据库簇的各内存数据库节点接收到的请求数量;
[0026]若第二扩缩容指标数据触发了预设的第二扩缩容策略,则确定为满足第二扩缩容条件,并对内存数据库集群启用的内存数据库簇的内存数据库节点的数量进行调整。
[0027]可选的,在上述方法中,若第二扩缩容指标数据大于第二扩缩容策略的预设上限值,则第二扩缩容指标数据触发了预设的第二扩容策略;
[0028]对内存数据库集群启用的内存数据库簇的内存数据库节点的数量进行调整包括:
[0029]创建新的内存数据库节点;
[0030]按照第二预设分区规则,将各内存数据库簇的内存数据库节点中的待迁移槽及其对应的数据复制至新的内存数据库节点中;
[0031]删除各内存数据库簇的内存数据库节点中的待迁移槽及其对应的数据;
[0032]根据第二预设分区规则,对第一路由策略和第二路由策略进行更新。
[0033]可选的,在上述方法中,若第二扩缩容指标数据小于第二扩缩容策略的预设下限值,则第二扩缩容指标数据触发了预设的第二缩容策略;
[0034]对内存数据库集群启用的内存数据库簇的内存数据库节点的数量进行调整包括:
[0035]按照第二预设分区规则,将待停用的内存数据库节点的槽及其对应的数据复制至其它启用的内存数据库节点中;
[0036]删除各待停用的内存数据库节点中的槽及其对应的数据;
[0037]删除待停用的内存数据库节点;
[0038]根据第二预设分区规则,对第一路由策略和第二路由策略进行更新。
[0039]第二方面,本申请实施例提供了一种内存数据库集群的实现装置,其中,该装置设置在控制服务器中,该装置包括:
[0040]第一生成装置,用于根据数据键与内存数据库簇的属性,生成第一路由策略;
[0041]第二生成装置,用于根据数据键,以及各内存数据库簇中各内存数据库节点的属性,生成各内存数据库簇的第二路由策略;
[0042]部署装置,用于在代理服务器中部署第一路由策略,以及在各内存数据库簇中部署相应的第二路由策略,使代理服务器能够根据第一路由策略,将来自应用的请求路由至目标内存数据库簇,以及使目标内存数据库簇能够根据第二路由策略,将请求路由至相应的内存数据库节点,从而对请求进行处理。
[0043]第三方面,提供了一种内存数据库集群,其中,包括代理服务器和多个内存数据库簇,代理服务器和多个内存数据库簇分别通信连接,代理服务器可与一个或多个应用通信连接;
[0044]代理服务器中部署有第一路由策略,第一路由策略是根据数据键与内存数据库簇的属性生成的;代理服务器用于根据第一路由策略,将来自应用的请求路由至目标内存数据库簇;
[0045]各内存数据库簇中分别部署有的第二路由策略,第二路由策略是根据数据键以及各内存数据库簇中各内存数据库节点的属性生成的;
[0046]内存数据库簇用于根据第二路由策略,将请求路由至相应的内存数据库节点,从而对请求进行处理。
[0047]可选的,在上述内存数据库集群中,其中,代理服务器包括一个或多个代理节点,各内存数据库簇中包含一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存数据库集群的实现方法,其中,该方法由控制服务器执行,包括:根据数据键与内存数据库簇的属性,生成第一路由策略;根据所述数据键,以及各内存数据库簇中各内存数据库节点的属性,生成各内存数据库簇的第二路由策略;在代理服务器中部署所述第一路由策略,以及在各内存数据库簇中部署相应的第二路由策略,使所述代理服务器能够根据第一路由策略,将来自应用的请求路由至目标内存数据库簇,以及使目标内存数据库簇能够根据第二路由策略,将所述请求路由至相应的内存数据库节点,从而对所述请求进行处理。2.根据权利要求1所述的方法,其中,所述方法还包括:在满足扩缩容条件的情况下,对所述内存数据库集群启用的内存数据库簇的数量进行调整,和/或,对所述内存数据库集群启用的内存数据库簇的内存数据库节点的数量进行调整。3.根据权利要求2所述的方法,其中,所述方法还包括:获取第一扩缩容指标数据,所述第一扩缩容指标数据包括预设历史时间内代理服务器接收到的请求数量和/或各内存数据库簇接收到的请求数量;若所述第一扩缩容指标数据触发了预设的第一扩缩容策略,则确定为满足第一扩缩容条件,并对所述内存数据库集群启用的内存数据库簇的数量进行调整。4.根据权利要求3所述的方法,其中,若所述第一扩缩容指标数据大于第一扩缩容策略的预设上限值,则所述第一扩缩容指标数据触发了预设的第一扩容策略;所述对所述内存数据库集群启用的内存数据库簇的数量进行调整包括:创建新的内存数据库簇;按照第一预设分区规则,将各已启用的内存数据库簇中的待迁移槽及其对应的数据复制至所述新的内存数据库簇中;删除各所述已启用的内存数据库簇中的待迁移槽及其对应的数据;根据所述第一预设分区规则,对所述第一路由策略和所述第二路由策略进行更新。5.根据权利要求3所述的方法,其中,若所述第一扩缩容指标数据小于第一扩缩容策略的预设下限值,则所述第一扩缩容指标数据触发了预设的第一缩容策略;所述对所述内存数据库集群启用的内存数据库簇的数量进行调整包括:按照第一预设分区规则,将待停用的内存数据库簇的槽及其对应的数据复制至其它已启用的内存数据库簇中;删除各所述待停用的内存数据库簇中的槽及其对应的数据;删除所述待停用的内存数据库簇;根据所述第一预设分区规则,对所述第一路由策略和所述第二路由策略进行更新。6.根据权利要求2所述的方法,其中,所述方法还包括:获取第二扩缩容指标数据,所述第二扩缩容指标数据包括预设时间内各内存数据库簇的各内存数据库节点接收到的请求数量;若所述第二扩缩容指标数据触发了预设的第二扩缩容策略,则确定为满足第二扩缩容条件,并对所述内存数据库集群启用的内存数据库簇的内存数据库节点的数量进行调整。7.根据权利要求6所述的方法,其中,若所述第二扩缩容指标数据大于第二扩缩容策略的预设上限值,则所述第二扩缩容指标数据触发了预设的第二扩容策略;
所述对所述内存数据库集群启用的内存数据库簇的内存数据库节点的数量进行调整包括:创建新的内存数据库节点;按照第二预设分区规则,将各所述内存数据库簇的内存数据库节点中的待迁移槽及其对应的数据复制至所述新的内存数据库节点中;删除各所述内存数据库...

【专利技术属性】
技术研发人员:杜伟赵彤董俊峰强群力刘超千
申请(专利权)人:网联清算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1