CN1968135A - 流量分发系统和方法 - Google Patents
流量分发系统和方法 Download PDFInfo
- Publication number
- CN1968135A CN1968135A CN 200610076088 CN200610076088A CN1968135A CN 1968135 A CN1968135 A CN 1968135A CN 200610076088 CN200610076088 CN 200610076088 CN 200610076088 A CN200610076088 A CN 200610076088A CN 1968135 A CN1968135 A CN 1968135A
- Authority
- CN
- China
- Prior art keywords
- node
- distribution
- destination node
- disposal ability
- destination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明提供了一种基于权重的流量分发方法,包括以下步骤:步骤S602,目标节点将其当前负载信息反馈给分发节点;步骤S604,分发节点基于负载信息,计算目标节点当前可以使用的处理能力;步骤S606,分发节点根据在步骤S604中计算的结果,从多个目标节点中筛选将要向其分发流量的目标节点;以及步骤S608,分发节点将流量分发给在步骤S606中选中的目标节点。
Description
技术领域
本发明涉及通信领域,并且更特别地,涉及一种基于权重的流量分发系统和分发方法。
背景技术
在需要多节点进行业务处理的系统中(诸如通信网络),为了增大容量、提升处理性能等目的,常常需要扩充系统处理节点。节点的扩充使得将原本集中于一个节点上进行的处理分担到多个节点上,以减少对某一(些)节点的性能冲击。
如图1A所示,诸如通信网络的系统通常分为两个层次:分发侧和目标侧。分发侧将业务流量按一定原则进行分发,完成业务分发功能;目标侧接收流量,并进行处理。
同时,如图1B所示,根据相关技术,分发侧分发流量是按照顺序原则来进行的,例如,在目标侧具有n个目标节点的系统中,如果分发侧的分发节点在前一次分发时选中了节点1,那么在后续分发中将依次选择节点2、节点3,直到节点n,然后再重新选择节点1,如此反复。进一步来说,如图2所示(在附图2中,深色表示被选中,浅色表示未被选中),在具有4个目标节点的系统中,如果分发节点在前一次分发时选中了节点1,那么在后续分发中将依次选择节点2、节点3和节点4,然后再重新选择节点1。
因此,相关技术的分发方案虽然使目标侧的目标节点分担了业务处理,但是没有考虑目标节点的处理能力及其当前的处理量。因此,各目标节点之间没有差异性,主要体现在各目标节点被分发给流量的次数差别不大,最终结果将容易造成某个(些)节点高负荷运行,从而不利于系统的稳定运行。例如,假如节点2原先就已经高负荷,如果按照顺序分发的原则,则节点2相对其它节点仍是高负荷运行。
因此,需要提供一种能够考虑目标节点的处理能力及其当前的处理量而进行流量分发的流量分发系统和分发方法,其能够解决业务处理节点负荷不均匀的问题。
发明内容
本发明的目的在于提供一种基于权重的流量分发系统和分发方法,其能够解决业务处理节点负荷不均匀的问题。
根据本发明的一个方面,提供了一种基于权重的流量分发系统,包括:负载检测模块,用于周期性地将目标节点的当前负载信息反馈给分发节点;处理能力计算模块,用于基于负载信息,计算目标节点当前可以使用的处理能力;目标节点筛选模块,用于基于处理能力计算模块的计算结果,筛选将要向其分发流量的目标节点;流量分发模块,用于将流量分发给目标节点筛选模块所选中的目标节点;以及流量接收模块,用于接收由流量分发模块分发的流量,并且进行处理。
在上述的技术方案中,所述的处理能力计算模块、目标节点筛选模块、以及流量分发模块位于分发系统的分发侧,而负载检测模块和流量接收模块位于分发系统的目标侧。并且,分发侧包括一个或多个分发节点,目标侧包括多个目标节点。特别地,如果目标节点与分发节点存在握手机制,则负载信息可在握手机制上携带,如果不存在握手机制,则可以单独发送负载信息。
根据本发明的另一方面,提供了一种基于权重的流量分发方法,包括以下步骤:反馈步骤,目标节点将其当前负载信息反馈给分发节点;处理能力计算步骤,分发节点根据目标节点的负载信息,计算该目标节点当前可以使用的处理能力;目标节点筛选步骤,分发节点根据在计算步骤中计算的结果,从多个目标节点中筛选将要向其分发流量的目标节点;流量分发步骤,分发节点将流量分发给在目标节点筛选步骤中选中的目标节点。
其中,计算步骤按照以下表达式进行:
γ=α(1-β)
在上述表达式中,α为目标节点的满负荷处理能力(其取值范围不限,并且各目标节点之间使用同一量纲处理能力),β为当前目标节点上的资源(例如,CPU资源)利用率(取值范围为0%~100%),而γ为目标节点当前可以使用的处理能力。并且μ为每次分发的消耗值,即每分发一次,目标节点的处理能力γ要减去μ。
并且,对于目标节点处理能力的获取,为了减少计算,每次筛选时不用重新计算目标节点当前可使用的处理能力,而是每隔一定周期重新获取目标节点的负载信息,再来重新计算各目标节点的处理能力,其中,周期的长短由发送节点筛选精度确定,例如,一个周期可以是1秒、5秒、1分钟、1小时等。
此外,上述目标节点筛选步骤进一步包括:
处理能力判断步骤:分发节点基于在计算步骤中计算的结果,判断当前目标节点的处理能力值γ是否大于目标节点被分发给流量的单次消耗值μ;并且其中,在当前目标节点的处理能力值大于单次消耗值时,分发节点当前目标节点选中作为将向其分发流量的目标节点,然后退出筛选;
完成遍历判断步骤:在当前目标节点的处理能力值小于单次消耗值时,分发节点将记录“该目标节点γ小于μ”的标志,并判断是否已经遍历了所有目标节点,并且其中,如果没有遍历所有目标节点,则对当前目标节点的下一节点执行处理能力判断步骤;
重新赋权值步骤:当在完成遍历判断步骤中判断已经遍历了所有目标节点时,重新对所有目标节点的处理能力赋权值,并且选择最后一次筛选的目标节点作为选中节点,然后退出筛选。
其中,在执行处理能力判断步骤时,若是初始筛选,则从目标节点1开始判断,否则从上一次被选中节点的下一节点开始筛选(本文中所指的“下一节点”,指的是按照从小到大排序的节点编号的下一个)。
此外,在执行重新赋权值步骤时,按照如下表达式进行:
处理能力=γ+α(1-β)
其中,α为所述目标节点的满负荷处理能力,β为所述目标节点的当前资源利用率,并且,γ为所述目标节点当前可以使用的处理能力。
因此,通过以上技术方案,实现了以下技术效果:
1.通过按照各目标节点的处理能力进行分发,而不是按照顺序原则进行分发,体现出目标节点之间的差异;以及
2.让处理能力强的节点多接受业务,同时让处理能力弱的节点少接受业务,实现节点的均衡分发,从而保证系统稳定运行。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1A是示出分发侧具有一个分发节点的流量分发系统的功能结构图;
图1B是示出根据相关技术的顺序分发流量方法的示意图;
图2是示出根据相关技术的当目标节点数为4个时的顺序分发流量过程的示意图;
图3是根据本发明的分发系统的结构框图;
图4是示出根据本发明的负载信息反馈过程的示意图;
图5是示出根据本发明的分发侧具有多个分发节点的流量分发系统的功能结构图;
图6是根据本发明的流量分发方法的流程图;
图7是根据本发明的目标节点筛选过程的流程图;
图8是示出根据本发明的当目标节点数为4并且μ等于5时的流量分发过程的示意图;
图9是示出根据本发明的当目标节点数为4并且μ等于10时的流量分发过程的示意图;
图10A是通过将图8和图9进行比较而获得的示意图;以及
图10B是通过将图2和图8进行比较而获得的示意图。
具体实施方式
下面将参照附图来描述本发明的实施例。
第一实施例
首先参照图3,其中,图3是根据本发明的流量分发系统的结构框图。根据本发明的流量分发系统包括:负载检测模块302,用于周期性地将目标节点的当前负载信息反馈给分发节点;处理能力计算模块304,用于基于负载信息,计算目标节点当前可以使用的处理能力;目标节点筛选模块306,用于基于处理能力计算模块的计算结果,筛选将要向其分发流量的目标节点;流量分发模块308,用于将流量分发给目标节点筛选模块所选中的目标节点;以及流量接收模块310,用于接收由流量分发模块分发的流量,并且进行处理。
其中,图3中示出的处理能力计算模块304、目标节点筛选模块306、以及流量分发模块308位于流量分发系统的分发侧,而负载检测模块302和流量接收模块310位于流量分发系统的目标侧。
接下来参照图1和图5。如图1和图5所示,在根据本发明的流量分发系统中,分发侧包括一个或多个分发节点,即,分发节点1或分发节点1至分发节点m,用于分发业务流量,完成业务分发功能;以及目标侧,包括多个目标节点,即,目标节点1至目标节点n,用于接收流量,并进行处理。
并且,如图4所示,目标侧具有负载检测功能,并且其中,如果目标节点与分发节点存在握手机制,则该信息可在握手机制上携带,如果不存在握手机制,则可以单独发送该信息;并且,分发侧收集该负载信息并且计算各目标节点的当前处理能力,并在此基础上进行流量分发。
第二实施例
下面将参照图6至图10B来描述本发明的第二实施例。
如图6所示,根据本发明的流量分发方法包括以下步骤:步骤S602,目标节点将当前负载信息反馈给分发节点;步骤S604,分发节点根据目标节点的负载信息,计算该目标节点当前可以使用的处理能力;步骤S606,分发节点根据在步骤S604中计算的结果,从多个目标节点中筛选将要向其分发流量的目标节点;以及步骤S608,分发节点将流量分发给在步骤S606中选中的目标节点。
其中,步骤S604按照以下表达式进行:
γ=α(1-β)
在上述表达式中,α为目标节点的满负荷处理能力(其取值范围不限,并且各目标节点之间使用同一量纲处理能力),β为当前目标节点上的资源(例如,CPU资源)利用率(取值范围为0%~100%),而γ为目标节点当前可以使用的处理能力。并且,μ为每次分发的单次消耗值,即每分发一次,目标节点的处理能力γ要减去μ。
此外,步骤S606进一步包括:
步骤S702:分发节点基于在步骤S604中计算的结果,判断当前目标节点(目标节点a,其中,1<a<=n)的处理能力值γ是否大于目标节点被分发给流量的单次消耗值μ;并且其中,在当前目标节点的γ大于μ时,分发节点将当前目标节点选中作为将向其分发流量的目标节点(步骤S712),然后退出筛选(步骤S714);
步骤S706:在当前目标节点的γ小于μ时,分发节点将记录“该节点γ小于μ”的标志(步骤S704),并且判断是否已经遍历了所有目标节点(目标节点n),并且其中,如果没有遍历所有目标节点,则对当前目标节点的下一节点(目标节点a+1)执行处理能力判断步骤;
步骤S708:当在步骤S706中判断已经遍历了所有目标节点时,重新对所有目标节点的处理能力赋权值,并且选择最后一次筛选的目标节点作为选中节点(步骤S710),然后退出筛选(步骤S714)。
其中,在执行步骤S702时,若是初始筛选,则从目标节点1开始判断,否则从上一次被选中节点的下一节点开始筛选(本文中所指的“下一节点”,指的是按照从小到大排序的节点编号的下一个)。
此外,在执行步骤S708时,按照如下表达式进行:
处理能力=γ+α(1-β)
其中,α为所述目标节点的满负荷处理能力,β为所述目标节点的当前资源利用率,并且,γ为所述目标节点当前可以使用的处理能力。
例如,在目标侧有四个目标节点的系统中,根据本发明的流量分发过程如图8所示,其中,α=100,β为当前的CPU占用率,μ为5。并且在图8中,深色表示被选中,浅色表示未被选中,并且除了第一行,方块里的数字表示可以使用的处理能力。
需要注意的是,单次消耗值μ的选取不能太大,否则不能体现出个节点的处理差异。例如,图9示出了当μ为10并且目标节点为4个时的分发过程,并且图10A为通过比较图8(示出μ为5的分发)和图9(示出μ为10的分发过程)而获得的示意图。从图10A中可以明显看出,在μ为10的情况下,目标节点2和目标节点4的初始CPU占用率不同,但是被选中的次数相同,因此没有很好的体现出目标节点之间的差异性。类似地,μ值不能太小,否则将需要经过相当多次的分发才能体现出目标节点之间的差异性。
通过将图2示出的根据相关技术的分发过程和图8示出的根据本发明的分发过程进行比较,可以获得如图10B所示的示意图。对于本领域技术人员来说,从图10B中可以明显看出,在按照根据相关技术的顺序原则进行筛选的情况下,各节点被选中的次数基本相同,结果使得各节点CPU占用率仍然保持原有的相对关系,即原来高的仍高,原来低的仍低,这容易造成某个/些节点CPU占用率达到极限,不利于系统的稳定运行。相反,根据本发明的方法进行筛选,CPU占用率高(即,可用处理能力低)的被选中次数少,CPU占用率低(即,可用处理能力高)的被选中次数多。这样就达到区分处理能力的效果,最终结果使得各节点的CPU占用率持平,而不是各节点的分发次数持平。
第三实施例
在根据本发明的第一实施例中,为了便于说明,假定分发系统目标侧的目标节点有一种资源(例如,CPU资源),并且通过根据本发明的第二实施例中的步骤S604对目标节点的处理能力进行计算。
然而,本发明并不局限于此。特别地,当一个目标节点上有多种资源时,一般来讲,各种资源的重要性是不同的,假设每种资源Ri都有它的权重Vi,那么有K种资源的目标节点的综合处理能力就为
应当注意,本文所指的“节点”,包括但不限于单板、终端、服务器设备、路由器、转发设备、硬盘、和中央处理器。所指的“业务”,包括但不限于消息包、计算请求、呼叫请求、待处理文件内容。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (11)
1.一种流量分发系统,其特征在于,包括:
负载检测模块,用于周期性地将目标节点的当前负载信息反馈给分发节点;
处理能力计算模块,与所述负载检测模块连接,用于基于所述负载信息,计算所述目标节点当前可以使用的处理能力;以及
目标节点筛选模块,与所述处理能力计算模块连接,用于基于所述处理能力计算模块的计算结果,筛选将要向其分发流量的目标节点。
2.根据权利要求1所述的流量分发系统,其特征在于,进一步包括:
流量分发模块,用于将流量分发给所述目标节点筛选模块所选中的目标节点;以及
流量接收模块,用于接收所述流量分发模块分发的流量,并且进行处理。
3.根据权利要求1或2所述的流量分发系统,其特征在于,所述负载检测模块和所述流量接收模块位于目标侧,并且所述处理能力检测模块、所述目标节点筛选模块、以及所述流量分发模块位于分发侧。
4.根据权利要求3所述的流量分发系统,其特征在于,所述分发侧包括一个或多个所述分发节点,所述目标侧包括多个所述目标节点。
5.根据权利要求1所述的流量分发系统,其特征在于,如果所述目标节点与所述分发节点存在握手机制,则所述负载信息可以在握手机制上携带,并且如果所述目标节点与所述分发节点不存在分发机制,则单独发送所述负载信息。
6.根据权利要求1所述的流量分发系统,其特征在于,所述负载信息检测模块向所述处理能力计算模块反馈所述负载信息的周期,由所述目标节点筛选模块的筛选精度来确定。
7.一种基于权重的流量分发方法,其特征在于,包括以下步骤:
步骤S602,目标节点将其当前负载信息反馈给分发节点;
步骤S604,所述分发节点基于所述负载信息,计算所述目标节点当前可以使用的处理能力;
步骤S606,所述分发节点根据在所述步骤S604中计算的结果,从多个目标节点中筛选将要向其分发流量的目标节点;以及
步骤S608,所述分发节点将流量分发给在所述步骤S606中选中的目标节点。
8.根据权利要求7所述的流量分发方法,其中,所述步骤S604按照γ=α(1-β)的表达式进行,其中,α为所述目标节点的满负荷处理能力,β为所述目标节点的当前资源利用率,γ为所述目标节点当前可以使用的处理能力。
9.根据权利要求7或8所述的流量分发方法,其中,所述目标节点筛选步骤S606进一步包括以下步骤:
步骤S606A:所述分发节点基于在所述步骤S604中计算的结果,判断当前目标节点的处理能力值是否大于所述目标节点被分发给流量的单次消耗值;并且其中,当所述当前目标节点的处理能力值大于所述单次消耗值时,所述分发节点将所述当前目标节点选中作为将向其分发流量的目标节点,然后退出筛选;
步骤S606B:当所述当前目标节点的处理能力值小于所述单次消耗值时,所述分发节点将记录“该目标节点γ小于μ”的标志,并且判断是否遍历了所有目标节点,并且其中,如果没有遍历所有目标节点,则对所述当前目标节点的下一节点执行所述处理能力判断步骤;
步骤S606C:当在所述步骤S606B中判断已经遍历了所有目标节点时,重新对所有目标节点的处理能力赋权值,并且选择最后一次筛选的目标节点作为选中节点,然后退出筛选。
10.根据权利要求9所述的流量分发方法,其特征在于,在所述步骤S606A中,若是初始筛选,则从第一目标节点开始判断,否则,从上一次被选中的目标节点的下一目标节点开始判断。
11.根据权利要求9所述的流量分发方法,其中,所述步骤S606C按照处理能力=γ+α(1-β)的表达式进行,其中,α为所述目标节点的满负荷处理能力,β为所述目标节点的当前资源利用率,γ为所述目标节点当前可以使用的处理能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610076088 CN1968135A (zh) | 2006-04-27 | 2006-04-27 | 流量分发系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610076088 CN1968135A (zh) | 2006-04-27 | 2006-04-27 | 流量分发系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1968135A true CN1968135A (zh) | 2007-05-23 |
Family
ID=38076701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610076088 Pending CN1968135A (zh) | 2006-04-27 | 2006-04-27 | 流量分发系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1968135A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497387A (zh) * | 2011-11-11 | 2012-06-13 | 合一网络技术(北京)有限公司 | 一种基于P2P客户端状态分析的Flash视频分发方法 |
CN105099936A (zh) * | 2015-08-31 | 2015-11-25 | 联想(北京)有限公司 | 一种网络资源配置方法、设备和网络系统 |
CN105933230A (zh) * | 2016-04-01 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种多节点的数据传输方法、节点及计算机系统 |
CN105959233A (zh) * | 2016-04-25 | 2016-09-21 | 深圳市威宇智通科技有限公司 | 基于流式计算的移动终端流量分发系统及方法 |
CN108369531A (zh) * | 2016-07-12 | 2018-08-03 | 华为技术有限公司 | 控制io带宽和处理io访问请求的方法、装置及系统 |
-
2006
- 2006-04-27 CN CN 200610076088 patent/CN1968135A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497387A (zh) * | 2011-11-11 | 2012-06-13 | 合一网络技术(北京)有限公司 | 一种基于P2P客户端状态分析的Flash视频分发方法 |
CN105099936A (zh) * | 2015-08-31 | 2015-11-25 | 联想(北京)有限公司 | 一种网络资源配置方法、设备和网络系统 |
CN105099936B (zh) * | 2015-08-31 | 2018-10-12 | 联想(北京)有限公司 | 一种网络资源配置方法、设备和网络系统 |
CN105933230A (zh) * | 2016-04-01 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种多节点的数据传输方法、节点及计算机系统 |
CN105959233A (zh) * | 2016-04-25 | 2016-09-21 | 深圳市威宇智通科技有限公司 | 基于流式计算的移动终端流量分发系统及方法 |
CN105959233B (zh) * | 2016-04-25 | 2018-12-28 | 深圳市威宇智通科技有限公司 | 基于流式计算动态质量模型的手机流量分发方法 |
CN108369531A (zh) * | 2016-07-12 | 2018-08-03 | 华为技术有限公司 | 控制io带宽和处理io访问请求的方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1098488C (zh) | 基于动态时间间隔的负载平衡方法和装置 | |
CN1294492C (zh) | 动态调整活动资源的工作负荷的方法和系统 | |
US20060277295A1 (en) | Monitoring system and monitoring method | |
CN1186730C (zh) | 用于管理存储设备上的空间分配的系统和方法 | |
CN1866217A (zh) | 确定源服务器在目标服务器中的最佳分布的系统和方法 | |
CN110365765A (zh) | 一种缓存服务器的带宽调度方法及装置 | |
US9405588B2 (en) | Cloud resource allocation system and method | |
CN1968135A (zh) | 流量分发系统和方法 | |
CN1835453A (zh) | 一种实现分布式系统中负载分担的方法 | |
CN1826591A (zh) | 反向路径转发保护 | |
Yeh | Delay-optimal rate allocation in multiaccess communications: A cross-layer view | |
CN1955932A (zh) | 用于在分布式计算系统中的性能和策略分析的方法和装置 | |
CN1577253A (zh) | 改进的最早时限第一的调度方法 | |
CN1874348A (zh) | 一种多处理单元负载均衡方法和多处理单元系统 | |
CN101035110A (zh) | 业务调用方法、系统及单元 | |
CN1645829A (zh) | 结构化p2p系统的拓扑匹配方法 | |
US20050195834A1 (en) | Load distribution system | |
CN1675635A (zh) | 具有增强能力的关联存储器 | |
CN1777145A (zh) | 路由器及使用其管理分组队列的方法 | |
CN1728698A (zh) | 并行结构保序流量平衡系统及基于流分类的报文调度方法 | |
Tung et al. | Bandwidth-aware replica placement for peer-to-peer storage systems | |
CN101720041A (zh) | 一种基于分层编码的数据处理方法 | |
CN1744532A (zh) | 按流业务量的估计 | |
CN1714535A (zh) | 用于设计数据网络的方法和设备 | |
CN112711587A (zh) | 数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070523 |