本发明专利技术公开了一种缓存文件的目录刷新方法,包括:对日志文件夹中的缓存文件进行排序;将排序完成的日志文件夹合并到数据库文件夹;将所述数据库文件夹平均分为N个子数据库,从第1子数据库到第N-1数据库中各抽取第i个缓存文件作为缓存文件样本,将所有缓存文件样本保存在索引文件夹里;在索引文件夹中找出需要刷新的目录中的目标缓存文件,并找到该目标缓存文件在数据库文件夹中的所处位置;从该目标缓存文件在数据库文件夹中的所处位置起,遍历数据库文件夹,当缓存文件符合需要刷新的目录中的目标缓存文件之一时,删除该缓存文件;当缓存文件不符合需要刷新的目录中的任一目标缓存文件时,则结束;本发明专利技术还公开了一种代理缓存服务器。
【技术实现步骤摘要】
本专利技术涉及网络通信
,特别是指一种缓存文件的目录刷新方法及采用该方法的代理缓存服务器。
技术介绍
在服务移动反向代理业务时,用户访问的网站数量会非常庞大,进而导致需要缓存的统一资源定位符(URL, Uniform/Universal Resource Locator)数量更加庞大,达到数 千万的级别。而在中国,移动业务对于内容的管理要求非常高。经常会有限期删除某个网站或者某个目录的要求。因此,对于服务移动反向代理的服务器来说,需要一个稳定、快速的目录刷新功能(即找到属于某一个目录的所有统一资源定位符,并全部删除)。代理缓存服务器在保存统一资源定位符与缓存文件的对应关系时,通常都不会按照统一资源定位符的本身的目录结构来保存,而是按照这个网页缓存(web cache)软件本身的规则来将文件保存到不同的目录中。但是这样做会造成一个后果,就是如果要进行目录刷新就会非常困难。必须遍历所有已经缓存的文件,找到其统一资源定位符中包含的需要刷新的目录。通常代理服务器缓存的统一资源定位符数量都在千万级别,这样做对服务器的性能有非常严重的影响。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种缓存文件的目录刷新方法及采用该方法的代理缓存服务器,能够有效刷新缓存文件目录。基于上述目的本专利技术提供的一种缓存文件的目录刷新方法,包括对日志文件夹中的缓存文件进行排序;将排序完成的日志文件夹合并到数据库文件夹;将所述数据库文件夹平均分为N个子数据库,从第I子数据库到第N-I数据库中各抽取第i个缓存文件作为缓存文件样本,将所有缓存文件样本保存在索引文件夹里;在索引文件夹中找出需要刷新的目录中的目标缓存文件,并找到该目标缓存文件在数据库文件夹中的所处位置;从该目标缓存文件在数据库文件夹中的所处位置起,遍历数据库文件夹,当缓存文件符合需要刷新的目录中的目标缓存文件之一时,删除该缓存文件;当缓存文件不符合需要刷新的目录中的任一目标缓存文件时,则结束。在一个实施例中,所述缓存文件的目录刷新方法还包括将代理缓存服务器即时产生的缓存文件保存到该日志文件夹。在另一个实施例中,所述缓存文件的目录刷新方法还包括设定日志文件夹的缓存文件数目上限值,当日志文件夹的缓存文件数目增长到该上限值时,则对日志文件夹中的缓存文件进行排序。在另一个实施例中,缓存文件数目上限值小于等于10000。在另一个实施例中,所述排序完成的日志文件夹与所述数据库文件夹之间的合并算法采用归并排序算法。在另一个实施例中,所述日志文件夹的排序方法包括假设有2个缓存文件,名称分别为A和B,LenA=A的长度,LenB=B的长度,设LenA ^ LenB ;设置循环数i从I循环到LenA,依次一一对比A和B的第i个字符,当A的第η个字符的ASCII码小于B的第η个字符的ASCII码时,认为A应该排在B前面;反之,当B的第η个字符的ASCII码小于A的第η个字符的ASCII码时,认为B应该排在A前面;当循环到LenA时,A和B的每个对应位置上所有字符都相等,那么,较短的A则排在较长的B前面;如果A和B完全相等,则在日志文件夹与数据库文件夹进行合并时,任取 其中之一放入数据库文件夹。在另一个实施例中,所述子数据库的个数N取值为128。在另一个实施例中,所抽取的第i个缓存文件为该子数据库的最后一个缓存文件,使得所抽取的样本缓存文件分别位于整个数据库文件夹中的第1/N、2/N……(N-l)/N处。本专利技术还提供了采用上述缓存文件的目录刷新方法的代理缓存服务器,包括用于存储所述代理缓存服务器产生的即时缓存文件的日志文件夹模块,用于存储所述代理缓存服务器产生的历史缓存文件的数据库文件夹模块,用于对数据库文件夹中的历史缓存文件进行索引的索引文件夹模块。从上面所述可以看出,本专利技术提供的一种缓存文件的目录刷新方法及采用该方法的代理缓存服务器,通过增设日志文件夹和索引文件夹,能够随时将代理服务器即时产生的缓存文件保存下来,并且通过索引算法在短时间内找到需要删除的目标缓存文件。附图说明图I为本专利技术所提供的一种缓存文件的目录刷新方法的实施例流程图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。参考图1,为本专利技术所提供的一种缓存文件的目录刷新方法的实施例流程图。所述的一种缓存文件的目录刷新方法包括以下步骤步骤I :对日志文件夹中的缓存文件进行排序;步骤2 :将排序完成的日志文件夹合并到数据库文件夹;步骤3 :将所述数据库文件夹平均分为N个子数据库,从第I子数据库到第N-I数据库中各抽取第i个缓存文件作为缓存文件样本,将所有缓存文件样本保存在索引文件夹里;步骤4:在索引文件夹中找出需要刷新的目录中的目标缓存文件,并找到该目标缓存文件在数据库文件夹中的所处位置;步骤5 :从该目标缓存文件在数据库文件夹中的所处位置起,遍历数据库文件夹,当缓存文件符合需要刷新的目录中的目标缓存文件之一时,删除该缓存文件;步骤6 :当缓存文件不符合需要刷新的目录中的任一目标缓存文件时,则结束。其中,还包括初始化步骤在代理缓存服务器中建立日志文件夹,并将代理缓存服务器即时产生的缓存文件保存到该日志文件夹。所述日志文件夹的排序方法为假设有2个缓存文件,名称分别为A和B,LenA=A的长度,LenB=B的长度,不妨设LenA ^ LenB ;设置循环数i从I循环到LenA,依次一一对比A和B的第i个字符,当A的第η个字符的ASCII码小于B的第η个字符的ASCII码时,认为A应该排在B前面;反之,当B的第η个字符的ASCII码小于A的第η个字符的ASCII码时,认为B应该排在A前面;当循环到LenA时,A和B的每个对应位置上所有字符都相等,那么,较短的A则排在较长的B前面;如果A和B完全相等,则在日志文件夹与数据库文件夹进行合并时,任取其中之一放入数据库文件夹。 根据以上所述可以看出,在代理缓存服务器中增加设置一个日志文件夹和一个索引文件夹,能够随时将代理缓存服务器中即时产生的缓存文件保存下来,并且采用索引算法通过索引文件夹在几毫秒之内就能找到数据库文件夹中所需要删除的目标缓存文件,同时有效、稳定、快速地删除该目标缓存文件。优选的,所述步骤I还包括设定日志文件夹的缓存文件数目上限值,当日志文件夹的缓存文件数目增长到该上限值时,则对日志文件夹中的缓存文件进行排序。优选的,所述上限值小于等于10000 ;由于这个上限值很小,则排序速度很快。 另外,由于数据库文件夹是由历史上每一次的日志文件夹积累起来的,虽然可能有上千万条记录,但它始终是有序的。并且所述排序完成的日志文件夹与所述数据库文件夹之间的合并算法采用归并排序算法。优选的,所述子数据库的个数N取值为128,这样一来,索引文件夹不会过大,又不会由于索引条数过少导致查完索引后在数据库文件夹中顺序搜索的时间过长。特别地,所抽取的第i个缓存文件为子数据库的最后一个缓存文件,使得所抽取的样本缓存文件分别位于整个数据库文件夹中的第1/N、2/N......(N-I)/N处;这样便减少了顺序搜素数据库文件夹的过程。本专利技术还公开了一种采用上述的缓存文件的目录刷新方法的任意组合的代理缓存服务器,包括用于存储所述代理缓存服务器产生的本文档来自技高网...
【技术保护点】
一种缓存文件的目录刷新方法,其特征在于,包括:对日志文件夹中的缓存文件进行排序;将排序完成的日志文件夹合并到数据库文件夹;将所述数据库文件夹平均分为N个子数据库,从第1子数据库到第N?1数据库中各抽取第i个缓存文件作为缓存文件样本,将所有缓存文件样本保存在索引文件夹里;在索引文件夹中找出需要刷新的目录中的目标缓存文件,并找到该目标缓存文件在数据库文件夹中的所处位置;从该目标缓存文件在数据库文件夹中的所处位置起,遍历数据库文件夹,当缓存文件符合需要刷新的目录中的目标缓存文件之一时,删除该缓存文件;当缓存文件不符合需要刷新的目录中的任一目标缓存文件时,则结束。
【技术特征摘要】
【专利技术属性】
技术研发人员:邱然,
申请(专利权)人:北京光泽时代通信技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。