一种命名数据网络的缓存替换方法及装置制造方法及图纸

技术编号:30427706 阅读:16 留言:0更新日期:2021-10-24 17:14
本发明专利技术实施例提供了一种命名数据网络的缓存替换方法和装置,应用于缓存节点,缓存节点接收客户端节点发送的请求,检测一级缓存器中是否存储有与该请求对应的第一数据包,如果没有,检测二级缓存器中是否存储有该第一数据包,如果有,检测一级缓存器的可用存储空间是否小于该第一数据包的数据量,若小于,提取出一级缓存器中至少一个第二数据包,将所述第一数据包移动至所述一级缓存器,再检测二级缓存器的可用存储空间是否小于该第二数据包的数据量,若小于,删除第二缓存器中至少一个第三数据包,将该至少一个第二数据包移动至二级缓存器,并将该第一数据包发送给客户端节点。应用本发明专利技术实施例可以提高缓存空间利用率、降低网络传输时延。网络传输时延。网络传输时延。

【技术实现步骤摘要】
一种命名数据网络的缓存替换方法及装置


[0001]本专利技术涉及缓存
,特别是涉及一种命名数据网络的缓存替换方法及装置。

技术介绍

[0002]在命名数据网络中,缓存节点需要维护一个CS(Content Store,内容存储器),CS会对经过的数据包进行存储,且CS中的缓存在每次通信结束后都不会被清除,该缓存内容可以用于下一次通信。当下一次通信中与该缓存内容相匹配的请求数据再次到达节点时,CS中的该缓存内容会被直接返回,而无须再去服务节点获取该数据包。
[0003]缓存替换策略是指当缓存节点中缓存空间已被占满,且需要存储新的数据包时,该缓存节点所采用的策略。目前,命名数据网络的缓存替换策略主要有LRU(Least Recently Used,最近最少使用算法)、LFU(Least Frequently Used,最不经常使用算法)与FIFO(First In First Out,先进先出算法)。在缓存空间已满时:LRU即时间替换,保存新到达缓存节点的数据包,删除存储时间最长的数据包;LFU即次数替换,保存新到达缓存节点的数据包,删除被请求次数最少的数据包;FIFO即删除前一个被保存的数据包,再保存新到达缓存节点的数据包。
[0004]但是,LRU没有考虑缓存访问次数的周期性变化,因此一个在特定时间访问次数高的数据包很可能被最近请求的数据包替换;LFU可能会导致缓存被之前访问次数很高、但最近很少被使用的数据包占满,而新到达的数据包无法被保存;FIFO则既存储不了访问次数高的数据包,也存储不了经常被访问的数据包,命中率最低。现有的缓存替换策略一般根据过往的历史以及时间局部性原理进行缓存决策,未能考虑数据未来的流行度变化,不能随着互联网用户需求的动态变化而变化,也没有考虑各种数据本身的特点,从而导致缓存空间利用率低,网络传输时延很高的问题,不能很好满足用户需求。

技术实现思路

