首页> 中国专利> 一种提高数据中心网络更新成功率的方法

一种提高数据中心网络更新成功率的方法

摘要

本发明一种提高数据中心网络更新成功率的方法,包括则检测候选路径的拥塞链路上的数据流,从所述拥塞链路上迁移走多条数据流,使所述被迁移的数据流迁移前所在的路径构成的新路径能够容纳新数据流,并在新路径上传输所述新数据流。由于不需要考虑如何寻找可行的网络状态,也不需要仔细地设计执行一个更新序列。通过本地调度每一个新数据流,为他们分配可行的最短路径。提高更新效率,减小迁移的数据流量。不需要进行全网搜索目的数据流量矩阵,也不需要在网络初始和目的状态之间寻找一系列的转换状态,降低了网络更新过程中数据包的丢包率,提高了网络更新的成功率。

著录项

  • 公开/公告号CN105897604A

    专利类型发明专利

  • 公开/公告日2016-08-24

    原文格式PDF

  • 申请/专利权人 中国人民解放军国防科学技术大学;

    申请/专利号CN201610209509.6

  • 申请日2016-04-06

  • 分类号H04L12/803(20130101);

  • 代理机构11313 北京市铸成律师事务所;

  • 代理人孟锐;郝文博

  • 地址 410003 湖南省长沙市开福区砚瓦池

  • 入库时间 2023-06-19 00:23:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-09

    授权

    授权

  • 2016-09-21

    实质审查的生效 IPC(主分类):H04L12/803 申请日:20160406

    实质审查的生效

  • 2016-08-24

    公开

    公开

说明书

技术领域

本发明涉及数据中心的网络更新,特别是指一种提高数据中心网络更新成功率的方法。

背景技术

基础设施即服务(IaaS)是一个云计算的模型,它允许租户在数据中心当中多路复用计算,存储和网络资源。随着IaaS的快速增长,服务提供商不得不租用或者建立一个大规模的数据中心。在每个数据中心内部,一个特殊的数据中心网络(DCN)将成千的交换机和成百上千的服务器连接起来。云计算数据中心频繁的发生网络更新事件,例如,网络拓扑更新,由网络操作人员引起的数据流更新,应用程序甚至交换机失效引起的网络更新。举例来说,数据中心操作者周期性的升级网络中的交换机,并且添加更多的交换机来支持更多的服务器;因此,产生了拓扑的改变。对于应用程序,正常的虚拟机迁移和负载均衡的重新配置导致了数据流的更新。

对于目前复杂的情况,DCN更新是一个很有挑战性的问题。首先,一个更新过程包含多个阶段,每个阶段都需要认证对待来保证每个数据包和每条流在网络配置下的一致性。因此,需要提前为每一个阶段指定一个更新计划,来安排所涉及到的流究竟需要以何种顺序来更新。其次,更新过程必须要保证任何一个数据包,数据流仅通过旧的网络配置或新的网络配置,而不是而这的结合。最后,在大规模的数据中心网络中执行一次更新需要消耗大量的时间。快速的网络更新有利于实现更高的网络利用率,并且可以加强网络的灵活性。

给定一个DCN更新,之前的工作致力于寻找一个从初始网络状态到目的网络状态的一个无损的转换序列。然而,这将需要频繁的进行全网搜索可行的目的网络状态,还需要大量的时间来优化结果。这将会在大规模网络中产生巨大的计算开销和决策延迟。更甚,在每一阶段的更新当中,一些涉及到的流需要被重新路由,迁移到其他路径上去。这些需要被迁移的流会产生 额外的开销,也可能会影响正在运行的应用程序。也就是说,这些需要被迁移的流,会导致另外一些额外的流需要被迁移,从而产生不必要的规则需要被安装到交换机上。同时,也会产生链路拥塞和丢包。

发明内容

有鉴于此,本发明的目的在于提出一种无拥塞网络更新过程中降低需要迁移的数据流的丢包率的方法。

基于上述目的本发明提供的一种提高数据中心网络更新成功率的方法,包括:

