袁 翔,孙其博,周 傲,李静林
(北京邮电大学 网络与交换技术国家重点实验室,北京 100876)
随着互联网技术的发展以及Web服务标准和技术的成熟,构建Web服务变得越来越容易,出现了越来越多提供相同或者相似功能的服务。所以在选择使用一个服务之前,需要对其综合服务能力进行评价。在实现相同或者相似功能的服务中,选择评价高的服务。一个服务的优劣可以通过信誉度来评价,Gambetta、Abdul-Rahman以及Halie给予信誉的定义为:信誉是个体对服务方一定程度的期望,表现为服务的一种主观能动性,而对信誉的定义是考察服务方的历史行为并分析使用者对其评价的信息[1-5]。利用相关的计算模型最终得出服务者将来要使用服务的期望。当前的信誉计算可以利用服务消费者评价信息、服务提供者的公告信息,以及使用相同服务的消费者的推荐信息等。而具体模型又可以在不同程度上综合利用以上信息,不同模型在不同的场景下有着不同的优势和特点。具体选用哪一种模型不仅需要考虑到算法评价的准确客观性,也需要考虑实际的使用场景。目前,学者们对于Web信誉评估提出了多种评估模型,其建模原理反应了人们对信誉的认知,主要包括基于反馈信息的评估模型[6-8]、基于QoS的信誉评估模型[9]、基于社会网络中心性测度的模型[10]等。模型的发展有效地推动Web信誉评估的发展,极大地丰富了人们对信誉关系的理解。本文对当前Web服务信誉评估模型进行了分析和研究,为各个模型进行了对比,并且展望了新的研究契机。
1.1 基于交易反馈的网络服务
局部信誉是利用本地信息计算得出的信誉,只能代表单个用户对此服务的观点。这种信誉不够公正客观,为了解决这个问题,模型引入了服务的全局信誉计算。全局信誉计算也叫做信誉的合成,主要目的是把各个用户单独的信誉合理地结合起来,从而在全网中给予服务一个客观公正的评价。在该模型中认为计算全局信誉的重点在于找出每个服务使用者对于其使用者评价的可靠性C(i,j)。模型通过利用评价中心值以及偏差的概念来进行可靠性的C(i,j)的计算。最终结合各个用户的可靠性以及局部信誉,最终得出服务的Sj的全局信誉为:
(1)
该模型通过分析用户的历史行为数据,通过简单的算法计算局部信誉,这种局部信誉计算方法避免了复杂的运算并减少了数据通信量。而整个系统对于服务Sj的全局信誉,文中通过自定义的汇集函数来综合各局部信誉的值,从而得出最终对服务Sj的评价。综合来看,该模型信任来源仅仅为服务消费者的历史行为数据。
1.2 基于small-world networks模型的网络服务
在small-world network中,服务提供者被不同的社会因素分为几个类,与此同时服务消费者也根据不同的社会因素而分类。因此基于社会观点来看,当选择一个服务时,有两个方面的因素需要考虑,第一个就是服务消费者所在的small-world network里的SR的信誉,另一个就是来自与服务提供者的信誉。在此模型假设在同一个small-world里的每一个实体都存在信任关系,并且每个成员的评价都是主观可信的,于是定义一个评价C(r,w)={b,d,u}。其中b、d、u代表访问的平均满意程度。当一个服务请求者r∈SR请求一个t∈WT种类的服务时,模型首先会在SB中寻找信誉最高的用户b∈SB,然后通过b来进行检索并且返回一个满足w.t=t的服务w∈WS。因此,基于p=wp关于服务w的全局信誉评价可用如下公式计算:
C(r,b,p,w)=C(r,p,w)⊕C(r,b,w)⊕C(b,p,w),
(2)
式中,⊕代表信任合成运算,在得到全局信誉之后,模型会将此信誉值与临界值θ来比较。如果C(r,b,p,w)>θ则说明服务w满足用户r的要求,用户将会选择此服务,否则用户将会重新计算其他服务的信誉值并且做出选择。
2.1 基于质量平均算法的网络服务
(3)
当属性为正相关时:
(4)
当属性为负相关时:
(5)
模型从相似度之中可以得出信誉的好坏,通过相似度和信誉的映射,可以得出信誉值。用户在选择服务的时候就要选择相似度高的服务。该模型计算较为简单可行,通过计算服务质量的相似度得到信誉,结果较为主观。
2.2 基于质量相似度的网络服务
付晓东等人在现有面向服务的架构(Service-Oriented Architecture,SOA)的指导框架上加入了一个信誉评价中心的角色[13],通过信誉评价中心来计算服务的信誉度[6],而实际采用的算法则是通过比较QoS指标的底层实际值和服务提供者的公告值的相似度。本文为了使信誉度量模型中各个角色对信誉的度量有着一致性理解,提出了上下两层的QoS模型,其中上层模型用于描述与质量有关的各个QoS的概念,下层模型用来描述具体QoS的指标体系。对于模型中一个实际的QoS节点,由于其评价指标不同,因此分为效益型节点和成本型节点,效益型节点的指数越大越好,而成本型节点的指数当然越小越好。如一个QoS有若干指标Item,例如性能(Item)包括错误率、响应时间、吞吐量等指标,实际值为Value,公告值为Adv。
则效益型节点的相似度计算如下:
(6)
成本型节点的相似度计算如下:
(7)
(8)
模型还考虑了信誉度的波动情况,按照大众的观点,在服务信誉相同的情况下,评价较为稳定的服务较为可信。于是模型引入了波动因子γ,通过计算服务相似度的标准差s来修正模型,并且由波动因子来确定标准差的调节力度。由此得到最终信誉计算模型为:
(9)
该方法提出了一个计算质量相似度的信誉计算模型。可以计算任意服务质量指标的信誉度,并且考虑了信誉波动的情况,因此该算法有着较好的鲁棒性。
3.1 分布式网络服务
刘彬等人提出了一种分布式信誉计算评估模型[14]。在传统信誉评估中,一般在服务注册机构上加一个信誉管理机构,这样就可以集中式地对信誉进行管理。这种全局方法优点是简单、易于计算。但由于信任集中管理,如果信誉中心被攻击,就容易出现较大的问题[7]。基于此刘彬等人引入了一种分布式的信任评估管理模型,该模型信任来源为服务使用者的历史交互信息、服务提供商的注册信息。通过计算服务的初始信誉值、来自服务直接使用者的直接信誉和其他使用相同服务使用者的间接信誉,然后合成为最终信誉值。假设带评估的网络服务有m个,每个网络服务有n个QoS属性。则QoS属性可以表示为{qi1,qi2,qi3,….qin},i∈{1,2,3,4…n}。由于QoS属性有正属性和负属性,所以需要进行相应的变换。正属性用式(10)变换,负属性用式(11)进行变换。
(10)
(11)
由于各个用户对于服务的不同QoS属性的偏好程度不同,该模型引入了服务偏好程度wj。由此服务的初始信誉值可得:
(12)
而对于来自经验的信誉模型分为两种情况进行了讨论,分别是来自服务直接使用者的直接经验得到的直接信誉Td(i),以及其他推荐者的间接经验得到的间接信誉Tr(i)。虽然直接信誉和间接信誉的获取方法不同,但其均来自于使用者每次使用完服务后对服务QoS的评价。在得到直接信誉、间接信誉以及初始信誉的条件下,最终信誉合成为:
T(i)=σε-n/NTp(i)+(1-e-n/N)Te(i)。
(13)
该模型提出了分布式的信誉计算方法,不同于传统信誉中心管理信誉的方法,分布式方法对规模比较大的服务集群时有着较大的优势。并且由于不依赖于信誉中心,所以不存在信誉中心欺诈以及信誉中心被攻击而使全局服务评价崩溃的情况。
3.2 基于贝叶斯网络的网络服务
Hien Trang Nguyen等人提出了一种基于贝叶斯网络的信誉评估模型[15]。该模型通过把用于数据分析领域的贝叶斯网络用于服务信誉的计算,模型对每一个服务按照服务质量指标分解成贝叶斯网络。通过分析用户主观评价得到先验条件,再根据先验条件和贝叶斯公式计算出信誉。该模型中信誉来自于三部分,分别是直接信誉、推荐信誉和一致性信誉。在直接信誉计算中,模型通过把服务按照服务质量指标进行分解,并在此引入了贝叶斯网络。
在贝叶斯网络信任模型中,根节点S是对网络服务满意度评价。S的值可以为1(满意)或者为0(不满意)。每个分解节点Lqj,其代表质量指标j的水平,并且Lqj∈{1,2,3,4,5}[8]。每个服务分解成的贝叶斯网络。当计算一个用户x对服务i的信誉度时,可以使用贝叶斯方法得到直接信誉计算公式:
Tdx(i,Lqj≥a)=Px,i(S=1|Rqj>a)×Px,i(Rqj≥a)=
Px,i(Rqj≥a|S=1)×Px,i(S=1)。
(14)
对网络服务的每一个质量指标,用户都会为其指定一个兴趣度Wqj,表示用户对该质量指标的感兴趣程度。Wqj∈{0,1,2}分别代表不感兴趣、感兴趣、非常感兴趣。要想计算可信度,必须先知道条件S的取值。在此模型引入用户x对服务的评分R(x,i,u):
(15)
式中,TF(x,i,u)∈[0-1]为交易时上下文因素。通过最终计算出的R(x,i,u)值和预先的临界值相比较,就可以给出S值并计算主观的直接信誉。对于客观评价,模型通过计算推荐信誉来获得,推荐信誉的计算方法为:
(16)
式中,Tdy是所有和x使用过相同服务的其他用户的信誉度(不包括x用户自身)。Crx(y)是x对y的信任程度。因为其他用户可能进行恶意推荐,所以模型对每个推荐用户都给与一个信任度的评价因子,通过此参数来削弱恶意推荐的影响力,并且强化优质推荐用户的作用。以上直接信誉和推荐信誉都是基于用户评价。为了使得模型更加客观公正,在此引入了QoS一致性判断,其通过比较实际QoS值和公告的QoS值的一致性来计算出一致性信誉Tcx,由此该模型计算出3种信誉值。通过对3种信誉可以合成最终用户x对服务i的信誉值:Tx(i)=Trx(i)×wd+Trx(i)×wr+Tcx(i)×wc。其中,wd、wr、wc分别为3种信誉的权重值,且wd+wr+wc=1。
该模型通过3种来源的信息计算信誉值,较为全面地考虑了信誉度的各类情况,可以联合考虑在多重指标的信誉度。信誉计算结果也比较客观公正,但是通过贝叶斯网络的方法计算有着较大的复杂性。表1为各模型对比。
表1 各模型对比
评估模型模型信誉来源信誉基础模型优点缺点计算复杂性基于交易反馈的网络服务信誉评估模型服务消费者的服务评价反馈数据基于反馈信息的信誉模型模型划分了局部信誉和全局信誉,服务局部信誉计算简单明了,服务全局信誉合成较为合理信誉来源较为单一,因此最终信誉度计算结果较为片面非常简单一种分布式的网络服务信誉评估模型服务提供者以及服务消费者的QoS评价基本的Web服务系统结构解决了Web服务初始化信誉计算问题,由于模型中没有引入信誉中心,不会出现信誉中心被攻击影响其他服务选择的问题信誉的计算全部来自于经验信息,结果较为主观简单基于质量相似度的网络服务信誉计算模型服务提供者QoS公告值和具体服务QoS的实际值加入信誉评价中心的改进的SOA模型采用上下两层的服务本体建模、结构清晰。当QoS反复波动时,模型有着较好的适应性只能计算单个QoS质量指标的信誉度,合成信誉度没给出,没有考虑服务评价者恶意评价情况较为简单基于质量平均算法的网络服务信誉评估模型服务提供者QoS公告值和具体服务QoS的实际值改进的SOA模型模型信誉计算部分较为简单直观基于历史评价信息和现有评价信息,模型中所需的计算信息采集较为复杂一般基于small⁃worldnetworks模型的网络服务信誉评估模型服务消费者的QoS评价信息以及服务提供者的交易历史记录基于small⁃world理论改进的SOA模型采用社会的观点分析信誉度并计算,较为符合实际情况信誉计算过程复杂,且不能同时考虑多个QoS指标联合计算信誉度较为复杂基于贝叶斯网络的网络服务信誉评价模型服务消费者的评价、邻居节点的评价信息以及信誉中心的QoS公告值基于贝叶斯网络的Web服务分解模型采用概率的方法计算,信誉来源多,综合了主观信息及客观信息。可以联合多个QoS指标计算信誉度计算较为复杂,且概率本身计算有着较大的主观性。并且在计算邻居用户信誉度时没有考虑到上下文环境信息复杂
通过对Web信誉模型的研究,明确了信誉来源对于一个Web服务信誉评估模型的重要性,设计优良的信誉模型采用的信誉证据应该既要包含主观信息,也要包括客观因素。与此同时,对信誉的描述需要反映信誉动态性以及模糊性的特点,典型的就是以社会学观点以及贝叶斯的概率论观点来建模。通过对信誉模型各个建模因素的分析,为后续对Web信誉模型的研究提供了参考。
[1] 陈卫东,李敏强,赵庆展.基于P2P环境下的Web服务选择信任模型研究[J].计算机科学,2015,42(1):113-118.
[2] Maximilien E M.Conceptual Model of Web Service Reputation[J].Acm Sigmod Record,2002,31(4):36-41.
[3] Wang S G,Sun Q B,Yang F C.Reputation Evaluation Approach in Web Service Selection[J].Journal of Software,2012,23(6):1350-1367.
[4] 孙素云.Web服务信誉度评估模型的研究[J].计算机工程与设计,2008,29(9):2259-2261.
[5] Wang S,Zheng Z,Wu Z,et al.Reputation Measurement and Malicious Feedback Rating Prevention in Web Service Recommendation Systems[J].IEEE Transactions on Services Computing,2015,8(5):755-767.
[6] Wang S,Sun Q,Zou H,et al.Reputation Measure Approach of Web Service for Service Selection[J].Iet Software,2011,5(5):466-473.
[7] Alsharawneh J,Williams M A,Goldbaum D.Web Service Reputation Prediction Based on Customer Feedback Forecasting Model[C]∥ Enterprise Distributed Object Computing Conference Workshops.IEEE,2010:33-40.
[8] 尚广,孙其博,杨放春.Web服务选择中信誉度评估方法[J].软件学报,2012,23(6):1350-1367.
[9] 吕福军.一种基于QoS与用户推荐的Web服务信誉度评价模型[D].秦皇岛:燕山大学,2010.
[10] Bansal S K,Bansal A.Reputation-Based Web Service Selection for Composition[C]∥ Services.IEEE,2011:95-96.
[11] Liu F,Wang L,Gao L,et al.A Web ServiceTrust Evaluation Model Based on Small-world Networks[J].Knowledge-Based Systems,2014,57(2):161-167.
[12] Zhang H,Shao Z,Zheng H,et al.Web Service Reputation Evaluation Based on QoS Measurement[J].The Scientific
World Journal,2014(1):145-156.
[13] 付晓东,邹平,姜瑛.基于质量相似度的Web服务信誉度量[J].计算机集成制造系统,2008,14(3):619-624.
[14] 刘彬,张仁津.用于Web服务的分布式信任和声誉模型[C]∥ 2011全国开放式分布与并行计算学术年会,2011.
[15] Nguyen H T,Zhao W,Yang J.A Trust and Reputation Model Based on Bayesian Network for Web Services[C]∥ IEEE International Conference on Web Services.IEEE,2010:251-258.