APP下载

一种基于逆变异系数的云服务价值评价方法

2023-01-31马治杰台宪青刘晶花陈大鹏

计算机应用与软件 2022年12期
关键词:支配排序权重

马治杰 台宪青 刘晶花 陈大鹏

1(中国科学院微电子研究所 北京 100000) 2(江苏物联网研究发展中心 江苏 无锡 214000) 3(中国科学院空天信息创新研究院苏州研究院 江苏 苏州215121) 4(中国科学院空天信息创新研究院 北京 101407)

0 引 言

近年来,随着Internet和云计算技术的飞速发展和广泛应用,越来越多功能相似而性能不同的软件服务被部署于云平台中,使得服务组合数量成指数增长。面对如此大量性能各异的服务,用户无法有效地选择其所需要的云服务。在这种情况下,根据服务的性能差异对其进行评估和排序是一个很好的解决思路。

为了评估服务的价值,需要建立一个既包含评价指标又包含指标权重的评估模型,其中如何确定权重是建立模型的关键。当前研究中计算各指标权重的方法可分为三类:主观权重法、客观权重法和混合权重法[1]。主观权重法简单、直接,主要依据决策者和专家的知识经验或偏好。例如,文献[2]通过调查、收集数据,采用模糊逻辑法和层次分析法对不同的云服务提供商进行排名。文献[3]提出将AHP(Analytic Hierarchy Process)与TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)相结合的方法解决多属性决策问题。然而,此类方法具有很大程度的主观随意性,计算出的权重值可能并不准确。客观权重法是依据一定的数学方法,对采集得到的样本数据进行分析计算,最终得到各指标权重。其反映了决策问题本身潜在的性能和规律,与决策者的主观偏好无关。例如,文献[4]提出了一种基于各指标之间依赖关系的模糊排序算法,每个指标的权重值仅根据指标之间的距离相关性确定,即各指标的重要性体现为指标的独立性。文献[5]基于变异系数(Coefficient of Variation,CV)法计算服务的客观权重,但在服务评估领域,表示指标离散程度的变异系数并不一定能够真实反映指标的重要性。混合权重法可以看作是主观方法和客观方法的综合。例如,文献[6]提出一种基于TOPSIS的Web服务排序方法,通过使用熵权法并结合主观权重得到综合权重。文献[7]融合了熵权法、模糊层次法、Skyline,以及PROMETHEE方法对服务进行排序。

通过对已有方法的研究和分析,提出了一种新的客观权重方法用于评估云环境下不同服务的价值,称为基于逆变异系数的服务价值评估方法,简称Inv-CV(Inverse Coefficient of Variation)方法。该方法的思想原理是越重要的指标往往在较优的服务样本中表现得更为稳定,即在较优的服务样本中,指标内部数据差异越小,其权重分配值应越大。该方法对今后的云服务选择和个人服务推荐有一定的参考价值。

1 传统CV方法介绍

1.1 CV方法

CV评估方法是一种典型的客观权重方法,其可以在不考虑人为因素的情况下确定各个评价指标的权重。CV方法通过计算各个指标的平均值和标准差,可以得到相应指标的变异系数值。一般来说,系数值越大,指标权重越大,反之亦然。

下面通过表1中的示例来说明CV方法如何计算每个指标的权重。在表1中,假设存在n个具有相似功能、不同性能的服务样本Si(1≤i≤n),每个样本包含m个评价指标Qj(1≤j≤m),也称服务质量(Quality of Service,QoS)指标,其中dij表示服务Si关于指标Qj的具体QoS数值。用ωj表示指标Qj的权重,则ωj可通过以下四个步骤计算获得。

表1 n个服务,m个评价指标

(1)

步骤2计算各个评价指标的标准差。用σj(1≤j≤m)表示指标Qj的QoS值的标准差,则有:

(2)

步骤3计算各个评价指标的变异系数。用xj(1≤j≤m)表示指标Qj的变异系数,则有:

