一种网络带宽的规划方法、装置、设备和存储介质与流程

文档序号:16061205发布日期:2018-11-24 12:12阅读:182来源:国知局

本发明实施例涉及计算机网络领域,尤其涉及一种网络带宽的规划方法、装置、设备和存储介质。

背景技术

近年来,传统域间流量工程(trafficengineering,te)中的带宽利用率普遍较低,容错性较差的问题备受关注,因此本领域人员致力于通过对域间流量的路径规划来改善网络带宽利用率和容错性。

目前,te系统中带宽规划可以分为路径选择和路径权重计算两个阶段完成。其中,路径选择阶段通过在数据由源端传输到目的端的路径中选取前k短路径来实现,并在路径权重计算阶段根据线性规划的目标,计算出网络中多个源端到多个目的端的每条路径分配到的带宽,并将每对源端到目的端的所有路径中分配到的带宽归一化后得到路径权重,根据路径分配到的带宽和权重配置每对入口-出口交换机(简称为点对)。

现有技术中选取的前k短路径虽然路径时延短,但是会导致瓶颈链路多,进而影响网络的整体带宽,同时若瓶颈链路出故障,大量流量的带宽会受到影响,且即使这些流量的带宽划分到正常路径,链路拥塞也难以避免。同时,线性规划目标不同,计算出的路径带宽分配和权重就不同。目标为总体网络吞吐量最大化时,虽然可以适用于各种带宽需求,不管带宽需求是否超出网络承载力,即使超出,也能计算出点对之间可以满足的带宽,但是不同点对分配到的带宽会不均衡;目标为最大最小公平时,虽然每一点对分配到的带宽很均衡,但是整体网络性能会下降,而目标为最小化最严重的链路拥塞时,虽然每条链路中的流量带宽比较均衡,但是公平性会比较低,更严重的是在输入的带宽需求较大时,不管如何分配带宽,瓶颈链路中的带宽可能都等于链路带宽容量,所以算出来的带宽分配情况很有可能不是最优的,整体网络利用率比较低。因此,现有网络带宽的规划在网络性能和可靠性之间难以兼顾。



技术实现要素:

本发明实施例提供了一种网络带宽的规划方法、装置、设备和存储介质,以实现各个点对中无公共边路径带宽的对应分配,降低网络拓扑中的链路拥堵,提高网络整体的容错性和可靠性,兼顾整体网络性能和公平性。

第一方面,本发明实施例提供了一种网络带宽的规划方法,该方法包括:

获取路径优化目标函数、带宽优化目标函数和带宽需求;

计算网络拓扑中节点点对之间的无公共边路径,并根据所述路径优化目标函数从所述无公共边路径中选取目标路径;

根据所述带宽需求和所述带宽优化目标函数为所述目标路径分配对应的带宽。

第二方面,本发明实施例提供了一种网络带宽的规划装置,该装置包括:

参数获取模块,用于获取路径优化目标函数、带宽优化目标函数和带宽需求;

路径计算模块,用于计算网络拓扑中节点点对之间的无公共边路径;

目标路径选取模块,用于根据所述路径优化目标函数从所述无公共边路径中选取目标路径;

带宽分配模块,用于根据所述带宽需求和所述带宽优化目标函数为所述目标路径分配对应的带宽。

第三方面,本发明实施例提供了一种设备,该设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的网络带宽的规划方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的网络带宽的规划方法。

本发明实施例提供的一种网络带宽的规划方法、装置、设备和存储介质,不同于现有技术选取网络拓扑中节点点对之间前k短路径分配带宽的方式,由于前k短路径中有很大概率包括公共链路,当公共链路故障时,将影响多条节点点对之间的路径,即使这些路径中的流量被划分到正常的路径,链路拥塞也难以避免,进而影响经过拥塞链路的路径中的数据传输,本发明选取网络拓扑中节点点对之间的无公共边路径进行带宽分配,同一节点点对的无公共边路径中的链路不被此节点的路径共用,从而提高了网络整体的容错性和可靠性。

具体来说,本发明实施例提出了计算最多无公共边路径的方法,提出了在最多无公共边路径中选出最小化整体网络拥塞的路径的方法,及提出了用集中式的控制器来计算带宽分配情况的方法,他们配合起来实现了同时对网络可靠性和性能进行优化。更具体点,本发明实施例提出选择无公共边路径来提高网络容错性,然后再配合本发明实施例中的带宽分配优化算法来提高整体网络的性能。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1a为本发明实施例一提供的一种网络带宽的规划方法的流程图;

图1b为本发明实施例一提供的方法中基于前k短路径的路径计算示意图;

图1c为本发明实施例一提供的方法中基于无公共边路径的路径计算示意图;

图1d为本发明实施例一提供的方法中根据优化目标函数从无公共边路径中选取目标路径的方法流程图;

图2为本发明实施例二提供的根据带宽需求和优化目标函数为目标路径分配对应的带宽的方法流程图;

图3为本发明实施例三提供的一种网络带宽的规划方法的流程图;

图4a为本发明实施例四提供的应用于具体网络拓扑中的一种网络带宽的规划方法的流程图;

图4b为本发明实施例四提供的方法中各个节点之间的网络拓扑图;

图4c为本发明实施例四提供的方法中各个节点之间新的网络拓扑图;

图4d为本发明实施例四提供的方法中为多个节点点对分配带宽的具体过程示意图;

图5为本发明实施例五提供的一种网络带宽的规划装置的结构示意图;

