电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

数据库中事务处理的设计

  • 资源ID:483857366       资源大小:231.51KB        全文页数:27页
  • 资源格式: DOC        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

数据库中事务处理的设计

本科毕业(设计)论文(二五)届题目:数据库事务处理的设计分院系部 计算机与信息科学系 专 业 计算机科学与技术 学生姓名 导师姓名 导师职称 讲 师 副 教 授 二五年六月一日数据库事务处理的设计 摘要:本文主要介绍了关系数据库系统事务处理的基本设计思想,并介绍事务处理系统中各组件的基本功能和核心服务。以此为基础设计了一个简单的事务处理系统模型,对部分细节进行了详细设计。关键字:事务;事务处理;事务模型The Design of Transaction Processing in Database Abstract This article mainly introduced relational database system transaction processes the basic design thought, and introduction transaction processes in the system various modules basic function and the core service. Designed a simple transaction take this as the foundation to process the system model, has carried on the detailed design to the partial details.Keywords Transaction; Transaction Processing; Transaction Processing Model目 录前言11数据库中的事务处理11.1研究的意义11.2研究的背景及目的12事务22.1事务的概念与其特性22.2事务的必要性22.3事务的模型3扁平事务3带保存点的扁平事务3链事务3嵌套事务3分布事务4长事务4多级别事务42.4事务处理系统的定义53事务处理系统的各模块的核心服务和功能63.1一个事务的执行过程63.2事务处理系统重要组件必要功能的说明7事务处理监控器的服务7日志管理器的功能说明9锁管理器的功能说明9事务管理器的功能说明104设计与实现104.1事务处理的简单模型104.2具体的设计与细节12事务标识符的设计12事务处理监控器的设计13日志管理器的设计13锁管理器的设计16事务管理器的设计165结论21前言事务处理的发展已经有了上千年的历史了。从5000年前的殷人开始使用乌龟的外壳记事以来,已经经过了几千年的历史了。20世纪后半叶在事务处理方面出现了两个主要的发展:基于磁性存储介质(磁带和磁盘)的成批事务处理以及基于电子存储和计算机网络的联机事务处理。在数据库管理系统中附加上事务处理子系统会使系统有更好的可靠性。1数据库中的事务处理1.1研究的意义在修改数据库中的数据时,要使它里面的数据正确一致的被更新,这是事务处理的工作。当数据库系统出现更新故障时,为了将损失减少到最低,一般来使用事务处理来恢复数据。事务处理的发展已经很久了,其理论和技术相对来说是比较成熟的。1.2研究的背景及目的国外的数据库经过几十年的发展,现在几乎垄断了整个市场。数据库技术是整个信息产业的核心。即使数据库的存储介质发生了改变,数据库的概念并不会有所变化。中国已经有四家企业开发了自己的数据库(不包括台湾省)。这些数据库基本能够胜任中等强度与规模的数据库系统应用。对于那些核心业务应用,国产数据库的应用案例十分有限。同时在对图形工具的支持方面,国际主流数据库管理系统提供好的图形管理工具,而且还提供丰富的应用构件和套件,比如应用服务器、系统调优与分析工具、企业应用套件等。国产数据库的要赶上国外的数据库,还要很长时间。研究的目的是:通过对事务处理的研究设计出数据库所需要的事务处理系统。2事务2.1事务的概念与其特性事务是对物理和抽象的应用状态上的操作集合。事务作为单个逻辑工作单元执行一系列操作。一个逻辑工作单元必须有四个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务。保证数据一致性的关键是要明确数据访问和更新的序列。这一序列称为事务。它是并发和恢复的基本单位。下面分别对事务的四个特性进行叙述:原子性:一个事务对状态的改变是原子的。要么都发生,要么都不发生。原子性是从操作调用者的角度来定义,因为几乎没有任何原子操作(包括机器指令)在所有的实现层次上保持真正的原子性。一致性:一个事务是对状态的一个正确改变。作为一组操作没有违反任何与状态相关的完整性约束。这要求事务是一个正确的程序。隔离性:尽管事务是并发执行的,但看起来是单个执行的,即对于一个事务T,任何其他事务要么在T之前执行,要么在T之后执行,但不会既在T之前,又在T之后执行。持久性:一旦一个事务成功完成(提交),它对状态的改变不会受到其他失败事务的影响。2.2事务的必要性事务是为了实现软件容错的。现在没有一直都能运行而不出错的软件,当一个产品化的计算机系统由于软件问题崩溃,它的使用者并不会等到软件开发者来将此问题更正之后,才使用它,而是重启系统,希望这它下一次能运行起来,原因是因为它毕竟昨天被使用过。而系统通过用事务,系统恢复到最近的一个状态。软件故障是系统失败的主要来源,因为其他硬件上的故障都是被软件屏蔽掉的。软件故障是一个没有解决的问题。软件容错主要有两种方法:N版本程序设计和事务。两种方法一般可结合起来使用。数据库是用来管理大量数据的,它肯定会存在软件上的故障,此时只能是通过事务来使它内部的数据不会因为软件故障而被全部破坏掉。用N版本程序设计,它的实现和维护是昂贵的。这是因为要得到占大多数的结果,N至少是3。2.3事务的模型2.3.1扁平事务该模型是所有事务类型中最简单的一种。扁平事务中的所有操作是处于同一平面的,由一个Begin_Work()来标志开始,Commit_Work结束。这个原因使这种事务在执行之后的结果只有两种,除此之外没有其它的结果。一是全做,二是全不做。对于后者来说,原因有两个:一是事务放弃,一是外界的事件使其不能完成。因此它具有“要么全做,要么全不做”的特性。2.3.2带保存点的扁平事务系统在执行过程出错了,但是在一些情况下并不是所有的操作都无效的,如果使用前面的扁平事务,所有的操作都将回滚,这样做带来的结果是,一些不需要回滚的操作也被回滚了,代价也较大。如果是回到同一事务里面的较早状态,就能较好的支持了这类应用。所以在这种模型中设置保存点。2.3.3链事务链事务是保存点模式的一种变种。由前一个事务来触发后一个事务发生。2.3.4嵌套事务嵌套事务的定义有五点:1)嵌套事务是若干事务组成的一棵树,子树既可以是嵌套的,也可以是扁平事务。2)处在叶节点的事务是扁平事务。从根节点到叶节点通过的路径不同所经过的距离也是不同的。3)位于要节点的事务称为顶层事务,其他的事务称为子事务。事务的前驱被称为父(事务),事务的后继被称为子(事务)。4)子事务既可以提交,也可以回滚。直到父事务提交后,子事务的提交才会生效。所以,任何子事务只有在根事务提交后才能最终提交。5)树中的任意一个事务的回滚会引起它的所有子事务一同回滚。正是因为这一点,子事务仅保留了A、C、I特性,而不具有D特性。2.3.5分布事务分布事务一般是扁平事务,它应用于分布环境下,因此必须根据数据的位置来访问网络中的节点。2.3.6长事务以上所有介绍的事务模型都存在一个问题,一个比较大的批事务在前面几个事务模型里不能完美的解决掉。解决这个典型问题的方法一般是由执行一系列更新少量数据的事务构成,整个事务的原子性通过在数据库中的事务上下文数据来维持。上下文是空集的程序被称为上下文无关,其他的被称为上下文相关。影响了数据库的上下文的原因是因为其他的事务更新了数据库。2.3.7多级别事务Tselectinsertupdateselect插入元组插入B树项更新页插入地址表项定位插入项图1一个多级别事务的模型图多级别事务是嵌套事务的一般化和更自由化的版本。它们允许了子事务先提交,这使单独回滚子事务的修改是可能的。然而为了保证事务的四个特性。最终会假设存在一个补偿事务,如果父事务决定(或被迫)回滚,补偿事务就可以取消子事务已经完成的。的补偿事务可以是另外的嵌套事务和多级事务。因为这些补偿事务可以在所有嵌套层次被执行,这样就保证了所有的更新都可以被撤消,即使是在根节点失败之前所有子事务已经提交了的操作。因为这种模型使层次化对象实现模式允许通过隔离高层对象来保护较低层次上的修改,所以它具有所有的ACID特性。这样实现了对根事务的隔离,因此使原子地执行根事务成为可能。在数据库系统限制的情况下,这种多级别事务足够用了。虽然回滚时,执行补偿操作的代价要比仅仅存储旧值昂贵,但是回滚并不是一个频繁的操作,拥有更小的提交控制单元的好处就会远远超过补偿的代价。2.4事务处理系统的定义从不同的角度来认识事务处理系统,因为每一个角度看到的系统都是很不同的,很难对事务处理系统做一个定义。给出一个综合的定义是:事务处理系统提供工具使广泛应用的编程、执行和管理更加容易或者自动化。事务处理应用一般都支持多个设备组成的网络,这些设备可以把查询和更新请求提交给应用。在这些输入的基础上,应用维护着一些表示现实世界特定状态的数据库。应用研究的响应和输出总是驱使着现实世界的传动器和转换器,而它们改变和控制着这些状态。3事务处理系统的各模块的核心服务和功能首先来看一下,一个事务的执行过程:3.1一个事务的执行过程 图2事务执行过程中的核心服务当一个事务发出了Begin_Work()命令时,将在事务管理器中注册该事务并产生一个唯一的事务标识符。一个应用一旦开始了一个事务,它就可以开始调用数据库,并且把请求发送给本地和远程服务。当一个资源管理器得到该事务的第一个请求时,它就加入到事务中,告知本地的事务管理器它想参与此事务的提交和回滚。参与一个事务的资源管理器通常有多个。由于这些资源管理器代表着事务执行操作,所以它们把自已对对象所做的改变都记下来。作为一个规则,资源管理器记录新旧对象值。事务处理系统提供了一个日志服务记录这些改变。日志管理器有效地实施了一个顺序文件,里面记录了事务对对象的所有更新。当然,其他的资源管理器要告诉日志管理器这些更新是什么。为了提供隔离,资源管理器将封锁事务存取的对象;这防止了其他事务看到本事务没有提交的更新,也防止它们更改该未提交的事务所读写的数据。事务处理系统提供了一个封锁管理器供其他资源管理器使用。当事务发出Commit_Work()命令时,事务管理器将执行两阶段提交协议。首先它查询所有参与该事务的资源管理器,问它们是否认为该事务是一个一致的和完整的转变。当任一个资源管理器加以否决时,提交就失败了。但是如果所有的资源管理器都赞同,事务管理器将在日志中记

注意事项

本文(数据库中事务处理的设计)为本站会员(ni****g)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.