基于隐半马尔可夫模型的云计算平台系统故障预测方法

文档序号:10534677阅读:347来源:国知局
基于隐半马尔可夫模型的云计算平台系统故障预测方法
【专利摘要】本发明公开一种基于隐半马尔可夫模型的云计算平台系统故障预测方法。具体步骤如下:从海量日志文件中提取错误事件,并错误事件赋予类型和时间信息;将同一错误事件的重复的报告合并为同一事件;将若干连续事件组合成事件序列,并根据是否对系统故障造成影响分成为故障相关事件序列和故障无关事件序列;根据序列似然值,对所有的事件序列进行聚类处理;在每一类内部进行噪声消除处理;分别计算实时提取出的事件序列与故障相关的HSMM和故障无关的HSMM的序列似然值,利用贝叶斯分类器,通过计算判断系统是否会发生故障。本发明基于机器学习的理论,实现了云计算平台的实时系统故障预测的功能,并能够提供准确的故障预测结果和更高的整体性能。
【专利说明】
基于隐半马尔可夫模型的云计算平台系统故障预测方法
技术领域
[0001] 本发明涉及到云计算平台系统故障预测技术,特别是涉及一种基于隐半马尔可夫 模型的云计算平台实时系统故障预测方法。
【背景技术】
[0002] 在传统的云计算平台运维工作中,当系统出现故障时,运维人员往往需要花费一 定的时间用来排查故障解决问题,这也导致了系统服务不稳定甚至是服务暂停。因此,提前 对系统中可能发生的故障做出准确的预测,能够为系统运维人员预留出足够的故障反应时 间,提前处理问题,从而避免系统故障的发生,对于提高系统服务的稳定性和运维工作的效 率有着极大的意义。
[0003] 云计算系统往往是一个大型松耦合的分布式系统集群,不同节点上的不同组件模 块相互协同工作,共同对外提供服务。在计算机系统中,日志机制发挥着重要的作用,每个 模块通过日志将系统中的动作和操作记录下来,其中包含着丰富的信息和数据。传统的运 维方式通过系统运维人员查看日志文件的方式来分析整个系统的运行情况和服务情况。受 限于人的时间和精力,这种方式造成日志中许多有用的信息被忽略,从而导致了数据的大 量浪费。
[0004] 在这样的背景下,当前在日志文件分析和数据挖掘方向的工作成为了研究热点, 特别是对于大规模分布式系统下的故障预测的研究工作,具有巨大的实际应用价值。然而 目前在大规模分布式系统下的故障预测领域仍然缺乏一个比较成熟可靠的解决方案。

【发明内容】

