基于TOPSIS熵权法的轻量级缓存策略

文档序号:25088940发布日期:2021-05-18 19:21阅读:174来源:国知局
基于TOPSIS熵权法的轻量级缓存策略
基于topsis熵权法的轻量级缓存策略
技术领域
1.本发明涉及基于topsis熵权法的轻量级缓存策略,属于内容中心网络领域。


背景技术:

2.随着社会的发展,互联网在我们的生活中发挥着越来越重要的作用,而互联网数据流量在过去几年中呈爆炸式增长。根据思科vni的预测,到2022年,全球ip视频流量将占所有ip流量(包括商业和用户)的82%,高于2017年的75%。传统的tcp/ip系统在数据包分发方面存在可扩展性差、安全性低、灵活性不足等诸多缺点。为了解决这个问题,近年来研究人员提出了以内容为中心的网络架构(information centric networking,icn)来提高网络服务质量。内容中心网络(icn)是一种新型的互联网架构,有可能处理当前ip网络固有缺陷的问题,并有望满足未来的要求,以提高互联网的质量。
3.icn专注于“内容”,不再关心内容的具体位置。icn的网内缓存可以有效降低流量冗余和源服务器负载。用户、互联网服务提供商(isp)都可以从网内缓存中获得巨大的收益。此外,网络内缓存还可以与边缘云计算、雾计算、车载自组织网络、物联网、第五代(5g)移动蜂窝网络等相结合,以实现灵活、高效和可扩展的网络服务。因此,针对网内缓存的研究一直是icn领域关注的热点之一。
4.icn架构中,通信主要依靠两种包:兴趣包和数据包。每个路由器节点包含三种类型的数据结构:待定兴趣表(pit)、转发信息库(fib)和内容存储(cs)。路由器节点收到感兴趣的数据包后,会在cs中寻找匹配的数据包。如果查找失败,它将在pit中检查相同的未决请求。否则,pit记录接收兴趣包的接口,并通过在fib中查找名称来转发兴趣包。数据包通过pit条目返回给消费者。同时,数据包将根据路径上节点的存储空间进行缓存。
5.在本发明提出之前,icn缓存策略领域中,有lce、lcd、procache、cl4m等等,用这些缓存策略的缺点有:
6.(1)没有充分考虑内容流行度以及详细研究缓存放置位置。
7.(2)没有充分考虑缓存替换策略而使用的lru缓存替换策略。


技术实现要素:

8.本发明的目的就在于克服上述缺陷,研制基于topsis熵权法的轻量级缓存策略以提高网络中的整体缓存命中率、降低延迟、降低链路负载以及提高用户体验。
9.本发明的技术方案如下:
10.基于topsis熵权法的轻量级缓存策略,其特征在于,包括如下步骤:
11.(1)对icn网络中路由器内原始的cs表的数据结构进行改造;
12.(2)在icn网络中的路由器内添加节点信息记录表;
13.(3)对icn中原始的兴趣包和数据包的数据结构进行改造;
14.(4)使用topsis熵权法计算出命中节点(非服务器节点)中流行内容的缓存位置;
15.(5)周期性的执行主动缓存替换策略算法;
16.(6)根据命中节点类型(服务器节点和非服务器节点)执行不同的缓存放置策略和基于内容价值的被动缓存替换策略算法。
17.所述步骤(1)通过改造路由器内原始的cs表的数据结构以合理计算出节点内的流行内容。所述步骤(2)目的是稳定记录节点的剩余空间大小、介数以及缓存替换次数这三类用于后续缓存位置计算的关键信息。所述步骤(3)在兴趣包内添加信息字段和驱逐表字段。信息字段的目的是收集所经过节点的跳数、剩余空间大小、介数以及缓存替换次数这四类信息。驱逐表字段是为了方便执行主动缓存替换策略。在数据包内添加缓存节点字段以记录缓存节点的id。
18.以上三个步骤是算法执行的基础。
19.所述步骤(4)中使用的topsis熵权法是一种常用的综合评价方法,能够充分利用原始数据的信息,其结果能够准确反映评价方案中的差距。在icn中,为了选择缓存对象的最佳缓存节点,基于每个节点的四个指标(节点介数、剩余空间大小、缓存替换次数和距离用户跳数)使用topsis熵权法来建模求解。
20.四个指标介绍:
21.①
节点介数是衡量网络拓扑中节点重要性的指标。如果一个节点的介数比较大,那么会有更多的路径通过该节点,使得节点面临更大的压力。
22.②
节点缓存替换次数表示一段时间内节点缓存替换的频率。节点缓存替换次数越大那么所面临的压力就越大,从而降低了节点的性能。因此平衡节点之间的压力可以有效提高整个网络的性能。
23.③
节点剩余空间大小表示节点的缓存利用率,节点的剩余空间大小越小节点的缓存利用率越高。
24.④
节点距离用户跳数表示用户和缓存节点之间的距离。如果将内容对象缓存在靠近用户的节点上,那么用户的延迟将大大减少,从而改善消费者的体验。
25.因此,为了提高节点的缓存利用率,降低延迟和节点压力,本发明的目标是找到具有介数小、剩余空间大小高、缓存替换次数低和距离用户跳数小的节点来缓存内容对象。其中,节点介数、剩余空间大小、缓存替换次数这三个指标均记录在所述步骤(2)中节点信息记录表中,并可由所述步骤(3)中兴趣包经过节点时获取并记录在兴趣包的信息收集表中,另外距离用户跳数可由兴趣包自行获取。
26.所述步骤(5),主动缓存替换策略的目标是驱逐网络内的冗余内容,节省更多的缓存空间。
27.所述步骤(6),执行不同的缓存放置策略可以有效的提高内容的利用率。缓存放置策略和基于内容价值的被动缓存替换策略相结合能够进一步的提升网内缓存的性能。
28.进一步的,所述步骤(1)对icn网络中路由器内原始的cs表的数据结构进行改造:
29.原始的cs表仅记录节点内存储内容的名称,并不会实时计算各个内容的命中次数,因此对其进行了改造以统计内容流行度。其中,新的cs表如表1所示
30.interest packet namenumber of cache hits/net/news/c.txt35/net/videos/a.mp420/net/videos/d.mp418
31.表1:改造后的cs表
32.如表1所示,第一列interest packetname为缓存的内容的名称,第二列numberofcachehits为缓存命中次数。
33.进一步的,所述步骤(2)在icn网络中的路由器内添加节点信息记录表:
34.icn网络中的路由器没有记录节点介数、剩余空间大小、缓存替换次数的信息表,本发明在路由器内添加节点信息记录表以记录以上三个信息。其中,信息记录表如表2示:
35.indexesvaluebetweenness centrality1.5number of cache replacements20size of remaining space18
36.表2:信息记录表
37.如表2所示,第一列indexes为指标栏,该栏下的betweenness centrality为节点介数,number of cache replacements为一段时间内的缓存替换次数,size of remaining space为剩余空间大小;表中的第二列value为这三个指标对应的值。
38.进一步的,所述步骤(3)对icn中原始的兴趣包和数据包的数据结构进行改造:
39.icn中的兴趣包和数据包是转发机制的关键,也可以携带少量的信息用于缓存位置的计算,因此本发明在兴趣包中添加了信息字段用于收集转发过程中沿途路由节点的信息,其中改造后的兴趣包数据结构如图1所示。
40.如图1所示图中info为信息字段,该字段是一个记录兴趣包所经过节点信息的表格。在这个表格中,id为经过的节点的id,bc、ncr、rs和hop分别表示对应节点的介数、缓存替换次数、剩余空间大小和兴趣包到达距离。除了hop,其bc、ncr和rs都可以从所述步骤(2)中的对应节点的节点信息记录表中获取。eviction为驱逐字段。该字段是记录着需要被驱逐的内容对象的表格。在这个表格中,f为标志位,content name为驱逐对象的名称。f的默认值为0,如果f为1则表示此次请求对路径上的内容进行驱逐,
41.数据包中仅添加了cache node字段,用于记录缓存节点的id。改造后的数据包数据结构如图2所示。
42.进一步的,所述步骤(4)使用topsis熵权法计算出命中节点(非服务器节点)中流行内容(流行内容定义为在命中节点的命中次数与最大命中次数的比值大于等于0.5的内容)的缓存位置:
43.topsis熵权法的步骤如下:
44.①
构造标准化矩阵
45.可以从兴趣包中的信息字段中获取用于构造原始决策矩阵的信息。原始决策矩阵如下:
[0046][0047]
矩阵a表示评估对象(评估对象是用户和缓存命中节点v
i
之间的路由器节点)的数
量为n,每个评估对象的评估指标的数量为m,a
nm
表示第n个节点的第m个指标(这里的指标为上述四个指标之一)。在本发明中,评估指标为节点的介数、缓存替换次数、剩余空间大小和兴趣包到达距离。在所有的指标中并非所有指标都是正向指标。因此,所有指标都需要转换为正向指标。其中计算公式如下:
[0048][0049]
经过上述公式除处理后,原a
nm
均转换为正向指标并表示为x
nm

