袁玉倩
(北京航空航天大学 自动化科学与电气工程学院,北京 100191)
胡晓惠
(中国科学院 软件研究所,北京 100190)
基于 QoS真实性与工作流模型的 Web服务选择
袁玉倩
(北京航空航天大学 自动化科学与电气工程学院,北京 100191)
胡晓惠
(中国科学院 软件研究所,北京 100190)
基于服务质量的 Web服务选择方法往往假定服务提供者与使用者提供的质量数据均为真实可靠,而这一假设在实际中很难保证.为此,提出一种同时基于服务质量数据真实性与工作流模型的服务选择方法.对服务提供者发布的质量数据,根据服务运行数据的统计结果重新计算其客观质量值;对来自服务使用者的主观评价,通过工作流组织模型计算使用者间的信任度,并结合信任度计算当前用户的服务评价值.通过服务质量模型的建立,结合两种数据选出最优 Web服务.实验证明该方法能够有效改善不可靠的质量数据对 Web服务选择造成的影响,使服务选择结果更加准确.
Web服务;Web服务选择;服务质量;工作流
随着 Web服务应用要求不断提高,能够提供增值功能的组合 Web服务已得到广泛关注[1].然而,如何在大量实现相同功能的 Web服务中选取一组服务,使其具有良好的服务质量、较高的用户满意度已成为亟待解决的问题[2].
目前多数基于QoS(Quality of Service)的Web服务选择方法易忽视以下问题:①对于 QoS模型的质量值,往往假设服务提供者发布的质量数据均为真实可靠,因此常直接采用其数据进行服务选择.而实际应用中,服务质量数据的真实性通常难以保证;②服务使用者使用 Web服务后进行的主观评价,易受自身因素(例如主观意愿、所处身份等)影响,不同使用者对同一 Web服务做出的评价可能存在较大差异.因此当用户根据前人经验评价进行服务选择时,必须考虑使用者身份因素对于评价值的影响.
在相关工作中,文献[3]讨论了数据真实性在基于 QoS的 Web服务选择中的应用及发展现状;文献[4]详细描述了评价 Web服务质量应考虑的 5种因素,并通过全局优化算法进行服务选择.文献[5]提出一种基于代理的服务选择方法,不足之处在于评价信息没有考虑使用者之间的关系.
为此,本文提出一种同时基于服务质量数据真实性及工作流组织模型的服务选择方法,对来自服务提供者和使用者双方的数据分别进行修正计算.由于本方法并不限定服务质量属性类型,因而具有良好的扩展性.
在服务注册时,服务提供者需要将服务的质量属性数据同功能属性数据一起发布至服务登记处.此时,对于有的质量属性,如执行时间、服务可靠性等,某些服务提供者可能发布一些超出实际水平的数据,以吸引更多用户使用[6].因此,在通过 QoS进行服务选择过程中,直接采用服务提供者提供的数据可能对选择结果造成负面影响.
针对此问题,可对服务的多次运行结果进行统计并重新计算质量属性值,以增强其数据真实度.基于数据真实性的 Web服务选择方法对应流程如下:①收到用户请求后,服务请求代理首先查找到所有满足用户功能需求的 Web服务;②根据用户所关心的质量属性,由已获得的相关质量数据计算出各质量属性值;③根据用户期望对选出的服务进行排序,将 QoS最优的 Web服务客户端响应至服务请求者.同时服务选择代理在此客户端处加入监控机制,用于采集服务的此次运行数据,其监控数据结果用于对服务质量属性值进行修正计算.
实际操作中,采集多次运行数据并发送至服务代理是根据一定协议实现的,此过程对于用户并不可见,由此可实现保密并认为服务代理接收到的数据为真实可信.此外,当服务代理接收到的运行数据量不同时,其统计数据的准确程度也有所不同,因此计算将采用加权求和的方式进行.令服务提供者发布的质量数据与统计数据各占一定权重,并使得统计数据的权重随服务运行次数的不断增加而增大,直至接近 1.在此过程中,随着统计数据权重的增加,服务质量值也将由服务提供者发布的数值逐渐接近其实际值.
采用式(1)对来自服务提供者的数据进行重新计算:
式中,s1,s2,…,sn为 n次监控运行获得的质量数据;f为统计函数,对不同类型的服务质量,其计算方法也有所不同,例如服务可用性,其值为过去的一定时间内,服务可用时间与这段时间的总长度之比[7];qc为服务提供者发布的数据;指数函数(1-e-n/N)使得统计数据的权重随服务运行次数n的不断增加而增大.这里通过常数 N控制统计值所占权重随数据量增长的速度.当 n=6N时,e-n/N≈0.25%,此时求得的服务质量值基本可由运行统计值决定.
如果无法收集到质量属性的运行数据,则令n=0,此时将直接采用来自服务提供者的数据进行选择.式(1)简化为
工作流模型是将现实世界中的业务过程抽象出来,并以一种形式化的、计算机可处理的方式来表示.从工作流的组织结构角度来看,工作流模型由过程模型、组织模型和资源模型 3部分组成.其中的组织模型用于定义完成工作流人员的组织结构,人员根据不同角色处于不同的组织内[8].
本文采用层次结构表示工作流的组织模型.如图 1所示,叶子节点代表最终使用者,中间节点表示不同功能组.功能组间可互相包含,如功能组D,E都属于功能组 C.此外某些具有多种角色的使用者可处于不同组内.如图 1,s1既属于 B,又属于D.
图 1 工作流的组织模型
基于工作流组织模型的服务选择过程主要分为 3步:①当使用者要执行某个活动时,列出活动对应的所有 Web服务以及执行过此活动的所有使用者;②根据工作流组织模型,计算当前用户同已执行过此活动的使用者间的初始信任度,并通过已执行用户对 Web服务的使用评价,计算出当前用户对所有 Web服务的初始评价值,以此作为Web服务选择的依据之一;③当使用者使用过所选 Web服务后,对其做出使用评价,根据该反馈信息,重新计算当前使用者和其他使用者间的信任度.
信任度表示工作流中各服务使用者间的关联程度,将根据工作流组织模型计算初始信任度.假设两个使用者为 s1和 s2,则 s1对 s2的初始信任度用符号 Cs1s2表示,s2对 s1的信任度用符号 Cs2s1表示,Cs1s2和 Cs2s1不一定相等,若 s1=s2,则 Cs1s2=1.
对于任意的两个使用者 s1和 s2,s1≠s2,则
式中,Ds1s2为使用者节点 s1和 s2之间的距离,若 s1和 s2同属一个组,则其间距离为 1,否则为 s1所属组和 s2所属组间的距离,此距离长度等于所属组之间的最短路径条数;Ds1max为整个组织模型内,与 s1相距最远的使用者到 s1的距离长度.如图 1所示,Ds1s2=1,Ds1s5=3,假设 Ds1max=6,则 Cs1s2=1,Cs1s5=2/3.
对处于多个组内的某个使用者,要根据使用者执行的活动选择其所在的组.例如某使用者处于两个不同组 Q1和 Q2内,当其要执行活动 t时,若 Q1内大多数使用者均执行过 t,则认为使用者属于 Q1,否则属于 Q2;若 Q1和 Q2的使用者均执行过 t,则认为这两组功能相同,可并为一个新组,根据新组的位置再计算信任度.
由式(3)得出服务使用者间的初始信任度后,可计算出使用者对某活动所对应 Web服务的初始评价值,公式如下:
由式(3)计算出的只是使用者的初始信任度.使用者通过他人的评价结果选择某个 Web服务,执行完毕后,需对此 Web服务做出使用评价,并用评价结果再去反馈初始信任度,从而计算出新的反馈信任度.当使用者今后再次执行活动时,需要根据新的信任度计算对应某个活动的所有Web服务评价值.
反馈过程并不是对所有执行过此活动的使用者均进行反馈,而仅仅是针对那些对当前用户最终选择的 Web服务做出过评价的使用者.反馈公式如下:
式中,C′asj为反馈后使用者 a对使用者 sj的信任度;Casj为反馈前的初始信任度为使用者 sj与使用者 a对 wi评价值的差值;Rsjwi为使用者 sj对 wi的评价值,Rawi为使用者 a对 wi的评价值为所有评价过 wi的使用者与使用者 a对 wi评价值的差值平均值;p={1,-1},当时,p=-1,否则 p=1.由式(5)计算得出的反馈信任度必须满足条件:
Web服务评价值只是一个主观经验值,在实际应用中,还必须考虑 Web服务的客观质量值,这个值由 Web服务的 QoS模型计算得出.本节结合前述计算方案,给出完整的 QoS计算模型.首先构建出质量属性矩阵 Q:
式中,各行为某 Web服务的 m个质量属性值;各列为 n个 Web服务的同一种质量信息.Q中的各个质量属性值 qij均通过式(1),在服务提供者发布的质量值基础上,由运行数据的统计值计算得到.
通过 Q可计算出 Web服务的质量属性值.先将 Q进行归一化,得到矩阵 V.式(8)用于处理负向属性,即取值越大,质量越低,例如服务费用.式(9)用于正向属性,即取值越大,质量越高,例如可靠性.
其中,qij和 vij分别为某个质量属性数据归一化前后的值和分别为 Q中各列质量数据的最大、最小值.
根据用户对各种质量属性的不同要求,对各服务质量值进行加权求和,计算公式如下:
求出 Web服务的 QoS值后,用户便可将服务的客观质量值及主观评价值加权求和,选出最优的 Web服务,公式如下:
计算出所有的 Mi,选取最大值所对应的 Web服务即可.这里 α和 β分别为主观评价值与客观质量属性值的权值,且 α+β=1.当 α=1时,意味着选择 Web服务时只考虑用户评价而不注重Web服务的客观质量值;当 β=1时则意味着选择时只考虑 Web服务的客观质量值而不注重用户的评价结果.
假设某服务提供者发布的部分 QoS数据是虚假的,本文将通过数据的监控运行结果,计算出真实的质量数据.这里以服务可用性为例进行说明.为了进行实际验证,编写了一个 Web服务.假定此 Web服务的实际可用性数值为 50.3%,而服务提供者所发布的数值则为 85.5%.同时,模拟一组服务使用者对服务进行多次调用.由式(1)计算服务可用性的实际值.此处取 N=200,结果如图 2所示.随着服务被调用次数的增加,其可用性数值由服务提供者发布的数值 85.5%开始逐渐降低.当监控到的运行次数达到 1 200,即 6N时,服务可用性数据接近其真实值 50.3%.
图 2 服务可用性的真实性验证
假设实验在如下任务活动中进行:某校电子系和化工系的学生均需使用图书馆的在线翻译软件.翻译工作完成后,需打印译文材料.此处可由“在线翻译”和“下载打印”两个活动共同组成一个工作流.对于“在线翻译”活动,共有 3个服务可完成其功能,分别为 w1,w2,w3.其中 w1翻译软件适用于化工学科专业词汇,w2适用于电子学科专业词汇,而 w3两者皆可.对于 “下载打印”活动,共有 2个服务可完成其功能,分别为 w4,w5.其中 w4对于研究生打印具有价格优惠.实验按照活动对服务使用者进行分组,图 3为此工作流组织模型.
图 3 工作流的组织模型
实验只考虑“在线翻译”活动的 3个 Web服务,“下载打印”活动同其类似.对于服务 w1,w2和 w3,假设电子系的服务使用者对其评价值分别为[0.1~0.5]、[0.3~0.7]和[0.5~0.9],而化工系用户对其评价值分别为[0.5~0.9]、[0.3~0.7]和[0.1~0.5],采用满足正态分布的函数来模拟评价值,如图 4、图 5所示.
在实验过程中,如果不按照图 3中的工作流组织模型计算各服务评价值,将会得到如图 6所示,综合两系用户的评价结果.对于未使用过 3个服务的新用户来说,图 6的结果无法令其做出准确选择.
反之,如果按照工作流组织模型来计算服务评价,则电子系用户间的初始信任度为 1,而电子系用户与化工系用户间的初始信任度为 0.75.对于电子系用户,当其选择服务时,将按照图 7中的计算结果进行.图 7的结果与图 4较相似,这将帮助电子系用户做出正确选择.
图 4 电子系用户的评价结果
图 5 化工系用户的评价结果
图 6 未使用组织模型的评价结果
图 7 使用组织模型后的评价结果
本文针对 Web服务的优化选择问题,提出了一种基于服务质量数据真实性和工作流组织模型的服务选择方法.方法在确保服务质量属性真实性的基础上,通过工作流组织模型计算用户信任度,得到有参考意义的用户主观评价,最后通过两种数据的结合选择出最优的 Web服务.本文在此基础上结合实验证实了方法的有效性.后续工作将对 Qos选择算法的性能和优度进行更深入的分析和改进.
References)
[1]张煜,葛声.Web服务组合处理系统的研究与实现[J].北京航空航天大学学报,2005,31(4):397-401 Zhang Yu,Ge Sheng.Research and implementation ofweb services composition runtime system[J].JournalofBeijing University of Aeronautics and Astronautics,2005,31(4):397-401(in Chinese)
[2]Ran Shuping.A model for Web sevices discovery with QoS[J].ACM SIGecom Exchanges,2003,4(1):1-10
[3]Wang Yao,Vassileva J.A review on trust and reputation for Web service selection[C]//The 27th Int'l Conf on Distributed Computing Systems Workshops 2007(ICDCSW 2007).Toronto:IEEE Computer Society,2007:25-32
[4]Zeng Liangzhao,Benatallah B,Dumas M.Quality driven Web services composition[C]//The 12thInternational Conference on World WideWeb.Budapest:ACM Press,2003:411-421
[5]Sreenath R M,Singh M P.Agent-based service selection[J].Web Semantics:Science,Services and Agents on the World Wide Web,2004,4(2):261-279
[6]李妍,周明辉.一种考虑 Qos数据可信性的服务选择方法[J].软件学报,2008,19(10):2620-2627 Li Yan,Zhou Minghui.Service selection approach considering the trustworthiness of Qos data[J].Journal of Software,2008,19(10):2620-2627(in Chinese)
[7]Wu Lehang,Haus wirth M,Aberer K.QoS-based service selection and ranking with trust and reputation management[C]//On the Move to Meaningful Internet Systems 2005:Coop IS,DOA,and ODBASE.Berlin:Springer-Verlag,2005:466-483
[8]Shi Yuliang,Huang Guangan.A method to select the optimum Web services[C]//The 8thAsia-Pacific Web Conference on Frontiers of WWW Research and Development(APWeb 2006).Harbin:ACM Press,2006:868-873
(编 辑:刘登敏)
W eb service selection app roach based on the authenticity of QoS data and work flow model
Yuan Yuqian
(School of Automation Science and Electrical Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100191,China)
Hu Xiaohui
(Institute of Software Chinese Academy of Sciences,Beijing 100190,China)
The existing QoS(quality of service)-based services selection approaches always assume that the QoS data coming from service providers and users are effective and trustworthy,which is actually impossible in reality.A service selection approach based on the authenticity of QoS data and work flow model was proposed to solve the problem.For the QoSdata coming from service providers,the statistics of past runtime data to revise the providers'QoS data were used.For the subjective evaluation coming from users,the confidence values of users were calculated based on the work flow-organization-model,and then the evaluation was computed by using the confidence.At last,the optimal web services could be selected by combing the two values as the judgment standard.The experimental results show that this approach can effectively weaken the in fluence of untrust worthy QoS data on Web service selection and strengthen the accuracy of service selection.
Web service;Web service selection;quality of service;work flow
TP 393
A
1001-5965(2011)04-0390-05
2010-01-19
国家自然科学基金资助项目(60875072)
袁玉倩(1981-),女,天津人,博士生,samm iyyq@163.com.