链路流量预测方法及装置与流程

文档序号:19123968发布日期:2019-11-13 01:56阅读:297来源:国知局
链路流量预测方法及装置与流程

本申请涉及大数据技术领域,具体而言,涉及一种链路流量预测方法及装置。



背景技术:

目前,网络链路承载的流量压力越来越大,对链路流量进行合理的控制显得尤为重要。基于此,为实现对网络的智能化管控,需要对链路的流量大小进行准确的预测。



技术实现要素:

有鉴于此,本申请的目的之一在于提供一种链路流量预测方法及装置,以更为准确稳定地预测指定链路在特定时间区间的流量大小。

为了达到上述目的,本申请实施例采用如下技术方案:

第一方面,本申请实施例提供一种链路流量预测方法,所述方法包括:

获取指定链路在预设时间段内的实际流量大小,所述预设时间段包括至少两个时间区间;

分别采用至少两个预测模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到对应的至少两个初始预测流量大小;

根据每个所述预测模型当前的预测精度分别确定每个所述预测模型当前的权重;

根据每个所述预测模型当前的权重以及所述至少两个初始预测流量大小,计算所述指定链路在所述指定时间区间的最终预测流量大小。

第二方面,本申请实施例提供一种链路流量预测装置,所述装置包括:

获取模块,用于获取指定链路在预设时间段内的实际流量大小,所述预设时间段包括至少两个时间区间;

第一预测模块,用于分别采用至少两个预测模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到对应的至少两个初始预测流量大小;

权重确定模块,用于根据每个所述预测模型当前的预测精度分别确定每个所述预测模型当前的权重;

第二预测模块,用于根据每个所述预测模型当前的权重以及所述至少两个初始预测流量大小,计算所述指定链路在所述指定时间区间的最终预测流量大小。

相较于现有技术,本申请实施例提供的一种链路流量预测方法及装置,采用至少两个预测模型分别预测指定链路在时间区间的初始预测流量大小,并根据每个预测模型当前的预测精度确定该预测模型当前的权重。根据每个预测模型当前的权重以及该至少两个预测模型分别预测得到的初始预测流量大小,计算得到指定链路在该时间区间的最终预测流量大小。如此,可以更为准确稳定地预测指定链路在特定时间区间的流量大小。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种链路流量预测方法的流程示意图;

图2为本申请实施例中采集的实际流量大小的一个示例;

图3为图2所示步骤s130的子步骤示意图;

图4为本申请实施例提供的一种lstm模型的结构示意图;

图5为本申请实施例提供的一种数据处理设备的方框示意图;

图6为本申请实施例提供的一种链路流量预测装置的功能模块框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

请参照图1,图1示出了本申请实施例提供的一种链路流量预测方法的流程示意图,该方法可以应用于数据处理设备中,该方法可以包括以下步骤。

步骤s110,获取指定链路在预设时间段内的实际流量大小,所述预设时间段包括至少两个时间区间。

其中,所述指定链路可以是任意需要监控流量的组网中的一条待测链路。

在本实施例中,当需要预测指定链路在指定时间区间的流量大小时,可以采集所述指定链路在所述指定时间区间之前的连续至少两个时间区间的实际流量大小,该连续至少两个时间区间组成所述预设时间段。其中,所述指定时间区间可以是需要预测的一个或多个时间区间,所述预设时间段和所述指定时间区间可以是连续的,也可以是不连续的。

例如,当需要预测指定链路在第n天0:00-8:00这一时间区间的流量大小时,可以采集所述指定链路在第n-1天的0:00-8:00、8:00-16:00以及16:00至第n天的0:00三个时间区间的实际流量大小,该三个时间区间即组成所述预设时间段。

