首页 理论教育 基于模型的Web服务诊断理论:应用可靠性研究

基于模型的Web服务诊断理论:应用可靠性研究

时间:2023-10-31 理论教育 版权反馈
【摘要】:为此,本章依据可获得的诊断信息的不同,在不同的诊断假设前提下从诊断需求出发,提出了3种基于不同诊断模型的服务故障诊断方法。定理4.1对于一个系统模型SM的诊断D是一个最小诊断当且仅当D是一个最小冲突集。

基于模型的Web服务诊断理论:应用可靠性研究

基于诊断的目的,大部分分布式系统都可以根据待检测故障的特性在一定程度上被抽象成系统行为模型。其基本过程是通过为待诊断系统构造系统模型,在给定一组观察的情况下,基于该系统模型进行诊断推理,获得系统的故障行为及相应解释,即诊断结果。

4.3.2.1 系统模型

定义4.1 一个待诊断系统可以用二元组System=(SD,COMPS)来表示,其中SD为一组系统行为描述,COMPS是一组用于描述系统内部组件的有限常量集。

定义4.2 在系统中一个组件ci∈COMPS的状态用¬ab(ci)和ab(ci)来表示,其中¬ab(ci)表示组件ci处于正常状态,ab(ci)表示组件ci处于一种异常状态。

定义4.3 系统的观察集合OBS是系统中一组可观测到的输入、输出值。

定义4.4 待诊断系统的系统模型用三元组SM=(SD,COMPS,OBS)来表示,其中SD为一组系统行为描述,COMPS是一组用于描述系统内部组件的有限集,OBS是系统中一组可观测到的输入、输出值。

根据待诊断系统的状态和行为的确定性,可将系统模型分为确定模型和概率模型[63]。确定模型主要用于具有确定性状态和行为的待诊断系统建模,通过形式化系统规约来描述系统行为。对于基于确定性模型的故障诊断研究,目前主要使用有限自动机、进程代数和Petri网这3种数学工具来构建模型。而概率模型主要用于具有非确定性状态和行为的待诊断系统建模,依据系统的历史运行情况使用概率来描述系统行为。为了建立更加完备、有效的系统模型,de Kleer[169]和Abreu[160]将概率描述信息引入基于一致性的诊断,为故障诊断候选集赋予一定的先验概率,并给出新加入观测数据情况下候选集概率的迭代公式。然而,从理论上看,模型的不完备是必然的,这就要求研究者们在构建系统模型时从诊断需求出发,在模型的复杂性和完备性之间进行权衡,选择适合诊断需求的系统模型。

在构建系统模型时,针对所使用的历史数据和系统规约完备性的不同,Web服务故障诊断方法的分布如图4.1所示。图中灰色圆圈表示其他研究者提出的诊断方法,带图案背景的圆圈表示本文所提出的诊断方法。从图中可以看出,现有方法大多不是假设有一个完备的系统行为规约,就是假设获得的历史数据能够覆盖所有的故障类型。为此,本章依据可获得的诊断信息的不同,在不同的诊断假设前提下从诊断需求出发,提出了3种基于不同诊断模型的服务故障诊断方法。

图4.1 基于诊断信息完备性的Web服务故障诊断方法的分布

4.3.2.2 诊断推理

迄今为止,研究者们已经提出了很多诊断推理方法,有基于模型的[93,140]、基于贝叶斯网络的[127,170]、基于概率[62,169]的方法等。虽然这些方法的诊断推理形式各不相同,但是都基于系统观察是否与系统描述或预期一致的基本理论来进行故障诊断。假设已经确定一个系统存在故障,那么诊断推理就是一个为了使所观察到的系统行为与系统描述相一致而找出哪些系统组件是正常的,哪些组件是故障的判定过程。

定义4.5 诊断D是系统模型SM=(SD,COMPS,OBS)的一个诊断,当且仅当img

从定义4.5来看,诊断就是一种使SD、D和OBS达到逻辑一致的状态,这里将D分为两部分:

(1)Dn表示状态正常的组件集合,即Dn={¬ab(ci)|ci∈COMPS};

(2)Df表示状态异常的组件集合,即Df={ab(ci)|ci∈COMPS}。(www.xing528.com)

通常,当一个系统发生故障时,会有多个组件表现出异常的行为,然而其中一些组件的异常可能是由其他组件的故障行为所引起的。而诊断推理所关注的就是找到引起这些组件异常的最小故障行为集合。

定义4.6 对于系统模型SM,一个诊断D是一个最小诊断当且仅当没有其他诊断D′使得img

也就是说,当不存在一个比Df更小的故障集合能够解释SM的故障行为时,D就是SM的最小诊断。我们也可以使用Reiter[176]所提出的冲突集和最小冲突描述诊断。

定义4.7 对于一个系统模型SM,集合C是SM的一个冲突集当且仅当C⊆ES且C∩es≠∅对于每一个es∈ES均成立。在这里,es表示系统一次执行的组件集合,ES表示系统所有执行的组件集合的集合。

定义4.8 C是一个最小冲突集当且仅当没有其他的冲突集C′⊆C。

定理4.1 对于一个系统模型SM的诊断D是一个最小诊断当且仅当D是一个最小冲突集。

4.3.2.3 基本诊断过程

如图4.2所示,一个诊断过程主要由故障监测、故障定位、故障修复3部分组成。

(1)故障监测:主要监测系统是否出现异常,获取系统信息,为诊断系统故障定位提供依据。监测方法包括静态监测、动态测试、形式化验证等方法。

(2)故障定位:根据故障监测所提供的能反映系统状态的信息,与系统描述进行比较,进行逻辑推理分析或概率计算,定位系统故障,从故障性质和位置确定故障产生的原因,为排除故障、恢复系统正常运行做好准备。

(3)故障修复:当诊断出系统存在的故障时,根据故障原因及故障类型分析并确定修复策略,包括替换、重试等。

图4.2 诊断过程

从诊断过程可以看出,诊断的基本思想就是通过实际监测与系统模型间的差异来定位故障行为,进而修复故障系统,使其恢复正常运行。系统模型一类描述的是系统正常行为,故障是指实际行为偏离了系统正常行为轨迹;一类描述的是系统可能发生的故障类型,这时故障则是指实际行为属于预定义故障类型中的一类或几类。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