[0005] 本发明的目的是提供一种基于隐半马尔可夫模型的云计算平台系统故障预测方 法,实现了云计算平台的实时系统故障预测的功能,并能够提供准确的故障预测结果和更 尚的整体性能。
[0006] 为解决上述问题,本发明实施例提供一种基于隐半马尔可夫模型的云计算平台系 统故障预测方法,包括以下步骤:
[0007] 根据日志数据提取错误事件;
[0008] 根据是否对系统故障造成影响,把错误事件划分为故障相关事件序列和故障无关 事件序列中;
[0009] 分别训练处故障相关事件序列的隐半马尔可夫模型和故障无关事件序列的隐半 马尔可夫模型,计算实时提取出的事件序列基于故障相关事件序列的隐半马尔可夫模型的 序列似然值和故障无关事件序列的隐半马尔可夫模型的序列似然值,利用贝叶斯分类器判 断系统未来是否会发生故障。
[0010] 进一步地,所述根据日志数据提取错误事件步骤包括实时地对云计算平台生成的 日志数据的进行处理,从非结构化的日志文件中将其中所包含的错误事件提取出来,将类 似的错误事件记录合并,并对得到的错误事件赋予类型和时间信息,
[0011] 进一步地,所述根据日志数据提取错误文件,其具体步骤如下:
[0012] 从云平台中接收到日志数据之后,通过消息队列中间件,将每一条日志记录转化 成为对应的消息;
[0013]在消息队列中间件中,只留下"ERROR"级别的日志记录,同时只保留日志记录的文 本信息和时间戳信息;
[0014] 基于编辑距离算法,将相似的错误事件记录合并分类,从而将所有的错误事件记 录简化成为类型信息和时间戳的组合。
[0015] 作为一种可实施方式,所述故障预测方法还包括将同一个错误事件的重复的报告 合并为同一事件,该步骤采用时间窗的方法,将所有到达时间小于阈值e的事件视为重复事 件,并将之合并。
[0016] 作为一种可实施方式,所述根据是否对系统故障造成影响,把错误事件划分为故 障相关事件序列和故障无关事件序列,具体步骤如下:
[0017] 根据时间窗口区间的设定,将同一窗口内所有错误事件组合成一个事件序列,并 根据是否对系统故障造成影响,将事件序列划分成为故障相关事件序列和故障无关事件序 列。
[0018] 作为一种实施方式,所述故障预测方法还包括以下步骤:
[0019] 计算不同的事件序列之间的序列似然值,将序列似然值作为相似度对所有的事件 序列进行聚类;
[0020] 在每一类内部进行噪声消除,得到精炼的事件序列。
[0021] 作为一种实施方式,所述序列似然值以相异度矩阵的形式保存,D(i,j)代表的是 FdPh之间的相异度,其计算公式如下:
[0023] 其中,Fi代表一个故障相关事件序列,Mi是基于一个Fi训练出来的一个小的隐半马 尔可夫模型。
[0024] 进一步地,所述在每一类内部进行噪声消除,得到代表该类别的事件序列,具体包 括以下步骤:
[0025] 在同一类的事件序列内,计算每个事件基于具体的每个隐半马尔可夫模型的先验 概率;
[0026] 在每个序列类别中,按照系统发生的时间将序列进行对齐操作,每个事件都根据 所在时间被划分到指定的时间槽内;
[0027] 以时间槽为单位,频率大于先验概率的事件即为故障相关事件,频率小于先验概 率的事件则为故障无关事件,这些故障无关事件将被删除。
[0028] 进一步地,所述利用贝叶斯分类器判断系统未来是否会发生故障,具体包括以下 步骤:
[0029] 将这两个序列似然值输入到贝叶斯分类器内,根据公式来进行预测判断,其计算 公式如下:
[0031] 其中,CFF表示错误的将故障相关事件序列判断成为故障无关事件序列所要的代 价,P(F)表示发生系统故障的概率,P(〇|A)为计算得到的序列似然值;
[0032] 当不等式成立时,将这个事件序列标记成为故障相关事件序列,当不等式不成立 时,将事件序列标记为故障无关序列;
[0033] 对域系统中实时产生的每个序列,实时计算判断,做出故障预测。
[0034] 进一步地,对p(〇|AF)取对数处理。
[0035] 本方法由于采用以上所述的技术方案,其具有以下的优点:
[0036] 与传统的故障预测技术所不同的是,本方法结合具体的云计算平台使用场景,基 于隐半马尔可夫模型,以事件序列为单位进行分析。由于隐半马尔可夫模型是对于隐马尔 可夫模型的一种扩展和改良,它将每个状态的驻留时间对于具体状态转移概率的影响纳入 到模型中,从而克服了隐马尔可夫模型所存在的局限性,更加适合于实际云计算平台的系 统故障预测的应用场景。同时本方法引入了贝叶斯分类理论将最后的预判问题转化成为分 类问题,提高了预测结果的准确性。
[0037] 本方法所有的数据来源于实际场景中的日志数据,其中包含着丰富的有效数据, 同时本方法针对预测模型的特点,对日志数据进行了高效复杂地处理,从海量的数据中提 取出真正有效的信息,提高了方法的可行性和预测结果的准确性。
[0038] 本方法能够对于收集来的数据进行实时地计算处理,及时给出预测结果,为运维 工作提供宝贵的反应时间,提高系统服务的稳定性和运维工作的效率。
【附图说明】
[0039] 图1是本发明实施例的基于隐半马尔可夫模型的云计算平台实时系统故障预测方 法的流程图;
[0040] 图2是本发明实施例的故障预测的过程图。
【具体实施方式】
[0041] 下面结合附图,通过具体实施例,对本发明的技术方案进行清楚、完整的描述。
[0042] 如图1所示,本发明基于隐半马尔可夫模型(HSMM)的云计算平台实时系统故障预 测方法通过对于云计算平台中的日志数据进行细致的处理分析,目的是能够将隐含在海量 的日志数据中的丰富信息挖掘出来,从而能够对未来可能发生的系统故障做出准确的预 测,保障系统服务的稳定性和延续性。具体步骤如下:
[0043] S100,实时地对云计算平台生成的日志数据的进行处理,从非结构化的日志文件 中将其中所包含的错误事件提取出来,然后使用编辑距离算法将类似的错误事件记录合 并,并对得到的错误事件赋予类型和时间信息。
[0044] 步骤S100的主要作用是从海量的非结构化的数据中将其中的有效数据提取出来, 组成事件,然后再将这些事件组合成为事件序列。具体的实时过程包括以下内容:
[0045] 从云平台中接收到日志数据之后,通过消息队列中间件,将每一条日志记录转化 成为对应的消息,在消息队列中,所有的日志记录被初步格式化成为消息,包括了日志的来 源,日志内容,日志级别,事件信息等关键内容;
[0046]在消息队列中间件中,将所有的日志级别不是"ERROR"的日志记录过滤剔除,只留 下"ERROR"的日志记录,同时只保留日志记录的文本信息和时间戳信息;
[0047]基于Levenshtein编辑距离算法,将相似的错误事件记录合并分类,从而将所有的 错误事件记录简化成为类型信息和时间戳的组合。
[0048] S200,将这些记录中,将同一个错误事件的重复的报告合并为同一事件。
[0049] 步骤S200的主要作用是将合并日志文件中的重复事件记录,由于在日志机制中, 日志文件中可能会存在多条的记录,称为重复事件。对于重复事件的合并有许多研究和应 用,根据系统的特点,本发明采用时间窗的方法,将所有到达时间小于一个阈值e的事件视 为重复事件,并将之合并。重复事件合并效果的好坏关键在于e的取值,具体的取值应结合 具体系统实验决定。
[0050] S300,根据具体的提取规则和时间窗大小,将若干个合并后连续的错误事件组合 成为事件序列,并将事件序列划分成为故障相关事件序列和故障无关事件序列。
[0051 ]步骤S300的主要作用是将分散的错误事件记录绑定成为一个完整的事件序列,以 事件序列为单位进行计算。在完成错误事件的提取之后,这一步的目的是将分散的错误事 件组合成为事件序列。按照一定的时间窗口区间,将同一个窗口内的所有的错误事件串联 起来成为一个事件序列,同时根据该序列是否导致了系统故障,将所有的事件序列划分成 为故障相关事件序列和故障无关事件序列。所谓的故障相关事件序列是指在可能引起系统 故障的系统错误事件的集合。
[0052] S400,计算不同的序列之间的"序列似然值"作为相似度,对所有的事件序列进行 聚类。
[0053]步骤S400的目的是对得到的日志事件序列进行进一步的聚类处理,聚类的目的是 为了将同一类的序列划分到一起。采用层次聚类的方法,使用序列似然值作为度量值来计 算序列之间的相似度。
[0054]本发明根据实际应用,采用序列似然值作为相似度的度量值进行计算,并将序列 似然值以相异度矩阵的形式保存。在本发明中,对象FHf表一个故障相关事件序列,D(i,j) 代表的是FjPh之间的相异度,D(i,j)越小表示两个序列越相似,it是基于一个巧训练出来 的一个小的HSMM,训练的最终目标是不断地调整HSMM的各种参数,使得最终的序列似然值 尽可能高。D(i, j)的计算公式如下:
[0056]其中P(Fi | Mj)表示Fi相对应与Mj的似然值,似然值越大表示Fi和Fj之间的相似程度 越高,为了避免数据的颠簸,保证数值的稳定性,对计算结果进行取对数处理。
[0057] S500,在每一类内部进行噪声消除,通过对比计算,得到代表该类别的事件序列。
[0058] 步骤S500的作用是对每一类中的事件序列进行噪声过滤处理,通过将各个类别中 的事件序列的噪声剔除了,得到精炼的事件序列进行计算。
[0059]在系统故障发生之前,同一类的事件序列中,故障发生的错误事件出现的概率会 明显的高于其他的故障无关事件序列。根据这一特点,事件序列的噪声消除工作具体实施 过程包括了以下几个步骤:
[0060]在同一类的事件序列内,计算每个事件序列基于具体的每个HSMM的先验概率,先 验概率值越高,则说明这个事件在系统故障发生前出现的概率越大;
[0061 ]在每个事件序列类别中,按照系统发生的时间将事件序列进行对齐操作,每个事 件序列都根据所在时间被划分到指定的时间槽内;
[0062] 以时间槽为单位,对每个时间槽内的所有事件序列里同一个事件发生的频率,将 这个频率与先验概率相比,频率大于先验概率的即为故障相关事件,频率小于先验概率的 则为故障无关事件,这些故障无关事件将被剔除。
[0063] S600,在训练阶段,将得到的事件序列分成故障相关序列和故障无关序列,分别训 练出故障相关事件序列的HSMM和故障无关事件序列的HSMM。在线上的实时故障预测阶段, 分别计算实时提取出的事件序列基于故障相关的HSMM的序列似然值和故障无关的HS匪的 序列似然值,将两个序列似然值输入到贝叶斯分类器内,通过计算判断系统未来是否会发 生故障。
[0064] 步骤S600是最终的故障预测步骤,如图2所示,步骤6的具体实施过程如下所示:
[0065] 首先计算出待检测的事件序列相对于故障相关HSMM和故障无关的HSMM的序列似 然值,将这两个似然值输入到贝叶斯分类器内,根据公式:
[0067] 来做最后的预测判断。当不等式成立时,将这个事件序列标记成为故障相关事件 序列,当不等式不成立时,将事件序列标记为故障无关序列。其中P(〇|A)为计算得到的序列 似然值,由观测值和HSMM唯一确定。对序列似然值取对数处理,能够避免序列似然值快速缩 小从而导致值太小溢出的问题。其中C FF表示错误的将故障相关事件序列判断成为故障无关 事件序列所要的代价,P(F)表示发生系统故障的概率。通过这样层层的计算,对域系统中实 时产生的每个序列,可以高效地进行实时计算判断,做出故障预测。
[0068] 本方法由于采用以上所述的技术方案,其具有以下的优点:
[0069]与传统的故障预测技术所不同的是,本方法结合具体的云计算平台使用场景,基 于隐半马尔可夫模型,以事件序列为单位进行分析。由于隐半马尔可夫模型是对于隐马尔 可夫模型的一种扩展和改良,它将每个状态的驻留时间对于具体状态转移概率的影响纳入 到模型中,从而克服了隐马尔可夫模型所存在的局限性,更加适合于实际云计算平台的系 统故障预测的应用场景。同时本方法引入了贝叶斯分类理论将最后的预判问题转化成为分 类问题,提高了预测结果的准确性。
[0070] 本方法所有的数据来源于实际场景中的日志数据,其中包含着丰富的有效数据, 同时本方法针对预测模型的特点,对日志数据进行了高效复杂地处理,从海量的数据中提 取出真正有效的信息,提高了方法的可行性和预测结果的准确性。
[0071] 本方法能够对于收集来的数据进行实时地计算处理,及时给出预测结果,为运维 工作提供宝贵的反应时间,提高系统服务的稳定性和运维工作的效率。
[0072] 本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域 技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发 明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明 的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案 的保护范围。
【主权项】
1. 一种基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特征在于,包括以 下步骤: 根据日志数据提取错误事件; 根据是否对系统故障造成影响,把错误事件划分为故障相关事件序列和故障无关事件 序列; 分别训练处故障相关事件序列的隐半马尔可夫模型和故障无关事件序列的隐半马尔 可夫模型,计算实时提取出的事件序列基于故障相关事件序列的隐半马尔可夫模型的序列 似然值和故障无关事件序列的隐半马尔可夫模型的序列似然值,利用贝叶斯分类器判断系 统未来是否会发生故障。2. 如权利要求1所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特 征在于,所述根据日志数据提取错误事件步骤包括实时地对云计算平台生成的日志数据的 进行处理,从非结构化的日志文件中将其中所包含的错误事件提取出来,将类似的错误事 件记录合并,并对得到的错误事件赋予类型和时间信息。3. 如权利要求1或2所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其 特征在于,所述根据日志数据提取错误文件,其具体步骤如下: 从云平台中接收到日志数据之后,通过消息队列中间件,将每一条日志记录转化成为 对应的消息; 在消息队列中间件中,只留下"ERROR"级别的日志记录,同时只保留日志记录的文本信 息和时间戳信息; 基于编辑距离算法,将相似的错误事件记录合并分类,从而将所有的错误事件记录简 化成为类型信息和时间戳的组合。4. 如权利要求1所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特 征在于,所述故障预测方法还包括将同一个错误事件的重复的报告合并为同一事件,该步 骤采用时间窗的方法,将所有到达时间小于阈值ε的事件视为重复事件,并将之合并。5. 如权利要求1所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特 征在于,所述根据是否对系统故障造成影响,把错误事件划分为故障相关事件序列和故障 无关事件序列,具体步骤如下: 根据时间窗口区间的设定,将同一窗口内所有错误事件组合成一个事件序列,并根据 是否对系统故障造成影响,将事件序列划分成为故障相关事件序列和故障无关事件序列。6. 如权利要求5所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特 征在于,所述故障预测方法还包括以下步骤: 计算不同的事件序列之间的序列似然值,将序列似然值作为相似度对所有的事件序列 进行聚类; 在每一类内部进行噪声消除,得到精炼的事件序列。7. 如权利要求6所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特 征在于,所述序列似然值以相异度矩阵的形式保存,D(i,j)代表的是FdPF j之间的相异度, 其计算公式如下:其中,F1代表一个故障相关事件序列,M1是基于一个巧训练出来的一个小的隐半马尔可 夫模型。8. 如权利要求6所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特 征在于,所述在每一类内部进行噪声消除,得到代表该类别的事件序列,具体包括以下步 骤: 在同一类的事件序列内,计算每个事件基于具体的每个隐半马尔可夫模型的先验概 率; 在每个序列类别中,按照系统发生的时间将序列进行对齐操作,每个事件都根据所在 时间被划分到指定的时间槽内; 以时间槽为单位,频率大于先验概率的事件即为故障相关事件,频率小于先验概率的 事件则为故障无关事件,这些故障无关事件将被删除。9. 如权利要求1所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特 征在于,所述利用贝叶斯分类器判断系统未来是否会发生故障,具体包括以下步骤: 将这两个序列似然值输入到贝叶斯分类器内,根据公式来进行预测判断,其计算公式 如下:其中,Cff表示错误的将故障相关事件序列判断成为故障无关事件序列所要的代价,P (F)表示发生系统故障的概率,Ρ(〇|λ)为计算得到的序列似然值; 当不等式成立时,将这个事件序列标记成为故障相关事件序列,当不等式不成立时,将 事件序列标记为故障无关序列; 对域系统中实时产生的每个序列,实时计算判断,做出故障预测。10. 如权利要求8所述的基于隐半马尔可夫模型的云计算平台系统故障预测方法,其特 征在于,对ρ(0 |知)取对数处理。
【文档编号】G06F11/30GK105893208SQ201610195766
【公开日】2016年8月24日
【申请日】2016年3月31日
【发明人】曹晖, 寿黎但, 张之宣
【申请人】城云科技(杭州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1