掌桥专利:专业的专利平台
掌桥专利
首页

一种分布式存储集群的节点故障预测方法和装置

文献发布时间:2023-06-19 19:30:30


一种分布式存储集群的节点故障预测方法和装置

技术领域

本申请涉及计算机技术领域,具体涉及一种分布式存储集群的节点故障预测方法和装置。

背景技术

目前主流的针对大规模分布式存储集群的故障预测方法是使用随机森林、LSTM(Long Short-Term Memory,长短期记忆网络)等机器学习手段对历史监控数据进行建模,但在长期运行的大规模分布式存储集群中,事件种类繁多、数量巨大、发生频率稀疏、分布极不均衡,现有的机器学习方法只能预测少数几种事件,且会消耗大量计算资源,因此不适用于实际的生产环境。因此,目前亟需一种更加轻量化的分布式存储集群的节点故障预测方法。

发明内容

本申请针对现有的问题,提出了一种适用于企业级分布式存储集群的轻量化节点故障预测方法及相关装置,具体技术方案如下:

在本申请的第一方面,提供一种分布式存储集群的节点故障预测方法,所述方法包括:

获取存储系统中每个存储节点在预设时间内的告警信息;所述告警信息包括每个所述存储节点各自对应的节点名称、告警时间和故障类型;

对所述告警信息进行正则多元分解,得到三维张量,所述三维张量用于表征每个所述存储节点各自对应的节点名称、告警时间和故障类型;

利用预设的预测模型对所述三维张量进行迭代计算,直到预测误差满足收敛条件;

在所述预测误差满足所述收敛条件时,输出预测结果矩阵,并基于所述预测结果矩阵,得到预测结果,所述预测结果表征在目标时间段的目标存储节点将发生目标故障类型的故障事件。

在本申请一实施例中,获取存储系统中每个存储节点在预设时间内的告警信息,包括:

获取所述存储系统中每个系统节点的节点标识,并基于所述节点标识,确定所述存储节点;

获取每个所述存储节点在预设时间内的告警信息。

在本申请一实施例中,对所述告警信息进行正则多元分解,得到三维张量,包括:

将所述节点名称映射为由各个名称序号组成的名称矩阵;

对所述告警时间进行预处理,以将所述告警时间映射为由各个时间序号组成的时间矩阵;

对所述故障类型进行预处理,以将所述故障类型映射为由各个故障序号组成的故障矩阵;

基于所述名称矩阵、时间矩阵和故障矩阵,得到所述三维张量。

在本申请一实施例中,对所述告警时间进行预处理,以将所述告警时间映射为由各个时间序号组成的时间矩阵,包括:

按照预设时间间隔,将所述告警时间划分为若干个时间段;

对每个所述时间段内的告警时间进行去重处理,得到目标告警时间;

对所述目标告警时间进行排序,得到由各个时间序号组成的时间矩阵。

在本申请一实施例中,对所述故障类型进行预处理,以将所述故障类型映射为由各个故障序号组成的故障矩阵,包括:

基于所述故障类型对应的字符串,得到所述故障类型的正则表达式;

对所述正则表达式进行去重处理,得到目标正则表达式;

对所述目标正则表达式进行排序,得到由各个故障序号组成的故障矩阵。

在本申请一实施例中,利用预设的预测模型对所述三维张量进行迭代计算,直到预测误差满足收敛条件,包括:

获取所述三维张量在目标历史时刻的历史观测数据;

将所述历史观测数据输入所述预测模型,得到针对所述目标历史时刻到目标预测时刻之间的时间段的预测数据;所述目标预测时刻大于所述目标历史时刻;

基于所述时间段的实际数据和所述预测数据,确定第一初始预测误差;基于预设的故障类型与故障等级之间的映射关系,确定第二初始预测误差;

基于所述第一初始预测误差和所述第二初始预测误差,得到预测误差;

增大所述目标历史时刻,并重复以上步骤,直到所述预测误差满足收敛条件;所述收敛条件为所述预测误差达到最小值。

在本申请一实施例中,在所述预测误差满足所述收敛条件时,输出预测结果矩阵,并基于所述预测结果矩阵,得到预测结果,包括:

在所述预测误差满足所述收敛条件时,确定目标预测时刻,并基于所述目标预测时刻,得到目标时间矩阵;

