一种基于认知网络的自适应负载均衡方法和装置的制作方法

文档序号:7768581阅读:191来源:国知局
专利名称:一种基于认知网络的自适应负载均衡方法和装置的制作方法
技术领域
本发明涉及网络信息技术领域,特别是涉及一种基于认知网络的自适应负载均衡 方法和装置。
背景技术
现有的流量调度根据对现有网络状况的分析和参数采集结果来对以下的流量进 行调度分配,实现负载均衡。在负载平衡的实现中,调度算法是核心的内容。在当前网络 下,现有的流量调度算法主要有轮叫调度算法,加权轮叫调度算法,最小连接调度算法,加 权最小连接法,目的地址散列调度,源地址散列调度等。可分为静态流量调度算法和动态流 量调度算法,随着网络规模的扩大和用户需求的增加静态流量调度算法已经不能满足负载 均衡的需求,设计一种动态的自适应的流量调度算法更适合如今的网络应用需求。
其中,轮叫调度算法,未考虑服务器的当前连接数和响应速度,一般要求所有服务 器处理性能均相同,算法相对简单,不适用于服务器组中处理性能不一的情况,而且当请求 服务时间变化比较大时,循环调度算法容易导致服务器的负载不平衡。
加权轮叫调度算法,简单高效,考虑了不同服务器的处理性能差异,但当请求服务 时间变化大时,单独的加权轮叫调度算法可能会导致服务器间负载不平衡。同时加权轮叫 调度算法是一种无状态的调度算法。
最小连接调度算法,该算法是把新的连接请求分配到当前连接数最小的服务器。 最小连接调度是指一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务器的 负载情况。调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务 器,其连接数加一;当连接终止或超时,其连接数减一。当各个服务器有相同的处理性能时, 最小连接调度算法能把负载变化发送到同一台服务器上。但是,当各个服务器的处理能力 不同时,该算法并不理想,因为TCP连接处理请求后会进入TIME_WAIT状态,TCP的TIME_ WAIT 一般为2分钟,此时连接还占用服务器的资源,所以会出现这样情形,性能高的服务器 已处理所收到的连接,连接处于TIME_WAIT状态,而性能低的服务器已经忙于处理所收到 的连接,还不断收到新的连接请求。
加权最小连接调度算法,该算法是最小连接调度算法的改进,各个服务器用相应 的权值表示其处理性能。服务器的缺省值为1,系统管理员可以动态地设置服务器的权值。 加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。
目的地址散列调度算法,该算法通过一个散列函数将目标IP地址映射到一台服 务器,属于静态映射算法。目标地址散列调度算法首先将请求的目标IP地址作为散列键, 从静态分配的散列表找出对应的服务器;若该服务器是可用且未超载,则将请求发送到该 服务器,否则返回空。
源地址散列调度,与目标地址散列调度算法相反,该算法将请求的源IP地址作为 散列键,从静态分配的散列表找出对应的服务器;若该服务器是可用的且未超载,则将请求 发送到该服务器,否则返回空。除了将请求的目标IP地址换成请求的源IP地址,该算法采用的散列函数与目标地址散列调度算法相同,算法流程与目标地址散列调度算法基本相 似。
上述调度算法在解决服务器负载平衡方面起到了一定的作用,但随着网络规模的 不断扩大,访问请求的增加,这些调度算法在调度性能上存在不足。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是如何能够创新地 提出一种基于认知网络的自适应负载均衡方法和装置,以实现对网络业务流实时、动态的 调度,使得业务量在整个网络中均勻分布,减少网络拥塞。发明内容
本发明所要解决的技术问题是提供一种基于认知网络的自适应负载均衡方法和 装置,用以实现对网络业务流实时、动态的调度,使得业务量在整个网络中均勻分布,减少 网络拥塞。
为了解决上述问题,本发明公开了一种基于认知网络的自适应负载均衡方法,所 述方法包括
实时采集各服务器状态参数;所述服务器状态参数包括CPU负载,网络流量,内存 占用率;
计算各服务器的负载加权值,并将所计算的负载加权值与预设管理阀值进行比 较;
当存在负载加权值大于预设管理阀值的服务器时,将对应服务器的响应停止预设 时间段后,重新计算各服务器的负载加权值,并将最新负载请求分配到负载加权值最小的 服务器上。
优选的,所述预设管理阀值为一个或多个,则
各服务器对应同一预设管理阀值;
或,各服务器分别对应一个预设管理阀值。
优选的,当各服务器对应同一预设管理阀值时,所述方法在计算各服务器的负载 加权值后,包括
将负载加权值中最大的负载加权值与预设管理阀值进行比较;
当最大的负载加权值大于预设管理阀值的服务器时,比较下一最大负载加权值与 预设管理阀值,直到所比较负载加权值不大于预设管理阀值,同时将负载加权值大于预设 阀值的服务器的响应停止预设时间段;重新计算各服务器的负载加权值,并将最新负载请 求分配到负载加权值最小的服务器上。
优选的,所述负载加权值通过对服务器各状态参数与其对应权重的乘积求和获 取。
本发明还公布了一种基于认知网络的自适应负载均衡装置,所述装置包括
采集模块,用于实时采集各服务器状态参数;所述服务器状态参数包括CPU负载, 网络流量,内存占用率;
比较模块,用于计算各服务器的负载加权值,并将所计算的负载加权值与预设管 理阀值进行比较;
处理模块,用于当存在负载加权值大于预设管理阀值的服务器时,将对应服务器的响应停止预设时间段后,重新计算各服务器的负载加权值,并将最新负载请求分配到负 载加权值最小的服务器上。
优选的,所述比较模块中预设管理阀值为一个或多个,则
各服务器对应同一预设管理阀值;
或,各服务器分别对应一个预设管理阀值。
优选的,所述比较模块通过对服务器各状态参数与其对应权重的乘积求和获取。
与现有技术相比,本发明具有以下优点
本发明通过实时采集各服务器状态参数,计算各服务器的负载加权值,并将所计 算的负载加权值与预设管理阀值进行比较,当存在负载加权值大于预设管理阀值的服务器 时,将对应服务器的响应停止预设时间段后,重新计算各服务器的负载加权值,并将最新负 载请求分配到负载加权值最小的服务器上,从而实现对网络业务流实时、动态的调度,使得 业务量在整个网络中均勻分布,减少网络拥塞。


