一种确定缓存策略的方法及设备的制作方法

文档序号:7988632阅读:226来源:国知局
一种确定缓存策略的方法及设备的制作方法
【专利摘要】本发明实施例公开了一种确定缓存策略的方法及设备,所述方法中通过统计节点接收路由器上报的第一数据被请求的信息,根据哈希函数、第一数据的元数据和第一数据的第一流行度等级计算存储所述第一数据的路由器的标识值;通过判决路由器从用户设备接收用于请求第一数据的报文,根据哈希函数计算出存储所述第一数据的路由器标识;所述用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值,使得流行度等级高的请求内容缓存多份,流行等级低的请求内容缓存少份,避免现有技术中对所有内容都缓存或者仅缓存最新请求的内容,从而实现协作区域内路由器相互协作缓存,提高路由器缓存的效率。
【专利说明】一种确定缓存策略的方法及设备
【技术领域】
[0001]本发明属于网络【技术领域】,尤其涉及一种确定缓存策略的方法及设备。
【背景技术】
[0002]随着网络规模和技术的不断进步,一方面,图片,web页面,办公文档以及多媒体音视频等的获取成为互联网的主要应用,网络流量也随之急剧增加,另一方面,路由器的性能得到增强,除了基本转发功能外,还具备一定的计算和缓存能力。由于路由器相对于原始的内容服务提供者更靠近用户侧,因此利用路由器的缓存能力可以快速响应用户对内容的请求,并减少网络带宽的消耗。
[0003]目前大部分的技术方案中,路由器缓存之间不存在协作。位于用户到原始内容提供者路径上的各个路由器独自根据其收到的内容的流行度来决定是否要缓存该内容,并截获用户请求命中本地路由器缓存的情况向用户返回内容或者转发该请求。采用该方式,用户仅能利用路径上的缓存,无法找到网络中其他缓存。同时,由于单个路由器的缓存是有限的,无协作的方式使得单个路由器对收到的所有内容分片都要判断是否需要缓存,其动态性较高,本地缓存命中率较低。最后,由于各个路由器单独决定是否缓存,对于流行度很高的内容分片来说存在大量的冗余缓存,使得整个网络的缓存利用率下降。
[0004]现有技术中解决协作区域内缓存路由器相互协作缓存内容的问题主要是可以分为集中式和分布式两类。集中式方案是根据内容提供者的需求,利用一个集中式设备来指定各个路由器缓存应该缓存的内容。并不考虑该本地在本地流行度,其所有的请求都要通过集中式设备查找缓存的位置,负载过大。典型的分布式方案是通过哈希函数确定每个缓存路由器需要负责缓存的内容的范围。每个内容在协作区域内最多缓存一份,流行度高的内容会导致负责的缓存路由器负载过大。

【发明内容】

