命名数据网络下基于视频点播系统的缓存替换方法技术方案

技术编号:21405742 阅读:19 留言:0更新日期:2019-06-19 09:01
本发明专利技术提供一种命名数据网络下基于视频点播系统的缓存替换方法,路由节点接收的数据包所缓存的内容缓存表为有序的双链表,双链表的每个结点(以下统称Node)类型包括四个域,分别为前驱指针、后继指针、数据包内容名字以及内容生存时间,按照每个数据的内容生存时间进行排序,当节点内存空间已满需要进行替换时,替换内容生存时间最低的数据。本发明专利技术通过提高路由节点缓存命中率,减少用户请求平均跳数,以达到提高内容复用、降低服务器压力的目的。本发明专利技术提出来一种内容生存时间的概念,以此作为缓存替换的依据,因此在NDN网络下,维护路由节点内容的生存时间。

【技术实现步骤摘要】
命名数据网络下基于视频点播系统的缓存替换方法
本专利技术涉及一种命名数据网络下基于视频点播系统的缓存替换方法。
技术介绍
现代互联网是一个世界范围内的计算机网络,它通过一系列网络协议将全世界的网络设备有效的互联起来,在最近几十年的时间里,TCP/IP协议栈是现在互联网的核心协议栈。然而,随着网络的发展,人们对于网络的需求也发生了很大的变化,主要是数据流量方面,预测指出,到2021年全球互联网流量将达到3.3ZB,是2016年的近3倍,而在视频点播方面,流量将从2016年的73%增长到82%,面对如此庞大的数据量,新的挑战随之而来,基于TCP/IP面向连接的通信模式为基础架构的互联网还存在一个严重资源浪费的问题,那就是当前的互联网上发生了大量的重复(冗余)传输。主要的应用包括视频、音频、文件下载等绝大部分内容分发都存在非常大量的重复传输。针对于IP网络的缺陷,命名数据网络(NDN)应运而生,NDN项目旨在通过建立全新的以内容为中心的网络构架体系,争取逐步替代主宰互联网半个世纪的TCP/IP协议。NDN网络设计的其中一个原则就是尽可能大规模的部署网络缓存,最大化带宽使用,实现快速、可靠的内容交付,以避免拥塞。在NDN网络中,每个路由节点都有独立的缓存空间,每当数据包经过节点时,节点将会把数据缓存在本地,下一次请求相同的数据时,节点就可以立即对该请求进行响应而无需再向服务器发送请求,这样就大大减少了网络中重复的流量,能够缓解爆炸式增长的网络流量给网络带来的压力。这也是NDN网络区别于IP网络的一个重要特征。然而缓存的出现带来了优势同时也带来了挑战,因为缓存不可能无限大,在视频点播方面,路由器存储了大量的已经过时的信息或者是路由器空间使用量超过一定的上限时,就需要删除一些次要信息,而将空间更多留给有用的信息,因此提出一种高效的缓存替换策略无疑变成了重中之重,目前国内外对于命名数据网络缓存替换策略的研究主要有以下几种:(1)基于随机(RAND)的替换策略随机的替换策略算法中,当需要对缓存的内容进行删除时,完全随机的选取替换对象,每个内容对象被选中的概率是相等的,随机算法比较容易在各种具体应用中实现,但是实际效果存在很大的不确定性。(2)基于先进先出(FIFO)的替换策略先进先出的替换策略中,当路由节点内存空间已满需要对缓存的内容进行删除时,数据最先进入缓存的,则应该被替换,这种替换算法也具有很大的不确定性,因为最先进入节点缓存的可能是一个视频中的热点内容,这样缓存的效率也会很低。(3)基于上一次被访问时间间隔的替换策略在NDN网络中,最为经典的算法就是基于上一次被访问时间间隔的替换策略算法。这类替换策略将缓存内容距离上一次被访问的时间间隔作为最重要的参考因素,据此决定该缓存内容是否应被替换,其中最经典的就是最近最少使用算法(LRU),它是一种利用最近的缓存内容作为参数的缓存替换策略。利用了时间域中时间局部性的概念,例如,如果某个数据项最近被访问过,那么就预计它将比其他数据项更快被再次访问,他会在内容中用最近到达的数据对象来取代很久没有使用的数据项。命名数据网络(NDN)的缓存替换策略在一定程度上保证了有效的网络利用率并且提高了数据的可用性,但是现有的缓存替换策略在使用上也是有很大的弊端的,比如基于随机(RAND)的替换策略和基于先进先出(FIFO)的替换策略这两种策略,虽然在操作上比较容易实现,但是最大的弊端也显而易见,具有很大的不确定性,无法很好的做出缓存替换的决策。而基于上一次被访问时间间隔的替换策略中的LRU算法,并没有考虑缓存视频点播内容的热度,对于直播系统还好,因为最近刚过去的一段时间可能就是热点内容,对于点播系统,比如一个被持续的、以一个时间间隙作为请求周期的内容很有可能被用户再次请求,但根据LRU策略,它可能会被最近请求的内容所替换,即使只有较少的用户对这个新内容感兴趣。
技术实现思路
针对于以上所出现的问题,本专利技术提出了一种命名数据网络下基于视频点播系统的缓存替换方法,是一种更高效的基于内容初始生存时间的缓存替换策略,通过设置内容初始生存时间,可以有效避免出现非热点内容替换热点内容的问题,提高路由节点的缓存命中率,降低请求的路由跳数,从而达到提高内容复用、降低服务器压力的目的。本专利技术提供一种命名数据网络下基于视频点播系统的缓存替换方法,路由节点接收的数据包所缓存的内容缓存表为有序的双链表,每个Node类型均包括内容生存时间,将各Node按照每个数据的内容生存时间进行排序,当路由节点内存空间已满需要进行替换时,替换内容生存时间最低的数据。优选地,一种命名数据网络下基于视频点播系统的缓存替换方法,其特征在于,每个Node类型均包括四个域,分别为前驱指针、后继指针、数据包内容名字以及内容生存时间。优选地,路由节点内每个数据都有初始的内容生存时间,其随着时间的推移进行自减,当减小为零时,自动从内容缓存表中清除。优选地,当主机用户发出兴趣包请求时,首先查看内容缓存表,若是查找成功,将这一内容数据的内容生存时间加长,若是缓存没有命中,则服务器响应之后的数据包将其内容赋予一个初始的内容生存时间,放入到路由节点的内容缓存表中。优选地,包括如下几个步骤:当有兴趣包发送请求时,首先需要判断路由节点cs表中是否有匹配项,即兴趣包中请求的内容名字是否在cs表中存在,如果有,则执行步骤A,如果没有执行步骤B:步骤A:缓存发生命中,在双链表中将命中的Node增加内容生存时间,判断增加内容生存时间后的Node内容生存时间是否大于前一个Node的内容生存时间,如果不大于,则保持当前位置不变,如果大于,则依次要和前面的Node进行比较,直到出现内容生存时间增加后的那个Node比链表中的Node生存时间小时为止,此时这个位置是内容生存时间增加后的那个Node应插入的位置,将该节点插入到该位置上,流程执行结束;步骤B:进行PIT表是否有匹配项的判断,如果有,执行步骤C,如果没有,执行步骤D;步骤C:把该兴趣包进来的接口加入到PIT对应项的接口列表中,等待数据包的返回,当数据包返回时,在双链表中给新的内容Node设置初始内容生存时间,并判断链表长度是否已经达到最大值,如果没有达到最大值,则将新的内容Node插入到链表合适的位置,保证有序,然后将链表长度加1,流程执行结束;如果达到链表最大长度,则判断新的内容Node设置的初始内容生存时间是否大于终端Node,如果小于则放弃缓存,流程执行结束;如果不小于,则删除链表的终端Node,链表长度减1,然后再将新的内容Node插入到链表合适的位置,保证有序,长度加1,然后流程执行结束;步骤D:该判断FIB表中是否有匹配项,如果仍然没有则应该丢弃兴趣包,表明该路由节点无法处理这个兴趣包,流程执行结束;如果有,则该路由节点是第一次收到该兴趣包,转发兴趣包并在PIT表添加新条目,等待数据包返回,等待数据包返回后,当数据包返回时,给新的内容Node设置初始生存时间,判断链表长度是否已经达到最大值,如果没有达到最大值,则将新的内容Node插入到链表合适的位置,保证有序,然后将链表长度加1,流程执行结束;如果达到链表最大长度,则判断新的内容Node设置的初始内容生存时间是否大于终端Node,如果小于则本文档来自技高网
...