图6为本发明实施例六提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1a为本发明实施例一提供的一种网络带宽的规划方法的流程图,本发明实施例的方案可以适用于软件定义广域网络中任意节点点对之间带宽规划的情况中。本实施例提供的一种网络带宽的规划方法可以由本发明实施例提供的网络带宽的规划装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在本发明实施例的设备中,在本实施例中执行本方法的设备可以是路由器、交换机等任意一种可以在数据网络中分配路径带宽的设备。具体的,参考图1a,该方法可以包括如下步骤:

s110,获取路径优化目标函数、带宽优化目标函数和带宽需求。

具体的,在传统域间流量工程系统中,采用前k短路径和各种目标的线性规划方法为网络中的各个节点之间的前k短路径分配对应带宽,该种方法很难兼顾整体网络性能、公平性和容错性,且各路径中的带宽利用率低、容错性差。例如,基于前k短路径计算的带宽分配与基于无公共边路径的带宽分配分别如图1b和1c所示,网络拓扑中的点对(1,6)基于前k短路径选择了两条最短路径为路径1:1→4→5→6和路径2:1→2→3→5→6,由于两条路径共享了5→6这条链路,每条路径只能得到一半的带宽。而且,前k短路径虽然时延短,但有很大概率会包括一条或多条公共链路,当公共链路故障时,将导致多条节点点对之间的路径不可用,使得这些路径中的流量大量丢包,即使这些流量被划分到点对间剩余的可用路径,带来链路拥塞也难以避免,并影响经过拥塞链路的路径中的数据传输,严重时甚至一些点对之间没有剩余可用路径从而导致这些点对间的流量在路径被更新前均被丢弃。然而,基于无公共边路径可以获取两条无公共边路径为路径1:1→2→3→5→6和路径2:1→4→7→8→6,尽管它们不是最短的,但是每条路径可以得到完整的带宽,而且这样也更可靠,尤其是当网络中仅有一条链路出现故障时,选择无公共边路径至少可以保障网络的可达性。

为了让网络在遇到意外的突发流量或故障的情况下也能提供满意的网络性能,需要采用一种新型的流量工程来实现为网络中各个节点之间的路径分配带宽。其中,为了兼顾网络性能和可靠性,本实施例中首先需要选取出网络中将流量带宽由源端传输到目的端的路径,然后将带宽需求分配到不同路径使得网络中每条链路的带宽利用率都比较均衡。由于建立或者关闭源端到目的端的传输路径是一个相对缓慢的过程,而且网络中实现传输路径的交换机或路由器均只能配置有限条路径的流表,因此,在本实施例中对应的实现网络规划的目标是通过选取各个节点之间的一小部分多样化的路径来实现在发生任意的链路故障时,利用这些选取的路径依然可以满足一系列的带宽需求,兼顾整体网络中的网络性能和可靠性。

其中,路径优化目标函数和带宽优化目标函数分别用于在网络中选取源端传输到目的端的路径和分配不同路径中的带宽来实现在满足不同点对之间带宽需求的前提下使得网络整体拥塞程度最小,由用户预先根据路径选取和带宽分配的最小化整体网络拥堵原则和相应的惩罚函数自行设定对应的目标函数,以在网络中任一链路故障时,也可以使选取的对应路径和分配带宽满足对应的网络带宽传输需求,不会造成网络链路的拥塞。进一步的,带宽需求是网络中任意点对之间需要传输的流量带宽,一般通过分析历史流量数据或直接测量获得。一般情况下每隔5分钟,流量工程系统就会重新计算出下个周期任意点对之间的流量带宽需求,然后通过求解优化模型计算出有流量带宽需求的点对之间的每条路径需要传输的流量带宽。分析网络中不同节点之间的带宽需求,可以通过带宽需求集合和带宽需求矩阵的形式体现。其中,带宽需求集合中包含了网络中各个点对之间的路径中具体需要分配带宽的对应节点标识,例如,s表示源节点,t表示目的节点,d为带宽需求集合,具体表示源节点s到目的节点t的路径中需要分配的带宽;带宽需求矩阵中通过矩阵中的各个元素表示各个节点之间的路径中具体需要分配的带宽值大小,例如,tm[s,t]≠0,表示源节点s到目的节点t的路径中具体需要分配带宽不为0。

可选的,本实施例中对网络多路径中的带宽进行规划时,为了兼顾整体网络的网络性能和可靠性,首先需要获取用于选取源端传输到目的端的路径的路径优化目标函数和用于为每个点对间的每条路径分配带宽的优化模型中的带宽优化目标函数,以及每个点对之间需要传输的流量带宽需求,如带宽需求集合和带宽需求矩阵,然后通过求解优化模型实现在选择对应传输路径保障网络可靠性的前提下来最小化整体网络的拥塞程度。

进一步的,本实施例中的路径优化目标函数和带宽优化目标函数是在选择各个节点之间的传输路径保障网络可靠性的前提下来最小化整体网络的拥塞程度,通过来表示,其中,ei为各个点对之间的路径中包括的某一链路,为在选取源端传输到目的端的路径和分配不同路径中需要传输的流量带宽时对应的关于链路ei的不同的输入变量,为优化目标对应采用的惩罚函数,对输入变量进行惩罚,输入变量越大,惩罚的比例越大。具体的,路径优化目标函数可以通过来实现,其中,表示经过链路ei的路径条数;带宽优化目标函数可以通过来实现,其中,表示经过链路ei的所有路径中分配到的流量带宽之和,也就是此链路已经使用的带宽,表示链路ei的带宽容量。

