欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

什么是封锁协议?不同级别的封锁协议的主要区别是什么?如何用封锁机制保证数据的一致性?

时间:2018-03-07

什么是封锁协议?不同级别的封锁协议的主要区别是什么?如何用封锁机制保证数据的一致性?

答案说明:本题目答案来自网络整理或转载,最终答案请以官网为准。


答 案:在对数据对象加锁时需要约定一些规则这些规则称为封锁协议。一级封锁协议:是事务T在修改数据之前必须先对其加x锁直到事务结束才释放一级封锁协议可有效的防止丢失修改并能够保证事务T的可恢复性。一级封锁协议由于没有对数据进行加锁所以不能保证可重复读和不读“脏”数据。二级封锁协议:是事务T对要修改的数据必须先加x锁直到事务结束才释放x锁;要读取的数据必须先加S锁读完后即可释放s锁。二级封锁协议能够防止丢失修改还可进一步防止读“脏”数据。三级封锁协议:是事务T在读取数据之前必须先对其加S锁在要修改数据之前必须先对其加x锁直’到事务结束后才释放所有锁。由于三级封锁协议强调即使事务读完之后也不释放s锁从而使的别的事务无法更改数据A。三级封锁协议防止了丢失修改和读“脏”数据。封锁机制作为并发控制的重要手段利用封锁的特性和封锁协议再加上并发操作保证事务的隔离性用正确的方式调度并发操作使一个用户事务的执行不受其它事务的干扰从而避免数据的不一致。
在对数据对象加锁时,需要约定一些规则,这些规则称为封锁协议。一级封锁协议:是事务T在修改数据之前必须先对其加x锁,直到事务结束才释放,一级封锁协议可有效的防止丢失修改,并能够保证事务T的可恢复性。一级封锁协议由于没有对数据进行加锁,所以不能保证可重复读和不读“脏”数据。二级封锁协议:是事务T对要修改的数据必须先加x锁,直到事务结束才释放x锁;要读取的数据必须先加S锁,读完后即可释放s锁。二级封锁协议能够防止丢失修改,还可进一步防止读“脏”数据。三级封锁协议:是事务T在读取数据之前必须先对其加S锁,在要修改数据之前必须先对其加x锁,直’到事务结束后才释放所有锁。由于三级封锁协议强调即使事务读完之后也不释放s锁,从而使的别的事务无法更改数据A。三级封锁协议防止了丢失修改和读“脏”数据。封锁机制作为并发控制的重要手段,利用封锁的特性和封锁协议,再加上并发操作保证事务的隔离性,用正确的方式调度并发操作,使一个用户事务的执行不受其它事务的干扰,从而避免数据的不一致。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。