(3)

步骤4计算各个指标的权重。用ωj(1≤j≤m)表示指标Qj的权重,则有:

(4)

最后,根据每个服务的实际QoS值dij与对应QoS评价指标权重ωj,CV评估方法可以使用加权法来计算评估每个服务的价值。

1.2 CV方法的缺点

与主观权重方法相比,尽管CV方法继承了客观权重方法的许多优点,例如,减少人为干扰、权重计算简单等,但在服务价值评估领域,依然存在以下两个缺点。

(1) 权重计算存在误差。在CV方法中,权重计算依赖于全部的样本,所以其对样本数据的可靠性、准确性等的要求会很高。此外,变异系数法作为常用的多指标评价方法,其原理更多的是强调指标对评价对象的区分作用,即内部数据的差异性越大,该指标对评价对象的区分作用越大,权重的分配值也就越大。但在软件服务价值评价领域,每个服务QoS指标的离散程度并不一定能够真实反映指标的重要性。因此,直接将CV方法部署到服务价值评估中,其评估结果并不一定合理、可靠。

(2) 计算开销大。在CV方法中,所有的样本值,即所有服务的QoS指标数据,都被用来计算权重值;且在样本库动态变化时,必须重新计算权重和样本分数,这将带来很大的计算开销,同时降低了效率。

2 Inv-CV方法介绍

Inv-CV方法首先基于Pareto支配概念,使用快速非支配排序算法对所有样本进行分层,再按用户指定比例确定较优的样本集——Pareto集。然后,为了合理、精确地计算指标权重值,Inv-CV方法仅依据Pareto集中的样本计算指标的变异系数值,并最终得到权重值。与传统CV方法不同,在Inv-CV中,每个指标的变异系数值越小,其权重值越大。最后,Inv-CV采用加权法对所有服务进行价值评估。下面以表1为例详细介绍Inv-CV方法的评估过程。

Inv-CV方法的评估过程包括以下四个步骤:

步骤1利用以Pareto支配为基础的快速非支配排序算法,对所有样本进行分层得到Pareto集。

如表1所示,由于每个服务样本包含多个QoS指标,为了从大量样本中选择较优的样本,Inv-CV方法首先根据每个QoS指标的属性性质进行区分。由文献[10]可知,QoS指标可分为两类:积极型指标和消极型指标,前者表示对应指标的QoS值越大越好(例如,可靠性、安全性等),而后者表示对应指标的QoS值越小越好(例如,响应时间、CPU利用率等)。

基于以上定义分类,Inv-CV方法将采用以Pareto支配[8]概念为基础的快速非支配排序算法对样本进行分层,并从所有样本中根据用户指定比例选取较优的服务样本,最终组成Pareto集。下面以表1中的任意两个服务样本Si和Sj为例,介绍Pareto支配关系。用QP和QN分别表示积极型和消极型属性集合,Si若满足以下三个条件,将被视为Si支配Sj:

条件1:对于积极型QoS属性,如Qp∈QP,服务Si的QoS值dip不小于服务Sj的QoS值djp。即dip≥djp。

条件2:对于消极型QoS属性,如Qn∈QN,服务Si的QoS值din不大于服务Sj的QoS值djn。即din≥djn。

条件3:对于所有的QoS属性,至少存在一个属性,使得Si的值优于Sj的值,即dip>djp或din

当满足上述三个条件时,则可认为Si支配Sj。最后,所有不被任何其他服务支配的服务样本,组成Pareto最优集。

快速非支配排序算法[9]对所有样本按照支配关系进行分层,其通过保存两个量:支配个数np(支配个体p的所有个体的数量)、被支配个体集合Sp(所有被个体p支配的个体组成的集合),降低时间复杂度,提高效率。

Inv-CV方法中由用户参考总服务样本数,指定Pareto集比例。以第一非支配层中服务为先,其次为第二非支配层,以此类推,按指定比例选取服务确定Pareto集。本文暂且对同一非支配层的服务样本不作区分,随机选取。

