CN104933054B - 缓存资源文件的url存储方法及装置、缓存服务器 - Google Patents

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

Info

Publication number
CN104933054B
CN104933054B CN201410100636.3A CN201410100636A CN104933054B CN 104933054 B CN104933054 B CN 104933054B CN 201410100636 A CN201410100636 A CN 201410100636A CN 104933054 B CN104933054 B CN 104933054B
Authority
CN
China
Prior art keywords
url
hash
hash value
resource file
cached resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410100636.3A
Other languages
English (en)
Other versions
CN104933054A (zh
Inventor
高英杰
顾庆荣
康凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yixu Network Technology Co ltd
Original Assignee
Shanghai Supreme Being Joins Information Technology Share Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Supreme Being Joins Information Technology Share Co Ltd filed Critical Shanghai Supreme Being Joins Information Technology Share Co Ltd
Priority to CN201410100636.3A priority Critical patent/CN104933054B/zh
Publication of CN104933054A publication Critical patent/CN104933054A/zh
Application granted granted Critical
Publication of CN104933054B publication Critical patent/CN104933054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

一种缓存资源文件的URL存储方法及装置、缓存服务器,所述方法包括:收集缓存服务器内存中的已缓存资源文件的URL;计算收集到的已缓存资源文件的URL的哈希值;遍历预设的哈希红黑树,将所述收集到的已缓存资源文件的URL的哈希值与哈希红黑树中存储的已缓存资源文件的URL的哈希值进行比较;当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在到所述哈希红黑树中。上述的技术方案,由于采用哈希红黑树存储已缓存资源文件的URL的哈希值,因此可以减少已缓存资源文件的URL在内存中的占用率,并便于数据的动态扩展和收缩。

Description

缓存资源文件的URL存储方法及装置、缓存服务器
技术领域
本发明涉及缓存文件更新技术领域,特别是涉及一种缓存资源文件的统一资源定位符(Uniform Resource Locator,URL)存储方法及装置、缓存服务器。
背景技术
内容分发网络(Content Delivery Network,CDN),通过在网络各处放置节点服务器,在现有的互联网基础之上构建一层智能虚拟网络,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容。而这些“边缘”,也即是缓存服务器,用以缓存源站内容。
引入缓存服务器后,缓存资源文件需要回源验证,以更新过期文件。这就需要定时收集缓存服务器上缓存资源文件的URL,并在系统内存中保存已缓存资源文件的URL列表,以便在接收源站发布的更新通知时,对缓存的文件进行遍历,并清除相应URL的缓存内容。
现有技术中,URL列表在内存中的保存方式一般有三种,分别为使用标准库、哈希表和布隆过滤器来保存URL列表。但是,现有技术中的这三种URL列表存储方法存在着或者内存占用率大,或者动态扩展和收缩困难的缺点。
发明内容
本发明实施例解决的问题是如何在缓存服务器的内存中保存已缓存资源文件的URL,以节约内存,并且易于动态扩展和收缩。
为解决上述问题,本发明实施例提供了一种缓存资源文件的URL存储方法,所述方法包括:
收集缓存服务器内存中的已缓存资源文件的URL;
计算所述收集到的已缓存资源文件的URL的哈希值;
遍历预设的哈希红黑树,将所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树节点中存储的已缓存资源文件的URL的哈希值进行比较;
当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在所述哈希红黑树的节点中。
可选地,所述哈希值包括分别采用第一哈希函数、第二哈希函数和第三哈希函数计算得到的第一哈希值、第二哈希值和第三哈希值。
可选地,所述第一哈希函数、所述第二哈希函数和所述第三哈希函数为不同的哈希函数。
可选地,所述当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值保存在所述哈希红黑树的节点中,包括:当所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希红黑树中存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值中至少有一组值不相等时,则将所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值保存在所述哈希红黑树的节点中。
本发明实施例还提供了一种缓存资源文件的URL存储装置,所述装置包括:
收集单元,适于收集缓存服务器内存中的已缓存资源文件的URL;
计算单元,适于计算所述收集单元所收集到的已缓存资源文件的URL的哈希值;
比较单元,适于遍历预设的哈希红黑树,将所述计算单元所计算得到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值进行比较;
存储单元,适于当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在所述哈希红黑树的节点中。
可选地,所述计算单元包括第一计算子单元、第二计算子单元和第三计算子单元,所述比较单元包括第一比较子单元,第二比较子单元和第三比较子单元;其中,
所述第一计算子单元,适于采用第一哈希函数计算所述收集到的已缓存资源文件的URL的第一哈希值;
所述第二计算子单元,适于采用第二哈希函数计算所述收集到的已缓存资源文件的URL的第二哈希值;
所述第三计算子单元,适于采用第三哈希函数计算所述收集到的已缓存资源文件的URL的第三哈希值;
所述第一比较子单元,适于将所述第一计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第一哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第一哈希值进行比较;
所述第二比较子单元,适于将所述第二计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第二哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第二哈希值进行比较;
所述第三比较子单元,适于将所述第三计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第三哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第三哈希值进行比较。
可选地,所述第一哈希函数、所述第二哈希函数和所述第三哈希函数为不同的哈希函数。
可选地,所述存储单元包括存储子单元,所述存储子单元适于当所述第一比较子单元、第二比较子单元和第三比较子单元分别将所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希红黑树中已存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值进行比较,且比较结果中至少有一组值不相等时,将所述所收集到的已缓存资源文件的URL的所述第一哈希值、所述第二哈希值和所述第三哈希值存储于所述哈希红黑树的节点中。
本发明实施例还提供了一种缓存服务器,包括上述的缓存资源文件的URL存储装置。
本发明实施例还提供了一种缓存服务器,所述服务器包括上述的缓存资源文件的URL存储装置。
与现有技术相比,本发明的技术方案具有以下的优点:
上述的技术方案,由于在红黑树中的节点中仅存储已缓存资源文件的URL的哈希值,而非URL本身,因此可以减少已缓存资源文件的URL在内存中的占用率。并且,由于红黑树是一棵节点为黑色或者红色的自平衡二叉查找树,其可以实现数据的查找、插入和删除操作,并可将上述操作的时间控制在O(log n)(n为所述红黑树元素的数目)的时间内,方便高效。因此,采用红黑树的数据结构存储已缓存资源文件的URL的哈希值,可方便高效地实现数据的动态扩展和收缩。
进一步地,由于采用三个哈希函数分别计算URL的哈希值,并将三个哈希值同时保存在哈希红黑树中相应的同一节点中,可以有效避免哈希冲突,便于数据的存储。
附图说明
图1是本发明实施例中的一种URL存储方法的流程图;
图2是本发明实施例中的另一种URL存储方法的流程图;
图3是本发明实施例中的一种URL存储装置的结构示意图;
图4是本发明实施例中的另一种URL存储装置的结构示意图。
具体实施方式
现有技术中,已缓存资源文件的URL在缓存服务器中的保存方式有通常有三种:
一种是采用标准库std::set<std::string>来保存已缓存资源文件的URL。这种保存方式,将已缓存资源文件的URL完整保存在内存中,并能够保证URL的唯一性。但是,当内存中的已缓存资源文件数量较多时,使用这种方法保存URL将会占用较大的内存资源。
另一种是采用哈希表存储已缓存资源文件的URL。哈希表是根据关键字(Keyvalue)而直接访问在内存存储位置的数据结构。它把键值通过哈希函数(又称散列函数)进行计算后,映射到哈希表(又称散列表)中的特定位置,以访问所述位置处所存储的数据。但是,使用哈希表存储URL,需要在存储开始时就预设固定大小的内存,在存储的数据超过所预设的内存时,就需要不断的重构哈希表,这将不利于数据的动态扩展和收缩。
还有一种是使用布隆过滤器来存储已缓存资源文件的URL。布隆过滤器是一种基于二进制向量和一系列随机函数的数据结构。它通过散列函数将一个元素映射成位阵列(Bit array)中的点。这样,通过查看这个点是不是1,便可以知道它是否存在于集合中。但是,随着集合中的元素不断增加,布隆过滤器的误算率也会随之增加,且其不支持元素的删除,不利于数据的动态收缩。
为解决现有技术中存在的上述问题,本发明实施例采用哈希红黑树作为保存缓存资源文件的URL的数据结构,能够减少内存的占用率,并且易于数据的动态扩展和收缩。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1示出了本发明实施例中的一种缓存资源文件的URL存储方法的流程图。如图1所示的缓存资源文件的URL存储方法,包括:
步骤S11:收集缓存服务器内存中的已缓存资源文件的URL。
内容分发网络,通过在网络各处放置节点服务器,在现有的互联网基础之上构建一层智能虚拟网络,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容。而这些“边缘”,也即是缓存服务器,用以缓存源站内容。引入缓存服务器后,需要以一定的方式更新过期文件。因此,本发明的实施例中,需要定时收集缓存服务器上缓存文件的URL,并在系统内存存储所述已缓存文件的URL列表,以便在接收源站发布的更新通知时,对缓存的文件进行遍历,并清除相应URL的缓存内容。
步骤S12:计算所述收集到的已缓存资源文件的URL的哈希值。
通常情况下,当将所有的已缓存资源文件的URL完整地保存在内存中时,一条URL的平均长度为150字节,再加上数据结构本身节点的长度,在已缓存资源文件的URL的数量众多的情况下,在内存中保存已缓存资源文件的URL将会占用较大的空间。
在本发明的实施例中,采用哈希红黑树来保存已缓存资源文件的URL。所谓哈希红黑树,其通过将已缓存资源文件的URL的哈希值,而非URL本身,保存在一红黑树的节点中,从而构成所述的哈希红黑树。这样,由于已缓存资源文件的URL的哈希值的长度仅为4字节,相较于一条URL的平均长度——150字节,这将可以减少已缓存资源文件的URL所占用的内存空间。
同时,由于红黑树是自平衡二叉查找树,其具有以下的属性:(1)其节点的颜色为红色或黑色;(2)每个叶节点(又称为NIL节点或者空节点)是黑色的;(3)每个红色节点的两个子节点都是黑色,即从每个叶子到根的所有路径上不能有两个连续的红色节点;(4)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。这就决定了从根到叶子的最长的可能路径不多于最短的可能路径的两倍长,结果是这个树大致上是平衡的。因为对于红黑树的操作,比如插入、删除和查找某个值,在最坏情况下所用的时间都与树的高度成比例。这就允许红黑树在任何情况下所进行的操作都是高效的,其可以在O(log n)时间内完成数据的查找、插入和删除。因此,采用红黑树作为存储已缓存资源文件的URL的数据结构,将便于数据的动态扩展和收缩。
步骤S13:遍历预设的哈希红黑树,将所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值进行比较。
在本发明的实施例中,为了保证存储在内存中的已缓存资源文件的URL的唯一性,在将所收集到的已缓存资源文件的URL的哈希值存储于所述哈希红黑树的节点中之前,需要对所述哈希红黑树进行遍历,以确定待存储的已缓存资源文件的URL的哈希值是否已经存在于所述哈希红黑树中。
步骤S14:当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在到所述哈希红黑树中。
在本发明的实施例中,可以将收集到的已缓存资源文件的URL的哈希值与所述哈希树中已存储的已缓存资源文件的URL的哈希值进行比较,当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值相等时,则表明收集到的已缓存资源文件的URL已经存在与所述哈希红黑树中。此时,为了确保所存储在所述哈希红黑树中的数据的唯一性,可以丢弃所述收集到的已缓存资源文件的URL。
反之,当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,则说明所述哈希红黑中尚未存储所述收集到的已缓存资源文件的URL相同的URL的哈希值。此时,可以将所述收集到的已缓存资源文件的URL的哈希值存储于所述哈希红黑的节点中,以便在接收源站发布的更新通知时,遍历所述哈希红黑树,以进行缓存文件的更新操作。
图2示出了本发明实施例中的另一种缓存资源文件URL存储方法的流程图。如图2所示的缓存资源文件的URL存储方法包括:
步骤S21:收集缓存服务器内存中的已缓存资源文件的URL。
在本发明的实施例中,可以通过定时收集的方式来获取缓存服务器内存中的已缓存资源文件的URL。例如,可以小时或者天为单位定时收集所述缓存服务器内存中的已缓存资源文件的URL。
步骤S22:分别采用第一哈希函数、第二哈希函数和第三哈希函数计算所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值。
在本发明实施例中,所述哈希红黑树的构建过程为:首先在缓存服务器的内存中构建一棵空的红黑树,通过定时收集内存中存在的已缓存资源文件的URL,并计算哈希值,不断地将已缓存资源文件的URL的哈希值存储在所述红黑树的节点中,从而构建所述哈希红黑树。
但是,由于采用单一的哈希函数来计算已缓存资源文件的URL的哈希值,可能会导致哈希突,即:两个不相同的数据通过相同的哈希函数,所计算出来的键值可能是相同的,这就是所谓的哈希冲突。
因此,在具体实施中,可以采用多哈希法来降低哈希冲突的概率。例如,可以采用三个不同的哈希函数,来计算已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值,以在所述哈希树的一个节点中存储所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值。由于一个哈希值为32位,三个哈希值共有96位,那么哈希冲突的概率将为1/296,这种冲突的概率将是极小的。因此,采用多哈希法可以在很大程度上降低哈希冲突的概率。
需要指出时,在计算已缓存资源文件的URL时,所采用的第一哈希函数、第二哈希函数和第三哈希函数可以为任意的哈希函数。但是,所述第一哈希函数、第二哈希函数和第三哈希函数为不同的哈希函数。
步骤S23:遍历预设的哈希红黑树,将所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希红黑树中存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值进行比较。
在本发明的实施例中,在将所述收集到的已缓存资源文件的URL的哈希值存储于所述哈希红黑树之前,先判断所述哈希红黑树中是否已经存在相同的已缓存资源文件的URL的哈希值,以确定所述红黑树中所存储的已缓存资源文件的URL的哈希值的唯一性。也就是将所述已有的哈希红黑树作为过滤器,通过遍历所述哈希红黑树,将所收集到的已缓存资源文件的URL的哈希值分别与哈希红黑树中已存储的已缓存资源文件的URL的哈希值逐个进行比较,以确保所述哈希红黑树中所存储的已缓存资源文件的URL的唯一性,进而确保内存中所存储的已缓存资源文件的URL的唯一性。
由于在所述哈希红黑树的同一节点中存储有已缓存资源文件的URL的哈希值,包括分别第一哈希值、第二哈希值和第三哈希值。因此,需要将收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希树中已存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别进行比较,以判断两者是否相同。
步骤S24:当所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值的比较结果中至少有一组值不相等时,将所述收集到的已缓存资源文件的URL的所述第一哈希值、所述第二哈希值和所述第三哈希值存储在到所述哈希红黑树中。
由于哈希冲突的存在,当采用单一的哈希函数计算不同的已缓存资源文件的URL时,所得到的哈希值相同的几率很大。而采用三个不同的哈希函数分别计算同一已缓存资源文件的URL,得出第一哈希值、第二哈希值和第三哈希值都相同的概率极小,如前所述,为1/296。因此,当所述的三个哈希值分别相等时,几乎可以确定两个URL是相同的。反之,将三个哈希值分别进行比较,只要其中一个比较结果为不同时,则可以确定相比较的两个已缓存资源文件的URL不相同。
因此,当所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值的比较结果中至少有一组值不相等时,则表明收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中已存储的哈希值不相同,也即是表明收集到的已缓存资源文件的URL的哈希值在所述哈希红黑树中不存在。此时,可以将收集到的已缓存资源文件的URL的哈希值(包括第一哈希值、第二哈希值和第三哈希值)存储于所述哈希红黑树的节点中。
而当所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值进行比较,所得出的比较结果中三组值都相等时,则表明收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中已存储的哈希值相同,也即是表明收集到的已缓存资源文件的URL的哈希值在所述哈希红黑树中已经存在。此时,为了保证已缓存资源文件的URL的唯一性,可以将收集到的已缓存资源文件的URL的哈希值丢弃。
图3示出了本发明实施例中的一种缓存资源文件的URL存储装置的结构示意图。如图3所示的缓存资源文件的URL存储装置可以包括依次相连接的收集单元31、计算单元32、比较单元33和存储单元34。其中:
收集单元31,适于收集缓存服务器内存中的已缓存资源文件的URL。
计算单元32,适于计算所述收集单元31所收集到的已缓存资源文件的URL的哈希值。
比较单元33,适于遍历所述哈希红黑树,将所述计算单元32所计算得到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值进行比较。
存储单元34,适于当所述比较单元33将所述收集到的已缓存资源文件的URL的哈希值分别与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值进行比较的结果为不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在到所述哈希红黑树中。
图4示出了本发明实施例中的另一种缓存资源文件的URL存储装置的结构示意图。请参见图4,所述缓存资源文件的URL存储装置可以包括收集单元31、计算单元32、比较单元33和存储单元34。其中,所述计算单元32可以包括:第一计算子单元321、第二计算子单元322和第三计算子单元323。所述比较单元33可以包括:第一比较子单元331、第二比较子单元332和第三比较子单元333。存储单元34可以包括存储子单元341。其中,第一计算子单元321、第二计算子单元322和第三计算子单元323分别与第一比较子单元331、第二比较子单元332和第三比较子单元333相连接,第一比较子单元331、第二比较子单元332和第三比较子单元333还同时与存储子单元341相连接。
第一计算子单元321,适于采用第一哈希函数计算所述收集到的已缓存资源文件的URL的第一哈希值。
第二计算子单元322,适于采用第二哈希函数计算所述收集到的已缓存资源文件的URL的第二哈希值。
第三计算子单元323,适于采用第三哈希函数计算所述收集到的已缓存资源文件的URL的第三哈希值。
第一比较子单元331,将所述第一计算子单元321计算得到的所收集到的已缓存资源文件的URL的所述第一哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第一哈希值进行比较。
第二比较子单元332,将所述第二计算子单元322计算得到的所收集到的已缓存资源文件的URL的所述第二哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第二哈希值进行比较。
第三比较子单元333,将所述第三计算子单元323计算得到的所收集到的已缓存资源文件的URL的所述第三哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第三哈希值进行比较。
存储子单元341,适于当所述第一比较子单元331、第二比较子单元332和第三比较子单元333将所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希红黑树中已存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值进行比较,且比较结果中至少有一组值不相等时,将所述所收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值存储在所述哈希红黑树中的同一节点中。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (9)

1.一种缓存资源文件的URL存储方法,其特征在于,采用哈希红黑树作为保存缓存资源文件的URL的数据结构,在接收到源站发布的更新通知时,进行缓存文件的更新操作,所述方法包括:
收集缓存服务器内存中的已缓存资源文件的URL;
计算所述收集到的已缓存资源文件的URL的哈希值;
采用哈希红黑树作为保存缓存资源文件的URL的数据结构,在红黑树中的节点中存储已缓存资源文件的URL的哈希值而非URL本身;
所述在接收到源站发布的更新通知时,进行缓存文件的更新操作包括:
在接收到源站发布的更新通知时,遍历预设的哈希红黑树,将所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树节点中存储的已缓存资源文件的URL的哈希值进行比较;
当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在所述哈希红黑树的节点中。
2.根据权利要求1所述的缓存资源文件的URL存储方法,其特征在于,所述哈希值包括分别采用第一哈希函数、第二哈希函数和第三哈希函数计算得到的第一哈希值、第二哈希值和第三哈希值。
3.根据权利要求2所述的缓存资源文件的URL存储方法,其特征在于,所述第一哈希函数、所述第二哈希函数和所述第三哈希函数为不同的哈希函数。
4.根据权利要求3所述的缓存资源文件的URL存储方法,其特征在于,所述当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值保存在所述哈希红黑树的节点中,包括:当所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希红黑树中存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值中至少有一组值不相等时,则将所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值保存在所述哈希红黑树的节点中。
5.一种缓存资源文件的URL存储装置,其特征在于,采用哈希红黑树作为保存缓存资源文件的URL的数据结构,在接收到源站发布的更新通知时,进行缓存文件的更新操作,所述装置包括:
收集单元,适于收集缓存服务器内存中的已缓存资源文件的URL;
计算单元,适于计算所述收集单元所收集到的已缓存资源文件的URL的哈希值;
采用哈希红黑树作为保存缓存资源文件的URL的数据结构,在红黑树中的节点中存储已缓存资源文件的URL的哈希值而非URL本身;
所述在接收到源站发布的更新通知时,进行缓存文件的更新操作包括:
比较单元,适于在接收到源站发布的更新通知时,遍历预设的哈希红黑树,将所述计算单元所计算得到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值进行比较;
存储单元,适于当所述收集到的已缓存资源文件的URL的哈希值与所述哈希红黑树中存储的已缓存资源文件的URL的哈希值不相等时,将所述收集到的已缓存资源文件的URL的哈希值存储在所述哈希红黑树的节点中。
6.根据权利要求5所述的缓存资源文件的URL存储装置,其特征在于,所述计算单元包括第一计算子单元、第二计算子单元和第三计算子单元,所述比较单元包括第一比较子单元,第二比较子单元和第三比较子单元;其中,
所述第一计算子单元,适于采用第一哈希函数计算所述收集到的已缓存资源文件的URL的第一哈希值;
所述第二计算子单元,适于采用第二哈希函数计算所述收集到的已缓存资源文件的URL的第二哈希值;
所述第三计算子单元,适于采用第三哈希函数计算所述收集到的已缓存资源文件的URL的第三哈希值;
所述第一比较子单元,适于将所述第一计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第一哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第一哈希值进行比较;
所述第二比较子单元,适于将所述第二计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第二哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第二哈希值进行比较;
所述第三比较子单元,适于将所述第三计算子单元计算得到的所述收集到的已缓存资源文件的URL的所述第三哈希值与所述哈希红黑树中已存储的已缓存资源文件的URL的第三哈希值进行比较。
7.根据权利要求6所述的缓存资源文件的URL存储装置,其特征在于,所述第一哈希函数、所述第二哈希函数和所述第三哈希函数为不同的哈希函数。
8.根据权利要求7所述的缓存资源文件的URL存储装置,其特征在于,所述存储单元包括存储子单元,所述存储子单元适于当所述第一比较子单元、第二比较子单元和第三比较子单元分别将所述收集到的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值分别与所述哈希红黑树中已存储的已缓存资源文件的URL的第一哈希值、第二哈希值和第三哈希值进行比较的结果中至少有一组值不相等时,将所述所收集到的已缓存资源文件的URL的所述第一哈希值、所述第二哈希值和所述第三哈希值存储于所述哈希红黑树的节点中。
9.一种缓存服务器,其特征在于,包括权利要求5-8任一项所述的缓存资源文件的URL存储装置。
CN201410100636.3A 2014-03-18 2014-03-18 缓存资源文件的url存储方法及装置、缓存服务器 Active CN104933054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410100636.3A CN104933054B (zh) 2014-03-18 2014-03-18 缓存资源文件的url存储方法及装置、缓存服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410100636.3A CN104933054B (zh) 2014-03-18 2014-03-18 缓存资源文件的url存储方法及装置、缓存服务器

Publications (2)

Publication Number Publication Date
CN104933054A CN104933054A (zh) 2015-09-23
CN104933054B true CN104933054B (zh) 2018-07-06

Family

ID=54120222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410100636.3A Active CN104933054B (zh) 2014-03-18 2014-03-18 缓存资源文件的url存储方法及装置、缓存服务器

Country Status (1)

Country Link
CN (1) CN104933054B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893468A (zh) * 2016-03-28 2016-08-24 乐视控股(北京)有限公司 用于cdn系统的缓存数据同步方法和系统
CN110300140B (zh) * 2018-03-23 2023-04-18 贵州白山云科技股份有限公司 用于云分发网络中内容更新的方法、刷新客户端及网络节点
CN111324586B (zh) * 2018-12-14 2024-04-09 中移(杭州)信息技术有限公司 一种基于缓存的图片显示方法、装置、电子设备及介质
CN109726316B (zh) * 2018-12-29 2022-12-27 中国银联股份有限公司 一种文件的处理方法及装置
CN110688596B (zh) * 2019-09-09 2024-03-15 平安普惠企业管理有限公司 静态网页更新方法、装置、计算机设备和存储介质
CN115208677B (zh) * 2022-07-19 2024-01-30 光大科技有限公司 一种恶意网址识别方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096712A (zh) * 2011-01-28 2011-06-15 深圳市五巨科技有限公司 一种移动终端缓存控制的方法和装置
CN102170479A (zh) * 2011-05-21 2011-08-31 成都市华为赛门铁克科技有限公司 Web缓存的更新方法及Web缓存的更新装置
CN102663058A (zh) * 2012-03-30 2012-09-12 华中科技大学 一种分布式网络爬虫系统中的url去重方法
CN102722557A (zh) * 2012-05-29 2012-10-10 南京大学 一种相同数据块的自适应识别方法
CN102737064A (zh) * 2011-04-15 2012-10-17 腾讯科技(深圳)有限公司 文件缓存方法及装置
CN103019884A (zh) * 2012-11-21 2013-04-03 北京航空航天大学 基于虚拟机快照的内存页去重方法及装置
CN103152367A (zh) * 2011-12-06 2013-06-12 盛乐信息技术(上海)有限公司 一种缓存的动态维护更新方法及系统
CN103383665A (zh) * 2013-07-12 2013-11-06 北京奇虎科技有限公司 适于url数据抓取中对数据缓存的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235163A1 (en) * 2007-03-22 2008-09-25 Srinivasan Balasubramanian System and method for online duplicate detection and elimination in a web crawler

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096712A (zh) * 2011-01-28 2011-06-15 深圳市五巨科技有限公司 一种移动终端缓存控制的方法和装置
CN102737064A (zh) * 2011-04-15 2012-10-17 腾讯科技(深圳)有限公司 文件缓存方法及装置
CN102170479A (zh) * 2011-05-21 2011-08-31 成都市华为赛门铁克科技有限公司 Web缓存的更新方法及Web缓存的更新装置
CN103152367A (zh) * 2011-12-06 2013-06-12 盛乐信息技术(上海)有限公司 一种缓存的动态维护更新方法及系统
CN102663058A (zh) * 2012-03-30 2012-09-12 华中科技大学 一种分布式网络爬虫系统中的url去重方法
CN102722557A (zh) * 2012-05-29 2012-10-10 南京大学 一种相同数据块的自适应识别方法
CN103019884A (zh) * 2012-11-21 2013-04-03 北京航空航天大学 基于虚拟机快照的内存页去重方法及装置
CN103383665A (zh) * 2013-07-12 2013-11-06 北京奇虎科技有限公司 适于url数据抓取中对数据缓存的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种带红黑树的哈希表在物流信息系统中的应用研究;滕少华;《江西师范大学学报(自然科学版)》;20130915;第500-504页 *
哈希红黑树算法在网络信息分析中的应用;周彩兰;《软件导刊》;20070730;第136-137页 *
基于URL分类技术的垃圾邮件过滤系统的分析与设计;邢文钊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131115;第44页第4段,第45页第1-8段,第46页第1-3段,第47页第1-6段 *

Also Published As

Publication number Publication date
CN104933054A (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
CN104933054B (zh) 缓存资源文件的url存储方法及装置、缓存服务器
KR102266756B1 (ko) Kvs 트리
US10380073B2 (en) Use of solid state storage devices and the like in data deduplication
US10366072B2 (en) De-duplication data bank
CN107704202B (zh) 一种数据快速读写的方法和装置
US20200007158A1 (en) System and method for data storage, transfer, synchronication, and security using codeword probaility estimation
CN105550371A (zh) 一种面向大数据环境的元数据组织方法和系统
US20200065306A1 (en) Bloom filter partitioning
US10691644B2 (en) System and method for data storage, transfer, synchronization, and security using recursive encoding
US20160350301A1 (en) Data fingerprint strengthening
US11899624B2 (en) System and method for random-access manipulation of compacted data files
CN108540510B (zh) 一种云主机创建方法、装置及云服务系统
US11860739B2 (en) Methods for managing snapshots in a distributed de-duplication system and devices thereof
US10102232B2 (en) Storing structured information
US10567399B2 (en) Fragmented malware hash lookup in cloud repository
US20240078249A1 (en) Database synchronization using resizable invertible bloom filters with database snapshots
CN102164309B (zh) 节目的处理方法和系统以及装置
TWI420333B (zh) 分散式的重複數據刪除系統及其處理方法
US10715619B2 (en) Cache management using a probabilistic data structure
US10614055B2 (en) Method and system for tree management of trees under multi-version concurrency control
JP2018511131A (ja) オンライン媒体のための階層的なコストベースのキャッシング
JP6110354B2 (ja) 異種記憶サーバおよびそのファイル記憶方法
CN112187743A (zh) 一种基于ip地址最长前缀的网络策略匹配方法及系统
US12079164B2 (en) Cross-silo data storage and deduplication
US12079163B2 (en) Data indexing and deduplication using content-defined trees

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Gao Yingjie

Inventor after: Gu Qingrong

Inventor after: Kang Kai

Inventor before: Gao Yingjie

Inventor before: Gu Qingrong

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230609

Address after: 200333, Room 18, 6th Floor, Building 21, No. 958 Zhenbei Road, Putuo District, Shanghai

Patentee after: Shanghai Yixu Network Technology Co.,Ltd.

Address before: 200333 2nd floor, building 21, 879 Zhongjiang Road, Putuo District, Shanghai

Patentee before: SHANGHAI DNION INFORMATION TECHNOLOGY CO.,LTD.