一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

适应不同网络环境的可靠流量调度方法

2022-11-23 18:25:45 来源:中国专利 TAG:


1.本发明涉及流量调度领域,具体涉及一种适应不同网络环境的可靠流量调度方法。


背景技术:

2.分段路由(sr)是一种源路由架。源节点通过在数据包的头部插入一个有序的段列表来选择路径并引导数据包沿着网络中的路径传输。在转发路径上,接收到数据包的网络设备根据该段列表进行处理和转发操作。除了源节点之外的其他节点不需要存储和维护流的任何状态信息,因此与软件自定义网络(sdn)架构相比,分段路由节省了转发表的存储硬件(如三元内容可寻址内存,tcam),从而具有更好的性能和可扩展性。sr可以在ip/mpls网络中提供高级流量导向功能,同时保持数据平面和控制平面的可扩展性。
3.随着网络规模的不断扩大,网络中网络设备的数量也在不断增加,网络中链路和节点的故障也不可避免。在一个网络系统中,一个小时内发生故障的概率为50%,一天内发生故障的概率为70%。在基于sdn的数据中心广域网中,链路利用率一般接近100%,因此即使单条链路发生故障,影响也非常严重。在现有的工作中,故障恢复方法主要分为两类:一类是被动恢复,一类是主动恢复。两者的主要区别在于故障处理发生在故障发生之前还是之后。
4.在显式路径配置的数据平面中,被动故障恢复方法是流量重定向。入口节点将故障相关路径的权重设置为0,其余未受影响的路径权重重新划分。流量快速重定向,网络连接快速恢复。充分利用成熟的igp协议故障恢复机制的sr故障恢复机制相对更有利。在sr的数据平面中,分段转发是基于igp协议的。当网络发生故障时,igp协议会自动重新计算节点之间的最短路径,仍然可以使用原来的网段列表,网络可以不间断地继续使用。但是被动恢复方式是由数据平面本地决定的,会造成网络拥塞。更好的被动恢复方法是请求控制平面干预。控制器根据新的拓扑制定新的路由规则并更新每个交换设备。同时,很明显这种方法非常耗时,并且只用于严重的故障场景。为了克服被动恢复的缺点,可以在计算流量分布时提前考虑可能出现的链路/节点故障,以确保单个链路/节点故障时网络仍然不会拥塞。sdn控制器分配带宽时,会考虑网络故障的各种情况,为网络故障场景预留一定的容量。因此,当可预见的网络故障发生时,网络不会拥塞。为故障保留带宽可以使网络更加健壮,但会导致网络利用率降低。流量工程面临的一个重大挑战是提高网络的吞吐量和可用性。在带宽有限的情况下,这两个目标是矛盾的,高可用性要求网络有足够的余量来处理故障和避免拥塞,但是高吞吐量要求网络满足尽可能多的流量需求。


技术实现要素:

5.本发明的目的是提供一种适应不同网络环境的可靠流量调度方法,以解决传统流量调度方法无法在可用性和使用率之间找到较好平衡,造成资源浪费或者可靠性不足的问题。
6.为此,本发明采用以下技术方案:
7.适应不同网络环境的可靠流量调度方法,其特征在于,包括如下步骤:
8.步骤s1,使用sdn控制器统计网络中各链路的错误率;
9.步骤s2,计算各个错误场景的出现概率,并且进行剪枝;
10.步骤s3,计算给定需求各个场景下的分段路由链路负载因子和和和分别为点二分段链路负载因子和边二分段链路负载因子(详见步骤s304);
11.步骤s4,使用包括网络场景概率、链路e、置信参数b、最大链路负载率θq、变量参数α、决策变量和传输的需求tr和链路负载因子的线性模型计算流量分配方案;
12.步骤s5,对流量分配方案进行配置,在最短路转发过程在源节点和目的节点处对中间节点和目的节点的标识符使用栈的结构的存入和弹出,并且在发生网络错误时进行自动处理。
13.作为优选,步骤s1所述错误率用于优化流量调度的过程;其通过统计网络错误的历史数据获得,常用的错误统计方式有:包括:1)链路错误,2)节点错误,3)共享风险组错误;其中共享风险组错误指的是一组共享某种基础资源的链路或者节点,比如某个地区的转发设备使用同一个电网的电因此可能同时遭遇错误。所述链路的错误率统计通过错误的时间和除以该链路/节点的总工作时长获得。
14.作为优选,步骤s2所述场景为整个网络在某个时间可能出现的状态;例如网络中链路a和b发生错误,其他链路都是正常工作的状态算一种错误场景。网络场景q的出现的概率p通过已知的网络中所有链路的错误概率p,通过公式(1)计算:
[0015][0016]
进一步地,因为网络场景存在2n(n为边的数量)种情况,而且其中绝大部分的场景出现的概率都极小,可以通过深度搜索算法对场景进行剪枝,忽略其中发生概率极小的情况,极大地减小计算量。
[0017]
进一步地,步骤s3具体包括以下步骤:
[0018]
步骤s301,通过各网络场景的权值构造辅助图;具体地,将s2中构造的网络场景中发生错误的边的权值置为∞,若节点发生错误将和该点相关的所有边权值都置为∞构建每个场景下的辅助图。
[0019]
步骤s302,求所有点对的最短路,并在每个场景下,构造最短路径辅助图;具体地,在每个场景下,求所有点对的最短路和同一点对有可能包含多条权值相等的最短路径,从而构造仅含有最短路边的最短路径辅助图。
[0020]
步骤s303,使用基于拓扑排序的算法,计算最短路径辅助图中链路的负载因子;
[0021]
步骤s304,计算包含边分段和点分段的二分段路由的负载因子和和代表在网络场景q下,网络流r使用以k点为中间节点的点二分段路由传输的流量流经链路e的比例。代表在网络场景q下,网络流r使用以m点为中间邻接边的边二分段路由传输的流量流经链路e的比例。分段路由基于最短路实现,其中点二分路
由就是在源节点和目的节点之间选择中间节点,源节点到中间节点,以及中间节点到目的节点之间使用最短路的方法传输;边二分段就是使用一条和源节点或者目的节点相邻的边,然后再通过最短路连接到另外一个流端点的路由方式。有些特殊情况二分段路由会变成简单的最短传输或者邻接边直接传输。本方法将网络流r的流量分别分配在不同的分段路由路径之上,可通过和来计算当前分配方案在每条边上分配的流量的数量,进而计算每条边的链路负载率。
[0022]
进一步地,步骤s4所述线性模型具体包括以下计算:
[0023][0024][0025][0026][0027][0028]
其中:
[0029][0030]
进一步地,所述流量分配方案被配置在sdn的控制器中,且当数据报到达网络中,源节点会在数据报报头添加二分段路由的首部用于使用栈的结构。
[0031]
进一步地,步骤s5,将所述流量分配方案配置在sdn的控制器中,当数据报到达网络中,源节点会在数据报报头添加二分段路由的首部,header部分使用栈的结构,我们使用二分段路由,所以源节点会在header中存入中间节点和目的节点的标识符,然后通过最短路首先转发到中间节点处。转发过程,每到一个节点,该节点会获得栈顶的标识符,若为本节点则将栈顶元素弹出,向新的栈顶转发,若栈顶标识的非本节点,则继续按照最短路转发。若网络中发生错误,例如节点s和t之间路径上某条链路失效,网络会自动计算其他的最短路进行传输,因为已计算各个错误场景的出现概率,在给定置信度下,网络中不会发生网络拥塞的情况。
[0032]
本发明提出了一种称为基于风险价值和分段路由的流量调度方法,该方法基于网络故障的概率来优化sr的流量分配方案。这种方法可以充分利用集中式sdn控制器掌握的全局网络信息,不仅包括拓扑、网络容量和需求模式,还包括链路、节点和共享风险组的故障统计。这项工作使用一种称为风险价值(var)的金融方法来让网络调度找到可用性和利用率的平衡点。由于每条路径都可能失败,因此本发明将不同路径上的流量转发视为一种有风险的投资。对于给定的流量分配方案,本发明计算可能的故障场景以及相应的发生概率和场景中网络的最大链路利用率(mlu)。通过对风险价值的最小化,本发明可以获得具有给定可用性要求b(90%,95%,99%...)的最佳性能流量分配。
附图说明
[0033]
图1是实施例示出的一种适应不同网络环境的可靠流量调度方法的流程图;
[0034]
图2是实施例示出二分段路由的负载因子计算的流程图;
[0035]
图3是实施例示出错误场景下负载因子的变化示意图;
[0036]
图4是实施例示出的实验结果图;
具体实施方式
[0037]
以下将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0038]
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0039]
如图1所示,一种适应不同网络环境的可靠流量调度方法,包括以下步骤:
[0040]
步骤s1,统计网络中各链路错误的概率,具体的要考虑以下几点:1)如何得出某个链路的错误率,本方法可以采用故障时长除以所有工作时长的方法的出每天的错误率,然后使用加权平均的方法,距离当前时间越长,权值越小,如果为了更好的效果,还可以使用一些常见的时间轨迹预测的方法如holt-winter、arima等方法进行预测;2)对统计出来的链路错误数据进行分析,获得一个个错误事件独立的共享风险组,方便下一步中网络场景失败概率的计算。3)当硬件设备(比如交换机)发生更换后对历史数据进行初始,以保证所发有更好的可靠性。
[0041]
步骤s2,计算各错误场景的概率并剪枝。错误场景即当前网络发生了某个或者多个网络错误时,网络中某些节点或者链路无法传输数据,这时基于最短路的网络路由将会发生改变,本发明的方法使用公式(1)对该场景可能发生的概率进行计算。此时网络中所有可能出现的错误场景涉及的计算量将非常大,因此通过基于深度优先搜索的剪枝算法对错误场景进行剪枝,首先考虑所有单风险组错误的情况,若错误改需小于给定的剪枝阈值就停止,若没满足停止条件,则添加其他的风险组进来,一直搜索下去,直到获得所有的出现概率大于给定值得场景。因为实际环境中网络错误是小概率的事件,所以多处错误的场景发生的概率非常小,可以忽略。这样做可有好处是,本发明的方法可以根据其网络对可靠性的要求来调整阈值,对可靠性要求高场景可以使用更大的计算量来保障,对可靠性要求比较低的场景可以使用一部分可靠性换取更好的性能。
[0042]
步骤s3,计算各场景下分段路由链路负载因子,其中的步骤包括:1)构建场景辅助图,2)构建最短路负主体,3)确定最短路径负载因子,4)确定二分段链路负载因子。
[0043]
步骤s4,计算流量的分配方案,这一步之前本发明的方法已经完成上述步骤的计算,当给定需求矩阵之后,使用公式(2)-(7)给出的线性规划模型进行计算。因为风险价值模型已被处理为标准的线性规划模型,本发明的方法可以直接使用商业求解器比如cplex、gurobi、matlab等工具直接求解。
[0044]
下面将对以上所说的公式(2)-(7)进行说明:
[0045]
网络模型为有向图g=(v,e),其中顶点集v表示交换机/路由器,边集e表示交换机/路由器之间的链路。链路容量由c=(c(1),

,c(e))给出,每个链路上的总流量不应超
过其容量。
[0046]
本发明的方法的决策变量是和分别代表使用k作为中间节点和以m为邻接边的二分段路由路径上传输的需求tr的流量大小。
[0047]
公式(3)是需求约束,要求应完成所有的流量需求。
[0048]
公式(4)表达的是各网络场景下所有链路最大链路负载率θq,其中α是为了将计算公式处理为线性而引入的变量。
[0049]
公式(7)计算指定场景q下,链路e的负载率。
[0050]
公式(2)是在最小化当前网络中最大链路负载率的条件风险价值,其中b是本发明的方法设置的置信参数,这个值可以在不同的可靠性要求下改变;b越小网络的可靠性越低,网络吞吐量越大,b越大网络可靠性越高,吞吐量越小。
[0051]
步骤s5,将计算好的流量方案进行部署,并且在网络发生错误时自动恢复。下面是这一步需要重点考虑的东西:1)本发明的方法将s4中计算的流量调度方案配置在sdn转发平面中,因为在上一步的计算中的决策变量是连续的变量,即使本发明的方法收到一个数据报,其也不能被无限制的将其拆分为多个大小不一的部分。本发明的方法可以使用基于概率的发送方式,通过将决策变量的值除以tr计算出由k转发当前数据报的概率来实现上述的路由方案。2)当网络中发生错误时,节点和链路将无法正常传输数据,由于已经提前考虑到网络中可能出现的多种错误,当链路或者节点错误时,igp协议会自动收敛为新的网络状态,如图3(b)所示,网络中最短路的链路负载因子将会发生变化,链路5-t上的流量将会变多,但是本发明的方法的算法在计算之前已经考虑到了当前情况,所有其网络中并不会发生严重拥塞。3)除了igp的自动收敛重路由之外,本发明的方法的算法还兼容多种快速重路由方案,只要其可以计算出某个网络的错误场景中网络中各链路的负载因子,此方法都可以适用。
[0052]
如图2所示,步骤s3,计算各场景下分段路由的链路负载因子,一共包括如下步骤:
[0053]
步骤s301,构建场景辅助图,本发明的方法在获得s2产生的剪枝后的场景和概率后,根据场景给出的链路向量和节点向量将其中为0的边权变为∞。
[0054]
步骤s302,构建最短路辅助图,这一步基于s301给出的场景辅助图。这一步中本发明的方法使用基于dijkstra算法改进的最短路算法一次得出给定源点和目的点之间的所有最短路径,并且使用当前路径构造最短路的辅助图。
[0055]
步骤s303,计算最短路的链路负载因子,所谓负载因子就是当有一个单位的流量需要转发时,网络中各链路分别承担多少转发任务,在本发明的方法计算二分段路由的链路负载因子之前,本发明的方法首先计算最短路的链路负载因子。为了更好的负载均衡效果,本发明的方法使用ecmp的转发逻辑,当节点s,t之间存在多条最短路的时候,将在多条路径上进行平均分配。具体执行过程如图3(a)所示,数据流从s节点出发,如果某个节点有多个出边,当前节点中收到的数据流将被平均分配为多个不同的流。为了实现这个逻辑本发明的方法采用了基于拓扑排序的自研相关算法来计算最短路的链路负载因子。
[0056]
步骤s304,计算二分段路由链路负载因子,在本方法中本发明的方法使用点二分段路由和边二分段路由。点二分段路由会先将流量发到一个中间节点然后再转发到目的节点,通过这个方法,本发明的方法可以在改变较少原来网络基础架构的基础上实现网络调
度的优化;边二分段使用一条指定的边转发流量剩余路径使用最短路,可以重点使用一些网络中负载率低的链路,二者相互补充可以达到较好的效果,我们使用下列公式用最短路负载因子计算二分段的负载因子:
[0057][0058][0059]
其中公式(8),计算点分段的负载因子,表示在场景q下网络流r使用k为中间节点的二分段路由链路负载因子,表示在场景q下网络流r使用邻接边m作为最短路的二分段路由链路负载因子,特别注意的是,本发明的方法不仅适用二分段路由,此算法可以兼容更多分段的分段路由,更多的分段将牵扯到更大的计算量。
[0060]
最后,本发明实施例使用了仿真的实验,即使用了谷歌公司的b4网络进行仿真实验。
[0061]
本发明实施例在所有链路容量相等以及链路容量分布均匀的情况下进行实验,所有链路的容量都是10-100之间的的随机数,并使用均匀分布u[1:5]来设置链路权值,以利用ecmp和邻接段。邻接段与ecmp的结合,不仅充分利用了ecmp的负载均衡效果,而且还指定了ecmp单路径的流量分配。邻接段可以充分利用权图中的非最短链路。本发明实施例使用一些真实的数据集加上威布尔分布拟合的方法来模拟不同链路的失效概率,并在实验中通过改变威布尔分布的形状和尺度参数,研究概率分布对性能的影响。在实验中,本发明实施例使用不同的需求多次计算,并将结果取平均值,且其优化框架使用gurobi lp求解器,并使用julia优化语言实现。
[0062]
本发明实施例的对比实验比较了多种带错误恢复的流量调度算法,分别是基于最短路的错误恢复算法(spr),基于ecmp的错误恢复算法(ecmpr),基于分段路由优化最差情况的错误恢复算法(srws),以及本发明的方法适应不同网络环境的可靠流量调度方法(sruf),图4为对比实验结果。
[0063]
此处,本发明对可用性的定义是一个流量分配方案能够满足给定需求的比例。在计算可用性的过程中,本发明实施例首先根据算法的分配情况对不同场景下的流量进行分配,计算每条链路上的流量大小,通过计算超出容量的部分计算出不能满足所有流的流量之和。然后,可以通过添加需求的总量来观察网络无法满足的需求的数量。显然,当需求很小时,本发明实施例的所有算法的可用性是100%。之后,通过采用倍乘需求矩阵的方法,不断扩大需求,观察过程中各种算法可用性的变化。结果如图4所示。在需求增长的过程中,sruf支持对给定可用性的更高需求。当可用性大于99%时,sruf的缩放因子为2.8,ecmpr的缩放因子为2.4,spr的缩放因子为1.8,srws的缩放因子为1.6。在可用性下降的过程中,尽管一些算法的下降速度相似,但在相同的可用性下,sruf可以支持更大规模的需求。可以看出本发明的方法拥有更好的性能。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献