当网络中所有的候选路径既不能在不迁移现有数据流的情况下容纳,又不能在仅迁移一条现有数据流的情况下容纳所述新数据流,则检测所述候选路径的拥塞链路上的数据流,从所述拥塞链路上迁移走多条数据流,使所述被迁移的数据流迁移前所在的路径构成的新路径能够容纳新数据流,在新路径上传输所述新数据流。

进一步的,所述在从所述拥塞链路上迁移走多条数据流的过程中,所述被迁移的数据流的大小和条数是由所述新数据流的大小和所述候选路径的带宽确定的。

进一步的,所述可行最短路径为包含最少数量的为完成所述新数据流的传输所经过的瓶颈链路的可行路径。

进一步的,所述仅迁移一条现有数据流的过程包括:

找出分配所述新数据流的路径上的所有瓶颈链路;

记录下瓶颈链路上所经过的流,并且找出经过所有瓶颈链路的流;

对找出来的流按照流量大小进行排序,迁移流量最小的数据流来满足所述新数据流对于链路带宽的需求。

进一步的,所述提高网络更新成功率的方法对应的数学模型为:

将网络定义为一个图G=(V,E),V和E分别代表交换机和连接这些交换机的链路,D被定义为网络直径,流f被定义为f=(sf,df,v(f)),sf是入口交换机,df是出口交换机,v(f)是流f的大小,fnew和fmove分别代表由于更新事件产生的需要新加入的流和由于新加入的某条流而需要被迁移的现有流,v(fij)代表流f在链路eij上的负载,lf代表了流f经过的条数,Gf代表包含f经过的所有交换机和链路的子图,F记录了网络中每条流的大小,T代表流量分布矩阵,记录着每条链路上的负载大小。

进一步的,所述数学模型的优化目标为:

在更新的过程中迁移最小的流量和最小数目的数据流。

从上面所述可以看出,本发明提供的一种提高数据中心网络更新成功率的方法,由于不需要考虑如何寻找可行的网络状态,也不需要仔细地设计执行一个更新序列。通过从所述拥塞链路上迁移走多条数据流,使所述被迁移的数据流迁移前所在的路径构成的新路径容纳新数据流,使新数据流能够在拥塞链路中完成即时传输,不需要进行全网搜索目的流量矩阵,也不需要在网络初始和目的状态之间寻找一系列的转换状态,所有的流不会产生冲突,一组数据流可以被并行的更新,加速了更新事件的完成时间,提高了网络更新的成功率。

附图说明

图1为本发明提高网络更新成功率的方法的一个实施例的流程图;

图2a、图2b、图2c分别为为入口交换机上的数据流规则被异步的安装导致的网络拥塞各阶段的状态示意图;

图3为本发明更新方法Lupdate-S的一个实施例的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明提供一种无拥塞网络更新过程中降低需要迁移的数据流的丢包率的方法。

基于上述目的本发明提供的一种提高数据中心网络更新成功率的方法,包括:

当网络中所有的候选路径既不能在不迁移现有数据流的情况下容纳,又不能在仅迁移一条现有数据流的情况下容纳所述新数据流,则检测所述候选路径的拥塞链路上的数据流,从所述拥塞链路上迁移走多条数据流,使所述被迁移的数据流迁移前所在的路径构成的新路径能够容纳新数据流,在新路径上传输所述新数据流。

进一步的,所述在从所述拥塞链路上迁移走多条数据流的过程中,所述被迁移的数据流的大小和条数是由所述新数据流的大小和所述候选路径的带宽确定的。

进一步的,所述可行最短路径为包含最少数量的为完成所述新数据流的传输所经过的瓶颈链路的可行路径。

进一步的,所述仅迁移一条现有数据流的过程包括:

找出分配所述新数据流的路径上的所有瓶颈链路;

记录下瓶颈链路上所经过的流,并且找出经过所有瓶颈链路的流;

对找出来的流按照流量大小进行排序,迁移流量最小的数据流来满足所述新数据流对于链路带宽的需求。

进一步的,所述提高网络更新成功率的方法对应的数学模型为:

