论文部分内容阅读
随着Web服务技术的发展和不断成熟,基于服务的软件系统(Service-Based Software systems, SBS)已经成为了在互联网开放环境中快速构建大规模、分布式应用的主要形式。考虑到SBS运行在开放的互联网环境中,随着可用服务数量的增多、服务功能或性能的持续变化,手工修改SBS以获得更高的系统性能变得越发困难,能够随环境变化自治地调节其运行时行为而提高系统性能的SBS,即基于服务的自适应软件系统(Adaptive SBS, ASBS),已经成为了开放网络环境下分布式软件系统的重要发展方向。目前,大部分现有ASBS性能优化研究都将SBS视为一个组合Web服务,进而基于动态服务组合或动态服务选取实现其性能优化。然而,与组合Web服务不同,SBS是从系统角度提出的概念,强调从业务分析开始、到业务建模、环境建模、系统初始实例生成及其随环境变化的不断演化和自适应执行直到最终被撤销的完整生命周期中对系统性能的持续优化,因此,在性能优化效果的评估、性能优化机制和优化策略的设计等方面都与面向一次执行过程的组合Web服务性能优化具有明显的区别。论文以实现ASBS性能的持续优化为目标,围绕如何满足系统完整生命周期中多实例和多尺度的性能优化需求、如何解决现有优化方法在优化效果和优化效率之间的矛盾以及如何在ASBS优化过程中兼顾服务消费者和服务提供者的收益等三个主要问题,试图通过面向系统性能持续优化目标建立一个支持现有的和未来可能出现的所有系统执行实例优化运行的支撑环境,将ASBS的性能优化分解为面向可靠运行的在线反应式性能优化和面向优化运行的离线预测式性能优化两个阶段,有效结合反应式适应和预测式适应、局部优化和全局优化服务选取解决优化效率和优化效果之间的矛盾,形成一个通用的、统一的ASBS性能持续优化框架,使ASBS的提供者和使用者都能够在提供和使用系统的过程中收获各自期望的价值。具体地,论文主要完成了以下工作:(1)面对ASBS性能持续优化的需求,提出了将ASBS性能优化划分为面向可靠运行的在线反应式适应和面向优化运行的离线预测式适应两个阶段的构想,建立了基于两阶段适应的ASBS性能持续优化机制,支持对局部优化与全局优化、预测式适应与反应式适应的有效结合,形成了一个统一而通用的能够兼顾优化效率和效果、提供者和使用者收益的ASBS’性能持续优化框架。(2)为支持离线适应对在线适应的有效信息反馈,以实现对系统性能优化过程的两阶段划分,提出了一个基于Pareto占优的SBS优化运行支撑环境构建方法。通过基于Pareto占优原则直接面向服务的多维质量指标筛选和管理服务,使所建立的服务环境能够打破现有优化方法只生成单一最优解的限制,为在线适应提供一组在各个质量维度上均衡的折中解,支持面向多实例和多尺度的优化需求。(3)针对开放的服务环境中给定变化事件对系统实际执行的影响的不确定性,提出了一个基于动态变化影响分析的ASBS离线预测式性能优化方法。在现有研究只基于变化幅度度量变化影响的基础上,扩展从时间轴上动态分析变化时间影响系统执行的可能性,设计了一个支持动态变化影响分析的系统执行上下文模型,提出了变化影响概率的概念并给出了其度量方法,建立了相应的系统性能主动优化策略,以保证预测式性能优化的有效性和必要性。(4)为在ASBS’性能优化过程中兼顾系统提供者的收益,提出了一个系统长期收益驱动的ASBS在线反应式性能优化方法。基于对系统长期收益构成的分析,设计了一个支持系统长期收益评估的状态一活动一收益(SAR)模型,用以捕获ASBS在线优化过程中系统状态、在线适应活动和系统收益之间的动态因果关系,并将系统长期收益优化建模为一个部分可观察马尔科夫决策过程进行求解,以支持生成既能够满足使用者需求又能够实现提供者收益最大化的在线适应决策。(5)为了验证所提出的基于两阶段适应的ASBS性能持续优化方法的有效性和实用性,设计了一个支持ASBS持续优化运行的反射框架,并基于Apache开源企业服务总线项目ServiceMix设计并实现了一个SBS优化运行支撑平台原型系统。进而,在所建立的原型系统上,以一个简单的银行借贷业务应用为例,验证了论文所提出的基于两阶段适应的ASBS性能持续优化方法的有效性及其实际应用价值。