[发明专利]过滤式缓存方法及其装置、缓存系统无效
申请号: | 201010569449.1 | 申请日: | 2010-12-01 |
公开(公告)号: | CN102012931A | 公开(公告)日: | 2011-04-13 |
发明(设计)人: | 王红宝 | 申请(专利权)人: | 北京瑞信在线系统技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 隆天国际知识产权代理有限公司 72003 | 代理人: | 张浴月;刘文意 |
地址: | 100007 北京市东城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 过滤 缓存 方法 及其 装置 系统 | ||
技术领域
本发明涉及互联网数据缓存领域,尤其涉及一种过滤式缓存方法及其装置、缓存系统。
背景技术
在互联网应用领域中,数据缓存技术至关重要,尤其是页面数据缓存技术,不仅要保证缓存的简易性,还要保证缓存的性能、可扩展性。互联网缓存技术一般都是通过反向代理方式来实现的。如图1,在反向代理方式中,由代理服务器来接受互联网上的连接请求,然后将请求转发给WEB服务器,并将从WEB服务器上得到的结果返回给互联网上请求连接的客户端,此时代理服务器对互联网提供服务,将WEB服务器屏蔽。反向代理服务器如果发现本地有缓存的数据内容,并且未过期,就不再请求内部网络的WEB服务器了,直接返回给用户,节省了WEB服务器上代码执行和生成页面的时间,因此可以看出反向代理方式存在以下两个问题:
(1)如果增加代理服务器来提高访问效率,必然降低命中率,因为不同的代理服务器缓存的数据在不同的WEB服务器上,如果用户的数据请求(如页面数据请求)对于每个WEB服务器都为首次请求(也即每个WEB服务器上都没有该用户所要请求的缓存数据),那么对于该用户每次的同一个数据请求,该请求每次被随机分配不同的WEB服务器,这时每次不同的代理服务器都需要调用内部网络的WEB服务器,从而降低WEB服务器的命中率。
(2)可缓存的数据量无法通过增加代理服务器来扩展,因为任何一个数据请求都可能访问到任何一台代理服务器,增加可缓存的数据量就需要对每台代理服务器增加存储量,这样就会大大提高了运营的成本,从而使其扩展性比较差。
发明内容
本发明的实施例旨在提供一种过滤式缓存方法及装置,以解决现有技术缓存数据命中率低和扩展性差的问题。
为实现上述目的,本发明的实施例提供一种过滤式缓存方法,包括下述步骤:
S1:根据用户请求,获取用户请求中的key;
S2:根据所述key,选择与该用户请求相应的缓存服务器;
S3:从所述选择的缓存服务器中查询该用户请求的数据,将查找到的数据直接返回给该用户。
根据本发明的一个实施例,所述过滤式缓存方法还包括:
S4:若在所述选择的缓存服务器中查找不到该用户请求的数据,则执行业务逻辑从数据库中查询该用户请求的数据;
S5:根据从数据库中查找到的数据的key,将该查找到的数据缓存到所述选择的缓存服务器中,并将该数据返回给用户。
根据本发明的一个实施例,所述步骤S1中:所述key为用户请求中的网页地址。
根据本发明的一个实施例,所述步骤S2具体为:对所述key进行哈希编码,将生成的哈希码模除缓存服务器的数量,所获得余数为所述与该用户请求相应的缓存服务器的索引号。
相应于本发明的过滤式缓存方法,本发明还提供一种过滤式缓存装置,包括:
key获取模块,用于根据用户请求,获取用户请求中的key;
服务器选择模块,用于根据所述key,选择与该用户请求相应的缓存服务器;
查询模块,用于从所述选择的缓存服务器中查询该用户请求的数据,将查找到的数据直接返回给该用户。
根据本发明的一个实施例,所述过滤式缓存装置还包括:
业务逻辑执行模块,用于在所述选择的缓存服务器中查找不到该用户请求的数据时,从数据库中查询该用户请求的数据;
缓存模块,用于根据从数据库中查找到的数据的key,将该查找到的数据缓存到所述选择的缓存服务器中,并将该数据返回给用户。
为了实现上述过滤式缓存方法,本发明还提供一种缓存系统,包括:至少一个WEB服务器和至少一个缓存服务器;
其中每个WEB服务器,直接接收用户的请求,并根据该用户请求从至少一个缓存服务器中选中一个缓存服务器进行数据的缓存和查询;
其中每个缓存服务器相应于用户请求的key来缓存该用户所请求的数据。
根据本发明的一个实施例,所述缓存系统还包括数据库,其中所述每个WEB服务器根据用户请求,从该数据库中查找该用户请求的数据,并将该数据缓存到所述选择的缓存服务器中。
由上述技术方案可知,本发明的实施例由于取消了代理服务器,直接由WEB服务器直接进行数据的缓存和查询,通过针对用户请求,选中一个缓存服务器,直接在缓存服务器中进行查询和缓存数据,能够提高缓存命中率,并且由于缓存服务器和WEB服务器分离,可以通过增加缓存服务器的数量来扩展缓存容量,提高了容量的扩展性,并降低了运营成本。
附图说明
图1为反向代理方式的系统结构示意图;
图2为本发明的一种实施例的缓存系统结构示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京瑞信在线系统技术有限公司,未经北京瑞信在线系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010569449.1/2.html,转载请声明来源钻瓜专利网。