故障监控方法和装置与流程

文档序号:12062864阅读:331来源:国知局
故障监控方法和装置与流程

本申请涉及石油勘探数据处理技术领域,特别涉及一种故障监控方法和装置。



背景技术:

在石油勘探数据处理领域中,由于所要研究处理的数据资料非常庞大,常常需要使用高性能的计算机集群、工作站与大容量高性能存储设备等作为地震数据处理、解释的平台或系统,以对石油勘探数据进行处理。

具体利用上述平台或系统对石油勘探数据进行处理时,由于要求处理的数据量增加、集群规模增大以及各种应用软件的交叉使用,使得集群、工作站、存储等容易发生各类故障,影响生产任务的进行,进而造成损失。因此,如何监控数据处理平台或系统的故障,保证数据处理平台或系统的稳定性日益受到人们关注。

为了保证平台或系统工作的安全、稳定,及时发现系统中的故障,现有的故障监控方法,一般是通过采集各个设备的状态数据,通过将设备状态数据与预设阈值进行分析比较,判定设备是否故障。但是,具体实施时,该方法只能发现已经发生故障的设备,只能对已经发生故障的设备发出告警,无法对将要发生的故障进行有效的预测、告警和维护。

因此,现有的故障监控方法存在不能对系统中潜在的故障进行预测,监测系统中故障的准确性差、效率低的技术问题。

针对上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种故障监控方法和装置,以解决现有的故障监控方法中存在的不能预测潜在故障、监控系统故障的准确性低的技术问题。

本申请实施例提供了一种故障监控方法,包括:

采集系统中一个或多个目标对象的状态数据;

根据所述一个或多个目标对象的状态数据,确定所述一个或多个目标对象中各个目标对象发生故障的概率;

确定出所述各个目标对象中发生故障的概率大于预设阈值的目标对象作为待监控对象;

确定所述待监控对象发生故障的原因,并根据所述待监控对象发生故障的原因,对所述待监控对象进行监控。

在一个实施方式中,采集系统中一个或多个目标对象的状态数据,包括:

按照接口类型,将所述多个目标对象分为多个集群,其中,位于同一集群中的目标对象采用同一类型的接口;

对位于同一集群中的目标对象采用同一数据获取方式获取所述状态数据。

在一个实施方式中,在对位于同一集群中的目标对象采用同一数据获取方式获取所述状态数据之后,所述方法还包括:

将位于不同集群中的目标对象的状态数据转换为同一格式的状态数据。

在一个实施方式中,根据所述一个或多个目标对象的状态数据,确定所述一个或多个目标对象中各个目标对象发生故障的概率,包括:

根据所述一个或多个目标对象的状态数据,确定与所述一个或多个目标对象的状态数据对应匹配的一个或多个预设模型;

根据所述一个或多个预设模型,确定所述一个或多个目标对象中各个目标对象发生故障的概率。

在一个实施方式中,确定所述待监控对象发生故障的原因,包括:

根据所述待监控对象的状态数据和与所述待监控对象的状态数据匹配的预设模型,确定所述待监控对象发生故障的原因。

在一个实施方式中,根据所述待监控对象发生故障的原因,对所述待监控对象进行监控,包括:

根据所述待监控对象发生故障的原因和所述待监控对象发生故障的概率,执行以下至少之一的业务处理:修复、删除或替换所述系统中已经发生故障的待监控对象,修复、删除或替换所述系统中还未发生故障的待监控对象,对所述系统中的待监控对象发出告警。

在一个实施方式中,在根据所述待监控对象发生故障的原因和所述待监控对象发生故障的概率,执行所述业务处理之后,所述方法还包括:

将所述业务处理后的结果作为监控结果数据,保存于知识数据库中;

根据所述监控结果数据,对所述预设模型进行校正。

在一个实施方式中,采集系统中一个或多个目标对象的状态数据,包括:

接收用户通过预设通道上传的系统问题;

将所述系统问题作为所述状态数据。

在一个实施方式中,所述多个预设模型是通过在MapReduce框架下,运用预设算法获得的,其中,所述预设算法包括:聚类算法和/或贝叶斯算法。

