一种缓存调度方法和设备的制作方法

文档序号:7981288阅读:105来源:国知局
一种缓存调度方法和设备的制作方法
【专利摘要】本发明的实施方式涉及一种缓存调度方法,包括:检测未来将使用的内容;在内容使用的非高峰时段,针对所述未来将使用的内容触发缓存。本发明的实施方式还涉及一种缓存调度设备,包括:检测装置,用于检测未来将使用的内容;触发缓存装置,用于在内容使用的非高峰时段,针对所述未来将使用的内容触发缓存。
【专利说明】一种缓存调度方法和设备
【技术领域】[0001]本发明涉及缓存调度,更具体地涉及针对可长期缓存且存在带宽瓶颈的缓存服务进行缓存调度。
【背景技术】
[0002]缓存服务,即Web高速缓存服务,是一种利用Web高速缓存重定向技术。通过提高重复访问内容的命中率,可以有效地改善网站的访问速度和整体性能,以弥补带宽的不足。
[0003]随着互联网网站和网民数量的剧增,互联网用户经常会遇到网站服务器因超负荷链接而出现反应时间很慢的情况。对于网站运营商来说,增加昂贵的带宽并不是唯一的解决方法,Web高速缓存服务由于费用相对较为低廉,而效果又非常理想正在广为人们所接受。
[0004]Web高速缓存服务基于以下事实:特定的WWW对象经常被多个网络用户多次请求,缓存设备会监视Web请求并检索它们,当第一次传送对象时把它存储到缓存设备中,在以后的请求中发送缓存设备中(而不是目标站点)的对象。
[0005]使用Web高速缓存重定向技术可以为用户带来以下好处:
[0006]?减少带宽消耗
[0007]?减少服务器载入
[0008]?减少用户通入时间
[0009]?增加吞吐量
[0010]?增加可靠性
[0011]进一步地,基于上述的缓存服务提供了一种新型网络构建方式:内容分发网络(Q)N(Content Delivery Network))。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决互联网拥挤的状况,提高用户访问网站的响应速度。
[0012]CDN的实现需要依赖多种网络技术的支持,其中负载均衡技术、动态内容分发与复制技术、缓存技术是比较主要的几个。通过CDN技术可以为用户带来以下优势:
[0013]?本地高速缓存加速提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性。
[0014]?镜像服务消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中用户都能得到良好访问质量。
[0015]?远程加速远程访问用户根据是域名系统(DNS(Domain Name System))负载均衡技术智能自动选择高速缓存服务器,选择最快的高速缓存服务器,加快远程访问的速度。
[0016]?带宽优化自动生成服务器的远程镜像(Mirier)高速缓存服务器,远程用户访问时从高速缓存服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点Web服务器负载等功能。
[0017]?集群抗攻击广泛分布的⑶N节点加上节点之间的智能冗于机制,可以有效地预防黑客入侵以及降低各种攻击对网站的影响,同时保证较好的服务质量。
[0018]CDN服务由专门的CDN服务提供商来提供,其用户是例如互联网内容服务商(ICP (Internet Content Provider))、互联网服务提供商(ISP (Internet ServicePixwider))、大型企业、电子商务网站和政府网站等。通过购买⑶N服务提供商提供的⑶N服务,这些网站无需投资昂贵的各类服务器、设立分站点便可以获得上述技术优势。由此,现在越来越多的网站采用了 CDN服务。
[0019]以下参考图1来示例说明在采用了 CDN服务的系统中的交互过程。图1是示出了包括服务器、CDN和客户的系统的示意图。用户在访问该网站的内容时,访问请求首先导向CDN,当CDN中缓存有相应的内容时,就由CDN将该内容提供给用户。当CDN中没有缓存相应的内容时,将该请求导向网站的服务器来取回所请求的内容,即回源。同时该内容会在CDN中进行缓存,下次再由用户请求该内容时,可以直接从CDN中获取该内容,从而减少对服务器的压力。
[0020]在现有的CDN服务中,CDN在缓存服务方面可以提供无限的缓存量,并且使得缓存的内容永不失效。目前CDN服务的计费方式一般有按照流量计费、按照峰值带宽计费以及按照点击数计费等几种方式。目前业界常用的是峰值带宽计费方式,即,按照每天实际使用的CDN峰值带宽乘以单价,再按月汇总为当月的结算费用。
[0021]以下参考图2 来示例说明⑶N服务的带宽分布。图2是示出了通常情况下⑶N服务在24小时中的带宽分布的曲线图。如图2中所示,通常情况下,每个时段中CDN的回源带宽量是不均衡的。例如在凌晨时最低(例如,O点到8点),在晚上最高(例如,21点到23点)。根据图2中曲线所示,可以根据CDN回源带宽量将一天中的时间粗略地分为高峰时段(例如,20点到O点)、非高峰时段(例如,O点到20点)。非高峰时段还可以划分为低谷时段(例如,I点到8点)、高峰前时段(例如,17点到20点)等等。以上具体时段划分仅为示例,并且根据不同的应用可以不同。
[0022]在按照峰值带宽计费⑶N的情况下,如图2中所示,用户需要按照21:30-22:30这一时段出现的峰值带宽15M来支付CDN费用。这样,对客户而言,支付了较高CDN的服务费,同时浪费了很多CDN资源。由此,存在降低CDN使用的峰值带宽从而降低CDN使用费用的需求。

