论文摘要
随着Internet服务的规模不断扩大、复杂性不断增大,保证服务无故障高性能的运行面临着巨大的挑战。Internet服务的多层次体系结构决定了它将受到不同层次故障的影响,其中,非fail-stop的业务层故障对服务的QoS影响非常大。为了保证服务质量,就要在故障发生后迅速且准确的检测出故障。当前的业务层故障检测技术普遍存在以下问题:1)过度依赖于被监测系统:Internet服务的频繁更新升级,导致此类方法的准确度下降、维护成本增加;2)计算复杂度过高:规模的扩大导致数据量激增,这对检测算法的性能形成挑战。本文研究了Internet服务的业务层故障的特点,分析了故障检测技术所涉及的关键问题,并提出了新的问题解决方案。本文的主要内容包括:1)总结了Internet服务的层次结构及各层存在的风险,着重研究了其业务层故障的种类及特点;2)提出了一种具有"black-box"特性的业务层故障检测算法,这种方法既不需要修改被监测系统的源代码也不需要预先了解其逻辑结构和实现方式;3)研究了经典的子空间分解算法——主成分分析法的基本原理,详细分析了其处理可测数据的步骤及能力。4)在子空间分解算法的基础上,本文研究了传统门限值和K-means聚类算法在故障检测阶段的应用,比较了K-means聚类算法与传统的门限值方法的检测准确度;5)最后,通过构造一个完整的检测系统实例,本文对一个业务系统进行业务层故障检测实验,并对结果进行了分析。