在一个实施方式中,所述多个预设模型是通过在MapReduce框架下,运用预设算法获得的,包括:在分布式存储平台上,所述多个预设模型是通过在MapReduce框架下,运用预设算法获得的。

在一个实施方式中,在采集系统中一个或多个目标对象的状态数据之后,将所述状态数据以分布式数据库的形式存储在所述知识数据库中。

基于相同的发明构思,本申请实施例还提供了一种故障监控装置,包括:

状态数据采集模块,用于采集系统中一个或多个目标对象的状态数据;

故障概率确定模块,用于根据所述一个或多个目标对象的状态数据,确定所述一个或多个目标对象中各个目标对象发生故障的概率;

待监控对象确定模块,用于确定出所述各个目标对象中发生故障的概率大于预设阈值的目标对象作为待监控对象;

待监控对象处理模块,用于确定所述待监控对象发生故障的原因,并根据所述待监控对象发生故障的原因,对所述待监控对象进行监控。

在一个实施方式中,所述状态数据采集模块包括:

集群划分单元,用于按照接口类型,将所述多个目标对象分为多个集群,其中,位于同一集群中的目标对象采用同一类型的接口;

数据采集单元,用于对位于同一集群中的目标对象采用同一数据获取方式获取所述状态数据。

在一个实施方式中,所述故障概率确定模块包括:

预设模型确定单元,用于根据所述一个或多个目标对象的状态数据,确定与所述一个或多个目标对象的状态数据对应匹配的一个或多个预设模型;

故障概率确定单元,用于根据所述一个或多个预设模型,确定所述一个或多个目标对象中各个目标对象发生故障的概率。

在一个实施方式中,所述待监控对象处理模块包括:

故障原因确定单元,用于根据所述待监控对象的状态数据和与所述待监控对象的状态数据匹配的预设模型,确定所述待监控对象发生故障的原因;

业务处理单元,用于根据所述待监控对象发生故障的原因和所述待监控对象发生故障的概率,执行以下至少之一的业务处理:修复、删除或替换所述系统中已经发生故障的待监控对象,修复、删除或替换所述系统中还未发生故障的待监控对象,对所述系统中的待监控对象发出告警。

在本申请实施例中,通过在分布式计算平台(Hadoop平台)上,在MapReduce框架内,综合运用聚类算法和贝叶斯算法对采集得到的系统内各个目标对象的状态数据进行深入分析,得到目标对象发生故障的概率,进而可以对发生故障概率高的目标对象进行监控处理,预防故障的发生。解决了现有的故障监控方法中存在的不能对系统中潜在故障进行预测的技术问题,达到了对系统中已发生和/或未发生的故障同时进行预警,提高监控故障准确性的技术效果。

附图说明

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

图1是根据本申请实施例的故障监控方法的处理流程图;

图2是应用本申请实施例提供的故障监控方法/装置中的朴素贝叶斯算法在MapReduce框架下的实现流程的示意图;

图3是应用本申请实施例提供的故障监控方法/装置得到状态数据示意图;

图4是根据本申请实施例的故障监控装置的组成结构图;

图5是应用本申请实施例提供的故障监控方法/装置对勘探中心的数据系统进行维护的示意图;

图6是应用本申请实施例提供的故障监控方法/装置中的通用状态数据采集模型的示意图;

图7是应用本申请实施例提供的故障监控方法/装置中的在MapReduce框架下综合运用多算法分析的示意图;

图8是应用本申请实施例提供的故障监控方法/装置中的K-means聚类算法在MapReduce框架下的实现流程的示意图。

,具体实施方式

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

考虑到现有故障监控方法,因为只是通过采集状态数据,将状态数据与预设阈值的进行简单的比较,并没有充分地利用状态数据,没有对状态数据进行深入的分析处理,导致具体实施时,现有故障监控方法存在只能发现已经发生的故障,不能对系统内潜在故障进行预警,且对故障监测效果差、效率慢的技术问题。针对产生上述技术问题的根本原因,本申请考虑可以通过分布式存储方法结合MapReduce框架,通过综合运用多种算法以充分利用各个目标对象的状态数据,通过智能分析,确定各个目标对象的故障概率和故障产生原因,进而对待监控目标对象进行预防维护。从而解决了现有故障监控方法存在的不能对潜在故障进行预警,故障监控准确度低的技术问题,达到了对系统中已发生和/或未发生的故障同时进行预警,提高监控故障准确性的技术效果。

