论文部分内容阅读
面向服务的架构(Service-Oriented Architecture,SOA)作为实现软件松耦合的方案,引起了工业界和学者的广泛关注。特别是在XML技术和SOAP技术成熟后,出现了符合SOA架构的Web Service等技术,SOA架构得到广泛应用。在此背景下,本文重点关注SOA架构下服务特别是组合服务的故障管理。故障管理要求及时获得服务运行状况,监测服务症状并定位故障,确保关键服务和基础服务的稳定运行,提高服务的质量和可用性。由于SOA架构带来的新特性,现有的故障管理技术存在缺陷和不适用之处,针对该问题,本文深入研究SOA架构下服务的故障管理技术,主要完成了以下几个方面的内容。(1)服务故障管理模型。服务故障管理模型定义了服务故障管理的被管对象、服务故障管理的主要内容和功能。提出的服务故障管理模型能同其他管理系统协作,将故障根源定位到资源层。同时,针对多域情况和虚拟化技术的应用,分别设计了多域环境下的服务故障管理模型和虚拟化环境下的服务故障管理模型。(2)故障定位技术。提出了故障定位的分层模型,采用主动探针技术获取症状。根据分层模型设计了监测探针和诊断探针的部署算法。网络存在噪声,服务运行时也可能出现不确定状况,因此设计了基于贝叶斯网络的服务故障定位算法。针对算法中直接使用关联关系进行定位的缺陷,还提出了间接关联关系下的服务故障定位算法。仿真实验证明了该算法的有效性和效率。(3)故障影响分析和预测。故障定位后,需要对故障的影响进行评估,并预测哪些服务节点可能出现故障,以便及时告警。文章提出了故障影响的计算方法,并设计了故障预测算法预测可能发生故障的服务节点。(4)为验证以上技术,设计并实现了服务故障管理的原型系统,该系统能有效监测服务运行状态,准确定位故障,能直观的显示故障影响分析和预测结果。