[0050]
通过上述将原始矩阵a转换为正向化矩阵x。正向化矩阵x如下:
[0051][0052]
由于四个指标的量纲不同,因此需要对矩阵x进行标准化。消除不同量纲影响的公式如下:
[0053][0054]
s.t.i=1,2,

,n;j=1,2,

,m
[0055]
经过上述公式除处理后,正向指标x
nm
均被标准化并表示为z
ij

[0056]
通过上述将正向化矩阵x转换为标准化矩阵z。标准化矩阵z如下:
[0057][0058]

计算指标权重
[0059]
根据信息熵的定义,第j个指标的信息熵e
j
的计算公式如下:
[0060][0061][0062]
如果p
ij
的值为0,则e
j
的值也为0,这意味着指标j的信息熵为0。在获得每个指标的信息熵之后,可以根据信息熵的大小为每个指标分配权重。各指标的权重计算公式如下:
[0063][0064]
经过上述公式除处理后,可计算出指标j的权重w
j

[0065]

计算节点的评分
[0066]
在获得标准化矩阵z和每个指标的权重w
j
之后,可以构建用于评估每个节点的评分的加权标准化矩阵y。加权标准化矩阵y如下:
[0067][0068]
s.t.y
ij
=w
j
z
ij
[0069]
其中y
ij
为标准化z
ij
指标的加权指标。
[0070]
根据加权标准化矩阵y,可以得到正理想解y
+
和负理想解y

。正负理想解的计算公式如下:
[0071][0072][0073][0074][0075]
最后,可以通过以上信息计算每个节点的评分s
i
,并且将具有最高评分的节点的id放入数据包的cache node字段中。节点的评分s
i
的计算公式如下:
[0076][0077][0078][0079]
其中d
+
和d

是每个指标与正负理想解之间的欧氏距离。
[0080]
进一步的,所述步骤(5)周期性的执行主动缓存替换策略算法:
[0081]
主动缓存替换策略旨在尽可能减少请求路径上的缓存冗余,从而逐渐减少整个网络的缓存冗余。在一次内容请求中如果f=1,则意味着此次请求事件不仅请求内容对象,还会在转发过程中根据兴趣包中的驱逐字段驱逐请求路径上节点中的冗余内容。为了减少路由节点的额外压力,仅当每个边缘节点接收到的兴趣包的数量达到阈值t的整数倍时,才执行主动缓存替换策略。阈值t表示为平均请求跳数和缓存容量(即单个路由节点可以缓存的最大内容数量)的乘积。根据内容缓存机制的架构,平均请求跳数设置为7。
[0082]
整个驱逐过程分为更新驱逐字段和驱逐内容对象两个步骤。
[0083]

更新驱逐字段
[0084]
如果命中节点不是边缘节点且f=1,兴趣包的驱逐字段将获取边缘节点中cs的信息进行初始化。当兴趣包转发到下一个路由节点时,当前节点的cs和兴趣包原始的驱逐字段中的信息的交集将被用来更新驱逐字段。
[0085]