s120,计算网络拓扑中节点点对之间的无公共边路径,并根据路径优化目标函数从无公共边路径中选取目标路径。

其中,网络拓扑可以是由网络中各个节点之间的连接布局构成的,以网络拓扑图的形式体现。节点点对是网络中源节点和目的节点组成的一组对应节点,在网络中数据由源节点传输到目的节点,节点点对的数据传输路径根据网络拓扑中各个节点之间的连接不同,可以包含多条不同路径。具体的,节点点对可以是边缘交换机对(ingress-egressswitchpair)。进一步的,无公共边路径是指网络拓扑中节点点对之间的多条路径中的每条路径经过的边都不被此多条路径组合中的其它路径经过。需要说明的是,本实施例中无公共边路径是在网络拓扑中直接计算出来的最多无公共边路径中选取的满足路径优化目标的路径。进一步的,本实施例中可以根据用户需求仅计算网络拓扑中特定节点点对之间的无公共边路径,也可以计算网络拓扑中所有节点点对之间的无公共边路径。

可选的,在获取到选取源端传输到目的端的路径对应的路径优化目标函数和为每个点对间的每条路径分配带宽的优化模型中的带宽优化目标函数,以及每个点对之间需要传输的流量带宽需求时,为了减少路径中的瓶颈链路,提升网络的整体带宽,首先在带宽需求集合中确定有带宽分配需求的各个节点点对,并在网络拓扑中使用求解节点点对之间最大流问题的算法计算节点点对之间的路径,并从中确定无公共边路径。具体的,本实施例中可以结合网络流中的最大流算法和网络拓扑图为无向图时存在的正向和反向的公共链路(即无向图中的一条边对应于有向图版本中的正向边和反向边),可以通过在最大流算法计算出最大流时使用的增广路径中依次去除正向和反向的公共链路,从而重新确定剩余链路组成的网络拓扑中计算点对间最大流时使用的增广路径,直到增广路径中没有正向反向均被路径经过的边,这组增广路径也就是此点对之间的一组最多无公共边路径。其中,最大流算法可以包括edmond-karp算法、dinic算法和ford-fulkerson算法等,本实施例中通过采用dinic算法确定网络拓扑中节点点对之间的最大流。最多无公共边路径的计算使得同一节点点对之间的各个路径中不存在公共链路,解决了现有技术中公共链路由于其所在多条路径的带宽分配而造成链路带宽过多、产生瓶颈链路的问题,且在某一链路故障时,仅对节点点对之间该链路所在的一条路径中的数据传输造成影响,其他无公共边路径可以如常传输网络数据。

进一步的,在计算得到的最多无公共边路径过多时,考虑到网络中交换机(或路由器)的三态内容寻址存储器(ternarycontentaddressablememory,tcam)容量有限,也就是交换机中用来配置路径的流表数目有限,以及对不同节点点对之间分配路径的公平性,需要在获取的最多无公共边路径中根据路径优化目标函数再次选取一定数量的达到路径优化目标的目标路径,以适应交换机中配置流表的路径数量,提升不同节点点对之间路径分配的公平性。

可选的,本实施例中的路径选取方法可以由最多无公共边路径中选取目标路径,也可以适用于由部分无公共边路径或现有技术中的前k短路径或其他算法计算出的不同点对间的多条路径中选取目标路径,并不做限制。

可选的,本实施例中的路径优化目标函数是在计算无公共边路径保障网络可靠性的前提下来最小化整体网络的拥塞程度,此时在最多无公共边路径中选取目标路径时,路径优化目标函数中的为在无公共边路径中的各个链路ei对应的输入变量,也就是具体的,通过路径优化目标函数确定最多无公共边路径中达到路径优化目标的路径,由于本实施例的网络拓扑中采用边权均为1的无向图,则在计算节点点对之间的最大流时,该最大流的数值就是该节点点对之间的最多无公共边路径的条数,此时选取路径的复杂度主要取决于节点点对之间的最多无公共边路径条数,而由于网络拓扑中的链路多样性有限,最多无公共边路径条数一般很小,因此可以在计算出不同点对之间的最多无公共边路径后,通过枚举的方式或求解0-1规划模型的方式选出满足路径优化目标函数的目标路径。其中,可以通过路径优化目标函数对不同无公共边路径组合的输出结果依次更新输出的最小值并记录当前选择的路径标号,枚举下一个路径组合,继续优化过程直到枚举了所有无公共边路径组合,就得到了优化目标函数中达到路径优化目标的最优解,查找路径标号就能得到最优解对应的路径选择,作为选取的预设数量的目标路径,其中,预设数量在实际中根据大量的实验数据结果可以优选为3,也就是为每个最多无公共边路径数多于3条的点对选取出3条,然后每个最多无公共边路径数少于3条的点对之间的无公共边路径就是其目标路径。

可选的,在本实施例中,根据路径优化目标函数从无公共边路径中选取目标路径,可以包括:

将无公共边路径作为路径优化目标函数的输入参数,得到无公共边路径中的目标路径。

具体的,对于优化目标函数中的输入变量在选取最多无公共边路径中的目标路径时,可以将所有节点点对之间或者根据用户需求特定节点点对之间的无公共边路径作为该路径优化目标函数的输入,以表示路径优化目标,其中,ei为节点点对之间的无公共边路径中包括的某一链路,表示经过链路ei的所有节点点对的无公共边路径个数。以无公共边路径中链路对应的作为路径优化目标函数的输入参数,通过枚举路径组合的方式利用惩罚函数计算出路径优化对应的输出结果,并可以更新输出的最小值并记录当前选择的无公共边路径标号,然后枚举下一个无公共边路径组合,继续优化过程直到枚举了所有满足每个点对间预设路径数量的无公共边路径组合,就得到了达到路径优化目标的最优解,查找路径标号就能得到最优解对应的路径选择,作为选取的目标路径。