[0005]本发明实施例的目的在于提供一种确定缓存策略的方法,解决路由器缓存之间不存在协作所导致的网络缓存利用率低、路由器存在大量的冗余缓存及路由器负载过大等的问题。
[0006]第一方面,一种路由器缓存协作的方法,所述方法包括:
[0007]统计节点根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m ≥ 1;
[0008]以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0009]对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m ≤n。
[0010]结合第一方面,在第一方面的第一种可能的实现方式中,当第一数据的第一流行度等级的绝对值大于或等于2时,所述方法还包括:[0011]以所述第一路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到
第二哈希值;
[0012]对所述第二哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第二路由器的标识值。
[0013]结合第一方面,在第一方面的第二种可能的实现方式中,所述m个路由器分别上报的表示第一数据被请求的信息为所述m个路由器分别上报的所述第一数据的流行度,所述方法还包括:
[0014]根据所述m个路由器分别上报的所述第一数据的流行度,确定所述第一数据的总流行度;
[0015]根据所述第一数据的总流行度查询等级对应关系,确定所述第一数据的总流行度的第一流行度等级;[0016]当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括:
[0017]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值;
[0018]对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+ι路由器的标识值,其中j-1,I为整数;
[0019]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0020]结合第一方面第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述等级对应关系包括所述总流行度和所述流行度等级的对应关系,或,所述等级对应关系包括流行度取值区域和所述流行度等级的对应关系,且所述总流行度在所述流行度取值区域之内。
[0021]结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述哈希函数包括:MD5、SHAUBKDRHash或FNVIA
[0022]第二方面,一种确定缓存策略的方法,所述方法包括:
[0023]判决路由器从用户设备接收用于请求第一数据的报文;
[0024]以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0025]对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0026]结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:
[0027]接收统计节点发送的所述第一数据的第一流行度等级;
[0028]当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括:
[0029]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i + 1哈希值;
[0030]对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+ι路由器的标识值,其中1≤i≤j-1,i为整数;
[0031]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0032]结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述哈希函数包括:MD5、SHAUBKDRHash或FNVIA。
[0033]第三方面,一种确定缓存策略的方法,所述方法包括:
[0034]用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0035]对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m≤η。
[0036]结合第三方面,在第三方面的第一种可能的实现方式中,所述方法还包括:
[0037]所述用户设备获取所述第一数据的最大流行度等级;
[0038]当所述最大流行度等级的绝对值大于或等于j,且j为正整数,j≥2时,所述方法还包括:
[0039]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i + 1哈希值;
[0040]对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+ι路由器的标识值,其中1≤i≤j-1,i为整数;
[0041]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0042]结合第三方面或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述哈希函数包括:MD5、SHAUBKDRHash或FNVIA。
[0043]第四方面,一种确定缓存策略的设备,所述确定缓存策略的设备包括:
[0044]第一接收单元,用于统计节点根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m ≥1;
[0045]第一运算单元,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0046]第一模运算单元,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m Sn。
[0047]结合第四方面,在第四方面的第一种可能的实现方式中,所述的确定缓存策略的设备还包括:
[0048]第二运算单元,用于当第一数据的第一流行度等级的绝对值大于或等于2时,以所述第一路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第二哈希值;
[0049]第二模运算单元,用于对所述第二哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第二路由器的标识值。
[0050]结合第四方面,在第四方面的第二种可能的实现方式中,所述m个路由器分别上报的表示第一数据被请求的信息为所述m个路由器分别上报的所述第一数据的流行度,所述确定缓存策略的设备还包括:[0051]第一确定单元,用于根据所述m个路由器分别上报的所述第一数据的流行度,确定所述第一数据的总流行度;
[0052]第二确定单元,用于根据所述第一数据的总流行度查询等级对应关系,确定所述第一数据的总流行度的第一流行度等级;
[0053]所述确定缓存策略的设备还包括:
[0054]第三运算单元,用于当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值;
[0055]第三模运算单元,用于第对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数;
[0056]第三确定单元,用于确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0057]结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述等级对应关系包括所述总流行度和所述流行度等级的对应关系,或,所述等级对应关系包括流行度取值区域和所述流行度等级的对应关系,且所述总流行度在所述流行度取值区域之内。
[0058]结合第四方面或者第四方面的第一种可能的实现方式或者第四方面的第二种可能的实现方式或者第四方面的第三种可能的实现方式,所述哈希函数包括:MD5、SHAUBKDRHash 或 FNVIA
[0059]第五方面,一种确定缓存策略的设备,所述确定缓存策略的设备包括:
[0060]第二接收单元,用于判决路由器从用户设备接收用于请求第一数据的报文;
[0061]第四运算单元,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0062]第四模运算单元,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,η。
[0063]结合第五方面,在第五方面的第一种可能的实现方式中,所述确定缓存策略的设备还包括:
[0064]第三接收单元,用于接收统计节点发送的所述第一数据的第一流行度等级;
[0065]所述确定缓存策略的设备还包括:
[0066]第五运算单元,用于当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值;
[0067]第五模运算单元,用于对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数;
[0068]第四确定单元,用于确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0069]结合第五方面或者第五方面的第一种可能的实现方式,所述哈希函数包括:MD5、SHAl、BKDRHash 或 FNVIA。
[0070]第六方面,一种确定缓存策略的设备,所述确定缓存策略的设备包括:[0071]第六运算单元,用于用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0072]第六模运算单元,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m Sn。
[0073]结合第六方面,在第六方面的第一种可能的实现方式中,所述确定缓存策略的设备还包括:
[0074]获取单元,用于所述用户设备获取所述第一数据的最大流行度等级;
[0075]所述确定缓存策略的设备还包括:
[0076]第七运算单元,用于当所述最大流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值;
[0077]第七模运算子单元,用于对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数;
[0078]第五确定单元,用于确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0079]结合第六方面或者第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述哈希函数包括:MD5、SHAUBKDRHash或FNVIA。
[0080]与现有技术相比,本发明实施例提供一种确定缓存策略的方法,所述方法中通过统计节点接收路由器上报的第一数据被请求的信息,根据哈希函数、第一数据的元数据和第一数据的第一流行度等级计算存储所述第一数据的路由器的标识值;通过判决路由器从用户设备接收用于请求第一数据的报文,根据哈希函数计算出存储所述第一数据的路由器标识;所述用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值,使得流行度等级高的请求内容缓存多份,流行等级低的请求内容缓存少份,避免现有技术中对所有内容都缓存或者仅缓存最新请求的内容,从而实现协作区域内路由器相互协作缓存,提高路由器缓存的效率。
【专利附图】

