[发明专利]一种文件缓存方法、装置和系统在审
申请号: | 201210272276.6 | 申请日: | 2012-08-02 |
公开(公告)号: | CN103581051A | 公开(公告)日: | 2014-02-12 |
发明(设计)人: | 冯锋 | 申请(专利权)人: | 深圳市腾讯计算机系统有限公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;H04L29/08 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 张玉波;宋志强 |
地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 缓存 方法 装置 系统 | ||
技术领域
本申请涉及互联网技术领域,尤其涉及一种文件缓存方法、装置和系统。
背景技术
在内容发布系统中,文件一般会分布式地存储在多台存储设备上,当用户访问接入服务器时,接入服务器会从后台的存储设备中获取文件数据返回给用户。如果某个剧集正在热播、某个名人上传了视频、或者有重要新闻发布的时候,一个或多个文件就会有很高的关注度,导致在接入服务器上访问的频率非常高,这样就形成了热点文件。对于这些热点文件,如果接入服务器每次都需要重新从后台存储设备中获取文件数据,将给后台的存储设备带来巨大的压力。
目前,通过在接入服务器中设置缓存模块缓存热点文件来解决上述问题。
具体地,目前在接入服务器中缓存热点文件的方法为:判断文件的访问次数是否高于预设阈值,如果是,则将该文件记录为热点文件,否则,确定该文件不是热点文件,然后按照热点文件的访问次数由高到低的顺序,依次将各个热点文件缓存到所述缓存模块中,直至缓存模块中无法容纳下一热点文件为止。
可见,目前仅仅根据文件的访问次数来确定是否缓存该文件,方法过于简单,常常会导致缓存模块的利用率较低。
例如,假设缓存模块的容量是20M,当前访问次数最高的3个文件分别为:文件A,大小是15M,访问次数是20次;文件B,大小是12M,访问次数是15次;文件C,大小是7M,访问次数是10次。按照目前的方法,在缓存模块中将仅能缓存文件A,则缓存模块中有5M的空间没有得到利用,其能够减少对后台存储设备的访问次数也仅为20次,而如果将文件B和文件C缓存在缓存模块中,该缓存模块中将仅有1M的空间空闲,并且能够减少对后台存储设备的访问次数也将达到25次。
发明内容
本申请提供了一种文件缓存方法和装置,能够提高缓存模块的利用率。
一种文件缓存方法,该方法包括:
根据缓存模块的存储空间容量,遍历占用的存储空间容量之和不大于缓存模块的存储空间容量的文件集合,
比较遍历到的各个文件集合的访问次数之和、和/或访问流量之和,根据比较结果选出访问次数之和最大、或者访问流量之和最大、或者访问次数之和与访问流量之加权和最大的最优文件集合;
将所述最优文件集合中的各个文件存储在所述缓存模块中。
一种文件缓存装置,该装置包括选择模块和写入模块;
所述选择模块,用于根据缓存模块的存储空间容量,遍历占用的存储空间容量之和不大于缓存模块的存储空间容量的文件集合,比较遍历到的各个文件集合的访问次数之和、和/或访问流量之和,根据比较结果选出访问次数之和最大、或者访问流量之和最大、或者访问次数之和与访问流量之和的加权和最大的最优文件集合;
所述写入模块,将所述最优文件集合中的各个文件存储在所述缓存模块中。
一种系统,包括存储设备、接入服务器和客户端,
所述存储设备,用于存储文件;
所述接入服务器,用于根据其缓存模块的存储空间容量,遍历占用的存储空间容量之和不大于缓存模块的存储空间容量的文件集合,比较遍历到的各个文件集合的访问次数之和、和/或访问流量之和,根据比较结果选出访问次数之和最大、或者访问流量之和最大、或者访问次数之和与访问流量之加权和最大的最优文件集合;将存储设备中的所述最优文件集合中的各个文件存储在所述缓存模块中;
所述客户端从所述接入服务器的所述缓存模块中读取其缓存的文件。
由上述方案可见,本申请在确定需要将哪些文件存储在缓存模块中时,不是仅仅根据文件的访问次数来确定是否缓存该文件,而是综合考虑缓存模块的存储空间容量和文件自身的访问次数和/或访问容量,从而使得在选出的若干个文件占用的存储空间不大于缓存模块的存储空间的前提下,该若干个文件的访问次数之和、和/或访问流量之和能够满足预定条件,由于考虑的因素较为全面,因此,能够提高缓存模块的利用率。
附图说明
图1是本发明提供的文件缓存方法流程图。
图2是本发明提供的选择文件集合的第一方法流程图。
图3是本发明提供的选择文件集合的第二方法流程图。
图4是本发明提供的文件缓存装置结构图。
具体实施方式
图1是本发明提供的文件缓存方法流程图。
如图1所示,该方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市腾讯计算机系统有限公司,未经深圳市腾讯计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210272276.6/2.html,转载请声明来源钻瓜专利网。