结构推理 什么是封锁协议?不同级别的封锁协议的主要区别是什么?
【正确答案】在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用 X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。这些约定或者规则称为封锁协议(Locking Protocol)。对封锁方式约定不同的规则,就形成了各种不同的封锁协议。不同级别的封锁协议,例如《概论》中介绍的三级封锁协议,三级协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。    一级封锁协议:事务 T在修改数据R之前必须先对其加X锁,直到事务结束才释放。    二级封锁协议:一级封锁协议加上事务 T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。    三级封锁协议:一级封锁协议加上事务 T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
【答案解析】