基于内容流行度的缓存方法及其装置与流程

文档序号:11253879阅读:407来源:国知局
基于内容流行度的缓存方法及其装置与流程

本发明属于计算机通信技术领域,特别涉及一种基于内容流行度的缓存方法及其装置。



背景技术:

随着互联网用户、个人设备以及视频服务类业务的不断增加,全球ip流量呈现出“爆炸式”增长。据网络巨头思科预测,到2019年,全球ip流量将达到每月168eb,相比与2014年的每月59.9eb增长显著。网络流量的快速增长使得“互联网拥堵”日趋严重。另外,互联网采用基于端到端连接的独立服务模式为每用户提供网络服务,在该模式下,网络中热点内容的访问产生了大量重复性链接和流量。这些重复性流量肆意消耗网络资源,进一步加剧了“互联网拥堵”,造成网络传输效能低下,业务并发时用户性能难以保障。据ciscovnimobileforecast统计,在2014年互联网上所有内容相关的流量已经占据超过97.5%的份额。网络内容访问存在类似于人类社会中的“二八”现象,即大部分的用户集中访问小部分的热门内容。据西安交通大学李国栋等人的研究表明,多于80%的视频请求被5%的当下最流行的视频内容响应。如果将这些小部分的热门内容及时存储在抵近用户的网络接入端,即可消除网络上大量的重复性流量,改善用户的用网体验。

现有技术中,比较经典的缓存决策机制有lce(leavecopyeverywhere)机制:内容对象在去往目的地的沿途所有节点缓存;prob(copywithprobability)机制:每个沿途节点都以概率p缓存内容对象,而以概率1-p不缓存内容对象;probcache机制:内容对象在返回途中的缓存概率与节点和用户的距离成反比。但是,这些机制均没考虑内容对象的流行度。针对在缓存决策中考虑内容对象流行度因素以提高缓存效用的问题,ming等人提出了内容年龄的概念,即流行度高以及放置于网络边缘的内容的年龄更长,目的是使流行度高的内容更加靠近网络边缘,从而减少用户的延迟和网络流量。但该文假设内容的流行度已知,而实际上这种信息的获知并不容易。hosseinikhayat则从合适地选择缓存对象的角度提出了选择性缓存机制,中心思想是:如果缓存一个新到的内容需要替换掉一个对提升系统性能更有“价值”的内容,那么就没有必要缓存。但该方法中的“价值”依赖于对流行度指标t的判断,而文中的t是一个预设的固定值,所以不能成为一种在线的解决方案。



技术实现要素:

针对现有技术中的不足,本发明提供一种基于内容流行度的缓存方法及其装置,有效提高路由器缓存精确,大大提升缓存系统的性能。

按照本发明所提供的设计方案,一种基于内容流行度的缓存方法,包含如下内容:

步骤1、将时间划分为多个时隙,该多个时隙为当前时隙的前k个时隙,时隙长度为t;学习前k个时隙的内容对象,获取内容对象前k个时隙的历史流行度,k为自然数;

步骤2、根据历史流行度预测内容对象在未来时隙的流行度,获取预测流行度;

步骤3、根据预测流行度,将内容对象的缓存决策建模为0-1背包模型;

步骤4、通过流行度优先级贪婪缓存算法对0-1背包模型进行求解,根据求解结果获取缓存优先级,并根据缓存优先级对内容对象进行缓存。

上述的,步骤1包含如下内容:将时间划分为当前时隙及当前时隙的前k个时隙;路由器记录内容对象当前时隙的请求次数,每收到内容请求时,对该内容请求对应的内容对象的请求次数进行计数;在内容请求阶段结束时,将记录结果保存至路由器请求统计表中;内容对象的请求次数与时隙长度的比值即为内容对象流行度,根据该比值通过路由器请求统计表获取内容对象前k个时隙的历史流行度。

优选的,所述的请求统计表,其维护内容对象在前k个时隙的请求记录,每经过一个时隙,请求统计表进行一次更新。

优选的,请求统计表进行一次更新,该更新过程内容如下:删除前第k个时隙,即当前时隙最远时隙的数据,并依次将后一个时隙的请求次数赋给前一个时隙中,保持请求统计表中维护的是内容对象当前时隙的前k个时隙的请求记录。

上述的,所述的步骤2包含如下内容:根据历史流行度,通过对前k个时隙设置相应的影响权重,预测内容对象在未来时隙的流行度。

优选的,预测内容对象在未来时隙的流行度,其计算公式为:

