信息谷 - ICITU

标题: 一种多约束电力通信业务最大不相交双路由配置方法与流程 [打印本页]

作者: vguangxian    时间: 2024-1-14 10:16
标题: 一种多约束电力通信业务最大不相交双路由配置方法与流程
背景技术:

电力通信网是服务于电力系统的通信专网,它的通信业务具有高级别的实时性、可靠性和安全性需求。为保障业务安全可靠地运行,电力通信网中部分业务(如继电保护、安全稳定控制等业务)需要配置主备用双路由。当双路由中的主用路由出现故障时,可迅速将业务切换到备用路由,这样可极大程度地减轻突发故障对业务的影响,保障电力通信业务安全可靠地运行。目前电力通信网中的路由算法主要关注单路由分配问题,相关研究主要采用改进的dijkstra算法、floyd算法、遗传算法与粒子群算法等方法完成路由的分配工作。但单路由算法无法考虑两条路由间的相互关系,无法为业务配置双路由。
公共通信网中双路由算法主要分为节点不相交双路由算法(ndra,node-disjointroutingalgorithm)、链路不相交双路由算法(ldra,link-disjointroutingalgorithm)与最大不相交双路由算法(mdra,maximallydisjointroutingalgorithm)。ndra要求两路由绝对分离,因此其也被称为不相交双路由算法;ldra要求两条路由不包含公共链路,与ndra相比,ldra的路径约束条件较为松弛;mdra可为业务分配一组公共节点最少的双路由,在算法间相互的关系上,mdra包含ndra。
ndra要求两条路径绝对分离,在一些特定网络中的特定业务配置中,ndra无法找到可行解。例如对图2所示网络,分别为a点到z点和b点到z点分配双路由,则ndra均无法实现不相交双路由的分配。ldra可以为业务配置可能存在多个相交节点的双路由,但这会导致ldra得到的双路由在可靠性上存在缺陷。例如对图2所示网络,采用ldra从a点到z点为业务分配双路由,则图3所示的a-d-e-g-z和a-c-d-f-h-i-z与和图4所示的a-d-e-g-z和a-c-d-f-g-i-z,均为满足链路不相交条件的双路由。但实际中我们更倾向于选择图3所示公共节点较少的a-d-e-g-z和a-c-d-f-h-i-z作为业务主备用路由。进一步地,若采用ldra从b点到z点为业务分配双路由,则ldra无法找到可行解。若采用mdra分别为a点到z点与b点到z点的两条业务分配双路由,则可直接为两条业务分配图3和图4所示具有公共节点最少的双路由。因此,为最大限度地保障电力通信网中业务的可靠性,应采用mdra完成双路由分配工作。
mdra仅可以保证两条路由具有最少的公共节点,当网络中存在多组最大不相交双路由时,还应进一步考虑可靠性、丢包率、时延及网络业务的风险均衡等多重约束条件,为业务分配一组满足多重约束条件的最大不相交双路由。在实际的通信网中,多约束双路由算法多为链路不相交双路由算法,且多数算法没有进一步考虑双路由的可靠性与业务风险均衡,这使得现有双路由算法难以满足实际工程的需求。


技术实现要素:
为弥补上述缺陷,本发明提供一种多约束电力通信业务最大不相交双路由配置方法,该方法能够在多重约束条件下寻找多组最大不相交双路由,并为业务分配一组网络风险最均衡的最大不相交双路由。
本发明采取的技术方案是:
一种多约束电力通信业务最大不相交双路由配置方法,所述方法包括下述步骤:
(1)构建网络拓扑模型;
(2)选取r维权值,建立网络gr;
(3)获取网络gr中请求配置的双路由业务集合,根据实际需求设置业务重要度;
(4)按照业务重要度排序,获得当前配置业务信息;
(5)通过改进的bhandari最大不相交算法进行双路由预选取;