【技术保护点】
1.一种命名数据网络下基于视频点播系统的缓存替换方法,其特征在于,路由节点接收的数据包所缓存的内容缓存表为有序的双链表,双链表的每个Node类型均包括内容生存时间,将各Node按照每个数据的内容生存时间进行排序,当路由节点内存空间已满需要进行替换时,替换内容生存时间最低的数据。

【技术特征摘要】
1.一种命名数据网络下基于视频点播系统的缓存替换方法,其特征在于,路由节点接收的数据包所缓存的内容缓存表为有序的双链表,双链表的每个Node类型均包括内容生存时间,将各Node按照每个数据的内容生存时间进行排序,当路由节点内存空间已满需要进行替换时,替换内容生存时间最低的数据。2.根据权利要求1所述的命名数据网络下基于视频点播系统的缓存替换方法,其特征在于,一种命名数据网络下基于视频点播系统的缓存替换方法,其特征在于,每个Node类型均包括四个域,分别为前驱指针、后继指针、数据包内容名字以及内容生存时间。3.根据权利要求1所述的命名数据网络下基于视频点播系统的缓存替换方法,其特征在于,路由节点内每个数据都有初始的内容生存时间,其随着时间的推移进行自减,当减小为零时,自动从内容缓存表中清除。4.根据权利要求1所述的命名数据网络下基于视频点播系统的缓存替换方法,其特征在于,当主机用户发出兴趣包请求时,首先查看内容缓存表,若是查找成功,将这一内容数据的内容生存时间加长,若是缓存没有命中,则服务器响应之后的数据包将其内容赋予一个初始的内容生存时间,放入到路由节点的内容缓存表中。5.根据权利要求1所述的命名数据网络下基于视频点播系统的缓存替换方法,其特征在于,包括如下几个步骤:当有兴趣包发送请求时,首先需要判断路由节点cs表中是否有匹配项,即兴趣包中请求的内容名字是否在cs表中存在,如果有,则执行步骤A,如果没有执行步骤B:步骤A:缓存发生命中,在双链表中将命中的Node增加内容生存时间,判断增加内容生存时间后的Node内容生存时间是否大于前一个Node的内容生存时间,如果不大于,则保持当前位置不变,如果大于,则依次要和前面的Node进行比较,直到出现内容生存时间增加后的那个Node比链表中的Node生存时间小时为止,此时这个位置是内容生存时间增加后的那个Node应插入的位置,将该Node插入到该位置上,流程执行结束;步骤B:进行PIT表是否有匹配项的判断,...

【专利技术属性】
技术研发人员:张丽谭笑
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1