其中,为了更快地计算以及本实施例中可以将每条无公共边路径转化为|e|维的向量v,向量v中的每个元素对应于网络拓扑中的每条链路(单向链路,即网络拓扑的无向图表示中的每条边在此对应于两条链路),通过给网络拓扑中所有链路进行编号,vi表示第i条链路是否在此路径中,如果在,则vi=1,否则vi=0;无公共边路径对应的向量v=(v1,v2,…,v|e|)。此时在选择好节点点对之间的无公共边路径组合后,将每条无公共边路径对应的向量相加,为向量和中的最大值,其中,n表示无公共边路径总数。本实施例中采用此向量算法,提升无公共边路径的数据处理和优化效率。

可选的,在本实施例中,如图1d所示,根据路径优化目标函数从无公共边路径中选取目标路径,还可以包括:

s121,根据预设算法在无公共边路径中预先选取出关键路径。

具体的,关键路径为节点点对之间的无公共边路径中的多条短路径。为了简化选取过程或者针对某一特征的目标路径选取时,可以在节点点对之间的无公共边路径较多时,通过减少选取目标路径的中间计算过程,提高枚举的计算效率,可以根据预设算法在获取的无公共边路径中预先选取出网络拓扑中节点点对之间的无公共边路径中的短路径,也就是在节点点对之间的无公共边路径中预先选取出路径跳数较短的路径,作为关键路径。其中,预设算法可以是排序算法,即根据路径长度对每个节点点对之间的无公共边路径进行排序,选出较短的几条作为关键路径。

进一步的,如果在无公共边路径中需要选取最优的目标路径时,则可以跳过该步骤,直接在计算出的的全部最多无公共边路径中根据路径优化目标函数选取目标路径,此时的目标路径为路径优化问题的最优解。

s122,将无公共边路径中的关键路径作为路径优化目标函数的输入,得到关键路径中的目标路径。

具体的,在预先选取出关键路径后,对于路径优化目标函数中的输入变量可以将无公共边路径中的关键路径作为该路径优化目标函数的输入,以表示路径优化目标,其中,ei为节点点对之间的无公共边路径中的关键路径包括的某一链路,表示经过链路ei的所有节点点对的关键路径个数。以关键路径中链路对应的作为路径优化目标函数的输入参数,通过枚举的方式利用惩罚函数依次计算出关键路径进行优化对应的输出结果,并可以通过更新输出的最小值并记录当前选择的关键路径标号,枚举下一个关键路径组合,继续优化过程直到枚举了所有满足每个点对间预设路径数量的关键路径组合,就得到了达到路径优化目标的最优解,查找路径标号就能得到最优解对应的路径选择,作为选取的目标路径,减少了目标路径选取时的计算过程,提升了目标路径的选取速率。

s130,根据带宽需求和优化带宽目标函数为目标路径分配对应的带宽。

具体的,在为选取的目标路径根据预先获取的带宽需求分配对应的带宽时,采用现有的凸优化算法,将带宽需求、目标路径和对应的网络拓扑作为对应的优化模型的输入参数,求解优化模型得到有带宽分配需求的每个节点点对的每条目标路径应分配到的带宽,也就是每条路径需要传输的带宽需求。其中,优化模型对应的凸优化目标是最小化整个网络的拥塞程度,即具体的,惩罚函数可以是:

可选的,以此来实现拥塞链路的惩罚,如链路中分配到的带宽大于1.1倍的链路带宽容量时,其惩罚值为5000倍。其中,带宽分配对应的惩罚函数与路径选取对应的惩罚函数可以不同,可以根据具体的惩罚比例设定。

可选的,本实施例中的优化模型可以对目标路径分配带宽,也可以适用于所有的无公共边路径以及现有技术中的前k短路径或其他算法计算出的不同点对间的多条路径中,并不做限制。

具体的,优化模型中的变量介绍如表1所示,本实施例中以输入无公共边路径集合为例,通过该优化模型直接得到各个无公共边路径分配的对应带宽。

表1优化模型

对应的惩罚函数为:

优化模型中的带宽优化目标函数为:

优化模型中的约束条件如下所示:

具体的,将带宽需求、目标路径和对应的网络拓扑输入上述对应的优化模型中,可以得到目标路径对应分配的带宽,而凸优化算法存在一个问题是如果带宽需求很大,虽然不同点对间每条目标路径中分配到的带宽可以满足tm的带宽需求,但是可能会导致瓶颈链路中使用的带宽超过了其链路的带宽容量,而造成链路拥塞。因此,在这种情况下,本发明实施例通过以下步骤求解出满足每条链路带宽容量限制的路径带宽分配。步骤1:求解优化模型,得到初始带宽;步骤2:用所有点对之间每条路径分配到的初始带宽及路径具体内容计算出每条链路使用的带宽;步骤3:判断每条链路使用的带宽是否超出此链路的带宽容量限制,如果超出,执行步骤4,否则算法结束,当前初始带宽就是每条路径分配到的目标带宽;步骤4:基于二分查找算法计算出最大的带宽需求比例(即不断更新此带宽需求比例并重复以上步骤直到算法结束)。此比例乘以带宽需求就是网络在当前优化模型下可以满足的最大带宽需求,也就是说将此比例乘以带宽需求作为优化模型的输入,计算出的目标路径带宽分配能够保证网络中每条链路使用的带宽不超出此链路的带宽容量限制。

