[发明专利]一种对缓存数据的操作方法和装置有效

专利信息
申请号: 201210407457.5 申请日: 2012-10-23
公开(公告)号: CN103019956A 公开(公告)日: 2013-04-03
发明(设计)人: 杨帆 申请(专利权)人: 北京奇虎科技有限公司;奇智软件(北京)有限公司
主分类号: G06F12/08 分类号: G06F12/08
代理公司: 中科专利商标代理有限责任公司 11021 代理人: 宋焰琴
地址: 100088 北京市西城区新*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 缓存 数据 操作方法 装置
【说明书】:

技术领域

发明涉及数据通信技术领域,具体涉及一种对缓存数据的操作方法和装置。

背景技术

目前许多大型的互联网产品和服务,已经越来越多的使用缓存技术。网站的技术人员,通常会把用户访问的热点数据,放在内存中进行缓存。当其他用户访问相同的数据时,可以直接从内存中读取,并将读取到的数据返回给用户,以避免从数据库或者磁盘等慢速设备中查找。

虽然许多缓存类的设备已经被广泛使用,但是大部分的缓存设备在存储空间不够时,都需要向操作系统重新申请一块更大空间的内存,同时释放旧的内存区域,以向这个新的内存空间中迁移或填充数据。但是这样的做法,很容易对上层应用程序带来一定的“颠簸”,即在内存扩容的时间点上,使得缓存数据全部失效,而此时所有的用户访问,都必须去数据库或者磁盘上寻找数据,从而增加了用户访问的响应时间,同时使得磁盘的访问压力瞬间过大。

本发明针对现有缓存设备在缓存扩容时出现的上述问题,提出了一种解决方案,即通过分时移动数据的策略,将当前内存空间中的数据平滑地迁移至另一内存空间中。这样既能满足缓存容量扩充的需求,又可以保证在内存扩容期间,用户能够正常地访问缓存数据;同时可以在数据流量高峰时,减轻数据库或磁盘的压力,进而增加整体服务的稳定性。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的对缓存数据进行操作的方法和装置,本发明在每次对缓存进行扩容时,不立即释放当前内存空间,而是按照一定的时间间隔(比如每隔100毫秒),缓慢的把当前内存空间的数据迁移到另一内存空间,待全部数据迁移完成后,再释放当前内存空间。

依据本发明的一个方面,提供了一种对缓存数据进行操作的方法,包括:

若第一内存空间中的数据已经写满,则判断所述第一内存空间是否为空,若否,则从所述第一内存空间中取出位于起始位置的数据,直至取出所述第一内存空间中的所有数据;若是,则释放所述第一内存空间;

对从所述第一内存空间中取出的数据进行哈希操作,得到所述数据在第二内存空间中的存储地址,将所述数据写入到所述第二内存空间的该存储地址上。

可选地,所述第二内存空间的容量大于所述第一内存空间的容量。

可选地,在所述第一内存空间被写满后,为所述第一内存空间设置一标志位以标识所述第一内存空间正在扩容中。

可选地,当第一内存空间中的数据已经写满时,每隔一时间间隔判断所述第一内存空间是否为空。

可选地,将数据存储到所述第二内存空间中后,将所述第一内存空间中的该数据删除。

可选地,在内存空间缓存的数据迁移的过程中,若用户对缓存在内存空间中的数据进行访问,则先向所述第一内存空间发送读数据请求,读取失败时,再向所述第二内存空间发送读数据请求。

根据本发明的另一方面,提供了一种对缓存数据进行操作的装置,包括:

判断子装置,适于当第一内存空间中的数据已经写满时,判断所述第一内存空间是否为空;

读取子装置,适于在所述第一内存空间不为空时,从所述第一内存空间中取出位于起始位置的数据,直至取出所述第一内存空间中的所有数据;

释放子装置,适于在所述第一内存空间为空时,释放所述第一内存空间;

处理子装置,适于对从所述第一内存空间中取出的数据进行哈希操作,得到所述数据在第二内存空间中的存储地址;

写入子装置,适于将从所述第一内存空间中取出的数据写入到所述第二内存空间的该存储地址上。

可选地,所述第二内存空间的容量大于所述第一内存空间的容量。

可选地,还包括标识子装置,适于在所述第一内存空间被写满后,为所述第一内存空间设置一标志位以标识所述第一内存空间正在扩容中。

可选地,所述判断子装置当第一内存空间中的数据已经写满时,每隔一时间间隔判断所述第一内存空间是否为空。

可选地,还包括删除子装置,适于在将数据存储到所述第二内存空间中后,将所述第一内存空间中的该数据删除。

可选地,还包括控制子装置,适于在内存空间缓存的数据迁移的过程中,若用户对缓存在内存空间中的数据进行访问,则控制先向所述第一内存空间发送读数据请求,读取失败时,再向所述第二内存空间发送读数据请求。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210407457.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top