流量调度的方法、装置、设备和计算机存储介质转让专利

申请号 : CN201810575833.9

文献号 : CN108985556B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李聪张柳青韩洋哈晶晶

申请人 : 北京百度网讯科技有限公司

摘要 :

本发明提供一种流量调度的方法、装置、设备和计算机存储介质,所述方法包括:获取上游集群的当前路由表以及下游集群的当前负载;根据下游集群的当前负载以及期望负载确定在下游集群中需要进行流量调度的集群;根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量,所述被调度下游集群为可接收所述需要调度的流量的下游集群;根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。本发明能够提升流量调度的调度效率,减少由异常下游集群所带来的损失。

权利要求 :

1.一种流量调度的方法,其特征在于,所述方法包括:

获取上游集群的当前路由表以及下游集群的当前负载;

根据下游集群的当前负载以及期望负载确定在下游集群中需要进行流量调度的集群;

根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量,所述被调度下游集群为可接收所述需要调度的流量的下游集群;

根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

若下游集群中不存在需要进行流量调度的集群,则转至执行所述获取上游集群的当前路由表以及下游集群的当前负载的步骤。

3.根据权利要求1所述的方法,其特征在于,所述获取下游集群的当前负载包括:获取下游集群的当前流量与额定负载流量;

将下游集群的当前流量与额定负载流量的比值作为下游集群的当前负载。

4.根据权利要求1所述的方法,其特征在于,所述需要进行流量调度的集群需要调度的流量包括:当需要进行流量调度的集群处于过载状况时,需要调度的流量为需要进行流量调度的集群的当前流量超过额定负载流量的流量部分;或者当需要进行流量调度的集群处于故障状况时,需要调度的流量为需要进行流量调度的集群中所包含的全部流量。

5.根据权利要求1所述的方法,其特征在于,所述根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量包括:根据预设的比例系数、被调度下游集群的当前流量,计算被调度下游集群所能接收的流量;

比较被调度下游集群所能接收的流量与需要进行流量调度的集群需要调度的流量的大小,根据比较结果确定被调度下游集群接收到的实际调度流量。

6.根据权利要求1所述的方法,其特征在于,当被调度下游集群的数量为一个时,所述根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量包括:根据被调度下游集群的当前流量、额定负载流量以及预设的比例系数,计算该被调度下游集群所能接收的流量;

若所述被调度下游集群所能接收的流量大于等于需要进行流量调度的集群需要调度的流量,将需要进行流量调度的集群需要调度的流量作为被调度下游集群接收到的实际调度流量,否则将被调度下游集群所能接收的流量作为被调度下游集群接收到的实际调度流量。

7.根据权利要求1所述的方法,其特征在于,当被调度下游集群的数量多于一个时,所述根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量包括:S1、按照当前负载从低到高的顺序对被调度下游集群进行排序,将排序第一的被调度下游集群作为当前被调度下游集群;

S2、根据当前被调度下游集群以及排在其后的被调度下游集群的当前流量以及预设的比例系数,计算当前被调度下游集群所能接收的流量;

S3、若当前被调度下游集群所能接收的流量大于等于需要进行流量调度的集群需要调度的流量,将需要进行流量调度的集群需要调度的流量作为当前被调度下游集群接收到的实际调度流量,并停止计算;

否则将当前被调度下游集群所能接收的流量作为当前被调度下游集群接收到的实际调度流量,并将排在当前被调度下游集群之后的被调度下游集群作为当前被调度下游集群,转至执行所述S2,直至需要进行流量调度的集群需要调度的流量全部调出或者各被调度下游集群中所包含的流量达到额定负载流量。

8.根据权利要求1所述的方法,其特征在于,所述根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改包括:根据被调度下游集群接收到的实际调度流量,调整各上游集群向下游集群调度流量的比例;

根据所调整的调度流量的比例对上游集群的当前路由表进行修改,以得到修改后的目标路由表。

9.一种流量调度的装置,其特征在于,所述装置包括:

获取单元,用于获取上游集群的当前路由表以及下游集群的当前负载;

确定单元,用于根据下游集群的当前负载以及期望负载确定在下游集群中需要进行流量调度的集群;

处理单元,用于根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量,所述被调度下游集群为可接收所述需要调度的流量的下游集群;

调度单元,用于根据被调度下游集群所接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。

10.根据权利要求9所述的装置,其特征在于,所述确定单元还用于执行:若确定下游集群中不存在需要进行流量调度的集群,则转至由获取单元执行所述获取上游集群的当前路由表以及下游集群的当前负载的操作。

11.根据权利要求9所述的装置,其特征在于,所述获取单元在获取下游集群的当前负载时,具体执行:获取下游集群的当前流量与额定负载流量;

将下游集群的当前流量与额定负载流量的比值作为下游集群的当前负载。

12.根据权利要求9所述的装置,其特征在于,所述需要进行流量调度的集群需要调度的流量包括:当需要进行流量调度的集群处于过载状况时,需要调度的流量为需要进行流量调度的集群的当前流量超过额定负载流量的流量部分;或者当需要进行流量调度的集群处于故障状况时,需要调度的流量为需要进行流量调度的集群中所包含的全部流量。

13.根据权利要求9所述的装置,其特征在于,所述处理单元在根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量时,具体执行:根据预设的比例系数、被调度下游集群的当前流量,计算被调度下游集群所能接收的流量;

比较被调度下游集群所能接收的流量与需要进行流量调度的集群所需要调度的流量的大小,根据比较结果确定被调度下游集群接收到的实际调度流量。

14.根据权利要求9所述的装置,其特征在于,当被调度下游集群的数量为一个时,所述处理单元在根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量时,具体执行:根据被调度下游集群的当前流量、额定负载流量以及预设的比例系数,计算该被调度下游集群所能接收的流量;

若所述被调度下游集群所能接收的流量大于等于需要进行流量调度的集群所需要调度的流量,将需要进行流量调度的集群需要调度的流量作为被调度下游集群接收到的实际调度流量,否则将被调度下游集群所能接收的流量作为被调度下游集群接收到的实际调度流量。

15.根据权利要求9所述的装置,其特征在于,当被调度下游集群的数量多于一个时,所述处理单元在根据预设的比例系数以及需要进行流量调度的集群所需要调度的流量,确定被调度下游集群接收到的实际调度流量时,具体执行:S1、按照当前负载从低到高的顺序对被调度下游集群进行排序,将排序第一的被调度下游集群作为当前被调度下游集群;

S2、根据当前被调度下游集群以及排在其后的被调度下游集群的当前流量以及预设的比例系数,计算当前被调度下游集群所能接收的流量;

S3、若当前被调度下游集群所能接收的流量大于等于需要进行流量调度的集群所需要调度的流量,将需要进行流量调度的集群需要调度的流量作为当前被调度下游集群接收到的实际调度流量,并停止计算;

否则将当前被调度下游集群所能接收的流量作为当前被调度下游集群接收到的实际调度流量,并将排在当前被调度下游集群之后的被调度下游集群作为当前被调度下游集群,转至执行所述S2,直至需要进行流量调度的集群需要调度的流量全部调出或者各被调度下游集群中所包含的流量达到额定负载流量。

16.根据权利要求9所述的装置,其特征在于,所述调度单元在根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改时,具体执行:根据被调度下游集群接收到的实际调度流量,调整各上游集群向下游集群调度流量的比例;

根据所调整的调度流量的比例对上游集群的当前路由表进行修改,以得到修改后的目标路由表。

17.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8中任一项所述的方法。

18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~8中任一项所述的方法。

说明书 :

流量调度的方法、装置、设备和计算机存储介质

【技术领域】

[0001] 本发明涉及运维技术领域,尤其涉及一种流量调度的方法、装置、设备和计算机存储介质。【背景技术】
[0002] 对于包含多个独立集群且有空闲容量的系统来说,为了处理集群不可用故障、降低集群过载风险或提高集群的响应速度,经常需要进行流量调度,从而调整服务使用方与服务提供方之间的拓扑关系。现有技术在进行集群的流量调度时一般采用人为经验所给出的调度方案进行调度,或者按照流量来源的固定比例进行调度。对于依赖人为分析给出调度方案的过程来说,其需要耗费较多时间,耽搁问题的处理进度,容易导致由于误判造成的损失;而对于依照固定流量比例的方法进行调度时,不能处理调度过程中负载变化和观测误差的情况,容易导致集群过载。【发明内容】
[0003] 有鉴于此,本发明提供了一种流量调度的方法、装置、设备和计算机存储介质,用于实现在避免正常下游集群过载的情况下尽快完成流量调度,提升流量调度的调度效率,减少异常下游集群所带来的损失。
[0004] 本发明为解决技术问题所采用的技术方案是提供一种流量调度的方法,所述方法包括:获取上游集群的当前路由表以及下游集群的当前负载;根据下游集群的当前负载以及期望负载确定在下游集群中需要进行流量调度的集群;根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量,所述被调度下游集群为可接收所述需要调度的流量的下游集群;根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。
[0005] 根据本发明一优选实施例,所述方法还包括:若下游集群中不存在需要进行流量调度的集群,则转至执行所述获取上游集群的当前路由表以及下游集群的当前负载的步骤。
[0006] 根据本发明一优选实施例,所述获取下游集群的当前负载包括:获取下游集群的当前流量与额定负载流量;将下游集群的当前流量与额定负载流量的比值作为下游集群的当前负载。
[0007] 根据本发明一优选实施例,所述需要进行流量调度的集群需要调度的流量包括:当需要进行流量调度的集群处于过载状况时,需要调度的流量为需要进行流量调度的集群的当前流量超过额定负载流量的流量部分;或者当需要进行流量调度的集群处于故障状况时,需要调度的流量为需要进行流量调度的集群中所包含的全部流量。
[0008] 根据本发明一优选实施例,所述根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量包括:根据预设的比例系数、被调度下游集群的当前流量,计算被调度下游集群所能接收的流量;比较被调度下游集群所能接收的流量与需要进行流量调度的集群需要调度的流量的大小,根据比较结果确定被调度下游集群接收到的实际调度流量。
[0009] 根据本发明一优选实施例,当被调度下游集群的数量为一个时,所述根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量包括:根据被调度下游集群的当前流量、额定负载流量以及预设的比例系数,计算该被调度下游集群所能接收的流量;若所述被调度下游集群所能接收的流量大于等于需要进行流量调度的集群需要调度的流量,将需要进行流量调度的集群需要调度的流量作为被调度下游集群接收到的实际调度流量,否则将被调度下游集群所能接收的流量作为被调度下游集群接收到的实际调度流量。
[0010] 根据本发明一优选实施例,当被调度下游集群的数量多于一个时,所述根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量包括:S1、按照当前负载从低到高的顺序对被调度下游集群进行排序,将排序第一的被调度下游集群作为当前被调度下游集群;S2、根据当前被调度下游集群以及排在其后的被调度下游集群的当前流量以及预设的比例系数,计算当前被调度下游集群所能接收的流量;S3、若当前被调度下游集群所能接收的流量大于等于需要进行流量调度的集群需要调度的流量,将需要进行流量调度的集群需要调度的流量作为当前被调度下游集群接收到的实际调度流量,并停止计算;否则将当前被调度下游集群所能接收的流量作为当前被调度下游集群接收到的实际调度流量,并将排在当前被调度下游集群之后的被调度下游集群作为当前被调度下游集群,转至执行所述S2,直至需要进行流量调度的集群需要调度的流量全部调出或者各被调度下游集群中所包含的流量达到额定负载流量。
[0011] 根据本发明一优选实施例,所述根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改包括:根据被调度下游集群接收到的实际调度流量,调整各上游集群向下游集群调度流量的比例;根据所调整的调度流量的比例对上游集群的当前路由表进行修改,以得到修改后的目标路由表。
[0012] 本发明为解决技术问题所采用的技术方案是提供一种流量调度的装置,所述装置包括:获取单元,用于获取上游集群的当前路由表以及下游集群的当前负载;确定单元,用于根据下游集群的当前负载以及期望负载确定在下游集群中需要进行流量调度的集群;处理单元,用于根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量,所述被调度下游集群为可接收所述需要调度的流量的下游集群;调度单元,用于根据被调度下游集群所接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。
[0013] 根据本发明一优选实施例,所述确定单元还用于执行:若确定下游集群中不存在需要进行流量调度的集群,则转至由获取单元执行所述获取上游集群的当前路由表以及下游集群的当前负载的操作。
[0014] 根据本发明一优选实施例,所述获取单元在获取下游集群的当前负载时,具体执行:获取下游集群的当前流量与额定负载流量;将下游集群的当前流量与额定负载流量的比值作为下游集群的当前负载。
[0015] 根据本发明一优选实施例,所述需要进行流量调度的集群需要调度的流量包括:当需要进行流量调度的集群处于过载状况时,需要调度的流量为需要进行流量调度的集群的当前流量超过额定负载流量的流量部分;或者当需要进行流量调度的集群处于故障状况时,需要调度的流量为需要进行流量调度的集群中所包含的全部流量。
[0016] 根据本发明一优选实施例,所述处理单元在根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量时,具体执行:根据预设的比例系数、被调度下游集群的当前流量,计算被调度下游集群所能接收的流量;
比较被调度下游集群所能接收的流量与需要进行流量调度的集群所需要调度的流量的大小,根据比较结果确定被调度下游集群接收到的实际调度流量。
[0017] 根据本发明一优选实施例,当被调度下游集群的数量为一个时,所述处理单元在根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量时,具体执行:根据被调度下游集群的当前流量、额定负载流量以及预设的比例系数,计算该被调度下游集群所能接收的流量;若所述被调度下游集群所能接收的流量大于等于需要进行流量调度的集群所需要调度的流量,将需要进行流量调度的集群需要调度的流量作为被调度下游集群接收到的实际调度流量,否则将被调度下游集群所能接收的流量作为被调度下游集群接收到的实际调度流量。
[0018] 根据本发明一优选实施例,当被调度下游集群的数量多于一个时,所述处理单元在根据预设的比例系数以及需要进行流量调度的集群所需要调度的流量,确定被调度下游集群接收到的实际调度流量时,具体执行:S1、按照当前负载从低到高的顺序对被调度下游集群进行排序,将排序第一的被调度下游集群作为当前被调度下游集群;S2、根据当前被调度下游集群以及排在其后的被调度下游集群的当前流量以及预设的比例系数,计算当前被调度下游集群所能接收的流量;S3、若当前被调度下游集群所能接收的流量大于等于需要进行流量调度的集群所需要调度的流量,将需要进行流量调度的集群需要调度的流量作为当前被调度下游集群接收到的实际调度流量,并停止计算;否则将当前被调度下游集群所能接收的流量作为当前被调度下游集群接收到的实际调度流量,并将排在当前被调度下游集群之后的被调度下游集群作为当前被调度下游集群,转至执行所述S2,直至需要进行流量调度的集群需要调度的流量全部调出或者各被调度下游集群中所包含的流量达到额定负载流量。
[0019] 根据本发明一优选实施例,所述调度单元在根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改时,具体执行:根据被调度下游集群接收到的实际调度流量,调整各上游集群向下游集群调度流量的比例;根据所调整的调度流量的比例对上游集群的当前路由表进行修改,以得到修改后的目标路由表。
[0020] 由以上技术方案可以看出,本发明在流量调度的过程中,通过预设的比例系数以及需要进行流量调度的集群需要调度的流量来确定被调度下游集群所接收的实际调度流量,并基于该实际调度流量对上游集群的当前路由表进行修改后,基于修改后的路由表进行流量调度,从而在避免正常下游集群过载的情况下尽快完成流量调度,提升流量调度的调度效率,减少异常下游集群所带来的损失。【附图说明】
[0021] 图1为本发明一实施例提供的流量调度的方法流程图;
[0022] 图2为本发明一实施例提供的流量调度的装置结构图;
[0023] 图3为本发明一实施例提供的计算机系统/服务器的框图。【具体实施方式】
[0024] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0025] 在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0026] 应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0027] 取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
[0028] 图1为本发明一实施例提供的流量调度的方法流程图,如图1中所示,所述方法包括:
[0029] 在101中,获取上游集群的当前路由表以及下游集群的当前负载。
[0030] 在本发明中,上游集群可以看作是服务使用方对应的集群,例如在对某一服务进行使用时,由不同地区、不同网络运营商的用户所组成的集群,如北京电信集群、北京联通集群、河北电信集群等;下游集群可以看作是服务提供方对应的集群,例如由某一服务的提供商所提供的分别承载不同网络运营商的用户的集群,例如电信集群、联通集群、铁通集群等。
[0031] 在本发明中,上游集群的路由表表示上游集群的流量调度到各下游集群的比例信息。因此,本步骤中所获取的上游集群的当前路由表为表示当前上游集群的流量调度到各下游集群的比例信息。而下游集群的当前负载表示下游集群当前的负载情况,可以通过以下方式获取:获取下游集群的当前流量以及额定负载流量;将下游集群的当前流量与额定负载流量的比值作为下游集群的当前负载。其中,下游集群的当前流量为下游集群接收到的由上游集群所调度的流量,而下游集群的额定负载流量为下游集群所能够承载流量的极限值。本步骤还可以进一步获取上游集群的当前流量,其对应当前各上游集群中用户请求使用服务的流量。
[0032] 举例来说,若上游集群的当前路由表如表1中所示,其中数字1、2、3表示上游集群:分别为北京电信集群、北京联通集群以及河北电信集群,而字母a、b、c表示下游集群:分别为电信集群、联通集群以及铁通集群。从表1中可以看出,上游集群中北京电信集群往下游集群中电信集群调度流量的比例为100%,往其他下游集群调度流量的比例为0%;上游集群中北京联通集群往下游集群中联通集群调度流量的比例为100%,往其他下游集群调度流量的比例为0%;上游集群中河北电信集群往下游集群中电信集群调度流量的比例为
100%,往其他下游集群调度流量的比例为0%。若北京电信集群、北京联通集群以及河北电信集群的当前流量均为100次请求/秒,则根据上游集群的路由表可以得到电信集群的当前流量为200次请求/秒,联通集群的当前流量为100次请求/秒,铁通集群的当前流量为0次请求/秒。也可以通过监测各下游集群状态数据的方式直接获取各下游集群的当前流量。
[0033] 表1上游集群的当前路由表
[0034]  1 2 3
a 100% 0% 100%
b 0% 100% 0%
C 0% 0% 0%
合计 100% 100% 100%
[0035] 在102中,根据下游集群的当前负载以及期望负载确定在下游集群中是否存在需要进行流量调度的集群。
[0036] 本步骤中,在根据步骤101所获取的下游集群的当前负载以及下游集群的期望负载进行比较后,根据比较结果确定下游集群中是否存在需要进行流量调度的集群。在本发明中,下游集群的期望负载为下游集群所期望的最大负载,在下游集群处于正常状态时为1,在下游集群发生故障时为0。
[0037] 举例说明,若上述三个下游集群均处于正常状态,则各下游集群的期望负载均为1,若各下游集群的额定负载流量均为190次请求/秒,电信集群的当前流量为200次请求/秒,联通集群的当前流量为100次请求/秒,铁通集群的当前流量为0次请求/秒,则能够得到电信集群的当前负载为1.05,联通集群的当前负载为0.53,铁通集群的当前负载则为0。然后对各下游集群的当前负载与期望负载进行比较,根据比较结果能够得知电信集群的当前负载(1.05)超过了其期望负载(1),而联通集群与铁通集群的当前负载均未超过期望负载,从而确定电信集群处于过载状态需要进行流量调度。
[0038] 可以理解的是,若下游集群的期望负载为0时,则可以直接确定期望负载为0的下游集群处于故障状态,进而确定需要对该下游集群进行流量调度。
[0039] 在本步骤中,若确定下游集群中存在需要流量调度的集群,则继续执行步骤103;若不存在,则执行步骤101获取上游集群的当前路由表以及下游集群的当前负载的步骤,从而继续进行判断,以此循环进行。
[0040] 在103中,根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量。
[0041] 由于流量在更换集群时,会因为更换后的集群缺少缓存而消耗更多的资源,且流量自身存在波动,因此采用直接将流量调度到其他集群的方式时,容易造成其他集群产生过载的情况。因此,本发明通过设定比例系数的方式,对需要进行流量调度的集群需要调度的流量进行相应的处理,从而有效地防止被调度集群在接收调度的流量时,由于上述原因可能造成的过载情况。在本发明中,可以人工设定比例系数,例如根据人为经验将比例系数设定为0.5;也可以根据下游集群的负载波动情况设定比例系数,例如若预设的比例系数为k,集群的负载波动情况为cv(通过监测集群状态获取),则预设的比例系数k可以通过公式k=1/(1+(3×cv))计算得到。在本实施例中,选取由人工设定的比例系数k为0.5进行描述。
[0042] 若步骤102确定存在需要进行流量调度的集群时,则表明需要进行流量调度的下游集群出现了过载状况或者故障情况。在本步骤中,被调度下游集群为可接收需要调度的流量的下游集群,即下游集群中处于正常状态的集群。可以理解的是,若下游集群处于过载状况,可以确定该下游集群需要调度的流量为该集群超出额定负载流量的流量部分;若下游集群处于故障状况,可以确定该下游集群需要调度的流量为该集群中所包含的全部流量。
[0043] 在本步骤中,首先根据预设的比例系数以及被调度下游集群的当前流量,计算被调度下游集群所能接收的流量;然后比较需要进行流量调度的集群需要调度的流量与被调度下游集群所能接收的流量的大小,从而根据比较结果确定被调度下游集群接收到的实际调度流量。
[0044] 而在确定被调度下游集群接收到的实际调度流量时,可以根据被调度下游集群的数量采用不同的计算方式。
[0045] 具体地,当被调度下游集群仅有一个时,首先根据该被调度下游集群的当前流量、额定负载流量以及预设的比例系数计算该被调度下游集群所能接收的流量。举例来说,若被调度下游集群的当前流量为100次请求/秒,额定负载流量为190次请求/秒,预设的比例系数为0.5,则该被调度下游集群所能接收的流量为(190-100)×0.5=45次请求/秒。进而判断需要进行流量调度的集群需要调度的流量以及被调度下游集群所能接收的流量的大小,若被调度下游集群所能接收的流量大于等于需要进行流量调度的集群需要调度的流量,将需要进行流量调度的集群需要调度的流量确定为被调度下游集群接收到的实际调度流量,否则将被调度下游集群所能接收的流量确定为被调度下游集群接收到的实际调度流量。
[0046] 举例来说,若被调度下游集群所能接收的流量为45次请求/秒,需要进行流量调度的集群需要调度的流量为10次请求/秒,则将10次请求/秒确定为被调度下游集群所接收的实际调度流量;若需要进行流量调度的集群需要调度的流量为55次请求/秒,则将45次请求/秒确定为被调度下游集群接收到的实际调度流量。
[0047] 具体地,当被调度下游集群为多于一个时,则可以按照当前负载从低到高的顺序依次确定被调度集群接收到的实际调度流量,直至需要进行流量调度的集群需要调度的流量全部调出或者各被调度下游集群中所包含的流量达到额定负载流量。
[0048] 在按照当前负载从低到高的顺序依次确定被调度集群所接收到的实际调度流量时,可以采用以下方式:
[0049] 进行第一次流量调度计算:将排序第一的被调度下游集群作为当前被调度下游集群,根据当前被调度下游集群以及排在其后的被调度下游集群(即排序第一的下游集群以及排序第二的下游集群)的当前流量以及预设的比例系数,确定当前被调度下游集群所能接收的流量。举例来说,若预设的比例系数为k,当前(排序第一)被调度下游集群的当前流量为x,排在其后(排序第二)的被调度下游集群的当前流量为y,则当前被调度下游集群所能接收的流量为((y-x)×k)。若当前被调度下游集群所能接收的流量大于等于需要进行流量调度的集群需要调度的流量,则将需要进行流量调度的集群需要调度的流量作为当前被调度下游集群接收到的实际调度流量,否则将当前被调度下游集群所能接收的流量作为该被调度下游集群的实际调度流量。由于需要进行流量调度的集群中仍有流量未调度出,则需要继续进行计算。第一次流量调度计算的结果为使得当前被调度下游集群与排在其后的被调度下游集群的当前负载一致。
[0050] 进行第二次流量调度计算:将排在当前被调度下游集群之后的被调度下游集群作为当前被调度下游集群,根据当前被调度下游集群以及排在其后的被调度下游集群(即排序第二的下游集群以及排序第三的下游集群)的当前流量以及预设的比例系数,确定当前被调度下游集群所能接收的流量(其中,排序第二与排序第一的被调度下游集群所能接收的流量在第二次计算时相等)。举例来说,若预设的比例系数为k,当前(排序第二)被调度下游集群的当前流量为y,排在其后(排序第三)的被调度下游集群的当前流量为z,则当前被调度下游集群所能接收的流量为((z-y)×k)。若当前被调度下游集群所能接收的流量的两倍大于等于需要进行流量调度的集群在第一次计算后所剩余的流量,则将需要进行流量调度的集群所剩余的流量分配至当前被调度下游集群以及排在其前的被调度下游集群(排序第二以及排序第一的被调度下游集群),若当前被调度下游集群所能接收的流量的两倍小于需要进行流量调度的集群在第一次计算后所剩余的流量,则将当前被调度下游集群所能接收的流量作为当前被调度下游集群以及排在其前的被调度下游集群(排序第二以及排序第一的下游集群)的实际调度流量。由于需要进行流量调度的集群中仍有流量未调度出,则需要继续进行计算。第二次流量调度计算的结果为使得当前被调度下游集群以及排在其前、排在其后(即排序第一、排序第二、排序第三)的被调度下游集群的当前负载一致。
[0051] 按照上述方式对全部被调度下游集群的实际调度流量的计算完成后,若需要进行流量调度的集群中仍然有未调度出的流量,则继续使用以下方式进行最后一次流量调度的计算。之前流量调度的计算结果为使得被调度下游集群的当前负载均一致。
[0052] 最后一次流量调度计算:当按照排序计算完成后,各被调度下游集群的当前负载均一致,但需要进行流量调度的集群中仍有流量未调度,则根据预设的比例系数、各被调度下游集群的当前流量以及额定负载流量,计算各被调度下游集群所能接收的流量,若各被调度下游集群所能接收的流量之和大于等于需要进行流量调度的集群中剩余的流量,则将需要进行流量调度的集群中剩余的流量分配至各被调度下游集群,若各被调度下游集群所能接收的流量之和小于需要进行流量调度的集群中剩余的流量,则将各被调度下游集群所能接收的流量作为各被调度下游集群所接收的实际调度流量。
[0053] 需要说明的是,当在最后一次流量调度计算结束后,需要进行流量调度的集群中若仍有剩余流量未调出,为了保证下游集群能够最大化地正常运行,不再对需要进行流量调度的集群中的剩余流量进行调度,完成被调度下游集群接收到的实际调度流量的计算。
[0054] 另外,本步骤在确定被调度下游集群接收到的实际调度流量时,还可以采用以下方式:使用近似求解方程的方法,即牛顿-拉夫逊法,将预设的比例系数、需要进行流量调度的集群需要调度的流量、被调度下游集群的个数以及被调度下游集群的额定负载流量作为参数,所得到的计算结果为各被调度下游集群所接收流量的上边界,若计算得到的被调度下游集群的上边界高于最大负载,则所调度的流量与被调度下游集群中已有的流量之和不得超过该下游集群的额定负载流量。
[0055] 可以理解的是,在将待调度流量分配至被调度下游集群时,可以随机分配,也可以按照预设的偏好设置进行分配。例如电信集群a需要调度出10次请求/秒的流量到铁通集群c,可以随机从北京电信集群1中调度出5次请求/秒的流量、从河北电信集群3中调度出5次请求/秒的流量;若铁通集群c位于河北,则可以优选地从河北电信集群3中调度出10次请求/秒的流量,而不需要从北京电信集群1中调度出流量。
[0056] 在104中,根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。
[0057] 在本步骤中,根据步骤103所得到的各被调度下游集群的实际调度流量来修改上游集群的当前路由表,进而根据修改得到的目标路由表进行流量调度。其中,修改上游集群的当前路由表即调整上游集群的流量调度到各下游集群的比例,根据修改后的流量调度比例进行上游集群往下游集群所调度的流量,从而解决下游集群发生的过载情况或缓解下游集群发生的故障情况。
[0058] 对上述过程进行举例说明,假设有三个下游集群:分别为电信集群a、联通集群b以及铁通集群c,有三个上游集群:分别为北京电信集群1、北京联通集群2以及河北电信集群3,其中若上游集群的当前路由表如表1所示,各上游集群的当前流量均为100次请求/秒,而各下游集群的额定负载流量均为190次请求/秒。根据当前路由表能够得知,电信集群a的当前流量为200次请求/秒,联通集群b的当前流量为100次请求/秒,铁通集群的当前流量为0次请求/秒,进而计算得到电信集群a的当前负载为1.05,联通集群b的当前负载为0.53,铁通集群c的当前负载为0。根据各下游集群的当前负载可知,电信集群a处于过载状态需要进行流量调度,而铁通集群c的当前负载要低于联通集群b的当前负载。计算调度到铁通集群c的实际调度流量:首先计算铁通集群c在第一次计算时所能接收的流量,根据联通集群b的当前流量(100次请求/秒)、铁通集群c的当前流量(0次请求/秒)以及预设的比例系数(0.5)进行计算,得到((100-0)×0.5=50次请求/秒),而电信集群a需要调度的流量为(200-190=10次请求/秒),则可以确定铁通集群c的实际调度流量为10次请求/秒。而根据上游集群的当前路由表可知,调度到电信集群a的上游集群分别为北京电信集群1以及河北电信集群
3,则可以按照将北京电信集群1中的5份流量以及河北电信集群3中的5份流量调度至铁通集群c来修改当前路由表,修改后上游集群的目标路由表如表2中所示。再按照修改后的目标路由表进行流量调度时,具体位置:北京电信集群1将95次请求/秒的流量调度至电信集群a,将5次请求/秒的流量调度至铁通集群c;河北电信集群3将95次请求/秒的流量调度至电信集群a,将5次请求/秒的流量调度至铁通集群c。
[0059] 表2修改后上游集群的目标路由表
[0060]  1 2 3
a 95% 0% 95%
b 0% 100% 0%
c 5% 0% 5%
合计 100% 100% 100%
[0061] 图2为本发明一实施例提供的流量调度的装置结构图,如图2中所示,所述装置包括:获取单元21、确定单元22、处理单元23以及调度单元24。
[0062] 获取单元21,用于获取上游集群的当前路由表以及下游集群的当前负载。
[0063] 在本发明中,上游集群的路由表表示上游集群的流量调度到各下游集群的比例信息。因此,获取单元21所获取的上游集群的当前路由表为表示当前上游集群的流量调度到各下游集群的比例信息。而下游集群的当前负载表示下游集群当前的负载情况,获取单元21可以通过以下方式获取:获取下游集群的当前流量以及额定负载流量;将下游集群的当前流量与额定负载流量的比值作为下游集群的当前负载。其中,下游集群的当前流量为下游集群接收到的由上游集群所调度的流量,而下游集群的额定负载流量为下游集群所能够承载流量的极限值。获取单元21还可以进一步获取上游集群的当前流量,其对应当前各上游集群中用户请求使用服务的流量。
[0064] 确定单元22,用于根据下游集群的当前负载以及期望负载确定在下游集群中需要进行流量调度的集群。
[0065] 确定单元22在根据获取单元21所获取的下游集群的当前负载以及下游集群的期望负载进行比较后,根据比较结果确定下游集群中需要进行流量调度的集群。在本发明中,下游集群的期望负载为下游集群所期望的最大负载,在下游集群处于正常状态时为1,在下游集群发生故障时为0。
[0066] 可以理解的是,若下游集群的期望负载为0时,确定单元22可以直接确定期望负载为0的下游集群处于故障状态,进而确定需要对该下游集群进行流量调度。
[0067] 确定单元22若确定下游集群中存在需要进行流量调度的集群,则由处理单元23继续执行相应的操作;若不存在,则由获取单元21继续执行获取上游集群的当前路由表以及下游集群的当前负载的操作,以此循环进行。
[0068] 处理单元23,用于根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量,所述被调度下游集群为可接收所述需要调度的流量的下游集群。
[0069] 由于流量在更换集群时,会因为更换后的集群缺少缓存而消耗更多的资源,且流量自身存在波动,因此采用直接将流量调度到其他集群的方式时,容易造成其他集群产生过载的情况。因此,本发明通过设定比例系数的方式,对需要进行流量调度的集群需要调度的流量进行相应的处理,从而有效地防止被调度集群在接收调度的流量时,由于上述原因可能造成的过载情况。在本发明中,可以人工设定比例系数,例如根据人为经验将比例系数设定为0.5;也可以根据下游集群的负载波动情况设定比例系数,例如若预设的比例系数为k,集群的负载波动情况为cv(通过监测集群状态获取),则预设的比例系数k可以通过公式k=1/(1+(3×cv))计算得到。在本实施例中,选取由人工设定的比例系数k为0.5进行描述。
[0070] 若确定单元22确定存在需要进行流量调度的集群时,则表明需要进行流量调度的下游集群出现了过载状况或者故障情况。在处理单元23中,被调度下游集群为可接收需要调度的流量的下游集群。可以理解的是,若下游集群处于过载状况,处理单元23可以确定该下游集群需要调度的流量为该集群超出额定负载流量的流量部分;若下游集群处于故障状况,处理单元23可以确定该下游集群需要调度的流量为该集群中所包含的全部流量。
[0071] 处理单元23首先根据预设的比例系数以及被调度下游集群的当前流量,计算被调度下游集群所能接收的流量;然后比较需要进行流量调度的集群需要调度的流量与被调度下游集群所能接收的流量的大小,从而根据比较结果确定被调度下游集群接收到的实际调度流量。
[0072] 而在确定被调度下游集群接收到的实际调度流量时,处理单元23可以根据被调度下游集群的数量采用不同的计算方式。
[0073] 具体地,当被调度下游集群仅有一个时,处理单元23首先根据该被调度下游集群的当前流量、额定负载流量以及预设的比例系数计算该被调度下游集群所能接收的流量。进而判断需要进行流量调度的集群需要调度的流量以及被调度下游集群所能接收的流量的大小,若被调度下游集群所能接收的流量大于等于需要进行流量调度的集群需要调度的流量,处理单元23将需要进行流量调度的集群需要调度的流量确定为被调度下游集群接收到的实际调度流量,否则将被调度下游集群所能接收的流量确定为被调度下游集群接收到的实际调度流量。
[0074] 具体地,当被调度下游集群多于一个时,则处理单元23可以按照当前负载从低到高的顺序依次确定被调度集群接收到的实际调度流量,直至需要进行流量调度的集群需要调度的流量全部调出或者各被调度下游集群中所包含的流量达到额定负载流量。
[0075] 在按照当前负载从低到高的顺序依次确定被调度集群所接收到的实际调度流量时,处理单元23可以采用以下方式:
[0076] 进行第一次流量调度计算:处理单元23将排序第一的被调度下游集群作为当前被调度下游集群,根据当前被调度下游集群以及排在其后的被调度下游集群(即排序第一的下游集群以及排序第二的下游集群)的当前流量以及预设的比例系数,确定当前被调度下游集群所能接收的流量。若当前被调度下游集群所能接收的流量大于等于需要进行流量调度的集群需要调度的流量,处理单元23则将需要进行流量调度的集群需要调度的流量作为当前被调度下游集群接收到的实际调度流量,否则将当前被调度下游集群所能接收的流量作为该被调度下游集群的实际调度流量。由于需要进行流量调度的集群中仍有流量未调度出,处理单元23需要继续进行计算。处理单元23所进行的第一次流量调度计算的结果为使得当前被调度下游集群与排在其后的被调度下游集群的当前负载一致。
[0077] 进行第二次流量调度计算:处理单元23将排在当前被调度下游集群之后的被调度下游集群作为当前被调度下游集群,根据当前被调度下游集群以及排在其后的被调度下游集群(即排序第二的下游集群以及排序第三的下游集群)的当前流量以及预设的比例系数,确定当前被调度下游集群所能接收的流量(其中,排序第二与排序第一的被调度下游集群所能接收的流量在第二次计算时相等)。若当前被调度下游集群所能接收的流量的两倍大于等于需要进行流量调度的集群在第一次计算后所剩余的流量,处理单元23则将需要进行流量调度的集群所剩余的流量分配至当前被调度下游集群以及排在其前的被调度下游集群(排序第二以及排序第一的被调度下游集群),若当前被调度下游集群所能接收的流量的两倍小于需要进行流量调度的集群在第一次计算后所剩余的流量,处理单元23则将当前被调度下游集群所能接收的流量作为当前被调度下游集群以及排在其前的被调度下游集群(排序第二以及排序第一的下游集群)的实际调度流量。由于需要进行流量调度的集群中仍有流量未调度出,处理单元23还需要继续进行计算。处理单元23所进行的第二次流量调度计算的结果为使得当前被调度下游集群以及排在其前、排在其后(即排序第一、排序第二、排序第三)的被调度下游集群的当前负载一致。
[0078] 处理单元23按照上述方式对全部被调度下游集群的实际调度流量的计算完成后,若需要进行流量调度的集群中仍然有未调度出的流量,则继续使用以下方式进行最后一次流量调度的计算。处理单元23之前进行实际调度流量的计算结果为使得被调度下游集群的当前负载均一致。
[0079] 最后一次流量调度计算:当按照排序计算完成后,各被调度下游集群的当前负载均一致,但需要进行流量调度的集群中仍有流量未调度,处理单元23则根据预设的比例系数、各被调度下游集群的当前流量以及额定负载流量,计算各被调度下游集群所能接收的流量,若各被调度下游集群所能接收的流量之和大于等于需要进行流量调度的集群中剩余的流量,处理单元23则将需要进行流量调度的集群中剩余的流量分配至各被调度下游集群,否则处理单元23将各被调度下游集群所能接收的流量作为各被调度下游集群所接收的实际调度流量。
[0080] 需要说明的是,当在最后一次流量调度计算结束后,需要进行流量调度的集群中若仍有剩余流量未调出,为了保证下游集群能够最大化地正常运行,处理单元23不再对需要进行流量调度的集群中的剩余流量进行调度,完成被调度下游集群接收到的实际调度流量的计算。
[0081] 另外,处理单元23在计算被调度下游集群接收到的实际调度流量时,还可以采用以下方式:使用近似求解方程的方法,即牛顿-拉夫逊法,将预设的比例系数、需要进行流量调度的集群需要调度的流量、被调度下游集群的个数以及被调度下游集群的额定负载流量作为参数,所得到的计算结果为各被调度下游集群所接收流量的上边界,若计算得到的被调度下游集群的上边界高于最大负载,则所调度的流量与被调度下游集群中已有的流量之和不得超过该下游集群的额定负载流量。
[0082] 可以理解的是,处理单元23在将待调度的流量分配至被调度下游集群时,可以随机分配,也可以按照预设的偏好设置进行分配。例如电信集群a需要调度出10次请求/秒的流量到铁通集群c,处理单元23可以随机从北京电信集群1中调度出5次请求/秒的流量、从河北电信集群3中调度出5次请求/秒的流量;若铁通集群c位于河北,则处理单元23可以优选地从河北电信集群3中调度出10次请求/秒的流量,而不需要从北京电信集群1中调度出流量。
[0083] 调度单元24,用于根据被调度下游集群所接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。
[0084] 调度单元24根据处理单元23所得到的各被调度下游集群的实际调度流量来修改上游集群的当前路由表,进而根据修改得到的目标路由表进行流量调度。其中,调度单元24修改上游集群的当前路由表即调整上游集群的流量调度到各下游集群的比例,根据修改后的流量调度比例进行上游集群往下游集群所调度的流量,从而解决下游集群发生的过载情况或缓解下游集群发生的故障情况。
[0085] 如图3所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
[0086] 总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0087] 计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0088] 系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0089] 具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。
[0090] 计算机系统/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器012交互的设备通信,和/或与使得该计算机系统/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器020通过总线018与计算机系统/服务器012的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0091] 处理单元016通过运行存储在系统存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现一种流量调度的方法,可以包括:
[0092] 获取上游集群的当前路由表以及下游集群的当前负载;
[0093] 根据下游集群的当前负载以及期望负载确定在下游集群中需要进行流量调度的集群;
[0094] 根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量,所述被调度下游集群为可接收所述需要调度的流量的下游集群;
[0095] 根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。
[0096] 上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行的方法流程,可以包括:
[0097] 获取上游集群的当前路由表以及下游集群的当前负载;
[0098] 根据下游集群的当前负载以及期望负载确定在下游集群中需要进行流量调度的集群;
[0099] 根据预设的比例系数以及需要进行流量调度的集群需要调度的流量,确定被调度下游集群接收到的实际调度流量,所述被调度下游集群为可接收所述需要调度的流量的下游集群;
[0100] 根据被调度下游集群接收到的实际调度流量,对所述上游集群的当前路由表进行修改,并根据修改得到的目标路由表进行流量调度。
[0101] 随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0102] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0103] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0104] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0105] 利用本发明所提供的技术方案,通过预设的比例系数以及需要进行流量调度的集群需要调度的流量来确定被调度下游集群所接收的实际调度流量,实现在避免正常下游集群过载的情况下尽快完成流量调度,提升流量调度的调度效率,减少异常下游集群所带来的损失。
[0106] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0107] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0108] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0109] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0110] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。