[发明专利]一种分布式缓存方法及系统有效
| 申请号: | 201511010950.3 | 申请日: | 2015-12-30 |
| 公开(公告)号: | CN105577806B | 公开(公告)日: | 2019-11-12 |
| 发明(设计)人: | 廖冬生 | 申请(专利权)人: | TCL集团股份有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08 |
| 代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文;刘文求 |
| 地址: | 516006 广东省*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 缓存 方法 系统 | ||
本发明公开了一种分布式缓存方法及系统,通过根据关键字值的取值范围对缓存数据进行分组,获得若干个缓存数据的分组,每个分组对应关联至少一缓存服务器;根据待缓存数据的关键字值所属取值范围查找匹配的分组,将所述关键字值对该分组关联的所有缓存服务器数量进行取模运算,找到匹配的缓存服务器并对应存储所述待缓存数据;能够任意水平扩容,扩容方便,集群数据能均衡分布,带来了大大的方便。
技术领域
本发明涉及缓存技术领域,尤其涉及的是一种分布式缓存方法及系统。
背景技术
缓存的概念来源于操作系统,CPU需要通过指令实现内存与寄存器之间的交互,为加快处理速度,会将需要执行指令需要的一些数据先在寄存器中缓存起来,而不是每次都去内存读写。而对于企业应用来说,通常需要在内存与硬盘之间进行数据交互,对于一些频繁使用的用户信息数据,通常会将其加载到内存,作为一个缓存,或者弄一个单独的服务器作为缓存节点,从而可以提升效率和减少对底层资源的耗时操作。但是对于大型互联网应用来说,高峰访问量上百万的并发读写数据请求,往往会超出单台服务器的承受能力,此时将会需要一个分布式的缓存服务器集群来支撑,由此,开发人员将面临负载均衡和扩容等难题。
对于分布式的负载均衡,有些为了简单,直接采用缓存数据的Key(关键字)值对机器数量取模运算来保证数据负载均衡,但为了保证扩容后旧数据的尽量少地发生数据迁移(也就是指数据从一台缓存服务器迁移到另一台缓存服务器),往往需要采用成倍扩容的方式来解决(成倍扩容是指服务器数量以2的次幂来扩容),这样很容易造成机器资源浪费;或者采用一致性哈希算法来实现,但其在解决集群数据分布不均的问题上过于复杂。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,提供一种分布式缓存方法及系统,旨在解决现有技术中集群数据分布不均,扩容不方便的问题。
本发明解决技术问题所采用的技术方案如下:
一种分布式缓存方法,其中,包括:
A、根据关键字值的取值范围对缓存数据进行分组,获得若干个缓存数据的分组,每个分组对应关联至少一缓存服务器;
B、根据待缓存数据的关键字值所属取值范围查找匹配的分组,将所述关键字值对该分组关联的所有缓存服务器数量进行取模运算,找到匹配的缓存服务器并对应存储所述待缓存数据。
所述的分布式缓存方法,其中,所述步骤A具体包括:
A1、基于缓存数据的关键字值的取值范围将所述缓存数据划分为多个分组,每个分组对应一个取值范围,且每个分组对应关联至少一台缓存服务器,根据不同分组对应的取值范围及缓存服务器得到相应的配置表。
所述的分布式缓存方法,其中,所述步骤B具体包括:
B11、外观服务器接收负载均衡器分配的待缓存数据的读写请求;
B12、根据所述读写请求的关键字值及所述配置表中的分组信息找到相应匹配的分组;
B13、根据所述读写请求的关键字值对该分组当前所具有的缓存服务器数量进行取模,找到对应的缓存服务器并完成待缓存数据的读写请求。
所述的分布式缓存方法,其中,在所述步骤B之后,还包括:
C1、当缓存服务器的容量达到限制时,添加新扩容的缓存服务器,将新扩容的缓存服务器分配到新的分组中,并对应修改所述配置表的分组信息;
或C2、当缓存服务器的容量达到限制时,将新扩容的缓存服务器分配到原有分组中,并对应修改所述配置表的分组信息。
所述的分布式缓存方法,其中,所述步骤B具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL集团股份有限公司,未经TCL集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511010950.3/2.html,转载请声明来源钻瓜专利网。





