掌桥专利:专业的专利平台
掌桥专利
首页

一种基于DTNDN的协助边缘缓存放置及空间分配方法

文献发布时间:2024-04-18 19:59:31


一种基于DTNDN的协助边缘缓存放置及空间分配方法

技术领域

本发明涉及一种基于DTNDN的协助边缘缓存放置及空间分配方法,属于通信技术领域。

背景技术

时延容忍命名数据网络(Delay-Tolerant Named Data Networking,DTNDN)结合了DTN(Delay-Tolerant Networking)和NDN(Named Data Networking)的优势,旨在应对链路状态不稳定,节点移动性强的通信环境。DTN的保管传输机制使其适用于拓扑变化频繁、链路间歇中断的网络场景,而NDN的数据命名和缓存机制则提供了高效的内容传输和数据管理。DTNDN允许数据以命名方式存储和传输,并具备数据安全性和隐私特性。在不确定的网络条件下,数据被缓存和延迟传输,使其适用于卫星通信、无人机通信和其他挑战性网络环境。DTNDN架构有望在未来网络中发挥关键作用,以应对多样化的通信需求。

缓存放置是指数据内容在传送的过程中,通过缓存放置策略来选择数据内容应该在哪个节点或哪些节点进行缓存,即网络内的节点会对收到的数据选择是否将其缓存到本节点的缓存空间中。根据数据内容的缓存位置是否与消费者请求数据的路径有关,缓存放置策略可分为路径上(on-path)缓存放置策略和路径外(off-path)缓存放置策略。路径上缓存放置策略侧重于在数据传递路径上选择适当的节点缓存数据内容,能够提升数据传输的效率和性能。

缓存空间分配策略是在网络中用于有效管理缓存资源的关键方法。这些策略决定了哪些数据应该存储在缓存中、存储多少数据以及如何管理缓存的空间以获得最佳性能和资源利用率。策略的选择通常依赖于具体应用需求和性能目标。有效的缓存空间分配策略能够减少数据访问延迟,提高数据访问速度,并降低系统负载,有助于提高整体性能和用户体验。

在DTNDN网络中,网络链路间歇中断,节点缓存空间受限,DTN的保管传输机制对缓存空间有更高的要求。合理的缓存放置和空间分配策略能够提升缓存命中率和缓存空间利用率。现有的策略存在的不足之处如下:

(1)现有的大部分缓存放置方法没有考虑数据的流行度而对所有节点采取同样的策略进行数据的缓存操作,因此缓存命中率和缓存空间利用率较低。对于缓存空间受限的系统,需及时调整缓存放置策略,在提升缓存命中率的同时降低数据的传输时延。

(2)现有的空间分配策略,如平均分配策略和按请求速率分配策略如对所有节点采取统一的缓存空间分配策略。没有考虑在拓扑变化频繁、链路间歇中断的DTNDN网络场景中,如何根据网络实时信息及节点距数据源距离动态调节缓存空间分配。

上述不足的根源是在DTNDN网络中,网络拓扑剧烈变化,网络节点的缓存空间受限。现有的缓存放置策略不能根据网络的实时状态,充分利用数据本身的特点和节点自身的信息自主做出缓存放置及空间分配决策。

DTNDN的缓存具有无状态、分布式、透明、动态的特点,无状态即不需要维护缓存节点和用户之间的连接状态;分布式即不需要集中对缓存资源和策略进行管理,每个节点能够独立做出缓存决策,维护自己的缓存空间;透明即不需要用户或应用层知道缓存的位置和状态;动态即能够根据网络状况和用户需求来调整每个节点缓存的内容和缓存空间的大小。在DTNDN中采用合适的缓存放置策略能够有效地减少网络拥塞和延迟,提高用户体验;降低内容提供者的服务器负载和带宽消耗,节省网络资源占用;还能支持多播、移动性、断续连接等场景,增强网络稳健性。