本实施例提供的技术方案,不同于现有技术选取网络拓扑中节点点对之间前k短路径分配带宽的方式,由于前k路径中有很大概率包括公共链路,当公共链路故障时,将影响多条节点点对之间的路径,即使这些路径中的流量被划分到正常的路径,链路拥塞也难以避免,进而影响经过拥塞链路的路径中的数据传输,本实施例选取网络拓扑中节点点对之间的无公共边路径进行带宽分配,同一节点点对的无公共边路径中的链路不被此节点的路径共用,从而提高了网络整体的容错性和可靠性。

实施例二

图2为本发明实施例二提供的方法中根据带宽需求和优化目标函数为目标路径分配对应的带宽的方法流程图。本实施例是在上述实施例的基础上,对根据带宽需求和优化目标函数为目标路径分配对应的带宽这一步骤进一步解释说明。具体的,参照图2,本实施例可以包括如下步骤:

s210,根据带宽需求和带宽优化目标函数为目标路径分配对应的初始带宽。

具体的,本实施例中为路径分配对应带宽的方法,不仅适用于为选取的目标路径分配带宽,还可以为无公共边路径分配带宽,也可以为现有的前k短路径分配带宽。本实施例中,为了减少瓶颈链路,选取节点点对之间的无公共边路径,并根据交换机的流表限制和不同节点点对的公平性选取目标路径,在分配对应带宽时,首先将获取的带宽需求、目标路径和对应的网络拓扑输入到本实施例中的优化模型中,通过求解优化模型确定为每条目标路径对应分配的初始带宽。也就是先根据带宽需求和优化模型为每一个节点点对之间的目标路径先求解一次带宽优化问题,为每一个节点点对之间的目标路径分配对应的初始带宽。

s220,根据所有节点点对之间的每条目标路径分配到的初始带宽,计算网络拓扑中每一条链路的链路使用带宽。

可选的,在求解一次带宽优化问题后,将根据所有节点点对之间的每条目标路径分配的初始带宽,确定此时网络拓扑中所包含的每一个链路已经使用的带宽,也就是链路使用带宽。可选的,链路使用带宽可以通过带宽需求集合d中所有节点点对之间每条目标路径分配到的初始带宽及路径具体内容计算得到,例如路径经过哪些节点,哪些边等。并根据链路使用带宽判断网络中每条链路ek中已使用的带宽是否超出此链路的带宽容量限制。具体的,凸优化算法的一个问题是如果带宽需求很大,虽然能算出满足带宽需求矩阵的带宽分配,但是可能会导致瓶颈链路的使用带宽超过了链路带宽容量。其中,可以直接针对链路带宽超出链路容量的具体链路,将包含这些链路的目标路径上分配的带宽成比例降低。例如当目标路径中的链路ek中的链路容量为1时,若分配初始带宽后,链路ek已使用带宽此时可以使包含链路ek的所有路径分配到的带宽均降低到这样就能保证每一链路带宽均满足对应的链路容量,时间复杂度低,但对于没有超出链路容量的目标路径对应的节点点对不公平。

s230,判断链路使用带宽是否超出链路带宽容量,若否,执行s240;若是,执行s250。

具体的,在计算出网络拓扑中每一链路的链路使用带宽后,可以直接判断出网络中任一链路的使用带宽是否超出此链路的带宽容量,以期各个链路均满足链路带宽容量,不会造成链路拥塞。

s240,将对应的初始带宽作为目标路径分配的对应带宽。

具体的,在分配的初始带宽对应的链路使用带宽未超出链路带宽容量,也就是所有节点点对之间的每条路径中分配的带宽使每一条链路使用的带宽均不超出其链路带宽容量,此时整体网络拥塞程度最小化,将分配的对应初始带宽作为目标路径分配的对应带宽。

s250,基于二分查找算法确定带宽需求的带宽需求比例,并根据带宽需求和带宽需求比例为目标路径分配新的初始带宽,返回执行s220。

具体的,如果分配初始带宽对应的链路使用带宽超出链路带宽容量,此时带宽需求过大,则基于二分查找算法确定带宽需求的带宽需求比例,其中算法的每一步会更新带宽需求比例,并将带宽需求和带宽需求比例作为优化模型的输入为目标路径分配新的初始带宽。其中,二分查找算法可以保证不同节点点对之间的公平性,可以在将当前带宽需求矩阵作为优化模型的输入而计算出的带宽分配无法使每一条链路使用的带宽均小于其链路带宽容量时使用二分查找算法,通过二分查找算法依次确定带宽需求矩阵对应的带宽需求比例,并将带宽需求、带宽需求比例和目标路径重新输入到优化模型中,继续为目标路径重新分配新的初始带宽,并依次确定网络拓扑中的每一链路的链路使用带宽,判断链路使用带宽是否超出链路带宽容量。示例性的,当基于二分查找算法确定的带宽需求比例的最优解为r时,对于任一带宽需求比例x≥r,x*tm作为优化模型的输入计算出的带宽分配均无法满足同理,对于任何x<r,x*tm作为优化模型的输入计算出的带宽分配均能够满足因此,本实施例中选择两个极值来开始二分查找,一个是下限l=0,也就是说l*tm作为凸优化模型的输入计算出的带宽分配肯定满足另一个是上限u=1,也就是说u*tm作为优化模型的输入计算出的带宽分配肯定不满足此时,带宽比例如果x*tm作为优化模型的输入算出的带宽分配结果满足那么增加l到x,(新的x=3/4),否则减少u到x,(新的x=1/4),以此类推,直到找到最大的x,使得x*tm作为优化模型的输入时,计算出分配的新的初始带宽可以满足所有链路带宽小于其链路带宽容量,即此时本实施例中同时满足了不同节点点对之间的公平性和容错性,并得到了最优的不同点对间每条路径的带宽分配,使得在满足网络不拥塞的前提下尽量多的满足了不同点对间需要传输的流量带宽需求。

