APP下载

基于FAHP的QoS感知可信云服务选择模型∗

2019-10-08吴旭袁耀王杨

计算机与数字工程 2019年9期
关键词:服务提供商分析法矩阵

吴旭袁耀王杨

(西安邮电大学计算机科学与技术系 西安 710121)

1 引言

近年来云计算(cloud computing)变得越来越流行,越来越多的用户选择阿里云、腾讯云、Google App Engine等云服务提供商提供的存储和计算资源来降低成本[1~2]。资源服务化的思想日益普及,云计算中基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform asa Service,PaaS)和软件即服务(Software as a Service,SaaS)的概念已深入人心,呈现出“一切皆服务”(X as a Service,XaaS)的趋势。随着云计算的发展,可供用户选择的云服务越来越多。然而各个云服务提供商提供的云服务在性能、价格、安全性等方面各不相同,甚至同一云服务提供商的同一服务,在不同地区的价格也各不相同[3]。没有一定的专业知识,很难选出一个满足自身需求的云服务。

对用户来说,如果云服务的行为与结果总是如用户预期的行为和结果一样,那么就可以认为该云服务是可信的。如何在大量云服务中选择一个满足用户对服务质量(Quality of Service,QoS)需求的云服务,已经成为一个急需解决的问题[4]。

对于如何选择可信云服务的问题,用户需要从多个方面考虑,选择各个角度都能满足自身QoS需求的服务。而云服务提供商提供的服务,很难综合评估其安全性、可扩展性、性价比等特性。用户提出的QoS需求与云服务提供商承诺的QoS不同,甚至相反。文献[5]选取了适应能力、经济价值、可控性、依赖性和安全五个方面,但是却忽略了云服务的快速灵活性,在经济价值中的投资收入这一部分忽略了风险;文献[6]仅仅选择了价格、响应时间、吞吐量和可获得性四个指标,这并不能客观评价一个云服务的好坏。为了选择一个合适的可信云服务,用户需要从可靠性、价格、性能等多个方面做评估,这就是一个多指标决策(Multi-Criteria Decision-Making)问题。每一个指标的变化都将对最终的决策产生影响,对于此类问题的研究主要集中在逼近理想解法(Technique for Order of Preference by Similarity to Ideal Solution,TOPSIS)、层次分析法(Analytic Hierarchy Process,AHP)、D-S证据理论等方法上。在最早的时候,人们使用TOPSIS方法计算与最优解距离和最差解的距离,明显提高了决策的效率与准确率。文献[7~8]将模糊数融入到TOPSIS方法上,对服务排名。文献[7]将云服务的QoS的混合多属性统一转换为直接模糊数,计算各个云服务的QoS对于直接模糊矩阵的最优方案、最差方案的距离;后来人们使用层次分析法分析用户对QoS指标的偏好,用决策矩阵来对云服务提供商进行排序。文献[9]提出了类似社交网络的基于信任加强的云服务选择机制,通过考察用户的直接信任、间接信任以及基本相似度找出相似的信任邻居并预测缺失的QoS值,以此作为选择依据。文献[10]提出了基于QoS综合评价的服务选择方法,该方法考察了历史数据的可信程度,根据推荐用户与目标用户之间的相似程度,权衡历史证据的可信程度,进而得出最终的QoS参考评价。D-S证据理论通过综合多位决策者的意见,能够选出一个各个方面都比较优秀的云服务提供商。文献[11]提出了一种基于D-S理论的云服务选择方法,通过定性定量指标评价信息,求解评价指标效用偏好度,并将其作为基本概率分配值,然后用合成规则合成并排序。文献[12]采用D-S证据理论,根据云服务间相互产生的历史记录信息,提出了一个QoS可信度评估模型,该模型从公共信任和私有信任两个层面对可信度的度量、传递等问题进行论述,使得评估结果更加合理,而优化了服务选择行为。虽然D-S理论能够综合多位决策者的意见,但由于D-S证据理论在处理高度冲突的证据时,效果大打折扣,甚至出现反直观的结果。

现在的云服务选择模型中依旧存在着不足:1)云服务评价指标不能满足服务质量需求,甚至评价指标不合理;2)评价属性权重分配不合理,甚至很大程度上依赖用户自身知识水平。针对这些问题,本文提出了一种基于模糊层次分析法的QoS感知模型来选择云服务。本文依据大多数用户QoS属性需求,选择了可靠性、灵活性、性能、价格和安全性等五个方面,集中考察其二级指标,然后由专家给出对云服务权重的模糊判断意见,通过三角模糊函数,用FAHP方法计算出各个云服务考察指标的权重。用户根据QoS请求建立判断矩阵,进行层次排序,得到各云服务的相对排名。实验分析表明,该服务选择方法,能够合理地为用户提供决策支持,同时也能有效降低层次分析法过于主观的缺点。

2 服务评价指标

评价一个云服务的优劣,需要从多个方面进行考察。为此,本文根据云服务指标测评联盟(the Cloud Service Measurement Index Consortium,CSMIC)的国际标准[12],确立云服务的考察方向,并确立了服务指标测量框架(Service Measurement Index framework,SMI framework),该框架从可靠性(Accountability)、灵活性(Agility)、价格(Financial)、性能(Performance)、安全和隐私(Security and Privacy)等五个方面来考察云服务。这五个方面是人们在选择云服务提供商时,最关注的方面,也是最能体现云服务优劣的方面[13]。

可靠性:该指标表征了云服务提供商是否可靠。当用户选择把应用部署到云端、把数据存储到云端时,可靠性起着至关重要的作用。如果云服务提供商不可靠,那么用户存储在云端的数据将得不到保障,用户将会面临巨大的损失。在这样的情况之下,用户是不会选择该云服务的。

灵活性:云计算的一大优势就是快速、灵活,用户可以在快速部署自己的应用,甚至不需要高昂花费的情况下快速的提供或者降低自己的服务能力,从而降低企业的成本。因此,灵活性也是体现云服务能力的一个重要指标。

价格:不同的云服务提供商提供的云服务性能各不相同,价格也各不相同。对于很多中小企业来说,通过使用云服务来降低企业成本不失为一个好办法。价格是影响用户选择何种服务的一个重要因素。

性能:影响云服务性能的因素有很多,服务响应时间、带宽、准确性将影响服务的性能。用户在选择云服务时,要能知道该云服务提供商能否满足自己的性能需求,如果不能满足性能需求,那么必然不能选择该云服务。对于都已经满足用户功能需求的云服务,哪一个云服务更具性价比呢?

安全和隐私:当用户把应用部署到云端,把数据存储在云端,这是否安全呢?云服务提供商是否会盗用用户的个人信息,是否会扫描用户保存的数据,这都将影响用户的选择。

为了对云服务提供商做一个全面的评估,根据以上五个方向,本文制定以下详细度量指标。

2.1 服务响应时间

一个服务的响应时间,反映了服务可获得性的效率。例如,当用户向云服务提供商请求启动一台虚拟机(VirtualMachine,VM),服务响应时间表示云服务提供商响应这次请求的时间,包括选择VM,启动VM,分配IP地址到部署应用等全部过程所花费的时间。考察服务响应时间,我们需要考察服务的最大响应时间,平均响应时间和响应失败率。

最大响应时间是指云服务提供商在信任等级协议中承诺的最大响应时间。

响应失败率表示为响应失败的次数与总次数的比值,响应失败次数即为响应时间超过SLA协议中承诺的时间的次数。

2.2 准确性

准确性是从功能角度来考察云服务提供商所提供的云服务是否满足了用户的QoS请求。如果用fi来表示用户i在服务时间T内云服务提供商未能满足用户需求的次数,本文将准确频率定义为,其中n表示用户的数量。

2.3 资金投入

资金投入主要体现在两个方向:服务购买以及后续维护两部分。对于大部分用户来说,比较两个服务的性价比是一件很困难的事,不同特性的云服务往往价格相差很多,甚至同一个云服务提供商在不同地区提供的满足相同需求的云服务的价格也不一样。影响虚拟机价格的因素,主要在CPU频率、内存大小、网络带宽和存储容量四个方面。因此本文将价格表示为,其中a、b、c和d是每个因素的权重,并且a+b+c+d=1,每个属性的权重因应用程序需求的虚拟机性能不同而改变。P表示服务的价格和维护的价格。当然,若云服务提供商提供7×24h全天候免费服务,那么p指标是云服务的购买价格。

2.4 灵活性

灵活性主要表征云服务的收缩能力。在用户高峰期,云服务的承载能力能否快速提高以及能够多快提高。在高峰期之后,如何降低承载能力,减少计算单元的数量。

2.5 吞吐量

吞吐量和效率是评价云服务性能的重要指标。吞吐量是指单位时间内成功传输数据的数量,这和服务响应时间不同,服务响应时间反映的是服务提供者能够在多快的时间内提供服务。例如一个用户应用(Application)有n个任务提交到了m台虚拟机上,本文用Te(n,m)表示m台虚拟机上执行n个任务所花费的时间。但是在初次执行时,由于基本设施初始化、任务内部通信延迟等问题,本文将T0定义为初始化时间。因此,吞吐量α可以表示为

2.6 可依赖性

可依赖性反映了一个服务在给定时间和情况下,操作成功的能力。因此本文将可依赖性定义为先前用户使用的失败次数与SLA协议中承诺的失败率的平均时间。即

