[发明专利]缓存处理方法以及缓存处理系统有效
申请号: | 200610167180.8 | 申请日: | 2006-12-26 |
公开(公告)号: | CN101075241A | 公开(公告)日: | 2007-11-21 |
发明(设计)人: | 王海波 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/08;H04L29/06 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 518044广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 处理 方法 以及 系统 | ||
技术领域
本发明涉及存储技术中的缓存(cache)技术领域,特别是一种缓存处理方法以及一种缓存处理系统。
背景技术
随着互联网技术的发展,大量的网络用户使用浏览器访问互联网上的WEB服务器,用户通常通过超文本传输协议(HTTP)方式向WEB服务器请求一个URL对应的数据文件,WEB服务器通过HTTP协议对用户请求作出应答,返回所请求的数据文件。
随着用户数量的增大,海量的用户访问竞相使用有限的WEB服务器带宽,导致访问速度下降;同时由于互联网上运营商的不同或者地理环境的差异,也会导致部分用户访问WEB服务器的速度很慢。
WEB加速是一种通过点对点(P2P)的方式加速用户访问WEB服务器网页的方法。用户终端缓存最近访问过的WEB服务器的数据文件。其他用户通过P2P的方式从访问过相同WEB服务器数据文件的用户终端那里获取自身需要的数据文件,并且可以同步使用HTTP方式从WEB服务器获取数据,来加速对WEB服务器的访问。
由于WEB访问的数据文件大多数比较小,而且数量比较多,对于这种形式的大量文件进行数据缓存,其并发磁盘访问会导致系统开销较大,从而影响加速效果。同时,由于WEB加速通过P2P的方式来下载cache文件,安全性问题也需要考虑。因此,如何有效地管理缓存成了急需解决的技术问题。
发明内容
有鉴于此,本发明提出了一种缓存处理方法,用以有效管理WEB加速中用户终端的缓存。本发明的另一个目的是提出一种缓存处理系统。
根据上述目的本发明提出了一种缓存处理方法,该方法包括:
A.当需要从网络获取文件时,根据索引在内存缓存模块中查找,如果查找到对应的缓存条目,则读取其中的文件,否则执行步骤B;所述索引是对Web文件的统一资源定位符(URL)进行哈希(HASH)后得到的长度统一的HASH值;
B.根据索引在磁盘缓存模块中查找,如果查找到对应的缓存条目,则在内存缓存模块中构造新的条目,将所述磁盘缓存模块中对应的缓存条目中的文件写入所构造缓存条目中,并读取所述文件,否则执行步骤C;
C.从网络中下载获取所述文件,在内存缓存模块中构造新的缓存条目,并在该缓存条目中写入所述文件;
该方法进一步包括:将内存缓存模块中的缓存条目写入磁盘缓存模块;
当写入大小小于设定阈值的小文件时,将其写入所包含小文件的大小类别与所要写入的小文件相同且具有足够空间的大文件或将其写入创建的大文件;
当删除所述小文件时,从其所在的大文件中删除该小文件,并且当所述大文件中没有小文件时,删除所述大文件;
当读取所述小文件时,从其所在的大文件中读取该小文件。
步骤B和步骤C中在内存缓存模块中构造新的缓存条目之前进一步包括判断内存缓存模块是否已满的步骤,如果是,则删除内存缓存模块中最久没有读取的缓存条目,然后执行构造;否则,直接执行构造。
在删除内存缓存模块中所述缓存条目的同时将其写入磁盘缓存模块。
所述将内存缓存模块中的缓存条目写入磁盘缓存模块为:将内存缓存模块中最久没有被访问的缓存条目写入磁盘缓存模块。
在写入磁盘缓存模块之前进一步包括判断磁盘缓存模块是否已满的步骤,如果是,则删除磁盘缓存模块中最久没有被修改的缓存条目,然后执行写入;否则直接执行写入。
所述在缓存条目中写入文件的步骤包括:获取缓存条目的当前访问状态,当缓存条目的当前访问状态是写方式或读方式时,禁止写入;当缓存条目的当前访问状态是没有用户访问时,在该缓存条目中写入文件,并记录缓存条目的当前状态为写方式;在写入结束之后,记录缓存的当前状态为没有用户访问。
读取缓存条目中的文件的步骤包括:获取缓存条目的当前访问状态,当缓存条目的当前访问状态是写方式时,禁止读取;当缓存条目的当前访问状态是读方式或没有用户访问时,读取缓存条目中的文件,并将缓存条目的读用户数加1;在读取结束之后,当缓存条目的读用户数为0时,记录缓存条目的当前状态为没有用户访问。
该方法进一步包括:从磁盘缓存模块中获取缓存条目时,读取其中文件的HASH值,并计算所读取的文件的HASH值,如果两个HASH值相同,则认证所述文件为合法,否则认证所述文件为不合法;和/或,认证通过HTTP方式下载的文件为合法;和/或,部分或者全部通过P2P方式下载文件时,下载对应的HASH值,并计算所下载的文件的HASH值,如果两个HASH值相同,则认证所述文件为合法,否则认证所述文件为不合法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610167180.8/2.html,转载请声明来源钻瓜专利网。