图1是本发明实施例一所述的一种基于认知网络的自适应负载均衡方法的流程 图2是本发明实施例一所述的一种基于认知网络的自适应负载均衡方法的仿真 模型示意图3 (a)是本发明实施例一所述的最小流量调度算法服务器的负载效果示意图3(b)是本发明实施例一所述的自适应最小流量调度算法服务器的负载效果示 意图4是本发明实施例一所述的服务器处理请求的延迟示意图5是本发明实施例一所述的两种算法各服务器请求的有效性的分析示意图6是本发明实施例二所述的一种基于认知网络的自适应负载均衡装置的结构 图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
网络技术的飞速发展及人们对通信需求的日益增加使已有的网络架构无法满足 未来信息网络更趋复杂化和异构化得发展趋势,需要设计更适合的网络结构和行为模式, 认知网络应运而生。认知网络能在动态自适应的过程中不断地学习,具有预见性,其自适应 是先应式的,而不是反应式的,也即动态调整是发生在问题出现之前,而不是之后。认知行 为模型为首先检测网络当前的状态,然后根据观察到的网络条件和参数进行调整、判决、 执行。认知技术使得通信实体具有认知周围环境的能力,并能根据周围环境的变化智能、自 主、自适应地动态变化。将认知的概念和功能引入现有的信息网络,就构成了认知网络。认 知网络具有环境学习功能,可以根据网络状态的认知结果执行相应的决策机制,自适应地 调整网络行为来保证网络服务质量。
而在认知网络中,终端的分布状况、随机移动特性、用户业务的多种服务质量5(Quality of Service-QoS)需求会引起网络业务量分布不平衡,局部业务过载、重负载区 域发生拥塞,导致丢包率和业务时延增加,而轻负载区域的闲置资源没有得到充分利用。负 载均衡是提高网络资源利用率,实现业务QoS保证的一种有效途径。根据网络流量的变化 趋势,提前配置可用资源,保证业务的QoS需求,提高网络资源利用率的有效途径。本发明 设计一种基于认知网络的动态的流量调度的措施,在保证用户QoS需求的前提下,根据负 载变化情况提前配置网络可用资源,实现对网络业务流实时、动态的调度,使得业务量在整 个网络中均勻分布,减少网络拥塞。
而在认知网络中,由于网络的提前学习效应,对网络下一步的流量状态有了基本 的把握,能在网络服务请求到达之前将网络流量均勻分配到各服务器,达到网络的负载均 衡。负载平衡主要完成的任务主要有解决网络拥塞问题,就进提供服务,实现地理位置无 关性;提高服务响应速度,为用户提供更好的访问质量;提高服务器及其他资源的利用效 率,避免网络关键部位出现单点失效。
实施例一
参照图1,示出了本发明的一种基于认知网络的自适应负载均衡方法的流程图,所 述方法具体包括
步骤S101,实时采集各服务器状态参数;所述服务器状态参数包括CPU负载,网络 流量,内存占用率;
步骤S102,计算各服务器的负载加权值,并将所计算的负载加权值与预设管理阀 值进行比较;
步骤S103,当存在负载加权值大于预设管理阀值的服务器时,将对应服务器的响 应停止预设时间段后,重新计算各服务器的负载加权值,并将最新负载请求分配到负载加 权值最小的服务器上。
实际应用中,通常通过使用专用网络软件如MRTG等,实时的采集当前网络中各 服务器的状态参数,同时,充分考虑各类业务对网络流量的不同影响特征,具体的,其中所 述服务器状态参数包括CPU负载,网络流量,内存占用率,计算各服务器的负载加权值,并 将所计算的负载加权值与预设管理阀值进行比较,将各服务器已建立连接的业务与其所能 运行的管理阀值进行比较,并给出比较结果,当存在负载加权值大于预设管理阀值的服务 器时,服务器处于超负荷状态,判定该服务器可能处于堵塞状态,将对应服务器的响应停止 预设时间段后,重新计算各服务器的负载加权值,并将最新负载请求分配到负载加权值最 小的服务器上。
优选的,所述预设管理阀值为一个或多个,则
各服务器对应同一预设管理阀值;
或,各服务器分别对应一个预设管理阀值。
在实际的应用中,可按照网络的运行情况以及各服务器的硬件配置情况,对服务 器的管理阀值进行设定,具体的,可以为各个服务器分别设置一个预设管理阀值,也可以为 所有的服务器统一设置一个管理阀值。
优选的,当各服务器对应同一预设管理阀值时,所述方法在计算各服务器的负载 加权值后,包括
将负载加权值中最大的负载加权值与预设管理阀值进行比较;
当最大的负载加权值大于预设管理阀值的服务器时,比较下一最大负载加权值与 预设管理阀值,直到所比较负载加权值不大于预设管理阀值,同时将负载加权值大于预设 阀值的服务器的响应停止预设时间段;重新计算各服务器的负载加权值,并将最新负载请 求分配到负载加权值最小的服务器上。
对于各服务器对应同一预设管理阀值的情况,本发明所述的方法,可以将负载加 权值中最大的负载加权值与预设管理阀值进行比较,当最大的负载加权值大于预设管理阀 值的服务器时,再比较下一最大负载加权值与预设管理阀值,直到所比较负载加权值不大 于预设管理阀值为止,同时将负载加权值大于预设阀值的服务器的响应停止预设时间段, 重新计算各服务器的负载加权值,并将最新负载请求分配到负载加权值最小的服务器上。
优选的,所述负载加权值通过对服务器各状态参数与其对应权重的乘积求和获 取。
具体的,假设服务器个数为m个,j取值1-3分别表示CPU负载,网络流量,内存占 用率。A [j] (1彡i彡m,1彡j彡3)用于表示第i个服务器的CPU负载,网络流量,内存占 用率的数值,Wj (1 ^ j ^ 3)表示服务器CPU负载,网络流量,内存占用率的权值。每个服务 器i的加权值为Load[i] =Σ r^j] Xffjo
对于本实施例所述的方法,其在实际应用中的一种实现代码如下
MaxLoadValue = 0 ;
For(int i = 1 ;i < = m ;i++)
{
For(int j = 1 ;j < = 3 ;j++)
Load[i] = Load[i]+r[j] ? Wj
If (MaxLoadValue < Load[i])
{
MaxLoadValue = Load[i];
Return MinLoad[i]
}
}
If(MaxLoadValue <预定阀值)
暂停 server [i] —定时间;
else
对若干台服务器进行获取性能参数并计算加权值。
认知网络具有的自主学习能力与重配置能力,要求其各算法具有一定的认知性, 该算法收集网络现有的绝对参数,通过数学模型的建立与应用学习网络的相对负载平衡状 态,根据负载平衡状态参数对网络请求处理进行重新配置,使网络负载均衡,在算法中使用 数学模型对网络负载平衡状态进行学习,通过改进的动态调度算法对网络请求处理单位进 行重新配置。
由于该算法在充分了解网络状态信息的前提下,将新请求与服务器管理阀值进行 权重分析,得到负载流向的新参数值,对新请求进行调度处理,学习网络状态信息,体现了 认知性。
此外,发明人还对本实施例所述的方法进行了实际仿真,具体的按照一般网络组 成,网络仿真模型包括输入,处理与输出三部分。输入采用基于泊松分布于伯努利分布的自 回归模型产生网络数据,路由器中的进程模型完成收集网络参数与服务器性能参数,并计 算负载权值,对负载进行调度输出到出口节点中,其仿真模型示意图可参照图2.
将本发明的基本自适应算法完善到仿真模型中,对进程模型,节点模型,以及工程 场景进行设置。
建立网络仿真场景模型中设置三个客户端对三个服务器进行收发数据。将加权最 小连接调度算法与改进之后的ASAMT调度算法进行比较分析,根据一般网络数据,对一些 基本参数进行设置,其中进程模型为Acb_fifo (先进先出),数据包到达平均间隔为1.0s, IP数据包大小设定为1000-9000b/p,发送间隔为Is仿真时间为0. flours。
据此设置仿真实验,预期应该实现如下效果ASAMT算法根据网络中负载变化情 况对业务流能进行实时、动态的调度,有效地将网络请求调度到各个节点,能有效解决有的 服务器负载过重而有的服务器闲置的状况,使各个节点的服务请求均勻得分配在整个网络 中,从而减少网络拥塞。与此同时,该算法应该不会形成明显的网络代价。
实验的数据证明
图3(a)为最小流量调度算法服务器的负载效果示意图,图3(b)为自适应最小流 量调度算法服务器的负载效果示意图。其中,横轴表示仿真时间30min,纵轴表示不同服务 器的负载。如图3(a)三个服务器的负载不够均衡,第三个服务器承担了更多的网络请求。 图3(b)三台服务器的负载较为均衡,比较平均得承担了网络请求。使用改进后的ASAMT算 法之后各服务器的负载均衡与最小流量调度算法相比更优。
图4所示为服务器处理请求的延迟示意图,分别为个服务器处理客户端请求的延 迟分析,图中第一部分为网络整体延迟,下面三部分为三个客户端发送请求的延迟,平均延 迟小于0. 00002秒,三个服务器间并无显著差异,对请求处理无影响,说明ASAMT算法并未 造成请求延迟。
如图5所示为两种算法各服务器请求的有效性的分析示意图;根据服务器的负载 来看,各请求到达服务器端有效性均大于零,且各个节点对服务器的请求有效性并无显著差异。
实施例二
参照图6,示出了本发明的一种基于认知网络的自适应负载均衡装置结构图,所述 装置包括
采集模块601,用于实时采集各服务器状态参数;所述服务器状态参数包括CPU负 载,网络流量,内存占用率;
比较模块602,用于计算各服务器的负载加权值,并将所计算的负载加权值与预设 管理阀值进行比较;
处理模块603,用于当存在负载加权值大于预设管理阀值的服务器时,将对应服务 器的响应停止预设时间段后,重新计算各服务器的负载加权值,并将最新负载请求分配到 负载加权值最小的服务器上。
优选的,所述比较模块中预设管理阀值为一个或多个,则
各服务器对应同一预设管理阀值;
或,各服务器分别对应一个预设管理阀值。
优选的,所述比较模块通过对服务器各状态参数与其对应权重的乘积求和获取。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例 而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部 分说明即可。
以上对本发明所提供的一种基于认知网络的自适应负载均衡方法和装置进行了 详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的 说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依 据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容 不应理解为对本发明的限制。
权利要求
1.一种基于认知网络的自适应负载均衡方法,其特征在于,所述方法包括实时采集各服务器状态参数;所述服务器状态参数包括CPU负载,网络流量,内存占用率;计算各服务器的负载加权值,并将所计算的负载加权值与预设管理阀值进行比较; 当存在负载加权值大于预设管理阀值的服务器时,将对应服务器的响应停止预设时间 段后,重新计算各服务器的负载加权值,并将最新负载请求分配到负载加权值最小的服务器上。
2.根据权利要求1所述的方法,其特征在于,所述预设管理阀值为一个或多个,则 各服务器对应同一预设管理阀值;或,各服务器分别对应一个预设管理阀值。
3.根据权利要求2所述的方法,其特征在于,当各服务器对应同一预设管理阀值时,所 述方法在计算各服务器的负载加权值后,包括将负载加权值中最大的负载加权值与预设管理阀值进行比较; 当最大的负载加权值大于预设管理阀值的服务器时,比较下一最大负载加权值与预设 管理阀值,直到所比较负载加权值不大于预设管理阀值,同时将负载加权值大于预设阀值 的服务器的响应停止预设时间段;重新计算各服务器的负载加权值,并将最新负载请求分 配到负载加权值最小的服务器上。
4.根据权利要求1所述的方法,其特征在于所述负载加权值通过对服务器各状态参数与其对应权重的乘积求和获取。
5.一种基于认知网络的自适应负载均衡装置,其特征在于,所述装置包括采集模块,用于实时采集各服务器状态参数;所述服务器状态参数包括CPU负载,网络 流量,内存占用率;比较模块,用于计算各服务器的负载加权值,并将所计算的负载加权值与预设管理阀 值进行比较;处理模块,用于当存在负载加权值大于预设管理阀值的服务器时,将对应服务器的响 应停止预设时间段后,重新计算各服务器的负载加权值,并将最新负载请求分配到负载加 权值最小的服务器上。
6.根据权利要求5所述的装置,其特征在于,所述比较模块中预设管理阀值为一个或 多个,则各服务器对应同一预设管理阀值; 或,各服务器分别对应一个预设管理阀值。
7.根据权利要求6所述的装置,其特征在于所述比较模块通过对服务器各状态参数与其对应权重的乘积求和获取。
全文摘要
本发明提供了一种基于认知网络的自适应负载均衡方法和装置,通过实时采集各服务器状态参数,计算各服务器的负载加权值,并将所计算的负载加权值与预设管理阀值进行比较,当存在负载加权值大于预设管理阀值的服务器时,将对应服务器的响应停止预设时间段后,重新计算各服务器的负载加权值,并将最新负载请求分配到负载加权值最小的服务器上,从而实现对网络业务流实时、动态的调度,使得业务量在整个网络中均匀分布,减少网络拥塞。
文档编号H04L12/56GK102035737SQ201010586289
公开日2011年4月27日 申请日期2010年12月8日 优先权日2010年12月8日
发明者华蕊, 尚小溥, 张润彤, 朱晓敏, 李丹丹, 谷秀君, 邢婷 申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1