公开/公告号CN102831181A
专利类型发明专利
公开/公告日2012-12-19
原文格式PDF
申请/专利权人 北京光泽时代通信技术有限公司;
申请/专利号CN201210270668.9
发明设计人 邱然;
申请日2012-07-31
分类号G06F17/30(20060101);
代理机构11403 北京风雅颂专利代理有限公司;
代理人李弘
地址 100070 北京市丰台区总部基地一区8号楼4层
入库时间 2023-12-18 07:46:04
法律状态公告日
法律状态信息
法律状态
2018-08-07
专利权的转移 IPC(主分类):G06F17/30 登记生效日:20180718 变更前: 变更后: 申请日:20120731
专利申请权、专利权的转移
2014-10-01
授权
授权
2013-02-06
实质审查的生效 IPC(主分类):G06F17/30 申请日:20120731
实质审查的生效
2012-12-19
公开
公开
技术领域
本发明涉及网络通信技术领域,特别是指一种缓存文件的目录刷新方法 及采用该方法的代理缓存服务器。
背景技术
在服务移动反向代理业务时,用户访问的网站数量会非常庞大,进而导 致需要缓存的统一资源定位符(URL,Uniform/Universal Resource Locator) 数量更加庞大,达到数千万的级别。
而在中国,移动业务对于内容的管理要求非常高。经常会有限期删除某 个网站或者某个目录的要求。因此,对于服务移动反向代理的服务器来说, 需要一个稳定、快速的目录刷新功能(即:找到属于某一个目录的所有统一 资源定位符,并全部删除)。
代理缓存服务器在保存统一资源定位符与缓存文件的对应关系时,通常 都不会按照统一资源定位符的本身的目录结构来保存,而是按照这个网页缓 存(web cache)软件本身的规则来将文件保存到不同的目录中。
但是这样做会造成一个后果,就是如果要进行目录刷新就会非常困难。 必须遍历所有已经缓存的文件,找到其统一资源定位符中包含的需要刷新的 目录。通常代理服务器缓存的统一资源定位符数量都在千万级别,这样做对 服务器的性能有非常严重的影响。
发明内容
有鉴于此,本发明的目的在于提出一种缓存文件的目录刷新方法及采用 该方法的代理缓存服务器,能够有效刷新缓存文件目录。
基于上述目的本发明提供的一种缓存文件的目录刷新方法,包括:
对日志文件夹中的缓存文件进行排序;
将排序完成的日志文件夹合并到数据库文件夹;
将所述数据库文件夹平均分为N个子数据库,从第1子数据库到第N-1 数据库中各抽取第i个缓存文件作为缓存文件样本,将所有缓存文件样本保 存在索引文件夹里;
在索引文件夹中找出需要刷新的目录中的目标缓存文件,并找到该目标 缓存文件在数据库文件夹中的所处位置;
从该目标缓存文件在数据库文件夹中的所处位置起,遍历数据库文件 夹,当缓存文件符合需要刷新的目录中的目标缓存文件之一时,删除该缓存 文件;
当缓存文件不符合需要刷新的目录中的任一目标缓存文件时,则结束。
在一个实施例中,所述缓存文件的目录刷新方法还包括:将代理缓存服 务器即时产生的缓存文件保存到该日志文件夹。
在另一个实施例中,所述缓存文件的目录刷新方法还包括:设定日志文 件夹的缓存文件数目上限值,当日志文件夹的缓存文件数目增长到该上限值 时,则对日志文件夹中的缓存文件进行排序。
在另一个实施例中,缓存文件数目上限值小于等于10000。
在另一个实施例中,所述排序完成的日志文件夹与所述数据库文件夹之 间的合并算法采用归并排序算法。
在另一个实施例中,所述日志文件夹的排序方法包括:
假设有2个缓存文件,名称分别为A和B,LenA=A的长度,LenB=B 的长度,设LenA≤LenB;
设置循环数i从1循环到LenA,依次一一对比A和B的第i个字符,当 A的第n个字符的ASCII码小于B的第n个字符的ASCII码时,认为A应该 排在B前面;反之,当B的第n个字符的ASCII码小于A的第n个字符的 ASCII码时,认为B应该排在A前面;
当循环到LenA时,A和B的每个对应位置上所有字符都相等,那么, 较短的A则排在较长的B前面;如果A和B完全相等,则在日志文件夹与 数据库文件夹进行合并时,任取其中之一放入数据库文件夹。
在另一个实施例中,所述子数据库的个数N取值为128。
在另一个实施例中,所抽取的第i个缓存文件为该子数据库的最后一个 缓存文件,使得所抽取的样本缓存文件分别位于整个数据库文件夹中的第 1/N、2/N……(N-1)/N处。
本发明还提供了采用上述缓存文件的目录刷新方法的代理缓存服务器, 包括:用于存储所述代理缓存服务器产生的即时缓存文件的日志文件夹模 块,用于存储所述代理缓存服务器产生的历史缓存文件的数据库文件夹模 块,用于对数据库文件夹中的历史缓存文件进行索引的索引文件夹模块。
从上面所述可以看出,本发明提供的一种缓存文件的目录刷新方法及采 用该方法的代理缓存服务器,通过增设日志文件夹和索引文件夹,能够随时 将代理服务器即时产生的缓存文件保存下来,并且通过索引算法在短时间内 找到需要删除的目标缓存文件。
附图说明
图1为本发明所提供的一种缓存文件的目录刷新方法的实施例流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施 例,并参照附图,对本发明进一步详细说明。
参考图1,为本发明所提供的一种缓存文件的目录刷新方法的实施例流 程图。
所述的一种缓存文件的目录刷新方法包括以下步骤:
步骤1:对日志文件夹中的缓存文件进行排序;
步骤2:将排序完成的日志文件夹合并到数据库文件夹;
步骤3:将所述数据库文件夹平均分为N个子数据库,从第1子数据库 到第N-1数据库中各抽取第i个缓存文件作为缓存文件样本,将所有缓存文 件样本保存在索引文件夹里;
步骤4:在索引文件夹中找出需要刷新的目录中的目标缓存文件,并找 到该目标缓存文件在数据库文件夹中的所处位置;
步骤5:从该目标缓存文件在数据库文件夹中的所处位置起,遍历数据 库文件夹,当缓存文件符合需要刷新的目录中的目标缓存文件之一时,删除 该缓存文件;
步骤6:当缓存文件不符合需要刷新的目录中的任一目标缓存文件时, 则结束。
其中,还包括初始化步骤:在代理缓存服务器中建立日志文件夹,并将 代理缓存服务器即时产生的缓存文件保存到该日志文件夹。
所述日志文件夹的排序方法为:
假设有2个缓存文件,名称分别为A和B,LenA=A的长度,LenB=B 的长度,不妨设LenA≤LenB;
设置循环数i从1循环到LenA,依次一一对比A和B的第i个字符,当 A的第n个字符的ASCII码小于B的第n个字符的ASCII码时,认为A应该 排在B前面;反之,当B的第n个字符的ASCII码小于A的第n个字符的 ASCII码时,认为B应该排在A前面;
当循环到LenA时,A和B的每个对应位置上所有字符都相等,那么, 较短的A则排在较长的B前面;如果A和B完全相等,则在日志文件夹与 数据库文件夹进行合并时,任取其中之一放入数据库文件夹。
根据以上所述可以看出,在代理缓存服务器中增加设置一个日志文件夹 和一个索引文件夹,能够随时将代理缓存服务器中即时产生的缓存文件保存 下来,并且采用索引算法通过索引文件夹在几毫秒之内就能找到数据库文件 夹中所需要删除的目标缓存文件,同时有效、稳定、快速地删除该目标缓存 文件。
优选的,所述步骤1还包括:设定日志文件夹的缓存文件数目上限值, 当日志文件夹的缓存文件数目增长到该上限值时,则对日志文件夹中的缓存 文件进行排序。
优选的,所述上限值小于等于10000;由于这个上限值很小,则排序速 度很快。
另外,由于数据库文件夹是由历史上每一次的日志文件夹积累起来的, 虽然可能有上千万条记录,但它始终是有序的。并且所述排序完成的日志文 件夹与所述数据库文件夹之间的合并算法采用归并排序算法。
优选的,所述子数据库的个数N取值为128,这样一来,索引文件夹不 会过大,又不会由于索引条数过少导致查完索引后在数据库文件夹中顺序搜 索的时间过长。
特别地,所抽取的第i个缓存文件为子数据库的最后一个缓存文件,使 得所抽取的样本缓存文件分别位于整个数据库文件夹中的第1/N、2/N…… (N-1)/N处;这样便减少了顺序搜素数据库文件夹的过程。
本发明还公开了一种采用上述的缓存文件的目录刷新方法的任意组合的 代理缓存服务器,包括:用于存储所述代理缓存服务器产生的即时缓存文件 的日志文件夹模块,用于存储所述代理缓存服务器产生的历史缓存文件的数 据库文件夹模块,用于对数据库文件夹中的历史缓存文件进行索引的索引文 件夹模块。
较佳的,所述索引文件夹模块中的索引文件夹的建立的方法为:将所述 数据库文件夹平均分为N个子数据库,从第1子数据库到第N-1数据库中各 抽取第i个缓存文件作为缓存文件样本,将所有缓存文件样本保存在索引文 件夹里。
优选的,所述子数据库的个数N取值为128,这样一来,索引文件夹不 会过大,又不会由于索引条数过少导致查完索引后在数据库文件夹中顺序搜 索的时间过长。
特别地,所抽取的第i个缓存文件为子数据库的最后一个缓存文件,使 得所抽取的样本缓存文件分别位于整个数据库文件夹中的第1/N、2/N…… (N-1)/N处;这样便减少了顺序搜素数据库文件夹的过程。
特别的,还可以设定所述日志文件夹模块中日志文件夹的缓存文件数目 上限值,当日志文件夹的缓存文件数目增长到该上限值时,则对日志文件夹 中的缓存文件进行排序;优选的,所述缓存文件数目上限值小于等于 10000。
其中,优选的,所述排序完成的日志文件夹与所述数据库文件夹之间的 合并算法采用归并排序算法。
根据以上所述可以看出,所述代理缓存服务器中增加设置一个日志文件 夹和一个索引文件夹,能够随时将代理缓存服务器中即时产生的缓存文件保 存下来,并且采用索引算法通过索引文件夹在几毫秒之内就能找到数据库文 件夹中所需要删除的目标缓存文件,同时有效、稳定、快速地删除该目标缓 存文件。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例 而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 刷新代理缓存服务器对象的系统和方法
机译: 刷新代理缓存服务器对象的系统和方法
机译: 代理缓存服务器的控制方法和代理缓存服务器