一种缓存数据的方法及转发设备的制造方法【
技术领域:
】[0001]本发明涉及通信技术,尤其涉及一种缓存数据的方法及转发设备。【
背景技术:
】[0002]内容中心网络(英文名称为content-centricnetwork,英文缩写为CCN)中的路由器配置有缓存功能,能够对来自用户设备的请求进行快速响应,以节省CCN的带宽。例如:用户设备向内容递交路径(英文名称为contentdeliverypath)上的路由器发送请求,内容递交路径为用户设备和服务器间的报文传输路径,内容递交路径包括至少一台路由器,服务器用以提供与请求对应的内容,请求中携带内容的名称。路由器包括用以缓存内容的内容存储器(英文全称为contentstore,英文缩写为CS)。路由器可根据内容的名称,若确定CS中缓存有内容,发送CS中缓存的内容至用户设备。若确定CS中未缓存内容,则在保存的待定兴趣表(英文全称为pendinginteresttable,英文缩写为PIT)中查询是否存在与内容的名称对应的表项。若PIT中存在与内容的名称对应的表项,则添加接收请求的接口至PIT。若PIT中不存在与内容的名称对应的表项,则在PIT表中增加内容的名称对应的表项并向服务器请求内容。其中,路由器可根据缓存放置策略(英文名称为cacheplacementstrategy)对来自服务器的内容进行缓存。[0003]现有的cacheplacementstrategy中,路径上的缓存策略(英文名称为on-pathcachingstrategy)主要是根据内容的流行度(英文名称为popularity)来确定内容的缓存位置,内容的流行度可由预设时间内请求内容的次数表示,请求是对同一内容的请求,内容的缓存位置是缓存内容的路由器。例如:基于本地流行度的缓存(英文名称为localpopularitybasedcaching,英文缩写为LPBC)策略是路由器缓存流行度最高的内容。路由器根据LPBC策略进行缓存时,仅考虑内容的流行度,并未考虑缓存内容对网络的带宽的影响。【
发明内容】[0004]有鉴于此,本发明实施例提供涉及一种缓存数据的方法及转发设备,能够根据内容的流行度和缓存内容对网络带宽的影响确定内容的缓存位置,有助于节省网络的带宽。[0005]本发明实施例提供的技术方案如下。[0006]第一方面,提供了一种缓存数据的方法,所述方法包括:[0007]第一内容递交路径上的第i转发设备接收来自服务器的第一数据报文,所述第一内容递交路径是第一用户设备和所述服务器间的报文传输路径,所述第一内容递交路径上所有转发设备的数量为k,所述i为大于等于1且小于等于k的整数,所述第一数据报文包括缓存增益、第一内容和所述第一内容的标识,所述缓存增益是所述第一内容递交路径上所有转发设备的本地缓存增益中的最大值,所述第一内容递交路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0008]所述第i转发设备确定所述第一数据报文中的缓存增益与所述第一内容的标识对应的本地缓存增益是否匹配,所述第一内容的标识对应的本地缓存增益根据第一参数和所述第一内容的流行度计算生成,所述第一参数用以标识所述第i转发设备和所述服务器间传输所述第一内容所消耗的带宽;[0009]所述第i转发设备确定所述第一数据报文中的缓存增益与所述第一内容的标识对应的本地缓存增益匹配时,所述第i转发设备缓存所述第一数据报文包括的所述第一内容。[0010]在上述第一方面的第一种可能的实现方式中,所述方法还包括:[0011]所述第i转发设备确定所述第一数据报文中的缓存增益与所述第一内容的标识对应的本地缓存增益不匹配时,所述第i转发设备通过所述第一内容递交路径,发送所述第一数据报文至请求所述第一内容的设备,所述请求所述第一内容的设备为向所述第i转发设备发送第一请求报文的设备,所述第一请求报文用于请求所述服务器提供所述第一内容。[0012]结合上述第一方面或第一方面的第一种可能的实现方式,还提供了第一方面的第二种可能实现的方式,所述第i转发设备接收来自服务器的第一数据报文之前,所述方法还包括:[0013]所述第i转发设备接收第一请求报文,所述第一请求报文用于请求所述服务器提供所述第一内容,所述第一请求报文包括缓存增益和所述第一内容的标识,所述第一请求报文中的缓存增益为所述第一内容递交路径上所述第一用户设备至第i-ι转发设备的路径上所有转发设备的本地缓存增益的最大值,所述第i-Ι转发设备为沿所述第一用户设备至所述服务器的方向所述第i转发设备在所述第一内容递交路径的上一跳,所述第一内容递交路径上所述第一用户设备至第i-Ι转发设备的路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0014]所述第i转发设备获得第二请求报文,所述第二请求报文包括缓存增益和所述第一内容的标识,所述第二请求报文中的缓存增益为所述第一内容递交路径上所述第一用户设备至所述第i转发设备的路径上所有转发设备的本地缓存增益的最大值,所述第一内容递交路径上所述第一用户设备至第i转发设备的路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0015]所述第i转发设备沿所述第一内容递交路径,发送所述第二请求报文至下一跳,所述下一跳为沿所述第一用户设备至所述服务器的方向所述第i转发设备在所述第一内容递交路径上的下一跳。[0016]结合上述第一方面的第二种可能实现的方式,还提供了第一方面的第三种可能实现的方式,所述发送所述第二请求报文至下一跳之后,所述方法还包括:[0017]所述第i转发设备接收来自第j转发设备的第三请求报文,所述第三请求报文用于请求所述服务器提供所述第一内容,所述第三请求报文包括缓存增益和所述第一内容的标识,所述第j转发设备为沿第二用户设备至所述服务器的方向所述第i转发设备在第二内容递交路径的上一跳,所述第二内容递交路径为所述第二用户设备和所述服务器间的报文传输路径,所述第三请求报文中的缓存增益为所述第二内容递交路径上所述第二用户设备至所述第j转发设备的路径上所有转发设备的本地缓存增益的最大值,所述第二内容递交路径上所述第二用户设备至所述第j转发设备的路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0018]存储所述第三请求报文中的缓存增益和标识所述第j转发设备的参数。[0019]结合上述第一方面的第三种可能实现的方式,还提供了第一方面的第四种可能实现的方式,所述缓存所述第一数据报文包括的所述第一内容之后,所述方法还包括:[0020]所述第三请求报文中的缓存增益大于所述第一数据报文中的缓存增益时,所述第i转发设备获取第二数据报文,所述第二数据报文包括所述第三请求报文中的缓存增益、所述第一内容和所述第一内容的标识;[0021]根据标识所述第j转发设备的参数,发送所述第二数据报文至所述第j转发设备。[0022]结合上述第一方面的第二种可能实现的方式至第一方面的第四种可能实现的方式中任意一种可能实现的方式,还提供了第一方面的第五种可能实现的方式,所述第i转发设备获得第二请求报文之前,所述方法还包括:[0023]所述第i转发设备计算所述第一内容的标识对应的本地缓存增益;或者[0024]所述第i转发设备从控制器获取所述第一内容的标识对应的本地缓存增益,所述控制器被配置用于为所述第i转发设备计算所述第一内容的标识对应的本地缓存增益。[0025]结合上述任意一种可能实现的方式,还提供了第一方面的第六种可能实现的方式,所述第一内容的标识对应的本地缓存增益是第一内容的增益和第一内容的权重的乘积,所述第一内容的增益是所述第一参数、所述第一参数的权重、所述第一内容的流行度和所述第一内容的流行度的权重的乘积。[0026]结合上述任意一种可能实现的方式,还提供了第一方面的第七种可能实现的方式,所述第i转发设备已缓存的内容所占的存储空间达到预定的阈值时,所述第一内容的标识对应的本地缓存增益是所述第一内容的增益与所述第一内容的权重之积减去第二内容的增益与所述第二内容的权重之积获得的差值,所述第一内容的增益是所述第一参数、所述第一参数的权重、所述第一内容的流行度和所述第一内容的流行度的权重的乘积,所述第二内容的增益是所述第二参数、所述第二参数的权重、所述第二内容的流行度和所述第二内容的流行度的权重的乘积,所述第二参数用以标识所述第i转发设备和提供所述第二内容的服务器间传输所述第二内容所消耗的带宽。[0027]结合上述第一方面的第六种可能的实现方式或第七种可能的实现方式,所述缓存所述第一数据报文包括的所述第一内容包括:[0028]所述第i转发设备确定已缓存的内容所占的存储空间达到预定的阈值,从所述已缓存的内容中选择与所述第一内容的大小匹配的内容集;[0029]用所述第一内容替换与所述第一内容的大小匹配的内容集。[0030]第二方面,提供了一种转发设备,所述转发设备位于第一内容递交路径,所述第一内容递交路径是第一用户设备和服务器间的报文传输路径,所述第一内容递交路径上所有转发设备的数量是k,所述转发设备为第i转发设备,所述i为大于等于1且小于等于k的整数,所述转发设备包括:[0031]第二存储单元,用于存储所述第一内容的标识对应的本地缓存增益;[0032]第一接收单元,用于接收来自所述服务器的第一数据报文,所述第一数据报文包括缓存增益、第一内容和所述第一内容的标识,所述第一数据报文中的缓存增益是所述第一内容递交路径上所有转发设备的本地缓存增益中的最大值,所述第一内容的标识对应的本地缓存增益根据第一参数和所述第一内容的流行度计算生成,所述第一参数用以标识所述第i转发设备和所述服务器间传输所述第一内容所消耗的带宽,所述第一内容递交路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0033]第一控制单元,用于确定所述第一数据报文中的缓存增益与所述第二存储单元中存储的所述第一内容的标识对应的本地缓存增益是否匹配;[0034]第一存储单元,用于当所述第一控制单元确定所述第一数据报文中的缓存增益与所述第二存储单元中存储的所述第一内容的标识对应的本地缓存增益匹配时,缓存所述第一数据报文中的所述第一内容。[0035]在上述第二方面的第一种可能实现的方式中,所述转发设备还包括:[0036]第一发送单元,用于当所述第一控制单元确定所述第一数据报文中的缓存增益与所述第二存储单元中存储的所述第一内容的标识对应的本地缓存增益不匹配时,通过所述第一内容递交路径,发送所述第一数据报文至请求所述第一内容的设备,所述请求所述第一内容的设备为向所述第i转发设备发送第一请求报文的设备,所述第一请求报文用于请求所述服务器提供所述第一内容。[0037]结合上述第二方面或第二方面的第一种可能实现的方式,还提供第二方面的第二种可能实现的方式,所述转发设备还包括:[0038]第二接收单元,用于接收第一请求报文,所述第一请求报文用于请求所述服务器提供所述第一内容,所述第一请求报文包括缓存增益和所述第一内容的标识,所述第一请求报文中的缓存增益为所述第一内容递交路径上所述第一用户设备至第i_l转发设备的路径上所有转发设备的本地缓存增益的最大值,所述第i-Ι转发设备为沿所述第一用户设备至所述服务器的方向所述第i转发设备在所述第一内容递交路径的上一跳,所述第一内容递交路径上所述第一用户设备至第i_l转发设备的路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0039]第一获取单元,用于获得第二请求报文,所述第二请求报文包括缓存增益和所述第一内容的标识,所述第二请求报文中的缓存增益为所述第一内容递交路径上所述第一用户设备至所述第i转发设备的路径上所有转发设备的本地缓存增益的最大值,所述第一内容递交路径上所述第一用户设备至第i转发设备的路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0040]第二发送单元,用于沿所述第一内容递交路径,发送所述第二请求报文至下一跳,所述下一跳为沿所述第一用户设备至所述服务器的方向所述第i转发设备在第一内容递交路径上的下一跳。[0041]结合上述第二方面的第二种可能实现的方式,还提供第二方面的第三种可能实现的方式,所述转发设备还包括:[0042]第三接收单元,用于接收来自第j转发设备的第三请求报文,所述第三请求报文用于请求所述服务器提供所述第一内容,所述第三请求报文包括缓存增益和所述第一内容的标识,所述第j转发设备为沿第二用户设备至所述服务器的方向所述第i转发设备在第二内容递交路径的上一跳,所述第二内容递交路径为所述第二用户设备和所述服务器间的报文传输路径,所述第三请求报文中的缓存增益为所述第二内容递交路径上所述第二用户设备至所述第j转发设备的路径上所有转发设备的本地缓存增益的最大值,所述第二内容递交路径上所述第二用户设备至所述第j转发设备的路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0043]第二控制单元,用于将所述第三请求报文中的缓存增益和标识所述第j转发设备的参数存储于所述第二存储单元。[0044]结合上述第二方面的第三种可能实现的方式,还提供第二方面的第四种可能实现的方式,所述转发设备还包括:[0045]第二获取单元,用于当所述第二存储单元存储的所述第三请求报文中的缓存增益大于所述第一数据报文中的缓存增益时,获取第二数据报文,所述第二数据报文包括所述第三请求报文中的缓存增益、所述第一内容和所述第一内容的标识;[0046]第三发送单元,用于根据所述第二存储单元存储的所述标识所述第j转发设备的参数,发送所述第二数据报文至所述第j转发设备。[0047]第三方面,提供了一种控制器,所述控制器与第一用户设备、服务器和第一内容递交路径上的每台转发设备通信,第一内容递交路径为第一用户设备和服务器间的报文传输路径,所述控制器包括:[0048]第一计算单元,用于为所述第一内容递交路径上的每台转发设备计算第一内容的本地缓存增益,第i转发设备为所述第一内容递交路径上的任意一台转发设备,所述第i转发设备的所述第一内容的本地缓存增益根据第一参数和所述第一内容的流行度计算生成,所述第一参数用以标识所述第i转发设备和所述服务器间传输所述第一内容所消耗的带宽;[0049]第一获取单元,用于获取第一缓存增益,所述第一缓存增益为所述第一内容递交路径上所有转发设备的本地缓存增益的最大值,所述第一内容递交路径上所有转发设备的本地缓存增益与所述第一内容的标识对应;[0050]第一发送单元,用于周期性向所述服务器发送所述第一缓存增益,周期性向第i转发设备发送所述第一内容的本地缓存增益。[0051]在上述第三方面的第一种可能实现的方式中,所述控制器还包括:[0052]第二计算单元,用于为第二内容递交路径上的每台转发设备计算第一内容的本地缓存增益,所述第二内容递交路径为第二用户设备和所述服务器间的报文传输路径,所述第二内容递交路径和所述第一内容递交路径间重合的路径为所述第i转发设备和所述服务器间的路径;[0053]第二获取单元,用于获取第二缓存增益,所述第二缓存增益为所述第二内容递交路径上所述第二用户设备至第j转发设备的路径上所有转发设备的本地缓存增益的最大值,所述第二内容递交路径上所述第二用户设备至第j转发设备的路径上所有转发设当前第1页1 2 3 4 5 6