陈曦,双锴,苏森北京邮电大学网络与交换技术国家重点实验室,北京(100876)E-mail:cx1cjj1106@gmail。com摘要:提出一种Web服务信誉度的计算模型。该模型的目的是全面与准确的计算Web服务的信誉度,以便用户基于信誉度进行Web服务选择。该模型首先计算综合了多种影响因素的主观用户评分,之后计算客观的Web服务提供者的信任度,最后综合主客观两方面来计算Web服务的信誉度。仿真结果证明了本模型在降低不诚实用户恶意评分的影响,提高Web服务选择的准确性方面都具有良好的效果。关键词:Web服务,信誉度,用户评分,信任度,贝叶斯学习理论1.引言WebService是一种灵活的,以松散耦合方式来集成异构系统或构建IT系统的技术,它作为实现SOA(Service-OrientedArchitecture)的一种方式,已经变得越来越流行。现在互联网出现了大量的Web服务,而且它的增长速度十分迅速,但从功能性角度看,很多Web服务完成的功能是相同的。为了使服务请求者能够从大量的功能性相同Web服务中选择最符合需求的Web服务,我们需要评估Web服务的Qos(Qualityofservice)。而信誉度(Reputation)是Qos中的一个重要参数,包括用户使用服务的主观体验和服务提供者的可信程度,它反映了Web服务Qos参数的优劣以及该服务的可信赖的程度。信誉度是用户选择web服务的重要参考参数,也是激励服务提供者不断改善其所提供服务的动力。全面的对Web服务的信誉度进行建模以及准确的对其计算,对用户正确选择Web服务十分重要。近几年,有很多对Web服务信誉度的建模和计算方法的研究。E.MichaelMaximilien等人提出的信誉度计算模型[1]首先基于用户代理收集用户评分信息,然后由一个系统集成这些信息计算出信誉度;LiangZhaoZeng提出的信誉度计算模型[7]将用户的主观评分取均值后作为Web服务的信誉度值;LiXiong提出的信誉度计算模型PeerTrust[2]考虑了交易数量等影响因素后,由用户的评分计算得出信誉度。这些方法都存在着一些缺陷和限制,主要体现在以下三个方面:1.直接将用户对web服务的评分作为该服务的信誉度(可能会对用户的评分进行一定的归一化和取均值处理,但不会做其它处理)。这种对信誉度的处理方法在很多e-business网站都被使用着,比如eBay[13]等,用户通过网站上提供图形用户接口对所使用的服务或购买的商品评分。如果使用同样的方法来决定Web服务的信誉度,将无法处理不诚实用户的恶意评分问题,例如,一个服务提供者可以驱使一批不诚实的用户对其所提供的服务评高分,而对其竞争对手提供的服务评低分(尽管从客观讲这个服务可能是个质量很高的服务)。此外,这种对信誉度的处理方法没有到对不同的用户和不同时期的评分进行区分,例如,大客户(使用服务次数多,规模大)的评分较小客户(小规模使用服务)的评分对信誉度的计算的影响要大;又如,近期的评分应该较前期的评分对信誉度的计算影响大。2.只从主观方面(即用户的评分)来计算信誉度。这种处理方法不仅会遇到如第一点所述的问题,而且无法从客观的角度对服务进行评价。服务的信誉度不仅包括用户对使用服务的主1本课题得到国家基础理论研究(973)计划(2003CB314806),国家高技术研究发展(863)计划(2006AA01Z164),国家自然科学基金资助项目基于人工免疫学原理的下一代网络业务冲突研究(60672121),长江学者和创新团队发展计划的资助。观体验,还包括服务提供者的可信度,而服务提供者的可信度需要从客观角度,通过衡量服务实际运行时的Qos参数值是否与服务提供者广告中宣称的Qos参数值相符合来评价的。3.未考虑用户的“本地化”因素对信誉度计算的影响。如果只从公共的角度来计算服务的信誉度,将不能体现和区分用户的个性化需求。例如,用户可能因为所处地域不同而对同样的Web服务做出差别很大的评分,而这些用户的评分都是诚实的,导致的结果就是一个服务的信誉度可能很高,但这个服务并不是最符合某个特殊地域用户需求的服务。考虑到上述这些问题,本文提出了一个全面的信誉度计算模型WSRC(WebServicesReputationComputation),综合考虑了主客观两方面的影响因素来计算web服务的信誉度。WSRC主要包括两个方面:主观角度,考虑了各种因素影响的用户评分的计算;客观角度,提出了一个新的概念-信任度(Trust),就是服务实际运行时所监控到的Qos参数值与web服务提供者宣称的Qos参数值的一致性,用于反应Web服务提供者的可信度。采用这种信誉度计算模型,全面的考虑了影响用户主观评分的因素,可以有效解决不诚实用户的恶意评分问题;同时通过对信任度的引入,可以在一定程度上降低恶意评分的影响,也使信誉度的计算更加客观的反映实际情况。本文第2节分主客观两个方面介绍WSRC对信誉度的建模模型与计算方法;第3节通过实验,说明WSRC对计算信誉度的有效性和准确性,并展示了对Web服务选择的良好影响;第4节介绍国内外相关研究和分析,最后对本文进行总结并说明下一步工作。2.WSRC信誉度计算模型在本章节,我们将分别介绍WSRC的两个方面:主观用户评分计算和客观信任度的计算,之后综合考虑这两个方面给出一个全面的信誉度的计算方法。2.1用户评分的计算WSRC的主观方面,即用户对Web服务的评分,反映了用户对这个Web服务提供的服务质量(Qos)的满意程度,因此对计算信誉度有很重要的影响。如果仅仅对用户的评分进行简单的处理(取均值或归一化),将不能有效的降低不诚实用户恶意评分对信誉度计算的影响。因此我们需要综合考虑对计算用户主观评分的多种影响因素。下面的章节将首先分析影响用户主观评分计算的各个因素,之后提出一个考虑了这些影响因素的用户评分的计算公式。2.1.1影响用户评分的因素分析经过总结,影响用户评分计算的主要有以下四个因素:1.交易规模:假设用户使用一次Web服务称作一次交易,那么对这次Web服务的请求或输出结果数量大小,处理时间的长短或者处理的复杂度的大小,都可以衡量这次交易的规模。2.评分波动:用户对一个Web服务某一次的评分值R,与所有对这个Web服务评分值的平均值R之间的差值3.用户评分的可信度:衡量一个用户在其对Web服务的评分历史上的诚实度的参数。例如,一个长期进行恶意评分的不诚实用户对某个Web服务的评分的可信度较低。4.用户评分的时效性:近期的用户评分更能反映当前Web服务的信誉度。下面具体说明上述四个因素是如何影响用户主观评分的计算的:1.交易规模(SOT-SizeOfTransaction):考虑交易规模因素,可以降低Web服务提供者的欺诈行为对计算信誉度的影响。假设有一个提供网上购书的Web服务BuyBooks。用户A一次只购书1本,使用了BuyBooks服务10次;用户B一次购书100本,使用了BuyBooks服务1次。如果不考虑交易规模(对BuyBooks服务来说就是购书的数量),并且BuyBooks服务的提供者对用户A的10次购书都提供质量很高的服务,而对用户B的1次购书提供质量很低的服务,那么BuyBooks服务的信誉度会很高,这就掩盖了BuyBooks服务提供者的欺诈行为。2.评分波动(WOR:WaveOfRating):考虑评分波动因素,可以有效降低不诚实用户的恶意评分对计算信誉度的影响。因为恶意评分的表现就是不诚实用户对Web服务的评分远高于或低于平均评分值,所以对于恶意的评分值,可以对其进行一定的加权计算,使它的值不再远离平均评分值,从而达到降低对信誉度计算的影响。3.用户评分的可信度(COR:CredibilityOfRating):考虑用户评分的可信度因素,同样可以降低不诚实用户的恶意评分对计算信誉度的影响。根据用户的历史评分记录,可以判断出一个用户是否是一个不诚实的打分者,一个用户的可信度越高(即诚实打分的次数占总的打分次数越多),该用户对某个Web服务的打分的可信度就越高。对于那些不诚实的恶意评分者,他们的评分可信度较低,通过对恶意评分者所评的分值进行加权计算,可以有效降低其对计算信誉度的影响。4.用户评分的时效性(TOR:TimeOfRating):考虑用户评分的时效性,可以明确地区分对待不同的用户评分,对不同时间段的用户评分赋予不同的权重,使其对信誉度计算的影响不同。对于较新的用户评分,在计算时应当赋予较大的权重,因为较新的用户评分更能反映当前Web服务的信誉度情况。2.1.2计算方法在分析了影响用户主观评分的因素后,给出一个综合考虑了上述四个影响因素的计算公式,用于计算信誉度的主观方面,即用户评分。对于WSRC,可以采用任何一个可量化的用户评分系统(例如可以用数字0~5来表示用户对Web服务的满意程度,数字越大表示对Web服务越满意)。对于用户的原始评分值(即未考虑上述的任何一个影响因素),需要对其进行归一化处理,让归一化后的值处于[0,1]之间,这样做的目的就是统一各种不同的用户评分系统,使这个信誉度计算模型能够与各种不同的评分系统集成应用。(1)ORMinRatingMaxMin−=−上面的式子中,ORating表示用户评分的归一化值。R表示用户的原始评分值,R的取值范围是[Min,Max],Max是R的最大值,Min是R的最小值。假设在一个固定的时间段T内(在一些常见的电子商务网站,比如eBay,通常会在一个固定的时间段内计算信誉度),共有N次对Web服务WS1的评分,那么用于计算信誉度的主观方面,即用户评分的算式如下:(2)NOUSOTWORCORTORRatingRatingN∗∗∗∗=∑在上面的式子中,URating表示综合考虑了各种影响因素后所计算出来的用户评分。SOT表示交易规模影响因子,WOR表示评分波动影响因子,COR表示用户评分可信度影响因子,TOR表示用户评分时效性影响因子,ORating是归一化了的用户原始评分。对于SOT,WOR,TOR,COR这四个影响因子的取值与计算,不是本文的重点,读者可以根据需要与经验对这四个因子取适当的值。上面式子的最终结果表示考虑了各种影响因素之后,对N次用户评分取均值,用来表示最后的用户评分,即信誉度计算的主观方面。2.2信任度的计算在WSC这个信誉度计算模型中,不仅考虑了主观的用户评分,而且从客观方面定义了一个新的概念-信任度,通过对信任度的计算,可以有效的降低不诚实用户恶意评分对信誉度计算的影响,同时也从客观方面反映了web服务的实际运行情况。本章节首先提出一个Qos参数模型,之后根据这个模型介绍信任度的建模方法,最后提出一个基于贝叶斯学习理论的信任度计算方法。2.2.1Qos参数模型在常见的Qos参数模型中,吞吐量和网络传输时延这些Qos参数都不能被用户代理所监测和计算,即不能从客观角度来进行评估,所以这里提出一个可从用户代理监测和计算的Qos参数模型,基于这个模型可以检验web服务实际运行时的Qos参数值与服务提供者宣称的Qos参数值的一致性,即可以进行信任度的计算。{Re,Re,}QosModelsponseTimeliabilityDomainQos≡1.ResponseTime:服务响应时间是指从以用户代理发出服务请求消息至服务响应消息到达用户代理之间的时间间隔。2.Reliability:服务可靠性是指服务正确执行的概率,即服务成功执行次数占服务执行总次数的比例。3.DomainQos:领域相关的Qos参数是指在服务所处的某个领域中一些特殊的Qos参数,这是相对ResponseTime和Reliability这些通用的,领域无关的Qos参数而言的。2.2.2信任度的建模方法信任度(Trus