当数据包不能保证端到端的可靠传输时,DTNDN的缓存机制能够减小数据包丢失的恢复延迟,即数据包在返回消费者的路径上被沿途节点根据缓存放置策略缓存,当数据包丢失时,消费者会发送重传请求,沿途缓存此数据的节点在收到重传请求后立即回复数据包,不需要在数据源端获取数据。通过这种方式能够降低丢失数据包后的恢复延迟,提升网络的吞吐量。

综上所述,目前在DTNDN网络中,缺少一种缓存放置及空间分配方法,能够在节点移动速度快、链路连接不稳定、拓扑变化频繁的网络中达到较好的缓存命中率和数据往返时延。

发明内容

针对因特网在和缓存放置和缓存空间分配方面存在“缓存放置策略不能根据网络状态实时信息进行动态调节”以及“缓存空间分配策略不能根据节点信息进行动态分配”的技术缺陷,本发明目的之一是提出一种基于DTNDN的协助边缘缓存放置方法(AssistedEdge Caching Strategy Based on Content Popularity,AECP),在DTNDN架构下,通过网络内各路由器实时统计本节点处的数据流行度,结合数据流行度、位置信息、网内路由器邻接关系以及缓存标志位信息,自主决策是否对数据进行缓存,使节点能够根据网络的实时状态,充分利用数据本身的特点和节点自身的信息做出缓存决定,从而能够更好的适应高动态网络。

在AECP方法基础上,本发明的目的之二是提供一种动态缓存空间分配方法(CacheSpace Allocation Strategy,CSAS),网络各节点根据收到数据包的速率,缓存替换率,与数据源距离信息,为NDN业务数据和DTN保管传输数据动态分配缓存空间,从而在保持较高的数据交付率的同时提高缓存空间利用率,减小缓存开销。

为了达到上述目的,本发明的技术方案如下:

本发明公开的一种基于DTNDN的协助边缘缓存放置方法和动态缓存空间分配方法,均依托时延容忍命名数据网络(Delay-Tolerant Named Data Networking,DTNDN)实现,所述时延容忍命名数据网络DTNDN包含若干节点;其中,节点包括用户群组,与用户直接相连的边缘路由器,网内路由器以及数据源。

本发明公开的一种基于DTNDN的协助边缘缓存放置方法,包括如下步骤:1)将网络中对缓存各项数据的节点选择建模为Steiner树模型;2)明确缓存数据放置方法的约束条件和优化目标,对缓存数据的效益函数进行建模;3)每个节点计算自身的内容流行度,维护兴趣包流行度统计表(Interest Popularity Statistical Table,IPST);4)根据IPST表信息,利用内容流行度和节点位置关系计算节点处流行度的阈值;5)节点比较内容流行度和节点处流行度的阈值,根据比较的结果修改CsTag缓存标志位字段,决定节点是否缓存数据,至此实现基于DTNDN的协助边缘缓存放置。

本发明公开的一种动态缓存空间分配方法,在边缘缓存放置方法基础上,包括如下步骤:6)维护数据包速率统计表(Data Rate Statistical Table,DRST),统计单位时间收到NDN和DTN数据包的数量,缓存替换率及节点与数据源之间的距离;7)网络节点根据接受数据包速率,缓存替换率和节点与数据源距离为NDN和DTN业务动态分配缓存空间,即实现动态缓存空间分配。

本发明公开的一种基于DTNDN的协助边缘缓存放置方法,包括以下步骤:

步骤1、将时延容忍命名数据网络DTNDN(Delay-Tolerant Named DataNetworking)中对缓存各项数据的节点选择建模为Steiner树模型。

图论中的Steiner树模型的目标是在给定一个连接图中的一组终端节点的情况下,找到一棵最小的子图,该子图连接了所有的终端节点。

在DTNDN网络中选择缓存各项数据的节点建模为Steiner树模型。其中,将DTNDN网络建模为无向图G=(V,E),其中,V为网络中的节点个数,E为连接各节点的边的个数,v表示图G的节点,e表示图G的边,且v∈V,e∈E。定义边的代价函数f∶E→C,C为边的代价。点集D为点集V的一个子集,即D∈V,则从图G中找出子树T=(Y,u),使得D∈Y∈V,u∈E,满足约束条件∑e∈u(T),且树的费用∑f(e),e∈T最小,称T=(Y,u)为图G=(V,E)关于D的Steiner最小树,而不属于D点称为Steiner节点。

