基于模型融合的硬盘故障预测模型建立方法及其应用与流程

文档序号:23628666发布日期:2021-01-12 10:42阅读:99来源:国知局
基于模型融合的硬盘故障预测模型建立方法及其应用与流程

本发明属于计算机存储技术领域,更具体地,涉及一种基于模型融合的硬盘故障预测模型建立方法及其应用。



背景技术:

近些年随着大数据和云计算等技术的发展,许多互联网企业比如微软、谷歌、阿里巴巴等都建立了大型数据中心为用户提供云服务。但是用户量不断增加和存储规模的骤然增大,数据中心会出现各种各样的故障,其中硬盘作为存储数据的主要设备,相比于其他设备,其具有数量大,寿命短的特点,其故障会对数据中心的可靠性和用户体验带来很大的影响。因此,尽早的预测出硬盘故障对于企业来说具有很大的价值。

目前提升数据中心可靠性的方法主要分为主动容错和被动容错两个方面。被动容错主要包括纠删码,备份等技术,这些技术需要花费较大的成本,同时随着数据量的增多,代价会越来越大,因此,其使用也受到一定的限制。相比于被动容错,主动容错在成本上具有明显的优势。一种常用的主动容错方法是周期性的监测硬盘的smart(self-monitoringanalysisandreportingtechnology)属性,当其到达指定阈值时,指示出硬盘可能发生故障。另一种常用的主动容错方法是结合机器学习的方法,对硬盘故障看为二分类问题,采用历史的smart的数据进行建模,对新采集到的数据进行预测,从而判断出硬盘是否故障。

在主动容错技术中仅仅通过smart属性的监测来判定硬盘故障过于单一,并且准确率较低。而传统的机器学习方法一般采用单模型来解决此问题,同时仅采用硬盘本身的smart属性,未对属性之间的关系进行很好的挖掘,并不能很好的应用到实际的生产环境中。总体而言,现有的主动容错技术对于硬盘故障预测的准确性有待进一步提高。



技术实现要素:

针对现有技术的缺陷和改进需求,本发明提供了一种基于模型融合的硬盘故障预测模型建立方法及其应用,其目的在于,提升硬盘故障预测的准确性。

为实现上述目的,按照本发明的一个方面,提供了一种基于模型融合的硬盘故障预测模型建立方法,包括:

特征工程步骤:从定期采集自数据中心的硬盘smart信息历史数据中提取基础特征,并通过特征工程构建新的特征,从所有特征中选出使得硬盘故障预测精度最高的部分特征,得到最优特征子集;

数据集构建步骤:根据最优特征子集,构建历史数据中的每条数据所对应的特征,每条数据的特征及对应的硬盘状态构成一条样本,由所有样本构成训练数据集;将训练数据集划分为训练集和测试集;

基模型建立步骤:建立多种不同机器学习模型,分别用于根据硬盘的特征数据进行故障预测,每个机器学习模型分别作为一个基模型;

子模型建立步骤:对于单个基模型,按照指定比例从最优特征子集中随机选取部分特征,利用训练集对基模型进行训练,得到一个子模型;训练过程中,仅以每条样本中所选取的特征作为输入;

模型融合步骤:对于每个基模型,分别执行子模型建立步骤多次,得到多个子模型后,将所有子模型集成为硬盘故障预测模型,由所有子模型输出的预测结果融合后作为所述硬盘故障预测模型的预测结果,利用所述测试集对所述故障预测模型进行参数调优和评估。

本发明从smart信息中提取基础特征,在此基础上通过特征工程构建新的特征,能够对原有smart特征内部以及之间的关系进行挖掘,引入有意义的新特征;在所有特征的基础上,进一步筛选出最优特征子集,在降维的基础上能够发现硬盘状态信息和故障之间的关系;基于不同的机器学习模型生成多个预测能力较强的独立子模型,然后将这些子模型的输出进行融合,增强最终模型对于不同数据集的泛化能力,有效提升硬盘故障检出率。因此,本发明能够有效提升硬盘故障检测的准确性。

进一步地,子模型建立步骤中,利用训练集对基模型进行训练,包括:

对训练集中好盘的样本进行随机欠采样,利用采样得到的好盘样本和训练集中所有的坏盘样本构成新的训练集,利用新的训练集中的样本对基模型进行训练;

对训练集中好盘的样本进行随机欠采样,包括:

按照预设的采样比例对训练集所涉及到的好盘进行随机采样;

