发明名称 一种基于网络流量自适应预测的动态负载均衡方法
摘要 本发明提供一种基于网络流量自适应预测的动态负载均衡方案。该方案通过观察流入负载均衡交换机或交换软件的网络负载在一定时间周期的历史数据规律,得到预测程序中自适应算法的参数值,形成计算公式,之后把当前时刻的负载观测值代入公式来预测下一时刻的负载数值,根据预测值来实时对后端服务器进行流量分配,使网络负载得到预先调节,避免了滞后效应,时时使网络负载保持在比较均衡的状态,适合负载流量具有一定时间周期性规律的网络,例如定期网络备份等场合,大大增强了网络对负载的自适应自调节能力。
申请公布号 CN101695050A 申请公布日期 2010.04.14
申请号 CN200910229411.7 申请日期 2009.10.19
申请人 浪潮电子信息产业股份有限公司 发明人 王渭巍;王守昊
分类号 H04L12/56(2006.01)I;H04L12/26(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/56(2006.01)I
代理机构 代理人
主权项 1.一种基于网络流量自适应预测的动态负载均衡方法,其特征在于,由网络负载的一定时间周期的历史数据得到自适应算法的参数值,形成预测程序的公式,将当前时刻的负载观测值和上述参数值代入公式,得到对下一时刻的网络负载的预测值,从而使负载均衡软件根据该预测值预先调整后端的调度算法的权值,实现负载均衡,具体步骤如下:首先由基于SNMP协议的负载均衡器本身操作系统的网络流量监控软件或负载均衡软件的网络流量监控记录,包括流入负载均衡交换机或交换软件的网络流量在一定时间周期的历史数据,代入预测程序中自适应算法的计算公式,得到自适应算法的参数,在进行预测时,把当前时刻的负载观测值代入公式来预测下一时刻的负载数值,并取代当前时刻的负载观测值输入负载均衡软件的负载均衡模块来对后端服务器进行流量分配;自适应算法为三层BP神经网络算法,当前时刻的下一时刻的网络流量负载的预测公式为:<maths num="0001"><![CDATA[<math><mrow><msub><mi>INPUT</mi><mi>n</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>x</mi><mi>i</mi></msub><mi>INPU</mi><msub><mi>T</mi><mi>i</mi></msub></mrow></math>]]></maths>其中INPUT<sub>i</sub>(i=0,1,2,3,……n-1)是当前时刻的网络流量、距当前时刻前一时间间隔、前两个时间间隔、前三个时间间隔、……前n-1个时间间隔的网络流量负载,x<sub>i</sub>则是通过自适应算法得到的权值,通过上面加权自回归公式的计算,得到对下一时间间隔的网络流量INPUT<sub>n</sub>的预测值,x<sub>i</sub>的计算过程参照神经网络介绍,n值的选定,和时间间隔的大小根据该网络负载变化的时间周期而定;具体算法描述如下:x=(x<sub>0</sub>,x<sub>1</sub>,…x<sub>n-1</sub>)<sup>T</sup>,x∈R<sup>n</sup>,为输入向量,隐层n<sub>1</sub>个神经元,x′∈R<sup>n</sup>,x′=(x′<sub>0</sub>,x′<sub>1</sub>,…,x′<sub>n-1</sub>)<sup>T</sup>,输出神经元y∈R<sup>m</sup>,y=(y<sub>0</sub>,y<sub>1</sub>,…,y<sub>m-1</sub>)<sup>T</sup>,输入层与隐层之间的权值为w<sub>ik</sub>,阈值为θ<sub>j</sub>,隐层与输出层间的权值为w<sub>kj</sub>,阈值为θ<sub>l</sub>,那么隐层神经元的输出满足:<img file="F2009102294117C0000012.GIF" wi="436" he="120" />输出层神经元的输出满足<img file="F2009102294117C0000013.GIF" wi="432" he="120" />网络关于第p个样本的误差测度:<img file="F2009102294117C0000021.GIF" wi="427" he="122" />三层BP神经网络算法的过程是由模式的正向传播和误差反向传播所组成,在正向传播过程中,输入信息经隐层神经元逐层处理并传向输出层,输出层不能得到所期望的输出,则转入反向传播过程,将实际值与网络输出之间的误差按原来的联结通路返回,通过修改各层神经元间的权重使误差减小,然后再转入正向传播过程,如此反复计算,直到误差小于设定值为止。
地址 250014 山东省济南市历下区山大路224号