APP下载

多策略QoS感知的服务选择与排序模型

2012-08-07武蕾刘玉龙刘士军

通信学报 2012年1期
关键词:排序运营商满意度

武蕾,刘玉龙,刘士军

(山东大学 计算机科学与技术学院,山东 济南 250101)

1 引言

随着面向服务架构(SOA, service-oriented architecture)的发展,Web服务已逐渐成为在提高分布式应用程序的灵活性、可扩展性等方面的有效解决方案,被广泛地应用在各个领域,如电子商务、政务、卫生保健等行业。在SOA中,服务提供者通过标准化服务描述语言来描述服务的功能,并且可注册到服务集成平台中,用户例如基于服务的系统开发人员可以从中找到开发所需要的服务进行整合使用,而不用重新开发,加速和促进了大型基于服务的系统开发进程,带来了极大的便利。

服务集成平台通过将分散在各地的服务资源进行虚拟化描述、封装、发布可以为用户集成、提供各种资源和服务。随着越来越多的服务资源提供方(简称服务提供者)将可以提供的服务功能发布到平台中,当用户通过向平台提出具体的使用请求,平台对用户请求进行分析、分解,并在云里自动寻找满足请求的云服务时,困扰也随之而来,针对同一功能需求,可供选择的服务越来越多,如何通过调度选择、优化等一系列操作,向用户返回解决方案,使选出的服务既可满足用户的要求,又可以在当有多个满足用户的要求的服务时,根据一定的策略对这些服务进行排序选优成为亟待解决的问题,为解决上述问题,本文提出了一种多策略QoS感知的服务选择与排序模型,通过服务选择获得满足用户要求的可用候选服务集,对于可用候选服务集中的服务,分别计算用户与运营商对其满意度,并且通过改变用户满意度与运营商满意度在排序选优过程中所占的不同比重,建立灵活多策略的服务选择与排序选优方法。

2 相关工作

服务质量(QoS, quality of service)作为服务的非功能特征[1],是功能相同的服务之间最显著的区分指标,也是对服务进行性能评价和用户选择的重要参考标准。QoS的描述和计算评价在服务选择和排序选优过程中起的作用越来越显著。

在进行服务的选择与排序选优时,主要有3个需要解决的问题:1) 描述、度量、监控Web服务的QoS属性。目前许多关于QoS的本体论和质量模型已被提出来描述QoS的不同属性[2,3],QoS属性值的获取和监控可以通过实时检测、用户的反馈[4,5]、或是由历史数据通过数据挖掘获得[6];2) 如何选出满足用户要求的可用候选服务集合,尤其是在单个服务满足不了用户要求需要多个服务组合才能完成时。在进行服务选择时,如何根据要求,计算组合服务的QoS属性值,以及如何根据用户提出的要求在众多的服务中高效选出满足用户QoS要求的可用服务,文献[7,11,13]提出了可以利用关键字搜索、语义匹配、遗传算法、整数规划等发现选出符合要求的服务;3) 对于可用候选服务集,如何灵活的按照某种策略进行排序选优返回最终的解决方案。文献[9]提出了一种排序算法,但该方法只考虑了用户的满意度,建模时,并没有考虑服务的成本属性,而成本是服务运营商关心的重要属性之一,具有一定局限性。文献[10]中提到的Web服务质量评价算法,在排名过程中考虑了多种服务的QoS属性,但难以体现用户对服务质量的个性化要求以及对不同QoS属性的偏好程度。

从上面分析可以看出:1) 在不同文献中已经提出较多解决方法;2) 也已经有许多选择算法,但QoS模型中属性描述不足,难以为第3个问题提供相关的信息;3) 尽管已经也有一些研究,但也存在一些缺陷,进行排序选优出发的角度单一,只是基于用户策略的排序方法。

服务选择和排序是2个相对独立的过程[8]。服务选择要确保所选择的服务可以满足用户对基本功能和QoS的要求,而服务排序则是在此基础上的进一步选优。现有研究方法中,存在一些不足,如在进行服务选择与排序时,或是QoS建模属性描述不够全面;或是单纯的服务质量评价方法,缺少对用户个性化的支持;或是排序选优策略单一。针对上述问题,在进行服务QoS建模时,本文从用户与运营商的角度共同出发,将服务的性能与运营维护成本等属性考虑在内,描述和扩充了QoS模型,提出了一种基于用户与运营商对服务满意度的多策略服务排序方法,通过改变用户满意度与运营商满意度在排序选优过程中的不同比重,可分别设置完全基于用户策略、完全基于运营商策略、用户与运营商2者兼顾策略的服务选择与排序选优方法。