【附图说明】
[0081]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0082]图1是本发明实施例一提供的一种确定缓存策略的方法流程图;
[0083]图2是本发明实施例二提供的一种确定缓存策略的方法流程图;
[0084]图3是本发明实施例三提供的一种确定缓存策略的方法流程图;
[0085]图4是本发明实施例四提供的一种路由器缓存协作的方法示意图;
[0086]图5是本发明实施例四提供的一种统计节点缓存协作的方法流程图;
[0087]图6是本发明实施例四提供的一种路由器缓存协作的方法流程图;
[0088]图7是本发明实施例四提供的一种统计节点缓存协作的方法流程图;
[0089]图8是本发明实施例五提供的一种确定缓存策略的设备结构图;[0090]图9是本发明实施例五提供的一种确定缓存策略的设备结构图;
[0091]图10是本发明实施例五提供的一种确定缓存策略的设备结构图;
[0092]图11是本发明实施例六提供的一种确定缓存策略的设备结构图;
[0093]图12是本发明实施例六提供的一种确定缓存策略的设备结构图;
[0094]图13是本发明实施例七提供的一种确定缓存策略的设备结构图;
[0095]图14是本发明实施例七提供的一种确定缓存策略的设备结构图;
[0096]图15是本发明实施例八提供的一种统计节点的装置结构图;
[0097]图16是本发明实施例九提供的一种路由器的装置结构图;
[0098]图17是本发明实施例十提供的一种用户设备的装置结构图。
【具体实施方式】 [0099]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0100]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
[0101]实施例一
[0102]参考图1,图1是本发明实施例一提供的一种确定缓存策略的方法流程图。如图1所示,所述方法包括如下步骤:
[0103]步骤101,统计节点根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m ^ I ;
[0104]步骤102,以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0105]其中,所述哈希函数包括:MD5、SHAUBKDRHash或FNVIA。所述元数据是第一数据的名字,是携带在所述第一数据被请求的信息中的。
[0106]具体的,假设哈希函数为Hash,则Hash (第一数据的元数据)=第一哈希值。
[0107]步骤103,对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0108]具体的,第一哈希值moden=第一路由器标识。
[0109]作为一种可选的实施例,当第一数据的第一流行度等级的绝对值大于或等于2时,所述方法还包括:
[0110]以所述第一路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到
第二哈希值;
[0111]对所述第二哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第二路由器的标识值。
[0112]具体的,第二次计算时,Hash (第一路由器的标识)=第二哈希值,第二哈希值moden=第二路由器标识。
[0113]具体的,请求内容Cl的流行等级i=2,假设Hash (Cl) modeN=路由器l,Hash (I)modeN=路由器2,则计算出路由器I和路由器2负责缓存Cl。[0114]作为另一种可选的实施例,所述m个路由器分别上报的表示第一数据被请求的信息为所述m个路由器分别上报的所述第一数据的流行度,所述方法还包括:
[0115]根据所述m个路由器分别上报的所述第一数据的流行度,确定所述第一数据的总流行度;
[0116]根据所述第一数据的总流行度查询等级对应关系,确定所述第一数据的总流行度的第一流行度等级;
[0117]当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j ≥2时,所述方法还包括:
[0118]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值;
[0119]对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+1路由器的标识值,其中1≤i≤j-1,i为整数;
[0120]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0121]其中,所述等级对应关系包括所述总流行度和所述流行度等级的对应关系,或,所述等级对应关系包括流行度取值区域和所述流行度等级的对应关系,且所述总流行度在所述流行度取值区域之内。
[0122]具体的,假设第一级流行等级i=l的阀值为每统计周期收到100个请求,即i=l对应的流行度X的范围为0-100 ;第二级流行等级i=2的阀值为每统计周期收到150个请求,即i=2对应的流行度X的范围为100-150。
[0123]具体的,假设根据流行度大小排序前30%的请求内容,流行等级设置为I ;排序为前30%至50%的请求内容,流行等级设置为2。
[0124]具体的,第三次运算时,Hash (第二路由器的标识)=第三哈希值,第三哈希值moden=第三路由器标识;第四次运算时,Hash (第三路由器的标识)=第四哈希值,第四哈希值moden=第四路由器标识,依此类推,第j次运算时,Hash (第j_l路由器的标识)=第j哈希值,第j哈希值moden=第j路由器标识。
[0125]本发明实施例提供一种确定缓存策略的方法,所述方法中通过统计节点接收路由器上报的第一数据被请求的信息,根据哈希函数、第一数据的元数据和第一数据的第一流行度等级计算存储所述第一数据的路由器的标识值;通过判决路由器从用户设备接收用于请求第一数据的报文,根据哈希函数计算出存储所述第一数据的路由器标识;所述用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值,使得流行度等级高的请求内容缓存多份,流行等级低的请求内容缓存少份,避免现有技术中对所有内容都缓存或者仅缓存最新请求的内容,从而实现协作区域内路由器相互协作缓存,提高路由器缓存的效率。
[0126]实施例二
[0127]参考图2,图2是本发明实施例二提供的一种确定缓存策略的方法流程图。如图2所示,所述方法包括如下步骤:
[0128]步骤201,判决路由器从用户设备接收用于请求第一数据的报文;
[0129]步骤202,以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0130]其中,所述哈希函数包括:MD5、SHAUBKDRHash或FNVIA。所述元数据是第一数据的名字,是携带在所述第一数据被请求的信息中的。
[0131] 具体的,假设哈希函数为Hash,则Hash (第一数据的元数据)=第一哈希值。
[0132]步骤203,对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m≤n。
[0133]具体的,第一哈希值moden=第一路由器标识。
[0134]作为一种可选的实施例,所述方法还包括:
[0135]接收统计节点发送的所述第一数据的第一流行度等级;
[0136]当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括:
[0137]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i + 1哈希值;
[0138]对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+ι路由器的标识值,其中j-1,I为整数;
[0139]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0140]具体的,第二次计算时,Hash (第一路由器的标识)=第二哈希值,第二哈希值moden=第二路由器标识。
[0141]具体的,第三次运算时,Hash (第二路由器的标识)=第三哈希值,第三哈希值moden=第三路由器标识;第四次运算时,Hash (第三路由器的标识)=第四哈希值,第四哈希值moden=第四路由器标识,依此类推,第j次运算时,Hash (第j_l路由器的标识)=第j哈希值,第j哈希值moden=第j路由器标识。
[0142]本发明实施例提供一种确定缓存策略的方法,所述方法中通过统计节点接收路由器上报的第一数据被请求的信息,根据哈希函数、第一数据的元数据和第一数据的第一流行度等级计算存储所述第一数据的路由器的标识值;通过判决路由器从用户设备接收用于请求第一数据的报文,根据哈希函数计算出存储所述第一数据的路由器标识;所述用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值,使得流行度等级高的请求内容缓存多份,流行等级低的请求内容缓存少份,避免现有技术中对所有内容都缓存或者仅缓存最新请求的内容,从而实现协作区域内路由器相互协作缓存,提高路由器缓存的效率。
[0143]实施例三
[0144]参考图3,图3是本发明实施例三提供的一种确定缓存策略的方法流程图。所述方法包括以下步骤:
[0145]步骤301,用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0146]其中,所述哈希函数包括:MD5、SHAUBKDRHash或FNVIA。
[0147]具体的,Hash (第一数据的元数据)=第一哈希值。
[0148]步骤302,对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m≤η。
[0149]具体的,第一哈希值moden=第一路由器标识。
[0150]作为一种可选的实施例,所述方法还包括:
[0151]所述用户设备获取所述第一数据的最大流行度等级;
[0152]当所述最大流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括:
[0153]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值;
[0154]对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+ι路由器的标识值,其中j-1,I为整数;
[0155]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0156]具体的,第二次计算时,Hash (第一路由器的标识)=第二哈希值,第二哈希值moden=第二路由器标识。
[0157]具体的,第三次运算时,Hash (第二路由器的标识)=第三哈希值,第三哈希值moden=第三路由器标识;第四次运算时,Hash (第三路由器的标识)=第四哈希值,第四哈希值moden=第四路由器标识,依此类推,第j次运算时,Hash (第j_l路由器的标识)=第j哈希值,第j哈希值moden=第j路由器标识。
[0158]本发明实施例提供一种确定缓存策略的方法,所述方法中通过统计节点接收路由器上报的第一数据被请求的信息,根据哈希函数、第一数据的元数据和第一数据的第一流行度等级计算存储所述第一数据的路由器的标识值;通过判决路由器从用户设备接收用于请求第一数据的报文,根据哈希函数计算出存储所述第一数据的路由器标识;所述用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值,使得流行度等级高的请求内容缓存多份,流行等级低的请求内容缓存少份,避免现有技术中对所有内容都缓存或者仅缓存最新请求的内容,从而实现协作区域内路由器相互协作缓存,提高路由器缓存的效率。
[0159]实施例四
[0160]假设本发明实施例提供的协作区域如图4所示,本实施例中统计节点负责在统计周期结束后统计各路由器上报的数据请求的流行度,根据流行度将每个数据请求信息划分一定的流行度等级,并将流行度等级下发到各路由器,由各路由器计算负责缓存每个数据请求的路由器标识,即分布式方式。
[0161]作为另一种可选的方式,本实施例还可由统计节点计算负责缓存每个数据请求的路由器标识,将计算后的标识下发到各路由器,即集中式方式。
[0162]以下以分布式方式为例,该协作区域内包括n=3台具有缓存能力的路由器,2个用户设备和一个统计节点(统计节点可设置在某个路由器上)。以下实施例中总共涉及10个文件分片,每个的大小为2M,每个路由器的缓存能力为4M,即2个文件分片。路由器I为本区域与其他区域的连接点。以下实施例中,协作区域中采用的哈希算法是FNV1A。协作区域内支持的最大流行度等级K=2。统计周期为5分钟,第一级流行度等级阀值为每统计周期收到100个请求,第二级流行度等级阀值为每统计周期收到150个请求。以下实施例中用户设备的程序,路由器和统计节点均已完成初始化的工作。用户设备通过网络工具(比如,PING)已获知到所有路由器的距离。用户设备I到路由器3,I, 2的距离依次增加,用户设备2到路由器1,3,2的距离依次增加。
[0163]当协作区域内路由器刚开始运行时,接收用户设备请求某个内容时,所有的路由器都没有缓存内容,系统启动时,所有内容的流行度等级都默认为I。
[0164]用户设备I执行如图5所示步骤,路由器执行如图6所示步骤,统计节点执行如图7所示步骤。
[0165]步骤501,用户设备加入协作区域,从统计节点获取所述协作区域内使用的哈希函数,路由器总数n,路由器标识,协作区域内支持的最大流行度等级K;
[0166]步骤502,用户设备I的程序收到上层对内容Cl请求;
[0167]步骤503,执行K=2次哈希运算,n=3 ;
[0168]Hash (Cl的元数据)mode n=l,由路由器I负责
[0169]Hash (I)mode n=3,有路由器 3 负责
[0170]步骤504,当前有两个可能负责缓存的路由器;
[0171]步骤505,向距离更近的路由器3进行请求;
[0172]该请求递交到路由器3,执行
[0173]步骤602,收到请求;
[0174]步骤603,请求的目的是自己;
[0175]步骤604,第一次收到该内容,在流行度(X)统计表中创建表项并进行更新;
[0176]步骤605,根据流行度等级进行i=l次哈希运算,(默认等级为I);
[0177]Hash (Cl 的元数据)mode n=l ;
[0178]步骤606,不由本路由器负责;
[0179]步骤608,通知用户设备查询失败;
[0180]用户设备I收到路由器3的回复
[0181]步骤506,收到的不是数据内容
[0182]步骤504,当前还有I个可能负责缓存的路由器
[0183]步骤505,向距离更近的路由器I进行请求
[0184]该请求递交到路由器1,执行
[0185]步骤602,收到请求
[0186]步骤603,请求的目的是自己
[0187]步骤604,第一次收到该内容,在流行度(X)统计表中创建表项并进行更新
[0188]步骤605,根据流行等级进行i=l次哈希运算,(默认等级为I)
[0189]Hash (Cl的元数据)mode n=l,由本路由器负责
[0190]步骤606,由本路由器负责
[0191]步骤607,本地没有缓存
[0192]步骤608,通知用户设备查询失败
[0193]用户设备I收到路由器I的回复
[0194]步骤506,收到的不是数据内容
[0195]步骤504,已向所有可能负责缓存的路由器进行了请求[0196]步骤507,向原始内容提供者请求
[0197]该请求被路由到本区域的出口,即路由器I
[0198]步骤602,收到请求
[0199]步骤603,请求的目的不是自己
[0200]步骤610,请求的目的是域外
[0201]步骤611,第一次收到该内容,在流行度(X)统计表中创建表项并进行更新
[0202]步骤612,根据路由器表进行转发
[0203]当第一个统计周期结束后,此时,所有路由器都没有缓存,仅以路由器I为例说明。
[0204]步骤602,统计周期结束,应该进行本地流行度(X)通告
[0205]步骤609,将本地缓存中有的内容的流行度(X)通告给统计节点,同时由于路由器I是本区域和其他区域的连接点,因此还需要将自己转发到其他区域的内容的流行度(X)进行通告,假设在此统计周期内仅有内容Cl,C2, C5, C6, C7, ClO被请求,由于没有缓存,因此都会原始内容提供者获取。
[0206]步骤610,遍历所有本应该有本地负责,但本地没有进行缓存的内容,假设在路由器I应该缓存包括Cl,C7,由于本地没有缓存,因此需要向原始内容提供者获取一份,然后进行本地缓存;
[0207]第一个统计周期结束后,统计节点会收到路由器I通告的本地流行度(X),执行
[0208]步骤702,统计周期结束,应该进行流行度(X)汇总下发;
[0209]步骤703,汇总收到的流行度(X),Cl,C2,C5,C6,C7,ClO ;
[0210]步骤704,根据流行度阀值,ClO的流行等级为k = 2,Cl,C2,C5,C6,C7的流行等级均为k=l,,其余全部调整为O ;
[0211]步骤705,将流行等级发生变化的内容的流行度(X)发送给应该负责的路由器。
[0212]路由器收到统计节点下发的新的流行等级,以路由器I为例,开始时路由器已经缓存Cl和C7,由于ClO的流行等级提高,路由器I需要负责缓存,执行;
[0213]步骤602,收到统计节点发送的流行等级;
[0214]步骤615,ClO是新添加的需要本路由器负责的内容;
[0215]步骤616,需要判断是否需要缓存ClO ;
[0216]步骤617,将ClO在本地的流行度(Xaci)与Cl和C7的流行度(xC7)进行比较,由于ClO的流行度(Xatl)比C7高,需要进行替换;
[0217]步骤618,向原始路由器获取并缓存C10。
[0218]实施例五
[0219]参考图8,图8是本发明实施例五提供的一种确定缓存策略的设备结构图。如图8所示,所述设备包括如下单元:
[0220]第一接收单元801,用于统计节点根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m ^ I ;
[0221]第一运算单元802,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0222]其中,所述哈希函数包括:MD5、SHAl、BKDRHash或FNVIA[0223]第一模运算单元803,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0224]作为一种可选的实施例,参考图9,图9是本发明实施例五提供的一种确定缓存策略的设备结构图。如图9所示,
[0225]第一接收单元901,用于统计节点根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m ^ I ;
[0226]第一运算单元902,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0227]其中,所述哈希函数包括:MD5、SHAl、BKDRHash或FNVIA
[0228]第一模运算单元903,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < n。
[0229]所述确定缓存策略的设备还包括:
[0230]第二运算单元904,用于当第一数据的第一流行度等级的绝对值大于或等于2时,以所述第一路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第二哈希值;
[0231]第二模运算单元905,用于对所述第二哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第二路由器的标识值。
[0232]作为另一种可选的实施例,参考图10,图10是本发明实施例五提供的一种确定缓存策略的设备结构图。如图10所示,
[0233]第一接收单元1001,用于统计节点根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m ^ I ;
[0234]第一运算单元1002,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0235]其中,所述哈希函数包括:MD5、SHAl、BKDRHash或FNVIA
[0236]第一模运算单元1003,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0237]所述m个路由器分别上报的表示第一数据被请求的信息为所述m个路由器分别上报的所述第一数据的流行度,所述确定缓存策略的设备还包括:
[0238]第一确定单元1004,用于根据所述m个路由器分别上报的所述第一数据的流行度,确定所述第一数据的总流行度;
[0239]第二确定单元1005,用于根据所述第一数据的总流行度查询等级对应关系,确定所述第一数据的总流行度的第一流行度等级;
[0240]所述确定缓存策略的设备还包括:
[0241]第三运算单元1006,用于当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+Ι哈希值;[0242]第三模运算单元1007,对所述第i+1哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数;
[0243]第三确定单元1008,确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0244]其中,所述等级对应关系包括所述总流行度和所述流行度等级的对应关系,或,所述等级对应关系包括流行度取值区域和所述流行度等级的对应关系,且所述总流行度在所述流行度取值区域之内。
[0245]本发明实施例提供一种确定缓存策略的设备,所述设备中通过统计节点接收路由器上报的第一数据被请求的信息,根据哈希函数、第一数据的元数据和第一数据的第一流行度等级计算存储所述第一数据的路由器的标识值;通过判决路由器从用户设备接收用于请求第一数据的报文,根据哈希函数计算出存储所述第一数据的路由器标识;所述用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值,使得流行度等级高的请求内容缓存多份,流行等级低的请求内容缓存少份,避免现有技术中对所有内容都缓存或者仅缓存最新请求的内容,从而实现协作区域内路由器相互协作缓存,提高路由器缓存的效率。
[0246]实施例六
[0247]参考图11,图11是本发明实施例六提供的一种确定缓存策略的设备结构图。如图11所示,所述设备包括:
[0248]第二接收单元1101,用于判决路由器从用户设备接收用于请求第一数据的报文;
[0249]第四运算单元1102,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0250]其中,所述哈希函数包括:MD5、SHAl、BKDRHash或FNVIA。
[0251]第四模运算单元1103,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0252]作为一种可选的实施例,如图12所示,图12是本发明实施例六提供的一种确定缓存策略的设备结构图。如图12所示,所述设备包括:
[0253]第二接收单元1201,用于判决路由器从用户设备接收用于请求第一数据的报文;
[0254]第四运算单元1202,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0255]其中,所述哈希函数包括:MD5、SHAl、BKDRHash或FNVIA。
[0256]第四模运算单元1203,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0257]第三接收单元1204,用于接收统计节点发送的所述第一数据的第一流行度等级;
[0258]所述确定缓存策略的设备还包括:
[0259]第五运算单元1205,用于当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+Ι哈希值;[0260]第五模运算单元1206,用于对所述第i+1哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数;
[0261]第四确定单元1207,用于确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0262]本发明实施例提供一种确定缓存策略的设备,所述设备中通过统计节点接收路由器上报的第一数据被请求的信息,根据哈希函数、第一数据的元数据和第一数据的第一流行度等级计算存储所述第一数据的路由器的标识值;通过判决路由器从用户设备接收用于请求第一数据的报文,根据哈希函数计算出存储所述第一数据的路由器标识;所述用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值,使得流行度等级高的请求内容缓存多份,流行等级低的请求内容缓存少份,避免现有技术中对所有内容都缓存或者仅缓存最新请求的内容,从而实现协作区域内路由器相互协作缓存,提高路由器缓存的效率。
[0263]实施例七
[0264]参考图13,图13是本发明实施例七提供的一种确定缓存策略的设备结构图。如图13所示,所述设备包括:
[0265]第六运算单元1301,用于用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0266]其中,所述哈希函数包括:MD5、SHAl、BKDRHash或FNVIA。
[0267]第六模运算单元1302,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0268]作为一种可选的实施例,图14是本发明实施例七提供的一种确定缓存策略的设备结构图。如图14所示,所述设备包括:
[0269]第六运算单元1401,用于用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0270]其中,所述哈希函数包括:MD5、SHAl、BKDRHash或FNVIA。
[0271]第六模运算单元1402,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0272]获取单元1403,用于所述用户设备获取所述第一数据的最大流行度等级;
[0273]所述确定缓存策略的设备还包括:
[0274]第七运算单元1404,用于当所述最大流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+Ι哈希值;
[0275]第七模运算单元1405,用于对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数;
[0276]第五确定单元1406,用于确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0277]其中,所述用户设备可以是计算机或者手机等。[0278]本发明实施例提供一种确定缓存策略的设备,所述设备中通过统计节点接收路由器上报的第一数据被请求的信息,根据哈希函数、第一数据的元数据和第一数据的第一流行度等级计算存储所述第一数据的路由器的标识值;通过判决路由器从用户设备接收用于请求第一数据的报文,根据哈希函数计算出存储所述第一数据的路由器标识;所述用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值,使得流行度等级高的请求内容缓存多份,流行等级低的请求内容缓存少份,避免现有技术中对所有内容都缓存或者仅缓存最新请求的内容,从而实现协作区域内路由器相互协作缓存,提高路由器缓存的效率。
[0279]实施例八
[0280]参考图15,图15是本发明实施例八提供的一种统计节点的装置结构图。参考图15,图15是本发明实施例提供的一种统计节点1500,本发明具体实施例并不对所述设备的具体实现做限定。所述统计节点1500包括:
[0281]处理器(processor)1501,通信接口(Communications Interface) 1502,存储器(memory) 1503,总线 1504。
[0282]处理器1501,通信接口 1502,存储器1503通过总线1504完成相互间的通信。
[0283]通信接口 1502,用于与路由器进行通信;
[0284]处理器1501,用于执行程序。
[0285]具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0286]处理器1501可能是一个中央处理器CPU,或者是特定集成电路ASICXApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电
路。
[0287]存储器1503,用于存放程序。存储器1503可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)。程序具体可以包括:
[0288]统计节点根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m ^ I ;
[0289]以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0290]对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0291]当第一数据的第一流行度等级的绝对值大于或等于2时,所述方法还包括:
[0292]以所述第一路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到
第二哈希值;
[0293]对所述第二哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第二路由器的标识值。
[0294]所述m个路由器分别上报的表示第一数据被请求的信息为所述m个路由器分别上报的所述第一数据的流行度,所述方法还包括:
[0295]根据所述m个路由器分别上报的所述第一数据的流行度,确定所述第一数据的总流行度;
[0296]根据所述第一数据的总流行度查询等级对应关系,确定所述第一数据的总流行度的第一流行度等级;
[0297]当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括:
[0298]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i + 1哈希值;
[0299]对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中1i≤≤j_l,i为整数;
[0300]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0301]所述等级对应关系包括所述总流行度和所述流行度等级的对应关系,或,所述等级对应关系包括流行度取值区域和所述流行度等级的对应关系,且所述总流行度在所述流行度取值区域之内。
[0302]所述哈希函数包括:MD5、SHAl、BKDRHash或 FNVIA
[0303]实施例九
[0304]参考图16,图16是本发明实施例九提供的一种路由器的装置结构图。参考图16,图16是本发明实施例提供的一种路由器1600,本发明具体实施例并不对所述设备的具体实现做限定。所述路由器1600包括:
[0305]处理器(processor)1601,通信接口(Communications Interface) 1602,存储器(memory) 1603,总线 1604。
[0306]处理器1601,通信接口 1602,存储器1603通过总线1604完成相互间的通信。
[0307]通信接口 1602,用于与用户设备和统计节点进行通信;
[0308]处理器1601,用于执行程序。
[0309]具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0310]处理器1601可能是一个中央处理器CPU,或者是特定集成电路ASICXApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0311]存储器1603,用于存放程序。存储器1603可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)。程序具体可以包括:
[0312]判决路由器从用户设备接收用于请求第一数据的报文;
[0313]以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值;
[0314]对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
[0315]所述方法还包括:
[0316]接收统计节点发送的所述第一数据的第一流行度等级;
[0317]当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括:
[0318]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i + 1哈希值;[0319]对所述第i+1哈希值进行模n运算,得到用于缓存所述第一数据中的部分或全部数据的第i+ι路由器的标识值,其中j-1,I为整数;
[0320]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
[0321]所述哈希函数包括:MD5、SHAl、BKDRHash或 FNVIA。
[0322]实施例十
[0323]参考图17,图17是本发明实施例十提供的一种用户设备的装置结构图。参考图
17,图17是本发明实施例提供的一种用户设备1700,本发明具体实施例并不对所述设备的具体实现做限定。所述用户设备1700包括:
[0324]处理器(processor)1701,通信接口(Communications Interface) 1702,存储器(memory) 1703,总线 1704。
[0325]处理器1701,通信接口 1702,存储器1703通过总线1704完成相互间的通信。
[0326]通信接口 1702,用于与路由器进行通信;
[0327]处理器1701,用于执行程序。
[0328]具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0329]处理器1701可能是一个中央处理器CPU,或者是特定集成电路ASICXApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0330]存储器1703,用于存放程序。存储器1703可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)。程序具体可以包括:
[0331]用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到
第一哈希值;
[0332]对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m≤n。
[0333]所述方法还包括:
[0334]所述用户设备获取所述第一数据的最大流行度等级;
[0335]当所述最大流行度等级的绝对值大于或等于j,且j为正整数,j ≥ 2时,所述方法还包括:
[0336]以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i + 1哈希值;
[0337]对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数;
[0338]确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i + Ι路由器的标识值。
[0339]以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明之内所作的任何修改、等同替换和改进等,均应包含在本发明要求包含范围之内。
【权利要求】
1.一种确定缓存策略的方法,其特征在于,所述方法包括: 统计节点根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m ≥1 ; 以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值; 对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
2.根据权利要求1所述的方法,其特征在于,当第一数据的第一流行度等级的绝对值大于或等于2时,所述方法还包括: 以所述第一路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第二哈希值; 对所述第二哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第二路由器的标识值。
3.根据权利要求1所述的方法,其特征在于,所述m个路由器分别上报的表示第一数据被请求的信息 为所述m个路由器分别上报的所述第一数据的流行度,所述方法还包括: 根据所述m个路由器分别上报的所述第一数据的流行度,确定所述第一数据的总流行度; 根据所述第一数据的总流行度查询等级对应关系,确定所述第一数据的总流行度的第一流行度等级; 当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括: 以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+Ι哈希值; 对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j-1, i为整数; 确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
4.根据权利要求3所述的方法,其特征在于,所述等级对应关系包括所述总流行度和所述流行度等级的对应关系,或,所述等级对应关系包括流行度取值区域和所述流行度等级的对应关系,且所述总流行度在所述流行度取值区域之内。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述哈希函数包括:MD5、SHAl、BKDRHash 或 FNVIA。
6.一种确定缓存策略的方法,其特征在于,所述方法包括: 判决路由器从用户设备接收用于请求第一数据的报文; 以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值; 对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:接收统计节点发送的所述第一数据的第一流行度等级; 当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括: 以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+Ι哈希值; 对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j-1, i为整数; 确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
8.根据权利要求6或7所述的方法,其特征在于,所述哈希函数包括:MD5、SHAl、BKDRHash 或 FNVIA。
9.一种确定缓存策略的方法,其特征在于,所述方法包括: 用户设备以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值; 对所述第一哈希值进行 模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m^n0
10.根据权利要求9所述的方法,其特征在于,所述方法还包括: 所述用户设备获取所述第一数据的最大流行度等级; 当所述最大流行度等级的绝对值大于或等于j,且j为正整数,j ^ 2时,所述方法还包括: 以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+Ι哈希值; 对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j-1, i为整数; 确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
11.根据权利要求9或10所述的方法,其特征在于,所述哈希函数包括:MD5、SHAUBKDRHash 或 FNVIA。
12.一种确定缓存策略的设备,其特征在于,所述确定缓存策略的设备包括: 第一接收单元,用于根据接收区域内的m个路由器分别上报的表示第一数据被请求的信息,m≥1; 第一运算单元,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值; 第一模运算单元,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m^n0
13.根据权利要求12所述的确定缓存策略的设备,其特征在于,所述确定缓存策略的设备还包括: 第二运算单元,用于当第一数据的第一流行度等级的绝对值大于或等于2时,以所述第一路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第二哈希值;第二模运算单元,用于对所述第二哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第二路由器的标识值。
14.根据权利要求12所述的确定缓存策略的设备,所述m个路由器分别上报的表示第一数据被请求的信息为所述m个路由器分别上报的所述第一数据的流行度,所述确定缓存策略的设备还包括: 第一确定单元,用于根据所述m个路由器分别上报的所述第一数据的流行度,确定所述第一数据的总流行度; 第二确定单元,用于根据所述第一数据的总流行度查询等级对应关系,确定所述第一数据的总流行度的第一流行度等级; 所述确定缓存策略的设备还包括: 第三运算单元,用于当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值; 第三模运算单元,用于对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数; 第三确定单元,用于确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
15.根据权利要求 14所述的确定缓存策略的设备,其特征在于,所述等级对应关系包括所述总流行度和所述流行度等级的对应关系,或,所述等级对应关系包括流行度取值区域和所述流行度等级的对应关系,且所述总流行度在所述流行度取值区域之内。
16.根据权利要求12至15中任一项所述的确定缓存策略的设备,其特征在于,所述哈希函数包括:MD5、SHAl、BKDRHash 或 FNVIA。
17.一种确定缓存策略的设备,其特征在于,所述确定缓存策略的设备包括: 第二接收单元,用于从用户设备接收用于请求第一数据的报文; 第四运算单元,用于以所述第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值; 第四模运算单元,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
18.根据权利要求17所述的确定缓存策略的设备,其特征在于,所述确定缓存策略的设备还包括: 第三接收单元,用于接收统计节点发送的所述第一数据的第一流行度等级; 所述确定缓存策略的设备还包括: 第五运算单元,用于当所述第一流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值; 第五模运算单元,用于对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数; 第四确定单元,用于确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
19.根据权利要求17或18所述的确定缓存策略的设备,其特征在于,所述哈希函数包括:MD5、SHAl、BKDRHash 或 FNVIA。
20.一种确定缓存策略的设备,其特征在于,所述确定缓存策略的设备包括: 第六运算单元,用于以第一数据的元数据为函数输入值,使用哈希函数进行哈希运算,得到第一哈希值; 第六模运算单元,用于对所述第一哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第一路由器的标识,所述η为所述区域内路由器的总数,m < η。
21.根据权利要求20所述的确定缓存策略的设备,其特征在于,所述确定缓存策略的设备还包括: 获取单元,用于获取所述第一数据的最大流行度等级; 所述确定缓存策略的设备还包括: 第七运算单元,用于当所述最大流行度等级的绝对值大于或等于j,且j为正整数,j > 2时,以第i路由器的标识为函数输入值,使用所述哈希函数进行哈希运算,得到第i+1哈希值; 第七模运算单元,用于对所述第i+Ι哈希值进行模η运算,得到用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值,其中j_l,i为整数; 第五确定单元,用于确定i的每个取值对应的用于缓存所述第一数据中的部分或全部数据的第i+Ι路由器的标识值。
22.根据权利要求20或21所述的确定缓存策略的设备,其特征在于,所述哈希函数包括:MD5、SHAl、BKDRHash 或 FNVIA。
【文档编号】H04L12/861GK103905332SQ201210590587
【公开日】2014年7月2日 申请日期:2012年12月31日 优先权日:2012年12月31日
【发明者】刘树成 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1