论文部分内容阅读
随着云计算、物联网等技术的发展,互联网上可用的软件服务越来越多,用户需求可以通过服务及其之间的互联加以完成。同时,随着用户群体规模的增大,他们的需求多种多样。如何通过对服务进行组合以满足个性化需求,是当前服务计算领域的研究问题之一。针对该问题,当前研究主要有两类方法:大规模定制和服务组合。传统的大规模定制方法(如软件即服务SaaS)通过修改配置进行灵活定制,但这类服务定制系统在本质上是封闭的,服务能力和范围有限。传统的服务组合方法主要解决单需求的定制问题,可以实现用户个性化定制,但面对大规模需求时的成本较高。为了解决这些不足,本文提出基于服务网络进行用户个性化需求满足的方法。服务网络(Service Network,简称SN)试图将这些形式各样、分布在互联网不同位置上的服务以特定协议连接起来,组成一个开放的、包含各类可定制特征的网络。当用户需求抵达时,对服务网络进行定制,找到满足用户个性化需求的最优方案(即传统服务组合研究中的“组合服务”)。本文的前提是具有一个已构建好的服务网络,在其基础上围绕服务网络的优化定制问题开展以下方面的研究:(1)给出了服务网络的概念模型,建立了相应的数学描述,阐述了用户个性化需求的表达方式,并给出了服务网络及其定制过程的实际案例。(2)提出面向单需求的服务网络定制方法。首先建立了该问题的数学模型,其优化目标是在满足用户功能与QoS需求的前提下追求使用成本的最小化。使用人工蜂群算法(ABC)进行求解,详细给出了食物源编码规则、解的优化过程、解的适应度计算的设计方案,通过四个实验证实了该方法的有效性,并分析了影响服务网络定制性能的若干因素。(3)面向并发需求的服务网络定制方法。考虑了并发需求的特点,将定制成本分解为构造成本和使用成本两类,尽可能提高选中服务的复用度,从而以最少的总成本在满足并发需求。提出了MR-SNC算法对该问题进行求解,并与不考虑复用的SR-SNC算法进行对比,实验证实MR-SNC可有效降低成本。(4)基于保险机制的服务网络定制方案可靠性增强方法。前两个算法得到的定制结果不包含任何冗余,但现实中用户往往对可靠性有较严格的需求,需要在定制结果中保留某些冗余才能满足。提出了提高服务可靠性的三种方法(并行冗余、串行冗余和路径冗余)。针对已有定制方案和尚未存在定制方案两种情况,分别使用启发式算法和ABC算法进行求解,核心是在定制方案中寻找最优的冗余方案(并行冗余、串行冗余和路径冗余),进而通过实验证实了算法的有效性。最后,设计和实现了一个支持服务网络部署、定制和执行的原型系统,介绍了该系统的体系结构、主要模块和工作流程。