3 扩展的QoS模型

QoS模型是对服务非功能性属性的描述,用于描述服务完成业务目标的效果,它是一个包含多侧面指标的复杂结构,从不同的方面定性或定量的描述一个服务。在本文中,为了在服务选择与排序过程中提供足够的参考信息,细化服务的QoS需求层次。本文从资源需求方与平台运营商两个维度出发对QoS建模,对QoS的一般属性和领域属性进行了统一,其中,不同领域服务的通用属性主要沿用以下几个描述指标:

响应时间(response time):代表一个服务Sj被调用至获得响应的时间间隔,主要包括服务延迟时间(Tdelay)和服务计算时间(Tcom),总的响应时间T(t)= Tcom(Sj)+Tdelay(Sj)。

可用性(availability):代表一个服务正常运行的概率。取值越大意味着有较高的可用性,而较小的取值则表示较低的可用性。

吞吐量(throughout):表示在给定时间段内服务可以处理的最大请求数,是度量服务性能的一个重要指标。

安全性(security):表示方法调用过程的安全水平,通过身份验证、消息加密、访问控制等机制提高其安全性。

价格(price):指的是服务使用者使用服务需要支付的金钱。

上述往往是用户在使用服务时关心的QoS属性,但从服务运营商的角度出发,降低服务运营成本,获取尽可能多的利润是他们的目标,因此,在进行QoS建模时,必须要考虑服务的成本属性。

成本(cost):服务成本由多部分组成,整体成本是多个子指标按照整体部分关系形成的[12]。价格与服务成本也有一定的相关性。成本主要是指为用户提供服务的过程中所消耗一些资源,主要包括2个方面:

软硬件系统资源的消耗(SC, system cost):主要是指在为用户提供服务的过程(初始化、运行、监控和维护等)中,服务占用消耗的系统资源,如当为用户提供某服务时,所需要的设备支持、占用的应用服务器资源、设备磨损等。

人力资源消耗(LC, labor cost):主要是指在服务执行过程中需要人工执行或需要人机交互执行部分的人力资源消耗,如在对产品配置结果进行可行性验证服务时,人工验证部分需要相关领域专家的参与。

除了上述一般属性,特定领域的服务还有领域相关属性,具体是指服务所属的应用领域所特有的QoS指标,功能上相似的服务拥有相似的领域相关性能指标集合,如在产品加工制造领域有产品加工精度,产品硬度,表面粗糙度等参数;服务具有的领域质量指标是由该服务所属领域的领域本体决定。从上面的分析可以看出,QoS由不同层次的多侧面指标构成,而且是与服务领域相关的,因此在构建服务质量指标体系用于综合QoS计算时,需要考虑到上述的各方面情况。

4 多策略QoS感知的服务选择与排序模型

假设对某服务S,C={q1,q2,…,qi}是用户所关心指定的QoS属性集,C'={qi+1,qi+2,…,qn}是平台运营商所关心指定的QoS属性集。那么在进行选择与排序时相关服务的QoS可以表示为

其中,行{qj1,qj2,…,qjn},1≤j≤m,表示某个服务Sj分别在{q1,q2,…,qn}上的属性值,列{q1k,q2k,…,qmk},1≤k≤n,表示所有相关服务在属性qk上的值。

下面具体说明对服务的QoS请求的表示形式:用户关心的QoS属性集为C={q1,q2,…,qi},对每一个属性指定他/她的要求时,表示形式如下

其中,reqj=(lj,uj,wj),1≤j≤i,lj、uj分别是用户对于属性qj可以接受的上、下限值。wj是权重因子,代表了用户对属性qj的重视喜好程度。运营商关心的QoS属性集为C'={qi+1,qi+2,…,qn},对每一个属性指定自己的偏好程度W′={wi+1,wi+2,…,wn}。