将网络定义为一个图G=(V,E),V和E分别代表交换机和连接这些交换机的链路,D被定义为网络直径,流f被定义为f=(sf,df,v(f)),sf是入口交换机,df是出口交换机,v(f)是流f的大小,fnew和fmove分别代表由于更新事件产生的需要新加入的流和由于新加入的某条流而需要被迁移的现有流,v(fij)代表流f在链路eij上的负载,lf代表了流f经过的条数,Gf代表包含f经过的所有交换机和链路的子图,F记录了网络中每条流的大小,T代表流量分布矩阵,记录着每条链路上的负载大小。

进一步的,所述数学模型的优化目标为:

在更新的过程中迁移最小的流量和最小数目的数据流。

在本发明中,将一个网络更新事件导致的需要被迁移的流建模为一组流,然后执行最小代价的流量迁移来容纳这些新流。通过本发明的方法网络操作者不需要考虑如何寻找可行的网络状态,也不需要仔细地设计执行一个更新序列。因为本发明的目的就在于本地地调度每一个新数据流,为他们分配可行的最短路径。

本发明提出IaaS数据中心网络更新的最小数据流量迁移问题,并且把它定义为一个优化问题,该问题描述为:

将网络定义为一个图G=(V,E),V和E分别代表交换机和连接这些交换机的链路。D被定义为网络直径。另外,数据流f被定义为f=(sf,df,v(f)),sf是入口交换机,df是出口交换机,v(f)是数据流f的大小。fnew和fmove分别代表由于更新事件产生的需要新加入的数据流和由于新加入的某条数据流而需要被迁移的现有数据流。v(fij)代表数据流f在链路eij上的负载。lf代表了数据流f经过的跳数。Gf代表包含f经过的所有交换机和链路的子图。F记录了网络中每条数据流的大小,T代表数据流量分布矩阵,记录着每条>

给定一个网络更新事件,初始化集合fnew作为更新事件所产生的数据流集合。由于迁移的数据流的大小将会影响现行网络的功能。因此,更新的过程中应该迁移最小的数据流量来限制负面的影响。因此,第一个目标是:

minΣffmovev(f)---(1)

另外,迁移的数据流的数目也会影响网络的功能。当数据流需要被迁移时,SDN控制器将会在不同的交换机上安装不同的数据流规则。也就是说,控制器和交换机之间的通道将会产生一个很长的队列,这将会阻碍控制器和交换机的正常通信。因此,第二个目标是:

min|fmove|>

集合fmove包含分配给新数据流的路径上的拥塞链路上的所有数据流,表示为:

如果需要在存在瓶颈链路的路径上传输新数据流,那么将会产生拥塞。然后,需要把这条链路加入Lf,将Lf被定义为:

ffnew,i,jGf,v(fi,j)+v(fi,j)>ci,j:Lf=Σei,jpfei,j---(4)

给定一个T,如果满足以下条件,就说网络是正确的:

f,i,jGf:v(fi,j)=v(f)---(5)

f,ei,j/Gf:v(fi,j)=0---(6)

ffnew,ffmove,i,jGf:v(fi,j)+v(fi,j)-v(fi,j)ci,j---(7)

ffnew:lfD---(8)

ffmove:lfD---(9)

ei,jLf,ffmove:ei,jGf---(10)

方程(3)计算需要被迁移的数据流的集合,这些数据流经过了分配给新数据流的路径上的所有瓶颈链路。方程(4)记录了分配给新数据流的路径上的所有拥塞链路。方程(5)保证了网络中的每一条数据流都可以在确定的路径上进行传输。方程(6)意味着数据流f不会出现在不属于子图Gf中的链路和交换机上。方程(7)表明那些被新数据流或者已存在的数据流占用的链路都不会超过链路容量。也就是说,所有的链路都是无拥塞的。方程(8)和(9)表明分配给新数据流和已存在数据流的路径的长度都不会超过网络直径。方程(10)保证需要被迁移的数据流最初都是数据流经拥塞链路的。基于这个模型,给出一个T和fnew,新数据流可以以最小的迁移代价被分配路径。

不论何种网络更新事件,都将DCN更新问题抽象为一组新数据流的重新调度问题。在将DCN更新抽象为一组数据流的重新调度问题之后,我们致力于迁移最小的数据流量来实现最小代价的数据流迁移并且完成无拥塞的网络更新。

