论文部分内容阅读
云计算作为一种新型的计算模式与商业模式,以动态的弹性扩展与灵活的服务合约为基础,通过匹配用户需求与服务功能,实现对云计算平台中服务的重用、组合及验证,从而构成能随着大众需求即时应变的松耦合云应用。近年来,随着云计算技术的不断发展与商业模式日臻的成熟,云计算环境下的服务组合问题也逐渐呈现出用户需求个性化、候选服务海量化、服务调度跨云化、组合环境动态化等特征。在上述背景下,如何根据用户需求,有效地发现、组合分布于不同云计算应用平台的云服务,并保证云服务组合的稳定运行,已成为云计算环境下服务应用发展的关键。近年来,基于QoS的服务组合作为Web环境下构建分布式应用的主流方法,受到了学术界及工业界的广泛关注,也取得了较多研究成果。但云计算作为一种全新的商业模式,为实现高效、健壮、个性化服务组合应用带来了挑战。如,1)云计算环境下,云平台间具有竞争关系,一个云平台往往无法实现对其它平台云服务的一站式查询,为实现跨云平台服务组合带来困难。2)具有竞争关系的云平台往往发布众多功能相似、QoS不同的云服务,为向用户提供个性化的服务组合应用带来挑战。3)为提升用户体验,云服务提供商往往将众多封装好、具有多重功能的大粒度服务对外发布,但现有的服务评估方法往往只针对用户特定的服务功能进行评估,而忽略了大粒度服务中其它功能对服务性能的影响。4)动态网络环境下,跨云平台服务组合往往具有不稳定性,容易出现因某个成员服务失效或超时而引起的服务组合异常。针对上述挑战,本文的主要工作如下:1)为构建云计算环境下的服务组合应用,本文提出了一个云计算环境下的服务组合系统框架。框架分为四个层次,自下而上分别为云服务层、服务网络层、服务发现层及服务组合层。具体而言,云服务层以分布式的服务代理架构为基础,实现不同云计算平台上服务信息的收集:进而,服务网络层基于服务的描述信息与服务间的组合记录信息,构建云服务网络。服务发现层则利用社区划分理论,在服务网络中实现相似服务与协同服务的发现。最后,服务组合层以用户的组合需求为基础,实现云服务的选择、评估及组合过程,并对运行过程中检测到的服务组合异常进行处理。2)为实现对不同云计算平台上服务的一站式查询,本文对组合框架中的服务网络层与服务发现层进行了细化,提出了一个用于跨云平台服务发现的应用框架。框架以云平台的独立性为基础,通过抽取各平台的服务信息,构建独立于特定云平台的服务网络,进而提出了一个基于相似度的服务网络社区划分方法。具体而言,我们将服务的描述信息作为结点属性,将服务间的组合记录(包括QoS信息)作为链接属性,基于不同服务间两种属性的加权相似度,实现服务社区划分。通过调节结点属性与链接属性的计算权重实现相似服务与协同服务的发现。最后,通过实验对方法性能进行了验证。3)为解决面临大量功能相似、QoS不同的云服务时现有个性化服务组合算法效率较低的问题,本文提出了一个用户偏好感知的Skyline服务模型(User Preference-aware skyline Service, UPS)。模型以用户偏好的QoS属性为基础,将传统基于所有QoS属性的Skyline服务计算方式,转变到重点关注用户感知的QoS属性的Skyline服务(也称为UPS服务)计算。然后基于UPS模型,提出了一种Top-K服务选择方法。具体而言,我们提出了基于多索引的局部服务选择方法与基于组合服务格的Top-K服务全局优化算法,在实现UPS服务高效计算的基础上,对Top-K组合服务的选择进行优化。最后,通过两个数据集对方法的性能进行了验证。4)为解决现有服务组合方法中服务评估只针对特定功能进行而忽略了大粒度云服务中其它功能对服务整体QoS影响的问题,本文提出了一个面向大粒度云服务的多功能描述模型(Multi-Functional Specification model of service, MFS模型以服务的多功能描述为基础,给出了大粒度服务的QoS与效用值计算公式。然后基于MFS模型,提出了一个大粒度服务的评估方法。具体而言,方法以用户全局约束的分解为基础,在获得每个任务结点局部约束的基础上,针对每个候选服务池,进行服务通用功能的抽取与其权重的计算。并以此为基础计算服务的效用值,实现大粒度云服务的评估与排序。最后,通过实验对方法的性能进行了验证。5)为解决云计算环境下由于网络的不稳定性导致的跨平台服务组合异常问题,本文在对云服务进行形式化定义的基础上,提出了一个服务网络模型及服务网络的构建方法。方法以服务的部分匹配及完全匹配为基础,以服务的历史组合记录为依据,实现服务结点关联。然后以服务网络模型为基础,提出了一个基于服务网络的跨云平台服务组合异常处理方法,对云计算环境下两种常见的异常问题进行了研究。具体而言,方法对跨云平台组合服务运行时,单个服务失效与多个相邻服务同时失效的情况进行了分析,并基于服务网络提出了相应的异常处理算法。最后,对方法性能进行了分析,并与相关工作进行了对比。