浅谈分布式并发控制.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈分布式并发控制

浅谈分布式并发控制 摘要:本文首先介绍了分布式系统的基本概念和并发控制的原理及目的方法。着重描述了几种基本的分布式并发控制的技术,例如基于锁的并发控制技术、基于时间戳的并发控制技术和基于事务的并发控制技术,等等。 关键字:分布式并发控制,基于锁的并发控制,基于时间戳的并发控制,基于事务的并发控制技术 0.引言 计算机现在一般不再单独使用,办公室工作站常与远程打印机、文件服务器、数据库相联。家庭计算机也可通过调制解调器访问电子信息,如电子邮件、公告板、web节点等。大的公司和企业有成百上千乃至上万台计算机通过网络连接起来,协同控制诸如汽车生产、石油提炼、钢铁冶炼、食品生产、电站运行以及商品的设计、开发、销售等。分布式计算已经成为必不可少的技术。 分布式系统中的每个节点既独立工作,又与所有其他节点并行工作。每个节点多于一个进程(执行程序),每个进程多于一个线程(并行执行任务),可在系统中充当组件。大多数组件具有反应性,对来自用户的命令和来自其他组件的消息不断地进行响应。像操作系统一样,分布式系统旨在避免终止,因此应始终保持至少部分可用的状态。 分布式并发控制作为分布式事务管理的基本任务之一 ,其目的是保证分布式数据库系统中多个事务高效而正确地并发执行。   分布式计算机系统的特点:无主从区分;计算机之间交换信息;资源共享;相互协作完成一个共同任务 分布式计算机系统的功能:通信结构;网络操作系统;分布式操作系统(透明性) 2.分布式并发控制 所谓并发控制就是负责正确协调并发事务的执行 ,保证这种并发存取操作不会破坏数据库的完整性和一致性 ,以确保并发执行的多个事务能够正确运行并获得正确结果。并发控制算法主要用于控制事务冲突操作的交错执行 ,以保持数据库的完整性。并发控制旨在提高系统执行效率, 并保证分布式事务的一致性,保证允许非冲突的事务可以并发进行,冲突的事务可以串行化进行。利用并发控制的数学理论 ,可以将分布式控制归结为两个基本问题 ,即读—写同步 ( read - writesynchronization) 和写—写同步 (write - write synchro2nization) 。 分布式并发控制基本算法常见的有基于锁机制的并发控制方法、基于时间戳的并发控制方法还有基于多数法的并发控制方法,等等。下面是对几种并发控制方法的介绍。 2.1基于锁机制的并发控制方法 基于锁(Locking)机制的并发控制方法 ,是常见的一种并发控制算法。这种锁机制的基本思想是:事务对任何数据的操作均须先申请该数据项的锁 ,只有申请到锁 ,即加锁成功后才可对数据进行操作。操作完成以后 ,释放所申请的锁。如果需申请的锁已被其它事务锁定则要等待 ,直到那个事务释放该锁为止。通过锁的共享及排斥特性 ,来实现事务的可串行化调度。采用锁模型实现并发控制的最著名算法 ,是两段锁协议(即2P L 协议) ,另外常用的还有多副本并发控制方法。 2.1.1两段锁协议 简单说 ,两段锁协议[3,4]的原则是事务在释放某锁后不能再提加锁请求。或者说 ,一个事务应当在确定其不再需要其它加锁的情况后才释放所持有的锁。两段锁协议把每个事务的执行均分为两个阶段:生长阶段和衰退(或收缩)阶段。在生长阶段 ,事务获得锁并访问数据项,这在阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。在这阶段,事务可以释放任何数据项上的任何类型的琐,但是不能再申请任何琐。 两段锁协议不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁。 图1 封锁序列 2.1.2多副本并发控制方法 多副本的存在一方面改善了系统的性功,提高了系统的稳定性,所以必须通过某种手段,保证各个副本之间的一致性。基本的多副本并发控制算法有:读--写全法,主副本法,中心场地法,多数法。 读 — 写全法:该方法的特点是:当事务对某一数据项加锁时 ,若加读锁则只对多副本中的某一副本加锁。 多数法:多数法对数据项的加锁 ,只有当获得多于副本数一半以上的锁(包含读或写锁)后才可以进行 ,即加锁的副本数总要大于未加锁的副本数。因此, 当两个事务对同一个数据项申请加锁时, 一个事务锁住了该数据项半数以上的副本, 另一事务也要申请在半数以上的副本上加锁, 则至少有一个副本会发生冲突, 局部管理程序将拒绝后一事务的加锁请求, 从而实现了同一时刻内两事务不可能对同一数据项及副本加排他锁, 只可以加共享锁。 主副本法:当对某一数据项加锁时 ,不管其副本数多少 ,只要对其中一个称为主副本的加上锁 ,即得到该数据项的锁。 2.2基于时间戳的分布式并发控制 时间戳顺序[2,5]与两段锁是不同的 ,两相端锁(2P

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档