(6)采用改进的ksp算法获得多组满足多约束条件的最大不相交双路由集合;
(7)对所述最大不相交双路由集合进行筛选;
(8)输出配置结果。
优选的,所述步骤(1)中构建网络模型包括:依据实际网络架构,构建与该实际网络对应的网络拓扑模型g=(v,e,w);
其中,v={v1,v2,…,vn}为网络拓扑模型g的节点集合,v中的节点vi,i∈[1,n]为网络拓扑模型g中第i个节点;e={e1,e2,…,em}为网络拓扑模型g的链路集合,e中的第k个节点ek=(vi,vj),k∈[1,m],表示v中第i个节点vi和第j个节点vj的无序对为该网络拓扑中vi到vj的链路,j∈[1,n];n为节点总个数,m为链路总个数,w为网络拓扑模型g中链路与节点的多维权值集合;所述网络拓扑模型g中的第k条链路ek包含一个q维权值向量w(ek)={w1(ek),w2(ek),…,wq(ek)},且v中第i个节点vi包含一个q维权值向量w(vi)={w1(vi),w2(vi),…,wq(vi)},q>1。
优选的,所述步骤(2)中选取r维权值,构建网络gr包括,设置q维权值向量中每一个权值向量的约束条件,根据实际需要选择第r维权值向量的约束条件;其中,所述约束条件包括,可靠性、丢包和时延;
所述第r维权值向量wr对应的链路和节点的权值分别为wr(ek)(1≤r≤q,k∈[1,m])和wr(vi)(1≤r≤q,i∈[1,n]),组成网络gr(v,e),记为gr。
优选的,所述步骤(4)包括:将双路由业务集合按照重要度值降序排列;选取其中最重要的业务作为当前配置业务s,获取该业务s的重要度、源点vs和目的节点vt信息以及约束向量c(s)。
进一步地,所述约束向量c(s)的获取方法包括:设第k种业务为sk,k≥0;则在q维约束条件下的约束向量为c(s)={c1(s),c2(s),…,cq(s)}。
优选的,所述步骤(5)中通过改进的bhandari最大不相交算法进行双路由预选取包括,计算当前配置业务s的双路由最大不相交度αst,即网络gr中最大不相交双路由route(a)与route(b)的公共节点与公共链路的数量和。
进一步地,所述改进的bhandari最大不相交算法具体包括下述步骤:
5-1在网络gr中,调用考虑节点权值的dijkstra算法,获取当前配置业务s的最短路径route(a),并将其作为初始路径;
所述考虑节点权值的dijkstra算法使得bhandari最大不相交算法可以考虑节点权值;
5-2在网络gr中,将所述route(a)进行节点分裂,获取分裂后的节点所对应的链路、节点连接关系和权值,生成新的网络grm;
5-3在所述网络grm中,调用节点识别的dijkstra算法,搜索当前配置业务s的源点vs和目的节点vt之间的最短路径route(b1);
所述节点识别的dijkstra算法,用于消除相同节点权值叠加两次而出现错误解;判断路径是否抵达某一节点;若抵达,则再次经过时,该节点的权值变为0;
5-4还原route(b1)中的分裂节点获得路径route(b),其包括:将route(b1)中包含的分裂节点还原为原节点,若还原后相邻节点为同一节点则将这两个节点合并;
5-5将route(a)和route(b)组成网络grs,将grs中route(a)与route(b)所重合的双向链路与节点的权值分别修改为a0与b0,再次执行考虑节点权值的dijkstra算法,搜索获得最短路径,记为route(a);
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek)和a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数。
5-6在网络grs中将route(a)所对应的双向链路与节点的权值分别修改为a0与b0,调用考虑节点权值的dijkstra算法,搜索获得最短路径route(b);
根据route(a)和route(b)计算双路由最大不相交度αst,其表达式为:αst=card(route(a)∩route(b)),并获取route(a)和route(b)公共节点权值。
进一步地,所述步骤(5-2)中将route(a)进行节点分裂包括:定义路径中由源点vs到目的节点vt的方向为正向,相反方向为反向;将route(a)上除起点和
终点外的其他点一分为二,二者之间反向链路权值为0,正向链路权值为b0;
将路径中所有链路的反向权值变为原链路权值的相反数,正向链路权值为a0;
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek),a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数。
优选的,所述步骤(6)采用改进的ksp算法获得多组满足多约束的最大不相交双路由集合具体包括:
6-1设初始路径数量为k;
6-2利用ksp算法在网络gr中逐一搜索源点vs到目的节点vt的路径;
设当前路径为第l(1≤l≤k)条路径,在第r维约束条件下的权值向量为wr(route(l));
当wr(route(l-1))<cr(s)≤wr(route(l))时,终止计算,转至步骤6-4;
当wr(route(k))<cr(s)时,转至步骤6-3;其中,cr(s)为业务s在第r维约束条件下的约束值;
6-3设定阈值增量为δk,δk>0;kn=kn-1+δk,n>0;循环步骤(6-1)至步骤(6-3),对新增的δk个路径逐一搜索,直到满足wr(route(l-1))<cr(s)≤wr(route(l))进入下一步骤;其中,n为增加阈值增量的次数;
6-4将任意两个满足约束的路径进行组合,生成多组最大不相交双路由集合;若该集合中每一组双路由route(x)与route(y)皆满足:min(route(x)∩route(y)-2)=αst(1≤x≤kn,1≤y≤kn,x≠y)即达到最大不相交度αst;则进入下一步;
6-5所述多组最大不相交双路由集合中的每一组双路由route(x)与route(y)还满足:min(card(route(x)∩route(y)))=min(card(route(x1)∩route(y1)))(1≤x≤kn,1≤y≤kn,x≠y,1≤x1≤kn-1,1≤y1≤kn-1,x1≠y1),且wr(route(kn))≥max(wr(route(a)),wr(route(b)));其中,route(a)与route(b)为改进的bhandari算法获得的最大不相交路径。
优选的,所述步骤(7)对最大不相交双路由集合进行筛选包括,计算双路由集合中每一组双路由的网络业务风险均衡度,获得业务风险最均衡的双路由;并将风险最均衡双路由中跳数较小的一条定义为当前业务s的主用路由mr,另一条为备用路由sr。
进一步地,所述网络业务风险均衡度的计算方法为:
其中,rg表示网络业务风险均衡度,rg越小代表网络风险越均衡;m为网络链路数,n为网络节点数;r(eij)与r(e)avr分别表示链路eij的业务风险值与网络所有链路的业务风险值均值;r(vk)与r(v)avr分别表示节点vk的业务风险值与网络所有节点的业务风险值均值;s(eij)与s(vk)分别表示链路eij与节点vk所对应的可靠度;sw(sp)与sw(sq)分别表示业务sp与业务sq的业务重要度;该业务重要度根据实际需要设定;公式sp∈eij表示业务sp为链路eij上所承载的业务,公式sq∈vk表示业务sq为节点vk上所承载的业务。
所述步骤(8)包括,输出当前配置业务s的双路由结果,更新网络分布,若存在剩余业务则返回步骤(3)。



