一种服务器工作状态的预测方法、装置和介质与流程

文档序号:17989187发布日期:2019-06-22 00:38阅读:205来源:国知局
一种服务器工作状态的预测方法、装置和介质与流程

本发明涉及服务器技术领域,特别是涉及一种服务器工作状态的预测方法、装置和计算机可读存储介质。



背景技术:

人类社会发展到今天,已经步入计算时代,其中又以大数据、人工智能(artificialintelligence,ai)以及物联网(internetofthings,iot)最为代表。无论计算能力如何发达、社会对计算需求如何旺盛,其中都离不开计算架构的支撑。目前典型的计算架构可以分为单机、集群以及分布式三类,它们均属于根据业务搭建的拓扑结构,是计算设备的抽象组织形态。对于一个计算机组织形态,工程师在设计时都需要实现其自治属性。其中,一个基本的自治状态就是计算设备的工作状态,包括设备电压、电流、温度、湿度等。对于一个单机拓扑,这部分状态信息一般通过服务器远程监控管理(baseboardmanagementcontroller,bmc)软件实现获取及实时监控。

目前,单机bmc状态管理,仍局限于实施监视、上报设备状态信息,通过设定阈值,触发报警的方式来实现设备的管理,并不具备设备状态预测的能力。

可见,如何实现对服务器工作状态的预测,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种服务器工作状态的预测方法、装置和计算机可读存储介质,可以实现对服务器工作状态的预测。

为解决上述技术问题,本发明实施例提供一种服务器工作状态的预测方法,包括:

获取服务器在预设时间段内的多个状态信息;

根据预先设定的映射关系,计算出各状态信息所对应的状态值;

计算各所述状态值与预先建立的各质心点的距离值;

依据各所述距离值以及所述预设时间段,确定出所述服务器的工作状态。

可选的,所述质心点的建立过程包括:

获取所述服务器的历史状态信息;

根据预先设定的映射关系,计算出各历史状态信息所对应的历史样本数据;

按照预设聚类数目,对所述历史样本数据进行随机分类,确定出各个聚类的初始质心点;

依据各所述历史样本数据与各所述初始质心点的距离值,调整各所述初始质心点的取值,以得到每个聚类所对应的质心点。

可选的,所述依据各所述距离值以及所述预设时间段,确定出所述服务器的工作状态包括:

根据如下公式,确定出所述服务器的工作状态w,

其中,dt+i表示t+i时刻服务器的状态值与质心点的距离值,n表示预设时间段;

当w=1时,则判定服务器在t+δt时刻的服务器工作状态为正常状态;当w=-1时,则判定服务器在t+δt时刻的服务器工作状态为异常状态;当w=0时,则判定服务器在t+δt时刻的服务器工作状态为波动状态。

可选的,在判定服务器在t+δt时刻的服务器工作状态为异常状态或者是判定服务器在t+δt时刻的服务器工作状态为波动状态之后还包括:

根据不同工作状态所对应的提示规则,进行报警提示。

可选的,在所述进行报警提示之后还包括:

判断在下一个预设时间段内所述服务器的工作状态是否恢复至正常状态;

若否,则控制所述服务器执行关机操作。

可选的,所述状态信息包括芯片电压值、电源电流强度、电源电压和芯片温度。

本发明实施例还提供了一种服务器工作状态的预测装置,包括获取单元、映射单元、计算单元和确定单元;

所述获取单元,用于获取服务器在预设时间段内的多个状态信息;

所述映射单元,用于根据预先设定的映射关系,计算出各状态信息所对应的状态值;

所述计算单元,用于计算各所述状态值与预先建立的各质心点的距离值;

所述确定单元,用于依据各所述距离值以及所述预设时间段,确定出所述服务器的工作状态。

可选的,针对于所述质心点的建立过程,所述装置还包括质心点确定单元和质心点调整单元;

所述获取单元还用于获取所述服务器的历史状态信息;

所述映射单元还用于根据预先设定的映射关系,计算出各历史状态信息所对应的历史样本数据;

所述质心点确定单元,用于按照预设聚类数目,对所述历史样本数据进行随机分类,确定出各个聚类的初始质心点;

所述质心点调整单元,用于依据各所述历史样本数据与各所述初始质心点的距离值,调整各所述初始质心点的取值,以得到每个聚类所对应的质心点。

可选的,所述确定单元具体用于根据如下公式,确定出所述服务器的工作状态w,

