基于主动探针的服务故障诊断系统及其方法

文档序号:7666837阅读:371来源:国知局
专利名称:基于主动探针的服务故障诊断系统及其方法
技术领域
本发明涉及服务故障管理领域,特别涉及一种基于主动探针的服 务故障诊断系统及其方法。
背景技术
故障诊断需要根据故障监测得到的症状,使用一定的算法来得出 故障假设。故障监测技术可以分为被动和主动两种。被动监测技术使 用大量监测设施监听已存服务会话, 一般基于服务用户端监测或者网 络数据包收集并进行请求一响应重构,发现异常则发出告警通知管理 系统。主动监测技术从特定点向服务发送探针获取应用级性能, 一个 探针可以监测一个或者多个系统组件的性能,根据多个探针的返回值 可以判断出被监测组件的状况。
当前大多故障诊断是基于被动监测技术的,能够实时监测用户感 知的服务性能,但是开销较大,基于主动监测技术的故障诊断能够减 小监测开销,同样得到较好的诊断性能。
现有技术中如在The International Journal of Intelligence Control and Systems第2巻第2号2005年"Proactive Probing and Probing on
Demand in Service Fault Localization" —文,该文献第107页-113
页所公开的,基于主动探针对服务端系统组件状况进行监测,发现异 常则利用确定性故障——探针依赖模型进一步选取探针,直到诊断出 故障源为止,针对不确定性,采用简单的再次发送探针的方式进行确 认,这种处理不确定性的方式过于简单。另外该文献并没有考虑传输 网络对用户所感知的服务性能造成的影响。
现有技术中还有在IEEE Transactions on Neural Networks (special issue on Adaptive Learning Systems in Communication Networks)第16巻第5号2005年9月"Adaptive Diagnosis in Distributed Systems" —文,该文献第1088页——1109页所公开的,基于主动探 针对分布式系统进行监测诊断。假设故障^针依赖关系为近确定 性,选择探针时采用确定性模型,诊断故障时采用概率推理技术,这
种方式在选取探针时可能会选择过少探针,监测不到需要的症状。

发明内容
本发明的目的是针对上述现有技术中存在的问题提供一种基于 主动探针的服务故障诊断方法,使用主动探针有效监测网络中的服务 性能,保证在各个接入网内使用服务的性能;当监测发现异常时,根 据监测到的症状快速准确地定位出故障根源。
本发明解决上述技术问题是通过以下技术方案来实现的 一种基于主动探针的服务故障诊断系统,所述故障诊断系统包 括探针、管理主机、接口模块、管理/信息呈现模块、故障检测模 块、故障诊断模块、依赖模型存储器、有效探针信息存储器、告警/ 故障信息存储器,所述探针部署在探针站上;所述管理主机和探针站 通过接口模块与管理/信息呈现模块、故障检测模块、故障诊断模块 相连;所述管理/信息呈现模块、故障检测模块、故障诊断模块和所
述依赖模型存储器、有效探针信息存储器以及告警/故障信息存储器 分别相连。
所述探针站可以位于用户主机上也可以位于其他专用监测主机上。
一种基于主动探针的服务故障诊断系统的诊断方法,包括以下步

(1) 选取故障监测阶段所需的探针;
(2) 将步骤(1)所选探针部署在对应探针站上,周期性地监测 服务性能;
(3) 当监测到步骤(2)中发送的探针异常时,启动所述故障诊 断模块,进一步选取探针观察服务性能;
(4) 根据步骤(2)和(3)中监测到的症状,得出故障假设。 所述步骤(1)中为可能故障设置检测率门限值。
所述步骤(1)中基于不确定性故障——探针依赖模型选择监测 探针集合的贪婪算法。
所述步骤(3)中选择可能故障对应的探针子集的差集作为诊断 探针,进一步观察服务性能。
本发明基于主动探针的服务故障诊断系统及其方法具有以下优

本发明为可能发生的故障设置故障检测率门限,根据前述的故障 ——探针不确定性依赖模型和检测率门限建立监测探针集。这些探针 从用户位于的接入网向服务发送应用层探针监测服务性能,以定义的 检测率门限值发现异常。当监测探针集发现服务性能异常时,可以自 动快速地选取诊断探针集来进一步观察服务状态,根据之前的观察结 果推理得出故障假设。
本发明相对基于客户端测量获取服务性能的服务故障诊断来说, 可以减小监测开销并防止由于性能测量对客户端可能带来的过度干 扰。相对基于网络数据包搜集并重构请求-响应来获取服务性能方式 的服务故障诊断来说,可以减小性能收集的难度及监测开销。相对于 使用确定性模型的主动探针方式,本申请基于不确定性模型选取探 针,考虑了故障探针依赖强度,从而带来更精确的故障检测率,为可 能故障加上了可设置的检测率门限值,有效保证了对每个故障的检测 率,使用文中所述的算法选取探针,以较小的探针开销保证了服务性 能异常的发现,而且获得了很好的诊断性能。