在本实施例中,可以由网络流量采集器基于snmp(simplenetworkmanagementprotocol,简单网络管理协议)采集所述指定链路的实际流量大小。snmp通常按照一定的时间粒度进行数据采集,比如,每隔1-5分钟采集一次流量信息,并将采集到的流量信息存入预设数据库中。在一种实施方式中,所述流量信息可以包括链路标识(如,id)、采集时刻、流量大小等。链路标识可以表征被采集流量信息的链路;采集时刻可以表征采集的流量信息中的流量大小对应的时间范围,比如,以网络流量采集器每隔2分钟采集一次流量信息为例,网络流量采集器在采集时刻t采集到的流量信息中的流量大小是所述指定链路在该时刻t前2分钟内的实际流量大小。

可选地,网络流量采集器可以分别采集所述指定链路的上行流量大小和下行流量大小,其中,上行流量大小是指注入到指定链路的流量的大小,下行流量大小是指离开指定链路的流量的大小。在此情况下,采集的实际流量大小包括上行流量大小和下行流量大小。

在本实施例中,可以从所述预设数据库获取所述预设时间段内的实际流量大小。在一个示例中,假定一个时间区间的时长为1小时,现需要获取2019年2月22日23:00-2019年2月23日23:00这一预设时间段t0的实际流量大小,鉴于1小时比网络流量采集器采集流量信息的时间粒度大,因此,可以对预设时间段t0中每个小时内各个采集时刻采集的流量信息中的流量大小求和,得到该小时内的实际流量大小。如图2所示,其中示出了链路标识为“d7a75877-8f1c-4020-92eb-bc6529605467”的指定链路在预设时间段t0中各个小时的上行流量大小和下行流量大小。在表1中,每个采集时刻对应的流量大小是指该采集时刻之前1个小时内的实际流量大小。

值得说明的是,当需要预测指定链路在指定时间区间内的上行流量大小时,可以通过所述指定链路在所述预设时间段内实际的上行流量大小预测得到;当需要预测指定链路在指定时间区间内的下行流量大小,可以通过所述指定链路在所述预设时间段内实际的下行流量大小预测得到。

步骤s120,分别采用至少两个预测模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到对应的至少两个初始预测流量大小。

步骤s130,根据每个所述预测模型当前的预测精度分别确定每个所述预测模型当前的权重。

步骤s140,根据每个所述预测模型当前的权重以及所述至少两个初始预测流量大小,计算所述指定链路在所述指定时间区间的最终预测流量大小。

在本实施例中,所述指定链路在所述预设时间段内的实际流量大小包含了所述指定链路的流量大小的历史变化趋势,采用能够处理时间序列的预测模型,根据所述指定链路在所述预设时间段内的实际流量大小,对所述指定链路在位于所述预设时间段之后的时间区间的流量大小进行预测,可以得到该时间区间的预测流量大小。

考虑到使用单一预测模型时,该单一预测模型在使用条件不同以及影响因素不同时预测精度高低不一,稳定性较差,本实施例采用至少两个预测模型来分别对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,从而得到对应的至少两个初始预测流量大小。其中,每个初始预测流量大小由其中一个预测模型预测得到。

然后,再根据每个预测模型当前的预测精度来设置该预测模型当前的权重,并基于每个预测模型当前的权重和各个预测模型预测得到的初始预测流量大小进行加权求和,求得的和即为所述指定链路在所述指定时间区间的最终预测流量大小。

本申请实施例通过多模型融合的方式来对指定链路在指定时间区间的链路流量大小进行预测,相较于通过单一预测模型进行预测,可以更为准确稳定地对指定链路的流量大小进行预测。

请参照图3,图3示出了本实施例中确定预测模型的权重的流程示意图。步骤s130可以包括图3所示的步骤。

步骤s131,分别计算每个预测模型当前的动态误差。

在本实施例中,每个预测模型当前的动态误差可以通过以下两个步骤进行计算:

首先,针对每个预测模型,分别计算通过该预测模型得到的所述指定链路在所述指定时间区间之前的预设数量个时间区间的最终预测流量大小与所述指定链路的实际流量大小的绝对误差。

具体地,预测模型i在t时刻所表征的时间区间的绝对误差epre,i(t),可以通过以下计算式求得:

其中,t为采集时刻,可以表征紧邻t时刻的前一时间区间,即:[t-1,t]这一时间区间。y(t)为t时刻所表征的时间区间的实际流量大小,为预测模型i在t时刻所表征的时间区间的初始预测流量大小。最终得到的绝对误差的数量与预测模型的数量相同。