计算所述目标时间矩阵、所述名称矩阵和所述故障矩阵的外积运算总和,得到预测结果矩阵;

确定所述预测结果矩阵中计算结果为预设值的目标时间序号、目标名称序号和目标故障序号;

将所述目标时间序号映射到目标时间段,所述目标名称序号映射到目标节点名称,所述目标故障序号映射到目标故障类型;

基于所述目标时间段、所述目标节点名称和所述目标故障类型,得到所述预测结果。

在本申请的第二方面,提供一种分布式存储集群的节点故障预测装置,所述装置包括:

获取模块,用于获取存储系统中每个存储节点在预设时间内的告警信息;所述告警信息包括每个所述存储节点各自对应的节点名称、告警时间和故障类型;

分解模块,用于对所述告警信息进行正则多元分解,得到三维张量,所述三维张量用于表征每个所述存储节点各自对应的节点名称、告警时间和故障类型;

迭代模块,用于利用预设的预测模型对所述三维张量进行迭代计算,直到预测误差满足收敛条件;

输出模块,用于在所述预测误差满足所述收敛条件时,输出预测结果矩阵,并基于所述预测结果矩阵,得到预测结果,所述预测结果表征在目标时间段的目标存储节点将发生目标故障类型的故障事件。

在本申请一实施例中,所述获取模块包括:

节点标识获取子模块,用于获取所述存储系统中每个系统节点的节点标识,并基于所述节点标识,确定所述存储节点;

告警信息获取子模块,用于获取每个所述存储节点在预设时间内的告警信息。

在本申请一实施例中,所述分解模块包括:

节点名称映射子模块,用于将所述节点名称映射为由各个名称序号组成的名称矩阵;

告警时间映射子模块,用于对所述告警时间进行预处理,以将所述告警时间映射为由各个时间序号组成的时间矩阵;

故障类型映射子模块,用于对所述故障类型进行预处理,以将所述故障类型映射为由各个故障序号组成的故障矩阵;

三维张量获取子模块,用于基于所述名称矩阵、时间矩阵和故障矩阵,得到所述三维张量。

在本申请一实施例中,所述告警时间映射子模块包括:

时间划分单元,用于按照预设时间间隔,将所述告警时间划分为若干个时间段;

第一去重单元,用于对每个所述时间段内的告警时间进行去重处理,得到目标告警时间;

第一排序单元,用于对所述目标告警时间进行排序,得到由各个时间序号组成的时间矩阵。

在本申请一实施例中,所述故障类型映射子模块包括:

正则表达式获取单元,用于基于所述故障类型对应的字符串,得到所述故障类型的正则表达式;

第二去重单元,用于对所述正则表达式进行去重处理,得到目标正则表达式;

第二排序单元,用于对所述目标正则表达式进行排序,得到由各个故障序号组成的故障矩阵。

在本申请一实施例中,所述迭代模块包括:

获取子模块,用于获取所述三维张量在目标历史时刻的历史观测数据;

预测子模块,用于将所述历史观测数据输入所述预测模型,得到针对所述目标历史时刻到目标预测时刻之间的时间段的预测数据;所述目标预测时刻大于所述目标历史时刻;

初始误差确定子模块,用于基于所述时间段的实际数据和所述预测数据,确定第一初始预测误差;基于预设的故障类型与故障等级之间的映射关系,确定第二初始预测误差;

预测误差确定子模块,用于基于所述第一初始预测误差和所述第二初始预测误差,得到预测误差;

迭代子模块,用于增大所述目标历史时刻,并重复以上步骤,直到所述预测误差满足收敛条件;所述收敛条件为所述预测误差达到最小值。

在本申请一实施例中,所述输出模块包括:

目标时间矩阵获取子模块,用于在所述预测误差满足所述收敛条件时,确定目标预测时刻,并基于所述目标预测时刻,得到目标时间矩阵;

计算子模块,用于计算所述目标时间矩阵、所述名称矩阵和所述故障矩阵的外积运算总和,得到预测结果矩阵;

目标序号确定子模块,用于确定所述预测结果矩阵中计算结果为预设值的目标时间序号、目标名称序号和目标故障序号;

映射子模块,用于将所述目标时间序号映射到目标时间段,所述目标名称序号映射到目标节点名称,所述目标故障序号映射到目标故障类型;

预测结果获取子模块,用于基于所述目标时间段、所述目标节点名称和所述目标故障类型,得到所述预测结果。

