论文部分内容阅读
在云计算环境中,服务组合提供了一种高效实现复合服务的方法;另一方面,云计算又为服务组合活动提供了丰富的原子服务以供选择。然而,用户的需求纷繁复杂,包括对复合服务的功能性需求以及非功能性需求,难以选择云计算平台中最合适的原子服务及实例。因此,考虑用户多约束、多目标甚至是系统负载均衡因素的服务选择问题是极具挑战性的研究课题。同时,由于云计算环境中服务组合请求具有较高的到达率,服务选择方法需要具有较高的实时性。本文首先回顾了服务组合研究现状,尤其是单目标和多目标服务选择问题以及基于粒子群的服务选择方法,并分析了现有方案的优缺点;其次,由于服务选择方法无法直接处理复合服务中子任务的多种多样的拓扑结构,本文提出了一种拓扑转换机制,保证转换后的非功能参数与转换前等价,便于后续的服务选择;随后,本文同时考虑了用户服务质量(Quality of Service, QoS)要求以及系统负载均衡的因素,使用基于小生境技术的环状粒子群算法解决了多约束单目标服务选择问题;此外,本文还提出了精确子群粒子群算法,克服了粒子群固有的早熟收敛和多样性缺失的特性。该算法使用简单的聚类机制,在可行解密集区域建立子群来搜索最优解,提高了服务选择求解的精确性;最后,本文使用近似距离和外部档案机制,为多目标服务选择问题提出了一个轻量多目标粒子群算法。本文的主要创新工作概括如下:1.需求拓扑等价转换机制。由于复合服务中原子服务被调用的拓扑结构(即服务组合路径)多种多样(如基本拓扑结构包括串行、并行、选择、循环等),服务选择算法无法直接从原始的服务组合路径中找出符合用户非功能性参数要求的服务实例。本文提出了一种将QoS参数和系统负载均衡参数进行等价转换的拓扑转换机制,这种机制可以将各种服务组合路径转换为服务选择算法可以直接处理的聚合拓扑形式的路径,该机制详细描述了转换后的聚合服务组合路径构建方法和等价的非功能性参数计算方式。2.环状粒子群服务选择算法。现有的服务选择算法往往会依赖于问题的性质,比如线性、非线性、约束及目标函数的性质,但忽略了用户的QoS需求和云计算平台负载均衡需求的同时影响。本文采用了一种基于小生境技术的环状粒子群服务选择算法,该算法将粒子群算法中每三个序号相邻的粒子组成小生境环境,并将每个小生境串接使整个粒子群形成环状结构。这种结构可以增强粒子群算法对服务选择问题中次优解的抵抗力,提高了服务选择的精确度。仿真结果表明,环状粒子群算法的精确度高于标准粒子群算法,尤其是在存在大量可用服务实例的情况下。3.精确子群粒子群服务选择算法。粒子群算法固有的特性(如早熟收敛和多样性损失)经常会导致服务选择结果的次优解的产生。本文提出了一个同时基于串行和并行小生境的精确子群粒子群服务选择算法,该算法先将解空间划分为若干网格单元,然后定期统计网格单元中的可行解数量,接着算法将可行解较多的网格单元聚类为可行解密集区域,并在其中建立子群,算法将各子群与剩下的主群粒子隔离,使用各种群最优解排序比较的方法同时查找最优解。测试结果表明提出的算法改进了粒子群的精确度,一定程度上减少了早熟收敛和多样性损失对服务选择结果的影响。在计算复杂度仍处于可接受的条件下,该精确子群粒子群算法比其他多约束单目标服务选择算法更加精确。4.轻量多目标粒子群服务选择算法。对于用户多目标QoS需求,现有方案主要将多目标服务选择问题转化为多约束单目标服务选择问题求解,但这些方案必须在有解空间先验知识的情况下才能生效,而且大部分方法一次执行仅输出一个解,用户很难在可接受的算法复杂度下得到均匀分布的解集。本文基于粒子群提出了一个通用的轻量多目标服务选择算法,该算法使用近似距离这样复杂度较低的机制来评估解的拥挤程度,并使用外部档案来存储非支配解。仿真结果表明该算法在近似度、覆盖度和执行时间方面比经典的非支配排序遗传算法Ⅱ(Nondominated Sorting Genetic Algorithms-Ⅱ, NSGA-Ⅱ)更加高效。