分布式系统之8、同步2.ppt_第1页
分布式系统之8、同步2.ppt_第2页
分布式系统之8、同步2.ppt_第3页
分布式系统之8、同步2.ppt_第4页
分布式系统之8、同步2.ppt_第5页
免费预览已结束,剩余30页可下载查看

下载本文档

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

文档简介

同步(2),一、事务概念与模型,1、基本概念,事务与互斥一样,保护共享资源不被多个并发进程同时访问。允许进程把访问和修改数据项的一组操作作为一项原子操作来完成。进程如果在事务处理期间退出,所有数据都恢复到事务开始前的状态。这是事务本质属性。,2、事务实例,银行系统转帐第一步从帐户1提取金额a第二步向帐户2存入金额a特点:如果第一个操作完成,但第二个操作失败,则钱就消失了这两个操作要么全有,要么全无,事务实例,超市库存存储早期使用磁带存储交易的超市中,一天用两盘磁带存储当天的交易第一盘记录早上开张前的库存,第二盘记录当天更新列表晚上用这两盘磁带进行盘点更新库存。盘点更新的时候,如果有任何一个更新失败,磁带倒卷回去,全部重新开始,但不会造成损失。,利用磁带盘点更新的超市事务模型,3、事务原语,典型的事务原语,4、使用原语定义事务,从济南飞往台北,一条可能的路线是从济南飞北京,从北京飞香港,再从香港飞台北。这个事务可以描述如下:,5、事务特性,四个基本特性(ACID):原子性(atomic):事务不可分割一致性(consistent):事务不能破坏系统的恒定性独立性(isolated):并发事务不会相互干扰持久性(durable):一旦事务提交,改变永久有效,事务特性,最关键特性是原子性一致性是指如果系统有某种守恒性质,则事务不能破坏这种守恒性质,例如银行的钱款守恒库存事务中货物数量的恒定性。独立性说明了事务是独立的或者串行的多个事务执行,最后结果好像依赖系统既定的某个顺序执行,二、事务分类,单层事务嵌套事务分布式事务,1、单层事务,目前为止,我们讨论的事务都属于单层事务单层事务的缺陷:预订航班时,如果因为最后一次航班订不上而撤销全部预订显然不合适,因为再订的话,前面的也很难订上了,单层事务,Web页面更新例:设一个Web页面W被其他站点的页面引用如果W位置发生变更或者被其他页面替代,则需要将所有引用它的页面都更新,否则将出现引用不一致的问题单层事务可以应用,但是问题在于这个数量非常庞大,更新时间长,事务失败的几率非常大。显然单层事务不合适。,2、嵌套事务,嵌套事务:一组子事务构成顶层事务可以分解为在不同机器并行运行的子事务克服单层事务的局限性可以提高性能或简化编程例:飞机票预定、Web页面更新,嵌套事务,嵌套事务特点子事务一旦提交,其结果对其父事务是可见的,但不具备持久性只有顶层事务提交之后,统一的总体结果才具有持久性高层的事务中止必须导致其子事务的中止,嵌套事务,嵌套事务提供了一种将事务分布到多台机器上的分布式方式它是根据事务的逻辑来划分事务,按照逻辑关系分解成一层层子事务嵌套事务处理的是集中数据(是指对于最小的事务),3、分布式事务,分布式事务是一种单层事务逻辑上不可分割处理的数据是分布在多台机器上例:银行转帐事务中,用户数据在不同的数据库中分布式事务的主要问题需要用分布式算法来锁定数据并提交事务,嵌套事务与分布式事务,三、实现,私有工作空间写前日志,1、私有工作空间,原理当一个进程开始一个事务时,被分配一个私有空间,该空间包含它所有需要访问的文件事务提交或者中止以前,它所有的读写操作都在私有空间中进行,不直接操作文件系统当事务失败时,只需要在私有空间中还原即可,私有工作空间,最大缺点:开销非常大优化规则一:读文件不需要私有拷贝优化规则二:只将索引复制到私有空间中当文件块第一次被修改时,生成该块的副本,进入私有空间私有工作空间也可以用于分布式事务中,利用索引的私有工作空间与事务的实现,2、写前日志,写前日志真正修改原文件系统每一个修改操作的详细信息都被记录到日志中,只有日志被成功写入了,对文件的改动才写入文件回滚(rollback):如果事务异常中止,系统从日志的末尾开始向前读日志中的每一条记录,按照日志的记录撤销改动写前日志的方法也适用于分布式事务。,写前日志,四、并发控制,1、基本概念,并发事务是同时对共享数据进行操作的事务共享数据的一致性问题并发控制允许几个事务同时进行,但是被操作的数据项集合要保持一致的状态允许事务以某一特定顺序执行,以此保证数据一致性,基本概念,基本实现模型:事务处理系统模型事务管理器:保证事务的原子性调度管理器:正确控制并发数据管理器:完成数据读写操作,不关心事务可以应用于分布式事务中每个站点有调度管理器和数据管理器,它们一起保证本地数据一致性事务管理器与各站点的调度管理器通信,事务处理系统模型,分布式事务处理系统模型,2、并发控制方法,并发控制方法思想:正确地调度相冲突的操作,包括读写冲突,写写冲突。算法:可以通过共享数据上的互斥机制也可以通过显式地使用时间戳排序的方法来实现。,并发事务的调度,并发控制方法,排序的并发控制算法可以分为悲观算法和乐观算法,悲观算法:基本原则是墨菲定律,即如果某事物可能出错,那么它就会出错。所以悲观算法中操作是在它们被执行前同步。乐观算法:基于错误一般不会发生的观点,所以操作被简单地执行,在事务结束后再进行同步。,作业,有如下事务,设它是以写前

温馨提示

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

评论

0/150

提交评论