然后,对计算得到的所述预设数量个绝对误差做算术平均,得到该预测模型当前的动态误差。具体地,可以通过以下计算式实现:

其中,ed,i(t)是预测模型i在t时刻的动态误差,m表示所述预设数量,即参与计算的时间区间的数量。在一个可选的示例中,所述预设数量个时间区间可以是所述预设时间段包括的各时间区间,在此情况下,t时刻可以是表征所述预设时间段中最后一个时间区间的时刻。例如,当所述预设时间段中最后一个时间区间为[a,b]时,可以将b时刻作为上述的t时刻。

步骤s132,根据每个预测模型当前的动态误差确定所述预测模型当前的权重。

所述权重与所述动态误差呈反比例关系。

在一种实施方式中,可以采用每个预测模型动态误差的倒数来作为该预测模型当前的权重。

详细地,可以通过如下计算式实现:

在又一种实施方式中,可以将每个预测模型的动态误差的倒数作为该预测模型当前的初始权重,再对该初始权重做进一步处理得当该预测模型当前的最终权重。具体可以采用如下两个步骤来实现:

首先,计算每个预测模型当前的动态误差的倒数,以及各所述预测模型的动态误差的倒数之和;

然后,计算每个预测模型当前的动态误差的倒数与所述倒数之和的比值作为该预测模型的权重。其中,最终权重可以通过如下所示的计算式(4)得到。

在上式(4)中,n表示预测模型的数量,例如,当使用3个预测模型时,n=3;当使用两个预测模型时,n=2。

在此情况下,假定需要预测t时刻所表征的时间区间的流量大小,则可以用y(t)表示所述指定时间区间的最终预测流量大小,对应地,可以通过以下计算式(5)来实现对所述至少两个初始预测流量大小的加权求和。

其中,yi(t)表示预测模型i预测得到的所述指定链路在所述指定时间区间的初始预测流量大小。

在本实施例中,所述至少两个预测模型可以包括时间序列拟合模型、加权平均模型和循环神经网络模型。在此情况下,步骤s120可以包括以下子步骤:

采用所述时间序列拟合模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到第一初始预测流量大小;

采用所述加权平均模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到第二初始预测流量大小;

采用循环神经网络模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到第三初始预测流量大小。

其中,所述至少两个初始预测流量大小包括所述第一初始预测流量大小、所述第二初始预测流量大小以及所述第三初始预测流量大小。

值得说明的是,步骤s120所包括的三个子步骤没有执行顺序的限制。

在本实施例中,所述时间序列拟合模型可以是自回归差分移动平均(autoregressiveintegratedmovingaverage,arima)模型,所述加权平均模型可以是二阶指数平滑(secondexponentialsmoothing,ses)模型,所述循环神经网络模型可以是长短期记忆网络(long-shorttermmemory,lstm)模型。

下面假定所述至少两个预测模型包括arima模型、ses模型和lstm模型,并基于此给出一个示例,以对本实施例提供的链路流量预测方法做进一步阐述。

假设需要对指定链路l在2019年1月24日(2019/1/24)的时刻4-时刻5、时刻5-时刻6、时刻6-时刻7三个时间区间的流量大小进行预测,则该三个时间区间均为指定时间区间。为便于描述,将“时刻4-时刻5”称为指定时间区间t1,将“时刻5-时刻6”称为指定时间区间t2,将“时刻6-时刻7”称为指定时间区间t3。其中,指定时间区间t1可以采用时刻5表示,换言之,指定时间区间t1的流量大小的采集时刻为时刻5。类似地,指定时间区间可以采用时刻6表示,指定时间区间可以采用时刻6表示。

示例性地,时刻4为2019/1/240:00,时刻5为2019/1/246:00,时刻6为2019/1/2412:00,时刻7为2019/1/2418:00。

在上述情况下,可以获取分别在时刻1、2、3和4采集的实际流量大小,其中:

