CN113542349A - 一种命名数据网络的缓存替换方法及装置 - Google Patents
一种命名数据网络的缓存替换方法及装置 Download PDFInfo
- Publication number
- CN113542349A CN113542349A CN202110601012.XA CN202110601012A CN113542349A CN 113542349 A CN113542349 A CN 113542349A CN 202110601012 A CN202110601012 A CN 202110601012A CN 113542349 A CN113542349 A CN 113542349A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- cache
- stored
- buffer
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000015654 memory Effects 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 19
- 238000003062 neural network model Methods 0.000 claims description 17
- 239000013598 vector Substances 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 16
- 230000008859 change Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 17
- 239000010410 layer Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 238000007405 data analysis Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 101100465000 Mus musculus Prag1 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- 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/566—Grouping or aggregating service requests, e.g. for unified processing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种命名数据网络的缓存替换方法和装置,应用于缓存节点,缓存节点接收客户端节点发送的请求,检测一级缓存器中是否存储有与该请求对应的第一数据包,如果没有,检测二级缓存器中是否存储有该第一数据包,如果有,检测一级缓存器的可用存储空间是否小于该第一数据包的数据量,若小于,提取出一级缓存器中至少一个第二数据包,将所述第一数据包移动至所述一级缓存器,再检测二级缓存器的可用存储空间是否小于该第二数据包的数据量,若小于,删除第二缓存器中至少一个第三数据包,将该至少一个第二数据包移动至二级缓存器,并将该第一数据包发送给客户端节点。应用本发明实施例可以提高缓存空间利用率、降低网络传输时延。
Description
技术领域
本发明涉及缓存技术领域,特别是涉及一种命名数据网络的缓存替换方法及装置。
背景技术
在命名数据网络中,缓存节点需要维护一个CS(Content Store,内容存储器),CS会对经过的数据包进行存储,且CS中的缓存在每次通信结束后都不会被清除,该缓存内容可以用于下一次通信。当下一次通信中与该缓存内容相匹配的请求数据再次到达节点时,CS中的该缓存内容会被直接返回,而无须再去服务节点获取该数据包。
缓存替换策略是指当缓存节点中缓存空间已被占满,且需要存储新的数据包时,该缓存节点所采用的策略。目前,命名数据网络的缓存替换策略主要有LRU(LeastRecently Used,最近最少使用算法)、LFU(Least Frequently Used,最不经常使用算法)与FIFO(First In First Out,先进先出算法)。在缓存空间已满时:LRU即时间替换,保存新到达缓存节点的数据包,删除存储时间最长的数据包;LFU即次数替换,保存新到达缓存节点的数据包,删除被请求次数最少的数据包;FIFO即删除前一个被保存的数据包,再保存新到达缓存节点的数据包。
但是,LRU没有考虑缓存访问次数的周期性变化,因此一个在特定时间访问次数高的数据包很可能被最近请求的数据包替换;LFU可能会导致缓存被之前访问次数很高、但最近很少被使用的数据包占满,而新到达的数据包无法被保存;FIFO则既存储不了访问次数高的数据包,也存储不了经常被访问的数据包,命中率最低。现有的缓存替换策略一般根据过往的历史以及时间局部性原理进行缓存决策,未能考虑数据未来的流行度变化,不能随着互联网用户需求的动态变化而变化,也没有考虑各种数据本身的特点,从而导致缓存空间利用率低,网络传输时延很高的问题,不能很好满足用户需求。
发明内容
本发明实施例的目的在于提供一种命名数据网络的缓存替换方法和装置,以实现提高了缓存空间利用率、降低了网络的传输时延的目的。
本申请实施例的第一方面,首先提供了一种命名数据网络的缓存替换方法,应用于所述NDN的缓存节点,所述缓存节点包括一级缓存器和二级缓存器,所述一级缓存器中存储有已被访问的数据包,所述二级缓存器中存储有从所述NDN的服务节点获取的预测被访问的数据包;所述方法包括:
接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名;
检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包;
如果所述一级缓存器中未存储,则检测所述二级缓存器中是否存储有所述第一数据包;
如果所述二级缓存器中存储有,则检测所述一级缓存器的可用存储空间是否小于所述第一数据包的数据量;
若小于所述第一数据包的数据量,则提取出所述一级缓存器中至少一个第二数据包,并将所述第一数据包移动至所述一级缓存器;
检测所述二级缓存器的可用存储空间是否小于提取出的所述至少一个第二数据包的数据量;所述至少一个第二数据包的数据量大于等于所述第一数据包的数据量;
若小于所述至少一个第二数据包的数据量,则删除第二缓存器中至少一个第三数据包,并将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量;
向所述客户端节点发送所述第一数据包。
本申请实施例的第二方面,提供了一种命名数据网络的缓存替换装置,应用于所述NDN的缓存节点,所述缓存节点包括一级缓存器和二级缓存器,所述一级缓存器中存储有已被访问的数据包,所述二级缓存器中存储有从所述NDN的服务节点获取的预测被访问的数据包;所述装置包括:
请求接收单元,用于接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名;
扫描单元,用于检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包;如果所述一级缓存器中未存储,则检测所述二级缓存器中是否存储有所述第一数据包;如果所述二级缓存器中存储有,则检测所述一级缓存器的可用存储空间是否小于所述第一数据包的数据量;
缓存替换单元,用于若小于所述第一数据包的数据量,则提取出所述一级缓存器中至少一个第二数据包,并将所述第一数据包移动至所述一级缓存器;检测所述二级缓存器的可用存储空间是否小于提取出的所述至少一个第二数据包的数据量;所述至少一个第二数据包的数据量大于等于所述第一数据包的数据量;若小于所述至少一个第二数据包的数据量,则删除第二缓存器中至少一个第三数据包,并将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量;
发送单元,用于向所述客户端节点发送所述第一数据包。
本申请实施的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一命名数据网络的缓存替换方法的步骤。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一命名数据网络的缓存替换方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一命名数据网络的缓存替换方法的步骤。
本发明实施例有益效果:
本发明实施例提供的技术方案中,将命名数据网络NDN中缓存节点的内容存储器分为一级缓存器和二级缓存器,一级缓存器中存储有已被访问的数据包,二级缓存器中存储有从该NDN的服务节点获取的预测被访问的数据包。缓存节点接收到客户端节点发送的请求,该请求包括待请求数据的待请求命名,检查一级缓存器中是否存储有与该待请求命名对应的第一数据包,如果一级缓存器中未存储,则检查二级缓存器中是否存储有该第一数据包,如果二级缓存器中存储有,则检测一级缓存器的可用存储空间是否小于该第一数据包的数据量,若小于,则提取出一级缓存器中至少一个第二数据包,并将该第一数据包移动至一级缓存器,再检测二级缓存器的可用存储空间是否小于该第二数据包的数据量,若小于,则删除第二缓存器中至少一个第三数据包,并将至少一个第二数据包存储至二级缓存器,并将该第一数据包发送给所述客户端节点;其中,至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量。
本发明实施例提供的命名数据网络的缓存替换方法及装置,可以解决命名数据网络节点在存储数据包时,忽略数据包访问次数的未来变化趋势、不能满足互联网用户需求的动态变化、缓存空间利用率很低、数据的传输时延高的问题。通过一级缓存器中存储已被访问的数据包,二级缓存器存储从NDN的服务节点获取的预测被访问的数据包的二级缓存机制,对预先预测会被访问的数据包做出处理,并根据已发生的访问次数变化,对已存储的数据包做出相应替换,既满足了互联网用户需求的动态变化,又提高了缓存空间利用率、降低了网络的传输时延。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的NDN的缓存替换方法的一种流程示意图;
图2为本发明实施例提供的数据包命名方式的一种示意图;
图3为本发明实施例提供的NDN中预测数据包访问次数方法的一种流程示意图;
图4为本发明实施例提供的预先训练的神经网络模型的一种结构示意图;
图5为本发明实施例提供的第一种数据分析图;
图6为本发明实施例提供的第二种数据分析图;
图7为本发明实施例提供的第三种数据分析图;
图8为本发明实施例提供的第四种数据分析图;
图9为本发明实施例提供的NDN缓存模型的一种结构示意图;
图10为本发明实施例提供的NDN的缓存替换装置的一种结构示意图;
图11为本发明实施例提供的NDN中预测数据包访问次数装置的一种结构示意图;
图12为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明实施例提供的命名数据网络的缓存替换方法进行详细说明。
参见图1,图1为本发明实施例提供的NDN的缓存替换方法的一种流程示意图。该方法应用于NDN(Named Data Networking,命名数据网络)的缓存节点,缓存节点包括一级缓存器和二级缓存器,一级缓存器中存储有已被访问的数据包,二级缓存器中存储有从NDN的服务节点获取的预测被访问的数据包。该方法包括如下步骤。
步骤101,接收客户端节点发送的请求,该请求包括待请求数据的待请求命名。
在一个实施例中,命名数据网络中的数据包的命名方式可以如图2所示,图2为本发明实施例提供的数据包命名方式的一种示意图,该命名包含了数据的NDN’、地区、时间、类型四个特性。由于数据包命名的全网唯一性,而时间、地点、数据包类型能简单、全面和唯一地表示数据,因此该命名方式可以唯一地表示数据包。
其中,NDN’表示数据包处于命名数据网络域;地区表示服务节点作用的地区,例如北京、纽约等;时间表示请求发出的时间,例如2018-12-28等;类型表明请求的类型,例如天气、气温等。这样的命名方式虽然简单,但是它能准确、完整的表明用户的需求,而且在后续的缓存替换算法中,能够方便高效地从命名中获取数据包的特征,进而对数据包预测访问次数。
步骤102,检测一级缓存器中是否存储有与待请求命名对应的第一数据包。
如果一级缓存器中存储有,则将该第一数据包发送给客户端节点。本申请实施例中,缓存节点在将第一数据包发送给客户端节点后,可以将该第一数据包的访问次数累计加1。第一数据包的访问次数即为第一数据包的流行度。本申请实施例中,一级缓存可以是内存驻留,二级缓存可以是硬盘驻留,按数据流行度和预取策略进行缓存。
如果一级缓存器中未存储,则实施步骤103。
步骤103,检测二级缓存器中是否存储有该第一数据包。
在一个实施例中,如果二级缓存器中未存储,则将所述请求转发至其他节点。该其他节点可以为其他缓存节点,也可以为服务节点。
如果二级缓存器中存储有,则实施步骤104。
步骤104,检测一级缓存器的可用存储空间是否小于该第一数据包的数据量。
在一个实施例中,如果一级缓存器的可用存储空间不小于该第一数据包的数据量,则可以直接将该第一数据包移动至一级缓存器,并将该第一数据包发送给客户端节点。具体的,缓存节点将二级缓存器中的第一数据包复制一份存储至一级缓存器,并删除二级缓存器中存储的第一数据包。
如果一级缓存器的可用存储空间小于该第一数据包的数据量,则实施步骤105。
步骤105,提取出一级缓存器中至少一个第二数据包,并将第一数据包移动至一级缓存器。
在一个实施例中,缓存节点按照访问次数由小到大的顺序,依次提取一级缓存器中的第二数据包,具体的,缓存节点将该第二数据包复制一份,然后删除一级缓存器存储的该第二数据包。缓存节点每提取出一个第二数据包,比较一次一级缓存器的可用存储空间与该第一数据包的数据量,直至一级缓存器的可用存储空间大于等于该第一数据包的数据量时,停止提取,将第一数据包移动至一级缓存器,具体的,缓存节点将二级缓存器中的第一数据包复制一份存储至一级缓存器,并删除二级缓存器中存储的第一数据包。
步骤106,检测二级缓存器的可用存储空间是否小于提取出的至少一个第二数据包的数据量。
如果二级缓存器的可用存储空间不小于该提取出的至少一个第二数据包的数据量,则将该提取出的至少一个第二数据包移动至二级缓存器。具体的,缓存节点将复制的至少一个第二数据包存储至二级缓存器。
如果二级缓存器的可用存储空间小于该第二数据包的数据量,则实施步骤107。
步骤107,删除第二缓存器中至少一个第三数据包,将该至少一个第二数据包移动至二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量。
在一个实施例中,如果二级缓存器的可用存储空间小于该第二数据包的数据量,则缓存节点按照访问次数由小到大的顺序,依次删除二级缓存器中的第三数据包,缓存节点每删除一个第三数据包,比较一次二级缓存器的可用存储空间与提取出来的至少一个第二数据包的数据量,直至二级缓存器的可用存储空间大于等于该至少一个第二数据包的数据量时,停止删除,将将该至少一个第二数据包移动至二级缓存器。具体的,缓存节点将复制的该至少一个第二数据包存储至二级缓存器。其中,将一级缓存器中的数据包缓存到二级缓存器中,可以采用基于流行度的预取算法:首先,可以根据缓存空间的大小计算可以预取多少数据;然后,生成流行度的累积函数,并根据缓存大小设置阈值,对于每个周期,可以使用流行度模型来预测所有数据空间的流行度,并将等待预取数据的流行度与已在缓存空间中数据的流行度进行比较;然后,可以根据缓存空间的大小计算得出预取流行度阈值,并预取其流行度高于阈值的数据,同时,未来流行度较低的数据可以进行驱逐。
步骤108,向所述客户端节点发送该第一数据包。
本发明实施例提供的命名数据网络的缓存替换方法,可以解决缓存空间利用率很低、数据的传输时延高的问题。通过一级缓存器中存储已被访问的数据包,二级缓存器存储从一级缓存器中替换出来的访问次数相对较低的数据包的二级缓存机制,可以根据已发生的访问次数变化,对已存储的数据包做出相应替换,提高了缓存空间利用率、降低了网络的传输时延。
一个可选的实施例中,本发明实施例还提供了一种NDN中预测数据包访问次数的方法。参见图3,图3为本发明实施例提供的NDN中预测数据包访问次数方法的一种流程示意图。该方法应用于NDN的缓存节点,缓存节点包括一级缓存器和二级缓存器,一级缓存器中存储有已被访问的数据包,二级缓存器中存储有从NDN的服务节点获取的预测被访问的数据包。缓存节点在接收到客户端节点发送的请求之前,该方法包括如下步骤。
步骤301,获取服务节点存储的各个数据包的命名。
一个实施例中,缓存节点可以按照第一预设周期,获取服务节点存储的各个数据包的命名,以定时更新二级缓存器中存储的数据包,提高二级缓存器中数据包的新鲜度。
另一个实施例中,缓存节点可以在接收到更新指令后,获取服务节点存储的各个数据包的命名。更新指令可以为用户输入的,也可以为其他节点发送的。这提高二级缓存器中数据包更新的灵活性。
步骤302,提取所获取的各个数据包的命名的有效特征,构建各个数据包的特征向量。
在一个实施例中,缓存节点获取的一个数据包的命名包含NDN’、地区、月、日、小时、类型共六个特征。由于数据包均来自命名数据网络域,所以NDN’是所有数据包的共同特征,对预测数据包的访问次数没有帮助,属于数据包的命名的无效特征;而地区、月、日、小时、类型可以唯一地表示数据包,故可以作为数据包的命名的有效特征,用来预测访问次数。因此,缓存节点提取该数据包的命名中地区、月、日、小时、类型共五个有效特征,构建出一个五维向量。
步骤303,将各个数据包的特征向量输入预先训练的神经网络模型,得到各个数据包的预测访问次数。
在一个实施例中,该神经网络模型是根据预设训练集训练获得的模型,该预设训练集包括:多个样本数据包的命名以及各个样本数据包的实际访问次数。
在另一个实施例中,由于该神经网络模型的建立需要消耗大量的资源,包括时间与内存空间等,因此可以离线建模,在离线状态下用预设训练集训练生成神经网络模型,再将该离线生成的神经网络模型上传、保存在命名数据网络相应的缓存节点中,用来预测数据的访问次数。
在又一个实施例中,预先训练的神经网络模型的一种结构示意图如图4所示,包括一个嵌入层、两个LSTM(Long Short Term Memory,长短期记忆)网络层和一个全连接层,LSTM Cell为长短期记忆网络单元。其中,两层LSTM(每层具有128个神经元)而不是传统的单层LSTM可以提高训练效率和准确性,第一层LSTM的输出将全部作为第二层LSTM的输入;全连接层采用线性激活函数;整个训练过程采用Adam算法作为优化器。其中,训练过程可以设置的学习率为0.0005,训练epoch为1000,batch为72。
步骤304,按照预测访问次数从大到小的顺序,依次从服务节点获取数据包,并缓存二级缓存器,直至二级缓存器的存储空间小于预设阈值。其中,对二级缓存器的预设阈值可以根据实际需进行设定,本发明实施例不作具体限定。
例如,将二级缓存器的预设阈值设为0.1MB。假设二级缓存器缓存空间总共有1MB,服务节点共有5个数据包,按照预测访问次数从大到小排序,分别记作数据包1、数据包2、数据包3、数据包4和数据包5。数据包1的数据量为0.3MB,数据包2的数据量为0.25MB,数据包3的数据量为0.25MB,数据包4的数据量为0.2MB,数据包5的数据量为0.15MB,则二级缓存器先存储数据包1,再存储数据包2,再存储数据包3,再存储数据包4,此时二级缓存器的缓存空间还剩0MB,小于预设阈值0.1MB,则二级缓存器停止存储,不再存储数据包5。
在一个实施例中,缓存节点按照第一预设周期,获取服务节点存储的各个数据包的命名,并按照预测访问次数从大到小的顺序,依次从服务节点获取数据包,缓存于二级缓存器,直至二级缓存器的存储空间小于预设阈值。在将二级缓存器中存储的数据包作为待更新数据包,针对每一待更新数据包,按照第二预设周期,检测服务节点中的第四数据包与该待更新数据包是否相同,如果否,则缓存节点从服务节点中获取该第四数据包,并删除该待更新数据包。其中,该第四数据包的命名与该待更新数据包的命名相同,该第二预设周期小于等于该第一预设周期。本发明实施例中,将数据包的访问次数记为流行度。
本发明实施例提供的NDN中预测数据包访问次数的方法,可以解决命名数据网络节点在存储数据包时,忽略数据包访问次数的未来变化趋势,不能满足互联网用户需求的动态变化,数据的传输时延高的问题。通过二级缓存器在客户端节点发来的请求到达缓存节点之前,预先存储从NDN的服务节点获取的预测被访问的数据包的预取机制,对预先预测会被访问的数据包做出处理,既满足了互联网用户需求的动态变化,又降低了网络的传输时延。
参见图5,图5为本发明实施例提供的第一种数据分析图,其中,横坐标轴为时间,纵坐标轴为数据的流行度。图中统计了2018年9月11日20时至2018年9月18日20时,电影《头号玩家》、歌手德雷克以及天气数据的流行度。其中,折线501代表热门电影《头号玩家》数据类型的流行度,折线502代表流行歌手德雷克数据类型的流行度,折线503代表天气数据类型的流行度。
从常识可知,天气这种数据类型的流行度相较于其他数据类型如气温、湿度、光照等的流行度,已经高出许多。然而,从图中的对比可知,天气这种数据类型比起热门电影、流行歌手这两种数据类型,其流行度又非常低,流行歌手数据类型流行度的峰值比天气数据类型流行度的峰值高出六倍至七倍,热门电影数据类型流行度的峰值比天气数据流行度的峰值高出八倍甚至十倍。因此数据的流行度是具有稀疏性的,不同类型的数据的流行度差别很大。因此,命名数据网络中缓存节点现在使用的缓存替换策略,在处理这种具有稀疏性的请求数据时失效,对具有稀疏性的响应数据的命中率极低。
参见图6,图6为本发明实施例提供的第二种数据分析图。其中,左图统计了2018年5月24日至30日纽约天气数据每天的流行度变化,其中横坐标轴为时间,纵坐标轴为流行度,由七条折线组成的折线簇代表2018年5月24日至30日纽约天气数据的流行度变化。
从左图可以看出,每一天内纽约的天气数据的流行度变化与相邻几天的流行度变化趋势是一致的,只是在数值上具有一定的差别。将左图在时间轴上按天展开,就得到右图,即2018年5月24日0时至30日24时纽约天气数据流行度的统计折线图。从右图中可以更清晰地看出纽约每一天天气数据流行度变化趋势的一致性。
由图6的分析,可知天气这种数据类型的流行度具有一定的规律性,以天为周期呈现规律性的变化。这就印证了命名数据网络基于数据流行度未来变化趋势设计缓存替换方法的可行性。
参见图7,图7为本发明实施例提供的第三种数据分析图。其中,子图701的横坐标轴代表时间,纵坐标轴代表天气,统计了某个城市在2018年7月27日8:50至23:50这段时间中,天气这种数据类型每隔五分钟其数值的变化;子图702的横坐标轴代表时间,纵坐标轴代表pm2.5浓度,统计了该城市在2018年7月27日8:50至23:50这段时间中,pm2.5浓度这种数据类型每隔五分钟其数值的变化;子图703的横坐标轴代表时间,纵坐标轴代表空气质量指数,统计了该城市在2018年7月27日8:50至23:50这段时间中,空气质量指数这种数据类型每隔五分钟其数值的变化。
从图7可以看出,天气、pm2.5浓度、空气质量指数这三种数据类型的数值会在一段时间内保持不变,具有一定的持久性。因此,在命名数据网络中,可以预设一个时间,缓存节点每隔预设时间检查一次二级缓存器中存储的、从服务节点预先取出的数据包,检查其是否与服务节点的数据包相同,如果相同,则不必替换数据,如果不相同,再替换为新的数据,而不必每次有请求数据到达缓存节点时,都要到服务器节点检查一次数据是否更新。这样可以极大地降低数据传输时延。该性质使前述步骤301-304的设计方法具备了可行性,该步骤包括:
缓存节点按照第一预设周期,获取服务节点存储的各个数据包的命名,并按照预测访问次数从大到小的顺序,依次从服务节点获取数据包,缓存于二级缓存器,直至二级缓存器的存储空间小于预设阈值。再将二级缓存器中存储的数据包作为待更新数据包,针对每一待更新数据包,按照第二预设周期,检测服务节点中的第四数据包与该待更新数据包是否相同,如果否,则缓存节点从服务节点中获取该第四数据包,并删除该待更新数据包。其中,该第四数据包的命名与该待更新数据包的命名相同,该第二预设周期小于等于该第一预设周期。
参见图8,图8为本发明实施例提供的第四种数据分析图,两幅图的横坐标轴均代表流行度,纵坐标轴均代表密度。其中,曲线801是以半小时为单位,对数据流行度更细粒度分析所得的拟合曲线;曲线802是以一小时为单位,对数据流行度更细粒度分析所得的拟合曲线。其中,对数据流行度更细粒度的分析步骤如下:
首先,对各地区一整天的数据的流行度进行分析,发现这些地区的感知数据的流行度服从Zipf(齐夫定律)分布:
其中,PD是区域D的流行度,CD,σd是Zipf分布的参数。然而发现感知数据流行度的指数序列是不一致的,会随着不同时间阶段而变化。
然后,通过对每个小时的数据进行分析发现,一个小时内的数据服从正态分布:qi~N(μ,σ2),其中qi表示流行度的分布,并且过长或者过短的时间段都会失去准确性。从理论上讲,这种正态分布现象可以推导如下:
a)数据在一小段时间内的请求过程{N(t),ti≤t<ti+1}满足正态分布;
qi~N(μ,σ2)
最后,综合上述分析,可以得出结论,数据一整天的流行度变化由多个不同参数的泊松过程组成:Xq(t)={N1(t1),N2(t2)…Nn(tn)}。
通过图5-图8的分析,得出了两个重要结论:一、没有考虑数据的特征的传统的请求-响应模型以及相关的缓存替换算法在该类数据环境下可能失效;二、构建的数据流行度的变化过程可以被视为时间序列数据,其中,时间序列数据是指数值变化具有周期性的数据。
具体的,本申请实施例的缓存替换测量可以包括:
(1)数据包和兴趣包的命名,数据包和兴趣包的命名结构如下:
/NDN/location/time/type/
其中,NDN表示NDN网络域;location表示感知节点作用的地区,例如,北京、纽约等;time表示请求时间,例如2018-12-28等;type表明请求的类型,例如天气、气温等。
(2)流行度的预测,感知数据流行度可以是非连续、非线性、与环境有关的时间序列数据,采用LSTM网络进行流行度的预测。但是,从数据名称中提取的特征对于LSTM来说仅仅有5(纬度:地点、类型、月、日、小时)*24(小时)的有效特征,本申请实施例中,采用一层嵌入层加两层LSTM加一层全连接层进行建模,训练过程采用Adam算法作为优化器,全连接层采用线性激活函数。
(3)两级缓存,在NDN网络节点中,采用两级缓存,其中,第一级缓存(CS1)用来存储用户请求过的流行度高的数据,而第二级缓存(CS2)用来存储在数据流行之前预取的数据以及从第一级缓存中替换出来的相对流行度高的数据。两级缓存架构的设计主要考虑不同存储设备的访问延迟和边缘网络的提取延迟。CS1缓存的存储介质可以是DRAM(用于内部存储器中的转发守护进程),而CS2可以是硬盘(用于外部应用程序的持久缓存)。其中,来自CS1的被逐出的数据将被插入到CS2中,CS2在每个周期的开始处预取数据。
(4)兴趣包的处理过程,当兴趣包到达节点时,处理过程可以参见图9,图9为本发明实施例提供的NDN缓存模型的一种结构示意图,可以包括:Downstream Node(下游节点)和Learning base(基础学习),通过根据Request records(请求记录)得到Featuresrecords(特征记录),然后生成Request vector(请求向量),再通过Learning datebase(学习数据库),得到Learning core(学习要素),生成DL model(Deep Learning model,深度学习模型)并输入到CS(Content Store,内容存储器)中,同时CS还接受来自PIT(PendingInterest Table,待定转发表)的Cache(缓存);而Interest(兴趣包)输入CS后当对PIT时Lookup miss(查找未命中)则add incoming interface(添加传入接口),在针对FIB(Forwarding Information Base,前向转发表)Lookup miss,则Drop/Nack(减少或不响应);并且,针对PIT中的数据Lookup miss时也可以执行Discard date(抛弃数据)。当兴趣包到达节点时,处理过程如下:
1、根据Interest中请求信息的命名,检查CS1中是否有相应的信息,如果存在相应的数据,则直接将数据原路返回,否则,转向b);
2、根据Interest中请求信息的命名,检查CS2中是否有与兴趣包相对应的数据包,若不存在,则检查PIT表,查看是否有相同的请求存在,否则,转向d)与c);
3、根据算法1将相应的数据包缓存在CS1中并删除CS2中相应的数据包;
4、根据PIT中的相应的接口将数据包发回请求的客户端节点。
当数据包到达缓存节点时,上游的处理过程如下所示:
5、根据算法1将数据包缓存到CS1,若算法输出非空,则转f);
6、根据缓存算法2将CS1替换出的数据包缓存到CS2。
其中,上述缓存算法可以为基于流行度的预取算法,具体的:
(5)模型保存,由于深度学习预测流行度的建模需要消耗大量的资源,包括时间空间等,而感知数据具有一定的规律性,因此离线建模,生成的流行度模型保存在节点中,预测数据的流行度。
基于同一种发明构思,根据上述本发明实施例提供的命名数据网络的缓存替换方法以及对数据特性的分析,本发明实施例还提供了一种命名数据网络的缓存替换装置。该装置应用于所述NDN的缓存节点,缓存节点包括一级缓存器和二级缓存器,一级缓存器中存储有已被访问的数据包,二级缓存器中存储有从所述NDN的服务节点获取的预测被访问的数据包。如图10所示,图10为本发明实施例提供的NDN的缓存替换装置的一种结构示意图。该装置包含以下单元。
请求接收单元1001,用于接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名。
扫描单元1002,用于检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包,或者检测所述二级缓存器中是否存储有所述第一数据包,或者检测所述一级缓存器的可用存储空间是否小于所述第一数据包的数据量,或者检测所述二级缓存器的可用存储空间是否小于所述至少一个第二数据包的数据量。
缓存替换单元1003,用于提取出所述一级缓存器中至少一个第二数据包,将所述第一数据包移动至所述一级缓存器,并删除所述第二缓存器中至少一个第三数据包,再将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量。
发送单元1004,用于向所述客户端节点发送所述第一数据包。
一个实施例中,缓存替换单元包含一级缓存器和二级缓存器,其中,一级缓存器用于存储已被访问的数据包,二级缓存器用于存储从NDN的服务节点获取的预测被访问的数据包,以及从一级缓存器中替换出来的访问次数相对不高的数据包。
一个实施例中,缓存替换单元1003还可以用于:
如果一级缓存器的可用存储空间不小于二级缓存器存储的该第一数据包的数据量,则将所述第一数据包移动至所述一级缓存器。
一个实施例中,缓存替换单元1003还可以用于:
如果二级缓存器的可用存储空间不小于提取出的至少一个第二数据包的数据量,则将所述至少一个第二数据包存储至所述二级缓存器。
一个实施例中,发送单元1004还可以用于:
如果一级缓存器中存储有与待请求命名对应的第一数据包,则将该第一数据包发送给所述客户端节点。
一个实施例中,发送单元1004还可以用于:
如果二级缓存器中未存储与待请求命名对应的第一数据包,则将该请求转发至其他节点。具体的,该其他节点可以是缓存节点,也可以是服务节点。
本发明实施例提供的命名数据网络的缓存替换装置,可以解决缓存空间利用率很低、数据的传输时延高的问题。通过一级缓存器中存储已被访问的数据包,二级缓存器存储从一级缓存器中替换出来的访问次数相对较低的数据包的二级缓存机制,可以根据已发生的访问次数变化,对已存储的数据包做出相应替换,提高了缓存空间利用率、降低了网络的传输时延。
参见图11,图11为本发明实施例提供的NDN中预测数据包访问次数装置的一种结构示意图。该装置可以包括以下单元。
命名获取单元1101,用于获取服务节点存储的各个数据包的命名;
特征提取单元1102,用于提取所获取的各个数据包的命名的有效特征,构建各个数据包的特征向量;
预测单元1103,用于将各个数据包的特征向量输入预先训练的神经网络模型,得到各个数据包的预测访问次数,所述神经网络模型是根据预设训练集训练获得的模型,所述预设训练集包括:多个样本数据包的命名以及各个样本数据包的实际访问次数;
缓存单元1104,用于按照预测访问次数从大到小的顺序,依次从所述服务节点获取数据包,并缓存所述二级缓存器,直至所述二级缓存器的存储空间小于预设阈值。
一个实施例中,命名获取单元1101还可以用于:
按照第一预设周期,获取所述服务节点存储的各个数据包的命名;
在按照预测访问次数从大到小的顺序,依次从所述服务节点获取数据包,并缓存所述二级缓存器,直至所述二级缓存器的存储空间小于预设阈值之后,所述方法还包括:
将所述二级缓存器中存储的数据包作为待更新数据包,针对每一待更新数据包,按照第二预设周期,检测所述服务节点中第四数据包与该待更新数据包是否相同,所述第四数据包的命名与该待更新数据包的命名相同,所述第二预设周期小于等于所述第一预设周期;
如果否,则从所述服务节点中获取所述第四数据包,并删除所述待更新数据包。
一个实施例中,预测单元1103还可以用于:
保存预先训练的神经网络模型,所述预先训练的神经网络模型包括一个嵌入层、两个长短期记忆LSTM网络层和一个全连接层;所述全连接层采用线性激活函数。
本发明实施例提供的NDN中预测数据包访问次数的装置,可以解决命名数据网络节点在存储数据包时,忽略数据包访问次数的未来变化趋势,不能满足互联网用户需求的动态变化,数据的传输时延高的问题。通过二级缓存器在客户端节点发来的请求到达缓存节点之前,预先存储从NDN的服务节点获取的预测被访问的数据包的预取机制,对预先预测会被访问的数据包做出处理,既满足了互联网用户需求的动态变化,又降低了网络的传输时延。
基于同一种发明构思,根据上述本发明实施例提供的命名数据网络的缓存替换方法以及对数据特性的分析,本发明实施例还提供了一种电子设备,如图12所示,包括处理器1201、通信接口1202、存储器1203和通信总线1204,其中,处理器1201,通信接口1202,存储器1203通过通信总线1204完成相互间的通信。
存储器1203,用于存放计算机程序。
处理器1201,用于执行存储器1203上所存放的程序时,实现如下步骤:
接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名;
检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包;
如果所述一级缓存器中未存储,则检测所述二级缓存器中是否存储有所述第一数据包;
如果所述二级缓存器中存储有,则检测所述一级缓存器的可用存储空间是否小于所述第一数据包的数据量;
若小于所述第一数据包的数据量,则提取出所述一级缓存器中至少一个第二数据包,并将所述第一数据包移动至所述一级缓存器;
检测所述二级缓存器的可用存储空间是否小于所述至少一个第二数据包的数据量;所述至少一个第二数据包的数据量大于等于所述第一数据包的数据量;
若小于所述至少一个第二数据包的数据量,则删除所述第二缓存器中至少一个第三数据包,并将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量;
向所述客户端节点发送所述第一数据包。
通过本发明实施例提供的电子设备,可以解决命名数据网络节点在存储数据包时,忽略数据包访问次数的未来变化趋势、不能满足互联网用户需求的动态变化、缓存空间利用率很低、数据的传输时延高的问题。通过一级缓存器中存储已被访问的数据包,二级缓存器存储从NDN的服务节点获取的预测被访问的数据包的二级缓存机制,对预先预测会被访问的数据包做出处理,并根据已发生的访问次数变化,对已存储的数据包做出相应替换,既满足了互联网用户需求的动态变化,又提高了缓存空间利用率、降低了网络的传输时延。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于同一种发明构思,根据上述本发明实施例提供的命名数据网络的缓存替换方法以及对数据特性的分析,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一命名数据网络的缓存替换方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一命名数据网络的缓存替换方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于命名数据网络的缓存替换装置、电子设备、机器可读存储介质实施例而言,由于其基本相似于命名数据网络的缓存替换方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种命名数据网络的缓存替换方法,其特征在于,应用于所述命名数据网络NDN的缓存节点,所述缓存节点包括一级缓存器和二级缓存器,所述一级缓存器中存储有已被访问的数据包,所述二级缓存器中存储有从所述NDN的服务节点获取的预测被访问的数据包;所述方法包括:
接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名;
检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包;
如果所述一级缓存器中未存储,则检测所述二级缓存器中是否存储有所述第一数据包;
如果所述二级缓存器中存储有,则检测所述一级缓存器的可用存储空间是否小于所述第一数据包的数据量;
若小于所述第一数据包的数据量,则提取出所述一级缓存器中至少一个第二数据包,并将所述第一数据包移动至所述一级缓存器;
检测所述二级缓存器的可用存储空间是否小于提取出的所述至少一个第二数据包的数据量;所述至少一个第二数据包的数据量大于等于所述第一数据包的数据量;
若小于所述至少一个第二数据包的数据量,则删除第二缓存器中至少一个第三数据包,并将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量;
向所述客户端节点发送所述第一数据包。
2.根据权利要求1所述的方法,其特征在于,在接收客户端节点发送的请求之前,所述方法还包括:
获取所述服务节点存储的各个数据包的命名;
提取所获取的各个数据包的命名的有效特征,构建各个数据包的特征向量;
将各个数据包的特征向量输入预先训练的神经网络模型,得到各个数据包的预测访问次数,所述神经网络模型是根据预设训练集训练获得的模型,所述预设训练集包括:多个样本数据包的命名以及各个样本数据包的实际访问次数;
按照预测访问次数从大到小的顺序,依次从所述服务节点获取数据包,并缓存所述二级缓存器,直至所述二级缓存器的存储空间小于预设阈值。
3.根据权利要求2所述的方法,其特征在于,所述预先训练的神经网络模型包括一个嵌入层、两个长短期记忆LSTM网络层和一个全连接层;所述全连接层采用线性激活函数。
4.根据权利要求2所述的方法,其特征在于,所述获取所述服务节点存储的各个数据包的命名的步骤,包括:
按照第一预设周期,获取所述服务节点存储的各个数据包的命名;
在按照预测访问次数从大到小的顺序,依次从所述服务节点获取数据包,并缓存所述二级缓存器,直至所述二级缓存器的存储空间小于预设阈值之后,所述方法还包括:
将所述二级缓存器中存储的数据包作为待更新数据包,针对每一待更新数据包,按照第二预设周期,检测所述服务节点中第四数据包与该待更新数据包是否相同,所述第四数据包的命名与该待更新数据包的命名相同,所述第二预设周期小于等于所述第一预设周期;
如果否,则从所述服务节点中获取所述第四数据包,并删除所述待更新数据包。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述一级缓存器中存储有,则将所述第一数据包发送给所述客户端节点。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述二级缓存器中未存储,则将所述请求转发至其他节点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若不小于所述第一数据包的数据量,则将所述第一数据包移动至所述一级缓存器,并将所述第一数据包发送给所述客户端节点。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若不小于提取出的所述至少一个第二数据包的数据量,则将所述至少一个第二数据包存储至所述二级缓存器。
9.一种命名数据网络的缓存替换装置,其特征在于,应用于所述NDN的缓存节点,所述缓存节点包括一级缓存器和二级缓存器,所述一级缓存器中存储有已被访问的数据包,所述二级缓存器中存储有从所述NDN的服务节点获取的预测被访问的数据包;所述装置包括:
请求接收单元,用于接收客户端节点发送的请求,所述请求包括待请求数据的待请求命名;
扫描单元,用于检测所述一级缓存器中是否存储有与所述待请求命名对应的第一数据包;如果所述一级缓存器中未存储,则检测所述二级缓存器中是否存储有所述第一数据包;如果所述二级缓存器中存储有,则检测所述一级缓存器的可用存储空间是否小于所述第一数据包的数据量;
缓存替换单元,用于若小于所述第一数据包的数据量,则提取出所述一级缓存器中至少一个第二数据包,并将所述第一数据包移动至所述一级缓存器;检测所述二级缓存器的可用存储空间是否小于提取出的所述至少一个第二数据包的数据量;所述至少一个第二数据包的数据量大于等于所述第一数据包的数据量;若小于所述至少一个第二数据包的数据量,则删除第二缓存器中至少一个第三数据包,并将所述至少一个第二数据包存储至所述二级缓存器;所述至少一个第三数据包的数据量大于等于所述至少一个第二数据包的数据量;
发送单元,用于向所述客户端节点发送所述第一数据包。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
命名获取单元,用于获取所述服务节点存储的各个数据包的命名;
特征提取单元,用于提取所获取的各个数据包的命名的有效特征,构建各个数据包的特征向量;
预测单元,用于将各个数据包的特征向量输入预先训练的神经网络模型,得到各个数据包的预测访问次数,所述神经网络模型是根据预设训练集训练获得的模型,所述预设训练集包括:多个样本数据包的命名以及各个样本数据包的实际访问次数;
缓存单元,用于按照预测访问次数从大到小的顺序,依次从所述服务节点获取数据包,并缓存所述二级缓存器,直至所述二级缓存器的存储空间小于预设阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110601012.XA CN113542349A (zh) | 2021-05-31 | 2021-05-31 | 一种命名数据网络的缓存替换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110601012.XA CN113542349A (zh) | 2021-05-31 | 2021-05-31 | 一种命名数据网络的缓存替换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113542349A true CN113542349A (zh) | 2021-10-22 |
Family
ID=78094882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110601012.XA Pending CN113542349A (zh) | 2021-05-31 | 2021-05-31 | 一种命名数据网络的缓存替换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113542349A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145967A (zh) * | 2022-09-05 | 2022-10-04 | 云账户技术(天津)有限公司 | 一种数据缓存的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131182A (zh) * | 2016-07-12 | 2016-11-16 | 重庆邮电大学 | 命名数据网络中一种基于流行度预测的协作缓存方法 |
CN109921997A (zh) * | 2019-01-11 | 2019-06-21 | 西安电子科技大学 | 一种命名数据网络缓存方法、缓存器和存储介质 |
-
2021
- 2021-05-31 CN CN202110601012.XA patent/CN113542349A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131182A (zh) * | 2016-07-12 | 2016-11-16 | 重庆邮电大学 | 命名数据网络中一种基于流行度预测的协作缓存方法 |
CN109921997A (zh) * | 2019-01-11 | 2019-06-21 | 西安电子科技大学 | 一种命名数据网络缓存方法、缓存器和存储介质 |
Non-Patent Citations (3)
Title |
---|
刘期烈等: "命名数据网中基于流行度的网内缓存替换策略", 《计算机工程与应用》, no. 11, 23 May 2017 (2017-05-23) * |
孙明欣,李文生: "NDN中基于深度学习的缓存策略的研究与实现", 《中国科技论文在线》, 1 April 2019 (2019-04-01) * |
孙明欣: "以信息为中心网络的缓存策略的设计与实现", 《中国优秀硕士学位论文全文数据库》, 15 August 2019 (2019-08-15), pages 18 - 35 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145967A (zh) * | 2022-09-05 | 2022-10-04 | 云账户技术(天津)有限公司 | 一种数据缓存的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550338B (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
CN109299144B (zh) | 一种数据处理方法、装置、系统及应用服务器 | |
CN110807125B (zh) | 推荐系统、数据访问方法及装置、服务器、存储介质 | |
US10409728B2 (en) | File access predication using counter based eviction policies at the file and page level | |
Ali et al. | Intelligent web proxy caching approaches based on machine learning techniques | |
Ma et al. | An improved web cache replacement algorithm based on weighting and cost | |
CN107301215B (zh) | 一种搜索结果缓存方法及装置、搜索方法及装置 | |
CN109634746B (zh) | 一种web集群缓存的利用系统及优化方法 | |
Ma et al. | Weighted greedy dual size frequency based caching replacement algorithm | |
US20120158815A1 (en) | System and method for identifying web objects unworthy of being cached | |
CN115168411A (zh) | 缓存装置、方法及系统 | |
US20230342300A1 (en) | Data eviction method and apparatus, cache node, and cache system | |
CN113542349A (zh) | 一种命名数据网络的缓存替换方法及装置 | |
CN115168244A (zh) | 一种数据更新方法、装置、设备及可读存储介质 | |
CN116578409A (zh) | 内存热页识别与迁移的方法、系统及介质 | |
CN114785858B (zh) | 应用于互感器在线监测系统的资源主动缓存方法及装置 | |
CN116680276A (zh) | 数据标签存储管理方法、装置、设备及存储介质 | |
Sarhan et al. | New Web cache replacement approaches based on internal requests factor | |
Baskaran et al. | Improved performance by combining web pre-fetching using clustering with web caching based on SVM learning method | |
Shi et al. | An adaptive popularity tracking algorithm for dynamic content caching for radio access networks | |
US20210089507A1 (en) | Systems and methods for providing an adaptive attention-based bloom filter for tree-based information repositories | |
Baskaran et al. | Study of combined Web prefetching with Web caching based on machine learning technique | |
Jeon et al. | A prefetching Web caching method using adaptive search patterns | |
CN114860783B (zh) | 图数据库缓存方法、装置、电子设备和可读存储介质 | |
WO2022156452A1 (zh) | 一种缓存管理方法、装置及设备 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20211022 |
|
WD01 | Invention patent application deemed withdrawn after publication |