[发明专利]一种基于元数据管理的分布式缓存客户端有效
申请号: | 201210205264.1 | 申请日: | 2012-06-20 |
公开(公告)号: | CN102724314A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 高正 | 申请(专利权)人: | 深圳市远行科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518057 广东省深圳市南山区高新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据管理 分布式 缓存 客户端 | ||
技术领域
本发明涉及一种计算机领域,特别是涉及一种基于元数据管理的分布式缓存客户端。
背景技术
分布式,是指在核心系统外部,通过一个集群方式实现的某项功能。Memcached是目前使用范围最广泛的一个分布式缓存实现。Memcached尽管是“分布式”的缓存服务器,但服务器端并没有分布式功能。各个Memcached节点间不会互相通信以共享信息,对分布式的支持完全取决于客户端的实现。
目前的Memcache客户端,一般通过资源池的方式实现分布式,资源调度算法主要有“余数计算法”和“一致哈希计算法”,采用“余数计算法”的客户端,在缓存服务器数目有变化时,会引发大面积的缓存重组,严重影响缓存命中率。而“一致哈希计算法”的复杂度高于“余数计算法”,在缓存服务器数目变化时,影响面积小于“余数计算法”,但也同样会产生缓存重组,降低缓存命中率。另外,目前的Memcache客户端实现均不支持副本功能。
所以,有必要提出一种新的技术,以解决在分布式缓存的环境中,当缓存节点(服务器)数目有变化,或者某些缓存节点失效的情况下,所引起的缓存重组、命中率大幅度降低,以及客户端实现均不支持副本功能的问题。
发明内容
本发明的目的在于提供一种基于元数据管理的分布式缓存客户端,采用元数据存储的方式实现Memcached客户端,可以解决在分布式缓存的环境中,当缓存节点数目有变化,或者某些缓存节点失效的情况下所引起的缓存重组、命中率大幅度降低,以及客户端不支持副本功能的问题。
为了解决以下技术问题,本发明提供一种基于元数据管理的分布式缓存客户端,包括:元数据管理模块、心跳服务模块、负载均衡模块,
所述元数据管理模块,用于提供元数据支持,并对元数据进行管理;
所述心跳服务模块,用于向缓存节点发送心跳消息,并记录存储其响应时间到元数据中;
所述负载均衡模块,根据元数据中存储的缓存节点存储情况以及心跳服务模块提供的缓存节点响应时间,确定最优缓存节点,再从该最优缓存节点下载缓存数据。
进一步地,所述心跳服务模块向缓存节点发送心跳消息,如果该缓存节点在多次心跳后均无响应,则认为该缓存节点失效,从缓存节点元数据中移除该缓存节点。
进一步地,所述缓存客户端还进一步包括:副本管理模块,用于在某个缓存节点存在大并发用户访问时,对其缓存数据建立副本。
进一步地,所述副本管理模块建立副本过程如下:将缓存数据从主节点,按照负载均衡算法计算出一系列副本节点,以异步形式将缓存数据从主节点复制到多个副本节点上,同时将副本的位置信息记录到元数据中。
进一步地,所述负载均衡模块包括:放置缓存子模块与下载缓存子模块,所述放置缓存子模块,用于从存储的元数据中确定出最优缓存节点;所述下载缓存子模块,用于从最优缓存节点的存储位置下载缓存数据。
进一步地,所述放置缓存子模块确定出最优缓存节点的方法是:当缓存数据没有副本时,根据元数据中存储的缓存节点存储情况以及响应时间,确定最优缓存节点;当缓存数据有副本时,用户的请求在缓存主体创建完成后即返回,再排除掉主体所在缓存节点,根据元数据中存储的缓存节点存储情况以及响应时间,逐一确定副本所在的最优缓存节点,副本数据的创建是以异步方式进行。
进一步地,所述缓存客户端还进一步包括:失效管理模块,用于在缓存数据失效时清理客户端的元数据。
进一步地,所述失效管理模块采用优先队列来记录所有缓存数据的失效时间信息,在失效时间到后,自动清理掉缓存数据。
与现有技术相比,本发明提供一种基于元数据管理的分布式缓存客户端,采用元数据存储的方式实现Memcached客户端,提供细粒度的调度算法,精确控制缓存数据的分布,并可对缓存服务器的状态进行监控。支持通过缓存服务器响应时间、剩余空间等多个参数计算缓存分布。此外,本发明采用缓存副本,副本在第一个缓存数据创建后,通过异步方式在多个节点间复制,多副本缓存可在用户并发访问时提供更高的性能,在缓存服务器数目有变化时,不会产生缓存重组现象,在缓存服务器集群中某些节点宕机时,用户可从副本节点获取缓存,不影响缓存命中率;在有用户并发访问的情况下,客户可将请求中转到多个副本服务器,减低单点并发所产生的IO瓶颈。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市远行科技有限公司,未经深圳市远行科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210205264.1/2.html,转载请声明来源钻瓜专利网。