Redis集群管理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:21146238 阅读:25 留言:0更新日期:2019-05-18 06:43
本发明专利技术公开了一种Redis集群管理方法,包括:当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区;将所述数据访问请求路由到所述目标数据分区,并对所述数据键值进行处理,得到哈希槽编号;将所述数据访问请求路由到所述目标数据分区中与所述哈希槽编号对应的Redis节点。本发明专利技术还公开了一种Redis集群管理装置、设备及可读存储介质。本发明专利技术能够有效的保证Redis集群的数据完整性和高可用。

Redis Cluster Management Method, Device, Equipment and Readable Storage Media

【技术实现步骤摘要】
Redis集群管理方法、装置、设备及可读存储介质
本专利技术涉及Redis集群的
,尤其涉及一种Redis集群管理方法、装置、设备及可读存储介质。
技术介绍
由于单台Redis服务器的内存管理能力有限,Redis服务器发生故障将直接影响大面积业务。为了获取更好的缓存性能及扩展型,通过搭建Redis集群来满足需求。目前,主要通过Twemproxy和RedisSentinel搭建Redis集群,即Twemproxy是一个支持Redis协议的单线程的代理程序,通过引入代理层,封装后端真实的Redis存储分片,并通过RedisSentinel实现Failover保证Redis存储分片的高可用。然而,通过Twemproxy和RedisSentinel搭建的Redis集群属于中心化管理架构,RedisSentinel容易出现异常,而RedisSentinel作为保证Redis集群高可用的重要角色,一旦服务异常,将导致Redis存储分片故障的转移无法自动完成,需要人工运维介入,数据的完整性以及Redis集群的高可用得不到保证。因此,如何保证Redis集群的数据完整性和高可用是目前亟待解决的问题。
技术实现思路
本专利技术的主要目的在于提供一种Redis集群管理方法、装置、设备及可读存储介质,旨在保证Redis集群的数据完整性和高可用。为实现上述目的,本专利技术提供一种Redis集群管理方法,所述Redis集群管理方法应用于Redis集群管理设备,所述Redis集群管理设备包括预设的Redis集群代理组件和多个数据分区,每个数据分区由多个Redis节点组成,所述Redis集群管理方法包括以下步骤:当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区;将所述数据访问请求路由到所述目标数据分区,,并对所述数据键值进行处理得到哈希槽编号;将所述数据访问请求路由到所述目标数据分区中与所述哈希槽编号对应的Redis节点。可选地,所述当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区的步骤包括:当监测到数据访问请求时,确定所述数据访问请求中的数据键值;通过所述Redis集群代理组件对所述数据键值进行哈希计算,得到目标哈希值;确定所述目标哈希值在预设的哈希圆环上的位置,并从所述位置开始沿着所述哈希圆环顺时针方向移动,获取首次在所述哈希圆环上遇到的数据分区;判断所述数据分区是否宕机;若所述数据分区宕机,则继续沿着所述哈希圆环顺时针方向移动,将在所述哈希圆环上遇到的未宕机的数据分区确定为目标数据分区;若所述数据分区未宕机,则将所述数据分区确定为目标数据分区。可选地,所述当监测到数据访问请求时,确定所述数据访问请求中的数据键值的步骤之后,还包括:通过所述Redis集群代理组件获取数据分区个数,并用所述数据键值对所述数据分区个数取模,得到取模结果;依据所述取模结果确定未宕机的目标数据分区。可选地,所述Redis集群代理组件至少为两个,当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区的步骤包括:当监测到数据访问请求时,将至少两个Redis集群代理组件中的一Redis集群代理组件确定为目标Redis集群代理组件;通过所述目标Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区。可选地,所述将至少两个Redis集群代理组件中的一Redis集群代理组件确定为目标Redis集群代理组件的步骤包括:获取至少两个Redis集群代理组件中各Redis集群代理组件的负载信息;依据所述负载信息,确定至少两个Redis集群代理组件中各Redis集群代理组件的负载指数;将至少两个Redis集群代理组件中所述负载指数最小的Redis集群代理组件,确定为目标Redis集群代理组件。此外,为实现上述目的,本专利技术还提供一种Redis集群管理装置,所述Redis集群管理装置应用于Redis集群管理设备,所述Redis集群管理设备包括预设的Redis集群代理组件和多个数据分区,每个数据分区由多个Redis节点组成,所述Redis集群管理装置包括:确定模块,用于当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区;路由模块,用于将所述数据访问请求路由到所述目标数据分区,并对所述数据键值进行处理,得到哈希槽编号;所述路由模块,还用于将所述数据访问请求路由到所述目标数据分区中与所述哈希槽编号对应的Redis节点。可选地,所述确定模块还用于:当监测到数据访问请求时,确定所述数据访问请求中的数据键值;通过所述Redis集群代理组件对所述数据键值进行哈希计算,得到目标哈希值;确定所述目标哈希值在预设的哈希圆环上的位置,并从所述位置开始沿着所述哈希圆环顺时针方向移动,获取首次在所述哈希圆环上遇到的数据分区;判断所述数据分区是否宕机;若所述数据分区宕机,则继续沿着所述哈希圆环顺时针方向移动,将在所述哈希圆环上遇到的未宕机的数据分区确定为目标数据分区;若所述数据分区未宕机,则将所述数据分区确定为目标数据分区。可选地,所述路由模块还用于:通过所述Redis集群代理组件获取数据分区个数,并用所述数据键值对所述数据分区个数取模,得到取模结果;依据所述取模结果确定未宕机的目标数据分区。可选地,所述Redis集群代理组件至少为两个,所述确定模块还用于:当监测到数据访问请求时,将至少两个Redis集群代理组件中的一Redis集群代理组件确定为目标Redis集群代理组件;通过所述目标Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区。可选地,所述确定模块还用于:获取至少两个Redis集群代理组件中各Redis集群代理组件的负载信息;并依据所述负载信息,确定至少两个Redis集群代理组件中各Redis集群代理组件的负载指数;将至少两个Redis集群代理组件中所述负载指数最小的Redis集群代理组件,确定为目标Redis集群代理组件。此外,为实现上述目的,本专利技术还提供一种Redis集群管理设备,所述Redis集群管理设备包括:预设的Redis集群代理组件和多个数据分区,每个数据分区由多个Redis节点组成,还包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的Redis集群管理程序,所述Redis集群管理程序被所述处理器执行时实现如上所述的Redis集群管理方法的步骤。本专利技术还提供一种可读存储介质,所述可读存储介质应用于Redis集群管理设备,所述Redis集群管理设备包括预设的Redis集群代理组件和多个数据分区,每个数据分区由多个Redis节点组成,所述可读存储介质上存储有Redis集群管理程序,所述Redis集群管理程序被处理器执行时实现如上所述的Redis集群管理方法的步骤。本专利技术提供一种Redis集群管理方法、装置、设备及可读存储介质,本专利技术当监测到数据访问请求时,通过Redis集群代理组件和数据访问请求中的数据键值,确定未宕机的目标数据分区,并将该数据访问请求路由到该目标数据分区,且对该数据键值进本文档来自技高网...

