CN104994152A - 一种Web协同缓存系统和方法 - Google Patents

一种Web协同缓存系统和方法 Download PDF

Info

Publication number
CN104994152A
CN104994152A CN201510373099.4A CN201510373099A CN104994152A CN 104994152 A CN104994152 A CN 104994152A CN 201510373099 A CN201510373099 A CN 201510373099A CN 104994152 A CN104994152 A CN 104994152A
Authority
CN
China
Prior art keywords
buffer memory
child node
popular
memory child
centralized controller
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
Application number
CN201510373099.4A
Other languages
English (en)
Other versions
CN104994152B (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201510373099.4A priority Critical patent/CN104994152B/zh
Publication of CN104994152A publication Critical patent/CN104994152A/zh
Application granted granted Critical
Publication of CN104994152B publication Critical patent/CN104994152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种Web协同缓存系统,包括:一个集中控制器和两个或两个以上的缓存子节点;所述缓存子节点的缓存摘要包括本地摘要和流行摘要;所述流行摘要,用于维护所述缓存子节点从其相邻节点获取的所有Web对象的路由信息;所述集中控制器包括,全局摘要,用于保存属于所述集中控制器的所有缓存子节点的本地摘要信息。本发明还提供了一种用于上述系统的方法。本发明的技术方案能够减轻集中控制器的负载,减小集中控制器作为单一点失效的可能性,有效提高对系统资源的有效使用率,降低终端访问延迟和系统通信带宽开销,显著提高用户的网络服务质量。

Description

一种Web协同缓存系统和方法
技术领域
本发明涉及计算机网络传输控制领域,具体地说,本发明涉及一种Web协同缓存系统和方法。
背景技术
AP(Access Point,无线接入点),相当于连接有线网和无线网的桥梁,其主要作用是提供无线终端对以太网的访问。在典型的园区网络如企业和商场中部署众多AP,大量的移动终端通过这些AP接入互联网。大量WLAN终端的接入容易引起上行汇聚链路的拥塞,增加网络访问延迟,造成TCP吞吐量的下降。为了提高网络业务性能,通用的方案是利用网络缓存技术做Web加速。
网络缓存技术利用了Web对象访问的局部性原理,如果在接近终端的位置设置Web缓存节点,就可以把终端重复访问的热点对象部署在终端附近来提供内容服务,提高网络访问速度。这样大量终端访问的重复性内容就不需要每次都请求Internet源服务器,将大大节省接入与汇聚链路带宽。
当前缓存服务器往往部署在园区网络的出口附近,与出口路由器或主干路由节点互联。缓存服务器一般采用高性能的服务器实现,成本较高,而且容易在缓存服务器接入点形成网络拥塞。
另一方面,目前AP的硬件性能得到了很大提升,可以外接存储并且软件可编程,但大部分AP的计算和存储资源还很有限,例如通用的AP硬件配置如下:CPU频率为400MHz,内存大小128M,存储空间1GB。因此,单点AP网络缓存效果有限。
当前基于AP的缓存研究工作主要探讨单AP的网络缓存问题,用以提高家庭网络终端的访问速度。而目前大量的协同缓存系统,都针对缓存服务器设计,若直接应用在单个AP资源十分有限但数量较多的环境中,存在缓存路由控制复杂、容易形成单一失效点、缓存替换算法复杂度高和可扩展性差等问题。
中国发明专利申请CN104618450A提出了一种WLAN的WEB缓存系统和方法,通过在局域网内部署具有包含局域网内所有AP的缓存摘要的全局缓存摘要的缓存控制器来实现集中式的控制以及局域网内大量AP的分布式缓存,试图解决上述问题。但是,这种方案仍不理想,至少存在以下问题:1、在实际应用场景,比如大型商场或超市中,存在某些时段整个系统终端并发访问量会急剧增加的情况。此时,该方案中的AP与缓存控制器之间的交互容易变得异常频繁,网络拥塞程度加剧。如果缓存控制器并发处理能力不足以承受此并发量,那么极有可能造成缓存控制器崩溃失效,从而导致整个系统效率大幅降低;2、在系统实际部署中AP与缓存控制器之间的物理距离往往相隔较远,它们之间的通信延时将随着距离的增加而增加,而AP之间的距离往往相对较近,进而AP与缓存控制器之间的通信延迟往往成为整个终端请求延迟的主要瓶颈所在。
因此,现有的Web缓存系统部署方式在具有大量AP的WLAN场景下具有容易形成单一失效点、资源有效使用率低、存在终端访问延迟瓶颈以及系统通信带宽开销偏大等缺点。
发明内容
本发明的目的是提供一种能够克服上述技术问题,Web协同缓存的解决方案。
本发明提供了一种Web协同缓存系统,包括:一个集中控制器和两个或两个以上的缓存子节点;所述缓存子节点,用于接收来自与其相连的终端的对Web对象的请求,获取所述对象,并将所述对象发送给所述终端,所述缓存子节点的缓存摘要包括本地摘要和流行摘要;其中,所述本地摘要,用于维护所述缓存子节点的本地缓存存储的所有Web对象的目录信息;所述流行摘要,用于维护所述缓存子节点从其相邻节点获取的所有Web对象的路由信息;所述集中控制器,用于接收来自所述缓存子节点的请求,将所述对象的路由信息发送给所述缓存子节点,包括,全局摘要,用于保存属于所述集中控制器的所有缓存子节点的本地摘要信息。
优选地,所述缓存子节点还包括,负载上报模块,用于采集所述缓存子节点的负载信息,并将该信息上报给所述集中控制器;所述集中控制器还包括负载采集模块和调度模块;其中,所述负载采集模块,用于获取所述缓存子节点上报的所述负载信息,并将所述负载信息提供给所述调度模块;所述调度模块,用于根据所述全局摘要和所述负载信息,向所述缓存子节点提供所述对象的路由信息。
优选地,所述集中控制器还用于周期性地与属于所述集中控制器的所有所述缓存子节点进行数据同步,更新所述全局摘要。
优选地,所述缓存子节点还用于从所述流行摘要中删除失效的路由信息。
本发明还提供了一种用于上述系统的方法,包括:步骤102,缓存子节点接收终端对Web对象的请求;步骤104,所述缓存子节点根据所述请求检索其缓存摘要,根据所述检索结果获取所述对象。
优选地,所述步骤104进一步包括:所述缓存子节点根据所述请求检索所述缓存摘要,在所述对象在所述缓存摘要中的本地摘要中未命中的情况下,在所述缓存摘要中的流行摘要中检索所述对象,根据在所述流行摘要中的检索结果获取所述对象。
优选地,所述步骤104进一步包括:在所述对象在所述流行摘要中命中的情况下,所述缓存子节点根据所述流行摘要中关于所述对象的路由信息获取所述对象。
优选地,所述方法还包括:步骤106,在所述缓存子节点根据所述流行摘要中关于所述对象的路由信息获取所述对象无效的情况下,所述缓存子节点向所述请求指向的源服务器转发所述请求,从所述源服务器获取所述对象。
优选地,所述缓存子节点还用于从流行摘要中删除失效的路由信息,所述步骤106进一步包括:在所述缓存子节点根据所述流行摘要中关于所述对象的路由信息获取所述对象无效的情况下,所述缓存子节点将所述路由信息从所述流行摘要中删除。
优选地,所述步骤104进一步包括:在所述缓存子节点根据所述流行摘要中关于所述对象的路由信息获取所述对象有效,且所述缓存子节点的本地缓存未满的情况下,所述缓存子节点将所述对象存入所述本地缓存。
优选地,所述步骤104进一步包括:在所述对象在所述流行摘要中未命中的情况下,所述缓存子节点向集中控制器转发所述请求,根据所述集中控制器在其全局摘要中检索所述对象后的返回信息获取所述对象。
优选地,所述步骤104进一步包括:在所述集中控制器的返回信息为空的情况下,所述缓存子节点向所述请求指向的源服务器转发所述请求,从所述源服务器获取所述对象。
优选地,所述步骤104进一步包括:在所述集中控制器的返回信息为非空的情况下,所述缓存子节点根据所述返回信息中的路由信息获取所述对象。
优选地,所述步骤104进一步包括:在所述集中控制器的返回信息为非空的情况下,所述缓存子节点根据所述返回信息中的路由信息获取所述对象,并将所述路由信息添加至所述缓存子节点的所述流行摘要。
优选地,所述步骤104进一步包括:所述集中控制器的返回信息为所述全局摘要中包含所述对象的缓存子节点的列表。
优选地,所述缓存子节点还包括负载上报模块,用于采集所述缓存子节点的负载信息,并将该信息上报给所述集中控制器;所述集中控制器还包括负载采集模块和调度模块;其中,所述负载采集模块,用于获取所述缓存子节点上报的所述负载信息,并将所述负载信息提供给所述调度模块;所述调度模块,用于根据所述全局摘要和所述负载信息,向所述缓存子节点提供所述对象的路由信息;所述步骤104进一步包括:所述包含所述对象的缓存子节点的列表为根据所述列表中的缓存子节点的负载信息排列的缓存子节点列表。
与现有技术相比,本发明提出的技术方案具有以下优点:
本发明的技术方案能够最大程度的减轻集中控制器的负载,减小集中控制器作为单一点失效的可能性,有效提高对系统资源的有效使用率,降低终端访问延迟和系统通信带宽开销,显著提高用户的网络服务质量。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图不构成对于本发明的限制。
图1是根据本发明的一个实施例的WEB协同缓存系统的架构示意图;
图2是根据本发明的一个实施例的终端请求处理流程图;
图3是根据本发明的一个实施例的缓存摘要更新流程图;
图4是根据本发明的一个实施例的调度模块的工作流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步地描述。
图1示出了根据本发明的一个实施例的Web协同缓存系统的架构示意图,包括处于同一局域网中的一个作为控制平面的集中控制器和至少两个缓存子节点。在WLAN中,每个所述缓存子节点可以是WLAN中的一个AP。其中,对于每一个缓存子节点来说,与其属于同一个集中控制器的其他缓存子节点称为该缓存子节点的相邻节点。
根据本发明的一个实施例,所有的缓存子节点具有相同的结构,并且每个缓存子节点为与其直接相连的终端提供缓存服务。缓存子节点包括本地缓存、子摘要模块以及负载上报模块。其中,本地缓存用于存储并维护缓存子节点获取的Web对象;子摘要模块,用于提供Web对象检索服务,其进一步包括本地摘要和流行摘要,其中,本地摘要用于维护本地缓存存储的所有Web对象的目录信息,流行摘要用于维护缓存子节点从其相邻节点获取的所有有效Web对象的路由信息,本文将该路由信息称为局部流行目录,根据本发明的一个实施例,在搭建协同缓存系统时,对于某个缓存子节点来说,其相邻节点的具体ip地址、ap名称等信息均可以通过配置事先完成的,因此所述路由信息可不包含上述具体路由信息,仅为相应Web对象与相应相邻节点之间的映射关系信息,例如,相应Web对象与前述配置时相应相邻节点的名称标识之间的映射关系;负载上报模块,用于采集缓存子节点当前的负载信息(该负载信息包括但不限于缓存子节点的处理负载信息(诸如,缓存子节点的CPU占用率、内存使用率等)和缓存负载信息(诸如,缓存子节点的缓存空间占用情况、所缓存对象的价值等),等),并将该信息上报给集中控制器的对应模块,根据本发明的一个实施例,负载上报模块对于该信息的上报是周期性的,可以通过运行在AP上的简单网络管理协议(SNMP,Simple Network Management Protocol)的服务器端软件实现。
集中控制器包括全局摘要模块、负载采集模块和调度模块。其中,全局摘要模块用于维护保存有属于集中控制器的所有缓存子节点的本地摘要信息的全局摘要,提供Web对象检索服务;负载采集模块用于获取前述缓存子节点上报的负载信息,并将该负载信息提供给调度模块,根据本发明的一个实施例,负载采集模块对于缓存子节点上报的负载信息的获取是周期性的,可以通过运行在集中控制器上的SNMP客户端代理实现;调度模块用于根据全局摘要和负载信息进行调度决策,并将调度决策得到的路由信息返回给相应的缓存子节点。
根据本发明的一个实施例,集中控制器可以在逻辑上分为几台机器实现。比如,负载采集模块和全局摘要模块可以分开放置,以更好地避免集中控制器过载;可以将包含所有缓存子节点的本地缓存摘要的列表拆分成几个部分放置到不同的机器,前端添加Hash方法分配查询请求,以进一步提高全局摘要模块的查询效率。
根据本发明的一个实施例,集中控制器设置有热备,可以采用诸如Heartbeat组件来实现双机备份,可以配置备份机器具有相同的虚拟IP地址,以使当检测到主集中控制器失效时其服务可以被迅速接管,进一步减小集中控制器作为单一点失效的可能性。
接下来参考图2说明根据本发明的一个实施例的Web协同缓存系统的终端请求处理流程。
如图2所示,整个终端请求处理流程按照请求转发的顺序从左到右可以分为四个通道,每个通道从上至下将终端请求的对象O(i)返回给终端(client)。如果请求对象O(i)在前边的通道命中,就不需要再转发到后边的通道。现将具体流程描述如下:
每个缓存子节点会处理所有与其直接相连的终端的请求,所有终端请求被排入FIFO(先进先出)队列,等待依次处理。对于请求对象O(i),本地缓存子节点(即收到终端对对象O(i)的请求的缓存子节点)首先判断O(i)是否在其的本地摘要命中,若命中,则进入通道1;若未命中,则进入通道2。
通道1,本地缓存子节点的本地缓存根据预先设置的缓存替换算法更新O(i)的键值Key(i),并根据更新后的新键值调整O(i)在本地缓存的缓存列表中的排序。其中,排序在后面的对象会在缓存空间满时根据缓存替换算法被替换出本地缓存。最后,缓存子节点将O(i)组装成数据包(包括但不限于HTTP包)发送给终端。
其中,所述替换算法是指按照一定的价值判断规则对Web对象进行排序,缓存空间满时,替换出价值最低的对象;不同的算法有不同的对象O(i)的键值Key(i)(其中key值是缓存内容的排序键值,由缓存替换算法得到,key值越大,其排序越靠前,即被替换出去的可能性越小)的计算方式;根据本发明的一个实施例,可以采用现有的缓存替换算法,包括但不限于,基于访问时间的替换算法LRU,基于访问频率的替换算法LFU,以及基于对象大小的其他算法等。
通道2,判断对象O(i)是否在本地缓存子节点的子摘要模块中的流行摘要命中,如果命中,则本地缓存子节点根据流行摘要的命中结果向其指定的相邻节点转发该请求:
若无法取回有效的O(i),则直接向Internet源服务器转发该请求,如图2所示,进而直接转入通道4的后续步骤,进一步地,本地缓存子节点的子摘要模块进而判断所命中的流行摘要中的相应条目过时,并在流行摘要中删除该条目;
若取回了有效的O(i),则将其发送给终端,进一步地,若当前缓存子节点的本地缓存空间未满,则同样在本地缓存中存储该对象,进而能够充分利用缓存系统刚刚启动时本地缓存的空闲空间较多的特点,存储流行对象(即本地缓存子节点从相邻节点中获取到的Web对象),进一步提高终端的响应速度,避免下次请求该对象时再次请求相邻节点,进而降低系统流量占用;
如果O(i)没有在流行摘要中命中,则本地缓存子节点向集中控制器转发对对象O(i)的请求,集中控制器查询全局摘要,并向所述本地缓存子节点返回包含O(i)的缓存子节点列表L(i),该列表包含了所有保存有O(i)的相邻节点。如果L(i)非空,则进入通道3;如果L(i)为空,则进入通道4。
通道3,本地缓存子节点依次遍历缓存子节点列表L(i),向其中的相邻节点转发对对象O(i)的请求,直到请求到有效O(i)或者遍历完毕。如果获取到有效的O(i),本地缓存子节点的子摘要模块则将关于对象O(i)的信息动态添加到流行摘要,进而使得在其再次收到终端请求同样的对象O(i)时,本地缓存子节点可直接通过通道2处理,而不必再次向集中控制器发出查询请求,避免对集中控制器的频繁访问,进而有效降低集中控制器的负载。动态添加O(i)的信息到流行摘要之后的步骤与前述通道2中取回了有效的O(i)之后的步骤相同,此处不再赘述。
通道4,若整个系统中都没有查询到对象O(i),本地缓存子节点则向Internet源服务器直接请求获取该对象,并将获取的该对象存储于其本地缓存。与前述通道1中同样的,本地缓存子节点计算O(i)的键值Key(i),并将之插入本地缓存的缓存列表。进一步地,如果本地缓存空间已满,则触发本地缓存的缓存替换。
应用上述终端请求处理流程,可以使得终端的大部分请求在与其直接相连的缓存子节点中的通道1和通道2内进行快速查询和处理,通道3和4则利用集中控制器为该缓存子节点提供全局视图,进而提高全局缓存命中率。在上述终端请求处理流程中,集中控制器和缓存子节点之间只交互控制流信息,也即缓存子节点发送对象查询请求,集中控制器返回存有该对象的相邻节点信息,其中,根据本发明的一个实施例,查询请求的获取和应答,采用缓存间通信协议(Internet Cache Protocol,ICP)进行,所述ICP报文的数据结构中,通信头部分为传统的ICP报文数据结构,同时增加其所允许的最大长度以使其得以容纳前述缓存子节点列表L(i)。而对于实际的Web对象数据,则仅在缓存子节点之间发生传递,也即对Web对象的传送不经过集中控制器。根据统计,Web对象的平均大小为10KB,而对象查询包的主要内容为该对象的URL信息,平均为100B左右,大约只为该对象平均大小的1%,也即经过控制器的控制流相比缓存子节点之间传输的数据流,其比例是非常小的。因此,应用上述终端请求处理流程能够最大可能地减轻集中控制器的负载。
接下来参考图3说明根据本发明的一个实施例的Web协同缓存系统的缓存摘要更新流程。
如图3中虚线左侧所示,根据本发明的一个实施例,缓存子节点的子摘要模块中的本地摘要部分利用标准的Bloom Filter(BF)数据结构实现,以周期T1触发其更新。每次更新时,缓存子节点的子摘要模块依次遍历存储在本地缓存中的所有对象,仅将本地缓存中的“新鲜”且非“即将过期”的对象按照BF方法插入本地摘要,而在其他情况下均不对本地摘要进行任何操作。进一步地,在上述更新遍历过程中,缓存子节点将非“新鲜”和“即将过期”的对象从本地缓存中删除。
本文所述“新鲜”和“即将过期”,除非特别声明,否则都是针对对象或缓存摘要的最近被修改时间以及规定的最大存活时间而言的。根据本发明的一个实施例,其对应于HTTP协议报文中的Last-Modified和Max-age,即最近被修改时间离现在越长,其越不新鲜;其请求时间越长(最大为Max-age),其越不新鲜;而“即将过期”的定量则依赖于所选用的缓存替换算法。
根据本发明的一个实施例,缓存子节点的子摘要模块中的流行摘要部分是动态建立的,即每次从相邻节点获得有效对象后便将其信息插入该流行摘要。进一步地,可以使用Count Bloom Filter(CBF)数据格式实现该摘要,以支持对对象的删除操作,即如果按照旧摘要的查询结果没有从对应的相邻节点取回有效对象,则删除该条目,进而使得流行摘要能够实现动态的自我纠正过程,持续地保持其有效性,进而提高整体的查询效率和查询命中率。其中,所述CBF数据格式为以标准的BF为基础,其中的每一位被扩展为一个多于1位(bit)的计数器的数据结构,其中,所述计数器在每次插入元素时被加1,删除元素时被减1。进一步地,流行摘要的更新流程以周期T2触发,周期T2依赖于缓存子节点对于清空流行摘要的需求程度,根据本发明的一个实施例,缓存子节点的子摘要模块仅在流行摘要中存储的元素数量因多个条目“不新鲜”而超出一定限度时,才需要清空该摘要,故而此时才触发周期T2
如图3中虚线右侧所示,集中控制器的摘要更新是通过周期T3触发的。根据本发明的一个实施例,集中控制器的全局摘要使用标准的BF数据结构实现。集中控制器的全局摘要模块遍历所有的缓存子节点,依次请求并取回已经更新过的缓存子节点的本地摘要。其中,每个缓存子节点的本地摘要都有一个时间戳,如果该时间戳比集中控制器的全局摘要中相应摘要的时间戳新,则判定其为新生成摘要。而对于这一周期内,并没有更新本地摘要的缓存子节点,集中控制器则不更新相应的摘要。其中,本文所述的时间戳对应于缓存子节点的本地摘要的生成时刻或者最近被修改时刻,表明当前摘要信息被更新的时间。
应当理解,前述缓存子节点的本地摘要和集中控制器的全局摘要也可以使用基于其他算法的数据结构实现,例如,基于HASH算法的数据结构、基于树结构算法的数据结构,等等。
图4示出了根据本发明的一个实施例的集中控制器的调度模块的工作流程图,其流程如下:
步骤402,根据全局摘要定位到包含请求对象O(i)的所有缓存子节点P(i);
步骤404,在缓存子节点P(i)中,如果存在缓存空间未满的缓存子节点(即该缓存子节点上的缓存内容不会发生替换操作),则进入步骤410;
步骤406,如果其缓存空间已满,则选取其中Key(i)值大于相应的缓存替换算法中规定的最小键值的所有缓存子节点,若不存在满足该条件的缓存子节点,则表示所有请求对象O(i)在相邻节点中所对应的内容均属于将要被替换的内容,并进入步骤408;若存在满足该条件的缓存子节点,则选出这样的缓存子节点,进入步骤410;
步骤408,返回为NULL,即空,进入步骤412;
步骤410,从选出的缓存子节点中选择出CPU负载较低,且请求对象在其上不会被替换出去的所有缓存子节点,并依CPU负载由低到高排序,进而形成缓存子节点列表L(i),进入步骤412;
步骤412,返回包含所选出的缓存子节点的缓存子节点列表L(i)。
如前所述,集中控制器的调度模块用于根据全局摘要和缓存子节点的负载信息返回包含所请求的对象O(i)的缓存子节点列表L(i),应用上述工作流程,其根据缓存子节点的缓存空间、缓存对象的最低键值和缓存子节点的CPU占用率来确定调度策略。通过判断缓存子节点的缓存空间和最低键值,能够保证本地缓存子节点能够从相邻节点请求到有效的对象O(i);通过对缓存子节点的CPU占用率的判断,能够提高系统整体的处理性能,即当多个缓存子节点包含同一个请求对象O(i)时,系统能够选择CPU占用率较低的缓存子节点,进而充分利用整个系统的缓存子节点的处理能力,实现系统内的负载均衡。应当理解,用于确定调度策略的因素并不限于上述因素,可以包括任何其他能够反映缓存子节点的负载情况的因素,例如,能够反映缓存子节点处理负载情况的内存使用情况等。
应用上述Web协同缓存系统和方法,能够最大程度的减轻集中控制器的负载,减小集中控制器作为单一点失效的可能性,有效提高对系统资源的有效使用率,降低终端访问延迟和系统通信带宽开销,显著提高用户的网络服务质量。
以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的范围。任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所作的等同变化、修改与结合,均应属于本发明保护的范围。

Claims (10)

1.一种Web协同缓存系统,其特征在于,所述系统包括:
一个集中控制器和两个或两个以上的缓存子节点;
所述缓存子节点,用于接收来自与其相连的终端的对Web对象的请求,获取所述对象,并将所述对象发送给所述终端,所述缓存子节点的缓存摘要包括本地摘要和流行摘要;其中,
所述本地摘要,用于维护所述缓存子节点的本地缓存存储的所有Web对象的目录信息;
所述流行摘要,用于维护所述缓存子节点从其相邻节点获取的所有Web对象的路由信息;
所述集中控制器,用于接收来自所述缓存子节点的请求,将所述对象的路由信息发送给所述缓存子节点,包括,
全局摘要,用于保存属于所述集中控制器的所有缓存子节点的本地摘要信息。
2.根据权利要求1所述的系统,其特征在于,
所述缓存子节点还包括,负载上报模块,用于采集所述缓存子节点的负载信息,并将该信息上报给所述集中控制器;
所述集中控制器还包括负载采集模块和调度模块;其中,
所述负载采集模块,用于获取所述缓存子节点上报的所述负载信息,并将所述负载信息提供给所述调度模块;
所述调度模块,用于根据所述全局摘要和所述负载信息,向所述缓存子节点提供所述对象的路由信息。
3.根据权利要求1所述的系统,其特征在于,所述集中控制器还用于周期性地与属于所述集中控制器的所有所述缓存子节点进行数据同步,更新所述全局摘要。
4.根据权利要求1所述的系统,其特征在于,所述缓存子节点还用于从所述流行摘要中删除失效的路由信息。
5.一种用于权利要求1所述系统的方法,其特征在于,所述方法包括:
步骤102,缓存子节点接收终端对Web对象的请求;
步骤104,所述缓存子节点根据所述请求检索其缓存摘要,根据所述检索结果获取所述对象。
6.根据权利要求5所述的方法,其特征在于,所述步骤104进一步包括:
所述缓存子节点根据所述请求检索所述缓存摘要,在所述对象在所述缓存摘要中的本地摘要中未命中的情况下,在所述缓存摘要中的流行摘要中检索所述对象,根据在所述流行摘要中的检索结果获取所述对象。
7.根据权利要求6所述的方法,其特征在于,所述步骤104进一步包括:
在所述对象在所述流行摘要中命中的情况下,所述缓存子节点根据所述流行摘要中关于所述对象的路由信息获取所述对象。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
步骤106,在所述缓存子节点根据所述流行摘要中关于所述对象的路由信息获取所述对象无效的情况下,所述缓存子节点向所述请求指向的源服务器转发所述请求,从所述源服务器获取所述对象。
9.根据权利要求8所述的方法,其特征在于,所述缓存子节点还用于从流行摘要中删除失效的路由信息,所述步骤106进一步包括:
在所述缓存子节点根据所述流行摘要中关于所述对象的路由信息获取所述对象无效的情况下,所述缓存子节点将所述路由信息从所述流行摘要中删除。
10.根据权利要求7所述方法,其特征在于,所述步骤104进一步包括:
在所述缓存子节点根据所述流行摘要中关于所述对象的路由信息获取所述对象有效,且所述缓存子节点的本地缓存未满的情况下,所述缓存子节点将所述对象存入所述本地缓存。
CN201510373099.4A 2015-06-30 2015-06-30 一种Web协同缓存系统和方法 Active CN104994152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510373099.4A CN104994152B (zh) 2015-06-30 2015-06-30 一种Web协同缓存系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510373099.4A CN104994152B (zh) 2015-06-30 2015-06-30 一种Web协同缓存系统和方法

Publications (2)

Publication Number Publication Date
CN104994152A true CN104994152A (zh) 2015-10-21
CN104994152B CN104994152B (zh) 2018-11-09

Family

ID=54305903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510373099.4A Active CN104994152B (zh) 2015-06-30 2015-06-30 一种Web协同缓存系统和方法

Country Status (1)

Country Link
CN (1) CN104994152B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430551A (zh) * 2015-12-01 2017-12-01 华为技术有限公司 数据缓存方法、存储控制装置、及存储设备
CN107438084A (zh) * 2016-05-25 2017-12-05 北京京东尚科信息技术有限公司 多客户端数据同步方法和装置
CN107483587A (zh) * 2017-08-21 2017-12-15 清华大学 一种面向内容的电力通信网缓存优化方法
CN107659952A (zh) * 2017-08-29 2018-02-02 深圳市盛路物联通讯技术有限公司 中继器备份方法及接入点
CN107959695A (zh) * 2016-10-14 2018-04-24 北京国双科技有限公司 一种数据传输方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1322315A (zh) * 1998-10-09 2001-11-14 国际商业机器公司 负载均衡协同高速缓存服务器
CN101668046A (zh) * 2009-10-13 2010-03-10 成都市华为赛门铁克科技有限公司 资源缓存方法、资源获取方法及其装置、系统
CN104618450A (zh) * 2015-01-04 2015-05-13 中国科学院计算技术研究所 一种WLAN的Web缓存系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1322315A (zh) * 1998-10-09 2001-11-14 国际商业机器公司 负载均衡协同高速缓存服务器
CN101668046A (zh) * 2009-10-13 2010-03-10 成都市华为赛门铁克科技有限公司 资源缓存方法、资源获取方法及其装置、系统
CN104618450A (zh) * 2015-01-04 2015-05-13 中国科学院计算技术研究所 一种WLAN的Web缓存系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALEX ROUSSKOV等: "Cache Digests", 《COMPUTER NETWORKS AND ISDN SYSTEMS》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430551A (zh) * 2015-12-01 2017-12-01 华为技术有限公司 数据缓存方法、存储控制装置、及存储设备
CN107430551B (zh) * 2015-12-01 2020-10-23 华为技术有限公司 数据缓存方法、存储控制装置、及存储设备
CN107438084A (zh) * 2016-05-25 2017-12-05 北京京东尚科信息技术有限公司 多客户端数据同步方法和装置
CN107438084B (zh) * 2016-05-25 2020-12-22 北京京东尚科信息技术有限公司 多客户端数据同步方法和装置
CN107959695A (zh) * 2016-10-14 2018-04-24 北京国双科技有限公司 一种数据传输方法及装置
CN107483587A (zh) * 2017-08-21 2017-12-15 清华大学 一种面向内容的电力通信网缓存优化方法
CN107483587B (zh) * 2017-08-21 2020-10-30 清华大学 一种面向内容的电力通信网缓存优化方法
CN107659952A (zh) * 2017-08-29 2018-02-02 深圳市盛路物联通讯技术有限公司 中继器备份方法及接入点

Also Published As

Publication number Publication date
CN104994152B (zh) 2018-11-09

Similar Documents

Publication Publication Date Title
KR102301353B1 (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
CN104994152A (zh) 一种Web协同缓存系统和方法
Wang et al. Intra-AS cooperative caching for content-centric networks
US6112279A (en) Virtual web caching system
US6370620B1 (en) Web object caching and apparatus for performing the same
CN105049254B (zh) 一种ndn/ccn中基于内容等级及流行度的数据缓存替换方法
Carofiglio et al. LAC: Introducing latency-aware caching in information-centric networks
CN102130838B (zh) 一种基于阿瑞斯协议的对等网络缓存系统的实现方法
US7860948B2 (en) Hierarchical caching in telecommunication networks
CN109905480B (zh) 基于内容中心性的概率缓存内容放置方法
CN106326308B (zh) 一种基于sdn的网内重复数据删除方法及系统
JP2004070860A (ja) ストリームコンテンツ配送システムおよびプロキシサーバ
US8539041B2 (en) Method, apparatus, and network system for acquiring content
CN104811493A (zh) 一种网络感知的虚拟机镜像存储系统及读写请求处理方法
CN108173903B (zh) 自治系统协作缓存策略在ccn中的应用方法
CN109905720B (zh) 命名数据网络下基于视频点播系统的缓存替换方法
JP2003085032A (ja) 自己組織化キャッシュ方法およびその方法を利用可能なキャッシュサーバ
JP4291284B2 (ja) キャッシュシステム及びキャッシュサーバ
Nguyen et al. Adaptive caching for beneficial content distribution in information-centric networking
US20220279036A1 (en) Method, apparatus and system for processing an access request in a content delivery system
CN109195180A (zh) 一种减小移动内容中心网络中内容获取时延的解决方法
KR102235622B1 (ko) IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치
CN104506432A (zh) 一种内容请求率的聚合及缓存放置方法
CN106130912A (zh) 一种路由节点及路由方法
CN117439655B (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
GR01 Patent grant
GR01 Patent grant