QoS感知的服务选择主要负责选择出满足用户要求的可用候选服务集,其主要的过程为,根据用户给出的QoS需求向量,对满足功能性需求及质量要求的候选服务进行过滤和选择,提取出满足用户约束的可用候选服务集,进行选择的具体过程在之前的文章[13]中介绍过,采用的是遗传算法,由于篇幅所限,本文将不做详细介绍。接下来,在满足用户约束的可用候选服务集已经获得的条件下,本文将重点讲解如何计算一个服务的用户满意度与运营商满意度,以及如何设置一定的策略来对可用候选服务集进行排序选优。

对于可用候选服务Sj,计算得分的过程如下。

1)计算用户对Sj的满意度Satisfactionj1。

其中,0≤wi≤1,为用户指定的对Qji的偏好程度。

2)计算服务提供商对Sj的满意度Profit(Sj)。

其中,Earning(Sj)是用户使用服务Sj需要付给运营商的费用,Cost(Sj)为Sj的运营维护成本。

3) 整合Satisfactionj,Profit(Sj),确定Sj的最终服务得分。

其中,w1+w2=1,w1,w2表示2者的影响因子,不同的值代表着基于不同的策略的服务排序选优方法。

4.1 效用函数

对于服务iS,本文通过效用函数分别计算用户和运营商对iS的满意度。在设计效用函数时遵循的基本原则为:如果对iS的QoS属性jq,用户和运营商都没有指定任何要求,那么在计算的时候,jq对满意度不产生任何影响;如果对属性jq,用户和运应商只要有一个对其提出要求,那么jq会对计算的满意度产生一定的影响。

由于不同QoS属性在属性值和单位上有很大的不同,直接进行计算,必然会因数量级差异影响计算结果的公平性。为避免这种差异对服务排序的影响,在计算得分时,首先需要对各属性进行统一量化处理。本文将给出函数,ijQ,来计算任一服务iS在属性jq上的得分,对于成本型的属性,如服务的响应时间,价格等,其值越大,服务的质量越差,采用式(5)计算;对于效益型属性,如服务的可靠性,安全性等,其值越大,服务的质量越好,采用式(6)计算。

式(1)经过统一量化处理后,得到下面的矩阵

事实上,不同QoS属性对服务性能的贡献存在着差异,而且用户和运营商对不同QoS属性也存在各自偏好。因此,在计算服务满意度的过程中必须考虑这些因素。

对于服务Sj的属性集C={q1,q2,…,qi},C'={qi+1,qi+2,…,qn},根据用户、运营商设置的权重和偏好程度,分别计算他们对服务Sj的满意度Satisfactionj、Profitj。运营商的满意度,通过为用户提供服务可以获得的利润的大小来体现。为此,需要将服务的成本属性转化为一定的价格度量。如在为某用户提供服务Sj加工产品的过程中,运行维护Sj会产生机器磨损,人力资源的消耗等,就需要按照一定规则将这些消耗转化成一定的价格度量;用户的满意度,本文采用简单加权的方式来反映QoS属性间的相对重要度以及用户的偏好。Satisfactionj1、Profitj2计算方式如式(2)、式(3)所示。

式(7)经过计算后得到如下矩阵

4.2 合并函数

对于服务Sj,Satisfactionj,Profitj分别代表了用户和运营商对服务的满意度。在得到式(8)后,接下来需要合并函数Score(sj)根据一定的策略来整合计算服务Sj的最终得分,这个函数的定义如式(4)所示。

当1w:2w=1:0时,为完全基于用户策略的服务排序方法,此时用户可以获得最高的服务满意度,而平台运营商的利润可能会受到一定的影响,但在服务反馈与监控中,有利于平台运营商信誉度的提升。

当1w:2w=0:1时,为完全基于运营商策略的服务排序方法,此时运营商可以获得最高的利润,而资源需求方获得的服务性能可能会受到一定的影响,在服务反馈与监控中,不利于平台运营商信誉度的提升。

当1w:2w的比值介于此2者之间时,为基于用户与运营商两者的服务排序选优策略,综合考虑了用户与运营商的满意度。在进行服务排序选优时,可以通过调整1w:2w的比值,灵活的按所设定的策略按需要进行选优。

不同比重的设定与运营商的运营策略有关,如果运营商目标是提供最好的服务,则可以通过完全面向用户的策略来进行排序;如果目的是尽可能盈利与节能,则可以设置完全面向运营商的策略进行排序;同样,也可以介于2者之间。

5 原型与实验

5.1 原型系统设计

