CN102523299A - 基于消息摘要进行内容标识的缓存方法 - Google Patents
基于消息摘要进行内容标识的缓存方法 Download PDFInfo
- Publication number
- CN102523299A CN102523299A CN2011104357245A CN201110435724A CN102523299A CN 102523299 A CN102523299 A CN 102523299A CN 2011104357245 A CN2011104357245 A CN 2011104357245A CN 201110435724 A CN201110435724 A CN 201110435724A CN 102523299 A CN102523299 A CN 102523299A
- Authority
- CN
- China
- Prior art keywords
- content
- url
- caching agent
- query requests
- buffer memory
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于消息摘要进行内容标识的缓存方法,其是利用消息摘要算法第五版MD5对内容进行散列计算,得到其消息摘要,再把该消息摘要、即其内容的哈希值作为缓存中的每个独立内容的标识,用于替代原来缓存代理之间用统一资源定位符URL标识内容对象的标识方法,将内容信息与URL相分离,然后藉由该标识进行内容的查询与传输。本发明方法使用基于上述标识方法的缓存协作控制策略,将内容信息与URL相分离,从而提高缓存空间的缓存信息量,提高缓存利用率,显著减少各个缓存间的通信流量。
Description
技术领域
本发明涉及一种基于消息摘要来标识内容的缓存方法,属于互联网络通信的技术领域。
背景技术
在当前内容缓存系统中,缓存代理之间主要通过互联网缓存协议ICP(Internet Cache Protocol)进行通信,达到协同工作的目的。运行ICP协议的缓存代理,当其发现内容未在本地缓存而需要下载相关内容时,该缓存代理首先向网络拓扑上与其位置邻近的缓存代理发起一个查询。如果邻近缓存代理缓存了相关内容,则直接从该邻近缓存代理下载相关内容。否则,该缓存代理就向源内容服务器请求下载相关内容。缓存代理之间的查询是通过请求内容的统一资源定位符URL(Uniform Resource Locator)进行标识的。
在现有技术的内容缓存系统中,还有一种缓存数据摘要Cache Digest技术。这种技术使用内容缓存代理(cache)中缓存的内容进行一次散列计算,作为该缓存代理的消息摘要。并将该消息摘要周期性地发布到邻近的缓存代理。当缓存代理需要向其邻近的缓存代理查询某个内容是否存在时,可以先根据该摘要选择可能存有该内容的缓存代理进行查询。
以上两种技术都是以URL作为内容标识的。虽然Cache Digest技术对内容进行了散列,然而,它只是对缓存中的所有内容进行散列,以辅助邻近缓存代理的选择过程,并不是用于标识每个内容。
当今的网络中拥有大量重复的信息内容,各种网络转载和内容分享行为都使得这种重复情况越来越严重,并使得越来越多的相同内容有了不同的URL。在这样的网络中,当前内容缓存系统中,如果还是仅仅以URL作为内容标识的方法,就容易产生很大的局限性。因为,这会导致缓存系统中缓存了大量重复的内容,降低缓存中的信息量,从而降低了缓存的利用率。同时,缓存代理之间本来可以不用再次传输的重复内容,也会因其具有不同的URL而重复传输多次,严重消耗网络带宽和降低查询效率。
发明内容
有鉴于此,本发明的目的是提供一种基于消息摘要进行内容标识的缓存方法,该方法是是利用消息摘要算法第五版MD5产生的哈希值来标识缓存中的每个独立内容对象,替代原来用URL来标识内容对象的标识方法;同时,使用一种基于上述标识方法的缓存协作控制策略,将内容信息与URL相分离,从而提高缓存空间的缓存信息量,提高缓存利用率,显著减少各个缓存间的通信流量。
为了达到上述目的,本发明提供了一种基于消息摘要进行内容标识的缓存方法,其特征在于:利用消息摘要算法第五版MD5(Message DigestAlgorithm 5)对内容进行散列计算,得到其消息摘要,再把该消息摘要、即其内容的哈希值作为缓存中的每个独立内容的标识,用于替代原来缓存代理之间用统一资源定位符URL(Uniform Resource Locator)标识内容对象的标识方法,将内容信息与URL相分离,然后藉由该标识进行内容的查询与传输;所述方法包括下列操作步骤:
(1)缓存代理接收到一个URL查询请求后,查询本地缓存是否有该URL指向内容的副本并做出相应反应;若未缓存,则执行步骤(2);
(2)缓存代理向邻近的缓存代理查询并请求该URL指向内容的副本;
(3)缓存代理将获取的存储内容的副本存储于本地,再计算该内容的MD5散列值,并以该散列值标识该内容;并对该URL查询请求作出响应。
相对于现有技术而言,本发明利用MD5消息摘要算法产生的哈希值来标识缓存中的每个独立内容对象,用于替代原来以URL标识内容对象的缓存方法的优点和效果是将内容信息与URL相分离,这样做的优点是能够实现如下目标:
高效利用缓存空间:本发明中的缓存的内容不再单纯以URL进行标识,而是采用内容的MD5消息散列值进行辅助标识,URL只是内容的一个属性。这样,在缓存中,拥有不同URL的相同内容就只存有唯一的一份副本,不会造成重复存储,从而提高了缓存空间的利用率。
提高缓存空间中缓存的信息量,提高缓存利用率:由于缓存中拥有不同URL的相同内容都是只存有唯一的一份副本,不会重复存储,从而提高了缓存空间的利用率。
减少缓存间的通信流量:因本发明中的内容采用MD5消息散列值进行标识,所以缓存系统可以识别出不同的URL是否指向相同内容。对于相同的内容,缓存之间不再需要进行重复传输,只需给相应的内容下面增设一条URL属性即可。这样就可以大大减少各个缓存之间的通信流量,节省了带宽资源。
附图说明
图1是本发明基于消息摘要进行内容标识的缓存方法操作步骤流程图。
图2是本发明方法实施例的系统架构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明是一种基于消息摘要进行内容标识的缓存方法,它是利用消息摘要算法第五版MD5对内容进行散列计算,得到其消息摘要,再把该消息摘要、即其内容的哈希值作为缓存中的每个独立内容的标识,用于替代原来缓存代理之间用统一资源定位符URL标识内容对象的标识方法,将内容信息与URL相分离,然后藉由该标识进行内容的查询与传输。
参见图1,介绍该方法的具体操作步骤:
步骤1,缓存代理接收到一个URL查询请求后,查询本地缓存是否有该URL指向内容的副本并做出相应反应;若未缓存,则执行步骤2。该步骤包括下列操作内容:
(11)缓存代理A接收到URL查询请求后(请求的URL采用u表示),先查询本地数据库,即查询该URL指向的内容在本地是否有缓存;若有缓存,则直接响应该查询请求;若无缓存,则执行步骤(12)
(12)缓存代理A向邻近的缓存代理查询其是否缓存该URL指向的内容,即执行步骤2。
步骤2,缓存代理向邻近的缓存代理查询并请求该URL指向内容的副本。该步骤包括下列操作内容:
(21)缓存代理A向邻近的缓存代理广播其报文中携带有URL信息的查询请求;
(22)邻近的缓存代理接收到其报文中携带有URL信息的查询请求,分别在各自数据库中查找该URL指向的内容在本地是否有缓存;若存有缓存,则向发送查询请求的缓存代理A回应缓存命中报文,并在该报文中包含该内容的标识,即内容的消息摘要算法第五版MD5的散列计算哈希值,跳转执行步骤(24);若没有缓存,则向缓存代理A回应缓存未命中报文,顺序执行步骤(23);
(23)发送查询请求的缓存代理A若在超时前还未接收到缓存命中报文,则直接向源内容服务器请求查询并请求该URL指向的内容后,跳转执行步骤3;
(24)发送查询请求的缓存代理A接收到缓存命中报文,得到指定内容的标识,就在本地数据库查询该标识是否已存在;若该标识已存在于本地数据库,则顺序执行步骤(25),否则,跳转执行步骤(26);
(25)缓存代理A在数据库中增加一项该查询请求的URL,并把该查询请求的URL与该标识进行关联,再用该标识对应的内容响应原始的URL查询请求;
(26)缓存代理A从对应的邻近缓存代理下载该内容后,即执行步骤3。
步骤3,缓存代理将获取的存储内容的副本存储于本地,再计算该内容的MD5散列值,并以该散列值标识该内容;并对该URL查询请求作出响应。该步骤3包括下列操作内容:
(31)缓存代理A将下载的内容存入本地数据库,再计算该内容的MD5散列值,并以该哈希值作为该内容的唯一标识;
(32)缓存代理A在数据库中为该查询请求的URL增加一项,并把该查询请求的URL与计算出的标识、即该内容的哈希值进行关联,再用该缓存的内容响应原始的URL查询请求。
参见图2,介绍本发明方法已经进行的多次实施例试验的情况:
图中的网站A和网站B都拥有同一份资源。但是,该资源在网站A中的URL是www.aaa.com/image,而在网站B中的URL为www.bbb.com/icon。
初始情况下,缓存代理A缓存有URL www.aaa.com/image,而缓存代理B缓存有URL www.bbb.com/icon。
当用户X向缓存代理A请求内容的URL www.bbb.com/icon时,如果采用传统方法,则该缓存代理A需要重新下载资源。但是,如果采用本发明方法所实现的系统中,就不需要重新下载资源,也不要重复缓存资源。其处理过程为:
(1)某个用户X向缓存代理A请求其URL为www.bbb.com/icon的资源。
(2)缓存代理A查询其数据库,发现URL为www.bbb.com/icon的资源不在表中。
(3)缓存代理A向邻近缓存代理(即缓存代理B)广播查询请求。
(4)缓存代理B返回缓存命中消息,并在该消息中携带URL为www.bbb.com/icon所指向资源的标识m。
(5)缓存代理A发现数据库中存储有标识m,就不再重新下载该资源,而是在数据库中加入其URL为www.bbb.com/icon的表项,表明该URL所指向的资源的标识为m。
(6)缓存代理A用m标识的资源响应用户X.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (4)
1.一种基于消息摘要进行内容标识的缓存方法,其特征在于:利用消息摘要算法第五版MD5对内容进行散列计算,得到其消息摘要,再把该消息摘要、即其内容的哈希值作为缓存中的每个独立内容的标识,用于替代原来缓存代理之间用统一资源定位符URL标识内容对象的标识方法,将内容信息与URL相分离,然后藉由该标识进行内容的查询与传输;所述方法包括下列操作步骤:
(1)缓存代理接收到一个URL查询请求后,查询本地缓存是否有该URL指向内容的副本并做出相应反应;若未缓存,则执行步骤(2);
(2)缓存代理向邻近的缓存代理查询并请求该URL指向内容的副本;
(3)缓存代理将获取的存储内容的副本存储于本地,再计算该内容的MD5散列值,并以该散列值标识该内容;并对该URL查询请求作出响应。
2.根据权利要求1所述的方法,其特征在于,所述步骤(1)包括下列操作内容:
(11)缓存代理接收到URL查询请求后,先查询本地数据库,即查询该URL指向的内容在本地是否有缓存;若有缓存,则直接响应该查询请求;若无缓存,则执行步骤(12)
(12)缓存代理向邻近的缓存代理查询其是否缓存该URL指向的内容,即执行步骤(2)。
3.根据权利要求1所述的方法,其特征在于,所述步骤(2)包括下列操作内容:
(21)缓存代理向邻近的缓存代理广播其报文中携带有URL信息的查询请求;
(22)邻近的缓存代理接收到其报文中携带有URL信息的查询请求,分别在各自数据库中查找该URL指向的内容在本地是否有缓存;若存有缓存,则向发送查询请求的缓存代理回应缓存命中报文,并在该报文中包含该内容的标识,即内容的消息摘要算法第五版MD5的散列计算哈希值,跳转执行步骤(24);若没有缓存,则向发送查询请求的缓存代理回应缓存未命中报文,顺序执行步骤(23);
(23)发送查询请求的缓存代理若在超时前还未接收到缓存命中报文,则直接向源内容服务器请求查询并请求该URL指向的内容后,跳转执行步骤(3);
(24)发送查询请求的缓存代理接收到缓存命中报文,得到指定内容的标识,就在本地数据库查询该标识是否已存在;若该标识已存在于本地数据库,则顺序执行步骤(25),否则,跳转执行步骤(26);
(25)发送查询请求的缓存代理在数据库中增加一项该查询请求的URL,并把该查询请求的URL与该标识进行关联,再用该标识对应的内容响应原始的URL查询请求;
(26)发送查询请求的缓存代理从对应的邻近缓存代理下载该内容后,即执行步骤(3)。
4.根据权利要求1所述的方法,其特征在于,所述步骤(3)包括下列操作内容:
(31)缓存代理将下载的内容存入本地数据库,再计算该内容的MD5散列值,并以该哈希值作为该内容的唯一标识;
(32)缓存代理在数据库中为该查询请求的URL增加一项,并把该查询请求的URL与计算出的标识、即该内容的哈希值进行关联,再用该缓存的内容响应原始的URL查询请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110435724.5A CN102523299B (zh) | 2011-12-22 | 2011-12-22 | 基于消息摘要进行内容标识的缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110435724.5A CN102523299B (zh) | 2011-12-22 | 2011-12-22 | 基于消息摘要进行内容标识的缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102523299A true CN102523299A (zh) | 2012-06-27 |
CN102523299B CN102523299B (zh) | 2014-02-26 |
Family
ID=46294086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110435724.5A Expired - Fee Related CN102523299B (zh) | 2011-12-22 | 2011-12-22 | 基于消息摘要进行内容标识的缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102523299B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067973A (zh) * | 2012-12-29 | 2013-04-24 | 宁波华誉汽车电机有限公司 | 用于移动网络的数据下载方法 |
CN104270456A (zh) * | 2014-10-14 | 2015-01-07 | 中国科学院计算技术研究所 | 基于内容标识的互联网缓存应答系统及其方法 |
CN104426718A (zh) * | 2013-09-10 | 2015-03-18 | 方正宽带网络服务股份有限公司 | 数据监听服务器、缓存服务器和重定向下载方法 |
CN105159604A (zh) * | 2015-08-20 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘数据读写方法和系统 |
WO2017080459A1 (zh) * | 2015-11-10 | 2017-05-18 | 中兴通讯股份有限公司 | 服务内容的缓存及提供方法、装置、系统和存储介质 |
CN106850817A (zh) * | 2012-12-10 | 2017-06-13 | 北京奇虎科技有限公司 | 一种下载管理设备、方法及数据下载系统 |
CN109558421A (zh) * | 2018-10-29 | 2019-04-02 | 中国建设银行股份有限公司 | 基于缓存的数据处理方法、系统、装置及存储介质 |
WO2023007276A1 (en) * | 2021-07-29 | 2023-02-02 | International Business Machines Corporation | Intersystem processing employing buffer summary groups |
US12008413B2 (en) | 2021-07-29 | 2024-06-11 | International Business Machines Corporation | Vector processing employing buffer summary groups |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070260701A1 (en) * | 2006-05-05 | 2007-11-08 | Lee Thomason | System and method for cacheing web files |
CN101809566A (zh) * | 2007-10-01 | 2010-08-18 | 微软公司 | 高效的文件散列标识符计算 |
CN101854391A (zh) * | 2010-05-25 | 2010-10-06 | 南京邮电大学 | 一种基于对等网络的阿瑞斯协议分析系统的实现方法 |
-
2011
- 2011-12-22 CN CN201110435724.5A patent/CN102523299B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070260701A1 (en) * | 2006-05-05 | 2007-11-08 | Lee Thomason | System and method for cacheing web files |
CN101809566A (zh) * | 2007-10-01 | 2010-08-18 | 微软公司 | 高效的文件散列标识符计算 |
CN101854391A (zh) * | 2010-05-25 | 2010-10-06 | 南京邮电大学 | 一种基于对等网络的阿瑞斯协议分析系统的实现方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850817A (zh) * | 2012-12-10 | 2017-06-13 | 北京奇虎科技有限公司 | 一种下载管理设备、方法及数据下载系统 |
CN103067973A (zh) * | 2012-12-29 | 2013-04-24 | 宁波华誉汽车电机有限公司 | 用于移动网络的数据下载方法 |
CN103067973B (zh) * | 2012-12-29 | 2015-10-21 | 宁波华誉汽车电机有限公司 | 用于移动网络的数据下载方法 |
CN104426718A (zh) * | 2013-09-10 | 2015-03-18 | 方正宽带网络服务股份有限公司 | 数据监听服务器、缓存服务器和重定向下载方法 |
CN104426718B (zh) * | 2013-09-10 | 2018-04-13 | 方正宽带网络服务股份有限公司 | 数据监听服务器、缓存服务器和重定向下载方法 |
CN104270456A (zh) * | 2014-10-14 | 2015-01-07 | 中国科学院计算技术研究所 | 基于内容标识的互联网缓存应答系统及其方法 |
CN104270456B (zh) * | 2014-10-14 | 2018-03-30 | 中国科学院计算技术研究所 | 基于内容标识的互联网缓存应答系统及其方法 |
CN105159604A (zh) * | 2015-08-20 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘数据读写方法和系统 |
WO2017080459A1 (zh) * | 2015-11-10 | 2017-05-18 | 中兴通讯股份有限公司 | 服务内容的缓存及提供方法、装置、系统和存储介质 |
CN109558421A (zh) * | 2018-10-29 | 2019-04-02 | 中国建设银行股份有限公司 | 基于缓存的数据处理方法、系统、装置及存储介质 |
WO2023007276A1 (en) * | 2021-07-29 | 2023-02-02 | International Business Machines Corporation | Intersystem processing employing buffer summary groups |
US12008413B2 (en) | 2021-07-29 | 2024-06-11 | International Business Machines Corporation | Vector processing employing buffer summary groups |
Also Published As
Publication number | Publication date |
---|---|
CN102523299B (zh) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102523299B (zh) | 基于消息摘要进行内容标识的缓存方法 | |
US11909639B2 (en) | Request routing based on class | |
US10511567B2 (en) | Network resource identification | |
JP5697675B2 (ja) | データ通信高速化および効率化のためのシステムおよびその方法 | |
US8606996B2 (en) | Cache optimization | |
KR101379864B1 (ko) | 네트워크 연산 요소들을 이용한 요청 라우팅 | |
CN102771080A (zh) | 使用缓存的高效媒体传送的系统和方法 | |
US10547705B2 (en) | Caching proxy method and apparatus | |
CN102143212A (zh) | 一种内容分发网络中缓存共享的方法及装置 | |
US9407716B1 (en) | Identifying content files in a cache using a response-based cache index | |
CN103248666A (zh) | 一种离线下载资源的系统、方法及装置 | |
Li et al. | SCOM: A scalable content centric network architecture with mobility support | |
CN103118045A (zh) | 一种离线下载的方法及系统 | |
JP4243150B2 (ja) | コンテンツ配信システムおよび利用者端末装置 | |
CN110741361B (zh) | 资源查询处理方法、装置、计算机设备和存储介质 | |
CN101753403A (zh) | 一种网络资源的下载方法 | |
JP2008293281A (ja) | キャッシュ装置、サーバ、キャッシュシステム、キャッシュ方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140226 Termination date: 20191222 |