[0005]本专利技术实施例的目的在于提供一种命名数据网络的缓存替换方法和装置,以实现提高了缓存空间利用率、降低了网络的传输时延的目的。
[0006]本申请实施例的第一方面,首先提供了一种命名数据网络的缓存替换方法,应用于所述NDN的缓存节点,所述缓存节点包括一级缓存器和二级缓存器,所述一级缓存器中存储有已被访问的数据包,所述二级缓存器中存储有从所述NDN的服务节点获取的预测被访问的数据包;所述方法包括:
[0007]接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名;
[0008]检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包;
[0009]如果所述一级缓存器中未存储,则检测所述二级缓存器中是否存储有所述第一数据包;
[0010]如果所述二级缓存器中存储有,则检测所述一级缓存器的可用存储空间是否小于
所述第一数据包的数据量;
[0011]若小于所述第一数据包的数据量,则提取出所述一级缓存器中至少一个第二数据包,并将所述第一数据包移动至所述一级缓存器;
[0012]检测所述二级缓存器的可用存储空间是否小于提取出的所述至少一个第二数据包的数据量;所述至少一个第二数据包的数据量大于等于所述第一数据包的数据量;
[0013]若小于所述至少一个第二数据包的数据量,则删除第二缓存器中至少一个第三数据包,并将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量;
[0014]向所述客户端节点发送所述第一数据包。
[0015]本申请实施例的第二方面,提供了一种命名数据网络的缓存替换装置,应用于所述NDN的缓存节点,所述缓存节点包括一级缓存器和二级缓存器,所述一级缓存器中存储有已被访问的数据包,所述二级缓存器中存储有从所述NDN的服务节点获取的预测被访问的数据包;所述装置包括:
[0016]请求接收单元,用于接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名;
[0017]扫描单元,用于检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包;如果所述一级缓存器中未存储,则检测所述二级缓存器中是否存储有所述第一数据包;如果所述二级缓存器中存储有,则检测所述一级缓存器的可用存储空间是否小于所述第一数据包的数据量;
[0018]缓存替换单元,用于若小于所述第一数据包的数据量,则提取出所述一级缓存器中至少一个第二数据包,并将所述第一数据包移动至所述一级缓存器;检测所述二级缓存器的可用存储空间是否小于提取出的所述至少一个第二数据包的数据量;所述至少一个第二数据包的数据量大于等于所述第一数据包的数据量;若小于所述至少一个第二数据包的数据量,则删除第二缓存器中至少一个第三数据包,并将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量;
[0019]发送单元,用于向所述客户端节点发送所述第一数据包。
[0020]本申请实施的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0021]存储器,用于存放计算机程序;
[0022]处理器,用于执行存储器上所存放的程序时,实现上述任一命名数据网络的缓存替换方法的步骤。
[0023]在本专利技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一命名数据网络的缓存替换方法的步骤。
[0024]在本专利技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一命名数据网络的缓存替换方法的步骤。
[0025]本专利技术实施例有益效果:
[0026]本专利技术实施例提供的技术方案中,将命名数据网络NDN中缓存节点的内容存储器分为一级缓存器和二级缓存器,一级缓存器中存储有已被访问的数据包,二级缓存器中存储有从该NDN的服务节点获取的预测被访问的数据包。缓存节点接收到客户端节点发送的请求,该请求包括待请求数据的待请求命名,检查一级缓存器中是否存储有与该待请求命名对应的第一数据包,如果一级缓存器中未存储,则检查二级缓存器中是否存储有该第一数据包,如果二级缓存器中存储有,则检测一级缓存器的可用存储空间是否小于该第一数据包的数据量,若小于,则提取出一级缓存器中至少一个第二数据包,并将该第一数据包移动至一级缓存器,再检测二级缓存器的可用存储空间是否小于该第二数据包的数据量,若小于,则删除第二缓存器中至少一个第三数据包,并将至少一个第二数据包存储至二级缓存器,并将该第一数据包发送给所述客户端节点;其中,至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量。
[0027]本专利技术实施例提供的命名数据网络的缓存替换方法及装置,可以解决命名数据网络节点在存储数据包时,忽略数据包访问次数的未来变化趋势、不能满足互联网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种命名数据网络的缓存替换方法,其特征在于,应用于所述命名数据网络NDN的缓存节点,所述缓存节点包括一级缓存器和二级缓存器,所述一级缓存器中存储有已被访问的数据包,所述二级缓存器中存储有从所述NDN的服务节点获取的预测被访问的数据包;所述方法包括:接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名;检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包;如果所述一级缓存器中未存储,则检测所述二级缓存器中是否存储有所述第一数据包;如果所述二级缓存器中存储有,则检测所述一级缓存器的可用存储空间是否小于所述第一数据包的数据量;若小于所述第一数据包的数据量,则提取出所述一级缓存器中至少一个第二数据包,并将所述第一数据包移动至所述一级缓存器;检测所述二级缓存器的可用存储空间是否小于提取出的所述至少一个第二数据包的数据量;所述至少一个第二数据包的数据量大于等于所述第一数据包的数据量;若小于所述至少一个第二数据包的数据量,则删除第二缓存器中至少一个第三数据包,并将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量;向所述客户端节点发送所述第一数据包。2.根据权利要求1所述的方法,其特征在于,在接收客户端节点发送的请求之前,所述方法还包括:获取所述服务节点存储的各个数据包的命名;提取所获取的各个数据包的命名的有效特征,构建各个数据包的特征向量;将各个数据包的特征向量输入预先训练的神经网络模型,得到各个数据包的预测访问次数,所述神经网络模型是根据预设训练集训练获得的模型,所述预设训练集包括:多个样本数据包的命名以及各个样本数据包的实际访问次数;按照预测访问次数从大到小的顺序,依次从所述服务节点获取数据包,并缓存所述二级缓存器,直至所述二级缓存器的存储空间小于预设阈值。3.根据权利要求2所述的方法,其特征在于,所述预先训练的神经网络模型包括一个嵌入层、两个长短期记忆LSTM网络层和一个全连接层;所述全连接层采用线性激活函数。4.根据权利要求2所述的方法,其特征在于,所述获取所述服务节点存储的各个数据包的命名的步骤,包括:按照第一预设周期,获取所述服务节点存储的各个数据包的命名;在按照预测访问次数从大到小的顺序,依次从所述服务节点获取数据包,并缓存所述二级缓存器,直至所述二级缓存器的存储空间小于预设阈值之后,所述方法还包括:将所述二级缓存器中存储的数据包作为待更新数据包,针对每一待更新数据包,按照第二预设周期,检测所述服务节点中第四数据包与该待更新数据包是否相同,所述第四数据包的命名与该待更新数据包的命名相同,所述第二预设周期小于等于所述第一预设周期;如果否,则从所述服务节点中...

【专利技术属性】
技术研发人员:刘亮马华东孙明欣陈博李文生
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1