在本申请的第三方面,提供一种电子设备,该设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现如上述本申请第一方面提供的分布式存储集群的节点故障预测方法。

在本申请的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现上述本申请第一方面提供的分布式存储集群的节点故障预测方法。

本申请具有以下有益效果:

本申请实施例通过获取存储系统中每个存储节点在预设时间内的告警信息,并对告警信息进行正则多元分解,得到三维张量,三维张量用于表征每个存储节点各自对应的节点名称、告警时间和故障类型;再利用预设的预测模型对三维张量进行迭代计算,直到预测误差满足收敛条件时,输出预测结果矩阵,并基于预测结果矩阵,得到预测结果,预测结果表征在目标时间段的目标存储节点将发生目标故障类型的故障事件。本申请实施例利用故障类型与节点名称、告警时间之间的关联性,通过将存储系统中的告警信息转换为节点名称、告警时间和故障类型三个维度的三维张量,能够在消耗较少的计算资源的前提下,实现对大规模分布式存储集群中的未来故障事件的准确预测,提高存储系统的可靠性和可用性,同时减少对于硬件、软件和工作负载等特定环境的依赖,更加轻量级,能够满足更多的运用场景。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本申请实施例方案涉及的硬件运行环境的电子设备结构示意图;

图2是本申请实施例提供的一种分布式存储集群的节点故障预测方法的步骤流程图;

图3是本申请实施例提供的一种分布式存储集群的节点故障预测装置的功能模块示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在长期运行的大规模分布式存储集群中,各个存储节点会产生海量的故障事件,事件类型涵盖了服务故障、磁盘I/O异常、证书过期、配置更改、系统资源不足等。一旦系统产生影响服务质量的事件,运行维护人员需及时处理,否则可能会造成系统故障。

运行维护人员可以通过相关技术主动预测事件的发生,从而提前做好准备,及时预防事件的发生。目前主流的故障预测方法是使用随机森林、LSTM等机器学习手段对历史监控数据进行建模,但在长期运行的大规模分布式存储集群中,事件种类繁多、数量巨大、发生频率稀疏、分布极不均衡,现有的机器学习方法只能预测少数几种事件,且会消耗大量计算资源,因此不适用于实际的生产环境。

本申请发明人经过对历史故障事件统计发现,企业级存储系统中故障的位置和类型之间存在复杂的时空相关性,不同类型的故障发生频率是不同的,且分布是不均衡和时变的。约48%的故障每年发生不到10次,约18%的故障每年只发生1次。通过统计发现,严重级别的故障事件发生的频率较低,其平均发生概率为0.18%,远低于所有故障类型的平均发生概率0.77%。

因此,本申请摒弃了需要消耗大量计算资源的机器学习,采用一种轻量化的分布式存储集群的节点故障预测方法,利用故障类型与节点名称、告警时间之间的关联性,通过将存储系统中的告警信息转换为节点名称、告警时间和故障类型三个维度的三维张量,能够在消耗较少的计算资源的前提下,实现对大规模分布式存储集群中的未来故障事件的准确预测。

下面结合附图对本申请的方案进一步说明。

参照图1,图1为本申请实施例方案涉及的硬件运行环境的电子设备结构示意图。

如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及电子程序。

在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,电子设备通过处理器1001调用存储器1005中存储的分布式存储集群的节点故障预测装置,并执行本申请实施例提供的分布式存储集群的节点故障预测方法。

参照图2,基于前述硬件运行环境,本申请的实施例提供了一种分布式存储集群的节点故障预测方法,具体可以包括以下步骤:

S101:获取存储系统中每个存储节点在预设时间内的告警信息;告警信息包括每个存储节点各自对应的节点名称、告警时间和故障类型。

需要说明的是,采用分布式存储集群的存储系统按照功能可以划分为存储节点和非存储节点。在具体实现中,为避免非存储节点(如监控节点)对存储节点的故障预测造成影响,将首先获取存储系统中每个系统节点的节点标识,并基于节点标识,找到所有的存储节点,进而获取每个存储节点在预设时间内的告警信息,告警信息即为每个存储节点的故障事件日志,具体包括每个存储节点各自对应的节点名称、告警时间、故障类型和故障等级。

S102:对告警信息进行正则多元分解,得到三维张量,三维张量用于表征每个存储节点各自对应的节点名称、告警时间和故障类型。

