缓存资源文件的url存储方法及装置、缓存服务器的制造方法

文档序号:9217195阅读:487来源:国知局
缓存资源文件的url存储方法及装置、缓存服务器的制造方法
【技术领域】
[0001]本发明涉及缓存文件更新技术领域,特别是涉及一种缓存资源文件的统一资源定位符(Uniform Resource Locator, URL)存储方法及装置、缓存服务器。
【背景技术】
[0002]内容分发网络(Content Delivery Network, Q)N),通过在网络各处放置节点服务器,在现有的互联网基础之上构建一层智能虚拟网络,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容。而这些“边缘”,也即是缓存服务器,用以缓存源站内容。
[0003]引入缓存服务器后,缓存资源文件需要回源验证,以更新过期文件。这就需要定时收集缓存服务器上缓存资源文件的URL,并在系统内存中保存已缓存资源文件的URL列表,以便在接收源站发布的更新通知时,对缓存的文件进行遍历,并清除相应URL的缓存内容。
[0004]现有技术中,URL列表在内存中的保存方式一般有三种,分别为使用标准库、哈希表和布隆过滤器来保存URL列表。但是,现有技术中的这三种URL列表存储方法存在着或者内存占用率大,或者动态扩展和收缩困难的缺点。

【发明内容】

[0005]本发明实施例解决的问题是如何在缓存服务器的内存中保存已缓存资源文件的URL,以节约内存,并且易于动态扩展和收缩。
[0006]为解决上述问题,本发明实施例提供了一种缓存资源文件的URL存储方法,所述方法包括:
[0007]收集缓存服务器内存中的已缓存资源文件的URL ;
[0008]计算所述收集到的已缓存资源文件的URL的哈希值;
[0009]遍历预设的哈希红黑树,将所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树节点中存储的已缓存资源文件的URL的哈希值进行比较;
[0010]当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在所述哈希红黑树的节点中。
[0011]可选地,所述哈希值包括分别采用第一哈希函数、第二哈希函数和第三哈希函数计算得到的第一哈希值、第二哈希值和第三哈希值。
[0012]可选地,所述第一哈希函数、所述第二哈希函数和所述第三哈希函数为不同的哈希函数。
[0013]可选地,所述当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值保存在所述哈希红黑树的节点中,包括:当所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希红黑树中存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值中至少有一组值不相等时,则将所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值保存在所述哈希红黑树的节点中。
[0014]本发明实施例还提供了一种缓存资源文件的URL存储装置,所述装置包括:
[0015]收集单元,适于收集缓存服务器内存中的已缓存资源文件的URL ;
[0016]计算单元,适于计算所述收集单元所收集到的已缓存资源文件的URL的哈希值;
[0017]比较单元,适于遍历预设的哈希红黑树,将所述计算单元所计算得到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值进行比较;
[0018]存储单元,适于当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在所述哈希红黑树的节点中。
[0019]可选地,所述计算单元包括第一计算子单元、第二计算子单元和第三计算子单元,所述比较单元包括第一比较子单元,第二比较子单元和第三比较子单元;其中,
[0020]所述第一计算子单元,适于采用第一哈希函数计算所述收集到的已缓存资源文件的URL的第一哈希值;
[0021]所述第二计算子单元,适于采用第二哈希函数计算所述收集到的已缓存资源文件的URL的第二哈希值;
[0022]所述第三计算子单元,适于采用第三哈希函数计算所述收集到的已缓存资源文件的URL的第三哈希值;
[0023]所述第一比较子单元,适于将所述第一计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第一哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第一哈希值进行比较;
[0024]所述第二比较子单元,适于将所述第二计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第二哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第二哈希值进行比较;
[0025]所述第三比较子单元,适于将所述第三计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第三哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第三哈希值进行比较。
[0026]可选地,所述第一哈希函数、所述第二哈希函数和所述第三哈希函数为不同的哈希函数。
[0027]可选地,所述存储单元包括存储子单元,所述存储子单元适于当所述第一比较子单元、第二比较子单元和第三比较子单元分别将所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希红黑树中已存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值进行比较,且比较结果中至少有一组值不相等时,将所述所收集到的已缓存资源文件的URL的所述第一哈希值、所述第二哈希值和所述第三哈希值存储于所述哈希红黑树的节点中。
[0028]本发明实施例还提供了一种缓存服务器,包括上述的缓存资源文件的URL存储装置。
[0029]本发明实施例还提供了一种缓存服务器,所述服务器包括上述的缓存资源文件的URL存储装置。
[0030]与现有技术相比,本发明的技术方案具有以下的优点:
[0031]上述的技术方案,由于在红黑树中的节点中仅存储已缓存资源文件的URL的哈希值,而非URL本身,因此可以减少已缓存资源文件的URL在内存中的占用率。并且,由于红黑树是一棵节点为黑色或者红色的自平衡二叉查找树,其可以实现数据的查找、插入和删除操作,并可将上述操作的时间控制在0(log η) (η为所述红黑树元素的数目)的时间内,方便高效。因此,采用红黑树的数据结构存储已缓存资源文件的URL的哈希值,可方便高效地实现数据的动态扩展和收缩。
[0032]进一步地,由于采用三个哈希函数分别计算URL的哈希值,并将三个哈希值同时保存在哈希红黑树中相应的同一节点中,可以有效避免哈希冲突,便于数据的存储。
【附图说明】
[0033]图1是本发明实施例中的一种URL存储
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1