5-1在网络gr中,调用考虑节点权值的dijkstra算法,获取当前配置业务s的最短路径route(a),并将其作为初始路径;
所述考虑节点权值的dijkstra算法使得bhandari最大不相交算法可以考虑节点权值;
5-2在网络gr中,将所述route(a)进行节点分裂,获取分裂后的节点所对应的链路、节点连接关系和权值,生成新的网络grm;如图7所示,结合为a与z两个节点分配最大不相交双路由说明bhandari最大不相交算法流程,在一般网络中,认为链路的正向权值和反向权值相同。通过改进的dijkstra算法得到最短路径route(a):a-b-d-f-h-z。进行节点分裂得到网络grm,此时按照bhandari算法会存在单向边与正反方向权值不同的边,此时会涉及到正向链路权值与反向链路权值。
步骤(5-2)中将route(a)进行节点分裂包括:定义路径中由源点vs到目的节点vt的方向为正向,相反方向为反向;将route(a)上除起点和终点外的其他点一分为二,二者之间反向链路权值为0,正向链路权值为b0;
背景技术:
电力通信网是服务于电力系统的通信专网,它的通信业务具有高级别的实时性、可靠性和安全性需求。为保障业务安全可靠地运行,电力通信网中部分业务(如继电保护、安全稳定控制等业务)需要配置主备用双路由。当双路由中的主用路由出现故障时,可迅速将业务切换到备用路由,这样可极大程度地减轻突发故障对业务的影响,保障电力通信业务安全可靠地运行。目前电力通信网中的路由算法主要关注单路由分配问题,相关研究主要采用改进的dijkstra算法、floyd算法、遗传算法与粒子群算法等方法完成路由的分配工作。但单路由算法无法考虑两条路由间的相互关系,无法为业务配置双路由。
公共通信网中双路由算法主要分为节点不相交双路由算法(ndra,node-disjointroutingalgorithm)、链路不相交双路由算法(ldra,link-disjointroutingalgorithm)与最大不相交双路由算法(mdra,maximallydisjointroutingalgorithm)。ndra要求两路由绝对分离,因此其也被称为不相交双路由算法;ldra要求两条路由不包含公共链路,与ndra相比,ldra的路径约束条件较为松弛;mdra可为业务分配一组公共节点最少的双路由,在算法间相互的关系上,mdra包含ndra。
ndra要求两条路径绝对分离,在一些特定网络中的特定业务配置中,ndra无法找到可行解。例如对图2所示网络,分别为a点到z点和b点到z点分配双路由,则ndra均无法实现不相交双路由的分配。ldra可以为业务配置可能存在多个相交节点的双路由,但这会导致ldra得到的双路由在可靠性上存在缺陷。例如对图2所示网络,采用ldra从a点到z点为业务分配双路由,则图3所示的a-d-e-g-z和a-c-d-f-h-i-z与和图4所示的a-d-e-g-z和a-c-d-f-g-i-z,均为满足链路不相交条件的双路由。但实际中我们更倾向于选择图3所示公共节点较少的a-d-e-g-z和a-c-d-f-h-i-z作为业务主备用路由。进一步地,若采用ldra从b点到z点为业务分配双路由,则ldra无法找到可行解。若采用mdra分别为a点到z点与b点到z点的两条业务分配双路由,则可直接为两条业务分配图3和图4所示具有公共节点最少的双路由。因此,为最大限度地保障电力通信网中业务的可靠性,应采用mdra完成双路由分配工作。
mdra仅可以保证两条路由具有最少的公共节点,当网络中存在多组最大不相交双路由时,还应进一步考虑可靠性、丢包率、时延及网络业务的风险均衡等多重约束条件,为业务分配一组满足多重约束条件的最大不相交双路由。在实际的通信网中,多约束双路由算法多为链路不相交双路由算法,且多数算法没有进一步考虑双路由的可靠性与业务风险均衡,这使得现有双路由算法难以满足实际工程的需求。