在本实施方式中,将存储系统中的节点名称定义为N,故障类型定义为E,告警时间定义为T,通过对告警信息进行CP分解(Canonical Polyadic Decomposition,正则多元分解),可以得到相应的N、E、T的值,进而得到三维张量M

需要说明的是,张量相当于一个数据容器,其包含的数据通常是数值数据,因此它是数字的容器,示例性的,仅包含一个数字的张量叫作标量(scalar,也叫标量张量、零维张量、0D张量);数字组成的数组叫作向量(vector)或一维张量(1D张量);向量组成的数组叫作矩阵(matrix)或二维张量(2D张量);将多个矩阵组合成一个新的数组,可以得到一个3D张量;将多个3D张量组合成一个数组,可以创建一个4D张量,以此类推,可以得到更高维度的张量。因此,张量可以看作是多维或多向数组,是矩阵和向量的高阶推广。

在本实施方式中,通过将存储系统的故障事件日志作为流式输入,并将其转换为节点名称、告警时间和故障类型三个维度的三维张量,进而利用上下文信息可以获得增强的张量分解矩阵。

S103:利用预设的预测模型对三维张量进行迭代计算,直到预测误差满足收敛条件。

在本实施方式中,由于三维张量存储着预设时间内每个存储节点的告警信息,因此在给定的历史时刻t,可以将告警信息分成训练数据和测试数据两部分,历史时刻t的所有存储节点上观察到的故障事件日志可以表示为M

S104:在预测误差满足收敛条件时,输出预测结果矩阵,并基于预测结果矩阵,得到预测结果,预测结果表征在目标时间段的目标存储节点将发生目标故障类型的故障事件。

在本实施方式中,在预测误差达到最小值而收敛后,便可以计算N,E,T′中各向量的外积运算总和,进而得到预测结果矩阵M^,并在预测结果矩阵中,找到结果为预设值1的目标存储节点N、目标故障类型E和目标时间段T,最终得到预测结果:在目标时间段T的目标存储节点N将发生目标故障类型E的故障事件。

在本实施方式中,利用故障类型与节点名称、告警时间之间的关联性,通过将存储系统中的告警信息转换为节点名称、告警时间和故障类型三个维度的三维张量,能够在消耗较少的计算资源的前提下,实现对大规模分布式存储集群中的未来故障事件的准确预测,一方面可以在故障发生前进行排除,从而提高存储系统的可靠性和可用性,同时减少对于硬件、软件和工作负载等特定环境的依赖,更加轻量级,能够满足更多的运用场景;另一方面可以让运行维护人员有充足时间做出响应,降低工作压力和工作强度,节省了运维成本。

在一个可行的实施方式中,S102具体可以包括以下子步骤:

S102-1:将节点名称映射为由各个名称序号组成的名称矩阵。

在本实施方式中,通过对存储系统中存储节点的节点名称进行汇总,进行去重操作并且排序后,得到由各个名称序号组成的名称矩阵M

S102-2:对告警时间进行预处理,以将告警时间映射为由各个时间序号组成的时间矩阵。

在具体实现中,通过对告警时间进行汇总,可以按照预设时间间隔,将告警时间划分为若干个时间段;再对每个时间段内的告警时间进行去重处理,得到目标告警时间;对目标告警时间进行排序,得到由各个时间序号组成的时间矩阵M

示例性的,可以以天为单位,告警时间划分为若干天,将相同的故障事件发生的时间映射为当天的起始时间,起始时间即为第一次发生该故障事件的时间,进而实现去重,得到目标告警时间,最后目标告警时间排序后,便可将告警信息中原来的告警时间映射为时间矩阵M

S102-3:对故障类型进行预处理,以将故障类型映射为由各个故障序号组成的故障矩阵。

在具体实现中,可以首先将描述故障事件的告警信息的文本信息替换成对应的字符串,进而基于故障类型对应的字符串,得到故障类型的正则表达式;对正则表达式进行去重处理,得到目标正则表达式;再标注语义相近的告警信息,并与目标正则表达式合并,最后对目标正则表达式进行排序,得到由各个故障序号组成的故障矩阵M

在本实施方式中,还将基于目标正则表达式,构建故障类型与故障等级间的映射,得到故障类型与故障等级之间的映射关系。

S102-4:基于名称矩阵、时间矩阵和故障矩阵,得到三维张量。

