4.6.5.1 实验设置
为了评估基于服务执行矩阵的贝叶斯诊断方法的诊断准确性,在本章的实验中,共产生两组实验数据,每组包含100个Web服务,第一组中的每个Web服务都包含10个行为节点,而第二组中的每个Web服务都包含20个行为节点。
对于这两组数据中的每一个Web服务,分别随机选择1个、2个和5个行为作为故障行为,设置这些故障行为的失败执行概率为0.8,并根据这3组故障行为分别为每个Web服务生成10组分别包含10,20,…,100条执行路径的历史数据。
4.6.5.2 实验分析
图4.20 第一组实验数据的诊断准确率比较(www.xing528.com)
在图4.20中,通过第一组实验数据比较了不同数量的历史数据信息对包含不同故障行为个数的服务的诊断准确率的影响。图中的fn=1表示服务中的故障行为个数是1,fn=2表示服务中的故障行为个数是2,fn=5表示服务中的故障行为个数是5。从图中可以看出,本章诊断方法的诊断准确率为62%~83%,即使在服务中包含多个故障行为时,也能准确地诊断出故障发生位置。从图4.20中还可以看出,所提方法的诊断准确率会随着历史数据中执行路径条数的增加而不断提高,直至到达一个稳定状态。这主要是由于历史数据中执行路径条数的增加意味着在数据中有助于所提出的方法做出诊断的信息越多,历史数据所覆盖的诊断信息也就越完备。但当历史数据中的执行路径条数达到50时,诊断的准确率并未随着执行路径条数的增加而增加,这是由于历史数据已经覆盖了较完备的诊断信息,此时增加的执行路径都是之前信息的重复,因此并不对诊断结果有影响。
在图4.21中,通过第二组实验数据比较了不同数量的历史数据信息对包含不同故障行为个数的服务的诊断准确率的影响。从图中可以看出与图4.20一样的变化规律,所提出的方法的诊断准确率会随着历史数据中执行路径条数的增加而不断提高,当历史数据中执行路径到达一定数量后,诊断准确率也会趋于稳定。然而,与第一组实验数据不同的是,第二组实验数据需要更多的历史数据才能使准确率趋于稳定,也就是说,当历史数据中执行路径条数为80时,准确率才保持不变。这主要是因为第二组实验数据中每个Web服务中的行为个数要比第一组实验数据的行为个数多,因此也就有更多不同的执行可能,也就需要更多的历史数据才能覆盖所有的执行情况。
图4.21 第二组实验数据的诊断准确率比较
从实验中可以看出,基于服务执行矩阵的贝叶斯诊断方法对于包含不同故障行为个数的Web服务都能做出有效的诊断,并且该方法会随着诊断信息的增加而不断地优化诊断结果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。