基于上述思考思路,本申请提供了一种故障监控方法。请参阅图1。本申请提供的故障监控方法,可以包括以下步骤。

步骤101:采集系统中一个或多个目标对象的状态数据。

在一个实施方式中,所述目标对象具体可以包括系统中的CPU、GPU、存储设备、网络连接装置和配套基础设施(例如散热风扇)等。当然,需要说明的是,上述所列举的目标对象是为了更好地说明本发明实施例,具体实施时,可以根据施工要求选择其他相关设备或装置作为目标对象。对此,本申请不作限定。

在一个实施方式中,由于一个系统或平台内可能包含多个不同类型的目标对象,且不同类型的目标对象获取状态数据的接口不同。例如,石油勘探数据处理中心的系统就可以包括多个CPU和多个存储设备等,而获取CPU的状态数据的接口和获取存储设备状态数据的接口并不相同。为了提高获取状态数据的效率和准确度,可以以集群为单位,通过同一集群相同的接口获取该集群中各个目标对象的状态数据,具体可以按照以下步骤处理:

S1:按照接口类型,将所述多个目标对象分为多个集群,其中,位于同一集群中的目标对象采用同一类型的接口。

S2:对位于同一集群中的目标对象采用同一数据获取方式获取所述状态数据。

在一个实施方式中,不同集群中的目标对象状态数据格式不同,且直接获得的目标对象的状态数据格式也不一定能满足后续的使用要求。例如,CPU集群中的目标对象的状态数据的格式和存储设备集群中目标对象的状态数据格式并不相同。因此,为了使得采集的不同集群中目标对象的状态数据有统一的数据格式,使得状态数据的格式满足后续处理要求。具体地,在对位于同一集群中的目标对象采用同一数据获取方式获取所述状态数据之后,所述方法还可以包括:将位于不同集群中的目标对象的状态数据转换为同一格式的状态数据。

例如,将数据处理系统中不同的CPU划分为一个CPU集群,通过CPU状态数据获取接口获取CPU集群中各个CPU的状态数据。并且对CPU集群中各个CPU的状态数据进行统一的格式转换,使得CPU集群中的各个CPU的状态数据的格式与其他目标对象状态数据的格式相同,满足后续使用要求。同样还可以按照上述方式分别获取GPU集群、存储设备集群和网络连接装置集群等的目标对象的状态数据。本申请,在此不再赘述。

在一个实施方式中,为了提高后续处理过程中读取各个目标对象的状态数据的效率,提高状态数据的稳定性,可以将所述状态数据以HBase(Hadoop Database,分布式数据库的简称)形式存储和展示。具体的,所述状态数据可以以分布数据库的形式存储在知识数据库中。需要说明的是,使用HBase形式存储不同于普通数据库存储形式,该方法是将状态数据以列的形式进行存储展示的,从而可以提高读取的效率,并且提高数据稳定性。当然,也可以根据具体情况使用其他合适的数据库进行存储。对此,本申请不作限定。

步骤102:根据所述一个或多个目标对象的状态数据,确定所述一个或多个目标对象中各个目标对象发生故障的概率。

在一个实施方式中,为了对系统中未发生故障的目标对象进行预测,可以通过分析目标对象的状态数据确定出目标对象发生故障的概率,根据目标对象发生故障的概率来预测目标对象未来是否会发生故障。具体实施可以包括:

S1:根据所述一个或多个目标对象的状态数据,确定与所述一个或多个目标对象的状态数据对应匹配的一个或多个预设模型。

在本实施方式中,确定与目标对象的状态数据对应匹配的预设模型可以是根据目标对象的状态数据,从知识数据库中多个预设模型里确定与状态数据差异值最小的预设模型作为所述对应的匹配模型。