,其中,为内容对象f在第n个时隙的流行度,1-λ,(1-λ)2,…,(1-λ)k分别为第n-1,n-2,…,n-k个时隙对第n个时隙内容独享流行度的影响权重,

上述的,所述的步骤3中将内容对象的缓存决策建模为0-1背包模型,具体为:将奖赏因子rf等价于物品价值,即vf=rf;将代价因子sf等价于物品重量,即wf=sf;将路由器的缓存容量m等价于背包的容量;其中,代价因子表示内容对象f的尺寸大小,奖赏因子表示对于缓存在路由器中的内容对象f在一个时隙内所引起的网络流量的减少量rf,rf=pfsft,pf为内容对象f在该时隙的流行度,t为时隙长度;确定目标函数maxr表示在一个时隙内所获得的最大收益;确定约束条件且xf∈{0,1},f∈f,xf=1表示内容对象f缓存在路由器,xf=0表示内容对象f未缓存在路由器,m为路由器的缓存容量。

优选的,所述的步骤4,包含如下内容:

步骤41、输入内容对象的尺寸大小及内容对象的预测流行度;

步骤42、初始化路由器剩余缓存容量;

步骤43、根据预测流行度,对输入的内容对象进行非升序排列;

步骤44、当且仅当内容对象的尺寸小于或等于路由器剩余缓存容量时,缓存该内容对象,并更新路由器剩余缓存容量,否则,不缓存该内容对象;直至遍历完所有输入的内容对象。

一种基于内容流行度的缓存装置,包含:

内容流行度学习模块,用于通过对内容对象当前时隙的前k个时隙进行学习,获取内容对象前k个时隙的历史流行度,其中,k为自然数;

内容流行度预测模块,用于根据历史流行度通过对前k个时隙设置相应的影响权重,预测内容对象在未来时隙的流行度;

缓存决策模块,用于将内容对象在路由器中的最优化缓存转化为0-1背包模型,所述的0-1背包模型中:奖赏因子等价于物品价值,将代价因子等价于物品重量,将路由器的缓存容量m等价于背包的容量;

内容对象缓存模块,用于根据内容流行度优先级贪婪缓存算法对0-1背包模型进行求解,并通过求解结果获取缓存优先级,根据缓存优先级对内容对象进行缓存。

上述的装置,所述的内容对象缓存模块包含:

输入模块,用于输入内容对象及预测得到的流行度;

缓存容量初始化单元,用于初始化路由器剩余缓存容量;

内容对象排序单元,用于根据预测得到的流行度对输入内容对象进行非升序排列;

内容对象缓存单元,用于根据0-1背包模型中的代价因子,得到内容对象的尺寸大小,将内容对象的尺寸大小与路由器剩余缓存容量进行比对,判定是否缓存该内容对象,并根据判定结果更新路由器剩余缓存流量,直至遍历完所有的输入内容对象。

本发明的有益效果:

本发明针对现有技术中内容对象缓存决策机制中的不足,通过对内容对象当前时隙的前k个时隙的内容请求进行学习,确定其历史访问频率,对内容对象未来时隙的流行度进行在线预测,将缓存最优转换为0-1背包问题,根据预测值通过内容流行度优先级贪婪缓存算法对内容对象进行选择性缓存,有效消除网络上重复性流量,改善用户用网体验,大大提高缓存精确度及缓存系统的性能,具有较强的实用性。

附图说明:

图1为本发明的装置示意图;

图2为内容对象缓存模块的示意图;

图3为本发明的方法流程图;

图4为缓存决策建模为0-1背包模型的示意图;

图5为通过流行度优先级贪婪缓存算法对0-1背包模型进行求解的示意图;

图6为流行度优先级贪婪缓存算法流程示意图。

具体实施方式:

下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详细说明本发明的实施方式,但本发明的实施方式并不限于此。

实施例一,参见图1所示,一种基于内容流行度的缓存装置,包含:

内容流行度学习模块,用于通过对内容对象当前时隙的前k个时隙进行学习,获取内容对象前k个时隙的历史流行度,其中,k为自然数;

内容流行度预测模块,用于根据历史流行度通过对前k个时隙设置相应的影响权重,预测内容对象在未来时隙的流行度;

缓存决策模块,用于将内容对象在路由器中的最优化缓存转化为0-1背包模型,所述的0-1背包模型中:奖赏因子等价于物品价值,将代价因子等价于物品重量,将路由器的缓存容量m等价于背包的容量;

内容对象缓存模块,用于根据内容流行度优先级贪婪缓存算法对0-1背包模型进行求解,并通过求解结果获取缓存优先级,根据缓存优先级对内容对象进行缓存。

