论文部分内容阅读
从20世纪70年代数据库理论的出现到现在,数据库技术伴随着编程思想和编程语言的发展也在不断的进化中。从最早出现的层次数据库系统,到后来的关系数据库系统,再到后来伴随着面向对象技术的出现和成熟,也出现了对象数据库系统。随着上世纪末面向方面(Aspect-Oriented)编程思想的出现,在本世纪初面向方面数据库系统的概念也应运而生。面向方面编程思想是对面向对象编程思想的扩展和升级,它能解决面向对象软件系统中存在的代码重叠度高,可定制性差和不易于维护等问题;面向方面数据库系统也是对面向对象数据库系统的一个完善和改进。如同其它大型的面向对象软件系统,面向对象数据库系统也存在着许多横切关注点(Crosscutting Concern),这些横切关注点分布在Database层和DBMS(Database Management System,数据库管理系统)层上。而在面向对象数据库系统上引入面向方面技术构建面向方面数据库系统,能使数据库系统具有更好的模块性,可定制性和易于维护性。作为一种新兴的数据库系统框架,面向方面数据库系统目前处在理论研究和实验阶段。本文主要研究了面向方面技术的本质、各种实现和技术的优势,数据库系统上的横切关注点及分离和面向方面数据库系统中方面基于日志的编织和恢复机制。首先深入研究了面向方面技术和分离横切关注点的方法,然后从面向方面的角度去研究了数据库系统中Database层和DBMS层上的一些横切关注点。在此基础之上,研究了在DBMS中内建方面编织器时要引入的需要时编织和编织历史机制并提出了一种基于日志的编织方法,该方法实现了需要时编织和编织历史机制并保证了方面的持久性。然后进一步提出面向方面数据库系统在正常重启时和异常发生后重启时基于日志快速恢复方面编织状态的机制。最后通过实验,分别在系统存在和不存在日志缓冲区的两种情况下验证了该机制的有效性。