如图1所示,服务集成平台是负责服务资源的管理、运行、维护以及接入接出等任务的软件平台。在服务资源的应用运转过程中,作为连接用户与资源提供方的纽带,平台起到了核心支撑的作用,在资源提供方注册发布服务资源时,需要为资源的虚拟化封装和映射提供支持;在用户提出请求的时候为需求描述提供支持;针对用户需求,在服务选择与排序选优的过程中,为选出满足要求的服务,并按指定的策略进行排序选优提供支持。

服务选择与排序模型作为平台的一个核心部分,主要由服务注册中心、服务选择和排序中心、云终端用户界面、第三方评测机构等组成。

1) 服务注册中心:提供一个接口,使得资源提供方可以将各种服务资源的相关信息注册发布到平台中,注册时QoS认证中心将对服务的QoS信息进行度量和认证,并将相关信息存到服务资产库(WS-QOS)中,以备服务选择与排名时可查询相关信息。

2) 服务选择和排序中心:主要有查询解析器,服务选择引擎,服务排序引擎,选优策略设定器组成。首先解析器接收并解析用户请求,服务选择引擎根据用户要求选择出满足条件的可用的候选服务集合,然后根据策略设定器指定的选优排序策略,如基于用户的策略、或基于运营商的排序策略等,由服务排序引擎从可用服务集中选出选定最终解决方案。

3) 云终端用户界面:主要由SLA签订模块组成,为用户提供一个可以指定服务功能与QoS要求的接口,负责签订生成服务等级协议(SLA, service level agreement)[6]。

4) 第三方评测机构:监控用户获得的服务的QoS相关信息和收集用户的反馈信息,查看是否满足SLA要求,并根据监测与反馈信息计算平台运营商的违约率和信誉度。专业评测机构取得的数据具有客观、公正、可比性强等优势,是应用中客观性的重要保证。

5.2 系统运行流程

首先,用户通过云终端向平台服务运营提出服务使用请求,协商签订服务等级协议,确定对服务的功能与非功能方面的请求,以及违约处理等。

接下来,相关模块接收并解析用户签订的服务等级协议,根据用户请求服务的功能性需求和质量要求,服务选择引擎检索服务资产库(WS-QOS)对平台中的候选服务进行过滤和选择,提取出所有满足SLA要求的可用候选服务集。

图1 系统的体系结构

在服务集成平台的支撑下,将会有越来越多的服务资源发布注册到平台中。当用户在请求服务时,针对用户的要求,利用上述服务选择与排序模型,可以快速的选出满足用户要求的服务,并且当有多个满足用户要求的候选服务时,可以根据设定的策略来进行服务排序选优,选定最终的解决方案,此原型系统为平台中的服务选择与排序选优提供了一个有效的解决方案。

5.3 实验

本文通过一个应用实例来具体说明方法的流程,并证明方法的有效性。某语音通信系统的开发人员要对安全的端对端语音通讯系统进行升级,想要选择现有的加密服务,用于在系统中。加密服务应接受数据流和输出流加密的数据。假设服务的QoS属性值可以直接从Web-QoS库中获得,用户对加密服务的QoS具体要求如表1所示,其中,吞吐量(throughput)是指服务单位时间可以处理的数据包的大小,单位为兆比特每秒(Mbit/s),延迟(delay)是指由于进行加密处理引起的额外时间单位为毫秒(ms);安全性(security)指的是被攻击者捕获信息概率的大小;价格(price)指的是使用该服务需要支付的人民币,单位为元/天。当用户对某项属性没有上限,或下限要求时分别指定为Min, Max。

表1 用户指定的QoS要求

平台相关模块接收到服务请求后,检索服务资产库,根据服务功能请求所获得的服务列表及相应的QoS指标值如表2所示。

表2 具有相同功能服务

经服务选择后筛选掉不满足QoS要求的服务,获得可用候选服务集,如表3所示。

表3 满足用户功能与质量要求的服务

对可用候选服务集,经过式(5)和式(6)处理,效用函数(2)和效用函数(3)计算后分别得到基于用户与基于服务供应商策略的服务满意度,如表4所示。

表4 用户与运营商对可用候选服务的满意度

而后根据合并函数(4),分别设置1w:2w的不同比值,即基于不同策略进行服务排序时,服务的选择结果如表5所示。

