与基于模型的诊断方法相反,基于历史数据的故障诊断方法仅考虑历史数据作为先验知识,通过分析历史数据去构建诊断模型或对故障进行分类。该方法的优点在于它易于执行,不用分析行为间的逻辑关系,降低了诊断算法的复杂性,并且能够有效地处理数据。
Zhu和Dou[128]在Ardissono等[121,129]提出的框架的基础之上,将Web服务组合历史数据转换为贝叶斯网络,通过由历史数据得出的服务成功运行概率和局部诊断器的条件概率计算所有可能的故障诊断结果的后验概率,以提供一个更加易处理的诊断结果。
Dai等[62]提出了一个基于概率分析的故障诊断方法。首先根据历史错误信息计算每条异常行为路径的前驱行为集合中的每个行为是错误根源的概率,然后在异常发生时计算观测到的异常与假定错误集合的相似度,选取相似度最高的错误集合作为故障集。当历史数据中存在待诊断故障时,该方法的时间复杂度较低,诊断效率高。然而,该方法无法给出故障发生的合理解释,在数据不完整的情况下错误繁殖度的可信度较低,而在数据规模很大的情况下错误繁殖度的计算量又会很大。(www.xing528.com)
在Mostefaoui等[130]提出的自我修复的Web服务系统架构中,分别从实例层、组件层和组合层将故障容忍机制与Web服务的核心代码分离。其诊断方法则是将历史记录的路径与现有执行路径相比较,从中找出符合的故障路径,用于判断故障的位置和原因。
Han等[131]首先通过计算不同结构服务日志文件的结构相似性来构造基本的合并贝叶斯网络。根据相似性计算结果,将该网络中的结构节点划分为合并组和私有组,即相似节点集和私有节点集。然后在获得基本的合并贝叶斯网络的基础上,通过基于相似性的学习算法和给定的训练集更新合并贝叶斯网络概率。最后,通过选取与贝叶斯网络中相似性最大的故障模式,使给定的服务故障日志被分类为已知故障类型,获得诊断结果。该方法主要是将诊断问题通过数据分类转化为分类问题,降低诊断复杂性。然而该方法主要考虑在日志中记录的故障问题并将其分类,而忽略了一些语义等许多在日志中未作为故障记录的问题,因此该诊断方法具有很大的局限性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。