时刻1为2019/1/230:00,采集到的是2019/1/2218:00-2019/1/230:00的实际流量大小x1;

时刻2为2019/1/236:00,采集到的是2019/1/230:00-6:00的实际流量大小x2;

时刻3为2019/1/2312:00,采集到的是2019/1/236:00-2019/1/2312:00的实际流量大小x3;

如上所述,时刻4为2019/1/2318:00,采集到的是2019/1/2312:00-18:00的实际流量大小x4。

下面可以分别通过上述三个预测模型对x1、x2、x3和x4进行处理,从而得到对应的初始预测流量大小。在本示例中,将该三个预测模型用预测模型i表示,其中:预测模型1表示arima模型,预测模型2表示ses模型,预测模型3表示lstm模型。

其中,arima模型(即,预测模型1)的主要参数有p、d和q,d是使得观察值序列成为平稳序列所需的差分运算的次数。具体地,当d=0时,arima模型退化为arma(p,q)模型,p是ar(p)模型的阶数,q是ma(q)模型的阶数。ar(p)模型和ma(q)模型可以视作arma(p,q)模型的两个特例。

ar(p)模型又称p阶自回归模型,其表达式可以如下:

xt=φ0+φ1xt-1+φ2xt-2+…+φpxt-p+εt;

其中,φi,i=1,2,…,p是要学习的参数,εt是随机干扰,xt可以是需要预测的t时刻的流量大小,(xt-1,xt-2,…,xt-p)表示观察值序列,比如t时刻之前的p个时刻的实际流量大小。

ma(q)模型又称q阶移动平均模型,其表达式可以如下:

xt=μ+εt-θ1εt-1-θ2εt-2-…-θqεt-q;

其中,θi,i=1,2,…,q是要学习的参数,εt是随机干扰,μ是常数均值,当μ=0时,ma(q)模型称为去中心化ma(q)模型。

arma(p,q)模型是ar(p)模型和ma(q)模型的组合:

xt=φ0+φ1xt-1+φ2xt-2+…+φpxt-p+εt-θ1εt-1-θ2εt-2-...-θqεt-q;

其默认条件与ar(p)和ma(q)两个模型相同。可以看出,当q=0时,arma(p,q)模型退化成ma(q)模型;当q=0时,arma(p,q)模型退化成ar(p)模型。

在此示例中,arima模型可以通过如下过程构建:

第一、首先获得观察值序列,即,指定链路在连续的多个时间区间的实际流量大小;然后,检查观察值序列是否为平稳序列,如果是,则进一步检查观察值序列是否为白噪声序列,如果不是,则基于该观察值序列拟合arima模型;如果观察值序列不是平稳序列,则对观察值序列进行差分运算,并进一步判断差分运算后的观察值序列是否是平稳序列,如此循环往复,直至得到平稳的观察值序列为止。其中,得到平稳的观察值序列时所进行的差分运算的次数即可作为参数d,通常d小于或等于2。在得到平稳的观察值序列后,可以进一步检查观察值序列是否为白噪声序列,如果是,则可以重新采集观察值序列或是停止处理。

第二、基于平稳且非白噪声的观察值序列确定arima模型的参数p和q。详细过程如下:

首先,计算所述观察值序列的自相关系数(autocorrelationfunction,acf)图谱和偏自相关系数(partialautocorrelationfunction,pacf)图谱。通过观察所述acf图谱和所述pacf图谱确定arima模型的参数p的可选值和q的可选值。或者,可以根据先验经验预先设置p和q各自的可选值。

然后,通过aic(akaikeinformationcriterion,赤池信息准则)或bic(bayesianinformationcriterion,贝叶斯信息准则)来从参数p和q各自的可选值中分别确定一个最佳的值。

例如,可以依照aic准则分别计算参数p和q为不同可选值时的aic值的大小,分别将aic值最小时p和q的值作为arima模型的参数p和q的值。

