基于遗传算法的Fog-RAN网络缓存放置问题的决策方法

文档序号:24887506发布日期:2021-04-30 13:11阅读:184来源:国知局
基于遗传算法的Fog-RAN网络缓存放置问题的决策方法

本发明属于无线通信技术领域,具体涉及一种雾无线接入网(fog-ran)中缓存放置问题的决策方法。



背景技术:

随着近几年新应用的发展,如云计算、短视频等应用,互联网内容以及网络流量进一步呈爆炸式增长。与此同时,移动网络以及智能手机的普及也使得人们逐渐从电脑上网变成手机上网,移动数据流量迅速攀升,同时对低时延数据流量的需求也快速增加。这些数据流量大部分会在无线网络的边缘处生成、处理和使用。为了应对这种趋势,fog-ran逐渐成为一种极具前途的网络体系结构,该网络体系结构将存储、计算和通信功能移至无线网络的边缘。伴随着5g网络的逐步成熟,以及无线接入网要满足高带宽、多链接以及低时延等需求,这使得雾计算成为现实。在fog-ran中,为提升移动用户的使用体验,减少用户下载所需内容的延迟,一种有效的解决方案是将网络中较为流行的内容提前缓存在fog-ran边缘处的雾节点上,使得用户可以就近从雾节点处获取所需内容。

近年来,已有文章针对fog-ran网络的缓存技术开展研究,可以分为集中式和分布式两种方案。集中式方案需要有一个控制节点,知道整个网络的信息,从全局的角度进行决策。分布式方案一般是每个节点通过和其周围邻居节点的信息交换,然后决策自己的内容放置方案。同时,由于缓存内容决策是一个离散优化问题,很难得到全局最优的决策方案,因而无论是分布式、还是集中式,经常都是根据某种标准设计贪婪的缓存决策算法。通常需要考虑的变量包括内容流行度的分布,雾节点的缓存容量,用户的需求和信道的传输特性等。

现有的方法虽然可以在一定程度上解决目前存在的问题,但是现有的研究未考虑支持雾节点之间的相互协作,导致网络的整体性能受限,且未充分考虑到整个网络中全体雾节点的综合缓存放置存在的可能性,对于全体用户的下载时延的性能优化仍存在一定的提升空间。



技术实现要素:

针对上述问题,本发明公布了一种针对fog-ran网络缓存放置问题的决策方法。本发明公布的方法在对fog-ran网络的缓存放置问题进行决策时考虑了雾节点之间的协作:即当某个雾节点未缓存其服务用户所需内容时,先从与其协作的雾节点组成的集合中寻找是否存在某个协作雾节点缓存了所需的内容,若存在协作雾节点缓存了该内容,则先由该协作雾节点传输给当前雾节点,再由当前雾节点传输给用户,从而降低用户的平均下载时延。

针对上述问题,本发明公布了一种基于遗传算法的fog-ran网络缓存放置问题的决策方法,该方法首先随机生成若干个不同的全体雾节点的缓存决策,然后采用二进制编码方法对这些缓存决策进行编码得到初始种群,然后计算初始种群中各个个体的适应度值,并采用锦标赛方法对个体进行选择得到后代种群(种群中个体的数量保持不变),然后将后代种群中的个体随机两两配对组成一对对父代个体,并按对依此进行交叉得到后代个体(设置交叉概率,只有满足要求的父代个体可以进行交叉,并判断交叉之后得到的新个体是否满足约束条件,若存在新个体不满足约束,则重新进行交叉),然后对交叉之后得到的新个体进行变异得到后代个体(设置变异概率,只有满足要求的个体可以进行变异,并判断变异之后得到的新个体是否满足约束条件,若存在新个体不满足约束,则重新进行变异)。重复上述选择、交叉、变异操作若干次,直到得到的新种群的个体适应度的最佳值收敛,然后将该种群中的个体适应度最佳值对应的个体进行解码,就得到了fog-ran网络中缓存内容放置问题的一个次优决策。

为达到上述目的,本发明提供的技术方案具体包括如下步骤:

步骤1:随机生成若干个不同的包含全体雾节点的内容缓存决策矩阵x,该矩阵为一个m×q矩阵,其中m为整个网络中雾节点的数量,q为整个网络中内容的种类数量。然后采用二进制编码方法对这些内容缓存决策矩阵进行编码,得到若干个不同的个体s,这些个体组成遗传算法的初始种群。

