1.一种基于请求内容关联性的ICN网络预缓存方法,其特征在于,包括以下步骤:步骤S1、模型定义:将网络模型定义为无向图G=(V,E),其中V={v1,v2,…,vw}为网络节点集合,即路由器节点,下标w是指网络节点的个数,E是节点间边的集合;
将网络中一组内容集合定义为O={O1,O2, …,Ok, …,OM},其中M表示网络中内容的数量,将一个内容Ok划分成nk个块,记为 ;
步骤S2、预缓存存储决策:用户通过路由器节点向内容源服务器CSS发出关于内容Ok,m的兴趣包 内容源服务器CSS依据收到的兴趣包 主动地将预缓存兴趣包和用户请求的内容Ok,m的后续块即预缓存数据包发送给指定的路由器节点进行存储;
步骤S3、预缓存内容的推进:若路由器节点收到的是兴趣包 该路由器节点计算内容Ok,m的局部活跃度LACC,并依据LACC的取值直接在该路由器节点调整内容Ok,m的逗留时间,并发送兴趣包 对下游路由器节点进行响应;
若缓存节点收到的是预缓存兴趣包,内容源服务器CSS响应预缓存兴趣包,并发送该内容Ok,m剩余块的预缓存数据包,并设置预缓存内容的预逗留时间;
步骤S3在对内容Ok,m的局部活跃度LACC进行计算时,分别对 和
进行计算,并对两者的值进行比较,其中,局部活跃度LACC的计算公式如下:式中,γ为权值参数且γ>1,K为滑动窗口的宽度参数,时间窗口由K个时长为T的时隙构成, 表示在滑动窗口中的第j个时隙Tj内内容被访问的次数,即即时流行度,定义用户第x+1次请求内容块Ok,i的时刻为tx+1,则 表示内容Ok,i在时间区间[(K-1)×T,tx+1]内的请求次数;
若 说明内容Ok,m流行度变大,节点vj将 对应的
数据包中的字段CNI置0,当下游的路由器节点收到该数据包时,查看该CNI,如果CNI为0,则表示该内容需要缓存,并依据LACC计算该内容的逗留时间,通过CNI字段将内容推向了下一跳内容;
若 说明内容Ok,m的活跃度LACC降低,依据LACC的取值直
接在该节点调整内容的逗留时间,并发送数据包对下游路由器节点进行响应,当下游路由器节点收到数据包后,查看缓存指示字段CNI,决定是否进行内容的存储,由于CNI字段为-
1,所以该节点只需进行内容的转发;
步骤S4、逗留时间的计算:内容源服务器CSS根据包的类型分别对逗留时间进行设置,对于用户请求的内容Ok,m,根据滑动窗口动态的改变逗留时间,对于预缓存的内容,设置临时缓存时间,防止预缓存内容长时间占用存储空间;
步骤S5、缓存替换策略:随着路由器节点中缓存内容数量的增加,存储空间逐渐减少,当路由器节点中存储空间为0时,新请求的内容是否进行缓存则需要根据缓存替换策略决定;步骤S5中的缓存替换策略包括:对于预缓存的内容,若在预缓存的时间内,该内容没有被用户请求,则该内容将很快处于可删除状态;若新请求的内容到达时,处于删除状态的内容块将会优先被替换掉;若路由器节点的存储空间中不存在删除状态的内容块,新到达的内容将会替换掉路由器节点中具有最小逗留时间的内容块。
2.根据权利要求1所述的一种基于请求内容关联性的ICN网络预缓存方法,其特征在于,步骤S2中的兴趣包 是由兴趣包产生器根据内容Ok,m生成的。
3.根据权利要求1所述的一种基于请求内容关联性的ICN网络预缓存方法,其特征在于,用户到内容源服务器CSS之间的路径lio中的路由器跳数为h,内容Ok,m的后续块的数量为nk-m块;步骤S2中在对内容Ok,m的后续块进行存储时包括以下步骤:步骤S21、内容源服务器CSS根据用户请求的兴趣包 记录路径lio中路由器节点的ID集;
步骤S22、计算路径lio中路由器节点缓存内容的数量f:
步骤S23、计算存储内容与存储节点之间的关系q: q即为路由器节
点的下标,j表示当前将要缓存内容Ok的第j块,初始值设为当前用户请求块的下标(j≥m);
步骤S24、将内容Ok,m的后续块发送到路由器节点vq进行缓存。