在确定p、q和d之后,可以采用最小二乘法、最大似然估计等方式来估计arima模型中的其他相关参数,例如前述的φi、θi以及εt,其中,估计得到的εt又称残差序列。在得到残差序列后,可以检查该残差序列是否为白噪声;如果不是白噪声,表示残差序列中还含有有用的信息,则返回前述的第二步,即重新确定arima模型的参数p和q的值;如果是白噪声,则构建结束,可以利用构建的arima模型来进行流量预测。

例如,假设确定的p=2,则可以采用构建的arima模型对x3和x4进行处理,得到时刻5对应的初始预测流量大小x5(即,指定时间区间t1的初始预测流量大小)。进一步地,可以采用构建的arima模型对x4和x5进行处理,得到时刻6对应的初始预测流量大小x6(即,指定时间区间t2的初始预测流量大小)。采用构建的arima模型对x5和x6进行处理,得到时刻7对应的初始预测流量大小x7(即,指定时间区间t3的初始预测流量大小)。

为了区分初始预测流量大小是由哪一个预测模型预测得到的,将由预测模型i预测得到的时刻的初始预测流量大小表示为xti。例如,前述x5可以表示为x51,x6可以表示为x61,x7可以表示为x71。

关于预测模型2,即ses模型,可以通过以下流程来计算指定链路l在指定时间区间t1和t2的初始预测流量大小x52、x62和x72。

第一、计算时序数列st(1)和st(2)。其中,s0(1)和s0(2)一般为所采集的第一个采集时刻的实际流量大小,例如,x1。

详细地,可以根据t时刻的输入数据xt、t-1时刻的st-1(1)得到st(1);根据t时刻的st(1)和t-1时刻的st-1(2),可以得到st(2)。其中,如果t时刻对应的指定时间区间(例如,t1)和预设时间段是连续的,则输入数据xt是t时刻的实际流量大小;如果t时刻对应的指定时间区间(例如,t2)和预设时间段是不连续的,则输入数据xt可以是t时刻的上一时刻的初始预测流量大小。

第二、可以根据采集的各个时间区间的实际流量大小的变化趋势来确定平滑系数,比如,当采集的实际流量大小的变化趋势明显,例如变化率达到设定的阈值时,平滑系数可以为0.3-0.5;当采集的实际流量大小的变化趋势平缓,例如变化率没有达到所述设定的阈值时,平滑系数可以为0.1-0.3。

第三、ses模型的模型表达式为:

xt=at-btt;

其中,at和bt可以通过如下方式计算得到:

at=2st(1)-st(2)

在上述表达式中,α是平滑系数,t为预测超前期数。

在此示例中,可以通过如下过程来计算时刻1-时刻4各自的st(1)和st(2)

st(1)=αyt+(1-α)st-1(1)

st(2)=αst(1)+(1-α)st-1(2)

在上述计算式中,α为平滑系数。示例性地,通过上式计算得到的时刻1的s1(1)和s1(2)为:

s1(1)=αy1+(1-α)s0(1)

s1(2)=αs1(1)+(1-α)s0(2)

其中,s0(1)和s0(2)均为x1,此外,也可以取时刻1-时刻4对应的实际流量大小的平均值。yt可以是采用其他预测模型得到的时刻t的预测流量大小,例如通过arima模型、lstm模型等,本示例对此没有限制。那么,y1表示通过其他预测模型得到的时刻1的预测流量大小。

然后,采用ses模型(预测模型2)预测的时刻1的初始预测流量大小x12可以通过如下过程得到:

a1=2s1(1)-s1(2)

x12=a1-b1t。

本示例中,如果采用2019/1/23的四个时刻采集的实际流量大小来预测2019/1/24的该四个时刻对应的预测流量大小,则t可以为1。如果采用2019/1/23的四个时刻采集的实际流量大小来预测2019/1/26的该四个时刻对应的预测流量大小,则t可以为3。类似地,针对后续的时刻2-时刻7,均可参照上述过程进行处理,得到时刻5的初始预测流量大小x52,时刻6的初始预测流量大小x62,时刻7的初始预测流量大小x72。

