CN108400940B - 一种基于分布估计算法的组播虚拟网络功能部署方法 - Google Patents
一种基于分布估计算法的组播虚拟网络功能部署方法 Download PDFInfo
- Publication number
- CN108400940B CN108400940B CN201810174179.0A CN201810174179A CN108400940B CN 108400940 B CN108400940 B CN 108400940B CN 201810174179 A CN201810174179 A CN 201810174179A CN 108400940 B CN108400940 B CN 108400940B
- Authority
- CN
- China
- Prior art keywords
- individual
- fitness
- multicast
- population
- node
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000002068 genetic effect Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 42
- 239000011159 matrix material Substances 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 claims description 20
- 230000035772 mutation Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000013011 mating Effects 0.000 claims description 7
- 230000001934 delay Effects 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 4
- 238000007405 data analysis Methods 0.000 abstract description 2
- 238000002474 experimental method Methods 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 241000287196 Asthenes Species 0.000 description 1
- 102000002274 Matrix Metalloproteinases Human genes 0.000 description 1
- 108010000684 Matrix Metalloproteinases Proteins 0.000 description 1
- 241000577395 Thenus Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于分布估计算法的组播虚拟网络功能部署方法。包括:以最小化传播时延为优化目标,获得一棵从源节点到所有目的节点可达的组播树;以及,基于分布估计算法,以最小化服务时延为目标,在组播树中为每一条从源节点到组播组成员的路径,放置相同的服务功能链,并确定该路径上的虚拟网络功能部署方案。本发明的有益效果在于,将网络功能虚拟化引入组播当中,将组播网络中的网络功能服务链问题拆分为两个子问题,即最小传输时延组播树生成问题与最优组播树中虚拟网络功能优化部署问题。仿真实验与数据分析表明,相比于遗传算法,本发明所使用的方法在算法性能上具有显著优势,能获得更优的解。
Description
技术领域
本发明涉及网络通信技术与虚拟化技术领域,特别是一种基于分布估计算法的组播虚拟网络功能部署方法。
背景技术
近年来,随着网络技术的不断创新和高速宽带网络的快速发展,市场上出现了视频会议、网络游戏、数据分发、远程教育等越来越多的网络服务。这些网络通信业务的要求不同于传统的点对点网络通信,要求数据的接收方是一组目的节点。组播技术的出现就是为了解决这个问题。组播是一种通过树形网络结构,将数据信息从源节点复用到一组目标节点的方法。当前的组播服务需要在到达目的地之前遍历特定的专有网络设备(即中间件)。中间件是网络中必不可少的设备,但它们在网络中是固定的,这就导致了业务部署缓慢、网络僵化程度高等问题。
网络功能虚拟化(Network Functions Virtualization,简称NFV)是欧洲电信标准协会(ETSI)于2012年首次提出的一种新型网络架构。NFV通过虚拟化技术,将网络功能从传统网络硬件中解耦出来,引入虚拟资源层,把功能网元弹性部署在虚拟机上,而下层硬件资源对于上层的功能网元来说是不可见的,管理员对下层硬件资源进行统一管理和调度。NFV可以动态地改变网络功能的部署位置。NFV技术给组播通信带来了变革,通过在通用的计算节点上部署需要被虚拟化的网络功能(Virtualized Network Functions,简称VNF),来代替传统的中间件,使得网络的灵活性极大提高。
服务功能链(Service Function Chaining,简称SFC)是一系列的有序的带约束的VNF集合,数据流在到达用户之前必须按照指定的顺序依次通过VNF集合中的每个VNF。相比于单播中的SFC部署问题,将NFV技术引入组播后,带来了新的挑战。在组播网络中,如何需找到一种合适的虚拟网络功能部署方案,将各个VNF合理地放置在组播网络中,使得组播源向每一个组播组成员发出的数据流都必须有序地流经各个VNF进行处理,并最终到达相应的目的地。这一问题称之为组播虚拟网络功能部署(Multicast VNF Deployment,简称MVNFD)问题。MVNFD问题是一个NP-hard问题,目前学术界对于该问题的研究还处于起步阶段。
分布估计算法(Estimation of Distribution Algorithm,简称EDA)是一种基于统计学习理论的群体进化算法,通过建立概率模型描述候选解在搜索空间的分布信息,采用统计学习手段从群体宏观的角度建立一个描述解分布的概率模型,然后对概率模型随机采样产生新的种群,如此反复实现种群的进化。与传统的遗传算法(Genetic Algorithm,简称GA)相比,EDA放弃了基于个体的交叉和变异操作。取而代之的是,引入基于概率模型的学习和抽样方法,实现种群的整体高效进化。基于此,结合组播网络中的网络功能服务链问题实际情况,本发明使用EDA算法来解决最优组播树虚拟网络功能部署问题。
发明内容
本发明的目的是提供一种基于分布估计算法的组播虚拟网络功能部署方法,在网络组播服务请求到达时,找到一种虚拟网络功能部署方案,使得得到的整个组播网络中服务功能链上的所有节点的节点时延和每条传输路径中的总链路时延之和最小。
实现本发明目的的技术方案如下:
一种基于分布估计算法的组播虚拟网络功能部署方法,包括
步骤1:输入网络拓扑,构建组播树;
步骤2:初始化分布估计算法相关参数,包括
设置种群规模为种群中第i个个体为
其中,
D={dj}表示目的节点集,dj表示目的节点,j=1,2,...,|D|,|D|表示目的节点个数;
VNF={fk}表示数据流从源节点s到达D中任一个目的节点之前必须流经的一组虚拟网络服务功能链,fk表示具有某种特定功能的虚拟网络功能,k=1,2,...,|VNF|,|VNF|表示VNF中虚拟网络功能的个数;
Yi的元素为个体编码,其中,编码表示在路径Pathj中部署fk的节点位置;
Yi中第j行称为第j区域,第k列称为第k位置;
设置最大迭代次数为迭代次数τEDA=0;
初始化全局最优解集GB与当代最优解集CB,令|GB|与|CB|分别表示GB与CB中的个体数,且1<|GB|,
步骤3:初始化个体编码中第1区域的第1位置的编码概率矩阵Pff,其它区域的第1位置的编码概率矩阵Plf,其它位置的编码概率矩阵Pin;
步骤4:生成分布估计算法种群,种群中包含个个体,其中每个个体的生成方法为:由Pff指导生成第1区域中的第1位置的编码,然后根据此编码,由Plf指导生成其它区域的第1位置的编码,最后根据各个区域的第1位置的编码,由Pin指导生成其它位置的编码;
步骤5:计算种群中每个个体的适应度,将适应度最优的前|CB|个个体保留为当代最优解集CB;合并CB与GB,并按个体的适应度从优到劣排序,选取排序后的前|GB|个最优个体组成GB;所述适应度为:采用所述组播树部署VNF后,从组播源节点依次经过各个的VNF并最终到达目的节点的传输时延总和与传输路径中各VNF的处理时延总和,取二者之和的平均值作为适应度;
步骤6:统计GB中每个个体的第1区域的第1位置的编码中各值出现的次数,更新Pff;其它区域的第1位置的编码中各值出现的次数,更新Plf;其它位置的编码中各值出现的次数,更新Pin;令τEDA=τEDA+1;
步骤7:若则转步骤4;否则,GB中的第1个个体即为最优解。
进一步地,所述输入网络拓扑,构建组播树,包括以下步骤:
步骤1:输入网络拓扑G=(V,E),V和E分别表示节点集和链路集,令G中的链路数为|E|;
步骤2:根据网络组播服务请求,确定组播源节点s与目的节点集D在整个网络中的位置;
步骤3:初始化构建组播树的遗传算法的相关参数,包括
设置种群规模种群中每个个体是长度为|E|的二进制串;
设置最大迭代次数当前迭代次数τGA=0;
设置交叉概率Pc,变异概率Pm;
初始化历史最优解XSFB与当代最优解XCB;
步骤4:随机生成个长度为|E|的二进制串,每个二进制串为种群中的一个个体;其中,第i个个体 表示一种组播树方案, 为Xi的第j个位置上的值,j=1,2,…,|E|;当时,表示Xi中的第j条链路被选中,当时,表示Xi中没有第j条链路;
步骤5:计算种群中每个个体的适应度,将适应度最优的个体作为当代最优解XCB保留;所述个体的适应度为该个体所表示的组播树方案中从组播源节点到目的节点所经过的链路产生的链路时延的总和的平均值;
步骤6:将种群中每个个体的适应度依次加入到轮盘中,按其适应度优劣确定其在轮盘中所占面积的大小,适应度优的个体在轮盘中所占的面积大于适应度差的个体,即适应度优的个体被选择的概率高于适应度差的个体;基于轮盘赌方式,随机选出个个体并放入交配池中;
步骤7:将交配池中的所有个体以随机配对方式两两配对;对任意一对个体,以交叉概率Pc进行两点交叉,并保存交叉后的新个体;重复上述方式,直到生成个新个体;以生成的个新个体作为当前种群替换原种群;
步骤8:以变异概率Pm对当前种群中每个个体Xi中的每一位进行变异操作;令τGA=τGA+1;
步骤9:比较历史最优解XSFB与当代最优解XCB的适应度,若XCB优于XSFB,则使用XCB替换XSFB;否则,使用XSFB替换当前种群中适应度最差的个体;
步骤10:若迭代次数则转到步骤5;否则,以历史最优解XSFB作为构建的组播树。
本发明的有益效果在于,将网络功能虚拟化引入组播当中,将组播网络中的网络功能服务链问题拆分为两个子问题,即最小传输时延组播树生成问题与最优组播树中虚拟网络功能优化部署问题。本发明使用遗传算法,求解出“最小”时延组播树;使用分布估计算法,在组播树中优化部署虚拟网络功能。仿真实验与数据分析表明,相比于遗传算法,本发明所使用的方法在算法性能上具有显著优势,能获得更优的解。
附图说明
图1为本发明使用的编码示意图;
图2为本发明所使用的概率矩阵与编码生成关系示意图;
图3为本发明使用算法的流程图;
图4为本发明与GA在场景-1下的历史最优适应度对比图;
图5为本发明与GA在场景-1下的历代平均适应度对比图;
图6为本发明与GA在场景-2下的历史最优适应度对比图;
图7为本发明与GA在场景-2下的历代平均适应度对比图;
图8为本发明与GA在场景-3下的历史最优适应度对比图;
图9为本发明与GA在场景-3下的历代平均适应度对比图;
图10为本发明与GA在场景-4下的历史最优适应度对比图;
图11为本发明与GA在场景-4下的历代平均适应度对比图;
图12为本发明与GA在场景-5下的历史最优适应度对比图;
图13为本发明与GA在场景-5下的历代平均适应度对比图;
图14为本发明与GA在场景-6下的历史最优适应度对比图;
图15为本发明与GA在场景-6下的历代平均适应度对比图;
图16为本发明与GA在场景-7下的历史最优适应度对比图;
图17为本发明与GA在场景-7下的历代平均适应度对比图;
图18为本发明与GA在场景-8下的历史最优适应度对比图;
图19为本发明与GA在场景-8下的历代平均适应度对比图。
具体实施方式
下面对本发明的具体实施方式进行进一步详细说明。
首先详细介绍一下MVNFD问题,一个通信网络可以表示为G=(V,E),V和E分别表示节点集和链路集,V={v1,v2,..,v|V|},E={e1,e2,..,e|E|},节点数和链路数分别表示为|V|和|E|。两个节点之间相互通信时,数据在链路中传输会产生时延,称为链路时延。Delay(ei)表示链路ei的链路时延,其中ei∈E,i=1,2,…,|E|。
因为数据在传输过程中,中间节点只是负责存储转发,其时延可以忽略不计,所以任意两个间接相连的节点间的链路时延可以通过将它们所经过的各条链路时延直接相加获得。我们把虚拟网络功能部署之前,组播源s到di(i=1,2,...,|D|)的传输路径Pathi中的总链路时延,记为Delaybefore(Pathi)。记为Pathi上的链路集,(表示Pathi上节点的个数)为Pathi上的节点集,则Delaybefore(Pathi)可由公式(1)计算得出:
收到网络组播服务请求后,我们可以确定一个源节点s和一组目的节点D,通过遗传算法求“最小”传输时延组播树GT=(VT,ET),其中若记组播树(SteinerTree)的时延为Delay(ST),则优化目标为:
Minimize:
得到GT后,接着需要求解在GT上进行服务功能链SFC部署问题。在网络组播服务请求问题中,SFC可以表示为一组有序的VNF集合,记作VNF={f1,f2,...,f|VNF|},其中|VNF|表示VNF的个数。s到di(i=1,2,...,|D|)的传输路径Pathi中需要部署这条SFC。记表示部署在节点上的VNF集合,则与VNF应满足如下关系:
可以在节点上部署任意数目的VNF,但是同种网络功能的VNF只在同一个节点上部署一次。若记节点vi拥有的计算资源为部署fi需要消耗的计算资源为则这两者的关系应该满足公式(4):
数据流被任意VNF处理时,都会产生处理时延,我们传输路径Pathi中fj的处理时延为其中i=1,2,...,|D|,j=1,2,...,|VNF|。
因此,该问题的解法可以描述为,得到“最小”传输时延组播树GT后,根据网络组播服务请求,获得SFC,然后将其上的所有VNF按顺序部署到路径Pathi上的节点集合中,其中,i=1,2,...,|D|。当数据包从组播源s发送给目的节点di时,数据包依次经过VNF={f1,f2,...,f|VNF|}所部署在的各个节点处理并最终到达di,我们记组播中从s出发,依次经过各个的VNF并最终到达di的传输路径Pathi中的总传输时延为Delayafter(Pathi),则Delayafter(Pathi)可以用公式(5)表示:
其中:
表示在Pathi上从s出发到达部署了f1的节点所经过的链路集,表示在在Pathi上从部署了fj的节点出发到达部署了fj+1的节点所经过的链路集,表示在Pathi上从部署了f|VNF|的节点出发到达目的节点di所经过的链路集,i=1,2,...,|D|。本发明利用EDA算法,在组播树中为服务功能链找到合适的部署位置,在满足节点部署的相关约束的条件下,优化的目标为:
Minimize:
Subject to:
其中i=1,2,...,|D|,m=1,2,...,|VNF|,vk∈VT,fl∈Deploy(vk),
本发明实现其发明目的的具体手段是:
一种基于分布估计算法的组播虚拟网络功能部署方法,在网络组播服务请求到达时,找到一种虚拟网络功能部署方案,使得得到的整个组播网络中服务功能链上的所有节点的节点时延和每条传输路径中的总链路时延之和最小。具体处理包括以下步骤:
第一步:
步骤1输入原始拓扑G=(V,E),V和E分别表示节点集和链路集,V={v1,v2,..,v|V|},E={e1,e2,..,e|E|},G中的节点数和链路数分别表示为|V|和|E|,链路时延Delay(ei)作为已知参数,其中ei∈E,i=1,2,…,|E|。输入一个网络组播服务请求,包含源节点s和一组目的节点D={d1,d2,..,d|D|},其中|D|表示目的节点个数,同时包含了数据流从源节点到达任意目的之前必须流经的一组虚拟网络服务功能链VNF={f1,f2,...,f|VNF|},其中|VNF|表示VNF中虚拟网络功能的个数,fj(j=1,2,...,|VNF|)表示具有某种特定功能的虚拟网络功能。V中的节点具有一定量的计算资源,记为其表示节点vk(vk∈V,k=1,2,…,|V|)拥有的计算资源。部署虚拟网络功能fj(fj∈VNF,j=1,2,…,|VNF|)所需要消耗的计算资源记为
步骤2根据网络组播服务请求,确定组播源节点s与组播组成员D在整个网络中的位置。
步骤3初始化构建组播树的遗传算法的相关参数。设置种群规模为种群中每个个体是长度为|E|的二进制串。设置算法的最大迭代次数设置交叉概率Pc,变异概率Pm。其中均为正整数,Pc、Pm为0到1之间的实数。设当前迭代次数τGA=0。初始化历史最优解XSFB(即so-far-best解)与当代最优解XCB(即current best解)。
步骤4种群初始化。随机生成个长度为|E|的二进制串。这些二进制串组成了一个种群,每个串为种群中的一个个体。第i(i=1,2,...,Npop)个个体定义为它表示待求解问题的一个解,即一种组播树方案。其中,为Xi的第j个位置上的值。
步骤5适应度评估。计算种群中个个体的适应度值,将适应度最优的个体作为当代最优解XCB保留。
步骤6选择操作。将整个种群的适应度依次加入到轮盘中,按其适应度优劣确定其在轮盘中所占面积的大小,适应度优的个体在轮盘中所占的面积大于适应度差的个体,即适应度优的个体被选择的概率高于适应度差的个体。基于轮盘赌方式,随机选出个个体并放入交配池(mating pool)中。
步骤7交叉操作。将交配池中的所有个体以随机配对方式两两配对。对任意一对个体,以交叉概率Pc进行两点交叉,并保存交叉后的新个体。重复上述方式,直到生成个新个体为止。以生成的个新个体作为当前种群替换原种群。
步骤8变异操作。以变异概率Pm对当前种群中每个个体Xi(i=1,2,...,Npop)中的每一位进行变异操作。设置τGA=τGA+1。
步骤9比较历史最优解XSFB与当代最优解XCB。若XCB优于XSFB,则使用XCB替换XSFB。否则,使用XSFB替换当前种群中适应度最差的个体。
步骤10若迭代次数则转到步骤5,否则结束循环,输出历史最优解XSFB,即得到一棵“最小”传输时延组播树。假设从s到di的传输路径为Pathi,其中i=1,2,...,|D|,表示Pathi上的节点集,表示Pathi上的链路集。
第二步:
步骤11初始化分布估计算法的相关参数。设置种群规模为种群中每个个体为|D|*|VNF|的矩阵,种群中每个个体的编码称为个体编码。设置算法的最大迭代次数设迭代次数τEDA=0。初始化全局最优解集GB={B1,B2,…,B|GB|}与当代最优解集CB={H1,H2,…,H|CB|},其中|GB|与|CB|分别为GB与CB中的个体数目,且1<|GB|,
步骤12初始化个体编码第1区域的第1个位置的编码概率矩阵Pff,其它区域的第1个位置的编码概率矩阵Plf,其它位置的概率矩阵Pin。
步骤13对于种群中的每一个个体,由概率矩阵Pff指导生成第1个区域中的第1个编码,然后根据此位置的编码,由概率矩阵Plf指导生成其它区域的第1位置的编码。最后,根据各区域的第1个编码,由概率矩阵Pin指导生成其它位置的编码,见附图2。
步骤14重复执行次步骤13,生成整个分布估计算法种群。
步骤15计算步骤14中产生的个个体的适应度值,将适应度最优的前|CB|个个体保留为当代最优解集CB。合并CB与GB,并对其适应度值进行排序,选取排序后的前|GB|个最优个体组成GB。
步骤16统计GB={B1,B2,…,B|GB|}内每个个体中,第1区域的第1位编码的各值出现的次数,更新概率矩阵Pff;剩余区域的第1位编码的各值出现的次数,更新概率矩阵Plf;其余相应位置出现的次数,更新概率矩阵Pin。设置τEDA=τEDA+1。
步骤17若迭代次数则转到步骤13,否则结束循环,全局最优解集GB中的第1个解B1,即为最优解。
1)实际处理过程中:
步骤4中生成遗传算法的种群,对于种群中的第i个体我们采用的个体编码方式为生成长度为|E|的0、1二进制串,即其中的取值是随机的选取0或1。我们将拓扑G中的每一条链路进行编号,即E={e1,e2,..,e|E|},则ej表示链路集E的第j条链路。那么,当Xi中的第j位编码时,则表示这个个体的解中的第j条链路被选中作为组播树的一部分;反之,当时,则表示这个个体的解中组播树没有第j条链路。
当某个个体生成后,这个个体即表示在原拓扑G的基础上构建的一个组播树子图GT。在图GT中依次判断从组播源节点s到目的节点di(i=1,2,...,|D|)是否连通,如果有任意的一对<s,di>不连通,则视这个个体为非法解,重新生成这个个体。
2)实际处理过程中:
步骤5中对于个体适应度的评估,使用的是这个个体所表示的组播树子图GT中从组播源节点s到目的节点di(i=1,2,...,|D|)所经过链路产生的链路时延总和。但由于组播是一种通过树形网络结构,将数据信息从源节点复用到一组目标节点的方法。所以,在源节点到这一组目标节点共用的链路,实质上只用计算一次时延,并且这几条链路的传输是同时进行的。因此,我们评估适应度的时候使用的是Delay(ST)作为当前个体的适应度。
3)实际处理过程中:
步骤8中对于使用历史最优解替换当代最差解,将每一次生成新的种群后,对产生的种群进行排序,得到排序后的种群当代最优个体即为当代最优解XCB=X(1),适应度最差的个体为将当代最优个体的适应度与历史最优解的适应度进行比较,如果当代最优个体的适应度优于历史最优解的适应度,则将当代最优个体保存为历史最优个体,即XSFB=XCB;如果当代最优个体的适应度劣于历史最优解的适应度,则使用历史最优个体保存到种群中适应度最差个体的位置上去,即由此可以看出,种群的每次更新都将历史最优解保存了下来,使得算法能向着更好的方向搜索更多的解。
4)实际处理过程中:
步骤11中对于EDA算法中个体编码的问题,考虑到每条传输路径Pathi(i=1,2,...,|D|)上都需要部署全部的虚拟网络功能集合VNF={f1,f2,...,f|VNF|},本发明将个体编码分为|D|个区域,每个区域的长度为|VNF|,因此一个个体为|D|*|VNF|的矩阵。
我们已知每条路径Pathj中节点集合为则记种群中第i个体的编码为公式(9):
其中的一个编码表示在路径Pathj中部署fk的节点位置,的取值范围为节点集中的某一个节点。为了以后方便说明,我们把第i个个体中的第j行称为第i个个体的第j区域,见附图1。那么可以称为第i个个体的第j区域的第k个编码。
5)实际处理过程中:
步骤12与步骤13中引入了Pff、Plf、Pin三个概率矩阵,分别用于指导个体不同区域不同位置的编码生成,见附图2。
其中Pff为一个一维概率矩阵,其中为路径Path1中节点集合中节点被选中的概率,其中概率矩阵Pff用于指导个体编码第1区域的第1个位置的编码的生成
概率矩阵Plf是一个三维矩阵,Plf用于根据前一个区域的第1个位置的编码来指导后一个区域的第1个位置的编码生成,即个体的第2到|D|区域的第1个位置的编码的生成。由于Plf是一个三维矩阵,三维矩阵是一个立体矩阵,我们为了方便说明,可以记其中是一个的二维概率矩阵,即
具体方法是,如果已知个体第k区域的第1个位置的编码的值为节点后,求第k+1区域的第1个位置的编码取各个值的概率,的取值范围为 如已知前一个编码的对应的节点为(K、U表示一个确定的值),则求的方式为:在概率矩阵中找到第U行,即概率为各概率对应的取值为
Pin是一个三维概率矩阵,用于指导其它位置的编码的生成,根据每个区域第t个位置的编码,指导该区域第t+1个位置的编码(t=1,2,...,|VNF|-1),即个体所有区域的第2到|VNF|个位置的编码生成。同样,为了方便表示这个三维概率矩阵和对其进行相关说明,我们记其中 是一个的二维概率矩阵,即
表示的是个体第k区域中,已知前一个编码的值,求后一个编码的取各个值的概率,的取值范围为如已知前一个编码(K、J表示一个确定的值)的值,则求的方式为:在概率矩阵中找到第J行,即概率为各概率对应的取值为
在生成一个个体时,程序依次使用Pff、Plf、Pin三个概率矩阵得到个体中的每一位编码的取值,最终生成整个个体。
6)实际处理过程中:
步骤15中设置全局最优解集GB与当代最优解集CB,GB={B1,B2,…,B|GB|},CB={H1,H2,…,H|CB|},其中|GB|与|CB|分别为全局最优解集与当代最优解集中的个体数目,且1<|GB|,在进化过程中每次求得当前种群的适应度后,我们都对种群以适应度值从优到劣进行排序,排序后,将前|GB|个较为优秀的个体加入到当代最优解集CB中。然后将当代最优解集CB与全局最优解集GB合并,得到新的集合即二者的并集 将CB∪GB中的解按照适应度值从优到劣进行排序,得到CB∪GB={un(1),un(2),…,un(|GB|),…,un(|GB|+|GB|)}。最后将CB∪GB中的前|GB|个解保存为新的全局最优解集GB={B1,B2,…,B|GB|}={un(1),un(2),…,un(|GB|)}。
7)实际处理过程中:
步骤16中,使用全局最优解集GB来分别对Pff、Plf、Pin三个概率矩阵更新。我们在前文已经定义过,一个个体的编码的表达方式为公式(11),其中的一个编码 表示在路径Pathj中vnfk部署的节点位置,的取值范围为节点集 (表示Pathj上节点的个数)中的某一个节点。现在,为了方便描述这个个体是全局最优解集GB={B1,B2,…,B|GB|}中的具体哪一个个体,我们对这个表达方式稍作修改,如公式(12):
表示全局最优解集GB中的第i个个体,其余的表达意思不变,即表示GB中的第i个个体的第j区域的第k个编码(i=1,2,...,|GB|,j=1,2,...,|D|,k=1,2,...,|VNF|)。同时使用统计矩阵统计次数时,使用影响因子集Γ={γ1,γ2,…,γ|GB|}来使得全局最优解集GB中的每一解(个体)都能对概率矩阵的更新产生不同程度的影响。
第一步,我们统计中的每一个节点在GB中的|GB|个个体中第1区域第1个编码中出现的次数。相应的我们记中每个节点出现的次数为集合 则中的每一位更新公式如下:
在更新Pff后,有些位置的概率可能会被置零,为避免最优解在进化过程中丢失,对此种情况进行修正。设置修正参数为A,统计Pff中零元素的个数记为Szero,并将其置为其余非零元素置为具体方式见公式(14):
第二步,为方便对Plf矩阵的更新,我们首先初始化|D|-1个的二维统计矩阵,其中i=2,3,...,|D|。
我们已知中每个节点出现的次数为那么接着统计当GB中的|GB|个个体当第i-1区域第1个编码为(U1(j)表示一个确定的值,j=1,2,...,|GB|,i=2,3,...,|D|)后,其对应的个体第i区域的第1个编码中每个节点出现的次数,若对应的节点为(U2(j)表示一个确定的值,j=1,2,...,|GB|,i=2,3,...,|D|),则的第U1(j)行第U2(j)列即的值加1×γj。依此类推,完成全部的统计矩阵的统计。中的更新与一一对应,更新公式为:
在更新完整个概率矩阵Pf后,依然要按照公式(14)的方式,对中的每一行做修复操作。
第三步,为方便对矩阵Pin的更新,我们首先初始化|D|个的二维统计矩阵,其中i=1,2,...,|D|。如下所示:
然后对依次GB中的|GB|个个体的第i区域进行统计。统计方式为,首先由前一个编码所对应的节点(U1(j)表示一个确定的值,j=1,2,...,|GB|,i=1,2,...,|D|,k=1,2,...,|VNF|-1)确定需要操作的对象在统计矩阵的行数为第U1(j)行,接着由后一个编码所对应的节点(U2(j)表示一个确定的值,j=1,2,...,|GB|,i=1,2,...,|D|,k=1,2,...,|VNF|-1)确定其在统计矩阵的列数为第U2(j)列,然后将的值加1×γj。统计完毕的统计矩阵的与概率矩阵一一对应,相应的更新公式为:
在更新完整个概率矩阵Pin后,仍要按照公式(14)的方式,对中的每一行做修复操作。
为了验证本发明采用EDA算法解决MVNFD问题的可行性、可用性和高效性,我们进行了仿真实验,并与GA进行了算法性能比较。如下:
(1)参数设置:
本发明随机生成了组播网络服务功能。根据拓扑中的节点的坐标和链路来计算链路时延Delay(ei),随机生成了每个VNF实例化所需要消耗的计算资源与节点vi拥有的计算资源这三个参数在GA和EDA中均作为算法的输入参数。
EDA中种群规模初始化为100,最大迭代次数初始化为100,最优解集的大小初始化为影响因子集初始化为Γ={10,7,5,3,1,1,1,…,1},概率矩阵修正参数α初始化为0.2。
GA中种群规模初始化为100,最大迭代次数初始化为100,交叉概率Pc初始化为0.8,变异概率Pm初始化为0.05。
(2)拓扑与场景设置:
为了测试本发明的有效性,在实验中采用了八个拓扑,分别是F_N100_R0025,F_N300_R0013,F_N500_R0008,F_N800_R0006,Sun,Germany50,Tinet,Dfn。这八个拓扑中,前四个拓扑使用的是随机ER图生成算法(参考文献:Vladimir Batagelj and UlrikBrandes,"Efficient generation of large random networks",Phys.Rev.E,71,036113,2005.)生成的随机拓扑。后四个拓扑为当前骨干网络中,正在使用的网络拓扑,其中Sun与Germany50取自SDNlib(网址:http://sndlib.zib.de/);Tinet与Dfn取自The InternetTopology Zoo(网址:http://www.topology-zoo.org/)。拓扑中每个节点所拥有的计算资源每个VNF实例化所需要消耗的计算资源每个VNF的处理时延Delay(fi)∈[1,50],每条链路的传输时延Delay(ei)∈[1,15]。具体的拓扑与场景信息在见表1。
表1
(3)性能指标:
本发明比较的性能指标如下:
a)循环最优适应度(Loop Best Fitness,简称LBF):算法每运行一代,根据对种群的适应度评估,可以得到种群中适应度最优的一个值,如果当代最优值比上一代更好,则保留,否则仍保留上一代的最优值,这样在运行规定代数后,每一代都对应着一个最优值,即为历史最优适应度。我们将算法运行20次,将每次求得的最优适应度保存下来,最后将其中最优秀的作为循环最优适应度。
b)平均值(Mean):算法独立运行20次的最优适应度的平均值。
c)方差(Standard Deviation,简称SD):算法独立运行20次的最优适应度的方差。
d)平均计算时间(Average Computational Time,简称ACT):算法运行20次的平均时间花销,此指标体现了算法的时间复杂度。
(4)结果比较:
图4-19为GA与本发明的结果对比图,从图中我们可以看到,对比历史最优适应度曲线,本发明的收敛速度明显快于GA,能够快速找到更好的解,并且从后半段适应度曲线可以看出,本发明在后期依然在搜索更好的解,说明本发明的全局搜索能力强;对比历代平均适应度曲线,本发明以非常快的速度迅速找到最优解附近的空间,种群的解的质量明显高于GA,并且本发明的局部搜索能力非常强,后期一直在最优解附近搜索,尝试找到更优的解。因此,本发明更具有优势。
表2为仿真实验结果对照表,表中用加黑的方式将两种算法中更优的结果标出。从表中数据我们可以看出,比较Mean,SD,LBF这几个指标,本发明在几乎所有情况下都优于GA。通过指标ACT亦可以看出,本发明与GA的耗时不相上下,这表明了本发明在求解MVNFD问题上的可行性、可用性和高效性。
表2
Claims (2)
1.一种基于分布估计算法的组播虚拟网络功能部署方法,其特征在于,包括
步骤1:输入网络拓扑,构建组播树;
步骤2:初始化分布估计算法相关参数,包括
设置种群规模为种群中第i个个体为
其中,
D={dj}表示目的节点集,dj表示目的节点,j=1,2,...,|D|,|D|表示目的节点个数;
VNF={fk}表示数据流从源节点s到达D中任一个目的节点之前必须流经的一组虚拟网络服务功能链,fk表示具有某种特定功能的虚拟网络功能,k=1,2,...,|VNF|,|VNF|表示VNF中虚拟网络功能的个数;
Yi的元素为个体编码,其中,编码表示在路径Pathj中部署fk的节点位置;
Yi中第j行称为第j区域,第k列称为第k位置;
设置最大迭代次数为迭代次数τEDA=0;
初始化全局最优解集GB与当代最优解集CB,令|GB|与|CB|分别表示GB与CB中的个体数,且1<|GB|,
步骤3:初始化个体编码中第1区域的第1位置的编码概率矩阵Pff,其它区域的第1位置的编码概率矩阵Plf,其它位置的编码概率矩阵Pin;
步骤4:生成分布估计算法种群,种群中包含个个体,其中每个个体的生成方法为:由Pff指导生成第1区域中的第1位置的编码,然后根据此编码,由Plf指导生成其它区域的第1位置的编码,最后根据各个区域的第1位置的编码,由Pin指导生成其它位置的编码;
步骤5:计算种群中每个个体的适应度,将适应度最优的前|CB|个个体保留为当代最优解集CB;合并CB与GB,并按个体的适应度从优到劣排序,选取排序后的前|GB|个最优个体组成GB;所述适应度为:采用所述组播树部署VNF后,从组播源节点依次经过各个的VNF并最终到达目的节点的传输时延总和与传输路径中各VNF的处理时延总和,取二者之和的平均值作为适应度;
步骤6:统计GB中每个个体的第1区域的第1位置的编码中各值出现的次数,更新Pff;其它区域的第1位置的编码中各值出现的次数,更新Plf;其它位置的编码中各值出现的次数,更新Pin;令τEDA=τEDA+1;
步骤7:若则转步骤4;否则,GB中的第1个个体即为最优解。
2.如权利要求1所述的基于分布估计算法的组播虚拟网络功能部署方法,其特征在于,所述输入网络拓扑,构建组播树,包括以下步骤:
步骤1:输入网络拓扑G=(V,E),V和E分别表示节点集和链路集,令G中的链路数为|E|;
步骤2:根据网络组播服务请求,确定组播源节点s与目的节点集D在整个网络中的位置;
步骤3:初始化构建组播树的遗传算法的相关参数,包括
设置种群规模种群中每个个体是长度为|E|的二进制串;
设置最大迭代次数当前迭代次数τGA=0;
设置交叉概率Pc,变异概率Pm;
初始化历史最优解XSFB与当代最优解XCB;
步骤4:随机生成个长度为|E|的二进制串,每个二进制串为种群中的一个个体;其中,第i个个体表示一种组播树方案, 为Xi的第j个位置上的值,j=1,2,…,|E|;当时,表示Xi中的第j条链路被选中,当时,表示Xi中没有第j条链路;
步骤5:计算种群中每个个体的适应度,将适应度最优的个体作为当代最优解XCB保留;所述个体的适应度为该个体所表示的组播树方案中从组播源节点到目的节点所经过的链路产生的链路时延的总和的平均值;
步骤6:将种群中每个个体的适应度依次加入到轮盘中,按其适应度优劣确定其在轮盘中所占面积的大小,适应度优的个体在轮盘中所占的面积大于适应度差的个体,即适应度优的个体被选择的概率高于适应度差的个体;基于轮盘赌方式,随机选出个个体并放入交配池中;
步骤7:将交配池中的所有个体以随机配对方式两两配对;对任意一对个体,以交叉概率Pc进行两点交叉,并保存交叉后的新个体;重复上述方式,直到生成个新个体;以生成的个新个体作为当前种群替换原种群;
步骤8:以变异概率Pm对当前种群中每个个体Xi中的每一位进行变异操作;令τGA=τGA+1;
步骤9:比较历史最优解XSFB与当代最优解XCB的适应度,若XCB优于XSFB,则使用XCB替换XSFB;否则,使用XSFB替换当前种群中适应度最差的个体;
步骤10:若迭代次数则转到步骤5;否则,以历史最优解XSFB作为构建的组播树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810174179.0A CN108400940B (zh) | 2018-02-27 | 2018-02-27 | 一种基于分布估计算法的组播虚拟网络功能部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810174179.0A CN108400940B (zh) | 2018-02-27 | 2018-02-27 | 一种基于分布估计算法的组播虚拟网络功能部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108400940A CN108400940A (zh) | 2018-08-14 |
CN108400940B true CN108400940B (zh) | 2019-11-05 |
Family
ID=63092060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810174179.0A Expired - Fee Related CN108400940B (zh) | 2018-02-27 | 2018-02-27 | 一种基于分布估计算法的组播虚拟网络功能部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108400940B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109358971B (zh) * | 2018-10-30 | 2020-06-23 | 电子科技大学 | 动态网络环境中快速且负载均衡的服务功能链部署方法 |
CN109756932B (zh) * | 2018-12-27 | 2022-03-01 | 南京大学 | 一种5g蜂窝核心网场景下的网络功能的两级部署方法 |
CN111415009B (zh) * | 2020-03-19 | 2021-02-09 | 四川大学 | 基于遗传算法的卷积变分自编码器网络结构搜索方法 |
CN112187510B (zh) * | 2020-08-26 | 2021-09-14 | 中国科学院信息工程研究所 | 一种基于遗传算法的虚拟网络功能放置方法及电子装置 |
CN114124818B (zh) * | 2021-11-11 | 2023-07-04 | 广东工业大学 | 一种sdn网络中多播传输的新增功能节点部署优化方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685020B (zh) * | 2013-11-25 | 2017-07-28 | 重庆邮电大学 | 一种基于遗传算法的光多播树最小代价路由方法 |
US10291689B2 (en) * | 2014-08-20 | 2019-05-14 | At&T Intellectual Property I, L.P. | Service centric virtual network function architecture for development and deployment of open systems interconnection communication model layer 4 through layer 7 services in a cloud computing system |
CN105577409B (zh) * | 2014-10-16 | 2020-08-11 | 中兴通讯股份有限公司 | 一种实现虚拟网络功能自动部署的方法和装置 |
CN105812414A (zh) * | 2014-12-29 | 2016-07-27 | 中兴通讯股份有限公司 | Vnf的部署方法和设备 |
CN105978816B (zh) * | 2016-04-27 | 2020-11-13 | 西南大学 | 一种基于遗传框架的组播树优化方法 |
CN107332913B (zh) * | 2017-07-04 | 2020-03-27 | 电子科技大学 | 一种5g移动网络中服务功能链的优化部署方法 |
CN107395506B (zh) * | 2017-09-07 | 2020-04-21 | 电子科技大学 | 一种传输时延优化的服务功能链部署方法 |
CN107666412B (zh) * | 2017-11-20 | 2019-07-02 | 电子科技大学 | 服务功能链的虚拟网络功能部署方法 |
-
2018
- 2018-02-27 CN CN201810174179.0A patent/CN108400940B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN108400940A (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108400940B (zh) | 一种基于分布估计算法的组播虚拟网络功能部署方法 | |
Peleg et al. | The token distribution problem | |
CN108880663A (zh) | 基于改进遗传算法的天地一体化网络资源分配方法 | |
CN104866904A (zh) | 一种基于spark的遗传算法优化的BP神经网络并行化方法 | |
CN111325356A (zh) | 一种基于演化计算的神经网络搜索分布式训练系统及训练方法 | |
CN107911300B (zh) | 基于鲸鱼算法的组播路由优化方法及其在Spark平台上的应用 | |
CN101616074B (zh) | 基于量子进化的组播路由优化方法 | |
CN110890985B (zh) | 虚拟网络映射方法及其模型训练方法、装置 | |
CN110995619A (zh) | 一种服务质量感知的虚拟网络映射方法和装置 | |
Dürr et al. | On the power of advice and randomization for online bipartite matching | |
CN115543556A (zh) | 一种基于多任务遗传编程算法的自适应符号回归方法 | |
van Apeldoorn et al. | A framework for distributed quantum queries in the CONGEST model | |
CN113285832A (zh) | 基于nsga-ii的电力多模态网络资源优化分配方法 | |
CN114116995A (zh) | 基于增强图神经网络的会话推荐方法、系统及介质 | |
Hamdan et al. | Multicast routing with delay and delay variation constraints using genetic algorithm | |
CN107749801B (zh) | 一种基于种群增量学习算法的虚拟网络功能放置方法 | |
Ordóñez et al. | Genetic Approach for Optimizing Ensembles of Classifiers. | |
Sun | A genetic algorithm for delay-constrained minimum-cost multicasting | |
CN110505681B (zh) | 基于遗传方法的非正交多址接入场景用户配对方法 | |
CN114124818B (zh) | 一种sdn网络中多播传输的新增功能节点部署优化方法 | |
Fotakis et al. | Efficient online learning for dynamic k-clustering | |
Javaheripi et al. | Swann: Small-world architecture for fast convergence of neural networks | |
CN104955059B (zh) | 基于贝叶斯网络的蜂窝网基站状态时变模型建立方法 | |
Ledezma et al. | Empirical evaluation of optimized stacking configurations | |
Ikram et al. | Evolution Guided Generative Flow Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20191105 Termination date: 20210227 |
|
CF01 | Termination of patent right due to non-payment of annual fee |