上海交通大学硕士学位论文服务可靠性度量及改善的研究姓名:马江申请学位级别:硕士专业:软件工程指导教师:沈备军;陈昊鹏20090101上海交通大学工程硕士学位论文摘要第I页服务可靠性度量及改善的研究摘要Web服务的特性在于它封装离散业务功能的灵活性以及集成应用间的互操作性。计算资源的组合以及基于Web服务的应用集成方案,是提高复用性、节约成本以及基于客户的视角设计服务流程的关键。开发人员关注于服务的集成与复用,软件开发的过程发生了巨大改变。这种变化也使得Web服务的可靠性模型区别于传统的软件可靠性模型:传统软件可靠性模型从软件内部缺陷度量其可靠性,而Web服务失效因素多样,还应包括硬件环境的影响;传统可靠性模型一般度量于软件的内部测试阶段,而Web服务消费者重用已有服务开发业务逻辑,期望通过执行阶段反馈客观度量其可靠性;传统软件无法通过增加冗余模块改善其可靠性,而冗余Web服务的异构性可以保证其可靠性的提高。针对这些变化,本文提出了一种服务可靠性度量与改善模型,它具有如下特点:该度量模型基于时间独立马尔科夫链。与其他服务度量模型的区别在于,它从用户使用的角度出发,认为服务可靠性反映了其无失效性操作,从失效强度以及修复强度两方面度量服务可靠性,预测其成功执行的概率。该模型基于服务的客户端反馈。这意味着服务的度量处于服务的执行阶段而不是开发与测试阶段,在此阶段收集的各种反馈数据真实的体现了服务的实际执行情况,可以帮助消费者更有效、更客观的评价现有上海交通大学工程硕士学位论文摘要第II页服务。该模型可以对冗余服务系统进行可靠性度量。它将原子服务扩展为结点服务,对单个服务及其冗余服务构成的结点系统进行可靠性度量。同时,根据冗余服务模式的不同,本文还给出了一种可靠性优先的冗余服务选择算法,用于搭建冗余服务,提高系统的可靠性。本文针对服务可靠性度量模型设计了实现原型系统,并通过仿真与实验评估该模型。仿真结果表明了不同的输入参数对服务可靠性的影响以及度量模型的正确性。实验数据则反映出本文的解决方案,可以有效改善服务的可靠性。关键词:可靠性模型,冗余服务,客户端反馈,Web服务上海交通大学工程硕士学位论文ABSTRACT第III页ResearchonWebServiceReliabilityEvaluationandImprovementABSTRACTAWebserviceischaracterizedbyitsflexibilitytoencapsulatediscretebusinessfunctionalitiesanditsinteroperabilitytosupportuniversalapplicationintegration.CompositionofcomputationalresourcesandWeb-basedservicesintointegratedsolutionsisakeyactivitytoenhancereusability,savecostanddesignbusinessprocessfromthepointofviewofcustomers.Serviceconsumeraimsatintegratingandreusingexistedservices,whichhasgreatlychangedtheprocessofsoftwaredevelopment.ThesechangesalsoinfluencedthereliabilitymodelofWebservicecomparedwithtraditionalsoftwarereliabilitymodels:traditionalsoftwarereliabilitymodelevaluateitbysoftwarefaults,butfailurefactorsofWebservicealsoincludehardwareconditions;traditionalsoftwarereliabilitymodelnormallyevaluateitduringtestingphase,butWebserviceconsumerreuseexistingservicetodevelopbusinessandexpecttoevaluatereliabilityusingexecutionphasefeedbacks;traditionalsoftwaresystemcouldnotimproveitsreliabilitybyapplyingredundantmodules,butheterogeneousredundantservicecouldguaranteetheenhancementofservicereliability.Accordingtothosechanges,thispaperproposesaWebservicereliabilityevaluationandimprovementmodelwhichhasfollowingfeatures,ThisevaluationmodelisbasedontimeindependentMarkovchains.IncontrastofotherWebservicereliabilitymodels,itconsidersreliabilityofWebservicesasameasureoffailure-freeoperationfromthepointofcustomers’view.ItevaluatesWebservicereliabilityfromfailureintensityandrecoveryintensitytoindicatetheprobabilityofsuccessfulexecution.Thismodelisbasedonclientfeedbacks.Itmeansthatreliabilityevaluationisinexecutionphasebutnotindevelopingortestingphase.Thedatacollectedfromthisphasecouldbeusedtoevaluateexistingservicemore上海交通大学工程硕士学位论文ABSTRACT第IV页effectivelyandobjectively.ThismodelevaluatesreliabilityofWebservicesystemwithredundantservices.ItextendsatomicWebservicemodeltonodeservicemodel,andevaluatesreliabilityforbothofthem.Accordingtodifferentredundantservicetypes,thispaperalsosuggestsaHighReliabilityFirstRedundantserviceselectionalgorithmtobuildredundantservicesforWebservicereliabilityimprovement.Thispaperalsodesignsandimplementsaprototypesystemforreliabilityevaluationmodel.Accordingtotheprototypesystem,thispaperalsodesignsasimulationandexperimentschemetoverifyourmodel.Simulationresultsindicatereliabilityinfluencedbydifferentparameterstodemonstrateitscorrectness.Experimentresultsshowreliabilityimprovementbyimplementingoursolutions.Keywords:ReliabilityModel,RedundantService,ClientFeedback,Webservice上海交通大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在年解密后适用本授权书。本学位论文属于不保密□。(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月日上海交通大学工程硕士学位论文第一章绪论第1页第一章绪论1.1研究背景软件系统发展的过程中,越来越多的需求要求将企业内部,或者分散在不同地域的应用集成起来。多种集成技术应运而生,例如面向对象中间件技术,面向消息中间件技术,以及最近非常流行的Web服务[1]。Web服务架构包括3个参与者:服务提供方、客户、注册中心和3个操作:发现、发布和绑定。服务提供方将其服务发布到注册中心的一个目录上,当客户需要调用该服务时,它首先利用注册中心提供的目录去搜索该服务,得到如何调用该服务的有关信息(WSDL),然后根据这些信息去调用服务提供方发布的服务。Web服务的核心是它封装离散业务功能的灵活性以及应用集成的互操作性。计算资源的组合以及基于Web服务的应用集成方案,是提高复用性、节约成本以及基于客户的视角设计服务流程的关键[2]。基于Web服务计算的应用,其质量完全取决于构成它们的服务。因此,在互联网环境下,随着Web服务的数量呈几何级数的增长,在数量浩瀚且质量良莠不齐的服务中,如何保证基于Web服务计算的应用总是由高质量的服务构成就成为了必须要解决的问题。当前针对Web服务大部分工作更多的集中在应用的开发和接口的实现上,而服务质量在Web服务中的支持,仍然是一个正在发展的研究领域。但这却是一个非常重要的课题,因为服务质量体现了Web服务的非功能性要求,当一系列服务都能完成相同功能的时候,非功能尺度将成为客户选择服务的唯一标准。重用、组合现有服务使之成为一个可依赖的、可靠的组合服务,其中的一个关键点就是必须提出一种机制,它能够监视、度量原子服务以及组合服务中每个子服务的运行状态以及可靠性,并且能够给出相应的改善办法。1.2国内外研究现状当今,服务计算已经成为分布式计算与信息系统领域内迅速发展的研究方向,随着Web服务的发展与成熟,服务计算以面向服务架构(SOA)的形式得到了广泛的推上海交通大学工程硕士学位论文第一章绪论第2页广和应用。SOA通过采用独立于底层实现的方式重用现有各种异构的业务逻辑和数据模型,将分布式系统的构建成本、资源和时间开销都降至最低,从而降低了风险,可以使系统具备良好的敏捷性,能够在短期内满足系统业务变更的需求。因此,服务计算是不可逆转的发展潮流,把它向更广泛的领域进行推广势在必行。从2004年开始,互联网上出现了很多提供服务的注册中心,例如UBR(UniversalBussinessRegistry),Xmethods.org,BindingPoint.com,许多大型企业如Google,Amazon也开始提供Web服务,但是这些并没有促成Web服务的快速发展。从2003-2004年,UBR中每周会有大约16%的可用服务失效。分析其原因,大部分的服务并不能满足用户的需要,而目前并没有一种有效的方式使得现有服务成功组合成一个新的有效服务。所以,根据现有