请参照图4,其中示出了lstm模型在t时刻的一个计算模块at的结构示意图。其中,δ表示sigmoid激活函数,tanh表示tanh激活函数。表示按元素相乘,表示相加。lstm模型的一个计算模块包括多个门控单元,分别为输入门、遗忘门和输出门,此外,还具有细胞状态参数(cellstate)。具体地,lstm模型的工作原理如下:

第一、输入时刻t的实际流量大小xt,上一时刻t-1的计算模块的输出门的输出ht-1以及上一时刻t-1的计算模块的细胞状态参数ct-1。

第二、计算模块at的遗忘门的输出ft可以通过以下公式计算得到:ft=δ(wxfxt+whfht-1+wcfct-1+bf)。遗忘门的输出值通常属于[0,1]区间,表示对上一计算模块的细胞状态参数的遗忘比例。

第三、计算模块at的输入门可以根据输入的xt和ht-1确定需要将哪些信息加入到ct-1,以得到新的细胞状态参数ct。具体地,计算模块at的输入门的输出值it可以通过以下公式计算得到:

it=δ(wxixt+whiht-1+wcict-1+bi);

对应地,计算模块at的细胞状态参数可以通过以下计算式得到:

ct=ftct-1+ittanh(wxcxt+whcht-1+bc);

第四、计算模块at的输出门的输出ot可以通过以下计算式得到:

ot=δ(wxoxt+whoht+wcoct+bo);

第五,隐含层输出ht可以根据以下计算式得到:

ht=ottanh(ct)。

在以上计算式中,wxf、wxi、wxc以及wxo为连接输入向量xt的权重矩阵,whf、whi、whc和who为连接隐含层输出向量ht的权重矩阵,wcf、wci、wco为连接细胞状态参数ct和门控单元的权重矩阵,bf、bi、bc和bo为偏置向量。上述权重矩阵和偏置向量均可以通过训练得到。

采用lstm模型(预测模型3)计算的时刻t的预测结果(即,初始预测流量大小xt3)可以通过以下计算式得到:

pret=htwpre+bpre;

其中,wpre和bpre分别为全连接神经网络层的权重和偏置,也可以通过训练得到。

详细地,在此示例中,预测模型3(即,lstm模型),可以对所采集的实际流量大小(x1,x2,x3,x4)进行处理,从而得到初始预测流量大小x53、x63和x73,具体过程如下:

参照上文描述的lstm模型的工作原理可知,输入时刻1的实际流量大小x1、lstm模型在时刻1的上一时刻(即,时刻0)的隐含层输出h0、时刻0的状态参数c0,可以得到时刻2的初始预测流量大小、隐含层输出h1、细胞状态参数c1;

输入时刻1的实际流量大小x1、lstm模型在时刻1的隐含层输出h1、细胞状态参数c1,可以得到时刻2的初始预测流量大小、隐含层输出h2、细胞状态参数c2;

输入时刻2的实际流量大小x2、lstm模型在时刻2的隐含层输出h2、细胞状态参数c2,可以得到时刻3的初始预测流量大小、隐含层输出h3、细胞状态参数c3;

输入时刻3的实际流量大小x3、lstm模型在时刻3的隐含层输出h3、细胞状态参数c3,可以得到时刻4的初始预测流量大小、隐含层输出h4、细胞状态参数c4;

利用时刻4的初始预测流量大小pre4(也即,x43)、lstm模型在时刻4的隐含层输出h4以及细胞状态参数c4,可以得到时刻5的初始预测流量大小x53、lstm模型在时刻5的隐含层输出h5、细胞状态参数c5;

利用时刻5的初始预测流量大小x53、lstm模型在时刻5的隐含层输出h5、细胞状态参数c5,可以得到时刻6的初始预测流量大小x63、lstm模型在时刻6的隐含层输出h6、细胞状态参数c6;

利用时刻6的初始预测流量大小x63、lstm模型在时刻6的隐含层输出h6、细胞状态参数c6,可以得到时刻7的初始预测流量大小x73、lstm模型在时刻7的隐含层输出h7、细胞状态参数c7。

