CN103501315B - 一种面向内容网络中基于相关内容聚集的缓存方法 - Google Patents
一种面向内容网络中基于相关内容聚集的缓存方法 Download PDFInfo
- Publication number
- CN103501315B CN103501315B CN201310405212.3A CN201310405212A CN103501315B CN 103501315 B CN103501315 B CN 103501315B CN 201310405212 A CN201310405212 A CN 201310405212A CN 103501315 B CN103501315 B CN 103501315B
- Authority
- CN
- China
- Prior art keywords
- content
- node
- caching
- cache
- factor
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种面向内容网络中基于相关内容聚集的缓存方法,该方法包括缓存因子和缓存冗余避免策略两个技术要点,其中缓存因子实现了具有相同内容特征的相关内容相互吸引,使节点更容易缓存当前缓存中相关内容数量更多的目标内容,以及相关内容的生存时间相互增强,使缓存中具有主要内容特征的内容不容易被丢弃;而缓存冗余避免策略解决了存在缓存冗余,浪费节点的存储资源这一问题,本发明将内容的流行度思想及节点内容特征思想应用于缓存方案中,从而在不对路由性能造成很大影响的前提下,提高了路由的可扩展性及其路由可信度,使有限的缓存空间能够得到更合理的利用。
Description
技术领域
本发明涉及面向内容网络中缓存方案的缓存内容聚合问题,具体涉及面向内容网络中基于相关内容聚集的缓存方案。
背景技术
针对现有网络体系结构束缚高效内容分发功能实现的特点,面向内容网络应运而生。面向内容网络是指以内容为中心的网络,它采用内容名作为路由标识,允许用户直接访问内容本身,而非其所在的主机或服务器,这是面向内容网络的基本特点。而缓存是影响面向内容网络路由可扩展性的重要因素,因此缓存方案的设计,是面向内容网络的一个重中之重。
面向内容网络以内容名作为路由标志,使用户可以直接对内容进行访问,其路由性能与网络中的内容分布密切相关。内容缓存是影响网络中内容分布最重要的因素,是面向内容网络研究的重要内容。内容缓存策略需要充分利用网络中的缓存资源使内容分布与用户请求分布更加一致,以提升用户感受。
下面是面向内容网络中三种典型缓存方案。
(1)LCE(Leaving Copies Everwhere)是目前基于CCN(Content CentricNetworking)网络模型的面向内容网络研究中常用的缓存方案。在LCE方案中,路由路径上的所有节点都对内容文件进行缓存,当缓存空间已满时,节点根据最近最少使用算法(Least Recently Used LRU)进行缓存替换。
LCE算法具有良好的缓存性能,能够充分利用缓存空间为用户提供服务,但是应用在面向内容网络中将会造成严重的路由可扩展问题。
首先,LCE算法会造成非常频繁的缓存更新,造成大量的网络开销,并影响路由可信度。
其次,由于内容访问特点是大量用户访问少量热门内容,非热门内容到达节点并被缓存后,其被访问的概率将会很小;此外,由于路由路径上的所有节点都对内容进行缓存,LCE算法还将造成严重的缓存冗余,这些都将导致缓存利用率的下降。
(2)ProbCache算法的基本思路是:将内容缓存得离用户更近,同时尽量避免路径上的缓存冗余。ProbCache的缓存概率的计算公式如下:
式中,Ni为节点i的缓存容量,N为整条路径上总的缓存容量,x表示节点到内容源的距离,c表示节点到用户的距离。上式的含义为,当前节点缓存目标内容的概率与剩余缓存容量所占比例以及离服务器的距离成正比,与离用户的距离成反比,也就是离用户越近,剩余缓存容量越多,内容被缓存的概率越大。
ProbCache算法减小了路径上的缓存冗余,提高了缓存资源的利用率,降低了缓存更新频率,在节点缓存空间较小的情况下,还会使用户访问内容的路径更短。
然而,ProbCache没有对内容的流行度进行区分,不符合大量用户访问少量热门内容的特点,因此节点缓存的内容并非都具有很高的价值,导致缓存利用率的下降。
(3)TopDown是一种内容流行度驱动的协作缓存算法,用于减少ISP(Internet Service Provider)间流量,并使ISP内用户访问内容的平均接入跳数最小。该算法根据内容流行度制定缓存策略,充分考虑了内容本身的价值。
TopDown算法包含信息聚合和缓存决策制定两个步骤。信息聚合是从底向上的,由终端用户收集内容请求并向中间节点提交,中间节点对内容请求进行聚合,并根据请求数量对具体的内容请求进行降序排列,直到根节点,因此根节点能够得到ISP所有内容请求信息降序排列表,TopDown算法通过这种方式计算内容的流行程度。缓存决策制定是自顶向下的,从根节点开始,根据节点缓存空间的大小依次选择内容请求次数更多的内容缓存在节点中,如果某一节点已缓存了某一目标内容,则更高Level的节点将不会对其进行重复缓存,这也是TopDown算法名字的由来。
TopDown算法考虑了内容流行度,更加符合用户访问内容的特点;同时,TopDown算法还具有避免缓存冗余的效果,因此具有更高的缓存利用率。但是,TopDown算法并不能使缓存离用户更近,这将会导致路径长度增加,从而影响用户感受。
上述方案的共同问题是缓存中内容特征分布具有很强的随机性,表现为没有突出的主要内容特征以及稳定的特征分布,因而难以通过内容特征抽象减少向外通告的路由信息量,导致严重的路由可扩展性问题。
发明内容
本发明的目的在于克服面向内容网络存在的不足,提供一种面向内容网络中基于相关内容聚集的缓存方法。
为达到上述目的,本发明采用了以下技术方案。
该缓存方法包括以下步骤:
当前节点根据目标内容的缓存概率对接收到的目标内容进行有选择的缓存,使具有某一种内容特征的目标内容进行增强缓存,这种内容特征逐渐成为当前节点的主要内容特征;同时利用相关内容的生存时间相互增强,使具有主要内容特征的内容不容易被当前节点丢弃。
所述缓存概率为四种缓存因子的加权和,四种缓存因子分别为相关内容因子、内容流行度因子、路径因子以及剩余缓存空间因子。
所述相关内容因子的求取方法为:
式(2)中,Rel_Content_Factor表示相关内容因子,Hot_Degreei为当前节点缓存中的第i个内容的流行度(相关内容因子表示相关内容的有效数量与内容缓存CS(Content Store)中所有内容有效数量的比值,X为滤波器,当前节点的CS中第i项与目标内容具有相同特征,则该项属于目标内容的相关内容集合,对相关内容因子就会产生贡献),Hot_Degreemax表示规定的内容流行度的最大值,A为常数,流行度用一段时间内内容请求经过节点的次数表示;
所述内容流行度因子的求取方法为:
式(3)中,Hot_Degree_Factor表示内容流行度因子,Hot_Degree表示目标内容的流行度,B为常数。
所述路径因子的求取方法为:
式(5)中,Path_Factor表示路径因子,cur_user_dis表示当前节点离用户的距离,path_length指用户与所请求内容的起始节点之间的距离,C为常数。
所述剩余缓存空间因子的求取方法为:
式(6)中,Free_Cache_Space_Factor表示剩余缓存空间因子,Free_Cache_Space表示当前节点的剩余缓存空间可缓存内容的数量,Cache_Space表示当前节点的总的缓存空间大小,D为常数。
所述缓存方法还包括以下步骤:当前节点根据目标内容的缓存概率对接收到的目标内容进行有选择的缓存前,对目标内容在当前节点以及当前节点的邻近节点的缓存情况进行检查以及查询,并避免缓存冗余产生。
所述缓存方法具体包括以下步骤:
1)当目标内容到达节点N时,判断节点N及节点N的邻近节点是否已缓存了与目标内容相同的内容,如果节点N缓存了与目标内容相同的内容,则节点N不对目标内容进行缓存,同时,增大节点N的缓存概率阈值,如果节点N的邻近节点缓存了与目标内容相同的内容,则节点N不对目标内容进行缓存,如果节点N以及节点N的邻近节点均未缓存与目标内容相同的内容,则进入步骤2);
2)查询目标内容在节点N被请求的次数n,然后计算目标内容的流行度,然后计算目标内容的缓存概率;
3)若所述缓存概率大于设定的缓存概率阈值,则节点N缓存所述目标内容,并为目标内容设定初始生存时间,否则,节点N不对所述目标内容进行缓存;当节点N缓存目标内容后,若目标内容具有主要内容特征,则对目标内容及其相关内容进行生存时间的增强,所述相关内容为节点N内与目标内容具有相同内容特征的内容;若节点N的缓存空间已满,则丢弃节点N中缓存的生存时间最小的内容;当节点N缓存目标内容后,节点N缓存的具有某一内容特征cf的内容的有效数量大于具有其它内容特征的内容的有效数量时,将该内容特征cf作为节点N的主要内容特征。
判断节点N是否已缓存了与目标内容相同的内容的具体方法为:在当前节点中设置用于记录相同内容到达当前节点次数的缓存标识字段,检查缓存标识字段,若缓存标识字段大于等于1,说明该目标内容已被节点N缓存过;
判断节点N的邻近节点是否已缓存了与目标内容相同的内容的具体方法为:查询FIB(转发信息库)表,寻找距离节点N H跳范围内与目标内容具有相同内容名前缀的表项,若找到与目标内容具有相同内容名前缀的表项,说明内容在节点N的邻近节点已有缓存。
增大节点N的缓存概率阈值的方法为:
其中,CPT表示缓存概率阈值,CPT0为初始缓存概率阈值,Cache_Label表示缓存标识字段的值,p为内容每缓存一次的增幅。
所述目标内容及其相关内容进行生存时间的增强的方法为:
在目标内容的初始生存时间的基础上增加T,T的计算公式如下:
式(8)中,Hot_Degreei为当前节点缓存中的第i个内容的流行度,Hot_Degreemax表示规定的内容流行度的最大值,A为常数,E为常数,流行度用一段时间内内容请求经过节点的次数表示;
当目标内容生存时间增强时,各相关内容的生存时间在当前值上增加T',T'的计算公式如下:
式(9)中,Hot_Degree表示目标内容的流行度。
本发明将带来如下有益效果:
(1)本发明提出了一种基于相关内容聚集的缓存方案(Cache Gathering,即CG算法),为了使有限的缓存空间能够得到更合理的利用,本发明采用概率缓存的思路,即节点对接收到的内容进行有选择的缓存,实现了节点已缓存内容对目标内容的吸引或排斥作用,同时结合相关内容的生存时间相互增强措施,可以对具有某一种内容特征的目标内容进行增强缓存,使这种内容特征逐渐突出出来,成为节点的主要内容特征,并使节点表现出明显、稳定的内容特征,从而更有利于通过内容特征抽象减少向外通告的路由信息量,实现路由可扩展性的提高。
(2)本发明通过相关内容的生存时间相互增强,使具有主要内容特征的内容生存时间不断增加,很难被丢弃,不会在网络中产生大量的路由更新消息;同时具有次要内容特征的内容由于其数量很少,因此产生的路由更新消息少,对网络路由的影响也很小。
(3)本发明采用相关内容的生存时间相互增强方案后,具有主要内容特征的内容数目不断增多,从而使缓存内容具有突出的主要内容特征及稳定的内容特征分布,提高了其路由可信度。
(4)本发明通过具有相同特征的相关内容的相互吸引,使相关内容在节点上聚集,从而方便对缓存内容进行内容特征抽象,以减少向外通告的路由信息量,提高面向内容网络的路由可扩展能力;同时通过相关内容生存时间相互增强的策略,增强了缓存内容的稳定性,提高了其路由可信度,提高了用户感受。
(5)本发明在对相关内容聚集理念进行实现时,考虑到其增强缓存冗余这一因素,并采取相应的冗余避免策略,使节点的存储资源能够得到更加合理的利用。
附图说明
图1是相关内容聚集效果图;
图2是相关内容聚集方案示意图;
图3是CG算法流程图;
图4为仿真拓扑图;
图5是CG算法节点内容特征分布;
图6是缓存更新频率;
图7是缓存冗余对比。
具体实施方式
下面结合附图和实施例对本发明进行详细的说明。
本发明基本原理是:通过相关内容的相互吸引,使节点的主要内容特征更加突出和稳定,并排斥具有次要内容特征的内容在节点上的缓存,使节点表现出明显、稳定的内容特征,从而更有利于通过内容特征抽象减少向外通告的路由信息量,实现路由可扩展性的提高。
相关内容聚集是一种本地缓存策略,是通过节点已缓存内容对目标内容的吸引或排斥作用对具有某一种内容特征的目标内容进行增强缓存,使这种内容特征逐渐突出出来,成为节点的主要内容特征。为了使相关内容聚集理念能够得以实现,本发明提出了一种基于相关内容聚集的缓存方案(CacheGathering CG)。为了使有限的缓存空间能够得到更合理的利用,本发明采用概率缓存的思路,即节点对接收到的内容进行有选择的缓存。本发明通过以下两步实现相关内容聚集:一是具有相同内容特征的内容相互吸引,使节点更容易缓存当前缓存中相关内容数量更多的目标内容;二是相关内容的生存时间相互增强,使缓存中具有主要内容特征的内容不容易被丢弃。
为了达到上述目的,本发明的具体技术方案如下:
首先进行概念介绍:
内容属性:指能够代表内容某方面特征的元素,如分层的内容名前缀,内容类型等。
内容特征:如果将内容属性看成一个集合,则内容特征就是这个集合中的元素。如内容类型集合中的某一特定内容类型。
相关内容:具有相同内容特征的内容互为相关内容。
主要内容特征MF:指节点大量缓存的内容所具有的共同内容特征。
次要内容特征:除主要内容特征外的其它内容特征统称为次要内容特征。
目标内容(TC,Target Content):是用户所请求的内容。
目标内容特征(Tf,Target Feature):是目标内容的属性集合中的元素。
当前节点:是目标内容到达的节点。
流行度,或称为热门度(Hot Degree)的量化,对于一个新到内容,可以匹配其与所到达节点的主要内容特征的相似度,相似度高则说明该区域的用户对于该类型的内容有偏好,赋予一个较高的热门度值。对于一个已有的内容,可以统计单位时间内对该内容的请求数,单位时间请求数高,则热门度的值较高。两者需要归一化处理。
总的来看,本发明提供了一种基于相关内容聚集的缓存方法,该方法包括以下两个技术要点:
【1】缓存因子设计
为了达到相关内容聚集的效果,同时缓存更加有效,本发明吸收了ProbCache、TopDown等概率缓存算法的思路,采用了多种缓存因子共同用于缓存决策。本发明采用的缓存因子包括:相关内容因子、内容流行度因子、路径因子、剩余缓存空间因子以及生存时间因子,各缓存因子的作用如下表所示:
表1缓存因子说明
(1)相关内容因子的计算公式如下:
式中,Hot_Degreei表示第i个内容的流行度,Hot_Degreemax表示规定的内容流行度的最大值,A为常数,是一个过滤器函数,用于选择与目标内容特征Tf(Target Feature)相同的内容。因此式(2)分子表示目标内容的相关内容有效数量,分母表示缓存中所有内容的有效数量。
式(2)的含义为:相关内容因子等于当前节点中与目标内容相关的已缓存内容的有效数量的归一化值。有效数量与每个相关内容的流行度有关,内容越热门,对目标内容的吸引力越强,因此其有效数量越趋近于1。由于非热门内容的访问量少,对节点内容特征的影响相对较弱,因此此处采用指数函数这一非线性函数进一步强化热门内容的吸引作用,弱化非热门内容的吸引作用。
(2)内容流行度因子的计算公式如下:
式中,Hot_Degree表示目标内容的流行度,B为常数。
内容流行度可以用一段时间内内容请求经过节点的次数表示。内容的流行度是由用户对内容的访问决定的,内容被访问频率越高,内容流行度越大。每个节点需要处理的用户请求不同,为了节点的缓存命中率,提升用户感受,节点更应该缓存经过本节点频次高的内容,而非全网统一评价出的具有更高流行度的内容,因此这种方式是合理的。
由于经过节点的内容次数没有固定的上限,因此本发明用如下的分段函数将其映射到某一固定的区间内,如下所示:
式中,n为目标内容被请求的次数,a、b为常数,threshold为内容访问次数的阈值。采用二次函数是为了让内容被缓存的概率随请求次数的增长非线性递增,当访问次数总体较少时,增长较缓慢,访问次数达到较高水平时,增长速率更快。
(3)路径因子计算公式如下:
式中,cur_user_dis表示当前节点离用户的距离,path_length指路径长度(用户与所请求内容的起始节点之间的距离),C为常数,指数非线性处理是为了使内容更可能被缓存在离用户更近的节点上。
为了获取当前节点离用户的距离,需要在内容查找阶段记录路径长度。一种可行的方案是在请求数据包(即NDN Named-Data-Network中的兴趣包)中增加cur_user_dis项,在内容数据包(即NDN中的数据包)中增加cur_user_dis和path_length项。在内容查找阶段,每转发一次请求数据包,请求数据包中的cur_user_dis项加1;反之,在内容分发阶段,每转发一次,内容数据包中cur_user_dis项减1。目标节点接收到请求数据包时,将包中的cur_user_dis项复制到内容数据包中的cur_user_dis和path_length中。由于面向内容网络采用对称路由,内容查找和分发的路径相同,因此这种方式是合理的,但不适用于IP网络。
(4)剩余缓存空间因子计算公式如下:
式中,Free_Cache_Space表示当前节点的剩余缓存空间可缓存内容的数量,Cache_Space表示总的缓存空间大小,D为常数,非线性处理的目的与上述三种因子相同。
节点对目标内容的缓存概率用上述四种缓存因子(缓存决策因子)的加权和表示,公式如下:
Cache_Probability=w1×Rel_Content_Factor+w2×Hot_Degree_Factor
+w3×Path_Factor+w4×Free_Cache_Space_Factor
w1+w2+w3+w4=1 (7)
当Cache_Probability(CP)大于某一阈值时,内容被缓存。
(5)生存时间因子计算公式如下:
式中,MF表示主要内容特征(Main Feature),Tf为目标内容特征,E为常数。
上式表示目标内容生存时间增强的程度与目标内容的有效数量成正比,同时考虑到节点缓存空间有限,CG算法只对主要内容特征进行生存时间的增强,过滤器对次要的内容特征进行了过滤,保证只有具有主要内容特征的内容生存时间相互增强。
当目标内容生存时间增强时,各相关内容的生存时间在当前基础值上增加T',T'计算公式如下:
相对而言,不符合节点内容特征的内容即便被节点缓存,也更容易被丢弃。
常数A、B、C、D以及E的取值是可以根据不同的场景需要进行调整的。
【2】缓存冗余避免策略
由于本发明是一种本地缓存方案,不能避免缓存冗余,同时由于其使相同特征内容聚集的特点,在之后的通信过程中,还会使初始的缓存冗余得到进一步增强,造成缓存资源的大量浪费。
因此,在对相关内容聚集理念进行实现时,需要考虑到其增强缓存冗余这一因素,并采取相应的冗余避免策略,使节点的存储资源能够得到更加合理的利用。
针对这一情况本发明提出两种避免缓存冗余的解决方案。
1)方案1:基于已缓存内容标识的缓存冗余避免策略
在当前节点中增加缓存标识字段,用于记录相同内容到达当前节点次数。内容每到达一次,该字段加1。路径上的节点在制定缓存策略时,根据缓存标识字段的值确定缓存概率的阈值,内容在路径上被缓存的次数越多,缓存概率的阈值越大,这样可以有效避免在一条路径上的重复缓存。缓存概率阈值的计算方法如下:
式中CPT表示缓存概率的阈值,CPT0为初始阈值,Cache_Label表示缓存标识字段的值,p为内容每缓存一次的增幅。
2)方案2:基于FIB表的缓存冗余避免策略
方案一的缺点是只能减少一条路径上的缓存冗余,对小范围内相同内容的大量重复缓存没有帮助。而现有的缓存避免策略大多是通过节点间相互交换已缓存内容信息来实现的,这种方式会大量占用网络带宽,影响网络性能。因此本发明提出另一种解决方案——基于FIB表的缓存冗余避免策略。
由于面向内容网络采用基于内容名的路由,从节点的FIB表中,可以获取其它节点缓存内容的信息。例如,当前节点的FIB表中记录了到某一内容名前缀的路由和距离,说明该内容名前缀下的所有热门内容已经在距离当前节点一定范围内被缓存,如果某一相同内容名前缀的目标内容到达当前节点,为了避免缓存冗余,当前节点可以选择不缓存这一内容。
本发明的实施过程如图3所示,具体分为以下步骤。
【301】当目标内容TC到达节点时,节点的主要内容特征Mf、缓存概率阈值CPT、Mf内容有效数量Nm为该节点的初始状态。
【302】执行缓存冗余方案1,检查缓存标识字段CL,若其大于等于1,则按照式(10)增大缓存概率阈值CPT,不再缓存该内容,反之执行步骤【303】。
【303】执行缓存冗余方案2,查询FIB表,寻找距离当前节点H跳范围内与TC具有相同内容名前缀的表项,若找到目标表项,说明内容在该节点H跳附近已有缓存,节点无需再次缓存,过程结束,反之执行步骤【304】。
【304】查询目标内容TC在当前节点被请求的次数n,根据式(4)计算TC的流行程度,在此基础上根据式(2)、(3)、(5)、(6)、(7)计算目标内容TC的缓存概率。
【305】若目标内容TC的缓存概率CP大于设定的阈值CPT,则缓存目标内容,并为其设置初始生存时间,转至【306】;若目标内容TC的缓存概率CP不大于设定的阈值CPT,则不对其进行缓存,过程结束。
【306】判断目标内容是否具有主要内容特征:当目标内容TC被缓存后,具有目标内容特征Tf的内容有效数量Nt在当前值的基础上增加TC的有效数量,然后将Nt与当前的主要特征内容的有效数量Nm进行比较,若Nt大于Nm,则用Tf代替当前的Mf作为新的主要内容特征。如果目标内容具有主要内容特征,同时增大目标内容TC的生存时间T,T与相关内容的有效数量成正比。之后将各相关内容的生存时间在当前基础上增加T',T'与TC的有效数量成正比,然后转至【307】。
【307】查询节点的缓存空间,若未满,则结束过程,反之则丢弃缓存中生存时间最小的内容。
算法中相关内容聚集的实现主要体现在两个方面:一是通过相关内容相互吸引使具有相同内容特征的内容聚集在一起,由于相关内容对目标内容的吸引作用与相关内容的有效数量成正比,因此随着缓存的进行,缓存中具有主要内容特征的内容与其它内容的数量差异将会越来越大,使节点的主要内容特征更加明显;二是通过相关内容生存时间相互增强使节点中具有主要内容特征的内容不容易被丢弃,而其他具有次要内容特征的内容更容易被丢弃,进一步增大主要特征内容和次要特征内容的数量差异。
本发明基于面向内容网络特点,引入“相关内容聚集”的概念,提出CG算法,包含“缓存因子”和“缓存冗余避免策略”两个关键要点。
图1显示了本发明所要实现的效果:通过相关内容的相互吸引,使节点的主要内容特征更加突出和稳定,并排斥具有次要内容特征的内容在节点上的缓存,使节点表现出明显、稳定的内容特征。图中,初始阶段,三个节点n1、n2、n3上均缓存有A、B、C三种特征的内容,且它们在数量上只有微弱的差异。经过相关内容聚集后,这种微弱的数量差异被放大,节点n1、n2、n3均表现出明显的内容特征。
参见图2,节点缓存中的内容分为主要特征内容和次要特征内容两部分,其占据缓存空间大小用矩形框的长度表示,矩形框之间的连接线表示相关内容聚集的过程和产生的效果。如图所示,经过相关内容聚集,具有主要内容特征的内容占据了更大的缓存空间,使节点的内容特征更加明显。生存时间相互增强只发生在主要特征内容之间,是为了避免出现多个主要内容特征。由于缓存空间有限,若节点出现多个主要内容特征,将会导致每个主要内容特征由于不能缓存足够数量的相关内容导致节点内容特征的可信度降低。例如增强路由聚合时,如果聚合后的内容名前缀没有覆盖大量该前缀下的内容名,将会使使路径变长,影响路由性能。
本发明是旨在提供一种适用于面向内容网络场景中的缓存方案,利用现有传统缓存方案考虑内容流行度和避免冗余的思路,针对已有的面向内容网络缓存方案难以解决缓存内容聚合的问题,提出了一种适用于面向内容网络的基于相关内容聚集的缓存方法。该方法包括以下两个技术要点:缓存因子和缓存冗余避免策略。其中缓存因子实现了具有相同内容特征的相关内容相互吸引,使节点更容易缓存当前缓存中相关内容数量更多的目标内容,以及相关内容的生存时间相互增强,使缓存中具有主要内容特征的内容不容易被丢弃。而缓存冗余避免策略解决了当邻近的多个节点初始缓存的内容相同时,即存在缓存冗余,浪费节点的存储资源这一问题。通过这两点技术要点,本发明将内容的流行度思想及节点内容特征思想应用于缓存方案中,从而在不对路由性能造成很大影响的前提下,提高了路由的可扩展性及其路由可信度,使有限的缓存空间能够得到更合理的利用。
仿真条件以及参数设置如下:
为了验证缓存聚集方案的合理性和效果,本发明在VS2008上采用C++语言对本发明方案和算法进行了仿真实现,并采用Matlab根据仿真所得数据绘制仿真结果图,如图4所示。
仿真拓扑中每个节点都既能产生内容,又能发出内容请求。网络中共产生2000个内容,均匀分布在10个节点上,其中20%为热门内容,80%为非热门内容。
内容名格式为“/域名/内容特征/流行度/关键字”,域名为产生该内容的节点的域名,例如N1节点产生的内容,其内容名中域名项为“/www.N1.com/”。内容名后三项是从相应的数组中随机选择的,其中将内容流行度定义在内容名中是为了使产生的内容和内容请求能够服从柏拉图分布。
网络每秒发起150次内容请求,仿真过程历时50s,共产生了7500次内容请求(缓存冗余度对比时经历了100s,共产生15000次内容请求),其中针对热门内容请求和非热门内容的用户请求的比例按照柏拉图定律进行设定,即80%热门内容请求,20%非热门内容请求。
仿真结果
图5中内容特征共分为5类,柱状图的高度表示各特征内容数量,从仿真结果可以看出,采用CG算法时,各节点的主要内容特征和次要内容特征对比明显,具有主要内容特征的内容数量远远大于其它特征的内容数量,使节点具有鲜明的内容特征,达到了预期的效果。图6对CG算法和LCE(LeavingCopies Everwhere)及ProbCache算法的缓存更新频率进行了对比。结果显示,CG算法的缓存更新频率相比于另两种算法有了明显的降低,这是因为CG算法通过相关内容生存时间相互增强,使占据缓存绝大多数的主要特征内容更难被丢弃,从而增强了缓存内容的稳定性,也使其具有更高的路由可信度。图7对本发明提出的两种缓存冗余避免策略进行了对比验证,图中CRA(Cache Redundancy Avoid)指缓存冗余避免,CRA1和CRA2分别指缓存冗余避免方案1及方案2。可以看出,当CG算法不采用缓存冗余避免策略时,其缓存冗余很高,仅次于LCE算法;而采用了本发明提出的缓存冗余避免方案后,缓存冗余性能获得了极大的改善,符合预期效果。
Claims (8)
1.一种面向内容网络中基于相关内容聚集的缓存方法,其特征在于,该缓存方法包括以下步骤:
当前节点根据目标内容的缓存概率对接收到的目标内容进行有选择的缓存,使具有某一种内容特征的目标内容进行增强缓存,这种内容特征逐渐成为当前节点的主要内容特征;同时利用相关内容的生存时间相互增强,使具有主要内容特征的内容不容易被当前节点丢弃;所述缓存概率为四种缓存因子的加权和,四种缓存因子分别为相关内容因子、内容流行度因子、路径因子以及剩余缓存空间因子;
所述相关内容因子的求取方法为:
式(2)中,Rel_Content_Factor表示相关内容因子,Hot_Degreei为当前节点缓存中的第i个内容的流行度,Hot_Degreemax表示规定的内容流行度的最大值,A为常数,流行度用一段时间内内容请求经过节点的次数表示;
所述内容流行度因子的求取方法为:
式(3)中,Hot_Degree_Factor表示内容流行度因子,Hot_Degree表示目标内容的流行度,B为常数。
2.根据权利要求1所述一种面向内容网络中基于相关内容聚集的缓存方法,其特征在于,所述路径因子的求取方法为:
式(5)中,Path_Factor表示路径因子,cur_user_dis表示当前节点离用户的距离,path_length指用户与所请求内容的起始节点之间的距离,C为常数。
3.根据权利要求1所述一种面向内容网络中基于相关内容聚集的缓存方法,其特征在于,所述剩余缓存空间因子的求取方法为:
式(6)中,Free_Cache_Space_Factor表示剩余缓存空间因子,Free_Cache_Space表示当前节点的剩余缓存空间可缓存内容的数量,Cache_Space表示当前节点的总的缓存空间大小,D为常数。
4.根据权利要求1所述一种面向内容网络中基于相关内容聚集的缓存方法,其特征在于,所述缓存方法还包括以下步骤:当前节点根据目标内容的缓存概率对接收到的目标内容进行有选择的缓存前,对目标内容在当前节点以及当前节点的邻近节点的缓存情况进行检查以及查询,并避免缓存冗余产生。
5.根据权利要求1所述一种面向内容网络中基于相关内容聚集的缓存方法,其特征在于,所述缓存方法具体包括以下步骤:
1)当目标内容到达节点N时,判断节点N及节点N的邻近节点是否已缓存了与目标内容相同的内容,如果节点N缓存了与目标内容相同的内容,则节点N不对目标内容进行缓存,同时,增大节点N的缓存概率阈值,如果节点N的邻近节点缓存了与目标内容相同的内容,则节点N不对目标内容进行缓存,如果节点N以及节点N的邻近节点均未缓存与目标内容相同的内容,则进入步骤2);
2)查询目标内容在节点N被请求的次数n,然后计算目标内容的流行度,然后计算目标内容的缓存概率;
3)若所述缓存概率大于设定的缓存概率阈值,则节点N缓存所述目标内容,并为目标内容设定初始生存时间,否则,节点N不对所述目标内容进行缓存;当节点N缓存目标内容后,若目标内容具有主要内容特征,则对目标内容及其相关内容进行生存时间的增强,所述相关内容为节点N内与目标内容具有相同内容特征的内容;若节点N的缓存空间已满,则丢弃节点N中缓存的生存时间最小的内容;当节点N缓存目标内容后,节点N缓存的具有某一内容特征cf的内容的有效数量大于具有其它内容特征的内容的有效数量时,将该内容特征cf作为节点N的主要内容特征。
6.根据权利要求5所述一种面向内容网络中基于相关内容聚集的缓存方法,其特征在于,判断节点N是否已缓存了与目标内容相同的内容的具体方法为:在当前节点中设置用于记录相同内容到达当前节点次数的缓存标识字段,检查缓存标识字段,若缓存标识字段大于等于1,说明该目标内容已被节点N缓存过;
判断节点N的邻近节点是否已缓存了与目标内容相同的内容的具体方法为:查询FIB表,寻找距离节点N H跳范围内与目标内容具有相同内容名前缀的表项,若找到与目标内容具有相同内容名前缀的表项,说明内容在节点N的邻近节点已有缓存。
7.根据权利要求6所述一种面向内容网络中基于相关内容聚集的缓存方法,其特征在于,增大节点N的缓存概率阈值的方法为:
其中,CPT表示缓存概率阈值,CPT0为初始缓存概率阈值,Cache_Label表示缓存标识字段的值,p为内容每缓存一次的增幅。
8.根据权利要求5所述一种面向内容网络中基于相关内容聚集的缓存方法,其特征在于,所述目标内容及其相关内容进行生存时间的增强的方法为:
在目标内容的初始生存时间的基础上增加T,T的计算公式如下:
式(8)中,Hot_Degreei为当前节点缓存中的第i个内容的流行度,Hot_Degreemax表示规定的内容流行度的最大值,A为常数,E为常数,流行度用一段时间内内容请求经过节点的次数表示;
当目标内容生存时间增强时,各相关内容的生存时间在当前值上增加T',T'的计算公式如下:
式(9)中,Hot_Degree表示目标内容的流行度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310405212.3A CN103501315B (zh) | 2013-09-06 | 2013-09-06 | 一种面向内容网络中基于相关内容聚集的缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310405212.3A CN103501315B (zh) | 2013-09-06 | 2013-09-06 | 一种面向内容网络中基于相关内容聚集的缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103501315A CN103501315A (zh) | 2014-01-08 |
CN103501315B true CN103501315B (zh) | 2016-08-10 |
Family
ID=49866486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310405212.3A Expired - Fee Related CN103501315B (zh) | 2013-09-06 | 2013-09-06 | 一种面向内容网络中基于相关内容聚集的缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103501315B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901980B (zh) * | 2014-03-05 | 2018-02-13 | 北京工业大学 | 基于流行度的数据命名网络的均衡分布缓存方法 |
CN103905539A (zh) * | 2014-03-22 | 2014-07-02 | 哈尔滨工程大学 | 内容中心网络中基于内容受欢迎度的最优缓存放置方法 |
CN105099944B (zh) | 2014-04-22 | 2018-08-17 | 华为技术有限公司 | 一种缓存数据的方法及转发设备 |
CN104253855B (zh) * | 2014-08-07 | 2018-04-24 | 哈尔滨工程大学 | 一种面向内容中心网络中基于内容分类的类别流行度缓存替换方法 |
CN105188088B (zh) * | 2015-07-17 | 2019-07-12 | 中国科学院信息工程研究所 | 基于内容流行度和节点替换率的缓存方法及装置 |
CN105357278B (zh) * | 2015-10-18 | 2018-06-19 | 北京工业大学 | 命名数据移动自组织网络的官渡缓存方法 |
CN107733949B (zh) * | 2016-08-11 | 2021-03-16 | 北京邮电大学 | 一种无线接入网缓存方法及*** |
CN106982248B (zh) * | 2017-03-01 | 2019-12-13 | 中国科学院深圳先进技术研究院 | 一种内容中心网络的缓存方法及装置 |
CN107623720B (zh) * | 2017-08-18 | 2021-02-05 | 中国科学院上海微***与信息技术研究所 | 一种基于合作缓存的数据选择性缓存方法 |
CN107948247B (zh) * | 2017-11-01 | 2020-04-10 | 西安交通大学 | 一种软件定义网络的虚拟缓存通道缓存管理方法 |
CN108093056B (zh) * | 2017-12-25 | 2020-11-10 | 重庆邮电大学 | 信息中心无线网络虚拟化网络中节点缓存替换方法 |
CN108183867B (zh) * | 2017-12-25 | 2021-08-10 | 重庆邮电大学 | 信息中心网络节点缓存替换方法 |
CN110365728A (zh) * | 2018-04-10 | 2019-10-22 | 重庆邮电大学 | 一种面向信息中心网络的分组协作缓存*** |
CN108769251B (zh) * | 2018-06-21 | 2021-02-05 | 河南科技大学 | 一种启发式ccn网络合作缓存方法 |
CN109905720B (zh) * | 2019-02-26 | 2021-04-09 | 北京工业大学 | 命名数据网络下基于视频点播***的缓存替换方法 |
CN110266804B (zh) * | 2019-06-28 | 2020-08-14 | 郑州轻工业学院 | 基于节点情景度的内容中心网络缓存方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917287A (zh) * | 2012-11-21 | 2013-02-06 | 北京邮电大学 | 一种面向内容中心的智能光网络交换装置和边缘缓存方法 |
CN103001870A (zh) * | 2012-12-24 | 2013-03-27 | 中国科学院声学研究所 | 一种内容中心网络协同缓存方法及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110107030A1 (en) * | 2009-10-29 | 2011-05-05 | Simon Borst | Self-organizing methodology for cache cooperation in video distribution networks |
US8843608B2 (en) * | 2011-09-22 | 2014-09-23 | Blue Coat Systems, Inc. | Methods and systems for caching popular network content |
-
2013
- 2013-09-06 CN CN201310405212.3A patent/CN103501315B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917287A (zh) * | 2012-11-21 | 2013-02-06 | 北京邮电大学 | 一种面向内容中心的智能光网络交换装置和边缘缓存方法 |
CN103001870A (zh) * | 2012-12-24 | 2013-03-27 | 中国科学院声学研究所 | 一种内容中心网络协同缓存方法及*** |
Non-Patent Citations (1)
Title |
---|
分布式缓存***中一种优化缓存部署的图算法;李文中,陈道蓄,陆桑璐;《软件学报》;20100715;第21卷(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103501315A (zh) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103501315B (zh) | 一种面向内容网络中基于相关内容聚集的缓存方法 | |
CN104753797B (zh) | 一种基于选择性缓存的内容中心网络动态路由方法 | |
CN106131182B (zh) | 命名数据网络中一种基于流行度预测的协作缓存方法 | |
CN105049254B (zh) | 一种ndn/ccn中基于内容等级及流行度的数据缓存替换方法 | |
Li et al. | A chunk caching location and searching scheme in content centric networking | |
CN105376344B (zh) | 一种与源地址相关的递归域名服务器的解析方法及*** | |
CN107105043B (zh) | 一种基于软件定义网络的内容中心网络缓存方法 | |
CN105262833B (zh) | 一种内容中心网络的跨层缓存方法及其节点 | |
CN109905480A (zh) | 基于内容中心性的概率缓存内容放置方法 | |
CN104301305B (zh) | 信息中心网络下兴趣包转发的方法和转发终端 | |
CN103905538A (zh) | 内容中心网络中邻居协作缓存替换方法 | |
US11502956B2 (en) | Method for content caching in information-centric network virtualization | |
CN108366089A (zh) | 一种基于内容流行度和节点重要度的ccn缓存方法 | |
CN109905720B (zh) | 命名数据网络下基于视频点播***的缓存替换方法 | |
Serhane et al. | Energy-aware cache placement scheme for IoT-based ICN networks | |
Fu et al. | Reinforcement learning-based algorithm for efficient and adaptive forwarding in named data networking | |
Hou et al. | A gnn-based approach to optimize cache hit ratio in ndn networks | |
Alipio et al. | Deep Reinforcement Learning perspectives on improving reliable transmissions in IoT networks: Problem formulation, parameter choices, challenges, and future directions | |
CN108183867B (zh) | 信息中心网络节点缓存替换方法 | |
CN108390936A (zh) | 一种基于缓存分布感知的概率缓存算法 | |
CN107302571B (zh) | 基于果蝇算法的信息中心网络路由和缓存管理方法 | |
CN108093056A (zh) | 信息中心无线网络虚拟化网络中节点缓存替换方法 | |
CN109195180A (zh) | 一种减小移动内容中心网络中内容获取时延的解决方法 | |
CN112822275B (zh) | 基于topsis熵权法的轻量级缓存策略 | |
CN107135271B (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: 20160810 |
|
CF01 | Termination of patent right due to non-payment of annual fee |