需要说明的是,在本实施方式中,为了准确地根据状态数据判断目标对象匹配的预设模型,具体实施时可以通过朴素贝叶斯算法判别状态数据所对应的预设模型。例如,可以根据某个目标对象的状态数据,通过Reduce任务,分别计算每个目标对象属于各个预设模型分类的概率值,并找出最大概率所对应的预设模型分类,即为该目标对象对应匹配的预设模型。

S2:根据所述一个或多个预设模型,确定所述一个或多个目标对象中各个目标对象发生故障的概率。

在一个实施方式中,所述多个预设模型是通过在MapReduce框架下,运用预设算法获得的。即,所述多个预设模型通过在MapReduce框架下,综合运用多种算法获得,其中,所述预设算法,即多种算法包括:聚类算法和贝叶斯算法。需要说明的是,所述聚类算法和贝叶斯算法一般需要在MapReduce框架下才能高效、准确地运行。而整个MapReduce框架一般又需要在分布式存储平台(Hadoop平台)上才能综合地运行多算法,即所述聚类算法和贝叶斯算法,解决相应的问题。

在一个实施方式中,所述多个预设模型通过在MapReduce框架下,综合运用多种算法获得,包括:在分布式存储平台上,所述多个预设模型通过在MapReduce框架下,综合运用多种算法获得。其中,所述的MapReduce框架可以是一种编程模型框架,多用于大规模数据集(大于1TB)的并行运算。需要说明的是,MapReduce中的概念"Map(映射,用来把一组键值对映射成一组新的键值对)"和"Reduce(归约,用来保证所有映射的键值对中的每一个共享相同的键组)",都是根据函数式编程语言和矢量编程语言的特性,得到的。MapReduce框架具体实施时,可以方便编程人员在不会分布式并行编程的情况下,将对应程序运行在分布式系统上,实现并行计算,提高运算的效率和准确度。在本实施方式中,为了事先准备好多个预设模型存储在知识数据库,可以在分布式存储平台(Hadoop平台)上,可以通过基于MapReduce框架的多算法综合算法,对样本数据进行充分挖掘处理(包括:聚类,得到多个样本类型和训练,得到多个预设模型),得到较为准确的预设模型。具体实施时,可以包括:

S1:通过K-means(即K均值法的英文名称)聚类算法对多个样本进行聚类处理,得到多个样本类型。具体可以包括:

1)从勘探数据中心设备状态数据集中选取k(拟分类个数)个样本数据作为中心。

2)测量所有数据到每个中心的距离,找出一个最小距离,并将其划入该类中,即得到初始样本类型。

3)重新计算各类中心。重复进行2、3的步骤,直至满足设定的阈值。主函数中,需要设计恰当的阈值,并通过迭代程序,实现对Map函数和Reduce函数的不断调用,直至满足设定的阈值,即可以得到多个样本类型。

S2:通过朴素贝叶斯算法对多个样本模型进行训练,得到预设模型。具体可以参阅图2,包括:

S2-1:设X={a1,a2,...,am}为一个待分类项,而每个a为x的一个特征属性。

S2-2:有类别集合C={y1,y2,...,ym}。

S2-3:计算P(y1|x)、P(y2|x)、...P(yn|x)。

S2-4:如果P(yk|x)=max{P(y1|x),P(y2|x),...,P(yn|x)},则x∈yk

S2-5:通过多次测试,根据实际识别结果,对样本类型中的各个特征属性进行针对性的多次校正,得到预设模型。

其中,X为待分析的状态数据,a1,a2,...,am为待分析数据中的各个特征属性数据,C为多个预设模型的集合,y1,y2,...,ym为多个预设模型,P(y1|x)、P(y2|x)、...,P(yn|x)分别为X属于y1,y2,...,ym各个预设模型的概率值。