在本实施方式中基于得到的名称矩阵M

在一个可行的实施方式中,S103具体可以包括以下子步骤:

S103-1:获取三维张量在目标历史时刻的历史观测数据。

在本实施方式中,设定目标历史时刻t,得到历史时刻t的所有存储节点上观察到的故障事件日志即为历史观测数据,表示为M

S103-2:将历史观测数据输入预测模型,得到针对目标历史时刻到目标预测时刻之间的时间段的预测数据;目标预测时刻大于目标历史时刻。

S103-3:基于时间段的实际数据和预测数据,确定第一初始预测误差;并基于预设的故障类型与故障等级之间的映射关系,确定第二初始预测误差。

在本实施方式中,令S∈M

在本实施方式中,具体可以按照以下公式,计算第一初始预测误差:

其中,A表示预测数据与实际数据之间的第一初始预测误差,∣∣.∣∣

在本实施方式中,具体可以按照以下公式,计算第二初始预测误差:

其中,B表示第二初始预测误差,Y表示故障等级向量,E表示故障类型因子矩阵,S表示因子向量,该因子向量初始可用随机数填充,后续通过迭代计算不断调整直到最优。

S103-4:基于第一初始预测误差和第二初始预测误差,得到预测误差。

在本实方式中,基于公式(1)和公式(2)构建的预测模型,可以得到预测误差E

S103-5:增大目标历史时刻,并重复以上步骤,直到预测误差满足收敛条件;收敛条件为预测误差达到最小值。

在本实施方式中,通过不断增大目标历史时刻t的值,迭代计算,直至预测误差E

在一个可行的实施方式中,S104具体可以包括以下子步骤:

S104-1:在预测误差满足收敛条件时,基于目标预测时刻,得到目标时间矩阵。

S104-2:计算目标时间矩阵、名称矩阵和故障矩阵的外积运算总和,得到预测结果矩阵。

S104-3:确定预测结果矩阵中计算结果为预设值的目标时间序号、目标名称序号和目标故障序号。

S104-4:将目标时间序号映射到目标时间段,目标名称序号映射到目标节点名称,目标故障序号映射到目标故障类型。

S104-5:基于目标时间段、目标节点名称和目标故障类型,得到预测结果。

在本实施方式中,为预测未来Δt时间片内发生的故障事件,N与E的值和原来相同,但未来的时间T′需要重新计算。在具体实现中,可以将告警时间按照Δt进行分片,令T′等于最近的时间片;或者将告警时间按照Δt进行分片,取n>1个时间片求平均值,该平均值即为T′,进而得到需要进行预测的目标时间矩阵。

在本实施方式中,通过计算N,E,T′中各向量的外积运算总和,即预测结果矩阵M^。在预测结果矩阵M^中,我们可以找到结果为1的目标时间序号、目标名称序号和目标故障序号;并将目标时间序号映射到目标时间段,目标名称序号映射到目标节点名称,目标故障序号映射到目标故障类型;最后基于目标时间段、目标节点名称和目标故障类型,得到预测结果:在目标时间段的目标存储节点将发生目标故障类型的故障事件。

综上,本申请实施例利用故障类型与节点名称、告警时间之间的关联性,通过将存储系统中的告警信息转换为节点名称、告警时间和故障类型三个维度的三维张量,能够在消耗较少的计算资源的前提下,实现对大规模分布式存储集群中的未来故障事件的准确预测,解决了目前业界使用的随机森林、LSTM等对存储系统故障预测主流方法需要对长期的历史监控数据进行建模,不仅会消耗大量的计算资源,而且难以适用于事件种类繁多、数量巨大、发生频率稀疏、分布欠均衡的实际生产环境的问题,同时建立了一套普适的企业级存储系统故障预测模型,减少了实验性调谐对于硬件、软件和工作负载等特定环境的依赖,更加轻量级,且实用性和可移植性更强,能够满足更多的运用场景。

基于同一发明构思,参照图3,本申请的实施例还提供一种分布式存储集群的节点故障预测装置200,该分布式存储集群的节点故障预测装置200包括:

获取模块201,用于获取存储系统中每个存储节点在预设时间内的告警信息;告警信息包括每个存储节点各自对应的节点名称、告警时间和故障类型;