步骤2、缓存数据的效益函数的约束条件为数据内容请求的带宽不能超过链路的最大可用带宽,数据缓存不能超过最小代价生成树的节点的剩余缓存空间。缓存数据的效益函数目标为减小用户获取数据的时延、提高网内节点CS中数据的命中次数以及减小CS存储空间占用。基于所述约束条件和目标构建缓存数据的效益函数模型。

DTNDN网络内所有节点均能够对数据内容进行缓存,网络内数据内容C={c

其中c

gain=f(Δdelay,hit)-g(store) (2)

其中,Δdelay为用户从网内节点获得数据比从服务器端获得数据节省的时间,hit为网内所有节点在缓存数据后的数据响应次数,store为缓存数据消耗的CS存储空间。为提高缓存效益,从减小用户获取数据的时延、提高网内节点CS中数据的命中次数以及减小CS存储空间占用这三方面考虑,基于约束条件(1)减小用户获取数据的时延能够将数据缓存在距离用户较近的路由器处,使用户就近获取数据,进而提高网内节点CS中缓存数据命中次数,更多地缓存本节点处请求更频繁的数据;减小CS存储空间占用能够减少对那些未来时刻请求概率较低的数据的缓存,以充分利用有限的缓存空间。

结合约束条件(1)和优化目标(2)构建缓存数据的效益函数模型。

步骤3、根据在时间间隔T

其中,“兴趣包流行度统计表”的作用是实时的统计本节点收到的各兴趣包数目、兴趣包种类数以及兴趣包的总数。

步骤3.1根据流行度公式(3)计算各个内容的流行度,对于网络内的每个节点,在时间间隔T

其中,

其中m的求和范围代表了加权窗口的大小。令

其中,κ为权重系数,κ∈(0,1)。

步骤3.2构建兴趣包流行度统计表IPST,IPST表结构包括兴趣包名称,对应的兴趣包请求数量以及兴趣包的流行度。根据加权移动平均公式(5)计算出的内容流行度存储并更新兴趣包的流行度,实现兴趣包流行度统计表IPST的维护。

步骤4、基于步骤3维护后的兴趣包流行度统计表IPST,根据IPST中的兴趣包种类数、兴趣包总数以及路由器的在网络中的位置特点,利用内容流行度和节点位置关系计算流行度阈值,并为数据包增加缓存标志位字段CsTag,通过缓存标志位字段CsTag标记此数据包是否已在沿途路由器中缓存。

步骤4.1结合各路由器节点中的IPST表信息,根据IPST中的兴趣包种类数、兴趣包总数以及路由器的在网络中的位置特点,利用内容流行度和节点位置关系共同对流行度阈值进行计算,流行度阈值随兴趣包在本节点处的平均流行度和节点位置的变化而改变,且越靠近边缘节点处,节点的流行度阈值会越大,即:

其中,T

步骤4.2为数据包增加缓存标志位字段CsTag。CsTag字段用于标记此数据包是否已在沿途路由器中缓存。将CsTag=0时表示此数据包未被之前经过的路由器缓存,CsTag=1时表示此数据包之前已被经过的路由器缓存,CsTag=2时表示此数据包在网络内某节点处发生缓存命中,CsTag的初始值设置为0。

步骤5、节点比较IPST表中的内容流行度值与步骤4计算的节点处流行度的阈值,根据比较的结果修改CsTag缓存标志位字段,决定节点是否缓存数据,实现基于DTNDN的协助边缘缓存放置。

步骤5.1判断缓存标志位字段CsTag。如果CsTag=1说明数据包在网络中已被路由器缓存,因此不缓存,直接将数据包转发到下一跳。如果CsTag=0或2,则执行步骤5.2;

步骤5.2比较数据的流行度和节点的流行度阈值,若数据流行度比节点的流行度阈值大,则表明此数据流行度较高,应该缓存在更靠近用户的节点处,因此将数据包直接转发;若数据的流行度小于节点的流行度阈值,则表明此数据适合在本节点处缓存,因此对数据包进行缓存操作,将数据包头部的CsTag字段设置为1,表示数据包在网络中已被路由器缓存,最后将数据包转发。

步骤5.3节点通过CsTag字段对数据包进行缓存决策,实现基于DTNDN的协助边缘缓存放置。

本发明公开的一种动态缓存空间分配方法,在协助边缘缓存放置方法的基础上实现,在上述步骤的基础上,还包括如下步骤:

步骤6、维护数据包速率统计表(Data Rate Statistical Table,DRST),根据数据包数量统计公式(7)和公式(8)计算单位时间收到NDN和DTN数据包的数量的加权平均值,根据缓存替换率公式(9)和公式(10)计算NDN和DTN业务的缓存替换率。根据距离占比公式(11)和公式(12)计算NDN和DTN业务数据与数据源的距离占比。

步骤6.1为每个节点增加一个数据包速率统计表DRST,用于统计单位时间收到NDN和DTN数据包的数量。为了区分NDN和DTN的数据,在数据包中加入DTNTag字段,发送NDN数据时,DTNTag字段为0;发送DTN数据时,DTNTag字段为1。

避免某个时间段内由于特殊情况造成的节点收到的数据包数量剧增从而导致缓存空间分配不合理的问题,采用数据包数量的加权移动平均值来表示。对于节点c来说,在t时间段内收到NDN的业务数据i能够通过公式(7)计算,其中,

根据公式(7)和公式(8),能够计算出节点v在t时间段内收到的NDN业务数据和DTN保管传输数据的占比rec

步骤6.2计算节点的缓存替换率。用replace

根据公式(9)和公式(10),能够计算出计算出节点v在t时间段内NDN业务数据和DTN保管传输数据的缓存替换率占比rep

步骤6.3计算与数据源之间的距离。通过在数据包中添加HopCount字段,节点能够在收到数据包时通过HopCount字段获取此时与数据源之间的跳数。在t时间段内,在节点v处统计NDN与DTN数据与相应的数据源之间的距离,两类数据与数据源之间的距离占比分别通过公式(11)和公式(12)计算。

其中,hop

步骤7网络节点根据步骤6计算出的接受数据包速率占比,缓存替换率占比和节点与数据源距离占比,根据缓存空间分配公式(13)为NDN和DTN业务分配缓存空间,即实现动态缓存空间分配。

步骤7.1网内节点通过对本节点收到数据包的速率、缓存替换率和节点与数据源之间的距离信息进行统计和计算,根据不同的网络状况为上述信息设置不同的权重系数,权重系数代表节点收到的数据包速率、缓存替换率信息和节点与数据源之间的距离这些信息对缓存空间分配的影响程度。然后能够根据公式(13)计算出节点v在时间段t内为NDN和DTN数据分配的缓存空间。

其中,ζ

步骤7.2根据缓存空间分配公式(13)为NDN和DTN业务分配缓存空间,即实现动态缓存空间分配。

有益效果:

本发明提出的基于内容流行度的协助边缘缓存放置方法AECP及缓存空间分配方法CSAS,与现有的DTNDN网络中缓存放置策略及空间分配方法相比,具有如下有益效果:

1.相对于传统的缓存放置策略,如常见的处处缓存策略LCE和概率缓存策略Prob相比,本发明公开的基于DTNDN的协助边缘缓存放置方法AECP,综合考虑网内各节点处的内容实时流行度、节点位置信息、邻接信息等,自主决策是否缓存经过本节点的数据,选取合适的靠近用户的网络节点缓存数据,其他用户在边缘节点处就近获取数据,能够有效解决缓存冗余问题,在提高缓存命中率的同时降低数据响应时延,更加适用于节点快速移动的高动态拓扑场景。

2.相对于固定的缓存空间分配策略,本发明公开的一种基于DTNDN的缓存空间分配方法CSAS,结合节点收到NDN的业务数据和DTN数据的速率、缓存替换率、与数据源之间的距离等信息,动态地为NDN业务数据和DTN保管传输数据分配缓存空间,此方法能够提高缓存空间利用率,减小缓存开销,且能够根据网络变化及时调整缓存分配结果,提高缓存空间利用率,减小缓存开销。

附图说明

图1为本发明涉及到的DTNDN网络拓扑示意图;初始状态时,R

图2为本发明根据DTNDN协助边缘缓存放置及空间分配方法修改后的数据包格式;在原始的数据包的基础上增加了表示数据包经过跳数的HopCount字段,用来描述缓存状态的CsTag字段,以及用来描述数据包类型的DTNTag字段。

图3为本发明设计的AECP方法对兴趣包的转发处理算法;

图4为本发明设计的AECP方法对数据包的缓存和转发处理算法;

图5为本发明公开的基于DTNDN的协助边缘缓存放置方法AECP及缓存空间分配方法CSAS的整体流程图。

具体实施方式

下面将结合附图和实施例对本发明加以详细说明,同时论述本发明的技术方案解决的技术问题及有益效果。需要指出的是,所描述的实施例旨在便于对本发明的理解,对本发明不起任何限定作用。

实施例1

本实施例论述的是在DTNDN网络架构中,AECP缓存放置方法和CSAS缓存空间分配方法的应用。

本实施例基于DTNDN网络,网络拓扑与节点设置如图1所示;任何两个节点之间在有效通信范围内可直接通信,或通过多个中继节点间接通信。网络内各个路由器节点增加一个实时统计兴趣包流行度的表IPST,在收到兴趣包后,将兴趣包低信息记录到表IPST中,根据兴趣包在本节点的请求次数计算各兴趣包的流行度。当数据包返回时,各节点结合自身的位置信息、数据流行度以及缓存标志位信息,计算出本节点的流行度阈值,将计算出的流行度阈值与兴趣包的流行度进行比较,自主决定是否对数据内容进行缓存。数据包在原有的数据包基础上增加了HopCount字段和CsTag字段,数据包的结构如图2所示。应用本发明基于DTNDN的缓存放置方法AECP实施例如下:

步骤Ⅰ、根据图1所示的网络拓扑将时延容忍命名数据网络DTNDN(Delay-TolerantNamed Data Networking)中对缓存各项数据的节点选择建模为Steiner树模型。

步骤Ⅱ、定义缓存效益函数的约束条件为数据请求带宽低于链路的最大可用带宽,数据缓存不能超过最小代价生成树的节点的剩余缓存空间,假设链路最大可用带宽为10Mbps,节点缓存空间为1500数据包。效益函数目标为减小用户获取数据的时延、提高网内节点CS中数据的命中次数以及减小CS存储空间占用,基于所述约束条件和目标构建缓存数据的效益函数模型。

步骤Ⅲ、网络节点收到兴趣包并维护IPST表;

步骤Ⅲ.1用户发送请求兴趣包,网络节点收到兴趣包后维护IPST表。IPST表的结构如表1所示;包括兴趣包名称,兴趣包请求数量,兴趣包流行度。其中,兴趣包流行度是根据式5计算得到的。收到兴趣包后,首先根据兴趣包名称前缀判断IPST表中是否已存在表项,如果存在,就增加对应的兴趣包请求数量,并更新兴趣包流行度。如果没有对应的表项,就会在IPST表中新建表项。

表1IPST表结构

步骤Ⅲ.2网络节点维护自身的PIT表,并根据转发信息表(FIB)将兴趣包转发到下游端口。

以上步骤Ⅰ到步骤Ⅲ为基于DTNDN的缓存放置方法AECP中对于兴趣包的处理流程,网络内各节点会持续的执行步骤Ⅰ~步骤Ⅲ,直到数据生产者返回数据包。整体算法流程如图3所示;

步骤Ⅳ、当节点接受到数据包时,对数据包的HopCount字段和CsTag字段进行判断和修改,具体包括如下子步骤:

步骤Ⅳ.1当网络节点收到有一个数据包时,首先将数据包头部的HopCount字段增加1,用于表示本节点与内容发布者之间的跳数。

步骤Ⅳ.2检查数据包头部的CsTag字段,若CsTag的值为1,则表示此数据包已经被沿途的路由器缓存,为了减小网络内的缓存冗余,本节点不会缓存此数据包,而是会直接转发。

步骤Ⅳ.3若CsTag的值为0或2,则表明之前沿途的路由器没有缓存此数据包或发生过缓存命中,本节点将对是否缓存此数据包进行决策。

步骤Ⅴ、计算并比较数据流行度和节点处的流行度阈值,决策是否缓存数据包,具体包括以下子步骤:

步骤Ⅴ.1根据CsTag的值得到k

步骤Ⅴ.2通过查询兴趣包流行度统计表IPST获得此数据在本节点处的流行度,比较数据的流行度和节点的流行度阈值,若数据流行度比节点的流行度阈值大,则表明此数据流行度较高,应该缓存在更靠近用户的节点处,因此将数据包直接转发,即执行步骤Ⅴ.3;若数据的流行度小于节点的流行度阈值,则表明此数据适合在本节点处缓存,因此对数据包进行缓存操作,将数据包头部的CsTag字段设置为1,表示数据包在网络中已被路由器缓存。随后执行步骤Ⅴ.3。此方法能够有效的将数据包转发到距离用户更近的节点进行缓存,进而提升网络的缓存命中率,减少数据的平均相应时延。

步骤Ⅴ.3查询网络节点对应的PIT表,将数据包转发。

具体为,根据PIT表中兴趣包名称前缀对应的条目,将数据包转发到相应的上游端口。

以上步骤Ⅳ到步骤Ⅴ为基于DTNDN的缓存放置方法AECP中对于数据包的缓存策略和转发处理流程,网络会根据数据包的CsTag执行对应的缓存放置策略。整体算法流程如图4所示;

至此,基于DTNDN的协助边缘缓存放置方法AECP结束。

步骤Ⅵ、查询数据包速率统计表DRST,统计单位时间收到的NDN和DTN数据包占比。统计缓存替换率和与数据源之间的距离。具体包括以下子步骤:

步骤Ⅵ.1网络节点收到数据包并维护数据包速率统计表DRST。DRST表的结构如表2所示,包括数据包名称,数据包数量,数据包类型;

表2DRST表结构

步骤Ⅵ.2计算NDN和DTN的缓存替换率占比,当节点缓存空间未被占满时,NDN和DTN的缓存替换率均为0.5。

步骤Ⅵ.3通过提取数据包的Hopcount字段获取与数据源之间的距离,分别计算NDN和DTN的数据包距离占比。

步骤Ⅶ、根据步骤Ⅵ中获取的数据包速率,缓存替换率,与数据源距离信息,为NDN和DTN分配缓存空间。

具体为,根据公式(13)提出的动态缓存空间分配方案,根据各个节点的缓存能力和网络实时信息,为网络各节点的NDN和DTN业务数据动态分配缓存空间资源。

以上步骤Ⅵ到步骤Ⅶ为基于DTNDN的缓存空间分配方法CSAS中对于NDN和DTN数据包的缓存空间分配方案;

至此,基于DTNDN的动态缓存空间分配方法CSAS结束。

本实施例公开的一种基于DTNDN的协助边缘缓存放置方法AECP及动态缓存空间分配方法CSAS,这种方式改善了目前不能根据网络状态动态调节缓存放置策略和缓存空间利用率较低的问题。

本实施例综合考虑网内各节点处的内容实时流行度、节点位置信息、邻接信息等,自主决策是否缓存经过本节点的数据,与DTNDN中经常使用的处处缓存策略LCE和概率缓存策略Prob相比,更加适用于节点快速移动的高动态拓扑场景。通过数据流行度和节点流行度阈值进行比较进行缓存放置决策的方式,能够有效的将数据缓存到距离用户更近的边缘路由器节点,进而提升缓存命中率,减小用户获取数据包的时延。此外,网络各节点根据收到数据包的速率,缓存替换率,与数据源距离信息,为NDN业务数据和DTN保管传输数据动态分配缓存空间,能够提高缓存空间利用率,减小缓存开销。本实施例对高动态,拓扑频繁变换的卫星通信、无人机通信等场景尤其适用。

以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120116521520