首页 / 专利库 / 电池与电池 / 健康状态 / 一种内存检测模型训练的方法、内存检测的方法及装置

一种内存检测模型训练的方法、内存检测的方法及装置

阅读:649发布:2020-05-08

专利汇可以提供一种内存检测模型训练的方法、内存检测的方法及装置专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种内存检测模型训练的方法,该方法应用于故障检测,包括:获取内存状态历史数据集合,根据内存状态历史数据集合生成真实故障标签集合,根据内存状态历史数据集合生成多个待训练特征子集合,通过待训练内存检测子模型获取待训练特征子集合所对应的预测故障标签子集合,若预测故障标签子集合与真实故障标签子集合满足模型验证条件,则根据待训练内存检测子模型生成内存检测子模型。本申请还公开了一种内存检测装置。本申请提供的内存检测模型可以针对内存模 块 级别的粒度来预测内存故障情况,充分考虑到了内存的健康状况以及 风 险级别,从而提升了内存检测的故障 定位 准确度。,下面是一种内存检测模型训练的方法、内存检测的方法及装置专利的具体信息内容。

1.一种内存检测模型训练的方法,其特征在于,包括:
获取内存状态历史数据集合,其中,所述内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个内存,所述内存为双列直插式存储模DIMM,所述M为大于或等于1的整数;
根据所述内存状态历史数据集合生成真实故障标签集合,其中,所述真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个内存;
根据所述内存状态历史数据集合生成多个待训练特征子集合,其中,所述多个待训练特征子集合属于待训练特征集合,所述待训练特征集合包括M个待训练特征,每个待训练特征对应一个内存,且所述每个待训练特征包括至少一个特征指标所对应的参数;
通过所述待训练内存检测子模型获取待训练特征子集合所对应的预测故障标签子集合,其中,所述预测故障标签子集合属于预测故障标签集合,所述待训练内存检测子模型属于待训练内存检测模型中的一个子模型,所述预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个内存;
若所述预测故障标签子集合与真实故障标签子集合满足所述模型验证条件,则根据所述待训练内存检测子模型生成内存检测子模型,其中,所述内存检测子模型属于内存检测模型中的一个子模型。
2.根据权利要求1所述的方法,其特征在于,所述获取内存状态历史数据集合,包括:
获取日志数据以及内存故障单,其中,所述日志数据包括与内存相关的信息,所述内存故障单包括与故障相关的信息;
根据所述日志数据以及所述内存故障单,获取第一内存集合,其中,所述第一内存集合包括至少一个第一内存,所述第一内存为已出现不可改正误差UE的内存;
根据所述第一内存集合生成所述内存状态历史数据集合。
3.根据权利要求1所述的方法,其特征在于,所述获取内存状态历史数据集合,包括:
获取内存故障单,其中,所述内存故障单包括与故障相关的信息;
根据所述内存故障单,获取第二内存集合,其中,所述第二内存集合包括至少一个第二内存,所述第二内存为已建立内存故障单的内存;
根据所述第二内存集合生成所述内存状态历史数据集合。
4.根据权利要求1所述的方法,其特征在于,所述获取内存状态历史数据集合,包括:
获取日志数据以及内存故障单,其中,所述日志数据包括与内存相关的信息,所述内存故障单包括与故障相关的信息;
根据所述日志数据以及所述内存故障单,获取第三内存集合,其中,所述第三内存集合包括至少一个第三内存,所述第三内存为已出现不可改正误差UE的内存,或,所述第三内存为已建立内存故障单的内存;
根据所述第三内存集合生成所述内存状态历史数据集合。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述根据所述内存状态历史数据集合生成真实故障标签集合,包括:
若所述内存状态历史数据集合为根据第一内存集合生成的,则根据所述第一内存集合中第一内存在预设时间内出现UE的情况,生成所述第一内存所对应的真实故障标签,其中,所述真实故障标签为第一标签或第二标签,所述第一标签表示所述第一内存在所述预设时间内已出现UE,所述第二标签表示所述第一内存在所述预设时间内未出现UE;
若所述内存状态历史数据集合为根据第二内存集合生成的,则根据所述第二内存集合中第二内存在预设时间内已建立内存故障单的情况,生成所述第二内存所对应的真实故障标签,其中,所述真实故障标签为第一标签或第二标签,所述第一标签表示所述第二内存在所述预设时间内已建立内存故障单,所述第二标签表示所述第二内存在所述预设时间内未已建立内存故障单;
若所述内存状态历史数据集合为根据第三内存集合生成的,则根据所述第三内存集合中第三内存在预设时间内已建立内存故障单的情况,或在预设时间内出现UE的情况,生成所述第三内存所对应的真实故障标签,其中,所述真实故障标签为第一标签或第二标签,所述第一标签表示所述第三内存在所述预设时间内已建立内存故障单,或在所述预设时间内已出现UE。
6.根据权利要求1所述的方法,其特征在于,所述根据所述内存状态历史数据集合生成真实故障标签集合,包括:
根据所述内存状态历史数据集合中的所述内存状态历史数据,获取Q个特征指标所对应的参数,其中,所述Q个特征指标包括可改正误差CE数量、小区数量、行数量、列数量、硬性错误数量中的至少一种所述Q为大于或等于1的整数;
根据所述Q个特征指标所对应的参数,生成内存所对应的待训练特征。
7.根据权利要求1所述的方法,其特征在于,所述根据所述待训练内存检测子模型生成内存检测子模型之后,所述方法还包括:
根据所述预测故障标签集合与真实故障标签集合,确定标签匹配成功率;
若所述标签匹配成功率大于或等于预设匹配限,则确定所述预测故障标签集合与所述真实故障标签集合满足所述模型验证条件。
8.一种内存检测模型训练装置,其特征在于,包括:
获取模块,用于获取内存状态历史数据集合,其中,所述内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个内存,所述内存为双列直插式存储模块DIMM,所述M为大于或等于1的整数;
生成模块,用于根据所述内存状态历史数据集合生成真实故障标签集合,其中,所述真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个内存;
所述生成模块,用于根据所述内存状态历史数据集合生成多个待训练特征子集合,其中,所述多个待训练特征子集合属于待训练特征集合,所述待训练特征集合包括M个待训练特征,每个待训练特征对应一个内存,且所述每个待训练特征包括至少一个特征指标所对应的参数;
所述获取模块,还用于通过所述待训练内存检测子模型获取待训练特征子集合所对应的预测故障标签子集合,其中,所述预测故障标签子集合属于预测故障标签集合,所述待训练内存检测子模型属于待训练内存检测模型中的一个子模型,所述预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个内存;
训练模块,用于若所述预测故障标签子集合与真实故障标签子集合满足所述模型验证条件,则根据所述待训练内存检测子模型生成内存检测子模型,其中,所述内存检测子模型属于内存检测模型中的一个子模型。
9.一种服务器,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如上述权利要求1至7中任一项所述的方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。

说明书全文

一种内存检测模型训练的方法、内存检测的方法及装置

[0001] 本申请为2019年9月26日提交中国专利局、申请号为201910918511.4、发明名称为“一种内存检测模型训练的方法、内存检测的方法及装置”的中国专利申请的分案申请。

技术领域

[0002] 本申请涉及管理工具领域,尤其涉及一种内存检测模型训练的方法、内存检测的方法及装置。

背景技术

[0003] 随着科技的发展,计算机已经进入到千家万户。计算机的硬件系统是由运算器、控制器存储器、输入设备和输出设备构成。计算机中的存储器分为内存和外存。内存用来存放当前正在使用的,或随时要用的程序和数据。一旦内存出现错误或故障,会引起程序不能正常工作或宕机。因此,对于内存可能出现的故障进行研究具有重要的意义。
[0004] 目前,业界普遍采用故障匹配模型对内存进行检测,即从服务器事件日志中提取出可改正误差(Correctable Errors,CE)、不可改正误差(Uncorrectable Errors,UE)、内存可靠性相关的事件日志等错误信息,再从系统层面拿到传感器数据,主要包括扇转速、每秒命令数、内存和网络带宽、节电和时钟频率以及温度等,训练得到故障匹配模型。
[0005] 然而,上述故障匹配模型只能针对系统级别的粒度来预测UE,基于系统级别的预测方式颗粒度较大,因此,难以定位到具体的内存模,导致内存检测的准确度较低。

发明内容

