本发明涉及服务器,尤其涉及一种服务器故障预测方法、装置、设备及存储介质。
背景技术:
1、服务器长时间运行的过程中,其内部的部件随时存在产生故障的风险。如何提前预知服务器将要产生故障是一个比较困难的技术,目前的相关技术中,诊断服务器故障的方法比较多,但是预测服务器故障的方法寥寥无几。因为服务器内部部件的各项参数指标不是随着时间线性增长变化的,这给故障预测带来了较大难度。而且,服务器的所有部件均需要上电后才能正常工作,再与服务器进行数据交互,该特点也会减少故障预测实现的可能性。
2、因此,相关技术中还没有可以有效预测服务器故障的方法。
技术实现思路
1、本发明的主要目的在于:提供一种服务器故障预测方法、装置、设备及存储介质,旨在解决相关技术中无法有效预测服务器故障的技术问题。
2、为实现上述目的,本发明采用如下技术方案:
3、第一方面,本发明提供了一种服务器故障预测方法,所述方法包括:
4、获取服务器上待测部件的电源功耗数据以及所述电源功耗数据的采集时间;
5、根据所述采集时间和预设时间窗口确定目标时间段,并根据所述电源功耗数据得到所述目标时间段对应的目标功耗数据;
6、根据所述目标功耗数据,利用故障预测模型预测所述服务器发生故障的概率,得到故障预测值;其中,所述故障预测模型基于故障诊断模型得到;
7、根据所述故障预测值,基于服务器故障预测值与时间序列的关系得到所述服务器的故障预测结果。
8、可选地,上述服务器故障预测方法中,所述根据所述目标功耗数据,利用故障预测模型预测所述服务器发生故障的概率,得到故障预测值的步骤之前,所述方法还包括:
9、构建故障诊断模型;
10、对所述故障诊断模型的参数进行校正,得到校正后的故障诊断模型;
11、根据所述校正后的故障诊断模型以及所述目标功耗数据对应的采集次数,得到故障预测模型。
12、可选地,上述服务器故障预测方法中,所述构建故障诊断模型的步骤包括:
13、获取第一数据集;所述第一数据集包括所述服务器上故障部件的电源功耗;
14、根据所述第一数据集确定所述故障部件的初始上限阈值和初始下限阈值,以及所述故障部件反映服务器故障的权重;
15、根据所述初始上限阈值、所述初始下限阈值和所述权重,构建所述故障诊断模型,其中,所述故障诊断模型的表达式为:
16、
17、其中,z表示服务器发生故障的概率,n表示服务器上部件的类别数量,yi表示第i类部件反映服务器故障的权重,xi表示第i类部件的电源功耗,low_limiti表示第i类部件的初始上限阈值,upper_limiti表示第i类部件的初始下限阈值。
18、可选地,上述服务器故障预测方法中,所述对所述故障诊断模型的参数进行校正,得到校正后的故障诊断模型的步骤包括:
19、获取第二数据集;所述第二数据集包括所述服务器上各个部件的电源功耗以及对应的数据采集时间;
20、基于所述数据采集时间的时间顺序,将所述各个部件的电源功耗分别输入所述故障诊断模型,输出所述各个部件的诊断结果;
21、在所述诊断结果大于零的情况下,调整所述故障诊断模型中的所述初始上限阈值和所述初始下限阈值,得到校正后的故障诊断模型。
22、可选地,上述服务器故障预测方法中,所述根据所述校正后的故障诊断模型以及所述目标功耗数据对应的采集次数,得到故障预测模型的步骤包括:
23、根据所述目标功耗数据以及所述目标功耗数据对应的采集次数,得到电源功耗平均值
24、
25、其中,m表示采集次数,表示第m次采集的第i类部件的电源功耗;
26、根据所述电源功耗平均值对所述校正后的故障诊断模型进行转换,得到故障预测模型,其中,所述故障预测模型的表达式为:
27、
28、可选地,上述服务器故障预测方法中,所述根据所述故障预测值,基于服务器故障预测值与时间序列的关系得到所述服务器的故障预测结果的步骤之前,所述方法还包括:
29、获取第三数据集,所述第三数据集包括所述服务器产生故障时的故障时间,以及所述故障时间对应的电源功耗;
30、将所述故障时间对应的电源功耗输入所述故障诊断模型,得到对应的模型输出结果;
31、统计多组所述故障时间及其对应的所述模型输出结果,得到二维数据表;
32、根据所述二维数据表进行曲线拟合,得到模型输出结果与时间序列的关系;
33、根据所述故障预测模型和所述模型输出结果与时间序列的关系,得到所述故障预测值与时间序列的关系。
34、可选地,上述服务器故障预测方法中,所述根据所述故障预测值,基于服务器故障预测值与时间序列的关系得到所述服务器的故障预测结果的步骤包括:
35、根据所述故障预测值以及所述故障预测值与时间序列的关系,得到所述服务器发生故障的预测时间;
36、根据所述预测时间和所述预设时间窗口,确定当前时间距离所述预测时间的剩余时间,作为所述服务器的故障预测结果。
37、第二方面,本发明提供了一种服务器故障预测装置,所述装置包括:
38、数据获取模块,用于获取服务器上待测部件的电源功耗数据以及所述电源功耗数据的采集时间;
39、数据筛选模块,用于根据所述采集时间和预设时间窗口确定目标时间段,并根据所述电源功耗数据得到所述目标时间段对应的目标功耗数据;
40、故障预测模块,用于根据所述目标功耗数据,利用故障预测模型预测所述服务器发生故障的概率,得到故障预测值;其中,所述故障预测模型基于故障诊断模型得到;
41、预测结果模块,用于根据所述故障预测值,基于服务器故障预测值与时间序列的关系得到所述服务器的故障预测结果。
42、第三方面,本发明提供了一种服务器故障预测设备,该服务器故障预测设备包括处理器和存储器,存储器中存储有故障预测程序,该故障预测程序被处理器执行时,实现如上述的服务器故障预测方法。
43、第四方面,本发明提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被一个或多个处理器执行时,实现如上述的服务器故障预测方法。
44、本发明提供的上述一个或多个技术方案,可以具有如下优点或至少实现了如下技术效果:
45、本发明提出的一种服务器故障预测方法、装置、设备及存储介质,通过获取服务器上待测部件的电源功耗数据以及电源功耗数据的采集时间,根据与采集时间和预设时间窗口确定目标时间段,得到目标时间段对应的目标功耗数据;然后根据目标功耗数据,利用故障预测模型预测服务器发生故障的概率,得到故障预测值;再根据故障预测值,基于服务器故障预测值与时间序列的关系得到服务器的故障预测结果,实现了预测服务器故障的目的;本发明利用了服务器的所有部件均需要上电后才能正常工作并与服务器进行数据交互的特点,根据服务器部件的电源功耗来预测服务器的故障,比较直观且准确。