技术实现要素:
为弥补上述缺陷,本发明提供一种多约束电力通信业务最大不相交双路由配置方法,该方法能够在多重约束条件下寻找多组最大不相交双路由,并为业务分配一组网络风险最均衡的最大不相交双路由。
本发明采取的技术方案是:
一种多约束电力通信业务最大不相交双路由配置方法,所述方法包括下述步骤:
(1)构建网络拓扑模型;
(2)选取r维权值,建立网络gr;
(3)获取网络gr中请求配置的双路由业务集合,根据实际需求设置业务重要度;
(4)按照业务重要度排序,获得当前配置业务信息;
(5)通过改进的bhandari最大不相交算法进行双路由预选取;
(6)采用改进的ksp算法获得多组满足多约束条件的最大不相交双路由集合;
(7)对所述最大不相交双路由集合进行筛选;
(8)输出配置结果。
优选的,所述步骤(1)中构建网络模型包括:依据实际网络架构,构建与该实际网络对应的网络拓扑模型g=(v,e,w);
其中,v={v1,v2,…,vn}为网络拓扑模型g的节点集合,v中的节点vi,i∈[1,n]为网络拓扑模型g中第i个节点;e={e1,e2,…,em}为网络拓扑模型g的链路集合,e中的第k个节点ek=(vi,vj),k∈[1,m],表示v中第i个节点vi和第j个节点vj的无序对为该网络拓扑中vi到vj的链路,j∈[1,n];n为节点总个数,m为链路总个数,w为网络拓扑模型g中链路与节点的多维权值集合;所述网络拓扑模型g中的第k条链路ek包含一个q维权值向量w(ek)={w1(ek),w2(ek),…,wq(ek)},且v中第i个节点vi包含一个q维权值向量w(vi)={w1(vi),w2(vi),…,wq(vi)},q>1。
优选的,所述步骤(2)中选取r维权值,构建网络gr包括,设置q维权值向量中每一个权值向量的约束条件,根据实际需要选择第r维权值向量的约束条件;其中,所述约束条件包括,可靠性、丢包和时延;
所述第r维权值向量wr对应的链路和节点的权值分别为wr(ek)(1≤r≤q,k∈[1,m])和wr(vi)(1≤r≤q,i∈[1,n]),组成网络gr(v,e),记为gr。
优选的,所述步骤(4)包括:将双路由业务集合按照重要度值降序排列;选取其中最重要的业务作为当前配置业务s,获取该业务s的重要度、源点vs和目的节点vt信息以及约束向量c(s)。
进一步地,所述约束向量c(s)的获取方法包括:设第k种业务为sk,k≥0;则在q维约束条件下的约束向量为c(s)={c1(s),c2(s),…,cq(s)}。
优选的,所述步骤(5)中通过改进的bhandari最大不相交算法进行双路由预选取包括,计算当前配置业务s的双路由最大不相交度αst,即网络gr中最大不相交双路由route(a)与route(b)的公共节点与公共链路的数量和。
进一步地,所述改进的bhandari最大不相交算法具体包括下述步骤:
5-1在网络gr中,调用考虑节点权值的dijkstra算法,获取当前配置业务s的最短路径route(a),并将其作为初始路径;
所述考虑节点权值的dijkstra算法使得bhandari最大不相交算法可以考虑节点权值;
5-2在网络gr中,将所述route(a)进行节点分裂,获取分裂后的节点所对应的链路、节点连接关系和权值,生成新的网络grm;
5-3在所述网络grm中,调用节点识别的dijkstra算法,搜索当前配置业务s的源点vs和目的节点vt之间的最短路径route(b1);
所述节点识别的dijkstra算法,用于消除相同节点权值叠加两次而出现错误解;判断路径是否抵达某一节点;若抵达,则再次经过时,该节点的权值变为0;
5-4还原route(b1)中的分裂节点获得路径route(b),其包括:将route(b1)中包含的分裂节点还原为原节点,若还原后相邻节点为同一节点则将这两个节点合并;
5-5将route(a)和route(b)组成网络grs,将grs中route(a)与route(b)所重合的双向链路与节点的权值分别修改为a0与b0,再次执行考虑节点权值的dijkstra算法,搜索获得最短路径,记为route(a);
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek)和a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数。
5-6在网络grs中将route(a)所对应的双向链路与节点的权值分别修改为a0与b0,调用考虑节点权值的dijkstra算法,搜索获得最短路径route(b);
根据route(a)和route(b)计算双路由最大不相交度αst,其表达式为:αst=card(route(a)∩route(b)),并获取route(a)和route(b)公共节点权值。
进一步地,所述步骤(5-2)中将route(a)进行节点分裂包括:定义路径中由源点vs到目的节点vt的方向为正向,相反方向为反向;将route(a)上除起点和终点外的其他点一分为二,二者之间反向链路权值为0,正向链路权值为b0;
将路径中所有链路的反向权值变为原链路权值的相反数,正向链路权值为a0;
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek),a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数。
优选的,所述步骤(6)采用改进的ksp算法获得多组满足多约束的最大不相交双路由集合具体包括:
6-1设初始路径数量为k;
6-2利用ksp算法在网络gr中逐一搜索源点vs到目的节点vt的路径;
设当前路径为第l(1≤l≤k)条路径,在第r维约束条件下的权值向量为wr(route(l));
当wr(route(l-1))<cr(s)≤wr(route(l))时,终止计算,转至步骤6-4;
当wr(route(k))<cr(s)时,转至步骤6-3;其中,cr(s)为业务s在第r维约束条件下的约束值;
6-3设定阈值增量为δk,δk>0;kn=kn-1+δk,n>0;循环步骤(6-1)至步骤(6-3),对新增的δk个路径逐一搜索,直到满足wr(route(l-1))<cr(s)≤wr(route(l))进入下一步骤;其中,n为增加阈值增量的次数;
6-4将任意两个满足约束的路径进行组合,生成多组最大不相交双路由集合;若该集合中每一组双路由route(x)与route(y)皆满足:min(route(x)∩route(y)-2)=αst(1≤x≤kn,1≤y≤kn,x≠y)即达到最大不相交度αst;则进入下一步;
6-5所述多组最大不相交双路由集合中的每一组双路由route(x)与route(y)还满足:min(card(route(x)∩route(y)))=min(card(route(x1)∩route(y1)))(1≤x≤kn,1≤y≤kn,x≠y,1≤x1≤kn-1,1≤y1≤kn-1,x1≠y1),且wr(route(kn))≥max(wr(route(a)),wr(route(b)));其中,route(a)与route(b)为改进的bhandari算法获得的最大不相交路径。
优选的,所述步骤(7)对最大不相交双路由集合进行筛选包括,计算双路由集合中每一组双路由的网络业务风险均衡度,获得业务风险最均衡的双路由;并将风险最均衡双路由中跳数较小的一条定义为当前业务s的主用路由mr,另一条为备用路由sr。
进一步地,所述网络业务风险均衡度的计算方法为:
其中,rg表示网络业务风险均衡度,rg越小代表网络风险越均衡;m为网络链路数,n为网络节点数;r(eij)与r(e)avr分别表示链路eij的业务风险值与网络所有链路的业务风险值均值;r(vk)与r(v)avr分别表示节点vk的业务风险值与网络所有节点的业务风险值均值;s(eij)与s(vk)分别表示链路eij与节点vk所对应的可靠度;sw(sp)与sw(sq)分别表示业务sp与业务sq的业务重要度;该业务重要度根据实际需要设定;公式sp∈eij表示业务sp为链路eij上所承载的业务,公式sq∈vk表示业务sq为节点vk上所承载的业务。
所述步骤(8)包括,输出当前配置业务s的双路由结果,更新网络分布,若存在剩余业务则返回步骤(3)。
与最接近的现有技术相比,本发明的有益效果:
本发明可在任意网络中为电力通信业务分配双路由,分配的双路由具有最大不相交特性,能最大程度地降低因公共节点或链路故障而导致主备用路由同时失效的概率;允许设置多种路由约束指标,能够根据发明使用者的不同要求寻找满足不同约束的双路由;在保证每组双路由服务质量的情况下,考虑网络风险均衡因素,可有效降低网络中因业务分布不均衡而导致网络风险过高的状况,使网络负载更加均衡,提高网络资源的利用率。
附图说明
图1是本发明提供的电力通信业务双路由配置流程图;
图2为背景技术提供的某网络的网络拓扑图;
图3为在图2网络中,由a节点向z节点所分配的相交度为1的链路不相交双路由示意图;
图4为在图2网络中,由a节点向z节点所分配的相交度为2的链路不相交双路由示意图;
图5为在图2网络中,由b节点向z节点所分配的最大不相交双路由示意图;
图6为本发明提供的电力通信业务双路由配置详细流程图;
图7为本发明提供的节点分裂变化示意图;
图8为本发明提供的组合网络grs拓扑示意图;
图9为本发明提供的修改后的grs网络拓扑示意图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步详细地说明。
图1和图6所示,一种多约束电力通信业务最大不相交双路由配置方法,包括:
(1)构建网络拓扑模型;依据实际网络架构,构建与该实际网络对应的网络拓扑模型g=(v,e,w);
其中,v={v1,v2,…,vn}为网络拓扑模型g的节点集合,v中的节点vi,i∈[1,n]为网络拓扑模型g中第i个节点;e={e1,e2,…,em}为网络拓扑模型g的链路集合,e中的第k个节点ek=(vi,vj),k∈[1,m],表示v中第i个节点vi和第j个节点vj的无序对为该网络拓扑中vi到vj的链路,j∈[1,n];n为节点总个数,m为链路总个数,w为网络拓扑模型g中链路与节点的多维权值集合;所述网络拓扑模型g中的第k条链路ek包含一个q维权值向量w(ek)={w1(ek),w2(ek),…,wq(ek)},且v中第i个节点vi包含一个q维权值向量w(vi)={w1(vi),w2(vi),…,wq(vi)},q>1。
(2)选取r维权值,建立网络gr;选取r维权值,构建网络gr包括,设置q维权值向量中每一个权值向量的约束条件,根据实际需要选择第r维权值向量的约束条件;其中,所述约束条件包括,可靠性、丢包和时延;
所述第r维权值向量wr对应的链路和节点的权值分别为wr(ek)(1≤r≤q,k∈[1,m])和wr(vi)(1≤r≤q,i∈[1,n]),组成网络gr(v,e),记为gr。
(3)获取网络gr中请求配置的双路由业务集合,根据实际需求设置业务重要度;
(4)按照业务重要度排序,获得当前配置业务信息;
将双路由业务集合按照重要度值降序排列;选取其中最重要的业务作为当前配置业务s,获取该业务s的重要度、源点vs和目的节点vt信息以及约束向量c(s)。
所述约束向量c(s)的获取方法包括:设第k种业务为sk,k≥0;则在q维约束条件下的约束向量为c(s)={c1(s),c2(s),…,cq(s)}。
(5)通过改进的bhandari最大不相交算法进行双路由预选取;
计算当前配置业务s的双路由最大不相交度αst,即网络gr中最大不相交双路由route(a)与route(b)的公共节点与公共链路的数量和。
所述改进的bhandari最大不相交算法具体包括下述步骤:
5-1在网络gr中,调用考虑节点权值的dijkstra算法,获取当前配置业务s的最短路径route(a),并将其作为初始路径;
所述考虑节点权值的dijkstra算法使得bhandari最大不相交算法可以考虑节点权值;
5-2在网络gr中,将所述route(a)进行节点分裂,获取分裂后的节点所对应的链路、节点连接关系和权值,生成新的网络grm;如图7所示,结合为a与z两个节点分配最大不相交双路由说明bhandari最大不相交算法流程,在一般网络中,认为链路的正向权值和反向权值相同。通过改进的dijkstra算法得到最短路径route(a):a-b-d-f-h-z。进行节点分裂得到网络grm,此时按照bhandari算法会存在单向边与正反方向权值不同的边,此时会涉及到正向链路权值与反向链路权值。
步骤(5-2)中将route(a)进行节点分裂包括:定义路径中由源点vs到目的节点vt的方向为正向,相反方向为反向;将route(a)上除起点和终点外的其他点一分为二,二者之间反向链路权值为0,正向链路权值为b0;
将路径中所有链路的反向权值变为原链路权值的相反数,正向链路权值为a0;
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek),a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数。
5-3在所述网络grm中,调用节点识别的dijkstra算法,搜索当前配置业务s的源点vs和目的节点vt之间的最短路径route(b1);
所述节点识别的dijkstra算法,用于消除相同节点权值叠加两次而出现错误解;当路径是否抵达某一节点;若抵达,则再次经过时,该节点的权值变为0;
5-4还原route(b1)中的分裂节点获得路径route(b),其包括:将route(b1)中包含的分裂节点还原为原节点,若还原后相邻节点为同一节点则将这两个节点合并;
5-5如图8所示,将route(a)和route(b)组成网络grs,将grs中route(a)与route(b)所重合的双向链路与节点的权值分别修改为a0与b0,再次执行考虑节点权值的dijkstra算法,搜索获得最短路径,记为route(a);如图9所示,此时的网络与节点分裂网络grm不同,在grs中正反向链路的权值是一样且不会有单向边,因此不会涉及正向与反向问题,直接修改双向链路与节点的权值即可。
通过改进的dijkstra算法为a点z点分配路由,得到route(a):a-b-c-e-h-z,在grs将route(a)对应链路权值修改为a0,节点权值修改为b0,得到图9所示修改的grs网络。
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek)和a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数。
5-6在网络grs中将route(a)所对应的双向链路与节点的权值分别修改为a0与b0,调用考虑节点权值的dijkstra算法,搜索获得最短路径route(b);
根据route(a)和route(b)计算双路由最大不相交度αst,其表达式为:αst=card(route(a)∩route(b)),并获取route(a)和route(b)公共节点权值。
6)采用改进的ksp算法获得多组满足多约束条件的最大不相交双路由集合;
具体包括以下步骤:
6-1设初始路径数量为k;
6-2利用ksp算法在网络gr中逐一搜索源点vs到目的节点vt的路径;
设当前路径为第l(1≤l≤k)条路径,在第r维约束条件下的权值向量为wr(route(l));
当wr(route(l-1))<cr(s)≤wr(route(l))时,此时算法为精确算法,终止计算转至步骤6-4;
当wr(route(k))<cr(s)时,转至步骤6-3执行近似算法;其中,cr(s)为业务s在第r维约束条件下的约束值;
6-3设定阈值增量为δk,δk>0;kn=kn-1+δk,n>0;循环步骤(6-1)至步骤(6-3),对新增的δk个路径逐一搜索,直到满足wr(route(l-1))<cr(s)≤wr(route(l))进入下一步骤;其中,n为增加阈值增量的次数;
6-4将任意两个满足约束的路径进行组合,生成多组最大不相交双路由集合;若该集合中每一组双路由route(x)与route(y)皆满足:min(route(x)∩route(y)-2)=αst(1≤x≤kn,1≤y≤kn,x≠y)即达到最大不相交度αst;则进入下一步;
6-5所述多组最大不相交双路由集合中的每一组双路由route(x)与route(y)还满足:min(card(route(x)∩route(y)))=min(card(route(x1)∩route(y1)))(1≤x≤kn,1≤y≤kn,x≠y,1≤x1≤kn-1,1≤y1≤kn-1,x1≠y1),且wr(route(kn))≥max(wr(route(a)),wr(route(b)));其中,route(a)与route(b)为改进的bhandari算法获得的最大不相交路径。
(7)对所述最大不相交双路由集合进行筛选:
计算双路由集合中每一组双路由的网络业务风险均衡度,获得业务风险最均衡的双路由;并将风险最均衡双路由中跳数较小的一条定义为当前业务s的主用路由mr(mainroute),另一条为备用路由sr(spareroute)。
所述网络业务风险均衡度的计算方法为:
其中,rg表示网络业务风险均衡度,rg越小代表网络风险越均衡;m为网络链路数,n为网络节点数;r(eij)与r(e)avr分别表示链路eij的业务风险值与网络所有链路的业务风险值均值;r(vk)与r(v)avr分别表示节点vk的业务风险值与网络所有节点的业务风险值均值;s(eij)与s(vk)分别表示链路eij与节点vk所对应的可靠度;sw(sp)与sw(sq)分别表示业务sp与业务sq的业务重要度;该业务重要度根据实际需要设定;公式sp∈eij表示业务sp为链路eij上所承载的业务,公式sq∈vk表示业务sq为节点vk上所承载的业务。
(8)输出配置结果。
输出当前配置业务s的双路由结果,更新网络分布,若存在剩余业务则返回步骤(3)。
本发明中的相关符号含义如表1所示:
表1相关符号说明
最后应当说明的是:以上实施例仅用以说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,这些变更、修改或者等同替换,其均在其申请待批的权利要求范围之内。