第二步:驱逐内容对象
[0086]
假设兴趣包被转发到节点v
c
,如果节点v
c
只有一个下行链路和一个上行链路(即节点v
c
的度为2),这意味着节点v
c
仅服务于连接当前路径上的用户。为了提高缓存利用率,主动缓存替换策略将根据驱逐字段中记录的内容驱逐节点v
c
中的冗余内容。特别地,如果节点v
c
的度大于2,这意味着节点v
c
可能服务于更多的路径上的用户。在这种情况下,很难判断记录在驱逐字段中的内容对于节点v
c
下行链路上的用户是否是冗余的。因此,主动缓存替换策略仅驱逐节点v
c
和驱逐字段中的内容交集中不受欢迎的内容对象,以最大化缓存性能。
[0087]
上述主动缓存策略的算法如下:
[0088][0089]
进一步的,所述步骤(6)根据命中节点类型(服务器节点和非服务器节点)执行不同的缓存放置策略和基于内容价值的缓存替换策略算法,其中缓存放置策略分为2种情况:
[0090]

命中节点类型为服务器节点
[0091]
将服务器节点的前一跳节点v
i
的id添加到数据包的缓存节点字段中并将数据包按原路径转发。当数据包转发至v
i
时,根据v
i
的剩余缓存空间大小执行缓存替换策略。
[0092]
a:如果v
i
的缓存空间未满,则将数据包缓存在v
i
处,同时将数据包在v
i
处的缓存命中次数设置为v
i
中排名在中间位置的内容的命中次数,目的是为了让新缓存内容不被快速替换出去。这种情况不执行缓存替换策略。
[0093]
b:如果v
i
的缓存空间已满,则先根据v
i
中各个内容的缓存命中次数驱逐出命中次数最少的内容对象,然后再将数据包缓存在v
i
处,同时将数据包在v
i
处的缓存命中次数设置为v
i
中排名在中间位置的内容的命中次数。在v
i
中被驱逐出的对象会被转发至v
i
的前一跳节点v
j
。如果v
j
缓存空间未满,则将驱逐出的内容对象缓存在v
j
处,命中次数为该内容对象在v
i
处的命中次数。如果v
j
缓存空间已满,则将驱逐出的内容对象与v
j
处命中次数最低的内容对象作比较,保留命中次数最大的那个内容且命中次数不变。
[0094]

命中节点类型为非服务器节点
[0095]
如果请求内容为非流行内容则不执行缓存放置策略,否则根据所述步骤(4)先计算出缓存节点v
k
,然后将v
k
的id添加到数据包的缓存节点字段中并将数据包按原路径转发。
[0096]
当数据包转发至v
k
时,根据v
k
的剩余缓存空间大小执行缓存替换策略。
[0097]
a:如果v
k
的缓存空间未满,则将数据包缓存在v
k
处,同时将数据包在v
k
处的缓存命中次数设置为v
k
中排名在中间位置的内容的命中次数。这种情况不执行缓存替换策略。
[0098]
b:如果v
k
的缓存空间已满,则先根据v
k
中各个内容的缓存命中次数驱逐出命中次数最少的内容对象,然后再将数据包缓存在v
k
处,同时将数据包在v
k
处的缓存命中次数设置为v
k
中排名在中间位置的内容的命中次数。在v
k
中被驱逐出的对象会被转发至v
k
的后一跳节点v
l
。如果v
l
缓存空间未满,则将驱逐出的内容对象缓存在v
l
处,命中次数为该内容对象在v
k
处的命中次数。如果v
l
缓存空间已满,则将驱逐出的内容对象与v
l
处命中次数最低的内容对象作比较,保留命中次数最大的那个内容且命中次数不变。
[0099]
上述缓存放置策略执行流程如下:
[0100]
[0101][0102]
本发明分析了内容中心网络(information centric networking,icn)中缓存内容的放置问题,使用topsis熵权法对用户请求内容的过程进行建模,并合理的计算出路由节点内流行内容的缓存放置位置。另外,本发明还提出了减少缓存冗余的主动缓存替换策略和基于内容价值的被动缓存替换策略,与传统的lru替换策略相比提高了缓存利用率。本发明针对真实拓tiscali