图1是实现本发明的故障诊断系统示意图。
图2是实现本发明的总流程图。
图3是本发明中选取故障监测探针的处理流程图。
图4是本发明故障诊断阶段的流程图。
具体实施例方式
下面结合附图对本发明作进一步详细的说明,在附图中图l是 实现本发明的故障诊断系统示意图。该系统在探针站上部署探针,观 察探针状态,并进行故障检测和诊断。故障管理系统包括探针,管理 主机,接口模块,管理/信息呈现模块,故障检测模块,故障诊断模 块,依赖模型存储器,有效探针信息存储器,告警/故障信息存储器。
探针为部署在用户主机或者专用测试主机上的服务会话,当运行 时可以监测到其所在位置获得的服务性能,并可以向接口模块报告性 能参数。管理主机通过接口模块可以访问需要的数据,控制管理系统 的运行。接口模块负责将内部的控制信息或者数据发送到管理主机和 探针,以及将来自外部的控制信息和数据发送到相应的内部模块,管
理/信息呈现模块向管理主机呈现管理界面;按照来自管理主机的指 令管理系统;将来自外部的数据写入对应数据库,故障检测模块选取 并部署故障监测探针,在出现异常时启动故障诊断模块,故障诊断模 块选取诊断探针,根据探针结构推理得出故障根源,依赖模型存储当 前探针-故障依赖模型,有效探针信息存储当前可用的探针信息,告 警/故障信息存储所有的告警和故障记录。
图2是实现本发明的总流程图,图3是本发明中选取故障监测探 针的处理流程图。首先选取故障监测阶段所需的探针,其具体细节展 示在图3中,选取完成之后就将探针部署在网络中,周期性地监测服 务性能。当监测到探针异常时,开始进行故障诊断,根据前一阶段的 症状,进一步选取探针,得出故障假设。
图3是本发明中选取故障监测探针的处理流程图,包括如下几

