论文部分内容阅读
Web服务在SOA以及当前的云计算环境下已经得到了广泛的运用,以其良好的松耦合性和平台无关性得到了越来越多的重视。但是,由于网络不稳定、软硬件故障等原因造成的Web服务失效率高以及可靠性差等问题使得Web服务的进一步发展受到阻碍。基于设计多样性和数据多样性的软件容错技术在传统软件领域已经得到了较好的应用,在Web服务容错领域,基于冗余的容错策略已经得到了较多的研究与探索。基于各种冗余策略的Web服务容错方法被广泛应用于面向服务的关键性系统的可靠性和性能保障。针对在Web服务应用中存在的问题,本文提出了一种基于成本效益分析的Web服务容错策略规划方法。在该方法中,本文首先提出并详细描述了九种Web服务容错策略的成本计算方法,并且给出了计算公式。这些公式同时考虑了服务价格、调用补偿以及策略本身的特点,使得成本计算能够较为准确。已有的Web服务容错策略选择方法一般考虑服务响应时间和失效率等与服务性能相关的质量属性,往往忽略了服务调用和补偿费用等成本问题,导致所选择的策略可能在成本效益方面存在不足,所以本文提出的这些成本计算方法能很好的弥补这些缺陷。其次,由于针对不同领域使用的Web服务所具有的质量属性并不完全相同,所以Web服务的质量属性信息应该被存储为异构的数据。本文使用语义网中本体的概念来组织这些异构的Web服务信息,并使用SPARQL语言进行语义检索。本文还提出了Web服务容错框架使用代理模式,使得容错过程对使用者透明,保持了Web服务的松耦合性。再次,本文提出了一种基于成本效益分析的冗余策略选择算法,该算法能够在合理的冗余成本下实现较高的容错性能。在此方法中,服务成本、响应时间、失效率、补偿成本等多种质量属性都被考虑进来,保证了最终选择出的冗余容错方案既能满足用户对性能的要求也能大大降低用户使用该方案所要付出的成本。最后,为了验证所提出方法的有效性和性能,本文使用了一种只考虑单质量属性的Web服务容错策略选择算法与本文方法进行对比。最终的实验结果表明,由于本文方法涉及多种质量属性,所以能更好的满足用户的要求,选择出的容错策略不仅在成本上远远低于另一种方法,而且在性能上也没有较大损失。另外,实验结果还表明执行本文方法所造成的开销不会对Web服务的调用过程产生明显的影响。