【发明内容】

[0023]针对上述技术问题,提出了本发明。本发明的目的包括提供一种能够降低缓存服务的峰值带宽的缓存调度方法和设备。
[0024]根据本发明的一个方面的某些实施例,提供了一种缓存调度方法,包括:检测未来将使用的内容;在内容使用的非高峰时段,针对所述未来将使用的内容触发缓存。
[0025]在本发明的一些实施例中,所述针对未来将使用的内容触发缓存包括主动访问所述未来将使用的内容。所述内容包括图片、照片、相册、视频、音频、文本中的一种或多种。所述未来将使用的内容包括经更新的内容及其相关内容。所述相关内容包括在经更新的内容所在的集合中,与所述经更新的内容的位置相邻的内容。
[0026]在本发明的一些实施例中,在非高峰时段针对未来将使用的内容触发缓存包括在非高峰时段,每隔预定义时段针对该预定义时段内更新的内容及其相关内容触发缓存。在该实施例中,在非高峰时段针对未来将使用的内容触发缓存还可以包括在非高峰时段,针对之前的高峰时段中更新的内容及其相关内容触发缓存。在本发明的一个优选实施例中,在非高峰时段针对之前的高峰时段中更新的内容及其相关内容触发缓存是在内容使用的高峰时段过后执行的。
[0027]在本发明的一些实施例中,在非高峰时段针对未来将使用的内容触发缓存包括在内容使用的低谷时段,针对之前预定义时段中更新的内容及其相关内容触发缓存。
[0028]在本发明的一些实施例中,在非高峰时段针对未来将使用的内容触发缓存包括在内容使用的高峰时段之前,针对之前预定义时段中更新的内容及其相关内容触发缓存。
[0029]在本发明的一些实施例中,该缓存调度方法用于内容分发网络(⑶N)中。
[0030]根据本发明的另一个方面的某些实施例,提供了一种缓存调度设备,包括:检测装置,用于检测未来将使用的内容;触发缓存装置,用于在内容使用的非高峰时段,针对所述未来将使用的内容触发缓存。
[0031 ] 在本发明的一些实施例中,所述触发缓存装置配置用于主动访问所述未来将使用的内容。所述内容包括图片、照片、相册、视频、音频、文本中的一种或多种。所述未来将使用的内容包括经更新的内容及其相关内容。所述相关内容包括在经更新的内容所在的集合中,与所述经更新的内容的位置相邻的内容。
[0032]在本发明的一些实施例中,所述触发缓存装置配置用于在非高峰时段,每隔预定义时段针对该预定义时段内更新的内容及其相关内容触发缓存。在该实施例中,所述触发缓存装置还可以配置用于在非高峰时段,针对之前的高峰时段中更新的内容及其相关内容触发缓存。在本发明的一个优选实施例中,所述触发缓存装置配置用于在内容使用的高峰时段过后针对之前的高峰时段中更新的内容及其相关内容触发缓存。
[0033]在本发明的一些实施例中,所述触发缓存装置配置用于在内容使用的低谷时段,针对之前预定义时段中更新的内容及其相关内容触发缓存。
[0034]在本发明的一些实施例中,所述触发缓存装置配置用于在内容使用的高峰时段之前,针对之前预定义时段中更新的内容及其相关内容触发缓存。
[0035]在本发明的一些实施例中,该用于缓存调度的设备用于内容分发网络(⑶N)中。
[0036]本发明示例性实施方式提供的示例性解决方案至少可以带来如下显著的技术效果之一:
[0037]1.降低了⑶N服务的峰值带宽,从而减少了⑶N服务计费。
[0038]2.节省了服务高峰时段服务器的带宽。
[0039]3.提高了用户访问速度,改善了用户体验。
[0040]本领域技术人员可以了解,本发明的实施例不只适用于⑶N服务,也同样适用于其他可长期缓存而存在带宽瓶颈的缓存服务。
【专利附图】