为了减少二分查找算法中的计算次数,可以设置参数来控制二分次数,当时算法中止,这样最坏情况下只用运行次凸优化模型就能找到符合的最优解,考虑到每次流量工程更新周期一般为5分钟,所以本实施例中有足够长的时间可以计算出带宽需求比例的最优解。

可选的,根据二分查找算法依次确定的带宽需求比例,通过将带宽需求、带宽需求比例和目标路径输入到优化模型中,依次确定为目标路径对应分配的新的初始带宽,循环由新的初始带宽和目标路径具体内容计算出网络中每条链路的使用带宽,并判断每条链路的使用带宽是否超出此链路带宽容量限制,直到计算出的所有新的链路使用带宽均未超出对应的链路带宽容量限制,或者二分查找算法的计算次数达到设置参数,停止循环。

本实施例提供的技术方案,通过二分查找算法确定带宽比例,并根据带宽需求、带宽比例和优化目标为其分配对应的带宽,解决现有网络带宽的规划在网络性能和可靠性之间难以兼顾的问题,降低网络拓扑中节点点对间的路径拥堵,提高网络整体的容错性和可靠性,兼顾整体网络性能和公平性,使整体网络拥塞程度最小化。

实施例三

图3为本发明实施例三提供的一种网络带宽的规划方法的流程图。本实施例是在上述实施例的基础上进行优化。具体的,参照图3,本实施例可以包括如下步骤:

s301,获取路径优化目标函数、带宽优化目标函数和带宽需求。

具体的,s301的执行步骤只要在s306之前即可,具体位置不做限定,本实施例中在计算无公共边路径之前预先确定路径优化目标函数、带宽优化目标函数和带宽需求。

s302,从当前网络拓扑中节点点对之间计算得到最大流时用到的增广路径中舍弃正向和反向为当前网络拓扑对应的无向图中同一条边的公共链路后,得到新的当前网络拓扑。

其中,节点点对之间的增广路径是节点点对之间的某一路径中包含的所有链路的流量均小于链路容量,即该路径中包含的任意一条链路的残量均不为零,该路径为增广路径,同一节点点对之间的增广路径不包括同一流向的公共链路。

具体的,当前网络拓扑中节点点对之间的无公共边路径,首先通过最大流算法计算各个需求节点点对之间的增广路径,本实施例中通过采用dinic算法计算节点点对之间的最大流,并确定其中采用的增广路径。本实施例中的网络拓扑为边权为1的无向图,而dinic算法的输入为无向图对应的有向图版本,因此通过dinic算法计算节点点对之间的最大流时确定的增广路径可能包含正向和反向流向的公共链路,此时在获取的增广路径中舍弃正向和反向的公共链路,根据剩余的连接关系得到新的当前网络拓扑。

s303,继续从新的当前网络拓扑中节点点对之间的增广路径中舍弃正向和反向的公共链路。

具体的,得到新的当前网络拓扑后,继续采用dinic算法计算新的当前网络拓扑中节点点对之间的最大流,及其对应的增广路径,判断此时的增广路径中是否存在正向和反向的公共链路,若存在,则舍弃正向和反向的公共链路继续运行dinic算法,以此类推,直到增广路径中不存在正向和反向的公共链路,停止循环。

s304,判断增广路径中是否还存在正向和反向的公共链路,若是,执行s303;若否,执行s305。

s305,得到目标网络拓扑,目标网络拓扑中节点点对之间的增广路径为无公共边路径。

具体的,在增广路径中不存在正向和反向的公共链路时,将此时的网络拓扑作为目标网络拓扑,并将此目标网络拓扑采用dinic算法计算节点点对之间的最大流对应的增广路径作为本实施例中的网络拓扑中节点点对之间的无公共边路径。

进一步的,本实施例中的s302-s305为一种无公共边路径的选取方法,该方法可以用到多种场景中,并不对此作限定,例如可以应用到te流量工程或软件定义sdn网络中,也可以应用到互联网支持多路径的路由协议,或者移动互联网支持多路径的协议中。具体的,比如有一种传统的链路状态协议也叫作最短路径优先协议(如ospf,is-is),其仅支持最短路径的数据传输,而由于最短路径的数据传输会存在多种问题,例如,用户观看视频时,如果是高清视频,带宽需求较大但对偶尔的数据包延迟或丢包是可以容忍的,那么在最短路径中传输时带宽需求往往难以被满足,如果用户用手机看视频,网络就更加不稳定,用户移动位置就有可能导致wifi中断。因此最新的各种路由协议为了解决该类技术问题,已经制定了节点间可以通过多路径传输数据的协议标准,而且支持多路径的tcp协议(mptcp)也已经标准化。可选的,本实施例中的计算和选取无公共边路径的方法也能用于互联网中支持多路径的区域间网络(interdomain)、区域内部网络(intradomain)或移动adhoc网络中。s306,根据预设算法在无公共边路径中预先选取出关键路径。

