论文部分内容阅读
作为信息系统中重要的数据存储中心,数据库在各类故障下的可生存能力正受到越来越多的关注和考验。事务级恶意入侵是一种传统数据库安全机制无法完全避免并且很难及时发现的入侵方式。当恶意事务被发现时,数据库中的数据往往已经遭到了一定程度的破坏,并且访问了受损数据的数据库事务还会将受损的范围进一步扩大。传统数据库恢复机制无法识别并选择性地修复这些受损数据,而简单的回滚在恶意事务之后提交的全部事务所带来的损失及系统中断是很多应用难以接受的。入侵容忍数据库技术旨在提高数据库系统面临恶意入侵时的可生存能力,使其即使在被入侵的情况下仍能继续为用户提供数据服务。重点研究了入侵容忍数据库系统体系结构、受损评估模型、入侵容忍数据库系统日志机制、受损数据库的在线修复等问题,并以自主研发的达梦数据库管理系统为基础,构建了一个入侵容忍数据库原型系统ITDM。针对事务级入侵行为的特点讨论了入侵容忍数据库系统的功能需求和设计目标,在分析现有外挂式体系结构的不足的基础上,提出了一种内嵌式体系结构,在数据库服务器内部包含入侵容忍组件,使其能与其它组件共享事务执行过程中的信息。基于该体系结构并结合达梦数据库,设计了入侵容忍数据库原型系统ITDM的总体架构。在传统事务依赖模型的基础上,提出了一种能描述隐式事务依赖关系的扩展事务依赖模型。传统事务依赖模型只能追踪因写—读依赖关系而造成的显式事务依赖,但忽略了因遗漏被前驱事务删除的数据而导致的隐式事务依赖。扩展后的事务依赖模型采用多版本数据库,并增加了对数据库中历史版本的泛读操作,从而能同时追踪两类依赖关系,提高了事务依赖关系追踪的准确性。在综合考虑传统数据库故障恢复和选择性恢复的信息需求的基础上,提出了一种新的能适应入侵容忍需求的日志机制,并给出了基于该日志机制的数据库故障恢复及选择性恢复方法。该日志机制在传统日志结构中增加了事务依赖日志,并以前像表代替传统日志机制中的回滚段,使系统能以统一的方式兼顾传统恢复功能和选择性恢复功能。最后,分析了此方法的空间和时间开销,并与两个代表性入侵容忍数据库原型系统ITDB和Phoenix所采用的方法进行了对比。设计了一套完整的受损数据库在线修复方案。该方案基于ITDM中特有的前像表和事务依赖表结构,包括二阶段受损限制方法、受损评估算法和在线修复算法等多项技术,解决了在线修复过程中的污染泄漏、修复算法终止条件、与入侵检测系统的同步等多个关键问题。我们在ITDM原型系统中完成了该方案的实现并进行了基于TPC-C测试基准的多组性能实验。