已阅读5页,还剩72页未读, 继续免费阅读
(计算机软件与理论专业论文)基于服务总线的服务合成与负载均衡技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于服务总线的服务合成与负载均衡技术研究 摘要 w e b 服务标准的出现有效地解决了异构信息系统之间的互操作问题。面向服 务的体系结构( s o a ) 提出了基于w e b 服务的面向系统集成的方法论,指导实 现异构系统之问的整合与协同。企业服务总线( e s b ) 则是基于s o a 的实施企 业应用集成的有效方式。e s b 作为企业减少集成成本,快速高效地进行系统集成, 减少投资风险的重要手段,已成为厂商在s o a 竞争中的焦点,正在越来越多的 企业生产系统中发挥作用。近年来相关基础技术的研究也有了长足的发展,但目 前一些高级主题的研究工作尚处于起步阶段。 本文对服务总线中的两个高级主题:( 1 ) 如何构建更强大的服务总线的关键 技术最小代价自动合成;( 2 ) 与如何构建更高效的服务总线的关键技术 服务副本与负载均衡,进行了比较深入的研究。 本文提出了一种逆向推导的最小代价自动合成方法,在利用产生式对服务进 行建模的基础上,通过数据转换规则进行参数匹配并消除语义冲突,根据模型库 和用户给定的输入输出来计算出一个推导网络,从该推导网络中逆向推导出单 个输出的所有合成方案,把所有单个输出合成方案的集合进行自然乘积的合并, 然后从中选择一个执行代价最小的合成方案,随后讨论了一种求解近似最优合成 方案的高效算法。最后基于模拟实验对算法性能进行了分析。 在对w e b 服务与服务集群的特性进行分析的基础上,针对面向服务的服务 副本与负载均衡的特点,本文首先提出了一种灵活冗余部署技术,用于动态地产 生与调整服务副本。随后讨论了基于动态负反馈与综合q o s 权值计算的服务副 本质量评估机制。最后提出了一种面向服务的基于动态负反馈的负载均衡方法一 一优先队列算法。 在上述研究的基础上,本文讨论了一个面向嵌入式领域( 行业联盟) 的基于 服务总线的服务管理系统的实现,通过u d d i 对服务元数据进行统一管理,提供 了服务总线综合管理、服务的发布与查询、业务流程管理等功能模块。 关键词;服务总线自动合成服务副本负载均衡 基于服务总线的服务合成与负载均衡技术研究 a b s t r a c t t h es t a n d a r d so fw e bs e r v i c es o l v e d i n t e r o p e r a b i l i t yp u z z l e sa m o n g h e t e r o g e n e o u si n f o r m a t i o ns y s t e m s b a s e do nw e bs e r v i c e ,s o ap r o p o s e san e w m e t h o d o l o g y , a i m i n gf o rs y s t e m si n t e g r a t i o na n dc o l l a b o r a t i o n , w h i l ee s bi so n eo f t h eg r e a ta t t e m p st oi m p l e m e n te n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o nw i t l ls o a p r i n c i p l e s b yd e p l o y i n ge s b ,w eg a dr e d u c ei n t e g r a t i o nc o s t s i nr e c e n t l yy e a r s ,t h e i n f r a s t r u c t u r ea n dt h eb a s et e c h n o l o g i e so fe s bh a v eb e e nr e s e a r c h e dw i d e l y , w h i l e s o m ea d v a n c e dt o p i c sl e f tb e h i n d t h i sp a p e rf o c u s e do nt w oa d v a n c e dt o p i c so fe s b t h ef i r s ti sh o wt oc o n s t r u c t m o r ep o w e r f u le s b a u t o m a t i cc o m p o s i t i o nw i t hm i n i m a lc o s t s mn e x ti sh o wt o b u i l dm o r ee f f i c i e n te s b s e r v i c er e p l i c a t i o n & l o a db a l a n c i n g t h i sp a p e rg i v e sa na p p r oa c _ hw h i c he n a b l e su s e rt o g e n e r a t eac o m p o s i t ew e b s e r v i c ew i t hm i n i m a le x e c u t i o np r i c e a f t e rm o d e l i n gs e r v i c e sw i t hr u l e s ,i n t r o d u c ea p a r a m e t e rt r a n s f o r m a t i o nm e c h a n i s ma n de l i m i n a t es e m a n t i cc o n f l i c t s ,w ec a n c o m p u t ead e d u c e dn e t w o r kw i t hi n p u t s t h e nas e to fc o m p o s i t i o np l a n sf o re a c h o u t p u tc a nb eo b t a i n e dw i t ha na l g o r i t h m i no r d e rt og e tt h eo p t i m a lp l a n , a l lo u t p m p l a ns e t ss h o u l db ej o i n e db yc a r t e s i a np r o d u c t ,a n dt h e ns e l e c t e da c c o r d i n gt ot h e i r o v e r a l lp r i c e ad i s c u s s i o no na p p r o x i m a t eo p t i m a lp l a ni s p r o p o s e da f t e r w a r d s f i n a l l y , s e v e r a lf a c t o r st h a ti n f l u e n c et h i sa p p r o a c ha r ea n a l y z e db ye x p e r i m e n t s a t f t e rs o m ei m p o r t a n ta n a l y s i so fw e bs e r v i c ea n ds e r v i c ec l u s t e r s ,t h ep a p e r p r o p o s e sa l la g i l er e d u n d a n td e p l o y m e n tt e c h o n o l o g y , w h i c hi sa i m i n gf o rp r o d u c i n g a n da d j u s t i n gs e r v i c er e p l i c a t i o n sd y n a m i c a l l y t h e nad i s c u s s i o na b o u tq u a n l 酊 e v a l u a t i o nm e c h a n i s mf o rs e r v i c er e p l i c a t i o n sf o l l o w s ,w h i c hi sb a s e do nr e v e r s e f e e d b a c ka n dq o sc a l c u l a t i o n i nt h ee n d ,a l l 印p r o a c hi sp r o p o s e df o rl o a db a l a n c i n g b a s e do nd y n a m i cr e v e r s ef e e d b a c k 一- t h ep r i o r i t yq u e u e a l g o r i t h m w eb u i l dan e w8 e - w v i c e sm a n a g e m e n ts y s t e mf o re m b e d d e dd o m a i n , w h i c hi s b a s e do ne s b t h es y s t e mp r o v i d e sau d d im o d u l et om a i l a g et h em e t a d a t ao fw e b s e r v i c e s i ta l s op r o v i d e sv a r i o u sa d v 孤c e dm o d u l e s ,s u c ha ss e r v i c eb u sm a n a g e m e n t , s e r v i c ep u b l i s ha n ds e a r c h , b u s i n e s sp r o c e s sm a n a g e m e n t , e t e k e ,rw o r d s :e s b ,w 曲s e r v i c ec o m p o s i t i o n , s e r v i c er e p l i c a t i o n , l o a db a l a n c i n g 论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除 了特别加以标注和致谢的地方外,不包含其他人或其它机构已经发表或撰写过的 研究成果。其他同志对本研究的启发和所做的贡献均已在论文中作了明确的声明 并表示了谢意。 作者签名:益丞丝 论文使用授权声明 本人完全了解复旦大学有关保留、使用学位论文的规定,即:学校有权保留 送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内 容,可以采用影印、缩印或其它复制手段保存论文。保密的论文在解密后遵守此 规定。 作者签名:苴星丝导师签名: 勃手 日期: 基于服务总线的服务合成与负载均衡技术研究 第一章绪论 w e bs e r v i c e s 是运行在w e b 上的自包含、模块化的应用程序,它们可以在网 络中被描述、发布、查找以及调用,扩展了应用程序的功能,实现了软件的动态 提供o l 。w e bs e r v i c e 是构建跨平台的分布式系统调用的基本部件。你可以使用 在网上发布的w e bs e r v i c e 构建应用程序,而不必考虑这些w e bs e r v i c e 是怎样 实现和运行的【2 】。 面向服务的体系结构【3 】【4 】( s e r v i c e - o d e n t e da r c h i t e c t u r e ,s o a ) 是指为了 解决在网络环境下应用集成的需要,通过连接能完成特定任务的自治的功能实体 实现的一种软件系统结构。s o a 是一个组件模型,它将应用程序的不同功能单 元( 服务) 通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立 的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使 得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。 s o a 可以看作是b s 结构,x m l w e bs e r v i c e 技术之后的自然延伸。s o a 采用基于w e bs e r v i c e 技术,利用面向服务的建模技术,实现系统之间的松耦合, 实现系统之间的整合与协同。s o a 的本质思路在于使得信息系统单元在能够沟 通的基础上协同工作。s o a 将能够帮助我们站在一个新的高度理解企业级架构 中的各种组件的开发,部署形式,它将帮助企业系统结构以更迅速,更可靠,更 具重用性结构整个业务系统【5 7 】。较之以往,以s o a 结构的系统能够更加从容 的面对业务的急剧变化。 s o a 正成为企业应用集成的有效平台。企业服务总线【8 】( e n t e r p r i s es e r v i c e b u s ,e s b ) 就是在s o a 结构中实现服务间智能化集成与管理的中介。e s b 是逻 辑上与s o a 所遵循的基本原则保持一致的服务集成基础架构,它提供了服务总 线的方法和在分布式异构环境中进行服务交互的功能。 可以这样说,e s b 是特定环境下( s o a ) 实施企业应用集成 9 1 1 0 ( e n t e r p r i s e a p p l i c a t i o ni n t e g r a t i o n ,e a i ) 的方式。在e s b 系统中,被集成的对象被明确定 义为服务,这样就极大简化了在集成异构性上的考虑。e s b 作为调用服务的客户 机和这些服务的提供者之间的中介,负责处理它们之间的连接任务,通过事件驱 动的方式对消息进行处理成为e s b 的核心,这也是e s b 中总线( b u s ) 功能的 体现。 目前,已有不少研究人员从不同角度开展了服务总线及其相关技术的研究, 并开发出了若干基于服务总线集成应用的系统,但是总体上来说,服务总线相关 技术的研究与应用还处于探索阶段。 基于服务总线的服务合成与负载均衡技术研究 1 1 服务总线的定义 企业服务总线( e n t e r p r i s es e r v i c eb u s ,e s b ) ,是一种在松散耦合的服务和 应用之间标准的集成方式,它是由中间件技术实现并支持s o a 的一组基础结构, 支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和 可管理性【l l 】【1 2 】。它可以作用于: 面向服务的结构分布式的应用由可重用的服务组成 面向消息的结构应用之间通过e s b 发送和接受消息 事件驱动的结构应用之间异步的消息传递 e s b 采用了总线模式来管理和简化应用之问的集成拓扑结构,以广为接受的 开放标准为基础来支持应用之间在消息、事件和服务的级别上动态的互连互通。 e s b 试图将应用服务器上的多种逻辑层面迁移到总线以及连接点上,从而降低企 业内部信息共享的成本。图l - l 是服务总线的示意图( 来自i b m d e v e l o p e r w o r k s ) 。 可以看到不同类型的应用服务,通过统一的标准( w e bs e r v i e 圮) 挂接到服务总线 中,通过服务总线提供统一的管理与访问接口。服务总线的内部细节将在下一节 中详述。 图1 - 1 企业服务总线 e s b 是传统中间件技术与x m l 、w e b 服务等技术结合的产物,是s o a 中的 消息框架一即消息相互交换和通信的方式,是业界标准与客户消息框架的整合。 e s b 的出现改变了传统的软件结构,可以提供比传统中间件产品更为廉价的解决 方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运 作,实现了不同服务之间的通信与整合。 摹干服务总线的服务合成与负载均衡技术研究 1 2 服务总线的功能模型 根据目前的研究工作,可以对一些e s b 功能进行大致的总结与分类( 图 l - 2 ) 。在服务总线的实施过程中,大多数场景下只需要部分类别中的部分功能。 本文的研究工作服务的发布与查找、服务合成、服务副本与负载均衡,主要 分布在服务交互、集成、服务级别、管理与自治四个分类中,属于具有交叉性质 的研究领域。 图i - 2 e s b 功能模块 详细的分类描述见表1 - 1 ,其中本文研究工作涉及的功能模块用粗斜体标示。 基于服务总线的服务合成与负载均衡技术研究 表1 1 :在现有研究中定义的e s b 功能 通信服务交互 路由鼹务接口定义 寻址 支持替代蹶务实现 通信技术、协议和标准 通倍和集成所需的服务洧意传递模型 发布订阅 骧务s 录和发现 响应请求 同步和异步消息传递 集成服务质量 数据库事务( 原子事务、补偿、w e b 服务 暇务聚合事务( w s - t r a n s a c t i o n ) ) 遗留系统和应用程序适配器 各种确定的传递范例 e a ! 中间件的连接性 服务映射 力议转摸 应用程序服务器环境 服务调用的语言接口 安全性服务级别 身份验证 性能 授权 吞吐量 不可抵赖性 司用性 机密性 安全标准 消息处理管理和自治 编码的逻辑 驻务预鼍和洼瓣 基于内容的逻辑 - 记录、灏重和睦控 消息和数据转换 发现 中介 系统管理和管理i 其的集成 对象标识映射监控和管理 建模基础架构智能 对象建模 业务规则 通用业务对象建模 策略驱动的行为,特别是对于服务级 t 数据格式库别、服务功能的安全和质量 b 2 b 集成的公共与私有模型模式识别 开发和部署工具 - 4 - 基于服务总线的服务合成与负载均衡技术研究 1 3 服务总线的研究现状 从企业服务总线( e s b ) 在2 0 0 2 年被正式提出以来,我们看到e s b 不管是 在实现方式还是部署方式上都有了不小的变化。e s b 作为软件领域里的一个独立 产品也被越来越多的人所接受,众多的e s b 供应商正在结构、连接性、易用性 以及服务质量的保证等方面进行竞争。 在近一段时期,多家软件厂商如i b m 、s u n 、b e a 、o r a c l e 等都加大了对e s b 产品的投入力度,并声称自己的s o a 解决方案因此而更加完善,e s b 成为厂商 在s o a 竞争中的焦点。很多综合服务供应商( 如i b m 、b e a ) 、企业应用集成 商( 如t i b c o 、w e b m e t h o d ) 以及w e b 服务工具供应商都纷纷给自己的产品冠以 e s b 的名号。 目前国内外对企业服务总线的研究都比较积极,s a p 的n e t w e a v c r x i 平台, i b m 的w e b s p h e r e w b i 、b e a 的a q u a l o 酉cs e r v i c eb u s 、s u n 领导的开源的 j b i 规范草案等 1 4 1 7 ,都是企业服务总线的具体实现。但是这些公司的e s b 实现都更关注于对自有品牌产品的支持,热衷于对软件平台理念的宣传,而实际 采用的技术都是比较基础的,比如服务的合成还停留在手工配置的阶段。对如何 构造高效的服务总线包括服务自动合成,服务副本与负载均衡等关键技术的 研究还处于起始阶段。 1 4 本文的工作和结构 本文以基于服务总线的应用集成为理论基础,对服务总线中的服务合成和负 载均衡技术进行研究。提出了一种基于用户输入输出的最小代价服务自动合成 方法:针对建立高效的服务集群的目标,提出了一种适用于服务的基于负反馈机 制的负载均衡机制,并在均衡机制中引入服务副本的动态管理;实现了一个面向 嵌入式技术联盟的服务管理系统,提供了服务的发布与查找、最小代价自动合成、 服务副本与负载均衡等功能。 本文的组织结构如下: 第一章:介绍服务总线及其发展现状,以及目前服务总线研究工作中的不足, 并对本文的工作进行了简要的说明。 第二章:介绍服务总线的系统框架、基本要素、作用,并对如何构建高效的 服务集群进行了探讨。 第三章:提出一种基于用户输入输出的最小代价服务自动合成方法,首先 基于服务总线的服务台成与负载均衡技术研究 利用产生式对规则进行建模,然后引入数据转换机制进行参数匹配并引入本体消 除语义冲突,然后进行推导网络的定义和求解、一个求解用户单个输出条件下所 有合成方案的逆向推导算法、以及求解用户给定输出,输出条件下的所有合成方 案和最小执行代价合成方案的方法,最后针对多输出情况下合成算法的效率问 题,讨论了求解近似最优合成方案的算法。 第四章:针对建立高效的服务总线的目标,提出了一种适用于服务的基于负 反馈机制的负载均衡机制,其中根据w e b 服务的q o s 来优先队列算法中的权值 计算,并在均衡机制中引入服务副本的动态管理。 第五章:给出我们实现的一个面向嵌入式联盟的基于服务总线的服务管理系 统,并详细介绍了系统的服务总线综合管理、服务元数据的发布与查找、业务流 程管理等主要模块。 第六章:总结全文,展望下一步的工作。 基于服务总线的服务合成与负载均衡技术研究 第二章构建高效的服务总线 2 1 概述与相关研究 企业服务总线( e s b ) 为分散的服务提供了交互、组合和治理的基础结构。 有了它,才能释放s o a 的最大价值。服务总线基于w e b 服务标准,通过使用一 个开放的,基于标准的抽象层,可以更容易地与已有的系统进行集成,显著减少 互相不兼容的情况,而且大大增加了互操作性。因此,e s b 成为在基于s o a 实 现应用集成的研究工作中的焦点。 对于服务集成来说,一个通常的难题是:如何定义和应用“用于满足信息需 求与数据转换”【1 3 的业务规则,并处理好速度、互操作性、可移植性及灵活性 的均衡。通常的解决方案是:用企业服务总线模式定义一个可重用的技术服务。 e s b 接受来自服务请求者的信息请求,并根据描述“已有数据服务可提供哪些信 息”的元数据将信息返回。 一般模式下,服务总线处理服务请求的过程通常根据下列步骤【1 3 】运行: 1 接受来自服务请求者的服务请求。 2 查询服务元数据仓库,以确定如何根据已知的数据服务组装服务请求者需 要的信息。 3 从一个或多个数据服务提供者获取数据。 4 通过数据转换服务应用数据转换规则,一方面删除重复的数据,另一方面 将已获得的数据转换为服务契约要求的格式。 5 将结果返回个服务请求者。 企业服务总线既是服务的提供者,又是服务的请求者。本文的研究工作围绕 服务总线的运行步骤展开,目标是构建强大高效的服务总线。研究涉及的主题包 括( 1 ) 服务元数据的统一管理:一般是通过u d d i 实现,包括服务的发布与查 找;( 2 ) 服务数据转换规则,针对服务输入输出参数进行语义处理,以及格式转 换适配等;( 3 ) 服务自动合成,查找最小代价的自动合成方案,提供更强大的功 能;( 4 ) 服务副本与负载均衡,通过冗余部署、动态管理等机制,使服务总线更 高效地运行。本文重点关注其中的两大关键技术:利用服务的自动合成满足更复 杂的应用需求,通过服务副本与负载均衡来提高服务集群的整体效率。 基于服务总线的服务合成与负载均衡技术研究 2 2 服务发布与查找 在服务总线的实施过程中,对于服务元数据的描述与管理,可以采用w s d l + u d d i 的组合来实现。 w e b 服务描述语言 1 8 】( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,w s d l ) 是用 于描述w e b 服务的一种x m l 语言,它以一种结构化的方式将w e b 服务描述为 一组对消息进行操作的网络端点。一个w s d l 服务描述包含对一组操作和消息 的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网 络端点规范。通过w s d l ,可描述w e b 服务的三个基本属性: 服务做些什么服务所提供的操作( 方法) 如何访问服务一和服务交互的数据格式以及必要协议 服务位于何处协议相关的地址,如u r l 在u d d if 1 9 看来,w s d l 文档有两类:服务接1 2 1 ( s e r v i c ei n t e r f a c e ) 和服务 实现( s e r v i c ei m p l e m e n t a t i o n ) ,分别由两个逻辑角色接口提供者和实现提供 者提供,实际中这个两个角色可能是同一个实体扮演,图解如下: 图2 - 1 w s d l 文档类型 u d d i 同时也是w e b 服务集成的一个体系框架。它包含了服务描述与发现的 标准规范。u d d i 中有四种主要类型:b u s i n e s s e n t i t y ,b u s i n e s s s e r v i e e , b i n d i n g t e m p l a t e ,t m o d e l ,他们之间的关系如下图解: 基于服务总线的服务合成与负载均衡技术研究 图2 - 2 u d d i 数据类型 一般地,服务由某个组织提供,所以不管在何种情况下,u d d i 要求首先创 建b u s i n c s s e n t i t y ,然后让b 1 i ! s i n e s s s e r v i c e 依附在这个组织上,至于 b i n d i n g t e m p l a t e 则对应了服务提供的一个访问接口,但对于t m o d e l 则可以在任 何时间建立,只要在引用该t m o d e l 的服务创建之前保证它存在。 w s d l 跟u d d i 的关系 w s d l 中的s e r v i c ei n t e r f a c e 对应u d d i 的t m o d e l w s d l 中的s e r v i c e 对应u d d i 的b u s i n e s s s e r v i e e - w s d l 中的p o r t 对应u d d i 的b i n d i n g t e m p l a l e 在u d d i 中b i n d i n g t e m p l a t e 元素饮用了t m o d e l 元素的内容。 图2 - 3 从w s d l 到u d b i 的映射概览 基于服务总线的服务合成与负载均衡技术研究 2 3 服务数据转换规则 在服务总线中,虽然不同w e b 服务的描述都使用了统一的标准( w s d l ) , 但从语义的层面上来说,对于同一概念的描述通常有着不同的描述。其中包括使 用不同的名称( 可以通过引入本体解决,详情见下一章) 。对于同一参数的描述 也可能使用不同的度量标准,包括静态的( 如度量衡的单位换算) 和动态的( 如 汇率转换) 。由于不同的服务对接口的描述并不存在一个公认的同一标准,在服 务总线中定义和描述转换规则就成为一个必然的需求。 2 3 1 说明性的转换 根据w 3 c 关于w e b 服务的标准,服务的输入输出都采用x m l 格式,这使 得对输入输出进行适配更加方便灵活。具体的方法就是针对x m l 文档使用说明 性的规则来定义转换。 x s l t 2 0 】( e x t e n s i b l es t y l e s h e e tl a n g u a g et r a n s f o r m a t i o n ) 是一种把x m l 文 件转换成x h t m l 文档或者其他的x m l 文档的语言。x s l t 用于把x m l 文件 转换成另一份x m l 文件,或者转换成另一种被浏览器所识别的诸如h t m l 和 x h t m l 类型的文件。通常情况下,x s l t 是通过把每个x m l 元素转换成( x ) h t m l 文件来完成的。 通过x s l t ,你可以从已输出的文件里添加移除元素和属性。你也可以把元 素重新排列和分类,执行测试语句,决定是隐藏还是显示元素,或者实现其它更 多的功能。对于描述转换过程,可以形象的描述为:x s l t 把x m l 源树( x m l s o u r c c - t r e e ) 转换成x m l 目标树( x m lr e s u l t - t r e e ) 。 2 3 2 程序性的转换 对于复杂的应用,用x s l t 来描述转换规则存在一定的困难,或者描述本身 变得非常复杂而难以维护,某些情况下甚至是不可能进行描述的。在这样的场景 中,用程序进行参数转换和接口适配就是一种合理的解决方案。转换程序本身可 以用任何程序语言实现,只要配置相应的运行环境即可。 通过程序定义转换是一种重量级的解决方案。通过程序进行转换,可以实现 非常强大的转换功能于接口适配,实际上可以满足所有转换需求,只是当转换本 身非常简单的时候,这样的解决方案就过于重量级了。 常用的转换程序通常以中间件的形式( 一个常用的形式是提供w e bs e r v i c e 基于服务总线的服务合成与负载均衡技术研究 接口) 发布,以提高程序的可复用性,也可作为组件,通过组装的形式,满足更 复杂的转换需求。 2 3 3 可复用的转换中问件 可复用的转换中间件实际上是以前两种转换方法为基础的。转换中间件可以 是说明性的( x s l t 描述) 转换规则,可以是转换程序,可以是其它的中间件, 也可以是三者的组合。中间件通过组装的方式提供更强大的转换功能。中间件本 身也可以通过提供w e bs e r v i c e 接口,提高跨平台的复用性。 2 4 服务自动合成 利用w e bs e r v i c e s ,可以在基于s o a p 消息传递的基础上建立一些松散耦合 的分布式应用程序,实现软件模块的重用。但是单个w e bs e r v i c e 提供的功能毕 竟有限,不能满足实际应用的需要,只有对现有的w e bs e r v i c e s 进行合成,从而 形成新的w e bs e r v i c e s 以提供更多功能的时候,w e bs e r v i c e s 的真正潜力才能发 挥出来。由于w e bs e r v i c e s 本身具有严格自治性、松散耦合和协议规范性等特点, 而合成的w 曲s e r v i c e s 又要求具有灵活性、可重用性等,所以w e bs e r v i c e s 合成 的研究工作给我们带来了许多新挑战。 2 5 服务副本与负载均衡 负载均衡( s e r v e rl o a db a l a n c e ) 一般用于提高服务器的整体处理能力,并提 高可靠性,可用性,可维护性。传统的负载均衡研究侧重于分布式计算与网络流 量两个方向。面向分布式计算的均衡,其特点是侧重于计算能力( c p u 内存) 的高效利用。面向网络流量的负载均衡,则侧重于扩展服务器带宽和增加吞吐量, 加强网络数据处理能力,提高网络的灵活性和可用性。在传统的负载均衡研究中, 出现了很多优秀的调度算法,比如加权的轮询技术,动态负反馈机制等。 面向服务的负载均衡,有其不同于前两者的特点,也有着不同的性能评价标 准,调度的目标侧重点也差别甚大。因此,传统的均衡算法并不完全使用,需要 对其进行修改,以适应服务集群管理的特定需求。 在建立负载均衡机制的过程中,如何通过冗余配置建立服务副本,以及如何 有效地对服务副本进行动态管理,以达到更高访问效率的目标,是本文研究的另 一关键技术。 基于服务总线的服务合成与负载均衡技术研究 2 6 本章小结 本章介绍了一种服务集成的方法一服务总线。介绍了该方法的逻辑模型和 基本要素,针对与本文研究相关的主题( 服务的发布与查找,数据转换等) 进行 了讨论。并在最后一节引出了服务总线研究中的两大关键技术:服务合成与负载 均衡。 基于服务总线的服务合成与负载均衡技术研究 第三章服务的最小代价自动合成 3 1 概述与相关研究 针对w e bs e r v i c e s 合成目前已提出了许多方法,这些方法的大体上可以分成 两大类:基于工作流的合成和基于语义的合成,另外还有一些其他的研究方向, 例如基于路由、基于负载的合成等。基于工作流的合成是通过定义一个执行流程, 并在流程中详细指明了w e bs e r v i c e s 之间的控制流和数据流来实现的。 i b m 和m i c r o s o f t 在2 0 0 2 年发布的b p e l 4 w s 2 1 就是一种典型的基于工作 流的规范,该规范结合了w s f l 面向图形和x l a n g 结构化的特点。其它如w s c i 、 e b x m l 、b p m l 、x p d l 、w s m f 等 2 2 2 6 都是近年来提出面向工作流的合成标 准,这些标准虽然能够方便地描述业务流程,但需要用户来手工定义,自动化程 度不高,也没有解决合成过程中的语义问题。 在s e l f - s e r v 方法【2 7 】中,合成是采用一种基于状态图的声明性语言来进 行的,并在一个p 2 p 的动态环境下,由几个 c o o r d i n a t o r 组件来协调执行的,这 些“c o o r d i n a t o r 被附加在合成服务的每一个状态上。合成后服务的o p e r a t i o n 具有 输入参数、输出参数和事件等元素,然后用状态图把这些元素关联在一起,该合 成方法仍然属于基于工作流的合成方法。 d a m l s 2 8 ,2 9 从语义w e b 上发展起来的一种比较典型的基于语义的合成 方法,它利用d a m l + o i l 本体来对w e bs e r v i c e s 的属性和功能进行语义描述, 实现自动合成。d a m l - s 虽然能利用对象间的复杂联系来定义w e bs e r v i c e s 之间 的关系和约束,在一定程度上解决了合成中的语义和自动化问题,但是它所描述 的概念模型之间的联系不是很清晰,而且映射到w s d l 上时限制了d a m l s 本 身具有的丰富表达性特点;另外,d a m l s 的支持工具有限,学习起来也比较困 难【3 0 】。 t h a k k a r 等 3 1 ,3 2 提出了一种基于m e d i a t o r 的w e b r v i c e s 的越合成方法, 该合成方法首先用属性绑定形式对w e b r v i c e s 进行统一建模,并通过属性本体 来描述这些属性之间关系,以解决合成过程中的语义问题,然后在m e d i a t o r 中 使用一个前向推导算法来自动生成一个合成方案并进行优化,最后由一个执行引 擎来执行该合成方案。但是并没有对该方法给出一个明确的合成框架,而且当 w e bs e r v i c e s 数量很大的时候,需要对合成方案进行优化,尤其是当需要进行多 次合成时,而且前向推导算法存在着回溯问题,总体效率并不高;另外,该合成 方法也不能找出所有的合成方案,并从中选择一条服务质量较优的合成方案。 基于服务总线的服务合成与负载均衡技术研究 针对合成服务的质量,【3 3 提出了一个质量驱动的w e bs e r v i c e s 合成模型, 主要包括p r i c e ,d u r a t i o n , r e p u t a t i o n , r e l i a b i l i t y 和a v a i l a b i l i t y 等5 个方面的衡量标 准,在这些q o s 模型的基础上,文章提出了一个全局服务选择方法,并使用线 性编程技术来选择一个最优的w e bs e r v i c e s 合成方案,但是文章没有给出w e b s e r v i c e s 合成的方法。 【3 4 提出了一种自适应的分布式负载均衡算法l c b ( 1 0 a dc a p a c b a s e d a l g o r i t h m ) 算法。l c b 算法使用服务路由来查找服务和转发数据,使用负载容率 ( 1 0 a dc a p a c i t y ,简称l c ) 测度来进行服务副本的选择,从而建立一条适当的组合 服务路径。l c 测度是对服务器负载的估算,它根据服务器的负载波动信息不断 地进行自适应的调整,从而实现多个服务副本之间的负载均衡。与现有的服务组 合负载均衡算法相比,l c b 算法不需要知道服务器的最大负载量和当前负载信 息,而且具有更好的可扩展性,更适用于分布式环境下动态服务副本的组合。 本章结合【3 3 】的执行代价模型,提出了一个基于用户输入输出的最小执行代 价自动合成方法。该方法具有以下特点:利用产生式对w e b s e r v i c e s 进行建模; 引入一个数据转换机制进行参数匹配并使用一个本体来消除语义冲突:利用 一个推导网络和一个逆向推导算法来找出所有合成方案和执行代价最小的合成 方案;针对多输出情况下算法存在的效率问题,讨论了近似最优方案的高效求 解方法。 本章的内容组织如下:第2 节给出了一个w e bs e r v i c e s 查询实例,并提出最 小执行代价的自动合成问题:第3 节提出了产生式建模的方法,然后讨论了w e b s e r v i c e s 执行代价模型;第4 节引入用于参数匹配的服务数据转换机制,并使用 一个参数本体用于消除语义冲突;第5 节提出了推导网络的定义;第6 节则着重 介绍了本章的自动合成方法,包括推导网络的求解、一个求解用户单个输出条件 下所有合成方案的逆向推导算法、以及求解用户给定输出输出条件下的所有合 成方案和最小执行代价合成方案的方法;第7 节针对用户给定多个输出的情况下 算法效率低下的问题,讨论了高效求解近似最优方案的方法;第8 节是对本章合 成方法的实验和分析;最后是本章结论。 3 2w e bs e r v i c e s 合成实例 要实现w e bs e r v i c e s 的自动合成,首先就要对w e bs e r v i c e s 进行建模,并消 解决合成过程中的可能碰到的语义问题。本章采用一种基于i n p u t o u t p u t 参数的 产生式模型来对w e bs e r v i c e s 进行统一描述,然后采用一个语义本体来消除这些 i n p u t o u t p u t 参数之间的语义冲突。 基于服务总线的服务合成与负载均衡技术研究 假定有以下6 个w e bs e r v i c e s ,每一个w e bs e r v i c e 都接受一定的输入,并 产生一定的输出( 这里我们假定每个w e bs e r v i c e 只有一个o p e r a t i o n ) ,而且每个 w e bs e r v i c e 具有一定的执行代价。为了直观起见,我们可以把这些w e bs e r v i c e s 写成带有绑定模式的谓词形式【3 2 】,谓词中的属性的上标i 表示的是w e bs e r v i c e s 的输入参数,上标o 表示该w e bs e r v i c e s 的输出参数,如下表1 所示: 表3 - 1w e bs e r v i c e s 及执行代价 w e bs e r v i c e s 序号 w e bs e r v i c e s执行代价( 元次) ( 1 ) w s l ( a 1 ,b ,c 3 0 5 ( 2 ) w s 2 ( d ,c 。,e o ) 1 5 ( 3 ) w s 3 ( d ,c ,e o ) o 7 ( 4 ) w s 4 ( e 。,a 0 ) 0 2 ( 5 ) w s 5 ( b ,g ,d o ) 1 o ( 6 ) w s 6 ( b 1 ,f o ) 0 4 例如,w s l ( a l ,砂c o ) 表示该w e bs e r v i c e 要求输入两个参数a 和b ,输出一 个c ,它的执行代价为o 5 元次;而w s 3 ( d ,c o ,e o ) 则意味着该w e bs e r v i c e 输入 一个参数d ,则会返回c 和e ,两个输出,它的执行代价为1 5 元次。利用以上 的几个w e bs e r v i c e s 可以进行各种查询,但是上述的每一个w e bs e r v i c e 都具有 一定的片面性,没有也不可能有一个能满足各种查询需要的w e b r v i c e ,而如 果针对每一个查询都专门开发一个与之对应的w e bs e r v i c e 也是不现实的。因此, 有时为了完成某个查询,需要对现有的w e bs e r v i c e s 进行合成。 比如:“用户给定三个输入 a ,b ,d ,要得出一个输出 e ,f ,要完成这个查 询,在现有的w e bs e r v i c e s 下,用户可有三种不同的查询方法,如下图1 所示: 查询方案( 1 ) j 喾, 查询方案( 2 )查询方案( 3 ) 图3 1 三种不同的查询方案 们多x 赢孥 基于服务总线的服务合成与负载均衡技术研究 在上面的查询过程中,我们假定这些w e bs e r v i c e s 的输入输出参数具有唯 性,也就是说这些参数之间不存在“同名异义”和“异名同义”的情况。上面的 3 个查询方案中,方案( 1 ) 总的执行代价最小。 3 3 基于产生式的规则建模 要实现w e bs e r v i c e s 的自动合成,首先就要对w e bs e r v i c e s 进行建模,并消 解决合成过程中的可能碰到的语义问题。本章采用一种基于i n p u t o u t p u t 参数的 产生式模型来对w e bs e r v i c e s 进行统一描述,然后采用一个语义本体来消除这些 i n p u t o u t p u t 参数之间的语义冲突。 在 3 1 】中,w e bs e r v i c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ISO 11146-22021 激光器和激光相关设备激光束宽度 发散角和光束传播比的测试方法第2部分一般散光光束标准立项发展报告
- 修身篇习题与答案展示
- 西飞技术岗位考试题及答案
- 数据科学导论考卷题目及答案
- 塔吊保养测试题目及参考答案
- 高中物理必修第一册课时分层作业(一)
- 2026年英语语法测试专项训练
- 财会二级考试试题与详细答案分析
- 安全生产责任分解考核与评价保证措施
- 坍塌事故试题及答案新鲜呈现
- 2026年高考语文全国二卷真题卷及答案
- 人工智能时代的教育变革
- (英语)英语动词常见题型及答题技巧及练习题(含答案)
- 工程造价专业数字化教学改革研究
- 信访干部业务知识培训课件
- 2025外研社小学英语四年级上册单词表(带音标)
- WST368-2025医院空气净化管理标准培训
- 康复知识培训课件
- 软件造价师试题及答案解析
- 人教部编版五年级语文上册课文原文
- 2025年中国医药工业经济运行报告
评论
0/150
提交评论