高级功能
任务 1:死锁预防或死锁检测(2 分)
实验描述
悲观并发控制机制在框架中加入两阶段锁机制来解决写写冲突问题,但是缺少对于死锁情况的处理,高级功能中需要在框架基础上添加死锁检测或死锁预防机制解决死锁问题。
实现思路
- 步骤 1:理解死锁发生的条件并设计产生死锁的测例。
- 步骤 2:设计死锁检测或死锁预防机制,当系统出现死锁时进行处理。
任务 2:基于版本链的垃圾回收(2 分)
实验描述
与实验 1 的高级功能类似,本任务需要对无用元组进行回收。然而与实验 1 通过全表扫描进行垃圾回收的方法不同,本任务需要基于 MVCC 版本链实现记录扫描过程中的垃圾回收操作。
实现思路
- 步骤 1:为记录头添加版本链信息,通过链表连接一条数据的不同版本。
- 步骤 2:设计垃圾回收方案,对无用的旧版本数据进行回收。
高级功能满分不再设置为 3 分,总分超过 3 分时将按照实际得分记录,即每次实验总得分可以超过 20 分。