论文部分内容阅读
服务自动组合作为面向服务的计算(Service Oriented Computing,SOC)和面向服务的体系架构(Service Oriented Architecture,SOA)中的关键技术,一直是服务科学发展中倍受关注的焦点。随着互联网向云计算的宏伟目标不断演进,服务自动组合技术正逐渐从繁荣期向成熟期过渡。
本文紧紧围绕服务自动组合及其并行优化两大核心难题展开研究,不仅成功借鉴了AI规划方法实现了面向服务这一特殊领域的组合规划系统,而且通过分布式方法将该系统分解到若干计算节点并行执行从而大大提高了自动组合效率。具体来说,本文的主要工作和贡献包括以下四个方面:
(1)提出了基于状态空间的服务自动组合方法,实现了面向服务的专用组合规划器。该方法通过借鉴AI规划中常用的状态空问法(State Space Search),以状态来描述基本的规划单元并采用参数集和一阶谓词逻辑表达式混合的方式来刻画状态内容。在此其础上,该方法没计了专门针对服务状态的启发式函数以提高搜索的效率,同时保证所得到的组合服务是所有可能结果中执行路径最短的解。通过使用目前较有影响力的服务集生成工具WSBen构建的服务测试集进行实验后发现,该方法适用于千量级复杂服务的自动组合问题。此外,通过与WSPR的对比实验后发现,该方法所得组合服务的执行路径均不长于WSPR得到的执行路径。
(2)提出了基于规划图的服务自动组合方法,并对组合服务的QoS进行了优化.该方法主要针对海量信息提供类服务,并在满足用户功能性需求的同时考虑了组合服务的整体QoS,能够在较短时间内返回整体QoS最优的前K个组合服务。整个方法大体上分为三个阶段:正向搜索阶段、最优QoS计算阶段和逆向搜索阶段。首先正向搜索阶段生成组合问题的规划图,去除与组合无关的服务,从而大缩减了搜索空间;接着最优QoS计算阶段在不穷举所有组合结果的前提下计算组合服务最优的QoS;最后逆向搜索阶段基于之前得到的规划图和最优QoS值,通过阈值限制的方式搜索QoS最优的前K个解。通过使用世界知名的服务自动组合竞赛WS-Challenge2009提供的竞赛集进行实验后发现,本文所提方法所找到的组合服务的最优QoS值与竞赛中的冠军系统所返回的最优值完全一致。此外,本方法在全国首届Web服务竞赛CWSC2011中也取得了性能指标第一、正确性指标第二的理想成绩。
(3)提出了结合状态空间与规划图的服务自动组合方法,并通过分布式方法对其进行了并行优化。该方法融合了状态空间建模能力强和规划图搜索空问小的优点,设计并实现了基于多节点的分布式服务自动组合系统。该系统分为一个核心节点和若干规划节点,核心节点是整个系统与外部应用系统的接口,可将一个规划任务分配给各规划节点并负责平衡各规划节点之间的计算负载;而各个规划节点则负责在各自局部的搜索空间内寻找能够满足用户需求的组合服务。为适应云环境的可伸缩性,该系统中的各个规划节点也可以动态的加入和退出系统。以四个规划节点的小型分布式组合系统进行实验后发现该系统能够在超大规模服务库中稳定运行,并对系统性能有一定程度上的提升。
(4)实现了基于各类组合方法的灵活服务自动组合原型系统。本文实现的服务自动组合原型系统是一个支持分布式多节点的动态可扩展软件系统,整个原型系统可以分为客户端子系统和服务组合子系统两大部分。其中,客户端子系统可以是任何需要使用服务组合功能的个体,包括个人用户或软件模块,本文主要从个人用户的角度对客户端子系统展开研究,因此原型系统中的客户端子系统是可为个人用户提供操作界面的独立软件系统,它起到联系请求者和组合系统的桥梁作用。与客户端子系统相对应的服务组合子系统是真正完成服务组合任务的软件实体。通过使用并行技术进行优化之后,原型系统中的组合子系统可以包含一个核心节点和若干个数可变的规划节点,从而实现随需而变的高效服务组合过程。