CN108600000A - 一种故障预测方法、服务器和计算机存储介质 - Google Patents

一种故障预测方法、服务器和计算机存储介质 Download PDF

Info

Publication number
CN108600000A
CN108600000A CN201810325256.8A CN201810325256A CN108600000A CN 108600000 A CN108600000 A CN 108600000A CN 201810325256 A CN201810325256 A CN 201810325256A CN 108600000 A CN108600000 A CN 108600000A
Authority
CN
China
Prior art keywords
fault
sequence
frequent
super
sequences
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810325256.8A
Other languages
English (en)
Inventor
蒲志明
孙海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
Original Assignee
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Migu Cultural Technology Co Ltd, China Mobile Communications Group Co Ltd filed Critical Migu Cultural Technology Co Ltd
Priority to CN201810325256.8A priority Critical patent/CN108600000A/zh
Publication of CN108600000A publication Critical patent/CN108600000A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种故障预测方法、服务器和计算机存储介质。所述方法包括:基于故障的预设属性,对收集的第一故障日志进行聚合处理,以获取超故障集合;从所述超故障集合中提取出在预设的滑动时间窗口中出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障序列集合;从所述频繁故障序列集合中选择出任意两个超故障之间的关联度均大于第二预设阈值的频繁故障序列作为关键序列,以得到关键序列集合;基于所述关键序列集合构建故障传播树;根据所述故障传播树以及获取的第二故障日志,进行故障预测。

Description

