论文部分内容阅读
Web服务以其良好的互操作性、松耦合性、可扩展性等诸多优点逐渐受到学术界和工业界的共同关注。虽然Web服务本身的技术越来越成熟,但是单个服务能实现的功能毕竟有限,无法满足用户日益复杂的需求。于是,Web服务组合应运而生。使用Web服务组合,用户可以动态的组合现有的Web服务以完成更加复杂的任务。随着网络行业竞争的日益加剧,Web服务组合仅仅满足用户的功能性需求是远远不够的,服务组合还应在实现用户需要的功能的同时给用户提供最佳的用户体验。所以当系统中包含大量功能相同但服务质量(如响应时间、可靠性等)不同的原子服务时,在组合服务时就面临如何选择适当的原子服务以保证服务组合的服务质量(QoS)的问题。Web服务在线运行时其QoS中的某些属性将会表现不稳定,比如Web服务的响应时间。在进行基于QoS的服务选择时,现有的做法大多使用服务供应商提供的静态QoS或服务运行时监控得来的历史均值。对于Web服务响应时间,静态值或历史均值并不能准确的反映服务运行时各个时段的真实响应时间,这将影响服务选择的质量。本文通过使用分时段的Web服务响应时间均值进行服务选择来解决这个问题,并提出一个基于卡尔曼预测器的Web服务响应时间预测方法来预测服务运行时的下一个时段的响应时间属性。实验结果表明本文提供的方法可以有效的预测Web服务运行时的响应时间。现有的服务选择方法在对包含多条执行路径的Web服务组合进行选择时,大多采用分别对每条执行路径分别进行选择,再综合所有路径的选择结果,得到最终选择结果的方法。由于要分别对每条执行路径进行选择,所以服务选择的效率并不高。针对这一问题,本文提出了基于马尔科夫链的Web服务组合QoS计算方法,可以直接对包含多条执行路径的Web服务组合的QoS进行评估,以使只需进行一次服务选择就得到最终的选择结果。当Web服务组合中包含的抽象服务或抽象服务中包含的原子服务数量较大时,使用传统的算法来进行服务选择将比较耗时。对于这种情况,使用遗传算法来进行服务选择将有较高的效率。但是在考虑网络传输QoS时,传统的遗传算法进行基于QoS的服务选择并没有很好的效果,本文通过改进遗传算法初始种群的生成,提出一种改进的遗传算法,可以更好的进行服务选择。