本发明属于通信网技术领域。具体涉及一种基于双代价的优化路由方法。
背景技术:
为了在通信网络中的任意两个节点间建立业务连接,需要寻找一条最小代价通路作为业务路由。传统的网络路由算法,如dijkstra最短路算法等,由于步骤简单,易操作,以及良好的可扩展性,在通信网领域得到大量的应用。
传统的dijkstra算法采用贪婪算法模式,通过链路代价累和的方式求得代价和最小的通路作为最短路径。在概率风险模型下,我们需要为业务连接准确地寻找一条可靠性满足要求的通路作为业务路由。网络中的链路发生故障被认为是相互独立事件,因此,通路不发生故障的概率等于通路上所有链路不处于故障状态的概率的积。所以传统的dijkstra算法采用故障风险作为链路代价,将通路故障风险最小的路径作为可靠性最高通路的方法难以准确描述通路的可靠性问题。
本发明基于概率风险模型,提出一种基于双代价的优化路由方法,为网络业务计算一条具有较高可靠性,且兼顾带宽资源效率的通路。该方法通过将链路的可靠性代价和带宽资源代价引入路由方案,为网络中的每条链路设立双代价函数,通过累积链路可靠性代价并传递链路最小资源代价的方法寻找最优通路。
技术实现要素:
本发明旨在解决以上现有技术的问题。提出了一种准确计算通路可靠性并同时兼顾资源效率的方法。本发明的技术方案如下:
一种基于双代价的优化路由方法,假设网络模型为g(n,l),其中n={n}为节点集合,l={l}为双向链路集合,节点度数deg(n)≥1,其包括以下步骤:
步骤1、将源节点s到节点n的通路可靠性代价记为
步骤2、若当前节点x=d,则输出最小代价路,结束,否则,将当前节点x的相邻节点中未作标记的节点列入集合d,如果
步骤3、更新集合d中所有节点的通路代价cn,遍历节点集合n中所有未作标记的节点,选择cn值最小的节点n作标记,置当前节点为x=n,
进一步的,所述步骤2计算源节点s到节点n的可靠性代价
1)假设网络中任意一条链路都存在一个故障概率pl,则链路l的可靠性代价
2)由于业务连接请求的带宽配置受到业务通路上最小空闲带宽链路的限制,因此每次访问一个新节点n,需要对比当前节点的
进一步的,步骤2)链路的资源代价
β=bl/bc(4)
进一步的,所述步骤3更新集合d中所有节点的cn,cn表示最小通路代价,其定义如公式(5)所示:
通路代价cn越小则表明该通路上的业务连接能够获得较高的可靠性和较大的带宽资源。
本发明的优点及有益效果如下:
本发明公开了一种基于双代价的优化路由方法。该方法在概率风险模型下,同时将链路的可靠性和带宽资源因素引入路由方案,为网络中的每条链路设立双代价函数,通过累积链路可靠性代价并传递链路最小资源代价的方法寻找具有较好可靠性和较大带宽资源的最优通路。本发明可以解决传统路由算法(如:dijkstra等)难以准确计算通路可靠性并同时兼顾资源效率的问题,并能在业务连接的可靠性和资源利用率之间取得良好的折中。
附图说明
图1是本发明提供优选实施例可靠性代价计算方法示意图;
图2是本发明提供优选实施例带宽资源代价函数曲线图;
图3是本发明优选实施例基于双代价的优化路由方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
其中,将可调变量α取值为常数e。
本发明内容所涉及的概念和模型如下:
1.网络模型
假设网络模型为g(n,l),其中n={n}为节点集合,l={l}为双向链路集合,节点度数deg(n)≥1,链路的故障概率为pl,(0<pl≤1,可通过相关经验数据和历史统计数据获得)。
2.本发明内容所涉及的其它符号说明如下:
(s,d):原宿节点对
x:表示当前节点
bl:表示网络中链路l的空闲带宽
bc:表示业务连接c的需求带宽
d:当前节点的邻接节点集合
ni:表示集合d中的第i个节点
cn:表示表示节点s到节点n的通路代价
本发明的技术方案说明如下:
3.可靠性代价计算
在本发明中,链路l的可靠性
传统的路由方案(如dijkstra算法)采用链路代价累和的方式计算通路代价,难以准确计算通路的可靠性指标,并最终找到最佳通路。如图1所示:通路s-a-b-d与通路s-c-e-d上的链路具有不同的故障率,如果采用累和方式计算通路可靠性,则两条通路的可靠性指标相同,即
4.资源代价计算:
由于网络中各链路的空闲带宽容量差值可能较大,本发明对链路的资源代价
β=bl/bc(4)
β与
5.通路代价计算
本发明中,通路代价cn的定义如公式(5)所示,其中
通路代价cn越小表明在该通路上建立的业务连接能够获得较高的可靠性和较大的带宽资源。
一种基于双代价的优化路由方法,其具体实施方法包括如下步骤:
101、输入源宿节点对(s,d),标记源节点s,初始化当前节点x=s,
102、如果x=d,输出最小代价路,结束,否则,将x的相邻节点中未标记的节点放入集合d,如果
103、如果
104、如果
105、如果i<|d|,i=i+1,则跳转到步骤103,否则,遍历n中所有未标记的节点,选出cn最小的节点作标记,令x=n,
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。