将所有"e,"的故障对应的探针加入监测探针集合,从F中将这 些故障删除,表示他们已经被监测(步骤101);
由于步骤101已经加入了部分监测探针,这些探针可能会导致其 他部分探针满足检测率门限,因此需要将这些故障从F中删除(步骤
102);
从F中选取一个对应最小D^的故障力(步骤103);
比较该故障对应的探针中,是否存在多个会导致相同最大M的
探针(步骤104);
从中选择对应最大roQ的探针(步骤105); 选择对应最大^的探针(步骤106); 将这个探针加入监测探针集合(步骤107);
判断103步骤选择的故障是否己经满足检测率门限要求(步骤
108);
从F中删除已经满足检测率门限要求的探针(步骤109); 判断是否需要监测的故障都已经以足够的检测率进行监测(步骤 110);
得出监测探针集合,将其部署到网络中,周期性地监测服务性能 (步骤lll)。
图4展示了故障诊断阶段的流程图。
根据监测阶段发现的症状,得出可能一个大的可能故障集合(201
步骤);
根据可能故障集合,使用之前所述的探针选取方法,进一步获取 系统状态(202步骤);
由故障监测和故障诊断阶段发现的探针结果,推理得出故障假设 (203步骤)。推理算法的主要思想是将之前探测得到的所有探针结
果逐个输入算法,使用信度更新的方式在各节点之间传递A和;r消息。
输入结束后,逐个选择w①最大的故障节点加入故障假设,并进行信 度更新。直到所有观察到的症状均可被故障假设解释为止; 验证故障假设,故障恢复(204步骤)。
本发明在用户所处的接入网内布置探针站,探针站可以位于用户 主机上,也可以位于其他专用监测主机上。从探针站可以向需要监测 的服务发送探针,从而监测到该接入网内使用该服务的性能状况。一 个探针应当会经过一个路径到达服务,从而探针可以反映服务和路径 的状况。 一个大规模网络内,可能存在多个服务和多个接入网,对应 的可以发送多个探针。过多的监测探针会带来较大的开销,我们需要 减小这个开销,并保证故障诊断性能。
本方案采用二分贝叶斯网络模型表示故障的先验概率以及故障 和探针之间的因果概率。这些概率可以通过分析历史记录和故障注入 的方式获得。故障集合为iM/i,…,/J, ,=1表示发生故障,乂=0 表示未发生故障;探针集合为/^(A,…,/U ,乃=1表示发生监测到 异常,P,O表示未监测到异常;P(/)为故障/发生的先验概率;尸(pl/)
为故障/发生时,探针p检测到异常的条件概率;0 74/)为与故障/ 存在因果关系的探针集合;Pw(p)为与探针p存在因果关系的故障集 合。
本发明分为两个阶段故障监测和故障诊断。在故障监测阶段, 周期性发送一个预先选取的探针集合,达到监测服务性能的目的。该 监测探针集合应当满足当任一故障发生时,有较高检测率使至少一个 探针发现异常。也就是说,对每个可能故障,该监测探针集合均存在
一个较高的检测率,其值r的大小可由用户来定义。若当前监测探针
集合为户必,对故障/的检测率函数定义为
雕n [i-尸(禍)]
为了在可接受开销基础上获得高的检测率,本发明采用了一个贪 婪算法获取监测探针集合。假设当前已选定的监测探针集合户血,该 算法的思路是从尸-/^,将探针逐个加入P必中,直到尸必满足预设故 障检测率要求。对每个探针Ae尸—Aet ,我们计算加入该探针后,
满足监测率r的故障数目&"
1
o D )<r
将对应于最大一值的探针加入p^。如果多个探针有相同的最大 w,值,则选取对应最大检测率和的探针。检测率和定义为
乂=1
当所有探针都用来监测故障时,也就是说^et-P,每个故障都
达到最大检测率,定义为Dg产"2(尸,乂)。每个故障都有不同Dg,,
如果一个故障的比其他故障低的"g,那么c/^'w(乂)中的探针更可
能被选中。因此在每次选择探针时,我们选择最小Da的故障,从
CMd(,)中选择对应最大&6的探针。
如果一个故障乂的D0《71,那么即使所有探针都用于监测,也
不能满足门限r。为了保证检测率,c&wc/;)中所有探针都应当加入P^。
故障诊断阶段需要根据故障监测阶段得到的探针结果,进一步选 取探针获取系统信息,并使用诊断算法得出故障假设。
基于前一阶段得到的异常探针集合户w,我们可以得出一个可能
故障集合P^^"J^^ P""A),其中包含所有可能导致/^g的
故障。为了从这个可能故障集合中找出故障假设,需要进一步选取探 针进行观察。考虑只与一个可能故障有因果关系的探针,如果该探针
失败,那么必然是这个故障导致其失败;如果一个与多个故障有因果 关系的探针失败,则难于确定究竟是那个故障导致这个异常。为此, 本阶段选择只与尸^中一个可能故障有因果关系的探针来进一步观 察。也就是说,我们选择每个可能故障的孩子与其他可能故障孩子的 差 , 表 示 为
<formula>formula see original document page 9</formula>根据上述得到的所有探针结果,可以使用最大概率解释或者信度 更新的方式推理得出 一个故障假设。
权利要求
1、一种基于主动探针的服务故障诊断系统,所述故障诊断系统包括探针、管理主机、接口模块、管理/信息呈现模块、故障检测模块、故障诊断模块、依赖模型存储器、有效探针信息存储器、告警/故障信息存储器,所述探针放置在探针站上;所述管理主机和探针站通过接口模块与管理/信息呈现模块、故障检测模块、故障诊断模块相连;所述管理/信息呈现模块、故障检测模块、故障诊断模块和所述依赖模型存储器、有效探针信息存储器以及告警/故障信息存储器分别相连。
2、 根据权利要求l所述的一种基于主动探针的服务故障诊断系统,其特征是所述探针站位于用户主机上。
3、 根据权利要求l所述的一种基于主动探针的服务故障诊断系统,其特征 是所述探针站位于专用监测主机上。
4、 根据权利要求1-3之一所述的基于主动探针的服务故障诊断系统的诊断 方法,包括以下步骤(1) 选取故障监测阶段所需的探针;(2) 将步骤(1)所选探针部署在对应探针站上,周期性地监测服务性能;(3) 当监测到步骤(2)中发送的探针异常时,启动所述故障诊断模块, 进一步选取探针观察服务性能;(4) 根据步骤(2)和(3)中监测到的症状,得出故障假设。
5、 根据权利要求4所述的基于主动探针的服务故障诊断系统的诊断方法, 其特征是在所述步骤(1)中为可能故障设置检测率门限值。
6、 根据权利要求4所述的基于主动探针的服务故障诊断系统的诊断方法, 其特征是它还包括在所述步骤(1)中基于不确定性故障——探针依赖模型选择监测探针集合的贪婪算法。
7、 根据权利要求4所述的基于主动探针的服务故障诊断系统的诊断方法,其特征是它还包括在所述步骤(3)中选择可能故障对应的探针子集的差集作为诊断探针,进一步观察服务性能。
全文摘要
本发明公开了一种基于主动探针的服务故障诊断系统及其方法,使用主动探针有效监测网络中的服务性能,保证在各个接入网内使用服务的性能,当监测发现异常时,根据监测到的症状快速准确地定位出故障根源。本发明监测开销小,有良好的故障诊断性能,同时本发明基于不确定性模型选取探针,能够以较小的探针开销保证对每个故障的检测率,而且获得了很好的诊断性能。
文档编号H04L12/24GK101170447SQ20071018801
公开日2008年4月30日 申请日期2007年11月22日 优先权日2007年11月22日
发明者王文东, 程时端, 褚灵伟, 邹仕洪 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1