一种分配网络流量的方法及装置的制作方法

文档序号:7751116阅读:160来源:国知局
专利名称:一种分配网络流量的方法及装置的制作方法
技术领域
本发明涉及计算机及通信领域,特别是涉及分配网络流量的方法及装置。
背景技术
互联网的高速发展给人们的工作和生活带来了极大便利,随着人们对互联网 (Internet)服务品质和访问速度的要求越来越高,内容分发网络(ContentDelivery Network,⑶N)在互联网中扮演着越来越重要的角色。⑶N是通过在现有网络中增加一层新 的网络架构,将网站内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需内容, 由此改变网络拥塞状况,提高网站响应速度。CDN的出现,从技术上全面解决了由于网络带 宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。CDN网络中心的全局负载均衡(Global Server Load Balance,GSLB)是一个非常 重要且关键的组成部分,其作用是实现在互联网上不同地域的服务器间的流量调配,保证 使用最佳的服务器服务离自己最近的用户,从而确保访问质量。然而,在用户比较密集的区域,服务器所要服务的用户较多,可能导致该服务器的 负载过重。而距离稍远的服务器所要服务的用户可能比较少,处于轻负荷的状态。此时,依 据单一的调度策略,其服务质量受到局限,无法满足用户的需求。

发明内容
本发明实施例提供一种分配网络流量的方法及装置,用于提高网络的服务能力。一种分配网络流量的方法,包括以下步骤获得节点的节点QoS值;其中,节点QoS值是根据节点所包括的设备QoS值获得 的,设备QoS值是根据设备的各监控项QoS值获得的,设备的各监控项QoS值是根据设备的 各监控项指标获得的;根据节点QoS值分配网络流量。一种用于分配网络流量的装置,包括读取模块,用于获得节点的节点QoS值;其中,节点QoS值是根据节点所包括的设 备QoS值获得的,设备QoS值是根据设备的各监控项QoS值获得的,设备的各监控项QoS值 是根据设备的各监控项指标获得的;分配模块,用于根据节点QoS值分配网络流量。本发明实施例根据设备的各监控项指标获得设备的各监控项QoS值,进而获得设 备QoS值,以及节点QoS值,为各监控项提供了统一的评价标准,同时为设备或节点提供了 统一的评价标准,并根据节点QoS值分配网络流量。由于节点QoS值综合考虑了设备的多 个监控项指标,不再依赖单一的调度策略,使网络流量的分配更合理,因此提高了网络的服 务能力。