对于每一个采样得到的好盘,从其样本中随机选取一条样本,由所有随机选取的好盘样本构成随机欠采样的结果。

由于硬盘数据集是正负样本极不均衡的数据集,好盘样本远远多于坏盘样本,本发明对好盘样本进行欠采样,由采样得到的好盘样本和所有坏盘样本作为对基模型进行训练的数据集,能够有效降低样本倾斜对预测结果所带来的影响;在欠采样的过程中,先对所有好盘进行采样,然后从采样得到的好盘的样本中随机选取一条,能够保证好盘样本分布范围尽量大,进一步保证模型的预测精度和鲁棒性。

进一步地,每次执行子模型建立步骤时,基模型的随机种子都不同,由此能够保证所有子模型之间的差异性。

进一步地,基模型建立步骤中,所建立的机器学习模型分别为:catboost,xgboost和lightgbm。

对硬盘进行故障预测时,catboost,xgboost和lightgbm相比于其他机器学习模型,具有更快的训练速度和更高的预测准确率,因此,本发明以catboost,xgboost和lightgbm作为基模型,能够获得较好的预测效果。

进一步地,特征工程步骤中,通过特征工程构建新的特征,包括:

对于每个基础特征,计算其一项或多项统计学特征,将每一项统计学特征作为个新的特征;

其中,统计学特征包括最大值,和/或均值。

硬盘中很多指标,如数据写入量、校验错误数等,是随着时间的变化和逐渐变大的,很多情况下好盘和坏盘的同一指标的最大值和均值可能会相差很大,比如坏盘的校验错误数的最大值可能是好盘的很多倍,因此,这些统计学特征对于模型的预测结果有较大的影响;本发明通过特征工程,将基础特征的最大值、均值等统计学信息作为新的特征,有利于提升模型的预测准确性。

进一步地,特征工程步骤中,通过特征工程构建新的特征,包括:

对于每个基础特征,将原始值除以归一化之后的值,作为新的特征。

厂商对于硬盘的每一个特征都提供了一个raw值(原始值)和一个normalized值(归一化之后的值),normalized值是对raw值的某种归一化操作的结果,意味着两者之间应该有潜在关系可以挖掘,归一化之后的值的范围均在区间[0,1]内,因此可以将二者作除法,生成新的特征。本发明以基础特征原始值除以归一化之后的值作为新的特征,能够进一步挖掘出特征之间的关系,有利于提升模型的预测准确性。

进一步地,特征工程步骤中,利用封装法从所有特征中选出使得硬盘故障预测精度最高的部分特征,且执行封装法时,所采用的选择模型为所建立的基模型中的其中一种。

本发明利用封装法从所有特征中筛选出最优特征子集,在降维的基础上能够发现硬盘状态信息和故障之间的关系,进一步提高模型的预测准确性。

进一步地,特征工程步骤中,通过特征工程构建新的特征之前,还包括:

对历史数据进行数据清洗后,将其中最大值与最小值之差不超过预设阈值的特征,作为基本不变的特征予以剔除。

因为数据集中不可避免的会出现一些缺失值和异常值,这些值的存在会使得模型无法很好的构建,通过数据清洗,可以剔除其中的异常值,并填充其中的缺失值,保证建模效果;本发明中,特征工程主要的目的是为了找出易于分辨出好盘和坏盘的指标,进而可以带来很好的建模效果,如果该特征的值无论在好盘还是坏盘中很长一段时间都没有发生变化,则意味着该特征对于建模没有用处,本发明通过提出这些基本不变的特征,能够有效降低特征维度,减少计算量。

按照本发明的另一个方面,提供了一种基于模型融合的硬盘故障预测方法,包括:

对于从数据中心采集的硬盘smart信息实时数据,根据本发明提供的基于模型融合的硬盘故障预测方法得到的最优特征子集构建实时数据对应的特征;

将实时数据对应的特征分别输入到本发明提供的基于模型融合的硬盘故障预测方法得到的硬盘故障预测模型中的各个子模型;

对各个子模型的预测结果进行软投票,将软投票结果作为最终的硬盘故障预测结果。

本发明所提供的基于模型融合的硬盘故障预测方法所建立的硬盘故障预测模型具有较高的预测准确性,基于该模型,本发明所提供的基于模型融合的硬盘故障预测方法具有较高的预测准确性,并且在对各子子模型输出的预测结果进行融合时,采用软投票,能够获得更好的预测结果。