步骤2计算每个QoS指标的权重值。

在传统的CV方法中,每个QoS指标的变异系数值和权值都是通过所有样本来计算的。如式(4)所示,QoS指标的变异系数值越大,对应的权重值越大。然而,Inv-CV方法只根据Pareto集中的样本计算每个QoS指标的CV值和权值,且权值的计算方法不同。具体而言,QoS指标的CV值越大,对应的权重反而越小。主要原因是传统CV方法是根据所有样本中每个QoS评价指标的离散情况来分配指标的权重,QoS值离散程度越大,相应权重的分配值也就越大;而Inv-CV方法根据Pareto集计算各指标权重,则是考虑到越重要的指标往往在较优的服务样本中表现得更为稳定,其CV值越小,相应的权值反而越大。

简而言之,传统的CV方法和本文所提出的Inv-CV方法之间的差异有以下两点。一方面,每个QoS指标的变异系数值的计算依赖于不同的样本。另一方面,变异系数值与权重值之间的关系是完全相反的。因此,在Inv-CV方法中,为了计算每个QoS指标的权重,首先采用传统CV方法,对Pareto集中的服务样本计算每个QoS指标的CV值(即式(1)-式(3))。之后,每个QoS指标的权重可以通过下式计算:

(5)

步骤3对每个QoS指标进行标准化处理。

由于每一个QoS评价指标值的范围和单位都不同,所以直接采用未经过任何处理的原始QoS值会带来一些不公平的因素。为解决该问题,本文将每个QoS评价指标值进行标准化处理。

(6)

式中:max(Qj)和min(Qj)分别表示所有样本中评价指标Qj的最大值和最小值。

步骤4评估服务的价值。

最后,评估每个服务的价值。用Vi表示服务Si的价值,结合式(5)和式(6),则有:

(7)

3 实验与结果分析

本节将通过以下两个实验来验证所提出的Inv-CV方法。

3.1 实验A

(1) 数据集。实验A选取公共可用数据集WS-DREAM[11],该数据集包含5 825个真实Web服务,并记录了响应时间和吞吐量两个评价指标。本实验从WS-DREAM中选择前200个服务,并假设这些服务具有相似的功能,但不同的性能。

(2) 实验结果与分析。表2和表3分别展示了当设置Pareto集比例为5%({60,110,123,124,170,91,126,127,7,2})和比例为10%({60, 110, 123, 124, 170, 91, 126, 127, 7, 2, 89, 109, 111, 142, 147, 186, 140, 143, 146, 88})时的评价结果。根据该Pareto集,首先用式(5)确定每个QoS评价指标(即响应时间和吞吐量)的权重大小,然后根据式(6)-式(7)计算200个服务的评估结果。接着,将所有服务从最高分到最低分进行排序。

表2 Pareto集的比例为5%时的评价结果

表3 Pareto集的比例为10%时的评价结果

从表2、表3中可以获得以下三个发现。首先,表2和表3中的最高得分几乎达到1分(满分为1)。具体而言,在表2中,当Pareto集设定比例为5%时,排名第一的得分为0.956,而在表3中,当Pareto集设定比例为10%时,排名第一的得分为0.966。

其次,表2和表3中的服务评估结果略有差异。但这是合理的,因为不同的Pareto集包含不同的服务,所以导致计算的权重也不同。因此,服务的相应评估结果也随之不同。这表明,Inv-CV方法的评价结果依赖于选择的Pareto集,具有一定的合理性。

最后,定义准确率为Pareto集中排名在评估结果对应比例内的服务的数量与Pareto集服务总数的比率。从表2和表3可以发现,表2中9个相同的服务编号,而表3中有18个相同的服务编号。也就是说,这两种情况的准确率都是90%。这表明Inv-CV方法是可行和准确的。