[0006] 本申请实施例提供了一种内存检测模型训练的方法、内存检测的方法及装置,本申请提供的内存检测模型可以针对内存模块级别的粒度来预测内存故障情况,充分考虑到了DIMM的健康状况以及风险级别,从而提升了内存检测的故障定位准确度。
[0007] 有鉴于此,本申请第一方面提供一种内存检测模型训练的方法,包括:
[0008] 获取内存状态历史数据集合,其中,内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个内存,内存为双列直插式存储模块DIMM,M为大于或等于1的整数;
[0009] 根据内存状态历史数据集合生成真实故障标签集合,其中,真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个内存;
[0010] 根据内存状态历史数据集合生成多个待训练特征子集合,其中,多个待训练特征子集合属于待训练特征集合,待训练特征集合包括M个待训练特征,每个待训练特征对应一个内存,且每个待训练特征包括至少一个特征指标所对应的参数;
[0011] 通过待训练内存检测子模型获取待训练特征子集合所对应的预测故障标签子集合,其中,预测故障标签子集合属于预测故障标签集合,待训练内存检测子模型属于待训练内存检测模型中的一个子模型,预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个内存;
[0012] 若预测故障标签子集合与真实故障标签子集合满足模型验证条件,则根据待训练内存检测子模型生成内存检测子模型,其中,内存检测子模型属于内存检测模型中的一个子模型。
[0013] 本申请第二方面提供一种内存检测的方法,包括:
[0014] 获取待检测日志数据,其中,待检测日志数据中包括双列直插式存储模块DIMM所对应的日志数据;
[0015] 若根据待检测日志数据检测到DIMM未出现不可改正误差UE,则根据DIMM生成待检测特征向量
[0016] 通过内存检测模型获取待检测特征向量所对应的N个故障概率分值,其中,内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,N为大于或等于1的整数;
[0017] 若N个故障概率分值满足故障检测条件,则生成DIMM所对应的内存检测结果。
[0018] 本申请第三方面提供一种内存检测的方法,包括:
[0019] 获取待检测日志数据,其中,待检测日志数据中包括K个双列直插式存储模块DIMM所对应的日志数据,K为大于或等于1的整数;
[0020] 若根据待检测日志数据检测到P个DIMM已出现不可改正误差UE,则根据剩余DIMM生成待检测特征向量集合,其中,剩余DIMM为K个DIMM中除去P个DIMM之后剩余的DIMM,剩余DIMM包括(K-P)个DIMM,P为大于或等于0,且小于或等于K的整数,待检测特征向量集合包括(K-P)个待检测特征向量;
[0021] 通过内存检测模型获取待检测特征向量集合所对应的(K-P)个故障概率分值集合,其中,每个故障概率分值集合包括N个故障概率分值,内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,N为大于或等于1的整数;
[0022] 根据(K-P)个故障概率分值集合从(K-P)个DIMM中确定T个DIMM,其中,T为大于或等于0,且小于或等于(K-P)的整数;
[0023] 根据T个DIMM以及P个DIMM,生成内存检测结果。
[0024] 本申请第四方面提供一种内存检测模型训练装置,包括:
[0025] 获取模块,用于获取内存状态历史数据集合,其中,内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个内存,内存为双列直插式存储模块DIMM,M为大于或等于1的整数;
[0026] 生成模块,用于根据内存状态历史数据集合生成真实故障标签集合,其中,真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个内存;
[0027] 生成模块,用于根据内存状态历史数据集合生成多个待训练特征子集合,其中,多个待训练特征子集合属于待训练特征集合,待训练特征集合包括M个待训练特征,每个待训练特征对应一个内存,且每个待训练特征包括至少一个特征指标所对应的参数;
[0028] 获取模块,还用于通过待训练内存检测子模型获取待训练特征子集合所对应的预测故障标签子集合,其中,预测故障标签子集合属于预测故障标签集合,待训练内存检测子模型属于待训练内存检测模型中的一个子模型,预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个内存;
[0029] 训练模块,用于若预测故障标签子集合与真实故障标签子集合满足模型验证条件,则根据待训练内存检测子模型生成内存检测子模型,其中,内存检测子模型属于内存检测模型中的一个子模型。
[0030] 在一种可能的设计中,在本申请实施例的第四方面的第一种实现方式中,[0031] 获取模块,具体用于获取日志数据以及内存故障单,其中,日志数据包括与内存相关的信息,内存故障单包括与故障相关的信息;
[0032] 根据日志数据以及内存故障单,获取第一DIMM集合,其中,第一DIMM集合包括至少一个第一DIMM,第一DIMM为已出现不可改正误差UE的DIMM;
[0033] 根据第一DIMM集合生成内存状态历史数据集合。
[0034] 在一种可能的设计中,在本申请实施例的第四方面的第二种实现方式中,[0035] 获取模块,具体用于获取内存故障单,其中,内存故障单包括与故障相关的信息;
[0036] 根据内存故障单,获取第二DIMM集合,其中,第二DIMM集合包括至少一个第二DIMM,第二DIMM为已建立内存故障单的DIMM;
[0037] 根据第二DIMM集合生成内存状态历史数据集合。
[0038] 在一种可能的设计中,在本申请实施例的第四方面的第三种实现方式中,[0039] 获取模块,具体用于获取日志数据以及内存故障单,其中,日志数据包括与内存相关的信息,内存故障单包括与故障相关的信息;
[0040] 根据日志数据以及内存故障单,获取第三DIMM集合,其中,第三DIMM集合包括至少一个第三DIMM,第三DIMM为已出现不可改正误差UE的DIMM,或,第三DIMM为已建立内存故障单的DIMM;
[0041] 根据第三DIMM集合生成内存状态历史数据集合。
[0042] 在一种可能的设计中,在本申请实施例的第四方面的第四种实现方式中,[0043] 生成模块,具体用于若内存状态历史数据集合为根据第一DIMM集合生成的,则根据第一DIMM集合中第一DIMM在预设时间内出现UE的情况,生成第一DIMM所对应的真实故障标签,其中,真实故障标签为第一标签或第二标签,第一标签表示第一DIMM在预设时间内已出现UE,第二标签表示第一DIMM在预设时间内未出现UE;
[0044] 若内存状态历史数据集合为根据第二DIMM集合生成的,则根据第二DIMM集合中第二DIMM在预设时间内已建立内存故障单的情况,生成第二DIMM所对应的真实故障标签,其中,真实故障标签为第一标签或第二标签,第一标签表示第二DIMM在预设时间内已建立内存故障单,第二标签表示第二DIMM在预设时间内未已建立内存故障单;
[0045] 若内存状态历史数据集合为根据第三DIMM集合生成的,则根据第三DIMM集合中第三DIMM在预设时间内已建立内存故障单的情况,或在预设时间内出现UE的情况,生成第三DIMM所对应的真实故障标签,其中,真实故障标签为第一标签或第二标签,第一标签表示第三DIMM在预设时间内已建立内存故障单,或在预设时间内已出现UE。
[0046] 在一种可能的设计中,在本申请实施例的第四方面的第五种实现方式中,[0047] 生成模块,具体用于根据内存状态历史数据集合中的内存状态历史数据,获取Q个特征指标所对应的参数,其中,Q个特征指标包括可改正误差CE数量、小区数量、行数量、列数量、硬性错误数量中的至少一种Q为大于或等于1的整数;
[0048] 根据Q个特征指标所对应的参数,生成DIMM所对应的待训练特征。
[0049] 在一种可能的设计中,在本申请实施例的第四方面的第六种实现方式中,[0050] 生成模块,具体用于根据内存状态历史数据集合生成多个待训练特征子集合,其中,多个待训练特征子集合属于待训练特征集合;
[0051] 获取模块,具体用于通过待训练内存检测子模型获取待训练特征子集合所对应的预测故障标签子集合,其中,预测故障标签子集合属于预测故障标签集合,待训练内存检测子模型属于待训练内存检测模型中的一个子模型;
[0052] 训练模块,具体用于若预测故障标签子集合与真实故障标签子集合满足模型验证条件,则根据待训练内存检测子模型生成内存检测子模型,其中,内存检测子模型属于内存检测模型中的一个子模型。
[0053] 在一种可能的设计中,在本申请实施例的第四方面的第七种实现方式中,内存检测模型训练装置还包括确定模块;
[0054] 确定模块,用于获取模块根据待训练特征集合训练待训练内存检测模型,得到预测故障标签集合之后,根据预测故障标签集合与真实故障标签集合,确定标签匹配成功率;
[0055] 确定模块,还用于若标签匹配成功率大于或等于预设匹配限,则确定预测故障标签集合与真实故障标签集合满足模型验证条件。
[0056] 本申请第五方面提供一种内存检测装置,包括:
[0057] 获取模块,用于获取待检测日志数据,其中,待检测日志数据中包括双列直插式存储模块DIMM所对应的日志数据;
[0058] 生成模块,用于若根据获取模块获取的待检测日志数据检测到DIMM未出现不可改正误差UE,则根据DIMM生成待检测特征向量;
[0059] 获取模块,还用于通过内存检测模型获取生成模块生成的待检测特征向量所对应的N个故障概率分值,其中,内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,N为大于或等于1的整数;
[0060] 生成模块,还用于若获取模块获取的N个故障概率分值满足故障检测条件,则生成DIMM所对应的内存检测结果。
[0061] 在一种可能的设计中,在本申请实施例的第五方面的第一种实现方式中,内存检测装置还包括确定模块;
[0062] 获取模块,还用于通过内存检测模型获取待检测特征向量所对应的N个故障概率分值之后,根据N个故障概率分值确定故障概率平均值;
[0063] 确定模块,用于若获取模块获取的故障概率平均值大于或等于故障概率阈值,则确定N个故障概率分值满足故障检测条件;
[0064] 确定模块,还用于若获取模块获取的故障概率平均值小于故障概率阈值,则确定N个故障概率分值未满足故障检测条件。
[0065] 在一种可能的设计中,在本申请实施例的第五方面的第二种实现方式中,内存检测装置还包括确定模块以及处理模块;
[0066] 确定模块,还用于生成模块生成DIMM所对应的内存检测结果之后,根据内存检测结果确定风险等级;
[0067] 处理模块,用于若确定模块确定的风险等级为高风险等级,则对内存进行置换处理,其中,内存包括DIMM;
[0068] 处理模块,还用于若确定模块确定的风险等级为中风险等级,则对内存中的数据进行数据迁移,其中,内存包括DIMM;
[0069] 处理模块,还用于若确定模块确定的风险等级为低风险等级,则对内存中的核心数据进行数据迁移,其中,内存包括DIMM。
[0070] 在一种可能的设计中,在本申请实施例的第五方面的第三种实现方式中,内存检测装置还包括处理模块;
[0071] 处理模块,用于生成模块生成DIMM所对应的内存检测结果之后,若接收第一处理指令,则根据第一处理指令,对内存中的数据进行数据迁移,其中,内存包括DIMM;
[0072] 处理模块,还用于若接收第二处理指令,则根据第二处理指令,对内存进行置换处理,其中,内存包括DIMM。
[0073] 本申请第六方面提供一种内存检测装置,包括:
[0074] 获取模块,用于获取待检测日志数据,其中,待检测日志数据中包括K个双列直插式存储模块DIMM所对应的日志数据,K为大于或等于1的整数;
[0075] 生成模块,用于若根据获取模块获取的待检测日志数据检测到P个DIMM已出现不可改正误差UE,则根据剩余DIMM生成待检测特征向量集合,其中,剩余DIMM为K个DIMM中除去P个DIMM之后剩余的DIMM,剩余DIMM包括(K-P)个DIMM,P为大于或等于0,且小于或等于K的整数,待检测特征向量集合包括(K-P)个待检测特征向量;
[0076] 获取模块,还用于通过内存检测模型获取生成模块生成的待检测特征向量集合所对应的(K-P)个故障概率分值集合,其中,每个故障概率分值集合包括N个故障概率分值,内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,N为大于或等于1的整数;
[0077] 确定模块,用于根据获取模块获取的(K-P)个故障概率分值集合从(K-P)个DIMM中确定T个DIMM,其中,T为大于或等于0,且小于或等于(K-P)的整数;
[0078] 生成模块,还用于根据确定模块确定的T个DIMM以及P个DIMM,生成内存检测结果。
[0079] 本申请第七方面提供一种节点,包括:存储器、收发器、处理器以及总线系统;
[0080] 其中,存储器用于存储程序;
[0081] 处理器用于执行存储器中的程序,包括如下步骤:
[0082] 获取内存状态历史数据集合,其中,内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个双列直插式存储模块DIMM,M为大于或等于1的整数;
[0083] 根据内存状态历史数据集合生成真实故障标签集合,其中,真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个DIMM;
[0084] 根据内存状态历史数据集合生成待训练特征集合,其中,待训练特征集合包括M个待训练特征,每个待训练特征对应一个DIMM,且每个待训练特征包括至少一个特征指标所对应的参数;
[0085] 根据待训练特征集合训练待训练内存检测模型,得到预测故障标签集合,其中,预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个DIMM;
[0086] 若预测故障标签集合与真实故障标签集合满足模型验证条件,则确定待训练内存检测模型为合格的内存检测模型;
[0087] 总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
[0088] 本申请第八方面提供一种节点,包括:存储器、收发器、处理器以及总线系统;
[0089] 其中,存储器用于存储程序;
[0090] 处理器用于执行存储器中的程序,包括如下步骤:
[0091] 获取待检测日志数据,其中,待检测日志数据中包括双列直插式存储模块DIMM所对应的日志数据;
[0092] 若根据待检测日志数据检测到DIMM未出现不可改正误差UE,则根据DIMM生成待检测特征向量;
[0093] 通过内存检测模型获取待检测特征向量所对应的N个故障概率分值,其中,内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,N为大于或等于1的整数;
[0094] 若N个故障概率分值满足故障检测条件,则生成DIMM所对应的内存检测结果;
[0095] 总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
[0096] 本申请第九方面提供一种节点,包括:存储器、收发器、处理器以及总线系统;
[0097] 其中,存储器用于存储程序;
[0098] 处理器用于执行存储器中的程序,包括如下步骤:
[0099] 获取待检测日志数据,其中,待检测日志数据中包括K个双列直插式存储模块DIMM所对应的日志数据,K为大于或等于1的整数;
[0100] 若根据待检测日志数据检测到P个DIMM已出现不可改正误差UE,则根据剩余DIMM生成待检测特征向量集合,其中,剩余DIMM为K个DIMM中除去P个DIMM之后剩余的DIMM,剩余DIMM包括(K-P)个DIMM,P为大于或等于0,且小于或等于K的整数,待检测特征向量集合包括(K-P)个待检测特征向量;
[0101] 通过内存检测模型获取待检测特征向量集合所对应的(K-P)个故障概率分值集合,其中,每个故障概率分值集合包括N个故障概率分值,内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,N为大于或等于1的整数;
[0102] 根据(K-P)个故障概率分值集合从(K-P)个DIMM中确定T个DIMM,其中,T为大于或等于0,且小于或等于(K-P)的整数;
[0103] 根据T个DIMM以及P个DIMM,生成内存检测结果;
[0104] 总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
[0105] 本申请的第十方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
[0106] 从以上技术方案可以看出,本申请实施例具有以下优点:
[0107] 本申请实施例中,提供了一种内存检测模型训练的方法,首先获取内存状态历史数据集合,然后根据内存状态历史数据集合生成真实故障标签集合,并且可以根据内存状态历史数据集合生成待训练特征集合,再根据待训练特征集合训练待训练内存检测模型,得到预测故障标签集合,若预测故障标签集合与真实故障标签集合满足模型验证条件,则根据待训练内存检测模型训练得到内存检测模型。通过上述方式,内存检测模型是基于DIMM的特征参数进行训练的,因此,内存检测模型可以针对内存模块级别的粒度来预测内存故障情况,充分考虑到了DIMM的健康状况以及风险级别,从而提升了内存检测的故障定位准确度。附图说明
[0108] 图1A为本申请实施例中数据共享系统的一个架构示意图;
[0109] 图1B为本申请实施例中区块链的一个组成结构示意图;
[0110] 图1C为本申请实施例中新区块产生过程的一个实施例示意图;
[0111] 图2为本申请实施例中内存检测系统的一个架构示意图;
[0112] 图3为本申请实施例中内存检测模型训练的方法一个实施例示意图;
[0113] 图4为本申请实施例中选取内存状态历史数据的一个实施例示意图;
[0114] 图5为本申请实施例中选取内存状态历史数据的另一个实施例示意图;
[0115] 图6为本申请实施例中选取内存状态历史数据的另一个实施例示意图;
[0116] 图7为本申请实施例中内存检测子模型的一个训练流程示意图;
[0117] 图8为本申请实施例中内存检测模型的一个训练流程示意图;
[0118] 图9为本申请实施例中内存检测的方法一个实施例示意图;
[0119] 图10为本申请实施例中基于内存检测结果进行报警提示的一个界面示意图;
[0120] 图11为本申请实施例中基于内存检测结果进行报警提示的另一个界面示意图;
[0121] 图12为本申请实施例中基于内存检测结果进行报警提示的另一个界面示意图;
[0122] 图13为本申请实施例中内存检测的方法另一个实施例示意图;
[0123] 图14为本申请实施例中内存检测模型的一个预测流程示意图;
[0124] 图15为本申请实施例中UE或内存故障建单为标签的ROC曲线效果对比一个示意图;
[0125] 图16为本申请实施例中UE或内存故障建单为标签的Precision-Recall曲线效果对比一个示意图;
[0126] 图17为本申请实施例中内存检测模型训练装置的一个实施例示意图;
[0127] 图18为本申请实施例中内存检测模型训练装置的另一个实施例示意图;
[0128] 图19为本申请实施例中内存检测装置的一个实施例示意图;
[0129] 图20为本申请实施例中内存检测装置的另一个实施例示意图;
[0130] 图21为本申请实施例中内存检测装置的另一个实施例示意图;
[0131] 图22为本申请实施例中内存检测装置的另一个实施例示意图;
[0132] 图23为本申请实施例中内存检测装置的一个实施例示意图;
[0133] 图24为本申请实施例中节点的一个结构示意图;
[0134] 图25为本申请实施例中节点的另一个结构示意图。

