[发明专利]一种用于读取缓存数据的方法和设备在审
申请号: | 201210256370.2 | 申请日: | 2012-07-17 |
公开(公告)号: | CN103544191A | 公开(公告)日: | 2014-01-29 |
发明(设计)人: | 洪峰 | 申请(专利权)人: | 人人游戏网络科技发展(上海)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 吴立明 |
地址: | 200444 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 读取 缓存 数据 方法 设备 | ||
技术领域
本发明一般地涉及数据处理,尤其涉及一种用于读取缓存数据的方法及其设备。
背景技术
缓存器是指临时文件交换区,计算机把最常用的文件从存储器里提出来临时放在缓存器里,就像把工具和材料搬上工作台一样,这样会比用时现去仓库取更方便。
Memcache是一个高性能的分布式的内存对象缓存系统。Memcache通过在内存里维护一个统一的巨大的hash表,将其用于存储各种格式的数据,包括图像、视频、文件以及数据库检索结果等。简单的说,就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。然而,使用memcache进行缓存存储也存在风险和不足。一方面,由于hash产生的键值较长,从而导致在读取常用数据和不常用数据时获取时间相同,容易造成性能瓶颈;另一方面,由于memcache使用hash进行键值的管理,还存在hash table遭受攻击的风险。
比如,如果在memcache中发生hash碰撞,则其查询效率与链表长度有关。例如,链表长度达到100,则需要查询101次才能查询到该数据。因为hash键列表无法改变,就算该数据经常用到,还是需要查询同样多次,所以读取缓存数据的效率没有提高。
因此,现有的缓存的存储和读取技术未能实现对常用的缓存数据的快速读取。因此,需要一种能解决上述问题的用于读取缓存数据的方法及其设备。
发明内容
本发明旨在解决上述问题。根据本发明的一个方面,提供了一种用于读取缓存数据的方法,该方法能够实现基于缓存数据的使用率来优化键值的快读查找,从而实现数据的快速读取。
该方法可以包括:将与缓存数据关联的键值存入树型查找表;基于对缓存数据的请求,按照从所述树型查找表的根节点向叶节点的顺序,查找与被请求的缓存数据关联的键值;以及基于查找到的键值读取与所述键值关联的缓存数据。其中,基于所述键值的查找率来调整所述键值在所述树型查找表中存储的节点位置。
根据本发明的实施方式,该方法可以包括计算所述被查找到的键值的查找率,所述查找率是所述键值被查找的频率。
根据本发明的实施方式,该方法可以包括计算所述被查找到的键值的查找率,所述查找率是所述键值被查找的频率。
根据本发明的实施方式,该方法可以包括比较所述被查找到的键值的查找率与其存储节点的父节点中的键值的查找率;以及如果被查找到的键值的查找率超过其存储节点的父节点中的键值的查找率第一预定阈值,则交换这两个键值的存储节点位置。
根据本发明的实施方式,该方法可以包括比较所述被查找到的键值的查找次数与其存储节点的父节点中的键值的查找次数;以及如果被查找到的键值的查找次数超过其存储节点的父节点中的键值的查找次数,并且所述被查找到的键值的查找率大于第二预定阈值,则交换这两个键值的存储节点位置。
根据本发明的实施方式,将与缓存数据关联的键值存入树型查找表还包括:当所述树型查找表中每个节点都已经存储键值时,通过将与新的缓存数据关联的键值替换掉所述树型查找表的底层的一个节点中已有的键值来将所述与新的缓存数据关联的键值存入树型查找表
根据本发明的一个方面,提供了一种用于读取缓存数据的设备,包括:存储模块,用于将与缓存数据关联的键值存入树型查找表;查找模块,用于基于对缓存数据的请求,按照从所述树型查找表的根节点向叶节点的顺序,查找与被请求的缓存数据关联的键值;以及读取模块,用于基于查找到的键值读取与所述键值关联的缓存数据。其中,所述设备还可以包括调整模块,用于基于所述键值的查找率来调整所述键值在所述树型查找表中存储的节点位置。
根据本发明的实施方式,该设备还可以包括计算模块,用于计算所述被查找到的键值的查找率,所述查找率是所述键值被查找的频率。
根据本发明的实施方式,该设备还可以包括:比较模块,用于比较所述被查找到的键值的查找率与其存储节点的父节点中的键值的查找率;以及交换模块,用于如果被查找到的键值的查找率超过其存储节点的父节点中的键值的查找率第一预定阈值,则交换这两个键值的存储节点位置。
本发明将缓存数据的键值存储在树型查找表中,对缓存数据的使用率进行使用统计,不断调整缓存数据的键值在属性查找表中的位置,提高了常用缓存数据的获取速度。
附图说明
已经大体上如此描述了本发明,现在将参考附图,附图并非一定是按比例绘制的,并且其中:
图1是根据本发明一个实施方式用于读取缓存数据的方法的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于人人游戏网络科技发展(上海)有限公司,未经人人游戏网络科技发展(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210256370.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置