论文摘要
自适应锁缓冲算法是目前数据库并发控制领域中最出色的方法之一,但在实际运用中,由于“最小粒度事实锁”现象的存在增大了并发控制成本,为此本文引进了锁粒度升级机制来解决该问题。另外针对该算法所产生的页面并发修改问题本文也提出了一种改进的方法,这两个地方的改进使得该算法更加完善也更加实用。我们把改进后的算法运用在面向对象数据库管理系统ONet的并发控制之中,取得了良好的效果。 面向对象数据库随着面向对象技术的深入人心,逐渐被应用于大量而广泛的领域中。例如:GIS系统、智能决策支持系统、Internet数据库、内容管理等众多领域。ONet系统就是在这样的背景下进行研究和开发的。 本文第二章介绍了ONet大致的发展情况,包括其产生的历史,体系结构,服务器构造特点,故障恢复策略,提供的应用程序接口等问题,使读者能对ONet有一个大概的了解。 在第三章中,我们简单的介绍了数据库并发控制的问题,包括事务的并发执行,并发控制的方法等等,接着介绍了最一般的并发控制方法——加锁。针对C/S架构的特点,加锁并发控制方法也发生了一定的变化,产生多个变种,这些问题也在本章加以讨论。 第四章主要介绍了自适应锁缓冲算法的基本原理,深入探讨了缓冲锁和事实锁的区别,锁的粒度和分布,论述了“最小粒度事实锁”的现象以及带来的不良影响,因此我们引入了锁粒度升级机制来解决这个问题。另外,细粒度并发控制使得页面内的并发修改变成可能,参考原来的解决方法,我们提出了一个改进的页面修改合并方法,取得的较好的效果。 第五章介绍了该算法在ONet中的具体实现。为了实现该算法,ONet的页面服务器实现了部分对象服务器的功能,我们称之为“对象页面服务器”。该算法最核心的部分是缓冲锁的管理,本章分别介绍了服务端和客户端的具体实现,讨论缓冲锁的授予与回收的各种情况。 最后,本文总结了ONet并发控制部分的优缺点,并提出了其今后还需要进一步改进的问题和相关解决思路。
论文目录
摘要ABSTRACT第一章 面向对象数据库系统简介1.1 引言1.2 面向对象数据库发展现状1.3 面向对象数据库系统的应用领域1.3.1 地理信息系统(GIS)1.3.2 智能决策支持系统1.3.3 Internet数据库1.3.4 产品数据管理(Product Data Management,PDM)1.3.5 移动数据库1.4 面向对象数据库系统的最新发展1.4.1 XML与OODB的结合1.4.2 统一数据架构1.5 面向对象数据库存在的问题和发展趋势1.6 结论第二章 ONET的发展与技术特点2.1 概述2.2 ONET简介2.3 ONET的技术发展2.3.1 体系结构2.3.2 被动事务和高效I/O2.3.3 故障恢复策略2.3.4 ODMG标准2.3.5 对象组件技术2.3.6 异构系统事务支持第三章 数据库并发控制算法3.1 并发控制概述3.1.1 事务3.1.2 事务并发执行的问题3.1.3 并发控制方法3.2 加锁并发控制3.2.1 三级封锁协议3.2.2 可串行性与二阶段加锁协议3.3 客户/服务器环境下加锁协议的各个变种3.3.1 C/S架构对并发控制的影响3.3.2 数据缓冲3.3.2.1 问题描述3.3.2.2 一致性算法3.3.3 锁缓冲3.3.3.1 单纯数据缓冲的不足3.3.3.2 基本锁缓冲算法3.3.3.3 自适应复合粒度锁缓冲算法3.4 ONET并发控制的发展第四章 自适应锁缓冲算法的分析和改进4.1 概述4.2 原理和并发控制层次4.3 锁粒度的升级4.3.1 缓冲锁和事实锁4.3.2 粒度和分布4.3.2.1 多粒度缓冲锁4.3.2.2 最小粒度事实锁4.3.3 锁粒度升级机制4.3.3.1 锁的开销4.3.3.2 锁粒度升级4.4 页面合并算法的改进4.4.1 问题由来4.4.2 现有解决方法4.4.3 新算法第五章 自适应锁缓冲算法在ONET上的实现5.1 概述5.2 对象页面服务器体系5.2.1 传统服务器体系5.2.2 对象—页面服用器体系5.3 自适应锁缓冲算法实现5.3.1 概述5.3.2 数据结构5.3.2.1 缓冲锁表5.3.2.2 事实锁表5.3.3 申请读锁5.3.3.1 客户端的工作5.3.3.2 服务端的工作5.3.3.3 页面缓冲写锁的回收5.3.4 申请写锁5.3.4.1 客户端的工作5.3.4.2 服务端的工作5.3.4.3 对象缓冲读锁的回收5.3.5 锁粒度升级5.3.5.1 客户端锁粒度升级5.3.5.2 服务端锁粒度升级5.3.6 小结第六章 总结和展望参考文献致谢
相关论文文献
标签:面向对象数据库论文; 自适应锁缓冲算法论文; 锁粒度升级论文; 并发控制论文;