一种基于缓存空间划分和内容相似度的命名数据网络缓存管理系统和管理方法
【技术领域】
[0001]本发明属于命名数据网络领域,具体涉及一种基于缓存空间划分和内容相似度的命名数据网络缓存管理系统和管理方法。
【背景技术】
[0002]命名数据网络(NDN,Named Data Network)是一种以内容为中心的未来网络。命名数据网络中每个节点都具有缓存功能,缓存技术即为命名数据网络关键技术之一。当用户发送兴趣包Interest Packet在网络中某个节点的缓存里找到请求内容后,内容形成数据包Data Packet将沿着兴趣包Interest Packet传播的路径原路返回,此时称请求在该节点缓存命中。数据包Data Packet经过路径中的节点时,节点根据缓存策略判断是否缓存数据包Data Packet中内容。如何提高缓存命中率、如何减少内容冗余、如何保证内容多样性是缓存机制的核心问题。若命名数据网络中缓存策略不恰当,将会导致缓存效率低,严重影响网络性能。
[0003]目前,命名数据网络中现有缓存策略主要包括LCE(Leave Copy Everywhere)缓存策略、IXD(LeaVe Copy Down)缓存策略和Betw缓存策略。LCE缓存策略要求内容在返回路径上所有节点都要缓存,这种策略虽然对节点中内容进行了及时更新,但会导致网络中出现大量内容冗余,同时降低网络内容多样性。LCD缓存策略要求内容只在其命中节点下一跳节点缓存,这种缓存策略虽然保证了网络内容多样性,但流行度高的内容被访问多次时,同样也会产生大量内容冗余。Betw缓存策略要求内容在返回时选择路径上最重要的节点缓存数据,这种缓存策略虽然提高了节点缓存命中率,但当路径上重要节点请求过多时,需缓存内容也越多,增大节点负载。在命名数据网络缓存策略方面,专利“在命名数据网络中使用多路径路由和内容缓存的无缝移动方案”(CN201280039368.8),选取第一附接点(PoA)和第二附接点(PoA)接收缓存内容数据。第一附接点(PoA)用于附接到移动节点(MN)指示一个或多个邻近附接点(PoA),第二附接点来自第一附接点(PoA)的一个或多个邻近附接点(PoA)。该专利利用节点间接性缓存内容数据,与本发明采用的方法和针对的问题均不同。
[0004]综上所述,目前缓存管理方案对节点空间没有进行划分,并且节点没有主动选择缓存内容的权利,主要缺点表现在:
[0005](I)在节点空间不划分的情况下,若节点被频繁请求时,则该节点需缓存大量数据,使得节点缓存内容更新过快,从而导致缓存命中率降低。
[0006](2)节点没有主动选择缓存内容的权利,即使该节点已经缓存该内容或相似内容,它不能主动拒绝缓存该内容。这将增加单节点内容冗余,降低缓存效率。
【发明内容】
[0007]本发明的目的在于提供一种基于缓存空间划分和内容相似度的命名数据网络缓存管理系统。本发明的目的还在于提供一种基于缓存空间划分和内容相似度的命名数据网络缓存管理方法。
[0008]本发明的目的是这样实现的:
[0009]基于缓存空间划分和内容相似度的命名数据网络缓存管理系统,包括缓存空间划分模块、内容相似度匹配模块、动态区缓存模块、动态缓存替换模块:
[0010](I)缓存空间划分模块对节点缓存空间划分为稳态区和动态区、存储稳态区内容信息和获取动态区内容信息;检测节点缓存内容,节点以主要缓存内容名称Content Name进行命名,记为节点名称Node Name ;若总缓存空间大小为N,设定阈值α,0〈 α〈1,则稳态区空间为N* α,剩余缓存空间设定为动态区空间,并将主要缓存内容存储在稳态区,内容信息存储形式为:内容名称Content Name,空间Size,更新时间Update Time,访问次数Times ;清空动态区存储内容;在设定时间Tupdata内对节点进行重新检测,若稳态区内容被访问次数大于M,M>0,M事先设定,不进行稳态区内容更新;若稳态区内容被访问次数小于M,M>0,M事先设定,将主动获取动态区内容信息,对节点主要缓存内容进行重新检测;更新稳态区存储内容、更新节点名称、清空动态区存储的内容;将节点名称发送给内容相似度匹配模块,动态区空间大小和内容信息发送给动态区缓存模块;
[0011](2)内容相似度匹配模块根据内容相似度判断是否缓存数据包Data Packet中内容,并接收缓存空间划分模块发送的节点名称;当数据包Data Packet经过节点时,获取数据包包名与节点名称Node Name进行前缀名称匹配,匹配相似度Srontent大于β时,节点不缓存该内容;当匹配相似度Srantent小于或等于β时,节点对该内容进行缓存;将内容信息发送给动态区缓存模块;
[0012](3)动态区缓存模块用于分配动态区缓存空间、存储内容信息,并接收内容相似度匹配模块发送的内容信息;当节点需要缓存内容时,该模块根据内容大小分配动态区缓存空间;内容信息,内容名称Content Name,空间Size,更新时间Update Time,访问次数Times ;当缓存空间不足时,动态区替换模块对动态区缓存内容信息进行处理;
[0013](4)动态区替换模块是用于管理动态区内容替换、存储内容信息,并接收动态缓存模块的内容信息;当缓存空间不足时,动态区根据访问次数Times值判断替换次序,当访问次数Times值越小时,优先级越高,首先替换优先级高的内容信息;当访问次数Times值相同时,采用最近最久未使用策略LRU对存储内容进行替换处理。
[0014]基于缓存空间划分和内容相似度的命名数据网络缓存管理方法,包括如下步骤:
[0015](I)缓存空间划分模块判断节点是否需要进行更新,若需要更新,执行(2);否则将节点名称交由内容相似度匹配模块,执行⑶;
[0016](2)缓存空间划分模块对节点进行检测,获取节点主要缓存内容存储在稳态区中,并清空动态区存储内容;
[0017](3)内容相似度匹配模块接收接收缓存空间划分模块发送的节点名称,并获取经过节点的数据包Data Packet包名;
[0018](4)内容相似度匹配模块判断是否内容相似度Sranten#否大于β,0.5〈β〈I ;将数据包Data Packet的包名和节点名称进行前缀名称匹配,匹配相似度Srantent大于β时,节点对该内容不进行缓存,缓存管理结束;否则,当匹配相似度Srantant小于或等于β时,则交由动态区缓存模块,执行(5);
[0019](5)动态区缓存模块判断动态区空间是否充足,并接收内容相似度匹配模块发送的内容信息,若动态区剩余空间大于内容空间即为空间充足,执行步骤(6);否则交由动态区替换模块,执行步骤(7);
[0020](6)动态区缓存模块根据内容空间大小分配动态区空间,存储内容信息,内容名称Content Name,空间 Size,更新时间 Update Time,访问次数 Times;
[0021](7)动态区替换模块管理动态区内容,并对该内容进行存储;根据访问次数Times进行替换更新,当访问次数Times值越小时,