CN106657196B - 一种缓存内容淘汰方法及缓存装置 - Google Patents

一种缓存内容淘汰方法及缓存装置 Download PDF

Info

Publication number
CN106657196B
CN106657196B CN201510736056.8A CN201510736056A CN106657196B CN 106657196 B CN106657196 B CN 106657196B CN 201510736056 A CN201510736056 A CN 201510736056A CN 106657196 B CN106657196 B CN 106657196B
Authority
CN
China
Prior art keywords
content
hot
condition
elimination
eliminated
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
CN201510736056.8A
Other languages
English (en)
Other versions
CN106657196A (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510736056.8A priority Critical patent/CN106657196B/zh
Publication of CN106657196A publication Critical patent/CN106657196A/zh
Application granted granted Critical
Publication of CN106657196B publication Critical patent/CN106657196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种缓存内容淘汰方法及缓存装置,涉及通信技术领域,能够解决现有技术中由于历史访问量高,但是当前或将来访问量可能较低的内容长期占用CDN边缘节点的缓存空间,导致缓存空间不足的问题。具体方案为:CDN边缘节点根据历史访问量将缓存中的内容划分为热门内容和非热门内容,任一热门内容的历史访问量高于任一非热门内容的历史访问量,当确定在当前时间窗内需要启动缓存中的内容淘汰流程时,若确定热门内容中存在满足第一淘汰条件的第一内容集合,则将第一内容集合中的待淘汰内容从热门内容中淘汰,待淘汰内容包括至少一个内容,第一淘汰条件用于确定热门内容中内容的访问量呈下降趋势。本发明实施例用于淘汰缓存中的内容。

Description

一种缓存内容淘汰方法及缓存装置
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种缓存内容淘汰方法及缓存装置。
背景技术
内容分发网络(Content Delivery Network,CDN)边缘节点在缓存CDN系统中的内容时,由于其缓存空间有限,当存储的资源已经占用了CDN边缘节点的过量缓存空间时,则需要淘汰一些数据以保证有足够的缓存空间存储新的数据。
CDN按照其承载的服务内容的类型主要分为web加速服务CDN和视频加速服务CDN,视频加速服务可以包括交互式网络电视(Internet Protocol Television,IPTV)、通过互联网向用户提供各种应用服务(Over The Top,OTT)等。对于视频加速服务CDN,现有技术淘汰CDN边缘节点缓存中的视频所采用的是最不经常使用(Least Frequently Used,LFU)算法:按照历史访问量的高低对视频进行排序。参见图1,历史访问量最高的视频排在LFU队列的头部,由于历史访问量较高的历史热门视频的将来访问量也较高,历史访问量较低的历史冷门视频的将来访问量也较低,从而淘汰位于LFU队列尾部的历史访问量最低的视频。
在上述淘汰机制中,由于历史访问量高的视频很容易保持在队列的前段,因而即使当前或将来不再被访问或很少被访问,也需要较长时间才能移动到队列的尾部,进而淘汰出缓存。现有技术淘汰缓存中历史访问量最低的视频,使得历史访问量高的视频的淘汰速度慢,从而使得历史访问量高但当前或将来访问量可能较低的视频不能及时被淘汰,因而长期占用CDN边缘节点的缓存空间,导致缓存空间不足。
发明内容
本发明实施例提供一种缓存内容淘汰方法及缓存装置,能够解决现有技术中由于历史访问量高,但是当前或将来访问量可能较低的内容长期占用CDN边缘节点的缓存空间,导致缓存空间不足的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种应用于CDN边缘节点的缓存内容淘汰方法,CDN边缘节点将缓存中的内容划分为历史访问量较高的热门内容和历史访问量较低的非热门内容,并在需要启动缓存内容淘汰流程时,将历史访问量较高的热门内容中,访问量呈下降趋势从而在当前或将来访问量可能较低的至少一个内容从热门内容中淘汰,从而加快了历史访问量高但当前或将来访问量可能较低的热门内容所占用的缓存空间的释放速度,避免其长期占用缓存空间。
结合第一方面,在第一方面的第一种可能的实现方式中,在需要启动缓存内容淘汰流程时,CDN边缘节点将访问量呈下降趋势的热门内容中,历史访问量较低的至少一个内容从热门内容中淘汰。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在需要启动缓存内容淘汰流程时,CDN边缘节点将热门内容中访问量呈急剧下降趋势且历史访问量较低的内容直接淘汰出缓存;将热门内容中访问量呈下降趋势但不一定呈急剧下降趋势的内容从热门内容淘汰至非热门内容,而不是直接淘汰出缓存,从而可以在加快访问量呈下降趋势的热门内容的淘汰速度的同时,减少将访问量呈缓慢下降趋势的历史访问量较高的热门内容直接淘汰出缓存的误操作,以提高缓存的命中率。
结合第一方面至第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,在需要启动内容淘汰流程时,如果热门内容中不存在访问量呈下降趋势的内容,那么CDN边缘节点将非热门内容中历史访问量较低,或者最近访问时刻与当前时刻间隔时间较长的至少一个内容淘汰出缓存。
第二方面,提供一种缓存装置,在划分单元将缓存中的内容划分为历史访问量较高的热门内容和历史访问量较低的非热门内容后,在需要启动缓存内容淘汰流程时,淘汰单元将历史访问量较高的热门内容中,访问量呈下降趋势从而在当前或将来访问量可能较低的至少一个内容从热门内容中淘汰。
结合第二方面,在第二方面的第一种可能的实现方式中,在需要启动缓存内容淘汰流程时,淘汰单元将访问量呈下降趋势的热门内容中,历史访问量较低的至少一个内容从热门内容中淘汰。
结合第二方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在需要启动缓存内容淘汰流程时,淘汰单元将热门内容中访问量呈急剧下降趋势且历史访问量较低的内容直接淘汰出缓存;并将热门内容中访问量呈下降趋势但不一定呈急剧下降趋势的内容从热门内容淘汰至非热门内容,而不是直接淘汰出缓存。
结合第二方面至第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,在需要启动内容淘汰流程时,如果热门内容中不存在访问量呈下降趋势的内容,那么淘汰单元将非热门内容中历史访问量较低,或者最近访问时刻与当前时刻间隔时间较长的至少一个内容淘汰出缓存。
为了便于理解,示例的给出了部分与本发明相关概念的说明以供参考,如下所示:
缓存:指CND边缘节点的存储空间,例如可以是进行高速数据交换的存储器,其运行速度高于内存的运行速度。
时间窗:CDN边缘节点周期性的根据历史访问量将缓存中的内容划分为热门内容和非热门内容,其中任意两次划分时刻之间的时间段称为时间窗。
当前时间窗:CDN边缘节点上一次根据历史访问量将缓存中的内容划分为热门内容和非热门内容的时刻之后,与下一次将根据历史访问量将缓存中的内容划分为热门内容和非热门内容的时刻之前的时间段。
划分时刻:CDN边缘节点根据历史访问量将缓存中的内容划分为热门内容和非热门内容的时刻。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中提供的一种LFU队列结构示意图;
图2为本发明实施例提供的一种系统架构示意图;
图3a为本发明实施例提供的一种缓存内容淘汰方法流程示意图;
图3b为本发明实施例提供的另一种缓存内容淘汰方法流程示意图;
图3c为本发明实施例提供的另一种缓存内容淘汰方法流程示意图;
图4为本发明实施例提供的另一种缓存内容淘汰方法流程示意图;
图5为本发明实施例提供的一种确定是否需要淘汰缓存中的视频的方法流程示意图;
图6为本发明实施例提供的一种热门视频的排列结构示意图;
图7为本发明实施例提供的一种确定冷门码率值的方法流程示意图;
图8为本发明实施例提供的一种确定冷门时间戳的方法流程示意图;
图9为本发明实施例提供的另一种缓存内容淘汰方法流程示意图;
图10为本发明实施例提供的又一种缓存内容淘汰方法流程示意图;
图11为本发明实施例提供的一种缓存内容淘汰流程示意图;
图12a为本发明实施例提供的一种缓存装置结构示意图;
图12b为本发明实施例提供的另一种缓存装置结构示意图;
图13为本发明实施例提供的另一种缓存装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图2所示的系统架构示意图,CDN用户在进行内容访问时,通过客户端浏览器提供需要访问的内容的域名,该域名的解析请求被发送给CDN中心节点。CDN中心节点在接收到该域名解析请求后,通过域名解析与负载均衡系统对域名进行智能解析,并将距离用户最近的CDN边缘节点的互联网协议(Internet Protocol,IP)地址发送给客户端。客户端的浏览器在接收到该IP地址后,根据该IP地址向对应的CDN边缘节点发出内容访问请求。如果CDN边缘节点的缓存中保存有客户端所请求的待访问内容,则将该待访问内容发送给客户端,如果CDN边缘节点的缓存中未保存有客户端所请求的待访问内容,则向CDN中心节点或内容源服务器发送内容获取请求以获取待访问内容,并将获取的待访问内容发送给客户端。
通过上述CDN用户访问流程可知,当CDN边缘节点的缓存中包含客户端请求的待访问内容时,CDN边缘节点可以直接将该待访问内容返回给客户端,而不需要回源,从而可以减少用户请求响应的时间,提高用户体验。由于CDN边缘节点存储空间有限,需要根据一定的淘汰策略对保存在缓存中的内容进行动态调整,使得CDN边缘节点中尽量保存客户端经常访问的内容。
正如背景技术中所述,现有技术中所采用的淘汰策略使得历史访问量高,但是当前或将来访问量可能较低的内容长期占用CDN边缘节点的缓存空间,从而导致缓存空间不足,难以保存客户端当前或将来将会经常访问的内容。针对该问题,本发明以下实施例主要根据历史访问量,将缓存装置的缓存中保存的内容划分为历史访问量高的热门内容和历史访问量低的非热门内容,从而在当前时间窗内需要启动缓存内容淘汰流程时,将热门内容中访问量呈下降趋势的至少一个内容淘汰出热门内容,以解决现有技术中由于历史访问量高,但是当前或将来访问量可能较低的内容长期占用缓存装置的缓存空间,导致缓存空间不足的问题。
上述图2所描述的系统架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下将通过具体实施例进行详细说明。
实施例1
本发明实施例提供一种缓存内容淘汰方法,所述方法可以为CDN系统中的任意节点,例如CDN边缘节点,这里以CDN边缘节点为例对该方法进行介绍。参见图3a,可以包括:
201、CDN边缘节点根据历史访问量将缓存中的内容划分为热门内容和非热门内容,任一热门内容的历史访问量高于任一非热门内容的历史访问量。
这里的缓存是指CDN边缘节点的数据交换缓冲区。缓存中的内容可以包括多种文件形式,这里不做具体限定,示例性的,可以是视频、音频等。CDN边缘节点可以根据历史访问量将缓存中保存的内容划分为历史访问量较高的热门内容和历史访问量较低的非热门内容,使得任意一个热门流媒体文件的历史访问量高于任意一个非热门流媒体文件的历史访问量,以便于在启动内容淘汰流程时,可以将热门内容中的内容直接淘汰出缓存,或者将热门内容中的内容淘汰至非热门内容,并将非热门内容中的内容淘汰出缓存。
示例性的,CDN边缘节点可以将缓存中历史访问量高于预设次数的流媒体文件划分为热门流媒体文件,或者可以将缓存中历史访问量较高的预定数量或预定比例的流媒体文件划分为热门流媒体文件,缓存中其余的流媒体文件为非热门流媒体文件。其中,某一个流媒体文件的历史访问量是指,CDN边缘节点中该流媒体文件有访问记录以来的所有访问次数。举例来说,若预定数量为30万,则CDN边缘节点缓存中的全部流媒体文件中,可以将历史访问量较高的30万个流媒体文件划分为热门流媒体文件,其余的流媒体文件为非热门流媒体文件;若预定比例为50%,CDN边缘节点的缓存中共有60万个流媒体文件,则可以将历史访问量较高的30万个(60万×50%=30万)流媒体文件划分为热门流媒体文件,其余的30万个流媒体文件为非热流媒体文件。本发明实施例对于将缓存中的内容划分为热门内容和非热门内容的具体实现方式不做限定。
202、当CDN边缘节点确定在当前时间窗内需要启动缓存中的内容淘汰流程时,若确定热门内容中存在满足第一淘汰条件的第一内容集合,则将第一内容集合中的待淘汰内容从热门内容中淘汰,待淘汰内容包括至少一个内容,第一淘汰条件用于确定热门内容中内容的访问量呈下降趋势。
其中,CDN边缘节点确定在当前时间窗内需要启动缓存中的内容淘汰流程具体可以包括:
CDN边缘节点接收客户端发送的获取待访问内容的访问请求;
CDN边缘节点确定待访问内容未保存在缓存中;
在待访问内容满足缓存条件时,CDN边缘节点确定剩余缓存空间小于待访问内容的文件大小;
缓存条件可以包括:待访问内容的历史访问量高于或者等于第一预设阈值。
此外,若剩余缓存空间大于或者等于待访问内容的文件大小,则CDN边缘节点可以确定在当前时间窗内不需要启动缓存中的内容淘汰流程,并将待访问内容插入非热门内容中,并将待访问内容发送给客户端。
当确定在当前时间窗内需要启动缓存中的内容淘汰流程时,CDN边缘节点开始进入淘汰流程以淘汰缓存中的内容。
具体的,步骤202中的第一淘汰条件可以包括如下第一淘汰子条件:
当前时间窗内热门内容中内容的访问量低于预设访问量。
由于预设访问量是根据该内容在前几个时间窗内的访问情况估计的当前时间窗内预期可以达到的访问量,因而若当前时间窗内热门内容中内容的访问量低于预设访问量,则可以说明该内容当前访问量较低且呈下降趋势。
此外,第一淘汰条件还可以包括第二淘汰子条件,和/或第三淘汰子条件,和/或第四淘汰子条件;
第二淘汰子条件包括:当前时刻不在热门内容中内容预设的保护期内;
第三淘汰子条件包括:当前时间窗内热门内容中已淘汰出缓存的内容的数量低于预设淘汰数量;
第四淘汰子条件包括:当前时间窗内已淘汰出缓存的热门内容的数量与已淘汰出缓存的非热门内容的数量的比例低于预设淘汰比例。
需要说明的是,上述用于确定热门内容中内容的访问量呈下降趋势的第一淘汰条件的具体内容仅是举例说明,并不用于限定第一淘汰条件的范围。当CDN边缘节点确定热门内容中存在满足第一淘汰条件的第一内容集合时,可以表明第一内容集合中内容的访问量呈下降趋势,第一内容集合中内容当前或将来的访问量可能较低,因而可以将第一内容集合中的待淘汰内容从热门内容中淘汰,从而加快历史访问量高但当前或将来访问量可能较低的内容的淘汰速度,避免其长期占用CDN边缘节点的缓存空间从而导致的缓存空间不足。
需要强调的是,上述待淘汰内容可以是第一内容集合中的至少一个内容,待淘汰内容为第一内容集合的子集,第一内容集合中的内容不一定全为待淘汰内容。待淘汰内容包括的内容范围可以根据实际需要进行设置,这里不做具体限定。
由于历史访问量在一定程度上也反映了内容的热门程度,历史访问量低的内容将来的访问量也低的可能性较大,历史访问量高的内容将来的访问量也高的可能性较大,因而通常可以将第一内容集合中历史访问量较低的至少一个内容作为待淘汰内容优先从热门内容中淘汰,以降低历史访问量较高且将来访问量可能也较高的内容被误淘汰的可能性。
示例的,待淘汰内容可以为第一内容集合中历史访问量最低的内容。
再示例的,当第一内容集合中所有内容的文件大小之和小于或者等于待访问内容的文件大小时,待淘汰内容可以为第一内容集合中的全部内容,此外还可以将非热门队列中文件大小或文件大小之和大于或者等于第一字节数的内容淘汰出缓存,其中第一字节数为待淘汰内容的文件大小之和与待访问内容的文件大小的差值;当第一内容集合中所有内容的文件大小之和大于待访问内容的文件大小时,待淘汰内容可以为第一内容集合的一部分,例如,可以为第一内容集合中其文件大小大于或者等于待访问内容的文件大小且历史访问量较低的一个内容,或者,可以为其文件大小之和大于或者等于待访问内容的文件大小且历史访问量较低的多个内容,以便于可以腾出足够的缓存空间来保存待访问内容。
CDN边缘节点在步骤202中将第一内容集合中的待淘汰内容从热门内容中淘汰时,可以根据第二淘汰条件确定将待淘汰内容从热门内容淘汰至非热门内容中,或者直接从热门内容淘汰出缓存。具体可以包括:
CDN边缘节点确定待淘汰内容中的内容是否满足第二淘汰条件;
CDN边缘节点将待淘汰内容中满足第二淘汰条件的内容淘汰出缓存;
CDN边缘节点将待淘汰内容中不满足第二淘汰条件的内容从热门内容中淘汰至非热门内容中,并将非热门内容中至少一个内容淘汰出缓存。
其中,第二淘汰条件用于确定待淘汰内容中内容的访问量呈急剧下降趋势。第二淘汰条件可以包括第五淘汰子条件、第六淘汰子条件和第七淘汰子条件中的至少一个。
其中,第五淘汰子条件包括:待淘汰内容中内容的文件类型为预设文件类型;
第六淘汰子条件包括:待淘汰内容中内容的码率为冷门码率值;
第七淘汰子条件包括:待淘汰内容中内容的时间戳为冷门时间戳。
由于第二淘汰条件中的预设文件类型可以根据需要设定为时效性强的类型,过了一定时间后,该内容的访问量将会显著下降,冷门码率为根据内容的历史访问情况统计出来的客户端很少使用的码率,冷门时间戳为根据内容的历史访问情况统计出来的客户端很少使用的时间戳,因而满足第二淘汰条件的待淘汰内容的访问量可能呈急剧下降趋势,即该部分待淘汰内容当前或将来的访问量可能特别低,因而CDN边缘节点可以直接将满足第二淘汰条件的待淘汰内容淘汰出缓存。本发明实施例提供的缓存内容淘汰方法,通过将历史访问量较高的热门内容中,访问量呈急剧下降趋势的那部分待淘汰内容直接淘汰出缓存,加快了历史访问量高但当前或将来访问量急剧下降的热门内容所占用的缓存空间的释放速度,尽量避免其长期占用CDN边缘节点的缓存空间。
其中,若第二淘汰条件至少包括第五淘汰子条件,则在确定待淘汰内容中的内容是否满足第二淘汰条件之前,该方法还可以包括:
获取待淘汰内容中的内容的统一资源定位符URL;
根据URL向CDN中心节点请求获取用于描述待淘汰内容中的内容的文件类型的类型字段。
若第二淘汰条件至少包括第六淘汰子条件,则在确定待淘汰内容中的内容是否满足第二淘汰条件之前,该方法还可以包括:
获取访问日志中所有被访问内容对应的URL,URL中携带有码率值;
确定访问量低于第二预设阈值的码率值即为冷门码率值。
若第二淘汰条件至少包括第七淘汰子条件,则在确定待淘汰内容中的内容是否满足第二淘汰条件之前,该方法还可以包括:
获取访问日志中所有被访问内容的URL,URL中携带有时间戳;
确定访问量低于第三预设阈值的时间戳即为冷门时间戳。
需要说明的是,上述用于确定待淘汰内容中内容的访问量呈急剧下降趋势的第二淘汰条件的具体内容仅是举例说明,并不用于限定保护范围。
若待淘汰内容不满足第二淘汰条件,则可以说明待淘汰内容的访问量呈下降趋势,但不一定呈急剧下降趋势,即不满足第二淘汰条件的这部分待淘汰内容当前或将来的访问量较低,但可能不是特别低,因而CDN边缘节点可以将不满足第二淘汰条件的这部分待淘汰内容从热门内容中淘汰至非热门内容中,而不是直接淘汰出缓存,并且将非热门内容中的至少一个内容淘汰出缓存。
本发明实施例提供的缓存内容淘汰方法,通过将历史访问量高的热门内容中,访问量呈下降趋势但不一定呈急剧下降趋势的那部分待淘汰内容从热门内容中淘汰至非热门内容中,从而加快了历史访问量高但当前或将来访问量较低的内容所占用的缓存空间的释放速度,尽量避免其长期占用CDN边缘节点的缓存空间,从而节省了缓存空间。
值得注意的是,在本发明实施例提供的方法中,CDN边缘节点在待淘汰内容满足第二淘汰条件,访问量呈急剧下降趋势时,才将满足第二淘汰条件的待淘汰内容直接淘汰出缓存;而在待淘汰内容不满足第二淘汰条件,访问量不一定呈急剧下降趋势时,仅将不满足第二淘汰条件的待淘汰内容从热门内容淘汰至非热门内容中,而不是直接将其淘汰出缓存,从而可以在加快访问量呈下降趋势的热门内容的淘汰速度的同时,减少将历史访问量较高但访问量呈缓慢下降趋势的热门内容直接淘汰出缓存的误操作,从而提高了缓存的命中率。
此外,参见图3b,本发明实施例提供的方法还可以包括:
203、当CDN边缘节点确定在当前时间窗内需要启动缓存中的内容淘汰流程时,若确定热门内容中不存在满足第一淘汰条件的第一内容集合,则CDN边缘节点将非热门内容中至少一个内容淘汰出缓存。
在将非热门内容中至少一个内容淘汰出缓存时,CDN边缘节点具体可以将非热门内容中的低热度内容淘汰出缓存,其中的低热度可以包括内容的历史访问量低,或者,内容的最近访问时刻与当前时刻的时间间隔长。
进一步地,在上述过程之后,CDN边缘节点还可以继续确定剩余缓存空间是否小于待访问内容的文件大小;若剩余缓存空间大于或者等于待访问内容的文件大小,则可以将待访问内容插入非热门内容,并将待访问内容发送给客户端,从而完成此次淘汰流程,以等待进入下一次淘汰流程;若剩余缓存空间小于待访问内容的文件大小,则CDN边缘节点确定在当前时间窗内需要再次启动淘汰流程以继续淘汰缓存中的内容,直至剩余缓存空间大于或者等于待访问内容的文件大小。
另外,参见图3c,本发明实施例提供的方法还可以包括:
204、当确定在当前时间窗内不需要启动缓存中的内容淘汰流程时,CDN边缘节点将待访问内容插入非热门内容中,并将待访问内容发送给客户端。
此外,本发明实施例提供的方法还可以包括:
CDN边缘节点在预设划分时刻周期性地根据历史访问量将缓存中的内容划分为热门内容和非热门内容,其中两个划分时刻之间的时间段可以为一个时间窗。由于内容的访问量在不断变化,因而CDN边缘节点通过不断在预设的划分时刻周期性地将缓存中的内容划分为热门内容和非热门内容,可以使得热门内容与非热门内容的划分情况与内容的实时访问量的基本趋势保持一致。
划分时刻通常可以设在访问量较少的时间段内,例如凌晨00:00:00到4:00:00。当然,如上,相邻划分时刻之间的间隔可以是周期T,例如周期T可以为24小时,划分时刻可以为每天的00:00:00时刻;相邻划分时刻之间的时间间隔也可以是根据实际需要设定的其它时间间隔,例如,CDN边缘节点可以在内容的访问量变化速度较快时,将划分时刻之间的时间间隔设置的短一些,而在内容的访问量变化速度较慢时,将划分时刻之间的时间间隔设置的长一些,从而使得热门内容与非热门内容的划分情况与内容的实时访问量基本保持动态一致。
在本发明实施例中,一种可选的实施方式为,热门内容形成热门队列,热门队列中的内容按照历史访问量从高到低的顺序从热门队列的头部开始依次排列至热门队列的尾部;若确定热门内容中存在满足第一淘汰条件的第一内容集合,则将第一内容集合中的待淘汰内容从热门内容中淘汰包括:
按照从热门队列尾部到热门队列头部的顺序,依次确定热门队列中的内容是否满足第一淘汰条件;
若确定热门内容中存在满足第一淘汰条件的第一内容集合,则将第一内容集合中靠近热门队列尾部的至少一个内容从热门内容中淘汰。
需要说明的是,由于待淘汰内容通常是满足第一淘汰条件的第一内容集合中历史访问量较低的至少一个内容,当热门队列中的内容按照历史访问量从高到低的顺序从热门队列的头部开始依次排列至热门队列的尾部时,第一内容集合中靠近热门队列尾部的至少一个内容,即为第一内容集合中历史访问量较低的至少一个内容。可见,将热门队列中的内容按照历史访问量从高到低的顺序从热门队列的头部开始依次排列至热门队列的尾部,可以快速地确定第一内容集合中的待淘汰内容。
当然,热门队列中的内容也可以根据其它规则进行排列,例如按照当前时间窗内访问量的高低顺序进行排序。
此外,由于热门队列中内容的数量通常较多,例如几万条或者几十万条等,并且当热门队列中的内容按照历史访问量的高低顺序排序时,在当前时间窗内内容的前后顺序调整较小,资源开销较小;而若按照当前时间窗内访问量的高低顺序进行排序,则由于当前时间窗内内容的访问量可能会实时改变,因而热门队列中内容的顺序需要频繁进行调整,从而增大了资源开销。
在本发明实施例中,一种可选的实施方式为,非热门内容形成非热门队列,非热门队列中的内容按照历史访问量从高到低的顺序,或者按照最近访问时刻与当前时刻的时间间隔从短到长的顺序,从非热门队列的头部开始依次排列至非热门队列的尾部;
将待淘汰内容中不满足第二淘汰条件的内容从热门内容中淘汰至非热门内容中包括:
将待淘汰内容中不满足第二淘汰条件的内容从热门队列淘汰至非热门队列的头部;
将非热门内容中至少一个内容淘汰出缓存包括:
将非热门队列尾部的至少一个内容淘汰出缓存。
其中,历史访问量以及最近访问时刻与当前时刻的时间间隔可以反映内容的受欢迎程度,可以称为内容的热度,历史访问量越高,热度也越高;或者,最近访问时刻与当前时刻的时间间隔越短,热度也越高,也就是说,非热门队列中的内容按照热度从高到低的顺序从非热门队列的头部开始依次排列至非热门队列的尾部。CDN边缘节点将待淘汰内容中不满足第二淘汰条件的内容从热门队列淘汰至非热门队列的头部,并将非热门队列尾部热度较低的至少一个内容淘汰出缓存,可以使得淘汰至非热门队列中的待淘汰内容中不满足第二淘汰条件的内容的淘汰速度较慢。
值的强调的是,由于本发明实施例提供的缓存内容淘汰方法不是直接将历史访问量最低的内容淘汰出缓存,因而使得历史访问量低但当前或将来访问量高的内容不会由于历史访问量低而很容易被淘汰出缓存,从而可以较为长期地保存在缓存中,因此提高了缓存的命中率,降低了向CDN中心节点或内容源服务器获取内容的回源带宽,提高了用户体验。
本发明实施例提供一种缓存内容淘汰方法,CDN边缘节点在将缓存中的内容划分为热门内容和非热门内容后,若热门内容中存在满足第一淘汰条件的第一内容集合,则第一内容集合中内容的访问量具有下降趋势,第一内容集合中的内容的当前或将来的访问量可能较低,因而将第一内容集合中的待淘汰内容从热门内容中淘汰,其中的待淘汰内容为第一内容集合的子集,从而加快了历史访问量高但当前或将来访问量可能较低的热门内容所占用的缓存空间的释放速度,解决了历史访问量高但当前或将来访问量可能较低的热门内容,由于长期占用CDN边缘节点的缓存空间导致缓存空间不足的问题。
实施例2
在实施例1的基础上,本发明实施例提供一种缓存视频淘汰方法,以缓存中的内容为视频,热门队列中的热门视频按照历史访问量从高到低的顺序,从热门队列的头部开始依次排列至热门队列的尾部,非热门队列中的非热门视频按照历史访问量从高到低的顺序,从非热门队列的头部开始依次排列至非热门队列的尾部,待淘汰视频为第一视频集合中历史访问量最低的视频为例进行说明。本发明实施例将主要针对实施例1中未述部分进行详细描述,参见图4,可以包括:
301、CDN边缘节点根据历史访问量将缓存中的视频划分为热门视频和非热门视频,任一热门视频的历史访问量高于任一非热门视频的历史访问量。
其中,步骤301可以参见上述实施例1中步骤201的具体描述。
需要说明的是,在本发明实施例中,缓存中的内容为视频,该视频可以是一部完整的视频文件,也可以是一部完整视频文件中的一个分片,这里不做限定。热门队列中的热门视频按照历史访问量从高到低的顺序从热门队列的头部开始依次排列至热门队列的尾部,且非热门队列中的非热门视频按照历史访问量从高到低的顺序,从非热门队列的头部开始依次排列至非热门队列的尾部。热门队列的头部和尾部是相对的,保存历史访问量高的热门视频的热门队列的一端可以为热门队列的头部,保存历史访问量低的热门视频的热门队列的一端可以为热门队列的尾部。与热门队列类似,非热门队列的头部和尾部也是相对的。
在本发明实施例中,以CDN边缘节点周期性地将缓存中的视频划分为热门视频和非热门视频,且划分时刻为每天的00:00:00时刻为例进行说明。其中,每天的00:00:00到23:59:59可以称为一个时间窗,当天的00:00:00到当天的23:59:59可以称为当前时间窗,时间窗长度为对应的周期24小时。
302、CDN边缘节点确定在当前时间窗内是否需要启动缓存中的视频淘汰流程。
具体的,参见图5,CDN边缘节点确定在当前时间窗内需要启动缓存中的视频淘汰流程可以包括:
1-1、CDN边缘节点接收客户端发送的获取待访问视频的访问请求。
1-2、CDN边缘节点确定客户端请求的待访问视频是否保存于缓存中。
1-3、若是,则CDN边缘节点将缓存中的待访问视频发送给客户端。
若CDN边缘节点的缓存中保存有客户端请求访问的待访问视频,则不需要再向CDN中心节点获取该待访问视频,而可以直接将缓存中的待访问视频发送给客户端。
1-4、若否,则CDN边缘节点确定待访问视频是否满足缓存条件。
若CDN边缘节点的缓存中未保存有客户端请求访问的待访问视频,则需要向CDN中心节点获取该待访问视频,并进一步确定该待访问视频是否满足缓存条件。缓存条件可以包括:待访问视频的历史访问量高于或者等于第一预设阈值。当待访问视频的历史访问量高于或者等于第一预设阈值时,可以认为待访问视频较为受欢迎,需要将待访问视频保存于缓存中,以提高CDN边缘节点缓存的命中率,降低CDN边缘节点向CDN中心节点及CDN中心节点向源服务器获取待访问视频的回源带宽。其中,第一预设阈值可以根据具体情况进行设定,例如可以为10。
1-5、若待访问视频满足缓存条件,则CDN边缘节点确定剩余缓存空间是否小于待访问视频的文件大小。
1-6、若剩余缓存空间小于待访问视频的文件大小,则CDN边缘节点确定在当前时间窗内需要启动缓存中的视频淘汰流程。
1-7、若剩余缓存空间大于或者等于待访问视频的文件大小,则CDN边缘节点确定在当前时间窗内不需要启动缓存中的视频淘汰流程,并将待访问视频插入非热门视频,将待访问视频发送给客户端。
303、当CDN边缘节点确定在当前时间窗内需要启动缓存中的视频淘汰流程时,按照从热门队列尾部到热门队列头部的顺序,依次确定热门队列中的热门视频是否满足第一淘汰条件。
当确定在当前时间窗内需要启动缓存中的视频淘汰流程时,CDN边缘节点开始进入淘汰流程。具体的,CDN边缘节点可以按照从热门队列尾部到热门队列头部的顺序,即按照热门队列中从历史访问量最低的热门视频到历史访问量最高的热门视频的顺序,依次确定热门队列中的热门视频是否满足第一淘汰条件。CDN边缘节点首次确定的热门队列中满足第一淘汰条件的视频,即为热门队列满足第一淘汰条件的第一视频集合中历史访问量最低的视频。
示例性的,参见图6所示的热门队列的结构示意图,CDN边缘节点可以首先确定位于热门队列尾部的热门视频n是否满足第一淘汰条件,若热门视频n不满足第一淘汰条件,则CDN边缘节点确定热门视频n-1是否满足第一淘汰条件,从而依次确定热门队列中的热门视频是否满足第一淘汰条件,直到首次确定某一个热门视频满足第一淘汰条件,则不再确定之后的热门视频是否满足第一淘汰条件,并进入步骤304。由于CDN边缘节点是按照热门队列中从历史访问量最低的热门视频到历史访问量最高的热门视频的顺序,依次确定热门队列中的热门视频是否满足第一淘汰条件的,因而首次确定的热门队列中满足第一淘汰条件的热门视频即为满足第一淘汰条件的第一视频集合中历史访问量最低的视频。可见,将热门队列中的视频按照历史访问量排列,可以快速地确定满足第一淘汰条件的第一视频集合中历史访问量最低的视频,从而提高了CDN边缘节点的处理效率;否则,可能需要在确定出热门队列中所有满足第一淘汰条件的第一视频集合后,再从第一视频集合中确定历史访问量最低的视频,从而降低了处理效率。
若直到热门队列的头部仍未出现满足第一淘汰条件的热门视频,则可以确定热门队列中的热门视频均不满足第一淘汰条件,并进入步骤307。
其中,上述第一淘汰条件具体可以为第一淘汰子条件,或者为第二淘汰子条件、第三淘汰子条件、第四淘汰子条件中至少一个与第一淘汰子条件的组合。
当前时间窗内热门视频中视频的访问量低于预设访问量。
具体的,由于预设访问量是根据该视频之前的访问情况估计的当前时间窗内预期可以达到的访问量,因而若当前时间窗内热门视频中该视频的访问量低于预设访问量,则可以说明该视频当前访问量较低且呈下降趋势。举例来说,若当前时间窗为当天00:00:00到当天23:59:59,划分时刻为当天的00:00:00,则CDN边缘节点确定热门队列中任一热门视频是否满足第一淘汰条件可以包括:
(1)、若第一淘汰条件仅包括第一淘汰子条件,则在当前时间窗内,当热门视频的访问量低于预设访问量时,该热门视频满足第一淘汰条件。例如,若预设访问量为10,则从当天00:00:00到当前时刻,访问量低于10次的热门视频满足第一淘汰条件,访问量高于或者等于10次的热门视频不满足第一淘汰条件。其中,不同视频对应的预设访问量可以相同也可以不同。
(2)、若第一淘汰条件仅包括第一淘汰子条件和第二淘汰子条件,则在当前时间窗内热门视频的访问量低于预设访问量且当前时刻不在热门视频中视频预设的保护期内时,该热门视频满足第一淘汰条件。示例性的,当热门视频为一部刚上线的电影时,可以为该热门视频预设一个保护期,例如该预设保护期包括当前时间窗前四分之一时,预设访问量为10,则在当天00:00:00到05:59:59之间,热门视频不满足第二淘汰子条件,从而不满足第一淘汰条件,因而在当天00:00:00到05:59:59之间,可以不进行访问量的判断;而在当天05:59:59之后,若从当天00:00:00到当前时刻,热门视频的访问量高于或者等于10次,则热门视频同时满足第一淘汰子条件和第二淘汰子条件,从而满足第一淘汰条件;而在05:59:59之后,若从当天00:00:00到当前时刻,热门视频的访问量低于10次,则该热门视频满足第二淘汰子条件但不满足第一淘汰子条件,因而不满足第一淘汰条件。
(3)、若第一淘汰条件仅包括第一淘汰子条件和第三淘汰子条件,则在当前时间窗内热门视频的访问量低于预设访问量,且当前时间窗内热门视频中已淘汰出缓存的视频的数量低于预设淘汰数量时,该热门视频满足第一淘汰条件。其中,预设淘汰数量可以为根据现网统计出来的每天热门视频中大概多少数量的视频会被淘汰。例如,若预设淘汰数量为5万,则从当天00:00:00到当前时刻,当热门视频被淘汰的数量高于或者等于5万时,该热门视频不满足第三淘汰子条件;当热门视频被淘汰的数量低于5万时,该热门视频满足第三淘汰子条件,当该热门视频同时还满足第一淘汰子条件时,该热门视频满足第一淘汰条件。
(4)、若第一淘汰条件仅包括第一淘汰子条件和第四淘汰子条件,则在当前时间窗内热门视频的访问量低于预设访问量,且当前时间窗内已淘汰出缓存的热门视频的数量与已淘汰出缓存的非热门视频的数量的比例低于预设淘汰比例时,该热门视频满足第一淘汰条件。其中,预设淘汰比率可以为根据现网统计出来的每天热门视频中大概多少比例的视频会被淘汰。例如,若预设淘汰比例为1:2,则从当天00:00:00到当前时刻,当已淘汰出缓存的热门视频与已淘汰出缓存的非热门视频的淘汰数量比例高于或者等于1:2时,该热门视频不满足第四淘汰子条件;当已淘汰出缓存的热门视频与已淘汰出缓存的非热门视频的淘汰数量比例低于1:2时,该热门视频满足第四淘汰子条件,当该热门视频同时还满足第一淘汰子条件时,该热门视频满足第一淘汰条件。
需要说明的是,第一淘汰条件也可以是两个以上上述子条件的组合,这里不再赘述。
304、若热门视频中存在满足第一淘汰条件的第一视频集合,则CDN边缘节点确定第一视频集合中的待淘汰视频是否满足第二淘汰条件;若是,则进入步骤305;若否,则进入步骤306。
在本发明实施例中,待淘汰视频为满足第一淘汰条件的第一视频集合中历史访问量最低的视频。在CDN边缘节点根据从热门队列尾部到头部的顺序依次确定热门队列中的热门视频是否满足第一淘汰条件时,由于热门队列中的热门视频按照历史访问量从高到低的顺序从热门队列的头部开始依次排序,因而当CDN边缘节点首次确定某一视频满足第一淘汰条件时,该视频为满足第一淘汰条件的第一视频集合中最靠近热门队列尾部的视频,也是第一视频集合中历史访问量最低的视频,因而也就是待淘汰视频。
由于历史访问量较高且满足第一淘汰条件的待淘汰视频的访问量呈下降趋势,因而可以将从热门视频中淘汰,以加快其淘汰速度。但将待淘汰视频从热门队列淘汰至非热门队列,还是直接将待淘汰视频淘汰出缓存,需要根据待淘汰视频是否满足第二淘汰条件进行确定。其中,第二淘汰条件用于确定待淘汰视频的访问量呈急剧下降趋势。若待淘汰视频满足第二淘汰条件,则可以进入步骤305,若待淘汰视频不满足第二淘汰条件,则可以进入步骤306。
其中,上述用于确定待淘汰视频的访问量呈急剧下降趋势的第二淘汰条件具体可以包括第五淘汰子条件、第六淘汰子条件和第七淘汰子条件中的至少一个。举例来说,CDN边缘节点确定热门队列中满足第一淘汰条件的待淘汰视频是否满足第二淘汰条件可以包括:
(1)、若第二淘汰条件仅包括第五淘汰子条件,则当待淘汰视频的文件类型为预设文件类型时,可以确定待淘汰视频满足第二淘汰条件。其中的预设文件类型可以为时效性强的文件类型,例如新闻类、体育类、综艺类等,预设文件类型可以为一个或多个。当待淘汰视频满足第五淘汰子条件时,可以说明待淘汰视频的时效性强,仅在小段时间会出现集中访问的情况,之后的访问量会急剧下降,因而可以考虑将其淘汰出缓存。其中,上述新闻类、体育类、综艺类等时效性强的文件类型只是举例说明,还可以包括其它的文件类型,这里不做限定。其中,待淘汰视频的文件类型可以从待淘汰视频的URL中解析获得。
若第二淘汰条件至少包括第五淘汰子条件,则在CDN边缘节点确定待淘汰视频是否满足第二淘汰条件之前,CDN边缘节点可以从热门队列中获取待淘汰视频的URL,并根据待淘汰视频的URL向CDN中心节点请求获取待淘汰视频对应的类目表Category表,CDN中心节点在其CMS数据库中查找将该category表并将其返回给CDN边缘节点,Category表中包括与文件类型存在对应关系的类型字段即Parentid字段,CDN边缘节点可以根据Parentid字段确定待淘汰视频的文件类型。
示例性的,Category表的结构可以参见表1:
表1
名称 类型 简介
id int 主键 标识
name varchar 名称
parentid int 父类别
remark varchar 备注
示例性的,Parentid字段与文件类型的映射关系可以参见表2:
表2
Parentid 文件类型
1000 电影
1101 新闻
1102 财经
1103 体育
1104 专题
1105 法制
1106 访谈
1107 综艺
1108 音乐
1109 戏剧
1110 外语
1200 广告
示例性的,某一视频对应的Category表可以参见表3:
表3
Figure BDA0000837049460000201
若第二淘汰条件至少包括第五淘汰子条件,则CDN边缘节点在确定待淘汰视频的文件类型之后,可以进一步确定待淘汰视频的文件类型是否为时效性强的文件类型。具体的,若待淘汰视频的文件类型为预设文件类型中的任意一个,则CDN边缘节点确定待淘汰视频满足第五淘汰子条件,从而满足第二淘汰条件;否则,CDN边缘节点确定待淘汰视频不满足第五淘汰子条件,从而不满足第二淘汰条件。
(2)、若第二淘汰条件仅包括第六淘汰子条件,则当待淘汰视频的码率值为冷门码率值中的任意一个时,可以确定待淘汰视频满足第二淘汰条件。当待淘汰视频满足第六淘汰子条件时,可以说明待淘汰视频的码率值为客户端不经常使用的一种冷门码率值,因而可以考虑将待淘汰视频淘汰出缓存。冷门码率值可以是一个码率值集合,具体可以根据CDN边缘节点上保存的历史访问日志中视频的URL中与码率值对应的码率值字段统计获得。
此外,若第二淘汰条件至少包括第六淘汰子条件,则在CDN边缘节点确定待淘汰视频是否满足第二淘汰条件之前,该方法还可以包括确定冷门码率值,参见图7,具体可以包括:
2-1、CDN边缘节点创建码率统计列表,码率统计列表中的每一项包括码率值和对应的访问量,码率统计列表的初始长度为0;
2-2、CDN边缘节点从保存的访问日志中获取一个未统计过的视频的统一资源定位符URL,并根据URL中携带的码率值字段获取码率值;
2-3、CDN边缘节点确定获取的码率值是否存在于码率统计列表中;
2-4、若是,则CDN边缘节点将码率统计列表中码率值对应的访问量加1;
2-5、若否,则CDN边缘节点将码率值插入码率统计列表的末尾,并将对应的访问量置为1;
2-6、CDN边缘节点确定访问日志是否统计完成;
2-7、若否,则CDN边缘节点继续从访问日志中获取一个未统计过的URL;
2-8、若是,则CDN边缘节点CDN边缘节点确定访问量低于第二预设阈值的码率值即为冷门码率值。
其中,第二预设阈值可以根据需要进行设定。URL中与码率值对应的码率值字段可以是QualityLevels字段。示例性的,若一个视频的URL为:
http://news.cntv.cn/2015/02/10/VIDE1423528743144611.shtml/QualityLevels(900000)/Fragments(video=200200000),
则该URL中的“QualityLevels(900000)”为QualityLevels字段,对应的码率值为900000比特/秒。若码率值900000比特/秒的访问量低于第二预设阈值,则码率值900000比特/秒为冷门码率值。
或者,在步骤2-8中,CDN边缘节点也可以根据码率值的访问量对所有码率值进行排序,并将预设数量的访问量较低的码率值确定为冷门码率值。
(3)、若第二淘汰子条件仅包括第七淘汰子条件,则当待淘汰视频的时间戳为冷门时间戳中的任意一个时,可以确定待淘汰视频满足第二淘汰条件。当待淘汰视频满足第七淘汰子条件时,可以说明待淘汰视频的时间戳为客户端不经常访问的一个冷门时间戳,例如待淘汰视频为一部电影的片头或者片尾,因而可以考虑将待淘汰视频淘汰出缓存。冷门时间戳可以是一个时间戳集合,具体可以根据CDN边缘节点上保存的历史访问日志中视频的URL中与时间戳对应的时间戳字段统计获得。
此外,若第二淘汰条件至少包括第七淘汰子条件,则CDN边缘节点确定视频是否满足第二淘汰条件之前,本发明实施例提供的方法还可以包括确定冷门时间戳,参见图8,具体可以包括:
3-1、CDN边缘节点创建时间戳统计列表,时间戳统计列表中的每一项包括时间戳和对应的访问量,时间戳统计列表的初始长度为0;
3-2、CDN边缘节点从保存的访问日志中获取一个未统计过的视频的统一资源定位符URL,并根据URL中携带的时间戳字段获取时间戳;
3-3、CDN边缘节点确定获取的时间戳是否已存在于时间戳统计列表中;
3-4、若是,则CDN边缘节点将时间戳统计列表中时间戳对应的访问量加1;
3-5、若否,则CDN边缘节点将时间戳插入时间戳统计列表的末尾,并将对应的访问量置为1;
3-6、CDN边缘节点确定访问日志是否统计完成;
3-7、若否,则CDN边缘节点继续从访问日志中获取一个未统计过的URL;
3-8、若是,则CDN边缘节点CDN边缘节点确定访问量低于第三预设阈值的时间戳即为冷门时间戳。
其中,第三预设阈值具体可以根据需要进行设定。URL中与时间戳对应的时间戳字段可以是Fragments字段。示例性的,若一个视频的URL为:
http://news.cntv.cn/2015/02/10/VIDE1423528743144611.shtml/QualityLevels(900000)/Fragments(video=200200000),
则该URL中的“Fragments(video=200200000)”为Fragments字段,时间戳的单位为10-7秒,即0.1微秒,对应的时间戳为20020000微秒,即该个视频为一部完整视频的视频分片,且该个视频的起始时间为该部完整视频的第20.02秒。若该时间戳的访问量低于第三预设阈值,则该时间戳为冷门时间戳。
或者,在步骤3-8中,CDN边缘节点也可以根据时间戳的访问量对所有时间戳进行排序,并将预设数量的访问量较低的时间戳确定为冷门时间戳。
需要说明的是,第二淘汰条件也可以是两个或两个以上上述子条件的组合,这里不再赘述。
305、CDN边缘节点将待淘汰视频淘汰出缓存。
若满足第一淘汰条件的待淘汰视频同时还满足第二淘汰条件,则CDN边缘节点将待淘汰视频直接淘汰出缓存。
需要说明的是,本发明实施例提供的缓存视频淘汰方法将历史访问量较高的热门视频中,访问量呈急剧下降趋势的那部分待淘汰视频直接淘汰出缓存,加快了历史访问量高但当前或将来访问量急剧下降的热门视频所占用的缓存空间的释放速度,尽量避免其长期占用CDN边缘节点的缓存空间。
306、CDN边缘节点将待淘汰视频从热门队列淘汰至非热门队列的头部,并将位于非热门队列尾部的至少一个视频淘汰出缓存。
在本发明实施例中,由于非热门队列中的视频是按照历史访问量从高到低的顺序从非热门队列的头部开始依次排列至非热门队列的尾部的,因而位于非热门队列尾部的视频为非热门队列中历史访问量最低的视频。
因此,若待淘汰视频不满足第二淘汰条件,则CDN边缘节点可以将待淘汰视频淘汰至非热门队列的头部,并将位于非热门队列尾部历史访问量较低的至少一个视频淘汰出缓存。由于非热门队列淘汰视频时是从热度较低的尾部开始淘汰的,位于非热门队列头部的视频的淘汰速度较慢,因而将热门队列中历史访问量较高但不满足第二淘汰条件的待淘汰视频淘汰至非热门队列的头部,不会很快被淘汰出缓存,从而降低了热门视频被误淘汰出缓存的概率,提高了缓存的命中率。
需要说明的是,本发明实施例提供的缓存视频淘汰方法将历史访问量高的热门视频中,访问量呈下降趋势但不一定呈急剧下降趋势的待淘汰视频从热门视频中淘汰至非热门视频中,从而加快了历史访问量高但当前或将来访问量较低的视频所占用的缓存空间的释放速度,尽量避免其长期占用CDN边缘节点的缓存空间,从而节省了缓存空间。
值得注意的是,在本发明实施例提供的方法中,CDN边缘节点在待淘汰视频满足第二淘汰条件,访问量呈急剧下降趋势时,才将满足第二淘汰条件的待淘汰视频直接淘汰出缓存;而在待淘汰视频不满足第二淘汰条件,访问量不一定呈急剧下降趋势时,仅将不满足第二淘汰条件的待淘汰视频从热门视频淘汰至非热门视频中,而不是直接将其淘汰出缓存,从而可以在加快访问量呈下降趋势的热门视频的淘汰速度的同时,减少将历史访问量较高但访问量呈缓慢下降趋势的热门视频直接淘汰出缓存的误操作,从而提高了缓存的命中率。
307、若CDN边缘节点确定热门视频中不存在满足第一淘汰条件的第一视频集合,则CDN边缘节点将位于非热门队列尾部的至少一个视频淘汰出缓存。
若热门队列中的任一热门视频均不满足第一淘汰条件,则CDN边缘节点可以将位于非热门队列尾部的至少一个视频淘汰出缓存。
由于本发明实施例提供的缓存视频淘汰方法不是直接将历史访问量最低的视频淘汰出缓存,因而使得历史访问量低但当前或将来访问量高的视频不会由于历史访问量低而很容易被淘汰出缓存,从而可以较为长期地保存在缓存中,因此提高了缓存的命中率,降低了CDN边缘节点向CDN中心节点或CDN中心节点向视频源服务器获取视频的回源带宽,提高了用户体验。
进一步地,在上述步骤301-307之后,CDN边缘节点还可以继续确定剩余缓存空间是否小于待访问视频的文件大小;若剩余缓存空间大于或者等于待访问视频的文件大小,则可以将待访问视频插入非热门视频,并将待访问视频发送给客户端,从而完成此次淘汰流程,以等待进入下一次淘汰流程;若剩余缓存空间小于待访问视频的文件大小,则CDN边缘节点继续淘汰缓存中的视频,直至剩余缓存空间大于或者等于待访问视频的文件大小。
308、当确定在当前时间窗内不需要启动缓存中的视频淘汰流程时,CDN边缘节点将待访问视频插入非热门视频中,并将待访问视频发送给客户端。
其中,当确定在当前时间窗内不需要启动缓存中的视频淘汰流程时,由于待访问视频的历史访问量通常没有缓存中视频的历史访问量高,因而CDN边缘节点可以将待访问视频插入非热门队列的尾部,以使得非热门队列中的视频与历史访问量的高低顺序保持一致。
此外,参见图9,CDN边缘节点在步骤301中的预设划分时刻将缓存中的视频划分为热门视频和非热门视频之后,本发明实施例提供的方法还可以包括:
309、若CDN边缘节点确定当前时刻为下一划分时刻,则继续进入步骤301。
若CDN边缘节点确定当前时刻为下一划分时刻,则重新根据历史访问量将缓存中的视频划分为热门视频和非热门视频。
示例性的,当预设划分时刻之间的时间间隔为周期T时,CDN边缘节点可以在每次淘汰流程结束后,确定当前时刻与CDN边缘节点上一次将缓存中的视频划分为热门视频和非热门视频的划分时刻之间的时间间隔是否大于或者等于周期T;若是,则确定当前时刻为下一划分时刻,从而重新根据历史访问量将缓存中的视频划分为热门视频和非热门视频;若否,则继续确定是否需要淘汰缓存中的视频,以等待进入下一次淘汰流程。该方案需要在每次淘汰流程结束后均需要检测当前时刻是否为下一划分时刻,因而开销较大。
或者,CDN边缘节点也可以在当前时刻与上一次将缓存中的视频划分为热门视频和非热门视频的划分时刻之间的时间间隔大于或者等于周期T从而到达下一划分时刻时,触发检测当前淘汰流程是否结束;若结束,则重新根据历史访问量将缓存中的视频划分为热门视频和非热门视频;若尚未结束,则在当前淘汰流程结束后,重新根据历史访问量将缓存中的视频划分为热门视频和非热门视频。
本发明实施例提供一种缓存视频淘汰方法,CDN边缘节点在将缓存中的视频划分为热门队列和非热门队列后,若热门队列中访问量呈下降趋势的第一视频集合中历史访问量最低的待淘汰视频,同时还满足第二淘汰条件,则将访问量呈急剧下降趋势的待淘汰视频淘汰出缓存,从而可以加快历史访问量高但当前或将来访问量急剧下降的热门视频所占用的缓存空间的释放速度,尽量避免其长期占用CDN边缘节点的缓存空间;若待淘汰视频不满足第二淘汰条件,则待淘汰视频的访问量不一定呈下降趋势,因而可以将待淘汰视频淘汰至非热门队列,并将非热门队列尾部的至少一个历史访问量较低的视频淘汰出缓存,从而可以在加快访问量呈下降趋势的热门视频的淘汰速度的同时,减少将历史访问量较高但访问量呈缓慢下降趋势的热门视频直接淘汰出缓存的误操作,提高缓存的命中率。
实施例3
在实施例2的基础上,参见图10,本发明实施例提供另一种缓存视频淘汰方法,主要描述CDN边缘节点、CDN中心节点、客户端以及源服务器之间的交互过程,以下将对实施例2中的未述部分进行详细描述,具体如下:
401、CDN边缘节点根据历史访问量将缓存中的视频划分为热门视频和非热门视频,任一热门视频的历史访问量高于任一非热门视频的历史访问量。
其中,步骤401具体可以参见步骤201中的描述。
402、客户端向视频源服务器发送视频访问请求,视频访问请求包括该视频的URL,视频源服务器通过CDN提供视频加速服务。
示例性的,客户端向视频源服务器发送的请求访问某一视频的视频访问请求可以包括:
201.106.77.103--[02/Jul/2014:12:04:58+0000]"GEThttp://sscdn.clarovideo.com/multimediav81/plataforma_vod/ISM/201301/WMP4H01538MTSS_full/WMP4H01538MTSS_full.ism/QualityLevels(1105000)/Fragments(video=3563560000)HTTP/1.1"10583064"-""Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/35.0.1916.153Safari/537.36OPR/22.0.1471.70""-"
其中,从前向后的各个字段的含义如下:
201.106.77.103:%client,客户端的IP地址;
第一个“-”:%ident,浏览者的唯一标示;
第二个“-”:%authuser,浏览者身份验证时提供的名字;
[02/Jul/2014:12:04:58+0000]:%data,CDN边缘节点接收到视频访问请求的时间;
GET:%method,请求方法;
http://sscdn.clarovideo.com/multimediav81/plataforma_vod/ISM/201301/WMP4H01538MTSS_full/WMP4H01538MTSS_full.ism/QualityLevels(1105000)/Fragments(video=3563560000):%resource,视频的URL;
HTTP/1.1:%protocol,协议及版本信息;
105:%status,HTTP状态码;
83064:%response size,该次请求的实际传送字节数,单位为字节bytes,不含HTTP头;
第三个“-”:%refer,浏览者在访问该页面之前所浏览的页面,此处为空;
"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/35.0.1916.153Safari/537.36 OPR/22.0.1471.70""-":%agent,客户端的浏览器信息,OS信息等。
403、CDN中心节点将客户端重定向至CDN边缘节点。
CDN中心节点将客户端重定向至CDN边缘节点后,CDN边缘节点可以接收到客户端的视频访问请求,并通过CDN边缘节点向客户端发送请求访问的视频。
404、CDN边缘节点接收客户端的访问请求,并确定缓存中是否保存有客户端请求的待访问视频,若是,则进入步骤405,若否,则进入步骤406。
CDN边缘节点在接收到客户端发送的视频访问请求后,从视频访问请求中解析出该视频的URL,并计算该URL的hash值,示例性的,CDN边缘节点根据上述URL解析出的hash值可以为3365827339883413968。CDN边缘节点在缓存中搜索是否存在具有相同hash值3365827339883413968的视频的URL,若存在,则确定缓存中保存有客户端请求访问的视频,若不存在,则确定缓存中未保存有客户端请求访问的视频。
405、CDN边缘节点将缓存中保存的待访问视频发送给客户端,并进入步骤402。
若CDN边缘节点中保存有客户端请求的待访问视频,则直接将缓存中保存的待访问视频发送给客户端。
406、CDN边缘节点向CDN中心节点请求获取待访问视频。
若CDN边缘节点中未保存有客户端请求的待访问视频,则可以向CDN中心节点请求获取该待访问视频。
示例性的,对应于步骤402中客户端发送的视频访问请求,CDN边缘节点向CDN中心节点发送的视频获取请求可以为:
189.247.157.203--[02/Jul/2014:12:05:00+0000]"GET http://sscdn.clarovideo.com/multimediav00/plataforma_vod/ISM/201301/WMP4H01538MTSS_full/WMP4H01538MTSS_full.ism/QualityLevels(1105000)/Fragments(video=3563560000)HTTP/1.1"10583064"-""curl/7.19.0(x86_64-suse-linux-gnu)libcurl/7.19.0OpenSSL/0.9.8j zlib/1.2.3 libidn/1.10""-"
其中,视频获取请求中各个字段的含义与步骤402中视频访问请求类似,区别在于视频获取请求中的请求方为CDN边缘节点,而视频访问请求中的请求方为客户端。
407、CDN中心节点从源服务器获取待访问视频并发送给CDN边缘节点,或者,CDN中心节点将其缓存中的待访问视频发送给CDN边缘节点。
在接收到CDN边缘节点发送的获取该待访问视频的视频获取请求后,CDN中心节点从视频获取请求中解析出URL,并计算该URL的hash值,根据该hash值在缓存中搜索是否存在具有相同hash值的视频的URL,若存在,则CDN中心节点直接将缓存中保存的该待访问视频发送给CDN边缘节点;若不存在,则CDN中心节点向源服务器获取该待访问视频,并发送给CDN边缘节点。
408、CDN边缘节点确定待访问视频是否满足缓存条件;若不满足缓存条件,则进入步骤409;若满足缓存条件,则进入步骤410。
示例性的,缓存条件为视频的历史访问量高于或者等于第一预设阈值10。CDN边缘节点首先获取CDN边缘节点中的历史访问列表,该列表中记录了每个视频的历史访问次数,而后根据上述待访问视频URL的hash值3365827339883413968,从历史访问列表中搜索具有相同hash值的视频,并获取该视频的历史访问次数。若历史访问次数高于或者等于10,则该待访问视频满足缓存条件;若历史访问次数低于10,则该待访问视频不满足缓存条件。
409、CDN边缘节点将待访问视频发送给客户端,并继续进入步骤402。
410、CDN边缘节点确定剩余缓存空间是否小于待访问视频的文件大小;若是,则进入步骤411;若否,则进入步骤422。
若待访问视频满足缓存条件,则CDN边缘节点需要将待访问视频保存在缓存中,因而CDN边缘节点可以进一步确定剩余缓存空间是否足以保存待访问视频的文件大小。示例性的,CDN边缘节点根据客户端发送的视频访问请求,可以解析出客户端请求访问的待访问视频的文件大小为83064bytes,CDN边缘节点可以确定剩余缓存空间是否小于待访问视频的文件大小83064bytes。
411、CDN边缘节点确定在当前时间窗内需要启动缓存中的视频淘汰流程。
若CDN边缘节点剩余缓存空间小于待访问视频的文件大小83064bytes,则剩余缓存空间不足以保存该待访问视频,CDN边缘节点确定需要淘汰缓存中的视频。
由上可知,上述步骤402-411确定是否需要淘汰CDN边缘节点缓存中的视频的过程可以参见上述实施例2中的步骤302。
412、当CDN边缘节点确定需要淘汰缓存中的视频时,CDN边缘节点按照从热门队列尾部到热门队列头部的顺序,依次确定热门队列中的视频是否满足第一淘汰条件。
其中,步骤412的具体描述可以参见步骤303。若首次确定一个热门视频满足第一淘汰条件,则CDN边缘节点确定该热门视频为满足第一淘汰条件的第一视频集合中历史访问量最低的待淘汰视频。
在上述实施例2中步骤303之后且在步骤304之前,还可以包括:
413、若热门视频中存在满足第一淘汰条件的第一视频集合,则CDN边缘节点获取第一视频集合中待淘汰视频的URL。
其中,CDN边缘节点确定第一视频集合中待淘汰视频的过程具体可以参见上述实施例2中的步骤304。
414、CDN边缘节点根据获取的待淘汰视频的URL向CDN中心节点请求待淘汰视频对应的类目表。
415、CDN中心节点将待淘汰视频对应的类目表发送给CDN边缘节点。
416、CDN边缘节点接收CDN中心节点发送的待淘汰视频对应的类目表,并根据类目表中的类型字段确定待淘汰视频的文件类型。
上述步骤413、414和416中,CDN边缘节点根据类目表category表确定待淘汰视频的文件类型的具体过程,可以参见上述实施例2步骤304中的描述,这里不再赘述。
417、CDN边缘节点根据获取的待淘汰视频的URL确定视频的码率值和时间戳。
其中,CDN边缘节点可以根据待淘汰视频的URL中携带的码率值字段QualityLevels字段确定视频的码率值,根据待淘汰视频的URL中携带的时间戳字段Fragments字段确定待淘汰视频的时间戳,具体可以参见上述实施例2步骤304中的详细描述。
418、CDN边缘节点确定待淘汰视频是否满足第二淘汰条件;若是,则进入步骤419;若否,则进入步骤420。
当第二淘汰条件包括第五淘汰子条件、第六淘汰子条件和第七淘汰子条件时,若待淘汰视频的文件类型为预设文件类型中的任意一个从而满足第五淘汰子条件,且待淘汰视频的码率值为冷门码率值中的任意一个从而满足第六淘汰子条件,且待淘汰视频的时间戳为冷门时间戳中的任意一个从而满足第七淘汰子条件,则CDN边缘节点可以确定待淘汰视频满足第二淘汰条件。
需要说明的是,在步骤418之前,CDN边缘节点还需要确定冷门码率和冷门时间戳,具体过程可以参见上述实施例2步骤304中的详细描述,这里不再赘述。
419、CDN边缘节点将待淘汰视频淘汰出缓存,并继续进入步骤410。
420、CDN边缘节点将待淘汰视频从热门队列淘汰至非热门队列的头部,并将位于非热门队列尾部的至少一个视频淘汰出缓存,并继续进入步骤410。
421、若CDN边缘节点确定热门视频中不存在满足第一淘汰条件的第一视频集合,则CDN边缘节点将位于非热门队列尾部的至少一个视频淘汰出缓存,并进入步骤410。
422、CDN边缘节点确定在当前时间窗内不需要启动缓存中的视频淘汰流程,将待访问视频插入非热门队列的尾部,向客户端发送待访问视频,并继续进入步骤402。
其中,步骤419-步骤422可以参见上述实施例中步骤305-308中的具体描述。
本发明实施例提供的上述缓存视频淘汰流程的示意图可以参见图11。
此外,在步骤401之后,本发明实施提供的方法还可以包括:
423、若CDN边缘节点确定当前时刻为下一划分时刻,则进入步骤401。
其中,步骤423的详细描述可以参见上述实施例2中的步骤309。
与实施例2一致,在本发明实施例提供的缓存视频淘汰方法中,CDN边缘节点在将缓存中的视频划分为热门队列和非热门队列后,若热门队列中访问量呈下降趋势的第一视频集合中历史访问量最低的待淘汰视频,同时还满足第二淘汰条件,则将访问量呈急剧下降趋势的待淘汰视频淘汰出缓存,从而可以加快历史访问量高但当前或将来访问量急剧下降的热门视频所占用的缓存空间的释放速度,尽量避免其长期占用CDN边缘节点的缓存空间;若待淘汰视频不满足第二淘汰条件,则待淘汰视频的访问量不一定呈下降趋势,因而可以将待淘汰视频淘汰至非热门队列,并将非热门队列尾部的至少一个历史访问量较低的视频淘汰出缓存,从而可以在加快访问量呈下降趋势的热门视频的淘汰速度的同时,减少将历史访问量较高但访问量呈缓慢下降趋势的热门视频直接淘汰出缓存的误操作,提高缓存的命中率。
实施例4
本发明实施例提供一种应用上述实施例1-3提供的缓存内容淘汰方法的缓存装置,参见图12a,缓存装置可以包括:
划分单元111,可以用于根据历史访问量将缓存中的内容划分为热门内容和非热门内容,任一热门内容的历史访问量高于任一非热门内容的历史访问量。
淘汰单元112,可以用于当确定在当前时间窗内需要启动缓存中的内容淘汰流程时,若确定热门内容中存在满足第一淘汰条件的第一内容集合,则将第一内容集合中的待淘汰内容从热门内容中淘汰,待淘汰内容包括至少一个内容,第一淘汰条件用于确定热门内容中内容的访问量呈下降趋势。
其中,待淘汰内容可以为满足第一淘汰条件的第一内容集合中历史访问量较低的至少一个内容。在本发明实施例中,若缓存装置确定热门内容中存在满足第一淘汰条件的第一内容集合,则可以表明第一内容集合中内容的访问量呈下降趋势,第一内容集合中内容当前或将来的访问量可能较低,因而可以将第一内容集合中的待淘汰内容从热门内容中淘汰,从而加快历史访问量高但当前或将来访问量可能较低的内容的淘汰速度,避免其长期占用缓存装置的缓存空间从而导致缓存空间不足。
其中,淘汰单元112可以具体用于:
确定待淘汰内容中的内容是否满足第二淘汰条件;
将待淘汰内容中满足第二淘汰条件的内容淘汰出缓存;
将待淘汰内容中不满足第二淘汰条件的内容从热门内容中淘汰至非热门内容中,并将非热门内容中至少一个内容淘汰出缓存。
淘汰单元112还可以用于:
若确定热门内容中不存在满足第一淘汰条件的第一内容集合,则将非热门内容中至少一个内容淘汰出缓存。
需要说明的是,在本发明实施例提供的缓存装置,通过在待淘汰内容满足第二淘汰条件,访问量呈急剧下降趋势时,才将满足第二淘汰条件的待淘汰内容直接淘汰出缓存;而在待淘汰内容不满足第二淘汰条件,访问量不一定呈急剧下降趋势时,仅将不满足第二淘汰条件的待淘汰内容从热门内容淘汰至非热门内容中,而不是直接将其淘汰出缓存,从而可以在加快访问量呈下降趋势的热门内容的淘汰速度的同时,减少将历史访问量较高但访问量呈缓慢下降趋势的热门内容直接淘汰出缓存的误操作,从而提高了缓存的命中率。
此外,参见图12b,还可以包括接口单元113,用于接收客户端发送的获取待访问内容的访问请求。
并且,淘汰单元112还可以具体用于:
确定接口单元113接收的待访问内容未保存在缓存中;
在待访问内容满足缓存条件时,确定剩余缓存空间小于待访问内容的文件大小;
其中,缓存条件包括:
待访问内容的历史访问量高于或者等于第一预设阈值。
淘汰单元112还可以用于:
当确定在当前时间窗内不需要启动缓存中的内容淘汰流程时,将待访问内容插入非热门内容中;
接口单元113还可以用于,将待访问内容发送给客户端。
其中,上述第一淘汰条件可以包括第一淘汰子条件:
当前时间窗内热门内容中内容的访问量低于预设访问量。
进一步地,上述第一淘汰条件还可以包括第二淘汰子条件,和/或第三淘汰子条件,和/或第四淘汰子条件;
第二淘汰子条件包括:当前时刻不在热门内容中内容预设的保护期内;
第三淘汰子条件包括:当前时间窗内热门内容中已淘汰出缓存的内容的数量低于预设淘汰数量;
第四淘汰子条件包括:当前时间窗内已淘汰出缓存的热门内容的数量与已淘汰出缓存的非热门内容的数量的比例低于预设淘汰比例。
上述第二淘汰条件可以包括第五淘汰子条件、第六淘汰子条件和第七淘汰子条件中的至少一个;
第五淘汰子条件包括:待淘汰内容中内容的文件类型为预设文件类型;
第六淘汰子条件包括:待淘汰内容中内容的码率为冷门码率值;
第七淘汰子条件包括:待淘汰内容中内容的时间戳为冷门时间戳。
若第二淘汰条件至少包括第五淘汰子条件,则在确定待淘汰内容中的内容是否满足第二淘汰条件之前,淘汰单元112还可以用于:
获取待淘汰内容中的内容的统一资源定位符URL;
根据URL向CDN中心节点请求获取用于描述待淘汰内容中的内容的文件类型的类型字段。
若第二淘汰条件至少包括第六淘汰子条件,则在确定待淘汰内容中的内容是否满足第二淘汰条件之前,淘汰单元112还可以用于:
获取访问日志中所有被访问内容对应的URL,URL中携带有码率值;
确定访问量低于第二预设阈值的码率值即为冷门码率值。
若第二淘汰条件至少包括第七淘汰子条件,则在确定待淘汰内容中的内容是否满足第二淘汰条件之前,淘汰单元112还用于:
获取访问日志中所有被访问内容的URL,URL中携带有时间戳;
确定访问量低于第三预设阈值的时间戳即为冷门时间戳。
在本发明实施例中,一种可选的实施方式为,热门内容形成热门队列,热门队列中的内容按照历史访问量从高到低的顺序从热门队列的头部开始依次排列至热门队列的尾部;淘汰单元112可以具体用于:
按照从热门队列尾部到热门队列头部的顺序,依次确定热门队列中的内容是否满足第一淘汰条件;
若确定热门内容中存在满足第一淘汰条件的第一内容集合,则将第一内容集合中靠近热门队列尾部的至少一个内容从热门内容中淘汰。
在本发明实施例中,一种可选的实施方式为,待淘汰内容可以为第一内容集合中历史访问量最低的内容。
在本发明实施例中,一种可选的实施方式为,非热门队列中的内容按照历史访问量从高到低的顺序,或者按照最近访问时刻与当前时刻的时间间隔从短到长的顺序,从非热门队列的头部开始依次排列至非热门队列的尾部;淘汰单元112可以具体用于:
将待淘汰内容中不满足第二淘汰条件的内容从热门队列淘汰至非热门队列的头部;
淘汰单元112还可以具体用于:
将非热门队列尾部的至少一个内容淘汰出缓存。
本发明实施例提供一种缓存装置,具体可以为CDN边缘节点,缓存装置在将缓存中的内容划分为热门内容和非热门内容后,若热门内容中存在满足第一淘汰条件的第一内容集合,则第一内容集合中内容的访问量具有下降趋势,第一内容集合中的内容的当前或将来的访问量可能较低,因而将第一内容集合中的待淘汰内容从热门内容中淘汰,其中的待淘汰内容为第一内容集合的子集,从而加快了历史访问量高但当前或将来访问量可能较低的热门内容所占用的缓存空间的释放速度,解决了历史访问量高但当前或将来访问量可能较低的热门内容,由于长期占用缓存装置的缓存空间导致缓存空间不足的问题。
实施例5
本发明实施例提供一种缓存装置,以缓存装置为CDN边缘节点100为例进行说明。图13所示的是本发明一实施例提供的一种缓存装置的另一种结构示意图,采用通用计算机系统结构,执行本发明方案的程序代码保存在存储器中,并由处理器来控制执行。处理授权的设备包括总线,处理器(502),存储器(504),通信接口(506)。
总线可包括一通路,在计算机各个部件之间传送信息。
处理器502可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路application-specific integrated circuit(ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。计算机系统中包括的一个或多个存储器,可以是只读存储器read-only memory(ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器random access memory(RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。这些存储器通过总线与处理器相连接。
通信接口506,可以使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等.
存储器504,如RAM,保存有操作系统和执行本发明方案的程序。操作系统是用于控制其他程序运行,管理系统资源的程序。执行本发明方案的程序代码保存在存储器中,并由处理器来控制执行。
存储器504中存储的程序用于指令处理器执行一种缓存内容淘汰方法,包括:根据历史访问量将缓存中的内容划分为热门内容和非热门内容,任一所述热门内容的历史访问量高于任一所述非热门内容的历史访问量;
当确定在当前时间窗内需要启动缓存中的内容淘汰流程时,若确定所述热门内容中存在满足第一淘汰条件的第一内容集合,则将所述第一内容集合中的待淘汰内容从所述热门内容中淘汰,所述待淘汰内容包括至少一个内容,所述第一淘汰条件用于确定所述热门内容中内容的访问量呈下降趋势。
可以理解的是,本实施例的一种缓存装置可用于实现实施例1、实施例2和实施例3所述方法实施例中的所有功能,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明实施例提供一种缓存装置,具体可以为CDN边缘节点,CDN边缘节点在将缓存中的内容划分为热门内容和非热门内容后,若热门内容中存在满足第一淘汰条件的第一内容集合,则第一内容集合中内容的访问量具有下降趋势,第一内容集合中的内容的当前或将来的访问量可能较低,因而将第一内容集合中的待淘汰内容从热门内容中淘汰,其中的待淘汰内容为第一内容集合的子集,从而加快了历史访问量高但当前或将来访问量可能较低的热门内容所占用的缓存空间的释放速度,解决了历史访问量高但当前或将来访问量可能较低的热门内容,由于长期占用CDN边缘节点的缓存空间导致缓存空间不足的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的缓存装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (25)

1.一种缓存内容淘汰方法,其特征在于,包括:
根据历史访问量将缓存中的内容划分为热门内容和非热门内容,任一所述热门内容的历史访问量高于任一所述非热门内容的历史访问量;
当确定在当前时间窗内需要启动缓存中的内容淘汰流程时,若确定所述热门内容中存在满足第一淘汰条件的第一内容集合,则将所述第一内容集合中的待淘汰内容从所述热门内容中淘汰,所述待淘汰内容包括至少一个内容,所述第一淘汰条件用于确定所述热门内容中内容的访问量呈下降趋势;所述第一淘汰条件包括第一淘汰子条件:当前时间窗内所述热门内容中内容的访问量低于预设访问量;
其中,所述将所述第一内容集合中的待淘汰内容从所述热门内容中淘汰包括:
确定所述待淘汰内容中的内容是否满足第二淘汰条件,其中,所述第二淘汰条件用于确定所述待淘汰内容中内容的访问量呈急剧下降趋势;
将所述待淘汰内容中满足第二淘汰条件的内容淘汰出缓存;
将所述待淘汰内容中不满足第二淘汰条件的内容从所述热门内容中淘汰至所述非热门内容中,并将所述非热门内容中至少一个内容淘汰出缓存。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述热门内容中不存在满足所述第一淘汰条件的第一内容集合,则将所述非热门内容中至少一个内容淘汰出缓存。
3.根据权利要求1所述的方法,其特征在于,所述确定在当前时间窗内需要启动缓存中的内容淘汰流程,具体为:
接收客户端发送的获取待访问内容的访问请求;
确定所述待访问内容未保存在缓存中;
在所述待访问内容满足缓存条件时,确定剩余缓存空间小于所述待访问内容的文件大小;
其中,所述缓存条件包括:
所述待访问内容的历史访问量高于或者等于第一预设阈值。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当确定在当前时间窗内不需要启动缓存中的内容淘汰流程时,将所述待访问内容插入所述非热门内容中,并将所述待访问内容发送给所述客户端。
5.根据权利要求1所述的方法,其特征在于,所述第一淘汰条件还包括第二淘汰子条件,和/或第三淘汰子条件,和/或第四淘汰子条件;
所述第二淘汰子条件包括:当前时刻不在所述热门内容中内容预设的保护期内;
所述第三淘汰子条件包括:当前时间窗内所述热门内容中已淘汰出缓存的内容的数量低于预设淘汰数量;
所述第四淘汰子条件包括:当前时间窗内已淘汰出缓存的热门内容的数量与已淘汰出缓存的非热门内容的数量的比例低于预设淘汰比例。
6.根据权利要求1所述的方法,其特征在于,所述第二淘汰条件包括第五淘汰子条件、第六淘汰子条件和第七淘汰子条件中的至少一个;
所述第五淘汰子条件包括:所述待淘汰内容中内容的文件类型为预设文件类型;
所述第六淘汰子条件包括:所述待淘汰内容中内容的码率为冷门码率值;
所述第七淘汰子条件包括:所述待淘汰内容中内容的时间戳为冷门时间戳。
7.根据权利要求6所述的方法,其特征在于,所述第二淘汰条件至少包括所述第五淘汰子条件,在确定所述待淘汰内容中的内容是否满足第二淘汰条件之前,所述方法还包括:
获取所述待淘汰内容中的内容的统一资源定位符URL;
根据所述URL向CDN中心节点请求获取用于描述所述待淘汰内容中的内容的文件类型的类型字段。
8.根据权利要求6或7所述的方法,其特征在于,所述第二淘汰条件至少包括第六淘汰子条件,在确定所述待淘汰内容中的内容是否满足第二淘汰条件之前,所述方法还包括:
获取访问日志中所有被访问内容对应的URL,所述URL中携带有码率值;
确定访问量低于第二预设阈值的码率值即为冷门码率值。
9.根据权利要求6或7所述的方法,其特征在于,所述第二淘汰条件至少包括第七淘汰子条件,在确定所述待淘汰内容中的内容是否满足第二淘汰条件之前,所述方法还包括:
获取访问日志中所有被访问内容的URL,所述URL中携带有时间戳;
确定访问量低于第三预设阈值的时间戳即为冷门时间戳。
10.根据权利要求1所述的方法,其特征在于,所述热门内容形成热门队列,所述热门队列中的内容按照历史访问量从高到低的顺序从所述热门队列的头部开始依次排列至所述热门队列的尾部;若确定所述热门内容中存在满足第一淘汰条件的第一内容集合,则将所述第一内容集合中的待淘汰内容从所述热门内容中淘汰包括:
按照从所述热门队列尾部到所述热门队列头部的顺序,依次确定所述热门队列中的内容是否满足所述第一淘汰条件;
若确定所述热门内容中存在满足第一淘汰条件的第一内容集合,则将所述第一内容集合中靠近所述热门队列尾部的至少一个内容从所述热门内容中淘汰。
11.根据权利要求1、4-7、10中任一项所述的方法,其特征在于,所述待淘汰内容为所述第一内容集合中历史访问量最低的内容。
12.根据权利要求1所述的方法,其特征在于,所述非热门内容形成非热门队列,所述非热门队列中的内容按照历史访问量从高到低的顺序,或者按照最近访问时刻与当前时刻的时间间隔从短到长的顺序,从所述非热门队列的头部开始依次排列至所述非热门队列的尾部;所述将所述待淘汰内容中不满足第二淘汰条件的内容从所述热门内容中淘汰至所述非热门内容中包括:
将所述待淘汰内容中不满足第二淘汰条件的内容从所述热门队列淘汰至所述非热门队列的头部;
将所述非热门内容中至少一个内容淘汰出缓存包括:
将所述非热门队列尾部的至少一个内容淘汰出缓存。
13.一种缓存装置,其特征在于,包括:
划分单元,用于根据历史访问量将缓存中的内容划分为热门内容和非热门内容,任一所述热门内容的历史访问量高于任一所述非热门内容的历史访问量;
淘汰单元,用于当确定在当前时间窗内需要启动缓存中的内容淘汰流程时,若确定所述热门内容中存在满足第一淘汰条件的第一内容集合,则将所述第一内容集合中的待淘汰内容从所述热门内容中淘汰,所述待淘汰内容包括至少一个内容,所述第一淘汰条件用于确定所述热门内容中内容的访问量呈下降趋势;所述第一淘汰条件包括第一淘汰子条件:当前时间窗内所述热门内容中内容的访问量低于预设访问量;
其中,所述淘汰单元具体用于:
确定所述待淘汰内容中的内容是否满足第二淘汰条件,其中,所述第二淘汰条件用于确定所述待淘汰内容中内容的访问量呈急剧下降趋势;
将所述待淘汰内容中满足第二淘汰条件的内容淘汰出缓存;
将所述待淘汰内容中不满足第二淘汰条件的内容从所述热门内容中淘汰至所述非热门内容中,并将所述非热门内容中至少一个内容淘汰出缓存。
14.根据权利要求13所述的装置,其特征在于,所述淘汰单元还用于:
若确定所述热门内容中不存在满足所述第一淘汰条件的第一内容集合,则将所述非热门内容中至少一个内容淘汰出缓存。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括接口单元,用于接收客户端发送的获取待访问内容的访问请求;
所述淘汰单元具体用于:
确定所述接口单元接收的待访问内容未保存在缓存中;
在所述待访问内容满足缓存条件时,确定剩余缓存空间小于所述待访问内容的文件大小;
其中,所述缓存条件包括:
所述待访问内容的历史访问量高于或者等于第一预设阈值。
16.根据权利要求15所述的装置,其特征在于,所述淘汰单元还用于:
当确定在当前时间窗内不需要启动缓存中的内容淘汰流程时,将所述待访问内容插入所述非热门内容中;
所述接口单元还用于,将所述待访问内容发送给所述客户端。
17.根据权利要求13所述的装置,其特征在于,所述第一淘汰条件还包括第二淘汰子条件,和/或第三淘汰子条件,和/或第四淘汰子条件;
所述第二淘汰子条件包括:当前时刻不在所述热门内容中内容预设的保护期内;
所述第三淘汰子条件包括:当前时间窗内所述热门内容中已淘汰出缓存的内容的数量低于预设淘汰数量;
所述第四淘汰子条件包括:当前时间窗内已淘汰出缓存的热门内容的数量与已淘汰出缓存的非热门内容的数量的比例低于预设淘汰比例。
18.根据权利要求13所述的装置,其特征在于,所述第二淘汰条件包括第五淘汰子条件、第六淘汰子条件和第七淘汰子条件中的至少一个;
所述第五淘汰子条件包括:所述待淘汰内容中内容的文件类型为预设文件类型;
所述第六淘汰子条件包括:所述待淘汰内容中内容的码率为冷门码率值;
所述第七淘汰子条件包括:所述待淘汰内容中内容的时间戳为冷门时间戳。
19.根据权利要求18所述的装置,其特征在于,所述第二淘汰条件至少包括所述第五淘汰子条件,在确定所述待淘汰内容中的内容是否满足第二淘汰条件之前,所述淘汰单元还用于:
获取所述待淘汰内容中的内容的统一资源定位符URL;
根据所述URL向CDN中心节点请求获取用于描述所述待淘汰内容中的内容的文件类型的类型字段。
20.根据权利要求18或19所述的装置,其特征在于,所述第二淘汰条件至少包括第六淘汰子条件,在确定所述待淘汰内容中的内容是否满足第二淘汰条件之前,所述淘汰单元还用于:
获取访问日志中所有被访问内容对应的URL,所述URL中携带有码率值;
确定访问量低于第二预设阈值的码率值即为冷门码率值。
21.根据权利要求18或19所述的装置,其特征在于,所述第二淘汰条件至少包括第七淘汰子条件,在确定所述待淘汰内容中的内容是否满足第二淘汰条件之前,所述淘汰单元还用于:
获取访问日志中所有被访问内容的URL,所述URL中携带有时间戳;
确定访问量低于第三预设阈值的时间戳即为冷门时间戳。
22.根据权利要求13所述的装置,其特征在于,所述热门内容形成热门队列,所述热门队列中的内容按照历史访问量从高到低的顺序从所述热门队列的头部开始依次排列至所述热门队列的尾部;所述淘汰单元具体用于:
按照从所述热门队列尾部到所述热门队列头部的顺序,依次确定所述热门队列中的内容是否满足所述第一淘汰条件;
若确定所述热门内容中存在满足第一淘汰条件的第一内容集合,则将所述第一内容集合中靠近所述热门队列尾部的至少一个内容从所述热门内容中淘汰。
23.根据权利要求13、16-19、22中任一项所述的装置,其特征在于,所述待淘汰内容为所述第一内容集合中历史访问量最低的内容。
24.根据权利要求13所述的装置,其特征在于,所述非热门内容形成非热门队列,所述非热门队列中的内容按照历史访问量从高到低的顺序,或者按照最近访问时刻与当前时刻的时间间隔从短到长的顺序,从所述非热门队列的头部开始依次排列至所述非热门队列的尾部;所述淘汰单元具体用于:
将所述待淘汰内容中不满足第二淘汰条件的内容从所述热门队列淘汰至所述非热门队列的头部;
所述淘汰单元还具体用于:
将所述非热门队列尾部的至少一个内容淘汰出缓存。
25.一种缓存装置,其特征在于,包括:处理器、存储器;其中,所述存储器中存有计算机可读程序;所述处理器通过运行所述存储器中的程序,以用于完成上述权利要求1-12任一项所述的方法。
CN201510736056.8A 2015-11-02 2015-11-02 一种缓存内容淘汰方法及缓存装置 Active CN106657196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510736056.8A CN106657196B (zh) 2015-11-02 2015-11-02 一种缓存内容淘汰方法及缓存装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510736056.8A CN106657196B (zh) 2015-11-02 2015-11-02 一种缓存内容淘汰方法及缓存装置

Publications (2)

Publication Number Publication Date
CN106657196A CN106657196A (zh) 2017-05-10
CN106657196B true CN106657196B (zh) 2020-07-24

Family

ID=58811024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510736056.8A Active CN106657196B (zh) 2015-11-02 2015-11-02 一种缓存内容淘汰方法及缓存装置

Country Status (1)

Country Link
CN (1) CN106657196B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577618B (zh) * 2017-09-13 2020-09-29 武大吉奥信息技术有限公司 一种三路均衡缓存淘汰方法及装置
CN109542613A (zh) * 2017-09-22 2019-03-29 中兴通讯股份有限公司 一种cdn节点内服务调度的分配方法、装置及存储介质
CN107786668B (zh) * 2017-11-09 2020-06-12 成都知道创宇信息技术有限公司 一种基于cdn网络的权重缓存网站方法
CN109995836B (zh) 2017-12-29 2021-12-03 华为技术有限公司 缓存决策方法及装置
CN108173974B (zh) * 2018-03-01 2021-02-12 南京邮电大学 一种基于分布式缓存Memcached的HCModel内部缓存数据淘汰方法
CN111104528B (zh) * 2018-10-29 2023-05-16 浙江宇视科技有限公司 图片获取方法、装置及客户端
CN109511009B (zh) * 2018-12-07 2021-03-30 北京交通大学 一种视频在线缓存管理方法和系统
CN109587528B (zh) * 2018-12-24 2021-06-29 中国移动通信集团江苏有限公司 分配cdn资源的方法、装置、设备及介质
CN111372095B (zh) * 2018-12-25 2023-06-23 深圳市茁壮网络股份有限公司 一种计算热度的方法及装置
CN111506524B (zh) * 2019-01-31 2024-01-30 华为云计算技术有限公司 一种数据库中淘汰、预加载数据页的方法、装置
CN110022482B (zh) * 2019-03-05 2021-07-27 咪咕视讯科技有限公司 视频起播方法、视频服务系统及存储介质
CN112241413A (zh) * 2019-07-18 2021-01-19 腾讯科技(深圳)有限公司 一种预推内容管理方法、装置及计算机设备
CN111159066A (zh) * 2020-01-07 2020-05-15 杭州电子科技大学 一种动态调整的缓存数据管理及淘汰方法
CN111597259B (zh) * 2020-05-12 2023-04-28 北京爱奇艺科技有限公司 数据存储系统、方法、装置、电子设备及存储介质
CN111818142A (zh) * 2020-06-28 2020-10-23 深圳市高德信通信股份有限公司 一种cdn缓存清除管理系统
CN114422522B (zh) * 2020-10-13 2024-02-13 贵州白山云科技股份有限公司 一种缓存分发方法、装置、介质及设备
CN113382302B (zh) * 2021-05-27 2022-12-27 北京达佳互联信息技术有限公司 视频确定方法、装置、服务器及存储介质
CN113590031B (zh) * 2021-06-30 2023-09-12 郑州云海信息技术有限公司 一种缓存管理方法、装置、设备以及计算机可读存储介质
CN113949921A (zh) * 2021-08-31 2022-01-18 上海二三四五网络科技有限公司 一种短视频缓存清理的控制方法以及控制装置
CN114390099B (zh) * 2022-01-12 2023-06-02 中国联合网络通信集团有限公司 内容分发方法及边缘服务器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595207A (zh) * 2012-01-10 2012-07-18 深圳市同洲视讯传媒有限公司 一种内容分发系统、内容分发方法及内容分发装置
CN102819586A (zh) * 2012-07-31 2012-12-12 北京网康科技有限公司 一种基于高速缓存的url分类方法和设备
CN103312776A (zh) * 2013-05-08 2013-09-18 青岛海信传媒网络技术有限公司 边缘节点服务器缓存视频的内容的方法和装置
CN104239233A (zh) * 2014-09-19 2014-12-24 华为技术有限公司 缓存管理方法、缓存管理装置和缓存管理设备
CN104750715A (zh) * 2013-12-27 2015-07-01 中国移动通信集团公司 缓存系统中数据淘汰方法、装置、系统及相关服务器设备
CN104935648A (zh) * 2015-06-03 2015-09-23 北京快网科技有限公司 一种高性价比的cdn系统及文件预推、分片缓存的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595207A (zh) * 2012-01-10 2012-07-18 深圳市同洲视讯传媒有限公司 一种内容分发系统、内容分发方法及内容分发装置
CN102819586A (zh) * 2012-07-31 2012-12-12 北京网康科技有限公司 一种基于高速缓存的url分类方法和设备
CN103312776A (zh) * 2013-05-08 2013-09-18 青岛海信传媒网络技术有限公司 边缘节点服务器缓存视频的内容的方法和装置
CN104750715A (zh) * 2013-12-27 2015-07-01 中国移动通信集团公司 缓存系统中数据淘汰方法、装置、系统及相关服务器设备
CN104239233A (zh) * 2014-09-19 2014-12-24 华为技术有限公司 缓存管理方法、缓存管理装置和缓存管理设备
CN104935648A (zh) * 2015-06-03 2015-09-23 北京快网科技有限公司 一种高性价比的cdn系统及文件预推、分片缓存的方法

Also Published As

Publication number Publication date
CN106657196A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106657196B (zh) 一种缓存内容淘汰方法及缓存装置
US20150039593A1 (en) Pre-delivery of content to a user device
US7860993B2 (en) Streaming media content delivery system and method for delivering streaming content
US20020092026A1 (en) Method and apparatus for broadcast delivery of content to a client-side cache based on user preferences
CN109299144B (zh) 一种数据处理方法、装置、系统及应用服务器
US8745262B2 (en) Adaptive network content delivery system
CN108574685B (zh) 一种流媒体推送方法、装置及系统
US9015269B2 (en) Methods and systems for notifying a server with cache information and for serving resources based on it
US9906595B2 (en) Content source discovery
CN109600437B (zh) 一种流媒体资源的下载方法及缓存服务器
CN109190070B (zh) 一种数据处理方法、装置、系统及应用服务器
US20140258375A1 (en) System and method for large object cache management in a network
WO2010060106A1 (en) Adaptive network content delivery system
WO2005045708A1 (en) Method for prioritizing segments of multimedia content in a proxy cache
US11032394B1 (en) Caching techniques
CN109033462B (zh) 在大数据存储的存储设备中确定低频数据项的方法及系统
KR101066872B1 (ko) 캐시서버를 이용한 컨텐츠 전송시스템 및 방법, 그 캐시서버
CN107659626B (zh) 面向临时元数据的分离存储方法
CN107682281B (zh) 一种sdn交换机和sdn交换机的应用管理方法
EP3274844B1 (en) Hierarchical cost based caching for online media
WO2018153236A1 (zh) 一种基于api请求的动态资源访问加速方法、装置、介质及设备
CN112019451A (zh) 带宽分配方法、调试网元、本地缓存服务器及计算设备
EP3207457B1 (en) Hierarchical caching for online media
CN113507522A (zh) 一种提高pcdn网络请求命中率的方法及系统
CN113612823A (zh) 内容分发网络的缓存时长调整方法、装置和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211222

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right