具体实施时,还可以参阅图3。Mac1数据条可以是系统中某一个时间点获得的各个目标对象的状态数据的集合,即相当于上述的X所表示的一个待分类项。其中,Mac1数据条中每一格的数据对应于各个目标对象的一种状态数据。即每一格内的数据相当于上述的a1,a2,...,am所表示的各个特征属性数据。需要说明的是,在同一个时间的点可以根据具体情况获得同一目标的多条不同状态数据。例如,图3中的,第5小格中的数据20%,第六小格中的数据10和第七小格中的数据5,均可以是系统中某个CPU该时间点的状态数据。具体地,20%可以是该CPU剩余空间的状态数据,10可以是该CPU的Swap(交换分区)使用情况的状态数据,5可以是该CPU的Buffer(缓冲器)使用情况的状态数据。相应的,上述公式中的C相当于预设模型的集合。y1,y2,...,ym相当于预设模型集合中的各个具体的预设模型。例如y1,y2,...,ym可以分别是CPU故障模型、风扇故障模型、GPU故障模型……等。其中,所述每个预设模模型可以包括对应的各个目标对象的各种状态数据值。分别计算P(y1|x)、P(y2|x)、...,P(yn|x),相当于根据Mac1中各个状态数据值和各个预设模型y1,y2,...,ym中的对应的各个状态数据值的相似程度,计算Mac1属于y1,y2,...,ym中各个预设模型的概率值,进而可以根据该这些概率值,判断Mac1所对应的系统状态属于哪种预设模型所对应状态,例如,是属于CPU发生故障时的状态,还是GPU发生故障的状态,或者其他状态。计算P(yk|x)=max{P(y1|x),P(y2|x),...,P(yn|x)},相当于根据Mac1属于各个预设模型的概率值,确定最大概率值所对应的预设模型为Mac1所对应的最近接的预设模型。进而可以认为Mac1所表示状态是该预设模型所对应的状态。例如,根据计算得出Mac1属于预设模型y2的概率值最大,而预设模型y2所对应的情况是CPU过热时的情况,因此可以判断采集Mac1数据的时间段,系统出现某个CPU运行过热的情况。

需要说明的是,在上述实施方式中,为了计算步骤3)中的各个条件概率,具体可以按以下方式处理:

S2-3-1:找到一个已知分类的待分类项集合,这个集合叫做训练样本集。

S2-3-2:统计得到在各类别下各个特征属性的条件概率估计。即

其中,X为待分析的状态数据,a1,a2,...,am为待分析数据中的各个特征属性数据,P(a1|y1),P(a2|y1),...,P(am|y1)...,P(a1|yn),P(a2|yn),...,P(am|yn)各个特征属性分别属于y1,y2,...,ym各个预设模型范围的概率值。

S2-3-3:如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:

因为分母对于所有类别为常数,因此这里可以将分子最大化。又因为各特征属性是条件独立的,所以有:

其中,P(a1|yi)P(a2|yi)...P(am|yi)分别表示各个特征属性属于预设模型yi的概率,P(yi)表示预设模型yi发生的概率,P(x)表示总概率,P(yi|x)表示状态数据X属于预设模型yi的概率。

步骤103:确定出所述各个目标对象中发生故障的概率大于预设阈值的目标对象作为待监控对象。

在一个实施方式中,可以根据具体情况设置预设阈值。当目标对象发生故障的概率大于该预设阈值时,即使目标该目标对象尚未发生故障,但可以判断该目标对象具有较高的故障风险,即未来一个时间段内很有可能会发生故障,需要密切关注以及时预防。因此,可以将发生故障的概率大于预设阈值的目标对象作为待监控对象进行密切监控和其他相关处理。

步骤104:确定所述待监控对象发生故障的原因,并根据所述待监控对象发生故障的原因,对所述待监控对象进行监控。

在一个实施方式中,为了预防故障的产生,及时地处理或者预警潜在故障,可以进一步确定待监控对象发生故障的原因。具体可以包括根据所述待监控对象的状态数据和与所述待监控对象的状态数据匹配的预设模型,确定所述待监控对象发生故障的原因。需要说明的是,这里的与待监控对象匹配的预设模型是通过对大量样本数据处理得到,并存储在知识数据库中的。其中,该预设模型包含了与该监控对象有关联的大量信息。根据这些信息,可以确定该监控对象发生故障的原因。

在一个实施方式中,为了预防潜在故障的发生,可以根据监控对象发生故障的原因,对监控对象进行监控处理。其中,所述监控可以包括根据所述待监控对象发生故障的原因和所述待监控对象发生故障的概率,执行以下至少之一的业务处理:修复、删除或替换所述系统中已经发生故障的待监控对象,修复、删除或替换所述系统中还未发生故障的待监控对象,和对所述系统中的待监控对象发出告警。具体实施时,可以对监控对象执行上述一种监控,也可对监控对象执行上述多种监控。当然,还可以根据具体情况,采用上述以外的其他合适方式对待监控对象进行监控处理。对此,本申请不作限定。

