本发明涉及通信技术领域,特别涉及一种网络设备、网络业务预测装置和方法。
背景技术:
预测是指在掌握现有信息的基础上,依照一定的方法和规律对未来的事情进行测算,以预先了解事情发展的过程与结果。在通信领域,网络业务预测对整个通信网络的规划起着至关重要的作用,同时也有利于网络资源的合理分配与调度。
在相关技术中,对网络业务进行预测的方法主要包括如下两类:一类是利用已有的网络业务数据,分析其统计特性以及时间相关性后对其进行建模,并在此基础上对未来时段的网络业务数据进行预测;另一类是直接利用网络业务的TM(Traffic Matrix,流量矩阵),根据网络业务在时间和空间维度上的相关性,使用压缩感知技术对TM进行重构,并在此基础上对未来时段的网络业务进行预测。其中,在上述第一类方法中,采用的预测模型也从早期的泊松模型,发展到后来的马尔可夫模型、自回归模型、自回归滑动平均模型等;在上述第二类方法中,采用的预测模型包括FARIMA(Fractal Auto Regressive Integrated Moving Average,自回归分数整合滑动平均)模型、小波分解模型、BP(Back Propagation,反向传播)神经网络模型等。
在实现本发明的过程中,发明人发现上述技术至少存在以下问题:在相关技术中,对网络业务的预测仅仅停留在单一层面、单一时间尺度上的预测,且预测的时间尺度也较长。比如,对平稳期以及节假日的话务量进行预测,或者对未来某天的网络流量进行预测。由此可见,相关的网络业务预测方法在应对网络业务的突发性方面以及预测准确度方面仍然存在明显不足。
技术实现要素:
为了解决相关技术中涉及的网络业务预测方法在应对网络业务的突发性方面以及预测准确度方面仍然存在明显不足的问题,本发明实施例提供了一种网络设备、网络业务预测装置和方法。所述技术方案如下:
第一方面,提供了一种网络设备,所述网络设备包括:处理器、以及与所述处理器相连的存储器;
所述处理器,用于获取历史数据,所述历史数据包括历史业务分布特性和历史数据包数目;
所述处理器,还用于根据所述历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,所述预测样本包括当前时段对应的时间单元内的业务分布特性;
所述处理器,还用于根据所述历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,所述测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。
在第一方面的第一种可能的实施方式中,
所述处理器,还用于根据所述历史业务分布特性获取m个聚类样本,每个聚类样本包括一个时间单元内的业务分布特性对应的n维数据,m≥1,n≥1;
所述处理器,还用于通过K-Means聚类算法对所述m个聚类样本进行聚类得到k个类,1≤k≤m;
所述处理器,还用于获取所述当前时段对应的预测样本,所述预测样本包括当前时段所对应的时间单元内的业务分布特性对应的n维数据;
所述处理器,还用于从所述k个类中获取与所述预测样本相匹配的类;
所述处理器,还用于根据与所述预测样本相匹配的类对所述未来至少一个时间单元内的业务分布特性进行预测。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,
所述处理器,还用于选取k个初始的质心点,所述k个初始的质心点分别为u1,u2,...,uk;
所述处理器,还用于对于每一个聚类样本,计算所述聚类样本所属的类;其中,第i个聚类样本x(i)所属的类c(i)为:c(i)表示所述第i个聚类样本x(i)与k个质心点中距离最近的质心点所属的类,1≤i≤m,c(i)∈[1,k];
所述处理器,还用于对于每一个类,更新所述类的质心点;其中,第j个类的质心点uj为:
所述处理器,还用于判断更新后的所述质心点uj是否满足预定条件;
所述处理器,还用于若满足所述预定条件,则完成对所述m个聚类样本的聚类,并记录更新后的所述质心点uj;
所述处理器,还用于若不满足所述预定条件,则再次执行所述对于每一个聚类样本,计算所述聚类样本所属的类的步骤。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,
所述处理器,还用于在每一次更新之后,计算更新后的所述质心点uj所属的类中各个聚类样本与所述质心点uj的距离之和L;
所述处理器,还用于判断本次更新后计算得的所述距离之和L与上一次更新后计算得到的所述距离之和L之间的差值是否小于预定门限值;
所述处理器,还用于若小于所述预定门限值,则确定更新后的所述质心点uj满足所述预定条件;
所述处理器,还用于若大于所述预定门限值,则确定更新后的所述质心点uj不满足所述预定条件。
结合第一方面的第二种可能的实施方式,在第一方面的第四种可能的实施方式中,
所述处理器,还用于分别计算所述预测样本与各个类的质心点之间的欧氏距离;
所述处理器,还用于将与所述预测样本之间的欧氏距离最小的质心点所属的类确定为与所述预测样本相匹配的类。
结合第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,
所述处理器,还用于将所述预测样本添加至与所述预测样本相匹配的类中;
所述处理器,还用于更新所述与所述预测样本相匹配的类的质心点。
结合第一方面的第二种可能的实施方式,在第一方面的第六种可能的实施方式中,
所述处理器,还用于获取与所述预测样本相匹配的类的质心点;
所述处理器,还用于获取所述质心点对应的时间单元内的业务分部特性对应的n维数据;
所述处理器,还用于将所述质心点对应的时间单元内的业务分部特性对应的n维数据作为所述未来至少一个时间单元内的业务分布特性对应的n维数据。
结合第一方面,在第一方面的第七种可能的实施方式中,
所述处理器,还用于获取所述测试样本;
所述处理器,还用于根据完成训练的神经网络和所述测试样本对所述未来至少一个调度周期的数据包数目进行预测;
其中,所述神经网络是根据所述历史数据包数目进行训练的。
结合第一方面的第七种可能的实施方式,在第一方面的第八种可能的实施方式中,
所述处理器,还用于构建所述神经网络;
所述处理器,还用于根据所述历史数据包数目获取x个训练样本以及所述x个训练样本分别对应的期望输出,每个训练样本包括N个调度周期的数据包数目,每个期望输出包括所述N个调度周期之后的P个调度周期的数据包数目,x≥1,P≥1;
所述处理器,还用于根据所述x个训练样本以及所述x个训练样本分别对应的期望输出对所述神经网络进行训练。
结合第一方面的第八种可能的实施方式,在第一方面的第九种可能的实施方式中,
所述处理器,还用于为所述神经网络分配初始的连接权值wij和cjp;其中,wij表示输入层至隐藏层的连接权值,cjp表示所述隐藏层至输出层的连接权值,1≤i≤N,1≤j≤M,1≤p≤P,N、M、P分别表示所述输入层、所述隐藏层以及所述输出层的神经元数量;
所述处理器,还用于从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a)),1≤a≤x;
所述处理器,还用于根据所述第a个训练样本以及所述神经网络计算所述第a个训练样本对应的实际输出yp(a)=(y1(a),y2(a),...,yP(a));
所述处理器,还用于根据所述期望输出xp(a)、所述实际输出yp(a)以及误差函数对所述连接权值wij和cjp进行修正;
所述处理器,还用于根据所述期望输出xp(a)、所述实际输出yp(a)以及所述误差函数计算全局误差ElP;
所述处理器,还用于检测所述全局误差ElP是否小于预定误差阈值;
所述处理器,还用于若小于所述预定误差阈值,则完成所述神经网络的训练。
结合第一方面的第九种可能的实施方式,在第一方面的第十种可能的实施方式中,
所述处理器,还用于若大于所述预定误差阈值,则更新学习次数;
所述处理器,还用于判断更新后的所述学习次数是否大于最大学习次数;
所述处理器,还用于若大于所述最大学习次数,则完成所述神经网络的训练;
所述处理器,还用于若小于所述最大学习次数,则再次执行所述从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a))的步骤。
结合第一方面的第九种可能的实施方式,在第一方面的第十一种可能的实施方式中,
所述处理器,还用于计算所述误差函数对所述连接权值cjp的偏导数所述误差函数
所述处理器,还用于计算所述误差函数对所述连接权值wij的偏导数
所述处理器,还用于根据所述偏导数δpj和φji分别对所述连接权值wij和cjp进行修正。
结合第一方面的第七种可能的实施方式,在第一方面的第十二种可能的实施方式中,
所述处理器,还用于以所述测试样本所包括的当前时段内的N个调度周期的数据包数目为输入,计算完成训练的所述神经网络的实际输出;
所述处理器,还用于将所述实际输出作为所述未来至少一个调度周期的数据包数目。
结合第一方面的第九种可能的实施方式,在第一方面的第十三种可能的实施方式中,
所述处理器,还用于记录所述未来至少一个调度周期的数据包数目;
所述处理器,还用于根据所述测试样本以及未来至少一个调度周期的数据包数目确定第x+1个训练样本以及所述第x+1个训练样本对应的期望输出;
所述处理器,还用于根据所述第x+1个训练样本以及所述第x+1个训练样本对应的期望输出对所述神经网络的连接权值wij和cjp进行修正。
结合第一方面、第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式、第一方面的第四种可能的实施方式、第一方面的第五种可能的实施方式、第一方面的第六种可能的实施方式、第一方面的第七种可能的实施方式、第一方面的第八种可能的实施方式、第一方面的第九种可能的实施方式、第一方面的第十种可能的实施方式、第一方面的第十一种可能的实施方式、第一方面的第十二种可能的实施方式或者第一方面的第十三种可能的实施方式,在第一方面的第十四种可能的实施方式中,
所述处理器,还用于通过均值预测方法计算第i种业务的数据包的平均比特数li,i≥1;
所述处理器,还用于获取当前时段对应的调度周期内的所述第i种业务的数据包数目ni;
所述处理器,还用于计算所述第i种业务的总业务量li*ni,并将所述第i种业务的总业务量li*ni作为未来至少一个调度周期内的所述第i种业务的总业务量。
结合第一方面的第十四种可能的实施方式,在第一方面的第十五种可能的实施方式中,
所述处理器,还用于获取连续M个时刻到达的所述第i种业务的数据包的比特数dik,1≤k≤M;
所述处理器,还用于分别为M个数据包分配权值pik,其中,
所述处理器,还用于根据所述连续M个时刻到达的所述第i种业务的数据包的比特数dik和所述权值pik计算所述第i种业务的数据包的平均比特数
结合第一方面的第十四种可能的实施方式,在第一方面的第十六种可能的实施方式中,
所述处理器,还用于根据所述第i种业务的总业务量li*ni计算所述调度周期内的总业务量
第二方面,提供了一种网络业务预测装置,所述装置包括:
数据获取模块,用于获取历史数据,所述历史数据包括历史业务分布特性和历史数据包数目;
第一预测模块,用于根据所述历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,所述预测样本包括当前时段对应的时间单元内的业务分布特性;
第二预测模块,用于根据所述历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,所述测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。
在第二方面的第一种可能的实施方式中,所述第一预测模块,包括:样本获取子模块、样本聚类子模块、样本采集子模块、样本匹配子模块和第一预测子模块;
所述样本获取子模块,用于根据所述历史业务分布特性获取m个聚类样本,每个聚类样本包括一个时间单元内的业务分布特性对应的n维数据,m≥1,n≥1;
所述样本聚类子模块,用于通过K-Means聚类算法对所述m个聚类样本进行聚类得到k个类,1≤k≤m;
所述样本采集子模块,用于获取所述当前时段对应的预测样本,所述预测样本包括当前时段所对应的时间单元内的业务分布特性对应的n维数据;
所述样本匹配子模块,用于从所述k个类中获取与所述预测样本相匹配的类;
所述第一预测子模块,用于根据与所述预测样本相匹配的类对所述未来至少一个时间单元内的业务分布特性进行预测。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述样本聚类子模块,包括:质心选取单元、类计算单元、质心更新单元、条件判断单元和聚类完成单元;
所述质心选取单元,用于选取k个初始的质心点,所述k个初始的质心点分别为u1,u2,...,uk;
所述类计算单元,用于对于每一个聚类样本,计算所述聚类样本所属的类;其中,第i个聚类样本x(i)所属的类c(i)为:c(i)表示所述第i个聚类样本x(i)与k个质心点中距离最近的质心点所属的类,1≤i≤m,c(i)∈[1,k];
所述质心更新单元,用于对于每一个类,更新所述类的质心点;其中,第j个类的质心点uj为:
所述条件判断单元,用于判断更新后的所述质心点uj是否满足预定条件;
所述聚类完成单元,用于若满足所述预定条件,则完成对所述m个聚类样本的聚类,并记录更新后的所述质心点uj;
所述类计算单元,还用于若不满足所述预定条件,则再次执行所述对于每一个聚类样本,计算所述聚类样本所属的类的步骤。
结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述条件判断单元,包括:距离计算子单元、门限判断子单元、第一确定子单元和第二确定子单元;
所述距离计算子单元,用于在每一次更新之后,计算更新后的所述质心点uj所属的类中各个聚类样本与所述质心点uj的距离之和L;
所述门限判断子单元,用于判断本次更新后计算得的所述距离之和L与上一次更新后计算得到的所述距离之和L之间的差值是否小于预定门限值;
所述第一确定子单元,用于若小于所述预定门限值,则确定更新后的所述质心点uj满足所述预定条件;
所述第二确定子单元,用于若大于所述预定门限值,则确定更新后的所述质心点uj不满足所述预定条件。
结合第二方面的第二种可能的实施方式,在第二方面的第四种可能的实施方式中,所述样本匹配子模块,包括:距离计算单元和样本匹配单元;
所述距离计算单元,用于分别计算所述预测样本与各个类的质心点之间的欧氏距离;
所述样本匹配单元,用于将与所述预测样本之间的欧氏距离最小的质心点所属的类确定为与所述预测样本相匹配的类。
结合第二方面的第四种可能的实施方式,在第二方面的第五种可能的实施方式中,所述样本匹配子模块,还包括:样本添加单元和更新质心单元;
所述样本添加单元,用于将所述预测样本添加至与所述预测样本相匹配的类中;
所述更新质心单元,用于更新所述与所述预测样本相匹配的类的质心点。
结合第二方面的第二种可能的实施方式,在第二方面的第六种可能的实施方式中,所述第一预测子模块,包括:质心获取单元、数据获取单元和数据预测单元;
所述质心获取单元,用于获取与所述预测样本相匹配的类的质心点;
所述数据获取单元,用于获取所述质心点对应的时间单元内的业务分部特性对应的n维数据;
所述数据预测单元,用于将所述质心点对应的时间单元内的业务分部特性对应的n维数据作为所述未来至少一个时间单元内的业务分布特性对应的n维数据。
结合第二方面,在第二方面的第七种可能的实施方式中,所述第二预测模块,包括:获取样本子模块和数目预测子模块;
所述获取样本子模块,用于获取所述测试样本;
所述数目预测子模块,用于根据完成训练的神经网络和所述测试样本对所述未来至少一个调度周期的数据包数目进行预测;
其中,所述神经网络是根据所述历史数据包数目进行训练的。
结合第二方面的第七种可能的实施方式,在第二方面的第八种可能的实施方式中,所述第二预测模块,还包括:网络构建子模块、样本选取子模块和网络训练子模块;
所述网络构建子模块,用于构建所述神经网络;
所述样本选取子模块,用于根据所述历史数据包数目获取x个训练样本以及所述x个训练样本分别对应的期望输出,每个训练样本包括N个调度周期的数据包数目,每个期望输出包括所述N个调度周期之后的P个调度周期的数据包数目,x≥1,P≥1;
所述网络训练子模块,用于根据所述x个训练样本以及所述x个训练样本分别对应的期望输出对所述神经网络进行训练。
结合第二方面的第八种可能的实施方式,在第二方面的第九种可能的实施方式中,所述网络训练子模块,包括:权值分配单元、样本选取单元、输出计算单元、权值修正单元、误差计算单元、误差检测单元和训练完成单元;
所述权值分配单元,用于为所述神经网络分配初始的连接权值wij和cjp;其中,wij表示输入层至隐藏层的连接权值,cjp表示所述隐藏层至输出层的连接权值,1≤i≤N,1≤j≤M,1≤p≤P,N、M、P分别表示所述输入层、所述隐藏层以及所述输出层的神经元数量;
所述样本选取单元,用于从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a)),1≤a≤x;
所述输出计算单元,用于根据所述第a个训练样本以及所述神经网络计算所述第a个训练样本对应的实际输出yp(a)=(y1(a),y2(a),...,yP(a));
所述权值修正单元,用于根据所述期望输出xp(a)、所述实际输出yp(a)以及误差函数对所述连接权值wij和cjp进行修正;
所述误差计算单元,用于根据所述期望输出xp(a)、所述实际输出yp(a)以及所述误差函数计算全局误差ElP;
所述误差检测单元,用于检测所述全局误差ElP是否小于预定误差阈值;
所述训练完成单元,用于若小于所述预定误差阈值,则完成所述神经网络的训练。
结合第二方面的第九种可能的实施方式,在第二方面的第十种可能的实施方式中,所述网络训练子模块,还包括:次数更新单元和次数判断单元;
所述次数更新单元,用于若大于所述预定误差阈值,则更新学习次数;
所述次数判断单元,用于判断更新后的所述学习次数是否大于最大学习次数;
所述训练完成单元,还用于若大于所述最大学习次数,则完成所述神经网络的训练;
所述样本选取单元,还用于若小于所述最大学习次数,则再次执行所述从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a))的步骤。
结合第二方面的第九种可能的实施方式,在第二方面的第十一种可能的实施方式中,所述权值修正单元,包括:第一计算子单元、第二计算子单元和权值修正子单元;
所述第一计算子单元,用于计算所述误差函数对所述连接权值cjp的偏导数所述误差函数
所述第二计算子单元,用于计算所述误差函数对所述连接权值wij的偏导数
所述权值修正子单元,用于根据所述偏导数δpj和φji分别对所述连接权值wij和cjp进行修正。
结合第二方面的第七种可能的实施方式,在第二方面的第十二种可能的实施方式中,所述数目预测子模块,包括:计算输出单元和数目预测单元;
所述计算输出单元,用于以所述测试样本所包括的当前时段内的N个调度周期的数据包数目为输入,计算完成训练的所述神经网络的实际输出;
所述数目预测单元,用于将所述实际输出作为所述未来至少一个调度周期的数据包数目。
结合第二方面的第九种可能的实施方式,在第二方面的第十三种可能的实施方式中,所述第二预测模块,还包括:数目记录子模块、样本生成子模块和权值修正子模块;
所述数目记录子模块,用于记录所述未来至少一个调度周期的数据包数目;
所述样本生成子模块,用于根据所述测试样本以及未来至少一个调度周期的数据包数目确定第x+1个训练样本以及所述第x+1个训练样本对应的期望输出;
所述权值修正子模块,用于根据所述第x+1个训练样本以及所述第x+1个训练样本对应的期望输出对所述神经网络的连接权值wij和cjp进行修正。
结合第二方面、第二方面的第一种可能的实施方式、第二方面的第二种可能的实施方式、第二方面的第三种可能的实施方式、第二方面的第四种可能的实施方式、第二方面的第五种可能的实施方式、第二方面的第六种可能的实施方式、第二方面的第七种可能的实施方式、第二方面的第八种可能的实施方式、第二方面的第九种可能的实施方式、第二方面的第十种可能的实施方式、第二方面的第十一种可能的实施方式、第二方面的第十二种可能的实施方式或者第二方面的第十三种可能的实施方式,在第二方面的第十四种可能的实施方式中,所述装置,还包括:
比特预测模块,用于通过均值预测方法计算第i种业务的数据包的平均比特数li,i≥1;
数目获取模块,用于获取当前时段对应的调度周期内的所述第i种业务的数据包数目ni;
总量计算模块,用于计算所述第i种业务的总业务量li*ni,并将所述第i种业务的总业务量li*ni作为未来至少一个调度周期内的所述第i种业务的总业务量。
结合第二方面的第十四种可能的实施方式,在第二方面的第十五种可能的实施方式中,所述比特预测模块,包括:比特获取子模块、权值分配子模块和比特计算子模块;
所述比特获取子模块,用于获取连续M个时刻到达的所述第i种业务的数据包的比特数dik,1≤k≤M;
所述权值分配子模块,用于分别为M个数据包分配权值pik,其中,
所述比特计算子模块,用于根据所述连续M个时刻到达的所述第i种业务的数据包的比特数dik和所述权值pik计算所述第i种业务的数据包的平均比特数
结合第二方面的第十四种可能的实施方式,在第二方面的第十六种可能的实施方式中,所述装置,还包括:
总量预测模块,用于根据所述第i种业务的总业务量li*ni计算所述调度周期内的总业务量
第三方面,提供了一种网络业务预测方法,所述方法包括:
获取历史数据,所述历史数据包括历史业务分布特性和历史数据包数目;
根据所述历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,所述预测样本包括当前时段对应的时间单元内的业务分布特性;
根据所述历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,所述测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。
在第三方面的第一种可能的实施方式中,所述根据所述历史业务分布特性和当前时刻对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,包括:
根据所述历史业务分布特性获取m个聚类样本,每个聚类样本包括一个时间单元内的业务分布特性对应的n维数据,m≥1,n≥1;
通过K-Means聚类算法对所述m个聚类样本进行聚类得到k个类,1≤k≤m;
获取所述当前时段对应的预测样本,所述预测样本包括当前时段所对应的时间单元内的业务分布特性对应的n维数据;
从所述k个类中获取与所述预测样本相匹配的类;
根据与所述预测样本相匹配的类对所述未来至少一个时间单元内的业务分布特性进行预测。
结合第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,所述通过K-Means聚类算法对所述m个聚类样本进行聚类得到k个类,包括:
选取k个初始的质心点,所述k个初始的质心点分别为u1,u2,...,uk;
对于每一个聚类样本,计算所述聚类样本所属的类;其中,第i个聚类样本x(i)所属的类c(i)为:c(i)表示所述第i个聚类样本x(i)与k个质心点中距离最近的质心点所属的类,1≤i≤m,c(i)∈[1,k];
对于每一个类,更新所述类的质心点;其中,第j个类的质心点uj为:
判断更新后的所述质心点uj是否满足预定条件;
若满足所述预定条件,则完成对所述m个聚类样本的聚类,并记录更新后的所述质心点uj;
若不满足所述预定条件,则再次执行所述对于每一个聚类样本,计算所述聚类样本所属的类的步骤。
结合第三方面的第二种可能的实施方式,在第三方面的第三种可能的实施方式中,所述判断更新后的所述质心点uj是否满足预定条件,包括:
在每一次更新之后,计算更新后的所述质心点uj所属的类中各个聚类样本与所述质心点uj的距离之和L;
判断本次更新后计算得的所述距离之和L与上一次更新后计算得到的所述距离之和L之间的差值是否小于预定门限值;
若小于所述预定门限值,则确定更新后的所述质心点uj满足所述预定条件;
若大于所述预定门限值,则确定更新后的所述质心点uj不满足所述预定条件。
结合第三方面的第二种可能的实施方式,在第三方面的第四种可能的实施方式中,所述从所述k个类中获取与所述预测样本相匹配的类,包括:
分别计算所述预测样本与各个类的质心点之间的欧氏距离;
将与所述预测样本之间的欧氏距离最小的质心点所属的类确定为与所述预测样本相匹配的类。
结合第三方面的第四种可能的实施方式,在第三方面的第五种可能的实施方式中,所述将与所述预测样本之间的欧氏距离最小的质心点所属的类确定为与所述预测样本相匹配的类之后,还包括:
将所述预测样本添加至与所述预测样本相匹配的类中;
更新所述与所述预测样本相匹配的类的质心点。
结合第三方面的第二种可能的实施方式,在第三方面的第六种可能的实施方式中,所述根据与所述预测样本相匹配的类对所述未来至少一个时间单元内的业务分布特性进行预测,包括:
获取与所述预测样本相匹配的类的质心点;
获取所述质心点对应的时间单元内的业务分部特性对应的n维数据;
将所述质心点对应的时间单元内的业务分部特性对应的n维数据作为所述未来至少一个时间单元内的业务分布特性对应的n维数据。
结合第三方面,在第三方面的第七种可能的实施方式中,所述根据所述历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,包括:
获取所述测试样本;
根据完成训练的神经网络和所述测试样本对所述未来至少一个调度周期的数据包数目进行预测;
其中,所述神经网络是根据所述历史数据包数目进行训练的。
结合第三方面的第七种可能的实施方式,在第三方面的第八种可能的实施方式中,所述根据完成训练的所述神经网络和所述测试样本对所述未来至少一个调度周期的数据包数目进行预测之前,还包括:
构建所述神经网络;
根据所述历史数据包数目获取x个训练样本以及所述x个训练样本分别对应的期望输出,每个训练样本包括N个调度周期的数据包数目,每个期望输出包括所述N个调度周期之后的P个调度周期的数据包数目,x≥1,P≥1;
根据所述x个训练样本以及所述x个训练样本分别对应的期望输出对所述神经网络进行训练。
结合第三方面的第八种可能的实施方式,在第三方面的第九种可能的实施方式中,所述根据所述x个训练样本以及所述x个训练样本分别对应的期望输出对所述神经网络进行训练,包括:
为所述神经网络分配初始的连接权值wij和cjp;其中,wij表示输入层至隐藏层的连接权值,cjp表示所述隐藏层至输出层的连接权值,1≤i≤N,1≤j≤M,1≤p≤P,N、M、P分别表示所述输入层、所述隐藏层以及所述输出层的神经元数量;
从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a)),1≤a≤x;
根据所述第a个训练样本以及所述神经网络计算所述第a个训练样本对应的实际输出yp(a)=(y1(a),y2(a),...,yP(a));
根据所述期望输出xp(a)、所述实际输出yp(a)以及误差函数对所述连接权值wij和cjp进行修正;
根据所述期望输出xp(a)、所述实际输出yp(a)以及所述误差函数计算全局误差ElP;
检测所述全局误差ElP是否小于预定误差阈值;
若小于所述预定误差阈值,则完成所述神经网络的训练。
结合第三方面的第九种可能的实施方式,在第三方面的第十种可能的实施方式中,所述检测所述全局误差ElP是否小于预定误差阈值之后,还包括:
若大于所述预定误差阈值,则更新学习次数;
判断更新后的所述学习次数是否大于最大学习次数;
若大于所述最大学习次数,则完成所述神经网络的训练;
若小于所述最大学习次数,则再次执行所述从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a))的步骤。
结合第三方面的第九种可能的实施方式,在第三方面的第十一种可能的实施方式中,所述根据所述期望输出xp(a)、所述实际输出yp(a)以及误差函数对所述连接权值wij和cjp进行修正,包括:
计算所述误差函数对所述连接权值cjp的偏导数所述误差函数
计算所述误差函数对所述连接权值wij的偏导数
根据所述偏导数δpj和φji分别对所述连接权值wij和cjp进行修正。
结合第三方面的第七种可能的实施方式,在第三方面的第十二种可能的实施方式中,所述根据完成训练的所述神经网络和所述测试样本对所述未来至少一个调度周期的数据包数目进行预测,包括:
以所述测试样本所包括的当前时段内的N个调度周期的数据包数目为输入,计算完成训练的所述神经网络的实际输出;
将所述实际输出作为所述未来至少一个调度周期的数据包数目。
结合第三方面的第九种可能的实施方式,在第三方面的第十三种可能的实施方式中,所述根据完成训练的所述神经网络和所述测试样本对所述未来至少一个调度周期的数据包数目进行预测之后,还包括:
记录所述未来至少一个调度周期的数据包数目;
根据所述测试样本以及未来至少一个调度周期的数据包数目确定第x+1个训练样本以及所述第x+1个训练样本对应的期望输出;
根据所述第x+1个训练样本以及所述第x+1个训练样本对应的期望输出对所述神经网络的连接权值wij和cjp进行修正。
结合第三方面、第三方面的第一种可能的实施方式、第三方面的第二种可能的实施方式、第三方面的第三种可能的实施方式、第三方面的第四种可能的实施方式、第三方面的第五种可能的实施方式、第三方面的第六种可能的实施方式、第三方面的第七种可能的实施方式、第三方面的第八种可能的实施方式、第三方面的第九种可能的实施方式、第三方面的第十种可能的实施方式、第三方面的第十一种可能的实施方式、第三方面的第十二种可能的实施方式或者第三方面的第十三种可能的实施方式,在第三方面的第十四种可能的实施方式中,所述根据所述历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测之后,还包括:
通过均值预测方法计算第i种业务的数据包的平均比特数li,i≥1;
获取当前时段对应的调度周期内的所述第i种业务的数据包数目ni;
计算所述第i种业务的总业务量li*ni,并将所述第i种业务的总业务量li*ni作为未来至少一个调度周期内的所述第i种业务的总业务量。
结合第三方面的第十四种可能的实施方式,在第三方面的第十五种可能的实施方式中,所述通过均值预测方法计算第i种业务的数据包的平均比特数li,包括:
获取连续M个时刻到达的所述第i种业务的数据包的比特数dik,1≤k≤M;
分别为M个数据包分配权值pik,其中,
根据所述连续M个时刻到达的所述第i种业务的数据包的比特数dik和所述权值pik计算所述第i种业务的数据包的平均比特数
结合第三方面的第十四种可能的实施方式,在第三方面的第十六种可能的实施方式中,所述将所述当前时段对应的调度周期内的所述第i种业务的总业务量li*ni作为未来至少一个调度周期内的所述第i种业务的总业务量之后,还包括:
根据所述第i种业务的总业务量li*ni计算所述调度周期内的总业务量
本发明实施例提供的技术方案的有益效果可以包括:
通过获取包括历史业务分布特性和历史数据包数目在内的历史数据,并根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测;解决了相关技术中涉及的网络业务预测方法在应对网络业务的突发性方面以及预测准确度方面仍然存在明显不足的问题;通过从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测,实现了对处理资源和存储资源进行预先的规划,达到充分利用资源和减少能耗的目的,同时还通过从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测,实现了对处理资源和存储资源进行更为细致的规划,以应对网络业务的突发性,同时也提高了预测准确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的网络设备的结构示意图;
图2是本发明一个实施例提供的网络业务预测装置的结构方框图;
图3是本发明另一实施例提供的网络业务预测装置的结构方框图;
图4是本发明一个实施例提供的网络业务预测方法的方法流程图;
图5是本发明另一实施例提供的网络业务预测方法的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
首先需要说明的一点是:在本发明各个实施例中,所涉及的网络设备可以是计算机(包括个人电脑或者服务器)、网关或者基站等,且该网络设备具有存储介质和处理器。
请参考图1,其示出了本发明一个实施例提供的网络设备的结构示意图,该网络设备包括:处理器120,以及与处理器120相连的存储器140。存储器140中存储有一个或者一个以上的程序,处理器120可以根据存储器140中存储的一个或者一个以上的程序实现相应的操作。具体的:
处理器120,用于获取历史数据,该历史数据包括历史业务分布特性和历史数据包数目。
处理器120,还用于根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,该预测样本包括当前时段对应的时间单元内的业务分布特性。
处理器120,还用于根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,该测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。
综上所述,本实施例提供的网络设备,通过获取包括历史业务分布特性和历史数据包数目在内的历史数据,并根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测;解决了相关技术中涉及的网络业务预测方法在应对网络业务的突发性方面以及预测准确度方面仍然存在明显不足的问题;通过从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测,实现了对处理资源和存储资源进行预先的规划,达到充分利用资源和减少能耗的目的,同时还通过从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测,实现了对处理资源和存储资源进行更为细致的规划,以应对网络业务的突发性,同时也提高了预测准确度。
在图1所示实施例的第一种可能的实施方式中,
所述处理器120,还用于根据所述历史业务分布特性获取m个聚类样本,每个聚类样本包括一个时间单元内的业务分布特性对应的n维数据,m≥1,n≥1;
所述处理器120,还用于通过K-Means聚类算法对所述m个聚类样本进行聚类得到k个类,1≤k≤m;
所述处理器120,还用于获取所述当前时段对应的预测样本,所述预测样本包括当前时段所对应的时间单元内的业务分布特性对应的n维数据;
所述处理器120,还用于从所述k个类中获取与所述预测样本相匹配的类;
所述处理器120,还用于根据与所述预测样本相匹配的类对所述未来至少一个时间单元内的业务分布特性进行预测。
在图1所示实施例的第二种可能的实施方式中,
所述处理器120,还用于选取k个初始的质心点,所述k个初始的质心点分别为u1,u2,...,uk;
所述处理器120,还用于对于每一个聚类样本,计算所述聚类样本所属的类;其中,第i个聚类样本x(i)所属的类c(i)为:c(i)表示所述第i个聚类样本x(i)与k个质心点中距离最近的质心点所属的类,1≤i≤m,c(i)∈[1,k];
所述处理器,还用于对于每一个类,更新所述类的质心点;其中,第j个类的质心点uj为:
所述处理器120,还用于判断更新后的所述质心点uj是否满足预定条件;
所述处理器120,还用于若满足所述预定条件,则完成对所述m个聚类样本的聚类,并记录更新后的所述质心点uj;
所述处理器120,还用于若不满足所述预定条件,则再次执行所述对于每一个聚类样本,计算所述聚类样本所属的类的步骤。
在图1所示实施例的第三种可能的实施方式中,
所述处理器120,还用于在每一次更新之后,计算更新后的所述质心点uj所属的类中各个聚类样本与所述质心点uj的距离之和L;
所述处理器120,还用于判断本次更新后计算得的所述距离之和L与上一次更新后计算得到的所述距离之和L之间的差值是否小于预定门限值;
所述处理器120,还用于若小于所述预定门限值,则确定更新后的所述质心点uj满足所述预定条件;
所述处理器120,还用于若大于所述预定门限值,则确定更新后的所述质心点uj不满足所述预定条件。
在图1所示实施例的第四种可能的实施方式中,
所述处理器120,还用于分别计算所述预测样本与各个类的质心点之间的欧氏距离;
所述处理器120,还用于将与所述预测样本之间的欧氏距离最小的质心点所属的类确定为与所述预测样本相匹配的类。
在图1所示实施例的第五种可能的实施方式中,
所述处理器120,还用于将所述预测样本添加至与所述预测样本相匹配的类中;
所述处理器120,还用于更新所述与所述预测样本相匹配的类的质心点。
在图1所示实施例的第六种可能的实施方式中,
所述处理器120,还用于获取与所述预测样本相匹配的类的质心点;
所述处理器120,还用于获取所述质心点对应的时间单元内的业务分部特性对应的n维数据;
所述处理器120,还用于将所述质心点对应的时间单元内的业务分部特性对应的n维数据作为所述未来至少一个时间单元内的业务分布特性对应的n维数据。
在图1所示实施例的第七种可能的实施方式中,
所述处理器120,还用于获取所述测试样本;
所述处理器120,还用于根据完成训练的神经网络和所述测试样本对所述未来至少一个调度周期的数据包数目进行预测;
其中,所述神经网络是根据所述历史数据包数目进行训练的。
在图1所示实施例的第八种可能的实施方式中,
所述处理器120,还用于构建所述神经网络;
所述处理器120,还用于根据所述历史数据包数目获取x个训练样本以及所述x个训练样本分别对应的期望输出,每个训练样本包括N个调度周期的数据包数目,每个期望输出包括所述N个调度周期之后的P个调度周期的数据包数目,x≥1,P≥1;
所述处理器120,还用于根据所述x个训练样本以及所述x个训练样本分别对应的期望输出对所述神经网络进行训练。
在图1所示实施例的第九种可能的实施方式中,
所述处理器120,还用于为所述神经网络分配初始的连接权值wij和cjp;其中,wij表示输入层至隐藏层的连接权值,cjp表示所述隐藏层至输出层的连接权值,1≤i≤N,1≤j≤M,1≤p≤P,N、M、P分别表示所述输入层、所述隐藏层以及所述输出层的神经元数量;
所述处理器120,还用于从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a)),1≤a≤x;
所述处理器120,还用于根据所述第a个训练样本以及所述神经网络计算所述第a个训练样本对应的实际输出yp(a)=(y1(a),y2(a),...,yP(a));
所述处理器120,还用于根据所述期望输出xp(a)、所述实际输出yp(a)以及误差函数对所述连接权值wij和cjp进行修正;
所述处理器120,还用于根据所述期望输出xp(a)、所述实际输出yp(a)以及所述误差函数计算全局误差ElP;
所述处理器120,还用于检测所述全局误差ElP是否小于预定误差阈值;
所述处理器120,还用于若小于所述预定误差阈值,则完成所述神经网络的训练。
在图1所示实施例的第十种可能的实施方式中,
所述处理器120,还用于若大于所述预定误差阈值,则更新学习次数;
所述处理器120,还用于判断更新后的所述学习次数是否大于最大学习次数;
所述处理器120,还用于若大于所述最大学习次数,则完成所述神经网络的训练;
所述处理器120,还用于若小于所述最大学习次数,则再次执行所述从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a))的步骤。
在图1所示实施例的第十一种可能的实施方式中,
所述处理器120,还用于计算所述误差函数对所述连接权值cjp的偏导数所述误差函数
所述处理器120,还用于计算所述误差函数对所述连接权值wij的偏导数
所述处理器120,还用于根据所述偏导数δpj和φji分别对所述连接权值wij和cjp进行修正。
在图1所示实施例的第十二种可能的实施方式中,
所述处理器120,还用于以所述测试样本所包括的当前时段内的N个调度周期的数据包数目为输入,计算完成训练的所述神经网络的实际输出;
所述处理器120,还用于将所述实际输出作为所述未来至少一个调度周期的数据包数目。
在图1所示实施例的第十三种可能的实施方式中,
所述处理器120,还用于记录所述未来至少一个调度周期的数据包数目;
所述处理器120,还用于根据所述测试样本以及未来至少一个调度周期的数据包数目确定第x+1个训练样本以及所述第x+1个训练样本对应的期望输出;
所述处理器120,还用于根据所述第x+1个训练样本以及所述第x+1个训练样本对应的期望输出对所述神经网络的连接权值wij和cjp进行修正。
在图1所示实施例的第十四种可能的实施方式中,
所述处理器120,还用于通过均值预测方法计算第i种业务的数据包的平均比特数li,i≥1;
所述处理器120,还用于获取当前时段对应的调度周期内的所述第i种业务的数据包数目ni;
所述处理器120,还用于计算所述第i种业务的总业务量li*ni,并将所述第i种业务的总业务量li*ni作为未来至少一个调度周期内的所述第i种业务的总业务量。
在图1所示实施例的第十五种可能的实施方式中,
所述处理器120,还用于获取连续M个时刻到达的所述第i种业务的数据包的比特数dik,1≤k≤M;
所述处理器120,还用于分别为M个数据包分配权值pik,其中,
所述处理器120,还用于根据所述连续M个时刻到达的所述第i种业务的数据包的比特数dik和所述权值pik计算所述第i种业务的数据包的平均比特数
在图1所示实施例的第十六种可能的实施方式中,
所述处理器120,还用于根据所述第i种业务的总业务量li*ni计算所述调度周期内的总业务量
本实施例提供的网络设备,还通过对各个类中的质心点的实时更新,可以保证各个类中数据的实时性,以此捕获网络业务的实时变化,以便在后续过程中提供更为准确、有效的预测结果。
另外,本实施例提供的网络设备,还通过对神经网络实时地进行训练,保证神经网络的连接权值wij和cjp能够适应网络业务的实时改变,以此保证神经网络在后续过程中提供更为准确、有效的预测结果。
另外,本实施例提供的网络设备,还通过从比特数目层的层面对网络业务进行更为细化的预测,可以提高对网络业务的预判能力,使得业务调度更为灵活,对网络资源的利用更为合理、充分。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图2,其示出了本发明一个实施例提供的网络业务预测装置的结构方框图,本实施例以该网络业务预测装置用于网络设备中来举例说明。该网络业务预测装置可以通过软件、硬件或者两者的结合实现成为网络设备的部分或者全部。该网络业务预测装置可以包括:数据获取模块210、第一预测模块220和第二预测模块230。
数据获取模块210,用于获取历史数据,所述历史数据包括历史业务分布特性和历史数据包数目。
第一预测模块220,用于根据所述历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,所述预测样本包括当前时段对应的时间单元内的业务分布特性。
第二预测模块230,用于根据所述历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,所述测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。
综上所述,本实施例提供的网络业务预测装置,通过获取包括历史业务分布特性和历史数据包数目在内的历史数据,并根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测;解决了相关技术中涉及的网络业务预测方法在应对网络业务的突发性方面以及预测准确度方面仍然存在明显不足的问题;通过从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测,实现了对处理资源和存储资源进行预先的规划,达到充分利用资源和减少能耗的目的,同时还通过从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测,实现了对处理资源和存储资源进行更为细致的规划,以应对网络业务的突发性,同时也提高了预测准确度。
请参考图3,其示出了本发明另一实施例提供的网络业务预测装置的结构方框图,本实施例以该网络业务预测装置用于网络设备中来举例说明。该网络业务预测装置可以通过软件、硬件或者两者的结合实现成为网络设备的部分或者全部。该网络业务预测装置可以包括:数据获取模块210、第一预测模块220和第二预测模块230。
数据获取模块210,用于获取历史数据,所述历史数据包括历史业务分布特性和历史数据包数目。
第一预测模块220,用于根据所述历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,所述预测样本包括当前时段对应的时间单元内的业务分布特性。
所述第一预测模块220,包括:样本获取子模块221、样本聚类子模块222、样本采集子模块223、样本匹配子模块224和第一预测子模块225。
所述样本获取子模块221,用于根据所述历史业务分布特性获取m个聚类样本,每个聚类样本包括一个时间单元内的业务分布特性对应的n维数据,m≥1,n≥1。
所述样本聚类子模块222,用于通过K-Means聚类算法对所述m个聚类样本进行聚类得到k个类,1≤k≤m。
所述样本聚类子模块222,包括:质心选取单元222a、类计算单元222b、质心更新单元222c、条件判断单元222d和聚类完成单元222e。
所述质心选取单元222a,用于选取k个初始的质心点,所述k个初始的质心点分别为u1,u2,...,uk。
所述类计算单元222b,用于对于每一个聚类样本,计算所述聚类样本所属的类;其中,第i个聚类样本x(i)所属的类c(i)为:c(i)表示所述第i个聚类样本x(i)与k个质心点中距离最近的质心点所属的类,1≤i≤m,c(i)∈[1,k]。
所述质心更新单元222c,用于对于每一个类,更新所述类的质心点;其中,第j个类的质心点uj为:
所述条件判断单元222d,用于判断更新后的所述质心点uj是否满足预定条件。
所述条件判断单元222d,包括:距离计算子单元222d1、门限判断子单元222d2、第一确定子单元222d3和第二确定子单元222d4。
所述距离计算子单元222d1,用于在每一次更新之后,计算更新后的所述质心点uj所属的类中各个聚类样本与所述质心点uj的距离之和L。
所述门限判断子单元222d2,用于判断本次更新后计算得的所述距离之和L与上一次更新后计算得到的所述距离之和L之间的差值是否小于预定门限值。
所述第一确定子单元222d3,用于若小于所述预定门限值,则确定更新后的所述质心点uj满足所述预定条件。
所述第二确定子单元222d4,用于若大于所述预定门限值,则确定更新后的所述质心点uj不满足所述预定条件。
所述聚类完成单元222e,用于若满足所述预定条件,则完成对所述m个聚类样本的聚类,并记录更新后的所述质心点uj。
所述类计算单元222b,还用于若不满足所述预定条件,则再次执行所述对于每一个聚类样本,计算所述聚类样本所属的类的步骤。
所述样本采集子模块223,用于获取所述当前时段对应的预测样本,所述预测样本包括当前时段所对应的时间单元内的业务分布特性对应的n维数据。
所述样本匹配子模块224,用于从所述k个类中获取与所述预测样本相匹配的类。
所述样本匹配子模块224,包括:距离计算单元224a和样本匹配单元224b。
所述距离计算单元224a,用于分别计算所述预测样本与各个类的质心点之间的欧氏距离。
所述样本匹配单元224b,用于将与所述预测样本之间的欧氏距离最小的质心点所属的类确定为与所述预测样本相匹配的类。
所述样本匹配子模块224,还包括:样本添加单元224c和更新质心单元224d。
所述样本添加单元224c,用于将所述预测样本添加至与所述预测样本相匹配的类中。
所述更新质心单元224d,用于更新所述与所述预测样本相匹配的类的质心点。
所述第一预测子模块225,用于根据与所述预测样本相匹配的类对所述未来至少一个时间单元内的业务分布特性进行预测。
所述第一预测子模块225,包括:质心获取单元255a、数据获取单元225b和数据预测单元225c。
所述质心获取单元225a,用于获取与所述预测样本相匹配的类的质心点。
所述数据获取单元225b,用于获取所述质心点对应的时间单元内的业务分部特性对应的n维数据。
所述数据预测单元225c,用于将所述质心点对应的时间单元内的业务分部特性对应的n维数据作为所述未来至少一个时间单元内的业务分布特性对应的n维数据。
第二预测模块230,用于根据所述历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,所述测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。
所述第二预测模块230,包括:获取样本子模块231和数目预测子模块232。
所述获取样本子模块231,用于获取所述测试样本。
所述数目预测子模块232,用于根据完成训练的所述神经网络和所述测试样本对所述未来至少一个调度周期的数据包数目进行预测。
其中,所述神经网络是根据所述历史数据包数目进行训练的。
所述数目预测子模块232,包括:计算输出单元232a和数目预测单元232b。
所述计算输出单元232a,用于以所述测试样本所包括的当前时段内的N个调度周期的数据包数目为输入,计算完成训练的所述神经网络的实际输出。
所述数目预测单元232b,用于将所述实际输出作为所述未来至少一个调度周期的数据包数目。
所述第二预测模块230,还包括:网络构建子模块233、样本选取子模块234和网络训练子模块235。
所述网络构建子模块233,用于构建所述神经网络。
所述样本选取子模块234,用于根据所述历史数据包数目获取x个训练样本以及所述x个训练样本分别对应的期望输出,每个训练样本包括N个调度周期的数据包数目,每个期望输出包括所述N个调度周期之后的P个调度周期的数据包数目,x≥1,P≥1。
所述网络训练子模块235,用于根据所述x个训练样本以及所述x个训练样本分别对应的期望输出对所述神经网络进行训练。
所述网络训练子模块235,包括:权值分配单元235a、样本选取单元235b、输出计算单元235c、权值修正单元235d、误差计算单元235e、误差检测单元235f和训练完成单元235g。
所述权值分配单元235a,用于为所述神经网络分配初始的连接权值wij和cjp;其中,wij表示输入层至隐藏层的连接权值,cjp表示所述隐藏层至输出层的连接权值,1≤i≤N,1≤j≤M,1≤p≤P,N、M、P分别表示所述输入层、所述隐藏层以及所述输出层的神经元数量。
所述样本选取单元235b,用于从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a)),1≤a≤x。
所述输出计算单元235c,用于根据所述第a个训练样本以及所述神经网络计算所述第a个训练样本对应的实际输出yp(a)=(y1(a),y2(a),...,yP(a))。
所述权值修正单元235d,用于根据所述期望输出xp(a)、所述实际输出yp(a)以及误差函数对所述连接权值wij和cjp进行修正。
所述权值修正单元235d,包括:第一计算子单元235d1、第二计算子单元235d2和权值修正子单元235d3。
所述第一计算子单元235d1,用于计算所述误差函数对所述连接权值cjp的偏导数所述误差函数
所述第二计算子单元235d2,用于计算所述误差函数对所述连接权值wij的偏导数
所述权值修正子单元235d3,用于根据所述偏导数δpj和φji分别对所述连接权值wij和cjp进行修正。
所述误差计算单元235e,用于根据所述期望输出xp(a)、所述实际输出yp(a)以及所述误差函数计算全局误差ElP。
所述误差检测单元235f,用于检测所述全局误差ElP是否小于预定误差阈值。
所述训练完成单元235g,用于若小于所述预定误差阈值,则完成所述神经网络的训练。
所述网络训练子模块235,还包括:次数更新单元235h和次数判断单元235i。
所述次数更新单元235h,用于若大于所述预定误差阈值,则更新学习次数。
所述次数判断单元235i,用于判断更新后的所述学习次数是否大于最大学习次数。
所述训练完成单元235g,还用于若大于所述最大学习次数,则完成所述神经网络的训练。
所述样本选取单元235b,还用于若小于所述最大学习次数,则再次执行所述从所述x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取所述第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a))的步骤。
所述第二预测模块230,还包括:数目记录子模块236、样本生成子模块237和权值修正子模块238。
所述数目记录子模块236,用于记录所述未来至少一个调度周期的数据包数目。
所述样本生成子模块237,用于根据所述测试样本以及未来至少一个调度周期的数据包数目确定第x+1个训练样本以及所述第x+1个训练样本对应的期望输出。
所述权值修正子模块238,用于根据所述第x+1个训练样本以及所述第x+1个训练样本对应的期望输出对所述神经网络的连接权值wij和cjp进行修正。
可选地,所述装置,还包括:比特预测模块240、数目获取模块250和总量计算模块260。
比特预测模块240,用于通过均值预测方法计算第i种业务的数据包的平均比特数li,i≥1。
所述比特预测模块240,包括:比特获取子模块241、权值分配子模块242和比特计算子模块243。
所述比特获取子模块241,用于获取连续M个时刻到达的所述第i种业务的数据包的比特数dik,1≤k≤M。
所述权值分配子模块242,用于分别为M个数据包分配权值pik,其中,
所述比特计算子模块243,用于根据所述连续M个时刻到达的所述第i种业务的数据包的比特数dik和所述权值pik计算所述第i种业务的数据包的平均比特数
数目获取模块250,用于获取当前时段对应的调度周期内的所述第i种业务的数据包数目ni。
总量计算模块260,用于计算所述第i种业务的总业务量li*ni,并将所述第i种业务的总业务量li*ni作为未来至少一个调度周期内的所述第i种业务的总业务量。
可选地,所述装置,还包括:总量预测模块270。
总量预测模块270,用于根据所述第i种业务的总业务量li*ni计算所述调度周期内的总业务量
综上所述,本实施例提供的网络业务预测装置,通过获取包括历史业务分布特性和历史数据包数目在内的历史数据,并根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测;解决了相关技术中涉及的网络业务预测方法在应对网络业务的突发性方面以及预测准确度方面仍然存在明显不足的问题;通过从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测,实现了对处理资源和存储资源进行预先的规划,达到充分利用资源和减少能耗的目的,同时还通过从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测,实现了对处理资源和存储资源进行更为细致的规划,以应对网络业务的突发性,同时也提高了预测准确度。
另外,本实施例提供的网络业务预测装置,还通过对各个类中的质心点的实时更新,可以保证各个类中数据的实时性,以此捕获网络业务的实时变化,以便在后续过程中提供更为准确、有效的预测结果。
另外,本实施例提供的网络业务预测装置,还通过对神经网络实时地进行训练,保证神经网络的连接权值wij和cjp能够适应网络业务的实时改变,以此保证神经网络在后续过程中提供更为准确、有效的预测结果。
另外,本实施例提供的网络业务预测装置,还通过从比特数目层的层面对网络业务进行更为细化的预测,可以提高对网络业务的预判能力,使得业务调度更为灵活,对网络资源的利用更为合理、充分。
需要说明的是:上述实施例提供的网络业务预测装置以及网络设备在进行网络业务预测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络业务预测装置以及网络设备与下述的网络业务预测方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图4,其示出了本发明一个实施例提供的网络业务预测方法的方法流程图,本实施例以该网络业务预测方法应用于网络设备中来举例说明。该网络业务预测方法可以包括:
步骤402,获取历史数据,该历史数据包括历史业务分布特性和历史数据包数目。
步骤404,根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,该预测样本包括当前时段对应的时间单元内的业务分布特性。
步骤406,根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,该测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。
综上所述,本实施例提供的网络业务预测方法,通过获取包括历史业务分布特性和历史数据包数目在内的历史数据,并根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测;解决了相关技术中涉及的网络业务预测方法在应对网络业务的突发性方面以及预测准确度方面仍然存在明显不足的问题;通过从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测,实现了对处理资源和存储资源进行预先的规划,达到充分利用资源和减少能耗的目的,同时还通过从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测,实现了对处理资源和存储资源进行更为细致的规划,以应对网络业务的突发性,同时也提高了预测准确度。
请参考图5,其示出了本发明另一实施例提供的网络业务预测方法的方法流程图,本实施例以该网络业务预测方法应用于网络设备中来举例说明。该网络业务预测方法可以包括:
步骤501,获取历史数据,该历史数据包括历史业务分布特性和历史数据包数目。
网络业务通常为包括若干种不同类型业务的混合业务。以LTE(Long Term Evolution,长期演进)移动业务为例,其包含的业务类型通常包括:VoIP(Voice over Internet Protocol,IP语音)业务、WWW(World Wide Web,万维网)业务、FTP(File Transfer Protocol,文件传输协议)业务、Vedio(视频)业务、Picture(图片)业务以及E-mail(电子邮件)业务等等,且每种类型的业务还可分为若干小类。
其中,历史业务分布特性是指在历史时间内,用于表示混合业务的业务总量以及各业务所占比例的数据。业务总量通常以bit为单位进行衡量,在其它可能的方式中,还可以以数据包数目进行衡量。
历史数据包数目是指在历史时间内,用于表示混合业务的数据包总数的数据。
在本发明实施例中,通过对历史业务分布特性的建模,可以实现从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测;通过对历史数据包数目的建模,可以实现从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测。具体地:
步骤502,根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,该预测样本包括当前时段对应的时间单元内的业务分布特性。
在对来至少一个时间单元内的业务分布特性进行预测时,可以采用模式匹配预测方法。
具体来讲,本步骤可以包括如下几个子步骤:
第一,根据历史业务分布特性获取m个聚类样本,每个聚类样本包括一个时间单元内的业务分布特性对应的n维数据,m≥1,n≥1。
时间单元可以根据预测的时间尺度和设备的计算处理能力预先设定,比如时间单元可以设定为1天、1小时或者30分钟等等。m个聚类样本可以从历史业务分部特性中采集连续或者不连续的时间单元内的业务分布特性对应的n维数据得到。其中,每个聚类样本可以包括业务总量以及各业务所占比例所组成的n维数据。
比如,该m个聚类样本可以表示为{x(1),x(2),...x(m)},聚类样本x(i)∈Rn,Rn表示n维有限域。
第二,通过K-Means聚类算法对m个聚类样本进行聚类得到k个类,1≤k≤m。
K-Means聚类算法是一种典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象(也即本实施例中的聚类样本)的距离越近,其相似度就越大。K-Means聚类算法认为簇(也即本实施例中的类)是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。
具体聚类过程可以如下:
1、选取k个初始的质心点。
在本实施例中,假设k个初始的质心点分别为u1,u2,...,uk。在实际应用中,可以从m个聚类样本中随机选取k个聚类样本作为初始质心点,也可以人为设定k个初始质心点。
另外,质心点的数量可以根据历史业务分布特性中的业务总量而定。当业务总量分布范围较大时,可以适当选取较多的质心点;相反地,当业务总量分布范围较小时,可以适当选取较少的质心点。
2、对于每一个聚类样本,计算该聚类样本所属的类。
对于第i个聚类样本x(i)来说,第i个聚类样本x(i)所属的类c(i)为:c(i)表示第i个聚类样本x(i)与k个质心点中距离最近的质心点所属的类,1≤i≤m,c(i)∈[1,k]。
对于每一个聚类样本,计算该聚类样本与各个质心点的欧氏距离,选取欧式距离最小的质心点所属的类作为该聚类样本所属的类。假设第i个聚类样本x(i)=(x1,x2,...,xi,...,xn),质心点uj=(y1,y2,...,yi,...,yn),则聚类样本x(i)与质心点uj之间的欧氏距离为
3、对于每一个类,更新该类的质心点。
对于第j个类来说,第j个类的质心点uj为:在将各个聚类样本进行一轮聚类之后,更新每个类的质心点。每个类的质心点等于该类中所有聚类样本的平均值。
4、判断更新后的质心点uj是否满足预定条件。
该预定条件是预先设定的收敛条件。前后两次更新所得的质心点没有变化或者变化很小时,可以认为算法收敛,完成对m个聚类样本的聚类。具体地,可以通过如下步骤判断质心点的变化情况:
(1)在每一次更新之后,计算更新后的质心点uj所属的类中各个聚类样本与质心点uj的距离之和L。
每个聚类样本与质心点uj的距离仍然为欧氏距离,具体算法在上文已经介绍,不再赘述。之后,将各个聚类样本与质心点uj的欧式距离进行求和得到L。
(2)判断本次更新后计算得的距离之和L与上一次更新后计算得到的距离之和L之间的差值是否小于预定门限值。
(3)若小于预定门限值,则确定更新后的质心点uj满足预定条件。
当本次更新后计算得的距离之和L与上一次更新后计算得到的距离之和L之间的差值小于预定门限值时,说明前后两次更新所得的质心点没有变化或者变化很小,此时认为算法收敛,完成对m个聚类样本的聚类。
(4)若大于预定门限值,则确定更新后的质心点uj不满足预定条件。
当本次更新后计算得的距离之和L与上一次更新后计算得到的距离之和L之间的差值大于预定门限时,说明前后两次更新所得的质心点的变化仍然较大,此时认为算法还未收敛,需要继续对聚类样本进行聚类并更新质心点,直至质心点没有变化或者变化很小。
5、若满足预定条件,则完成对m个聚类样本的聚类,并记录更新后的质心点uj。
该质心点uj所对应的n维数据即代表其所属类的整体的网络业务分布特性。
6、若不满足预定条件,则再次执行对于每一个聚类样本,计算该聚类样本所属的类的步骤。
当更新后的质心点uj不满足预定条件时,重复上述步骤2至4,直至算法收敛。
第三,获取当前时段对应的预测样本,预测样本包括当前时段所对应的时间单元内的业务分布特性对应的n维数据。
在对m个聚类样本完成聚类之后,获取当前时段所对应的时间单元内的业务分布特性所对应的n维数据,具体可以包括业务总量和各业务所占比例。其中,当前时段所对应的时间单元通常为一个时间单元。
第四,从k个类中获取与预测样本相匹配的类。
1、分别计算预测样本与各个类的质心点之间的欧氏距离。
假设预测样本为x(m+1),x(m+1)=(x1,x2,...,xi,...,xn),质心点uj=(y1,y2,...,yi,...,yn),则聚类样本x(m+1)与质心点uj之间的欧氏距离为
2、将与预测样本之间的欧氏距离最小的质心点所属的类确定为与预测样本相匹配的类。
第五,根据与预测样本相匹配的类对未来至少一个时间单元内的业务分布特性进行预测。
在获取与当前时段对应的预测样本相匹配的类之后,根据该类的质心点所对应的时间单元内的业务分布特性预测未来至少一个时间单元内的业务分布特性。具体地:
1、获取与预测样本相匹配的类的质心点。
由于在完成对m个聚类样本的聚类之后,记录有各个类的质心点。因此,在获取与预测样本相匹配的类之后,根据之前的记录获取该类的质心点。
2、获取质心点对应的时间单元内的业务分部特性对应的n维数据。
每个质心点对应于一组n维数据,该n维数据即表示了一个时间单元内的业务分布特性,包括业务总量和各业务所占比例。
3、将质心点对应的时间单元内的业务分部特性对应的n维数据作为未来至少一个时间单元内的业务分布特性对应的n维数据。
最后,将与预测样本相匹配的类的质心点所对应的n维数据作为未来一个或者多个时间单元内的业务分布特性对应的n维数据。以此,从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测,实现了对处理资源和存储资源进行预先的规划,达到充分利用资源和减少能耗的目的。
另外,为了保证对数据库的实时更新,进一步提高预测准确度,在从k个类中获取与预测样本相匹配的类之后,还可执行如下步骤:
1、将预测样本添加至与预测样本相匹配的类中。
2、更新与预测样本相匹配的类的质心点。
通过对各个类中的质心点的实时更新,可以保证各个类中数据的实时性,以此捕获网络业务的实时变化,以便在后续过程中提供更为准确、有效的预测结果。
上述步骤502具体介绍了通过对历史业务分布特性的建模,实现了从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测。下面,将通过步骤503具体介绍通过对历史数据包数目的建模,以实现从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测。
步骤503,根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测,该测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。
在对来至少一个调度周期的数据包数目进行预测时,可以采用神经网络预测方法。
在进行预测之前,首先需要构建神经网络,并通过历史数据对神经网络进行训练。具体如下:
第一,构建神经网络。
在本发明实施例中,所涉及的神经网络为BP神经网络。BP神经网络包括一个输入层、至少一个隐藏层和一个输出层。BP神经网络各层之间的神经元为全连接关系,层内的各个神经元之间无连接。在本实施例中,采用三层BP神经网络结构,包括一个输入层、一个隐藏层和一个输出层。
预先构建神经网络,确定各层神经元数量。其中,输入层神经元的数量与输入变量的数目相同,输出层神经元的数量与期望得到的预测变量的数目相同,隐藏层神经元的数量可以通过试凑法或者灵敏度修剪算法等进行确定。在本实施例中,假设输入层神经元数量为N,隐藏层神经元数量为M且输出层神经元数量为P。
BP神经网络的基本原理为:通过计算输出层的实际输出与期望输出之间的误差,从输出层开始反向调整各个神经元之间的连接权值,最终使得输出层的实际输出与期望输出之间的误差满足预先设定的要求。
在构建神经网络之后,需要通过历史数据包数目对神经网络进行训练,使得神经网络能够达到预先设定的预测精度。具体如下:
第二,根据历史数据包数目获取x个训练样本以及x个训练样本分别对应的期望输出。
每个训练样本包括N个调度周期的数据包数目,每个期望输出包括N个调度周期之后的P个调度周期内的数据包数目,x≥1,P≥1。
其中,调度周期即为TTI(Transmission Time Interval,传输时间间隔)。在3GPP LTE(3rd Generation Partnership Project,第三代合作伙伴计划)与LTE-A(LTE-Advanced)的标准中,一般认为1TTI=1ms,即一个子帧的大小。TTI是无线资源管理(如调度)所管辖时间的基本单位。
在本发明实施例中,N个调度周期可以是连续或者不连续的调度周期;同样地,P个调度周期也可以是连续或者不连续的调度周期。在通常情况下,选择连续的若干个调度周期。
另外,由于网络业务通常为混合业务,所以每个调度周期的数据包数目是指该调度周期内到达的混合业务的数据包总数。
第三,根据x个训练样本以及x个训练样本分别对应的期望输出对神经网络进行训练。
具体训练过程如下:
1、为神经网络分配初始的连接权值wij和cjp。
首先需要对神经网路进行初始化,为神经网络分配初始的连接权值wij和cjp。其中,wij表示输入层至隐藏层的连接权值,cjp表示隐藏层至输出层的连接权值,1≤i≤N,1≤j≤M,1≤p≤P,N、M、P分别表示输入层、隐藏层以及输出层的神经元数量。
2、从x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a)),1≤a≤x。
3、根据第a个训练样本以及神经网络计算第a个训练样本对应的实际输出yp(a)=(y1(a),y2(a),...,yP(a))。
4、根据期望输出xp(a)、实际输出yp(a)以及误差函数对连接权值wij和cjp进行修正。
具体地,计算误差函数对连接权值cjp的偏导数误差函数计算误差函数对连接权值wij的偏导数根据偏导数δpj和φji分别对连接权值wij和cjp进行修正。
5、根据期望输出xp(a)、实际输出yp(a)以及误差函数计算全局误差ElP。
全局误差
6、检测全局误差ElP是否小于预定误差阈值。
误差阈值可以根据所需达到的预测精度和设备的计算处理能力预先设定。
7、若小于预定误差阈值,则完成神经网络的训练。
8、若大于预定误差阈值,则更新学习次数。
9、判断更新后的学习次数是否大于最大学习次数。
10、若大于最大学习次数,则完成神经网络的训练。
11、若小于最大学习次数,则再次执行从x个训练样本中随机选取第a个训练样本dn(a)=(d1(a),d2(a),...,dN(a)),并获取第a个训练样本对应的期望输出xp(a)=(x1(a),x2(a),...,xP(a))的步骤。
在对神经网络进行训练的过程中,可以从两个维度确定该神经网络是否完成训练。其中,一个维度是该神经网络的全局误差ElP已经小于预定误差阈值,另一个维度是该神经网络已经达到最大学习次数。
在完成对神经网络的训练之后,通过测试样本和完成训练的神经网络对未来至少一个调度周期的数据包数目进行预测。
具体来讲,上述步骤503可以包括如下几个子步骤:
第一,获取测试样本。
测试样本包括在当前时段内的N个调度周期的数据包数目,N≥1。当训练样本为包括连续的N个调度周期的数据包数目时,测试样本也为连续的N个调度周期的数据包数目;当训练样本为包括不连续的N个调度周期的数据包数目时,测试样本也为不连续的N个调度周期的数据包数目,且两者的采样时间间隔对应一致。
第二,根据完成训练的神经网络和测试样本对未来至少一个调度周期的数据包数目进行预测。
1、以测试样本所包括的当前时段内的N个调度周期的数据包数目为输入,计算完成训练的神经网络的实际输出。
2、将实际输出作为未来至少一个调度周期的数据包数目。
通过从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测,可以实现对处理资源和存储资源进行更为细致的规划,以应对网络业务的突发性,同时还可以提供预测准确度。
另外,为了保证对数据库的实时更新,进一步提高预测准确度,在根据完成训练的神经网络和测试样本对未来至少一个调度周期的数据包数目进行预测之后,还可执行如下步骤:
1、记录未来至少一个调度周期的数据包数目。
网络设备记录每个调度周期内到达的数据包数目。
2、根据测试样本以及未来至少一个调度周期的数据包数目确定第x+1个训练样本以及第x+1个训练样本对应的期望输出。
网络设备根据当前时段和/或未来时段的若干个调度周期内到达的数据包数目生成新的训练样本,并确定该新的训练样本对应的期望输出。
3、根据第x+1个训练样本以及第x+1个训练样本对应的期望输出对神经网络的连接权值wij和cjp进行修正。
网络设备通过新生成的训练样本对神经网络实时地进行训练,保证神经网络的连接权值wij和cjp能够适应网络业务的实时改变,以此保证神经网络在后续过程中提供更为准确、有效的预测结果。
上述步骤503具体介绍了通过对历史数据包数目的建模,以实现从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测。下面,将通过步骤504至步骤507具体介绍在对调度周期内的数据包数目进行预测的基础上,实现对调度周期内各项业务的总业务量、所有业务的总业务量的预测,从比特数目层的层面对网络业务进行更为细化的预测。
步骤504,通过均值预测方法计算第i种业务的数据包的平均比特数li,i≥1。
在对调度周期内各项业务的总业务量、所有业务的总业务量的预测过程中,为了简化预测复杂度,提高预测效率,可以采用均值预测方法。
另外,考虑到不同类型的网络业务的数据包大小存在较大差异,在本实施例中,将混合业务按照不同的业务类型进行区分,并分别对每种类型的业务进行预测,使得比特数目层的预测更加精确和细致。
第一,获取连续M个时刻到达的第i种业务的数据包的比特数dik,1≤k≤M。
当任一数据包到达时,由于数据包会携带有其对应的业务类型的标签,因此可以根据标签区分不同类型的网络业务所对应的数据包。通过对连续到达的M个第i种业务的数据包的比特数的记录,可以通过均值预测算法预测出第i种业务的数据包的平均比特数li。
第二,分别为M个数据包分配权值pik,其中,
其中,每个数据包所对应的权值pik相同,也可以不同。
第三,根据连续M个时刻到达的第i种业务的数据包的比特数dik和权值pik计算第i种业务的数据包的平均比特数
步骤505,获取当前时段对应的调度周期内的第i种业务的数据包数目ni。
步骤506,计算第i种业务的总业务量li*ni,并将第i种业务的总业务量li*ni作为未来至少一个调度周期内的第i种业务的总业务量。
根据当前时段对应的调度周期内的第i种业务的数据包数目ni和通过均值预测方法预测得到的第i种业务的数据包的平均比特数li可以预测出一个调度周期内第i种业务的总业务量li*ni。
步骤507,根据第i种业务的总业务量li*ni计算调度周期内的总业务量
在对一个调度周期内第i种业务的总业务量进行预测之后,可以将预测得到的各种业务的总业务量进行求和得到该调度周期内混合业务的总业务量。
通过从比特数目层的层面对网络业务进行更为细化的预测,可以提高对网络业务的预判能力,使得业务调度更为灵活,对网络资源的利用更为合理、充分。
综上所述,本实施例提供的网络业务预测方法,通过获取包括历史业务分布特性和历史数据包数目在内的历史数据,并根据历史业务分布特性和当前时段对应的预测样本对未来至少一个时间单元内的业务分布特性进行预测,根据历史数据包数目和当前时段对应的测试样本对未来至少一个调度周期的数据包数目进行预测;解决了相关技术中涉及的网络业务预测方法在应对网络业务的突发性方面以及预测准确度方面仍然存在明显不足的问题;通过从会话层的层面对未来时段的业务分部特性进行较大时间尺度上的预测,实现了对处理资源和存储资源进行预先的规划,达到充分利用资源和减少能耗的目的,同时还通过从数据包层的层面对未来时段的数据包数目进行较小时间尺度上的预测,实现了对处理资源和存储资源进行更为细致的规划,以应对网络业务的突发性,同时也提高了预测准确度。
另外,本实施例提供的网络业务预测方法,还通过对各个类中的质心点的实时更新,可以保证各个类中数据的实时性,以此捕获网络业务的实时变化,以便在后续过程中提供更为准确、有效的预测结果。
另外,本实施例提供的网络业务预测方法,还通过对神经网络实时地进行训练,保证神经网络的连接权值wij和cjp能够适应网络业务的实时改变,以此保证神经网络在后续过程中提供更为准确、有效的预测结果。
另外,本实施例提供的网络业务预测方法,还通过从比特数目层的层面对网络业务进行更为细化的预测,可以提高对网络业务的预判能力,使得业务调度更为灵活,对网络资源的利用更为合理、充分。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。