组合Web服务的价值分析方法
2014-12-02王忠杰徐晓飞
王忠杰,吴 倩,徐晓飞
(哈尔滨工业大学 计算机科学与技术学院,黑龙江 哈尔滨 150001)
0 引言
互联网已成为全球化的分布式计算平台,部署于其上的Web服务越来越多,客户通过互联网获取服务来满足需求。随着客户的需求越来越个性化和大粒度化[1],对分布式小粒度服务的聚合方法成为服务计算领域的研究热点,该方法利用各种组合优化或人工智能方法将候选原子服务(atomic service)按特定逻辑聚合形成组合服务(composite service)提供给用户使用,以降低查询、发现和使用服务的代价。
形成组合服务的机制有静态机制和动态机制两种。前者根据历史记录或调查发现潜在的共性需求,提前构造组合方案,试图以相对通用的组合服务来满足未来出现的类似需求,其构造代价较低;后者在客户提出具体需求后再构造组合服务,试图实现完全的个性化,其构造代价高,但满足需求的能力更高。目前服务计算领域的学术研究侧重于后者,但前者在实践中的应用更加广泛。本文面向以下场景:通过静态机制构造的组合服务已经存在,因为不同客户的需求存在差异,所以它满足不同客户需求的能力是不同的;而且随着时间的推移,客户需求也在不断发生微小的变迁,使得组合服务无法完全满足新出现的需求,从而导致客户满意度降低并影响组合服务提供者的收益。为此,需要对组合服务进行阶段性的评价分析,找出其中无法满足当前需求的地方,进而对其进行优化改进。
对组合服务的评价标准是“客户期望是否被组合服务所满足”。客户期望可分为很多类,如功能需求、非功能需求等,通常被描述为服务级别协议(Service Level Agreement,SLA)或服务级别目标(Service Level Objective,SLO)[2-4],表述为服务质量(Quality of Service,QoS)、非功能 关注点等[3,5-10]。组合服务一旦形成,其各方面的属性就具备了明确的特征,通常用确定的值、概率分布函数、统计分布等形式表征[10-11],对组合服务的分析即转换为对客户期望的SLA/SLO 和组合服务的属性之间进行匹配,以判断期望是否满足,该过程如图1所示。
组合服务分析的代表性工作有:
(1)关键影响因子分析方法(MoDe4SLA)[2]
将组合服务各构成要素之间的依赖关系提取出来表示为组合树,针对每个SLO 分析各原子服务对它的影响程度,进而发现导致SLA 被违反的关键影响因子。
(2)基于自动机的非功能需求可满足性验证[6]
将客户期望标注到组合服务的状态转换模型上,通过二者状态转换上的匹配度判断是否得到满足。
(3)基于模型的服务组合分析[8-9]对组合服务中的各要素进行质量标注,将其转换为Markov模型,通过概率化模型检验方法进行质量预测和分析。
(4)质量差距分析方法[12]将服务管理领域的质量差距模型与服务组合结合在一起,分析客户方的期望与服务提供方的组合服务质量之间的一致性。
目前工作侧重于Web组合服务本身的功能和QoS,假设客户了解待请求组合服务的功能并能提出明确的SLA。而现实中客户在提出需求时,很少会直接针对具体的功能及其QoS指标给出期望,更愿意直接表述自身目标(即希望通过服务使自己达到什么状态),而对组合服务如何支持其实现该目标(即各原子服务功能及其QoS)并不太关心。因此,在评估组合服务的优劣时,应针对更宏观、更目标化的客户期望,而不仅只关注微观层面的小粒度服务及其QoS。
服务定义为供需双方协同生产以创造价值的过程,其中“协同生产”侧重于组合服务的功能,QoS是对协同生产的质量约束,而价值是服务各方希望从服务中获得的最终目标。客户对服务有自己的价值偏好或价值期望,服务质量和服务功能等都是价值的约束条件[13]。价值期望被满足的不同程度对应不同的客户满意度,组合服务的优劣取决于其可满足客户价值期望的程度。目前广泛采用的价值描述工具是价值链和价值网[14]、e3-Value模 型[15]、价值交付建模语言(Value Delivery Modeling Language,VDML)[16]等,面向价值的服务分析方法有价值网分析方法(Value Net Analysis,VNA)[17]、e3-Value分析方法[18]等,其目的是找到影响价值实现程度的各种因素[19]。
本文借助“价值”这个基本概念表述客户期望,进而将其与组合服务的功能和QoS属性进行匹配,从中发现组合服务不满足需求的地方。
1 组合Web服务模型及其价值
1.1 组合Web服务模型
组合服务通常表述为流程形式(典型代表为业务流程执行语言(Business Process Execution Language,BPEL)),由一组原子服务及其之间的连接关系构成。传统的组合服务侧重于对服务输入输出和执行次序的刻画。从状态转换的角度看,组合服务把客户从初始状态逐步转换到期望的目标状态,各原子服务分别负责该转换过程的某个局部。
原子服务A=(I→{F1,F2,…,Fn},PQ,RQ,Price)。其中:I为服务A执行之前客户的初始状态,{F1,F2,…,Fn}为AS执行之后n个可能的终止状态(n≥1),PQ和RQ分别表示状态转换过程和目标状态的质量参数集合及各自的取值,Price为客户向提供者支付的价格。
在上述定义中,“状态”指用1个或多个原子属性取值的约束条件表示客户所拥有的事物(物品、体验、知识、信息、位置和金钱等)在特定时刻所具备的特征。每个状态拥有一组质量属性RQ,表征客户拥有的事物所达到的程度(价格、质量、可信性等)。状态转换表征了客户所拥有的信息或事物在数量/位置/质量等各方面的变化,每个状态转换也附着一组质量参数PQ来表征状态变化过程的优劣,如时间、可靠性、准时性、安全性和付出的成本等。对于∀q∈PQ∪RQ,其取值遵循特定的概率分布,具有特定的概率密度函数f(q),表征了服务质量的不确定性。
组合服务C=(N,E),N={A}为构成组合服务的多个原子服务,它们之间通过E={e}中的每个连接关系eij=(Ai→Aj,ptij)形成串行/并行等基本结构以及嵌套的复杂组合结构。其中:eij∈E表示原子服务Ai在Aj之前执行且Ai的终止状态与Aj的初始状态等价;ptij为eij的转移概率,表示Ai结束之后切换到Aj执行的概率,组合服务中不同的结构关系导致服务之间的转移概率也不同。例如,顺序结构和并发结构的转移概率均为1,无条件分支结构中各分支的转移概率均为1/n(n为分支数),有条件分支结构中各分支的转移概率则取决于前序服务的执行结果,是动态变化的。
1.2 服务价值
客户从组合服务中获得的价值可定义为V=Benefit-Cost=SD×WTP-Cost[20]。其中:Benefit表示客户获得的收益,SD∈[0,1]表示客户对组合服务的满意度,WTP表示客户完全满意情况下(SD=1)愿意支付的价格,是客户的主观期望,Cost为客户实际支付的成本(即组合服务的价格)。SD由一组约束条件(w≥1)进行刻画:
式中:每一行的FConsi和QConsi分别表示客户对组合服务所能满足的功能和质量的约束,当FConsi和QConsi均满足时,SD=SD_Valuei。对∀i>j,SD_Valuei≤SD_Valuej;SD_Value1=1,SD_Valuew=0;对任意1<i<w,SD_Valuei∈(0,1)。
FCons刻画了客户期望的状态转换过程,包含1个初始状态I、0或多个中间状态{M}和1个理想终止状态F,可表述为FCons=I→{M}→F。|{M}|的值越大,表明客户越关心组合服务实现其价值期望的中间过程,|{M}|=0意味着客户只关心最终结果状态而不关心该结果状态是如何达到的。针对SD不同行中的FCons,客户期望的状态转换路径可以相同(但此时相应行的QCons必然有差异)、也可以不同(此时客户期望不同的中间状态或不同的终止状态),分别对应于不同的客户满意度SD_Valuei。
QCons刻画了客户期望的服务质量约束,表述为QCons=({(Si→Sj,qP,scope)}∪{(Sj,qR,scope)},∧|∨)的形式,由一组作用于QoS参数的约束条件构成。(Si→Sj,qP,scope)表示客户期望状态转换过程Si→Sj的质量参数qP应满足scope=[a,b]的约束,(Sj,qR,scope)表示客户期望组合服务在执行到状态Sj时的质量参数qR应满足scope的约束,Sj既可以是某个中间状态,也可以是终止状态。
对∀i<j,SD中相应行的FConsi∧QConsi和FConsj∧QConsj遵循以下限定:
(1)当QConsi=QConsj时,FConsi与FConsj存在两种情况:
1)FConsi与FConsj具有不同的初始状态或终止状态。
2)FConsi⊃FConsj(即Ii=Ij,Fi=Fj,{M}i⊃{M}j),即在客户期望的初始和终止状态一致的情况下,满意度较高通常会对中间状态提出更细致的要求,即FConsi比FConsj更严格。
(2)当FConsi=FConsj时,QConsi与QConsj之间需遵循以下规则:
1)若二者分别包含对多个相同质量参数的约束条件,则其中至少有一个质量参数q,它在QConsi中的约束比在QConsj中更严格,即更加难以满足。
2)若二者包含完全相同的质量参数,且除了其中唯一一个质量参数q的约束条件不同之外,其他各质量参数的约束条件完全相同,则除了满足上一条之外,还应满足q在QConsi中的约束取值范围与其在QConsj中的约束取值范围之间无交集。
这些限定表明:客户满意度越高,对服务功能或质量的期望越严格,且处于SD中不同行的FCons∧QCons互斥。
与传统的基于SLA/SLO 的客户期望表达方式相比,上述基于价值的描述方式进行了以下改进:①客户不直接对组合服务的“功能有无”提出期望,而是对期望的目标状态以及从初始状态达到目标状态的“状态迁移路径”提出约束,更符合客户使用服务时的习惯;②客户不再直接对组合服务中各原子服务的质量提出期望,而是对状态转换的过程以及状态本身所体现出的质量提出约束。因此客户可以独立于组合服务提出自己的价值期望,无需了解组合服务内部的流程细节,更符合现实中使用服务的实际情况。
1.3 价值与组合服务的关系
客户期望的服务价值由组合服务中的各原子服务实现,组合服务中包含的功能以及相应的QoS决定着价值实现的程度。对于SD中每个原子FCons=I→{M}→F所包含的状态转换序列,其中每个相邻的状态转换Si→Sj可由组合服务C中的0个、1个或多个原子服务构成的序列加以支持:
(1)不存在任何原子服务可支持价值期望中的状态转换Si→Sj。
(2)存在一个唯一的原子服务Ai支持Si→Sj。
(3)存在多个原子服务{A1,A2,…,Ak}构成的组合片段,共同支持Si→Sj。
在客户提出价值期望后,首先利用本体对价值期望中的状态与组合服务中的状态进行语义统一,进而利用基于状态匹配的价值标注方法[21]在价值期望和组合服务各要素之间建立上述三种联系,以支持后续的价值度量和分析。
以图2为例,组合服务中的A1实现了客户期望的从I到M1的状态转换,A2和A3联合起来实现了从M1到M2的状态转换,而没有原子服务支持从M2到F的状态转换。值得注意的是,因为A1之后是XOR 分支,所以pt(A1→A2)<1,价值期望中的I→M1并非100%可实现,M1→M2也取决于pt(A1→A2)的大小。
需要强调的是,价值标注要针对FCons中各相邻状态的转换分别进行。若某原子服务A所能实现的状态转换为Si→Sj,但Si和Sj在FCons中并非连续的状态转换(即客户期望经过某些中间状态实现从Si到Sj的转换),则因原子服务是黑盒结构,客户无法感知期望中间状态的实现,故当进行价值标注时A无法完全实现客户期望,不会被标注。在图2中,假如A4可支持实现M1→F,但由于M2的缺失,它对实现该价值期望是无意义的。
1.4 服务价值的度量
服务价值的度量是指:给定一个特定客户的价值期望V=SD×WTP-Cost和一个特定的组合服务C,计算C可以满足V的程度。WTP是客户的主观期望,与组合服务无关,因此对价值的度量可简化为对Cost和SD的度量。
Cost可看作客户需要付给组合服务提供者的价格,是组合服务的固有属性,本质上与客户价值期望无关。利用以下方式递归计算每个原子服务Aj在服务执行过程中可被执行的概率p(Aj):
对SD的度量又可进一步转化为组合服务C对SD中每一行FCons和QCons的可满足程度的度量。最终度量结果如式(2)所示,意味着对∀i,SD=SD_Valuei的概率为pi。
下面分别考虑各个FConsi和QConsi(1≤i≤w)被满足的概率。
(1)p(FConsi),检查组合服务是否可以支持FCons中期望的状态转换序列
步骤1 将FConsi=Ii→Mi1→…→Min→Fi中出现的每一个状态在C中标识出来,Ii标识于特定原子服务之前,各Mij和Fi标识于特定原子服务之后。若存在某个状态无法标识(即C中的任何原子服务均无法支持生成该状态),则p(FConsi)=0,否则进入步骤2。
步骤2 针对FConsi中任意两个相邻的状态,判断它们在C中所标识出的位置是否连通(即二者之间存在至少一条有向路径),若不连通,则p(FConsi)=0。否则进入下一步。
以图3为例,I和其他各状态标识点均是连通的,M1和M2/M3/M4/F也是连通的,但与M5不连通;同理,M4和M2/M3也不连通。
步骤3 根据组合服务中各条边上的转移概率pt(e),计算FConsi中各相邻状态在C中的转移概率p(Sij→Sik),并将其累计起来,得到FConsi总体的可满足性概率
仍以图3为例:设FCons1={I→M1→M2→F},则p(FCons1)=0.5×0.8=0.4;设FCons2={I→M1→M3→F},则p(FCons2)=0.5;设FCons4={I→M5→F},则p(FCons4)=0.5;设FCons5={I→M4→M5→F},则由于M4和M5的不连通而使p(FCons5)=0。
(2)p(QConsi),检查组合服务是否可满足客户价值的质量期望,以及满足程度如何
QConsi中包括对状态转换过程的质量期望(Si→Sj,qP,scope)、对状态转换结果的质量期望(Sj,qR,scope)。这里出现的各状态必然在相应的FConsi中有所刻画,因此可以利用对FConsi进行度量时的状态标识结果来度量QConsi。对QConsi进行度量的前提是相应的p(FConsi)≠0,否则p(QConsi)=0。
针对(Si→Sj,qP,scope),在组合服务流程中分别找到Si和Sj的标识位置,将二者之间的流程片段作为一个子流程,利用服务流程的QoS聚合算法将qP表示为子流程中各原子服务的相关质量参数的函数,不妨表示为,g为QoS聚合函数,m≥1。根据1.1节的假设,每个原子服务的QoS参数均可标识为一个随机变量,设…,的概率 密度函 数分别 为,首先基于函数g求得qP的概率密度函数f(qP),从而得到qP满足约束的概率一种简化的情形是:qP只与单一的原子服务及其唯一的q相关,此时对于(Sj,qR,scope),亦可用类似思路求解。
根据QConsi中多个约束条件之间的∧和∨关系,将其可满足性概率复合到一起,即得到p(QConsi)。
(3)p(FConsi)和p(QConsi)的综合
在SD的表达式中,每一行的FConsi和QConsi之间是∧关系,即二者均需满足,故pi=p(FConsi∧QConsi)=p(FConsi)×p(FConsi)。
(4)SD的期望值
利用上述方法将i=1,2,…,w各行的pi计算出来,则组合服务C满足客户价值期望V的数学期望为
2 组合Web服务的价值分析目标
对组合服务进行价值分析,包括五个方面:
(1)价值差距分析 度量组合服务C满足客户价值期望V的程度。
(2)价值责任点分析 识别组合服务中可能造成价值差距的原子服务及其QoS参数。
(3)价值关键度分析 针对组合服务中各原子服务的QoS参数,计算其所需的最小改进范围以充分实现价值期望,以此作为度量其关键程度的指标。需改进的范围越大,表明它对价值差距的责任越大,其关键度越高。
(4)价值敏感度分析 针对各原子服务的QoS参数,计算其值的微小变化对价值实现程度的影响,作为敏感度。敏感度越大,对它进行优化时价值实现度被改善的速率就越快。
各方面分析产生的结果将对后续组合服务的优化提供支持,通过对组合服务中某些原子服务进行替换、补充新的服务活动和原子服务、调整原子服务之间的次序与结构等优化操作,提升其满足客户价值期望的能力。
3 面向价值的组合服务分析方法
3.1 价值差距分析
价值差距分析主要回答“组合服务实现客户期望价值的程度”的问题,其核心在于V=SD×WTP-Cost中的SD。当SD=1时,客户期望的价值可完全实现,因此这里使用SD的实际取值与1的差距来间接度量价值差距。
根据1.4节给出的价值度量方法,通过检查组合服务流程的结构与QoS聚合计算组合服务可满足FConsi∧QConsi的概率pi,代表SD=SD_Valuei的概率。从SD的定义可以看出,若客户期望的价值完全实现,则SD=1,此时必然有p1=1,表示组合服务C可满足FCons1∧QCons1,客户价值完全实现;对于1<i≤w,pi=0。根据1.2节中关于SD各行中FCons和QCons的“严格性”与“互斥性”的限定,若将[p1,p2,…,pw]作为一个向量,则其理想取值应为[1,0,…,0]。这里使用欧式距离度量实际的[p1,p2,…,pw]与L=[1,0,…,0]之间的距离,表示组合服务C支持客户u的价值期望V被实现的程度:
该值越大,表示价值期望被实现的程度越低,GAP(C,V)=D(C,V)。
3.2 价值责任点分析
价值责任点分析回答“如果价值没有被完全实现(即GAP(C,V)≠0),则其可能由组合服务中的哪些原子服务的责任所造成”的问题。
首先对造成价值差距的原因进行分类。
(1)功能责任点 组合服务中缺乏某些原子服务功能或原子服务编排不合理而无法支持客户期望的状态转移,或者流程中某些边的转移概率较低而使期望状态转移以较低的概率被实现。
(2)质量责任点 组合服务中某些原子服务的QoS未达到条件,导致客户期望的质量约束无法满足。
这两类责任点又可分为四种子类型,如表1所示。
表1 四种价值责任点
由于价值差距主要取决于SD中FCons1∧QCons1的满足程度,以下分析分别针对FCons1和QCons1的各种变化形式展开。
若p(FCons1)=0,针对FCons1中的状态转换路径I1→M11→…→M1n→F1中的每一个状态Si,若没有被标识在组合服务中,则它是缺失的,记为一个功能责任点(Si→,MISS)。针对→FCons1中的每一个相邻的状态转换Si→Si+1,在组合服务中检查二者之间是否相连通,若不连通,则表示该状态转换无法被支持,记为一个功能责任点(Si→Si+1,MISS)。
若0<p(FCons1)<1,则针对FCons1中每一个相邻的状态转换Si→Si+1,计算其转移概率p(Si→Si+1),若p(Si→Si+1)<1,则找出C中所有与Si→Si+1相关的边,观察各自的转移概率pt(e)。若pt(e)<1,则将其记为一个功能责任点(e,pt(e))。
若p(FCons1)≠0 且p(QCons1)<1,则分析QCons1中包含的各约束条件。按照约束条件复杂程度的不同,分为以下三种情况:
情况1 若QCons1中只包含一个约束条件,且其中的质量参数只涉及C中某个原子服务Ai的某个QoS参数qij,则此时qij是造成p(QCons1)<1的唯一原因,直接记为一个质量责任点(Ai,qij)。
情况2 若QCons1中只包含一个约束条件,且其中的质量参数q涉及C中多个原子服务的QoS参数,即q是由这些原子服务的多个质量参数聚集得到,则任何一个(Ai,qij)均可能是造成p(QCons1)<1的原因,记为一个质量责任点(Ai,qij)。
情况3 若QCons1中包含多个约束条件,且它们之间通过and/or逻辑运算符相连接,则利用1.4节的方法计算每个单一约束条件被满足的概率p。若某个约束条件可满足(即p=1),则其中涉及的原子服务及其质量参数对价值差距无影响;若约束条件不满足(即p<1),但整体QCons1仍然为真,则其中涉及的质量参数对价值差距也无影响;否则,将相应约束条件中涉及的每一个原子服务Ai及相应的质量参数qij记为质量责任点(Ai,qij)。
经上述分析,可得到如表1所示的四类责任点。功能责任点相对容易消除,将来做优化时可通过补充缺失功能的方式解决,以弥补缺失的状态或状态转换不连续的情况。造成质量责任点的原因有很多,与QCons1中的每个q均可能有关系。后续做优化时,需要针对这些质量参数做出调整,它们是对组合服务优化时的待优化对象。
3.3 价值关键度分析
价值关键度分析回答“每个原子服务对价值差距的责任有多大”的问题。对于一个原子服务及其质量参数(A,q),其关键度DoC定义为:在其他原子服务不发生任何变化的情况下,q的取值需要做多大程度的调整才能使价值期望被充分满足。假设各个q的取值均符合正态分布,q~N(μ,σ2),则对q的调整可分为对u值的调整和对σ值的调整,分别表示为Δμ和Δσ,从而有
以μ为例,若Δμ≠0,则表示当前q的取值无法实现价值期望,q要被改进的最小程度即为(相对于当前取值的百分比)越大,(A,q,μ)对价值差距的责任就越大,q对价值优化的关键程度就越高,它本质上度量了后续优化阶段需要对(A,q,μ)进行调整的范围和方向。
对关键度进行度量是针对SD中第一行的QCons1进行,仍然分为三种情况:
情况1QCons1中只包含一个约束条件,且其中的质量参数只涉及C中的某个原子服务A的某个QoS参数q,它在QCons1约束下的取值范围为[a,b](即客户期望),q在现实中的可取值范围为[q_min,q_max](表示当前所有可用候选服务在q上可能达到的最大变化范围),且[a,b]⊂[q_min,q_max]。设q~N(μ,σ2),则q最大程度满足QCons1的约束,即q在QCons1约束下的累积概率趋近于1。
步骤1 将q~N(μ,σ2)代入dq,在保持σ不变的情况下求解使该式取最大值的μ′。μ′有多种 可能的取值{μ′1,μ′2,…},分为下面四种情况:
(1)若q_min<max{μ′1,μ′2,…}<μ,则μ′=max{μ′1,μ′2,…},表示需对μ的当前值向负方向调整,但仍处于现实可允许的范围之内。
(2)若μ<min{μ′1,μ′2,…}<q_max,则μ′=min{μ′1,μ′2,…},表示需对μ的当前值向正方向调整,但仍处于现实可允许的范围之内。
(3)若min{μ′1,μ′2,…}>q_max,则表示{μ′1,μ′2,…}中的任何值均无法达到,最大只能取到现实可允许范围的上限,故μ′=q_max。
(4)若max{μ′1,μ′2,…}<q_min,则表示{μ′1,μ′2,…}中的任何值均无法达到,最小只能取到现实可允许范围的下限,故μ′=q_min。
在上述各种情况下,均有Δμ=μ′-μ。
步骤2 将q~N(μ,σ2)代入中,在保持μ不变的情况下求解使该式取最大值的σ′的最小值。若σ′>σ,则令σ′=σ。Δσ=σ′-σ。
上述分析过程以q满足正态分布为例,若符合其他概率分布形式,则可用类似方式分析得到其概率密度函数中包含的相应参数的变化情况,这里不再赘述。
情况2QCons1中只包含一个约束条件,且其中的质量参数q涉及C中多个原子服务的QoS参数,即q由这些原子服务的多个质量参数聚集得到。针对每个(Ai,qi),固定约束条件中涉及的其他所有质量参数的概率分布,即可将情况2转化为情况1中qi∈[a,b]的形式。
情况3QCons1中包含多个约束条件,且它们之间通过and/or逻辑运算符相连接,针对其中涉及的每个(Ai,qi),固定约束条件中涉及的其他所有质量参数的概率分布,并根据各约束条件的满足程度将QCons1简化为只包含qi的形式,此时每个约束条件即可转换为qi∈[a,b]的形式。
3.4 价值敏感度分析
价值敏感度分析主要回答“原子服务QoS的微小变化会对价值实现程度产生多大影响”的问题。这里提出敏感度DoS作为度量指标,针对组合服务中的每个要素,其敏感度可以是正的(对整体价值的提升),也可以是负的(对整体价值的恶化),敏感度绝对值表征了价值变化的速率。优化时,通过调整敏感度较高的原子服务可以更快地改善价值。
在对各(A,q)敏感度进行度量时,需要针对SD所有行的质量约束条件(QCons1,QCons2,…,QConsw)进行。
针对(A,q),若q不包含在SD的任何约束条件中,则DoS(A,q)=0;否则,将SD中涉及的其他各质量参数的概率分布代入各行的QCons中,即可将SD简化为只包含q的简单约束条件。针对简化后的SD,将q的概率密度函数(将μ和σ均看作变量)代入,计算出每一行中QConsi被满足的概率pi,即pi=p(QConsi)从而E(SD)=。分别对E(SD)的μ和σ求导,再将μ和σ的当前取值代入,得到F对μ和σ的敏感度DoS(A,q,μ)和DoS(A,q,σ)。
下面给 出一个例子。SD=假设SD中各行的FCons均可满足,p(FConsi)=1,因此其中只包含QCons约束),q1~N(2,0.52),则分别对μ和σ求偏导并将μ=2,σ=0.5代入,可得μ在该点的敏感度0.108,同理可得σ在该点的敏感度DoS(A,q,σ)=,从而DoS(A,q)=(0.108,0.216),这表明SD对q1的σ更敏感,优化时对σ进行改进会更快地提升SD。
4 案例分析
本章给出一个海运物流服务中的组合服务和两个客户对其提出的价值期望,利用前述给出的分析方法分析其分别满足两个客户价值期望的程度,以及相应的责任点、关键度、敏感度、价值分布性等,以验证方法的有效性。
该组合服务流程如图4a所示,客户(货主)请求订舱服务(A1),在取得舱位使用权之后并行进行集装箱的陆运服务(A2)和货物的报关服务(A3,若报关失败则整个组合服务停止执行),之后请求货物装船服务(A4),并根据实际情况产生三种不同概率的选择:海运服务(A6)、将货物通过其他港口进行转运(A5)、由于舱位临时不可用而放弃运输(A7)。前两种情况属于正常结束,后一种情况属于异常结束。表2给出了组合服务中的7个原子服务及其状态转换信息和QoS信息,并根据1.3节的方法进行价值标注,得到的结果如图4b所示。
表2 原子服务清单及其状态转换/QoS信息
表3所示为两个客户(U1,U2)对上述组合服务提出的价值期望。以U1为例,当组合服务可以在18h内将货物运抵对方港(I1→F5),并且运输可靠性大于0.92时,客户完全满意,SD=1;当组合服务通过转运的方式(I1→F41)将货物运抵对方港(F41→F5),且总时间在18h和25h以内时,客户满意度为0.6;当组合服务完成到货物在船上(I1→F41),且时间在8h~10h内时,客户满意度为0.2;当组合服务最终抵达“报关失败、服务失败”或“货物在码头、服务失败”状态,且付出的成本超过760或付出的时间大于9h时,客户完全不满意,SD=0。
表3 两个客户对组合服务的不同价值期望
利用第3章给出的分析方法,得到如表4所示的价值差距和责任点。由于GAP1(C,V)<GAP2(C,V),相对于U2,该组合服务更可以满足U1的价值期望。两个客户的功能责任点不完全相同,(F1→F31,0.92),(I4→F41,0.95)均影响了二者FCons1的可满足性,(I4→F42,0.04)仅影响U1的FCons1。类似地,二者的质量责任点也有较大差异。
表5所示为给出了对U1,U2的价值期望进行关键度和敏感度分析的结果。由数据可见,不同原子服务的不同质量参数对两个客户期望价值的关键度与敏感度存在差异。以U1为例,原子服务A1,A2,A3,A5的质量指标T在μ和σ上的关键度均为-100%,这意味着为尽可能达到U1的价值期望,它们的执行时间必须要减少至0且方差为0,这在现实中不可能达到,该值表征了质量指标当前取值与“应达到的值”之间的差异程度。A6的指标T在μ上的关键度为-81.68%、指标R在μ和σ上的关键度为(1.824%,-35%),均是在现实可接受层面的变化幅度和方向。ΔEC(SD)给出了当μ和σ分别按关键度大小进行变化后所导致SD期望值的变化。从敏感度的角度看,原子服务A5的质量指标T的敏感度较小,为((0.002 9,0.0000),而A6的质量指标R的敏感度很大,为(2.328 3,-5.068 5),因此关键度和敏感度并无直接对应关系,在优化时需要将二者结合起来选择恰当的优化次序与优化幅度。ΔES(SD)表示当μ和σ分别改变单位大小后SD期望值的变化,观察不同原子服务的同类型质量参数可见,ΔES(SD)与敏感度的大小呈正相关性,由此可以体现敏感度的含义(对SD的改善速度)。
横向对比U1和U2可发现,满足二者价值期望的关键/敏感原子服务及其质量参数不同,从而给后续的优化带来一个挑战:当对某个原子服务进行替换时,有可能使不同顾客的价值期望满足程度以不同的速率向不同的方向变化。
表4 价值差距和责任点分析结果
表5 关键度和敏感度分析结果
续表5
5 结束语
由于组合服务的在线实时构造具有较高的代价,现实应用中大都采用离线静态构造组合方案的方式,当客户需求到达时直接为其服务,这样可能出现客户需求无法完全满足的状况;另一方面,客户对组合服务的内部细节(原子服务及其QoS)通常难以充分了解,更倾向于以基于状态转换的视角提出个性化期望。基于上述两点,本文使用价值作为表达客户宏观期望的手段,将功能/QoS 作为服务价值的约束条件,再利用价值来度量组合服务对客户期望的满足程度,进一步找出组合服务中不满足期望的责任点和相应的关键度、敏感度等,为后续对组合服务的优化改进打下基础。
后续工作包括:①由于静态构造的组合服务是面向多客户需求的,对其分析应同时考虑大规模群体客户,评价其可满足多个客户不同价值期望的能力,找到公共的责任点、关键度和敏感度等;②基于分析结果,研究面向价值的组合服务优化方法,在已有的原子服务库的约束下,以最小的替换代价和更改范围消除价值差距,并利用关键度和敏感度提高收敛速度。
[1]LI Y,HUAI J P,SUN H L,et al.Pass:An approach to personalized automated service composition[C]//Proceedings of IEEE SCC.Washington,D.C.,USA:IEEE,2008:283-290.
[2]BODENSTAFF L,WOMBACHER A,REICHERT M,et al.Analyzing impact factors on composite services[C]//Proceed-ings of IEEE SCC.Washington,D.C.,USA:IEEE,2009:218-226.
[3]SCHMELING B,CHARFI A,THOME R,et al.Composing non-functional concerns in web services[C]//Proceedings of IEEE ECOWS.Washington,D.C.,USA:IEEE,2011:73-80.
[4]UNGER T,MIETZNER R,LEYMANN F.Customer-defined service level agreements for composite applications[J].Enterprise Information Systems,2009,3(3):369-391.
[5]JEONG B,CHO H,LEE C.On the functional quality of service(FQoS)to discover and compose interoperable Web services[J].Expert Systems with Applications,2009,36(3):5411-5418.
[6]SUN H,BASU S,HONAVAR V,et al.Automata-based verification of security requirements of composite Web services[C]//Proceedings of IEEE ISSRE.Washington,D.C.,USA:IEEE,2010:348-357.
[7]SCHMELING B,CHARFI A,MEZINI M.Non-functional concerns in Web services:requirements and state of the art analysis[C]//Proceedings of ACM iiWAS.New York,N.Y.,USA:ACM,2010:67-74.
[8]ARDAGNA D,GHEZZI C,MIRANDOLA R.Model driven QoS analyses of composed Web services[J].Lecture Notes in Computer Science,2008,5377:299-311.
[9]GALLOTTI S,GHEZZI C,MIRANDOLA R,et al.Quality prediction of service compositions through probabilistic model checking[J].Lecture Notes in Computer Science,2008,5281:119-134.
[10]HOLANDA H,BARROSO G,SERRA A.SPEWS:a framework for the performance analysis of Web services orchestrated with BPEL4WS [C]// Proceedings of ICIW.Washington,D.C.,USA:IEEE,2009:363-369.
[11]ZHENG H,YANG J,ZHAO W.Probability distribution-based QoS analysis for Web service composition[J].Lecture Notes in Computer Science,2010,6724:98-111.
[12]MAY N,SCHOLTEN U,FISCHER R.Towards an automated gap analysis for e-service portfolios[C]//Proceedings of IEEE SCC.Washington,D.C.,USA:IEEE,2011:274-281.
[13]D′MELLO D,ANANTHANARAYANA V.Service offer driven dynamic selection mechanism for business Web services[J].International Journal of Web Science,2011,1(1/2):114-141.
[14]PEPPARD J,RYLANDER A.From value chain to value network:insights for mobile operators[J].European Management Journal,2006,24(2):128-141.
[15]GORDIJN J,YU E,RAADT B.E-Service design using i*and e3-value modeling[J].IEEE Software,2006,23(3):26-33.
[16]OMG.Value delivery modeling language(VDML)[EB/OL].[2013-03-13].http://www.omg.org/spec/VDML/1.0/Betal/.
[17]ALLEE V.Value network analysis and value conversion of tangible and intangible assets [J].Journal of Intellectual Capital,2008,9(1):5-24.
[18]GORDIJN J,AKKERMANS H.Designing and evaluating ebusiness models[J].IEEE Intelligent Systems,2001,16(4):11-17.
[19]AGARWAL R,SELEN W.Dynamic capability building in service value networks for achieving service innovation[J].Decision Sciences,2009,40(3):431-475.
[20]WANG Z,WU Q,XU X.Value-added analysis on bi-lateral e-business services[C]//Proceedings of IEEE International Conference on E-Business Engineering.Washington,D.C.,USA:IEEE,2012:185-192.
[21]MA Chao,XU Xiaofei,WANG Zhongjie.Semi-automatic service value annotation method supporting service model analysis[J].Computer Integrated Manufacturing Systems,2011,17(10):2286-2297(in Chinese).[马 超,徐晓飞,王忠杰.支持模型分析的服务价值半自动标注方法[J].计算机集成制造系统,2011,17(10):2286-2297.]