在调度每一个新数据流时,分配给新数据流的路径上的链路的带宽不足以支持新数据流,这时需要达到目的是减少因为加入此条新数据流所要迁移的已有数据流的大小和条数。然后将网络更新中最小数据流量迁移的问题描述为上述优化模型。

将由网络更新事件引起的要迁移的数据流抽象为一组需要被重新调度的新数据流,提出了一种更新方法Lupdate-S来解决定义的这个优化问题。Lupdate-S更新方法如下:

对于每一条新数据流,首先为它在网络中搜索出所有的候选路径,并且根据路径的长度对他们进行升序排序。然后,检测第一条可行路径是否可以在不迁移现有数据流量的前提下容纳这条新数据流。如果可以,那么这条新数据流将会在这条路径上进行传输。否则,将会去检测其他的可行路径,直到有一条路径可以容纳新数据流,或者检测完所有的候选路径都不能成功的加入新数据流。这条已知数据流按照下面的步骤选取:

找出分配给新数据流f的路径上的所有瓶颈链路;

记录下瓶颈链路上所经过的数据流,并且找出经过所有瓶颈链路的数据流;

对找出来的数据流按照数据流量大小进行排序,尽力去迁移最小的数据流来满足新数据流对于链路带宽的需求。

那些因为新数据流的加入而不得不被迁走的数据流同样需要被迁移到他们所对应的最短路径上去。

Ludpate-S方法的过程为:为每一个新流找到所有可能的候选路径并对这些路径按路径的长度进行升序排列。判断这条路径上的每一段链路是否都有足够的链路带宽来容纳这条新流。如果链路带宽都是充足的,则在这条路径 上传输新数据流。否则,则找到那些可能发生拥塞的链路,并将其上传输的流记录下来,从中找到那些经过了所有拥塞链路的流。如果不存在这样的流,使它通过了所有的拥塞链路,则在这些拥塞链路上迁移多条流来满足新流对链路带宽的需求。需要被迁走的流的大小和数目取决于新流的大小和候选路径的剩余带宽。一旦新流可以传输,就不再迁移已存在的流。如果存在这样的通过了所有的拥塞链路的流,对这样的流进行降序排列,尽力去迁移最小的流量来满足新流对带宽的要求。

Ludpate-S方法的时间复杂度为:

O(VlgV+E+max(β×(|pf|+VlgV+E),γ×(|pf|+lgβ)))

证法如下:Lupdate-S方法包含更新准备和更新两个阶段。准备更新阶段的时间复杂度是O(VlgV+E)。对于新流f,这里存在γ条最短路径。在更新阶段,迁移分配给新流的最短路径上,拥塞链路上的流。从两个方面来分析它的时间复杂度。首先,如果这里不存在通过所有的拥塞链路的流,将会在这些拥塞链路上迁移多条流,直到这条路径不再存在阻碍新流传输的瓶颈链路。这一阶段最多需要|pf|步,|pf|代表分配给新流的路径长度。最终,这些流将会被任意的迁移到其他的最短路径上,花费的代价为O(VlgV+E)。迁移的流的数目β取决于新流的大小和与之相关的链路的剩余带宽。因此,这一子阶段的时间复杂度是O(β×(|pf|+VlgV+E))。第二,如果存在通过了所有拥塞链路的流,将会调用算法一,尽力去迁移一条最小的流来满足新流对链路容量的限制。这一子阶段的时间复杂度是O(γ×(|pf|+lgβ))。所以,算法的时间复杂度为O(VlgV+E+max(β×(|pf|+VlgV+E),γ×(|pf|+lgβ)))。

如图1所示,为本发明提高网络更新成功率的方法的一个实施例的流程图,包括如下步骤:

步骤101:检测候选路径是否能够容纳新数据流;如果是,则进入步骤102,如果否,则进入步骤103。所述候选路径为包含最少数量的为完成所述新数据流的传输所经过的瓶颈链路的可行最短路径。

