●●● ●●●● ●●●●● ●●● 34原子事务 ●●●0● ●●●0 ●迄今为止我们研究的所有同步技术本质上都是 处于底层的,比如信号量 ●这些技术都需要编程人员涉及互斥、临界区管理、 死锁预防、崩溃恢复等问题的细节。 而程序员喜欢的是更高层次的抽象, 也就是要隐藏这些技术问题,允许编程人员将精力 集中在算法和进程如何并行运行上。 ●这样的抽象是存在的,而且被广泛应用在分布 式系统中。我们称其为原子事务,或简称事务。 术语原子操作也被广泛使用 陈香兰@2007.3 分布式系统同步(续)
陈香兰@2007.3.21 分布式系统同步(续) 17 3.4 原子事务 ⚫ 迄今为止我们研究的所有同步技术本质上都是 处于底层的,比如信号量。 ⚫ 这些技术都需要编程人员涉及互斥、临界区管理、 死锁预防、崩溃恢复等问题的细节。 ⚫ 而程序员喜欢的是更高层次的抽象, ⚫ 也就是要隐藏这些技术问题,允许编程人员将精力 集中在算法和进程如何并行运行上。 ⚫ 这样的抽象是存在的,而且被广泛应用在分布 式系统中。我们称其为原子事务,或简称事务。 术语原子操作也被广泛使用
●●● 34.1原子事务简介 ●●●● ●●●●● ●●● 1、商业模型 ●●●0● ●●●0 原子事务的最初模型来源于商业社会 ●假设D公司需要一批装饰品,他们与潜在的供应商W 公司进行联系,希望6月份能交付10万件10厘米的装 饰品。W公司提出12月份交付10万件淡紫色装饰品。 D公司同意对方开出的价格,但不喜欢紫色,并且希 望6月份到货,而且因为自己的客户是国际客户,因 此,坚持要10厘米的产品。W公司答复说10月份提供 315/16英寸的淡紫色装饰品。经过更进一步的谈判, 双方最终同意8月15日交付3959/1024英寸的紫罗兰 装饰品。 陈香兰@2007.3 分布式系统同步
陈香兰@2007.3.21 分布式系统同步(续) 18 3.4.1 原子事务简介 1、商业模型 原子事务的最初模型来源于商业社会。 ⚫ 假设D公司需要一批装饰品,他们与潜在的供应商W 公司进行联系,希望6月份能交付10万件10厘米的装 饰品。W公司提出12月份交付10万件淡紫色装饰品。 D公司同意对方开出的价格,但不喜欢紫色,并且希 望6月份到货,而且因为自己的客户是国际客户,因 此,坚持要10厘米的产品。W公司答复说10月份提供 3 15/16英寸的淡紫色装饰品。经过更进一步的谈判, 双方最终同意8月15日交付3 959/1024英寸的紫罗兰 装饰品
●●● ●●●● ●●●●● ●●● ●●●0● ●●●0 ●到此为止,双方就可以自由中断本次谈判,返 回到开始谈判前的状态 ●然而,一旦公司双方签订了合同,那么不论发 生什么事情,他们在法律上都有责任完成该合 约 ●因此,在双方还未签字前,任何一方都可以反 悔,就像什么都没有发生一样,但是一旦双方 都签了字,他们就不能再反悔,合同就必须被 执行。 陈香兰@2007.3 分布式系统同步
陈香兰@2007.3.21 分布式系统同步(续) 19 ⚫ 到此为止,双方就可以自由中断本次谈判,返 回到开始谈判前的状态。 ⚫ 然而,一旦公司双方签订了合同,那么不论发 生什么事情,他们在法律上都有责任完成该合 约。 ⚫ 因此,在双方还未签字前,任何一方都可以反 悔,就像什么都没有发生一样,但是一旦双方 都签了字,他们就不能再反悔,合同就必须被 执行
●●● ●●●● ●●●●● ●●●● 2、多进程之间的模型 ●●●0● ●●●0 分布式系统中多进程之间的模型和商业模型相类似 个进程宣布它想和其他一个或几个进程开始一个事务 它们可以就不同的选择进行协商、创建、删除对象,执 行一段时间的操作 然后发起者宣布它希望其他进程能保证任务完成。 如果其他进程都同意,那么就达成了永久的协议。 ●如果有一个或几个进程拒绝(或在同意前崩溃),那么 就会返回到事务开始前的状态。这时对象、文件、数据 库等方面的副作用都不会发生 这种要么全有要么全无的特性简化了编程人员的工作。 陈香兰@2007.3 分布式系统同步
陈香兰@2007.3.21 分布式系统同步(续) 20 2、多进程之间的模型 分布式系统中多进程之间的模型和商业模型相类似。 ⚫ 一个进程宣布它想和其他一个或几个进程开始一个事务, 它们可以就不同的选择进行协商、创建、删除对象,执 行一段时间的操作。 ⚫ 然后发起者宣布它希望其他进程能保证任务完成。 ⚫ 如果其他进程都同意,那么就达成了永久的协议。 ⚫ 如果有一个或几个进程拒绝(或在同意前崩溃),那么 就会返回到事务开始前的状态。这时对象、文件、数据 库等方面的副作用都不会发生。 ⚫ 这种要么全有要么全无的特性简化了编程人员的工作
●●● ●●●● ●●●●● ●●● 3、磁带系统模型 ●●●0● ●●●0 ●计算机系统中对事务的使用可以回溯到20世纪60年代。 在硬盘和在线数据库出现之前,所有的文件都保存在 磁带上。 假设有一个有自动盘点系统的超级市场,每天关门后, 计算机对两盘作为输入的磁带进行处理: °第一盘磁带存有当天早晨开门以前的所有库存, 第二盘存有当天已销售给客户的产品和交付给供应商的产品。 ●计算机从两盘磁带上读取数据,并生成新的主库存磁 带,如图所示: 陈香兰@2007.3 分布式系统同步
陈香兰@2007.3.21 分布式系统同步(续) 21 3、磁带系统模型 ⚫ 计算机系统中对事务的使用可以回溯到20世纪60年代。 在硬盘和在线数据库出现之前,所有的文件都保存在 磁带上。 ⚫ 假设有一个有自动盘点系统的超级市场,每天关门后, 计算机对两盘作为输入的磁带进行处理: ⚫ 第一盘磁带存有当天早晨开门以前的所有库存, ⚫ 第二盘存有当天已销售给客户的产品和交付给供应商的产品。 ⚫ 计算机从两盘磁带上读取数据,并生成新的主库存磁 带,如图所示: