(计算机软件与理论专业论文)企业级异步事务处理问题的研究和实践.pdf_第1页
(计算机软件与理论专业论文)企业级异步事务处理问题的研究和实践.pdf_第2页
(计算机软件与理论专业论文)企业级异步事务处理问题的研究和实践.pdf_第3页
(计算机软件与理论专业论文)企业级异步事务处理问题的研究和实践.pdf_第4页
(计算机软件与理论专业论文)企业级异步事务处理问题的研究和实践.pdf_第5页
已阅读5页,还剩121页未读 继续免费阅读

(计算机软件与理论专业论文)企业级异步事务处理问题的研究和实践.pdf.pdf 免费下载

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

文档简介

东北大学硕士论文 摘要 摘要 事务是健壮的应用程序开发所必需的一种关键性服务,是一种编写健壮代码的高级规范。 运用事务处理,可以让关键性任务安全稳定地运行于企业级环境中。事务具有原子性,一致 性,隔离性和持久性等特点。 结束事务有两种方法: 提交 ( c o m m i t ) 或回滚 ( r o l l b a c k ) a 在当前的企业信息系统中, 企业级事务有时会涉及到多个部门的子系统, 并且需要在比较 长 的时间内由 各子系统协调完成。 传统的事务管理中的原子性要求一旦事务不能完成,则放 弃所有已做的工作, 而串 行性,要求如果一个事务不结束,则其他事务必须等待。这两种传 统事务的并发控制方法不适用于企业异步事务的管理。异步事务处理就是为了适应这种需求 而产生的。与同 步事务处理不同,异步事务处理采用非阻塞的处理机制,调用者无须像同步 处理那样等待被调用者的执行结果。事务发起者启动某一事务,通知该事务的所有参与者, 当所有参与者都完成了该事务,则事务结束。当事务执行过程中发生异常需要回滚时,根据 企业需求,可以将格个事务回滚到初始状态,或者将某个子系统回滚到该子系统的初始状态, 以便重新开始该事务。 同步事务处理通常采用远程方法调用来处理分布式应用。 当调用其它子模块的方法时, 事 务发起者在方法调用返回 之前,一直处于阻塞状态,直到被调用者成功返回,事务才可以 继 续进行。 消息机制可以 代替远程方法调用。 面向 消息的中间件 ( m o m) 是指任意的支持消息 机制的基础结构。 在过去的几年中, 面向消息中间件系统己 经发展成为一种专有的方法。 每 一种产品都有它本身自己的 应用编程接口, 代码不能移植到其他的消息机制系统中,这导致 了用户必须锁定于某一种特定的供应商。这样也会对开发人员带来不利的影响,因为他们需 要重新学习每一种消息产品的专有应用编程接口。 j a v a 消息服务 j a v a m e s s a g e s e rv i c e , j m s ) 提 供了一 种 清晰的 方 法实现企业消息 处理, 通过采用异步传递方式处理进程间通信,能够连接应用中不同的组件。采用消息系统有助于 将异步事务分解为多个事务,增强对异步事务处理的有效性,客户端启动一个事务,将事务 处理请求消息发送至消息服务器,无须等待该消息处理结束,即可进行后续的处理。 在该消 息成功处理完成之后,再通过消息系统将处理结果返回。j ms为企业异步事务处理提供了良 好的技术支持。 通过异步处理的方式, 还可将企业己 有资源整合起来,减少各应用程序之间的祸合程度, 使各应用程序之间实现松祸合,并且便于管理与拓展。 关 键 词l 事 务、 异 步 事 务、 整 合、 m o m , j a v a 消 息 服 务( j a v a m e s s a g e s e rv ic e , j m s ) , 松祸合 东北大学硕士论文 ab s t r a c t ab s t r a c t t r ans a c t i o n i s a k e y s e rvi c e f o r d e v e l o p i n g s t a b l e a p p l i c a t i o n . i t s a n a d v anc e d s p e c i f ic a t i o n i n c o d i n g . k e y t a s k s a re a b l e t o r u n in a s t a b l e e n t e r p r i s e e n v i r o n m e n t w it h tr a n s a c t i o n s . t r a n s a c t i o n s h a v e f o u r a t t r i b u t e s : a t o m i c i t y , c o n s i s t e n c y , i s o l a t i o n and d u r a b i l it y . t h e r e a r e t w o w a y s t o t e r m i n a t e a tr ans a c t i o n : c o mmi t and r o l l b a c k . e n t e r p r i s e tr ans a c t i o n s s o m e t i m e s m a y c o m e d o w n t o s u b s y s t e m s o f d i ff e r e n t d e p a r t m e n t s i n t h e c u r r e n t e n t e r p r i s e i n f o r m a t i o n s y s t e m s . a d d it i o n a l l y , t h e tr ans a c t i o n s n e e d t o b e c o m p l e t e d b y c o o r d i n a t i o n o f s u b s y s t e m s i n a l o n g t i m e . i n tr a d i t i o n a l t r ans a c t i o n s , t h e a t o m i c i t y a tt r i b u t e r e q u i r e s t h a t i f a t r a n s a c t i o n i s n o t f i n i s h e d , a l l i t s c o r r e s p o n d i n g t a s k s t h a t h a v e b e e n d o n e s h o u l d b e a b o r t e d , w h e r e a s t h e s e r i a l f e a t u r e o f tr a n s a c t i o n re q u i r e s t h a t i f o n e t r ans a c t i o n i s i n c o m p l e t e , a l l o t h e r c o r r e s p o n d i n g tr ans a c t i o n s s h o u l d w a i t . t h e s e t w o tr a d i t i o n a l p a r a l l e l tr ans a c t i o n c o n tr o l m e t h o d s c an n o t m e e t t h e r e q u i r e m e n t o f e n t e r p r i s e a s y n c h ro n o u s t r ans a c t i o n m a n a g e m e n t . a s y n c h r o n o u s t r a n s a c t i o n s c o m e i n t o b e i n g t o m e e t s u c h re q u i r e m e n t s . d iff e r e n t fr o m s y n c h r o n o u s tr ans a c t i o n s , a s y n c h r o n o u s t r a n s a c t i o n s u s e u n b l o c k m e c h ani s m i n w h i c h c a l l e r p r o c e d u r e s d o n o t n e e d t o w a i t t h e c a l l e r p r o c e d u r e s r e s u l t s a s t h e y d o i n s y n c h ro n o u s e n v i r o n m e n t . t r a n s a c t i o n m a k e r s t a rt s a tr ans a c t i o n an d i n f o r m s a l l p a r t i c i p an t s . a tr ans a c t i o n c o m p l e t e s it s e l f o n l y i f a l l t h e p a r t i c i p a n t s f in i s h t h e i r t a s k s . wh e n a tr ans a c t i o n n e e d s t o r o l l b a c k i f s o m e t h i n g g o e s w r o n g , i t c an r o l l b a c k t o t h e i n it i a l p o i n t a c c o r d i n g t o t h e e n t e r p r i s e r e q u i r e m e n t s o r j u s t r o l l b a c k s o m e s u b - tr ans a c t i o n s t o t h e i r i n it i a l p o i n t s in o r d e r t o re s t a rt t h e tr ans a c t i o n . s y n c h r o n o u s t r ans a c t i o n s o ft e n u s e r e m o t e p r o c e d u re c a l l , r p c t o d e a l w i t h d i s t r i b u t e d a p p l i c a t i o n s . wh e n c a l l i n g r e m o t e m e t h o d s , t r a n s a c t i o n m a k e r i s i n t h e b l o c k e d s t a t u s b e f o r e t h e c a l l i n g p r o c e d u r e re t u rn s . t h e tr ans a c t i o n p r o c e e d s a ft e r t h e c a l l e r p r o c e d u r e r e t u r n s s u c c e s s f u l l y . me s s a g i n g m e c h a n i s m c an b e u s e d i n s t e a d o f r p c . me s s a g e o r i e n t e d mi d d l e w a r e ( mo m) r e f e r s t o an a r b i tr a ry b a s i c a r c h it e c t u r e t h a t s u p p o rt s m e s s a g e m e c h ani s m . i n t h e p a s t f e w y e a r s , m o m h a s a l r e a d y b e c o m e a s p e c i a l t e c h n i q u e . e a c h k in d o f p ro d u c t s h a s i t s o w n a p p l i c a t i o n i n t e r f a c e a n d t h e i r s o u r c e c o d e c an n o t b e tr ans f e r r e d t o o t h e r m e s s a g e m e c h ani s m s . t h u s , i t m a k e s c u s t o m e r s t o f o c u s o n o n e s p e c i f i c k i n d o f p r o d u c t s and c an n o t c h ang e i n f u t u r e . a d d i t i o n a l l y , i t c an b r i n g b a d e ff e c t s t o d e v e l o p e r s b e c a u s e t h e y h a v e t o l e a r n t h e s p e c i a l i n t e r f a c e w h e n u s i n g a n e w m e s s a g i n g p r o d u c t . j a v a m e s s a g e s e rv i c e , j ms p ro v i d e s u s w i t h a c l e a r w a y t o d e a l w i t h e n t e r p r i s e m e s s a g e . i t c o n n e c t s an a p p l i c a t i o n s d i ff e re n t c o m p o n e n t s b y u s i n g a s y n c h r o n o u s m e s s a g e t r a n s m i tt i n g i n p r o c e s s c o m m u n i c a t i o n . me s s a g e s y s t e m h e l p s t o d e c o m p o s e a s y n c h r o n o u s t r a n s a c t i o n i n t o s e v e r a l s u b - tr ans a c t i o n s . i t e n h anc e s t h e a s y n c h r o n o u s t r ans a c t i o n s v a l i d i t y . t o t h i s e n d , w h e n a c l i e n t s t a r t s a t r ans a c t i o n and s e n d s t h e t r a n s a c t i o n p ro c e s s r e q u e s t m e s s a g e t o t h e m e s s a g e s e rv e r , t h e c l i e n t d o e s n o t n e e d t o w a i t t h e r e s p o n d i n g re s u lt s t o p r o c e s s i t s p r o c e e d i n g t a s k s . t h e m e s s a g i n g s y s t e m r e t u rn s t h e r e s u l t a ft e r i t p r o c e s s e s t h e re q u e s t e d m e s s a g e . j m s p ro v i d e s g o o d s u p p o rt f o r e n t e r p r i s e a s y n c h r o n o u s t r ans a c t i o n s . b y u s i n g a s y n c h r o n o u s t r a n s a c t i o n s , a l l e x i s t i n g e n t e r p r i s e r e s o u r c e s c an b e i n t e g r a t e d . a d d i t i o n a l l y , i t re d u c e s i n t e r - a p p l i c a t i o n c o u p l i n g and re al i z e s l o o s e c o u p l i n g . f i n a l l y , i t p ro d u c e s -tt - 东北大学硕士论文 ab s t r a c t e a s y m a n a g e m e n t a n d e a s y e x t e n s i o n f o r d e v e l o p i n g a p p l i c a t i o n s k e y w o r d s t r a n s a c t i o n , a s y n c h r o n o u s t r a n s a c t i o n, i n t e g r a t e , m e s j a v a m e s s a g e s e r v i c e , c o u p l i n g . or i e n t e d mi d d l e wa r e -t 77 - 东北人学硕_ 卜 论文 声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取 得的研究成果除加以标志和致谢的地方外,不包含其它人已经发表或 编写过的研究成果,也不包括本人使用过的其它材料。与我一同工作 的同志对本研究所作的任何贡献均己在论文中作了明确的说明并标示 致谢。 本人签名 日期 : 王对 : , , 歹 夕 , 二 尸 夕 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、 使用学位 论文的规定:即学校有权保留并向国家有关部门或机构送交论文的复 印件和磁盘,允许论文被查阅和借阅。本人授权东北大学可以 将学位 论文的全部或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流, 请在下方签名; 否则视为不同意。 ) 学 位 论 文 作 者 签 名 : 工 为 签字日 期: 沪。 了 . ) . 1 0 导师签名 签字日期: 沙 . 1 - 2 a 东北大学硕士论文 第一章 概述 第一章 概述 1 . 1 事务的基本概念 广义上说, 事务是健壮的服务器端开发所必需的一种关键性服务。 如使用妥当,事务可 以使关键任务预期地运行在一个企业级的环境中。事务是一种编写健壮代码的高级编程规范。 当执行永久性的操作命令时 ( 例如,更新数据库) ,事务也是一种非常有用的结构。事务在任 何真正的应用程序开发中 都起着重要的作用, 事务的 管理称为事务处理12 4 1 形象的说,事务是为了仿效一个商业事务,在开发的企业应用中,可能需要执行的儿个 步骤。 说明 事务的最典型的实例是转帐, 从一个银行帐号上执行支取现金, 必须紧跟着在另 外一个帐号上执行存入现金指令。如果两个步骤都发生,则该事务被提交。 如果其中一个步 骤失败,则任何一个步骤都不许执行,该事务被回滚。 当 事务执行提交时,数据的修改结果就会被保存。如果事务内的一个操作失败,事务就 会回滚, 这将导致所有的 事务操作都会撤消。例如, 如果在贷款这一步,磁盘驱动器失败, 这时事务回滚,同时取消所造成的数据修改。尽管事务操作失败,但是数据的完整性仍然完 好,因为账户依旧保持平衡。 可以这样理解:事务就是由一步或者几步组成的单个工作单元,这些步骤相互之间具有 一定的逻辑关系,应当作为一个整体进行考虑。换句话说,事务中的每一步依赖于前面步骤 的成功或结果。 事务必须遵循 i s o n e c所制定的 a c i d原则。a c i d 即原子性 ( a t o m i c it y ) 、一致性 ( c o n s i s t e n c y ) ,隔 离性 ( is o l a t io n ) 和持久 性 ( d u r a b i l it y ) 的 缩写.即 事务的 主要 特性包括原 子性、 一致性、 隔离 性和持久性。 支持这些a c i d属性是为了 保证实体成为事务, 这样做的目 的是保证工作能如期进行。 原子性: 事务必须完全执行或者完全不执行,这意味着工作单元中的各项任务必须都正确的执行。 任何任务的失败将导致整个工作单元或事务失败,即开始所做的数据的更改必须被撤销。 如 果所有的任务都成功完成,则提交事务,于是数据永久地被更改了。 一致性: 它是事务系统和应用开发者必须实施的一个事务特征,它指的是原始的数据仓库的完整 性。事务系统通过确保事务是原子性的、隔离的和持久性来实现一致性。应用开发者必须确 保数据库中 有正确的约束,而且工作单元、业务逻辑不会导致不一致的数据。 隔离性: -i - 东北大学硕士论文 第一章 概述 第一章 概述 1 . 1 事务的基本概念 广义上说, 事务是健壮的服务器端开发所必需的一种关键性服务。 如使用妥当,事务可 以使关键任务预期地运行在一个企业级的环境中。事务是一种编写健壮代码的高级编程规范。 当执行永久性的操作命令时 ( 例如,更新数据库) ,事务也是一种非常有用的结构。事务在任 何真正的应用程序开发中 都起着重要的作用, 事务的 管理称为事务处理12 4 1 形象的说,事务是为了仿效一个商业事务,在开发的企业应用中,可能需要执行的儿个 步骤。 说明 事务的最典型的实例是转帐, 从一个银行帐号上执行支取现金, 必须紧跟着在另 外一个帐号上执行存入现金指令。如果两个步骤都发生,则该事务被提交。 如果其中一个步 骤失败,则任何一个步骤都不许执行,该事务被回滚。 当 事务执行提交时,数据的修改结果就会被保存。如果事务内的一个操作失败,事务就 会回滚, 这将导致所有的 事务操作都会撤消。例如, 如果在贷款这一步,磁盘驱动器失败, 这时事务回滚,同时取消所造成的数据修改。尽管事务操作失败,但是数据的完整性仍然完 好,因为账户依旧保持平衡。 可以这样理解:事务就是由一步或者几步组成的单个工作单元,这些步骤相互之间具有 一定的逻辑关系,应当作为一个整体进行考虑。换句话说,事务中的每一步依赖于前面步骤 的成功或结果。 事务必须遵循 i s o n e c所制定的 a c i d原则。a c i d 即原子性 ( a t o m i c it y ) 、一致性 ( c o n s i s t e n c y ) ,隔 离性 ( is o l a t io n ) 和持久 性 ( d u r a b i l it y ) 的 缩写.即 事务的 主要 特性包括原 子性、 一致性、 隔离 性和持久性。 支持这些a c i d属性是为了 保证实体成为事务, 这样做的目 的是保证工作能如期进行。 原子性: 事务必须完全执行或者完全不执行,这意味着工作单元中的各项任务必须都正确的执行。 任何任务的失败将导致整个工作单元或事务失败,即开始所做的数据的更改必须被撤销。 如 果所有的任务都成功完成,则提交事务,于是数据永久地被更改了。 一致性: 它是事务系统和应用开发者必须实施的一个事务特征,它指的是原始的数据仓库的完整 性。事务系统通过确保事务是原子性的、隔离的和持久性来实现一致性。应用开发者必须确 保数据库中 有正确的约束,而且工作单元、业务逻辑不会导致不一致的数据。 隔离性: -i - 东北大学硕士论文第一章 概述 事务的执行必须不受其他进程或事务的干扰。换句话说,在事务完成之前,事务访问的数 据不能被系统的其他部分所影响。 持续性: 它意味着所有事务过程中所做的数据更改在事务成功完成之前必须写入某种类型的物理 介质,这就确保系统崩溃时数据更改不会丢失。 1 . 2 异步事务处理概述 随着c r m, s c m, m r p i i , e r p 等企业管理理论的发展, 要求企业级应用将不同部门的分 系统集成为企业信息管理系统 ( e i s ) ,实现企业资源在企业范围内共享,并通过对企业资源 整体优化,以降低产品总成本。 由于在企业信息系统中同一个企业资源可以为企业中多个部门和人员使用,事务间发生资 源竟争的儿率增加。另一方面,企业信息系统中企业级异步事务 ( 有些资料也称之为长串事 务)是面向企业实际上 作流程设计的,事务中各个环节由不同的子系统分步协作完成。 企业信息系统中企业级异步事务具有以下特点: 1 ) 持续时间长: 在企业中 完成一次 销 售、 采购等事 务需 要数天、 甚至 数月 时间。 对于 某种设备的调整,设置可能需要儿分钟到几天时间。 2 ) 可部分恢复:可以对异步事务进行部分撤销,而不必全部撤销己 做的更新。 3 ) 多系统并行: 各个子系统能够并行运行, 而不需等待其他子系统运行结果。 4 ) 跨平台:原有系统可能在不同的平台 基础上实 现。 因此,产生了建立企业信息系统中异步事务管理机制的需求,在子系统无法完成阶 段性事务时决定如何处理,避免子系统由于事务进入长期等待而独占某项资源。此外, 还需建立子系统间协作机制,当 某子系统完成一个阶段事务后能自 动进入另一个子系统 继续下一阶段事务。 1 . 3消息中间件和 j ms 当 前, c o r b a , d c o m, r m i 等r p c中间 件技术已 广泛应用于各个领域。但是面对规 模和复 杂 度都越来越高的 分布式系统, 这些技术也 显示出 其局限 性: ( 1 ) 同步通信: 客户发出 调用后, 必须等待服务对象完成处理并返回结果后才能继 续执行; ( 2 ) 客户和服务对象的生命周期紧密藕合: 客户进程和服务对象进程都必须正常运 行; 如果由 于服务对象崩溃或者网络故障导致客户的请求不可达, 客户会接收 到异常: - 2 - 东北大学硕士论文第一章 概述 事务的执行必须不受其他进程或事务的干扰。换句话说,在事务完成之前,事务访问的数 据不能被系统的其他部分所影响。 持续性: 它意味着所有事务过程中所做的数据更改在事务成功完成之前必须写入某种类型的物理 介质,这就确保系统崩溃时数据更改不会丢失。 1 . 2 异步事务处理概述 随着c r m, s c m, m r p i i , e r p 等企业管理理论的发展, 要求企业级应用将不同部门的分 系统集成为企业信息管理系统 ( e i s ) ,实现企业资源在企业范围内共享,并通过对企业资源 整体优化,以降低产品总成本。 由于在企业信息系统中同一个企业资源可以为企业中多个部门和人员使用,事务间发生资 源竟争的儿率增加。另一方面,企业信息系统中企业级异步事务 ( 有些资料也称之为长串事 务)是面向企业实际上 作流程设计的,事务中各个环节由不同的子系统分步协作完成。 企业信息系统中企业级异步事务具有以下特点: 1 ) 持续时间长: 在企业中 完成一次 销 售、 采购等事 务需 要数天、 甚至 数月 时间。 对于 某种设备的调整,设置可能需要儿分钟到几天时间。 2 ) 可部分恢复:可以对异步事务进行部分撤销,而不必全部撤销己 做的更新。 3 ) 多系统并行: 各个子系统能够并行运行, 而不需等待其他子系统运行结果。 4 ) 跨平台:原有系统可能在不同的平台 基础上实 现。 因此,产生了建立企业信息系统中异步事务管理机制的需求,在子系统无法完成阶 段性事务时决定如何处理,避免子系统由于事务进入长期等待而独占某项资源。此外, 还需建立子系统间协作机制,当 某子系统完成一个阶段事务后能自 动进入另一个子系统 继续下一阶段事务。 1 . 3消息中间件和 j ms 当 前, c o r b a , d c o m, r m i 等r p c中间 件技术已 广泛应用于各个领域。但是面对规 模和复 杂 度都越来越高的 分布式系统, 这些技术也 显示出 其局限 性: ( 1 ) 同步通信: 客户发出 调用后, 必须等待服务对象完成处理并返回结果后才能继 续执行; ( 2 ) 客户和服务对象的生命周期紧密藕合: 客户进程和服务对象进程都必须正常运 行; 如果由 于服务对象崩溃或者网络故障导致客户的请求不可达, 客户会接收 到异常: - 2 - 东北大学硕士论文第一章 概述 事务的执行必须不受其他进程或事务的干扰。换句话说,在事务完成之前,事务访问的数 据不能被系统的其他部分所影响。 持续性: 它意味着所有事务过程中所做的数据更改在事务成功完成之前必须写入某种类型的物理 介质,这就确保系统崩溃时数据更改不会丢失。 1 . 2 异步事务处理概述 随着c r m, s c m, m r p i i , e r p 等企业管理理论的发展, 要求企业级应用将不同部门的分 系统集成为企业信息管理系统 ( e i s ) ,实现企业资源在企业范围内共享,并通过对企业资源 整体优化,以降低产品总成本。 由于在企业信息系统中同一个企业资源可以为企业中多个部门和人员使用,事务间发生资 源竟争的儿率增加。另一方面,企业信息系统中企业级异步事务 ( 有些资料也称之为长串事 务)是面向企业实际上 作流程设计的,事务中各个环节由不同的子系统分步协作完成。 企业信息系统中企业级异步事务具有以下特点: 1 ) 持续时间长: 在企业中 完成一次 销 售、 采购等事 务需 要数天、 甚至 数月 时间。 对于 某种设备的调整,设置可能需要儿分钟到几天时间。 2 ) 可部分恢复:可以对异步事务进行部分撤销,而不必全部撤销己 做的更新。 3 ) 多系统并行: 各个子系统能够并行运行, 而不需等待其他子系统运行结果。 4 ) 跨平台:原有系统可能在不同的平台 基础上实 现。 因此,产生了建立企业信息系统中异步事务管理机制的需求,在子系统无法完成阶 段性事务时决定如何处理,避免子系统由于事务进入长期等待而独占某项资源。此外, 还需建立子系统间协作机制,当 某子系统完成一个阶段事务后能自 动进入另一个子系统 继续下一阶段事务。 1 . 3消息中间件和 j ms 当 前, c o r b a , d c o m, r m i 等r p c中间 件技术已 广泛应用于各个领域。但是面对规 模和复 杂 度都越来越高的 分布式系统, 这些技术也 显示出 其局限 性: ( 1 ) 同步通信: 客户发出 调用后, 必须等待服务对象完成处理并返回结果后才能继 续执行; ( 2 ) 客户和服务对象的生命周期紧密藕合: 客户进程和服务对象进程都必须正常运 行; 如果由 于服务对象崩溃或者网络故障导致客户的请求不可达, 客户会接收 到异常: - 2 - 东北大学硕士论文第一章 概述 3 ) 点对点通信:客户的一次调用只发送给某个单独的目 标对象。 面向 消息的中间 件 m e s s a g e o r i e n t e d m i d d l e w a r e . m o m) 较好的解决了以 上问题。 发送 者将消息发送给消息服务器, 消息服务器将消息存放在若干队列中,在合适的时候再将消息 转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必 相同: 发送消息的时候接收者不一定运行, 接收消息的时候发送者也不一定运行; 一对多通 信:对于一 个消息可以 有多个接收者。 己 有的m o m系 统包 括i b m的m q s e r ie s . m ic r o s o ft 的m s m q 和b e a的m e s s a g e q等。 由 于没有一 个通用的 标准, 这些系统很 难实 现互 操作和无缝连 接。 j a v a m e s s a g e s e r v ic e ( j m s ) 是s u n提出的旨 在统一各 种m o m系统接口的 规范, 它包含点对点 ( p o i n t t o p o i n t . p t p ) 和 发布 / 订阅 ( p u b l is h / s u b s c r ib e , p u b / s u b ) 两 种消息 模型, 提供 可靠消 息 传 输、 事务 和消息 过滤 等机制。 1 .4 使用j ms 处理企业异步事务、减少应用程序藕合 1 . 4 . 1企业异步事务处理需求 传统事务模式是为了保证一系列数据库操作能准确完成而设计的, 事务代表一个逻辑操作 单位,强调事务的4 个基本特征 ( 通常称为a c i d ) :原子性、一致性,隔离性和持久性。为 满足这些特性,传统事务采用加锁方式处理冲突事务的串行化,一旦一个事务持有对数据的 锁,其他事务若要更新数据必须等待,直到该事务完成并释放所持的 锁。 尽管通过划分不同 的冲突级别,对读写操作采用不同的 锁机制等方法提高事务系统的并发性, 但是应用于处理 企业事务仍不能满足多系统并行的要求。此外,传统事务通常有数据库和服务器实现,需要 调用具体相关事务方法,因为不同的数据库和服务器实现事务的方法各不相同,并且通常与 平台相关,所以难以在多个系统间应用。 传统事务模式处理异步事务不能 满足异步事务部分恢复、 多系统并行和跨平台的要求。 为 适应异步事务处理的特点,需要提供更灵活的事务冲突处理方法和恢复机制以实现可部分恢 复性: 通过实现系统间异步通信以 满足多系统并行;为不同的子系统提供统一的跨平台的协 作服务。 1 . 4 .2异步事务处理需要解决的问题 根据企业异步事务的4 个特点, 在解决过程中面临的主要问 题有: ( 4 )将企业异步事务分解为可分步完成的事务组。 - 3 - 东北大学硕士论文第一章 概述 3 ) 点对点通信:客户的一次调用只发送给某个单独的目 标对象。 面向 消息的中间 件 m e s s a g e o r i e n t e d m i d d l e w a r e . m o m) 较好的解决了以 上问题。 发送 者将消息发送给消息服务器, 消息服务器将消息存放在若干队列中,在合适的时候再将消息 转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必 相同: 发送消息的时候接收者不一定运行, 接收消息的时候发送者也不一定运行; 一对多通 信:对于一 个消息可以 有多个接收者。 己 有的m o m系 统包 括i b m的m q s e r ie s . m ic r o s o ft 的m s m q 和b e a的m e s s a g e q等。 由 于没有一 个通用的 标准, 这些系统很 难实 现互 操作和无缝连 接。 j a v a m e s s a g e s e r v ic e ( j m s ) 是s u n提出的旨 在统一各 种m o m系统接口的 规范, 它包含点对点 ( p o i n t t o p o i n t . p t p ) 和 发布 / 订阅 ( p u b l is h / s u b s c r ib e , p u b / s u b ) 两 种消息 模型, 提供 可靠消 息 传 输、 事务 和消息 过滤 等机制。 1 .4 使用j ms 处理企业异步事务、减少应用程序藕合 1 . 4 . 1企业异步事务处理需求 传统事务模式是为了保证一系列数据库操作能准确完成而设计的, 事务代表一个逻辑操作 单位,强调事务的4 个基本特征 ( 通常称为a c i d ) :原子性、一致性,隔离性和持久性。为 满足这些特性,传统事务采用加锁方式处理冲突事务的串行化,一旦一个事务持有对数据的 锁,其他事务若要更新数据必须等待,直到该事务完成并释放所持的 锁。 尽管通过划分不同 的冲突级别,对读写操作采用不同的 锁机制等方法提高事务系统的并发性, 但是应用于处理 企业事务仍不能满足多系统并行的要求。此外,传统事务通常有数据库和服务器实现,需要 调用具体相关事务方法,因为不同的数据库和服务器实现事务的方法各不相同,并且通常与 平台相关,所以难以在多个系统间应用。 传统事务模式处理异步事务不能 满足异步事务部分恢复、 多系统并行和跨平台的要求。 为 适应异步事务处理的特点,需要提供更灵活的事务冲突处理方法和恢复机制以实现可部分恢 复性: 通过实现系统间异步通信以 满足多系统并行;为不同的子系统提供统一的跨平台的协 作服务。 1 . 4 .2异步事务处理需要解决的问题 根据企业异步事务的4 个特点, 在解决过程中面临的主要问 题有: ( 4 )将企业异步事务分解为可分步完成的事务组。 - 3 - 东北大学硕士论文第一章 概述 3 ) 点对点通信:客户的一次调用只发送给某个单独的目 标对象。 面向 消息的中间 件 m e s s a g e o r i e n t e d m i d d l e w a r e . m o m) 较好的解决了以 上问题。 发送 者将消息发送给消息服务器, 消息服务器将消息存放在若干队列中,在合适的时候再将消息 转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必 相同: 发送消息的时候接收者不一定运行, 接收消息的时候发送者也不一定运行; 一对多通 信:对于一 个消息可以 有多个接收者。 己 有的m o m系 统包 括i b m的m q s e r ie s . m ic r o s o ft 的m s m q 和b e a的m e s s a g e q等。 由 于没有一 个通用的 标准, 这些系统很 难实 现互 操作和无缝连 接。 j a v a m e s s a g e s e r v ic e ( j m s ) 是s u n提出的旨 在统一各 种m o m系统接口的 规范, 它包含点对点 ( p o i n t t o p o i n t . p t p ) 和 发布 / 订阅 ( p u b l is h / s u b s c r ib e , p u b / s u b ) 两 种消息 模型, 提供 可靠消 息 传 输、 事务 和消息 过滤 等机制。 1 .4 使用j ms 处理企业异步事务、减少应用程序藕合 1 . 4 . 1企业异步事务处理需求 传统事务模式是为了保证一系列数据库操作能准确完成而设计的, 事务代表一个逻辑操作 单位,强调事务的4 个基本特征 ( 通常称为a c i d ) :原子性、一致性,隔离性和持久性。为 满足这些特性,传统事务采用加锁方式处理冲突事务的串行化,一旦一个事务持有对数据的 锁,其他事务若要更新数据必须等待,直到该事务完成并释放所持的 锁。 尽管通过划分不同 的冲突级别,对读写操作采用不同的 锁机制等方法提高事务系统的并发性, 但是应用于处理 企业事务仍不能满足多系统并行的要求。此外,传统事务通常有数据库和服务器实现,需要 调用具体相关事务方法,因为不同的数据库和服务器实现事务的方法各不相同,并且通常与 平台相关,所以难以在多个系统间应用。 传统事务模式处理异步事务不能 满足异步事务部分恢复、 多系统并行和跨平台的要求。 为 适应异步事务处理的特点,需要提供更灵活的事务冲突处理方法和恢复机制以实现可部分恢 复性: 通过实现系统间异步通信以 满足多系统并行;为不同的子系统提供统一的跨平台的协 作服务。 1 . 4 .2异步事务处理需要解决的问题 根据企业异步事务的4 个特点, 在解决过程中面临的主要问 题有: ( 4 )将企业异步事务分解为可分步完成的事务组。 - 3 - 东北大学硕士论文第一章 概述 因为异步事务有可能会涉及到不同 模块的子系统, 各子 系统可能处于异构平 台, 所以有必要将事务分解为适合各子系统的子事务, 以便丁事务的局部回滚与 恢复。 ( 5 )监控异步事务处理的过程; 整个事务处理过程所需时间可能会比较长,客户端发出事务请求之后, 根据 需要可以随时查看事务进展的状态。 如果事务发生异常, 可以选择是重新开始事 务,还是终止事务。 ( 6 )异步事务发生异常时事务局部回滚、整体回滚的控制与实现。 发生异常时, 选择哪种方式实现回滚, 事务回滚的范围是核体回滚还是异常 子系统局部回滚,是否需要人工的干预等。 ( 7 )事务异常中止的恢复机制 当事务异常终止时 ( 例如磁盘读写错误,事务处理子系统崩溃等) ,如何确 定某一子事务是否已经完成,如何重新继续上次事务未完成的操作。 1 . 4 .3使用j ms 实现应用程序间的松祸合 当 前企业级应用开发广泛采用二层结构, 表示层和中间层通过远程过程调用 ( r e m o t e p r o c e d u r e c a j i , r p c ) 或远程方法调用( r e m o t e m e t h o d i n v o c a t i o n ,r m i ) 的方式进行通信。 r p c ( 或r mi ) 方式很好的 解决了分布计算的问题;调用者在调用一个远程方法时被阻塞, 直到 服务器处理完毕后再将控制返回调用者, 这样使用户在调用远程方法时如同 调用本地方法一 样。但是, r p c 或r mi )不适合应用于系统间集成,如图 1 . 1 r p c方式的紧祸合结构所示, 子系统间彼此为多对多关系。 这种结构 卜 , 任何一个子系统的更改都要求其他子系统进行相应 的更新,而且任何一个子系统出现故障都将导致整个结构不稳定。 - 4 - 东北大学硕士论文第一章 概述 因为异步事务有可能会涉及到不同 模块的子系统, 各子 系统可能处于异构平 台, 所以有必要将事务分解为适合各子系统的子事务, 以便丁事务的局部回滚与 恢复。 ( 5 )监控异步事务处理的过程; 整个事务处理过程所需时间可能会比较长,客户端发出事务请求之后, 根据 需要可以随时查看事务进展的状态。 如果事务发生异常, 可以选择是重新开始事 务,还是终止事务。 ( 6 )异步事务发生异常时事务局部回滚、整体回滚的控制与实现。 发生异常时, 选择哪种方式实现回滚, 事务回滚的范围是核体回滚还是异常 子系统局部回滚,是否需要人工的干预等。 ( 7 )事务异常中止的恢复机制 当事务异常终

温馨提示

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

评论

0/150

提交评论