进一步,上述内容缓存决策矩阵x中的决策变量xmq是一个0-1变量,xmq=1表示雾节点nm缓存了内容fq;xmq=0表示雾节点nm没有缓存内容fq。且每个雾节点都有容量上限,对于雾节点nm,它的容量上限为qm。对于雾节点nm,定义它的内容缓存决策矢量为一个1×q的矢量xm,该矢量中的元素为决策变量xmq。

进一步,上述二进制编码方法具体操作为:定义种群中的个体为s=(s1,…,sm×q),s的第i个元素si∈{0,1}定义为:

其中,代表xmq和si之间的映射关系。若雾节点nm缓存了内容fq,则si=xmq=1。由此确定了编码与解码方式。

例如:对于一个内容缓存决策矩阵x,如下所示:

该决策矢量x代表整个系统中总共有两个雾节点n1、n2和两种内容f1、f2,其中,雾节点n1只缓存了内容f2,雾节点n2只缓存了内容f1,对其编码之后所得结果为s=(0,1,1,0)。

进一步,在生成内容缓存决策矩阵x时,并不是完全的随机生成,而是让任意一个雾节点nm都从其值得缓存的内容集合fm中随机选取qm个内容进行缓存。其中,集合该集合中的元素为雾节点nm值得缓存的内容,即:该雾节点服务的用户的所需内容以及与其协作的雾节点服务的用户的所需内容。相应的,对于雾节点nm定义其值得缓存的内容缓存决策矢量为一个1×q的矢量x′m。

例如:整个网络,总共存在8种内容。其中,雾节点n1服务的用户偏好于内容f1,f3,f4,这三种内容即为雾节点n1值得缓存的内容,可得雾节点n1值得缓存的内容集合为相应的x′1=(10110000)。

步骤2:计算种群中每个个体的适应度值,计算个体适应度值的函数设置为整个fog-ran网络下全体用户的平均下载延迟函数。

进一步,整个fog-ran网络下全体用户的平均下载延迟函数为:

其中,k为全体用户的数量;为全体用户的平均下载延迟,即个体的适应度值;dkq(·)为用户uk从其接入雾节点nm下载内容fq的下载延迟;pkq为用户uk请求内容fq的概率;|fq|为内容fq的大小;rmk为雾节点nm到用户uk的传输速率;dnm为雾节点nn与协作雾节点nm之间的传输时延;i(·)为标志函数,当用户uk的接入雾节点nm的协作雾节点中缓存了内容fq时为1,否则为0;dc为云数据中心的内容服务器将内容传输给雾节点nm的传输时延;cm为能够与雾节点nm进行协作的雾节点集合。

进一步,整个网络下全体用户的平均下载延迟函数中的标志函数i(·),具体表示为:

其中,cm为雾节点nm的协作雾节点的集合。

步骤3:根据种群中每个个体的适应度值,采用锦标赛选择方法对个体进行筛选:每次从种群中取出一定数量个体,然后选择其中具有最佳适应度值的一个个体进入子代种群(其中,最佳适应度值的即全体用户的平均下载延迟的最低值),重复该操作,直到新的种群规模达到原来的种群规模。例如:设置每次的选取比例为50%,则每次从种群中随机选取一半的个体,比较这些个体的适应度值,挑选具有最佳适应度值的个体加入到下一代的种群中,重复所述操作,直到新的种群的个体数量达到原来的种群规模。

步骤4:将筛选后的种群的个体随机两两配对,每一对个体作为一对父代个体,然后设定一个交叉概率pm,对每一对父代个体,为其生成一个[0,1]区间内的随机数。若存在某对父代个体的随机数小于交叉概率pm,则随机生成连接点,然后将该对父代个体在该连接点处进行交叉组合。然后,判断交叉之后得到的新个体是否满足约束条件。若存在新个体不满足约束,则重新随机生成新的连接点,将该新个体的父代个体重新进行交叉操作,得到新的子代个体,然后再判断新个体是否满足约束条件,直到交叉得到的新个体满足约束条件为止。

进一步,上述判断新个体是否满足约束条件:得到的新个体需要使得对应的内容缓存决策矩阵x中每个雾节点都满足它们各自的容量约束,即:各个雾节点缓存的内容数量需要小于等于它们各自的容量上限。

