发明内容
有鉴于此,本发明的目的在于提供一种弹性光网络中基于灾害预测的虚拟网络映射策略,用于提高网络频谱利用率,减少预期的带宽容量损失,降低网络阻塞率。
为达到上述目的,本发明提供如下技术方案:
一种基于灾难故障模型的蚁群优化虚拟网络映射方法,该方法包括以下步骤:
S1:根据底层弹性光网络拓扑结构,采用多区域灾难评估模型,评估在灾难影响区域内区域风险概率和潜在故障概率,计算承载需求请求业务的底层弹性光网络中所有物理路径的潜在故障概率;
S2:根据虚拟网络请求的资源需求,将虚拟节点按照计算资源和相邻链路带宽权值进行降序排序;底层弹性光网络的物理节点按照节点的剩余计算资源、相邻物理路径带宽和相邻链路的潜在故障概率综合权值进行降序排序,将排好顺序的第一个虚拟节点映射到第一个物理节点上;其次,设计链路启发式信息公式,在底层弹性光网络中,计算新增的映射虚拟链路导致底层弹性光网络中路径的预期容量损失值,选择预期容量损失最小的物理路径映射虚拟链路,则路径的另外一个端点即是所映射虚拟链路的虚拟节点的映射节点。
S3:在虚拟链路和剩余虚拟节点的协同映射中,设计映射虚拟链路导致底层弹性光网络中路径的预期容量损失值为代价函数,作为选择物理路径依据的启发式信息,根据多商品流策略选择代价最小的路径作为虚拟链路的映射路径,则路径的另外一个端点即是所映射虚拟链路连接虚拟节点的映射节点,以此类推,完成虚拟网络请求中其他虚拟链路和虚拟节点的协同映射。
进一步,所述S1具体通过以下方式实现:
S101:在灾难影响区域内评估灾难对底层弹性光网络中每条物理链路的影响强度,通过灾难中心到物理路径的欧氏距离来计算其对物理路径的影响强度,随着距离的减少呈指数增长;
上式中,Disc,j(Disc,j>1)表示物理路径j到灾难中心c的欧氏距离,h表示为灾难的深度或高度,d表示直线距离。
S102:基于灾难对物理路径的影响强度根据历史故障数据的经验函数来计算物理路径的潜在故障概率;
物理路径j的潜在故障概率公式为:
上式中,
表示在受灾难影响的底层弹性光网络拓扑G
A中物理路径j。
表示灾难影响区域的平均距离,
表示灾难影响区域的最大距离。
S103:评估在灾难影响区域中这一区域的风险概率。
进一步,所述S2具体通过以下方式实现:
S201:为了能够更好地的到预期带宽容量损失最小这个优化目标,基于提出的多区域灾难故障模型将其融入蚁群优化算法中设计了全局物理路径评估函数;
利用全局物理路径评估函数用以评估在全部底层弹性光网络中物理路径的潜在故障概率;在进行虚拟网络映射时,采用虚拟节点和虚拟链路协同映射的方法,首先根据节点排序准则将第一个虚拟节点映射到第一个物理节点,在映射第二个虚拟节点时,依据各个候选的物理节点到相邻虚拟节点已映射的物理节点之间找到最合适的物理路径并将该虚拟节点间的虚拟链路映射到上面。
上式中,p
A(f)是区域A风险概率,
是灾难区域的链路j潜在的故障概率。该函数用以评估在全部底层弹性光网络中物理路径j的潜在故障概率。如果候选链路j位于灾难影响区域内,M
j>1;反之M
j=1。
S202:所述方法还包括用映射新增虚拟链路的启发式信息作为链路选择代价函数;
链路启发式信息的计算公式为:
上式中,L
ij表示虚拟节点
映射到物理节点
上需要新添加的虚拟链路集合,l
v为即将映射的虚拟链路。Con(Map(l
v))为映射虚拟链路l
v到物理路径上需要消耗的带宽资源大小。M
j用以评估在全部底层弹性光网络中物理路径的潜在故障概率。
S3:蚁群优化虚拟网络映射策略在每完成一次迭代后,用于表示虚拟节点倾向于映射到某物理节点的信息素浓度将会做出更新。直到迭代次数完成或达到设定的阈值,输出每个虚拟网络的映射结果。
信息素浓度更新通过以下方法计算:
上式中,ρ为信息素挥发因子,τ
ij(t)为虚拟节点
映射到物理节点
的蚂蚁信息素浓度大小,n为虚拟请求的节点数目。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
如图1所示的虚拟业务和底层弹性光网络拓扑及灾难故障模型,假定达到两个虚拟业务VNR1{{a,b,c},{ab,ac,bc},{10,12,8},{5,4,2}}和VNR2{{d,e},{de},{9,14},{6}}。对于业务VNR1而言,{a,b,c}为虚拟节点集合,{ab,ac,bc}为虚拟链路集合,{10,12,8}依次为虚拟节点a,b和c请求的计算资源,{5,4,2}依次为虚拟链路a-b,a-c,b-c的带宽请求所需要的频隙数。对于业务VNR2同理。我们的目的就是分别将两个虚拟网络的节点和链路映射到底层的弹性光网络的物理节点和链路中。图1(a)为虚拟网络请求,图1(b)为底层弹性光网络。假设如图1所示的两处区域发生了灾害,那么底层弹性光网络中的物理路径B-A,B-C,B-E和F-G,H-G就会因为其处在灾难影响区域内从而出现潜在的故障概率。为了能够准确评估由于灾难所导致的物理路径发生故障的概率。我们设计式(1)评估灾难对物理组件j的影响强度DIj。
灾难影响区域指的是由圆形的灾难覆盖区域Area=(Ac,Ar)。Ac表示灾难的中心位置,Ar表示圆形灾难覆盖区域的半径。Disc,j(Disc,j>1)表示物理路径j到灾难中心c的欧氏距离。其中,h表示为灾难的深度或高度,d表示直线距离,并且物理路径离灾难中心c的距离越近,受到的冲击影响强度成指数增加。
灾难冲击值影响强度对网络拓扑的范围很敏感。如图2所示,在灾难发生后,它会随着物理路径和灾难中心的距离的增加而减弱,并且变化趋势呈指数增长。需要注意的是物理组件j可以是底层弹性光网络的一个节点或一条链路。在本申请中,我们只考虑物理路径故障的情况,灾难破坏区域和受影响的区域在网络拓扑上是空间重叠的。我们也用A来表示受影响的区域。
通过式(3)计算潜在故障概率
它是一个条件概率,用来描述潜在灾难故障的可能性。它是由基于历史故障数据的经验函数
计算而来,其中
f∈F且
F和G
A分别是灾难故障和受影响的底层弹性光网络拓扑集合。
式(3)中,
表示在受灾难影响的底层弹性光网络拓扑G
A中物理路径j。
表示灾难影响的平均距离,
表示灾难影响的最大距离。
为了能够评估具体的灾难影响区域A的故障概率,受灾难影响的区域中区域风险概率pA(f)如式(4)所示。它由经验函数pA(f)表示,且pA(f)∈[0,1],f∈F,F是灾难故障的集合。
基于历史网络故障的知识和上述定义,每一个潜在的物理故障都可以被事先知道,这一过程叫做预测。在本申请中,方法的设计重点就是利用上述评估信息,在虚拟网络映射阶段,采用蚁群优化算法在灾难发生时候去减少预期的带宽容量损失。
前面设计的多区域灾难故障模型,能够准确评估出潜在的故障概率和区域风险概率。为了能够更好的将此灾难故障模型融入蚁群优化算法中并且实现我们预期带宽容量损失最小这一优化目标,我们重新设计了一个全局物理路径评估函数表示如式(5)所示:
式(5)中,p
A(f)是区域风险概率,
是潜在的故障概率。该函数用以评估在全部底层弹性光网络中物理路径的潜在故障概率。如果候选链路位于灾难影响区域内,M
j>1;反之M
j=1。
当用多区域灾难故障模型对全部底层弹性光网络中物理路径的潜在故障概率进行评估后,就开始执行我们的蚁群优化虚拟网络映射策略,来完成虚拟网络中虚拟节点和虚拟链路的映射。
通过设计启发式信息ηij,将映射虚拟链路代价函数作为选路准则,选取启发式信息最大的物理路径进行虚拟链路映射。如式(6)所示:
式(6)中,L
ij表示虚拟节点
映射到物理节点
上需要映射的与之相邻的虚拟链路集合,i和j分别表示虚拟节点和物理节点的标号。Con(Map(l
v))为映射虚拟链路l
v到物理路径上需要消耗的带宽资源大小。
接着定义t时刻虚拟节点
映射到某物理节点
的转移概率p
ij(t)由启发式信息和信息素浓度计算得到。如式(7)所示,τ
ij(t)定义为t时刻虚拟节点
映射到物理节点
的信息素浓度,η
ij为启发式信息。其中,α和β分别控制信息素浓度和启发式信息。
现以图3所示为例,详细介绍弹性光网络中基于灾害预测的虚拟网络映射策略。假如网络控制中心收到一个虚拟业务VNR{{a,b,c,d},{ab,ac,ad,bc,cd},{15,8,14,12},{5,6,4,2,3}}请求,如图3(a)所示,{a,b,c,d}为虚拟节点集合,{ab,ac,ad,bc,cd}为虚拟链路集合,{15,8,14,12}依次为虚拟节点a,b,c和d请求的计算资源,{5,6,4,2,3}依次为虚拟链路ab,ac,ad,bc,cd的带宽请求所需要的频隙数。根据多区域灾难故障模型,对底层弹性光网络的每条物理路径进行灾难评估,如图3(b),底层弹性光网络中的每条链路上的括号内2个数字,分别表示该条物理路径的潜在故障概率和剩余的可用频隙数带宽资源。首先,初始化信息素矩阵、启发式信息矩阵和转移概率矩阵。其次,用式(8)对虚拟节点进行排序,确定被映射的顺序为{a,c,d,b}。然后,用式(9)找到底层弹性光网络资源最丰富且相邻链路潜在故障概率最小的物理节点,本例计算后确定映射为物理节点C。
式(8)和式(9)中,
和
分别表示虚拟节点请求的计算资源和虚拟链路请求的频隙数。
和
分别表示底层弹性光网络物理节点可用的计算资源和物理路径剩余的频隙数。
然后,设计蚁群算法优化虚拟网路映射策略。在第一轮迭代时,第一步首先将虚拟节点排序最大的虚拟节点a映射到物理节点C上,并且消耗C节点15个CPU资源。接着即将映射虚拟节点c。虚拟节点c与已经映射的虚拟节点a之间只新增加了虚拟链路a-c。这时需要计算虚拟节点c的转移概率矩阵
此时底层弹性光网络中满足约束条件的候选物理节点集合为{A,H}。为C节点到候选节点A、H分别执行多商品流算法找到新增虚拟链路a-c时的预期的带宽容量损失。假设与节点A相关的映射链路结果为a-c映射到A-C;与节点H相关的映射链路结果为a-c映射到C-F-H。根据式(6)计算的启发式信息矩阵分别是factor[c][A]为1/6,factor[c][H]为1/12。然后再根据式(7)计算转移概率Prab[c][A]为2/3,Prab[c][H]为1/3。故经过轮盘赌选择,将虚拟节点c映射到物理节点A。此时消耗A节点14个CPU资源。那么虚拟链路的映射方案为a-c映射到C-A。紧接着继续映射虚拟节点d。此时新增加的虚拟链路为a-d和c-d。底层弹性光网络中满足约束条件的候选物理节点集合为{B,D,F,H}。同理,用上述方法计算各自的转移概率。从图3中可以很明显的看出候选物理节点B处于灾难故障影响区域中,物理路径B-A、B-C都存在潜在的故障风险。如果将虚拟链路c-d、a-d映射到上面,那么如果灾难故障发生,将会造成大量的带宽容量损失。此时计算得到转移概率Prab[d][D]最大,故将虚拟节点d映射到物理节点D上,虚拟链路d-c和d-a分别映射到物理路径B-A和B-C上。此时消耗B节点12个CPU资源。最后映射虚拟节点b。此时新增的虚拟链路为b-a和b-c。同样的方法最终将虚拟节点b映射到物理节点G。虚拟链路b-c映射到物理路径A-D-G、虚拟链路b-a映射到物理路径G-C和G-D-C。需要指出的是,在物理节点C个G之间执行多商品流算法时,发现物理路径C-G此时只剩4频隙带宽资源,而虚拟链路b-a需要5个频隙的带宽资源。所以将会使用两条路径来传输,物理路径C-G传输4个频隙的带宽,剩下的1个频隙带宽由物理路径C-D-G完成传输。此时,虚拟网络请求中的所有虚拟节点和链路都已经映射完成,即该虚拟网络请求映射成功。
进一步,当蚁群优化策略第一轮迭代完成后,对虚拟节点
映射到物理节点
的信息素浓度将会做出如式(10)的更新。在其更新时如果虚拟节点
倾向于映射到物理节点
那么信息素浓度τ
ij(t)就挥发的更缓慢。其中ρ为信息素挥发因子,τ
ij(t)为虚拟节点
映射到物理节点
的信息素浓度大小,n为虚拟节点的数目。
在下一轮迭代开始之前,恢复底层弹性光网络的资源状态到虚拟请求映射前的初始状态。
下面将结合图4,对本发明的多区域故障下基于灾难预测的蚁群优化虚拟网络映射策略进行更为详细的介绍,具体流程可分为下面几个步骤:
S1:初始化网络拓扑,并通过多区域故障模型评估全局物理路径潜在故障概率。初始化信息素浓度矩阵pher[n][m],启发式信息矩阵factor[n][m],转移概率矩阵Prab[n][m],初始化Antbest=1000000,转S2;
S2:设置最大迭代次数NI,设置信息素浓度矩阵元素不更新的阈值G,虚拟网络中虚拟节点数目,转S3;
S3:根据虚拟节点排序式(8)对虚拟网络中每个虚拟节点降序排列,转S4;
S4:对排序后的虚拟节点,执行虚拟节点链路协同映射算法,如图5;若虚拟节点全部映射完成,转S5;
S5:计算整个虚拟业务映射完成之后所产生的预期带宽容量损失,转S6;
S6:对信息素浓度矩阵按式(10)进行计算更新,如果数值没有改变,计数器g=g+1,转S7;
S7:若达到最大迭代次数NI或信息素浓度矩阵不更新g=G,转步骤S8。
S8:输出虚拟映射优化后的资源分配结果,算法结束。
上述步骤S4中,虚拟节点链路协同映射流程如图5所示,具体步骤为:
S401:根据物理节点排序式(9)对底层弹性光网络中每个物理节点进行降序排序,转S402;
S402:选择顺序列表中第一个虚拟节点将其映射到第一个物理节点,转S403;
S403:找出新添加虚拟节点后即将被映射的虚拟链路集合,并找出满足虚拟节点约束条件的候选物理节点集合。对已映射物理节点到候选物理节点之间运行多商品流算法,计算虚拟链路映射到物理路径后产生的预期的带宽容量损失,记录链路映射结果并计算启发式信息矩阵,转S404;
S404:计算虚拟节点
到物理节点
的转移概率,运用轮盘赌选最合适的物理节点进行映射并更新虚拟节点和链路映射集和,若当前虚拟节点排序中所有虚拟节点已映射完成,转图4所示算法流程图的步骤S5,否则,转S403。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。