此时,可以参照前文描述分别计算预测模型1、2、3的权重,并按照计算的权重对时刻5的三个初始预测流量大小x51、x52、x53加权求和,得到时刻5的最终预测流量大小;按照计算的权重对时刻6的三个初始预测流量大小x61、x62、x63加权求和,得到时刻6的最终预测流量大小;按照计算的权重对时刻7的三个初始预测流量大小x71、x72、x73加权求和,得到时刻7的最终预测流量大小。

请参照图5,图5是本申请实施例提供的一种数据处理设备500的方框示意图。数据处理设备500包括机器可读存储介质510及处理器520,机器可读存储介质510和处理器520可以经由系统总线通信连接。机器可读存储介质510存储有机器可执行指令,处理器520通过调用并执行该机器可执行指令,可以实现本申请实施例提供的链路流量预测方法。

此外,所述机器可执行指令还可以包括用于实现上文描述的各个预测模型(例如,arima模型、lstm模型、ses模型)的指令。

请参照图6,图6是本申请实施例提供的一种链路流量预测装置600的功能模块框图。链路流量预测装置600包括至少一个可以以软件形式存储于机器可读存储介质510中的功能模块。从功能上划分,链路流量预测装置600可以包括获取模块610、第一预测模块620、权重确定模块630以及第二预测模块640。

其中,获取模块610用于获取指定链路在预设时间段内的实际流量大小,所述预设时间段包括至少两个时间区间。

第一预测模块620用于分别采用至少两个预测模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到对应的至少两个初始预测流量大小。

权重确定模块630用于根据每个所述预测模型当前的预测精度分别确定每个所述预测模型当前的权重。

第二预测模块640用于根据每个所述预测模型当前的权重以及所述至少两个初始预测流量大小,计算所述指定链路在所述指定时间区间的最终预测流量大小。

可选地,权重确定模块630具体可以用于:

分别计算每个预测模型当前的动态误差;根据每个预测模型当前的动态误差确定所述预测模型当前的权重,其中,所述权重与所述动态误差呈反比例关系。

可选地,权重确定模块630可以通过以下方式分别计算每个预测模型当前的动态误差:

针对每个预测模型,分别获取通过该预测模型得到的所述指定链路在所述指定时间区间之前的预设数量个时间区间的最终预测流量大小与实际流量大小的绝对误差;对获取的所述预设数量个绝对误差做算术平均,得到该预测模型在所述指定时间区间的动态误差。

可选地,权重确定模块630可以通过以下方式确定所述预测模型当前的权重:

计算每个预测模型当前的动态误差的倒数,以及各所述预测模型的动态误差的倒数之和;计算每个预测模型当前的动态误差的倒数与所述倒数之和的比值作为该预测模型的权重。

在本实施例中,所述至少两个预测模型可以包括时间序列拟合模型、加权平均模型以及循环神经网络模型。在此情况下,第一预测模块620具体可以用于:

采用所述时间序列拟合模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到第一初始预测流量大小;

采用所述加权平均模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到第二初始预测流量大小;

采用循环神经网络模型,根据所述实际流量大小对所述指定链路在位于所述预设时间段之后的指定时间区间的流量大小进行预测处理,得到第三初始预测流量大小。

对应地,所述至少两个初始预测流量大小包括所述第一初始预测流量大小、所述第二初始预测流量大小和所述第三初始预测流量大小。

可选地,所述时间序列拟合模型为自回归差分移动平均arima模型,所述加权平均模型为二阶指数平滑ses模型,所述循环神经网络模型为长短期记忆网络lstm模型。

关于上述功能模块的描述,具体可以参照上文对相关步骤的详细阐述。

综上所述,本申请实施例提供一种链路流量预测方法及装置,通过至少两个预测模型分别预测指定链路在时间区间的初始预测流量大小,并根据每个预测模型当前的预测精度确定该预测模型当前的权重。根据每个预测模型当前的权重以及该至少两个预测模型分别预测得到的初始预测流量大小,计算得到指定链路在该时间区间的最终预测流量大小。如此,可以更为准确稳定地预测指定链路在特定时间区间的流量大小。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1