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   “服务出现问题”贝叶斯网络示例
   69   70   71   72   73   74   75   76   77   78   79