其中,numfailure表示先前用户使用过程中失败的次数,n表示用户总数,Tm表示SLA协议中承诺的失败的平均时间。

2.7 安全性和隐私性

安全性和隐私保护能力根据用户评分划分信任等级,信任等级分为五级,分别为Ⅰ级、Ⅱ级、Ⅲ级、Ⅳ级和Ⅴ级,分别表示十分安全、安全、一般、差和不安全。用户对服务的安全性做五级评分,计算当前所有用户的平均打分来计算云服务提供商的安全等级,即,其中,用户在QoS请求中包含安全请求等级,对于安全等级不达标的云服务提供商,则无法通过信任筛选。

3 层次分析法与模糊理论

在面对上述的众多指标时,很多用户仍旧不知道如何选择云服务。在多个候选的云服务中,依据不同的属性需求,选择一个合适的云服务是一个典型的多准则决策(Multi-criteria decision-making,MCDM)问题[14]。在解决这类问题时,AHP方法由于模型简单、对复杂问题评判效果较好等特点,得到众多学者的青睐[15~17]。

但AHP方法由于其权向量分配由用户自己决定,且需要做相对精确的比较,很多时候往往会出现较大偏差,影响最后的决策,甚至选择出不符合用户需求的云服务[18]。

3.1 层次分析法

层次分析法(Analytic Hierarchy Process,AHP)是一种定性与定量相结合的多目标决策分析方法,简化了问题分析,使复杂问题定量分析成为可能,为分析彼此关联,彼此制约的复杂问题提供了一种简单实用的分析方法[19~20]。

层次分析法的基本步骤包括:

1)建立层次结构模型。首先要建立层次结构模型,如图1所示,此图为服务选择的层次结构模型。

图1 云服务选择层次结构模型

2)构造判断矩阵。设有n个决策指标f1,f2,…fn,用户对n个决策指标的重要性进行两两比较,根据表1确定判断矩阵A:

aij代表第i个指标相对第j个评测指标的重要程度。AHP方法的提出者Saaty教授建议用1-9标度方法,如表1所示。

3)计算权重向量,矩阵A的最大特征值所对应的特征向量就是权重向量。若各个指标的权重为。若矩阵A完全正确,那么一定有

那么矩阵A乘以W=(w1,w2…,wn)T得

其中n是矩阵A的最大特征值,而W是最大特征值λ对应的特征向量。

4)做一致性检验。对于矩阵 A=(aij)n×n,若有aij>0,则称A为正矩阵。对于正矩阵 A=(aij)n×n,若有,则称A为一致性矩阵。一致性矩阵的最大特征值λmax=n,其他特征值为0,因此可以用最大特征值(λmax-n)判断矩阵一致性。令一致性指标(consistency index),CI的值越大,说明一致性越差。为了可比性,引入随机一致性指标RI(random index),表示随机矩阵的平均一致性,如表2所示。因此,一致性比率(consistency ratio)是一致性指标CI与同阶的RI的比值,记作,当CR≤0.1时,接受判断矩阵,否者修改判断矩阵。

5)计算组合权向量,进行层次总排序。

表1 AHP法1-9标度

表2 平均随机一致性指标RI标准值(不同的标准不同,RI的值也会有微小的差异)

3.2 三角模糊理论

在实际过程中,我们很难对所有事物都作出一个确切的量化,对于事物的概念是模糊的,人们给出的比较评价也是模糊的[21]。

由于在实际评判过程中专家对事物认识的模糊性和主观性,其评判结果也不是一个确切的数值m,往往是介于m左右的一个区间[22]。因此在评判结果往往以三角模糊数的形式给出。

三角模糊数以及其隶属函数:

定义1:若M=(l,m,u)l≤m≤u,则M为三角模糊数。三角模糊隶属度函数的定义如下:

在式(1)中,l和u分别表示三角模糊数的上界和下界,m为M的中值。

三角模糊数难以直接比较大小,有必要将其转化为实数,即

定义2三角模糊函数的运算方法:对于三角模糊函数M1=(l1,m1,u1)和M2=(l2,m2,u2),有

模糊层次分析法,首要确定模糊判断矩阵,对于三角模糊函数,两个指标的重要性程度比较如表1所示。

定义3三角模糊互反判断矩阵:三角模糊判断矩阵 A=(aij)n×n,aij=(lij,mij,uij),aji=(lji,mji,uji),有 lij×lji=mij×mji=uij×uji=1,那么矩阵A就是三角模糊互反判断矩阵。

图2 三角模糊函数隶属度

4 基于FAHP的服务选择模型

模糊层次分析法将模糊分析法和层析分析法结合起来,全面考虑影响评价系统的各种因素,能够有效地减少AHP方法中个人主观因素对评判结果造成的负面影响,提高了指标权重确定的信度和效度。而且其数学模型简单、易于掌握,对多因素、多层次的复杂问题评判效果显著。本文提出的基于FAHP方法实现云服务选择架构如图3所示。

