核心化体系结构的多级安全数据库系统中不同级别事务由该级别DBMS实例处理,DBMS实例自行维护事务日志缓存.事务处理过程中高级事务可能读取已提交的低级事务数据,如果低级事务提交日志记录尚未写入持久存储,而高级事务已提交并且提交日志记录写入持久存储后系统崩溃,恢复后系统将进入不一致的状态.为解决上述问题引入一个可信的日志协调实体维护全局的未决提交事务间的依赖关系,并协调各个DBMS实例的提交日志记录写出操作,保证被依赖的提交日志记录先于依赖它们的日志记录写入持久存储.文中还给出了方案的实现算法,并证明了算法的正确性,通过分析论证了方案的实用性.
In a kernelized DBMS, transactions are processed by their corresponding DBMS instances and those instances maintain log storage and log caches of their own. During the execution of transactions, a transaction having high security level may read data item which is generated by low security level transaction. Suppose when the commit log record of low level transaction is still in cache and the high level transaction has committed and the commit log has been flushed into durable storage, the system will reach an inconsistent state after restarting. In order to solve the problem, a trusted log coordinator is introduced to maintain the global dependency of pending commit transactions' commit log record coordinate the log writing of different DBMS instances to guarantee that the depended commit log records are written out before the depending ones. Algorithms of the scheme are given and their correctness is proven. Finally, the effective of the scheme is demonstrated via analysis.