【技术保护点】
1.一种缓存数据库Redis集群管理方法,其特征在于,所述Redis集群管理方法应用于Redis集群管理设备,所述Redis集群管理设备包括预设的Redis集群代理组件和多个数据分区,每个数据分区由多个Redis节点组成,所述Redis集群管理方法包括以下步骤:当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区;将所述数据访问请求路由到所述目标数据分区,并对所述数据键值进行处理,得到哈希槽编号;将所述数据访问请求路由到所述目标数据分区中与所述哈希槽编号对应的Redis节点。

【技术特征摘要】
1.一种缓存数据库Redis集群管理方法,其特征在于,所述Redis集群管理方法应用于Redis集群管理设备,所述Redis集群管理设备包括预设的Redis集群代理组件和多个数据分区,每个数据分区由多个Redis节点组成,所述Redis集群管理方法包括以下步骤:当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区;将所述数据访问请求路由到所述目标数据分区,并对所述数据键值进行处理,得到哈希槽编号;将所述数据访问请求路由到所述目标数据分区中与所述哈希槽编号对应的Redis节点。2.如权利要求1所述的Redis集群管理方法,其特征在于,所述当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区的步骤包括:当监测到数据访问请求时,确定所述数据访问请求中的数据键值;通过所述Redis集群代理组件对所述数据键值进行哈希计算,得到目标哈希值;确定所述目标哈希值在预设的哈希圆环上的位置,并从所述位置开始沿着所述哈希圆环顺时针方向移动,获取首次在所述哈希圆环上遇到的数据分区;判断所述数据分区是否宕机;若所述数据分区宕机,则继续沿着所述哈希圆环顺时针方向移动,将在所述哈希圆环上遇到的未宕机的数据分区确定为目标数据分区;若所述数据分区未宕机,则将所述数据分区确定为目标数据分区。3.如权利要求2所述的Redis集群管理方法,其特征在于,所述当监测到数据访问请求时,确定所述数据访问请求中的数据键值的步骤之后,还包括:通过所述Redis集群代理组件获取数据分区个数,并用所述数据键值对所述数据分区个数取模,得到取模结果;依据所述取模结果确定未宕机的目标数据分区。4.如权利要求1所述的Redis集群管理方法,其特征在于,所述Redis集群代理组件至少为两个,当监测到数据访问请求时,通过所述Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区的步骤包括:当监测到数据访问请求时,将至少两个Redis集群代理组件中的一Redis集群代理组件确定为目标Redis集群代理组件;通过所述目标Redis集群代理组件和所述数据访问请求中的数据键值,确定未宕机的目标数据分区。5.如权利要求4所述的Redis集群管理方法,其特征在于,所述将至少两个Redis集群代理组件中的一Redis集群代理组件确定为目标Redis集群代理组件的步骤包括:获取至少两个Redis集群代理组件中各Redis集群代理组件的负载信息;依据所述负载信息,确定至少两个Redis集群代理组件中各Redis集群代理组件的负载指数;将至少两个Redis集群代理组件中所述负载指数最小的Redis集群代理组件,确定为目标Redis集群代理组件。6.一种Re...

【专利技术属性】
技术研发人员:卢道和杨军黎君
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

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

1