CN110012071A - 用于物联网的缓存方法和装置 - Google Patents
用于物联网的缓存方法和装置 Download PDFInfo
- Publication number
- CN110012071A CN110012071A CN201910172578.8A CN201910172578A CN110012071A CN 110012071 A CN110012071 A CN 110012071A CN 201910172578 A CN201910172578 A CN 201910172578A CN 110012071 A CN110012071 A CN 110012071A
- Authority
- CN
- China
- Prior art keywords
- institute
- content
- request content
- relative popularity
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种用于物联网的缓存方法和装置。其中,方法包括:接收上一跳节点发送的兴趣包,获取兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所请求内容更新前的相对流行度、相对流行度修正参数和所请求内容的平均请求到达率,获取所请求内容更新后的相对流行度;若判断获知本地缓存中不存在所请求内容,则根据所请求内容更新后的相对流行度判断是否缓存所请求内容;根据判断结果和所请求内容更新后的相对流行度更新兴趣包,生成新的兴趣包,并向下一跳节点发送新的兴趣包。本发明实施例提供的用于物联网的缓存方法和装置,采用基于相对流行度的边缘反馈缓存策略,能增大网内数据命中率并减少请求时延。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种用于物联网的缓存方法和装置。
背景技术
随着技术的进步和互联网应用的普及,物联网应用范围和规模已经远远超越了设计初衷,特别是近几年随着用户接入网络的物理带宽的提高和物联网设备大批量的投入使用,大部分物联网上的内容作为信息密集的形式存在(如视频、音频、文件流),物联网的飞速发展引发了网络数据内容的急剧膨胀。在这种情况下,一种以信息为中心的网络架构应运而生,该架构旨在改变当前以主机为中心的网络架构,将其发展为以内容为中心的模型。与传统TCP/IP架构不同,信息中心网络(简称ICN)使用命名数据代替命名主机,在网络节点处配备高速缓存,使得内容在网络内存在多个副本,内容请求可以从源服务器及中间节点获取,提高不同用户访问同一数据时的响应速度,同时也提高网络信道利用率。在ICN网络架构中,网内缓存被认为是ICN的基本构成块,关于网内缓存的研究也是ICN目前研究的重要方向之一。ICN网内缓存的研究目标主要考虑两个方面:一是从用户角度考虑,提升用户的服务质量;二是从网络本身考虑,提高网络资源利用率和降低节点间的通信流量。然而可以很明显的发现这两个方面之间是相互矛盾的:为提升用户的服务质量,即降低用户检索内容时的服务延迟,需要将流行内容缓存在用户附近的节点中,这会导致同一内容在网络内存在大量副本,造成缓存冗余;而为了提升网络资源的利用率、丰富网内资源多样性,则需要降低内容副本数量,极端方法是同一内容只在网内保留一个副本,这样做是以牺牲用户体验为代价,且由于传输距离增加,额外传输所造成的通信成本提升。由于ICN路由器缓存容量限制,只有将流行度高的内容放置在靠近用户的位置,才能最大限度地发挥ICN缓存的优势。此外,ICN中的请求与内容采用对称的路径进行转发,当请求转发过程中的下游节点缓存某内容后,其上游节点对该内容的请求概率随之降低,该内容在上游节点的缓存所带来的效益将会下降。因此,缓存位置的选择也是决定缓存效果的重要因素。
实践证明ICN网络采用单独缓存决策时服务性能很差,目前对于ICN网内缓存的重点集中在协作缓存决策。协作缓存策略是ICN研究中的热门话题,通过节点之间的缓存协调来有效利用网络中的缓存资源。根据目前已有的研究成果,协作缓存的方法主要可以分为区域内缓存和沿路缓存两种方案。
在沿路缓存策略中,协调仅涉及内容请求转发路径上的所有节点,通过节点间的协调决策内容的缓存位置,以便后续沿路径请求相同的数据时,可以在路径上某一节点处响应请求,而无需再将请求转发至源服务器。在区域内缓存策略中,内容可被缓存在区域内的任意位置,而无需考虑内容转发路径,在这种方式下的缓存管理通常是集中式的,涉及大量内容信息的收集及如何将请求定向到适当的缓存节点,以便缓存数据生效。区域内缓存提供了最佳的缓存放置优化,但由于协调过程涉及区域内的所有节点,需要进行大量的协调开销,因此这种方式的效率低且可扩展性不强。
发明内容
针对现有技术存在的问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的用于物联网的缓存方法和装置。
第一方面,本发明实施例提供一种用于物联网的缓存方法,包括:
接收上一跳节点发送的兴趣包,获取所述兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所述所请求内容更新前的相对流行度、所述相对流行度修正参数和所述所请求内容的平均请求到达率,获取所述所请求内容更新后的相对流行度;
若判断获知本地缓存中不存在所述所请求内容的信息,则根据所述所请求内容更新后的相对流行度判断是否缓存所述所请求内容;
根据判断结果和所述所请求内容更新后的相对流行度更新所述兴趣包,生成新的兴趣包,并向下一跳节点发送所述新的兴趣包。
第二方面,本发明实施例提供一种用于物联网的缓存装置,包括:
获取模块,用于接收上一跳节点发送的兴趣包,获取所述兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所述所请求内容更新前的相对流行度、所述相对流行度修正参数和所述所请求内容的平均请求到达率,获取所述所请求内容更新后的相对流行度;
判断模块,用于若判断获知本地缓存中不存在所述所请求内容的信息,则根据所述所请求内容更新后的相对流行度判断是否缓存所述所请求内容;
更新模块,用于根据判断结果和所述所请求内容更新后的相对流行度更新所述兴趣包,生成新的兴趣包,并向下一跳节点发送所述新的兴趣包。
第三方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的用于物联网的缓存方法。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的用于物联网的缓存方法。
本发明实施例提供的用于物联网的缓存方法和装置,采用基于相对流行度的边缘反馈缓存策略,结合ICN架构的特点,优先考虑边缘侧的服务性能,将缓存决策提前至请求转发阶段,请求转发路径上的节点基于下游节点的决策反馈重新计算内容的相对流行度,由网络边缘向核心网络推进,依次决定在网络内需要缓存的内容项,能够在实现网内数据命中率增大的同时,还能减少用户的请求时延,从而能充分利用边缘网络内有限的缓存空间,提升网络整体性能,并且通过优先满足边缘侧节点的服务需求,能够有效降低内容检索延迟、节省网络带宽及提高边缘网络的资源丰富性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例提供的用于物联网的缓存方法的流程示意图;
图2为根据本发明实施例提供的用于物联网的缓存方法的仿真结果对比图;
图3为根据本发明实施例提供的用于物联网的缓存方法的仿真结果对比图;
图4为根据本发明实施例提供的用于物联网的缓存方法的仿真结果对比图;
图5为根据本发明实施例提供的用于物联网的缓存装置的功能框图;
图6为根据本发明实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术的上述问题,本发明实施例提供一种用于物联网的缓存方法和装置,其发明构思是,提出一种基于内容相对流行度的边缘反馈策略(简称EFS),综合考虑内容检索延迟和网络资源利用率,使得边缘侧缓存分配更加合理。
图1为根据本发明实施例提供的用于物联网的缓存方法的流程示意图。如图1所示,一种用于物联网的缓存方法包括:步骤S101、接收上一跳节点发送的兴趣包,获取兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所请求内容更新前的相对流行度、相对流行度修正参数和所请求内容的平均请求到达率,获取所请求内容更新后的相对流行度。
需要说明的是,根据物联网架构,整个网络可划分为核心区域与边缘区域;本发明实施例将物联网与ICN架构进行结合,缓存方法的执行主体为ICN中边缘网络的节点(简称节点)。上述边缘网络的任一节点,均可用于执行本发明实施例提供的缓存方法。
需要说明的是,本发明的各实施例中,均不存在内容分片,也不考虑传输报文如何进行路由。不存在内容分片,指各内容以统一大小的块存在,且均可承载于单个传输报文中。不考虑传输报文如何进行路由,指内容可在网络内具有多个副本,但内容源只有一个,请求转发基于ICN自身的路由协议(如NDN网络使用OSPFN协议进行路由)。
因此,缓存问题可以用以下模型表示:
其中,N表示边缘网络内的节点集合;E表示边缘网络内的节点间路径集合;C表示边缘网络内的内容总数;m、n均表示边缘网络内的节点;c表示边缘网络内的内容;表示节点n收到内容c的平均请求到达率;pc表示内容c的请求概率;表示从节点m发起的内容请求到达提供内容c节点处的距离;为二元变量,表示内容c是否在节点n处缓存,取值为0或1。
对于所有内容请求,其概率之和为1。每个节点缓存内容数量不超过其缓存空间大小。
缓存方法期望达到的目标是令请求转发距离最短,即缓存收益最大。
当一个边缘节点(节点m)接收用户终端发送的请求,该请求携带了所请求内容的信息。自该节点开始,内容请求转发路径(从下游至上游方向)上的所有节点之间传输报文,直至将内容请求转发至缓存有该所请求内容的节点或内容源。上述内容请求转发过程为请求转发阶段,请求转发阶段节点之间的传输报文称为兴趣包。自缓存有该所请求内容的节点或内容源开始,沿请求转发阶段内容请求转发路径的反方向(即从上游至下游方向)传输报文,直至将该所请求内容返回至接收用户终端发送的请求的节点。上述内容返回过程为内容分发阶段,内容分发阶段(又称内容传播阶段)节点之间的传输报文称为内容包。内容请求转发路径上,本节点相邻的下游节点为上一跳节点,本节点相邻的上游节点为下一跳节点。
现有技术中,在内容分发阶段进行缓存决策,兴趣包仅需要包括所请求内容的信息这个字段,以表示请求获取哪一内容;而本发明实施例中,将缓存决策提前至请求转发阶段进行,兴趣包除需要包括所请求内容的信息这个字段之外,还增加了两个字段:缓存节点列表和相对流行度修正参数。缓存节点列表用于记录所请求内容将被缓存于哪些节点上,当内容包返回时检查该字段以进行内容放置,实现缓存。流行度修正参数用于指导上游节点修正所请求内容的相对流行度。
EFS策略的核心是对内容相对流行度的计算,在最优先级别,EFS策略首先缓存网络边缘处最受欢迎的内容,然后通过逐级向上反馈,确定要在距离边缘侧更远位置节点处缓存的内容。基于以上目标,相对流行度计算过程中的影响因素主要有以下三个:(1)时间因素,随着时间推移,内容相对流行度降低;(2)请求到达频率,包含下游节点未决策请求次数和当前节点新发起内容请求次数,随请求次数增多,内容相对流行度提升;(3)下游节点缓存决策,下游节点已决定缓存该内容时,根据内容请求包中的流行度修正参数重新计算相对流行度,以更新相对流行度。
在节点n处,内容c的平均请求到达率为 表示内容c在节点n处缓存与否,当时表示节点n的本地缓存内有内容c,表示内容c的相对流行度,Tc=<Pc,Qc>表示内容C的默认转发路径上的节点和边,其中Pc是节点集N的子集,Qc是边集E的子集,对于i,j∈Pc,<i,j>∈Qc表示上游节点j是节点i的唯一下一跳节点。在节点n发起的所有内容c的请求均沿着Tc上的节点和边进行转发,并且获取的内容也沿该路径进行返回。
表示节点n处的内容命中情况,相反表示向上游节点进行转发的该内容请求数量。考虑到在实际网络拓扑中,下游节点的未命中内容请求将会向上游节点进行转发,成为上游节点传入请求的一部分,因此在计算时需要考虑相邻节点的缓存命中情况对本节点的影响,因此在节点n处可满足/转发的内容请求数量计算如下:
其中,θc表示兴趣包中的相对流行度修正参数;n'表示节点n的上一跳节点。
对于每一个所请求内容c,更新后的相对流行度等于更新前的相对流行度加上兴趣包中的相对流行度修正参数和当前节点的平均请求到达率。在节点n处更新内容c的相对流行度的公式如下:
步骤S102、若判断获知本地缓存中不存在所请求内容,则根据所请求内容更新后的相对流行度判断是否缓存所请求内容。
具体地,获取所请求内容c更新后的相对流行度之后,判断内容请求是否能够在本地命中,即判断本节点的本地缓存中是否存在所请求内容c。
若即本节点的本地缓存中不存在所请求内容c,本节点无法满足内容请求,说明未命中,则需要将请求继续向上游转发。
若未命中,还要根据更新后的相对流行度判断在内容分发阶段是否在本地缓存所请求内容c。
步骤S103、根据判断结果和所请求内容更新后的相对流行度更新兴趣包,生成新的兴趣包,并向下一跳节点发送新的兴趣包。
具体地,根据在内容分发阶段是否在本地缓存所请求内容的判断结果,确定如何进行对上一跳节点发送的兴趣包中的相对流行度修正参数和缓存节点列表的更新操作,并执行该更新操作,生成新的兴趣包,并向下一跳节点发送新的兴趣包。
本发明实施例采用基于相对流行度的边缘反馈缓存策略,结合ICN架构的特点,优先考虑边缘侧的服务性能,将缓存决策提前至请求转发阶段,请求转发路径上的节点基于下游节点的决策反馈重新计算内容的相对流行度,由网络边缘向核心网络推进,依次决定在网络内需要缓存的内容项,能够在实现网内数据命中率增大的同时,还能减少用户的请求时延,从而能充分利用边缘网络内有限的缓存空间,提升网络整体性能,并且通过优先满足边缘侧节点的服务需求,能够有效降低内容检索延迟、节省网络带宽及提高边缘网络的资源丰富性。
基于上述各实施例的内容,根据所请求内容更新后的相对流行度判断是否缓存所请求内容的具体步骤包括:
获取本地缓存中各已缓存内容当前周期的相对流行度;
判断所请求内容更新后的相对流行度是否大于各已缓存内容当前周期的相对流行度中的最小值;
若大于,则将判断结果确定为缓存;若小于,则将判断结果确定为不缓存。
具体地,对于节点n的本地缓存中的已缓存内容集合Cn中的每一已缓存内容m,获取当前周期的相对流行度当前周期的相对流行度,指在当前时刻所属的时间周期内,该内容的相对流行度。
获取本地缓存中各已缓存内容当前周期的相对流行度之后,确定其中的最小值
确定本地缓存中各已缓存内容当前周期的相对流行度中的最小值之后,通过比较所请求内容更新后的相对流行度与的大小,判断节点n是否缓存所请求内容c。
若大于,则将大于,则将判断结果确定为缓存;若小于,则将判断结果确定为不缓存。
本发明实施例通过判断所请求内容更新后的相对流行度是否大于各已缓存内容当前周期的相对流行度中的最小值,确定是否缓存所请求内容,能够在实现网内数据命中率增大,并能减少用户的请求时延。
基于上述各实施例的内容,已缓存内容当前周期的相对流行度,是根据预设的时间衰减因子和已缓存内容上一周期的相对流行度获取的。
可以理解的是,现有技术中的流行度未考虑时间的影响,为绝对流行度;本发明实施例中的相对流行度考虑了时间因素,在节点n处,随着时间推移之前某一时间段内的流行内容可能在后续时间里不再请求,因此,可以设置一个时间衰减因子τ∈[0,1]。
每一节点n根据预设的时间周期周期性地根据τ重新计算本地缓存中各已缓存内容的相对流行度。运行过程中通过调整τ来控制流行内容的替换频率。
对于任一节点n本地缓存中的任一已缓存内容c,当前周期的相对流行度通过如下公式计算:
其中,表示当前周期的相对流行度;表示上一周期的相对流行度。
可以理解的是,本地缓存中已缓存内容都是之前的所请求内容,因此,上述当前周期的相对流行度的计算公式还可以表示为:
本发明实施例通过考虑时间因素计算已缓存内容当前周期的相对流行度,能够在实现网内数据命中率增大,并能减少用户的请求时延。
基于上述各实施例的内容,根据判断结果和所请求内容更新后的相对流行度更新兴趣包,生成新的兴趣包的具体步骤包括:
若判断结果为缓存,则将本节点加入缓存节点列表中,并根据所请求内容更新后的相对流行度更新相对流行度修正参数,生成新的兴趣包;
若判断结果为不缓存,则根据所请求内容更新后的相对流行度更新相对流行度修正参数,生成新的兴趣包。
可以理解的是,无论本节点是否缓存所请求内容,都会影响相对流行度修正参数,因此,根据本节点是否缓存所请求内容,对兴趣包中的相对流行度修正参数进行相应的更新。
更新相对流行度修正参数的公式如下:
其中,CLc={n1,n2,…,nm|m≤|N|},表示缓存节点列表。缓存节点列表为内容请求转发路径上已决定缓存该内容的下游节点的列表。
可以理解的是,若本节点缓存所请求内容,则需要将本节点加入到缓存节点列表中;若本节点缓存所请求内容,则不需要将本节点加入到缓存节点列表中。因此,更新缓存节点列表的表达式如下:
本发明实施例通过在断结果为缓存时更新相对流行度修正参数和缓存节点列表,在断结果为不存时更新相对流行度修正参数,获取新的兴趣包,能实现请求转发路径上的节点基于下游节点的决策反馈重新计算内容的相对流行度,由网络边缘向核心网络推进,依次决定在网络内需要缓存的内容项。通过优先满足边缘侧节点的服务需求,能够有效降低内容检索延迟、节省网络带宽及提高边缘网络的资源丰富性。
基于上述各实施例的内容,获取所请求内容更新后的相对流行度之后还包括:若判断获知本地缓存中存在所请求内容的信息,则生成携带所请求内容和缓存节点列表的内容包,向上一跳节点发送内容包。
具体地,步骤S102中,若内容请求是否能够在本地命中的判断结果为命中,即说明本节点的本地缓存中存在所请求内容c,本节点能满足内容请求,则将所请求内容c和本节点接收到的兴趣包携带的缓存节点列表放入内容包中,生成携带所请求内容和缓存节点列表的内容包,将该内容包沿内容请求转发路径向位于本节点下游的上一跳节点返回。
本发明实施例通过转发路径上节点之间的内容反馈,对网内缓存进行合理的分配,能够有效降低内容检索延迟、节省网络带宽及提高边缘网络的资源丰富性,能充分利用边缘网络内有限的缓存空间,提升网络整体性能。
基于上述各实施例的内容,向下一跳节点发送新的兴趣包之后,还包括:接收下一跳节点发送的携带所请求内容和缓存节点列表的内容包;若判断获知本地缓存的剩余空间不为空,则将所请求内容缓存至本地缓存中;若判断获知本地缓存的剩余空间为空,则判断内容包携带的缓存节点列表中是否存在本节点;若存在,则获取本地缓存中各已缓存内容当前周期的相对流行度,将当前周期的相对流行度最低的已缓存内容替换为所请求内容,并向上一跳节点发送内容包。
具体地,本节点接收到位于上游的下一跳节点返回的内容包之后,先判断本地缓存的剩余空间是否为空。
若判断结果为本地缓存的剩余空间不为空,说明缓存空间未满,还可以缓存至少一个内容,则不论内容包携带的缓存节点列表中是否存在本节点,将内容包所携带的所请求内容缓存至本节点的本地缓存中。
若判断结果为本地缓存的剩余空间为空,说明缓存空间已满,需要先判断内容包携带的缓存节点列表中是否存在本节点。
若缓存节点列表中存在本节点,说明本节点需要缓存该所请求的内容,但由于缓存空间已满,需要进行替换决策,即判断所请求内容替换掉哪一个已缓存的内容。
可以理解的是,可以根据已缓存的内容的相对流行度大小进行决策。相对流行度越大,说明之后被请求的概率越大;相对流行度越小,说明之后被请求的概率越小。因此,可以获取本地缓存中各已缓存内容当前周期的相对流行度,并按照相对流行度由低到高排序,将相对流行度最低的一项进行替换,替换为该所请求的内容。
替换之后,将内容包向位于下游的上一跳节点转发。
本发明实施例根据各已缓存内容当前周期的相对流行度的大小进行所请求内容的替换决策,能通过转发路径上节点之间的内容反馈,对网内缓存进行合理的分配,能够在实现网内数据命中率增大的同时,还能减少用户的请求时延,从而能充分利用边缘网络内有限的缓存空间,提升网络整体性能。
基于上述各实施例的内容,判断内容包携带的缓存节点列表中是否存在本节点之后还包括:若不存在,则向上一跳节点发送内容包。
可以理解的是,若缓存节点列表中不存在本节点,说明本节点不需要缓存该所请求的内容,则直接将内容包向位于下游的上一跳节点转发。
本发明实施例根据各已缓存内容当前周期的相对流行度的大小进行所请求内容的替换决策,能通过转发路径上节点之间的内容反馈,对网内缓存进行合理的分配,能够在实现网内数据命中率增大的同时,还能减少用户的请求时延,从而能充分利用边缘网络内有限的缓存空间,提升网络整体性能。
下面通过一个实例说明本发明各实施例的技术效果。
使用ndnSIM仿真工具对本发明各实施例提出的EFS策略和其他几种沿路缓存策略的仿真。其他几种沿路缓存策略包括:
LCE(Leave Copy Everywhere):最原始的随处缓存策略。
LCD(Leave Copy Down):内容仅缓存在命中节点的下一跳节点。
Probability(Prob):内容以一定概率进行缓存,概率值为0.7。
ProbCache(Prop):内容缓存概率与缓存容量和缓存收益成正比。
Betw:内容放置在节点介数值高的节点,介数值用于衡量节点在拓扑中的重要程度。
仿真结果如图2至图4所示。
如图2所示,与其他几种策略相比,EFS策略具有更高的网内命中率,这是由于EFS策略对缓存内容进行实时的更新替换,使得网内缓存的分布与内容的流行度更为契合,从而能够提供更高的网内命中率。
如图3所示,EFS策略相较于其他策略有更低的平均时延,这是由于EFS策略的缓存决策是由边缘向网络核心方向进行,将缓存放置在更靠近用户边缘的位置,从而使用户请求能够更快地得到满足,使得请求内容的平均时延更低。
如图4所示,EFS策略通过路径上节点之间的协调,平均节点命中率比其他几种策略有明显的提升。
图5为根据本发明实施例提供的用于物联网的缓存装置的功能框图。基于上述各实施例的内容,如图5所示,该用于物联网的缓存装置包括获取模块501、判断模块502和更新模块503,其中:
获取模块501,用于接收上一跳节点发送的兴趣包,获取兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所请求内容更新前的相对流行度、相对流行度修正参数和所请求内容的平均请求到达率,获取所请求内容更新后的相对流行度;
判断模块502,用于若判断获知本地缓存中不存在所请求内容,则根据所请求内容更新后的相对流行度判断是否缓存所请求内容;
更新模块503,用于根据判断结果和所请求内容更新后的相对流行度更新兴趣包,生成新的兴趣包,并向下一跳节点发送新的兴趣包。
具体地,获取模块501接收上一跳节点发送的兴趣包之后,获取兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并计算更新后的相对流行度更新后的相对流行度等于更新前的相对流行度加上兴趣包中的相对流行度修正参数和当前节点的平均请求到达率。在节点n处更新内容c的相对流行度的公式如下:
判断模块502获取所请求内容c更新后的相对流行度之后,判断内容请求是否能够在本地命中,即判断本节点的本地缓存中是否存在所请求内容c。若不存在,说明未命中,则需要将请求继续向上游转发,还要根据更新后的相对流行度判断在内容分发阶段是否在本地缓存所请求内容c。
更新模块503根据在内容分发阶段是否在本地缓存所请求内容的判断结果,确定如何进行对上一跳节点发送的兴趣包中的相对流行度修正参数和缓存节点列表的更新操作,并执行该更新操作,生成新的兴趣包,并向下一跳节点发送新的兴趣包。
本发明实施例提供的用于物联网的缓存装置为节点,用于执行本发明上述各实施例提供的用于物联网的缓存方法,该用于物联网的缓存装置包括的各模块实现相应功能的具体方法和流程详见上述用于物联网的缓存方法的实施例,此处不再赘述。
该用于物联网的缓存装置用于前述各实施例的用于物联网的缓存方法。因此,在前述各实施例中的用于物联网的缓存方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
本发明实施例采用基于相对流行度的边缘反馈缓存策略,结合ICN架构的特点,优先考虑边缘侧的服务性能,将缓存决策提前至请求转发阶段,请求转发路径上的节点基于下游节点的决策反馈重新计算内容的相对流行度,由网络边缘向核心网络推进,依次决定在网络内需要缓存的内容项,能够在实现网内数据命中率增大的同时,还能减少用户的请求时延,从而能充分利用边缘网络内有限的缓存空间,提升网络整体性能,并且通过优先满足边缘侧节点的服务需求,能够有效降低内容检索延迟、节省网络带宽及提高边缘网络的资源丰富性。
图6为根据本发明实施例提供的电子设备的结构框图。基于上述实施例的内容,如图6所示,该电子设备可以包括:处理器(processor)601、存储器(memory)602和总线603;其中,处理器601和存储器602通过总线603完成相互间的通信;处理器601用于调用存储在存储器602中并可在处理器601上运行的计算机程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收上一跳节点发送的兴趣包,获取兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所请求内容更新前的相对流行度、相对流行度修正参数和所请求内容的平均请求到达率,获取所请求内容更新后的相对流行度;若判断获知本地缓存中不存在所请求内容,则根据所请求内容更新后的相对流行度判断是否缓存所请求内容;根据判断结果和所请求内容更新后的相对流行度更新兴趣包,生成新的兴趣包,并向下一跳节点发送新的兴趣包。
本发明另一实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收上一跳节点发送的兴趣包,获取兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所请求内容更新前的相对流行度、相对流行度修正参数和所请求内容的平均请求到达率,获取所请求内容更新后的相对流行度;若判断获知本地缓存中不存在所请求内容,则根据所请求内容更新后的相对流行度判断是否缓存所请求内容;根据判断结果和所请求内容更新后的相对流行度更新兴趣包,生成新的兴趣包,并向下一跳节点发送新的兴趣包。
此外,上述的存储器602中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明另一实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:接收上一跳节点发送的兴趣包,获取兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所请求内容更新前的相对流行度、相对流行度修正参数和所请求内容的平均请求到达率,获取所请求内容更新后的相对流行度;若判断获知本地缓存中不存在所请求内容,则根据所请求内容更新后的相对流行度判断是否缓存所请求内容;根据判断结果和所请求内容更新后的相对流行度更新兴趣包,生成新的兴趣包,并向下一跳节点发送新的兴趣包。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行上述各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种用于物联网的缓存方法,其特征在于,包括:
接收上一跳节点发送的兴趣包,获取所述兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所述所请求内容更新前的相对流行度、所述相对流行度修正参数和所述所请求内容的平均请求到达率,获取所述所请求内容更新后的相对流行度;
若判断获知本地缓存中不存在所述所请求内容的信息,则根据所述所请求内容更新后的相对流行度判断是否缓存所述所请求内容;
根据判断结果和所述所请求内容更新后的相对流行度更新所述兴趣包,生成新的兴趣包,并向下一跳节点发送所述新的兴趣包。
2.根据权利要求1所述的用于物联网的缓存方法,其特征在于,所述根据所述所请求内容更新后的相对流行度判断是否缓存所述所请求内容的具体步骤包括:
获取本地缓存中各已缓存内容当前周期的相对流行度;
判断所述所请求内容更新后的相对流行度是否大于各所述已缓存内容当前周期的相对流行度中的最小值;
若大于,则将判断结果确定为缓存;若小于,则将判断结果确定为不缓存。
3.根据权利要求2所述的用于物联网的缓存方法,其特征在于,所述已缓存内容当前周期的相对流行度,是根据预设的时间衰减因子和所述已缓存内容上一周期的相对流行度获取的。
4.根据权利要求2所述的用于物联网的缓存方法,其特征在于,所述根据判断结果和所述所请求内容更新后的相对流行度更新所述兴趣包,生成新的兴趣包的具体步骤包括:
若判断结果为缓存,则将本节点加入所述缓存节点列表中,并根据所述所请求内容更新后的相对流行度更新相对流行度修正参数,生成所述新的兴趣包;
若判断结果为不缓存,则根据所述所请求内容更新后的相对流行度更新相对流行度修正参数,生成所述新的兴趣包。
5.根据权利要求1所述的用于物联网的缓存方法,其特征在于,获取所述所请求内容更新后的相对流行度之后还包括:
若判断获知本地缓存中存在所述所请求内容的信息,则生成携带所述所请求内容和缓存节点列表的内容包,向所述上一跳节点发送所述内容包。
6.根据权利要求1至5任一所述的用于物联网的缓存方法,其特征在于,所述向下一跳节点发送所述新的兴趣包之后,还包括:
接收所述下一跳节点发送的携带所述所请求内容和缓存节点列表的内容包;
若判断获知本地缓存的剩余空间不为空,则将所述所请求内容缓存至本地缓存中;
若判断获知本地缓存的剩余空间为空,则判断所述内容包携带的缓存节点列表中是否存在本节点;
若存在,则获取本地缓存中各已缓存内容当前周期的相对流行度,将当前周期的相对流行度最低的已缓存内容替换为所述所请求内容,并向所述上一跳节点发送所述内容包。
7.根据权利要求6所述的用于物联网的缓存方法,其特征在于,所述判断所述内容包携带的缓存节点列表中是否存在本节点之后还包括:
若不存在,则向所述上一跳节点发送所述内容包。
8.一种用于物联网的缓存装置,其特征在于,包括:
获取模块,用于接收上一跳节点发送的兴趣包,获取所述兴趣包携带的所请求内容的信息、缓存节点列表和相对流行度修正参数,并根据所述所请求内容更新前的相对流行度、所述相对流行度修正参数和所述所请求内容的平均请求到达率,获取所述所请求内容更新后的相对流行度;
判断模块,用于若判断获知本地缓存中不存在所述所请求内容的信息,则根据所述所请求内容更新后的相对流行度判断是否缓存所述所请求内容;
更新模块,用于根据判断结果和所述所请求内容更新后的相对流行度更新所述兴趣包,生成新的兴趣包,并向下一跳节点发送所述新的兴趣包。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910172578.8A CN110012071B (zh) | 2019-03-07 | 2019-03-07 | 用于物联网的缓存方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910172578.8A CN110012071B (zh) | 2019-03-07 | 2019-03-07 | 用于物联网的缓存方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110012071A true CN110012071A (zh) | 2019-07-12 |
CN110012071B CN110012071B (zh) | 2020-09-25 |
Family
ID=67166924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910172578.8A Active CN110012071B (zh) | 2019-03-07 | 2019-03-07 | 用于物联网的缓存方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110012071B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112261128A (zh) * | 2020-10-21 | 2021-01-22 | 重庆邮电大学 | 一种针对ccn中内容源移动的主动推送缓存方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107105043A (zh) * | 2017-04-28 | 2017-08-29 | 西安交通大学 | 一种基于软件定义网络的内容中心网络缓存方法 |
US20180191590A1 (en) * | 2016-12-29 | 2018-07-05 | Cedric Westphal | Centrality-Based Caching in Information-Centric Networks |
CN108366089A (zh) * | 2018-01-08 | 2018-08-03 | 南京邮电大学 | 一种基于内容流行度和节点重要度的ccn缓存方法 |
CN108769252A (zh) * | 2018-06-21 | 2018-11-06 | 河南科技大学 | 一种基于请求内容关联性的icn网络预缓存方法 |
-
2019
- 2019-03-07 CN CN201910172578.8A patent/CN110012071B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180191590A1 (en) * | 2016-12-29 | 2018-07-05 | Cedric Westphal | Centrality-Based Caching in Information-Centric Networks |
CN107105043A (zh) * | 2017-04-28 | 2017-08-29 | 西安交通大学 | 一种基于软件定义网络的内容中心网络缓存方法 |
CN108366089A (zh) * | 2018-01-08 | 2018-08-03 | 南京邮电大学 | 一种基于内容流行度和节点重要度的ccn缓存方法 |
CN108769252A (zh) * | 2018-06-21 | 2018-11-06 | 河南科技大学 | 一种基于请求内容关联性的icn网络预缓存方法 |
Non-Patent Citations (1)
Title |
---|
智江: "基于边缘优先的ICN缓存策略", 《通信学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112261128A (zh) * | 2020-10-21 | 2021-01-22 | 重庆邮电大学 | 一种针对ccn中内容源移动的主动推送缓存方法 |
CN112261128B (zh) * | 2020-10-21 | 2022-08-12 | 重庆邮电大学 | 一种针对ccn中内容源移动的主动推送缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110012071B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332913B (zh) | 一种5g移动网络中服务功能链的优化部署方法 | |
Zhang et al. | Cooperative edge caching: A multi-agent deep learning based approach | |
CN102447973B (zh) | 一种缓存调整的方法、装置和系统 | |
CN103475719B (zh) | 一种cdn-p2p融合网络中跨域流量最小化的内容分发方法 | |
CN107786620B (zh) | 一种获取资源的方法、终端及服务器 | |
CN104811493B (zh) | 一种网络感知的虚拟机镜像存储系统及读写请求处理方法 | |
CN109936633A (zh) | 内容中心网络中基于内容重要度的协作缓存策略 | |
CN104348722B (zh) | 确定内容获取路径、请求处理的方法、装置和系统 | |
CN112346854A (zh) | 一种分层协同决策的网内资源调度方法及系统、存储介质 | |
CN108366089B (zh) | 一种基于内容流行度和节点重要度的ccn缓存方法 | |
CN110336885A (zh) | 边缘节点分配方法、装置、调度服务器及存储介质 | |
CN111314862B (zh) | 雾无线接入网中深度强化学习下带有推荐的缓存方法 | |
CN111885648A (zh) | 基于边缘缓存的能量有效的网络内容分发机制构建方法 | |
CN105656788A (zh) | 基于流行度统计的ccn内容缓存方法 | |
CN108848395A (zh) | 基于果蝇优化算法的边缘协作缓存布置方法 | |
CN110012071A (zh) | 用于物联网的缓存方法和装置 | |
CN101551781A (zh) | 一种p2p视频点播系统中的磁盘缓存替换方法 | |
CN110113213A (zh) | 一种基于云无线接入网架构的协作式缓存部署方法 | |
CN106572168A (zh) | 基于内容价值缓存的内容中心网络协同缓存方法及系统 | |
Reshadinezhad et al. | An efficient adaptive cache management scheme for named data networks | |
Shi et al. | Content caching policy for 5g network based on asynchronous advantage actor-critic method | |
CN107302571B (zh) | 基于果蝇算法的信息中心网络路由和缓存管理方法 | |
CN110113418B (zh) | 一种车联信息中心网络的协同缓存更新方法 | |
Negara et al. | C3CPS: CRITIC-CoCoSo-based caching placement strategy using multi-criteria decision method for efficient content distribution in Named Data Networking | |
Cao et al. | Family-aware pricing strategy for accelerating video dissemination over information-centric vehicular networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |