论文部分内容阅读
在面向服务的计算环境下,分布在Internet上的各类资源都可以封装成Web服务的形式,并以统一的接口规范对外发布。通过把这些相对简单且功能单一的Web服务按照特定的过程组合起来构建新的服务是实现资源集成的有效方式。上述过程我们称为服务集成。开放环境下,由于服务的自治性,服务的质量(QoS)以及服务与服务之间的通信质量容易受其他因素的影响,例如服务的负载过高,通信出现网络延迟等。因此,服务集成的QoS在运行时刻不稳定可靠,如何保证服务集成的QoS是服务集成领域的热门研究方向。为了解决这个问题,可以通过监控服务集成中单个服务的QoS和服务与服务之间通信的QoS来及时发现运行时可能出现的异常。其中,响应时间是QoS的重要指标,尤其是针对应急系统。监控能够使得异常导致的响应时间的延迟被及时发现,进而引入修复措施使其回到正常状态。因此,本文以响应时间作为切入点,探讨如何监控使得服务集成响应时间最小。 但是,每监控一个服务或者通信链路都会造成一定的开销,例如使用第三方监控工具每监控一个服务和通信链路都要花一定的钱,因此不可能对服务集成中所有的服务和通信链路进行监控。现实生活中,我们在考虑对服务集成监控时通常会遇到两个问题:问题一、在给定一定数量的监控资源时,如何有效地分配才能使得服务集成响应时间最小,简称监控资源最优分配问题。问题二、为了达到指定的监控效果,最少分配多少监控资源才能实现,简称监控资源最少分配问题。针对上述问题,本文在分析了现有相关工作的基础上,指出了现有工作的不足,提出一种高效、准确的方法来解决监控资源分配问题。本文的工作主要包括以下几点: 对服务集成监控资源分配问题建模。针对服务集成的结构,服务的响应时间、服务与服务之间的通信时间、监控资源的抽象表示分别建模,探讨了监控给服务集成响应时间带来的优化效果。在此基础上,本文的两个研究问题得以用数学模型简洁地表述。 在本文提出的模型基础上,监控资源最优分配问题可以转化为图的最优化问题,利用服务集成结构图的性质,将服务集成结构图分解成树,再用动态规划去寻找最优解。 提出了对服务集成中顺序、选择、循环和并发结构响应时间进行累积的方法,同时结合对图的最优化问题的求解,给出了解决问题一的详细步骤。分析了问题一和问题二的联系,说明了问题二如何在问题一的基础上求解。 通过实验验证本文的有效性和效率。通过比较我们的方法和现有方法在不同结构上的监控效果,证明了我们方法更能有效降低服务集成响应时间。另外,对比了我们的方法和现有方法在含不同数量的服务和通信链路的服务集成上的计算时间开销,以及在含同一数量服务和通信链路的服务集成上,分配不同数量监控资源时的计算时间开销,证明了我们的方法在与现有方法取得相同监控效果时,时间复杂度更低。