表5 不同策略下的服务的得分计算情况

从表5可以看出,在不同的策略下,服务排序结果不同,返回的选择结果依次为S5、S2、S4、S2,说明了算法的有效性,服务运营商完全可以根据运营策略选择合适的选择排序方式。

6 结束语

为了方便在服务集成平台发现用户需要的服务,并且对满足要求的可用候选服务集按一定的策略进行排序选优,本文在考虑了服务运营商与用户不同需求的基础上,提出了一种多策略的QoS感知的云服务选择与排序方法,弥补了以往仅仅基于用户策略的服务选择的不足,并搭建了基于服务集成平台的服务选择与排序原型系统,阐述了基于此平台对服务资源的选择与排序选优过程。文章最后给出应用实例,证明了算法的有效性。

本文只是服务选择与排序选优的研究一个初始阶段,还有许多问题有待进一步研究,如把所提服务的扩展QoS模型和选择优化算法进一步应用到实际的大规模面向应用的服务系统开发中,以便对其可靠性,适应性和性能作更深入的分析和改进。

[1] ALONSO G, CASATI F, KUNO H, etal. Web Services Concepts,Architectures and Applications[M]. Berlin: Springer, 2004.

[2] OSULLIVAN J. What's in service towards accurate description of non-functional service properties[J]. IEEE Trans on Distributed and Parallel Database, 2002, 12(1): 117-133.

[3] BRUIJIN J, BUSSLER C, DOMINGUE J, etal. Web service modeling ontology (WSMO)[EB/OL]. http://www.wsmo.org/TR/d2/v1.3/, 2006.

[4] YAU S S, YE N, SARJOUGHIAN H, etal. Toward development of adaptive service-based software systems[J]. IEEE Trans on Services Computing, 2009. 247-260.

[5] YAU S S, HUANG J, YIN Y. Improving the trustworthiness of service QoS information in service-based systems[A]. The 7th Autonomic and Trusted Computing[C]. Xi’an, China, 2010.208-218.

[6] LEITNER P, MICHLMAYR A, ROSENBERG F, etal. Monitoring,prediction and prevention of SLA violations in composite services[A].IEEE International Conference On Web Service[C]. Miami, FL, USA,2010.369-376.

[7] STRUNK A. QoS-Aware service composition: a survey[A]. The 8th IEEE European Conference on Web Services[C]. Ayia Napa, Cyprus,2010.67-74.

[8] 郭得科, 任彦, 陈洪辉等.一种基于QoS约束的Web服务选择和排序模型.上海交通大学学报[J]. 2007, 41(6): 870-875.GUO D K, REN Y, CHEN H H, etal. Web services selection and rankding model with QoS constraints[J]. Journal of Shanhai Jiaotong University,2007, 41(6): 870-875.

[9] STEPHEN S. YAU Y Y. QoS-based service ranking and selection for service-based system[A]. IEEE International Conference on Services Computing[C]. Washington DC, USA, 2011. 56-63.

[10] 吴健, 董金祥. 网络制造中Web Service的服务质量模糊排序方法[J]. 计算机辅助设计与图形学学报, 2005, 17(5): 1593-1599.WU J, DONG J X. QoS based web service fuzzy sort approach in internet-based manufacturing[J]. Journal of Computer Aided Design&Computer Graphics, 2005, 17(5): 1593-1599.

[11] Eyhab Al-Masri, Qusay H Mahmoud. Discovering the best web service[A]. 16th International World Wide Web Conference[C]. New York, USA, 2007. 1257-1258.

[12] CARDOSO J, SHETH A, MILLER J, etal. Quality of service for workflows and web service processes[J]. Web Semantics: Science,Services and Agents on the World Wide Web, 2004, 1(3): 281-308.

[13] YANG E F, ZHANG Y, LIU S J, etal. A hybrid approach to placement of tenants for service-based multi-tenant SaaS application[A].Asia-Pacific Services Computing Conference[C]. Jeju, Korea, 2011.124-130

猜你喜欢

排序运营商满意度
作者简介
16城市公共服务满意度排行
恐怖排序
浅谈如何提升脱贫攻坚满意度
明天村里调查满意度
节日排序
取消“漫游费”只能等运营商“良心发现”?
第一章 在腐败火上烤的三大运营商
三大运营商换帅不是一个简单的巧合
三大运营商换帅