通过学习内容对象当前时隙的前k个时隙的内容请求,获取其前k个时隙的历史访问频率,并根据该历史访问频率对内容对象的未来时隙的流行度进行在线预测,根据预测值对内容对象进行选择性缓存,解决现有技术中缓存决策机制的不足,有效提高缓存精确度与缓存系统的性能。

实施例二,参见图1~2所示,与实施例一基本相同,不同之处在于:所述的内容对象缓存模块包含:

输入模块,用于输入内容对象及预测得到的流行度;

缓存容量初始化单元,用于初始化路由器剩余缓存容量;

内容对象排序单元,用于根据预测得到的流行度对输入内容对象进行非升序排列;

内容对象缓存单元,用于根据0-1背包模型中的代价因子,得到内容对象的尺寸大小,将内容对象的尺寸大小与路由器剩余缓存容量进行比对,判定是否缓存该内容对象,并根据判定结果更新路由器剩余缓存流量,直至遍历完所有的输入内容对象。

通过预测得到的内容对象流行度对输入对象进行排序,并根据0-1背包模型的求解结果进行缓存并更新路由器剩余缓存流量,大大提高缓存精确度,保证缓存系统性能的稳定性。

实施例三,参见图1~3所示,一种基于内容流行度的缓存方法,包含如下内容:

步骤1、将时间划分为多个时隙,该多个时隙为当前时隙的前k个时隙,时隙长度为t;学习前k个时隙的内容对象,获取内容对象前k个时隙的历史流行度,k为自然数;

步骤2、根据历史流行度预测内容对象在未来时隙的流行度,获取预测流行度;

步骤3、根据预测流行度,将内容对象的缓存决策建模为0-1背包模型;

步骤4、通过流行度优先级贪婪缓存算法对0-1背包模型进行求解,根据求解结果获取缓存优先级,并根据缓存优先级对内容对象进行缓存。

将时间分为多个时隙,每个时隙包含用户请求阶段和缓存操作阶段。在用户请求阶段,路由器学习内容对象在该时隙的流行度情况。在缓存操作阶段,路由器首先根据已有的多个历史时隙的内容流行度信息及在本时隙用户请求阶段学习到的内容流行度信息,预测下一个时隙各内容对象的流行度;然后根据预测结果,采用内容流行度优先级贪婪缓存算法那决定在下一个时隙内需要缓存的内容对象。根据历史访问频率,对内容对象的流行度进行在线预测,根据预测值对内容对象进行选择性缓存,方法简单,易于实现,能够提高缓存精确度与缓存系统的性能。

实施例四,参见图1~6所示,一种基于内容流行度的缓存方法,包含如下内容:

一)、将时间划分为多个时隙,该多个时隙为当前时隙的前k个时隙,时隙长度为t;学习前k个时隙的内容对象,获取内容对象前k个时隙的历史流行度,k为自然数。将时间划分为当前时隙及当前时隙的前k个时隙;路由器记录内容对象当前时隙的请求次数,每收到内容请求时,对该内容请求对应的内容对象的请求次数进行计数;在内容请求阶段结束时,将记录结果保存至路由器请求统计表中;内容对象的请求次数与时隙长度的比值即为内容对象流行度,根据该比值通过路由器请求统计表获取内容对象前k个时隙的历史流行度。

优选的,所述的请求统计表,其维护内容对象在前k个时隙的请求记录,每经过一个时隙,请求统计表进行一次更新。

优选的,请求统计表进行一次更新,该更新过程内容如下:删除前第k个时隙,即当前时隙最远时隙的数据,并依次将后一个时隙的请求次数赋给前一个时隙中,保持请求统计表中维护的是内容对象当前时隙的前k个时隙的请求记录。

二)、根据历史流行度预测内容对象在未来时隙的流行度,获取预测流行度。

根据历史流行度,通过对前k个时隙设置相应的影响权重,预测内容对象在未来时隙的流行度。

优选的,预测内容对象在未来时隙的流行度,其计算公式为:

,其中,为内容对象f在第n个时隙的流行度,1-λ,(1-λ)2,…,(1-λ)k分别为第n-1,n-2,…,n-k个时隙对第n个时隙内容独享流行度的影响权重,

