本发明涉及缓存策略
技术领域:
:,具体涉及一种命名数据网络中的多属性概率缓存方法。
背景技术:
::现代互联网是一个全球范围内的通信网络,其已成为承载全球通信的重要基础设施。目前的互联网体系结构被设计为一个端到端连接的用来传输数据的底层通信框架。随着用户数量以及通信数据量的增加,这种以终端为中心、位置为寻址方式的通信框架出现了移动性差、可靠性差、不能适应网络上层应用变化等问题。对于现有互联网体系结构与不断变化的用户用户需求之间的矛盾日益激化,未来互联网体系结构的研究和发展已经成为学术界和工业界共同关注的热点问题。目前国内外汇总的方案主要有“改良”和“革命”两种路线,“改良”路线是渐进式的不断完善现有的ipv4协议,最终平滑过渡到ipv6,然而这种方式仅扩大了地址空间,不能从本质上改变ip协议设计的不足,技术进步程度有限,很难满足未来网络发展需求。“革命”路线,即重新设计以信息中心网络作为互联网体系结构,彻底改变现有互联网体系结构的不足。命名数据网络(named-datanetworking,ndn)是以信息为中心网络建设中一种比较优秀的体系架构。命名数据网络(ndn)将目前通信方式对数据位置的关注,转向对数据内容本身的关注。其通信方式完全不同于当前所使用ip地址标识信息位置的方式,ndn网络对数据本身进行命名,使得数据本身成为通信的直接目标。ndn网络将用户分为消费者和生产者两种角色,消费者在网络中生产发送interest包(兴趣包),生产者生产data包(数据包)用于满足interest包的请求。消费者获取所需资源,是通过生产发送interest包,当interest匹配到名字属性值相同的data时,消费者就能通过data包沿interest包之前路线原路回传获取所需资源。ndn网络中生产者和消费者之间存有一个或多个路由节点,路由节点负责interest包的转发,data包的回溯和data包中携带数据的缓存。每个路由节点都包含三张表,分别是转发请求表(pendinginteresttable,pit)、转发信息表(forwardinginformationbase,fib)和内容仓库(contentstore,cs)。pit记录所有interest包发送的上行信息,当interest包到达路由节点时查看pit表,若存在pit表中存在interest信息则记录该interest来源端口,若没有interest信息则创建该interest表项,并且根据pit表信息正确地回溯data包,当data包从相应端口回溯后,删除与该数据匹配的pit表项。fib存储<前缀,接口列表>元组,采用interest名字属性值最长匹配查询,将interest包从潜在所需数据资源端口转发出去。cs类似ip路由器中的内存缓存,对回溯到该路由节点的数据进行缓存。ndn网络是以信息为中心的网络,路由节点中缓存的数据,可以实现相同数据的复用。合理使用缓存策略能够大幅提升网络性能,降低网络延迟,节约路由节点缓存空间的使用,有效的缓解网络带宽压力。lce(leavecopyeverywhere)缓存策略是目前ndn网络所采用的默认缓存策略,该缓存策略的核心是每个路由节点都会缓存data包回溯至本路由节点所携带的数据。目前对于通过设计缓存优化提升ndn网络性能方面的研究,比较经典的缓存优化策略有,lcd(leavecachedown)、mcd(movecachedown)和prob(probabilitycache)等。lcd缓存策略是当一个interest请求在某一节点的cs表中命中后,该节点的下一跳才会缓存该数据;mcd缓存策略是基于lcd的不同之处是,mcd会删除该节点的数据;prob是随机概率缓存策略,既当data包回溯到每个路由节点时,data包携带的数据是否发生缓存由设定概率决定。在ndn网络中不同缓存策略的选取,对ndn网络性能有着不同的影响。虽然目前ndn网络默认的lce缓存策略方法简单,但是这种策略会在每一个路由节点缓存data包携带的数据,造成相同数据冗余缓存于不同路由节点中浪费缓存资源。这种缓存策略还会造成路由节点中缓存的数据,发生缓存替换的速度加快,使重要数据不能长时间保存于路由节点中。lcd、mcd算法是当interest在本节点命中data后仅会在下一路由节点缓存data包携带的数据,这样设计的优点是相比于lce可以减少相同冗余数据在路由节点的缓存,但是在现实生产环境中同一数据资源,通常会有多个用户请求获取,这种缓存策略不能将数据资源及时的缓存在离用户最进的路由节点,造成再次请求获取相同数据时需要从更远的数据源获取数据,增加网络延迟。prob缓存策略对数据在每一路由节点都设置固定的缓存概率,这种缓存策略比较单一,没有考虑区分生产者生产的数据本身属性等因素;例如对于视频、图片、文档等共享资源需要缓存,但是像聊天信息等非共享资源则不需要缓存。技术实现要素:针对现有缓存策略存在的上述缺陷,本发明提供一种命名数据网络中的多属性概率缓存方法。本发明公开了一种命名数据网络中的多属性概率缓存方法,包括:路由节点判断data包的属性;若所述data包的属性为不可共享属性,则不缓存所述data包中携带的数据;若所述data包的属性为共享属性,则根据节点缓存概率判断是否缓存所述data包中携带的数据;其中,p=p(v) p(u)p(v)=β/(ɑ β)p(u)=u/(u θ)式中,p为节点缓存概率,p(v)为节点中心度概率,p(u)为节点距离概率;β值为所述路由节点pit中所有interest表项端口数量和,ɑ值为ndn网络中路由节点总个数之和;u是data包经过路由节点的跳数,θ是大于0的正整数。作为本发明的进一步改进,若所述节点缓存概率大于预设阈值,则缓存所述data包中携带的数据;否则,不缓存所述data包中携带的数据。作为本发明的进一步改进,包括:生产者生产data包;其中,在ndn网络中所有生产者生产数据时增加status字段,若数据为共享属性数据,将status字段值设置为1;若数据为不可共享属性数据,将status字段值设置为0;在ndn网络中所有生产者生产数据时增加表示data包跳数的hop字段,hop字段初始值设置为0。作为本发明的进一步改进,还包括:路由节点接收interest包;其中,路由节点接收interest包后查找cs表是否有被interest命中的data;若有,则回溯data包,本次请求结束;若没有,则继续查找pit表;查找pit表中是否有关于本次interest请求的interest表项;若没有,则添加该interest表项,同时更新β,重新计算更新节点中心度概率p(v);若有,则继续查看该表项端口号;查看interest表项端口号是否存在与该interest相同的端口号;若存在,则丢弃该interest,并等待data包回溯至本路由节点;若不存在,则在该interest表项中新添加本次请求端口号,同时更新β,重新计算更新节点中心度概率p(v),并等待data包回溯至该路由节点;查找fib路由转发表是否存在该interest转发端口;若存在,则转发该interest,并等待data包回溯至该路由节点;若不存在,则返回错误信息,并丢弃该interest。作为本发明的进一步改进,还包括:路由节点接收data包;其中,路由节点接收回溯的data包,获取data包中携带的status字段值,并判断status字段值是否为1;若不为1,则不缓存所述data包中携带的数据;若为1,则继续获取data包中的hop值,根据hop值更新u,计算更新节点距离概率p(u)和节点缓存概率p;根据节点缓存概率p判断data包携带的数据在该路由节点是否发生缓存;依据pit中interest表项记录端口号回溯data包,并将data包中hop字段值加1,删除该interest表项,同时更新β,重新计算更新节点中心度概率p(v)。与现有技术相比,本发明的有益效果为:本发明的多属性概率缓存方法(缓存策略),从生产者生产数据本身属性、路由节点在ndn网络中占有的权重属性和数据包尽可能缓存于消费者路由节点附近的属性考虑,根据这三方面属性概率设计缓存优化策略,动态决定数据是否在路由节点处发生缓存;有效的降低了ndn网络中不同路由节点对相同数据的冗余存储,节约了路由节点缓存的使用,降低了网络延迟,提升了ndn网络性能。附图说明图1为本发明一种实施例公开的命名数据网络中的多属性概率缓存方法的流程图;图2为本发明一种实施例公开的ndn网络中路由器节点中心度的示意图;图3为本发明一种实施例公开的生产者生产data包的流程图;图4为本发明一种实施例公开的路由节点接收interest包的流程图;图5为本发明一种实施例公开的路由节点接收data包的流程图;图6为本发明一种实施例公开的不同缓存策略下缓存数据对比图;图7为本发明一种实施例公开的不同缓存策略下网络延迟对比图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明做进一步的详细描述:针对ndn网络中缓存策略的研究,本发明设计一种更加优秀的缓存策略,减少相同数据在不同路由节点中的冗余存储,节约了路由节点缓存的使用,降低了网络延迟,提升ndn网络整体性能。目前缓存策略的设计与研究大多都比较单一,没有从多方面属性考虑缓存优化策略设计。本发明设计的多属性概率缓存策略(multipleattributeprobabilitycache,mapc),从生产者生产数据本身属性,路由节点在ndn网络中占有的权重属性和数据包尽可能缓存于消费者路由节点附近的属性考虑,根据这三方面属性概率动态决定数据是否在路由节点处发生缓存。如图1所示,本发明提供一种命名数据网络中的多属性概率缓存方法,包括:路由节点判断data包的属性;若data包的属性为不可共享属性,则不缓存data包携带的数据;若data包的属性为共享属性,则根据节点缓存概率判断是否缓存data包携带的数据,即若节点缓存概率大于预设阈值,则缓存data包携带的数据;否则,不缓存data包携带的数据;其中,p=p(v) p(u)p(v)=β/(ɑ β)p(u)=u/(u θ)式中,p为节点缓存概率,p(v)为节点中心度概率,p(u)为节点距离概率;β值为路由节点pit中所有interest表项端口数量和,ɑ值为ndn网络中路由节点总个数之和;u是data包经过路由节点的跳数,θ是大于0的正整数。本发明上述多属性概率缓存方法的设计原理为:在实际生产环境中生产者生产的数据是具有不同属性的,本发明将生产者生产的数据分为不可共享属性和可共享属性。不可共享属性是指,在ndn网络中这类数据只会被消费者请求一次,所以对这种属性数据进行缓存是对路由节点缓存资源的一种浪费,例如邮件、即时通讯、语音电话等;可共享属性是指,在ndn网络中生产者产生的这类数据会被消费者多次请求,例如流媒体广播、图片、视频等;在ndn网络中路由节点对可共享属性的数据进行缓存,可以避免消费者从生产者节点获取数据,能够提升网络响应速度,降低网络资源的使用量。本发明中生产者生产data包时,在data包中添加status字段,当data包中存在可共享属性数据时status值设置为1,当data包中不存在可共享属性数据时status值设置为0。每当data包回溯至路由节点时获取判断status值,值为0时不缓存data包携带的数据(既数据的缓存概率为0),值为1时data包携带的数据是否发生缓存由后续概率p决定。在图论中,中心性(centrality)是判定网络中节点重要性的指标,是节点重要性的量化,既一个节点所连接的节点越多,节点的度就越大,节点在网络中所占有的权重就越大,由图2可以看出路由器v3的节点中心度要大于其它路由节点的中心度。ndn网络是一种网状型拓扑结构,网络中每个路由节点链接的路由器个数具有随机性,路由节点可以接收其所连接的路由器发送的interest请求。接收到interest请求后,查看pit表项中是否有关于该interest请求的表项,如果有没有则创建该表项,并记录该interest请求来源的端口号;如果有则会查看该interest表项中是否存在该端口号,存在则丢弃interest请求,不存在则创建并添加该端口号至interest表项中。在ndn网络中生产者和消费者之间会进行大量数据传输,对ndn网络中某一路由节点来说,如果该路由节点pit中所有interest表项端口数量和越大,说明该节点更容易被访问,所以增大该节点的缓存概率,有利于提升网络缓存命中。在本发明中,给每一路由节点都设置节点中心度概率这一属性,当data包回溯到该路由节点时,将节点中心度概率作为是否发生缓存的一个属性。节点中心度概率越大,该路由节点缓存data包携带的数据的概率就越大。节点中心度概率公式定义为:p(v)=β/(ɑ β)其中β值为该路由节点pit中所有interest表项端口数量和,ɑ值为ndn网络中路由节点总个数之和。在ndn网络中具有可共享属性的数据,被网络中任意消费者节点请求获取的概率相同。消费者发送的interest包在生产者节点或中间路由节点命中data后,data包会沿interest包相反路径回溯至消费者节点,如果data包在回溯过程中经过路由节点时,其data包携带的数据发生缓存概率值随data包经过路由节点个数的增大而变大,那么该可共享数据就会更大概率的被缓存在距离数据源节点(生产者节点或中间路由节点)较远的路由节点中(消费者节点附近)。这样有利于该可共享数据快速分散于整个ndn网路中,有效缩短了ndn网络中所有消费者节点获取该可共享数据时data包传输的平均距离,从而提高了网络响应速度。在本发明中给每个data包添加跳数这一属性字段,用来记录data包从离开生产者后所经过的ndn路由器个数,每经过一个ndn路由器跳数值就加一,当跳数值越大时data包在此ndn路由器发生的缓存概率就越大。在此处定义节点距离概率p(u)这一属性,来表示data包因携带的跳数值不同而发生缓存概率不同这一特点。节点距离概率公式定义为:p(u)=u/(u θ)其中u是data包经过路由器的跳数,θ是大于0的正整数,根据实际需求可调整其大小(一般选取两个最远路由节点跳数值的一半,可以保障p(u)根据跳数的递增均匀变大)。综上,本发明设计的多属性概率缓存策略,从生产者生产数据本身属性,路由节点在ndn网络中占有的权重属性和数据包尽可能缓存于消费者路由节点附近的属性考虑,根据这三方面属性概率动态决定数据是否在路由节点处发生缓存。为实现本发明的上述多属性概率缓存方法,对数据结构设计如下:多属性概率缓存策略的设计实现需要以下数据,生产者生产数据的属性值,data包到达路由节点经过的跳数和该路由节点pit中所有interest表项记录端口数之和。为了得到以上数据信息需要设计数据结构如下。(1)data包:需要在原有的data包基础上添加两个属性字段,分别是status和hop。其中status是用来记录data包是否为共享数据,status值为1时是共享数据值为0时是非共享数据。hop值用来记录data包从生产者到路由节点所经过的跳数,其初始值为0每经过一个路由节点时hop值加一。(2)本发明将设计一个链表用于记录ndn网络中相关数据变化,其包含数据项如下表所示:本发明的上述多属性概率缓存方法,具体包括:生产者生产data包、路由节点接收interest包和路由节点接收data包。其中,如图3所示,本发明生产者生产data包的方法,包括:1)在ndn网络中所有生产者生产数据时需要判断数据属性,如果数据是可共享属性数据,将data包中status字段值设置为1,若为不可共享属性数据,将data包中status字段值设置为0。2)hop字段为data包的跳数,在设置完数据属性值后,将data包中hop字段的初始值设置为0。设置完数据属性和跳数既生成一个完整的data包。如图4所示,本发明路由节点接收interest包的方法,包括:1)路由节点接收interest包后先查找cs表,判断是否有被interest命中的data,如果有则回溯data包本次请求结束,如果没有则继续查找pit表。2)查找pit表中是否有关于本次interest请求的interest表项。如果没有则添加该interest表项,同时更新portcount值。然后根据portcount值和公式p(v)=β/(ɑ β),重新计算更新节点中心度概率degreeprob的值。如果有该interest表项则继续查看该表项端口号。3)查看interest表项端口号,若存在与该interest相同的端口号则丢弃该interest,然后等待data包回溯至本路由节点,若不存在与该interest相同的端口号则在该interest表项中新添加本次请求端口号,同时更新portcount值。然后根据portcount值和公式p(v)=β/(ɑ β),重新计算更新节点中心度概率degreeprob的值,并等待data包回溯至该路由节点。4)查找fib路由转发表,如果存在该interest转发端口则转发该interest,并等待data包回溯至该路由节点,如果不存在转发端口返回错误信息,并丢弃该interest。如图5所示,本发明路由节点接收data包的方法,包括:1)路由节点接收回溯的data包,获取data包中携带的status字段值,并且根据该值更新tablestatus字段值,判断tablestatus字段值是否为1,如果不为1则表示data包中数据是不可共享属性数据,则不需要存储data包携带的数据,若tablestatus值为1则继续获取data包中的hop值,根据hop值更新dhop字段值,并依据公式p(u)=u/(u θ)计算更新节点距离概率值distanceprob。然后根据节点中心度概率值degreeprob、节点距离概率值distanceprob和公式p=p(v) p(u)计算节点缓存概率prob值。2)根据节点缓存概率prob值判断data包携带的数据在该路由节点是否发生缓存。3)依据pit中interest表项记录端口号回溯data包,并将data包中hop字段值加1(表示该data包又经过一跳),删除该interest表项,同时更新portcount值。然后根据portcount值和公式p(v)=β/(ɑ β),重新计算更新节点中心度概率degreeprob的值。实验模拟:对本发明设计的多属性概率缓存策略进行实验模拟,分别与现有的lce缓存策略,prob缓存策略进行对比分析。通过对比ndn网络中缓存数据数量变化和网路延迟来验证多属性概率缓存策略在ndn网路中的优势。本发明选择ndnsim2.2作为实验平台,在ubuntu16.04上进行实验。共设置900个路由节点,在其中随机选取一个节点作为生产者,随机选取三十个节点作为消费者。路由节点之间的传输带宽上限为1mbps,路由节点之间延迟为1ms,路由节点之间模拟距离为1km,所有消费者每秒钟同时向生产者发送300个兴趣包来请求数据。在本实验中对mapc缓存策略中的节点中心度概率公式:p(v)=β/(ɑ β)中的常数值ɑ取值为900(因为整个ndn网络中有900个节点),prob和mapc缓存概率设置为0.5,节点距离概率公式:p(u)=u/(u θ)中常数值θ取值30(因为在本模拟ndn网络中路由节点之间最大距离值一半为30)。实验模拟时间持续300s,对ndn网络中lce、prob和mapc缓存策略下产生的缓存数据和网络延迟数据统计;如图6、7所示。结果分析:根据实验结果图6分析发现,在整个实验过程中,本发明设计的mapc缓存策略与prob和lce缓存策略相比较,使用mapc缓存策略的ndn网络中缓存数据量随时间增长量最小,有效节约了网络中路由节点缓存资源的使用,减小了路由节点因缓存资源耗尽频繁发生缓存替换的速率。根据实验结果图7分析发现,使用mapc缓存策略相比较于使用lce和prob缓存策略的ndn网络延迟最小,有利于提升消费者获取请求数据的速度,提升了ndn网络性能。以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
技术特征:1.一种命名数据网络中的多属性概率缓存方法,其特征在于,包括:
路由节点判断data包的属性;
若所述data包的属性为不可共享属性,则不缓存所述data包中携带的数据;
若所述data包的属性为共享属性,则根据节点缓存概率判断是否缓存所述data包中携带的数据;其中,
p=p(v) p(u)
p(v)=β/(ɑ β)
p(u)=u/(u θ)
式中,
p为节点缓存概率,p(v)为节点中心度概率,p(u)为节点距离概率;
β值为所述路由节点pit中所有interest表项端口数量和,ɑ值为ndn网络中路由节点总个数之和;
u是data包经过路由节点的跳数,θ是大于0的正整数。
2.如权利要求1所述的多属性概率缓存方法,其特征在于,若所述节点缓存概率大于预设阈值,则缓存所述data包中携带的数据;否则,不缓存所述data包中携带的数据。
3.如权利要求1所述的多属性概率缓存方法,其特征在于,包括:生产者生产data包;其中,
在ndn网络中所有生产者生产数据时增加status字段,若数据为共享属性数据,将status字段值设置为1;若数据为不可共享属性数据,将status字段值设置为0;
在ndn网络中所有生产者生产数据时增加表示data包跳数的hop字段,hop字段初始值设置为0。
4.如权利要求3所述的多属性概率缓存方法,其特征在于,还包括:路由节点接收interest包;其中,
路由节点接收interest包后查找cs表是否有被interest命中的data;若有,则回溯data包,本次请求结束;若没有,则继续查找pit表;
查找pit表中是否有关于本次interest请求的interest表项;若没有,则添加该interest表项,同时更新β,重新计算更新节点中心度概率p(v);若有,则继续查看该表项端口号;
查看interest表项端口号是否存在与该interest相同的端口号;若存在,则丢弃该interest,并等待data包回溯至本路由节点;若不存在,则在该interest表项中新添加本次请求端口号,同时更新β,重新计算更新节点中心度概率p(v),并等待data包回溯至该路由节点;
查找fib路由转发表是否存在该interest转发端口;若存在,则转发该interest,并等待data包回溯至该路由节点;若不存在,则返回错误信息,并丢弃该interest。
5.如权利要求4所述的多属性概率缓存方法,其特征在于,还包括:路由节点接收data包;其中,
路由节点接收回溯的data包,获取data包中携带的status字段值,并判断status字段值是否为1;若不为1,则不缓存所述data包中携带的数据;若为1,则继续获取data包中的hop值,根据hop值更新u,计算更新节点距离概率p(u)和节点缓存概率p;
根据节点缓存概率p判断data包携带的数据在该路由节点是否发生缓存;
依据pit中interest表项记录端口号回溯data包,并将data包中hop字段值加1,删除该interest表项,同时更新β,重新计算更新节点中心度概率p(v)。
技术总结本发明公开了一种命名数据网络中的多属性概率缓存方法,包括:路由节点判断Data包的属性;若Data包的属性为不可共享属性,则不缓存Data包中携带的数据;若Data包的属性为共享属性,则根据节点缓存概率判断是否缓存Data包中携带的数据;其中,P=P(v) P(u),P(v)=β/(ɑ β),P(u)=u/(u θ);式中,P为节点缓存概率,P(v)为节点中心度概率,P(u)为节点距离概率;β值为路由节点PIT中所有Interest表项端口数量和,ɑ值为NDN网络中路由节点总个数之和;u是Data包经过路由节点的跳数,θ是大于0的正整数。本发明有效的降低了NDN网络中不同路由节点对相同数据的冗余存储,节约了路由节点缓存的使用,降低了网络延迟,提升了NDN网络性能。
技术研发人员:张丽;张强
受保护的技术使用者:北京工业大学
技术研发日:2020.01.16
技术公布日:2020.06.09