(计算机应用技术专业论文)交易中间件的研究与设计.pdf_第1页
(计算机应用技术专业论文)交易中间件的研究与设计.pdf_第2页
(计算机应用技术专业论文)交易中间件的研究与设计.pdf_第3页
(计算机应用技术专业论文)交易中间件的研究与设计.pdf_第4页
(计算机应用技术专业论文)交易中间件的研究与设计.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机应用技术专业论文)交易中间件的研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳工业大学硕士学位论文 摘要 分布式应用系统具有网络化和异构性的特点,是网络一体化和并行处理分布化的产 物。交易中间件是一种典型的分布式事务处理系统,成为构筑企业信息系统的主流平 台,它提供了强大的跨平台通讯、负载平衡、容错及其故障恢复能力,并在这个基础上 进一步强化了安全性、可管理性和高可用性的新一代通用型三层结构平台的中间件,把 企业中众多的异构系统、异构数据库、不同网络环境紧密的联系起来,并在应用层提供 了互操作性的功能。 x o p e n 组织是x o p e n 公司和开放软件基金会合并组建而成的国际开放系统组 织。x o p e n 主要为网络计算和分布式应用建立丌放的标准,它被大多数的国际硬件生 产厂家及软件提供商所认可。x o p e n 组织提出的分布式事务处理模型d t p 是建立分布 式事务处理环境的国际标准。 本文首先系统的论述了交易中间件的概念、演化、及其在中间件中的定位。然后, 在综合分析了x o p e nd t p 模型及研究国内外最新研究成果的基础上,并且结合t c p i p 网络协议,从系统层的角度出发,深入研究并实现了一个符合d t p 模型标准,并适 用于异步、低可靠网络环境和跨平台的交易中间件。其次,重点对交易中间件在交易完 整性、体系结构、通讯效率以及通信机制等实现技术方面做了深入的剖析,并结合实际 应用,分别对这些技术进行了大胆的改造和优化,不同程度的提高了系统性能,更好的 满足了应用需求。 最后,客观的评价了本论文设计的交易中间件的不足,并展望了交易中间件未来的 发展趋势。 关键词:交易中间件,x o p e n 模型,两阶段提交协议 沈阳工业大学硕士学位论文 i n v e s t i g a t i o na n dd e s i g n o ft r a n s a c t i o n p r o c e s s i n gm i d d l e w a r e a b s t r a c t t h ed i s t r i b u t e d a p p l i c a t i o ns y s t e m w i t ht h ec h a r a c t e ro f n e t w o r ka n d d i f f e r e n te n v i r o n m e n t i st h er e s u l to ft h en e t w o r ka saw h o l ea n dt h e p a r a l l e lp r o c e s s i n g f o rt h ed i s t r i b u t e d t a s k s t r a n s a c t i o nm i d d l e w a r ei sa t y p i c a l k i n do ft h ed i s t r i b u t e do n - l i n et r a n s a c t i o n p r o c e s s i n g , b e c o m i n g am a j o r p l a t f o r m o fe n t e r p r i s ei n f o r m a t i o n s y s t e n a , w h i c h o f f e r s c o m m u n i c a t i o no f s t r i d i n gp l a t f o r m , l o a d i n gb a l a n c e , f a u l t - t o l e r a n ta n dr e s u m a b l ea b i l i t y ,a n d s t r e n g t h e n sa n e wg e n e r a t i o nm i d d l e w a r ei nc o m m o n 、i t l l3 - l a y e ra r c h i t e c t u r ep r o v i d e dw i t h t h e s t r o n gs e c u r i t y , e x c e l l e n tm a n a g e m e n ta n dh j 【曲a v a i l a b i l i t yi nc o m m o n n u m e r o u s d i s t r i b u t e ds y s t e m , d i f f e r e n td a t a b a s ea n dd i f f e r e n tn e t w o r ke n v i r o n m e n ta r ec l o s e l yt i n k e du p a m o n g a l le n t e r p r i s e ,o f f m n gt h ef u n c t i o no f m u t u a l o p e r a t i o no na p p l i c a t i o nl a y e r t h eo p e n g r o u p i sa l li n t e r n a t i o n a lo p e ns y s t e m so r g a n i z a t i o nt h a ti sl e a d i n gt h ew a yi n c r e a t i n gt h ei n f r a s t r u c t u r en e e d e df o rt h ed e v e l o p m e n to f n e t w o r k - c e n t r i cc o m p u t i n ga n dt h e i n f o r m a t i o ns u p e r h i g h w a y f o r m e di n1 9 9 6b yt h em e r g e ro ft h ex o p e nc o m p a n ya n dt h e o p e ns o f t w a r ef o u n d a t i o n ,t h eo p e ng r o u pi ss u p p o r t e db ym o s to f t h ew o r l d sl a r g e s tu s e r o r g a n i z a t i o n s ,i n f o r m a t i o ns y s t e m sv e n d o r sa n ds o r w a r es u p p l i e r s t h ex o p e nd i s t r i b u t e d t r a n s a c t i o n p r o c e s s i n g t p ) m o d e l i sas o f t w a r ea r c h i t e c t u r et h a ta l l o w s m u l t i p l ea p p l i c a t i o n p r o g r a m s t os h a r er e s o u r c e s p r o v i d e db ym u l t i p l e r e s o u r c em a n a g e m e n t s ,a n d p r o v i d e s i n t e r n a t i o n a ls t a n d a r df o rd i s t r i b u t e d a p p l i c a t i o n t h i sp a p e rd i s c u s s e ss y s t e m a t i c l yas e r i e so f c o n c e p t , e v o l u t i o n ,s t r u c t u r eo ft r a n s a c t i o n p r o c e s s i n gm i d d l e w a r ea n dl o c a l i z a t i o no f m i d d l e w a r ea r g u m e n t a t i o na tf i r s t t h e nb a s e do n s y n t h e t i c a l l ya n a l y z i n gx o p e nd t p m o d e la n d i n v e s t i g a t i n ga p p r o x i t a t er e s u l ti n l a n da n d a b o a r d ,c o m b i n i n g t c p i p p r o t o c o l ,f r o ma n g l eo f o p e r a t i o ns y s t e m ,d e e pa n a l y s e sa n d b u i l da n t r a n s a c t i o np r o c e s s i n gm i d d l e w a m , w h i c hb e l o n g st od t pm o d e ls t a n d a r d , a n d a p p l i e s t o a s y n c h r o n o u s ,f a l l i b l en e t w o r ka n dh e t e r o g e n e o u sp l a t f o r m s s e c o n d l y ,d e e pa n a l y s e so i l i n t e g r a l i t y , l o a d i n g b a l a n c e ,c o m m u n i c a t i o ne f f i c i e n c y a n ds t r u c t u r ea b o u tt r a n s a c t i o n p r o c e s s i n g m i d d l e w a r ea r em a d ei nt h i sp a p e r , a n dc o m b i n i n gt h ep r a c t i c a la p p l i c a t i o n , t h e 2 一 沈阳工业大学硕士学位论文 b o l dt r a n s f o r m a t i o na n do p t i m i z a t i o nt ot e c h n o l o g i e si ss e p a r a t e l yc a r r i e do n ,w h i c he o h a n c e s s y s t e m a t i cf u n c t i o n i nv a r i o u sd e g r e e st om e e tt h ed e m a n d , f i a a l l y ,t h i sp a p e re v a l u a t e ss h o r t a g eo f t r a n s a c t i o n p r o c e s s i n gm i d n e w a r e ,a n dp r o s p e c t s d e v e l o p m e n t t r e n d so f t r a n s a c t i o n p r o c e s s i n gm i d d l e w a r ei nt h e f u t u r e 。 k e yi g o r d s :t r a n s a c t i o np r o c e s s i n gm i d d l e w a r e ,x o p e nm o d e l ,t w op h a s ec o l m n i t 一3 - 独创性说明 本人郑重声明:所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得 沈阳工业大学或其他教育机构的学位或证书所使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表 示了谢意。 签名:犟奎誓日期:卫钟多年珥于g 关于论文使用授权的说明 本人完全了解沈阳工业大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公 布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论 文。 ( 保密的论文在解密后应遵循此规定) 签名:煎查 导师签名:麟臁 工,缉四于日 沈阳t 业大学硕士学位论文 1 绪论 1 1 中间件概述 中间件( m i d d l e w a r e ) 是基础软件的一大类,属干可复用软件的范畴。顾名思义, 中间件处于操作系统软件与用户的应用软件的中洲”。具体来说,中间件在操作系统、 网络和数据库之上,应用软件的下层,如图1 i 所示,其作用是为处于上层的应用软件 提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在众多关 于中间件的定义中,比较普遍被接受的是国际数据公司( i d c ) 表述的:中间件是一种 独立的系统软件或服务程序,分布式应用借助这种软件在不同的技术之间共享资源,中 间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。i d c 对中间件的 定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连 ( c o n n e c t i v i i y ) ,还要实现应用之间的互操作( i n t e r o p e r a b i l i t y ) ;中间件是基于分布 式处理的软件,最突出的特点是其网络通信功能 2 】。 中间件技术最初在9 0 年代出现,其根本目的是帮助单一的集中式程序向客户端 服务器( c l i e n t s e r v e r ) 模式移植,并且提供异构平台上的通讯。公认最早的中间件是 起始于开放软件基金( o s f ) 的分布计算环境( d c e ) ,o m g 的c o r b a 和m i c r o s o r 的c o m d c o m 。上述的中间件实际是一些集成的系统服务,它们能在异构的网络中 为应用程序提供互操作和灵活的分布环境,从而减少网络应用的复杂性和软件开发的难 度同。 沈阳工业大学硕士学位论文 l 应用程序 l l 应用程序 l a p i s 中间件( 分布式系统服务) m i d d l e w a r e ( d i s t r i b u t e ds y s t e ms e r v i c e ) 平台 o s ( w i n 2 0 0 0 ) o s ( l i n u x ) 图1 1 中间件在应用中的定位【3 1 从图1 1 可以清晰的看出中间件的作用。中间件服务是系列存在于网络系统节点 上的分布式软件,其相对于操作系统,提供了更多的a p i 功能集,使应用达到如下的目 标: ( 1 ) 独立于网络服务,降低应用之间的耦合度,中间件产品对各种硬件平台、操作 系统、网络数据库产品以及c l i e n t 端实现了兼容和开放; ( 2 ) 中间件实现了对交易的一致性和完整性的保护,提高了系统的可靠性; ( 3 ) 中间件产品可以降低开发成本提高工作效率; ( 4 ) 中间件保持了平台的透明性,使开发者不必考虑操作系统的问题。 1 1 1 分布式交易处理 d t p ,即分布式交易处理( d i s t r i b u t e dt r a n s a c t i o np r o c e s s ) ,主要表现为一些 有实时性需求的应用,如银行、证券、电信、航空、交通、海关等业务处理系统。 沈阳工业大学硕士学位论文 目前的d t p 应用多数是客户服务器结构的,由客户端处理数据的输入输出和基本 预处理,服务端进行具体的数据处理。客户服务器结构,有利于充分利用主机的处理 能力,客户机有自己独立的处理能力,既分担整个系统的部分处理工作,也可以充分满 足各种用户对操作界面的不同需求。 一个d t p 应用必须处理好两个关键问题:客户方与服务方的通讯效率;客户方与服 务方的交易完整性管理【4 】。这两个关键问题处理得是否合理,将决定一个d t p 应用的成 功与否。 在以往中间件没有被充分重视的时候,一个d t p 应用通常采用两种方式来实现: ( 1 ) 开发一个通讯程序来连接客户方和服务方,由应用程序自己解决交易完整性 问题; ( 2 ) 直接使用数据库的连接工具,同时采用数据库的交易处理机制来管理交易的 完整性。 实践证明,这两种方式在一个大规模系统中都存在着由于先天不足所产生的不适应 性,不能很好的解决效率和交易完整性管理这样两个关键问题。解决问题的必由之路, 是遵照x 0 p e nd t p 模型的分层结构思想进行设计,在一个d t p 应用中架构中间件。 本文在综合分析了x 0 p e nd t p 模型及研究国内外最新研究成果的基础上,并且结 合t c p i p 网络协议,从系统层的角度出发,深入研究并实现了一个符合d t p 模型标 准,并适用于异步、低可靠网络环境和跨平台的交易中间件。很好的解决了d t p 应用的 通讯效率和交易完整性。 1 1 2 交易中间件 中间件分为消息中间件,对象中间件,交易中间件,数据访问中间件,应用服务 器,安全中间件,专用中间伊5 1 。交易( t r a n s a c t i o n ) ,又称之为事务。交易中间件 是中间件的一种。它是针对分布式环境下,事务处理而设计的系统级软件。交易中间件 即事务监控器( t pm o n i t o r ) ,其核心作用是保证分布式计算环境中各节点交易处理结 果的一致性,及时的交易响应时间,使整个系统达到高吞吐率,7 2 4 小时的不间断运 行。在分布式交易处理( d i s t r i b u t e dt r a n s a c t i o np r o c e s s ) 中负责正确传递交易, 管理交易的完整性,调度系统资源和应用程序均衡负载运行,保证整个系统运行的高可 沈阳= _ i := 业大学硕士学位论文 靠性和高效性。交易中间件更多地面向分布式交易处理的全局交易、异构环境的交易互 操作以及提供丰富的开发工具,实现广泛的互联和互操作,正好弥补了数据库系统在分 布式交易处理方面的缺陷,保证了各种类型交易的完整性以及在不同网络介质甚至在不 同数据库之间所进行的交易的完整性,应用程序只需要关注与数据库的应用逻辑的处 理,无须过多关心事务的完整性 6 1 。由数据库系统对一台机器内部的交易进行处理及监 控,而由交易管理器来提高客户方和服务方的通讯效率,实现交易的一致性。由于网络 的不可靠,旧有系统常常出现传输过程中交易数据的丢失,造成客户方和服务方的交易 不完整或数据不一致,导致银行的资金风险和信誉风险。交易中间件在处理大量并发交 易时通过有效的并发控制手段,保证每笔交易的响应时间;避免交易出现峰值时系统阻 塞或崩溃,保证在系统故障后对交易的恢复能力:还能使多个联机交易处理中间件互通 互联以及与其它应用系统的互联;除此之外,还为开发人员提供足够的开发工具、调试 工具。因此,交易中间件在联机交易处理中大有作为。 事务处理监控最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环 境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商 业活动中大量的关键事务处理。事务处理监控界于c l i e n t 和s e r v e r 之间,进行事务管 理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它可以被看作是事务处理 应用程序的操作系统。总体上来说,事务处理监控有以下功能:进程管理,包括启动 s e r v e r 进程、为其分配任务、监控其执行并对负载进行平衡。事务管理,即保证在其 监控下的事务处理的原子性、一致性、独立性和持久性。通讯管理为c 1i e n t 和s e r v e r 之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。事务处理 监控能够为大量的c l i e n t 提供服务,比如飞机定票系统。如果s e r v e r 为每一个 c l i e n t 都分配其所需要的资源的话,那s e r v e r 将不堪重负。但实际上,在同一时刻并 不是所有的c l i e n t 都需要请求服务,而一旦某个c l i e n t 请求了服务,它希望得到快速 的响应。事务处理监控在操作系统之上提供一组服务,对c l i e n t 请求进行管理并为其 分配相应的服务进程,使s e r v e r 在有限的系统资源下能够高效地为大规模的客户提供 服务 6 1 。 沈阳工业大学硕士学位论文 1 2 文献综述 1 2 1 国内外中间件技术研究的现状 最早具有中间件技术思想及功能并投入实用软件是i b m 的c i c s ,但由于c i c s 不是 分布式环境的产物,因此人们一般把t u x e d o 作为第一个严格意义上的中间件产品。 t u x e d o 是1 9 8 4 年在当时贝尔实验室开发完成的,1 9 9 5 年被现在的b e a 公司收购。尽管 中间件的概念很早就己经产生,但中间件技术的广泛运用却是在最近l o 年之中。i b m 的消息中间件m q s e r i e s 是9 0 年代的产品,而b e a 的m e s s a g e q 和m i c r o s o f t 的m s m q 等 消息中间件产品也都是最近几年才成熟起来。国内在中间件领域的起步阶段正是整个世 界范围内中间件的初创时期。东方通科1 9 9 5 年就推出第一个中间件产品t o n g l i n k q 。可以说,在中间件领域国内的起步时间并不比国外晚多少。但是现有的中间件产品 距其应遵循的一些原则还有较大距离,多数流行的中间件服务使用专有的a p i 和运行平 台,使得网络应用需建立在单一厂家的产品上,来自不同厂家的产品很难实现互操作。 应用开发者在这些中间件服务之上建立自己的应用还需要承担很大风险。例如 m i c r o s o f t 的m s m q 只运行在w i n d o n s 系列平台上,而i b m 的m q s e r i e s 在其i b m 主机的 u n i x 系统上运行。要将m s m q 的功能扩展到其他非w i n d o n s 的操作系统( 如u n i x ,a s 1 0 0 ,t a n d e m ,d i g i t a lv m s ) 并和m q s e r i e s 进行无缝连接,还需要用l e v e l 8s y s t e m s 公司的消息队列连接器( m q c ) 。交易中间件缺少一个统一的国际标准,实际上增加了 应用集成的风险和成本,所以需要选择一个开放的标准作为实现交易中间件的基础。x o p e n 组织主要为网络计算和分布式应用建立开放的标准,它被大多数的国际硬件生 产厂家及软件提供商认可川。x o p e n 提出的d t p 模型是建立分布式处理环境的国际标 准,本文所研究的交易中间件就参考了该模型,交易中间件可以看作消息中间件的一个 重要分支。 1 2 2 未来交易中间件技术发展预测 随着各种计算机标准的出现和技术的进步,中间件技术作为软件行业崛起的一个崭 新的分支,正在全球范围内迅猛发展。以下就从技术、应用、市场几个方面探讨交易中 间件的未来发展方向。 ( 1 ) 交易中间件技术发展 沈阳工业大学硕士学位论文 缺少一个开放的标准是交易中间件被大范围使用的一个主要障碍,为帮助交易中间 件建立开放的标准,目前各厂商正根据x o p e n 组织定义的分布式事务处理参考模型 ( d t p ) 来建立统一的交易中间件的技术标准。另一方面,大量支持分布式计算的新标 准不断出现,这些标准包括j a v a 消息服务( m s ) ,可扩展标记语言( x m l ) ,简单对 象访问协议( s o a p ) ,语用通用多点传送( p g m ) 。因此如何将各种标准融合在一起, 解决不同厂商产品在性能,扩展性,管理和健壮性等方面的差异性,仍有较长的路要 走。中间件技术发展的另一个趋势是基于消息的中间件( m o m ) 和基于对象的中间件 ( o o m ) 的统一,产生事务处理消息中间件。现在这种技术还处于试验阶段网。 ( 2 ) 交易中间件的应用 随着市场竞争的加剧以及从事电子商务的需要,企业经常要进行业务流程的调整, 越来越多的企业开始关注系统的伸缩性和可扩展性。交易中间件可以跨平台操作,为不 同操作系统上的应用软件集成提供方便,从而满足企业内部对系统伸缩性和可扩展性的 要求。由于以上因素的作用,交易中间件在银行、电信。金融等大规模关键事务领域中 整合各种异构平台、保证交易完整性等方面表现出了超强的能力 9 1 。 交易中间件的重要性已经开始为国内信息产业所重视,并视之为支持中国软件业发 展的支柱之一;同时,我国的银行金融系统、电信、政府部门己经把中间件技术作为网 络建设的自然选择,用以支持各自核心业务的运营。 i n t e r n e t 应用的普及、电子商务的兴起以及国内信息化建设的深入,有效的推动 了中间件、应用服务器和软件平台技术的应用和发展。金融行业是最早采用交易中间件 产品的领域,作为一种重要的基础软件,中间件在开发和优化银行的柜面系统中发挥了 巨大的作用。在电信领域,中间件的解决方案先后为中国电信、中国联通、中国移动、 网通、铁通等各运营商广泛应用。迄今为止,交易中间件广泛应用于从银行、电信、政 府到交通运输、文教卫生等十几个行业,可谓无网不在。 ( 3 ) 中间件的市场 根据国际数据公司( i d c ) 调查,2 0 0 3 年国际中间件市场规模将达2 3 8 亿美元, 与1 9 9 7 年相比,增长率达4 0 8 。1 9 9 8 年中国中间件市场总值仅为1 2 3 4 亿美元,而 到2 0 0 4 年将达到9 0 3 亿美元,年增长率高达3 8 7 。1 9 9 7 - - 2 0 0 2 年增长率最高的 沈阳工、眦大学硕上学位论文 中间件将集中在消息中间件、交易中间件、对象中间件、应用服务器中阀件、数据访问 中间件等5 种【l 。 近几年,随着网上信息安主问题的出现,安全中间件也应运而生。中国中问件市场 目前也初具规模,据赛迪顾问统计,1 9 9 9 年国内支撑软件的产值是4 4 8 亿元人民 币,约占国内软件总产值的四分之一,而2 0 0 0 年到2 0 0 2 年三年的中间件市场总容量将 近9 亿美元。中间件市场空间之大,成长率之高,由此可见一斑。随着市场经济的不断 发展,特别是电子信息化的不断延伸,中间件无疑将在增强企业核心竞争力和加速企业 信息化建设的进程方面扮演着重要角色。 1 3 课题研究的目的和意义 1 3 1 课题研究的目的 国内现有的交易中间件产品市场,主要由国外产品统治,这些产品价格高,对硬件 及系统环境要求高,一般的中小企业无法承担,且配置复杂,不易维护等,这些都限制 了其应用。另一方面,这些产品技术比较成熟,具有完善的系统功能,如并发处理能力 强,具有复杂的交易处理功能,通信方式多等,但在中小型应用中,由于复杂的功能, 反而降低了事务处理的效率。这些都是在实际应用中不希望看到的。 为了要解决这些问题,首先分析了现有的国外交易中间件产品的实现原理,并在此 基础上提出了具有理论及实践意义的交易中间件的整体框架思想,为进一步解决交易中 间件在实际应用中的问题及加快交易中间件产品的国产化,做了有益的尝试。 1 3 2 课题研究的意义 一方面,面对激烈的市场竞争,企业为了求得生存,需要不断的调整服务业务以便 更好的满足用户需求,这就对传统的软件开发方法产生严峻的挑战。另一方面,随着现 有的应用的不断扩充和新业务的不断增加,企业级应用又面临着一个新的危机,许多应 用程序需要在网络环境的异构平台上运行,在这种分布异构环境中,存在多种硬件平 台,在这些硬件平台上又存在各种各样的系统软件,以及风格各异的编程语言,如何把 这些系统集成起来并在其上开发新的应用,是一个非常而又现实的问题。为了解决这个 分布异构问题,产生了中间件的概念。随着各种计算机标准的出现和技术的进步,中 沈阳丁业大学硕士学位论文 间件技术作为软件行业崛起的一个崭新的分支,正在全球范围内迅猛发展。中间件是软 件技术发展的一种潮流,被誉为发展最快的软件品种,近年来势头强劲。 交易中间件技术在企业级的应用,对于传统的企业级软件应用产生深远的影响: ( 1 ) 交易中间件作为一种重要的基础软件,在开发和优化企业级系统中将发挥巨 大作用。首先,由于交易中间件对服务进程的有效管理,可以减小应用系统对数据库并 发的用户数的要求,从而节约了对数据库的投资,可以为企业节约大量的建设成本。 ( 2 ) 由于中间层的引入,使应用与数据隔离,从而提高了系统的安全性,而安全 对电信业来说至关重要。 ( 3 ) 通过使用中间件,使软件系统的结构清晰,可扩展性好。对新添加的业务只 须配置参数就可以扩展新的业务,从而大大地降低了开发新的应用系统的风险和开发成 本,提高了开发的效率。 ( 4 ) 在美国等发达国家,中间件己经与操作系统、数据库管理系统并驾齐驱,成 为基础软件的三驾马车之一,特别是在最近几年,只要是分布式应用软件大多是在中间 件的基础上开发的我国在交易中间件领域并不落后,起步时间与国外厂商基本相同, 在国内市场的占有率与国外厂商处于同一起跑线上。民族软件产业的兴盛必须依靠规模 市场的支撑。中间件作为系统级软件,有更多的机会走出国门,参与国际竞争 2 1 。因此 对本课题的研究,将有助于国内软件业的发展,同时也切实有效的解决了企业目前因为 业务拓展而带来的相关问题,有助于国内企业在与国外企业的竞争中取胜。 1 4 课题来源和课题研究背景 本课题是辽宁移动客服系统改造项目的组成部分,它的主要工作是采用交易中间件 来改造传统的客户机服务器模式,提高系统的灵活佳、可扩展性、处理效率及降低维护 费用。 随着中国加入w t o 的脚步的临近,本来竞争就已经非常激烈的电信业又而临一大新 的挑战:与国外电信之间的竞争己经提上日程。首先,如何在与技术先进、服务质量一 流、资金雄厚的外国电信和本国同行之间的竞争中求得生存和发展将是国内电信业目前 面临的一大难题;其次,由于电信传统业务的发展已趋极限,不可能再有很大的市场空 间可以开拓,并且由于竞争的结果,传统业务已无很大的利润可言,因此拓展新的业务 沈阳工业大学硕士学位论文 将成为电信新的经济发展和利润增长点的方向;最后,由于网络技术的迅猛发展,各种 新的技术不断涌现,使得提高服务质量,满足顾客的需求成为可能;顾客希望有一个快 捷、方便、灵活和安全的系统。因此利用现有的先进技术对国内电信的软硬件的更新提 上了日程。 随着电信现有应用的不断扩充和新的业务的不断增加,电信业务系统又面临着一个 新的危机:由于许多业务应用程序可能由不同的公司开发,它们可能需要在网络的异构 平台上运行,在这种异构的环境中,不但存在多种硬件系统平台,而且还包括运行在这 些硬件平台上的各种系统软件以及风格不同的用户界面。此外,这些硬件系统平台还可 能采用不同的网络协议和网络体系结构连接,由此带来的问题也越来越多;不同的硬件 平台,不同的网络环境,不同的数据库之间的互操作性,多种应用模式并存,系统效率 过低;传输不可靠,数据加密和开发周期长,维护困难以及还存在开发多种系统的风险 和成本高的问题。这些问题的解决单纯依赖传统的系统软件或工具软件己经难以满足要 求,因此在操作系统和网络之上,各种电信业务程序之下提供一个系统软件平台,从而 在该平台上构建各种应用,满足电信对业务的伸缩性和可扩展性的要求己经提上日程。 为了解决这一问题,中间件系统应运而生。 1 5 本文所做的工作 本文最终目标是研究交易中间件是如何解决分布式事务即全局交易在跨网络、跨平 台的计算机系统下,保持事务的一致性。同时需要解决数据通讯中存在的低效率、不可 靠、低安全性、兼容性差等问题。针对分布式应用中存在的问题,本论文主要做了以下 几方面的工作: ( 1 ) 在综合分析x o p e nd t p 模型的基础上,研究了国内外交易中间件技术方面 的一些最新学术和应用成果,对当前较为成熟的各种交易中间件技术加以比较,分析了 其功能和实现上的优劣。设计并实现一个符合d t p 模型的交易中间件系统。 ( 2 ) 针对交易系统的具体特点,在分析客服系统的特殊要求的基础上,研究了其 设计和实现上存在的有关问题。给出了解决交易完整性的思想。 ( 3 ) 简述了交易中间件定义、现状和未来的发展,针对当前分布式应用系统中存 在的通讯问题,提出了有效的解决办法。 沈阳工业大学硕士学位论文 壮厶 ( 4 ) 构建了一个电信客服系统的应用实例,将该中间件与实际应用进行了有机的 ( 5 ) 在分析了本论文设计的交易中间件的特点、优势及应用效果的基础上、客观 的指出了该系统还存在的不足及有待进一步解决的问题。 沈阳工业 :学硕士学位论文 2 分布式处理模型的标准和规范 本章主要介绍x o p e n 组织的分布式事务处理模型( d t p ) ,并重点讨论了事务管 理( t m ) 模块。同时简要说明了喇与应用程序( a p ) 之间的接口t x 以及网同硎之 间的扩展接口x a 。 在1 9 9 6 年,x o p e n 公司和开放软件基金会合并组建了国际开放系统组织,其缩 写为x o p e n 。x o p e n 主要为网络计算和分布式应用创建开放的标准,它被大多数的 国际硬件生产厂家及软件提供商所认可陋1 4 1 。x o p e n 提出的d t p 模型是建立分布式处 理环境的国际标准。 2 1 ) p 踊d t p 模型 本节主要介绍d t p 模型内部各模块及相互关系。d t p 支持同步和对等的分布式应 用,并保证在其上的一个工作单元( 即事务) 能可靠的在多个开放的平台上完成。d t p 的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚分布事 务的决定必须统一( 全部提交或全部回滚) 。例如,在一个事务中可能更新几个不同的 数据库,对数据库的操作发生在分布系统的不同地方,但必须全部被提交或回滚。此时 一个数据库对自己内部进行的提交不仅依赖其本身的操作是否成功,还要依赖与全局事 务相关的其它数据库的操作是否成功,如果任一数据库的任一操作失败,则参与此事务 的所有数据库所做的所有操作都必须进行回滚。 如图2 1 所示,x 0 p e nd t p 模型由以下成员模块组成:a p ,r m ,t m 和c r m 。图 中的箭头表示模块之间的接口,箭头的方向表示控制转移的方向。一般而言,常见的事 务管理器( t m ) 是交易中间件,常见的资源管理器( r m ) 是关系数据库,常见的通信资 源管理器( c r m ) 是消息中间件,本文中的交易中间件就属于事务管理器。 沈阳工业大学硕士学位论文 图2 1 分布式事务处理( d t p ) 模型 2 1 1d t p 各模块的简要说明 ( 1 ) 应用程序( a p p l i c a t i o np r o g r a m ) 应用程序职责:建立和界定事务;传播事务上下文;通过资源管理器操作数据。应 用程序( a p ) 由应用程序开发者编写,它们是应用开发者用子实现商务事务的程序,用 于实现最终企业用户的需求。每个a p 都表示一系列的对某些资源的操作,比如数据 库。一个a p 定义了全局交易的开始和结束,在交易中访问数据和决定提交或回滚交易 ( x o p e nd t p 标准采用全局交易代替分布式交易这个术语) 。当两个或更多a p 在 通过c i 进行通讯时,x o p e nd t p 模型支持三种a p 到a p 的通讯接口模式,分别为 t x r p c ,x a t m i 和c p i c 接口。 ( 2 ) 事务管理器( 1 m ) 事务管理器职责:建立和维护事务上下文;维护一个事务和特定的资源间的关联; 发起并指挥两阶段提交和恢复协议;在开始两阶段提交和恢复过程之前向应用做同步呼 叫。t m 是x o p e nd t p 的核心,主要职责是为应用构件建立事务,实现同资源管理器 的二阶段提交或恢复协议,保证分布式交易的完整性和原子性;同时能完成交易请求的 分解、转发、优先级调度和监控,保证系统的负载平衡,为d t p 系统的容错性,安全性 和分布式处理提供实质性的基础。在d t p 模型中,只有t m 是d t p 开发商必须提供的。 沈阳工业大学硕士学位论文 利用其t x 、x a 接口,可开发出适用于各种平台各种应用的服务。所以t m 是一种交易中 间件。 ( 3 ) 资源管理器( r m ) 资源管理器职责:向事务服务器应征资源;参与两阶段提交和恢复协议。资源管理 器是一个管理持久和稳定的数据存储系统的模块,并且参与同交易管理器的两段提交和 恢复协议。r m 包括三部分:s e r v e r ( 服务程序) ,r m s ( 资源管理系统) 和r ( 资 源) 。s e r v e r 提供a p 所需要的服务,一般和a p 同样由应用程序开发者编写。m s 常常 指数据库管理系统( d b m s ) 或文件系统( f s ) 等共享资源的管理系统。它一般由独立厂 商提供。r 是由p , m s 管理的各种共享资源,如数据库( d b ) 、文件、打印设各和磁带备 份等。 ( 4 ) 通讯资源管理器( c 硎) 通讯资源管理器职责:向交易管理器,a p 提供通讯服务。c r m 负责管理通讯资源。 一般来说,c r m 就是消息中间件,它为其它模块提供相关通讯服务,如业务数据的传 输、事务管理模块之间的通讯,通过它屏蔽底层网络细节。在d t p 模型中o s it p 模块 为c r m 提供必要的通讯服务,c r m 采用如下接口支持全局交易:a p 和c r m 之间采用 t x r p c ,x a t m i 或c p i c 通讯接口;t m 和c r m 之间的) ( a + 接口;o s it p 和c r m 之间的 x a p - - t p 接口。c r m 可以支持多种网络模式( 电话网,光纤网等) 和协议( t c p i p ,x 2 5 等) ,它允许一个全局交易扩展到另一个t i 上面。对于c r m 的具体实现模型,x o p e n 并没有强制进行规定,以便为各厂商在各软件平台上的开发提供最大灵活性,但 其软件接口必须服从上述的接口规范,并提供相应的a p i 。 ( 5 ) 通讯协议栈( c o m m u n i c a t i o np r o t o c o ls t a c ko s i t p ) 通讯协议栈提供了较低层次的通讯服务,用以支持c p a 或分布式应用。一般为t c p i p 协议,o s i 模型等。 2 1 2d t p 模块间的接口 在下列接口前的标号对应于图2 1 中的接口标号: 沈阳工业大学硕士学位论文 ( 1 ) a p r m :a p r m 接口允许a p 操纵资源( 数据库) ,遵循x o p e nd t p 模型 的接口有标准查询语句( s q l ) 。由图2 1 知,d t p 模型同时支持非全局的交易,通过 s o l 可以进行本地数据库交易。 ( 2 ) a p t m :a p t m 之间的接口( t x ) 允许a p 进行分布式交易处理,t m 接收a p 的请求后就开始同多个删和t m 按两段式提交协议处理交易。例如,a p 调用i x _ b e g i n0 通知t m 要开始一个全局交易,在所有准备工作完成后,t m 返回值告诉a pt xb e g i n ( ) 调用是否成功。 ( 3 ) t m r m :t m r m 的接口( ( a ) 允许t m 对多个r m 进行操作,从而实现全局交 易。交易中间件与数据库通过x a 接口规范,使用两阶段提交来完成一个全局事务。) ( a 规范的基础是两段提交协议,) ( a 是t m 和r m 之间的双向接口,当t m 调用r m 服务时, 使用类似x 虬丰( ) 的函数,例如t m 调用x as t a r t0 通知相关r m 启动其内部的交易作为 新全局交易的一个组成部分。然后,t m 可能调用x a _ s e n d ,x a a ) r e p a r e0 和x a _ e o m m i t 来实现两段式提交协议。反之,r m 用a x _ 丰( ) 来调用t m 服务。 ( a 规范对应用来说,最 大好处在于事务的完整性由交易中间件和数据库通过x a 接口控制,a p 只需要关注数据 库的应用逻辑的处理,而无需过多关心事务的完整性,应用设计开发会简化很多。 ( 4 ) t m c r m :t m c r m 的接口是) 【a + ,x a + 使得全局交易的信息到进入不同的 t m 中。t m 通过) ( a + 与远端的t m 通讯,协同进行全局交易。t m 可以调用c r m 服务来挂 起或完成一个交易分支。 ( 5 ) a p c r m :a p 之间的通讯是分布式交易应用的一个重要的方面,通讯模式的 选择对整个应用的体系结构有重要的影响。每个通讯模式都有其优势和缺点,在d t p 大 规模的应用中仅仅采用一种通讯模式是不可能的。因此x o p e n 为大多数流行的通讯模 式提供了程序接口( a p i s ) 。现在讨论两种通用模式:请求回应( r e q u e s t r e s p o n s e ) 和会话( c o n v e r s a t i o n ) 。在开放系统中的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论