Page 74 - 《软件学报》2021年第7期
P. 74
1992 Journal of Software 软件学报 Vol.32, No.7, July 2021
从图 4 和表 4 可以看出,模糊故障树中基本事件为 X 1 、X 2 、X 3 、X 4 、X 5 ,这些基本事件单独或者通过逻辑组
合会导致其上层事件的发生,例如,表 3 中第 1 条事件因果关系中 X 2 “或”X 3 的发生会导致 M 4 的发生.同样,上层
事件通过逻辑组合后会导致更上层事件的发生,直至顶事件 T 的发生.这些因果关系被清晰、直观地以树状图
结构加以展示,方便本文利用这些关系逐层向上推理,识别得到系统中发生的不同类型的事件.
再次,本文将“服务资源出现问题”“节点资源出现问题”“软件应用失效”等模糊故障树转换为贝叶斯网
络,并以结构图形式展示.如图 5 所示,本文同样以“服务资源出现问题”模糊故障树为例,采用专家学者广泛
使用的微软公司 GeNIe 软件将转换后的“服务资源出现问题”贝叶斯网络进行可视化展示,这个贝叶斯网络
包含了 5 个父节点、6 个子节点,父子节点之间具备关联强度,通过关联强度可以向上推理出发生的事件.
通过上述步骤得到贝叶斯网络模型后,本文将测试模型的准确性.本文获取系统运行日志中最新的两
条数据,根据映射规则判断“服务资源出现问题”“节点资源出现问题”“软件应用失效”等贝叶斯网络中的父
节点事件是否发生.若发生,则进行该贝叶斯网络的向上推理过程,计算出此贝叶斯网络中各个子节点的发
生概率.然后汇总各个贝叶斯网络计算得到的子节点发生概率,通过这些发生概率得到系统中大概率发生
的事件,并与人工标记的事件进行核对,以验证模型的准确性.同样以“服务资源出现问题”贝叶斯网络为例,
根据映射规则判断出父节点中“多次调用 API 失败”“服务任务量较重”“服务心跳返回较慢”已经发生,经过
正向推理,获得各个子节点的发生概率,见表 5.除上述父节点事件发生以外,系统中还发生的事件为服务资
源出现问题中的服务资源过载,事件表征为页面响应较慢,与人工标记的事件一致,证明文中方法可准确识
别事件.
本文在验证贝叶斯网络单次识别事件的准确性之后,还在数据集 1~6 中,测试了 SAFER 与模糊推理方法、
本体推理方法、贝叶斯网络分析方法的准确率与召回率,测试结果如图 6 所示.
从测试结果可以看出,SAFER 在各个数据集上均具有较好的识别准确性与全面性,相对于没有利用事件因
果关系进行推理的本体推理方法、模糊推理方法以及贝叶斯网络这 3 种方法,SAFER 方法在准确率上平均提
升了 3.927%、5.982%和 2.68%,在召回率上平均提升了 9.338%、12.37%和 7.09%.这一结果说明:在系统环境状
态数据的基础上,加入事件之间的因果关系共同推理,能够根据事件之间的联系更多地发现一些事件表征背后
的、不能被直接检测到的复杂事件,因此与仅依靠映射关系的分析方法相比,对召回率的提升更大.
Fig.5 “Secvice Resource Problem” Bayesian network
图 5 “服务出现问题”贝叶斯网络示例