具体实施方式

[0135] 本申请实施例提供了一种内存检测模型训练的方法、内存检测的方法及装置,本申请提供的内存检测模型可以针对内存模块级别的粒度来预测内存故障情况,充分考虑到了DIMM的健康状况以及风险级别,从而提升了内存检测的故障定位准确度。
[0136] 本申请的说明书权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0137] 应理解,本申请提供的内存检测方法可基于人工智能(Artificial Intelligence,AI)技术,针对双列直插式存储模块(Dual-Inline-Memory-Modules,DIMM)进行故障诊断。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0138] 人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0139] 应理解,本申请提供的内存检测模型训练方法可基于机器学习(Machine Learning,ML)算法进行学习,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
[0140] 应理解,本申请提供的内存检测方法可以应用于区块链场景,即,区块链中的各个节点保存内存检测模型,各节点分别利用内存检测模型对内存(一个实施例中为DIMM)进行故障检测,得到内存检测结果,再将内存检测结果记录至区块中,其中,内存检测结果包含但不仅限于DIMM的故障信息、故障发生时间戳以及DIMM的标识等。本领域内技术人员应了解到,虽然本说明书中以DIMM形式的内存举例,但是其他形式的内存也可使用本发明所提出的方案。
[0141] 请参见图1A,图1A为本申请实施例中数据共享系统的一个架构示意图,如图所示,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点K1,多个节点K1可以是指数据共享系统中各个客户端。每个节点K1在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
[0142] 对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为网络之间互联的协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
[0143] 表1
[0144]节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
… …
节点N 119.123.789.258
[0145] 数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,请参见图1B,图1B为本申请实施例中区块链的一个组成结构示意图,如图所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
[0146] 在生成区块链中的各个区块时,请参见图1C,图1C为本申请实施例中新区块产生过程的一个实施例示意图,如图所示,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
[0147] SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET;
[0148] 其中,SHA256为计算特征值所用的特征值算法;版本号(version)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
[0149] 这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
[0150] 应理解,本申请提供的内存检测方法也可以应用于中心化服务场景,为了便于理解,请参阅图2,图2为本申请实施例中内存检测系统的一个架构示意图,如图所示,在进行线上内存故障预测时,从服务器中提取日志数据,再从日志数据中解析出于误差探测与校正(Error Detection And Correction,EDAC)模块的内存相关日志,内存相关日志中包含但不仅限于错误类型、系统时间戳以及小区(cell)级别的详细位置信息。先将内存相关日志中上报内存不可改正误差(Uncorrectable Errors,UE)的DIMM归入预故障池,然后利用内存检测模型对余下的DIMM打分,达到运营设定阈值的DIMM归入预故障池,接着根据预故障池中每条DIMM不同的风险等级,结合运营人员设置的运营策略,采取对应的措施,将较低风险的DIMM进行数据和业务迁移,对较高风险DIMM进行数据和业务迁移,对高风险的DIMM做内存置换。
[0151] 服务器可以将风险等级和该风险系数对应的操作建议反馈给客户端,由客户端展示风险系数和操作建议。
[0152] 需要说明的是,客户端部署于节点上,其中,节点包含但不仅限于平板电脑笔记本电脑、掌上电脑、手机、语音交互设备及个人电脑(personal computer,PC),此处不做限定。其中,语音交互设备包含但不仅限于智能音响以及智能家电。服务器也可以是节点,图2示出了一个服务器,在实际应用中,不对服务器的数量进行限定。
[0153] 服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
[0154] 结合上述介绍,下面将对本申请中内存检测模型训练的方法进行介绍,请参阅图3,本申请实施例中内存检测模型训练的方法一个实施例包括:
[0155] 101、获取内存状态历史数据集合,其中,内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个内存,M为大于或等于1的整数;
[0156] 本实施例中,内存检测模型训练装置获取内存状态历史数据集合,可以理解的是,内存检测模型训练装置部署于节点上,节点可以是终端设备或者服务器,此处不做限定。其中,内存状态历史数据集合可以是从日志数据中选取的,也可以是从内存故障单中选取的,还可以是同时从日志数据和内存故障单中选取的。
[0157] 内存状态历史数据集合中包括M个内存状态历史数据,每个内存状态历史数据对应一个DIMM,这里的DIMM是存在故障的DIMM,也可以是能够正常工作的DIMM。
[0158] 本申请中的DIMM包含但不仅限于带寄存器的双列直插内存模块(Registered DIMM,RDIMM)、无缓冲双列直插内存模块(Unbuffered DIMM,UDIMM)以及低负载双列直插内存模块(Load Reduced DIMM,LRDIMM)。其中,RDIMM在内存条上加了一个寄存器进行传输,其位于中央处理器(central processing units,CPU)和内存颗粒之间,既减少了并行传输的距离,又保证并行传输的有效性。LRDIMM并未使用复杂寄存器,只是简单缓冲,缓冲降低了下层主板上的电负载,但对内存性能几乎无影响。
[0159] 102、根据内存状态历史数据集合生成真实故障标签集合,其中,真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个内存;
[0160] 本实施例中,节点对内存状态历史数据集合中的每个内存状态历史数据进行标注,得到M个真实故障标签,即每个DIMM对应一个真实故障标签。通常情况下,真实故障标签为“1”,表示存在故障,真实故障标签为“0”,表示不存在故障。
[0161] 在实际应用中,可通过人工标注的方式生成真实故障标签,也可以在节点设置好标签标注规则,由节点按照该标签标注的规则自动完成标注。
[0162] 103、根据内存状态历史数据集合生成待训练特征集合,其中,待训练特征集合包括M个待训练特征,每个待训练特征对应一个内存,且每个待训练特征包括至少一个特征指标所对应的参数;
[0163] 本实施例中,基于内存状态历史数据集合生成待训练特征集合,即针对每个内存状态历史数据生成一个对应的待训练特征,也就是说,一个待训练特征对应一个DIMM。其中,待训练特征中可以包括至少一个特征指标下的参数,每个特征指标对应一个维度,比如,待训练特征可以表示为5维向量(1,1,0,0,1),每个元素对应一个特征指标。
[0164] 特征指标包括历史累计指标、近期累计指标和可改正误差(Correctable Errors,CE)爆发指标。历史累计指标是指历史至今的时间范围内对应的各个指标,近期累计指标指往前推一个时间窗口内对应的各个指标,CE爆发指标是指每分钟发生W次以上的小区(Cells),W是预先设定的参数。
[0165] 历史累计指标和近期累计指标均包括硬性错误(Hard Error)指标和软性错误指标,硬性错误指标中包括可改正误差(Correctable Errors,CE)、UE以及CE和UE,CE可以包括内存巡检产生的错误(Errors)、小区(Cells)、行数(Rows)、列数(Columns),以及非内存巡检产生的数据。
[0166] 104、根据待训练特征集合训练待训练内存检测模型,得到预测故障标签集合,其中,预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个内存;
[0167] 本实施例中,节点将待训练特征集合中的每个待训练特征输入至待训练内存检测模型,由待训练内存检测模型输出对应的预测故障标签,每个DIMM对应一个输出的预测故障标签,预测故障标签可以是0至1之间的概率值。
[0168] 待训练内存检测模型可以是随机森林回归模型,具体地,下面将以一个示例对待训练的随机森林回归模型进行介绍,然而,在实际训练中可以对随机森林回归模型的参数进行调整,此次仅为一个示意,不应理解为对本申请的限定。比如,随机森林回归模型可以选用10棵决策树,最大深度(max_depth)选择10,最大分支数选择32,不纯度指标选择方差(variance),叶子节点最小样本数为1,样本数采集比例1.0。其中,若决策树最大深度等于0,则表示决策树在构建最优模型的时候不会限制子树的深度。如果模型样本量多,特征也多的情况下,则推荐限制最大深度,若样本量少或者特征少,则不限制最大深度。最大分支数是指训练决策树所允许的最大分叉树。不纯度指标是指决策树特征选择算法。叶子节点最小样本数(min_samples_leaf)表示叶子节点含有的最少样本,若叶子节点样本数小于min_samples_leaf,则对该叶子节点和兄弟叶子节点进行剪枝,只留下该叶子节点的父节点。整数型表示个数,浮点型表示取大于等于(样本数*min_samples_leaf)的最小整数,其中,min_samples_leaf默认值是1。样本数采集比例即训练每课数使用的数据百分比,默认为1.0,减少可以加快训练过程。
[0169] 105、若预测故障标签集合与真实故障标签集合满足模型验证条件,则确定待训练内存检测模型为合格的内存检测模型。
[0170] 本实施例中,节点根据预测故障标签集合中的M个预测故障标签,以及真实故障标签集合中的M个真实故障标签,分别进行比对,根据最后得到的比对结果判断是否满足模型验证条件,若满足模型验证条件,那么可以将待训练内存检测模型所对应的模型参数作为内存检测模型的模型参数,从而得到内存检测模型。
[0171] 本申请实施例中,提供了一种内存检测模型训练的方法,首先获取内存状态历史数据集合,然后根据内存状态历史数据集合生成真实故障标签集合,并且可以根据内存状态历史数据集合生成待训练特征集合,再根据待训练特征集合训练待训练内存检测模型,得到预测故障标签集合,若预测故障标签集合与真实故障标签集合满足模型验证条件,则根据待训练内存检测模型训练得到内存检测模型。通过上述方式,内存检测模型是基于DIMM的特征参数进行训练的,因此,内存检测模型可以针对内存模块级别的粒度来预测内存故障情况,充分考虑到了DIMM的健康状况以及风险级别,从而提升了内存检测的故障定位准确度。
[0172] 可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的内存检测模型训练的方法第一个可选实施例中,获取内存状态历史数据集合,可以包括:
[0173] 获取日志数据以及内存故障单,其中,日志数据包括与内存相关的信息,内存故障单包括与故障相关的信息;
[0174] 根据日志数据以及内存故障单,获取第一DIMM集合,其中,第一DIMM集合包括至少一个第一DIMM,第一DIMM为已出现不可改正误差UE的DIMM;
[0175] 根据第一DIMM集合生成内存状态历史数据集合。
[0176] 本实施例中,介绍了一种基于出现UE的这类故障模式设计的内存检测模型,针对这类故障模式设计的内存检测模型需要从日志数据以及内存故障单中提取内存状态历史数据集合。为了便于理解,请参阅图4,图4为本申请实施例中选取内存状态历史数据的一个实施例示意图,如图所示,从服务器系统内核日志Dmesg中选取一段时间内解析出EDAC相关的日志数据,Dmesg是一种用于检测和控制内核环缓冲的程序,可用来帮助用户了解系统的启动信息。并且从现网中提取内存故障单,内存故障单中包含但不仅限于机器配置信息、部件配置信息、预测信息以及故障信息,其中,机器配置信息包含但不仅限于机器序列号(Serial Number,SN)、网际互联协议(Internet Protocol,IP)、机型以及业务,部件配置信息包含但不仅限于EDAC槽位、物理丝印槽位、部件SN以及部件型号,预测信息包含但不仅限于预测时间、风险系数以及风险等级(运营设置),故障信息包含但不仅限于故障单号、故障类型、建单时间、结单时间以及故障描述。
[0177] 具体地,假设日志数据以及内存故障单中共涉及6810条DIMM,其中,发生过UE的DIMM有507条,其余的6303条DIMM是未发生过UE的,于是,基于这507条DIMM生成第一DIMM集合,即每个DIMM为一个第一DIMM,第一DIMM表示已出现UE的DIMM,根据第一DIMM集合生成内存状态历史数据集合,即内存状态历史数据集合中至少包括507个内存状态历史数据,即内存状态历史数据集合除了包括507个发生过UE的内存状态历史数据,还可以包括至少1个未发生过UE的内存状态历史数据。
[0178] 其次,本申请实施例中,提供了一种生成内存状态历史数据集合的方法,通过上述方式,能够针对发生过UE的DIMM进行建模,从而得到用于检测UE的内存检测模型,由此提升UE检测的可靠性。
[0179] 可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的内存检测模型训练的方法第二个可选实施例中,获取内存状态历史数据集合,可以包括:
[0180] 获取内存故障单,其中,内存故障单包括与故障相关的信息;
[0181] 根据内存故障单,获取第二DIMM集合,其中,第二DIMM集合包括至少一个第二DIMM,第二DIMM为已建立内存故障单的DIMM;
[0182] 根据第二DIMM集合生成内存状态历史数据集合。
[0183] 本实施例中,介绍了另一种基于创建内存故障单的这类故障模式设计的内存检测模型,针对这类故障模式设计的内存检测模型需要从内存故障单中提取内存状态历史数据集合。为了便于理解,请参阅图5,图5为本申请实施例中选取内存状态历史数据的另一个实施例示意图,如图所示,从现网中提取内存故障单,本实施例中将不对内存故障单中的内容进行赘述。
[0184] 具体地,假设内存故障单中共涉及5000条DIMM,其中,创建过内存故障单的DIMM有1200条,其余的3800条DIMM是未创建过内存故障单的,于是,基于这1200条DIMM生成第二DIMM集合,即每个DIMM为一个第二DIMM,第二DIMM表示已建立内存故障单的DIMM,根据第二DIMM集合生成内存状态历史数据集合,即内存状态历史数据集合中至少包括1200个内存状态历史数据,即内存状态历史数据集合除了包括1200个已建立内存故障单的内存状态历史数据,还可以包括至少1个未已建立内存故障单的内存状态历史数据。
[0185] 其次,本申请实施例中,提供了另一种生成内存状态历史数据集合的方法,通过上述方式,能够针对建立过内存故障单的DIMM进行建模,从而得到用于检测故障信息的内存检测模型,由此提升故障信息检测的可靠性。
[0186] 可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的内存检测模型训练的方法第三个可选实施例中,获取内存状态历史数据集合,可以包括:
[0187] 获取日志数据以及内存故障单,其中,日志数据包括与内存相关的信息,内存故障单包括与故障相关的信息;
[0188] 根据日志数据以及内存故障单,获取第三DIMM集合,其中,第三DIMM集合包括至少一个第三DIMM,第三DIMM为已出现不可改正误差UE的DIMM,或,第三DIMM为已建立内存故障单的DIMM;
[0189] 根据第三DIMM集合生成内存状态历史数据集合。
[0190] 本实施例中,介绍了另一种基于出现UE的这类故障模式,以及基于创建内存故障单的这类故障模式设计的内存检测模型,针对这类故障模式设计的内存检测模型需要从日志数据以及内存故障单中提取内存状态历史数据集合。为了便于理解,请参阅图6,图6为本申请实施例中选取内存状态历史数据的另一个实施例示意图,如图所示,从服务器系统内核日志Dmesg中选取一段时间内解析出EDAC相关的日志数据,并从现网中提取内存故障单,本实施例中将不对内存故障单中的内容进行赘述。
[0191] 具体地,节点选取了大量生产环境的Dmesg日志,从中提取EDAC内存故障相关日志数据,解析出区分内存刷洗错误(memory scrubbing error)、内存读取错误(memory read error)和内存写入错误(memory write error)三种不同各类型的CE和UE,并获取细化到Cell级别的位置信息及时间戳,这样可以提高数据准确性。假设日志数据以及内存故障单中共涉及7000条DIMM,其中,发生过UE的DIMM有1000条,创建过内存故障单的DIMM有1500条,其余的4500条DIMM是既未创建过内存故障单的,又未发生过UE的DIMM,于是,基于这2500条DIMM生成第三DIMM集合,即每个DIMM为一个第三DIMM,第三DIMM表示已建立内存故障单的DIMM,或者已出现UE的DIMM,根据第三DIMM集合生成内存状态历史数据集合,即内存状态历史数据集合中至少包括2500个内存状态历史数据,即内存状态历史数据集合除了包括2500个已建立内存故障单或者发生过UE的内存状态历史数据,还可以包括至少1个既未建立过内存故障单,又未发生过UE的内存状态历史数据。
[0192] 其次,本申请实施例中,提供了另一种生成内存状态历史数据集合的方法,通过上述方式,能够针对发生过UE的DIMM或者建立过内存故障单的DIMM进行建模,综合两种不同的故障模式进行训练,能够比单独基于一种故障模式训练出来的模型具有更好地效果,预测的结果更能反映出综合风险,同时,用于训练的数据涵盖的故障可能性更广,既考虑了来源于EDAC的UE,也考虑了现网实际运营建立的内存故障单,内存故障单包括一些CE超阈值的情况,内存直接导致宕机后的人工提单等多种内存故障的场景。防止因单纯使用服务器事件日志作为内存故障的来源,而漏掉内存故障,导致宕机等灾难性影响但没有日志这些情况,从而提升了内存故障定义的全面性,并提升预测的准确度和可靠性。
[0193] 可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的内存检测模型训练的方法第四个可选实施例中,根据内存状态历史数据集合生成真实故障标签集合,可以包括:
[0194] 若内存状态历史数据集合为根据第一DIMM集合生成的,则根据第一DIMM集合中第一DIMM在预设时间内出现UE的情况,生成第一DIMM所对应的真实故障标签,其中,真实故障标签为第一标签或第二标签,第一标签表示第一DIMM在预设时间内已出现UE,第二标签表示第一DIMM在预设时间内未出现UE;
[0195] 若内存状态历史数据集合为根据第二DIMM集合生成的,则根据第二DIMM集合中第二DIMM在预设时间内已建立内存故障单的情况,生成第二DIMM所对应的真实故障标签,其中,真实故障标签为第一标签或第二标签,第一标签表示第二DIMM在预设时间内已建立内存故障单,第二标签表示第二DIMM在预设时间内未已建立内存故障单;
[0196] 若内存状态历史数据集合为根据第三DIMM集合生成的,则根据第三DIMM集合中第三DIMM在预设时间内已建立内存故障单的情况,或在预设时间内出现UE的情况,生成第三DIMM所对应的真实故障标签,其中,真实故障标签为第一标签或第二标签,第一标签表示第三DIMM在预设时间内已建立内存故障单,或在预设时间内已出现UE。
[0197] 本实施例中,介绍了一种针对不同故障模式生成真实故障标签的方式,假设内存状态历史数据的特征参数是来源于每小时统计一次,也就是说每个小时窗口内只要发生了CE的DIMM就会有一条特征参数,这条特征参数的真实故障标签是1或者0,真实故障标签又分为三类:具体可以包括如下三种情形:
[0198] 情形一,内存状态历史数据集合中仅包括与已出现UE的DIMM相关的数据;
[0199] 节点判断第一DIMM在预设时间内出现UE的情况,预设时间可以是30天,于是判断在第一DIMM在目标小时(某个统计的小时窗口)之后的30天内,是否出现了EDAC日志数据中报UE错误的情况,若出现,则真实故障标签为第一标签(即标签为1),若未出现,则真实故障标签为第二标签(即标签为0)。
[0200] 情形二,内存状态历史数据集合中仅包括与已建立内存故障单的DIMM相关的数据;
[0201] 节点判断第二DIMM在预设时间内创建内存故障单的情况,预设时间可以是30天,于是判断在第二DIMM在目标小时(某个统计的小时窗口)之后的30天内,是否出现了创建内存故障单的情况,若出现,则真实故障标签为第一标签(即标签为1),若未出现,则真实故障标签为第二标签(即标签为0)。
[0202] 情形三,内存状态历史数据集合中既包括与已出现UE的DIMM相关的数据,又包括与已建立内存故障单的DIMM相关的数据;
[0203] 节点判断第三DIMM在预设时间内出现UE的情况,或在预设时间内创建内存故障单的情况,预设时间可以是30天,于是判断在第SamDIMM在目标小时(某个统计的小时窗口)之后的30天内,是否出现了EDAC日志数据中报UE错误的情况,或者是否出现了创建内存故障单的情况,只要满足其中一个情况,那么真实故障标签为第一标签(即标签为1),若两种情况都未出现,则真实故障标签为第二标签(即标签为0)。
[0204] 再次,本申请实施例中,提供了一种针对不同故障模式生成真实故障标签的方式,通过上述方式,建立了标签设定机制,便于自动执行打标签的操作,对于自动生成真实故障标签而言,具有更好的可行性和可操作性。
[0205] 可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的内存检测模型训练的方法第五个可选实施例中,根据内存状态历史数据集合生成待训练特征集合,可以包括:
[0206] 根据内存状态历史数据集合中的内存状态历史数据,获取Q个特征指标所对应的参数,其中,Q个特征指标包括可改正误差CE数量、小区数量、行数量、列数量、硬性错误数量中的至少一种Q为大于或等于1的整数;
[0207] 根据Q个特征指标所对应的参数,生成DIMM所对应的待训练特征。
[0208] 本实施例中,介绍了一种生成待训练特征的方法,考虑到CE跟UE在时间和空间上都会有一定程度上的相关性,设计了多种特征指标来侧面反映DIMM的健康情况,对比其跟UE和实际内存故障单的相关性,其中,CE是指系统的错误检测机制能够检测并自动纠正的一类错误,而UE是指错误的数量超过系统错误检测机制的纠错限制,系统无法自动纠正的一类错误。
[0209] 本申请根据不同类别的CE在历史时间和近期时间的分布针对DIMM级别设计了422种统计特征,从中选取故障关联度最高的12种特征,即Q具体可以为12,这12种特征涵盖CE数量、小区数量、行数量、列数量、硬性错误数量中的至少一种。然后节点可以通过这些特征给出的CE出现的变化趋势和位置分布情况,利用随机森林回归算法训练内存检测模型,周期性预测每条DIMM的故障概率,并使得DIMM级别的预测性能在大量数据集上达到了较高的准。
[0210] 为了便于理解,请参阅表2,表2为12种特征指标的一个示意。
[0211] 表2
[0212]
[0213] 由表2可知,每个内存状态历史数据可以针对这12种特征指标获取对应的参数。且这12种特征指标在皮尔逊(Pearson)相关性系数、信息增益、信息增益率和基尼系数的分布情况都较好。
[0214] 其次,本申请实施例中,提供了一种生成待训练特征的方法,即一个待训练特征至少包括CE数量、小区数量、行数量、列数量以及硬性错误数量中的一种所对应的参数,通过上述方式,考虑到CE跟UE在时间和空间上都会有一定程度上的相关性,因此,设计了多种特征指标来侧面反映DIMM的健康情况,对比其跟UE和实际内存故障单的相关性,综合皮尔逊相关性系数、信息增益、信息增益率、基尼系数和指标的分布情况,可以选定了12种指标作为建模的待训练特征,从而提升训练的可靠性。
[0215] 可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的内存检测模型训练的方法第六个可选实施例中,根据内存状态历史数据集合生成待训练特征集合,可以包括:
[0216] 根据内存状态历史数据集合生成多个待训练特征子集合,其中,多个待训练特征子集合属于待训练特征集合;
[0217] 根据待训练特征集合训练待训练内存检测模型,得到预测故障标签集合,包括:
[0218] 通过待训练内存检测子模型获取待训练特征子集合所对应的预测故障标签子集合,其中,预测故障标签子集合属于预测故障标签集合,待训练内存检测子模型属于待训练内存检测模型中的一个子模型;
[0219] 若预测故障标签集合与真实故障标签集合满足模型验证条件,则根据待训练内存检测模型训练得到内存检测模型,包括:
[0220] 若预测故障标签子集合与真实故障标签子集合满足模型验证条件,则根据待训练内存检测子模型生成内存检测子模型,其中,内存检测子模型属于内存检测模型中的一个子模型。
[0221] 本实施例中,介绍了一种建立多个内存检测子模型的方法,可以基于一站式任务管理和分布式调度平台,以及一站式机器学习平台,通过可视化拖拽构建不同的任务流,从而训练出内存检测子模型,可以理解的是,在实际应用中还可以采用其他不同的平台进行任务的学习,此次不做限定。一个内存检测模型可以包括多个内存检测子模型,每个内存检测子模型的训练方式类似,即首先将内存状态历史数据集合拆分成多个待训练特征子集合,然后基于每个待训练特征子集合训练对应的内存检测子模型。
[0222] 为了便于理解,请参阅图7,图7为本申请实施例中内存检测子模型的一个训练流程示意图,如图所示,模型训练阶段分为三个步骤,分别为历史数据准备,模型训练和调优以及模型验证和更新。具体地,
[0223] 步骤A1中,节点选取了大量的Dmesg日志,从中提取EDAC内存故障相关的历史日志;
[0224] 步骤A2中,节点对历史日志进行解析,得到区分memory scrubbing error、memory read error和memory write error三种不同各类型的CE和UE,并获取细化到Cell级别的位置信息及时间戳;
[0225] 步骤A3中,准备CE统计指标数据,即获取内存状态历史数据集合;
[0226] 步骤A4中,从现网中获取历史内存故障单;
[0227] 步骤A5中,根据前述三种故障定义分别对内存状态历史数据打上真实故障标签;
[0228] 步骤A6中,获得真实故障标签后将内存状态历史数据集合拆分成N个内存状态历史数据子集合,重复多次按照3:1:1的比例,将每个内存状态历史数据子集合随机拆分成训练集、交叉验证集和测试集,为下一步训练模型做数据准备;
[0229] 步骤A7中,将每个内存状态历史数据子集合分别输入到对应的随机森林回归模型中,随机森林是决策树的一种集成(ensemble)算法,可用于分类和回归,这里选用的回归模型用于输出0到1之间的概率值,决策树棵数选用10棵,最大深度选择10,最大分支数选择32,不纯度指标选择variance,叶子节点最小样本数为1,样本数采集比例1.0,在N个训练集上分别训练随机森林回归模型,再分别在各自的交叉验证集上进行优化,得到N个优化后的内存检测子模型;
[0230] 步骤A8中,将得到的N个优化后的内存检测子模型分别应用在各自的测试集上验证模型的效果,如果性能达到模型验证条件,则可以用达到条件的内存检测子模型替换掉线上的模型,否则不做模型更新。如果是第一次建模,则需要重复训练直到模型效果达标为止。
[0231] 下面将针对训练一个内存检测子模型的过程进行介绍,为了便于理解,请参阅图8,图7为本申请实施例中内存检测子模型的一个训练流程示意图,如图所示,具体地,[0232] 步骤B1中,节点选取了大量的Dmesg日志,从中提取EDAC内存故障相关的历史日志;
[0233] 步骤B2中,节点对历史日志进行解析,得到区分memory scrubbing error、memory read error和memory write error三种不同各类型的CE和UE,并获取细化到Cell级别的位置信息及时间戳;
[0234] 步骤B3中,准备CE统计指标数据,即获取内存状态历史数据集合;
[0235] 步骤B4中,从现网中获取历史内存故障单;
[0236] 步骤B5中,根据前述三种故障定义分别对内存状态历史数据打上真实故障标签;
[0237] 步骤B6中,获得真实故障标签后,从内存状态历史数据集合中提取一个内存状态历史数据子集合,重复多次按照3:1:1的比例,将该内存状态历史数据子集合随机拆分成训练集、交叉验证集和测试集,为下一步训练模型做数据准备;
[0238] 步骤B7中,将内存状态历史数据子集合输入到对应的随机森林回归模型中,由该模型预测故障标签,在训练集上训练随机森林回归模型,再在交叉验证集上进行优化,得到优化后的内存检测子模型;
[0239] 步骤B8中,将优化后的内存检测子模型应用在测试集上验证模型的效果,如果性能达到模型验证条件,则可以用达到条件的内存检测子模型替换掉线上的模型,否则不做模型更新。如果是第一次建模,则需要重复训练直到模型效果达标为止。
[0240] 可以理解的是,由于历史数据短时间内不会有太大变化,所以模型的更新周期不需要太短,比如可以做离线处理,一段时间后再手动触发一次模型更新即可。
[0241] 其次,本申请实施例中,提供了一种建立多个内存检测子模型的方法,通过上述方式,训练得到多个存检测子模型能够降低线上的异常数据对模型的干扰,导致出现异常高或异常低的风险等级输出,从而提升模型预测的准确性和可靠性。
[0242] 可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的内存检测模型训练的方法第七个可选实施例中,根据待训练特征集合训练待训练内存检测模型,得到预测故障标签集合之后,还可以包括:
[0243] 根据预测故障标签集合与真实故障标签集合,确定标签匹配成功率;
[0244] 若标签匹配成功率大于或等于预设匹配门限,则确定预测故障标签集合与真实故障标签集合满足模型验证条件。
[0245] 本实施例中,介绍了一种满足模型验证条件的具体情况,具体地,在节点获取到预测故障标签集合之后,会将预测故障标签中的每个预测故障标签与真实故障标签进行匹配,以1000个预测故障标签为例,假设1000个预测故障标签中有900个预测故障标签与对应的真实故障标签匹配成功,即标签匹配成功率为90%,节点判断标签匹配成功率是否大于或等于预设匹配门限,假设预设匹配门限为90%,那么标签匹配成功率大于预设匹配门限,于是节点确定满足模型验证条件。
[0246] 其次,本申请实施例中,提供了一种满足模型验证条件的具体情况,通过上述方式,可以将标签匹配成功率作为满足模型验证条件的参考依据,可以根据需求灵活地调整预设匹配门限,从而提升模型训练的灵活性。
[0247] 结合上述介绍,下面将对本申请中内存检测的方法进行介绍,请参阅图9,本申请实施例中内实施例中内存检测的方法一个实施例包括:
[0248] 201、获取待检测日志数据,其中,待检测日志数据中包括内存所对应的日志数据;
[0249] 本实施例中,内存检测装置从线上收集到的Dmesg日志中提取待检测日志数据,其中,该待检测日志数据包括待检测DIMM的日志数据。可以理解的是,内存检测装置部署于节点上,节点可以是终端设备或者服务器,此处不做限定。
[0250] 202、若根据待检测日志数据检测到内存未出现不可改正误差UE,则根据内存生成待检测特征向量;
[0251] 本实施例中,节点可以根据待检测日志数据,对DIMM进行UE检测,即节点根据待检测日志数据中DIMM位置信息、时间信息和错误类型信息等,判断该DIMM出现UE的情况,一旦出现过UE,就将该DIMM加入至预测池,预测池用于存放具有风险的DIMM。若未出现,则根据所述DIMM生成待检测特征向量,待检测特征向量可以表示为12维向量(1,1,0,0,1,1,0,1,1,0,0,1),每个元素对应一个特征指标。
[0252] 203、通过内存检测模型获取待检测特征向量所对应的N个故障概率分值,其中,内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,N为大于或等于1的整数;
[0253] 本实施例中,节点将待检测特征向量输入至内存检测模型,一个内存检测模型可以包括N个内存检测子模型,每个内存检测子模型输出一个对应的故障概率分值,因此可以得到N个故障概率分值,基于这N个故障概率分值判断是否满足故障检测条件,若满足,则将该DIMM加入至预测池,若不满足,则确定该DIMM是健康程度较高。
[0254] 204、若N个故障概率分值满足故障检测条件,则生成内存所对应的内存检测结果。
[0255] 本实施例中,在节点确定N个故障概率分值满足故障检测条件,则可以生成DIMM所对应的内存检测结果,内存检测结果可以是DIMM的风险等级以及建议操作。
[0256] 本申请实施例中,提供了一种内存检测的方法,即先获取待检测日志数据,若根据待检测日志数据检测到DIMM未出现不可改正误差UE,则根据DIMM生成待检测特征向量,然后通过内存检测模型获取待检测特征向量所对应的N个故障概率分值,若N个故障概率分值满足故障检测条件,则生成DIMM所对应的内存检测结果。通过上述方式,由于内存检测模型是基于DIMM的特征参数进行训练的,因此,内存检测模型可以针对内存模块级别的粒度来预测内存故障情况,充分考虑到了DIMM的健康状况以及风险级别,并且减少了系统级别下干扰数据的影响,从而提升了内存检测的故障定位准确度。
[0257] 可选地,在上述图9对应的各个实施例的基础上,本申请实施例提供的内存检测的方法第一个可选实施例中,通过内存检测模型获取待检测特征向量所对应的N个故障概率分值之后,还可以包括:
[0258] 根据N个故障概率分值确定故障概率平均值;
[0259] 若故障概率平均值大于或等于故障概率阈值,则确定N个故障概率分值满足故障检测条件;
[0260] 若故障概率平均值小于故障概率阈值,则确定N个故障概率分值未满足故障检测条件。
[0261] 本实施例中,介绍了一种基于N个故障概率分值确定故障检测条件的方式,为了提高模型的鲁棒性,避免线上模型自动更新时可能会引入异常数据,从而对模型造成干扰和影响,于是增加投票机制。
[0262] 具体地,假设N为5,即一个内存检测模型中包括5个内存检测子模型,这5个内存检测子模型分别输出相应的故障概率分值,假设内存检测子模型A输出故障概率分值为0.2,内存检测子模型B输出故障概率分值为0.4,内存检测子模型C输出故障概率分值为0.6,内存检测子模型D输出故障概率分值为0.8,内存检测子模型E输出故障概率分值为1,于是得到故障概率平均值为(0.2+0.4+0.6+0.8+1)/5=0.6。假设故障概率阈值为0.5,则确定满足故障检测条件。
[0263] 可选地,假设N为5,即一个内存检测模型中包括5个内存检测子模型,这5个内存检测子模型分别输出相应的故障概率分值,假设内存检测子模型A输出故障概率分值为0.9,内存检测子模型B输出故障概率分值为0.4,内存检测子模型C输出故障概率分值为0.6,内存检测子模型D输出故障概率分值为0.8,内存检测子模型E输出故障概率分值为0.1,于是可以先去掉一个异常高分0.9,以及一个异常低分0.1,再对剩下的0.4、0.6和0.8求平均,得到故障概率平均值为(0.4+0.6+0.8)/3=0.6。假设故障概率阈值为0.5,则确定满足故障检测条件。
[0264] 可以理解的是,在实际应用中不限于只去掉一个最高分以及一个最低分的情况,还可以设置不同的机制对各个故障概率分值进行选择或处理,此次仅为一个示意,不应理解为对本申请的限定。
[0265] 如果一个内存检测模型中包括3个内存检测子模型,去除一个最高分以及一个最低分,故障概率平均值即为3个故障概率分值的中位数。
[0266] 其次,本申请实施例中,提供了一种基于N个故障概率分值确定故障检测条件的方式,通过上述方式,能够有效地防止因风险等级异常高或者异常低,而导致最终的判断不准确,因此,采用少数服从多数判断机制,可以提升预测的准确性和可靠性。
[0267] 可选地,在上述图9对应的各个实施例的基础上,本申请实施例提供的内存检测的方法第二个可选实施例中,生成DIMM所对应的内存检测结果之后,还可以包括:
[0268] 根据内存检测结果确定风险等级;
[0269] 若风险等级为高风险等级,则对内存进行置换处理,其中,内存包括DIMM;
[0270] 若风险等级为中风险等级,则对内存中的数据进行数据迁移,其中,内存包括DIMM;
[0271] 若风险等级为低风险等级,则对内存中的核心数据进行数据迁移,其中,内存包括DIMM。
[0272] 本实施例中,介绍了一种基于内存检测结果进行自动操作的方法,在生成DIMM所对应的内存检测结果之后,节点可以自动对预测池中的DIMM进行处理。
[0273] 具体地,节点可以先根据内存检测结果确定风险等级,假设目前设定的风险等级包括高风险等级、中风险等级以及低风险等级,于是节点会根据运营专家预先设置的运营策略,基于不同的风险等级自动发起处理,可选地,由于是节点自动发起处理流程,为了能够让用户了解节点的工作情况,节点还可以将处理流程推送至客户端进行展示。
[0274] 请参阅图10,图10为本申请实施例中基于内存检测结果进行报警提示的一个界面示意图,如图所示,若风险等级为高风险等级,则节点会对内存进行置换处理,即在界面上的报警提示为:风险等级“高”,建议操作为“内存置换”,节点对于高风险等级的情况,会做好数据备份和业务迁移后对出现故障的DIMM做置换。请参阅图11,图11为本申请实施例中基于内存检测结果进行报警提示的另一个界面示意图,如图所示,若风险等级为中风险等级,则节点会进行数据迁移的处理,即在界面上的报警提示为:风险等级“中”,建议操作为“数据迁移”,节点对于中风险等级的情况,会做好数据备份和业务迁移。请参阅图12,图12为本申请实施例中基于内存检测结果进行报警提示的另一个界面示意图,如图所示,若风险等级为低风险等级,则节点会进行数据迁移的处理,即在界面上的报警提示为:风险等级“低”,建议操作为“核心数据迁移”,节点对于低风险等级的情况,会对核心和敏感业务做数据备份和业务迁移。
[0275] 可以理解的是,在实际应用中,还可以对内存进行其他方式的处理,比如仅触发告警提示,此处不做限定。
[0276] 再次,本申请实施例中,提供了一种基于预测得到的内存检测结果进行自动操作的方式,通过上述方式,会根据运营专家预先设置的运营策略,决定是否发起预测池中的预故障,对满足不同运营策略的预故障DIMM,自动发起对应的故障处理流程,无需手动触发告警和执行相关处理,从而提升方案的便利性。
[0277] 可选地,在上述图9对应的各个实施例的基础上,本申请实施例提供的内存检测的方法第三个可选实施例中,生成DIMM所对应的内存检测结果之后,还可以包括:
[0278] 若接收第一处理指令,则根据第一处理指令,对内存中的数据进行数据迁移,其中,内存包括DIMM;
[0279] 若接收第二处理指令,则根据第二处理指令,对内存进行置换处理,其中,内存包括DIMM。
[0280] 本实施例中,介绍了一种基于内存检测结果进行手动操作的方法。在生成DIMM所对应的内存检测结果之后,可以将该DIMM放在预测池中不进行处理,同时,还可以激活该DIMM所对应的故障单,由用户根据需求选择是否对内存中的数据进行处理,或者是否需要置换内存。
[0281] 具体地,如果用户认为当前DIMM出现故障的风险等级需要对内存中的数据进行数据迁移,则可以向节点触发第一处理指令,如果用户认为当前DIMM出现故障的风险等级需要对内存进行置换处理,即更换整个内存,则可以向节点触发第二处理指令。可选地,如果用户认为当前DIMM出现故障的风险等级需要对内存中的核心数据进行数据迁移,则可以向节点触发第三处理指令。在实际应用中,还可以对内存进行其他方式的处理,比如仅触发告警提示,此处不做限定。
[0282] 再次,本申请实施例中,提供了一种基于预测得到的内存检测结果进行手动操作的方式,通过上述方式,由于运营策略是人为定义,而且业务的重要程度相对比较主观,所以预留了供运营手动触发告警的通道,从而提升方案的可行性和灵活性。
[0283] 结合上述介绍,下面将对本申请中内存检测的方法进行介绍,请参阅图13,本申请实施例中内实施例中内存检测的方法一个实施例包括:
[0284] 301、获取待检测日志数据,其中,待检测日志数据中包括K个内存所对应的日志数据,K为大于或等于1的整数;
[0285] 本实施例中,内存检测装置从线上收集到的Dmesg日志中提取待检测日志数据,其中,该待检测日志数据包括K个待检测DIMM的日志数据,K为大于或等于1的整数。可以理解的是,内存检测装置部署于节点上,节点可以是终端设备或者服务器,此处不做限定。
[0286] 302、若根据待检测日志数据检测到P个内存已出现不可改正误差UE,则根据剩余内存生成待检测特征向量集合,其中,剩余内存为K个内存中除去P个内存之后剩余的内存,剩余内存包括(K-P)个内存,P为大于或等于0,且小于或等于K的整数,待检测特征向量集合包括(K-P)个待检测特征向量;
[0287] 本实施例中,节点首先根据待检测日志数据,对K个DIMM进行UE检测,即节点根据待检测日志数据中各个DIMM的位置信息、时间信息和错误类型信息等,判断每个DIMM在预设时间内出现UE的情况,预设时间可以是1天,于是判断在DIMM在目标小时(某个统计的小时窗口)之后的1天内,是否出现日志数据中报UE错误的情况,若出现,则将该DIMM加入至预测池,预测池用于存放具有风险的DIMM。若未出现,则根据所述DIMM生成待检测特征向量,待检测特征向量可以表示为12维向量(1,1,0,0,1,1,0,1,1,0,0,1),每个元素对应一个特征指标。
[0288] 假设K个DIMM中有P个DIMM已出现UE,那么就将P个DIMM加入至预测池,剩下的(K-P)个DIMM分别生成对应的待检测特征向量。
[0289] 303、通过内存检测模型获取待检测特征向量集合所对应的(K-P)个故障概率分值集合,其中,每个故障概率分值集合包括N个故障概率分值,内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,N为大于或等于1的整数;
[0290] 本实施例中,节点分别将(K-P)个待检测特征向量输入至对应的内存检测模型,内存检测模型包括N个内存检测子模型,每个内存检测子模型输出一个对应的故障概率分值,因此可以每个待检测的DIMM对应N个故障概率分值,每个待检测的DIMM分别基于对应的N个故障概率分值判断是否满足故障检测条件,若满足,则将该DIMM加入至预测池,若不满足,则表示该DIMM是健康程度较高。
[0291] 304、根据(K-P)个故障概率分值集合从(K-P)个内存中确定T个内存,其中,T为大于或等于0,且小于或等于(K-P)的整数;
[0292] 本实施例中,节点根据步骤303中的判断方式,从(K-P)个DIMM中确定T个DIMM,满足故障检测条件,于是将这T个DIMM加入至预测池。其中,T为大于或等于0,且小于或等于(K-P)的整数。
[0293] 305、根据T个内存以及P个内存,生成内存检测结果。
[0294] 本实施例中,节点根据T个DIMM以及P个DIMM,生成对应的内存检测结果,内存检测结果可以是DIMM的风险等级以及建议操作。
[0295] 为了便于理解,请参阅图14,图14为本申请实施例中内存检测模型的一个预测流程示意图,如图所示,模型预测阶段分为三个步骤,分别为线上数据准备,模型预测打分以及发起故障流程。具体地,
[0296] 步骤C1中,节点从线上选取Dmesg日志,从中提取EDAC内存故障相关的历史日志,以及获取相应的DIMM位置、时间和错误类型信息;
[0297] 步骤C2中,节点对历史日志进行解析,得到区分memory scrubbing error、memory read error和memory write error三种不同各类型的CE和UE,并获取细化到Cell级别的位置信息及时间戳;
[0298] 步骤C3中,节点先基于历史日志对DIMM做UE检查,如果EDAC中扫描到有某块DIMM发生了UE,则直接将其抛到预测池;
[0299] 步骤C4中,然后节点对剩下的DIMM进行CE统计指标数据的清洗和预处理,准备CE统计指标数据,即获取待检测数据作为随机森林回归模型的输入;
[0300] 步骤C5中,分别用N个随机森林回归模型计算CE统计指标数据对应的故障概率;
[0301] 步骤C6中,N个随机森林回归模型输出N个DIMM的故障概率分值;
[0302] 步骤C7中,根据预先设定的阈值统计大于阈值的个数和小于阈值的个数,采用少数服从多数的机制,根据N个DIMM级别故障概率分数的中位数是否超阈值去判断是否作为预故障投到预测池;
[0303] 步骤C8中,清洗实时的内存详细配置信息,为后续预故障内存创建故障单提供数据支持;
[0304] 步骤C9中,节点根据运营专家预先设置的运营策略,决定是否发起预测池中的预故障,对满足不同运营策略的故障DIMM,自动发起对应的故障处理流程,对于较低风险的会对核心和敏感业务做数据备份和业务迁移,对于较高风险的会对业务做数据备份和业务迁移,对于高风险的会做好数据备份和业务迁移后对DIMM做置换;
[0305] 步骤C10中,由于运营策略是人为定义,而且业务的重要程度相对比较主观,所以预留了供运营手动触发告警的通道。
[0306] 本申请实施例中,提供了一种内存检测的方法,即首先获取待检测日志数据,若根据待检测日志数据检测到P个DIMM已出现不可改正误差UE,则根据剩余DIMM生成待检测特征向量集合,再通过内存检测模型获取待检测特征向量集合所对应的(K-P)个故障概率分值集合,根据(K-P)个故障概率分值集合从(K-P)个DIMM中确定T个DIMM,最后根据T个DIMM以及P个DIMM,生成内存检测结果。通过上述方式,由于内存检测模型是基于DIMM的特征参数进行训练的,因此,内存检测模型可以针对内存模块级别的粒度来预测内存故障情况,充分考虑到了DIMM的健康状况以及风险级别,并且减少了系统级别下干扰数据的影响,从而提升了内存检测的故障定位准确度。
[0307] 基于本申请提供的方案,实现了从工业界的内存故障后诊断修复,到对故障进行提前预警的跨越,并且能够保证相对比较高的准确性。下面将结合试验数据进行说明,请参阅图15,图15为本申请实施例中UE或内存故障建单为标签的ROC曲线效果对比一个示意图,如图所示,随机森林(Random Forest)的观测者操作特性(Receiver Operating Characteristic,ROC)曲线下与坐标轴围成的面积(Area Under Curve,AUC)较大。请参阅图16,图16为本申请实施例中UE或内存故障建单为标签的Precision-Recall曲线效果对比一个示意图,如图所示,random forest还具有较高的准确率(Precision)和召回率(Recall)。请参阅表3,表3为不同类型的模型算法之间一个指标比对示意。
[0308] 表3
[0309] 模型 LR SVM Decision Tree Random ForestAUC 0.742 0.676 0.910 0.932
Precision 0.381 0.462 0.738 0.758
Recall 0.505 0.388 0.589 0.606
F-score 0.434 0.422 0.655 0.674
[0310] 由此可见,Random Forest回归的效果在ROC、AUC、正类率(Positive Rate,PR)还是F分数(F-score)上,相对支持向量机(Support Vector Machine,SVM)算法、逻辑回归(Logistic Regression,LR)算法和决策树(Decision Tree)算法而言,都能达到更好的性能效果,AUC可以达到0.932,F-score有0.674。
[0311] 由于现在方案的预测对象不一样,国际商业机器(International Business Machines Corporation,IBM)公司是系统层面针对UE的预测,英特尔(Intel Corporation,Intel)公司是Cell级别针对CE的预测,所以无法直接对比。这里列举现有方案的实验数据供参考。请参阅表4,表4为IBM针对系统UE的预测效果。
[0312] 表4
[0313]
[0314] 请参阅表5,表5为Intel针对Cell级别CE的预测效果。
[0315] 表5
[0316]方法 Precision Recall F-score
历史数据(1,1) 0.359 0.351 0.349
历史数据(1,1) 0.678 0.252 0.362
历史数据(1,1) 0.109 0.522 0.174
历史数据(1,1) 0.329 0.390 0.332
历史数据(1,1) 0.261 0.415 0.316
仅学习 0.592 0.320 0.409
学习+传播 0.493 0.436 0.456
[0317] 由表4和表5可见,IBM公司针对系统UE在2周内的预测AUC可以达到0.83,Intel公司基于Cell级别预测模型的F-score可达0.456。
[0318] 下面对本申请中的内存检测模型训练装置进行详细描述,请参阅图17,图17为本申请实施例中内存检测模型训练装置一个实施例示意图,内存检测模型训练装置40包括:
[0319] 获取模块401,用于获取内存状态历史数据集合,其中,所述内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个内存,所述M为大于或等于1的整数;
[0320] 生成模块402,用于根据所述获取模块401获取的所述内存状态历史数据集合生成真实故障标签集合,其中,所述真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个内存;
[0321] 所述生成模块402,还用于根据获取模块401获取的所述内存状态历史数据集合生成待训练特征集合,其中,所述待训练特征集合包括M个待训练特征,每个待训练特征对应一个内存,且所述每个待训练特征包括至少一个特征指标所对应的参数;
[0322] 所述获取模块401,还用于根据所述待训练特征集合训练待训练内存检测模型,得到预测故障标签集合,其中,所述预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个内存;
[0323] 训练模块403,用于若所述获取模块401获取的所述预测故障标签集合与真实故障标签集合满足模型验证条件,则确定所述待训练内存检测模型为合格的内存检测模型。
[0324] 可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的内存检测模型训练装置40的另一实施例中,
[0325] 所述获取模块401,具体用于获取日志数据以及内存故障单,其中,所述日志数据包括与内存相关的信息,所述内存故障单包括与故障相关的信息;
[0326] 根据所述日志数据以及所述内存故障单,获取第一内存集合,其中,所述第一内存集合包括至少一个第一内存,所述第一内存为已出现不可改正误差UE的内存;
[0327] 根据所述第一内存集合生成所述内存状态历史数据集合。
[0328] 可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的内存检测模型训练装置40的另一实施例中,
[0329] 所述获取模块401,具体用于获取内存故障单,其中,所述内存故障单包括与故障相关的信息;
[0330] 根据所述内存故障单,获取第二内存集合,其中,所述第二内存集合包括至少一个第二内存,所述第二内存为已建立内存故障单的内存;
[0331] 根据所述第二内存集合生成所述内存状态历史数据集合。
[0332] 可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的内存检测模型训练装置40的另一实施例中,
[0333] 所述获取模块401,具体用于获取日志数据以及内存故障单,其中,所述日志数据包括与内存相关的信息,所述内存故障单包括与故障相关的信息;
[0334] 根据所述日志数据以及所述内存故障单,获取第三内存集合,其中,所述第三内存集合包括至少一个第三内存,所述第三内存为已出现不可改正误差UE的内存,或,所述第三内存为已建立内存故障单的内存;
[0335] 根据所述第三内存集合生成所述内存状态历史数据集合。
[0336] 可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的内存检测模型训练装置40的另一实施例中,
[0337] 所述生成模块402,具体用于若所述内存状态历史数据集合为根据第一内存集合生成的,则根据所述第一内存集合中第一内存在预设时间内出现UE的情况,生成所述第一内存所对应的真实故障标签,其中,所述真实故障标签为第一标签或第二标签,所述第一标签表示所述第一内存在所述预设时间内已出现UE,所述第二标签表示所述第一内存在所述预设时间内未出现UE;
[0338] 若所述内存状态历史数据集合为根据第二内存集合生成的,则根据所述第二内存集合中第二内存在预设时间内已建立内存故障单的情况,生成所述第二内存所对应的真实故障标签,其中,所述真实故障标签为第一标签或第二标签,所述第一标签表示所述第二内存在所述预设时间内已建立内存故障单,所述第二标签表示所述第二内存在所述预设时间内未已建立内存故障单;
[0339] 若所述内存状态历史数据集合为根据第三内存集合生成的,则根据所述第三内存集合中第三内存在预设时间内已建立内存故障单的情况,或在预设时间内出现UE的情况,生成所述第三内存所对应的真实故障标签,其中,所述真实故障标签为第一标签或第二标签,所述第一标签表示所述第三内存在所述预设时间内已建立内存故障单,或在所述预设时间内已出现UE。
[0340] 可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的内存检测模型训练装置40的另一实施例中,
[0341] 所述生成模块402,具体用于根据所述内存状态历史数据集合中的所述内存状态历史数据,获取Q个特征指标所对应的参数,其中,所述Q个特征指标包括可改正误差CE数量、小区数量、行数量、列数量、硬性错误数量中的至少一种所述Q为大于或等于1的整数;
[0342] 根据所述Q个特征指标所对应的参数,生成内存所对应的待训练特征。
[0343] 可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的内存检测模型训练装置40的另一实施例中,
[0344] 所述生成模块402,具体用于根据所述内存状态历史数据集合生成多个待训练特征子集合,其中,所述多个待训练特征子集合属于所述待训练特征集合;
[0345] 所述获取模块401,具体用于通过所述待训练内存检测子模型获取待训练特征子集合所对应的预测故障标签子集合,其中,所述预测故障标签子集合属于所述预测故障标签集合,所述待训练内存检测子模型属于所述待训练内存检测模型中的一个子模型;
[0346] 所述训练模块403,具体用于若所述预测故障标签子集合与真实故障标签子集合满足所述模型验证条件,则根据所述待训练内存检测子模型生成内存检测子模型,其中,所述内存检测子模型属于所述内存检测模型中的一个子模型。
[0347] 可选地,在上述图17所对应的实施例的基础上,请参阅图18,本申请实施例提供的内存检测模型训练装置40的另一实施例中,所述内存检测模型训练装置40还包括确定模块404;
[0348] 所述确定模块404,用于所述获取模块401根据所述待训练特征集合训练待训练内存检测模型,得到预测故障标签集合之后,根据所述预测故障标签集合与真实故障标签集合,确定标签匹配成功率;
[0349] 所述确定模块404,还用于若所述标签匹配成功率大于或等于预设匹配门限,则确定所述预测故障标签集合与所述真实故障标签集合满足所述模型验证条件。
[0350] 下面对本申请中的内存检测装置进行详细描述,请参阅图19,图19为本申请实施例中内存检测装置一个实施例示意图,内存检测装置50包括:
[0351] 获取模块501,用于获取待检测日志数据,其中,所述待检测日志数据中包括内存所对应的日志数据;
[0352] 生成模块502,用于若根据所述获取模块501获取的待检测日志数据检测到所述内存未出现不可改正误差UE,则根据所述内存生成待检测特征向量;
[0353] 所述获取模块501,还用于通过内存检测模型获取所述生成模块502生成的所述待检测特征向量所对应的N个故障概率分值,其中,所述内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,所述N为大于或等于1的整数;
[0354] 所述生成模块502,还用于若所述获取模块501获取的所述N个故障概率分值满足故障检测条件,则生成所述内存所对应的内存检测结果。
[0355] 可选地,在上述图19所对应的实施例的基础上,请参阅图20,本申请实施例提供的内存检测装置50的另一实施例中,所述内存检测装置50还包括确定模块503;
[0356] 所述获取模块501,还用于通过内存检测模型获取所述待检测特征向量所对应的N个故障概率分值之后,根据所述N个故障概率分值确定故障概率平均值;
[0357] 所述确定模块503,用于若所述获取模块501获取的所述故障概率平均值大于或等于故障概率阈值,则确定所述N个故障概率分值满足所述故障检测条件;
[0358] 所述确定模块503,还用于若所述获取模块501获取的所述故障概率平均值小于所述故障概率阈值,则确定所述N个故障概率分值未满足所述故障检测条件。
[0359] 可选地,在上述图19所对应的实施例的基础上,请参阅图21,本申请实施例提供的内存检测装置50的另一实施例中,所述内存检测装置50还包括确定模块503以及处理模块504;
[0360] 所述确定模块503,还用于所述生成模块502生成所述内存所对应的内存检测结果之后,根据所述内存检测结果确定风险等级;
[0361] 所述处理模块504,用于若所述确定模块503确定的所述风险等级为高风险等级,则对内存进行置换处理,其中,所述内存包括所述内存;
[0362] 所述处理模块504,还用于若所述确定模块503确定的所述风险等级为中风险等级,则对内存中的数据进行数据迁移,其中,所述内存包括所述内存;
[0363] 所述处理模块504,还用于若所述确定模块503确定的所述风险等级为低风险等级,则对内存中的核心数据进行数据迁移,其中,所述内存包括所述内存。
[0364] 可选地,在上述图19所对应的实施例的基础上,请参阅图22,本申请实施例提供的内存检测装置50的另一实施例中,所述内存检测装置50还包括处理模块504;
[0365] 所述处理模块504,用于所述生成模块502生成所述内存所对应的内存检测结果之后,若接收第一处理指令,则根据所述第一处理指令,对内存中的数据进行数据迁移,其中,所述内存包括所述内存;
[0366] 所述处理模块504,还用于若接收第二处理指令,则根据所述第二处理指令,对内存进行置换处理,其中,所述内存包括所述内存。
[0367] 下面对本申请中的内存检测装置进行详细描述,请参阅图23,图23为本申请实施例中内存检测装置一个实施例示意图,内存检测装置60包括:
[0368] 获取模块601,用于获取待检测日志数据,其中,所述待检测日志数据中包括K个内存所对应的日志数据,所述K为大于或等于1的整数;
[0369] 生成模块602,用于若根据所述获取模块601获取的所述待检测日志数据检测到P个内存已出现不可改正误差UE,则根据剩余内存生成待检测特征向量集合,其中,所述剩余内存为所述K个内存中除去所述P个内存之后剩余的内存,所述剩余内存包括(K-P)个内存,所述P为大于或等于0,且小于或等于所述K的整数,所述待检测特征向量集合包括(K-P)个待检测特征向量;
[0370] 所述获取模块601,还用于通过内存检测模型获取所述生成模块602生成的所述待检测特征向量集合所对应的(K-P)个故障概率分值集合,其中,每个故障概率分值集合包括N个故障概率分值,所述内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,所述N为大于或等于1的整数;
[0371] 确定模块603,用于根据所述获取模块601获取的所述(K-P)个故障概率分值集合从所述(K-P)个内存中确定T个内存,其中,所述T为大于或等于0,且小于或等于所述(K-P)的整数;
[0372] 所述生成模块602,还用于根据所述确定模块603确定的所述T个内存以及所述P个内存,生成内存检测结果。
[0373] 本申请实施例还提供了另一种内存检测装置,该内存检测装置可以部署于节点中,节点具体可以是终端设备,如图24所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、销售终端设备(Point of Sales,POS)、车载电脑等任意终端设备,以终端设备为手机为例:
[0374] 图24示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图24,手机包括:射频(Radio Frequency,RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(wireless fidelity,WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图24中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0375] 下面结合图24对手机的各个构成部件进行具体的介绍:
[0376] RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器收发信机耦合器低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
[0377] 存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0378] 输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球鼠标、操作杆等中的一种或多种。
[0379] 显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图24中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
[0380] 手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0381] 音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
[0382] WiFi属于短距离无线传输技术,手机通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图24示出了WiFi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0383] 处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;可选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
[0384] 手机还包括给各个部件供电的电源790(比如电池),可选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0385] 尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0386] 在本申请实施例中,该终端设备所包括的处理器780还具有以下功能:
[0387] 获取内存状态历史数据集合,其中,所述内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个内存,所述M为大于或等于1的整数;
[0388] 根据所述内存状态历史数据集合生成真实故障标签集合,其中,所述真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个内存;
[0389] 根据所述内存状态历史数据集合生成待训练特征集合,其中,所述待训练特征集合包括M个待训练特征,每个待训练特征对应一个内存,且所述每个待训练特征包括至少一个特征指标所对应的参数;
[0390] 根据所述待训练特征集合训练待训练内存检测模型,得到预测故障标签集合,其中,所述预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个内存;
[0391] 若所述预测故障标签集合与真实故障标签集合满足模型验证条件,则确定所述待训练内存检测模型为合格的内存检测模型。
[0392] 在本申请实施例中,该终端设备所包括的处理器780还具有以下功能:
[0393] 获取待检测日志数据,其中,所述待检测日志数据中包括内存所对应的日志数据;
[0394] 若根据待检测日志数据检测到所述内存未出现不可改正误差UE,则根据所述内存生成待检测特征向量;
[0395] 通过内存检测模型获取所述待检测特征向量所对应的N个故障概率分值,其中,所述内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,所述N为大于或等于1的整数;
[0396] 若所述N个故障概率分值满足故障检测条件,则生成所述内存所对应的内存检测结果。
[0397] 在本申请实施例中,该终端设备所包括的处理器780还具有以下功能:
[0398] 获取待检测日志数据,其中,所述待检测日志数据中包括K个内存所对应的日志数据,所述K为大于或等于1的整数;
[0399] 若根据所述待检测日志数据检测到P个内存已出现不可改正误差UE,则根据剩余内存生成待检测特征向量集合,其中,所述剩余内存为所述K个内存中除去所述P个内存之后剩余的内存,所述剩余内存包括(K-P)个内存,所述P为大于或等于0,且小于或等于所述K的整数,所述待检测特征向量集合包括(K-P)个待检测特征向量;
[0400] 通过内存检测模型获取所述待检测特征向量集合所对应的(K-P)个故障概率分值集合,其中,每个故障概率分值集合包括N个故障概率分值,所述内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,所述N为大于或等于1的整数;
[0401] 根据所述(K-P)个故障概率分值集合从所述(K-P)个内存中确定T个内存,其中,所述T为大于或等于0,且小于或等于所述(K-P)的整数;
[0402] 根据所述T个内存以及所述P个内存,生成内存检测结果。
[0403] 本申请实施例还提供了另一种内存检测装置,该内存检测装置可以部署于节点中,节点具体可以是服务器,图25是本发明实施例提供的一种服务器结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上CPU 822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
[0404] 服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0405] 上述实施例中由服务器所执行的步骤可以基于该图25所示的服务器结构。
[0406] 在本申请实施例中,该服务器所包括的CPU822还具有以下功能:
[0407] 获取内存状态历史数据集合,其中,所述内存状态历史数据集合包括M个内存状态历史数据,每个内存状态历史数据对应一个内存,所述M为大于或等于1的整数;
[0408] 根据所述内存状态历史数据集合生成真实故障标签集合,其中,所述真实故障标签集合包括M个真实故障标签,每个真实故障标签对应一个内存;
[0409] 根据所述内存状态历史数据集合生成待训练特征集合,其中,所述待训练特征集合包括M个待训练特征,每个待训练特征对应一个内存,且所述每个待训练特征包括至少一个特征指标所对应的参数;
[0410] 根据所述待训练特征集合训练待训练内存检测模型,得到预测故障标签集合,其中,所述预测故障标签集合包括M个预测故障标签,每个预测故障标签对应一个内存;
[0411] 若所述预测故障标签集合与真实故障标签集合满足模型验证条件,则确定所述待训练内存检测模型为合格的内存检测模型。
[0412] 在本申请实施例中,该服务器所包括的CPU822还具有以下功能:
[0413] 获取待检测日志数据,其中,所述待检测日志数据中包括内存所对应的日志数据;
[0414] 若根据待检测日志数据检测到所述内存未出现不可改正误差UE,则根据所述内存生成待检测特征向量;
[0415] 通过内存检测模型获取所述待检测特征向量所对应的N个故障概率分值,其中,所述内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,所述N为大于或等于1的整数;
[0416] 若所述N个故障概率分值满足故障检测条件,则生成所述内存所对应的内存检测结果。
[0417] 在本申请实施例中,该服务器所包括的CPU822还具有以下功能:
[0418] 获取待检测日志数据,其中,所述待检测日志数据中包括K个内存所对应的日志数据,所述K为大于或等于1的整数;
[0419] 若根据所述待检测日志数据检测到P个内存已出现不可改正误差UE,则根据剩余内存生成待检测特征向量集合,其中,所述剩余内存为所述K个内存中除去所述P个内存之后剩余的内存,所述剩余内存包括(K-P)个内存,所述P为大于或等于0,且小于或等于所述K的整数,所述待检测特征向量集合包括(K-P)个待检测特征向量;
[0420] 通过内存检测模型获取所述待检测特征向量集合所对应的(K-P)个故障概率分值集合,其中,每个故障概率分值集合包括N个故障概率分值,所述内存检测模型包括N个内存检测子模型,每个内存检测子模型对应一个故障概率分值,所述N为大于或等于1的整数;
[0421] 根据所述(K-P)个故障概率分值集合从所述(K-P)个内存中确定T个内存,其中,所述T为大于或等于0,且小于或等于所述(K-P)的整数;
[0422] 根据所述T个内存以及所述P个内存,生成内存检测结果。
[0423] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0424] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0425] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0426] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0427] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0428] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