(计算机应用技术专业论文)移动数据库事务模型的研究及实现.pdf_第1页
(计算机应用技术专业论文)移动数据库事务模型的研究及实现.pdf_第2页
(计算机应用技术专业论文)移动数据库事务模型的研究及实现.pdf_第3页
(计算机应用技术专业论文)移动数据库事务模型的研究及实现.pdf_第4页
(计算机应用技术专业论文)移动数据库事务模型的研究及实现.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

移动数据库事务模型的研究及实现 摘要 事务处理技术是保证信息一致性和可靠性的关键技术。传统的事务处理技术 主要应用于集中式或分布式数据库系统,具有原子性、持久性、一致性和隔离性 的特点。近年来,随着移动通信技术的发展,移动数据库技术的研究引起了人们 的极大关注,作为移动数据库系统的关键技术之一,移动事务处理的概念也已被 引入到更广泛的移动计算环境当中,成为移动数据库研究领域的热点问题。但是, 由于移动计算环境的特殊性,移动事务处理技术仍面临很多的挑战。如何有效处 理移动事务的移动性、频繁断接性、一致性以及事务恢复等一直是移动事务模型 研究中的重点,也正是本文研究的目的。 本文首先阐述了移动事务的基本概念,并对非移动事务和移动事务作了比 较,指出移动事务处理的复杂性和特殊性,然后总结了移动事务处理技术的研究 现状,接着研究了几种典型的移动事务模型,总结出移动事务模型处理需求目标。 然后以实际的移动保险销售系统为背景,提出了一种支持移动性、频繁断接性和 数据致性的移动事务模型r h m t 。该模型吸纳了k a n g a r o o 模型及0 2 p c m t 模型的设计思想,以事务队列机制来支持事务的移动性,采用乐观并发控制和两 阶段提交的策略实现数据的一致性。在文章的最后,我们结合j 2 m e 和j 2 e e 技 术实现了一个基于三层构架( 移动终端移动事务协调器中心数据库) 的模拟系 统,系统对移动事务的跨区切换策略和断接处理方法进行模拟。实践证明本文所 述的移动事务处理模型是可行和有效的。 关键字:移动计算;移动数据库;移动事务模型;k a n g a r o o 模型,0 2 p c m t i i i 移动数据库事务模型的研究及实现 a b s t r a c t t r a n s a c t i o np r o c e s s i n gi si m p o r t a n tf o re n s u r i n gc o n s i s t e n c ya n dr e l i a b i l i t yo f i n f o r m a t i o n t r a d i t i o n a lt r a n s a c t i o np r o c e s s i n gi s m a i n l ya p p l i e di n c e n t r a lo r d i s t r i b u t e dd b m s ,w i t hc h a r a c t e r i s t i c so fa t o m i c ,c o n s i s t e n t ,i s o l a b l e ,a n dd u r a b l e h o w e v e r , w i t ht h ed e v e l o p m e n to fm o b i l ec o m m u n i c a t i o nt e c h n o l o g y , t h er e s e a r c ho f m o b i l ed a t a b a s ea r o u s e sp e o p l e si n t e r e s t ,a n da so n eo ft h ek e yt e c h n o l o g i e so f m o b i l ed a t a b a s e ,m o b i l et r a n s a c t i o nh a sb e e ni n t r o d u c e di nt h em o b i l ec o m p u t i n g e n v i r o n m e n ta n db e c o m e sah o tt o p i co fm o b i l ed a t a b a s et e c h n o l o g y t h eu n i q u e c h a r a c t e r i s t i co fm o b i l ec o m p u t i n ge n v i r o n m e n tm a k e si tm o r ec h a l l e n g e a b l e c u r r e n t m o b i l et r a n s a c t i o nm o d e l sm a i n l yf o c u so nh o wt oe f f e c t i v e l yh a n d l et h em o b i l i t y , f r e q u e n td i s c o n n e c t i o n ,d a t ac o n s i s t e n c ya n dr e c o v e r y i nt h i sp a p e r , w ef i r s ti n t r o d u c e dt h eb a s i cc o n c e p t so fm o b i l et r a n s a c t i o n a n d h i 曲l i 曲ti t sc o m p l e x i t ya n ds p e c i a l t yb yc o m p a r i n gt h en o n m o b i l et r a n s a c t i o na n d m o b i l eo n e i t sr e s e a r c hs t a t u sa l s oi ss u m m a r i z e d t h e l lw ed e e p l ya n a l y z ea n d c o m p a r es e v e r a lt y p i c a lm o b i l et r a n s a c t i o n sm o d e l ss u c ha sk a n g a r o o c l u s t e r i n ge t c b a s i n go ni t ,w ep r o p o s eag e n e r a lm o b i l et r a n s a c t i o np r o c e s s i n gm o d e ln a m e d r h - m tw h i c hs u p p o r t st h em o b i l i t y , f r e q u e n td i s c o n n e c t i o na n dc o n s i s t e n c yo f m o b i l et r a n s a c t i o n c o m b i n a t i o nt h et h o u g h t sf r o mk a n g a r o oa n d0 2 p cm o d e l s i n t h i sm o d e lw eu s et r a n s a c t i o nq u e u e st os o l v et h em o b i l i t y , a n do p t i m i s t i ct w op h a s e c o m m i tt o k e e pt h ed a t ac o n s i s t e n c y a t l a s tw ed e v e l o p e da3 t i e ( m o b i l e h o s t c o o r d i n a t o r c e n t r a ld a t a b a s e ) s y s t e mt os i m u l a t et h em o b i l et r a n s a c t i o nm o d e l , a n dw h i c hh a sb e e np r o v e df e :a s i b l ea n de f f e c t i v e k e y w o r d s :m o b i l ec o m p u t i n g ,m o b i l ed a t a b a s es y s t e m ,m o b i l et r a n s a c t i o nm o d e l , k a n g a r o om o d e l ,0 2 p cm o d e l 移动数据库事务模型的研究及实现 1 1 本文研究的目的 第一章绪论 随着现代移动通讯技术和移动通讯设备的迅速发展,构建一个成熟和稳定的 移动计算基础平台己成为可能;同时,无线网络的普及以及人们对移动数据处理 能力需求的不断提高,为包括移动数据库技术在内的移动计算技术提供了广阔的 应用前景。移动数据库能够使移动计算机或其他通讯设备在移动过程中,通过无 线网络自由交换数据,从而实现人们随时随地访问所需数据资源的愿望。当前, 包括学术界、工业界和军事航天领域在内的各方面专家都对移动计算和移动数据 库技术给予了高度重视,从而使得对移动数据库技术的研究成为近年来的热点领 域。移动数据库是分布式数据库的一个新的研究方向,但由于许多条件的限制, 对移动数据库的研究大多处于理论探索和局部试验的阶段。到目前为止,移动计 算环境仍然不能够为构建分布式信息系统提供透明的通信解决方案。因此,对移 动数据库的研究必须考虑移动客户端的移动性、弱连接性、频繁断接以及带宽限 制等特点。目前对移动数据库的研究内容包含数据的同步和复制,数据广播、移 动事务处理等,其中建立有效的移动事务处理机制是保证移动数据库可靠和安全 地进行数据同步的核心。但是,移动计算环境下不适宜采用传统的事务模型对移 动事务进行有效描述,需要为它寻找更好的模型,这正是我们本课题研究的目的。 1 2 国内外研究情况 0 s z u 和d u n h a m 等人提出了移动数据库系统的概念,认为移动数据库系统可 以看作是传统分布式数据库系统的扩展。一个移动计算系统必然包含固定网络部 分和移动单元,其中固定网络部分可能构成传统的分布式系统。移动数据库在一 般意义上属于异构多数据库系统的范畴,但是也可以简单构建在分布式数据库之 上。目前移动事务的研究和实践一般基于这个定义来开展。在移动事务处理的研 究领域,有许多著名的学者提出了有效的描述模型,研究认为移动事务具有复杂 的结构模型,比如开放嵌套事务模型“”、分裂事务模型。、可变事务模型、协作 事务模型等。 1 3 本文所做的工作 本文首先对移动计算环境和移动数据库技术作了简单介绍,然后对移动数据 库下的事务处理及其相关技术做了详细分析。其中所做的主要工作包括: 1 详细分析和比较了几种典型的移动事务处理模型,探讨了各种模型的特 点及其适用范围。 2 在上述分析和研究的基础上,提出了一种普遍适合于移动计算环境下的 移动事务处理模型r h m t ,该模型吸收了k a n g a r o o 模型和0 2 p c m t 模型的思 想,采用事务队列和乐观两阶段提交的处理机制,重点解决移动事务的移动性、 断接性和数据一致性问题。 移动数据库事务模型的研究及实现 3 针对该同步模型,提出了一系列具体实现技术,它们是该事务模型的核 心。最后利用j 2 m e 和j 2 e e 技术实现了一个基于三层构架的简单模拟系统,对 移动事务的跨区切换策略和断接处理方法做了模拟。 1 4 本文组织结构 论文围绕着移动事务处理技术展开讨论,共分为五个部分: 第一章:绪论。对本文的研究背景以及当前国内外的研究情况做了简单介绍, 并阐明了本文的主要研究内容和研究意义。 第二章:移动数据库的技术概述。主要介绍了移动数据库的结构及其运行环 境,并对移动数据库研究的关键技术做了介绍,从而引出移动事务处理的研究目 的。 第三章:移动事务处理技术。研究了移动事务的特性,重点分析了五种典型 的移动事务模型,并给出这几种事务处理模型给出性能评价。 第四章:r h m t 移动事务模型。以实际的移动保险销售管理系统项目为 背景,提出了r h m t 移动事务处理模型。该模型引进队列方式支持事务的移 动性。并用乐观并发控制和两阶段提交来保持数据的一致性。对模型的处理性能 进行了分析。 第五章:模拟系统的设计与实现。本章介绍了模拟系统的实现技术,给出了 具体的设计框架和实例代码。 第六章:结束语。最后总结了我们的工作,并对移动数据库的研究作了展望。 第二章移动数据库技术概述 2 1 移动数据库的运行环境 移动数据库是在移动计算技术和无线通信技术的基础上发展起来的,其典型 的运行环境如下图2 1 所示: 为了简化问题的描述而又不失一般性,我们假设: ( 1 ) 固定网络中所有固定主机都充当移动支持基站m s s ( m o b i l es u p p o r t s t a t i o n ) : ( 2 ) 每个m s s 拥有全局数据库管理系统,能响应所在单元内移动主机的事 务请求并正确返回结果; ( 3 ) 移动主机m h ( m o b i l eh o s t ) 上拥有本地数据库管理系统,能管理本地执 行的数据库事务及维护本地数据库的一致性。 在移动计算环境下,m s s 之间通过固定网络相互通信;m s s 通过无线接口与 位于它所负责的无线通信单元内( c e l l ) 的移动主机m h 通信,传递本地m h 与固 定网络的数据与消息;每个m h 在任何时刻只能同一个m s s 通信;m h 之间不直接 通信,而是通过所在单元内m s s 中转。 与基于固定网络的传统分布式计算环境相比,移动计算环境具有如下特点: 移动性:在移动计算环境中,同一台移动计算机可以在不同的地方连通网络, 这种计算平台的移动性可能导致系统访问布局的变化和资源的移动性。 频繁断接性:由于设备移动性所带来的网络环境的变化,以及昂贵的无线通 讯费用,移动计算环境中的移动信息设备和移动支持站之间可能会经常处于主动 2 移动数据库事务模型的研究及实现 或者被动的断连状态。 带宽多样性:通讯设备的移动性使得不同时间可用的网络带宽与服务质量是 变化多端的,甚至相差悬殊:移动计算机可以联入高带宽的固定网络,也可以工 作在低带宽的无线网络,甚至有时候无法联入网络。显然移动数据库的查询优化 等机制必须针对不同的网络条件选择最合适的策略。 网络通信的非对称性:在固定结点可以拥有强大的发送设备,而移动信息设 备的发送能力非常有限,于是下行链路( 从固定服务器到移动结点) 的通信带宽和 代价与上行链路相差很大。 移动设备资源有限性:目前的便携式移动信息设备,在计算能力、存储能力、 电源和屏幕显示等方面资源还十分有限。 安全性:由于移动计算平台可以远程访问系统资源,从而带来了新的不安全 因素。另外,由于设备的便携性,使得移动设备比固定设备更容易遗失和损坏。 2 。2 移动数据库的体系结构 移动数据库系统是分布式数据库系统的扩充和发展,所以其结构类似于分布 式数据库系统。通常在移动数据库系统中,一般包括两大部分:一部分是固定位 置的主机和运行在其上的通用数据库管理系统,另一部分是移动设备和小型的嵌 入式数据库管理系统。这两个部分通过中间层,例如移动支持站( m s s ) 或者基 站( b s :b a s es t a t i o n ) 连接在一起。图2 2 所示的是一个移动数据库系统的参考 结构。 3 移动数据库事务模型的研究及实现 d b :数据库d b s :数据库服务器h e r h o m el o c a t i o nr e g i s t e r p s t n :公共交换电话网络v l r :v i s i t o r l o c a t i o n r e g i s t e rm s c :移动交换中心 b s c :基站中心b s :基站m u :移动结点f i x e d h o s t :固定主机 图2 2 移动数据库体系结构 在图示的系统结构中,移动结点m u 只能通过基站b s 连接到网络中。移动 结点可以是任何带有无线通讯接口的可移动的便携式设备,它所具有的计算能力 和存储能力范围不等,可以从手机、p d a 到笔记本电脑,并具备无线网络接口, 可以通过无线或有线的方式通过b s 与固定网络进行连接。 在固定网络中,运行着一个或者多个数据库服务器,这些数据库服务器构成 了一个分布式的数据库系统。所有业务相关的数据都保存在这些数据库服务器管 理的数据库中,移动用户可以通过中间层组件的支持来访问这些数据库。在移动 结点上,通常运行一个小型的嵌入式数据库管理系统( e d b m s ) ,用于管理缓存 在移动设备上的本地数据。 2 3 移动数据库的关键技术 移动数据库涉及到数据库技术、分布式计算技术、移动通讯技术以及嵌入式 技术等多个学科领域,已经受到多个领域的研究者关注,从而使得对移动数据库 技术的研究成为新的热点。大体上来说,当前的研究领域主要集中在这几个方面: 移动事务处理,数据的复制和和缓存处理,数据广播,移动a g e n t 技术等等。 2 3 1 移动事务处理 移动事务处理是移动数据库技术研究的重要内容。当前对移动事务处理的研 究大多从传统的数据库事务模型出发,针对移动事务的不同特点提出相应的处理 机制或策略,从而形成适应性较强的移动事务处理模型。比如:k a n g a r o o 模型 侧重于解决移动性问题,引入了”跳跃”( h o p ) 属性来描述移动事务随着移动设备 从一个基站移动到另外一个基站的特点,且事务的移动性通过分裂事务获得。簇 ( c l u s t e r i n g ) 模型将数据库分为多个簇,并为此定义两级一致性来处理频繁的、 可预见、变化的断接性。为支持移动计算,该模型将移动事务分为强事务和弱事 4 移动数据库事务模型的研究及实现 务,要求强事务必须严格遵守可串行化标准,而弱事务允许存取局部缓存的不 致数据,并局部提交。若出现不一致,则通过执行补偿事务进行恢复。r e p o r t i n g & c o t r a n s a c t i o n 模型通过引入了r e p o r t i n g 和c o t r a n s a c t i o n 事务的概念,提出一 种开放的嵌套事务模型来描述移动计算机与基站计算机事务的交互。该模型的缺 点是不支持弱连接和断接状态时操作。自适应的乐观移动事务处理模型a o p - m t 支持移动客户机的断接自治操作,允许用户随意移动,并提供对交互式事务的支持 很好地消除了移动计算环境给数据库应用和事务处理带来的不利影响。此外,还 有p r 0 一m o t i o n 模型、基于语义的模型,i o t 模型等。对各种典型事务模型 的分析将是本文的重点内容之一。 2 3 2 数据复制缓存技术 数据复制的主要目的是提高分布式数据库的可用性、可靠性以及访问性能。 而缓存技术是通过在客户机上缓存部分数据,达到减少访问数据库服务器的目 的。传统的复制技术主要考虑在服务器之间的复制,并假设服务器是经常连接且 复制位置固定不变。传统的缓存技术要求客户机保持与服务器的连接以维护缓存 的一致性。因此对于经常断接且位置经常变化的移动客户机来说,必须研究和开 发新的数据复制与缓存策略。文献1 1 l 详细分析了现有数据复制技术在移动计算环 境中存在的问题,并针对移动客户机频繁断接的特点,提出了一种两级复制机制。 它假设移动数据库系统由两类结点组成:基结点与移动结点。每个基结点联结在 固定网络中,都维持数据库的一个复制( 第一级复制) 。而移动结点有时通过无线 网络与基结点相连,有时处于断接状态,它们也保存数据库的复制( 第二级复制) 。 c o d a 系统是一种支持移动计算的分布式文件系统。与上述两级复制机制不同, v c o d a 使用两种不同而又互补的机制来获得高度可用性:一是服务器复制,允许 文件卷在多个服务器上拥有读写复制;另一个是客户机缓存,允许客户机在断接 时通过访问本地缓存完成用户请求。为维护缓存的有效性,文献 3 1 提出了一种缓 存失效报告广播技术:服务器定期或异步广播缓存失效报告,保持移动客户机上 的缓存同步。 2 3 3 数据广播 由于移动客户机经常处于断接状态,而且与服务器的通信( 特别是客户机向 服务器发送信息的上行信道) 的网络带宽也很有限,因此数据库服务器可将大多 数用户频繁访问的数据( 热点数据) 组织起来,以周期性的广播形式提供给移动客 户机访问这种数据发布方式称为数据广播技术移动数据广播的相关技术己引起 了广泛的研究,主要表现在广播模式、广播调度策略和广播组织方式等方面。广 播模式分为“静态”模式和“动态”模式。在“静态”模式下,服务器按预定的 内容进行数据广播而不考虑移动用户的需求,而“动态”模式如“按需”广播模 式是分配给移动用户少量的上行带宽上传其需求,然后服务器按此需求动态进行 数据组织并广播。“混合”广播模式则是静态和动态广播模式的结合,如基于广 播盘的数据调度策略,该策略有利于移动客户较快获得高频数据。已有的关于移 动数据广播组织方式的研究几乎都采用基于b + 树的索引结构。b + 树是为因记录 的频繁查、增、删而减少访问磁盘的次数而设计的一种索引结构,它有利于提高 磁盘的访问效率。 5 移动数据库事务模型的研究及实现 2 3 4 移动查询处理 移动计算环境的查询处理包括两种类型:一种是仅仅涉及到数据库内容;另一 种是可能涉及到位置相关数据或与移动主机移动方向相关。在移动计算环境中, 位置相关信息的更新与查询是一个重要应用,文献【3 8 1 对移动环境中位置信息的 更新策略与查询优化问题做了讨论。文献【3 9 1 给出了一个适合于移动数据库应用、 基于q b i ( q u e r yb yi c o n s ) 模型的查询处理工具,该工具考虑了移动环境的固有缺 陷,它允许查询语句无任何数据库结构及其位置的相关知识进行查询。查询处理 的其他研究还包括减少查询位置数据的费用,节约电源等。 2 3 5 移动a g e n t 技术 a g e n t 的研究起源于人工智能领域。移动a g e n t 是一个能够在异构网络中自 主地从一台主机迁移动另外一台主机,并可与其它a g e n t 或资源交互的程序,实 际上它是a g e n t 技术与分布式技术的混血儿。移动a g e n t 具有自主性、移动性、 协作性、安全性、智能性等特性。 传统的分布式计算基于c l i e n t s e r v e r 体系结构,其带宽耗费严重,网络负载 不均衡,容错能力较差。移动a g e n t 作为全新分布式计算工具,通过将自身代码、 状态传送到远程主机,并在远程主机执行的方式克服了c l i e n t s e w e r 方案的不足 之处,因而成为分布式计算的主要发展方向之一。 基于移动a g e n t 嵌入式移动数据库改革了传统的远程查询数据库的s q l 查 询方法,把查询任务存储到一个可通过网络进行移动的a g e n t 上,a g e n t 将移动 到服务器上,执行查询并再做结论,然后返回到用户并打印结果。在这个过程中, 我们把查询任务分解为单个的查询方法,而这些指令在网络上的合适地点会被唤 醒并执行。通过将移动a g e n t 技术引入嵌入式移动数据库中,有助于实现嵌入式 移动数据库查询优化。 第三章移动事务处理技术 事务处理是数据库管理系统的一个基本功能,主要用于支持多用户的并发访 问控制,维护数据的一致性,从而使用户能够进行可靠地查询和更新数据库。传 统事务处理具有原子性、一致性、隔离性和永久性的特征。但是在移动计算环境 下,由于客户主机的移动、电源持航能力弱和存储容量小等条件限制,传统事务 处理模型不能有效地工作在移动数据库中。移动事务实际上是一种分布式事务, 其中一部分在移动主机上完成,而其他部分则交给固定网络中的数据库服务器完 成,它具有移动性、长事务、易错性等特点。移动事务是移动数据库技术研究的 热点和难点。 本章我们将深入研究目前移动事务处理方面的几种典型模型及其关键技术, 这些模型在支持移动性、断接性和数据一致性等方面都有各自的特点。通过分析 和比较这些模型可为我们构建新的移动事务处理模型提供策略和思路。 3 1 传统事务与移动事务的主要区别 在数据库系统中,用户应用程序以事务为基本单位实现对数据库的访问。一 6 移动数据库事务模型的研究及实现 个事务是由一系列的读写操作构成的,这些操作以b e g i nt r a n s a c t i o n 开始,以 c o m m i t 或a b o r t 结束。为了提高数据库的效率,各个事务可以并发执行,由数 据库的并发机制保证事务调度的可串行性。在传统的数据库系统中,事务具有 a c i d 特性,即满足原子性( 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 ) 、 持久性( d u r a b i l i t y ) 。为了保证事务的a c i d 性质,人们提出了各种事务处理模型; 如两阶段封锁( t w op h a s el o c k i n g ) 机制、时间戳方法( t i m e s t a m po r d e r i n g ) 、乐观 并发控制方法( o p t i m i s t i cc o n c u r r e n c yc o n t r 0 1 ) 等。传统数据库系统中的事务处理 模型较好地解决了传统应用环境下( 如银行转帐系统、飞机定票系统、外贸业务 系统、库存管理系统等) 事务的并发控制问题,这些系统的共同特点是其中的事 务相对较为简单,在高带宽的固定网络环境下执行时间较短( 通常都在几秒钟或 更短的时间内完成) ,可以容易实现事务的a c i d 特性。但是在复杂的移动计算 环境下,移动事务处理与传统的非移动事务有很大不同,具体体现在: 运行环境的复杂性不同;非移动事务的执行操作集中在固定主机上,不受计 算资源限制,也不存在移动性的考虑。但是移动事务的执行环境更加复杂,需要 综合考虑移动计算环境下的移动性、频繁断接性、网络通讯不对称性、移动终端 计算资源有限性等问题。这就要求在系统设计时应针对移动性提供移动主机的 “过区切换”( h a n d o e 0 协议、m h 位置更新策略、本地数据缓存策略、为频繁断 接提供灵活的代理机制等。 事务的原子性要求不同;非移动事务要求一个事务要被完全的无二义性的做 完或撤消,从而保证数据的正确性。但是,移动事务等发起者由于计算资源有限, 要求移动支持基站( m s s ) 能够分担部分计算工作。这意味着移动客户机上发起的 一系列读写操作必须组织为一组事务,一部分在移动客户机上执行,一部分在移 动支持基站上本地执行。为实现移动事务的原子性,需要在移动支持基站( m s s ) 上建立事务协调器或者代理节点来管理开始事务、提交和取消等原语操作。 隔离性不同;一方面,非移动事务的隔离性不仅仅保证多个事务不能同时修 改相同数据,而且能够保证事务操作产生的变化直到变化被提交或终止时才能对 另一个事务可见,并发的事务彼此之间毫无影响。这就意味着所有要求修改或读 取的数据已经被锁定在事务中,直到事务完成才能释放。大多数数据库,例如 s o l s e r v e r 以及其他的r d b m s ,通过使用锁的机制来实现隔离,事务中涉及的 各个数据项或数据集用锁定来防止并发访问。但是,为支持移动性,移动事务将 计算划分为一系列操作。一些操作在移动客户机上执行,另一些则在固定主机上 执行,移动事务和其他事务之间共享某些事务状态和部分结果。 对长事务的支持不同,移动环境下,由于数据和用户都是移动的,而移动客 户机和固定主机之间又经常发生断接,所以移动事务的生存期较长,从而产生长 事务特性。该特性要求移动事务模型必须能够支持局部事务失败的处理,并提供 相应的恢复机制,这样会严重降低原子事务模型中失败处理效率。在固定网络环 境下,非移动事务通常在短时间内执行完毕,因而基本上不用考虑长事务的情况。 一致性要求的程度不同,非移动事务要求事务实现的是强一致性,也即是保 证系统在事务执行前后都达到完整的一致性状态。移动环境下,事务的一致性需 求呈现多样化。移动数据库并非总是处于内部且外部一致性状态。移动数据库中 的对象可以处于两种一致性组合的四种状态之一。一个对象可能是内部一致的但 非外部一致,这意味着它的值是过期的。一个对象可能外部一致但内部不一致, 即其值是新的,但某些内部约束不满足。一个对象可能同时内外一致或内外不 致。在处理移动事务的一致性问题上,可以采用预读预写的多版本控制机制或者 7 移动数据库事务模型的研究及实现 时间戳协议实现。 总之,是否遵循a c i d 特性是衡量传统数据库性能的一个重要指标,但是由 于移动环境的复杂性,移动事务不能严格地遵循事务的a c i d 特性。在进行移动 事务处理,有许多因素需要考虑,这些因素主要包括以下几个方面: ( 1 ) 容错性。移动数据库系统必须处理各种可能的失败,这些失败可能与移动主 机、固定主机、事务以及网络连接相关; ( 2 ) 事务的恢复。无论什么原因导致事务失败,事务对数据所做的修改必须取消, 以保证事务的原子性; ( 3 ) 复制。在移动数据库系统中,采用复制机制可以提高移动数据库系统的可用 性和数据读取的并行性,降低通讯费用: ( 4 ) 验证。移动事务的验证过程增加了系统的负担,影响事务的执行速度; ( 5 ) 并发控制。移动数据库系统是多用户系统,支持事务的并发访问,采取相应 的并发控制方法来保证事务的并发执行,维护数据库的一致性是非常必要 的: ( 6 ) 安全性。移动数据库系统存在许多不安全因素,系统必须采取一定的安全策 略来防止未授权用户访问系统: ( 7 ) 一致性。在移动数据系统中,数据分布在移动主机和固定主机上,保持分布 数据的一致性至关重要的; ( 8 ) 分解。数据的分解可以增加位置相关数据的访问频率,提高事务的执行速度, 降低通讯费用; ( 9 ) 移动设备的约束。移动设备的电池寿命及其存储空间是有限的,这也限制移 动事务的执行。 3 2 移动事务的定义 在移动数据库系统中,固定主机和移动计算机均能发起事务,我们将由移动 终端发起的事务称为移动事务。通常,移动事务的发起方式有两种: ( 1 ) 在一个请求消息中发送事务的全部操作( 即整个事务) 。这样,移动客户 机与协调器的交互就以整个事务为基本单元,并在发回事务请求后,执行控制权 交给协调器,直到该事务执行完毕并返回结果。 ( 2 ) 将事务的操作分为多次发送。这时,一个请求消息只包含一个或一组 事务操作,移动终端交互式的分批将事务发送给协调器。但是,只有在前面的事 务操作已经执行完毕且返回之后,才能发送后续操作。 由于移动事务都是长事务,而且移动终端也是不断移动的,因此,移动事务 通常都采用第二种方式,它为移动事务的执行提供了更为灵活的方式。 移动事务从广义上仍是分布式事务,一个移动事务t i 可以分解成许多子事 务,每个子事务本身是一个事务,它所包含的操作序列是t i 所包含的所有操作 序列的一个子集。t i 各子事务所包含的操作满足一个偏序关系。在此将t i 的各 个子事务称作执行片断。为了给出移动事务的确切定义,首先给出执行片段的定 义【6 】。 定义l 一个执行片段e t j 是一个偏序 ,满足 ( 1 ) 6 。= 0 s ju n j ) ,其中0 s 。= 0 m0 j = ! ,0 。 ,0 j k r e a d ,w r i t e ) , n j a b o r t j ,c o m m i t , ( 这是位置相关的提交和回滚) ; ( 2 ) 对于0 s ,的任意两个操作0 。和0 。对同一数据对象x ,要么0 。( x ) 8 移动数据库事务模型的研究及实现 o j - ( x ) ,要么0 j t ( x ) o j , ( x ) 。 ( 3 ) 对任意o j k o s 。,0 n n 定义2 一个移动事务t 是一个三元组 ,其中f := e ,e 。) 是执行片段的集合,l i = l ,l m ,1 一。) 是一个位置集合。而f l m - = f l m 。 f l m 。f l m 。) 是片段到位置的映射,满足v j ,存在唯一的1 有f l m 。( e ,) = l i j o 从定义1 和定义2 可以看出移动事务与执行片段和相关位置有关,执行片段 实际上是由一些对数据对象的读写操作及事务的提交和终止操作组成,但作为偏 序关系,这些操作之间是具有一定顺序的:任意两个对同一数据对象的操作必须 有先后顺序;而从定义2 有限集的二元关系的关系图进行分析,不难看出事务的 提交和终止操作与一般对数据对象的操作相比,顺序是从一般对数据对象的操作 指向事务的提交和终止操作。另外,移动事务与普通分布事务的区别在于,移动 事务通常要在一组节点之间跃迁,可能在不同的节点上开始和结束,而分布事务 是在源节点上开始和结束,在事务执行期间与一组远程节点通讯。 3 3 移动事务的基本特征 使用移动设备访问无线网络中的数据需要事务的支持。然而,这种环境中的 事务与传统数据库事务有显著不同。正如前文所述,与基于固定网络的传统分布 式事务相比,移动事务具有以下一些基本特征: 1 ) 固定主机支持:移动事务分裂成一系列的操作的集合,一些在移动主机 上运行,其他在固定网络的固定主机上运行,另外,移动事务的执行需 要固定主机的支持,实现计算和通信。 2 ) 移动性:移动事务执行期间,不仅移动客户机是移动的,而且事务本身 也在移动; 3 ) 长事务:由于无线网络通信的低带宽、高延迟,以及移动客户机的频繁 断接,都可能使移动事务成为长事务: 4 ) 易错性:由于移动客户机不如固定结点可靠,而且无线网络通信也不如 固定网络稳定,因此与一般事务相比,移动事务更容易出错: 5 ) 异构性:由于客户机的移动性,移动事务可能要访问分布异构的数据库 系统。 6 ) 弱一致性:由于可能在移动客户机上缓存了数据副本,事务需要提供弱 一致性支持。 3 。4 理想移动事务模型标准 研究移动事务处理模型的目的就是使之有效地支持移动计算环境下的各种 应用,满足人们能够随时随地访问任意数据的需求。考虑到移动计算环境的特点 以及移动事务的基本特征,我们认为一个理想的移动数据库事务处理模型应满足 以下的标准: ( 1 1 较低的事务夭折率:移动客户机的断接操作容易导致移动事务夭折或者重 做,延长了事务的反应时间,严重降低了系统的效率,因此必须尽可能地 降低夭折的事务数目: ( 2 ) 正确性:系统中的共享数据可能同时被固定节点和移动节点上的事务同时 9 移动数据库事务模型的研究及实现 操作,因此必须保证这些并发事务的正确性; ( 3 ) 低通讯代价和高并行性:某些事务被阻塞,从而可能引起一系列的相关事 务的阻塞。如何降低这种通讯代价,提高事务的并行性,也是移动事务模 型设计中的难点; ( 4 ) 自治性:移动客户机在网络断接后,其本身应该能够继续提供数据服务, 有效地支持移动用户在断接后继续操作的需求; ( 5 ) 事务迁移:当事务迁移到一个新的节点,该事务的状态信息和进程都必须 迁移到新节点,这样事务才能在新节点上继续执行,并且这个迁移的过程 应该是对用户或应用透明的: ( 6 ) 异构访问支持:客户机移动过程中,移动事务可能要访问分布的异构数据 库系统; ( 7 ) 灵活的原子性:移动环境下保持事务的原子性非常困难,理想的移动事务 模型应该提供对事务原子性的灵活支持。 3 5 典型的移动事务模型 目前提出的各种移动事务处理模型中,大多数都将移动事务看作一组子事务 组成,每个子事务都支持灵活的数据一致性和提交操作。对这些移动事务的管理 可以集中在移动客户机上或者数据库服务器上,但也可以在移动客户机移动的同 时从一个移动支持基站转移到下一个基站上。本节讨论的几种典型的移动事务处 理模型中,大多放松了事务的a c i d 特性,支持移动事务在断接状态下的堵塞执 行,采用复制缓存技术、可适应性事务提交协议和恢复机制等。 3 5 1k a n g a r o o 事务模型 ( 1 ) k t 模型的结构 文献【6 】提出了对移动行为和移动数据进行研究的事务模型k a n g a r o o t r a n s a c t i o nm o d e l 。k t 模型的建立基于传统事务模型的概念,每个事务都是由 g _ rj 印 辘,每i j 。:菇j 7 委,湎纛害t 、譬 拶1 ;? 嗲+ 警,j ? 图3 2 k a n g a r o ot r a n s a c t i o n 事务基本结构 1 0 、v , 一1j警m ,过,。, 叩 砖i 吧 = ;| | 臻 墨,孵 旦 、j ;: 一畦一 鲥 t 勇一 移动数据库事务模型的研究及实现 系列读写操作构成。本地事务对应于系统中某个d b m s ,它是构成k t 事务模 型的基本单元。而全局事务可以由全局事务( g d 或者本地事务( 称为全局子事务, g s t ) 组成,这样构成一个递归的定义。k t 模型的基本结构如图3 2 所示,在图 中有三个操作o p l l ,o p l 2 ,o p l 3 作为本地事务l o c a lt r a n s a c t i o n 的组成部分,这些 操作即是通常的读、写、开始事务、结束事务和事务提交等。第一个操作( o p l l l 必须是开始事务,而最后一个操作( o p l 3 ) 必须是结束或者提交。我们考虑两种全 局事务( g 1 ) ,在f i g u r e ( 1 b ) 的全局事务有限视图中,g t 由一些子事务组成,这些 子事务是现存d b m s 的本地事务1 。所以u 也被视作全局子事务( g s l r l ,而每 个子事务又由一系列操作组成。在f i g u r e l c 的全局事务中除了本地事务外还包含 了其他的全局事务g t 2 ,g t 3 。 在k t 模型中,当移动主机( m u ) 发起事务请求,由移动支持基站( m s s ) 创建 移动事务负责这次请求的实现。移动事务采用一个k t i d 标志: k t i d = 支持基站i d + 序列号 其中支持基站i d 是唯一的,序列号在该基站内也是唯一。每个子事务代表 了该基站的执行单元,称为j o e yt r a n s a c t i o n ( j t ) 。g t 和j t 都只是k t 的一部 分,他们对数据的访问都必须通过基站上的数据代理( d a a ) 来进行。当移动主机 从一个蜂窝( c e l l ) 迁跃( h o p ) 到另外一个蜂窝,k t 的控制权转到新基站的数据访 问代理负责d a a ,d a a 创建一个新的j t ,如f i g u r e l ( d ) 所示。新j t 的创建是 通过分裂操作实现的。旧j t 独立于新j t 进行提交。比如j t l 就是独立于j t 2 , j t 3 进行提交。但是任何时候一旦j t 提交失败,都会导致整个k t 的失效,只能通 过本地d b m s 补偿事务来恢复。 为管理k t 事务的执行和恢复,所有参与的基站都要维护一个双向链表。j t、 的控制信息通过j t i d 识别。要完整执行k t 事务,链表需在事务发起的基站开 始以前序的方式遍历。要取消事务,就在当前基站采用后序的方式遍历回退。 k t 有两种不同的事务处理模式:补偿模式和分割模式。在补偿模式下,任何j t 执行的失败都会导致当前及后续的j t 回退,以前提交的j t 需要作为补偿。这种 情况下用户或者系统就要提供足够的信息来创建补偿事务。分割模式是默认模 式,当j t 执行失败时,当前执行的所有j t 是提交还是终止由d b m s 来决定。 但是,不管那种模式,如果先执行的j t 失败后无法补偿恢复,则k t 的可串行 性无法保证。另外补偿模式虽然保证了原子性,但由于互锁机制是在本地事务级 别上实现,因此可能会破坏事务的隔离性。 在k t 模型中,由移动事务管理器- ( m t m ) 管理移动事务的相关操作,在每个 基站维护一个事务状态表,其数据结构如图3 3 : 图3 , 3 k t 事务状态表 儿 移动数据库事务模型的研究及实现 ( 2 ) k t 模型的处理过程 移动事务管理器( m t m ) 处理k a n g a r o o 事务的控制流程可以描述如下: 1 ) 当移动单元发起一个k a n g a r o o 事务时,相应的数据访问代理d a a 将事 务传递给它的m t m 。由m t m 产生一个唯一标志k t i d 并在事务状态表 创建k t i d 项。 2 ) m t m 建立新的j o e yt r a n s a c t i o n ,并产生一个j t i d 标志号,并记入事务状 态表。k t 状态表的活动j o e y 数以1 递增,最后将j t 项写入事务状态表。 3 ) k a n g a r o o 事务在j t 的上下文执行,每个j t 需要将k t 操作映射到特定 的资源系统。 4 ) 一旦发生网络层的过区切换,d a a 即刻被通知启动事务层的过区切换协 议,d a a 在事务发起站点开始执行分割操作。 5 1 由目的基站执行其他的分割操作,并创建带有暂态内容的j t 作为整个 k t 事务的结束部分。另外k t 项记录在目的基站的事务状态表中。 6 ) d a a 被通知有子事务已经提交时,如果是分割模式,事务状态表中的 s t 项被移除。如果是补偿模式,则该项保留以保证k t 被终止时补偿事 务得到执行。通过更新事务状态表中的s t l i s t 来反映子事务已经提交。 如果该j o e y 事务没有活动的子事务,则表明该j o e y 事务已经提交,活 动j o e y 数减1 。在最终的基站事务状态表中如果j o e y 数为0 而且k t 状 态是c o m m i t t i n g ,则说明整个k t 事务已经提交。 7 ) 当移动主机显示事务已经结束,k t 项的状态更改为c o m m i t t i n g ,这时, 如果j o e y 数为0 ,则k t 是c o m m i t t e d ( 3 ) k t 事务处理序列图

温馨提示

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

评论

0/150

提交评论