3257(泛欧isp)进行了大规模的仿真,仿真结果表明与传统的主流方法相比,本发明能够明显提高网络中的整体缓存命中率、降低时延、降低链路负载以及提高用户体验。
附图说明
[0103]
图1——改造后的兴趣包;
[0104]
图2——改造后的数据包;
[0105]
图3——本发明仿真拓扑图;
[0106]
图4、图5——与其它方法的缓存命中率变化趋势比较图;
[0107]
图6——与其它方法的用户延迟变化趋势比较图;
[0108]
图7——与其它方法的链路负载变化趋势比较图。
具体实施方式
[0109]
本发明的技术方案是:
[0110]
缓存策略主要包括三点方面:a.缓存什么内容;b.缓存在什么位置;c.发生缓存替换时替换什么内容。
[0111]
在问题分析中,根据命中节点的类型的不同进行具体分析,并将用户请求流行内容的过程使用topsis熵权法建模以求得最佳缓存节点。在获得缓存节点的id后其存入数据包中的cache node字段。当数据包经过缓存节点时,根据缓存节点的实时情况执行缓存替换策略以最大化节点空间利用率。被替换出的内容通过向上或者向下推送以进一步的提高
内容的重用率。
[0112]
实施例:
[0113]
为了真实的模拟icn网络,本发明采用tiscali

3257(泛欧商业isp)实际拓扑结构进行仿真实验。如图3所示,tiscali

3257在拓扑中具有240个节点和404个边,其中包括44个服务器节点(中间白色),36个用户节点(边缘白色)和160个路由器节点(黑色)。所有路由器节点具有相同的缓存容量,并且缓存与内容对象的填充比为s(即网络缓存的累积大小占总内容填充的一部分)。路由器节点与服务器节点之间的链路延迟为34ms,其余路由器节点之间的链路延迟为2ms。网络中内容对象的总数(内容目录大小)为100,000,所有内容对象均等地分配给所有的服务器。用户的请求到达过程遵循泊松分布,内容流行度使用zipf分布建模,zipf参数α的默认值为0.8,并且在0.7到1.1之间变化。为减少实验误差,缓存可预热50,000个请求,随后的250,000个请求用于性能评估。最终分别统计了不同方法的缓存命中率、用户延迟和链路负载这3种评估标准。与其他比较的方法有lce、lcd、procache、cl4m和我们之前提出的基于复合流行度的缓存策略。
[0114]
(1)缓存命中率
[0115]
图4显示了本发明与其它方法的缓存命中率变化趋势比较图,本发明始终优于其它五种缓存策略,图中横坐标s为整个拓扑的缓存空间大小与内容总数的比值。当s等于0.25时,本发明的缓存命中率为42.37%,比第二好的缓存策略高出1.18%(即复合流行度的缓存命中率为41.19%),比第三好的缓存策略高出6.22%(即lcd的缓存命中率为36.15%)。当s=0.05时,与复合流行度相比,缓存命中率提高了2.2%。
[0116]
图5显示了本发明与其它方法的缓存命中率变化趋势比较图。图中横坐标为zipf参数α,整个拓扑的缓存空间大小与内容总数的比值s固定为0.15。随着zipf参数α的提高,本发明的缓存命中率始终由优于其它缓存策略。
[0117]
(2)用户延迟
[0118]
除了缓存命中率之外,延迟是网络中一个重要的性能指标。更短的延迟可以间接改善消费者的体验。图6显示了本发明与其它方法的用户延迟变化趋势比较图,图中横坐标s为整个拓扑的缓存空间大小与内容总数的比值。当s在0.05到0.25之间时,本发明的平均延迟为63.94毫秒,比复合流行度(64.65毫秒)低1%,比lcd(67.9毫秒)低5.84%,比cl4m(71.75毫秒)低10.88%,比probcache(74.4毫秒)低14.06%,比lce(73.58毫秒)低13.1%。综上所述,本发明在用户延迟方面始终优于其它五种缓存策略。
[0119]
(3)链路负载
[0120]
图7显示了本发明与其它方法的链路负载变化趋势比较图。本发明与处了复合流行度的其他四种缓存策略相比,性能表现明显更好。当s在0.05到0.25之间时,本发明的平均链路负载为261.16mbps,比平均负载为263.67mbps的lcd低1%,仅比平均负载为259.03mbps的复合流行度高0.8%。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1