三)、根据预测流行度,将内容对象的缓存决策建模为0-1背包模型,具体为:将奖赏因子rf等价于物品价值,即vf=rf;将代价因子sf等价于物品重量,即wf=sf;将路由器的缓存容量m等价于背包的容量;其中,代价因子表示内容对象f的尺寸大小,奖赏因子表示对于缓存在路由器中的内容对象f在一个时隙内所引起的网络流量的减少量rf,rf=pfsft,pf为内容对象f在该时隙的流行度,t为时隙长度;确定目标函数maxr表示在一个时隙内所获得的最大收益;确定约束条件且xf∈{0,1},f∈f,xf=1表示内容对象f缓存在路由器,xf=0表示内容对象f未缓存在路由器,m为路由器的缓存容量。

四)、通过流行度优先级贪婪缓存算法对0-1背包模型进行求解,根据求解结果获取缓存优先级,并根据缓存优先级对内容对象进行缓存,包含如下内容:

输入内容对象的尺寸大小及内容对象的预测流行度;初始化路由器剩余缓存容量;根据预测流行度,对输入的内容对象进行非升序排列;当且仅当内容对象的尺寸小于或等于路由器剩余缓存容量时,缓存该内容对象,并更新路由器剩余缓存容量,否则,不缓存该内容对象;直至遍历完所有输入的内容对象。

内容流行度在时间维度上具有动态可变性,即有些冷门内容可能会在某一短时间段内被频繁请求。在进行缓存决策时,路由器可能会把这些偶然访问的冷门资源当做热门内容进行缓存。为了减小冷门资源的偶然访问对路由器缓存决策的影响,本发明学习前k个时隙的内容请求并据此预测内容对象在未来一个时隙的流行度情况。在内容请求阶段,路由器记录内容对象在当前时隙的请求次数,路由器每收到一个内容请求,对应内容对象的请求次数加1,并在内容请求阶段结束时,把此记录结果保存在路由器的请求统计表中。该表维护内容对象在过去k个时隙的请求记录,每经过一个时隙,请求统计表都要进行一次更新,删除最远一个时隙的数据,并依次把后一个时隙的请求次数赋给前一个时隙。内容对象的请求次数与时隙长度t的比值即为内容对象的流行度。

定义内容流行度表示在第i个时隙,内容对象f的请求频率期望。基于学习到的前k个时隙的内容流行度,预测下一个时隙的内容流行度。在进行预测时,为每个时隙设置不同的影响权重,并且距离所预测时隙越近,影响权重越大。这样做的目的有:(1)近时隙的流行度更能够反映出内容的热门趋势,这样可以提高预测的精确度;(2)避免由于远时隙的历史数据过大而使系统把一些已经不再热门的资源仍判为热门内容。具体地,用式(1)预测内容对象f在第n个时隙的流行度。

其中,1-λ,(1-λ)2,…,(1-λ)k分别为第n-1,n-2,…,n-k个时隙对第n个时隙内容流行度影响的权重,

把内容对象的缓存决策问题建模为0-1背包问题,物品价值vf=rf,物品重量wf=sf,背包的容量为路由器的缓存容量m,参见图4所示,其具体步骤流程如下:

(1)定义代价因子sf。代价因子表示内容对象f缓存在接入路由器所付出的成本,即接入路由器的缓存容量开销,亦为内容对象f的尺寸大小。

(2)定义奖赏因子rf。奖赏因子表示对于缓存在路由器中的内容对象f在一个时隙内系统所获得的收益,即缓存该内容对象所引起的网络流量的减少量。rf=pfsft,其中pf为内容对象f在该时隙的流行度,通过内容流行度学习方法与内容流行度预测方法计算得到,t为时隙长度。

(3)定义目标函数。目标函数maxr表示系统在一个时隙内所获得的最大收益,其可以定义为

(4)定义约束条件。约束条件表示在进行缓存决策时系统所受到的限制,本发明中,约束条件可以定义为且xf∈{0,1},f∈f。xf=1表示内容对象f缓存在路由器,xf=0表示内容对象f未缓存在路由器,m为路由器的缓存容量。

参见图5和6所示,采用内容流行度优先级贪婪缓存算法对所述0-1背包问题进行求解,选择内容流行度做为贪婪准则的最优量度标准,流行度大的内容对象优先进行缓存决策。

本发明解决现有技术中没有考虑内容流行度或设定内容流行度而造成的缓存精确度和缓存性能低得问题,给出基于内容流行度的缓存决策机制,包含内容流行度学习、内容流行度预测、缓存决策模型及内容流行度贪婪缓存算法,通过历史访问频率,对内容对象流行度进行在线预测,根据预测值对内容对象进行选择性缓存,大大提高其缓存精确度及缓存系统的性能。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1