在一个实施方式中,为了根据对待监控对象进行监控处理,具体可以根据ITIL(Information Technology Infrastructure Library,信息技术基础架构库的简称)流程,以IT服务的方式根据所述待监控对象发生故障的原因,对所述待监控对象进行相应的具体监控处理。

在一个实施方式中,为了进一步提高对故障监控的准确度,可以根据反馈的监控结果对原有的预设模型进行针对性的校正。即在根据所述待监控对象发生故障的原因和所述待监控对象发生故障的概率,执行所述业务处理之后,所述方法还可以包括:

S1:将所述业务处理后的结果作为监控结果数据,保存于知识数据库中。

S2:根据所述监控结果数据,对所述预设模型进行校正。

其中,所述校正可以是根据反馈的监控结果数据针对性地对预设模型的某个特定参数值进行修改,也可以是对预设模型的原有的特征参数的权重进行修改。对此,本申请不作限定。

在一个实施方式中,为了获得更全面更详细的状态数据,可以扩展采集各个目标对象状态数据的渠道。因此,采集系统中一个或多个目标对象的状态数据,具体可以包括:

S1:接收用户通过预设通道上传的系统问题。

S2:将所述系统问题作为所述状态数据。

在本申请实施例中,相较于现有的故障监控方法,本方法利用分布式存储技术,在MapReduce框架下,通过综合运用多种算法对采集得到的各个目标对象的状态数据进行充分分析,得到各个目标对象的故障概率和故障原因,进而可以对未发生故障的目标对象进行预防维护。从而解决现有的故障监控方法存在的不能对未发生的故障进行预警和监控故障准确度低的技术问题,达到了对系统中已经发生和未发生的故障同时进行监控的技术效果。

基于同一发明构思,本发明实施例中还提供了一种故障监控装置,如下面的实施例所述。由于装置解决问题的原理与故障监控方法相似,因此故障监控装置的实施可以参见故障监控方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。请参阅图4,是本发明实施例的故障监控装置的一种组成结构图,该装置可以包括:状态数据采集模块401、故障概率确定模块402、待监控对象确定模块403和待监控对象处理模块404,下面对该结构进行具体说明。

状态数据采集模块401,可以用于采集系统中一个或多个目标对象的状态数据。

故障概率确定模块402,可以用于根据所述一个或多个目标对象的状态数据,确定所述一个或多个目标对象中各个目标对象发生故障的概率。

待监控对象确定模块403,可以用于确定出所述各个目标对象中发生故障的概率大于预设阈值的目标对象作为待监控对象。

待监控对象处理模块404,可以用于确定所述待监控对象发生故障的原因,并根据所述待监控对象发生故障的原因,对所述待监控对象进行监控。

在一个实施方式中,为了提高采集状态数据的效率和准确度,状态数据采集模块401可以包括:

集群划分单元,用于按照接口类型,将所述多个目标对象分为多个集群,其中,位于同一集群中的目标对象采用同一类型的接口。

数据获取单元,用于对位于同一集群中的目标对象采用同一数据获取方式获取所述状态数据。

在一个实施方式中,为了将不同集群中不同格式的状态数据统一格式,所述状态数据采集模块还可以包括格式转换单元,用于将位于不同集群中的目标对象的状态数据转换为同一格式的状态数据。

在一个实施方式中,为了确定所述一个或多个目标对象中各个目标对象发生故障的概率,故障概率确定模块402可以包括:

第一确定单元,用于根据所述一个或多个目标对象的状态数据,确定与所述一个或多个目标对象的状态数据对应匹配的一个或多个预设模型。需要说明的是,第一确定单元可以通过朴素贝叶斯算法确定与状态数据最匹配的预设模型。

第二确定单元,用于根据所述一个或多个预设模型,确定所述一个或多个目标对象中各个目标对象发生故障的概率。