s307,将无公共边路径中的关键路径作为路径优化目标函数的输入,得到关键路径中的目标路径。

具体的,如果路径优化问题针对的是如何选取最优的目标路径,则跳过s306和s307,直接在计算的最多无公共边路径中通过路径优化目标函数选取目标路径,不需要选取关键路径。

s308,根据带宽需求和带宽优化目标函数为目标路径分配对应的初始带宽。

s309,根据所有节点点对之间的每条目标路径分配到的初始带宽,计算网络拓扑中每一链路的链路使用带宽。

s310,判断链路使用带宽是否超出链路带宽容量,若否,执行s311;若是,执行s313。

s311,将对应的初始带宽作为目标路径分配的对应带宽。

s312,根据目标路径分配的对应带宽,确定目标路径的权重。

s313,基于二分查找算法确定带宽需求的带宽需求比例,并根据带宽需求和带宽需求比例为目标路径分配新的初始带宽,返回执行s309。

具体的,在通过求解优化模型确定为目标路径分配的对应带宽后,为了实际使用时在交换机中可以直接预先设置节点点对之间的每条路径对应分配的权重,可以通过对目标路径分配的对应带宽作归一化处理,确定节点点对之间的各个目标路径的权重。其中,各个目标路径的权重为为点对(si,ti)之间第j条路径分配到的带宽,为点对(si,ti)所有路径中分配的总带宽。

本实施例提供的技术方案,通过选取网络拓扑中节点点对之间的无公共边路径,不同于现有技术选取网络拓扑中节点点对之间前k短路径分配带宽的方式,由于前k路径中有很大概率包括公共链路,当公共链路故障时,将影响多条节点点对之间的路径,即使这些路径中的流量被划分到正常的路径,链路拥塞也难以避免,进而影响经过拥塞链路的路径中的数据传输,本实施例选取网络拓扑中节点点对之间的无公共边路径进行带宽分配,同一节点点对之间的无公共边路径中的链路不被此点对之间的无公共边路径共用,从而提高了网络整体的容错性和可靠性。

实施例四

图4a为本发明实施例四提供的应用于具体网络拓扑中的一种网络带宽的规划方法的流程图。本实施例是在上述实施例的基础上给出具体的应用场景,本实施例中具体包括8个节点,节点1为源节点s,节点6为目的节点t,其对应的网络拓扑如图4b所示,且网络拓扑图为边权为1的无向图。其中,本实施例中为节点点对(1,6)选取无公共边路径,并分配对应的带宽。

具体的,如图4a所示,应用于具体网络拓扑中的网络带宽的规划方法可以包括如下步骤:

s410,采用dinic算法计算无向图的有向图版本中(将无向图中的每条边变为有向图中正反向的两条边)点对(1,6)之间的最大流,并得到对应的增广路径。

具体的,对图4b中的边权为1的无向图的有向图版本采用dinic算法计算点对(1,6)之间的最大流,得到两条增广路径为路径1:1→4→5→6和路径2:1→2→3→5→4→7→8→6,每条路径均可以获得完整的链路带宽,但如果链路4-5出现故障,点对(1,6)仍然不可达,因为两条增广路径均经过了链路4-5的正反方向。

s420,在当前得到的增广路径中舍弃正向和反向的公共链路,得到新的网络拓扑。

具体的,在得到的两条增广路径1→4→5→6和1→2→3→5→4→7→8→6中,舍弃链路4-5,得到新的网络拓扑,如图4c所示。

s430,继续采用dinic算法计算新的网络拓扑的有向图版本中点对(1,6)之间的最大流,并再次得到对应的增广路径。

具体的,采用dinic算法计算新的网络拓扑的有向图版本中点对(1,6)之间的最大流,再次得到的增广路径为路径1:1→2→3→5→6和路径2:1→4→7→8→6。不存在正向和反向的公共链路。

s440,再次得到的增广路径不存在正向和反向的公共链路,将此时的增广路径作为点对(1,6)的无公共边路径。

s450,将两条无公共边路径作为选取的目标路径,在无公共边路径较多时,通过路径优化目标函数选取目标路径。

s460,将选取的路径集合、带宽需求矩阵tm和网络拓扑输入到优化模型中,得到分配的初始带宽。

具体的,为目标路径1→2→3→5→6和1→4→7→8→6根据带宽需求矩阵tm,在优化模型中分配初始带宽,若点对(1,6)的带宽需求为1,路径1→2→3→5→6分配的带宽为0.5,路径1→4→7→8→6分配的初始带宽为0.5。

s470,如果初始带宽对应的网络拓扑中每一链路的链路使用带宽超出对应的链路带宽容量,基于二分查找算法确定带宽需求的带宽需求比例,并根据带宽需求和带宽需求比例为目标路径分配新的初始带宽,继续根据所有节点点对之间的每条目标路径分配到的新的初始带宽,计算网络拓扑中每一链路的新的链路使用带宽,直至新的链路使用带宽未超出对应的链路带宽容量。

具体的,若链路3-5在全部点对分配的带宽中对应使用的带宽总量为1.2,超出其链路容量1,则根据二分查找算法依次确定带宽需求的带宽需求比例,并根据带宽需求和带宽比例在优化模型中为目标路径重新分配新的初始带宽,直到新的初始带宽中,链路3-5在全部点对分配的带宽中对应使用的带宽总量低于其链路带宽容量。

s480,将新的初始带宽作为两条目标路径最终分配的对应带宽。

