论文部分内容阅读
随着Web技术的发展,数据库系统的安全性,可生存性以及可靠性要求数据库系统在遭受入侵后能够提供受损数据扩散范围检测与自修复能力,并在恢复过程中提供持续服务能力,这种能力称为数据库动态恢复。围绕数据库动态恢复的建模、分析、设计与实现中的关键技术,展开以下5个方面的研究:数据恢复模型、受损数据检测技术、动态恢复结果一致性与恢复效率、受损数据隔离技术以及数据库动态恢复原型系统的设计与实现。为了提高数据受损范围评估的准确度,并使数据恢复具备动态特性,提出了一个扩展的数据恢复模型。该数据恢复模型包括两个部分:受损范围评估和受损数据动态恢复。受损范围评估通过引入扩展读写依赖、影像依赖、伪实体完整性依赖、域完整性依赖以及参照完整性依赖5种可能引起数据受损范围扩散的事务依赖关系的概念以及受损评估算法,提高了受损范围评估的准确度。受损数据动态恢复根据动态恢复中前向恢复的特点,将补偿事务调度与受损数据隔离引入数据恢复模型,使数据恢复模型具有了动态特性。为了实现新的受损范围评估模型,给出了受损数据检测方法。该方法采用基于事务执行历史的检测和运行时检测相结合的技术捕捉与恶意事务存在扩展读写依赖,影像依赖,伪实体完整性依赖,域完整性依赖以及参照完整性依赖的受影响事务和受影响数据,构造补偿事务进行数据修复。为了解决补偿事务调度问题产生的动态恢复结果不一致性错误,降低由于补偿事务执行对数据库系统带来的性能损耗,提出了补偿事务调度算法和补偿事务冗余操作检测与合并算法。补偿事务调度算法针对冲突补偿操作多次修改同一数据项导致的恢复结果错误问题提出了正确的补偿事务调度策略;补偿事务冗余操作检测与合并算法对同一元组的不同列的补偿操作加以合并;作用于同一数据项的前驱补偿操作予以去除,简化了补偿事务的构造,降低了补偿事务执行对数据库系统带来的性能损耗。为了保证受损数据在数据修复阶段不被用户事务访问,避免在数据修复阶段的数据受损范围扩大,提高数据恢复的效率,提出了受损数据隔离方法。受损数据隔离在数据库管理系统内部实现,通过修改数据库管理系统内核实现的受损数据隔离策略定义、管理、激活技术,对数据修复期间用户请求进行有效的访问控制。在上述研究的基础上,设计并实现了数据库动态恢复原型系统。原型系统构建在介于客户端和数据库服务器之间的中间层。实验表明,该数据库动态恢复原型系统具有较好的可用性。