分解模块202,用于对告警信息进行正则多元分解,得到三维张量,三维张量用于表征每个存储节点各自对应的节点名称、告警时间和故障类型;

迭代模块203,用于利用预设的预测模型对三维张量进行迭代计算,直到预测误差满足收敛条件;

输出模块204,用于在预测误差满足收敛条件时,输出预测结果矩阵,并基于预测结果矩阵,得到预测结果,预测结果表征在目标时间段的目标存储节点将发生目标故障类型的故障事件。

在本申请一实施例中,获取模块201包括:

节点标识获取子模块,用于获取存储系统中每个系统节点的节点标识,并基于节点标识,确定存储节点;

告警信息获取子模块,用于获取每个存储节点在预设时间内的告警信息。

在本申请一实施例中,分解模块202包括:

节点名称映射子模块,用于将节点名称映射为由各个名称序号组成的名称矩阵;

告警时间映射子模块,用于对告警时间进行预处理,以将告警时间映射为由各个时间序号组成的时间矩阵;

故障类型映射子模块,用于对故障类型进行预处理,以将故障类型映射为由各个故障序号组成的故障矩阵;

三维张量获取子模块,用于基于名称矩阵、时间矩阵和故障矩阵,得到三维张量。

在本申请一实施例中,告警时间映射子模块包括:

时间划分单元,用于按照预设时间间隔,将告警时间划分为若干个时间段;

第一去重单元,用于对每个时间段内的告警时间进行去重处理,得到目标告警时间;

第一排序单元,用于对目标告警时间进行排序,得到由各个时间序号组成的时间矩阵。

在本申请一实施例中,故障类型映射子模块包括:

正则表达式获取单元,用于基于故障类型对应的字符串,得到故障类型的正则表达式;

第二去重单元,用于对正则表达式进行去重处理,得到目标正则表达式;

第二排序单元,用于对目标正则表达式进行排序,得到由各个故障序号组成的故障矩阵。

在本申请一实施例中,迭代模块203包括:

获取子模块,用于获取三维张量在目标历史时刻的历史观测数据;

预测子模块,用于将历史观测数据输入预测模型,得到针对目标历史时刻到目标预测时刻之间的时间段的预测数据;目标预测时刻大于目标历史时刻;

初始误差确定子模块,用于基于时间段的实际数据和预测数据,确定第一初始预测误差;基于预设的故障类型与故障等级之间的映射关系,确定第二初始预测误差;

预测误差确定子模块,用于基于第一初始预测误差和第二初始预测误差,得到预测误差;

迭代子模块,用于增大目标历史时刻,并重复以上步骤,直到预测误差满足收敛条件;收敛条件为预测误差达到最小值。

在本申请一实施例中,输出模块204包括:

目标时间矩阵获取子模块,用于在预测误差满足收敛条件时,确定目标预测时刻,并基于目标预测时刻,得到目标时间矩阵;

计算子模块,用于计算目标时间矩阵、名称矩阵和故障矩阵的外积运算总和,得到预测结果矩阵;

目标序号确定子模块,用于确定预测结果矩阵中计算结果为预设值的目标时间序号、目标名称序号和目标故障序号;

映射子模块,用于将目标时间序号映射到目标时间段,目标名称序号映射到目标节点名称,目标故障序号映射到目标故障类型;

预测结果获取子模块,用于基于目标时间段、目标节点名称和目标故障类型,得到预测结果。

需要说明的是,本申请实施例的分布式存储集群的节点故障预测装置200的具体实施方式参照前述本申请实施例第一方面提出的分布式存储集群的节点故障预测方法的具体实施方式,在此不再赘述。

基于同一发明构思,本申请的实施例还提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本申请第一方面提供的分布式存储集群的节点故障预测方法。

需要说明的是,本申请实施例的电子设备的具体实施方式参照前述本申请实施例第一方面提出的分布式存储集群的节点故障预测方法的具体实施方式,在此不再赘述。

基于同一发明构思,本申请的实施例还提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现本申请第一方面提供的分布式存储集群的节点故障预测方法。

需要说明的是,本申请实施例的计算机可读存储介质的具体实施方式参照前述本申请实施例第一方面提出的分布式存储集群的节点故障预测方法的具体实施方式,在此不再赘述。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的物品或者设备中还存在另外的相同要素。

以上对所提供的一种分布式存储集群的节点故障预测方法、装置、电子设备和计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

技术分类

06120115938340