图3 云服务选择框架

专家意见权重具体计算步骤如图4所示。

图4 云服务选择方法权重确定基本步骤

Step1:对用户的QoS请求分析,构建层次模型,如图1所示。

Step2:由专家对评价指标进行两两比较,用三角模糊数构造模糊判断矩阵:,其中元素是以一个mij作为中值的闭区间,且。本文的三角模糊数设置如表3所示。因为会放大两属性重要程度差距,这里没有采用Saaty教授发明的1-9标度法。当有k位专家进行判断时,可以根据表3构建第k位专家的三角模糊矩阵。综合k位专家的意见得到三角模糊判断矩阵A:

表3 1-5标度及三角模糊数

Step3:对每个判断矩阵构造模糊评判因子矩阵。

式中Sij=(uij-lij)/2mij为标准离差率,它表征了专家评判的模糊程度,Sij越小,指标赋值结果模糊程度越小,可信度越大,反之,可信度越小。

Step4:计算调整判断矩阵。

其中矩阵M有模糊判断矩阵的中值组成。

Step6:用相容矩阵分析法对矩阵A变换,

其中B满足一致性条件 bij=bik×bki,且 bii=1,。

Step8:计算组合权向量进行层次总排序。

5 算例分析

下面用一个实例来验证上面方法的有效性。有云服务用户需要使用云服务,其基本的QoS服务需求是可靠性等级需大于2级,平均响应时间少于120ms,并且CPU频率高于8GHz,内存大于10G的云服务,服务安全等级高于Ⅱ即可。

这里有五个云服务提供商,分别为S1、S2、S3、S4和S5,云服务的基本情况如表5所示,系统的云服务初选模块将会筛选出满足QoS请求的云服务提供商。可以从表中看出,云服务提供商S1的安全等级仅为Ⅱ,并不能满足;云服务提供商S5的平均响应时间也不能满足条件。因此经过初步筛选之后,仅剩下云服务提供商S2、S3和S4。

接着,由三位专家对云服务的各个指标权重进行确定。由三位专家根据表3对云服务的性能、可靠性、成本、安全和灵活性等五个方面作两两比较,给出各自的模糊判断矩阵。然后根据式(5)计算出综合模糊判断矩阵:

由公式(6)构造模糊评判因子矩阵:

再根据式(7)求调整判断矩阵,由式(8)对其转换,可以得到判断矩阵P。然后根据公式(9)对P进行转换,求得相容矩阵为

根据式(10)对B进行几何平均,再根据公式(11)求得属性权重为

在确定各个属性的权重后,由用户对合适的云服务提供商进行两两比较。首先对可靠性这一指标做出对比判断建立判断矩阵:

计算该矩阵的最大特征值的特征向量并做归一化,其结果为

同理,我们可以计算出灵活性的判断矩阵为

其最大特征值对应的特征向量,作归一化操作之后为

安全性的判断矩阵为

最大特征值对应的特征向量,作归一化之后为

表5 云服务各关键指标性能情况一览表

由于性能属性下还要考察其二级指标带宽、CPU和内存,因此可以分别比较获得矩阵:

将其归一化可得

同理,价格的判断矩阵计算如下:

归一化可得

那么,可以计算各云服务排名情况:

由此,我们可以看出S4>S3>S2,即S4最适合该用户。

本文还绘制了三个云服务的雷达图,如图5~7所示。从图上我们可以清楚地看出各个云服务的特点。云服务S2的灵活性最好,比较适合对灵活性要求较高的用户,如经常出现波峰波谷的网站。云服务S3的安全性非常好,价格和性能也比较合适,非常适合一些注重隐私保护的用户。云服务S4的灵活性和性能、价格都比较好,适合用户选择。

图5 云服务S2

图6 云服务S3

图7 云服务S4

6 结语

本文提出的基于模糊AHP方法的云服务选择方案,引入专家意见,能够有效避免传统AHP方案中太过主观的缺点,而且引入模糊集的方法,更有说服力。从实验结果可以看出,本文提出的方案能够有效解决云服务选择问题。接下来将主要研究云服务安全等级细粒度划分,引入信任管理的方法。

猜你喜欢

服务提供商分析法矩阵
异步机传统分析法之困难及其克服
基于DEA分析法的全国公路运输效率分析
论品牌出海服务型跨境电商运营模式
基于层次分析法的智慧城市得分比较
基于层次分析法的智慧城市得分比较
最新调查:约三成云服务提供商正迅速改变其业务模式
电化学发光分析法测定糖尿病相关二肽
多项式理论在矩阵求逆中的应用
网络非中立下内容提供商与服务提供商合作策略研究
矩阵