在一个实施方式中,为了获得多个预设模型,所述故障概率确定模块402还可以包括预设模型建立单元,用于获取多个样本数据;根据多个样本数据,通过K-means聚类算法,得到多个样本类型;通过朴素贝叶斯算法对多个样本类型进行训练,得到多个预设模型。

在一个实施方式中,为了确定所述待监控对象发生故障的原因,待监控对象处理模块404可以包括故障原因确定单元,原因根据所述待监控对象的状态数据和与所述待监控对象的状态数据匹配的预设模型,确定所述待监控对象发生故障的原因。

在一个实施方式中,为了对所述待监控对象进行监控以预防故障发生或对故障进行及时处理,待监控对象处理模块404可以包括处理单元,用于根据所述待监控对象发生故障的原因和所述待监控对象发生故障的概率,执行以下至少之一的业务处理:修复、删除或替换所述系统中已经发生故障的待监控对象,修复、删除或替换所述系统中还未发生故障的待监控对象,对所述系统中的待监控对象发出告警。

在一个实施方式中,为了提高预设模型的准确度,进而提高监控故障的精度,所述故障概率确定模块402还可以包括预设模型校正单元,用于将所述业务处理后的结果作为监控结果数据,保存于知识数据库中;根据所述监控结果数据,对所述预设模型进行针对性校正。

在一个实施方式中,为了采集更加全面准确的状态数据,状态数据采集模块401可以包括用于反馈单元,用于接收用户通过预设通道上传的系统问题;并将所述系统问题作为所述状态数据。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,在本说明书中,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

此外,在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。

从以上的描述中,可以看出,本申请实施例提供的故障方监控法和装置,利用分布式存储平台,在MapReduce框架下通过综合运用多种算法对采集得到的各个目标对象的状态数据进行智能分析处理,得到各个目标对象的故障概率和故障原因,进而可以对系统中尚未发生故障的目标对象进行监控和预防。解决了现有故障监控方法中存在的不能对未发生的故障进行预警和监控,监控故障的准确度低的技术问题,达到了对系统中已经发生的故障和未发生的故障同时进行监控,并提高故障监控准确度的技术效果;又通过将各个目标对象划分成对应的集群,进而获取同一集群中各个目标对象的状态数据,并对同一集群中各个目标对象的状态数据进行统一处理,提高了状态数据获取的效率,也降低了状态数据的误差;还通过应用分布式(Hadoop)存储平台结合在MapReduce框架下通过综合运用多种算法对状态数据进行深入挖掘,获得了各个目标对象的故障概率和故障原因,进一步提高了故障监控的准确度;此外,通过根据故障概率和故障原因对系统中的已经发生和未发生的故障进行针对性的预防或维护处理,达到有效维护系统稳定的技术效果;另外,还根据监控结果对预设模型进行针对性的校正,提高了预设模型的精度,达到进一步提高故障监控准确度的技术效果。

在一个具体实施场景,应用本申请提供故障监控方法/装置对勘探数据中心的数据系统进行故障监控。

可以参阅图5,为应用本申请提出故障监控方法/装置维护勘探数据中心的数据系统的示意图。具体的可以包括:

1)数据监控与采集模块

通过整合,实现数据中心各类系统(CPU集群、GPU集群、存储、网络、基础设施)离散模块的一体化监控。

2)ITIL流程模块:

通过监控系统发现故障,并自动提交至ITIL(Information Technology Infrastructure Library,信息技术基础架构库的简称)流程,实现快捷的IT服务。

用户通过ITIL服务台统一提交科研生产中遇到问题,问题的处理过程均有详细的日志记录,用户及管理人员能对问题处理过程及结果进行跟踪。

3)基于Hadoop平台的故障处理模块

通过告警数据采集、故障过滤、故障相关性分析,快速定位和解决各类故障。

通过在MapReduce框架下的多算法综合分析,找出系统中潜在的故障并将故障报告,实现提前的主动防御。

4)知识库与性能分析

建立一个集数据整合、信息查询、在线分析、多维分析、动态报表于一体的性能分析系统,可以帮助决策者从多角度进行信息分析。包括各种资源的统计、值班情况的统计、日常工作的统计;再对各种统计项建立指标,并依据指标或指标组合制定决策。

