论文部分内容阅读
随着面向服务架构(Service-oriented Architecture, SOA)的发展,SaaS (Software as a Service)服务作为一种新型的软件服务模式凭借其按需租用、易于维护、便于扩展等特点改变了软件厂商提供软件和租户使用软件的模式。多租户技术作为SaaS应用模式的核心,主要是通过单实例多租户的方式来达到软件共享、服务复用的目的。服务质量(Quality of Service, QoS)是对服务非功能性属性的描述,用于描述服务完成业务目标的效果,是一个包含多维度指标的复杂结构,从不同的方面定性或定量的描述一个服务,是区分同质服务的重要参考标准,也是运营商与租户进行服务选择的主要依据。广义上的服务选择包括服务选择与服务排序两个相对独立的过程。服务选择主要是对服务库进行筛选获得满足租户要求的服务集,服务排序则是在获得的服务集合中进行选优。目前,QOS感知的服务选择所面临的一个亟待解决的问题就是如何更好的与多租户应用的特点相结合,基于多维度的QOS描述模型来进行服务的选择与排序。为了解决上述问题,首先,本文从服务运营商与租户的角度出发对服务质量属性进行扩展建模,并基于提出的多维度QoS模型建立了由服务资产库与服务范例库共同组成的服务库,可为后续的服务选择与排序提供足够的参考信息。在进行服务选择时,本文采用基于项的协同过滤技术,通过马氏距离计算服务项与租户请求之间的相似度,如果存在可匹配服务,说明存在满足租户要求的执行计划存在;如果匹配失败,尤其是对于一些路径结构复杂的组合服务,则对租户请求服务的执行路径结构进行分解,将具有复杂执行流程的大粒度服务转化为具有相对独立结构的较小粒度的服务;对调整后结构相对简单的执行路径,分别基于服务资产库与范例库进行基因编码,采用遗传算法获得满足租户要求的可用候选服务集合,通过分解减少了路径的分支,降低了原服务路径结构的复杂度,可有效的降低选择执行时间与提高范例库中执行计划的可重用性。对于服务的排序,在有多个应用满足租户要求时,通过建立效用函数,提出了基于租户与运营商满意度的服务排序选优方法,以便返回最终的合适服务;并通过实验验证了给出的服务选择与排序方法的有效性。在文章的最后,结合实际应用,以中小企业信息化中的供应商业务管理系统为背景,采用Tuscany工具,基于SCA+SDO技术实现的服务业务组件,设计并实现了一个服务绑定工具,对文中提出的模型和方法进行了检验;并对目前工作进行了总结和对未来工作做出了展望。