谢春丽 李必信 王喜凤,3 廖力
(1东南大学计算机科学与工程学院,南京 211189)(2徐州师范大学计算机科学与技术学院,徐州 221116)(3安徽工业大学计算机学院,马鞍山 243002)
目前已有的可靠性模型主要分为2类:① 传统的基于体系结构的可靠性方法[3-8];② 基于数据分析的可靠性方法[9].基于体系结构的可靠性评估用控制流图或Petri网来表示服务之间的结构关系,通常有以下假设:①组成服务的各服务组件的可靠性是已知和不变的;②服务之间的结构关系是静态的;③ 相互之间的连接是完全可靠的.这些假设条件对于Web服务来说是不适用的,Web服务的失效不仅与服务自身的内部设计有关,而且和服务执行时的环境也有关.Web服务不像传统的软件都是在本地执行,服务可能位于不同的地理位置和由不同的提供者提供,服务之间通过网络互相通信,互相传递信息,因此仅考虑服务执行过程中可能出现的功能性失效对Web服务来说是不适合的.实际上,服务发布、服务发现、服务组合、服务绑定和服务执行的每一个过程都会出现不同类型的失效,这些失效对服务可靠性有着很大的影响[10-11].为了更好地预测和分析服务的可靠性,本文在分析服务各阶段失效模型的基础上提出了Web服务可靠性的阶段模型,将Web服务的可靠性分解到服务执行的不同阶段.
Web服务要经过服务发布、服务发现、服务组合、服务绑定、服务执行5个步骤,而其中的每一步都有可能出现错误,从而引起服务失效,各种失效总结见表1[11].不同阶段出现的失效具有一定的关联性,例如服务发布时服务描述不匹配的错误会导致不正确的服务发现,同时也会引起不正确的服务绑定,最终导致服务执行结果不正确.本文在构建Web服务失效模型时,将具有关联性的错误归为一类,按照引起原因重新分类,在其他错误出现的阶段不再重复计算.表2中归纳了服务的各种失效和由此引发的服务失效.
服务发布时主要考虑由于服务描述格式错误或内容不一致错误,这些错误将导致发现阶段、绑定阶段、组合阶段和执行阶段找不到合适的服务或者服务匹配错误.Web服务描述语言WSDL定义了服务接口的描述和接口绑定的描述,服务的接口描述定义了服务的一系列操作的名称及其输入、输出参数和出错返回信息.服务描述错误可以通过某些验证技术发现,例如XML验证器可以发现服务描述的某些格式错误.
表1 Web服务错误分类
表2 Web服务失效归类
本文给出一种简单的近似的服务描述失效的模型,服务描述是否出现错误以及出现错误的可能性大小和服务提供者有着密切的关系.声誉好的服务提供者提供的服务可信度会比较高,出现错误的概率也相对较小,因此服务发布的可靠度可以用服务提供者的声誉来度量.假设在给定的时间区间[0,t]内,某服务提供者共注册N个服务,其中缺乏服务描述以及描述不匹配的服务个数为n,则该服务发布可靠度(Rpub)可以用下式预测:
当没有一个单一的服务可以满足用户所需的功能时,要求通过整合现有的服务迅速完成用户的请求,因此Web服务的动态发现是实现Web服务组合的关键步骤.在服务组合过程中,首先要发现用于组合的服务,然后才能按照服务组合规则进行组合,服务发现也是目前研究的一个热点[12-13].当服务消费者请求服务时,UDDI中心根据服务提供的查找条件在服务列表中查找适合的服务,由于服务描述的原因可能查找到的是一个错误的服务,该类型的错误引起的失效归纳到服务描述阶段讨论,本节只讨论由于服务请求超时引起的失效.目前UDDI注册中心多数采用集中式服务注册管理,每个UDDI中心入口站点要处理大量的服务查找请求.此时,UDDI中心对于服务请求的处理采用先到先服务的等待机制,当有请求到达时,UDDI中心如果正处于忙碌状态,则请求进入队列等待,直到队列中前面的请求全都处理之后;如果请求等待的时间超过一定值,则发生超时失效,此时不再处理请求.对某一个UDDI注册中心来说,假设服务请求到达服从参数为λ的指数分布,UDDI中心处理每个查找请求的时间服从参数为μ的指数分布,则UDDI中心处理请求的过程可以用M/M/1随机排队系统描述.
设随机过程{N(t),t≥0}为服务请求到达的过程,参数为λ,每个请求的处理时间服从参数为μ的指数分布,图1为该过程的状态转移图.当ρ=λ/μ<1时,Markov过程平稳分布存在,且
设请求需要等待的时间为tw,tout表示设定的请求超时阈值.请求等待时间超过tout的概率为pdis,而服务的发现可靠度Rdis=1-pdis.根据随机过程理论有
近年来,水资源的不断开发对城市可持续发展的实现造成了阻碍,同时对市民生活质量也有一定的影响作用,为对此问题进行解决,城市再生水综合利用策略已经投入应用。当前,在再生水综合系统应用中,值得关注的问题是再生水面临着生态风险。从研究资料中可以看出,氯消毒或臭氧氧化工艺环节处理后,再生水毒性会有所提升。在未来工作中需要更为全面地探究再生水中的有害物质毒理与计量反应关系,以便于更为可靠的对再生水综合利用生态风险进行评估。
因此不发生超时错误的概率为
图1 服务发现的状态转移图
Web服务支持静态绑定和运行时绑定2种模式,可以在运行前将抽象服务绑定到某一个具体的服务,也可以在服务运行时动态查询所需的服务并绑定到某一个具体的服务,或者在服务运行中由于服务不满足用户对服务质量的要求,将抽象服务重新绑定到其他功能相等的服务.假设由于安全协议等问题协商引起的失效概率为Psec;由于服务描述错误或者服务的QoS不满足用户要求等问题引起的绑定失效,可以通过重绑定对失效进行恢复.当发生该类型的绑定失效时,根据返回的服务列表,绑定到下一个合适的服务,假设返回的满足查询要求的服务列表个数为N,第i个服务可能发生绑定失效的概率记为Pi,bind,则绑定可靠度为
服务的执行可能是本地的也可能是远程的,服务消费者将要处理的信息发送给远程服务,远程服务进行处理,然后将处理结果反馈给服务消费者.调用的各个服务之间通过网络进行信息传递,在信息传递的过程中,可能由于网络拥塞或者网速较慢引起服务之间信息传递失败或者出现错误等问题,因此网络连接错误是影响服务执行的一种重要因素.网络的失效受到网络拓扑、网络带宽、两结点间传送的信息量等因素的影响,网络连接的失效并不能用一个常量简单地来描述,假设网络连接失效服从 Poisson过程[14],如图 2 所示.结点 i,j表示网络中相互连接的结点,网络的连接用L(i,j)表示,D(i,j)表示两结点间要传输的信息量,S(i,j)是两结点间的带宽,则结点i和j之间传输信息所用的时间 T(i,j)=D(i,j)/S(i,j).由此,网络连接L(i,j)的可靠度 RL(i,j)为
式中,λi,j为结点 i和 j间的失效率.
图2 网络连接图
服务提供者提供的服务可靠度Rws具有主观性和片面性,因此本文对Rws进行更新,提供在当前环境下的服务可靠度,原子服务更新后的可靠度表示为
服务在组合时,服务之间存在4种典型的组合结构,如图3所示,分别为顺序结构、并行结构、选择结构和循环结构,组合服务中服务组件的更新可靠度用(i)表示(i)=Ri,pubRi,disRi,bindRws(i) .
1)顺序结构
2)并行结构
3)选择结构
图3 组合服务的控制结构图
4)循环结构
以一个机票服务(S)作为实例来解释本文所提出的分阶段可靠性模型,如图4所示.首先向UDDI中心查询需要的服务,假设有3个航空公司都可以提供预订机票的服务(S1),分别表示为A1,A2,A3,同时有3 种付款服务(S2),分别表示为 P1,P2,P3.假设该UDDI中心每秒接收到的服务查询请求和处理请求的时间分别是参数为10.1和10.2的负指数分布,实验中设定请求超时阈值为30 s,超过该阈值,请求超时,认为请求的服务不存在,所有服务都是由其他服务提供者提供的远程服务.案例的一些参数如下:① 原子服务的可靠度,RA1=0.9,RA2=0.9,RA3=0.85,RP1=0.9,RP2=0.95,RP3=0.9.② 网络传输参数 λ(A1,P2)=1×10-3,T(A1,P2)=10 s.
图4 机票服务系统
UDDI中心的服务请求到达强度和服务请求的处理强度参数分别为λ=10.1,μ=10.2,tout=30 s,Rbind=0.99.
根据UDDI中心提供的数据,分析服务A1的提供者近期提供的服务的情况,A1的提供者在UDDI中心共发布了100个服务,其中3个服务的WSDL文档有描述错误或者缺乏服务描述.
服务各个阶段的可靠度可以分别计算,S1和S2分别绑定到A2和P2,本文的可靠性方法的计算过程如下:
①首先根据式(1)计算Rpub=3/100=0.97;
② 根据式(2)计算Rdis=0.95;
③Rbind=0.99;
④根据式(4)计算S1的可靠度RS1=RA1=0.822,同理计算S2的可靠度RS2=0.867;
⑤ RL(A1,P2) =e-λ(A1,P2)T(A1,P2)=0.997,则RS=RS1RS2RL(A1,P2)=0.7098.
根据以上的计算方法,对具体原子服务的可靠性进行更新,更新后的可靠度见表3.由于更新后的可靠度充分考虑了各个阶段的失效影响,所以更新后的可靠度比服务提供者给出的初始可靠度值要偏小.服务可以采用冗余结构的方式,当某服务出现失效时,由下一个服务来取代,采用冗余结构的服务可靠度见表4.从表4中可以看出,本文方法预测的可靠度比传统方法稍低,但是能够近似接近传统方法,这是因为本文方法考虑了更多的服务失效因素,所以比传统方法低.
表3 服务的更新可靠度
表4 抽象服务的可靠度
在分析各种失效类型的基础上提出服务可靠性的阶段模型,将服务的可靠性分解到服务执行的各个阶段,综合考虑各种失效类型,更加全面地分析Web服务的可靠性.本文构建了Web服务可靠性的分阶段计算模型,打破了传统模型中假设原子服务或者服务组件的可靠度已知的局限.综合考虑了组合服务过程中可能出现的失效,弥补了目前Web服务可靠性仅单纯地考虑服务组件的可靠性和服务间结构的缺陷.
References)
[1]郑啸,罗军周,曹玖新,等.基于发布/订阅机制的Web服务QoS信息分发模型[J].计算机研究与发展,2010,47(6):1088-1097.Zheng Xiao,Luo Junzhou,Cao Jiuxin,et al.A publish/subscribe based information dissemination model for QoS of Web services[J].Journal of Computer Research and Development,2010,47(6):1088-1097.(in Chinese)
[2]AI-Masri E,Mahmoud Q H.Investigating Web services on the World Wide Web[C]//Proc of the 17th Int Conf on World Wide Web.New York:ACM,2008:795-803.
[3]陆文,徐峰,吕建.一种开放环境下的软件可靠性评估方法[J].计算机学报,2010,33(3):452-462.Lu Wen,Xu Feng,Lü Jian.An approach of software reliability evaluation in the open environment[J].Chinese Journal of Computer,2010,33(3):452-462.(in Chinese)
[4]Tsai W T,Zhang D,Chen Y,et al.A software reliability model for Web services[C]//Proc of 8th IASTED International Conference on Software Engineering and Applications.Cambridge,MA,USA,2004:144-149.
[5]Cortellessa V,Grassi V.Reliability modeling and analysis of service-oriented architectures[M]//Test and Analysis of Web Services.Germany:Springer-Verlag,2007:339-362.
[6]Grassi V,Patella S.Reliability prediction for serviceoriented computing environments[J].IEEE Internet Computing,2006,10(3):43-49.
[7]Wang L J,Bai X Y,Zhou L Z,et al.A hierarchical reliability model of service-based software system[C]//Proc of 33rd Annual International Computer Software and Applications Conference.Seattle,USA,2009:199-208.
[8]Ren Y X,Gu Q,Qi J X,et al.Reliability prediction of Web service composition based on DTMC[C]//Proc of Third IEEE International Conference on Secure Software Integration and Reliability Improvement. Shanghai,China,2009:369-375.
[9]Zheng Z B,Lyu M R.Collaborative reliability prediction for service-oriented systems[C]//Proc of the 32nd ACM/IEEE International Conference on Software Engineering.Cape Town,South Africa,2010:35-44.
[10]Chan K S May,Bishop J,Steyn J,et al.A fault taxonomy for Web service composition[C]//Proc of the 3rd International Workshop on Engineering Service Oriented Applications. Vienna, Austria, 2007:363-375.
[11]Brüning S,Weiβleder S,Malek M.A fault taxonomy for service-oriented architecture[C]//Proceedings of 10th IEEE International Symposium on High Assurance SystemsEngineering. Dallas, TX, USA, 2007:367-368.
[12]Mallick S,Kushwaha D S.LWSDM:layered Web service discovery mechanism [J].Advanced in Information Sciences and Service Sciences,2010,2(3):25-31.
[13]Canfora G,Penta M D,Esposito R,et al.A framework for QoS-aware binding and re-binding of composite Web service[J].The Journal of Systems and Software,2008,81(10):1754-1769.
[14]Dai Y S,Pan Y,Zhou X K.A hierarchical modeling and analysis for grid service reliability[J].IEEE Transaction on Computers,2007,56(5):681-691.