Page 73 - 《软件学报》2021年第7期
P. 73

王璐  等:基于事件关系保障识别质量的自适应分析方法                                                      1991


                 不同服务的计算机和访问的客户端计算机共 8 台.其配置信息均为 CPU Inter(R) Core(TM) i5-4570,内存为 8GB,
                 操作系统是 Windows 64 位.
                                              Table 2    Running log snippet display
                                                  表 2   运行日志片段示例
                            商品服务页面       商品服务页面      商品服务     商品服务心跳      节点 CPU    节点内存
                       序号                                                                    时间戳
                             响应时间(s)      错误率(%)      请求量      返回时间(s)    利用率(%)   使用率(%)
                        1       1.69         0         865        34         69       81    15:41:50
                        2       2.04         2         709        34         70       80    15:41:53
                        3       1.45         0         945        34         61       80    15:41:56
                        4       0.61         0         1 078      34         74       78    15:41:59
                        5       1.57         0         937        34         77       75    15:42:02
                        6       3.83         9         1 434      34         82       77    15:42:05
                        7       4.13         4         1 574      34         85       80    15:42:08
                        8       3.94         0         1 359      34         84       79    15:42:11
                        9       3.59         0         1 347      34         87       83    15:42:14
                        …       …           …           …         …          …        …       …

                 4.2   算法有效性测试

                    (1)  识别准确性测试(RQ1)
                    本文在前述数据集 1~6 下测试了 SAFER 的识别准确性.首先挖掘并建模事件关系,然后将其转换为贝叶斯
                 网络模型并进行可视化展示,在此基础上测试了贝叶斯网络模型识别事件的准确性.具体如下.
                    首先,本文采用事件关系挖掘方法在数据集 1~6 中挖掘事件关系.通过重复实验,本文将元素的时间窗大小
                 ETW 设为 5s,序列时间窗大小 STW 设为 20s,最小支持度 minsup 设为 9,以获得有价值的挖掘效果.挖掘结果见
                 表 3,本文以表中的第 1 条事件关系为例展开介绍.若服务多次调用系统 API 接口失败,服务可能不会获取到所
                 需的数据,或是影响服务的功能实现,因此对应页面的数据展示或者功能将会有一个较高的错误率.
                                            Table 3    Mined event relationships display
                                                 表 3   挖掘的事件关系展示
                                  频繁序列                     支持度                 对应的因果关系
                  {多次调用系统 API 接口失败},{对应页面的出错率较高}           10   多次调用系统 API 接口失败||多次调用第三方组件失败
                   {多次调用第三方组件失败},{对应页面的出错率较高}              9              对应页面的出错率较高
                     {服务任务量较重},{对应功能的响应时间较长}               23       服务任务量较重对应功能的响应时间较长
                  {服务心跳返回较慢},{对应页面响应非常慢甚至无响应}              11    服务心跳返回较慢对应页面响应非常慢甚至无响应
                    {对应页面响应非常慢甚至无响应},{服务资源故障}              13     对应页面的响应非常慢甚至无响应服务资源故障
                         {页面出错率较高},{服务资源过载}                11     页面出错率较高&&页面响应较慢服务资源过载
                          {页面响应较慢},{服务资源过载}                16

                    其次,将上述挖掘得到的事件关系建模为模糊故障树,其中的顶事件分别设为“服务资源出现问题”“节点资
                 源出现问题”“软件应用失效”等,图 4 和表 4 以顶事件为“服务资源出现问题”为例介绍事件关系模型.
                                                                     Table 4  Symbolic representation
                                                                            表 4   符号表示
                                                                    符号             事件名称
                                                                     T          服务资源出现问题
                                                                     M 1          服务资源故障
                                                                     M 2          服务资源过载
                                                                     M 3     页面响应超级慢甚至无响应
                                                                     M 4         页面出错率较高
                                                                     M 5          页面响应较慢
                                                                     X 1       服务心跳返回非常慢
                                                                     X 2        多次 API 调用失败
                                                                     X 3       多次第三方调用失败
                  Fig.4    “Service Resource Problem” fuzzy fault tree   X 4    服务的任务量较重
                                                                     X 5        服务心跳返回较慢
                       图 4   “服务资源出现问题”模糊故障树
   68   69   70   71   72   73   74   75   76   77   78