s490,对两条目标路径分配的对应带宽作归一化处理,分别确定两条目标路径的权重。

此外,本实施例中的网络带宽的规划方法还可以应用于网络拓扑中的多个节点点对中(并且流量工程中一般均为多个点对之间有带宽需求)。示例性的,当网络拓扑中的两个节点点对分别为(s1,t1)和(s2,t2),在为两个节点点对(s1,t1)和(s2,t2)同时分配带宽时,通过本实施例中的网络带宽的规划方法执行,包括两个阶段,第一阶段为路径选择阶段,第二阶段为权重计算阶段。其中,带宽需求分别为ds1,t1=1和ds2,t2=1,具体执行过程如图4d所示。

本实施例提供的技术方案,不同于现有技术选取网络拓扑中节点点对之间前k短路径分配带宽的方式,由于前k路径中包括公共链路,当公共链路故障时,将影响多条节点点对之间的路径,从而带来路径拥塞并影响路径中的数据传输,本实施例选取网络拓扑中节点点对之间的无公共边路径进行带宽分配,同一节点点对之间的无公共边路径中的链路不被此点对之间的无公共边路径共用,从而提高了网络整体的容错性和可靠性。

实施例五

图5为本发明实施例五提供的一种网络带宽的规划装置的结构示意图,具体的,如图5所示,该装置可以包括:

参数获取模块510,用于获取路径优化目标函数、带宽优化目标函数和带宽需求;

路径计算模块520,用于计算网络拓扑中节点点对之间的无公共边路径;

目标路径选取模块530,用于根据路径优化目标函数从无公共边路径中选取目标路径;

带宽分配模块540,用于根据带宽需求和带宽优化目标函数为目标路径分配对应的带宽。

本实施例提供的技术方案,不同于现有技术选取网络拓扑中节点点对之间前k短路径分配带宽的方式,由于前k路径中有很大概率包括公共链路,当公共链路故障时,将影响多条节点点对之间的路径,从而带来路径拥塞并影响路径中的数据传输,本实施例选取网络拓扑中节点点对之间的无公共边路径进行带宽分配,同一节点点对之间的无公共边路径中的链路不被此点对之间的无公共边路径共用,从而提高了网络整体的容错性和可靠性。

进一步的,上述目标路径选取模块530可以具体用于:将无公共边路径作为路径优化目标函数的输入,得到无公共边路径中的目标路径。

进一步的,上述目标路径选取模块530还可以具体用于:根据预设算法在无公共边路径中预先选取出关键路径,关键路径为节点点对之间的无公共边路径中的短路径;将无公共边路径中的关键路径作为路径优化目标函数的输入,得到关键路径中的目标路径。

进一步的,上述带宽分配模块540可以包括:初始带宽分配单元5401,用于根据带宽需求和带宽优化目标函数为目标路径分配对应的初始带宽;带宽判断单元5402,用于根据所有节点点对之间的每条目标路径分配到的初始带宽,计算网络拓扑中每一链路的链路使用带宽,并判断链路使用带宽是否超出对应的链路带宽容量;带宽确定单元5403,用于若链路使用带宽超出对应的链路带宽容量,则基于二分查找算法确定带宽需求的带宽需求比例,并根据带宽需求和带宽需求比例为目标路径分配新的初始带宽,继续根据所有节点点对之间的每条目标路径分配到的新的初始带宽,计算网络拓扑中每一链路的新的链路使用带宽,直至新的链路使用带宽未超出对应的链路带宽容量,则将新的初始带宽作为目标路径分配的对应带宽。

进一步的,上述装置还可以包括:权重确定模块550,用于根据目标路径分配的对应带宽,确定目标路径的权重。

进一步的,上述路径计算模块520可以具体用于:从当前网络拓扑中节点点对之间计算得到最大流时用到的增广路径中舍弃正向和反向为当前网络拓扑对应的无向图中同一条边的公共链路后,得到新的当前网络拓扑;继续从新的当前网络拓扑中节点点对之间的增广路径中舍弃正向和反向的公共链路,直至增广路径中不存在正向和反向的公共链路,则得到目标网络拓扑,目标网络拓扑中节点点对之间的增广路径为无公共边路径。

本实施例提供的网络带宽的规划装置可适用于上述任意实施例提供的网络带宽的规划方法,具备相应的功能和有益效果。

实施例六

图6为本发明实施例六提供的一种设备的结构示意图,如图6所示,该设备包括处理器60、存储装置61和通信装置62;设备中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;设备中的处理器60、存储装置61和通信装置62可以通过总线或其他方式连接,图6中以通过总线连接为例。

存储装置61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的网络带宽的规划方法对应的程序指令/模块(例如,网络带宽的规划装置中的参数获取模块510、路径计算模块520、目标路径选取模块530和带宽分配模块540)。处理器60通过运行存储在存储装置61中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述网络带宽的规划方法。

存储装置61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信装置62可用于实现网络拓扑中各个节点的设备间的网络连接或者移动数据连接。

本实施例提供的一种设备可用于执行上述任意实施例提供的网络带宽的规划方法,具备相应的功能和有益效果。

实施例七

本发明实施例七还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中提供的网络带宽的规划方法。该方法具体可以包括:

获取路径优化目标函数、带宽优化目标函数和带宽需求;

计算网络拓扑中节点点对之间的无公共边路径,并根据路径优化目标函数从无公共边路径中选取目标路径;

根据带宽需求和带宽优化目标函数为目标路径分配对应的带宽。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的网络带宽的规划方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述网络带宽的规划装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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