数据库实现与ITIL流程、MapReduce框架下的多算法综合分析的联动,使知识库能够不断添加新知识,增强故障处理的能力。

需要说明的是,上述数据监控与采集模块,具体实施时可以参阅图6所示,即本申请实施例提出通用状态数据采集,完成各类勘探数据中心设备的采集。包括:

1)各类设备提供不同的协议接口,如CPU/GPU集群以SSH方式获取设备信息,而存储设备一般提供SMI_S协议。根据具体情况,获取各类设备状态信息。

2)对采集的数据,使用通用状态数据转换模块,实现所有数据的统一数据存储(HBase)及统一数据展示。

上述基于Hadoop平台的故障处理模块,进行故障分析时,具体可以参阅图7所示,即本申请实施例提出的MapReduce框架下的多算法综合分析模型,也是整个处理模块中的核心。包括:

1)状态采集模块完成勘探数据中心各设备运行状态数据的采集,通过统一的模型,实现CPU集群、GPU集群、网络设备、存储设备的状态数据采集;

2)状态数据存储模块采用HBase,实现动态时序、历史数据庞大的状态数据高效存储;

3)运行状态数据的分析处理模块为本文的核心内容,包括在MapReduce框架下实现的两个算法。其中K-Means聚类算法对运行状态数据进行聚类,将每次生成的运行状态聚类中心作为样本,形样本知识库;贝叶斯对各个知识库进行训练,并对待测数据进行判别,最后达到故障预警。

利用故障处理模块具体进行故障分析时,可以参阅图8所示,为本申请实施例提出的K-means聚类算法在MapReduce框架下的实现流程。

其中,K-means聚类算法是一个迭代的过程,具体地,可以按照以下步骤进行迭代:

S1:从勘探数据中心设备状态数据集中选取k(拟分类个数)个数据作为中心。

S2:测量所有数据到每个中心的距离,找出一个最小距离,并将其划入该类中。

S3:重新计算各类中心。

重复执行步骤S2和步骤S3,直至满足设定的阈值。主函数中,需要设计恰当的阈值,并通过迭代程序,实现对Map函数和Reduce函数的不断调用,直至满足设定的阈值。

参阅图2所示,为本申请实施例提出的朴素贝叶斯算法在MapReduce框架下的实现过程。

其中,Naive Bayesian Classifier是一种基于统计学的分类方法,包括训练和PANBIE两部分。具体实施可以包括:

S1:设X={a1,a2,...,am}为一个待分类项,而每个a为x的一个特征属性。

S2:有类别集合C={y1,y2,...,ym}。

S3:计算P(y1|x)、P(y2|x)、...,P(yn|x)。

S4:如果P(yk|x)=max{P(y1|x),P(y2|x),...,P(yn|x)},则x∈yk

那么现在的关键就是如何计算第3步中的各个条件概率,具体实施时可以:

S3-1:找到一个已知分类的待分类项集合,这个集合叫做训练样本集。

S3-2:统计得到在各类别下各个特征属性的条件概率估计。即

S3-3:如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:

因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有:

需要说明的是算法在MapReduce框架下运行的过程,具体可以包括以下三个步骤:

S1:数据准备阶段,实现数据的分条;

S2:数据分类训练阶段,Map任务计算每个分类的P(yi)值;

S3:数据分类阶段,Reduce任务计算每个分类的P(x|yi)P(yi),并找出最大的P(x|yi)P(yi),即为某待测样本属于的类别。

通过将本申请实施例提供的故障监控方法/装置应用到具体的实施场景中,验证了本申请实施例提供故障监控方法/装置确实可以解决现有的故障监控方法存在的不能发现系统中潜在故障,监控故障准确度低的技术问题,达到了对已经发生和未发生的故障同时进行监控和处理的技术效果。

尽管本申请内容中提到不同的故障监控方法或装置,但是,本申请并不局限于必须是行业标准或实施例所描述的情况等,某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、处理、输出、判断方式等的实施例,仍然可以属于本申请的可选实施方案范围之内。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式分析处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

上述实施例阐明的装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请。

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