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