CN102843426B - 基于智能父节点的Web缓存资源共享系统和方法 - Google Patents
基于智能父节点的Web缓存资源共享系统和方法 Download PDFInfo
- Publication number
- CN102843426B CN102843426B CN201210281673.XA CN201210281673A CN102843426B CN 102843426 B CN102843426 B CN 102843426B CN 201210281673 A CN201210281673 A CN 201210281673A CN 102843426 B CN102843426 B CN 102843426B
- Authority
- CN
- China
- Prior art keywords
- node
- resource
- web cache
- intelligent
- request
- 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
Links
Abstract
本发明公开了基于智能父节点的Web缓存资源共享系统和方法,进一步降低缓存系统的回源带宽和降低对源站的访问压力。其技术方案为:系统包括:多个Web缓存节点,用于缓存资源,接收用户请求,并将用户请求对应的资源返回给用户;源站服务器,存储源数据;缓存资源列表池,接收多个Web缓存节点的资源上报,形成所有Web缓存节点的资源清单;智能父节点,接收一Web缓存节点的请求,向缓存资源列表池查询所要请求的资源的缓存位置,通过重定向实现多个Web缓存节点间的资源共享调度。
Description
技术领域
本发明涉及Web缓存系统,尤其涉及基于Http协议的利用智能父节点实现的Web缓存资源共享系统和方法。
背景技术
Web缓存(Webcache)是基于Http协议的缓存系统,系统主要功能是缓存静态资源,当有用户来访问的时候,判断是否为其本身缓存的资源,若有缓存,则直接返回资源给用户,否则代理用户向源站请求该资源,再返回给用户,并判断该资源是否能够缓存,若能则缓存。引入Web缓存系统能够起到以下3个方面的作用:
1:减少源站访问压力;
2:降低源站吐出带宽,缓解骨干网带宽压力;
3:由于CACHE系统往往部署在离用户较近的地方,因此还能起到加速的效果。
传统的Web缓存系统的访问步骤如图1所示,第一步,用户10向多个Web缓存节点12请求某个资源,若其中某个Web缓存节点包含该资源,则转入第四步,否则转入第二步;第二步,对Web缓存节点未缓存的资源,Web缓存节点向源站14请求该资源;第三步,源站14返回资源给Web缓存节点12;第四步,Web缓存节点12返回资源给用户10。
现有的Web缓存系统中,可以通过设置父节点的方式,实现缓存系统间的资源调度,因为传统的父节点本身也是一个缓存系统,可以响应子Web缓存节点的请求。若某缓存系统设置父节点,则其收到资源请求后,若请求的内容未缓存,并不直接回源,而是向父节点请求该资源。
基于传统父节点的缓存访问为如图2所示:
步骤1:用户20向Web缓存节点22请求某个资源,若某个Web缓存节点22包含该资源,则转入步骤6,否则转入步骤2。
步骤2:对Web缓存节点未能缓存的东西,Web缓存节点22向父节点24请求该资源。父节点24收到请求,也先查看自己有包含请求的资源,若有则转入步骤5,否则转入步骤3。
步骤3:父节点24向源站26请求资源。
步骤4:源站26给父节点24响应请求的资源。
步骤5:父节点24响应资源给子节点(即Web缓存节点22)。
步骤6:Web缓存节点22响应用户20的请求。
基于传统父节点的缓存访问有以下的一些不足:
传统的父节点因为其本身也是普通的Web缓存系统,因此其收到其他缓存节点请求后的处理流程也跟普通的缓存一样,即若该父节点缓存了该资源则直接返回资源,否则回源站请求资源,再响应给下级缓存节点。传统这种父节点主要承担的代理的角色,其主要作用是改变的用户请求所走的路径,子缓存节点和父缓存节点虽然也能够实现一定程度的资源共享,但只是基于两级缓存系统间的资源共享,而不能在全局缓存节点实现资源共享。因为按照现有的父节点工作模式,所要实现所有缓存系统间的资源共享则,则所有的缓存系统均采用同一个父缓存系统,这种工作模式的弊端是很明显的,即所有缓存请求都会引导到同一个父缓存系统,父缓存系统的访问压力将成成倍增长,一旦父节点故障,将导致全局缓存系统不可用。所以传统的父节点工作模式不合适用来做缓存间的共享调度。
发明内容
本发明的目的在于解决上述问题,提供了一种基于智能父节点的Web缓存资源共享系统,进一步降低缓存系统的回源带宽和降低对源站的访问压力。
本发明的另一目的在于提供了一种基于智能父节点的Web缓存资源共享方法,进一步降低缓存系统的回源带宽和降低对源站的访问压力。
本发明的技术方案为:本发明揭示了一种基于智能父节点的Web缓存资源共享系统,包括:
多个Web缓存节点,用于缓存资源,接收用户请求,并将用户请求对应的资源返回给用户;
源站服务器,存储源数据;
缓存资源列表池,接收多个Web缓存节点的资源上报,形成所有Web缓存节点的资源清单;
智能父节点,接收一Web缓存节点的请求,向缓存资源列表池查询所要请求的资源的缓存位置,通过重定向实现多个Web缓存节点间的资源共享调度。
根据本发明的基于智能父节点的Web缓存资源共享系统的一实施例,缓存资源列表池根据来自智能父节点的查询请求,查询包含请求对应的资源的缓存节点地址列表,并将节点地址列表返回给智能父节点,其中若没有Web缓存节点包含该资源则返回的节点地址列表为空。
根据本发明的基于智能父节点的Web缓存资源共享系统的一实施例,智能父节点包括:
查询单元,根据接收到的Web缓存节点的请求,向缓存资源列表池查找是否其他的Web缓存节点缓存了请求对应的资源;
地址返回单元,根据缓存资源列表池返回的节点地址列表,以Http协议中的调度方式响应给提出请求的Web缓存节点。
根据本发明的基于智能父节点的Web缓存资源共享系统的一实施例,所述Http协议中的调度方式是Http协议中的302调度方式。
本发明还揭示了一种基于智能父节点的Web缓存资源共享方法,包括:
步骤1:一Web缓存节点接收用户的资源请求,该Web缓存节点查询自身是否包含所请求的资源,若包括则直接返回资源给用户,否则向智能父节点发起资源请求;
步骤2:智能父节点向缓存资源列表池查找是否有其他的Web缓存节点缓存了该资源;
步骤3:缓存资源列表池将查询结果返回给智能父节点;
步骤4:智能父节点通过重定向实现多个Web缓存节点间的资源共享调度。
根据本发明的基于智能父节点的Web缓存资源共享方法的一实施例,在步骤3中,缓存资源列表池根据来自智能父节点的查询请求,查询包含请求对应的资源的缓存节点地址列表,并将节点地址列表返回给智能父节点,其中若没有Web缓存节点包含该资源则返回的节点地址列表为空。
根据本发明的基于智能父节点的Web缓存资源共享方法的一实施例,在步骤4进一步包括:
智能父节点根据节点地址列表进行处理:若节点地址列表为空,则指示该Web缓存节点向源站服务器请求资源,否则指示该Web缓存节点向包含该资源的其他Web缓存节点请求资源;
该Web缓存节点接收到来自源站服务器或者其他Web缓存节点提供的资源后,返回该资源给用户。
根据本发明的基于智能父节点的Web缓存资源共享方法的一实施例,智能父节点对该Web缓存节点的指示是通过构造Http协议中的302调度方式来实现的。
本发明对比现有技术有如下的有益效果:本发明的方案是设置一个智能父节点,其与传统父节点的主要区别是智能父节点并不适缓存系统,本身不缓存资源,主要起到对缓存系统智能引导的作用。传统的缓存节点往往是独立存在的,缓存节点在在收到用户请求,若缓存系统不存在用户请求的资源往往直接回源站请求资源或向父节点请求,。这样不同的缓存节点存在重复缓存或对同一个资源都需要向源站回源的问题。相较于现有技术,本发明进一步降低了缓存系统的回源带宽和降低对源站的访问压力。
附图说明
图1示出了传统的Web缓存系统的访问流程。
图2示出了基于传统父节点的Web缓存系统的访问流程。
图3示出了本发明的基于智能父节点的Web缓存资源共享系统的结构图。
图4示出了本发明的基于智能父节点的Web缓存资源共享系统的一个实例的访问流程。
图5示出了图3实施例的智能父节点的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图3示出了本发明的基于智能父节点的Web缓存资源共享系统的较佳实施例的结构。请参见图3,本实施例的系统包括:多个Web缓存节点(包括Web缓存节点31、35)、源站服务器34、缓存资源列表池33、智能父节点32。
Web缓存节点31和35就是传统的缓存系统,用于缓存静态资源,接收用户的资源请求,并将用户请求对应的资源返回给用户。源站服务器34存储源数据;
缓存资源列表池33接收各个Web缓存节点(例如Web缓存节点31、35)的资源上报,形成所有Web缓存节点的资源清单。
智能父节点32接收Web缓存节点31的请求,向缓存资源列表池33查询所要请求的资源的缓存位置,通过重定向实现多个Web缓存节点间的资源共享调度。
缓存资源列表池33根据来自智能父节点32的查询请求,查询包含请求对应的资源的缓存节点地址列表,并将节点地址列表返回给智能父节点32,其中若没有Web缓存节点包含该资源则返回的节点地址列表为空。
智能父节点32的具体结构如图5所示,包括查询单元320和地址返回单元322。其中查询单元320根据接收到的Web缓存节点31的请求,向缓存资源列表池33查找是否其他的可用的Web缓存节点(例如Web缓存节点35)缓存了请求对应的资源。
地址返回单元322根据缓存资源列表池33返回的节点地址列表,以Http协议中的调度方式响应给提出请求的Web缓存节点(例如Web缓存节点31)。例如,Http协议中的调度方式是Http协议中的302调度方式。
请继续参阅图3,基于本实施例的系统,基于智能父节点的Web缓存资源共享方法的各个步骤说明如下。
步骤1:用户30向Web缓存节点31请求资源,Web缓存节点31若包含该资源则转入步骤10,否则转入步骤2;
步骤2:Web缓存节点31向智能父节点32发起资源请求;
步骤3:智能父节点32在收到Web缓存节点31的请求,则向缓存资源列表池33查找是否其他Web缓存节点缓存了该资源。
步骤4:缓存资源列表池33查询返回包含该资源的缓存地址列表给智能父节点,若没有其他Web缓存节点(例如Web缓存节点35)包含该资源则地址列表为空。
步骤5:智能父节点32根据缓存资源列表池33返回的地址构造302响应给Web缓存节点31,若资源列表池返回的地址为空则,则构造的302目的地址为源地址,并转入步骤8。否则构造的302目的地址为Web缓存节点35,转入步骤6。
步骤6:Web缓存节点31向包含该资源的其他Web缓存节点35请求资源。
步骤7:其他Web缓存节点35返回资源给Web缓存节点31。
步骤8:Web缓存节点31向源站服务器34请求资源。
步骤9:源站服务器34响应资源给Web缓存节点31。
步骤10:Web缓存节点31返回资源给用户30。
现在举一实例来说明基于智能父节点的共享调度流程,请参阅图4,我们假设个模块资源如下:有四台CACHE系统IP分别为:211.138.128.34,111.128.3.5,111.128.3.130,113.18.7.8。
资源共享系统IP为:117.136.11.55
智能父节点IP为:180.178.192.66
假设资源共享系统维护了如下缓存信息。211.138.128.34,111.128.3.5缓存了资源http://down.9game.cn/73/11393/0/0/0/11393htc.rar。111.128.3.130和113.18.7.8未缓存该资源。
步骤1:用户向Web缓存节点111.128.3.130请求资源:
http://down.9game.cn/73/11393/0/0/0/11393htc.rar
步骤2:Web缓存节点111.128.3.130发现其本身未缓存该资源,因此向智能父节点180.178.192.66请求该资源。
步骤3:智能父节点180.178.192.66向资源共享列表池117.136.11.55查询都有哪些Web缓存节点缓存资源:
http://down.9game.cn/73/11393/0/0/0/11393htc.rar。
步骤4:资源列表池通过其为维护的资源列表,返回给智能父两个Web缓存节点的IP地址211.138.128.34和111.128.3.5
步骤5:智能父节点根据返回的IP列表,结合发起该请求的Web缓存节点的IP(111.128.3.130)从中选择重定向IP为111.128.3.5,并给111.128.3.130返回302响应。当智能父节点返回的CACHEIP为多个时,系统主要采取比对请求的CACHEIP,和智能父返回的CACHEIP的相似度来决定的,计算IP相似度的过程如下:
a)将IP转换为相应的数值,假设IP为a.b.cd则其转换为数值为:
digit(ip)=a*256^3+b*256^2+c*256+d。
因此
digit(111.128.3.130)=111*256^3+128*256^2+3*256+130=1870660482
digit(211.138.128.34)=211*256^3+138*256^2+128*256+34=3549069346
digit(111.128.3.5)=111*256^3+128*256^2+3*256+5=1870660357
b)对比请求Web缓存节点的IP与响应Web缓存节点的IP的相似度各为:
|digit(111.128.3.130)-digit(211.138.128.34)|=1678408864
|digit(111.128.3.130)-digit(111.128.3.5)|=125
c)因为1678408864>125,所以111.128.3.5与111.128.3.130的相似度最高,因此智能父节点选择111.128.3.5对Web缓存节点做302重定向。
步骤6:Web缓存节点111.128.3.130根据智能父节点返回的重定向响应,向Web缓存节点111.128.3.5发起资源请求。
步骤7:111.128.3.5直接将其缓存的资源返回给111.128.3.130。
步骤8:111.128.3.130在收到资源响应后,返回给用户,并做缓存。
综上,基于智能父节点的共享调度必须依赖两个主要的部件即Web缓存资源列表池和智能父节点。由智能父节点负责定位资源位置,利用HTTP协议中302调度方式对各子Web缓存系统的相互调度,由于302响应是标准HTTP协议的调度方式,因此采用这种调度方式来实现资源共享,不需要对原有的Web缓存系统有任何改动。由于智能父节点只实现了资源定位和调度功能,而不需要传统缓存代理的功能,因此其性能开销比传统的父节点少,且能够精确定位资源的所在位置,实现有效的共享调度。
上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。
Claims (6)
1.一种基于智能父节点的Web缓存资源共享系统,包括:
多个Web缓存节点,用于缓存资源,接收用户请求,并将用户请求对应的资源返回给用户;
源站服务器,存储源数据;
缓存资源列表池,接收多个Web缓存节点的资源上报,形成所有Web缓存节点的资源清单;
智能父节点,接收一Web缓存节点的请求,向缓存资源列表池查询所要请求的资源的缓存位置,通过重定向实现多个Web缓存节点间的资源共享调度,重定向是指以Http协议中的302调度方式响应给提出请求的Web缓存节点。
2.根据权利要求1所述的基于智能父节点的Web缓存资源共享系统,其特征在于,缓存资源列表池根据来自智能父节点的查询请求,查询包含请求对应的资源的缓存节点地址列表,并将节点地址列表返回给智能父节点,其中若没有Web缓存节点包含该资源则返回的节点地址列表为空。
3.根据权利要求2所述的基于智能父节点的Web缓存资源共享系统,其特征在于,智能父节点包括:
查询单元,根据接收到的Web缓存节点的请求,向缓存资源列表池查找是否其他的Web缓存节点缓存了请求对应的资源;
地址返回单元,根据缓存资源列表池返回的节点地址列表,以Http协议中的调度方式响应给提出请求的Web缓存节点。
4.一种基于智能父节点的Web缓存资源共享方法,包括:
步骤1:一Web缓存节点接收用户的资源请求,该Web缓存节点查询自身是否包含所请求的资源,若包括则直接返回资源给用户,否则向智能父节点发起资源请求;
步骤2:智能父节点向缓存资源列表池查找是否有其他的Web缓存节点缓存了该资源;
步骤3:缓存资源列表池将查询结果返回给智能父节点;
步骤4:智能父节点通过重定向实现多个Web缓存节点间的资源共享调度,重定向是指以Http协议中的302调度方式响应给提出请求的Web缓存节点。
5.根据权利要求4所述的基于智能父节点的Web缓存资源共享方法,其特征在于,在步骤3中,缓存资源列表池根据来自智能父节点的查询请求,查询包含请求对应的资源的缓存节点地址列表,并将节点地址列表返回给智能父节点,其中若没有Web缓存节点包含该资源则返回的节点地址列表为空。
6.根据权利要求5所述的基于智能父节点的Web缓存资源共享方法,其特征在于,在步骤4进一步包括:
智能父节点根据节点地址列表进行处理:若节点地址列表为空,则指示该Web缓存节点向源站服务器请求资源,否则指示该Web缓存节点向包含该资源的其他Web缓存节点请求资源;
该Web缓存节点接收到来自源站服务器或者其他Web缓存节点提供的资源后,返回该资源给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210281673.XA CN102843426B (zh) | 2012-08-09 | 2012-08-09 | 基于智能父节点的Web缓存资源共享系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210281673.XA CN102843426B (zh) | 2012-08-09 | 2012-08-09 | 基于智能父节点的Web缓存资源共享系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102843426A CN102843426A (zh) | 2012-12-26 |
CN102843426B true CN102843426B (zh) | 2015-11-18 |
Family
ID=47370479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210281673.XA Active CN102843426B (zh) | 2012-08-09 | 2012-08-09 | 基于智能父节点的Web缓存资源共享系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102843426B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933654A (zh) * | 2017-03-17 | 2017-07-07 | 中山大学 | 一种基于缓存的虚拟机启动方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103269353B (zh) * | 2013-04-19 | 2016-11-02 | 网宿科技股份有限公司 | Web缓存回源优化方法及Web缓存系统 |
CN104618430A (zh) * | 2014-12-25 | 2015-05-13 | 华为技术有限公司 | 一种实现互联网缓存系统资源回源的方法和系统 |
CN109347925B (zh) | 2014-12-31 | 2021-07-09 | 华为技术有限公司 | 缓存方法、缓存边缘服务器、缓存核心服务器和缓存系统 |
CN106357432B (zh) * | 2016-08-30 | 2019-06-11 | 厦门鑫点击网络科技股份有限公司 | 基于web服务器的混合式虚拟主机管理平台 |
US20200073905A1 (en) | 2016-12-09 | 2020-03-05 | Intel Corporation | Technologies for cross-device shared web resource cache |
CN108259521B (zh) * | 2016-12-28 | 2021-02-23 | 中国移动通信集团浙江有限公司 | 热点资源共享方法及装置 |
CN110392074B (zh) * | 2018-04-19 | 2022-05-17 | 贵州白山云科技股份有限公司 | 一种基于动态加速的调度方法及装置 |
CN109413163B (zh) * | 2018-10-09 | 2021-08-03 | 网宿科技股份有限公司 | 一种服务访问的方法及装置 |
CN110636104B (zh) * | 2019-08-07 | 2022-05-10 | 咪咕视讯科技有限公司 | 一种资源请求方法、电子设备及存储介质 |
CN110430286A (zh) * | 2019-08-30 | 2019-11-08 | 杭州领智云画科技有限公司 | Cdn系统中获取资源的方法、装置、设备及存储介质 |
CN114629919A (zh) * | 2022-03-31 | 2022-06-14 | 北京百度网讯科技有限公司 | 资源获取方法、装置、设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101640623A (zh) * | 2008-07-31 | 2010-02-03 | 国际商业机器公司 | 在对等网络中搜索资源的方法和设备 |
-
2012
- 2012-08-09 CN CN201210281673.XA patent/CN102843426B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101640623A (zh) * | 2008-07-31 | 2010-02-03 | 国际商业机器公司 | 在对等网络中搜索资源的方法和设备 |
Non-Patent Citations (1)
Title |
---|
"合作式Web缓存系统的性能分析";杨玉海等;《计算机研究与发展》;20030531;第757-763页 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933654A (zh) * | 2017-03-17 | 2017-07-07 | 中山大学 | 一种基于缓存的虚拟机启动方法 |
CN106933654B (zh) * | 2017-03-17 | 2020-08-28 | 中山大学 | 一种基于缓存的虚拟机启动方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102843426A (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102843426B (zh) | 基于智能父节点的Web缓存资源共享系统和方法 | |
US20200099606A1 (en) | Distrubuted testing service | |
CN102143243B (zh) | 动态路由处理方法和装置及其家庭网关 | |
US9749445B2 (en) | System and method for updating service information for across-domain messaging in a transactional middleware machine environment | |
CN101969468B (zh) | 查询服务器集群系统及查询方法 | |
US20140237085A1 (en) | Communication method of content requester and content provider to provide content and real-time streaming content in content-centric network (ccn) based on content name | |
CN104090897B (zh) | 访问元数据的方法、服务器及系统 | |
CN103209223A (zh) | 分布式应用会话信息共享方法、系统和应用服务器 | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN108156013A (zh) | 一种页面服务容灾方法、装置及电子设备 | |
US11263270B1 (en) | Heat balancing in a distributed time-series database | |
CN102790784A (zh) | 分布式缓存方法及系统、缓存解析方法及解析系统 | |
JP2015515076A (ja) | メモリ要素の割当てのために一方向リンク付けリストを区分化するシステム及び方法 | |
JP2017537404A (ja) | メモリアクセス方法、スイッチ、およびマルチプロセッサシステム | |
CN105592163A (zh) | 一种通信方法及系统 | |
KR100901281B1 (ko) | 유비쿼터스 웹서비스 방법 | |
CN104598615A (zh) | 一种支持数据持久化的内存存取方法和装置 | |
CN103107944A (zh) | 一种内容定位方法和路由设备 | |
CN107493309B (zh) | 一种分布式系统中的文件写入方法及装置 | |
US9547590B2 (en) | Managing memory | |
KR101663412B1 (ko) | 사물 인터넷에서 dds 기반 사물 품질의 설정 방법 | |
WO2014190700A1 (zh) | 一种内存访问的方法、缓冲调度器和内存模块 | |
CN101599910A (zh) | 报文发送的方法及设备 | |
CN111262904B (zh) | 服务代理系统及方法 | |
CN113301173A (zh) | 域名更新系统及方法、消息转发方法、服务器 |
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 |