主权项 |
命名数据移动自组织网络的官渡缓存策略,其特征在于:选择缓存数据的节点:缓存节点在数据转发节点中选择;当数据转发到某中间节点时,该节点在转发数据的同时根据情况决定自己是否缓存该数据;转发节点在决定缓存数据时要考量自己的空闲存储空间是否足够;只有当缓存所需数据量与节点的空闲存储空间的比值小于1/10,才能缓存该数据;在内容包中增加一个跳数字段;该跳数字段在内容包每次被转发时加一;规定网络能够容纳的节点数的开方为网络半径,在这里取网络半径的一半为设定距离,超过设定距离,则认为该节点距离源节点较远,能考虑缓存该数据;在内容包中增加一个缓存间隔字段;应答节点在内容包中设置缓存间隔字段为初始值,初始值为网络半径的1/8;内容包每次被转发时缓存间隔字段递减1;如果内容被缓存则缓存间隔字段重新设置为初始值;具体步骤如下:首先,收到数据包的中间节点判断自己与数据源节点的距离;在与数据包的发送节点的距离小于设定距离时不缓存数据,节点只要修改数据包中的缓存间隔数;如果缓存间隔数达到0,则设置为初始值;如果没达到0,则减少1即可;同时增加数据包的跳数,然后转发数据包;当距离大于设定距离时,要综合考虑缓存间隔数和节点的存储空间情况:当间隔数大于0时,表明周围有较近的节点缓存了该数据,该节点直接递减间隔数,递增数据包跳数,转发数据包;如果缓存间隔数为0,则节点应该考虑缓存该数据;但如果“没有空间标志”为1,表明节点没有可用的存储空间,则此时节点放弃缓存该数据,继续递减缓存间隔数至‑1,递增数据包跳数,将数据包转发出去;否则,若节点有存储空间,则缓存该数据,将缓存间隔数设置为初始值,递增数据包跳数,转发数据包;当节点收到的数据包的缓存间隔数为‑1时,表明上一个节点应该缓存该数据,但因为空间问题没有缓存;节点应该缓存该数据;节点将缓存间隔数恢复为初始值,递增数据包跳数,将数据包转发出去,然后缓存该数据;如果该节点的“没有空间标志”为1,表明节点也没有可用的存储空间,则执行LRU缓存替换算法,为此数据替换出空间;当节点的缓存所需数据量与节点的空闲存储空间的比值小于1/10时,“没有空间标志”将被设置为0,否则为1。 |