发明内容
为了解决现有技术中存在的上述问题,本发明提出了一种信息中心网络节点缓存替换方法,以提高信息中心无线网络虚拟化中数据整体传输效率。
为了实现上述目的,本发明采用了以下技术方案:
一种信息中心网络节点缓存替换方法,包括:
节点接收上一级节点发送过来的数据包ck;
计算ck在所述节点的缓存概率pik和已缓存在所述节点中的各数据包的丢弃概率;
如果所述节点已保存的数据包中有缓存概率小于所述pik的数据包,所述节点丢弃缓存价值最低的已保存数据包,缓存所述ck;
所述节点发送所述ck到其下一级节点;更新所述节点的缓存状态。
进一步的,所述计算ck在所述节点的缓存概率pik和已缓存在所述节点中的各数据包的丢弃概率包括:
构建所述节点缓存状态的马尔科夫链稳态概率方程;
计算所述节点处于缓存稳态时保存有数据包ck的概率;
构建任意节点响应请求任意数据的兴趣包的平均响应跳数
的目标函数;
根据所述目标函数计算所述
的最小值
获得所述
min)对应的所述c
k在所述节点的缓存概率p
ik和所述节点已缓存的各数据包的丢弃概率。
进一步的,所述构建所述节点缓存状态的马尔科夫链稳态概率方程包括:
计算所述节点的缓存状态从状态j-1转移到状态j的转移概率Pj-1,j;
计算所述节点的缓存状态从状态j转移到状态j的转移概率Pj,j;
计算所述节点的缓存状态从状态f转移到状态j的转移概率Pf,j;
计算所述节点的缓存状态从状态j转移到状态0的转移概率Pj,0;
根据所述Pj-1,j,Pj,j,Pf,j,Pj,0构建所述节点缓存状态的稳态概率方程。
进一步的,所述计算所述节点处于缓存稳态时保存有数据包ck的概率包括:
根据最近访问时间Tc内所述ck被请求的次数Countk和所述Tc内所有数据包被请求的总次数Counta计算用户请求所述ck的概率Wk;
计算所述节点处于状态j时有数据包ck的概率gik(j);
根据所述节点处于各状态时有数据包c
k的概率计算节点处于缓存稳态时保存有数据包c
k的概率
其中,所述βk为所述ck的流行度加权值,βk∈[0,1]。
优选的,所述最近访问时间Tc=15秒。
进一步的,所述构建任意节点响应请求任意数据的兴趣包的平均响应跳数
的目标函数包括:
计算任意节点发送请求数据包ck的兴趣包,并在距离该节点第h跳的节点响应的概率Ghk;
构建用户在任意节点请求任意数据包的平均响应跳数
的目标函数
优选的,所述所述节点丢弃缓存价值最低的已保存数据包包括:
所述节点丢弃已保存数据包中缓存概率最小的数据包。
优选的,所述所述节点丢弃缓存价值最低的已保存数据包包括:
所述节点丢弃已保存数据包中丢弃概率最大的数据包。
优选的,所述所述节点丢弃缓存价值最低的已保存数据包包括:
计算各已保存数据包的缓存丢弃概率比:
所述节点丢弃已保存数据包中缓存丢弃概率比最小的数据包。
优选的,所述方法还包括:
所述节点丢弃已保存的数据包中的最近一次请求时间间隔大于预设的缓存生存时间阈值ΔT的数据包。
本发明技术方案中,节点在进行数据包缓存替换时,综合考虑了各数据包在节点的缓存概率以及节点已缓存数据包的丢弃概率,通过计算各数据包的缓存概率和丢弃概率,获得数据包在网络中的综合缓存价值,据此进行数据包的缓存和替换,保证了节点缓存的数据包是使用价值较高的数据,使得后续用户的请求能够更多的在节点缓存中快速命中,同时也提升了节点缓存空间的利用率。从而有效的提高了网络的传输效率,提升了整个ICWNV网络的传输性能。
具体实施方式
为了更好的说明本发明的技术方案,下面结合附图对本发明的具体实施方式进行详细描述。
在ICWNV网络中,网络不在关心内容的存储位置,只关心内容本身。网内的内容不在使用IP地址作为内容的标识,而是以内容的名称作为标识。在ICWNV网络中存在两种数据包类型:兴趣包和数据包。当虚拟网络请求(简称,VNRs)到来时,ICWNV网络首先会为VNRs的节点映射和链路映射提供足够多得CPU和带宽资源;接下来映射节点会根据用户的兴趣包路由检索到含有对应数据的邻近节点或者数据中心;然后将数据包沿着兴趣包的反向路径传送到映射节点,如图2所示,并在传输路径上完成内容缓存过程,图中,v
i为用户请求数据包的节点,
为第一条路由上距v
i为1跳的节点,
为第一条路由上距v
i为x跳的节点;
为第a条路由上距v
i为1跳的节点,
为第a条路由上距v
i为x跳的节点;
为第b条路由上距v
i为1跳的节点,
为第b条路由上距v
i为x跳的节点。
(1)根据用户请求,网络首先完成节点映射和链路映射,同时映射节点会根据用户的请求发出兴趣包;
(2)节点会首先检查缓存空间中是否有与该请求对应的数据包,如果有就将内容传回到映射节点处;
(3)否则节点会查询未决请求表中是否含有与该请求对应的条目,如果有,就将兴趣包进入的接口号添加到对应条目的接口列表中,说明有用户对同样的内容发出过请求,并且经过了该节点;否则新建一个未决请求表条目并查询节点的转发信息库,将请求转发到下一跳节点;
(4)数据包到达时,节点会查询未决请求表,如果未决请求表中存在与数据对应的请求条目就将数据从该条目的接口列表中的接口转发出去,并根据相应的存储策略将其存储在合适节点的缓存空间(简称,CS)中,完成内容的缓存。
具体实施例
本实施例为本发明信息中心网络节点缓存替换方法的一种优选实施方式。
本具体实施例的ICWNV网络中,网络节点集合为,V=(v1,v2,…,vi,…,vI),其中,i为节点序号,vI为数据中心;网络中的数据包集合为C=(c1,c2,…,ck,…,cK),其中,k为数据包序号,k=1,2……K。节点vi能存储的最大数据包数量为J,
参见图3,本实施例的节点数据缓存替换方法流程如图3所示,包括:
S1、构建节点vi缓存状态的马尔科夫链;
节点vi当前所存储的数据包数量j代表了节点vi当前的缓存状态,节点vi缓存状态为马尔科夫链;当节点的缓存状态处于状态j时,vi缓存一个数据包则会进入下一个状态,即(j+1),但是vi不能直接从状态j转移到状态(j+2),(j+3),…,J;vi丢掉一个数据包则返回上一个状态,即(j-1);在状态{1,…,J}下vi可以同时丢掉一个、两个甚至丢掉全部缓存的数据包返回其前面的所有状态。vi在0状态时只能缓存数据包而不能丢掉数据包,在最大缓存状态J时只能丢掉数据包而不能再缓存数据包。
S2、节点vi接收其上游节点发送过来的数据包ck;
S3、计算ck在节点vi的缓存概率pik与已缓存在节点vi中的各数据包的丢弃概率;
参见图4,如图4所示,本步骤进一步包括:
S31、构建节点vi缓存状态的马尔科夫链稳态概率方程;
S311、计算vi缓存状态从状态j-1转移到状态j的转移概率Pj-1,j,j∈{1,…J};
其中,qil为节点已缓存的数据包cl的丢弃概率;Π为累乘运算符;
S312、计算vi缓存状态从状态j转移到状态j的转移概率Pj,j,j∈{1,…J};
其中,qid为节点已缓存的数据包cd的丢弃概率,l≠d;C为组合运算符。
S313、计算vi缓存状态从状态f转移到状态j的转移概率Pf,j,f,j∈{1,…J};
其中,f大于j;
S314、计算vi缓存状态从状态j转移到状态0的转移概率Pj,0,j∈{0,…J};
S315、构建vi缓存状态的稳态概率方程;
其中,π(0)为缓存状态0的稳态概率,π(j)为缓存状态j的稳态概率;
S32、计算节点vi处于缓存稳态时保存有数据包ck的概率;
S321、根据ck在预设的最近时间段Tc内被请求的次数Countk和Tc内所有数据包被请求的总次数Counta计算ck被请求的概率Wk;
其中,βk为ck的流行度加权值,βk∈[0,1];Tc可以根据网络结构和实验、仿真数据预设,本实施例中,预设Tc=15秒;
S322、计算节点vi处于状态j时有数据包ck的概率gik(j);
S323、根据节点v
i处于各状态时有数据包c
k的概率计算节点v
i处于缓存稳态时保存有数据包c
k的概率
S33、构建任意节点响应请求任意数据的兴趣包的平均响应跳数
的目标函数;
所述响应跳数是指,节点vi在其几级上游节点获得所述数据包ck;如节点vi保存有ck,则响应跳数为0条,如在其上一级上游节点获得所述数据包ck,响应跳数为1跳,依此类推。
S331、计算节点vi请求数据包ck,并在距离节点vi跳数为h跳的节点响应用户请求数据包ck的概率Ghk;
其中,所述NUM
h为距离节点v
i跳数为h跳的节点数量;所述
为距离节点v
i跳数为h跳的节点处于缓存稳态时保存有数据包c
k的概率;所述G
xk表示节点v
i发送数据请求的兴趣包,并在距离节点v
i为x跳的节点响应的概率;
S332、计算用户在任意节点请求数据包c
k时,网络响应的平均跳数
其中,网络中各节点的Gxk的获取方式与节点vi的获取方式相同;
S333、构建用户在任意节点请求任意数据包,网络响应用户请求的平均跳数
的目标函数;
S34、计算所述
的最小值
获得所述
对应的数据包c
k的缓存概率p
ik和节点已缓存的各数据包的丢弃概率;
本实施例中,
p
ik以及节点已缓存的各数据包的丢弃概率可以通过如《模拟退火算法:综述》(电路与设备杂志,1989,5(1):19-26.)(“Simulated AnnealingAlgorithms:An Overview”,IEEE Circuits and Devices Magazine,Vol.5,No.1,1989.)和《一种基于模拟退火的多目标优化算法》(进化计算,2008,12(3):269-283.)(“ASimulated Annealing-Based Multi-objective Optimization Algorithm:AMOSA”,IEEETransactions on Evolutionary Computation,Vol.12,No.3,2008.)中公开的多目标的模拟退火算法求解目标函数的最优值来计算得到,也可以利用如《势博弈》(博弈与经济行为期刊,1996,14(1):124-143.)(“Potential Games”,Games and Economic Behavior,Vol.14,No.1,1996.)和《认知无线电网络的收敛性》(无线通信与网络会议.2004:2250-2255.)(“Convergence of Cognitive Radio Networks”,Wireless Communications andNetworking Conference,2004.)中公开的势博弈方法求解目标公式的最优值来计算得到。还可以采用其它现有求解目标函数最优值的方法来计算,本发明对此没有限制。
S4、如果节点vi有空闲的缓存空间,缓存所述ck,执行步骤S7;
S5、如果在节点vi已保存的数据包中有数据包的缓存概率小于所述pik,执行步骤S6;否则,执行步骤S7;
S6、节点vi丢弃缓存价值最低的已保存数据包,缓存所述ck;
作为一种优选实现方案,本具体实施例中,所述节点vi丢弃缓存价值最低的已保存数据包可以是:
节点vi将已保存数据包中缓存概率最小的数据包作为缓存价值最低的已保存数据包丢弃。
或,节点vi将已保存数据包中丢弃概率最大的数据包作为缓存价值最低的已保存数据包丢弃。
或,节点vi计算各已保存数据包的缓存丢弃概率比:
节点vi将已保存数据包中缓存丢弃概率比最小的数据包作为缓存价值最低的已保存数据包丢弃。
S7、节点vi将所述ck发送到所述vi的下一级节点;更新节点vi缓存状态。
作为本发明的一种优选实现方案,本具体实施例在所述步骤S7之前,还可以包括步骤S61:
节点vi丢弃已保存的数据包中的最近一次请求时间间隔大于预设的缓存生存时间阈值ΔT的数据包;
其中,所述ΔT为根据具体网络环境通过实验数据预设的阈值。
本发明的上述具体实施例中,利用节点缓存与替换数据包的过程构建节点缓存状态马尔科夫链,通过考虑用户对数据包的请求概率、节点在稳态时有数据包的概率,从而计算出各数据包在任意节点的缓存概率和丢弃概率,根据各数据包的缓存概率,判断新数据包是否比已缓存的数据包更有缓存价值,来确定是否对数据包进行缓存替换,从而有效的提高了节点数据包缓存替换的准确性,可以很好的利用节点的缓存空间及保证节点的生命周期,有利于提高ICWNV网络的数据传输效率。
在上述具体实施例的优选实现方案中,通过判断节点已缓存的数据包被请求的最近请求时间,丢弃长时间无请求的数据包,进一步节省节点的缓存空间。
需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。