一种故障预测方法、服务器和计算机存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种故障预测方法、服务器和计算 机存储介质。
背景技术
传统的分布式系统出现故障时,运维人员往往需要花费一定的时间来排查 出系统故障,进而解决问题,这些故障往往会导致系统服务不稳定甚至暂停。 因此,对系统中可能发生的故障做出准确的预测,能够为运维人员预留出足够 的故障反应时间,进而能够提前预防和处理问题,避免故障的蔓延,这对于提 高系统服务的稳定性和运维工作效率都有着极大的意义。
现如今,越来越多的软件系统采用分布式或者微服务的架构,不同节点上 的不同组件模块相互协同工作,共同对外提供服务。在这些软件系统中,日志 机制发挥着重要的作用,每个模块通过日志将系统中的动作和操作记录下来, 其中包含着丰富的信息和数据。传统的运维方式往往通过系统运维人员查看日 志文件的方式来分析整个系统的运行情况和服务情况。受限于人的时间和精力, 这种方式则会造成日志中许多有用的信息被忽略,从而导致了日志中数据的大 量浪费。
在这样的背景下,当前在日志文件分析和数据挖掘方向的工作成为了研究 热点,特别是对于大规模分布式系统下的故障预测的研究工作,具有巨大的实 际应用价值。然而,目前在大规模分布式系统下的故障预测仍然缺乏一个比较 成熟可靠的解决方案。
发明内容
为解决现有存在的技术问题,本发明实施例提供了一种故障预测方法、服 务器和计算机存储介质。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种故障预测方法,所述方法包括:
基于故障的预设属性,对收集的第一故障日志进行聚合处理,以获取超故 障集合;
从所述超故障集合中提取出在预设的滑动时间窗口中出现频数大于第一预 设阈值的故障序列作为频繁故障序列,以得到频繁故障序列集合;
从所述频繁故障序列集合中选择出任意两个超故障之间的关联度均大于第 二预设阈值的频繁故障序列作为关键序列,以得到关键序列集合;
基于所述关键序列集合构建故障传播树;
根据所述故障传播树以及获取的第二故障日志,进行故障预测。
上述方案中,可选地,所述基于故障的预设属性,对收集的故障日志进行 聚合处理,以获取超故障集合,包括:
获取收集的第一故障日志中故障的预设属性;
将具有至少M个相同预设属性的故障合成一个超故障;其中,所述M为 大于或等于1的正整数;
将所述合成的至少一个超故障合成一个超故障集合。
上述方案中,可选地,所述从所述超故障集合中提取出在预设的滑动时间 窗口中出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁 故障序列集合,包括:
基于所述超故障集合中故障的类型,确定滑动时间窗口的大小;
基于确定出的滑动时间窗口大小,在所述超故障集合上进行滑动;
确定出由位于当前滑动时间窗口内的各个超故障所能形成的多个故障序列;
从所述多个故障序列中提取出现频数大于第一预设阈值的故障序列;
将所述出现频数大于第一预设阈值的故障序列判定为频繁故障序列将所确 定出的各个所述频繁故障序列形成频繁故障序列集。
上述方案中,可选地,所述确定滑动时间窗口的大小,包括:
确定作为滑动起点的超故障的故障类型;
确定与所述故障类型对应的引发一条完整故障链所需的时间,以及第一预 设阈值;
根据所述引发一条完整故障链所需的时间,以及所述第一预设阈值,计算 得到与所述故障类型相匹配的滑动时间窗口的大小。
上述方案中,可选地,所述从所述频繁故障序列集合中提取出任意两个故 障之间的关联度均大于第二预设阈值的频繁故障序列作为关键序列,包括:
确定每个频繁故障序列中任意两个超故障之间的关联度;
若确定所述频繁故障序列中任意两个超故障之间的关联度都大于第二预设 阈值,则将所述频繁故障序列判定为关键序列。
本发明实施例提供了一种服务器,所述服务器包括:聚合单元、提取单元、 选择单元、构建单元和预测单元;其中,
所述聚合单元,用于基于故障的预设属性,对收集的第一故障日志进行聚 合处理,以获取超故障集合;
所述提取单元,用于从所述超故障集合中提取出在预设的滑动时间窗口中 出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障序 列集合滑动时间窗口;
所述选择单元,用于从所述频繁故障序列集合中提取出任意两个超故障之 间的关联度均大于第二预设阈值的频繁故障序列作为关键序列,以得到关键序 列集合;
所述构建单元,用于基于所述关键序列集合构建故障传播树;
所述预测单元,用于根据获取的第二故障日志,以及所述故障传播树,进 行故障预测。
上述方案中,可选地,所述聚合单元,还用于:
获取收集的第一故障日志中故障的预设属性;
将具有至少M个相同预设属性特征的故障合成一个超故障;其中,所述M 为大于或等于1的正整数;
将所述合成的至少一个超故障合成一个超故障集合。
上述方案中,可选地,所述提取单元,还用于:
基于所述超故障集合中故障的类型,确定滑动时间窗口的大小;
基于确定出的滑动时间窗口大小,在所述超故障集合上进行滑动;
确定出由位于当前滑动时间窗口内的各个超故障所能形成的多个故障序列;
从所述多个故障序列中提取出现频数大于第一预设阈值的故障序列;
将所述出现频数大于第一预设阈值的故障序列判定为频繁故障序列;
将所确定出的各个所述频繁故障序列形成频繁故障序列集。
上述方案中,可选地,所述提取单元,还用于:
确定作为滑动起点的超故障的故障类型;
确定与所述故障类型对应的引发一条完整故障链所需的时间,以及第一预 设阈值;
根据所述引发一条完整故障链所需的时间,以及所述第一预设阈值,计算 得到与所述故障类型相匹配的滑动时间窗口的大小。
上述方案中,可选地,所述选择单元,还用于:
确定每个频繁故障序列中任意两个超故障之间的关联度;
若确定所述频繁故障序列中任意两个超故障之间的关联度都大于第二预设 阈值,则将所述频繁故障序列判定为关键序列。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机指令,该 指令被处理器执行时实现本发明实施例所述的故障预测方法的步骤。
本发明实施例还提供了一种服务器,包括存储器、处理器及存储在存储器 上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明 实施例所述的故障预测方法的步骤。
本发明实施例提供的故障预测方法、服务器和计算机存储介质,所述方法 包括:基于故障的预设属性,对收集的第一故障日志进行聚合处理,以获取超 故障集合;从所述超故障集合中提取出在预设的滑动时间窗口中出现频数大于 第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障序列集合;从所 述频繁故障序列集合中选择出任意两个超故障之间的关联度均大于第二预设阈 值的频繁故障序列作为关键序列,以得到关键序列集合;基于所述关键序列集 合构建故障传播树;根据所述故障传播树以及获取的第二故障日志,进行故障 预测。采用本发明实施例的技术方案,通过对收集的故障日志进行聚合处理, 降低了将同一滑动时间窗口内的并行发生的不同故障被合并为同一故障的可能性,可以有效地将相似故障做归一化的处理;通过利用故障传播树中蕴含的预 测规则对下一步将要发生的故障进行预测,能够有效地对系统故障做出预测。
附图说明
图1为本发明实施例的故障预测方法的流程示意图;
图2为本发明实施例的基于滑动时间窗口的故障关联挖掘模型示意图;
图3为本发明实施例的超故障序列示意图;
图4为本发明实施例基于CCM对频繁故障序列进行分类的过程示意图;
图5为根据关键序列构建故障传播树的示意图,其中,图5中(1)表示用 于构建故障传播树的关键序列示意图,图5中(2)表示根据前两个关键序列构 建的故障传播树1,图5中(3)表示根据四个关键序列构建的故障传播树2。
图6为本发明实施例的线下故障传播树与线上故障传播树生成过程示意图, 其中,图6中(1)表示线下故障传播树;图6中(2)表示线上故障传播树生 成过程示意图;
图7为本发明实施例的故障关联分析错误情况示意图,其中,图7中(1) 表示一个故障序列模式中的故障被分到两个不同的窗口中示意图,图7中(2) 表示两个完整的无关的故障序列模式被划分到一个窗口示意图;
图8为本发明实施例的滑动窗口大小示意图;
图9为本发明实施例的利用离线故障日志数据构建出的线下故障传播树示 意图;
图10为本发明实施例的服务器的一种组成结构示意图;
图11为本发明实施例的服务器的硬件组成结构示意图。
具体实施方式
为了更好地理解本发明的技术方案,下面再介绍一下现有的故障预测方案。
现有的技术方案多是将实现难度较大的数据挖掘算法应用于经过聚合处理 后的故障日志集合,例如:基于隐半马尔可夫模型的云计算平台系统故障预测 方法、基于模糊神经网络的故障预测方法以及基于改进随机森林算法的软件故 障预测系统及其方法等。
下面简单介绍一下基于隐半马尔可夫模型的云计算平台系统故障预测方法。 其基本步骤可以描述为:故障的提取、故障的合并、合并故障序列、故障序列 聚类、噪声消除,最后进行在线故障预测。
步骤1,故障的提取:实时地对云计算平台生成的日志数据进行处理,从 非结构化的日志文件中,将这些日志文件中包含的故障提取出来,然后使用编 辑距离算法将类似的故障记录合并,并对得到的故障赋予类型和时间信息。
步骤2,故障的合并:从这些故障记录中,将重复记录的同一个故障合并 为同一故障。
这里,步骤2的主要作用是合并日志文件中重复记录的故障,由于在日志 机制中,日志文件中可能会存在多条重复记录的故障,称为重复故障。对于重 复故障的合并有许多研究和应用,根据系统的特点,采用时间窗的方法,将所 有到达时间小于一个阈值ε的故障视为重复故障,并将之合并。重复故障合并 效果的好坏关键在于ε的取值,具体的取值应结合具体系统实验决定。
步骤3,合并故障序列:根据具体的提取规则和时间窗(阈值ε)大小,将 若干个合并后连续的故障组合成为故障序列,并将故障序列划分成为故障相关 序列和故障无关序列。
这里,步骤3的主要作用是将分散的故障记录合并为一个完整的故障序列, 以故障序列为单位进行计算。在完成故障的提取之后,这一步的目的是将分散 的故障组合并为连续的故障序列。按照一定的滑动时间窗口区间,将同一个窗 口内的所有的故障串联起来成为一个故障序列,同时根据该序列是否导致了系 统故障,将所有的故障序列划分成为故障相关序列和故障无关序列。所谓的故 障相关序列是指可能引起系统故障的故障的集合。
步骤4,故障序列聚类:计算不同的故障序列之间的“序列似然值”作为 相似度,对所有的故障序列进行聚类。步骤4的目的是对相似度大于某一预设 阈值的故障进行聚类。
步骤5,噪声消除:在每一类内部进行噪声消除,通过对比计算,得到代 表该类别的故障序列。
步骤6,在线故障预测:具体实施过程如下所示:
首先计算出待检测的故障序列相对于故障相关隐半马尔可夫模型(HSMM, hid-den sem-iMarkovmodels)和故障无关的HSMM的“序列似然值”,将这两 个“序列似然值”输入到贝叶斯分类器内,根据公式预设来做最后的预测判断。
但是,上述故障预测方法存在以下几方面问题:
1、故障合并的方法过于粗糙,以预设的一个时间窗(阈值ε)来将一系列 故障认为是重复故障的方法过于粗糙。比如,并行的两个不同故障可能在很短 的一个时间间隔内产生错误日志,这种方法就会这两个并行的故障认为是重复 故障。
2、算法实现难度大。现有的故障预测方案多是采用神经网络相关算法进行 数据挖掘,其理论难度大,实现起来非常困难。
在分布式或微服务系统架构中,节点之间、组件模块之前往往有很高的耦 合性,当某个节点或者模块产生故障之后,依赖该模块的相关模块往往也会产 生故障日志,根据经验与推测我们可以认为这些故障日志的产生基本都在同一 时间段内。虽然日志系统对系统的故障都完整地记录下来了,但是这些大量的 冗余故障日志信息仍然给管理员判断故障的根本原因造成了很大的困难。
为了解决上述这些问题,本发明提出一种基于滑动时间窗口的故障关联分 析算法,对故障之间的关联性进行分析,把由同一个故障引起的所有故障日志 都聚到一起,形成一棵故障传播树,并按照发生的时间先后顺序排序,为系统 管理员判断故障的根本原因提供了很大的帮助。
下面结合附图及具体实施例对本发明作进一步详细的说明。
实施例一
本发明实施例提供了一种故障预测方法。图1为本发明实施例的故障预测 方法的流程示意图,如图1所示,所述方法包括:
步骤101:基于故障的预设属性,对收集的第一故障日志进行聚合处理, 以获取超故障集合。
在一些可选实施例中,所述基于故障的预设属性,对收集的第一故障日志 进行聚合处理,以获取超故障集合,具体来说,可以首先,获取收集的第一故 障日志中故障的预设属性;然后,将具有至少M个相同预设属性的故障合成一 个超故障;其中,M为大于或等于1的正整数;最后,将所述合成的至少一个 超故障合成一个超故障集合。这里,所述预设属性是对故障日志的属性特征的 分类,每一个故障都包含有一些特定属性,所述预设属性可以包括:源IP地址、 目的IP地址、源和目的端口号、故障类型、故障的严重程度、时间戳,等等。
这里,所述第一故障日志是某一时间段内的故障日志。
这里,所采用的故障日志聚合方法不仅仅考虑了故障在时间的相似性,还 为每一个故障加入了一系列的属性特征,比如源IP地址、目的IP地址、源和 目的端口号、故障类型、故障的严重程度和时间戳等等,这样便可以更加细粒 度地对这些故障进行合并,从而降低了将相似时间(同一滑动时间窗口内)的 并行发生的不同故障被合并为同一故障的可能性,可以有效地将相似故障做归 一化的处理。
其中,所述超故障集合由多个超故障组成,每个所述超故障包括属于同一 故障类型的多个故障。
在一些可选实施例中,为了便于后续的故障分析与管理,对收集的第一故 障日志进行聚合处理之前,还可以对收集的第一故障日志进行降噪及去重处理。
步骤102:从所述超故障集合中提取出在预设的滑动时间窗口中出现频数 大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障序列集合。
在一些可选实施例中,所述从所述超故障集合中提取出在预设的滑动时间 窗口中出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁 故障序列集合,具体则可以首先,基于所述超故障集合中故障的类型,确定滑 动时间窗口的大小;然后,基于确定出的滑动时间窗口大小,在所述超故障集 合上进行滑动;再然后,确定出由位于当前滑动时间窗口内的各个超故障所能 形成的多个故障序列;接着,从所述多个故障序列中提取出现频数大于第一预 设阈值的故障序列;最后,将所述出现频数大于第一预设阈值的故障序列判定 为频繁故障序列将所确定出的各个所述频繁故障序列形成频繁故障序列集。
也就是说,可以首先,基于确定出的滑动时间窗口大小,在故障序列上进 行滑动;然后,对每次滑动所确定出的窗口内的故障日志,查找出在所述窗口 中出现频数大于预设阈值的故障序列,并将所述故障序列判定为频繁故障序列; 最后,将各个频繁故障序列组合成频繁故障序列集。也就是说,可以将出现频 数大于系统关联分析设定的支持度的故障序列,称之为频繁故障序列。
可选地,所述确定滑动时间窗口的大小,具体来说,可以首先,确定作为 滑动起点的超故障的故障类型;然后,确定与所述故障类型对应的引发一条完 整故障链所需的时间,以及第一预设阈值;最后,根据所述引发一条完整故障 链所需的时间,以及所述第一预设阈值,计算得到与所述故障类型相匹配的滑 动时间窗口的大小。这里,所述第一预设阈值是系统关联分析设定的支持度。
比如,滑动时间窗口的大小=所述引发一条完整故障链所需的时间T乘以 以及所述系统关联分析设定的支持度support。
步骤103:从所述频繁故障序列集合中选择出任意两个超故障之间的关联 度均大于第二预设阈值的频繁故障序列作为关键序列,以得到关键序列集合。
在一些可选实施例中,所述从所述频繁故障序列集合中提取出任意两个故 障之间的关联度均大于第二预设阈值的频繁故障序列作为关键序列,具体来说, 可以首先,确定每个频繁故障序列中任意两个超故障之间的关联度;然后,若 确定所述频繁故障序列中任意两个超故障之间的关联度都大于第二预设阈值, 则将所述频繁故障序列判定为关键序列。其中,可以根据每个超故障包含的多 个相关属性来计算两个超故障之间的关联度,具体可参照下文中提到的公式(2) 和(3)来理解,在此不做详细描述。
在一些可选实施例中,可选地,根据因果关系矩阵(CCM)对所述频繁序 故障列集中的频繁故障序列进行分类。
具体地,对于一个频繁序列<A_1,A_2,…,A_n>,如果其中的任意两个故障 之间的关联度都大于预设的阈值τ,则称这样的频繁序列为一个关键序列。当 一个频繁序列中至少存在一对故障之间的关联度小于预设的阈值τ,则称这样 的频繁序列为一般序列。
对于故障序列A_1,A_2,…,A_n,CCM是一个n×n的矩阵,矩阵中的数字 代表两个超故障之间的关联度,具体详见下文表1及其相关内容,在此不做详 细描述。
作为一种实施方式,所述根据因果关系矩阵对所述频繁序故障列集中的频 繁故障序列进行分类,具体来说,可以首先,基于因果关系矩阵将频繁故障序 列集中的频繁故障序列分成为第一类故障序列和第二类故障序列,其中,所述 第一类故障序列用于构建故障传播树,所述第二类故障序列用于挖掘潜在的故 障模式;然后,将分类得到的各个第一类故障序列组成关键序列集合。其中, 所述第一类故障序列又可称为关键序列,所述第二类故障序列又可称为一般序 列。
步骤104:基于所述关键序列集合构建故障传播树。
具体地,根据关键序列集合分析出某一故障发生之后有可能出现哪些故障, 从而构建出关于各个故障之间的故障传播树。
这里,基于所述关键序列集合构建故障传播树的过程与现有技术中的构建 过程相似,在此不再赘述。
步骤105:根据所述故障传播树以及获取的第二故障日志,进行故障预测。
这里,所述第二故障日志是某一时间段内的故障日志。
需要说明的是,第二故障日志与第一故障日志,可以是相同时间段内的故 障日志,比如都是第一时间段内的故障日志;也可以是不同时间段内的故障日 志,比如,第一故障日志是第一时间段内的故障日志,第二故障日志是第二时 间段内的故障日志。
上述方案中,可选地,所述根据所述故障传播树以及获取的第二故障日志, 进行故障预测,具体来说,可以首先,根据获取的第二故障日志生成线上故障 传播树;然后,利用所述故障传播树提供的预测规则,对所述线上故障传播树 的下一步故障进行预测。
这里,若用第二故障日志替换步骤101中的第一故障日志,采用步骤101 至104所述流程即可生成线上故障传播树,在此不再赘述。
也就是说,可以利用线下故障传播树提供的预测规则,对线上故障传播树 的下一步故障进行预测。
其中,线下故障传播树为利用已经聚合存储的大量故障日志构建生成的树, 而线上故障传播树则是利用线上实时生成的故障日志构建的树。
可以理解,线下故障传播树可以是根据第一故障日志生成的树,线上故障 传播树可以是根据第二故障日志生成的树。
进一步地,步骤105之后,所述方法还包括:
基于预测结果确定相关解决措施;
执行所述相关解决措施,以避免故障传播树的下一步故障产生。
这里,所述相关解决措施是针对预测得到的下一步故障而言的,不同故障 对应的解决措施不同。所述相关解决措施是能避免故障传播树的下一步故障产 生的措施。
本实施例的故障预测方法可应用于服务器中,所述服务器可以是云计算平 台,或者还可以是终端运行的应用程序对应的服务器。
相对于现有技术单一的故障合并方法,本发明所采用的日志聚合方法不仅 仅考虑了故障在时间的相似性,还为每一个故障加入了一系列的属性特征,这 样便可以更加细粒度地对这些故障进行合并,从而降低了将相似时间(同一滑 动时间窗口内)的并行发生的不同故障被合并为同一故障的可能性,可以有效 地将相似故障做归一化的处理。利用线下故障传播树提供的预测规则,可以实 现实时预测线上故障传播树的下一步故障,从而能够有效地对系统故障做出预 测。然后及时采取相关措施阻止故障的进一步传播,从而避免更大的故障产生, 减少原始故障对系统带来的影响。
实施例二
本发明实施例一所述方案是基于同源的故障都会发生在相近的时间段内这 一想法来实现的。具体的方法是:首先,服务器对收集上来的故障日志进行聚 合操作,去除一些重复的无关的数据;然后,设定一个滑动时间窗口,该窗口 在故障序列上滑动,对于每次滑动,对窗口内的故障日志进行关联规则分析, 从中提取出频繁序列集,提取出的频繁序列集再根据相应的规则进行划分(分 为关键序列和一般序列),最终得出的序列即可认为是一系列同源故障,由此构 造出故障传播树,并将其应用于故障预测与定位。图2示出了基于滑动时间窗 口的故障关联挖掘模型,从图2可以看出,该模型包括五个阶段,即对多源故障序列的聚合、频繁模式的选取、故障模式的检测、故障模式的预测和挖掘潜 在的故障模式步骤等。本发明的重点是对故障之间的关联性进行挖掘分析,从 而预测系统故障。其中,第五阶段是利用一般序列挖掘潜在的故障模式,因此 这里只是对前四个阶段进行详细叙述。
阶段一,聚合。
将服务器中各个节点模块产生的故障日志都汇集到一个中心节点上存储。 聚合阶段的主要任务就是对收集上来的所有故障日志进行降噪、去重处理,以 便后续的故障分析与管理。每一个故障都包含有一些特定属性,其中最重要的 属性可以概述为:源IP地址、目的IP地址、源和目的端口号、故障类型、故 障的严重程度、时间戳。在某一预设的时间间隔内,如果存在一个故障集合, 这个故障集合中每一项故障均具有一些相同的属性,在实际应用中,具体则可 以预设故障集合中的各故障的某些属性相同,或者相同的属性个数大于预设的 个数,则可以将这个集合中所有故障视为相似故障,并称这样的一个集合为一个超故障。
阶段二,频繁模式提取。
频繁序列定义:从一个滑动窗口中提取出的序列在该滑动窗口中出现的频 数大于先前定义的最小支持度(即根据实际情况设定的出现频数的阈值),则称 该序列为一个频繁序列。图3给出一个提取频繁故障序列例子的示意图,需要 注意的是,为节省空间,图3中并没有画全30个故障,请以序列(1)中的各 故障的序号为准。
图3中表示的超故障序列中的频繁序列是<E,A,B>,因为在一个滑动窗口中 超故障E、A和B先后出现的频数为8,大于设定的最小支持度。重复出现的8 次序列具体如下:
阶段三,故障模式检测。
根据因果关系矩阵,对阶段二中提取的频繁序列进行关联性分析,可以将 频繁序列分为关键序列和一般序列。
因果关系矩阵(CCM)定义:因果关系矩阵定义了一个故障序列中每两个 故障之间的关联度。对于故障序列A1,A2,…,An,CCM是一个n×n的矩阵,表 1是一个CCM的举例。
表1因果关联矩阵实例
故障类型 A1 A2 A3 A4
A1 0 0.5 0 0.25
A2 0 0.5 0.5 0.5
A3 0 0.25 0.25 0.5
A4 0.25 0.5 0 0
其中的数字代表两个超故障之间的关联度,CCM通常不是对称的矩阵。例 如,A1与A2之间的关联度而A2与A1之间的关联度由于超故障之间是按照时间的先后顺序排序的,因此两个超故障出现的时间顺 序不一样则他们之间的关联度就不一样。当时,则认为超故障Ai与 Aj是相关的,τ是事先定义的一个阈值。
对于每一对超故障集合Ai,Aj∈G都有n个相关属性x1,x2,…,xn和 y1,y2,…,yn,两个故障集合之间的关联度可以用公式(2)来确定:
其中Sim(ai[tsk],aj[tsk])表示超故障Ai,Aj的属性tk集合之间的关联度,其可 以通过公式(3)来确定:
其中,|ai[tsk]|表示超故障Ai的属性tk集合的大小,sim(tik,tjk)表示单一属 性tik,tjk之间的关联度。对于不同的属性类型,其两两之间的关联度的计算方法 也不一样。例如,计算两个IP地址之间的关联度的方法为:sim(IPi,IPj)=k/32,k 表示两个IP地址的二进制序列的最长相同前缀的长度,32为IP地址的总长度。
关键序列定义:对于一个频繁序列<A1,A2,…,An>,如果其中的任意两个故 障之间的关联度都大于预设的阈值τ,则称这样的频繁序列为一个关键序列。可 以表示为,
一般序列定义:一般序列与关键序列相对,当一个频繁序列中至少存在一 对故障之间的关联度小于预设的阈值τ,则称这样的频繁序列为一般序列。这便 说明这样的序列中存在假故障或者是其它故障模式的一个子序列。这对于挖掘 潜在的故障模式有着很大的帮助。
基于CCM对频繁故障序列进行分类(分为关键序列和一般序列)的过程 可以用图4表示:
步骤401,在频繁故障序列中,以长度L=2的滑动时间窗口进行滑动;
步骤402,确定出大于预设最小支持度的频繁序列α;
步骤403,确定频繁序列α是否符合因果关系矩阵CCM,即确定频繁序列 α中任意两个故障之间的关联度是否都大于预设的阈值τ,若都大于预设的阈值 τ,则确定频繁序列α符合因果关系矩阵CCM;
步骤404,若确定频繁序列α符合因果关系矩阵CCM,则确定α为关键序 列,将α加入到关键序列集合A中;
步骤405,若确定频繁序列α不符合因果关系矩阵CCM,则确定α为一般 序列,将α加入到一般序列集合B中;
步骤406,将滑动时间窗口加1,即使得L=L+1;
步骤407,在L小于等于最大长度时,确定是否存在长度为L的序列α; 若确定存在长度为L的序列α,则取出长度为L的频繁序列α,再继续执行步 骤403;
步骤408,若确定不存在长度为L的序列α,则将关键序列集合A传送至 故障预测阶段即阶段四,将一般序列结合B传送至故障挖掘阶段即阶段五。
从每一个序列窗口中提取出的关键序列用于构建故障传播树,提取出的一 般序列用于挖掘潜在的故障模式,找出可能出现的其它相关故障。
故障传播树定义:
故障传播树的定义式可以表示为AT=(T,≤,f),其中:
(1)T是一个超故障的集合;
(2)≤规定了集合T中的元素都是按照时间先后顺序进行排序的;
(3)f是一个三元组函数f(a)=<A,ef,ew>。其中A定义了故障传播树中节 点的类型,ef代表从根节点到节点A的路径序列出现的频数(即出现的次数), ew代表包含根节点到节点A对应的路径序列的在某一预设的滑动窗口滑动时 出现的总次数。
初始阶段,故障传播树只有一个根节点(null节点),然后利用挖掘出的关 键序列来更新这棵故障传播树。具体更新策略为:若确定当前关键序列的前缀 跟故障传播树中的任何序列的前缀都不匹配,则将该序列加到根节点上,反之 则追加到匹配的子树序列下;若确定当前关键序列是故障传播树中已存在的一 个序列的子序列,则丢弃这个关键序列。
以下给出一个构建故障传播树的例子。图5中(1)图示出了用于构建故障 传播树的关键序列示意图,e1(A→B),e2(A→B→C),e3(A→D→F),e4 (A→D→G→H)是四个关键序列,根据这4个关键序列构建出故障传播树, 如图5中(2)图和(3)图所示。图5中(2)示出的是根据前两个关键序列e1和e2构 建的故障传播树1的示意图,图5中(3)示出的则是根据关键序列e1、e2、e3和e4来构建的故障传播树2的示意图。
每次根据已有的CCM挖掘出关键序列之后,都需要对现有的因果关系矩 阵(CCM)进行更新。具体首先可以通过公式(4)确定两个超故障A1和A2之 间的置信度,即超故障A1出现的情况下出现超故障A2的概率即然后通 过公式(5)确定加入置信度的超故障A1和A2之间相关系数,最后通过公式 (6)确定更新后的超故障A1和A2之间相关系数。
wc(a1,a2)=sim(a1,a2)·confidence(a1,a2)(5)
其中,confidence(a1,a2)定义了两个超故障之间的置信度,即超故障A1出 现的情况下出现超故障A2的概率即sim(a1,a2)为之前计算的两个超故 障类型之间的相关系数。
阶段四:预测
上一步中生成的故障传播树分两种:线上故障传播树和线下故障传播树。 其中,线下故障传播树为利用已经聚合存储的大量故障日志构建生成的树,而 线上故障传播树则是利用线上实时生成的故障日志构建的树。在预测阶段,本 提案可以利用线下故障传播树来预测线上实时故障场景的下一步,即下一步可 能发生的故障有哪些。如图6所示,对于图6中(1)所示的B节点而言,其 数值(15,10)中,15代表节点B到根节点A的序列在所有故障序列中出现 的频数,30则是代表以预设的滑动时间窗口在确定的频繁序列中滑动时,节点B到根节点A的序列在滑动时间窗口中出现的总次数。
需要说明的是,对于阶段四而言,图6中(2)为一个线上故障树的生成过 程示例图,其中,对于第一步(即图6中(2)中的第一个图)中的故障A节 点,其线上故障树的生成过程包括下述步骤:
首先,服务器获取线上产生的故障日志;
然后,解析该故障日志,确定根节点到故障A的路径序列出现的频数ef(由 于故障A为根节点,则这里确定的则是故障A出现的次数)、以及包含根节点 到A即包含故障A(因为这里根节点即为故障A)对应的路径序列的在某一预 设的滑动窗口滑动时出现的总次数ew,其中,ef和ew为上文所述的三元组函数 f(a)=<A,ef,ew>中的第二个元素和第三个元素;
最后,根据确定的ef和ew以及阶段三确定的线下故障传播树,来对故障节 点A进行故障预测,即预测故障节点A的下一步可能发生哪些故障,以及这些 可能发生的故障的概率,具体计算过程可详见下面的例子。
此外,对于图6中(2)表示的线上故障树生成过程,线上故障数目和类型 是在不断地更新的,即括号中的两个数值随着时间的变化是在不断更新的。
假设A是线上树的一个叶子节点,ei是线上树中从根节点开始到叶子结点A 的路径,ej是线下树中满足条件ei∈ej的一条路径,且ei跟ej的一个前缀相同, 以图6中(1)中的线下故障树为例,路径A→B属于路径A→B→C,路径A →B与路径A→B→C的前缀相同,均为A→B。那么对于每一个叶子结点A, 线下树中所有满足ek∈ej且A包含于ek的路径都看作是叶子结点A的预测规则, 从这些预测规则中选出一个可能性最大的作为最终预测的故障模式。对于所有 预测规则集合ek中相同长度的规则,我们可以放到一起进行比较,通过计算它 们各自的可能性大小得出一个最有可能的规则模式。以上对叶子结点A的预测 规则的描述用数学式子表示为:
对于大小为n的规则我们构建两个大小为n+1的集合F<A>
(1)其中f(A)[2]为线上故障传播树节点A对应的三 元组的第二个元素(从根节点到节点A的路径序列出现的频数),f(A)[3]为三元 组的第三个元素(包含根节点到节点a对应的路径序列的滑动窗口总数),F<A>集 合的大小为n+1;
(2)假设ek=<B1,…,Bn>,则f(A)[2]为线下故障传播树节点A对应的三元组的第二个元素,依次类推,其中,以图5(1) 为例,当路径ek为A→B时,则ek=<B>,则而当路径ek为A→D时,则ek=<D>,则
有了上面的集合定义之后,首先可以通过公式(7)来确定线上故障A发 生的概率相对于线下故障树中故障A发生的概率的偏差,然后通过公式(8) 来确定线上故障A相对于线下故障树中故障A发生的概率的平均偏差,最后通 过公式(9)计算叶子结点A的所有预测规则的可能性,即发生故障A的可能 性。
其中F<A>的大小为n+1(7)
对于图6中(1)和图6中(2)中给出的线上故障传播树和线下故障传播 树,对节点故障A节点的预测规则有对照上述公式可以 计算出它们的可能性分别为50%和41.7%,由于预测规则的可能性50% 大于预测规则的可能性,则取可能性较大的预测规则其中, ek时,n=1,这里的n为一个预测 规则中从根节点到待预测节点A的节点数目,由于这里的根节点为A,则n=1(当 待预测节点为A时,n=1,当待预测节点为B时,n=2),代入上述公式得到待 预测节点A发生故障B的可能性为时,n=1,代入上述公式得到待预 测节点A发生故障D的可能性为
上述方案的技术效果,包括:
基于滑动时间窗口的故障关联度算法从云平台中大量的故障日志数据中挖 掘出故障之间的关联度,随着时间和数据量的增加,逐渐形成一个故障关联知 识库,即前面提到的离线故障传播树。由于任何一个故障都不可能独立地出现, 不是由它引发了其它故障,就是其它故障引发了该故障,本提案根据故障之间 这种关联关系来构建故障传播树。利用这个故障传播树,对于平台中出现的任 何故障便可以追根朔源找到它产生的原因,这样一来运维人员便可以很快定位 到故障的发生的源头即故障发生的根本原因,并有针对性地给出解决方案。同 时利用线上实时产生的故障日志,可以实时地进行故障传播树的构建,即前面 提到的线上故障传播树,结合线上故障树和线下故障传播树知识库,能够实现对平台将要出现的故障进行预测。
不恰当的滑动时间窗口大小可能会存在的问题:在基于滑动时间窗口的故 障关联分析算法中,滑动时间窗口大小的选择对最终的分析结果影响很大。不 恰当的滑动时间窗口大小可能会存在以下两方面问题:一是,将一个完整的故 障序列模式截断了,这种错误发生在这个故障序列模式的时间跨度大于设定的 滑动时间窗口大小时,这就导致一个故障序列模式中的故障被分到两个不同的 窗口中,如图7中(1)所示;二是,两个完整的无关的故障序列模式被划分到 一个窗口中了,这种错误发生在事先设定的滑动时间窗口大于两个故障序列模 式的时间跨度之和,这导致挖掘出的序列是两个无关故障模式的集合,如图7 中(2)所示。
其中,上述滑动窗口的确定方法:本发明实施例提出一种设定一个合理窗 口大小的方法。针对不同的故障类型,根据实际的实验经验确定某一种故障类 型引发一条完整故障链所需的时间T,以及系统关联分析设定的支持度support, 则滑动时间窗口的大小则可以通过公式(10)来确定。
Lwnd=T×support (10)
所以,滑动时间窗口的大小是随着故障类型的不同而变化的。例如图8中 滑动时间窗口wt1,wt2,wt3的大小随着故障L1,L2,L3的不同而变化。
综上所述,本发明实施例所述故障预测方法至少具有以下优势:
1、与现有技术单一的故障合并方法不同的是,本发明所采用的日志聚合方 法不仅仅考虑了故障在时间的相似性,还为每一个故障加入了一系列的属性特 征,这样便可以更加细粒度地对这些故障进行合并,从而降低了将相似时间(同 一滑动时间窗口内)的并行发生的不同故障被合并为同一故障的可能性,可以 有效地将相似故障做归一化的处理。
2、最后利用故障传播树中蕴含的预测规则对下一步将要发生的故障进行预 测,从而能够有效地对系统故障做出预测。
为验证本发明所提供故障预测方法的可行性,发明人对该方法的可行性进 行了验证。
试验中,利用离线故障日志数据构建出的一个线下故障传播树如图9所示。
系统根据当前云平台的故障发生情况做出预测,实验中检测到先是发生了 故障A,然后发生了故障D,根据已有的知识做出了如下预测:接下来将发生 用户无法存取文件或者用户无法打开网盘这两个故障,这两个故障出现的概率 分别是40%和50%。而事实证明,在经过短暂的时间之后系统收集上来的日志 就显示云平台发生了用户无法打开网盘这个故障。
除了上述的个别场景测试,实验室中通过对三个场景(用户登录、虚拟机 创建和打开应用)的测试,收集了3组测试样本数据。测试中采用预测准确率 来衡量预测结果的准确性。预测准确率的计算公式如公式(11),即正确的预测 规则数量在总的预测规则中所占的比例。实验结果如表2。
表2预测准确率表
数据集 用户登录 虚拟机创建 打开应用 总体
预测准确率 99.1% 89.8% 91.2% 97.6%
从表2可以看出,采用本发明所述的故障预测方法,准确率很高,该方案 可行性强。
实施例三
本发明实施例还提供了一种服务器。图10为本发明实施例的服务器的一种 组成结构示意图;如图10所示,所述服务器包括:聚合单元11、提取单元12、 确定单元13、构建单元14和预测单元15;其中,
所述聚合单元11,用于基于故障的预设属性,对收集的第一故障日志进行 聚合处理,以获取超故障集合;
所述提取单元12,用于从所述超故障集合中提取出在预设的滑动时间窗口 中出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障 序列集合滑动时间窗口;
所述确定单元13,用于从所述频繁故障序列集合中提取出任意两个超故障 之间的关联度均大于第二预设阈值的频繁故障序列作为关键序列,以得到关键 序列集合;
所述构建单元14,用于基于所述关键序列集合构建故障传播树;
所述预测单元15,用于根据获取的第二故障日志,以及所述故障传播树, 进行故障预测。
上述方案中,可选地,所述聚合单元11,还用于:
获取收集的第一故障日志中故障的预设属性;
将具有至少M个相同预设属性特征的故障合成一个超故障;其中,所述M 为大于或等于1的正整数;
将所述合成的至少一个超故障合成一个超故障集合。
上述方案中,可选地,所述提取单元12,还用于:
基于所述超故障集合中故障的类型,确定滑动时间窗口的大小;
基于确定出的滑动时间窗口大小,在所述超故障集合上进行滑动;
确定出由位于当前滑动时间窗口内的各个超故障所能形成的多个故障序列;
从所述多个故障序列中提取出现频数大于第一预设阈值的故障序列;
将所述出现频数大于第一预设阈值的故障序列判定为频繁故障序列;
将所确定出的各个所述频繁故障序列形成频繁故障序列集。
上述方案中,可选地,所述提取单元12,还用于:
确定作为滑动起点的超故障的故障类型;
确定与所述故障类型对应的引发一条完整故障链所需的时间,以及第一预 设阈值;
根据所述引发一条完整故障链所需的时间,以及所述第一预设阈值,计算 得到与所述故障类型相匹配的滑动时间窗口的大小。
上述方案中,可选地,所述确定单元13,还用于:
确定每个频繁故障序列中任意两个超故障之间的关联度;
若确定所述频繁故障序列中任意两个超故障之间的关联度都大于第二预设 阈值,则将所述频繁故障序列判定为关键序列。
需要说明的是:上述实施例提供的服务器在进行故障预测时,仅以上述各 程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配 由不同的程序模块完成,即将服务器的内部结构划分成不同的程序模块,以完 成以上描述的全部或者部分处理。另外,上述实施例提供的服务器与故障预测 方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例中,所述服务器中的聚合单元11、提取单元12、确定单元 13、构建单元14和预测单元15,在实际应用中均可由所述服务器中的中央处 理器(CPU,CentralProcessingUnit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA, Field-Programmable GateArray)实现。
实施例四
本发明实施例还提供了一种服务器。图11为本发明实施例的服务器的硬件 组成结构示意图,如图11所示,服务器包括:至少一个处理器41、存储器42 及存储在存储器42上并可在处理器41上运行的计算机程序,服务器还包括通 信接口43;服务器中的各个组件通过总线系统44耦合在一起。可理解,总线 系统44用于实现这些组件之间的连接通信。总线系统44除包括数据总线之外, 还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11 中将各种总线都标为总线系统44。
可以理解,存储器42可以是易失性存储器或非易失性存储器,也可包括易 失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM, Read OnlyMemory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM, ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存 储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表 面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储 器(RAM,RandomAccess Memory),其用作外部高速缓存。通过示例性但不 是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM, Static Random Access Memory)、同步静态随机存取存储器(SSRAM, Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM, Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存 取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM, SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器 (DRRAM,Direct Rambus Random AccessMemory)。本发明实施例描述的存储 器42旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器41中,或者由处理器41 实现。处理器41可能是一种集成电路芯片,具有信号的处理能力。在实现过程 中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形 式的指令完成。上述的处理器41可以是通用处理器、DSP,或者其他可编程逻 辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器41可以实现或 者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是 微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤, 可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器42, 处理器41读取存储器42中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,服务器可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD, ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、微处理器 (Microprocessor)、或其他电子元件实现,用于执行前述方法。
本实施例中,所述处理器41执行所述程序时实现:基于故障的预设属性, 对收集的第一故障日志进行聚合处理,以获取超故障集合;从所述超故障集合 中提取出在预设的滑动时间窗口中出现频数大于第一预设阈值的故障序列作为 频繁故障序列,以得到频繁故障序列集合;从所述频繁故障序列集合中选择出 任意两个超故障之间的关联度均大于第二预设阈值的频繁故障序列作为关键序 列,以得到关键序列集合;基于所述关键序列集合构建故障传播树;根据所述 故障传播树以及获取的第二故障日志,进行故障预测。
作为一种实施方式,所述处理器41执行所述程序时实现:获取收集的第一 故障日志中故障的预设属性;将具有至少M个相同预设属性的故障合成一个超 故障;其中,所述M为大于或等于1的正整数;将所述合成的至少一个超故障 合成一个超故障集合。
作为一种实施方式,所述处理器41执行所述程序时实现:基于所述超故障 集合中故障的类型,确定滑动时间窗口的大小;基于确定出的滑动时间窗口大 小,在所述超故障集合上进行滑动;确定出由位于当前滑动时间窗口内的各个 超故障所能形成的多个故障序列;从所述多个故障序列中提取出现频数大于第 一预设阈值的故障序列;将所述出现频数大于第一预设阈值的故障序列判定为 频繁故障序列将所确定出的各个所述频繁故障序列形成频繁故障序列集。
作为一种实施方式,所述处理器41执行所述程序时实现:确定作为滑动起 点的超故障的故障类型;确定与所述故障类型对应的引发一条完整故障链所需 的时间,以及第一预设阈值;根据所述引发一条完整故障链所需的时间,以及 所述第一预设阈值,计算得到与所述故障类型相匹配的滑动时间窗口的大小。
作为一种实施方式,所述处理器41执行所述程序时实现:确定每个频繁故 障序列中任意两个超故障之间的关联度;若确定所述频繁故障序列中任意两个 超故障之间的关联度都大于第二预设阈值,则将所述频繁故障序列判定为关键 序列。
作为一种实施方式,所述处理器41执行所述程序时实现:利用线下故障传 播树提供的预测规则,对线上故障传播树的下一步故障进行预测。
实施例五
本发明实施例还提供了一种计算机存储介质,例如图11中所示的包括计算 机程序的存储器42,上述计算机程序可由服务器的处理器41执行,以完成前 述方法所述步骤。计算机存储介质可以是FRAM、ROM、PROM、EPROM、 EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可 以是包括上述存储器之一或任意组合的各种设备。
本发明实施例提供的计算机存储介质,其上存储有计算机指令,该指令被 处理器执行时实现:基于故障的预设属性,对收集的第一故障日志进行聚合处 理,以获取超故障集合;从所述超故障集合中提取出在预设的滑动时间窗口中 出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障序 列集合;从所述频繁故障序列集合中选择出任意两个超故障之间的关联度均大 于第二预设阈值的频繁故障序列作为关键序列,以得到关键序列集合;基于所 述关键序列集合构建故障传播树;根据所述故障传播树以及获取的第二故障日 志,进行故障预测。
作为一种实施方式,该指令被处理器执行时实现:获取收集的第一故障日 志中故障的预设属性;将具有至少M个相同预设属性的故障合成一个超故障; 其中,所述M为大于或等于1的正整数;将所述合成的至少一个超故障合成一 个超故障集合。
作为一种实施方式,该指令被处理器执行时实现:基于所述超故障集合中 故障的类型,确定滑动时间窗口的大小;基于确定出的滑动时间窗口大小,在 所述超故障集合上进行滑动;确定出由位于当前滑动时间窗口内的各个超故障 所能形成的多个故障序列;从所述多个故障序列中提取出现频数大于第一预设 阈值的故障序列;将所述出现频数大于第一预设阈值的故障序列判定为频繁故 障序列将所确定出的各个所述频繁故障序列形成频繁故障序列集。
作为一种实施方式,该指令被处理器执行时实现:确定作为滑动起点的超 故障的故障类型;确定与所述故障类型对应的引发一条完整故障链所需的时间, 以及第一预设阈值;根据所述引发一条完整故障链所需的时间,以及所述第一 预设阈值,计算得到与所述故障类型相匹配的滑动时间窗口的大小。
作为一种实施方式,该指令被处理器执行时实现:确定每个频繁故障序列 中任意两个超故障之间的关联度;若确定所述频繁故障序列中任意两个超故障 之间的关联度都大于第二预设阈值,则将所述频繁故障序列判定为关键序列。
作为一种实施方式,该指令被处理器执行时实现:利用线下故障传播树提 供的预测规则,对线上故障传播树的下一步故障进行预测。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器和方法, 可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如, 所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方 式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可 以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直 接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接, 可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为 单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可 以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来 实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中, 也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一 个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软 件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存 储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储 介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存 取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程 序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立 的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样 的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可 以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包 括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络 设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包 括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介 质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应 以所述权利要求的保护范围为准。

Claims (12)

1.一种故障预测方法,其特征在于,所述方法包括:
基于故障的预设属性,对收集的第一故障日志进行聚合处理,以获取超故障集合;
从所述超故障集合中提取出在预设的滑动时间窗口中出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障序列集合;
从所述频繁故障序列集合中选择出任意两个超故障之间的关联度均大于第二预设阈值的频繁故障序列作为关键序列,以得到关键序列集合;
基于所述关键序列集合构建故障传播树;
根据所述故障传播树以及获取的第二故障日志,进行故障预测。
2.根据权利要求1所述的方法,其特征在于,所述基于故障的预设属性,对收集的故障日志进行聚合处理,以获取超故障集合,包括:
获取收集的第一故障日志中故障的预设属性;
将具有至少M个相同预设属性的故障合成一个超故障;其中,所述M为大于或等于1的正整数;
将所述合成的至少一个超故障合成一个超故障集合。
3.根据权利要求1所述的方法,其特征在于,所述从所述超故障集合中提取出在预设的滑动时间窗口中出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障序列集合,包括:
基于所述超故障集合中故障的类型,确定滑动时间窗口的大小;
基于确定出的滑动时间窗口大小,在所述超故障集合上进行滑动;
确定出由位于当前滑动时间窗口内的各个超故障所能形成的多个故障序列;
从所述多个故障序列中提取出现频数大于第一预设阈值的故障序列;
将所述出现频数大于第一预设阈值的故障序列判定为频繁故障序列将所确定出的各个所述频繁故障序列形成频繁故障序列集。
4.根据权利要求3所述的方法,其特征在于,所述确定滑动时间窗口的大小,包括:
确定作为滑动起点的超故障的故障类型;
确定与所述故障类型对应的引发一条完整故障链所需的时间,以及第一预设阈值;
根据所述引发一条完整故障链所需的时间,以及所述第一预设阈值,计算得到与所述故障类型相匹配的滑动时间窗口的大小。
5.根据权利要求1所述的方法,其特征在于,所述从所述频繁故障序列集合中提取出任意两个故障之间的关联度均大于第二预设阈值的频繁故障序列作为关键序列,包括:
确定每个频繁故障序列中任意两个超故障之间的关联度;
若确定所述频繁故障序列中任意两个超故障之间的关联度都大于第二预设阈值,则将所述频繁故障序列判定为关键序列。
6.一种服务器,其特征在于,所述服务器包括:聚合单元、提取单元、选择单元、构建单元和预测单元;其中,
所述聚合单元,用于基于故障的预设属性,对收集的第一故障日志进行聚合处理,以获取超故障集合;
所述提取单元,用于从所述超故障集合中提取出在预设的滑动时间窗口中出现频数大于第一预设阈值的故障序列作为频繁故障序列,以得到频繁故障序列集合滑动时间窗口;
所述选择单元,用于从所述频繁故障序列集合中提取出任意两个超故障之间的关联度均大于第二预设阈值的频繁故障序列作为关键序列,以得到关键序列集合;
所述构建单元,用于基于所述关键序列集合构建故障传播树;
所述预测单元,用于根据获取的第二故障日志,以及所述故障传播树,进行故障预测。
7.根据权利要求6所述的服务器,其特征在于,所述聚合单元,还用于:
获取收集的第一故障日志中故障的预设属性;
将具有至少M个相同预设属性特征的故障合成一个超故障;其中,所述M为大于或等于1的正整数;
将所述合成的至少一个超故障合成一个超故障集合。
8.根据权利要求6所述的服务器,其特征在于,所述提取单元,还用于:
基于所述超故障集合中故障的类型,确定滑动时间窗口的大小;
基于确定出的滑动时间窗口大小,在所述超故障集合上进行滑动;
确定出由位于当前滑动时间窗口内的各个超故障所能形成的多个故障序列;
从所述多个故障序列中提取出现频数大于第一预设阈值的故障序列;
将所述出现频数大于第一预设阈值的故障序列判定为频繁故障序列;
将所确定出的各个所述频繁故障序列形成频繁故障序列集。
9.根据权利要求8所述的服务器,其特征在于,所述提取单元,还用于:
确定作为滑动起点的超故障的故障类型;
确定与所述故障类型对应的引发一条完整故障链所需的时间,以及第一预设阈值;
根据所述引发一条完整故障链所需的时间,以及所述第一预设阈值,计算得到与所述故障类型相匹配的滑动时间窗口的大小。
10.根据权利要求6所述的服务器,其特征在于,所述选择单元,还用于:
确定每个频繁故障序列中任意两个超故障之间的关联度;
若确定所述频繁故障序列中任意两个超故障之间的关联度都大于第二预设阈值,则将所述频繁故障序列判定为关键序列。
11.一种计算机存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至5任一项所述的故障预测方法的步骤。
12.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述的故障预测方法的步骤。
CN201810325256.8A 2018-04-12 2018-04-12 一种故障预测方法、服务器和计算机存储介质 Pending CN108600000A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810325256.8A CN108600000A (zh) 2018-04-12 2018-04-12 一种故障预测方法、服务器和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810325256.8A CN108600000A (zh) 2018-04-12 2018-04-12 一种故障预测方法、服务器和计算机存储介质

Publications (1)

Publication Number Publication Date
CN108600000A true CN108600000A (zh) 2018-09-28

Family

ID=63622198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810325256.8A Pending CN108600000A (zh) 2018-04-12 2018-04-12 一种故障预测方法、服务器和计算机存储介质

Country Status (1)

Country Link
CN (1) CN108600000A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110428060A (zh) * 2019-06-12 2019-11-08 南京博泰测控技术有限公司 一种故障信息管理方法、装置和系统
CN110543462A (zh) * 2019-09-04 2019-12-06 陕西丝路云启智能科技有限公司 微服务可靠性预测方法、预测装置、电子设备及存储介质
CN110826716A (zh) * 2019-11-06 2020-02-21 北京明略软件系统有限公司 一种故障处理规则的生成方法及装置
CN110941554A (zh) * 2019-11-25 2020-03-31 腾讯科技(深圳)有限公司 一种复现故障的方法及装置
CN111143101A (zh) * 2019-12-12 2020-05-12 东软集团股份有限公司 用于确定故障根源的方法、装置、存储介质及电子设备
CN111694721A (zh) * 2020-06-15 2020-09-22 南方电网科学研究院有限责任公司 一种微服务的故障监测方法和装置
CN112016602A (zh) * 2020-08-18 2020-12-01 广东电网有限责任公司韶关供电局 电网故障原因与状态量的关联分析方法,设备和存储介质
CN112462730A (zh) * 2020-10-09 2021-03-09 中国科学院沈阳自动化研究所 一种水下滑翔机的故障诊断方法
CN113127804A (zh) * 2021-03-10 2021-07-16 广州亚美信息科技有限公司 确定车辆故障次数的方法、装置、计算机设备和存储介质
CN115277357A (zh) * 2021-04-30 2022-11-01 华为技术有限公司 网络故障分析方法、装置、设备及存储介质
CN116150636A (zh) * 2023-04-18 2023-05-23 苏州上舜精密工业科技有限公司 一种传动模组的故障监测方法及系统
CN116204842A (zh) * 2023-03-10 2023-06-02 广东省建设工程质量安全检测总站有限公司 一种电气设备的异常监测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069370B1 (en) * 2010-07-02 2011-11-29 Oracle International Corporation Fault identification of multi-host complex systems with timesliding window analysis in a time series
CN106375339A (zh) * 2016-10-08 2017-02-01 电子科技大学 基于事件滑动窗口的攻击模式检测方法
CN107835087A (zh) * 2017-09-14 2018-03-23 北京科东电力控制系统有限责任公司 一种基于频繁模式挖掘的安全设备告警规则自动提取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069370B1 (en) * 2010-07-02 2011-11-29 Oracle International Corporation Fault identification of multi-host complex systems with timesliding window analysis in a time series
CN106375339A (zh) * 2016-10-08 2017-02-01 电子科技大学 基于事件滑动窗口的攻击模式检测方法
CN107835087A (zh) * 2017-09-14 2018-03-23 北京科东电力控制系统有限责任公司 一种基于频繁模式挖掘的安全设备告警规则自动提取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒲志明: "云平台中日志管理模块的研究与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110428060A (zh) * 2019-06-12 2019-11-08 南京博泰测控技术有限公司 一种故障信息管理方法、装置和系统
CN110543462A (zh) * 2019-09-04 2019-12-06 陕西丝路云启智能科技有限公司 微服务可靠性预测方法、预测装置、电子设备及存储介质
CN110826716B (zh) * 2019-11-06 2023-03-24 北京明略软件系统有限公司 一种故障处理规则的生成方法及装置
CN110826716A (zh) * 2019-11-06 2020-02-21 北京明略软件系统有限公司 一种故障处理规则的生成方法及装置
CN110941554A (zh) * 2019-11-25 2020-03-31 腾讯科技(深圳)有限公司 一种复现故障的方法及装置
CN110941554B (zh) * 2019-11-25 2023-10-27 腾讯科技(深圳)有限公司 一种复现故障的方法及装置
CN111143101A (zh) * 2019-12-12 2020-05-12 东软集团股份有限公司 用于确定故障根源的方法、装置、存储介质及电子设备
CN111694721A (zh) * 2020-06-15 2020-09-22 南方电网科学研究院有限责任公司 一种微服务的故障监测方法和装置
CN112016602A (zh) * 2020-08-18 2020-12-01 广东电网有限责任公司韶关供电局 电网故障原因与状态量的关联分析方法,设备和存储介质
CN112016602B (zh) * 2020-08-18 2021-08-10 广东电网有限责任公司韶关供电局 电网故障原因与状态量的关联分析方法,设备和存储介质
CN112462730A (zh) * 2020-10-09 2021-03-09 中国科学院沈阳自动化研究所 一种水下滑翔机的故障诊断方法
CN113127804A (zh) * 2021-03-10 2021-07-16 广州亚美信息科技有限公司 确定车辆故障次数的方法、装置、计算机设备和存储介质
CN115277357A (zh) * 2021-04-30 2022-11-01 华为技术有限公司 网络故障分析方法、装置、设备及存储介质
CN116204842A (zh) * 2023-03-10 2023-06-02 广东省建设工程质量安全检测总站有限公司 一种电气设备的异常监测方法及系统
CN116204842B (zh) * 2023-03-10 2023-09-08 广东省建设工程质量安全检测总站有限公司 一种电气设备的异常监测方法及系统
CN116150636A (zh) * 2023-04-18 2023-05-23 苏州上舜精密工业科技有限公司 一种传动模组的故障监测方法及系统

Similar Documents

Publication Publication Date Title
CN108600000A (zh) 一种故障预测方法、服务器和计算机存储介质
Tuli et al. Tranad: Deep transformer networks for anomaly detection in multivariate time series data
EP3796176B1 (en) Fault root cause analysis method and apparatus
US11727305B2 (en) System and method for detecting anomalies in prediction generation systems
CN109684181B (zh) 告警根因分析方法、装置、设备及存储介质
CN111258767B (zh) 复杂系统仿真应用的云计算资源智能分配方法与装置
CN106980623B (zh) 一种数据模型的确定方法及装置
CN111612041B (zh) 异常用户识别方法及装置、存储介质、电子设备
CN106027577A (zh) 一种异常访问行为检测方法及装置
WO2020125929A1 (en) Apparatus and method for detecting an anomaly among successive events and computer program product therefor
WO2020168839A1 (zh) 物品召回方法、系统、电子设备及可读存储介质
Jeong et al. Anomaly teletraffic intrusion detection systems on hadoop-based platforms: A survey of some problems and solutions
CN109783457B (zh) Cgi接口管理方法、装置、计算机设备和存储介质
CN114036826A (zh) 模型训练方法、根因确定方法、装置、设备及存储介质
WO2020140624A1 (zh) 从日志中提取数据的方法和相关设备
WO2023115875A1 (zh) 硬件设备维护方法、装置及电子设备
CN110493176B (zh) 一种基于非监督机器学习的用户可疑行为分析方法及系统
CN116228045B (zh) 基于性能退化的产品可靠性薄弱环节评估方法和装置
CN116820826A (zh) 一种基于调用链的根因定位方法、装置、设备及存储介质
Lee et al. Detecting anomaly teletraffic using stochastic self-similarity based on Hadoop
WO2024103436A1 (zh) 设备缺陷数据规则库构建方法及设备缺陷关联性分析方法
CN116644567A (zh) 一种电力系统关键输电断面确定方法、系统、设备和介质
US11797578B2 (en) Technologies for unsupervised data classification with topological methods
CN115629883A (zh) 资源预测方法、装置、计算机设备及存储介质
CN114662116A (zh) 基于大数据的业务运行漏洞查找方法及云端深度学习系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180928

RJ01 Rejection of invention patent application after publication