李永红 周 娜 赵国峰 刘瑞峰 金 鹏
模糊TOPSIS时变权重二次量化云服务推荐
李永红1周 娜2赵国峰2刘瑞峰1金 鹏1
1(山东地震局台网中心 山东 济南 250014)
2(中国地震台网中心 北京 100013)
云服务数量的快速增长给云服务选择决策带来了挑战。为协助决策者在进行云服务选择时提供决策依据,更好地满足用户使用需求,提出一种并行模糊TOPSIS时变权重二次量化云服务推荐算法。首先,基于熵的权重赋值方法确定准则权重,解决了准则权重不好选取的问题,并采用时变权重方法作为补充设计一种新的模糊TOPSIS评估方案,时变权重的引入可以对不同时期QoS等信息的重要性进行二次量化区分,有助于提高融合决策的合理性。其次,基于时间段的模糊TOPSIS多准则融合决策信息,提出一种可并行云服务选择框架,有利于算法的实际推广应用。实验结果表明,该算法能够有效抑制不良QoS信息影响,提高服务调用成功率保证诚信服务的互操作性。
模糊 TOPSIS 多准则决策 熵 云服务推荐 时变权重
云计算是基于互联网的商业计算模式[1]。由于云计算的快速增长和云服务推荐的动态性,导致每个云服务的服务质量存在波动性,因此选择有效的特征融合算法对云服务做出合理的综合评定是云服务推荐的关键任务[2]。
多准则决策是基于排序选择的多属性比较方案[3],主要基于三种原理:一是多属性效用理论(MAUT),如Min-Max、Max-Min等;二是排序方案,如PROME、ELECT等;三是分层和网络方法,如AHP、ANP等。目前云服务组合推荐的文献都是基于这三种原理:如文献[4]提出SMIcloud云服务推荐算法框架,然后基于层次分析法(AHP)机制对云服务进行等级排序。文献[5]通过匹配算法帮助使用者从不同服务推荐商获取最佳组合的云服务系统。文献[6]提出完整的(AHP)云服务评价指标体系等。
目前,在协助用户进行决策时存在的主要问题是:只考虑实时的云服务QoS性能或者只考虑历史平均QoS性能表现[6]。前一种方法因为忽略服务过去的QoS性能,将导致算法选择局部而非全局最适合的云服务,与之相反,后一种方法不考虑频繁变动的QoS性能,无法代表整体。因此,需要一个云服务选择方法,能够充分考虑到QoS性能表现的变化(包括价格因素)和用户的选择标准来对云服务等级进行评定,帮助用户选择最合适的服务。对此,本文提出一种时变权重方法的模糊TOPSIS评估方案(FTTWSQ)实现云服务的合理化推荐。
图1显示的是基于不同QoS信息来源而设计的一种云服务选择算法框架。在云环境中可用的云服务是通过服务检索模块和存储在QoS库中的特性等信息进行检索。注册的云服务由云服务管理模块进行管理,通过在可用云服务上执行标准测试并收集测试数据存储在QoS库。同时,云服务用户也会根据使用情况对QoS信息进行评价和反馈。QoS库负责记录可用服务QoS信息,并将这些信息提供给决策模块,以推荐合适的云服务给新用户。
图1 云服务推荐算法框架
云服务检索模块:负责检索云环境中可用云服务及其规格信息,该模块通过收集云服务制作者提供的云服务规格信息起到连接云环境和算法框架的作用。除了搜寻可用云服务功能,该模块还起到跟踪现有服务规格变化的作用。云服务管理模块:负责管理云服库中注册的云服务,通过在执行标准测试,或通过第三方云服务管理系统获取云服务的QoS信息。QoS信息库:该模块从检索、管理模块收集存储云服务信息,或者收集云服务使用者反馈的QoS信息。
当上述算法框架模块搭建完成以后,云服务推荐算法的基础性工作便已实现,这部分实现方式基本类似。但对于QoS信息的处理算法不同研究者提出各异的算法,本文主要从解决QoS时变对决策影响角度出发(例如云服务价格因素),在原准则权重基础上引入时变权重对不同时段的QoS信息重要性进行二次量化,同时借助模糊TOPSIS算法实现QoS信息的多属性融合决策。
2.1 多准则决策算法流程
当前,云服务选择算法已有诸多研究成果[7,8],但对于QoS信息的选取多停留在即时QoS信息或平均化处理方式上,实际上QoS信息变化是相当频繁并且影响很大的(主要是云服务价格),会影响到云服务选择的合理性。因此,提出QoS时变权重算法如图2所示。
图2中C={C1,C2,…,Cm}为m维的QOS决策准则,WC={WC1,WC2,…,WCm}为与之对应的准则权重,用来区分不同准则的轻重关系,wt={wt1,wt2,…,wtm}为本文提出的时变权重方法,用来区分不同时段QOS信息的重要程度。该图所体现的模糊TOPSIS多准则决策模块的算法流程为:(1) 可用云服务QOS信息提取;(2) 模糊TOPSIS等级评定;(3) 时变权重信息融合提取。接下来将主要针对QOS信息等级评定的TOPSIS算法进行论述。
图2 决策算法流程
2.2 模糊TOPSIS多准则决策
传统算法中,决策准则权值WC是根据决策者喜好人为赋值的,但在实际应用中该权值无法获得准确值。因为QoS准则来源广泛,有无法量化的信息、不完整的信息、部分未知信息等。因此,这里提出基于模糊集理论的模糊TOPSIS时变权重二次量化云服务推荐算法,步骤如下:
Step1 构造决策矩阵 假设有m个可用云服务Si(i=1,2,…,m),QoS选择准则Cj(j=1,2,…,n),则每个时间点所有云服务的QoS值可构造如下决策矩阵:
(1)
式中,xij代表云服务Si在准则Cj下的量化表现。
Step2 熵权重赋值 以熵测度确定客观权重值,需要对决策矩阵在准则Cj(j=1,2,…,n)下进行归一化,获得每个准则的投影值Pij:
(2)
则熵值可计算如下:
(3)
那么准则权重可计算如下:
(4)
Step3 构造模糊决策矩阵 模糊TOPSIS规范化决策矩阵形式如下:
(5)
由于随时间变化最大的是价格因素,因此将决策准则分为功能相关(F)和价格相关(C)两部分。采用三角模糊规则,三角模糊数为(aij,bij,cij),则:
(6)
其中:
(7)
Step4 性能评价 利用Step2求得的准则权重及Step3求得的模糊决策矩阵,可构造加权评价矩阵:
diag{WC1,…,WCn}
(8)
Step5 决策求解 通过对式(8)求得的多准则加权评价矩阵进行排序,可确定正理想解A+和负理想解A-如下所示:
(9)
Step6 距离获取 采用文献[9]提出的两个三角模糊数A1=(a1,b1,c1)和A2=(a2,b2,c2)的距离计算公式:
(10)
Step7 云服务推荐 求取备选云服务的接近系数(CC)并进行排序,选取具有最高接近系数的备选云服务:
(11)
2.3 时变权重二次量化
主要目的是对不同时间段的QoS准则赋予相应的权重,体现不同时间段的QoS准则对决策的不同影响。原则是近期的QoS准则更为重要。假设有n个时间段t1,t2,…,tn,那么每个时间段ti相应的时变权重可由如下逻辑衰减函数进行定义:
(12)
其中,Δti为作用时间段和参考时间段间的时间间隔。A控制下包络线,K控制上包络线,B增长率控制参数,M最大时间间隔。在权重选取时最近时间段的权重赋值为1,随着时间的向前推移权重逐渐减小,最小权重值设为0.4。
为了在所有的时间段内使用单独的最高等级服务选择结果,需要构建布尔矩阵:
(13)
矩阵元素uij对应于云服务Si和时间段tj,当云服务Si在时间段tj为2.2节求取的该时间段最高云服务等级时,uij=1。因此,该矩阵的每一列代表在该时间段内可用云服务的多准则决策结果,每一行代表的是一个云服务在所有时间段上的多准则决策结果。利用该矩阵可计算云服务Si的融合等级Ri:
(14)
式中,ωj为时变权重。对每个云服务重复该计算过程,得到每个云服务在整个作用时间段上总的等级排序。该过程可通过布尔矩阵与时变权重组成的列向量进行乘积运算的形式体现:
(15)
根据式(15)求得的融合等级R选取其中最大等级Rk对应的云服务Sk作为最终的决策结果提供给使用者。
如前所述,在进行云服务决策融合时选取的是一段时间内的QoS准则,采用时变函数形式进行综合考虑,而不是像传统文献[10]中采用某个时间点或一段时间内的平均值的简化方法。可以有效解决云服务推荐算法的局部最大化(某个时间点)或QoS性能随时间变化的信息丢失问题(平均QoS信息)。所提云服务推荐算法步骤:
Step1 时间段划分 将一段时间内的云服务QoS信息按时间划分为互不交叉的小时间段,用户提供云服务的判别准则Cj(j=1,2,…,n),而每个小时间段内的云服务QoS性能表现,由多目标决策模块根据用户定义的判别准则在QoS信息库中提取(如图1所示)。
Step2 判别准则选取 用户对所提供云服务的QoS判别准则Cj(j=1,2,…,n)的重要性认识是不一样的,每个用户在进行云服务选择时都具有特定的偏好。这里提出一种基于熵的QoS判别准则自适应选取方式,简化QoS判别准则Cj(j=1,2,…,n)的选取,具体算法步骤如2.2节Step1-Step2。
Step3 多准则等级排序 所有可用云服务在每个时间段内的QoS性能表现可构成决策矩阵,采用准则权重和模糊TOPSIS算法可以选取最好QoS性能表现的云服务。由于时间段的互不交叉性,模糊TOPSIS云服务等级排序算法可以在各个时间段内并行执行,选取每个时间段内的最好性能表现的云服务,具体步骤参见2.2节Step3-Step7。
Step4 时变权重二次量化 按时间段赋予时变权重,该权重根据时间段距离当前时间点的远近,由近及远赋予1→0.4逐渐降低的权重值,表示近期的QoS信息要比过去的QoS信息重要。使用该时变权重对Step3中所得到的各时间段内的最好云服务进行融合,选取最终的云服务,具体步骤参见2.3节。
硬件实验环境 操作系统Win 7,处理器AMD641-2.8 GHz,内存4 GB。
实验1 人造数据集测试 实验数据来自Web Service Challenge客户端所提供的人造仿真数据[10]。为了验证算法的有效性,仿真采用三种不同的模型算法进行对比,分别是:文献[10]方法QoS-WSD;基于TOPSIS的时变权重判别准则算法(TTQ);模糊TOPSIS时变权重二次量化算法(FTTWSQ)。当服务数为不同的取值:50、100、200和300时,抽象服务类别为3类,则分别采用QoS-WSD、TTQ 、FTTWSQ算法的解的精确度如图3所示。参数设置:A=1,K=0.4,B=0.5,M=80。
图3 算法成功率对比
图3显示的是三种算法在不同服务数情况下的云服务选择成功率,随着服务数的增加,三种算法的云服务选取成功率均有所下降,但是下降幅度均比较缓慢。综合性能比较,三种算法都能有效地对云服务进行选择,但是FTTWSQ算法的选择成功率相对最高,接近100%,说明FTTWSQ算法的性能极佳,TTQ算法性能次之,QoS-WSD性能相对较差。
逻辑衰减时变权重方法共有4个参数,分别是:A=1代表时变权重的最大值,K=0.4代表时变权重的最小值,B=0.5代表时变权重的变化速率。假设这三个参数固定,下面将以第四个参数M为例通过仿真实验来观察参数M对算法的影响。
图4给出的是参数M取值对推荐算法的影响,(a)是M取值对时变权重取值的影响,(b)是M取值对算法推荐成功率的影响。从(a)可以看出随着M取值增大,曲线逐渐右移,过去时刻的权重小基本相等,而现在时刻的权重大但是变化空间有限,是对过去时刻QoS决策准则重要性的模糊化处理方式,一视同仁。而随着M取值减小,曲线逐渐左移,近期QoS准则的权重大基本相等为1,过分强调的是近期QoS准则对判别的影响。(b)显示的是M取值三种情况对算法推荐成功率的影响,通过仿真发现M取值为服务总数的三分之一时,算法的性能相对较优。
图4 参数M取值对算法影响
实验2 自然数据集测试 为了验证所提算法实际应用的可靠性,使用亚马逊平台下5个云服务在短期负荷试验下的CPU、内存和I/O性能响应时间监测数据(来源:( http://www.cloudclimate.com))。为体现时变权重二次量化算法的有效性,在上述三个标准之外增加价格变化情况作为第四个标准。数据详细信息见表1所示。
表1 亚马逊云服务平均响应时间
仿真采用三种不同的模型算法进行对比,分别是:
M1: TOPSIS平均QoS无时变权重判别准则算法(TMQ);
M2:TOPSIS时变权重判别准则算法(TTQ);
M3:模糊TOPSIS时变权重二次量化算法(FTTWSQ)。
表2给出了三种算法当前时刻的云服务推荐结果,根据表1结果可以直观地看出在平均响应时间方面S2(EC2EU)服务最优,S5算法时间响应次之。所以逻辑上基于TOPSIS平均QoS无价格因素权重判别准则算法的云服务推荐应该是S2,仿真结果也验证了上述推断。但是服务S2的平均价格要明显高于S5,在实际的云服务选择使用中在响应时间差别不大情况下,服务价格是使用者在控制预算成本中重点考虑的因素。因此结合价格条件综合的选择结果M2和M3算法模型均给出了S5的选项,但是具体到运算结果,M3算法给出的结果要比M2算法的结果更加明显,也就是算法的目标性更强。为了验证上述分析,对比M2和M3算法在300个时刻的云服务选择结果,如图5所示。
表2 三种模型算法对比结果
图5 不同时间点云服务选择结果
图5给出了M2和M3两种模型算法在每个时间点的云服务选择结果,在这两个模型算法中云服务S5都具有最高的决策等级,理论上应该选择S5作为算法输出结果。但在图5仿真结果可以看出M2算法的输出值错误率要明显高于M3算法,说明本文所采用的模糊TOPSIS时变权重二次量化算法在算法的准确度上得到明细提升,算法的鲁棒性更强。主要原因是M3模型采用模糊处理方式将决策准则分为功能相关(F)和价格相关(C)两部分,并采用三角模糊函数进行处理,可有效地综合云服务推荐的功能和价格两部分因素。云服务S5作为具有最高的决策等级,其在功能和价格两部分因素综合评比中占优,而在这300个时刻中,其时间因素并非最优。M2算法简单的对功能和价格两部分因素加权融合算法,会受到加权系数的影响,导致决策结果会根据加权系数选取和决策区间的随机性,而影响到M2算法偏向时间或者偏向于价格因素。所以M2算法的鲁棒性相对较差,而图5仿真结果也进一步验证了采用模糊处理方式在该云服务推荐模型中的强鲁棒性。
本文提出一种模糊TOPSIS时变权重二次量化云服务推荐算法。首先,为解决准则权重不好选取的问题,提出一种熵的权重自动赋值方法,结合时变权重的二次量化,希望能够得到更加合理准确的推荐方案。通过在人造测试数据集和自然测试数据
集上的实验表明,该算法能够有效地对云服务进行推荐,在成功率和鲁棒性方面均要优于对比算法。本文同时还对算法相关参数的选取进行了仿真实验,给出了相对合理的参数选取方案。算法在实验室条件下取得了理想的仿真结果,下一步将重点考虑实现算法的实际应用。
[1] Andreolini M,Casolari S,Colajanni M.Dynamic load management of virtual machines in a cloud architecture[J].Department of Information Engineering,2010,21(3):201-204.
[2] Vaquero L,Rodero M L,Cacerce J,et al.A break in the clouds:towards a cloud definition[J].SLGCOMM Computer Comunication Reviewer,2009,39(1):50-55.
[3] 王尚广,孙其博,张光卫.基于云模型的不确定性QoS感知的Skyline服务选择[J].软件学报,2012,23(6):1397-1401.
[4] Liman N,Noutaba.Assessing software service quality and trust worthiness at selection time[J].IEEE Transactions on Software Engineering,2010,36(4):559-574.
[5] 陈军,卢涵宇,姚丹丹.基于处理时间的网络地图云服务调度算法[J].计算机测量与控制,2013,21(7):1987-1989.
[6] Nie G,She Q,Chen D.Evaluation Index System of cloud service and the purchase decision making process based on AHP[J].Advances in Fuzzy Systems Applications and Theory,World Scientific,2011,36(7):115-126.
[7] Mauro A,Sara C,Michele C.Dynamic load management of virtual machines in a cloud architecture[J].Department of Information Engineering,2010,25(3):201-204.
[8] Josang A,Ismail R,Boyd C.A survey of trust and reputation systems for online service provision[J].Decision Support Systems,2007,43(2):618-644.
[9] Bojadziev G,Bojadziev M.Fuzzy sets,fuzzy logic,applications[J].Advances in Fuzzy Systems Applications and Theory,World Scientific,2010,35(5):175-191.
[10] 代钰,杨雷,张斌.支持组合服务选取的QoS模型及优化求解[J].计算机学报,2006,29(7):1167-1178.
[11] 李永红,周娜.虚拟主机服务应用技术研究[J].震灾防御技术,2012,7(4):444-449.
FUZZY TOPSIS-BASED CLOUD SERVICE RECOMMENDATION WITH TIME-VARYING WEIGHTS FOR SECONDARY QUANTIFICATION
Li Yonghong1Zhou Na2Zhao Guofeng2Liu Ruifeng1Jin Peng1
1(EarthquakeAdministrationofShandongProvince,Jinan250014,Shandong,China)2(ChinaEarthquakeNetworkCenter,Beijing100013,China)
The rapid growth in numbers of cloud services brings challenges to the decision of cloud service selection, in order to help decision makers in providing decision basis for them when selecting the cloud services and to better meet the usage demand of users, we proposed a parallel fuzzy TOPSIS-based cloud service recommendation algorithm with time-varying weights for secondary quantification. First, we determined the criteria weights based on the entropy weight assigning method, which solved the problem of difficult in criteria weights selection, and the time-varying weight method was used as the complement for designing a new fuzzy TOPSIS evaluation scheme, the introduction of time-varying weight could make secondary quantified distinction on the importance of information such as QoS in different periods, this helps to raise the reasonability of fusion decision. Secondly, based on fuzzy TOPSIS multi-criterion fusion decision information of time period, we proposed a parallelisable cloud service selection framework, which was conducive to the practical promotion of the algorithm to the application. Experimental results showed that the algorithm could effectively restrain the impacts of adverse QoS information, improved the service call success rate to ensure the interoperability of faith service.
Fuzzy TOPSIS Multi-criterion decision Entropy Cloud service recommendation Time-variable weight
2014-08-14。国家自然科学基金项目(61170263);山东省地震局青年基金项目(JJ1405Y)。李永红,工程师,主研领域:服务器存储和虚拟化技术。周娜,工程师。赵国峰,工程师。刘瑞峰,工程师。金鹏,工程师。
TP393
A
10.3969/j.issn.1000-386x.2016.04.004