步骤5:设定一个变异概率pc,然后对交叉之后得到的后代种群中每一个个体,为其生成一个[0,1]区间内的随机数。若存在某个个体的随机数小于变异概率pc,则对其进行变异:从该个体中随机选取一个值为1的元素,将该元素的值变为0,并记录下该元素在该个体中的位置。然后,利用个体的解码方法,判断该元素位于哪个雾节点的内容缓存决策矢量中,若该元素位于雾节点nm的内容缓存决策矢量xm中,则将该个体中的雾节点nm的内容缓存决策矢量xm复制出来,得到矢量xcopy。将矢量xcopy与雾节点nm的值得缓存的内容集合对应的内容缓存决策矢量x′m进行异或操作,得到xxor。最后,从经过异或操作得到的xxor中随机挑选一个元素值为1的位置,将雾节点nm的xcopy中的对应位置的元素设置为1,得到x′copy。再将个体s中对应于雾节点nm的内容缓存决策矢量xm的那部分元素值替换为x′copy,得到变异之后的新个体s′。

步骤6:将经过选择、交叉、变异操作之后的新种群重新进行上述步骤3~5的选择、交叉、变异的操作,重复迭代若干次,直到得到的新种群的个体适应度的最佳值收敛,然后将对应于最佳值的个体进行解码,就得到最佳的包含全体雾节点的内容缓存决策矩阵。

本发明有益效果:

本发明提供的方法通过考虑雾节点之间的内容互通对雾节点缓存哪些内容能提高系统的整体收益的评估,实现对雾节点内容缓存的有效决策、更新,可以降低系统平均访问时延。

附图说明

图1为具有缓存功能的异构网络拓扑示意图;

图2为基于遗传算法的雾节点的内容缓存决策方法的流程图;

图3为一个具体实施例。

具体实施方式

以下通过特定的具体实例对本发明进行进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

遗传算法是一种全局优化算法,它被验证能够有效地优化多目标优化问题,并且具有较好的普适性。与传统的优化方法不同,遗传算法不需要了解问题的特性。它被广泛地运用到求解np-hard问题中。遗传算法模拟自然选择和自然遗传过程中的竞争、繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解集中选取较优的解,利用遗传算子(选择、交叉和变异)对这些解进行重组,产生新一代的候选解集,重复此操作,直到满足某种终止条件为止。

图1为具有缓存功能的异构网络拓扑示意图,图2为本发明实例提供的一种基于遗传算法的雾节点的内容缓存决策方法的流程图,该雾节点内容缓存决策方法用于异构网络中具有缓存功能的雾节点,如图所示,所述雾节点内容缓存决策方法包括:

步骤1:随机生成若干个不同的包含全体雾节点的内容缓存决策矩阵x,该矩阵为一个m×q矩阵,其中m为整个网络中雾节点的数量,q为整个网络中内容的种类数量。然后采用二进制编码方法对这些缓存决策矩阵进行编码,得到若干个不同的个体s,这些个体组成遗传算法的初始种群。

进一步,上述缓存决策矩阵x中的决策变量xmg是一个0-1变量,xmq=1表示雾节点nm缓存了内容fq;xmq=0表示雾节点nm没有缓存内容fq。且每个雾节点都有容量上限,对于雾节点nm,它的容量上限为qm。

进一步,上述二进制编码方法具体操作为:定义种群中的个体为s=(s1,…,sm×q),s的第i个元素si∈{0,1}定义为:

其中,代表xmq和si之间的映射关系。若雾节点nm缓存了内容fq,则si=xmq=1。由此确定了编码与解码方式。例如:对于一个内容缓存决策矢量x,如下所示:

该决策矢量x代表整个系统中总共有两个雾节点n1、n2和两种内容f1、f2,其中,雾节点n1只缓存了内容f2,雾节点n2只缓存了内容f1,对其编码之后所得结果为s=(0,1,1,0)。

进一步,在生成内容缓存决策矩阵x时,并不是完全的随机生成,而是让任意一个雾节点nm都从其值得缓存的内容集合fm中随机选取qm个内容进行缓存。其中,集合该集合中的元素为雾节点nm值得缓存的内容,即:该雾节点服务的用户的所需内容以及与其协作的雾节点服务的用户的所需内容。相应的,对于雾节点nm定义其值得缓存的内容缓存决策矢量为一个1×q的矢量x′m。

例如:整个网络,总共存在8种内容。其中,雾节点n1服务的用户偏好于内容f1,f3,f4,这三种内容即为雾节点n1值得缓存的内容,可得雾节点n1值得缓存的内容集合为相应的x′1=(10110000)。

步骤2:计算种群中每个个体的适应度值,计算个体适应度值的函数设置为整个fog-ran网络下全体用户的平均下载延迟函数。

进一步,整个fog-ran网络下全体用户的平均下载延迟函数为:

其中,k为全体用户的数量;为全体用户的平均下载延迟,即个体的适应度值;dkq(·)为用户uk从其接入雾节点nm下载内容fq的下载延迟;pkq为用户uk请求内容fq的概率;|fq|为内容fq的大小;rmk为雾节点nm到用户uk的传输速率;dnm为雾节点nn与协作雾节点nm之间的传输时延;i(·)为标志函数,当用户uk的接入雾节点nm的协作雾节点中缓存了内容fq时为1,否则为0;dc为云数据中心的内容服务器将内容传输给雾节点nm的传输时延;cm为能够与雾节点nm进行协作的雾节点集合。

进一步,整个网络下全体用户的平均下载延迟函数中的标志函数i(·),具体表示为:

其中,cm为雾节点nm的协作雾节点的集合。

步骤3:根据种群中每个个体的适应度值,采用锦标赛选择方法对个体进行筛选:每次从种群中取出一定数量个体,然后选择其中具有最佳适应度值的一个个体进入子代种群(其中,最佳适应度值的即全体用户的平均下载延迟的最低值),重复该操作,直到新的种群规模达到原来的种群规模。例如:设置每次的选取比例为50%,则每次从种群中随机选取一半的个体,比较这些个体的适应度值,挑选具有最佳适应度值的个体加入到下一代的种群中,重复所述操作,直到新的种群的个体数量达到原来的种群规模。

步骤4:将筛选后的种群的个体随机两两配对,每一对个体作为一对父代个体,然后设定一个交叉概率pm,对每一对父代个体,为其生成一个[0,1]区间内的随机数。若存在某对父代个体的随机数小于交叉概率pm,则随机生成连接点,然后将该对父代个体在该连接点处进行交叉组合。然后,判断交叉之后得到的新个体是否满足约束条件。若存在新个体不满足约束,则重新随机生成新的连接点,将该新个体的父代个体重新进行交叉操作,得到新的子代个体,然后再判断新个体是否满足约束条件,直到交叉得到的新个体满足约束条件为止。

进一步,上述判断新个体是否满足约束条件:得到的新个体需要使得对应的内容缓存决策矩阵x中每个雾节点都满足它们各自的容量约束,即:各个雾节点缓存的内容数量需要小于等于它们各自的容量上限。

图3所示的例子中,对个体s1和s2组成的父代进行交叉,且该对父代个体的两个个体分别为s1=(10011000…),s2=(01100100…),随机生成的连接点为第4个元素,则交叉后得到的新个体为s′1=(10010100…),s′2=(01101000…),判断得到的新个体都满足约束条件,则将这两个新个体都加入到后代种群。

步骤5:设定一个变异概率pc,然后对交叉之后得到的后代种群中每一个个体,为其生成一个[0,1]区间内的随机数。若存在某个个体的随机数小于变异概率pc,则对其进行变异:从该个体中随机选取一个值为1的元素,将该元素的值变为0,并记录下该元素在该个体中的位置。然后,利用个体的解码方法,判断该元素位于哪个雾节点的内容缓存决策矢量中,若该元素位于雾节点nm的内容缓存决策矢量xm中,则将该个体中的雾节点nm的内容缓存决策矢量xm复制出来,得到矢量xcopy。将矢量xcopy与雾节点nm的值得缓存的内容集合对应的内容缓存决策矢量x′m进行异或操作,得到xxor。最后,从经过异或操作得到的xxor中随机挑选一个元素值为1的位置,将雾节点nm的xcopy中的对应位置的元素设置为1,得到x′copy。再将个体s中对应于雾节点nm的内容缓存决策矢量xm的那部分元素值替换为x′copy,得到变异之后的新个体s′。

图3所示的例子中,对个体s3进行变异,雾节点n1的值得缓存的内容集合对应的缓存决策矢量x′1=(11011101),需要进行变异的个体为s3=(1001010011100000…),随机生成的变异点为第1个元素,则先将s3的第1个元素的1变为0,得到s′3=(0001010011100000…),然后判断出该元素位于雾节点n1的缓存决策矢量中,从个体s′3中复制出雾节点n1的缓存决策矢量为xcopy=(00010100),最后将xcopy与x1进行异或操作,然后随机挑选xxor中元素值为1的元素,挑选到了第5个元素,然后将xcopy=(00010100)中的第5个元素的值设置为1,得到了x′copy=(00011100),再将s′3中对应于雾节点n1的缓存决策矢量的那部分元素值替换为x′copy,得到s″3=(0001110011100000…)。

步骤6:将经过选择、交叉、变异操作之后的新种群重新进行上述步骤3~5的选择、交叉、变异的操作,重复迭代若干次,直到得到的新种群的个体适应度的最佳值收敛,然后将对应于最佳值的个体进行解码,就得到最佳的包含全体雾节点的内容缓存决策矩阵。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1