步骤102:在该候选路径上传输新数据流。即路径带宽足够容纳新数据流,则直接将新数据流在该路径上传输即可,网路正常工作的情况下,这种状况是最常见的。

步骤103:检测候选路径是否能在迁移一条数据流的前提下容纳新数据 流,如果是,则进入步骤104,如果否,则进入步骤105。在该步骤中,待迁移流应当经过新数据流所要经过的所有瓶颈链路。

步骤104:在该候选路径上传输新数据流。即在迁移现有数据流后的路径上传输新数据流,迁移现有数据流后,该路径有足够的带宽容纳新数据流。

步骤105:检测候选路径的拥塞链路上的数据流。

步骤106:从拥塞链路上迁移多条数据流,使被迁移的数据流所在的拥塞链路构成的新路径能够容纳新数据流。由于迁移一条现有数据流不能完成新数据流的传输,则需要迁移多条数据流,每条数据流都经过新数据流传输路径上某段拥塞链路,并且被迁移的多条数据流经过的拥塞链路构成的新路径包含了新数据流传输所经过的拥塞链路。

步骤107:在新路径上传输新数据流。迁移多条数据流后,新路径有足够的带宽容纳新数据流。

对于一个更新事件和由此引起的一组新流,本发明提供的方法为每一个新流寻找一个合适的路径,并且记录下因为这条新流的加入而被迫迁走的已存在与网络中的流。同时,本发明提供的方法还确保这些被迁走的流之间不会有潜在的冲突发生。即对一个更新事件所导致的需要迁移的流进行分组,确保在一组当中,所有的流不会产生冲突。因此,以组流可以被并行的更新。这将会降低对网络中现有流和应用程序的影响迁移的流量越少,在更新过程中丢的包就越少。

网络更新问题会发生在多个情景当中。一个共同的问题就是全网规模的数据流量迁移将会导致严重的影响。例如,交换机固件升级或者失效重启,网络操作者需要把经过这些交换机的数据流迁移到其他路径上去,以便于这些数据流对于的应用程序可以正确的执行。这些数据流的迁移需要在网络更新或者关闭交换机之前被执行,从而防止错误在网络中的传播。虚拟机的迁移是另外一个例子,它重新设定虚拟机所属的组,同时把所有与之相关的数据流迁移到它所在的位置上去。

这种大规模的迁移,如果没有被正确的处理,将会在网络中导致严重的拥塞。原因是入口交换机上的数据流规则被异步的安装。

如图2a、图2b和图2c所示,分别为入口交换机上的数据流规则被异步的安装导致的网络拥塞各阶段的状态示意图。数据流f1和f2分别由源节点s1和s2产生。为了将网络中已存在的数据流从如图2a的网络状态迁移到如图>1和s2上的规则需要被同时安装。否则,如图2c所示,如果s1上的数据流规则的安装早于s2,链路l2将会负担来自f1和f2的数据流量。相同的事情也会发生如果s2上的规则首先被安装。

为了更准确的表达本发明提出的Lupdate-S更新方法,图3列举了一个例子。如图3所示,为本发明更新方法Lupdate-S的一个实施例的示意图。在图3所示的实施例中,网络中有6个交换机,链路容量是10Mbps。目前网络中有三条流正在传输,他们的需要的带宽分别是2Mbps,3Mbps,4Mbps。初始路径由蓝线标注在图中。如果存在一条从A到F,经过D,E两个交换机,需求带宽为6Mbps的新流。很明显,如果在路径A-D-E-F上传输新流,拥塞将会发生。因此,需要找出此路径的瓶颈链路,也就是链路D-E。然后在这条链路上传输的流f1,f2,f3就是候选的需要被迁移的流。迁移其中的任意一条流并不能满足新流对于带宽的需求,所以Lupdate-S允许迁移多条流。如果迁移f1和f2,同样会在链路A-D段产生拥塞,因此选择迁移f1和f3,以保证新流的正确传输,迁移数据流f1和f3后,链路带宽能够容纳新数据流。

无论在何种状况下,Lupdate-S更新方法总保持很高的成功率来完成网络事件的更新,不受网络规模和链路利用率的影响。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号