其中,dt+i表示t+i时刻服务器的状态值与质心点的距离值,n表示预设时间段;

当w=1时,则判定服务器在t+δt时刻的服务器工作状态为正常状态;当w=-1时,则判定服务器在t+δt时刻的服务器工作状态为异常状态;当w=0时,则判定服务器在t+δt时刻的服务器工作状态为波动状态。

可选的,还包括提示单元;

所述提示单元,用于在判定服务器在t+δt时刻的服务器工作状态为异常状态或者是判定服务器在t+δt时刻的服务器工作状态为波动状态之后,根据不同工作状态所对应的提示规则,进行报警提示。

可选的,还包括判断单元和关机单元;

所述判断单元,用于在进行报警提示之后,判断在下一个预设时间段内所述服务器的工作状态是否恢复至正常状态;若否,则触发所述关机单元;

所述关机单元,用于控制所述服务器执行关机操作。

可选的,所述状态信息包括芯片电压值、电源电流强度、电源电压和芯片温度。

本发明实施例还提供了一种服务器工作状态的预测装置,包括:

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

处理器,用于执行所述计算机程序以实现如上述服务器工作状态的预测方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述服务器工作状态的预测方法的步骤。

由上述技术方案可以看出,获取服务器在预设时间段内的多个状态信息;根据预先设定的映射关系,计算出各状态信息所对应的状态值;计算各状态值与预先建立的各质心点的距离值;不同的质心点反映了服务器的不同工作状态;服务器的状态值与某个质心点的距离值越小,则说明服务器的工作状态越接近该质心点所对应的工作状态。依据各所述距离值以及所述预设时间段,确定出服务器的工作状态。在该技术方案中,采用状态累计策略,实现了对服务器下一时刻工作状态的预测。工作人员可以根据预测出的服务器工作状态,实现服务器工作异常的提前预警维护。

附图说明

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

图1为本发明实施例提供的一种服务器工作状态的预测方法的流程图;

图2为本发明实施例提供的一种服务器工作状态的预测装置的结构示意图;

图3为本发明实施例提供的一种服务器工作状态的预测装置的硬件结构示意图。

具体实施方式

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

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种服务器工作状态的预测方法。图1为本发明实施例提供的一种服务器工作状态的预测方法的流程图,该方法包括:

s101:获取服务器在预设时间段内的多个状态信息。

其中,预设时间段的取值可以依据实际需求进行设定,在此不做限定。例如,预设时间段可以设置为2分钟。

服务器中的芯片电压值、电源电流强度、电源电压和芯片温度等状态信息,可以有效的反映服务器的工作状态,因此,在本发明实施例中,获取的状态信息可以包括芯片电压值、电源电流强度、电源电压和芯片温度。当然,在实际应用中,状态信息也可以包括网络速率、cpu使用率以及存储效率等参数,在本发明实施例中,对于状态信息的形式不做具体限定,为了便于后续描述,均以状态信息包括芯片电压值、电源电流强度、电源电压和芯片温度为例展开说明。

在本发明实施例中,通过预设时间段内的状态信息来预测服务器在下一时刻的工作状态,从而可以实现对服务器异常状态的提前预知,从而便于工作人员及时采取措施,最大程度的降低服务器异常情况的发生或者异常情况所带来的不良影响。

在具体实现中,可以每间隔固定时间采集一次服务器的状态信息,固定时间的取值小于预设时间段,使得在预设时间段内可以获取多个状态信息。

s102:根据预先设定的映射关系,计算出各状态信息所对应的状态值。

每次采集的状态信息包含的信息类型有多种,为了简化服务器工作状态的预测流程,可以用一个状态值来表示每次采集的状态信息。

为了便于介绍,可以用vc表示芯片电压、ip表示电源电流强度、vp表示电源电压以及tc表示芯片温度。由于设备状态信息的物理可连续,因此,可以设状态值为x,x∈r,x的值域为{﹢1,﹣1},其中“﹢1”表示工作正常即服务器工作状态为正常状态,“﹣1”表示工作异常即服务器工作状态为异常状态。同理,服务器的状态信息vc∈r、ip∈r、vp∈r及tc∈r。

设定存在一种映射关系f使得x=f(vc,ip,vp,tc)。通过映射关系f,对设备状态参数进行处理,得到设备当前状态信息所对应的状态值。其中,映射关系f属于设备状态信息向状态值转换的常规映射方式,在此不再赘述。

s103:计算各状态值与预先建立的各质心点的距离值。

