本发明涉及ip领域,尤其涉及一种用于网络流量调度的方法和装置。
背景技术:
随着互联网的快速发展,在给用户带来方便的同时,网络拥堵也引起越来越多的关注。为了避免网络拥堵对网络资源造成危害,需要对网络流量进行调度,但目前流量调度决策主要依靠经验决策,在进行调度后,还可能引起新的拥堵问题。
技术实现要素:
本发明要解决的一个技术问题是提供一种能够避免流量调度后发生新的拥堵的网络流量调度方案。
根据本发明一方面,提出一种用于网络流量调度的方法,包括:当边界路由器第一上联方向的链路流量出现拥堵时,确定能够调度到第二上联方向的链路流量,其中,能够调度到第二上联方向的链路流量根据第二上联方向的历史链路流量数据确定;若第一上联方向的链路流量出现拥堵的当天,第一上联方向去往第m个自治域as的预测流量峰值小于能够调度到第二上联方向的链路流量,其中,m为自然数,第一上联方向去往第m个as的预测流量峰值根据第一上联方向去往第m个as的历史流量数据确定,则将第一上联方向去往第m个as的流量调至第二上联方向的链路。
进一步,能够调度到第二上联方向的链路流量根据第二上联方向的历史链路流量数据确定包括:获取第二上联方向的链路流量的总带宽;根据第二上联方向的历史链路流量数据,预测第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值;根据第二上联方向的链路流量的总带宽与第二上联方向的链路流量的峰值的差值确定能够调度到第二上联方向的链路流量。
进一步,根据第二上联方向的历史链路流量数据,预测第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值包括:获取预定时间段内第二上联方向的链路流量峰值时刻的链路流量值f2历史峰值;获取第一上联方向的链路流量出现拥堵的t时刻第二上联方向的链路流量值f2t,以及第二上联方向的链路流量峰值当天t时刻第二上联方向的链路流量值f2历史t;根据f2历史峰值、f2t、f2历史t确定第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值。
进一步,第一上联方向去往第m个as的预测流量峰值根据第一上联方向去往第m个as的历史流量数据确定包括:获取预定时间段内第一上联方向去往第m个as的流量峰值时刻所对应的流量峰值fm1历史峰值;获取第一上联方向的链路流量出现拥堵的t时刻第一上联方向的链路流量值fm1t,以及第一上联方向去往第m个as的流量峰值当天t时刻第一上联方向去往第m个as的流量值fm1历史t;根据fm1历史峰值、fm1t、fm1历史t确定第一上联方向的链路流量出现拥堵的当天第一上联方向去往第m个as的预测流量峰值。
进一步,该方法还包括:统计预定时间内边界路由器各上联方向每天的流量,以及去往各as的流量作为历史流量数据。
根据本发明的另一方面,还提出一种用于网络流量调度的装置,包括:可调度流量计算单元,用于当边界路由器第一上联方向的链路流量出现拥堵时,确定能够调度到第二上联方向的链路流量,其中,能够调度到第二上联方向的链路流量根据第二上联方向的历史链路流量数据确定;流量调度单元,用于若第一上联方向的链路流量出现拥堵的当天,第一上联方向去往第m个自治域as的预测流量峰值小于能够调度到第二上联方向的链路流量,其中,m为自然数,第一上联方向去往第m个as的预测流量峰值根据第一上联方向去往第m个as的历史流量数据确定,则将第一上联方向去往第m个as的流量调至第二上联方向的链路。
进一步,该装置还包括流量预测单元;流量预测单元还用于根据第二上联方向的历史链路流量数据,预测第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值;可调度流量计算单元用于获取第二上联方向的链路流量的总带宽,根据第二上联方向的链路流量的总带宽与第二上联方向的链路流量的峰值的差值确定能够调度到第二上联方向的链路流量。
进一步,流量预测单元还用于获取预定时间段内第二上联方向的链路流量峰值时刻的链路流量值f2历史峰值、第一上联方向的链路流量出现拥堵的t时刻第二上联方向的链路流量值f2t,以及第二上联方向的链路流量峰值当天t时刻第二上联方向的链路流量值f2历史t;根据f2历史峰值、f2t、f2历史t确定第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值。
进一步,流量预测单元还用于获取预定时间段内第一上联方向去往第m个as的历史流量数据中流量峰值时刻所对应的流量峰值fm1历史峰值、第一上联方向的链路流量出现拥堵的t时刻第一上联方向的链路流量值fm1t,以及第一上联方向去往第m个as的流量峰值当天t时刻第一上联方向去往第m个as的流量值fm1历史t;根据fm1历史峰值、fm1t、fm1历史t确定第一上联方向的链路流量出现拥堵的当天第一上联方向去往第m个as的预测流量峰值。
进一步,该装置还包括:流量统计单元,用于统计预定时间内边界路由器各上联方向每天的流量,以及去往各as的流量作为历史流量数据。
与现有技术相比,本发明根据历史流量数据,预测各链路的流量峰值以及去往各as的流量峰值,在某一上联方向链路出现拥堵时,可以及时将去往某一as的流量调度到其他可被调度到的上联方向的链路上,因而能够避免流量调度后造成新的拥堵。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明用于网络流量调度的方法的一个实施例的流程示意图。
图2为本发明用于网络流量调度的方法的另一个实施例的流程示意图。
图3为本发明用于网络流量调度的方法的再一个实施例的流程示意图。
图4为本发明一个实施例的流量调度判断流程图。
图5为本发明用于网络流量调度的装置的一个实施例的结构示意图。
图6为本发明用于网络流量调度的装置的另一个实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1为本发明用于网络流量调度的方法的一个实施例的流程示意图。该方法包括以下步骤:
在步骤110,当边界路由器第一上联方向的链路流量出现拥堵时,确定第二上联方向能够接收的可调度链路流量。例如,当前第二上联方向链路总带宽为b,根据第二上联方向的历史链路流量数据,预测第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值为flow(max),则计算出可调往第二上联方向链路的流量=b-flow(max)。
在步骤120,判断第一上联方向的链路流量出现拥堵的当天,第一上联方向去往第m个as(autonomoussystem,自治系统)的预测流量峰值是否小于第二上联方向能够接收的可调度链路流量,其中m为自然数。如果是,则执行步骤130,否则执行步骤140。
在ip网络运营商边界路由器多个上联方向中,可以把上联方向的流量分成多个as进行统计,一般一个as表示一个地区所有的路由器,去向这些路由器的流量按一个as统计,利用历史流量视图,可以获得最近一个月去往各as的流量视图,进而可以预测第一上联方向的链路流量出现拥堵的当天,第一上联方向去往各as的预测流量峰值。
在步骤130,将第一上联方向去往第m个as的流量调至第二上联方向的链路。
在步骤140,不进行流量调度。
在该实施例中,根据历史流量数据,预测各链路的流量峰值以及去往各as的流量峰值,在某一上联方向链路出现拥堵时,可以及时将去往某一as的流量调度到其他可被调度到的上联方向的链路上,因而能够避免流量调度后造成新的拥堵。并且该实施例利用现网历史流量进行预测,预测的准确性更高。
图2为本发明用于网络流量调度的方法的另一个实施例的流程示意图。该方法包括以下步骤:
在步骤210,根据历史流量数据,统计预定时间内边界路由器各上联方向每天的流量,以及去往各as的流量。例如,可以统计一个月内的流量数据。
在步骤220,当边界路由器第一上联方向的链路流量出现拥堵时,获取第二上联方向的链路流量的总带宽b;
在步骤221,根据第二上联方向的历史链路流量数据,预测第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值flow(max)。
例如,根据前一个的流量数据,确定第二上联方向的链路流量峰值时刻的链路流量值f2历史峰值;第一上联方向的链路流量出现拥堵的t时刻第二上联方向的链路流量值f2t,以及第二上联方向的链路流量峰值当天t时刻第二上联方向的链路流量值f2历史t;根据f2历史峰值、f2t、f2历史t确定第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值,其中第二上联方向的链路流量的峰值=f2历史峰值/f2历史t*f2t。例如,一个月内流量的峰值时7月29日23:30,当时的流量是300g,7月29日10:00的流量是200g。现在是8月12日的上午10:00,流量是180g,预测今天峰值=300/200×180=270g。
在步骤222,根据第二上联方向的链路流量的总带宽b与第二上联方向的链路流量的峰值flow(max)的差值确定能够调度到第二上联方向的链路流量b-flow(max)。
在步骤230,根据第一上联方向去往第m个as的历史流量数据确定第一上联方向的链路流量出现拥堵的当天,第一上联方向去往第m个as的预测流量峰值。
例如,根据前一个的流量数据,确定第一上联方向去往第m个as的流量峰值时刻所对应的流量峰值fm1历史峰值;获取第一上联方向的链路流量出现拥堵的t时刻第一上联方向的链路流量值fm1t,以及第一上联方向去往第m个as的流量峰值当天t时刻第一上联方向去往第m个as的流量值fm1历史t;根据fm1历史峰值、fm1t、fm1历史t确定第一上联方向的链路流量出现拥堵的当天第一上联方向去往第m个as的预测流量峰值,其中,第一上联方向去往第m个as的预测流量峰值=fm1历史峰值/fm1历史t*fm1t。
在步骤240,判断第一上联方向去往第m个as的预测流量峰值是否小于第二上联方向能够接收的可调度链路流量,如果是,则执行步骤250,否则执行步骤260。
在步骤250,将第一上联方向去往第m个as的流量调至第二上联方向的链路。
在步骤260,不进行流量调度。
在该实施例中,根据历史流量数据,预测各链路的流量峰值以及去往各as的流量峰值,在某一上联方向链路出现拥堵时,可以及时将去往某一as的流量调度到其他可被调度到的上联方向的链路上,因而能够避免流量调度后造成新的拥堵。并且该实施例利用现网历史流量进行预测,预测的准确性更高。
图3为本发明用于网络流量调度的方法的再一个实施例的流程示意图。该方法包括以下步骤:
在步骤310,根据历史流量数据,统计预定时间内边界路由器各上联方向每天的流量,以及去往各as的流量。例如,可以统计一个月内的流量数据。
在步骤320,将各上联方向流量最大的那一天的流量视图记为f(n,x,t),其中,n指第n天,x指第x个上联方向,t指时间(0~24点)。
在步骤330,将上联方向x上第n天第m个as的流量视图记为f(n,m,x,t),其中m指第m个as的流量视图,x指上联方向x,t为时间(0~24点)。
在步骤340,当上联方向x1链路即使拥塞时,判断是否可以将上联方向x1的部分流量调往上联方向x2的链路上。若可以,则执行步骤350,否则,执行步骤360。
其中,步骤340可以如图4所示,在步骤341,利用上联方向x2的历史流量视图f(n,x2,t),把当前流量f(x2)代入f(n,x2,t),得到当天该方向链路流量的预测峰值flow(max)。
在步骤341,计算出可调往上联方向x2链路的流量=b-flow(max),其中b为该上联方向的总带宽。
在步骤343,利用上联方向x1上去往各个as的历史流量视图f(n,m,x1,t),把当前去往各as的流量f(m,x1)代入f(n,m,x1,t),得到当天x1方向上去往各个as的预测流量峰值f(n,m,x1)。
在步骤344,判断f(n,m,x1)是否小于b-flow(max),若小于,则执行步骤350,否则,执行步骤360。
在步骤350,在满足将上联方向x1的部分流量调往上联方向x2的链路上后,上联方向x2不会出现拥堵为前提进行流量调度。即将去往第m个as的流量调往上联方向x2。
其中,该实施例按as调度进行分类统计和预测,调度时可以按照地域分类,例如,把去往深圳的流量从x1方向调往x2方向,即为把as号为51***流量从x1调往x2方向。
在步骤360,继续判断是否可以将上联方向x1的部分流量调往其它上联方向的链路上。
在该实施例中,根据历史流量数据,预测各链路的流量峰值以及去往各as的流量峰值,在某一上联方向链路出现拥堵时,可以及时将去往某一as的流量调度到其他可被调度到的上联方向的链路上,因而能够避免流量调度后造成新的拥堵,并且提高了预测的准确性。另外,对去往不同目的的as流量进行分类统计和预测,流量选择的方法简单,准确性更高。
图5为本发明用于网络流量调度的装置的一个实施例的结构示意图。该装置包括可调度流量计算单元510和流量调度单元520,其中:
可调度流量计算单元510用于当边界路由器第一上联方向的链路流量出现拥堵时,确定第二上联方向能够接收的可调度链路流量。例如,当前第二上联方向链路总带宽为b,根据第二上联方向的历史链路流量数据,预测第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值为flow(max),则计算出可调往第二上联方向链路的流量=b-flow(max)。
流量调度单元420用于若所述第一上联方向的链路流量出现拥堵的当天,第一上联方向去往第m个as的预测流量峰值小于第二上联方向能够接收的可调度链路流量,则将第一上联方向去往第m个as的流量调至第二上联方向的链路。
在ip网络运营商边界路由器多个上联方向中,可以把上联方向的流量分成多个as进行统计,一般一个as表示一个地区所有的路由器,去向这些路由器的流量按一个as统计,利用历史流量视图,可以获得最近一个月去往各as的流量视图,进而可以预测当前第一上联方向去往各as的预测流量峰值。
在该实施例中,根据历史流量数据,预测各链路的流量峰值以及去往各as的流量峰值,在某一上联方向链路出现拥堵时,可以及时将去往某一as的流量调度到其他可被调度到的上联方向的链路上,因而能够避免流量调度后造成新的拥堵。并且该实施例利用现网历史流量进行预测,预测的准确性更高。
图6为本发明用于网络流量调度的装置的另一个实施例的结构示意图。该装置包括:流量统计单元610、流量预测单元620、可调度流量计算单元630和流量调度单元640,其中:
流量统计单元610用于根据历史流量数据,统计预定时间内边界路由器各上联方向每天的流量,以及去往各as的流量。例如,可以统计一个月内的流量数据。
流量预测单元620用于根据第二上联方向的历史链路流量数据,预测第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值。
流量预测单元620还用于根据第一上联方向去往第m个as的历史流量数据确定第一上联方向去往第m个as的预测流量峰值。
例如,根据前一个的流量数据,确定第一上联方向去往第m个as的流量峰值时刻所对应的流量峰值fm1历史峰值;获取第一上联方向的链路流量出现拥堵的t时刻第一上联方向的链路流量值fm1t,以及第一上联方向去往第m个as的流量峰值当天t时刻第一上联方向去往第m个as的流量值fm1历史t;根据fm1历史峰值、fm1t、fm1历史t确定第一上联方向的链路流量出现拥堵的当天第一上联方向去往第m个as的预测流量峰值,其中,第一上联方向去往第m个as的预测流量峰值=fm1历史峰值/fm1历史t*fm1t。
可调度流量计算单元630用于获取第二上联方向的链路流量的总带宽b;根据历史流量数据确定第二上联方向的链路流量峰值时刻的链路流量值f2历史峰值;第一上联方向的链路流量出现拥堵的t时刻第二上联方向的链路流量值f2t,以及第二上联方向的链路流量峰值当天t时刻第二上联方向的链路流量值f2历史t;根据f2历史峰值、f2t、f2历史t确定第一上联方向的链路流量出现拥堵的当天第二上联方向的链路流量的峰值,其中第二上联方向的链路流量的峰值=f2历史峰值/f2历史t*f2t。
流量调度单元640用于将第一上联方向去往第m个as的流量调至第二上联方向的链路。
在该实施例中,根据历史流量数据,预测各链路的流量峰值以及去往各as的流量峰值,在某一上联方向链路出现拥堵时,可以及时将去往某一as的流量调度到其他可被调度到的上联方向的链路上,因而能够避免流量调度后造成新的拥堵。并且该实施例利用现网历史流量进行预测,预测的准确性更高。
在本发明的另一个实施例中,流量统计单元610用于根据历史流量数据,统计预定时间内边界路由器各上联方向每天的流量,以及去往各as的流量。例如,可以统计一个月内的流量数据。
流量预测单元620用于将各上联方向流量最大的那一天的流量视图记为f(n,x,t),其中,n指第n天,x指第x个上联方向,t为时间(0~24点);利用上联方向x2的历史流量视图f(n,x2,t),把当前流量f(x2)代入f(n,x2,t),得到当天该方向链路流量的预测峰值flow(max)。
流量预测单元620还用于将上联方向x上第n天第m个as的流量视图记为f(n,m,x,t),其中m指第m个as的流量视图,x指上联方向x,t为时间(0~24点);利用上联方向x1上去往各个as的历史流量视图f(n,m,x1,t),把当前去往各as的流量f(m,x1)代入f(n,m,x1,t),得到当天x1方向上去往各个as的预测流量峰值f(n,m,x1)。
可调度流量计算单元630用于计算出可调往上联方向x2链路的流量=b-flow(max),其中b为该上联方向的总带宽。
流量调度单元640用于当上联方向x1链路发生拥塞时,将去往第m个as的流量调往上联方向x2。
在该实施例中,根据历史流量数据,预测各链路的流量峰值以及去往各as的流量峰值,在某一上联方向链路出现拥堵时,可以及时将去往某一as的流量调度到其他可被调度到的上联方向的链路上,因而能够避免流量调度后造成新的拥堵,并且提高了预测的准确性。另外,对去往不同目的的as流量进行分类统计和预测,流量选择更简单,准确性更高。
至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。