图1为本发明实施例中分配网络流量的主要方法流程图;图2为本发明实施例中主要由DNS实现的分配网络流量的方法流程图;图3为本发明实施例中主要由节点侧实现的分配网络流量的方法流程图;图4为本发明实施例中装置的主要结构图;图5为本发明实施例中装置的详细结构图;图6为本发明实施例中监控项QoS值的示意图。
具体实施例方式本发明实施例根据设备的各监控项指标获得设备的各监控项QoS值,进而获得设 备QoS值,以及节点QoS值,为各监控项提供了统一的评价标准,同时为设备或节点提供了 统一的评价标准,并根据节点QoS值分配网络流量。由于节点QoS值综合考虑了设备的多 个监控项指标,不再依赖单一的调度策略,使网络流量的分配更合理,因此提高了网络的服 务能力。本实施例中监控项指标为监控项的能力值,包括负载值、时延长度值和距离值 (包括物理距离和路由距离等)中的一项或多项,还可以有其它监控项指标,凡是能够反映 设备的服务能力的监控项指标均适用于本实施例。本实施例中节点由一个或多个设备组成,一个节点中的设备使用相同的虚拟互联 网协议(VIP)对外提供服务。参见图1,本实施例中分配网络流量的主要方法流程如下步骤101 获得节点的节点QoS值。其中,节点QoS值是根据节点所包括的设备QoS 值获得的,设备QoS值是根据设备的各监控项QoS值获得的,设备的各监控项QoS值是根据 设备的各监控项指标获得的。步骤102 根据节点QoS值分配网络流量。设备的各监控项QoS值是根据设备中满足预设监控项条件的各监控项指标获得 的;或者,设备QoS值是根据设备中满足预设监控项条件的各监控项QoS值获得的。监控项 条件有多种,如满足监控项条件的各监控项指标为监控项生效标识为真的各监控项指标; 还可以有其它监控项条件,均适用于本实施例。在步骤101中,可以获得满足预设控制条件的节点的节点QoS值。满足的预设控 制条件至少包括下列节点之一节点生效标识为真(如取值为0);(节点生效标识为假(如取值为1)表示不参与 流量分配);当前的节点QoS值与上一次的节点QoS值之间的差值不小于预设的QoS差值阈值;当取值方向为大时,当前的节点QoS值不小于预设的QoS控制阈值。其中,取值方 向为大表示QoS值越大越适合分配更多的网络流量。还可以有其它控制条件,凡是能选择服务能力较好的节点的控制条件均适用于本 实施例。首先介绍计算监控项QoS值的实现过程。例如,QoS值的范围为0 100。 thresholdMin的取值为数值,表示逻辑运算配置指标阈值的最小值;thresholdSt印的取值为数值,表示逻辑运算配置指标阈值的步长;thresholdMax的取值为数值,表示逻辑运 算配置指标阈值的最大值;thresholdDirection表示取值方向,如为0表示方向为小,也 就是QoS值越小服务能力越高,为1表示方向为大,也就是QoS值越大服务能力越高。当 thresholdDirection为0时,监控项指标小于或等于thresholdMin,则监控项QoS值为 100,监控项指标大于或等于thresholdMax,则监控项QoS值为0。当thresholdDirection 为1时,监控项指标小于或等于thresholdMin,则监控项QoS值为0,监控项指标大于或等 于 thresholdMax,则监控项 QoS 值为 100。预先根据 thresholdSt印将〔thresholdMin, thresholdMax)分为多个区间(可以不均分),以及根据该区间数将0 100平分,则〔 thresholdMin, thresholdMax)中的一个区间对应开区间0 100中的一个值。根据 thresholdDirection的取值确定区间与0 100的对应顺序。然后根据监控项指标所在 的区间确定对应的监控项QoS值。还可以有其它获得监控项QoS值的方法,以监控项指标 ^jni^lSB^llJll^ji^, thresholdMin = 20, thresholdMax = 50, thresholdDirection = 0, thresholdSt印=2,则响应时间值< =20时,监控项QoS值为100,响应时间值> =50时, 监控项QoS值为0,20 <响应时间值< 50时,监控项QoS值=100-2* (响应时间值-20)。 响应时间值与监控项QoS值的对应关系参见图6所示。其中,响应时间的值越小表示服务 能力越好,而其它监控项,如下载速度,其值越大表示服务能力越好。为了便于计算监控项 QoS值,可预设监控项方向参数,以thresholdDirection = 1为例,监控项方向参数为1表 示该监控项指标越大服务能力越好,也就是说监控项指标大于thresholdMax时监控项QoS 值为100。或者,以thresholdDirection = 1为例,监控项方向参数为0表示该监控项指标 越小服务能力越好,也就是说监控项指标小于thresholdMin时监控项QoS值为100。计算监控项QoS值还可以有其它实现方式,如thresholdMin与thresholdMax 相等,以thresholdDirection = 1为例,当监控项指标不小于该监控项指标阈值时,监控 项QoS值为100,否则为0;或者,thresholdMin为监控项指标所有可能取值中的最小值, thresholdMax为监控项指标所有可能取值中的最大值,则以thresholdDirection = 1为 例,监控项QoS值=100-thresholdSt印*(监控项指标-thresholdMin)。以上介绍了三种 计算监控项QoS值的实现方式,不同的监控项可以采用不同的方式,为了便于控制,可设置 一类型参数parameterType,该参数值为0表示参数型,也就是thresholdMin为监控项指标 所有可能取值中的最小值,thresholdMax为监控项指标所有可能取值中的最大值的方式, 该参数值为1表示开关型,也就是thresholdMin与thresholdMax相等的方式,该参数值为 2表示混合型,既有参数型的性质,也有开关型的性质,也就是前面介绍的第一种实现方式。然后可以根据监控项QoS值获得设备QoS值,并最终获得节点QoS值。以获得设 备QoS值为例,设备QoS值等于设备中所有参与计算的监控项QoS值的平均值。可以是算
数平均,如设备QoS值,Si表示第i个监控项QoS值,n表示参与计算的监控项
n i=l
n
的总数;还可以是加权平均,如设备QoS值,为第i个监控项指标的权重,
i=\
< 1且t ,_=l。节点QoS值等于节点中所有参与计算的设备QoS值的平均值,可 (=1
以是算数平均,还可以是加权平均。还可以有其它计算节点QoS值的实现方式,如将节点包
6括的设备中最小的设备QoS值作为该节点的节点QoS值等,此处不一一列举,任何依据设备 QoS值计算节点QoS值的实现方式均适用于本实施例。下面通过实施例来详细介绍分配网络流量的实现过程,参见图2所示。步骤201 网络设备获得所有监控项指标的监控项QoS值。步骤202 网络设备根据所有监控项QoS值获得设备QoS值。以上两个过程也可由域名解析服务器(DNS)实现,即网络设备将自身的监控项指 标发送给DNS,由DNS获得所有监控项指标的监控项QoS值,以及根据所有监控项QoS值获 得设备QoS值。以上两个过程也可由DNS与网络设备之间增加的中间层系统模块实现,即网络设 备将自身的监控项指标发送给中间层系统模块,由中间层系统模块获得所有监控项指标的 监控项QoS值,以及根据所有监控项QoS值获得设备QoS值,并发送给DNS。步骤203 域名解析服务器(DNS)根据各设备的设备QoS值获得节点QoS值。该 过程也可以由节点中的某个网络设备实现,即由该网络设备根据其所在节点下的所有设备 QoS值获得该节点的节点QoS值,并上报给DNS服务器。步骤204 :DNS更新节点的IP与节点QoS值的对应关系。
以上流程可以实时进行,也可以周期性进行。步骤205 :DNS收到客户端的请求消息。该请求消息可以是注册消息或业务传输消 息等各种与流量分配有关的消息。步骤206 :DNS依据节点生效标识确定参与流量分配的节点。步骤207 :DNS从步骤206确定的节点中,确定当前的节点QoS值不小于预设的QoS 控制阈值(如60)的节点(当取值方向为大时)。步骤208 :DNS根据所述对应关系将步骤207确定的节点的IP发送给客户端,以分 配网络流量。在步骤208中有多种实现方式,DNS从步骤207确定的节点中任选一个节点,并 将该节点的IP发送给客户端;或者,DNS从步骤207确定的节点中选择节点QoS值最大的 节点,并将该节点的IP发送给客户端;或者,DNS采用轮询方式从步骤207确定的节点中 选择一个节点,并将该节点的IP发送给客户端。当DNS从步骤207确定的节点中选择节 点QoS值最大的节点,且节点QoS值最大的节点有多个时,DNS采用轮询方式从节点QoS 值最大的多个节点中选择一个节点。或者,DNS根据各节点之间节点QoS值的比例关系 为各节点分配网络流量。例如,5个节点的节点QoS值分别为100、100、90、70和50,其之 间的比例关系为1 1 0.9 0.7 0.5,则为这5个节点分配的网络流量的关系也为 1 1 0.9 0.7 0.5。当有41个用户的请求到来时,将10个用户连接到节点QoS值 为100的第一个节点,再将10个用户连接到节点QoS值为100的第二个节点,将9个用户 连接到节点QoS值为90的第三个节点,将7个用户连接到节点QoS值为70的第四个节点, 将5个用户连接到节点QoS值为50的第五个节点。可以是前10个用户的请求到来时将流 量分配给节点QoS值为100的第一个节点,再有10个用户的请求到来时再将流量分配给节 点QoS值为100的第二个节点,以此类推。或者,前5个用户的请求到来时,按照节点QoS 值的大小顺序将流量分配给这5个节点,在为节点QoS值为50的节点已分配足够的网络流 量(即5个用户的网络流量)后再有用户的请求到来时,继续按照节点QoS值的大小顺序将流量分配给其它4个节点,以此类推。还可以有其它分配顺序,总之在一段时间内为各节 点分配的网络流量应尽量接近它们之间的节点QoS值的比例关系。在以上流程中,确定需要参与网络流量分配的节点的过程由DNS实现,该过程也 可以由节点侧实现,参见图3所示的分配网络流量的方法流程。步骤301 网络设备根据监控项生效标识获得参与计算的监控项指标的监控项 QoS值。监控项生效标识为真表示对应的监控项指标参与计算,为假表示对应的监控项指标 不参与计算。步骤302 网络设备根据所有监控项QoS值获得设备QoS值。步骤303:节点中的主网络设备根据本节点包括的设备的设备QoS值获得节点QoS 值。本实施例中用于获得节点QoS值的网络设备称为主网络设备。其它网络设备将自身的 设备QoS值上报给主网络设备。步骤304 主网络设备依据节点生效标识判断节点是否参与流量分配,若是,则继 续步骤305,否则结束本次流程,或者返回步骤303,以进行下次计算。步骤305 主网络设备判断当前的节点QoS值与上一次的节点QoS值之间的差值 是否不小于QoS差值阈值,若是,则继续步骤306,否则结束本次流程,或者返回步骤303,以 进行下次计算。此步骤可用于减少步骤306的执行次数,进而减少上报次数,节省系统资 源,而且可以防止QoS值在小范围值内频繁波动时,造成后续计算与流量分配的频繁处理。步骤306 主网络设备判断当前的节点QoS值是否不小于预设的QoS控制阈值,若 是,则继续步骤307,否则结束本次流程,或者返回步骤303,以进行下次计算。步骤307 主网络设备将当前的节点QoS值发送给DNS。步骤308 :DNS更新节点的IP (也可以是节点的其它标识)与节点QoS值的对应关系。以上是获得节点QoS值与IP的对应关系的过程,该过程可以实时进行,也可以周 期进行。步骤309 :DNS收到客户端的请求消息。步骤310 :DNS根据所述对应关系将最大节点QoS值对应的IP发送给客户端,以分 配网络流量。客户端根据收到的IP与对应的节点建立连接并传输数据。通过以上描述了解了分配网络流量的实现过程,该过程可由装置实现,下面对该 装置的内部结构和功能进行介绍。参见图4,本实施例中用于分配网络流量的装置包括读取模块401和分配模块 402。该装置可具体为DNS。读取模块401用于获得节点的节点QoS值。其中,节点QoS值是根据节点所包括 的设备QoS值获得的,设备QoS值是根据设备的各监控项QoS值获得的,设备的各监控项 QoS值是根据设备的各监控项指标获得的。具体的,读取模块401获得满足预设控制条件的 节点的节点QoS值。例如,读取模块401获得节点生效标识为真的节点的节点QoS值;和/ 或,读取模块401获得当前的节点QoS值与上一次的节点QoS值之间的差值不小于预设的 QoS差值阈值的节点的节点QoS值;和/或,读取模块401获得当前的节点QoS值不小于预 设的QoS控制阈值的节点的节点QoS值。
分配模块402用于根据节点QoS值分配网络流量。具体的,当取值方向为大时,分 配模块402优先根据最大的节点QoS值对应的节点分配网络流量;当取值方向为小时,分配 模块402优先根据最小的节点QoS值对应的节点分配网络流量。当取值方向为大且最大的 节点QoS值有多个时,分配模块通过轮询方式,根据最大的节点QoS值对应的节点分配网络 流量。或者,分配模块402根据各节点之间节点QoS值的比例关系为各节点分配网络流量。所述装置还包括存储模块403,参见图5所示。存储模块403用于存储节点QoS 值,还可以存储节点QoS值与IP的对应关系、设备QoS值和监控项QoS值等。所述装置还包括接口模块404,用于接收客户端发送的请求消息,以及向客户端返 回IP,还可以获得其它设备发送的节点QoS值、设备QoS值和监控项QoS值等。所述装置还包括计算模块405,计算模块405中的第一计算单元用于根据监控项 指标获得监控项QoS值,计算模块405中的第二计算单元用于根据监控项QoS值获得设备 QoS值,计算模块405中的第三计算单元用于根据设备QoS值获得节点QoS值。其中,第一 计算单元根据设备中满足预设监控项条件的各监控项指标获得各监控项QoS值。第二计算 单元根据设备中满足预设监控项条件的各监控项QoS值获得设备QoS值。满足预设监控项 条件的各监控项指标为监控项生效标识为真的各监控项指标。所述装置中的各模块可以位于同一个物理实体内,也可以位于多个物理实体内。用于实现本发明实施例的软件可以存储于软盘、硬盘、光盘和闪存等存储介质。本发明实施例根据设备的各监控项指标获得设备的各监控项QoS值,进而获得设 备QoS值,以及节点QoS值,为各监控项提供了统一的评价标准,并根据节点QoS值分配网 络流量。由于节点QoS值综合考虑了设备的多个监控项指标,不再依赖单一的调度策略,使 网络流量的分配更合理,因此提高了网络的服务能力。当QoS值高的节点被优先分配更多 流量之后,其QoS值会因为流量或其他负载增多而逐步减小,进而后续获得的流量逐步减 少;当流量和其他负载减少后,其QoS值会逐步回升,进而再次获得更多流量。由此在节点 的服务质量的最低要求之上寻求一个动态的平衡,充分利用节点的服务能力。本发明实施 例还通过生效标识、阈值和节点选择机制等多种手段来为客户端分配较佳的节点,以分配 网络流量,进一步提高了网络的服务能力。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种分配网络流量的方法,其特征在于,包括以下步骤获得节点的节点QoS值;其中,节点QoS值是根据节点所包括的设备QoS值获得的,设备QoS值是根据设备的各监控项QoS值获得的,设备的各监控项QoS值是根据设备的各监控项指标获得的;根据节点QoS值分配网络流量。
2.如权利要求1所述的方法,其特征在于,设备的各监控项QoS值是按照下列方式得到的根据设备的各监控项指标与预设数值范围内的数值的对应关系,将每个监控项指标对 应的数值作为该监控项指标对应的监控项QoS值。
3.如权利要求1所述的方法,其特征在于,设备的各监控项QoS值是根据设备中满足预 设监控项条件的各监控项指标获得的;或者设备QoS值是根据设备中满足预设监控项条件的各监控项QoS值获得的。
4.如权利要求3所述的方法,其特征在于,满足预设监控项条件的各监控项指标为监 控项生效标识为真的各监控项指标。
5.如权利要求1所述的方法,其特征在于,获得节点的节点QoS值的步骤包括获得满 足预设控制条件的节点的节点QoS值。
6.如权利要求5所述的方法,其特征在于,满足的预设控制条件至少包括下列节点之节点生效标识为真;当前的节点QoS值与上一次的节点QoS值之间的差值不小于预设的QoS差值阈值;当取值方向为大时,当前的节点QoS值不小于预设的QoS控制阈值。
7.如权利要求1所述的方法,其特征在于,根据节点QoS值分配网络流量的步骤包括 当取值方向为大时,优先根据最大的节点QoS值对应的节点分配网络流量;当取值方向为 小时,优先根据最小的节点QoS值对应的节点分配网络流量;或者根据节点QoS值分配网络流量的步骤包括根据各节点之间节点QoS值的比例关系为 各节点分配网络流量。
8.如权利要求7所述的方法,其特征在于,当取值方向为大且最大的节点QoS值有多个 时,根据最大的节点QoS值对应的节点分配网络流量的步骤包括通过轮询方式,根据最大 的节点QoS值对应的节点分配网络流量。
9.一种用于分配网络流量的装置,其特征在于,包括读取模块,用于获得节点的节点QoS值;其中,节点QoS值是根据节点所包括的设备 QoS值获得的,设备QoS值是根据设备的各监控项QoS值获得的,设备的各监控项QoS值是 根据设备的各监控项指标获得的;分配模块,用于根据节点QoS值分配网络流量。
10.如权利要求9所述的装置,其特征在于,设备的各监控项QoS值是根据设备中满足 预设监控项条件的各监控项指标获得的;或者设备QoS值是根据设备中满足预设监控项条件的各监控项QoS值获得的。
11.如权利要求10所述的装置,其特征在于,满足预设监控项条件的各监控项指标为 监控项生效标识为真的各监控项指标。
12.如权利要求9所述的装置,其特征在于,读取模块获得满足预设控制条件的节点的 节点QoS值。
13.如权利要求12所述的装置,其特征在于,读取模块获得节点生效标识为真的节点 的节点QoS值;和/或,读取模块获得当前的节点QoS值与上一次的节点QoS值之间的差值 不小于预设的QoS差值阈值的节点的节点QoS值;和/或,读取模块获得当前的节点QoS值 不小于预设的QoS控制阈值的节点的节点QoS值。
14.如权利要求9所述的装置,其特征在于,当取值方向为大时,分配模块优先根据最 大的节点QoS值对应的节点分配网络流量;当取值方向为小时,分配模块优先根据最小的 节点QoS值对应的节点分配网络流量;或者分配模块根据节点QoS值分配网络流量的步骤包括根据各节点之间节点QoS值的比 例关系为各节点分配网络流量。
15.如权利要求14所述的装置,其特征在于,当取值方向为大且最大的节点QoS值有多 个时,分配模块通过轮询方式,根据最大的节点QoS值对应的节点分配网络流量。
全文摘要
本发明公开了一种分配网络流量的方法,用于提高网络的服务能力。所述方法包括获得节点的节点QoS值;其中,节点QoS值是根据节点所包括的设备QoS值获得的,设备QoS值是根据设备的各监控项QoS值获得的,设备的各监控项QoS值是根据设备的各监控项指标获得的;根据节点QoS值分配网络流量。本发明还公开了用于实现所述方法的装置。
文档编号H04L12/26GK101867580SQ20101019708
公开日2010年10月20日 申请日期2010年6月3日 优先权日2010年6月3日
发明者周东树, 宗劼, 李健松, 李孟, 郝兆军, 黄东 申请人:北京蓝汛通信技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1