在本发明实施例中,可以根据服务器的工作状态的划分方式,确定出质心点的个数,例如,服务器划分为正常工作状态和异常工作状态时,建立的质心点可以为2个,一个质心点表示服务器状态正常质心点,另一个质心点表示服务器状态异常质心点。

不同的质心点反映了服务器的不同工作状态。当服务器的状态值与某个质心点的距离值越小,则说明服务器的工作状态越接近该质心点所对应的工作状态。

在本发明实施例中,可以采用k-means聚类算法对服务器的历史状态信息进行分析,确定出各质心点的取值。

具体的,可以获取服务器的历史状态信息;根据预先设定的映射关系,计算出各历史状态信息所对应的历史样本数据。

历史状态信息是指服务器在过去一段时间内所产生的状态信息,历史状态信息的信息量的大小可以依据实际需求进行设定,在此不做限定。

其中,映射关系和s102提及的映射关系类似,在此不再详细赘述。

在实际应用中,可以利用服务器远程监控管理(baseboardmanagementcontroller,bmc)实时获取历史样本数据{x(1),x(2),x(3),…,x(m)};其中,x(i)∈rn,i=1,2,…,m,x(i)=f(vc,ip,vp,tc)。

计算出各历史样本数据后,便可以按照预设聚类数目,对历史样本数据进行随机分类,确定出各个聚类的初始质心点;并依据各历史样本数据与各初始质心点的距离值,调整各初始质心点的取值,以得到每个聚类所对应的质心点。

其中,预设聚类数目反映了服务器工作状态的划分方式,预设聚类数目和质心点的个数相同,即一个聚类对应一个质心点。

随机选取k个聚类质心点(clustercentroids)记为u1,u2,u3,…,uk∈rn

可以按照如下过程不断重复的对质心点进行收敛,直至各质心点的取值趋于稳定后,则可以将趋于稳定的质心点作为相应聚类的质心点。

对于每一个样本i,按照公式(1)计算其应该属于的聚类c(i)

c(i):=argminj||xi-uj||2(1);

对于每一个聚类j,按照公式(2)重新计算该聚类的质心点uj,

其中,符号“:=”表示定义为。

需要说明的是,随着服务器状态信息的不断更新变化,在本发明实施例中,可以设定质心点更新的周期时间,每隔周期时间,按照上述介绍的质心点的确定方式,更新质心点的取值。

s104:依据各距离值以及预设时间段,确定出服务器的工作状态。

一个状态值与一个质心点之间的差值即为该状态值所对应的一个距离值,

在具体实现中,可以将各距离值采用归一化的方式表示。

以两个质心点为例,可以参见如下公式(3),计算t时刻下状态值所对应的距离归一化值,

dt=|d1-d2|/(d1-d2)(3);

其中,d1表示t时刻下状态值与正常状态质心点之间的距离值,d2表示t时刻下状态值与异常状态质心点之间的距离值。

计算出各距离值所对应的归一化值后,可以采用取极限值的方式,确定出服务器的工作状态。

结合公式(3)所示的计算方式,在具体实现中,可以根据如下公式(4),确定出服务器的工作状态w,

其中,dt+i表示t+i时刻服务器的状态值与质心点的距离值,n表示预设时间段;

当w=1时,则判定服务器在t+δt时刻的服务器工作状态为正常状态;当w=-1时,则判定服务器在t+δt时刻的服务器工作状态为异常状态;当w=0时,则判定服务器在t+δt时刻的服务器工作状态为波动状态。

如表1所示为依据各距离值以及预设时间段确定出的服务器状态预测表,

表1

由上述技术方案可以看出,获取服务器在预设时间段内的多个状态信息;根据预先设定的映射关系,计算出各状态信息所对应的状态值;计算各状态值与预先建立的各质心点的距离值;不同的质心点反映了服务器的不同工作状态;服务器的状态值与某个质心点的距离值越小,则说明服务器的工作状态越接近该质心点所对应的工作状态。依据各所述距离值以及所述预设时间段,确定出服务器的工作状态。在该技术方案中,采用状态累计策略,实现了对服务器下一时刻工作状态的预测。工作人员可以根据预测出的服务器工作状态,实现服务器工作异常的提前预警维护。

当服务器出现异常或者波动时,为了便于管理人员及时发现问题,可以设置提示机制。

具体的,在判定服务器在t+δt时刻的服务器工作状态为异常状态或者是判定服务器在t+δt时刻的服务器工作状态为波动状态之后,可以根据不同工作状态所对应的提示规则,进行报警提示。