按照本发明的又一个方面,提供了一种计算机可读存储介质,包括存储的计算机程序;

计算机程序被处理器执行时,控制计算机可读存储介质所在设备执行本发明提供的基于模型融合的硬盘故障预测模型建立方法,和/或本发明提供的基于模型融合的硬盘故障预测方法。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)本发明从smart信息中提取基础特征,在此基础上通过特征工程构建新的特征,能够对原有smart特征内部以及之间的关系进行挖掘,引入有意义的新特征;在所有特征的基础上,进一步筛选出最优特征子集,在降维的基础上能够发现硬盘状态信息和故障之间的关系;基于不同的机器学习模型生成多个预测能力较强的独立子模型,然后将这些子模型的输出进行融合,增强最终模型对于不同数据集的泛化能力,有效提升硬盘故障检出率。因此,本发明能够有效提升硬盘故障检测的准确性。

(2)本发明通过特征工程,以smart特征的统计学信息,以及原始值除以归一化之后的值的结果作为新的特征,能够充分挖掘出特征之间的关系,进一步提高模型对硬盘故障预测的准确性。

(3)本发明通过特征工程构建新特征之前,会对进行数据清洗,并滤除基本不变的特征,能够进一步保证模型对硬盘故障预测的准确性。

(4)本发明通过软投票的方式融合各子模型输出的预测结果,能够获得较好的预测效果。

附图说明

图1为本发明实施例提供的基于模型融合的硬盘故障预测模型建立方法流程图;

图2为本发明实施例提供的模型融合方法示意图;

图3为本发明实施例提供的筛选最优特征子集的流程图;

图4为本发明实施例提供的基于模型融合的硬盘故障预测方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在详细解释本发明的技术方案之前,先对smart信息做如下简要介绍:

smart全称为“self-monitoringanalysisandreportingtechnology”,即“自我监测、分析及报告技术”,是一种自动的硬盘状态监测与预警系统和规范,通过在硬盘内的检测指令对硬盘的硬件如磁头、盘片、马达、电路的运行状态进行监控、记录并与厂商所设定的预设安全知识进行比较。若监控情况将或已超出预设安全值的安全范围,就可以通过主机的监控硬件或软件自动向用户作出警告并进行轻微的自动修复,以提前保障硬盘数据的安全。smart属性近些年成为监控硬盘状态的主要指标,以下实施例中,对于硬盘故障预测,也是基于smart数据完成的。以下为实施例。

实施例1:

一种基于模型融合的硬盘故障预测模型建立方法,如图1所示,包括:

特征工程步骤:

从定期采集自数据中心的硬盘smart信息历史数据中提取基础特征,并通过特征工程构建新的特征,从所有特征中选出使得硬盘故障预测精度最高的部分特征,得到最优特征子集;

从数据中心采集硬盘smart信息的时间间隔可根据数据中心的实际情况而定,本实施例中,每天从数据中心采集硬盘smart信息;本实施例中,从smart信息中提取作为基础特征的属性主要包括:底层数据读取错误率、盘片的启动时间、重定位磁区计数、报告不可纠正错误、无法校正的扇区数量等;

数据集构建步骤:

根据最优特征子集,构建历史数据中的每条数据所对应的特征,每条数据的特征及对应的硬盘状态构成一条样本,由所有样本构成训练数据集;将训练数据集划分为训练集和测试集;

本实施例中,历史数据中,一条数据为一个硬盘一天的smart数据;可选地,本实施例中,按照7:3将训练数据集划分为训练集和测试集;

基模型建立步骤:

建立多种不同机器学习模型,分别用于根据硬盘的特征数据进行故障预测,每个机器学习模型分别作为一个基模型;

作为一种优选的实施方式,本实施例中,所建立的机器学习模型分别为:catboost,xgboost和lightgbm;对硬盘进行故障预测时,catboost,xgboost和lightgbm相比于其他机器学习模型,具有更快的训练速度和更高的预测准确率,因此,本实施例以catboost,xgboost和lightgbm作为基模型,能够获得较好的预测效果;应当说明的是,此处所建立的基模型仅为本发明的优选方案,在本发明其他的一些实施例中,所建立的基模型种类、数量可能与本实施例有所不同;

子模型建立步骤:

对于单个基模型,按照指定比例从最优特征子集中随机选取部分特征,利用训练集对基模型进行训练,得到一个子模型;训练过程中,仅以每条样本中所选取的特征作为输入;

将选取特征的比例记为p,相应地,从最优特征子集中选取的特征数可表示为其中,n为最优特征子集中的特征总数,表示向下取整;比例p属于超参数,可以动态调节来取得最好效果;

模型融合步骤:

对于每个基模型,分别执行子模型建立步骤多次,得到多个子模型后,将所有子模型集成为硬盘故障预测模型,由所有子模型输出的预测结果融合后作为所述硬盘故障预测模型的预测结果,利用所述测试集对所述故障预测模型进行参数调优和评估;

对于不同的基模型,执行子模型建立步骤时,比例p可以相同,也可以不同;

可选地,本实施例中,对于每个基模型,都生成5个子模型,最终共生成3*5=15个子模型。

由于硬盘数据集是正负样本极不均衡的数据集,好盘样本远远多于坏盘样本,为了降低样本倾斜对预测结果所带来的影响,作为一种优选的实施方式,本实施例的子模型建立步骤中,利用训练集对基模型进行训练,包括:

对训练集中好盘的样本进行随机欠采样,利用采样得到的好盘样本和训练集中所有的坏盘样本构成新的训练集,利用新的训练集中的样本对基模型进行训练;

对训练集中好盘的样本进行随机欠采样,包括:

按照预设的采样比例对训练集所涉及到的好盘进行随机采样;

对于每一个采样得到的好盘,从其样本中随机选取一条样本,由所有随机选取的好盘样本构成随机欠采样的结果;

基于这一随机欠采样过程,本实施例能够保证好盘样本分布范围尽量大,进一步保证模型的预测精度和鲁棒性。

为了保证子模型之间的差异性,作为一种优选的实施方式,本实施例中,每次执行子模型建立步骤时,基模型的随机种子都不同;

基于上述模型训练过程,本实施例中,模型融合过程如图2所示,硬盘故障预测模型预测盘为好盘时,相应输出的预测结果为0,预测盘为坏盘时,相应输出的预测结果为1;

本实施例的模型融合步骤中,利用测试集对融合得到的硬盘故障预测模型进行参数调优,具体是从树的数量,树的深度,学习速率等方面进行超参调优。同时为了评估模型的性能,本发明采用f-measure作为模型的评价指标,计算公式如下:

其中precision为精确率,表示的是正确检出的故障盘占实际检出故障硬盘的比例;recall指的是正确检出故障盘占所有故障盘的比例;precision和recall的计算公式分别为:

其中,tp表示坏盘中被检测出的数量,fn表示坏盘未被检测出的数量,即tp+fn表示数据集中所有坏盘的数量;fp表示好盘被预测称为坏盘的数量,tn表示为好盘被预测为好盘数量,即tp+fp表示数据集中被预测为坏盘的数量,四个数值组成如表1所示混淆矩阵:

表1

作为一种可选的实施方式,特征工程步骤中,通过特征工程构建新的特征,包括:

对于每个基础特征,计算其一项或多项统计学特征,将每一项统计学特征作为个新的特征;

其中,统计学特征包括最大值,和/或均值;

硬盘中很多指标,如数据写入量、校验错误数等,是随着时间的变化和逐渐变大的,很多情况下好盘和坏盘的同一指标的最大值和均值可能会相差很大,比如坏盘的校验错误数的最大值可能是好盘的很多倍,因此,这些统计学特征对于模型的预测结果有较大的影响;本发明通过特征工程,将基础特征的最大值、均值等统计学信息作为新的特征,有利于提升模型的预测准确性;

通过特征工程构建新的特征,还包括:

对于每个基础特征,将原始值除以归一化之后的值,作为新的特征;

厂商对于硬盘的每一个特征都提供了一个raw值(原始值)和一个normalized值(归一化之后的值),normalized值是对raw值的某种归一化操作的结果,意味着两者之间应该有潜在关系可以挖掘,归一化之后的值的范围均在区间[0,1]内,因此可以将二者作除法,生成新的特征。本实施例以基础特征原始值除以归一化之后的值作为新的特征,能够进一步挖掘出特征之间的关系,有利于提升模型的预测准确性;

应当说明的是,本发明中采取特征工程所构建的新特征不限于上述新特征,在本发明其他的一些实施例中,基于特征之间的联系,也可以采用其他的方式构建新特征。