3.2 实验B

(1) 数据集。实验B采用Cloud Harmony Report[12]中公开的云服务质量数据。Cloud Harmony 公司公布的云服务质量评估报告涵盖了国内外众多云服务商实时测试的云服务质量数据,从中选取国内外6家云服务商的服务质量数据对其进行评价:Google Cloud Platform(CSP1)、Softlayer(CSP2)、Amazon Web Services(CSP3)、GoDaddy(CSP4)、Microsoft Azure(CSP5)、CloudFlare(CSP6),并选取7个QoS指标进行服务评价:CPU性能(C1)、磁盘I/O的一致性(C2)、磁盘性能(C3)、内存性能(C4)、云服务价格(C5)、云服务可用性(C6)、网络性能(C7)[12]。各云服务商质量数据如表4所示。

表4 云服务供应商QoS数据集

(2) 实验结果及分析。本实验使用真实的云服务质量数据进行服务评价研究,由于数据集服务样本数量较少,则选取Pareto最优集代表Pareto集。本实验对比了Inv-CV方法、Entropy-TOPSIS评价方法[14]与PROMETHEE评价方法[15]。

表5展示了通过Inv-CV、Entropy-TOPSIS、PROMETHEE三种评价方法所计算出各指标的权重值。其中,Inv-CV方法为本文所提出的方法,Entropy-TOPSIS采用了Entroy方法,PROMETHEE采用了FAHP方法。由各个方法的计算结果可以看出,由于C1指标的QoS值离散程度最大,所以计算出的熵值最大,即Entropy-TOPSIS方法计算出的权重值最大,而Inv-CV方法考虑到最优样本中重要指标值的稳定性(即离散程度低),因此计算出的权重值反而最小。相反,由于C6指标的QoS值离散程度最小,所以对应的熵值最小,因此Entropy-TOPSIS方法计算出的权重值最小,而Inv-CV方法计算出的权重值则最大。与此同时,由于PROMETHEE通过专家对指标相对重要性的量化评判结果计算各个指标的权重,所以每个指标权重值近乎相似。

表5 不同评价方法下各评价指标的权重值分布

图1展示了Inv-CV方法、Entropy-TOPSIS评价方法、PROMETHEE评价方法的对比结果。根据 Cloud Harmony 公司对 6 个云服务商的质量评价等级评分分别为:CSP3(A+)、CSP6(A)、CSP2(A)、CSP1(A)、CSP5(B)、CSP4(B-)。通过图1可以发现,Inv-CV方法的评价结果更加逼近Cloud Harmony的评价结果。因此,相比其他方法,Inv-CV方法会忽略掉因某指标劣化带来用户体验变差的问题,进而使得该指标权重值变小,所以更适合云服务商之间的比较。该实验验证了本文提出的Inv-CV方法在云服务评价中的可行性和准确性,可以为云用户提供决策支持。

图1 不同评价方法下云服务质量排名

4 结 语

本文提出了一种 Inv-CV云服务价值评估方法。Inv-CV方法在充分分析服务指标潜在规律的基础上,通过计算客观权重对服务进行价值评价。与传统CV方法不同,在Inv-CV中,只对代表较优服务样本的Pareto样本集计算指标的变异系数值,一个指标的变异系数值越大,对应的权重值越小,反之亦然。实验结果验证了该方法的可行性和准确性。

在本文研究过程中,确定Pareto集的过程尚且粗糙,在未来的研究中,将尝试对快速非支配排序算法中同一非支配层的服务样本进行区分。另外,Inv-CV方法可与主观权重法结合,以更好地满足用户的偏好。

猜你喜欢

支配排序权重
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
被贫穷生活支配的恐惧
作者简介
权重常思“浮名轻”
恐怖排序
跟踪导练(四)4
节日排序
为党督政勤履职 代民行权重担当
基于决策空间变换最近邻方法的Pareto支配性预测
随心支配的清迈美食探店记