报警提示的方式可以有多种,可以为语音报警或者是灯光报警。例如,语音报警时,可以直接播放“预测服务器异常”或者“预测服务器波动”等。灯光报警时,在预测出服务器异常时,可以点亮红色提示灯;在预测出服务器波动时,可以点亮黄色提示灯。

通过设置报警提示机制,可以便于管理人员更加及时的发现服务器的异常或波动等工作状态,从而及早的采取措施,以降低服务器损坏带来的损失。

考虑到在实际应用中,可能会存在管理人员无法及时对服务器异常或波动情况进行处理的情况发生,为了进一步确保服务器的安全运行,在进行报警提示之后还可以判断在下一个预设时间段内服务器的工作状态是否恢复至正常状态。

当服务器在下一个预设时间段内的工作状态恢复至正常状态时,则说明此时服务器已经可以正常工作,则继续执行上述的工作状态预测流程即可。当服务器在下一个预设时间段内的工作状态未恢复至正常状态时,则控制服务器执行关机操作。

当然在实际应用中,也可以当连续多次检测到服务器处于异常状态或波动状态时,再控制服务器执行关机操作。

通过强制服务器执行关机操作,可以在管理人员未及时对服务器进行维护处理时,降低服务器异常或波动产生的不良影响,降低服务器的损坏程度,进一步提高了服务器的使用寿命。

图2为本发明实施例提供的一种服务器工作状态的预测装置的结构示意图,包括获取单元21、映射单元22、计算单元23和确定单元24;

获取单元21,用于获取服务器在预设时间段内的多个状态信息;

映射单元22,用于根据预先设定的映射关系,计算出各状态信息所对应的状态值;

计算单元23,用于计算各状态值与预先建立的各质心点的距离值;

确定单元24,用于依据各距离值以及预设时间段,确定出服务器的工作状态。

可选的,针对于质心点的建立过程,装置还包括质心点确定单元和质心点调整单元;

获取单元还用于获取服务器的历史状态信息;

映射单元还用于根据预先设定的映射关系,计算出各历史状态信息所对应的历史样本数据;

质心点确定单元,用于按照预设聚类数目,对历史样本数据进行随机分类,确定出各个聚类的初始质心点;

质心点调整单元,用于依据各历史样本数据与各初始质心点的距离值,调整各初始质心点的取值,以得到每个聚类所对应的质心点。

可选的,确定单元具体用于根据如下公式,确定出服务器的工作状态w,

其中,dt+i表示t+i时刻服务器的状态值与质心点的距离值,n表示预设时间段;

当w=1时,则判定服务器在t+δt时刻的服务器工作状态为正常状态;当w=-1时,则判定服务器在t+δt时刻的服务器工作状态为异常状态;当w=0时,则判定服务器在t+δt时刻的服务器工作状态为波动状态。

可选的,还包括提示单元;

提示单元,用于在判定服务器在t+δt时刻的服务器工作状态为异常状态或者是判定服务器在t+δt时刻的服务器工作状态为波动状态之后,根据不同工作状态所对应的提示规则,进行报警提示。

可选的,还包括判断单元和关机单元;

判断单元,用于在进行报警提示之后,判断在下一个预设时间段内服务器的工作状态是否恢复至正常状态;若否,则触发关机单元;

关机单元,用于控制服务器执行关机操作。

可选的,状态信息包括芯片电压值、电源电流强度、电源电压和芯片温度。

图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,获取服务器在预设时间段内的多个状态信息;根据预先设定的映射关系,计算出各状态信息所对应的状态值;计算各状态值与预先建立的各质心点的距离值;不同的质心点反映了服务器的不同工作状态;服务器的状态值与某个质心点的距离值越小,则说明服务器的工作状态越接近该质心点所对应的工作状态。依据各所述距离值以及所述预设时间段,确定出服务器的工作状态。在该技术方案中,采用状态累计策略,实现了对服务器下一时刻工作状态的预测。工作人员可以根据预测出的服务器工作状态,实现服务器工作异常的提前预警维护。

图3为本发明实施例提供的一种服务器工作状态的预测装置30的硬件结构示意图,包括:

存储器31,用于存储计算机程序;

处理器32,用于执行计算机程序以实现如上述服务器工作状态的预测方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述服务器工作状态的预测方法的步骤。

以上对本发明实施例所提供的一种服务器工作状态的预测方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

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