一种基于LSTM的机房功耗预警方法、系统、终端及存储介质与流程

文档序号:20874884发布日期:2020-05-26 16:21阅读:134来源:国知局
一种基于LSTM的机房功耗预警方法、系统、终端及存储介质与流程

本发明涉及服务器管理技术领域,具体涉及一种基于lstm的机房功耗预警方法、系统、终端及存储介质。



背景技术:

随着互联网的飞速发展,数据中心承载着各种数据的采集、存储及分析等功能,并随着业务的增加及异常或者侵入,业务主机功耗也会增加与波动,导致机房功耗增长与异常波动,有可能导致数据中心机房功耗瞬间超越机房容量,导致机房主机瞬间宕机,影响着业务的稳定运行,传统监控系统仅设定功耗的固定阈值进行告警,不能够对功耗的周期性变化进行准确的告警,而且对功耗波动较大时也无法感知。



技术实现要素:

针对现有技术的上述不足,本发明提供一种基于lstm的机房功耗预警方法、系统、终端及存储介质,以解决上述技术问题。

第一方面,本发明提供一种基于lstm的机房功耗预警方法,包括:

采集机房在预设时间范围内的实际功耗值并计算所述实际功耗值的功耗平均值;

计算实际功耗值与所述功耗平均值的功耗差,得到功耗差时间序列;

对所述功耗差时间序列进行归一化处理得到功耗序列;

将所述功耗序列输入lstm模型得到预测值;

根据所述预测值、归一化系数和功耗平均值计算预测功耗,并将所述预测功耗与功耗阈值进行比对,若预测功耗超过所述功耗阈值则生成告警。

进一步的,所述采集机房在预设时间范围内的实际功耗值并计算所述实际功耗值的功耗平均值,包括:

设置实际功耗值的采集时间范围;

采集机房在所述采集时间内的每天的实际功耗值;

利用采集时间内的实际功耗值之和除以天数得到功耗平均值。

进一步的,所述对功耗差时间序列进行归一化处理得到功耗序列,包括:

将功耗差时间序列中的最大功耗差作为归一化系数;

将功耗差时间序列中的所有功耗差除以所述归一化系数,得到功耗序列。

进一步的,所述方法还包括:

采集机房历史功耗数据并计算历史功耗数据的历史功耗序列;

将历史功耗序列划分为训练集和数据集;

利用训练集训练lstm模型;

利用所述测试集对训练出的多个lstm模型,选出最优lstm模型。

进一步的,所述根据预测值、归一化系数和功耗平均值计算预测功耗,包括:

利用所述预测值乘以所述归一化系数得到积值;

将所述积值与所述功耗平均值之和作为预测功耗输出。

进一步的,所述方法还包括:

采集在所述预测功耗的预测时间的相应实际功耗值;

判断所述预测功耗与所述相应实际功耗值的差值是否在预设差值阈值范围内:

若否,则生成预测准确性告警。

第二方面,本发明提供一种基于lstm的机房功耗预警系统,包括:

平均计算单元,配置用于采集机房在预设时间范围内的实际功耗值并计算所述实际功耗值的功耗平均值;

功耗计算单元,配置用于计算实际功耗值与所述功耗平均值的功耗差,得到功耗差时间序列;

归一处理单元,配置用于对所述功耗差时间序列进行归一化处理得到功耗序列;

序列输入单元,配置用于将所述功耗序列输入lstm模型得到预测值;

告警生成单元,配置用于根据所述预测值、归一化系数和功耗平均值计算预测功耗,并将所述预测功耗与功耗阈值进行比对,若预测功耗超过所述功耗阈值则生成告警。

进一步的,所述系统还包括:

实际采集单元,配置用于采集在所述预测功耗的预测时间的相应实际功耗值;

误差判断单元,配置用于判断所述预测功耗与所述相应实际功耗值的差值是否在预设差值阈值范围内;

误差告警单元,配置用于若所述预测功耗与所述相应实际功耗值的差值不在预设差值阈值范围内,则生成预测准确性告警。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的基于lstm的机房功耗预警方法、系统、终端及存储介质,通过设置最大封顶值、可容忍最大偏差值,通过lstm进行数据中心机房功耗预测的值和机房容量进行比较,来实现性能的预警;通过lstm进行数据中心机房功耗预测的值与采集到的实际值进行比较,计算偏差,对偏差与可容忍最大偏差进行比较,来实现动态的阈值告警,这样大大的提高了数据中心设备运行的稳定性,保证各种业务的正常运行。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的方法的lstm模型的结构示意图。

图3是本发明一个实施例的方法的lstm模型神经网络cell的基本结构。

图4是本发明一个实施例的系统的示意性框图。

图5为本发明实施例提供的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种基于lstm的机房功耗预警系统。

如图1所示,该方法100包括:

步骤110,采集机房在预设时间范围内的实际功耗值并计算所述实际功耗值的功耗平均值;

步骤120,计算实际功耗值与所述功耗平均值的功耗差,得到功耗差时间序列;

步骤130,对所述功耗差时间序列进行归一化处理得到功耗序列;

步骤140,将所述功耗序列输入lstm模型得到预测值;

步骤150,根据所述预测值、归一化系数和功耗平均值计算预测功耗,并将所述预测功耗与功耗阈值进行比对,若预测功耗超过所述功耗阈值则生成告警。

为了便于对本发明的理解,下面以本发明基于lstm的机房功耗预警方法的原理,结合实施例中对机房功耗进行预警的过程,对本发明提供的基于lstm的机房功耗预警方法做进一步的描述。

具体的,所述基于lstm的机房功耗预警方法包括:

(1)、数据采集,是指以定时任务的方式,每隔几分钟对机房内的主机进行功耗的采集,之后对主机的功耗进行相加,获取机房的整体功耗。

(2)、数据处理,是指查询机房最近一个月的实际功耗值,计算机房历史功耗平均值,然后将历史数据减去平均值,之后对历史数据做归一化处理。

采集的实际功耗值:x=[x1,…,xn],i=1,…,n,其中x为一天的机房功耗值。

平均值:

去平均处理得到功耗差:y=x-mu,y=[y1,…,yn]为以天为单位时间的功耗差时间序列。

去平均后选取最大功耗差:sg=max(y)

归一化处理得到功耗序列:p=y/sg=[p1,…,pn],此时得到的功耗序列用于预测。

选取过去三个月的机房历史功耗数据,即过去三个月的机房的每天的功耗值。与实际功耗值相比,历史功耗数据的采集时间范围更大,数据量也更大,以保证lstm模型的准确度。利用步骤(2)的数据处理方法对历史功耗数据进行去平均和归一化处理,得到历史功耗序列。将历史功耗序列作为训练lstm模型的数据集。

(3)lstm训练与预测

将处理后的矩阵p,通过lstm进行训练,然后进行预测三天的预测数(z)。其中lstm介绍如下:

如图2所示,lstm是rnn一个的变形,小圆圈表示加入的阀门。rnn是处理时间序列相关数据的最有效的工具,相比于其他神经网络,rnn的输出层的结果不仅与当前输入有关而且与上一次隐含层结果有关,这样就相当于对时间序列有了一定的记忆功能。lstm的出现解决了长期记忆的问题,lstm通过三个阀门作用在rnn的节点上来调节之前的网络记忆状态是否作用于当前网络的计算。

其中,xn,yn表示一次输入与输出,u、w、v表示权重,hn表示隐含层状态,hn与不仅与xn有关而且与前r个隐含层输出有关,若没有阀门控制则hn可表示为f(uxn+wn-1sn-1+wn-2sn-2+…+wn-rsn-r),即实现了与前r个输入关联。但当r较大时,即当前输出与距离较远的输入有关联时,训练模型会随r增长成指数增长。

三个门的作用为:遗忘门(forgetgate)控制之前的隐含层状态hn-1有多少保留到当前时刻hn;输入门(inputgate)控制当前时刻网络的输入xn有多少保存到隐含层状态hn;输出门(outputgate)控制隐含层状态hn有多少输出到当前时刻输出值yn。

参考图3,三个控制阀门组成了lstm的基本单元,称为cell,图3是lstm神经网络一个单元的基本结构,其中fn表示遗忘门,in表示输入门,on表示输出门,hn表示当前单元状态。

遗忘门:fn=δ(wf,xxn+wf,yyn-1+bf)

输入门:in=δ(wi,xxn+wi,yyn-1+bi)

输出门:on=δ(wo,xxn+wo,yyn-1+bo)

当前单元输出:hn=hn-1fn+intanh(wcxn+ucyn-1+bc)

当前单元状态:yn=ontanh(hn)

其中δ表示sigmoid函数,作用于三个门上,其输出为[0,1],每个值表示对应的部分信息是否应该通过。0值表示不允许信息通过,1值表示让所有信息通过。而tanh函数用在了状态和输出。w为权重,如wf,x为遗忘门对应的上一时态输出信息的权重,b表示偏置。

(4)告警处理

将预测的功耗z,乘以归一化处理系数(sg),加上平均值mu,得到真实的预测值。

t=z*sg+mu

之后,计算3天数据(t)的最大值与机房容量相比较,如果接近则产生功耗预警,其次,在接下来采集到的数据与该时刻预测的数据做比较,如果超过可容忍最大偏差值,则产生告警,否则正常。

如图4示,该系统400包括:

平均计算单元410,配置用于采集机房在预设时间范围内的实际功耗值并计算所述实际功耗值的功耗平均值;

功耗计算单元420,配置用于计算实际功耗值与所述功耗平均值的功耗差,得到功耗差时间序列;

归一处理单元430,配置用于对所述功耗差时间序列进行归一化处理得到功耗序列;

序列输入单元440,配置用于将所述功耗序列输入lstm模型得到预测值;

告警生成单元450,配置用于根据所述预测值、归一化系数和功耗平均值计算预测功耗,并将所述预测功耗与功耗阈值进行比对,若预测功耗超过所述功耗阈值则生成告警。

可选地,作为本发明一个实施例,所述系统还包括:

实际采集单元,配置用于采集在所述预测功耗的预测时间的相应实际功耗值;

误差判断单元,配置用于判断所述预测功耗与所述相应实际功耗值的差值是否在预设差值阈值范围内;

误差告警单元,配置用于若所述预测功耗与所述相应实际功耗值的差值不在预设差值阈值范围内,则生成预测准确性告警。

图5为本发明实施例提供的一种终端系统500的结构示意图,该终端系统500可以用于执行本发明实施例提供的基于lstm的机房功耗预警方法。

其中,该终端系统500可以包括:处理器520、存储器520及通信单元530。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器520可以用于存储处理器520的执行指令,存储器520可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器520中的执行指令由处理器520执行时,使得终端500能够执行以下上述方法实施例中的部分或全部步骤。

处理器520为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器520可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

通信单元530,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

因此,本发明通过设置最大封顶值、可容忍最大偏差值,通过lstm进行数据中心机房功耗预测的值和机房容量进行比较,来实现性能的预警;通过lstm进行数据中心机房功耗预测的值与采集到的实际值进行比较,计算偏差,对偏差与可容忍最大偏差进行比较,来实现动态的阈值告警,这样大大的提高了数据中心设备运行的稳定性,保证各种业务的正常运行,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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