作为一种可选的实施方式,特征工程步骤中,利用封装法从所有特征中选出使得硬盘故障预测精度最高的部分特征,且执行封装法时,所采用的选择模型为所建立的基模型中的其中一种,本实施例中,所采用的选择模型具体为lightgbm,每次递归的消除k个特征,本发明中,k的值取1。相应地,利用封装法从所有特征中选出使得硬盘故障预测精度最高的部分特征的过程如图3所示,具体包括如下步骤:

a.假设特征数总数为m,从中删除k个特征;

b.采用lightgbm检测当前剩余m-k个特征下的模型得分;

c.若当前得分提高,则取当前m-k个特征为最优特征子集;若当前得分降低或者不变,则不能删除该k个特征;

d.循环执行步骤a~c直到遍历完所有特征;

lightgbm模型相对于其他机器模型具有训练速度快,准确率高的特点,多次检测花费时间较短,相应地,本实施例中以lightgbm作为选择模型,能够快速、准确地筛选出最优特征子集;在本发明其他的一些实施例中,也可以使用其他选择模型,如随机森林(randomforest)、支持向量机(supportvectormachine)、xgboost、决策树(decisiontree)等;

本实施例利用封装法从所有特征中筛选出最优特征子集,在降维的基础上能够发现硬盘状态信息和故障之间的关系,进一步提高模型的预测准确性。

作为一种优选的实施方式,本实施例的特征工程步骤中,通过特征工程构建新的特征之前,还包括:

对历史数据进行数据清洗后,将其中最大值与最小值之差不超过预设阈值的特征,作为基本不变的特征予以剔除;

数据清洗主要包括剔除异常值和填充缺失值,因为数据集中不可避免的会出现一些缺失值和异常值,这些值的存在会使得模型无法很好的构建,通过数据清洗,可以剔除其中的异常值,并填充其中的缺失值,保证建模效果;本实施例在处理缺失值时,如果该列的缺失程度大于20%,那么将直接删除该特征;否则的话采用均值填充;而对于异常值才采用直接剔除的方法,因为异常值毕竟是少量的,直接剔除对硬盘整体数据的影响可以忽略不计;

本实施例中,特征工程主要的目的是为了找出易于分辨出好盘和坏盘的指标,进而可以带来很好的建模效果,如果该特征的值无论在好盘还是坏盘中很长一段时间都没有发生变化,则意味着该特征对于建模没有用处,本实施例通过提出这些基本不变的特征,能够有效降低特征维度,减少计算量。

总的来说,本实施例从smart信息中提取基础特征,在此基础上通过特征工程构建新的特征,能够对原有smart特征内部以及之间的关系进行挖掘,引入有意义的新特征;在所有特征的基础上,进一步筛选出最优特征子集,在降维的基础上能够发现硬盘状态信息和故障之间的关系;基于不同的机器学习模型生成多个预测能力较强的独立子模型,然后将这些子模型的输出进行融合,增强最终模型对于不同数据集的泛化能力,有效提升硬盘故障检出率。因此,本实施例能够有效提升硬盘故障检测的准确性。

实施例2:

一种基于模型融合的硬盘故障预测方法,如图4所示,包括:

对于从数据中心采集的硬盘smart信息实时数据,根据上述实施例1提供的基于模型融合的硬盘故障预测方法得到的最优特征子集构建实时数据对应的特征;

将实时数据对应的特征分别输入到上述实施例1提供的基于模型融合的硬盘故障预测方法得到的硬盘故障预测模型中的各个子模型;

对各个子模型的预测结果进行软投票,将软投票结果作为最终的硬盘故障预测结果;

上述实施例1所提供的基于模型融合的硬盘故障预测方法所建立的硬盘故障预测模型具有较高的预测准确性,基于该模型,本实施例所提供的基于模型融合的硬盘故障预测方法具有较高的预测准确性;

软投票是指将每个模型的预测概率求和后进行平均,然后将好盘概率和坏盘概率较高的那个作为最终的预测结果;软投票相对于硬投票的优点是可以给子模型动态的赋予不同的权重,从而获得更好的预测结果;本实施例在对各子子模型输出的预测结果进行融合时,采用软投票,能够获得更好的预测结果。

实施例3:

一种计算机可读存储介质,包括存储的计算机程序;

计算机程序被处理器执行时,控制计算机可读存储介质所在设备执行上述实施例1提供的基于模型融合的硬盘故障预测模型建立方法,和/或上述实施例2提供的基于模型融合的硬盘故障预测方法。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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