【附图说明】
[0041]通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
[0042]图1是示出了包括服务器、⑶N和客户的系统的示意图。
[0043]图2是示出了通常情况下⑶N服务在24小时中的带宽分布的曲线图。
[0044]图3是示出了根据本发明一个实施例的缓存调度方法流程的示意流程图。
[0045]图4是示出了根据本发明一个实施例的缓存调度设备的示例框图。
[0046]图5示意性示出了可以实现根据本发明的实施方式的计算设备的结构框图。
[0047]在附图中,相同或对应的标号表不相同或对应的部分。
【具体实施方式】
[0048]下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
[0049]根据本发明的一个方面的实施例提供了一种缓存调度方法。图3是示出了根据本发明一个实施例的缓存调度方法流程的示意流程图。参见图3,在缓存调度流程300开始后,进入步骤S310,检测未来将使用的内容。未来将使用的内容是指在未来可能由用户对其进行查看、更新、修改等操作的内容。这里的内容包括图片、照片、相册、视频、音频、文本中的一种或多种。则本发明的实施例中,未来将使用的内容包括经更新的内容及其相关内容。这是因为,经过更新的内容更易于被用户关注,进而对其进行操作。这里的相关内容包括在经更新的内容所在的集合中,与所述经更新的内容的位置相邻的内容。以下举例说明相关内容的含义。在经更新的内容为某照片的情况下,该照片所在的集合为某相册,而在该相册中与该照片位置相邻的照片(例如,在相册中经更新的照片的之前或之后的几张照片)就是与该经更新的照片相关的内容。
[0050]接着,本发明的实施例的缓存调度方法进行到下一步骤S320,在内容使用的非高峰时段,针对所述未来将使用的内容触发缓存。其中针对未来将使用的内容触发缓存可以通过主动访问检测到的未来将使用的内容来实现。这是因为,在诸如CDN之类的缓存服务中,一旦用户向CDN访问某内容,而CDN中并没有缓存该内容,则该访问请求就会转向服务器,从服务器中取回的内容也会在CDN中进行缓存,从而下一次对该内容的访问无需服务器参与。因此,在本发明的实施例中,可以通过主动访问检测到的未来将使用的内容来确保将这些内容缓存于⑶N中。由此,在内容使用的非高峰时段中,将预计未来可能会使用的内容提前进行了缓存,从而减少了内容使用高峰时段中所需进行的回源缓存量,进而降低了回源峰值带宽,而这对于按照峰值带宽计费的缓存服务来说,可以降低服务费用,同时节省服务器在使用高峰时段的带宽。同时由于上述未来将会使用的内容被提前缓存,因而用户访问它们时的速度加快,改善了客户体验。
[0051]在此,根据本发明的实施例的缓存调度方法结束。
[0052]在执行上述的缓存调度方法时,可以有很多具体的调度策略可供选择,以下将示例性地示出几个调度策略。
[0053]第一实施例
[0054]在本发明的第一实施例中,该调度策略包括在非高峰时段,每隔预定义时段针对该预定义时段内更新的内容及其相关内容触发缓存。
[0055]举例来说针对照片相册的情况,可以在非高峰时段(例如,O点到20点)每隔N(N为自然数)秒(例如,10秒)从数据库中查出这N秒内新上传的照片,并且主动访问这些照片,从而触发对这些照片的缓存。同时,可以在非高峰时段(例如,O点到20点)每个N秒(例如,10秒)从数据库中查出这N秒内有过更新的相册,查出该相册中的M(M为自然数)张照片(例如,该相册的前20张照片和后10张照片),主动访问这些照片,从而触发对这些照片的缓存,以备用户在查看新照片后向前、后翻看相册之用。
[0056]另一方面,该调度策略还可以包括在非高峰时段,针对之前的高峰时段中更新的内容及其相关内容触发缓存。举例来说针对照片相册的情况,可以在非高峰时段(例如,O点到20点)从数据库中查出之前的整个高峰时段(例如22点到O点)新上传的照片以及有过更新的相册,查出该相册中的M张照片(例如,该相册的前20张照片和后10张照片),并且主动访问这些照片,从而触发对这些照片的缓存。
[0057]在非高峰时段针对之前的高峰时段中更新的内容及其相关内容触发缓存可以在高峰时段的任何具体时期执行。在本实施例中其是在内容使用的高峰时段过后执行的。
[0058]第二实施例
[0059]在本发明的第二实施例中,该调度策略包括在内容使用的低谷时段,针对之前预定义时段中更新的内容及其相关内容触发缓存。
[0060]举例来说针对照片相册的情况,可以在低谷时段(例如,I点到8点)从数据库中查出例如这一天之内新上传的照片同时查出这一天内有过更新的相册,查出该相册中的M张照片(例如,该相册的前20张照片和后10张照片),并且主动访问这些照片,从而触发对这些照片的缓存。
[0061]第三实施例
[0062]在本发明的第三实施例中,该调度策略包括在内容使用的高峰时段之前,针对之前预定义时段中更新的内容及其相关内容触发缓存。
[0063]举例来说针对照片相册的情况,可以在高峰时段之前(例如,17点到20点)从数据库中查出例如半天之内新上传的照片同时查出半天内有过更新的相册,查出该相册中的M张照片(例如,该相册的前20张照片和后10张照片),并且主动访问这些照片,从而触发对这些照片的缓存。
[0064]以上给出的具体调度策略实施例仅仅出于示例的目的而不对本发明的保护范围做任何限制。本领域技术人员可以明了可以在本发明的实质精神范围内可以对上述调度策略的元素、具体数字等做出各种适应性修改;可以将不同的调度策略部分合并、删除;并且可以做出各种不同的调度策略。
[0065]通过使用本发明的实施例中的缓存调度方法,已经将CDN回源峰值带宽减少了5?9%,根据实际状况经过进一步的优化,可以预计实施本发明将会减少10%甚至更多的⑶N回源峰值带宽,这将相应地减少这部分的⑶N服务费用,同时减少服务器的峰值带宽,提高用户访问内容的速度。
[0066]以下结合附图4描述根据本发明的实施例的用于缓存调度的设备。图4是示出了根据本发明一个实施例的缓存调度设备的示例框图。如图4所示,该缓存调度设备400,包括:检测装置410,用于检测未来将使用的内容;以及触发缓存装置420,用于在内容使用的非高峰时段,针对所述未来将使用的内容触发缓存。在本发明的实施例中,内容包括图片、照片、相册、视频、音频、文本中的一种或多种。其中未来将使用的内容包括经更新的内容及其相关内容。所述相关内容包括在经更新的内容所在的集合中,与所述经更新的内容的位置相邻的内容。在本发明的实施例中触发缓存的置配置用于主动访问所述未来将使用的内容。
[0067]在配置上述缓存调度设备时,可以以多种方式进行配置,以下举例说明几种配置方式。
[0068]在第一种示例方式中,可以将触发缓存装置配置用于在非高峰时段,每隔预定义时段针对该预定义时段内更新的内容及其相关内容触发缓存。进一步地,在第一种示例方式中,还可以将触发缓存装置配置用于在非高峰时段,针对之前的高峰时段中更新的内容及其相关内容触发缓存。在一个优选实施例中,将触发缓存装置配置用于在内容使用的高峰时段过后,针对之前的高峰时段中更新的内容及其相关内容触发缓存。
[0069]在第二种示例方式中,可以将触发缓存装置配置用于在内容使用的低谷时段,针对之前预定义时段中更新的内容及其相关内容触发缓存。
[0070]在第三种示例方式中,可以将触发缓存装置配置用于在内容使用的高峰时段之前,针对之前预定义时段中更新的内容及其相关内容触发缓存。
[0071]以上给出的具体配置方式仅仅出于示例的目的而不对本发明的保护范围做任何限制。本领域技术人员可以明了可以在本发明的实质精神范围内可以对上述配置方式的元素、具体数字等做出各种适应性修改;可以将不同的配置方式部分合并、删除;并且可以设置各种不同的配置方式。
[0072]下面,将参考图5来描述可以实现本发明的计算机设备。图5示意性示出了可以实现根据本发明的实施方式的计算设备的结构框图。
[0073]图5中所示的计算机系统包括CPU(中央处理单元)501、RAM(随机存取存储器)502、ROM (只读存储器)503、系统总线504、硬盘控制器505、键盘控制器506、串行接口控制器507、并行接口控制器508、显示器控制器509、硬盘510、键盘511、串行外部设备512、并行外部设备513和显示器514。在这些部件中,与系统总线504相连的有CPU 501、RAM 502、ROM 503、硬盘控制器505、键盘控制器506、串行接口控制器507、并行接口控制器508和显示器控制器509。硬盘510与硬盘控制器505相连,键盘511与键盘控制器506相连,串行外部设备512与串行接口控制器507相连,并行外部设备513与并行接口控制器508相连,以及显示器514与显示器控制器509相连。
[0074]图5所述的结构框图仅仅为了示例的目的而示出,并非是对本发明的限制。在一些情况下,可以根据需要添加或者减少其中的一些设备。
[0075]此外,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0076]应当注意,尽管在上文详细描述中提及了用于缓存调度的设备的若干装置或子装置,但是这种划分仅仅并非是强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
[0077]需要注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0078]虽然已经参考若干【具体实施方式】描述了本发明,但是应该理解,本发明并不限于所公开的【具体实施方式】。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
【权利要求】
1.一种缓存调度方法,包括: 检测未来将使用的内容; 在内容使用的非高峰时段,针对所述未来将使用的内容触发缓存。
2.根据权利要求1所述的方法,其中 所述针对未来将使用的内容触发缓存包括主动访问所述未来将使用的内容。
3.根据权利要求1所述的方法,其中 所述内容包括图片、照片、相册、视频、音频、文本中的一种或多种。
4.根据权利要求1所述的方法,其中 所述未来将使用的内容包括经更新的内容及其相关内容。
5.根据权利要求4所述的方法,其中 所述相关内容包括在经更新的内容所在的集合中,与所述经更新的内容的位置相邻的内容。
6.根据权利要求1所述的方法,其中 在非高峰时段针对未来将使用的内容触发缓存包括在非高峰时段,每隔预定义时段针对该预定义时段内更新的内·容及其相关内容触发缓存。
7.根据权利要求6所述的方法,其中 在非高峰时段针对未来将使用的内容触发缓存包括在非高峰时段,针对之前的高峰时段中更新的内容及其相关内容触发缓存。
8.根据权利要求7所述的方法,其中 在非高峰时段针对之前的高峰时段中更新的内容及其相关内容触发缓存是在内容使用的高峰时段过后执行的。
9.根据权利要求1所述的方法,其中 在非高峰时段针对未来将使用的内容触发缓存包括在内容使用的低谷时段,针对之前预定义时段中更新的内容及其相关内容触发缓存。
10.根据权利要求1所述的方法,其中 在非高峰时段针对未来将使用的内容触发缓存包括在内容使用的高峰时段之前,针对之前预定义时段中更新的内容及其相关内容触发缓存。
11.根据权利要求1所述的方法,其中 该方法用于内容分发网络(CDN)中。
12.—种缓存调度设备,包括: 检测装置,用于检测未来将使用的内容; 触发缓存装置,用于在内容使用的非高峰时段,针对所述未来将使用的内容触发缓存。
13.根据权利要求12所述的设备,其中 所述触发缓存装置配置用于主动访问所述未来将使用的内容。
14.根据权利要求12所述的设备,其中 所述内容包括图片、照片、相册、视频、音频、文本中的一种或多种。
15.根据权利要求12所述的设备,其中 所述未来将使用的内容包括经更新的内容及其相关内容。
16.根据权利要求15所述的设备,其中所述相关内容包括在经更新的内容所在的集合中,与所述经更新的内容的位置相邻的内容。
17.根据权利要求12所述的设备,其中 所述触发缓存装置配置用于在非高峰时段,每隔预定义时段针对该预定义时段内更新的内容及其相关内容触发缓存。
18.根据权利要求17所述的设备,其中 所述触发缓存装置配置用于在非高峰时段,针对之前的高峰时段中更新的内容及其相关内容触发缓存。
19.根据权利要求18所述的设备,其中 所述触发缓存装置配置用于在内容使用的高峰时段过后针对之前的高峰时段中更新的内容及其相关内容触发缓存。
20.根据权利要求12所述的设备,其中 所述触发缓存装置配置用于在内容使用的低谷时段,针对之前预定义时段中更新的内容及其相关内容触发缓存。
21.根据权利要求12所述的设备,其中 所述触发缓存装置配置用于在内容使用的高峰时段之前,针对之前预定义时段中更新的内容及其相关内容触发缓存。
22.根据权利要求12所述的设备,其中 所述设备用于内容分发网络( ⑶N)中。
【文档编号】H04L29/08GK103546525SQ201210256395
【公开日】2014年1月29日 申请日期:2012年7月17日 优先权日:2012年7月17日
【发明者】刘国君 申请人:北京千橡网景科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1