- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Melinets图书管理系统死锁问题的研究
Melinets图书管理系统死锁问题的研究
[摘要]不同的数据库管理系统提供的封锁类型、封锁协议、达到的系统一致性级别不尽相同,但其依据的基本原理和技术是共同的。通过对melinets图书管理系统死锁问题的研究,分析了SYBASE数据库锁的机制,提出了预防死锁的几种措施,并给出了解除死锁的相关方法。
[关键词]melinets sybase 死锁
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420041-02
Melinets是北京邮电大学开发的一种集采访、编目、流通、期刊等子系统在内的图书馆自动化管理系统,其后台采用SYBASE数据库。它通过锁的方式保护被活动的事务正在使用的表、数据页或者数据行。加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。确切的控制由锁的类型来决定。原郑州经济管理干部学院(现河南工程学院)于2003年至2008年10月一直使用该图书管理系统,在对图书进行数据加工,书目数据发送等过程中,经常出现进程阻塞甚至死锁的现象。本文从SYBASE数据库死锁的原理出发,结合melinets死锁发生的具体情况,提出了在应用melinets过程中预防和处理死锁的相关措施。
一、Sybase锁的类型及作用
(一)共享锁(Share Lock)
共享(S)锁允许并发事务读取(Select)一个资源。资源上存在共享锁时,任何其他事务都不能修改数据。Sybase对读操作加Share锁。如果一个S锁已经加在一个表、数据页、数据行或索引页上,即使加锁的事务是活动的,其他事务仍然可以获得S锁。但在表或数据页或数据行上的所有S锁被释放前,其他事务都不能获得该表或页面或行的exclusive锁。这就意味着多个事务可以同时读表、页面或行,但没有事务能对已经加S锁的表、页面或行中的数据进行修改,而必须等待S锁释放后才能继续。
(二)排他锁(Exclusive Lock)
排他(X)锁是为修改数据而保留的,可以防止并发事务对资源进行访问。排他锁与其他锁不兼容。Sybase对数据更改操作加Exclusive锁。如果一个事务获得了一个Exclusive锁,那么在这个事物结束时释放Exclusive锁之前,其他事务在相应的表或页面或行上不能获得任何类型的锁。其他事务必须等到Exclusive锁释放后才能继续。
(三)更新锁(Update Lock)
一般更新模式由一个事务组成,此事务读取记录,获取资源(页或行)的共享锁,然后修改行,此操作要求锁转换为排他锁。如果两个事务获得了资源上的共享模式锁,并试图同时更新数据,则其中一个事务会尝试将锁转换为排他锁。因为一个事务的排他锁与其他事务的共享模式锁不兼容,所以从共享模式到排他锁的转换必须等待一段时间。而此时,第2个事务也试图获取排他锁以进行更新,于是就出现同时持有共享模式锁的两个事务彼此等待对方释放共享模式锁的情形,从而发生死锁。要避免这种潜在的死锁问题,就要使用更新锁.一次只有一个事务可以获得资源的更新锁。如果事务修改资源,则更新锁转换为排他锁,否则转换为共享锁。Sybase在Update,Delete或Fetch的初始阶段加Update锁。如果页面或者行的内容需要修改,只要没有其他Share锁在上面,Update锁立即升级为Exclusive锁。
(四)意向锁(Intent Lock)
意向(I)锁指出在一个表上有页级或行级锁。Sybase对每一个有Share或Exclusive的页或行锁的表加意向锁。所以意向锁可以是Exclusive
锁,也可以是Share锁。设置意向锁可以防止其他后来的事务在有锁住的页的表上获得冲突的表级锁。意向锁持续的时间和事务中页或行锁的时间一样长。
二、melinets死锁的产生与预防
一般来说,如果事务T1封锁了数据R1,T2封锁了R2,然后TI又请求封锁R2,因为R2已经被T2封锁,于是TI等待T2释放R2,上的锁。接着T2又申请封锁R1,因为TI已经封锁了R1,于是T2也只能等待T1释放R1上的锁。这样一来,就出现了T1封锁R1同时等待R2,T2封锁R2同时等待R1。于是T1,T2两个事务永远不能完成,就形成死锁。
例如在应用melinets集中进行数据批量发送过程中,经常容易引起死锁。melinets数据发送过程实际就是将已编目好的书目表数据向流通典藏表更新的过程,批量发送就相当于批量更新。尤其是在同一时间段进行批量发送的用户越多,这时就
您可能关注的文档
- IT行业上市公司财务报表分析问题的探讨.doc
- IT系统的项目实施及运维实施质量的影响因素分析.doc
- IT行业平衡计分卡绩效管理的研究.doc
- IT解决的方案让营销更有效.doc
- IT设备数据管理技术的应用浅析.doc
- IT部门“过冬”的策略.doc
- IT设备集中运维管理系统的研究.doc
- IT资产现场管理的应用的研究.doc
- IT运维管理关键问题的探讨.doc
- IT配电系统分布绝缘参数测量的方法的研究.doc
- 2025年应急指挥专员工作总结及下一年工作计划.docx
- 2025年农业科技五年实践:智慧农业与精准种植行业报告.docx
- 2025年物流地产五年发展:产业集群与运营效率分析报告.docx
- 2025年医疗行业五年精准化预防化报告.docx
- 2025年应急指挥专员工作总结暨下一步工作计划.docx
- 2025年老年食品包装材料创新报告.docx
- 2025年量子计算十年突破:量子加密技术应用报告.docx
- 2025-2026学年小学音乐西师大版一年级下册-西师大版教学设计合集.docx
- 2025年数据中心建设对光纤光缆需求影响分析报告.docx
- 2025年数字税务五年趋势:征管电子发票报告.docx
原创力文档


文档评论(0)