将路径中所有链路的反向权值变为原链路权值的相反数,正向链路权值为a0;
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek),a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数。
5-3在所述网络grm中,调用节点识别的dijkstra算法,搜索当前配置业务s的源点vs和目的节点vt之间的最短路径route(b1);
所述节点识别的dijkstra算法,用于消除相同节点权值叠加两次而出现错误解;当路径是否抵达某一节点;若抵达,则再次经过时,该节点的权值变为0;
5-4还原route(b1)中的分裂节点获得路径route(b),其包括:将route(b1)中包含的分裂节点还原为原节点,若还原后相邻节点为同一节点则将这两个节点合并;
5-5如图8所示,将route(a)和route(b)组成网络grs,将grs中route(a)与route(b)所重合的双向链路与节点的权值分别修改为a0与b0,再次执行考虑节点权值的dijkstra算法,搜索获得最短路径,记为route(a);如图9所示,此时的网络与节点分裂网络grm不同,在grs中正反向链路的权值是一样且不会有单向边,因此不会涉及正向与反向问题,直接修改双向链路与节点的权值即可。
通过改进的dijkstra算法为a点z点分配路由,得到route(a):a-b-c-e-h-z,在grs将route(a)对应链路权值修改为a0,节点权值修改为b0,得到图9所示修改的grs网络。
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek)和a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数。
5-6在网络grs中将route(a)所对应的双向链路与节点的权值分别修改为a0与b0,调用考虑节点权值的dijkstra算法,搜索获得最短路径route(b);
根据route(a)和route(b)计算双路由最大不相交度αst,其表达式为:αst=card(route(a)∩route(b)),并获取route(a)和route(b)公共节点权值。
6)采用改进的ksp算法获得多组满足多约束条件的最大不相交双路由集合;
具体包括以下步骤:
6-1设初始路径数量为k;
6-2利用ksp算法在网络gr中逐一搜索源点vs到目的节点vt的路径;
设当前路径为第l(1≤l≤k)条路径,在第r维约束条件下的权值向量为wr(route(l));
当wr(route(l-1))<cr(s)≤wr(route(l))时,此时算法为精确算法,终止计算转至步骤6-4;
当wr(route(k))<cr(s)时,转至步骤6-3执行近似算法;其中,cr(s)为业务s在第r维约束条件下的约束值;
6-3设定阈值增量为δk,δk>0;kn=kn-1+δk,n>0;循环步骤(6-1)至步骤(6-3),对新增的δk个路径逐一搜索,直到满足wr(route(l-1))<cr(s)≤wr(route(l))进入下一步骤;其中,n为增加阈值增量的次数;
6-4将任意两个满足约束的路径进行组合,生成多组最大不相交双路由集合;若该集合中每一组双路由route(x)与route(y)皆满足:min(route(x)∩route(y)-2)=αst(1≤x≤kn,1≤y≤kn,x≠y)即达到最大不相交度αst;则进入下一步;
6-5所述多组最大不相交双路由集合中的每一组双路由route(x)与route(y)还满足:min(card(route(x)∩route(y)))=min(card(route(x1)∩route(y1)))(1≤x≤kn,1≤y≤kn,x≠y,1≤x1≤kn-1,1≤y1≤kn-1,x1≠y1),且wr(route(kn))≥max(wr(route(a)),wr(route(b)));其中,route(a)与route(b)为改进的bhandari算法获得的最大不相交路径。
(7)对所述最大不相交双路由集合进行筛选:
计算双路由集合中每一组双路由的网络业务风险均衡度,获得业务风险最均衡的双路由;并将风险最均衡双路由中跳数较小的一条定义为当前业务s的主用路由mr(mainroute),另一条为备用路由sr(spareroute)。
所述网络业务风险均衡度的计算方法为:
其中,rg表示网络业务风险均衡度,rg越小代表网络风险越均衡;m为网络链路数,n为网络节点数;r(eij)与r(e)avr分别表示链路eij的业务风险值与网络所有链路的业务风险值均值;r(vk)与r(v)avr分别表示节点vk的业务风险值与网络所有节点的业务风险值均值;s(eij)与s(vk)分别表示链路eij与节点vk所对应的可靠度;sw(sp)与sw(sq)分别表示业务sp与业务sq的业务重要度;该业务重要度根据实际需要设定;公式sp∈eij表示业务sp为链路eij上所承载的业务,公式sq∈vk表示业务sq为节点vk上所承载的业务。
(8)输出配置结果。
输出当前配置业务s的双路由结果,更新网络分布,若存在剩余业务则返回步骤(3)。
本发明中的相关符号含义如表1所示:
表1相关符号说明
最后应当说明的是:以上实施例仅用以说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,这些变更、修改或者等同替换,其均在其申请待批的权利要求范围之内。
技术特征:
1.一种多约束电力通信业务最大不相交双路由配置方法,其特征在于,所述方法包括下述步骤:
(1)构建网络拓扑模型;
(2)选取r维权值,建立网络gr;
(3)获取网络gr中请求配置的双路由业务集合,根据实际需求设置业务重要度;
(4)按照业务重要度排序,获得当前配置业务信息;
(5)通过改进的bhandari最大不相交算法进行双路由预选取;
(6)采用改进的ksp算法获得多组满足多约束条件的最大不相交双路由集合;
(7)对所述最大不相交双路由集合进行筛选;
(8)输出配置结果;
所述步骤(5)中通过改进的bhandari最大不相交算法进行双路由预选取包括,计算当前配置业务s的双路由最大不相交度αst,即网络gr中最大不相交双路由route(a)与route(b)的公共节点与公共链路的数量和;
所述改进的bhandari最大不相交算法具体包括下述步骤:
5-1在网络gr中,调用考虑节点权值的dijkstra算法,获取当前配置业务s的最短路径route(a),并将其作为初始路径;
所述考虑节点权值的dijkstra算法使得bhandari最大不相交算法可以考虑节点权值;
5-2在网络gr中,将所述route(a)进行节点分裂,获取分裂后的节点所对应的链路、节点连接关系和权值,生成新的网络grm;
5-3在所述网络grm中,调用节点识别的dijkstra算法,搜索当前配置业务s的源点vs和目的节点vt之间的最短路径route(b1);
所述节点识别的dijkstra算法,用于消除相同节点权值叠加两次而出现错误解;判断路径是否抵达某一节点;若抵达,则再次经过时,该节点的权值变为0;
5-4还原route(b1)中的分裂节点获得路径route(b),其包括:将route(b1)中包含的分裂节点还原为原节点,若还原后相邻节点为同一节点则将这两个节点合并;
5-5将route(a)和route(b)组成网络grs,将grs中route(a)与route(b)所重合的双向链路与节点的权值分别修改为a0与b0,再次执行考虑节点权值的dijkstra算法,搜索获得最短路径,记为route(a);
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek)和a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数;
5-6在网络grs中将route(a)所对应的双向链路与节点的权值分别修改为a0与b0,调用考虑节点权值的dijkstra算法,搜索获得最短路径route(b);
根据route(a)和route(b)计算双路由最大不相交度αst,其表达式为:αst=card(route(a)∩route(b)),并获取route(a)和route(b)公共节点权值;
所述步骤(5-2)中将route(a)进行节点分裂包括:定义路径中由源点vs到目的节点vt的方向为正向,相反方向为反向;将route(a)上除起点和终点外的其他点一分为二,二者之间反向链路权值为0,正向链路权值为b0;
将路径中所有链路的反向权值变为原链路权值的相反数,正向链路权值为a0;
所述b0与a0分别满足不等式b0>∑w(vi)+∑w(ek),a0≥n·b0;其中,b0大于网络中节点与链路的权值和,n为节点总数;
所述步骤(6)采用改进的ksp算法获得多组满足多约束的最大不相交双路由集合具体包括:
6-1设初始路径数量为k;
6-2利用ksp算法在网络gr中逐一搜索源点vs到目的节点vt的路径;
设当前路径为第l(1≤l≤k)条路径,在第r维约束条件下的权值向量为wr(route(l));
当wr(route(l-1))<cr(s)≤wr(route(l))时,终止计算,转至步骤6-4;
当wr(route(k))<cr(s)时,转至步骤6-3;其中,cr(s)为业务s在第r维约束条件下的约束值;
6-3设定阈值增量为δk,δk>0;kn=kn-1+δk,n>0;循环步骤(6-1)至步骤(6-3),对新增的δk个路径逐一搜索,直到满足wr(route(l-1))<cr(s)≤wr(route(l))进入下一步骤;其中,n为增加阈值增量的次数;
6-4将任意两个满足约束的路径进行组合,生成多组最大不相交双路由集合;若该集合中每一组双路由route(x)与route(y)皆满足:min(route(x)∩route(y)-2)=αst,其中,1≤x≤kn,1≤y≤kn,x≠y;即达到最大不相交度αst;则进入下一步;
6-5所述多组最大不相交双路由集合中的每一组双路由route(x)与route(y)还满足:min(card(route(x)∩route(y)))=min(card(route(x1)∩route(y1))),其中,1≤x≤kn,1≤y≤kn,x≠y,1≤x1≤kn-1,1≤y1≤kn-1,x1≠y1,且wr(route(kn))≥max(wr(route(a)),wr(route(b)));其中,route(a)与route(b)为改进的bhandari算法获得的最大不相交路径。
2.根据权利要求1所述的方法,其特征在于,所述步骤(1)中构建网络模型包括:依据实际网络架构,构建与该实际网络对应的网络拓扑模型g=(v,e,w);
其中,v={v1,v2,…,vn}为网络拓扑模型g的节点集合,v中的节点vi,i∈[1,n]为网络拓扑模型g中第i个节点;e={e1,e2,…,em}为网络拓扑模型g的链路集合,e中的第k个节点ek=(vi,vj),k∈[1,m],表示v中第i个节点vi和第j个节点vj的无序对为该网络拓扑中vi到vj的链路,j∈[1,n];n为节点总个数,m为链路总个数,w为网络拓扑模型g中链路与节点的多维权值集合;所述网络拓扑模型g中的第k条链路ek包含一个q维权值向量w(ek)={w1(ek),w2(ek),…,wq(ek)},且v中第i个节点vi包含一个q维权值向量w(vi)={w1(vi),w2(vi),…,wq(vi)},q>1。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤(2)中选取r维权值,构建网络gr包括:设置q维权值向量中每一个权值向量的约束条件,根据实际需要选择第r维权值向量的约束条件;其中,所述约束条件包括,可靠性、丢包和时延;
所述第r维权值向量wr对应的链路和节点的权值分别为wr(ek),其中,1≤r≤q,k∈[1,m];和wr(vi),其中,1≤r≤q,i∈[1,n],组成网络gr(v,e),记为gr。
4.根据权利要求1所述的方法,其特征在于,所述步骤(4)包括:将双路由业务集合按照重要度值降序排列;选取其中最重要的业务作为当前配置业务s,获取该业务s的重要度、源点vs和目的节点vt信息以及约束向量c(s)。
5.根据权利要求4所述的方法,其特征在于,所述约束向量c(s)的获取方法包括:设第k种业务为sk,k≥0;则在q维约束条件下的约束向量为c(s)={c1(s),c2(s),…,cq(s)}。
6.根据权利要求1所述的方法,其特征在于,所述步骤(7)对最大不相交双路由集合进行筛选包括,计算双路由集合中每一组双路由的网络业务风险均衡度,获得业务风险最均衡的双路由;并将风险最均衡双路由中跳数较小的一条定义为当前业务s的主用路由mr,另一条为备用路由sr。
7.根据权利要求6所述的方法,其特征在于,所述网络业务风险均衡度的计算方法为:
其中,rg表示网络业务风险均衡度,rg越小代表网络风险越均衡;m为网络链路数,n为网络节点数;r(eij)与r(e)avr分别表示链路eij的业务风险值与网络所有链路的业务风险值均值;r(vk)与r(v)avr分别表示节点vk的业务风险值与网络所有节点的业务风险值均值;s(eij)与s(vk)分别表示链路eij与节点vk所对应的可靠度;sw(sp)与sw(sq)分别表示业务sp与业务sq的业务重要度;该业务重要度根据实际需要设定;公式sp∈eij表示业务sp为链路eij上所承载的业务,公式sq∈vk表示业务sq为节点vk上所承载的业务。
8.根据权利要求1所述的方法,其特征在于,所述步骤(8)包括,输出当前配置业务s的双路由结果,更新网络分布,若存在剩余业务则返回步骤
技术总结
本发明涉及一种多约束电力通信业务最大不相交双路由配置方法,该方法包括:构建网络拓扑模型;选取r维权值,建立网络Gr;获取网络Gr中请求配置的双路由业务集合,根据实际需求设置业务重要度;按照业务重要度排序,获得当前配置业务信息;通过改进的Bhandari最大不相交算法进行双路由预选取;采用改进的KSP算法获得多组满足多约束条件的最大不相交双路由集合;对所述最大不相交双路由集合进行筛选;输出配置结果。本方法能够在任意电力通信网中为业务分配满足多重约束的最大不相交双路由,最大限度地保障业务正常可靠地运行。











欢迎光临 信息谷 - ICITU (https://icitu.com/) Powered by Discuz! X3.4