CN104166630B - 一种面向内容中心网络中基于预测的最优化缓存放置方法 - Google Patents
一种面向内容中心网络中基于预测的最优化缓存放置方法 Download PDFInfo
- Publication number
- CN104166630B CN104166630B CN201410382200.8A CN201410382200A CN104166630B CN 104166630 B CN104166630 B CN 104166630B CN 201410382200 A CN201410382200 A CN 201410382200A CN 104166630 B CN104166630 B CN 104166630B
- Authority
- CN
- China
- Prior art keywords
- cache
- node
- caching
- benefit
- new
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000005457 optimization Methods 0.000 title abstract description 4
- 230000035772 mutation Effects 0.000 claims abstract description 28
- 108090000623 proteins and genes Proteins 0.000 claims abstract description 19
- 230000008901 benefit Effects 0.000 claims description 32
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 abstract 1
- 230000003252 repetitive effect Effects 0.000 abstract 1
- 230000006641 stabilisation Effects 0.000 abstract 1
- 238000011105 stabilization Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 21
- 230000002068 genetic effect Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 238000009499 grossing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 206010064571 Gene mutation Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于网络技术领域,具体涉及一种可用于内容中心网络中数据缓存的面向内容中心网络中基于预测的最优化缓存放置方法。本发明包括:将缓存放置方案编码为二进制符号串,1代表缓存对象,0代表不缓存对象,随机产生初始种群;计算每种缓存放置方案的收益值,找出最大收益值存入数组max;基于个体适应度划分的选择运算;基于个体相关性的交叉运算;基于基因块的变异运算;产生新的种群,即新的缓存放置方案;判断数组max是否趋于稳定,如果稳定,得到最大收益缓存放置。本发明有效降低了用户访问延迟,减少了内容重复请求率和网络内容冗余,增强了网络数据多样性,显著提高了全网缓存性能,具有更高的缓存效率。
Description
技术领域
本发明属于网络技术领域,具体涉及一种可用于内容中心网络中数据缓存的面向内容中心网络中基于预测的最优化缓存放置方法。
背景技术
随着Internet的迅速发展,互联网在很多方面暴露出问题,如可扩展性方面的问题、动态性方面的问题以及网络安全性问题等等。针对当前互联网出现的一系列问题,国内外研究者已经提出很多的解决方案,包括P2P和CDN等。2009年,施乐公司帕洛阿托研究中心的Van Jacobson提出内容中心网络(Content Centric Network,简称CCN)。
CCN中每个节点都设有缓存空间,采用“经过即缓存”策略来缓存数据。CCN节点自身具备的缓存特性虽然有一定的优势,但是这种对内容不加区分地缓存特性容易产生无效缓存,带来不必要开销,造成有限的缓存空间内大量内容冗余,大大降低缓存空间的利用率,从而降低网络的缓存性能。
本发明将缓存放置问题转化为一个最优化问题,对影响缓存性能的几个因素包括对象被访问频率、距离、对象大小等进行综合考虑,构建了一种最大化收益缓存放置模型,称为Max-Benefit模型。同时,为了使模型中对象被访问频率能够更好地反映对象的热度情况,本发明在Max-Benefit模型中引入了预测机制,用对象被访问频率的预测值代替实际值,更准确地表示对象被访问的频率趋势,提出基于预测的最大化收益的缓存放置模型(Prediction based Max-Benefit,简称PB-Max-Benefit)。
此外,相比于其他求解最优化模型的算法,如最小斯坦纳树算法、贪婪算法、动态规划法等,本发明中使用的遗传算法运算过程简单而且并行搜索问题的解。
发明内容
本发明的目的在于提供一种解决内容中心网络中因对内容不加区分进行缓存而产生无效缓存,带来不必要开销,造成有限的缓存空间内大量数据冗余,大大降低缓存空间的利用率的一种面向内容中心网络中基于预测的最优化缓存放置方法。
本发明的目的是这样实现的:
(1)将缓存放置方案编码为二进制符号串,1代表缓存对象,0代表不缓存对象,随机产生初始种群;
(2)计算每种缓存放置方案的收益值,找出最大收益值存入数组max;
(3)基于个体适应度划分的选择运算;
(4)基于个体相关性的交叉运算;
(5)基于基因块的变异运算;
(6)产生新的种群,即新的缓存放置方案;
(7)判断数组max是否趋于稳定,如果稳定,得到最大收益缓存放置;否则重新执行步骤(2)。
步骤(1)中,对于每一种缓存放置方案都对应一种0、1编码串。
步骤(2)包括:
计算最大化缓存收益Max-Benefit步骤,其中,为新对象oi到达节点vi,缓存新对象oi给节点vi带来的收益:
其中,xi∈{0,1},
X={x1,x2,...xn},x1,x2,...,xn对应的是节点v1,v2,...,vn的值,对于对象o,xi=0表示节点vi上不对o进行缓存,xi=1表示节点vi上缓存对象o;
对象o,将o缓存在节点vi上,所有经过vi对o的请求可以直接从节点vi得到对象o,由节点vi缓存对象o而节省的访问开销称为缓存对象o获得的缓存收益,每个相关节点vj获得的收益为:
其中,表示任意相关节点vj上观察到的对对象o的访问频率,表示节点vi上缓存对象o时,以vi为新的最近源节点的节点vj请求o节省的跳数,size(o)表示对象o的大小,w表示传输单位大小对象的开销;
其他节点称为节点vi的相关节点,节点vi的相关节点有k个,节点vi缓存对象得到的收益为
任意与vi相关的节点产生的缓存损耗表示为:
节点vi为了缓存对象o而替换掉对象集合带来的缓存损耗表示为
计算出缓存中各对象被访问频率的预测值根据预测值的大小将缓存中的值相对较小的对象替换出缓存;
缓存新对象oi给节点vi带来的收益为:
步骤(2)中影响缓存性能的因素包括:(1)对象被访问的频率;(2)由于某个节点缓存对象而节省的跳数;(3)对象大小;(4)传输单位大小对象的开销;(5)节点的存储开销。
本发明的有益效果在于:
本发明的主要内容就是要找到对于任意需要被缓存的对象的一个缓存部署,构建一种基于预测的最大化收益的缓存放置模型,即PB-Max-Benefit模型,使得在该缓存部署下缓存对象给网络带来的收益最大化。对于任意一个缓存部署,PB-Max-Benefit模型对应一个收益值,寻找该模型的一个最大收益值,对应的就是一个最大化收益的缓存部署,那么这个缓存部署就是所求的最优化缓存放置方案。仿真实验结果表明,在不同环境中PB-Max-benefit的缓存命中率都是最高的,平均跳数和无效缓存率都低于其他三种缓存放置策略,有效降低了用户访问延迟,减少了内容重复请求率和网络内容冗余,增强了网络数据多样性,显著提高了全网缓存性能,具有更高的缓存效率。
附图说明
图1是本发明的总流程图;
图2是本发明的网络拓扑示意图;
图3是本发明的实验平台环境示意图;
图4是本发明的简单请求路径示意图;
图5是本发明的对象访问情况表示意图;
图6是本发明的缓存大小对缓存命中率的影响示意图;
图7是本发明的缓存大小对无效缓存率的影响示意图;
图8是本发明的缓存大小对网络平均跳数的影响示意图;
图9是本发明的Zipf-like偏度参数α对缓存命中率的影响示意图;
图10是本发明的Zipf-like偏度参数α对平均跳数的影响示意图;
图11是本发明的网络规模对缓存命中率的影响示意图;
图12是本发明的网络规模对平均跳数的影响示意图;
具体实施方式
下面结合附图对本发明做更详细地描述。
本发明要解决的技术问题是:提供一种面向内容中心网络中基于预测的最优化缓存放置方法,找到对于任意需要被缓存的对象的一个缓存部署,使得在该缓存部署下缓存对象给网络带来的收益最大化。解决了内容中心网络中因对内容不加区分进行缓存而产生无效缓存,带来不必要开销,造成有限的缓存空间内大量数据冗余,大大降低缓存空间的利用率,从而降低网络的缓存性能等问题。
技术方案
本发明提出了一种面向内容中心网络中基于预测的最优化缓存放置方法,该策略通过优化数据请求路径上缓存副本的部署,减少服务器负载、用户访问延迟和节省网络带宽,减少网络数据冗余,增强网络数据多样性,从而提高全网的缓存性能。其工作流程如下所示:
步骤1:将缓存放置方案编码为二进制符号串(1代表缓存对象,0代表不缓存对象),随机产生初始种群,即初始缓存放置方案。
步骤2:计算每种缓存放置方案的收益值,找出最大收益值存入数组max。
步骤3:基于个体适应度划分的选择运算;
步骤4:基于个体相关性的交叉运算;
步骤5:基于基因块的变异运算;
步骤6:产生新的种群,即新的缓存放置方案;
步骤7:判断数组max是否趋于稳定,如果否,则继续步骤2;
步骤8:否则,得到最大收益缓存放置放置。
其执行前提是各缓存节点上缓存的对象是有效的,并且节点可定位最近的缓存副本,任意时刻请求可以在距离请求节点最近的源节点上得到满足,各缓存节点都能获得当前缓存分布。
在CCN网络中,所有节点都设有内容存储表(Content Store,简称CS),该数据结构作为节点的缓存空间,用来缓存经过该节点且未被该节点缓存的所有内容,CCN这种缓存特点称为经过即缓存。如图2所示网络拓扑,图中共有15个节点,其中v1是请求节点,S是服务器,可以用来响应所有的请求,v1->v2->…->v6->S是从节点v1到服务器S的一条请求路径。在CCN网络中,以v1请求对象oi为例,该请求和响应过程描述如下:v1查看自己的CS中是否有oi,如果有,则该请求得到满足。否则,将请求转发到v2,直到请求被转发到S,请求得到满足。S收到请求消息,将请求的对象沿着发送请求的路径返回给v1,并且在返回路径的所有节点上查看它们的CS中是否有oi,如果有,不作任何处理,如果没有,则在该节点的CS中存储对象oi的一个副本。
本发明研究的主要内容就是要在请求路径上找到对于任意需要被缓存的对象的一个缓存部署,使得在该缓存部署下缓存该对象给网络带来的收益最大化。
一条路径上有n个节点,V={v1,v2,...,vn},如果对象o被缓存到这n个节点的k个节点v′1,v′2,...v′k上,其中1≤k≤n,V′={v′1,v′2,...,v′k},那么,集合V′中包含的节点就是该路径上对于对象o的一个缓存部署。
步骤1,对于路径上的任意一个节点和一个对象节点只有两种状态,缓存对象或不缓存对象。将缓存放置方案进行编码,0表示不缓存对象,1表示缓存对象。对于每一种缓存放置方案都对应一种0、1编码串。
步骤2包括:
计算最大化缓存收益Max-Benefit步骤,其中,为新对象oi到达节点vi,缓存新对象oi给节点vi带来的收益。
其中,
(1)xi∈{0,1}
X={x1,x2,...,xn},x1,x2,...,xn对应的是节点v1,v2,...,vn的值,对于对象o,xi=0表示节点vi上不对o进行缓存,xi=1表示节点vi上缓存对象o。
给定一个对象o,将o缓存在节点vi上,所有经过vi对o的请求可以直接从节点vi得到对象o,省去了访问远处源节点或服务器而产生的访问开销,由节点vi缓存对象o而节省的访问开销称为缓存对象o获得的缓存收益。每个相关节点vj获得的收益可以表示为:
其中,表示任意相关节点vj上观察到的对对象o的访问频率,表示节点vi上缓存对象o时,以vi为新的最近源节点的节点vj请求o节省的跳数,size(o)表示对象o的大小,w表示传输单位大小对象的开销。
节点vi缓存对象能给以该节点为新的最近源节点的其他节点带来收益,这里的其他节点称为节点vi的相关节点,假设节点vi的相关节点有k个,公式gain(vj)所示为节点vi的任意相关节点vj获得的收益,那么节点vi缓存对象得到的收益为
当新对象o到达vi且节点vi缓存空间已经占满或者不足以缓存o时,需替换掉缓存空间中一个对象或对象集合以便有足够的空间缓存新的对象。当再次向vi请求对象时,vi不能满足该请求,需要到距离请求节点最近的存储有对象的节点请求,此时增加的访问开销称为缓存损耗。任意与vi相关的节点产生的缓存损耗可以表示为:
同理,节点vi为了缓存对象o而替换掉对象集合带来的缓存损耗表示为
对于被替换对象集合的选择问题,可以根据步骤(2)中预测技术,计算出缓存中各对象被访问频率的预测值根据预测值的大小将缓存中的值相对较小的对象替换出缓存。
对于一个节点,单纯缓存一个对象会带来一定的收益,但是,如果为了缓存一个对象需要替换掉一个对象或对象集合,这样也会带来一定的损耗。因此,一个节点缓存对象得到的收益可以分为两种情况计算。第一种情况是,剩余缓存空间size(free)足够缓存新到达的对象size(o),此时,直接将对象缓存到节点;另外一种情况是,剩余缓存空间不足够容纳新对象或者缓存空间已经占满,此时,需要替换掉一些对象以便节点有足够多的空间缓存新对象。因此,新对象oi到达节点vi,缓存新对象oi给节点vi带来的收益如下:
步骤2中引入了预测机制,对对象将来的热度趋势进行预测,用对象被访问频率的预测值代替实际值,更准确地表示对象被访问的频率趋势。
影响缓存性能的因素包括:(1)对象被访问的频率;(2)由于某个节点缓存对象而节省的跳数;(3)对象大小;(4)传输单位大小对象的开销;(5)节点的存储开销,存取任意对象都会在相应的节点上产生存取开销,定义存取开销与节点本身的性能有关。
一个对象(或内容)当前时间段内被访问频率不能反映出该对象将来的热度趋势。预测技术能够通过历史访问记录来预测对象将来的热度值。对象热度的预测值可以表示对象将来一段时间被访问的趋势,即对象将来的热度趋势,用它来决定是否缓存该对象,以便实现尽可能多的缓存热门对象,避免无效缓存的发生,从而提高缓存性能。为此,在Max-Benefit模型中引入预测机制,提出基于预测的最大收益缓存放置模型,即PB-Max-Benefit模型。
本发明采用指数平滑法对内容被访问的频率进行预测,从而得到内容将来一段时间可能的热度。指数平滑法计算预测值的时候对全部历史数据都考虑在内,但是在实际计算的过程中,参与计算的只有一个实际值、一个预测值和一个平滑系数α,因此,计算方法非常简单。同时,指数平滑法不需要对历史数据进行全部存储,可以减少数据存储带来的一些问题。
在CCN网络中的节点上,增加一个称为对象访问情况表(Content Access Table,CAT)的数据结构,如图5所示。该表用来记录一个时间段内经过或者在该节点上访问的所有对象及其对应的被访问次数情况。
步骤3、4、5、6中包括使用改进遗传算法求解基于预测的最优化缓存放置问题,得到的最优个体即为一种最大收益的缓存放置方案。
本发明在标准遗传算法的基础上,分别对选择运算、交叉运算和变异运算进行了改进。通过在选择运算的过程中加入对个体优劣程度的划分,对不同等级个体分别采用选择运算,通过保留一部分的劣等个体,提高种群多样性。在交叉运算之前判定个体相关性,避免失效交叉带来的不必要的时间开销。变异运算中引入基因块的概念,保证在算法运行后期,变异运算的显著性。
本发明采用基于NS-3的ndnSIM平台和CCNx协议进行实验仿真,实验平台环境如图3所示。用GT-ITM拓扑生成工具生成仿真实验所需的网络拓扑,该网络拓扑由200个节点(其中包括一个服务器节点)随机的散布在一个平面上组成一个平面随机图,并且符合Waxman模型。该模型中节点和节点v之间存在边的概率为其中,0<γ,β≤1,d是节点u和节点v之间的欧几里得距离,L代表图中任意两个节点之间的最大距离,γ增大,图中边的数量就会增加,β增加,就会增加图中较长边的比例。网络中只有一个内容服务节点,所有的请求都可以在该节点得到满足,该节点是从200个节点中随机选择的。网络中对象的总数为10000,每个对象的大小从1k到5k不等。
仿真实验中,设置每个节点都是一个客户端,都可以产生查询请求消息,实验中假设每个节点都可以找到距离自己最近的缓存有目标对象的节点,因此,每次请求可以在最小距离内节点处得到满足。CCN网络是基于内容的请求模式,在这里认为CCN基于内容的请求模式和Web请求模式具有相同的特点。Breslau等人通过研究已经证明,对Http对象的请求率服从Zipf-like分布,即对第i个最受欢迎的对象的请求概率正比于假设节点的查询请求率服从平均到达率为λ的泊松过程,则对第请求概率i个最受欢迎的对象的请求概率表示为其中,N表示总的数据对象数量,0≤α≤1,α是偏度参数,表示访问的集中程度。在仿真实验中,设置α=0.9,λ=0.5。
实验主要使用的性能指标有缓存命中率和平均跳数,另外定义了无效缓存率(invalid cache ratio)。所谓无效缓存指的是某个对象自从被缓存到节点空间到被替换出节点缓存空间这段时间内从未被访问过,那么对这类对象的缓存就是一次无效缓存。无效缓存率表示一段时间内发生无效缓存的次数占总的缓存次数的比例。用count表示一段时间内记录的总的缓存对象的次数,countinvalid表示无效缓存的次数,那么无效缓存率pinca可以表示为pinca=countinvalid/count。缓存命中率是一个应用较普遍的用来对缓存性能进行评价的指标,也是本文对算法性能度量的重要指标之一,一般表示为请求命中次数占总的请求次数的比例。平均跳数是客户端请求对象经过的平均路径条数。
结合图1,对本发明的具体实施方案作详细描述。本发明内容中心网络中一种基于预测的最优化缓存放置方法,包括以下步骤:
步骤1:将缓存放置方案编码为二进制符号串(1代表缓存对象,0代表不缓存对象),随机产生初始种群,即初始缓存放置方案。
遗传算法的运算对象是表示个体的符号串,路径上有n个节点,用n个变量x1,x2,...,xn表示,那么这n个变量编码成符号串,就可以作为遗传算法的运算对象。对于路径上的任意一个节点和一个对象,节点只有两种状态,缓存对象或不缓存对象,变量xi的取值为0或1,以表示缓存或不缓存对象,每个变量只需要用一位二进制数表示。将n位无符号二进制整数连接在一起作为遗传算法的一个个体,也就是PB-Max-Benefit模型的一个缓存放置方案。例如,个体X=11010000所对应的就是一个缓存放置方案V1={1,1,0,1,0,0,0,0},该方案中节点v1,v2和v4作为对象的缓存节点,其它节点均不缓存对象。最终,遗传算法求解出的最优个体,对应的就是PB-Max-Benefit模型的一个最优缓存放置方案,即一种最大化收益的缓存放置方案。
步骤2:计算每种缓存放置方案的收益值,找出最大收益值存入数组max。
节点vi缓存对象能给以该节点为新的最近源节点的其他节点带来收益,这里的其他节点称为节点vi的相关节点,假设节点vi的相关节点有k个,gain(vj)为节点vi的任意相关节点vj获得的收益,那么节点vi缓存对象得到的收益为
举例说明问题,简单请求路径如图4所示,v5是源节点,其他四个节点对o都有请求,假设请求3点最近的对象源节点上得到满足,缓存空间足够容纳被缓存的对象o,距离用跳数表示,为简单起见,设各节点上访问对象o的频率都是10,size(o)和w的值为1,那么节点缓存对象获得的收益做如下讨论:
(1)节点v4缓存o,v1,v2,v3都是v4的相关节点,v4成了它们新的源节点,它们都因为节点v4缓存对象o而获得收益,即节省了从v4到v5这段链路的访问开销。此时,gain(v1)=gain(v2)=gain(v3)=gain(v4)=10,gainbenfit(v4)=40。
(2)节点v3缓存o,v1,v2都是v3的相关节点,此时,gain(v1)=gain(v2)=gain(v3)=20,gainbenefit(v3)=60。
(3)节点v2缓存o,v1,v3都是v2的相关节点,此时,gain(v1)=gain(v2)=30,gain(v3)=10,gainbenefit(v2)=70。
(4)节点v1缓存o,v2是v1的相关节点,此时,gain(v1)=40,gain(v2)=20,gainbenfit(v1)=60。
通过计算请求路径上每个相关节点vj缓存收益gain(vj)、节点vi缓存对象得到的收益gatnbenefit(vi)、任意与vi相关的节点产生的缓存损耗loss(vj)、节点vi为了缓存对象o而替换掉对象集合带来的缓存损耗lossbenfit(vi),以及新对象oi到达节点vi,缓存新对象oi给节点vi带来的收益构建缓存收益目标函数,亦为最大缓存收益Max-Benefit。
选取缓存部署使得对象o部署在该缓存部署上能得到最大的收益,即得到一个最大化收益的缓存部署。
对象被访问频率反映的只是当前时间段对象的热度,不能对未来该对象的热度情况做出判断,为此,本发明在Max-Benefit模型中引入预测机制,提出基于预测的最大化收益的缓存模型,即PB-Max-Benefit模型。
在CCN网络中的节点上,增加一个称为对象访问情况表(Content Access Table,CAT)的数据结构,如图5所示。
图中当前被访问次数记录每个周期内对象被访问的情况,一个周期结束后,该值清零重新计数。当前周期的预测值根据历史记录预测得到,每到一个新的周期开始,该值被重新赋值。下一周期预测值根据表中前两个值进行预测得到,该值作为PB-Max-Benefit模型中的一个重要参数,是用来求解最大收益缓存放置方案的重要依据。
T为一个计时周期,图中记录的访问次数都是以计时周期T为一个时间段。图5所示为第t个计时周期内节点上对象被访问的情况,当前被访问次数用ft表示,当前预测值用f′t表示,下一周期预测值用f′t+1表示。根据一次指数平滑法,可以得到:
f′t+1=αft+(1-α)f′t
根据该公式计算得到的预测值作为未来一段时间节点上的一个对象被访问的趋势。
初始预测值f′1=f1,经过若干周期的数据积累后,初始预测值f′1可以取前面若干周期的实际值的算术平均数。指数平滑系数α的确定可以依据简单的经验判断法动态调整。此处,用ft-f′t作为动态调整指数平滑系数α的依据,ft-f′t反映的是当前访问次数与当前预测次数的差值,差值越大,平滑系数取大一些,差值越小,平滑系数取相对小一些。
步骤3:基于个体适应度划分的选择运算;
选择运算用来选择进入下一代种群进行迭代的个体。根据PB-Max-Benefit模型计算每一种缓存放置方案的收益值,收益值大的缓存放置方案有较大概率进入下一代种群进行迭代,每次都选择收益值大的缓存放置方案进入下一代,而收益值小的缓存放置方案就会被过早淘汰,有些适应度值低的个体包含的优秀基因就有个能被丢掉。例如对于某个缓存放置方案来说,其某些节点缓存对象能带来很大收益,但是由于该缓存方案总的收益小而被淘汰,那么这些节点(基因)就有可能丢失,不利于得到最大化收益的缓存放置方案。
本发明提出基于个体适应度划分的选择运算,将群体中所有个体的适应值降序排列,分成大小相等的三个子群体:优等、中等、劣等,然后从每个等级的群体中选择一部分进入下一代。基于个体适应度划分的选择运算,通过选择劣等群体中的一部分个体,可以增加种群多样性,同时,由于适应度值低的个体也可能包含部分优良基因,因此,也可以防止优良基因过早丢失。
首先将收益值最大的缓存放置方案直接保留到下一代,不参与交叉运算和变异运算,避免破坏这种缓存放置方案,同时将该缓存放置方案的收益值放入数组max中。对于完成交叉运算和变异运算的其它方案,按缓存收益值的大小降序排列分为优等、中等、劣等三个等级,将各等级内收益值按大小排序,按10:3:1的比例分别选择对应数量的缓存放置方案复制到下一代进行迭代。
假设X为优等子群体的任意一个个体,F(X)为个体X的适应度值,为优等子群体的平均适应度值,那么,优等子群体中直接保留到下一代的个体需要满足:
假设满足上式的优等个体数量为α,那么中等子群体和劣等子群体中直接被保留到下一代的数量分别是3α/10和α/10。
步骤4:基于个体相关性的交叉运算;
对于任意两种缓存放置策略的交叉操作就是以一定交叉概率在相应的节点上对其缓存状态进行交换,从而得到两种新的缓存放置方案。
种群迭代到后期,个体之间差异越来越小,任意两种缓存放置策略越来越接近,即对应节点上缓存对象的状态接近一致。此时进行交叉运算时无效交叉发生的概率将会很大。所谓无效交叉指的是交叉操作发生在两个个体基因值相同的位置。无效交叉不但不会产生出新个体,而且还会带来不必要的时间开销,减慢收敛速度。为了避免无效交叉的发生,引入个体相关性的概念,根据个体相关性决定是否进行交叉运算。
个体的相关性可以说明个体之间的相似程度,考虑个体的编码采用二进制形式,个体的长度为n,设两个个体x和y分别表示为x={x1,x2,...,xn},y={y1,y2,...,yn},其中,xi∈{0,1},yi∈{0,1},i={1,2,...,n}。如下式所示,对个体x、y之间的不相关指数的定义。
d(x,y)的大小代表个体x和y具有不同的基因的数目。对于两种缓存放置方案V1={1,0,0,1,1,0},V2={1,1,0,0,0,1}来说,节点v1都缓存了对象,节点v3都没有缓存对象,那么这两种缓存放置方案的d(x,y)=4。d(x,y)值越大,表示两种缓存放置方案对应的缓存状态不相同的节点数越多,两种缓存方案的相关性就越小,则做交叉操作时,无效操作发生的概率就越小;反之,d(x,y)值越小,说明两种缓存放置方案对应的缓存状态不相同的节点数越少,这两种缓存放置方案相似度越大,即相关性越大,则做交叉操作时发生无效操作的概率就越大。
由此,任意两个个体在进行交叉运算之前,首先通过上式对个体之间的相关性进行评估。根据个体之间的相关程度,来判断是否进行交叉运算,这样可以避免无效交叉运算,有利于提高交叉运算的针对性,从而提高遗传算法的收敛速度。
步骤5:基于基因块的变异运算;
变异运算是产生新个体的一个重要算子,尤其到算法后期,种群内个体相关性越来越大,更需要大的变异概率进行操作。变异运算通过一定概率对个体基因座上的值进行变异,缓存放置方案是采用二进制方式进行编码的个体,变异操作将基因座上的二进制数取反,如果一个基因座上的0变异为1,就表示该缓存放置方案对应的一个节点上对于对象的缓存状态由不缓存变为缓存。例如,对于一种缓存放置方案V1={1,0,0,1,1,0},假设变异发生在第二个基因座上,那么变异发生后产生一种新的缓存放置方案V2={1,1,0,1,1,0},该缓存方案对应的节点v2由不缓存的状态变为缓存状态。通过变异运算有机会产生新的收益值更大的缓存放置方案,提高了搜索局部最大收益缓存放置方案的能力。
在变异运算中引入集中因子m
m=favg/fmax
在上式中,favg是当前待变异群体的平均适应度值,fmax是当前待变异群体最大适应度值,且0<m<1。集中因子m反映种群中个体适应度的集中程度。m越大,表示种群中个体之间的适应度值相差越小,个体优良性相对集中,因此,需要更大的变异运算以便得到新的个体,增加种群多样性;m越小,表示种群中个体之间的适应度值相差越大,个体优良性相对疏散,此时种群之间差异较大,为了避免破坏优秀个体,变异概率可以小一些。因此,可以根据m的值的大小决定变异概率的大小。
另外,遗传算法运行初期,个体差别比较大,个体之间相关性小,此时,对个体进行变异运算后产生新个体的概率几乎为1。经过若干代的选择,交叉和变异运算后,种群中个体的基因型逐渐趋于相似,即各种缓存放置方案对应节点的缓存状态接近一致。例如,对于种群中的任意两个缓存放置方案Vi={1,1,0,1,0,0,1,0}和Vj={1,1,1,1,0,0,1,0},运用标准遗传算法中的基本位变异运算,假设缓存放置方案V′i第三个节点的缓存状态的发生变异,那么,变异后的缓存放置方案等于Vj,这样的变异并没有产生新的缓存放置方案,那么这次变异运算是没有意义的,即这次变异运算是一次无效的变异运算。
为了在算法运行后期突出变异运算的效果,产生新的缓存放置方案,引入基因块(gene block)概念。随机选择基因座上的几个基因作为一个基因块,那么以基因块为单位的变异运算就会同时对这几个基因值进行变异,这种变异运算对于后期个体之间差异很小时,相比单基因变异产生新个体的概率更大,同时,发生无效变异的可能性就更小。
本发明设置基因块的大小随着进化代数的增加而增大,在此,对基因块大小的选择做简单定义,其中,g表示遗传算法的当前代数,1≤g≤T。
步骤6:产生新的种群,即新的缓存放置方案;
对于由N种缓存放置方案组成的第t代种群P(t),执行选择运算、交叉运算和变异运算之后产生新的种群P(t+1)。
步骤7:判断数组max是否趋于稳定,如果否,则继续步骤2;
步骤8:否则,得到最大收益缓存放置放置。
任意一代种群P(t)中都会有一个最优的缓存放置方案,对应一个最大收益值的fmax(t),将这个最大值存入数组max中,反复执行步骤(3),(4),(5),(6)直到max中的值趋于稳定,结束算法。
为了验证本发明中提出的最大收益缓存放置策略(Max-Benefit)以及基于预测的最大收益缓存放置策略(PB-Max-Benefit)的优越性,选择CCN中的缓存策略与Coordinated算法两种方案进行实验对比。仿真实验主要对影响缓存部署方案性能的三个参数进行考虑,分别是缓存大小、数据访问模式(Zipf-like偏度参数α)以及网络规模。
图6、图7和图8分别是缓存大小对缓存命中率的影响示意图、缓存大小对无效缓存率的影响示意图和缓存大小对网络平均跳数的影响示意图。从图6可以看出,在网络规模为200个节点,α=0.9的情况下,PB-Max-Benefit,Max-Benefit以及Coordinated算法缓存命中率都高于CCN缓存机制的缓存命中率,其中PB-Max-Benefit缓存命中率比CCN提高了9%至14%,PB-Max-Benefit命中率比Max-Benefit和Coordinated分别提高3%至6%和5%至8%。从图7可以看出,随着缓存空间逐渐增大,无效缓存率逐渐减小,其中,PB-Max-Benefit的无效缓存率明显低于其他三种缓存方案的无效缓存率。从图8中可以看出,随着缓存空间不断增大,平均跳数逐渐减小。
数据访问模式刻画的是用户对数据的访问情况用户对数据的请求模式服从Zipf-like分布的规律,其中的偏度参数α用来表示数据访问的集中程度,α越大用户对数据的请求越集中,α越小,用户对数据请求越均匀。
图9和图10分别是Zipf-like偏度参数α对缓存命中率的影响示意图和Zipf-like偏度参数α对平均跳数的影响示意图。网络规模为200个节点,缓存大小为35%的情况下,从图9中可以看出,随着参数α值的增大,每种缓存放置方案中的命中率都得到了提高,PB-Max-Benefit,Max-Benefit和Coordinated提高了将近16%左右,CCN缓存命中率增加了将近19%,增幅最大。从图10中可以看出,α的值从0.4到0.9的过程中,PB-Max-Benefit平均跳数比Max-Benefit,Coordinated和CCN都小,在α=0.4时,比CCN小大约10%。此外,在此过程中,PB-Max-Benefit降幅最小,大概为5%。
本发明中网络规模用节点数量衡量。设置节点数量从100到500变化,研究几种缓存放置策略的性能变化情况。图11和图12分别是网络规模对缓存命中率的影响示意图和网络规模对平均跳数的影响示意图。从图11中可以看出,节点数量从100到300变化的过程中,CCN缓存策略的命中率有较大幅度的提高。另外,除CCN外,其他三种缓存策略随着网络规模的扩大,缓存命中率变化范围基本很小,PB-Max-benefit变化范围控制在3%左右。从图12中可以看出,随着网络规模的增大,上述几种缓存策略中平均跳数都在逐渐减小,并且在平均跳数减小的过程中,降幅基本呈减小趋势。以PB-Max-benefit为例,在网络规模为100到300之间时平均跳数降低约4%,在网络规模扩大到400到500时,平均跳数降低约1%左右。
Claims (2)
1.一种面向内容中心网络中基于预测的最优化缓存放置方法,其特征在于:
(1)将缓存放置方案编码为二进制符号串,1代表缓存对象,0代表不缓存对象,随机产生初始种群,;
(2)计算每种缓存放置方案的收益值,找出最大收益值存入数组max;
(3)基于个体适应度划分的选择运算;
(4)基于个体相关性的交叉运算;
(5)基于基因块的变异运算;
(6)产生新的种群,即新的缓存放置方案;
(7)判断数组max是否趋于稳定,如果稳定,得到最大收益缓存放置;否则重新执行步骤(2);
所述步骤(1)中,对于每一种缓存放置方案都对应一种0、1编码串;
所述步骤(2)包括:
计算最大化缓存收益Max-Benefit步骤,其中,为新对象oi到达节点vi,缓存新对象oi给节点vi带来的收益:
其中,xi∈{0,1},X={x1,x2,...,xn},x1,x2,...,xn对应的是节点v1,v2,...,vn的值,对于对象o,xi=0表示节点vi上不对o进行缓存,xi=1表示节点vi上缓存对象o;
对象o,将o缓存在节点vi上,所有经过vi对o的请求可以直接从节点vi得到对象o,由节点vi缓存对象o而节省的访问开销称为缓存对象o获得的缓存收益,每个相关节点vj获得的收益为:
其中,表示任意相关节点vj上观察到的对对象o的访问频率,表示节点vi上缓存对象o时,以vi为新的最近源节点的节点vj请求o节省的跳数,size(o)表示对象o的大小,w表示传输单位大小对象的开销;
其他节点称为节点vi的相关节点,节点vi的相关节点有k个,节点vi缓存对象得到的收益为
任意与vi相关的节点产生的缓存损耗表示为:
节点vi为了缓存对象o而替换掉对象集合带来的缓存损耗表示为
计算出缓存中各对象被访问频率的预测值根据预测值的大小将缓存中的值相对较小的对象替换出缓存;
缓存新对象oi给节点vi带来的收益为:
2.根据权利要求1所述的一种面向内容中心网络中基于预测的最优化缓存放置方法,其特征在于:所述步骤(2)中影响缓存性能的因素包括:(1)对象被访问的频率;(2)由于某个节点缓存对象而节省的跳数;(3)对象大小;(4)传输单位大小对象的开销;(5)节点的存储开销。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410382200.8A CN104166630B (zh) | 2014-08-06 | 2014-08-06 | 一种面向内容中心网络中基于预测的最优化缓存放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410382200.8A CN104166630B (zh) | 2014-08-06 | 2014-08-06 | 一种面向内容中心网络中基于预测的最优化缓存放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104166630A CN104166630A (zh) | 2014-11-26 |
CN104166630B true CN104166630B (zh) | 2017-06-20 |
Family
ID=51910453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410382200.8A Expired - Fee Related CN104166630B (zh) | 2014-08-06 | 2014-08-06 | 一种面向内容中心网络中基于预测的最优化缓存放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104166630B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897828A (zh) * | 2015-11-27 | 2016-08-24 | 乐视云计算有限公司 | 节点缓存机制的确定方法及系统 |
CN105681438B (zh) * | 2016-01-26 | 2019-12-13 | 南京航空航天大学 | 一种集中式内容中心网络缓存决策方法 |
CN107171961B (zh) * | 2017-04-28 | 2019-12-03 | 中国人民解放军信息工程大学 | 基于内容流行度的缓存方法及其装置 |
CN108282528B (zh) * | 2018-01-23 | 2021-07-30 | 国网浙江省电力有限公司电力科学研究院 | 一种数据缓存方法及装置 |
CN108616401B (zh) * | 2018-05-09 | 2020-07-28 | 华南理工大学 | 一种智能化的视频内容服务器部署方法及系统 |
CN109067670B (zh) * | 2018-09-28 | 2022-07-12 | 杭州领智云画科技有限公司 | 一种cdn调度方法及cdn调度设备 |
CN109246032B (zh) * | 2018-09-28 | 2022-04-05 | 杭州领智云画科技有限公司 | 一种基于遗传算法的cdn调度方法及设备 |
CN109819459B (zh) * | 2019-02-20 | 2020-09-18 | 北京邮电大学 | 一种内容的缓存部署方法及装置 |
CN115866051A (zh) * | 2022-11-15 | 2023-03-28 | 重庆邮电大学 | 一种基于内容流行度的边缘缓存方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609805A (zh) * | 2012-01-16 | 2012-07-25 | 浙江工业大学 | 一种基于改进遗传算法的解决复杂生产环境下作业车间调度控制方法 |
CN103329487A (zh) * | 2010-12-17 | 2013-09-25 | 阿尔卡特朗讯公司 | 执行服务命名路由的方法和路由器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162583B2 (en) * | 2003-12-29 | 2007-01-09 | Intel Corporation | Mechanism to store reordered data with compression |
-
2014
- 2014-08-06 CN CN201410382200.8A patent/CN104166630B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103329487A (zh) * | 2010-12-17 | 2013-09-25 | 阿尔卡特朗讯公司 | 执行服务命名路由的方法和路由器 |
CN102609805A (zh) * | 2012-01-16 | 2012-07-25 | 浙江工业大学 | 一种基于改进遗传算法的解决复杂生产环境下作业车间调度控制方法 |
Non-Patent Citations (1)
Title |
---|
Improved CCN Routing Based on the Combination of Genetic Algorithm and Ant Colony Optimazation;Huang Pei等;《2013 3rd International Conference on Computer Science and Network Technology》;20131013;第846-849页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104166630A (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104166630B (zh) | 一种面向内容中心网络中基于预测的最优化缓存放置方法 | |
Zhong et al. | A deep reinforcement learning-based framework for content caching | |
CN106484512B (zh) | 计算单元的调度方法 | |
CN105704255A (zh) | 一种基于遗传算法的服务器负载均衡方法 | |
CN111294394B (zh) | 基于复杂网络交汇点的自适应缓存策略方法 | |
CN103595805A (zh) | 一种基于分布式集群的数据放置方法 | |
CN109905480A (zh) | 基于内容中心性的概率缓存内容放置方法 | |
CN109634746B (zh) | 一种web集群缓存的利用系统及优化方法 | |
Yin et al. | A prediction-based coordination caching scheme for content centric networking | |
CN111526208A (zh) | 一种基于微服务的高并发云平台文件传输优化方法 | |
CN116112563A (zh) | 一种基于流行度预测的双策略自适应缓存替换方法 | |
CN109951875A (zh) | 基于内容流行度预测的缓存方法、装置、设备和介质 | |
CN116321307A (zh) | 一种无蜂窝网络中基于深度强化学习的双向缓存放置方法 | |
CN109165096A (zh) | web集群的缓存利用系统及方法 | |
CN112052198B (zh) | 能耗监测平台下基于节点介数流行度的哈希路由协同缓存方法 | |
CN108173965A (zh) | 社团感知的icn缓存方法 | |
Alduayji et al. | PF-EdgeCache: Popularity and freshness aware edge caching scheme for NDN/IoT networks | |
CN112911614A (zh) | 基于动态请求d2d网络中的协作编码缓存方法 | |
Ugwuanyi et al. | A novel predictive-collaborative-replacement (PCR) intelligent caching scheme for multi-access edge computing | |
CN109525494A (zh) | 基于消息下一跳动态规划的机会网络路由机制实现方法 | |
CN113268458B (zh) | 一种基于代价敏感分类算法的缓存方法及系统 | |
CN112887992B (zh) | 基于接入均衡核和置换率的密集无线网络边缘缓存方法 | |
CN115237555A (zh) | 工业互联网中边缘计算任务调度方法和系统 | |
CN113992770A (zh) | 雾无线接入网中基于策略的联邦强化学习的协作缓存方法 | |
Xu et al. | QoS-aware object replica placement in CDNs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170620 |