论文部分内容阅读
随着Web服务技术的迅速发展,面向服务计算(Service-Oriented Computing,SOC)将服务作为应用开发的基本元素,通过服务组合进行构建的分布式软件系统和企业应用开发,成为主流的服务计算模式。Web服务技术通过采用WSDL(Web Services Description Language)和UDDI (Universal Description Discovery and Integration)等标准和协议,对异构分布式计算以及代码与数据重用等问题进行了解决,具有高度的互操作性、平台无关性和松耦合的特点,成为服务计算主要的实现技术。但是,当单个Web服务无法满足用户的复杂需求时,可以将Web服务按照特定规则进行有机合成,以形成可以增值的、更大粒度的具有内部流程逻辑的组合服务,并通过执行组合服务而达到业务目标的过程,即Web服务组合问题。Web服务组合作为SOC模型中实现服务资源共享和企业应用集成的重要技术,成为Web服务技术发展的主要方向。Web服务的服务质量(Quality of Service, QoS)是描述了服务满足用户需求的能力,在进行Web服务组合时,需要考虑Web服务的性能、可靠性等非功能性属性。可靠性是Web服务在一定时间环境内运行的成功率,是提供Web服务组合QoS保证的一个重要度量标准。随着Web服务组合数目增多,结构规模的增大和复杂性的提升,如何优化Web服务组合的可靠性变得非常重要,并且在可靠性优化过程也可能会产生计算量大、成本花费大等问题。为此,有必要研究一套适用于Web服务组合可靠性的优化理论和技术体系,来满足用户对Web服务组合的可靠性期望。本文主要围绕基于成本效益系数的Web服务组合可靠性优化问题展开研究。首先在分析了Web服务组合的结构模式及其对应的可靠性函数,进一步给出了两种Web服务组合的可靠性计算方法,并建立了非线性可靠性优化模型。然后,在一定成本约束条件下,通过组件服务的优化成本及其可靠性关系计算成本效益系数,来确定服务组合的优化方案,再根据优化模型计算得到其可靠性优化结果。最后设计了一个基于成本效益系数的Web服务组合可靠性优化方法的原型系统。系统使用Java和Matlab语言实现,首先用户读入通过流程库中可以作为Web服务组合对象的工作流,然后输入描述工作流中组件服务的可靠性,其次对Web服务组合的顺序、并行、分支等基本结构进行分析。最后采用成本效益系数方法得到整个Web服务组合的可靠性优化结果。通过实验证实,利用成本效益系数来优化Web服务组合的可靠性是有效且合理的,可为用户的可靠性需求提供信息服务。