CN103237068A - Cdn-p2p中内容属性可区分的流媒体缓存替换方法 - Google Patents

Cdn-p2p中内容属性可区分的流媒体缓存替换方法 Download PDF

Info

Publication number
CN103237068A
CN103237068A CN2013101337427A CN201310133742A CN103237068A CN 103237068 A CN103237068 A CN 103237068A CN 2013101337427 A CN2013101337427 A CN 2013101337427A CN 201310133742 A CN201310133742 A CN 201310133742A CN 103237068 A CN103237068 A CN 103237068A
Authority
CN
China
Prior art keywords
streaming medium
prefix
medium content
fragment
replica server
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
CN2013101337427A
Other languages
English (en)
Other versions
CN103237068B (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.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
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 University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN201310133742.7A priority Critical patent/CN103237068B/zh
Publication of CN103237068A publication Critical patent/CN103237068A/zh
Application granted granted Critical
Publication of CN103237068B publication Critical patent/CN103237068B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,包括步骤:将副本服务器缓存空间划分成前缀缓存区和后缀缓存区;将中心服务器中的原流媒体内容分成前缀和后缀两部分,并将前缀和后缀部分分别存入所述副本服务器的前缀缓存区和后缀缓存区中;当用户请求到达时,依据副本服务器当前的缓存空间状况、系统中访问日志记录的所有流媒体内容的熵值及副本服务器中内容片段的流行度值、用户请求的流媒体内容的熵值及内容片段的流行度值,进行副本服务器中流媒体内容的缓存替换。该方法可以对不同访问热度的内容采用不同的缓存替换策略,能提高副本服务器的缓存命中率,降低骨干网络负载,减少用户请求流媒体的响应时间。

Description

CDN-P2P中内容属性可区分的流媒体缓存替换方法
技术领域
本发明涉及计算机网络领域,尤其涉及一种CDN-P2P中内容属性可区分的流媒体缓存替换方法。
背景技术
CDN-P2P融合内容分发网络是一个可管理性、高扩展性、高可靠性、低成本的内容分发平台,不但结合了内容分发网络CDN(Content DistributionNetwork)和P2P(peer-to-peer)二者的优点,而且也克服了二者的不足。因此成为目前较为可行的流媒体内容分发技术,是近年来流媒体内容分发技术研究领域的热点,有望成为未来流媒体内容分发网络架构的主流技术。
图1为现有的CDN-P2P网络架构示意图,该网络架构主要由3部分组成,包括:中心服务器1,若干个副本服务器2,若干个对等端peer节点3。其中,中心服务器1和若干个副本服务器2之间可以直接的信息交互,每个副本服务器2可以和邻近的自治域中peer节点3进行直接的信息交互,同一个自治域中peer节点3之间可以直接的信息交互。中心服务器1存储了所有的流媒体内容,并负责整个网络的内容分发及管理;副本服务器2分布在网络的边缘,缓存了部分流媒体内容,主要负责本地的负载均衡及响应用户的请求;当同一个自治域中的用户peer节点3达到一定数量的时候实行P2P内容分发。
在CDN-P2P融合内容分发网络中,虽然P2P自治域中的用户可以互相共享内容资源,但节点的加入与退出往往具有随机性,不能为用户提供稳定的服务,因此副本服务器仍然是主要的服务提供者。为提高缓存命中率,减少用户访问启动延迟,高效的缓存替换策略成为研究的重点。
目前,副本服务器的缓存替换策略均是采用单一方法进行缓存替换,没有考虑内容本身所具有的属性特点。用户对流媒体内容的访问存在较大的不平衡性,超过80%的用户请求访问的只有20%左右的媒体内容,而一个媒体内容内部片段的受欢迎程度也不尽相同。对不同属性的内容进行访问时仅采用单一的缓存替换策略,不能真实反映内容的热门程度,使得副本服务器缓存命中率较低。
发明内容
本发明提供一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,用以解决现有的CDN-P2P中,采用单一的缓存替换策略,不能真实反映内容的热门程度,使得副本服务器缓存命中率较低的问题。本发明提供的CDN-P2P中内容属性可区分的流媒体缓存替换方法可以区分内容的属性,对不同访问热度的内容采用不同的缓存替换策略,从而能有效的提高副本服务器的缓存命中率,降低骨干网络的负载,减少用户请求流媒体的响应时间。
本发明的实施例提供一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,包括步骤:
将副本服务器缓存空间划分成前缀缓存区和后缀缓存区;
将中心服务器中的原流媒体内容分成前缀和后缀两部分,并将前缀和后缀部分分别存入所述副本服务器的前缀缓存区和后缀缓存区中;
当用户请求到达时,依据副本服务器当前的缓存空间状况、系统中访问日志记录的所有流媒体内容的熵值、副本服务器中所有流媒体内容片段的流行度值、用户请求的流媒体内容的熵值、用户请求的流媒体内容片段的流行度值,进行副本服务器中流媒体内容的缓存替换。
优选地,所述CDN-P2P中内容属性可区分的流媒体缓存替换方法中,所述当用户请求到达时,依据副本服务器当前的缓存空间状况、系统中访问日志记录的所有流媒体内容的熵值、副本服务器中所有流媒体内容片段的流行度值、用户请求的流媒体内容的熵值、用户请求的流媒体内容片段的流行度值,进行副本服务器中流媒体内容的缓存替换,具体包括以下步骤:
对于流媒体内容的用户请求到达时,首先判断当前对于流媒体内容的用户请求是否是对于流媒体内容的前缀的访问请求,若是则执行对于流媒体内容前缀在副本服务器的前缀缓存区缓存替换方法,否则,
判断副本服务器的缓存中是否有当前用户请求的流媒体内容片段,若是则直接结束流程,否则,
判断当前用户请求的流媒体内容片段的前缀是否在副本服务器的缓存空间中,是则将当前用户请求的流媒体内容片段在副本服务器的后缀缓存区中执行基于流行度的缓存替换方法,并结束流程,否则计算当前用户请求的流媒体内容片段的原始流媒体内容的熵值;
判断所述当前用户请求的流媒体内容片段的原始流媒体内容的熵值是否大于预定临界熵值,是则执行对于流媒体内容片段在副本服务器的前缀缓存区缓存替换方法,并结束流程;否则将当前用户请求的流媒体内容片段在副本服务器的后缀缓存区中执行基于流行度的缓存替换方法,并结束流程。
优选地,所述CDN-P2P中内容属性可区分的流媒体缓存替换方法中,所述预定临界熵值为当前系统中访问日志记录的所有流媒体内容的熵值的平均值。
优选地,所述CDN-P2P中内容属性可区分的流媒体缓存替换方法中,所述对于流媒体内容前缀在副本服务器的前缀缓存区缓存替换方法包括步骤:
S331:对于流媒体内容的前缀的用户请求到达;
S332:判断当前被请求访问的流媒体内容的前缀是否在副本服务器的缓存中,若是则直接结束流程,否则继续执行S333;
S333:判断当前副本服务器的前缀缓存区剩余缓存空间是否足够存放当前被请求访问的流媒体内容的前缀,若是则跳至S337,否则继续执行S334;
S334:计算当前被请求访问的流媒体内容的前缀和当前副本服务器的前缀缓存区中所有前缀的流行度值;
S335:判断当前被请求访问的流媒体内容的前缀的流行度值是否大于当前副本服务器的前缀缓存区中前缀的最小流行度值,若是,则继续执行S336,否则跳至S338;
S336:删除当前副本服务器的前缀缓存区中流行度值最小的前缀;
S337:将当前被请求访问的流媒体内容的前缀的副本拷贝至副本服务器的前缀缓存区的缓存空间;
S338:放弃缓存当前被请求访问的流媒体内容的前缀。
优选地,所述CDN-P2P中内容属性可区分的流媒体缓存替换方法中,所述对于流媒体内容片段在副本服务器的前缀缓存区缓存替换方法包括步骤:
S381:判断当前副本服务器的前缀缓存区剩余缓存空间是否足够存放当前用户请求的流媒体内容片段的前缀,是则跳转到S386,否则继续执行S382;
S382:计算当前用户请求的流媒体内容片段的前缀及副本服务器的前缀缓存区中所有前缀的流行度值;
S383:判断当前副本服务器的后缀缓存区剩余缓存空间是否足够存放一个前缀,是则跳转到S385,否则继续执行S384;
S384:计算当前副本服务器的后缀缓存区中所有内容片段的流行度值,并删除副本服务器的后缀缓存区中流行度值最小的内容片段,继续执行S385;
S385:将副本服务器的前缀缓存区中流行度值最小的前缀移至后缀缓存区,继续执行S386;
S386:将当前用户请求的流媒体内容片段的前缀的副本拷贝至副本服务器的前缀缓存区的缓存空间,继续执行S387;
S387:将当前用户请求的流媒体内容片段在副本服务器的后缀缓存区中执行基于流行度的缓存替换方法,并结束流程。
优选地,所述CDN-P2P中内容属性可区分的流媒体缓存替换方法中,所述将当前用户请求的流媒体内容片段在副本服务器的后缀缓存区中执行基于流行度的缓存替换方法,包括:
判断当前副本服务器的后缀缓存区剩余缓存空间是否足够存放所述当前用户请求的流媒体内容片段,是则将当前用户请求的流媒体内容片段的副本拷贝至副本服务器的后缀缓存区缓存空间,并结束流程;否则,
计算当前副本服务器的后缀缓存区中所有内容片段和当前用户请求的流媒体内容片段的流行度值;并判断当前用户请求的流媒体内容片段的流行度值是否大于副本服务器的后缀缓存区中部分内容片段的流行度值,若否,则放弃缓存所述当前用户请求的流媒体内容片段并结束流程,若是,则继续
判断副本服务器的后缀缓存区中流行度值小于当前用户请求的流媒体内容片段的内容片段所占空间及副本服务器的后缀缓存区剩余空间的总和是否大于等于当前用户请求的流媒体内容片段所占内存大小,若是,则首先按照流行度值从小到大依次删除副本服务器的后缀缓存区中相应内容片段,直到副本服务器的后缀缓存区剩余缓存空间能够缓存所述当前用户请求的流媒体内容片段,随后将所述当前用户请求的流媒体内容片段的副本拷贝至副本服务器的后缀缓存区缓存空间,并结束流程;否则,放弃缓存所述当前用户请求的流媒体内容片段并结束流程。
优选地,上述任一种所述CDN-P2P中内容属性可区分的流媒体缓存替换方法中,所述S336或S385还包括:将当前从副本服务器的前缀缓存区删除的前缀的访问标识设置为0;所述S337或S386之后还包括步骤:副本服务器将已缓存的流媒体内容的前缀的访问标识位设置为1。
优选地,所述CDN-P2P中内容属性可区分的流媒体缓存替换方法中,所述流媒体内容的熵值计算方法为其中,H(C)表示待计算的流媒体内容的熵值,Ci表示待计算的流媒体内容的第i个片段,x为待计算的流媒体内容包括的片段数,i为整数且1≤i≤x,P(Ci)为片段待计算的流媒体内容的第i个片段的流行度值。
优选地,所述CDN-P2P中内容属性可区分的流媒体缓存替换方法中,所述流媒体内容片段的流行度值的计算方法为:流媒体内容片段的流行度值=访问频率×访问近期性×交互操作因子/平均访问时间间隔;其中,所述访问频率等于M/N,M是副本服务器中该内容片段被访问的总次数,N是副本服务器收到的总请求次数;所述访问近期性为1/(T-Trecent+1),T是当前时间,Trecent是该内容片段最近一次被访问的时间;所述交互操作因子定义为[α×(S+1)+(B+1)]/(L+1),其中S为用户在该内容片段上进行过暂停操作的次数,L为用户在该内容片段上进行过向前拖拽操作的次数,B为用户在进行向后回跳操作时用到该内容片段的次数;所述平均访问时间间隔定义为(Trecent-Tfirst)/M,Tfirst是该内容片段第一次被访问的时间。
本发明的上述技术方案利用流行度分布熵来度量流媒体内容之间的访问差异性,利用流行度来体现流媒体内部片段的访问差异性。将热门内容的前缀提前缓存,并实时更新被访问内容片段的流行度,以保证副本服务器缓存空间中的内容具有最高的访问热度。此方法实现了具有不同访问属性的内容的区分缓存,能够有效提高副本服务器的缓存命中率,降低骨干网络的负载,同时也能减少用户请求流媒体的响应时间,从而提升用户的体验感。
附图说明
图1为现有的CDN-P2P网络架构示意图;
图2为本发明实施例提供的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法流程图;
图3为图2中S3的具体实施流程图;
图4为图3中S33所述对于流媒体内容前缀在PC区缓存替换方法流程图;
图5为图3的S38中所述对于片段Ci在PC区缓存替换方法流程图;
图6为图3中和图4中所述的将当前用户请求的Ci在副本服务器SC区中执行基于流行度的缓存替换方法流程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
由于现有技术中对不同访问属性的内容仅采用单一的缓存替换策略,不能真实反映内容的热门程度,使得副本服务器缓存命中率较低。因此,若区分内容的属性,对不同访问热度的内容采取不同的缓存替换策略,则可获得较高的缓存命中率以及较好的用户访问体验。
图2所示为本发明实施例提供的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法流程图,包括以下步骤:
S1:将副本服务器缓存空间划分成前缀缓存PC(prefix cache)和后缀缓存SC(suffix cache)两个区域。其中,将副本服务器缓存空间划分成前缀缓存PC(prefix cache)和后缀缓存SC(suffix cache)两个区域,其中,这两个区域是用来分别缓存流媒体内容前缀及其他热门流媒体内容片段的,它们的比例大小是根据热门流媒体内容的前缀与其他流行度较高的内容片段所占内存大小的比例动态而定。
S2:将中心服务器中的流媒体内容分成前缀和后缀两部分,并将前缀和后缀内容分别存入PC和SC区域中。其中,将流媒体内容分成前缀和后缀两部分的具体分法是把流媒体内容的起始部分称为前缀,除去前缀的部分统称为后缀。所有流媒体内容的前缀大小相同,其大小取决于中心服务器与副本服务器之间的网络状况,必须能够应对中心服务器向副本服务器提供后续片段的延迟;流媒体内容的后缀部分,从起头部分开始,以前缀大小为基数,呈指数形式逐渐增大,分成若干个片段,最后剩余的一个片段可例外。
S3:依据副本服务器当前的缓存空间状况、系统中访问日志记录的所有流媒体内容的熵值、副本服务器中所有流媒体内容片段的流行度值、用户请求的流媒体内容的熵值、用户请求的流媒体内容片段的流行度值,进行副本服务器中流媒体内容的缓存替换。
显然,由于副本服务器的缓存空间有限,不可能将所有当前请求的内容全部缓存,因此S3中,当用户请求到达时,一旦副本服务器中没有足够的可用空间,就需要缓存替换方法释放缓存空间,高效的缓存替换策略显得尤为重要。
本发明的缓存替换策略处理原则是:一个流媒体内容片段Ci被请求访问时,如果Ci不在副本服务器的缓存空间内且副本服务器的剩余缓存空间足够,则直接缓存Ci。如果副本服务器的缓存空间不足,则计算该片段Ci的原始流媒体内容流行度的熵H来分析该内容整体的访问热度,若熵值H大于预定临界熵值Φ,说明该Ci的原始流媒体内容整体流行度均衡,将该Ci的原始流媒体内容的前缀缓存在PC区;若熵值小于预定临界熵值Φ,说明该原始流媒体内容内部片段流行度差异大,对该类片段则采用基于流行度的缓存替换方法缓存在SC区。图3所示为图2中S3的具体实施流程图,具体的步骤如下:
S31:对于流媒体内容的用户请求到达;
S32:判断当前对于流媒体内容的用户请求是否是对于流媒体内容的前缀的访问请求,若是则执行S33,否则执行S34;
S33:执行对于流媒体内容前缀在PC区缓存替换方法;
S34:判断副本服务器的缓存中是否有当前用户请求的流媒体内容片段Ci,若是则直接结束流程,否则执行S35;其中,当当前对于流媒体内容的用户请求不是对于流媒体内容的前缀的请求,则该请求必然是对于流媒体内容片段的请求,本实施例中为方便说明,将Ci作为当前被请求访问的流媒体内容C的第i个片段表示;
S35:判断当前用户请求的Ci的前缀是否在副本服务器的缓存空间中,是则执行S39,否则执行S36;
S36:计算当前用户请求的Ci的原始流媒体内容的熵值H;
S37:判断当前用户请求的Ci的原始流媒体内容的熵值H是否大于预定临界熵值Φ,是则执行S38,否则执行S39;其中,如果熵值大于Φ,说明该流媒体内容内部流行度较均衡,整体具有较高的访问热度,则需要先将流媒体内容片段的前缀缓存到PC区;
S38:执行对于流媒体内容片段Ci在PC区的缓存替换方法,并结束流程;
S39:将当前用户请求的Ci在副本服务器SC区中执行基于流行度的缓存替换方法,并结束流程。
图3所示流程中,S37中如果判断出熵值大于Φ,说明该流媒体内容内部流行度较均衡,整体具有较高的访问热度,因此需要将当前用户请求的Ci的前缀缓存到PC区。
优选地,流媒体内容的熵值H的计算公式为:
H ( C ) =- Σ i = 1 x P ( C i ) log 2 P ( C i ) - - - ( 1 )
公式(1)中,H(C)表示需要计算的流媒体内容C的熵值,Ci表示C的第i个片段,x为待计算流媒体内容C包括的片段数,i为整数且1≤i≤x;P(Ci)为片段Ci的流行度值,流行度值可选用行业界公知的计算公式进行计算。
优选地,S35中所述预定临界熵值Φ的大小具体设置方法如下:首先获取系统中记录的所有流媒体内容的访问日志,得出访问日志记录的所有流媒体内容片段的流行度值与熵值的对应关系。熵能够直接衡量出流行度偏离于均匀分布(即每个内容片段都有相同的流行度)的程度,当所有片段都有相同的流行度时,熵值最大,当流行度分布高度不平衡时,熵值极小。若当前请求的流媒体内容熵值在当前访问日志中记录的所有流媒体内容熵值的平均值之上,说明当前请求的流媒体内容内部流行度逐渐趋于平衡。熵临界值的取值大小主要取决于流媒体内容所有片段的流行度。流媒体内容内部各片段的流行度在一段时间之后都会发生变化,因此流媒体内容的熵值也随之而变,熵临界值的取值也会相应改变。优选地,通过考虑流媒体内容内部片段流行度的变化,所述预定临界熵值Φ为当前系统中访问日志记录的所有流媒体内容的熵值的平均值。
图4为图3中S33所述对于流媒体内容前缀在PC区缓存替换方法流程图,具体包括如下步骤:
S331:对于流媒体内容的前缀的用户请求到达;
S332:判断当前被请求访问的流媒体内容的前缀是否在副本服务器的缓存中,若是则直接结束流程,否则继续执行S333;
S333:判断当前副本服务器的PC区剩余缓存空间是否足够存放当前被请求访问的流媒体内容的前缀,若是则跳至S337,否则继续执行S334;
S334:计算当前被请求访问的流媒体内容的前缀和当前副本服务器的PC区中所有前缀的流行度值;
S335:判断当前被请求访问的流媒体内容的前缀的流行度值是否大于当前副本服务器的PC区中前缀的最小流行度值,若是,则继续执行S336,否则跳至S338;
S336:删除当前副本服务器的PC区流行度值最小的前缀;
S337:将当前被请求访问的流媒体内容的前缀的副本拷贝至副本服务器的PC区缓存空间;
S338:放弃缓存当前被请求访问的流媒体内容的前缀。
图5所示为图3中S38中所述对于片段Ci在PC区缓存替换方法,具体包括如下步骤:
S381:判断副本服务器PC区剩余缓存空间是否足够存放当前用户请求的Ci的前缀,是则跳转到S386,否则执行S382;
S382:计算当前用户请求的Ci的前缀及副本服务器PC区中所有前缀的流行度值;
S383:判断副本服务器SC区剩余缓存空间是否足够存放一个前缀,是则执行S385,否则执行S384;
S384:计算副本服务器SC区中所有内容片段的流行度值,并删除副本服务器SC区中流行度值最小的内容片段;
S385:将副本服务器PC区中流行度值最小的前缀移至SC区;
S386:将当前用户请求的Ci的前缀的副本拷贝至PC区缓存空间;
S387:将当前用户请求的Ci在副本服务器SC区中执行基于流行度的缓存替换方法,并结束流程。
优选地,图4的S336或图5的S385还包括:将当前从副本服务器的PC区删除的前缀的访问标识设置为0,表示该前缀未在缓存空间中;任何一个内容片段被移出副本服务器之后,其访问日志立即被清除,否则该片段下次被访问时很容易具有较高的流行度而此时它的访问量不一定大,容易造成缓存替换次数的增加。其再次被访问时,重新建立新的访问日志。类似的,图4的S337或图5的S386成功执行之后,副本服务器将已缓存的流媒体内容的前缀的访问标识位设置为1,表示该前缀在缓存空间中。
图6所示为图3中的步骤S39和图4中的S387所述的将当前用户请求的Ci在副本服务器SC区中执行基于流行度的缓存替换方法,具体包括如下步骤:
S601:判断副本服务器SC区剩余缓存空间是否足够存放当前用户请求的Ci,是则跳转到S606;否则执行S602;
S602:计算副本服务器SC区中所有内容片段和当前用户请求的Ci的流行度值;
S603:判断当前用户请求的Ci的流行度值是否大于副本服务器SC区中部分内容片段的流行度值,是则执行S604,否则执行S607;
S604:判断副本服务器SC区中流行度值小于Ci的内容片段所占空间及SC区剩余空间的总和是否大于等于Ci所占内存大小?若是则执行S605,否则跳转到S607;
S605:按照流行度值从小到大依次删除副本服务器SC区中相应内容片段,直到SC区剩余缓存空间能够缓存Ci
S606:将当前用户请求的Ci的副本拷贝至副本服务器SC区缓存空间,并结束流程;
S607:放弃缓存当前用户请求的Ci
优选地,本发明实施例中所述的流媒体内容片段的流行度值的计算方法如为:
Figure BDA00003064354700111
其中,内容片段被访问的访问频率为M/N,M是副本服务器中该内容片段被访问的总次数,N是副本服务器收到的总请求次数。内容片段被访问的近期性为1/(T-Trecent+1),T是当前时间,Trecent是该内容片段最近一次被访问的时间;近期性越大,表示该内容片段最近被访问的时间越短,近期性越小,表示该内容片段越久未被访问,从一定程度上保护了刚刚被缓存的内容。由于有些内容片段在刚刚进入缓存空间的时候被访问频率很大,但一段时间后用户对其失去兴趣,访问次数逐渐减少甚至不再被请求访问,此时该类内容的访问频率仍然较高,不能及时替换出去,因此将平均访问时间间隔定义为(Trecent-Tfirst)/M,Tfirst是该内容片段第一次被访问的时间,平均访问时间间隔越大说明该内容片段的访问频率下降越快,反之,则表明该内容片段目前仍有较高的访问频率。交互操作因子定义为[α×(S+1)+(B+1)]/(L+1),S为用户在该内容片段上进行过暂停操作的次数,L为用户在该内容片段上进行过向前拖拽操作的次数,B为用户在进行向后回跳操作时用到该内容片段的次数。用户在进行暂停操作时,可能是由于忙于其他事情暂时中断观看,也可能是想更加清楚的看清楚某个画面,因此暂停操作对内容受欢迎程度影响不是很大。因此为相对减小暂停操作对流行度的影响,设置暂停操作次数的系数为α(0<α<1)。当一个内容片段第一次被访问时,CDN-P2P系统创建该片段包含所有上述参数的访问日志,访问日志随着内容片段的被访问情况动态更新。显然,优选地,公式(1)中的P(Ci)采用此处所述的流媒体内容片段的流行度值的计算方法进行计算。
本发明利用流行度分布熵来度量流媒体内容之间的访问差异性,利用流行度来体现流媒体内部片段的访问差异性。将热门内容的前缀提前缓存,并实时更新被访问内容片段的流行度,以保证副本服务器缓存空间中的内容具有最高的访问热度。此方法实现了具有不同访问属性的内容的区分缓存,能够能有效提高副本服务器的缓存命中率,降低骨干网络的负载,同时也能减少用户请求流媒体的响应时间,从而提升用户的体验感。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,包括步骤:
将副本服务器缓存空间划分成前缀缓存区和后缀缓存区;
将中心服务器中的原流媒体内容分成前缀和后缀两部分,并将前缀和后缀部分分别存入所述副本服务器的前缀缓存区和后缀缓存区中;
当用户请求到达时,依据副本服务器当前的缓存空间状况、系统中访问日志记录的所有流媒体内容的熵值、副本服务器中所有流媒体内容片段的流行度值、用户请求的流媒体内容的熵值、用户请求的流媒体内容片段的流行度值,进行副本服务器中流媒体内容的缓存替换。
2.如权利要求1所述的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,所述当用户请求到达时,依据副本服务器当前的缓存空间状况、系统中访问日志记录的所有流媒体内容的熵值、副本服务器中所有流媒体内容片段的流行度值、用户请求的流媒体内容的熵值、用户请求的流媒体内容片段的流行度值,进行副本服务器中流媒体内容的缓存替换,具体包括以下步骤:
对于流媒体内容的用户请求到达时,首先判断当前对于流媒体内容的用户请求是否是对于流媒体内容的前缀的访问请求,若是则执行对于流媒体内容前缀在副本服务器的前缀缓存区缓存替换方法,否则,
判断副本服务器的缓存中是否有当前用户请求的流媒体内容片段,若是则直接结束流程,否则,
判断当前用户请求的流媒体内容片段的前缀是否在副本服务器的缓存空间中,是则将当前用户请求的流媒体内容片段在副本服务器的后缀缓存区中执行基于流行度的缓存替换方法,并结束流程,否则计算当前用户请求的流媒体内容片段的原始流媒体内容的熵值;
判断所述当前用户请求的流媒体内容片段的原始流媒体内容的熵值是否大于预定临界熵值,是则执行对于流媒体内容片段在副本服务器的前缀缓存区缓存替换方法,并结束流程;否则将当前用户请求的流媒体内容片段在副本服务器的后缀缓存区中执行基于流行度的缓存替换方法,并结束流程。
3.如权利要求2所述的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,所述预定临界熵值为当前系统中访问日志记录的所有流媒体内容的熵值的平均值。
4.如权利要求3所述的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,所述对于流媒体内容前缀在副本服务器的前缀缓存区缓存替换方法包括步骤:
S331:对于流媒体内容的前缀的用户请求到达;
S332:判断当前被请求访问的流媒体内容的前缀是否在副本服务器的缓存中,若是则直接结束流程,否则继续执行S333;
S333:判断当前副本服务器的前缀缓存区剩余缓存空间是否足够存放当前被请求访问的流媒体内容的前缀,若是则跳至S337,否则继续执行S334;
S334:计算当前被请求访问的流媒体内容的前缀和当前副本服务器的前缀缓存区中所有前缀的流行度值;
S335:判断当前被请求访问的流媒体内容的前缀的流行度值是否大于当前副本服务器的前缀缓存区中前缀的最小流行度值,若是,则继续执行S336,否则跳至S338;
S336:删除当前副本服务器的前缀缓存区中流行度值最小的前缀;
S337:将当前被请求访问的流媒体内容的前缀的副本拷贝至副本服务器的前缀缓存区的缓存空间;
S338:放弃缓存当前被请求访问的流媒体内容的前缀。
5.如权利要求4所述的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,所述对于流媒体内容片段在副本服务器的前缀缓存区缓存替换方法包括步骤:
S381:判断当前副本服务器的前缀缓存区剩余缓存空间是否足够存放当前用户请求的流媒体内容片段的前缀,是则跳转到S386,否则继续执行S382;
S382:计算当前用户请求的流媒体内容片段的前缀及副本服务器的前缀缓存区中所有前缀的流行度值;
S383:判断当前副本服务器的后缀缓存区剩余缓存空间是否足够存放一个前缀,是则跳转到S385,否则继续执行S384;
S384:计算当前副本服务器的后缀缓存区中所有内容片段的流行度值,并删除副本服务器的后缀缓存区中流行度值最小的内容片段,继续执行S385;
S385:将副本服务器的前缀缓存区中流行度值最小的前缀移至后缀缓存区,继续执行S386;
S386:将当前用户请求的流媒体内容片段的前缀的副本拷贝至副本服务器的前缀缓存区的缓存空间,继续执行S387;
S387:将当前用户请求的流媒体内容片段在副本服务器的后缀缓存区中执行基于流行度的缓存替换方法,并结束流程。
6.如权利要求5所述的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,所述将当前用户请求的流媒体内容片段在副本服务器的后缀缓存区中执行基于流行度的缓存替换方法,包括:
判断当前副本服务器的后缀缓存区剩余缓存空间是否足够存放所述当前用户请求的流媒体内容片段,是则将当前用户请求的流媒体内容片段的副本拷贝至副本服务器的后缀缓存区缓存空间,并结束流程;否则,
计算当前副本服务器的后缀缓存区中所有内容片段和当前用户请求的流媒体内容片段的流行度值;并判断当前用户请求的流媒体内容片段的流行度值是否大于副本服务器的后缀缓存区中部分内容片段的流行度值,若否,则放弃缓存所述当前用户请求的流媒体内容片段并结束流程,若是,则继续
判断副本服务器的后缀缓存区中流行度值小于当前用户请求的流媒体内容片段的内容片段所占空间及副本服务器的后缀缓存区剩余空间的总和是否大于等于当前用户请求的流媒体内容片段所占内存大小,若是,则首先按照流行度值从小到大依次删除副本服务器的后缀缓存区中相应内容片段,直到副本服务器的后缀缓存区剩余缓存空间能够缓存所述当前用户请求的流媒体内容片段,随后将所述当前用户请求的流媒体内容片段的副本拷贝至副本服务器的后缀缓存区缓存空间,并结束流程;否则,放弃缓存所述当前用户请求的流媒体内容片段并结束流程。
7.如权利要求1至6任一项所述的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,所述S336或S385还包括:将当前从副本服务器的前缀缓存区删除的前缀的访问标识设置为0;
所述S337或S386之后还包括步骤:副本服务器将已缓存的流媒体内容的前缀的访问标识位设置为1。
8.如权利要求7任一项所述的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,所述流媒体内容的熵值计算方法为
Figure FDA00003064354600041
其中,H(C)表示待计算的流媒体内容的熵值,Ci表示待计算的流媒体内容的第i个片段,x为待计算的流媒体内容包括的片段数,i为整数且1≤i≤x,P(Ci)为片段待计算的流媒体内容的第i个片段的流行度值。
9.如权利要求8所述的一种CDN-P2P中内容属性可区分的流媒体缓存替换方法,其特征在于,所述流媒体内容片段的流行度值的计算方法为:流媒体内容片段的流行度值=访问频率×访问近期性×交互操作因子/平均访问时间间隔;
其中,所述访问频率等于M/N,M是副本服务器中该内容片段被访问的总次数,N是副本服务器收到的总请求次数;所述访问近期性为1/(T-Trecent+1),T是当前时间,Trecent是该内容片段最近一次被访问的时间;所述交互操作因子定义为[α×(S+1)+(B+1)]/(L+1),其中S为用户在该内容片段上进行过暂停操作的次数,L为用户在该内容片段上进行过向前拖拽操作的次数,B为用户在进行向后回跳操作时用到该内容片段的次数;所述平均访问时间间隔定义为(Trecent-Tfirst)/M,Tfirst是该内容片段第一次被访问的时间。
CN201310133742.7A 2013-04-17 2013-04-17 Cdn-p2p中内容属性可区分的流媒体缓存替换方法 Expired - Fee Related CN103237068B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310133742.7A CN103237068B (zh) 2013-04-17 2013-04-17 Cdn-p2p中内容属性可区分的流媒体缓存替换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310133742.7A CN103237068B (zh) 2013-04-17 2013-04-17 Cdn-p2p中内容属性可区分的流媒体缓存替换方法

Publications (2)

Publication Number Publication Date
CN103237068A true CN103237068A (zh) 2013-08-07
CN103237068B CN103237068B (zh) 2015-11-25

Family

ID=48885084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310133742.7A Expired - Fee Related CN103237068B (zh) 2013-04-17 2013-04-17 Cdn-p2p中内容属性可区分的流媒体缓存替换方法

Country Status (1)

Country Link
CN (1) CN103237068B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980493A (zh) * 2015-05-11 2015-10-14 中国互联网络信息中心 一种基于主动缓存算法的发现服务方法
CN106487923A (zh) * 2016-11-15 2017-03-08 清华大学 可配置的移动终端协作缓存方法
CN106899692A (zh) * 2017-03-17 2017-06-27 重庆邮电大学 一种内容中心网络节点数据缓存替换方法和装置
CN107181734A (zh) * 2017-04-07 2017-09-19 南京邮电大学 一种cdn‑p2p网络架构的流媒体缓存替换方法
CN107450974A (zh) * 2017-08-15 2017-12-08 北京云端智度科技有限公司 一种cdn系统内任务执行管理的方法
CN107911711A (zh) * 2017-10-24 2018-04-13 北京邮电大学 一种考虑分区的边缘缓存替换改进方法
CN109194767A (zh) * 2018-09-27 2019-01-11 华侨大学 一种适用于混杂网络的流媒体缓存调度方法
CN110213604A (zh) * 2019-05-27 2019-09-06 北京奇艺世纪科技有限公司 直播视频的共享方法、系统和装置及计算机可读存储介质
CN110233892A (zh) * 2019-06-12 2019-09-13 湖南快乐阳光互动娱乐传媒有限公司 Cdn热点资源处理方法、系统及全局热片调度系统
CN110266804A (zh) * 2019-06-28 2019-09-20 郑州轻工业学院 基于节点情景度的内容中心网络缓存方法
CN114124971A (zh) * 2021-10-19 2022-03-01 陕西悟空云信息技术有限公司 一种基于边缘缓存的cdn-p2p网络的内容副本放置方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995592B (zh) * 2019-12-16 2021-09-07 北京信息科技大学 一种新型待定兴趣表的自维护方法及路由转发方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232464A (zh) * 2008-02-28 2008-07-30 清华大学 基于时间权参数的p2p实时流媒体缓存替换方法
CN101997822A (zh) * 2009-08-26 2011-03-30 中国移动通信集团公司 一种流媒体内容分发方法、系统和设备
US20110087794A1 (en) * 2009-10-08 2011-04-14 Futurewei Technologies, Inc. System and Method to Support Different Ingest and Delivery Schemes for a Content Delivery Network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232464A (zh) * 2008-02-28 2008-07-30 清华大学 基于时间权参数的p2p实时流媒体缓存替换方法
CN101997822A (zh) * 2009-08-26 2011-03-30 中国移动通信集团公司 一种流媒体内容分发方法、系统和设备
US20110087794A1 (en) * 2009-10-08 2011-04-14 Futurewei Technologies, Inc. System and Method to Support Different Ingest and Delivery Schemes for a Content Delivery Network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
叶剑虹 等: "基于混合模式的流媒体缓存调度算法", 《计算机科学》 *
王伟岗: "基于CDN和P2P混合系统的流媒体调度策略", 《SCIENCE & TECHNOLOGY INFORMATION》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980493B (zh) * 2015-05-11 2018-07-06 中国互联网络信息中心 一种基于主动缓存算法的发现服务方法
CN104980493A (zh) * 2015-05-11 2015-10-14 中国互联网络信息中心 一种基于主动缓存算法的发现服务方法
CN106487923A (zh) * 2016-11-15 2017-03-08 清华大学 可配置的移动终端协作缓存方法
CN106487923B (zh) * 2016-11-15 2019-07-02 清华大学 可配置的移动终端协作缓存方法
CN106899692A (zh) * 2017-03-17 2017-06-27 重庆邮电大学 一种内容中心网络节点数据缓存替换方法和装置
CN107181734B (zh) * 2017-04-07 2020-04-07 南京邮电大学 一种cdn-p2p网络架构的流媒体缓存替换方法
CN107181734A (zh) * 2017-04-07 2017-09-19 南京邮电大学 一种cdn‑p2p网络架构的流媒体缓存替换方法
CN107450974A (zh) * 2017-08-15 2017-12-08 北京云端智度科技有限公司 一种cdn系统内任务执行管理的方法
CN107911711A (zh) * 2017-10-24 2018-04-13 北京邮电大学 一种考虑分区的边缘缓存替换改进方法
CN107911711B (zh) * 2017-10-24 2020-09-01 北京邮电大学 一种考虑分区的边缘缓存替换改进方法
CN109194767A (zh) * 2018-09-27 2019-01-11 华侨大学 一种适用于混杂网络的流媒体缓存调度方法
CN110213604A (zh) * 2019-05-27 2019-09-06 北京奇艺世纪科技有限公司 直播视频的共享方法、系统和装置及计算机可读存储介质
CN110213604B (zh) * 2019-05-27 2021-08-20 北京奇艺世纪科技有限公司 直播视频的共享方法、系统和装置及计算机可读存储介质
CN110233892A (zh) * 2019-06-12 2019-09-13 湖南快乐阳光互动娱乐传媒有限公司 Cdn热点资源处理方法、系统及全局热片调度系统
CN110266804A (zh) * 2019-06-28 2019-09-20 郑州轻工业学院 基于节点情景度的内容中心网络缓存方法
CN114124971A (zh) * 2021-10-19 2022-03-01 陕西悟空云信息技术有限公司 一种基于边缘缓存的cdn-p2p网络的内容副本放置方法
CN114124971B (zh) * 2021-10-19 2023-11-24 陕西悟空云信息技术有限公司 一种基于边缘缓存的cdn-p2p网络的内容副本放置方法

Also Published As

Publication number Publication date
CN103237068B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN103237068B (zh) Cdn-p2p中内容属性可区分的流媒体缓存替换方法
US11677853B2 (en) Managing preloading of data on client systems
CN102523279B (zh) 一种分布式文件系统及其热点文件存取方法
CN107181734B (zh) 一种cdn-p2p网络架构的流媒体缓存替换方法
US9906590B2 (en) Intelligent predictive stream caching
Nair et al. A rank based replacement policy for multimedia server cache using zipf-like law
CN106790324A (zh) 内容分发方法、虚拟服务器管理方法、云平台和系统
CN104243425A (zh) 一种在内容分发网络中进行内容管理的方法、装置及系统
US11256663B2 (en) Caching with dynamic and selective compression of content
CN107368608A (zh) 基于arc替换算法的hdfs小文件缓存管理方法
US20130145001A1 (en) Utility-based model for caching programs in a content delivery network
CN106230971A (zh) 基于cdn的大文件分发方法
CN108228110A (zh) 一种迁移资源数据的方法和装置
CN114697683A (zh) 流媒体文件的智能调度方法、设备和计算机程序产品
EP2252057B1 (en) Method and system for storing and distributing electronic content
WO2012130348A1 (en) Method for data cache in a gateway
CN101998144A (zh) 内容管理方法及系统
CN105306570A (zh) 一种集群数据的存储方法
CN102609508A (zh) 一种面向网络存储的文件高速访问方法
CN104052611B (zh) 一种云存储系统数据可用性维护方法及其装置
Liao et al. idare: Proactive data replication mechanism for p2p vod system
CN106469193A (zh) 多负载元数据i/o服务质量性能保障方法和系统
Jiang et al. A replica placement algorithm for hybrid CDN-P2P architecture
JP6015338B2 (ja) データ送信装置、データ送信システム、データ送信方法、及びプログラム
CN103096146A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20190417

CF01 Termination of patent right due to non-payment of annual fee