[发明专利]更新key-value分布式存储系统缓存的方法无效

专利信息
申请号: 201210378040.0 申请日: 2012-09-29
公开(公告)号: CN102867070A 公开(公告)日: 2013-01-09
发明(设计)人: 宋武斌;胡志明;张尔宁 申请(专利权)人: 瑞庭网络技术(上海)有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 上海浦一知识产权代理有限公司 31211 代理人: 丁纪铁
地址: 200120 上海市浦东新*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 更新 key value 分布式 存储系统 缓存 方法
【说明书】:

技术领域

发明涉及计算机领域,特别是涉及一种更新key-value分布式存储系统缓存的方法。

背景技术

随着互联网的飞速发展,使用网络的人也越来越多,如何快速响应用户的请求已经是各个互联网公司争取用户的最重要的手段之一。例如一个网站提供的内容很好,很有价值,但是用户每次访问都要等待几十秒钟,那么时间长了用户肯定会流失。解决快速响应的最核心的技术点就是如何高效的利用缓存,因为相对于从关系数据库查询来说,直接从缓存取数据要快的多,通常从缓存中取数据最少要比从关系数据库中取数据要快10倍以上,而且可以支持更大的并发访问量。

关系数据库:以下简称数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。目前主流的关系数据库有oracle、SQL、access、db2、sqlserver,sybase等。一个关系数据库是包含进入预先定义的种类之内的一组表格。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据种类。每行包含一个唯一的数据实体,这些数据是被列定义的种类。举例来说,典型的商业订单条目数据库会包括一个用列表示的描述一个客户信息的表格:名字、住址、电话号码,等等。另外的一个表格会描述一个订单:产品、客户、日期、销售价格,等等。数据库的一个使用者可以获得适合了该使用者的需要的数据库的观点。举例来说,一位分公司办公室经理可能喜欢在一个特定的日期之后已经买产品的所有客户的一项观点或报告。同一家公司的财务服务经理可能从相同的表格获得关于需要被支付的帐户的报告。关系数据库的优点很明显,就是功能强大,可以按照各种条件筛选,缺点也很明显,当同时访问超过1000个的时候,性能就变得很低。

缓存:这里说的缓存是指基于key-value的分布式存储方案,key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。如果辅以Real-Time Search Engine(实时搜索引擎)进行复杂条件检索、全文检索,就可以替代并发性能较低的MySQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数量的目的。以MemcacheDB、Tokyo Tyrant为代表的key-value分布式存储,在上万并发连接下,轻松地完成高速查询。而MySQL,在几百个并发连接下,就基本上崩溃了。

现在互联网公司基本都认识到关系数据库已经成为网站做大最强的瓶颈,一般也都会使用缓存保存从数据库中查询到的结果,以满足更大的并发量。但是一般都会有二个问题,第一,在某个表没有更新时可以支持很大的访问量,但是当表有更新的时候,由于不能精确的删除相关的缓存,只能将整个表的缓存都清空掉,这样虽然下次缓存数据和数据库保持一致了,但是缓存清空的瞬间,数据库的压力立即变大,系统很可能会崩溃。第二,针对前一种情况,将缓存保持的时间比较短一些,有数据更新的时候,不用清除整表的缓存,等着它自然过期,这样的好处是数据的压力不会突然增大,但是缺点也是显而易见的,就是新的数据不能被用户实时的看见。

发明内容

本发明要解决的技术问题是提供一种更新key-value分布式存储系统缓存的方法,使缓存能持久保持的同时在数据更新的时候相关的缓存能立即被清除掉,能保证用户看到的数据是最新的。

为解决上述技术问题,本发明更新key-value分布式存储系统缓存的方法,包括:

(1)发起查询操作,为每一个表分配一列名,该关键字代表本次查询,用于从key-value系统中检查是否有缓存的数据;

不存在所述关键字对应缓存的数据,查询数据库保存结果S,若存在对应的缓存,那么直接返回结果S;

(2)利用查询操作使用所述关键字key,将返回的结果S放到key-value系统中,记录步骤(1)中关键字对应的值value为S;

(3)查询操作根据所述列名构建关键字组keygroup,用于保存步骤(1)中的关键字key;

(4)将关键字登记到关键字组对应的值value中;

(5)返回结果S;

(6)发起更新操作,更新数据库;

(7)更新操作根据更新条件采用与步骤(3)中相同的算法构建关键字组;

(8)根据该关键组keygroup在缓存中查询是否有对应的值value,若存在对应的值则在key-value系统中删除对应值,完成更新;若不存在对应的值结束,无更新。

其中,实施步骤(1)采用算法“前缀_表名_SQL条件”构建关键字key。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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