| 第一章、 绪论 | 第1-13页 |
| 1.1 引言 | 第7-8页 |
| 1.2 现有的面向对象数据库系统 | 第8-9页 |
| 1.3 面向对象数据库应用领域 | 第9-11页 |
| 1.3.1 Internet数据库 | 第9-10页 |
| 1.3.2 产品数据管理 | 第10页 |
| 1.3.3 OODB与XML的结合 | 第10-11页 |
| 1.3.4 移动数据库 | 第11页 |
| 1.4 面向对象数据库存在的问题 | 第11页 |
| 1.5 结论 | 第11-13页 |
| 第二章、 面向对象与关系型数据库的比较 | 第13-18页 |
| 2.1 关系型数据库 | 第13-14页 |
| 2.2 面向对象数据库 | 第14-15页 |
| 2.3 两者的比较 | 第15-18页 |
| 2.3.1 共同特点 | 第15页 |
| 2.3.2 基本特性的比较 | 第15页 |
| 2.3.3 开发方法的比较 | 第15-16页 |
| 2.3.4 性能的比较 | 第16页 |
| 2.3.5 比较的结论 | 第16-18页 |
| 第三章、 面向对象数据库的特性 | 第18-23页 |
| 3.1 面向对象数据库系统的基本特性 | 第18-21页 |
| 3.1.1 复杂对象 | 第18页 |
| 3.1.2 对象标识 | 第18-19页 |
| 3.1.3 封装性 | 第19页 |
| 3.1.4 类和类型 | 第19页 |
| 3.1.5 继承性 | 第19-20页 |
| 3.1.6 持久性 | 第20页 |
| 3.1.7 重载和迟联编 | 第20页 |
| 3.1.8 可扩展性 | 第20页 |
| 3.1.9 查询 | 第20-21页 |
| 3.1.10 并发性 | 第21页 |
| 3.1.11 恢复 | 第21页 |
| 3.1.12 存储管理 | 第21页 |
| 3.2 面向对象数据库系统的可选特性 | 第21-23页 |
| 3.2.1 多重继承性 | 第21-22页 |
| 3.2.2 类型检查和类型推理 | 第22页 |
| 3.2.3 分布 | 第22页 |
| 3.2.4 设计事务处理 | 第22-23页 |
| 第四章、 OODBMS原型TR-OODB的开发 | 第23-33页 |
| 4.1 Shore Storage Manager介绍 | 第23-27页 |
| 4.1.1 SSM的磁盘I/O管理 | 第24-25页 |
| 4.1.2 SSM的缓冲管理 | 第25页 |
| 4.1.3 SSM的线程机制 | 第25-26页 |
| 4.1.4 SSM的事务机制 | 第26页 |
| 4.1.5 崩溃恢复机制 | 第26页 |
| 4.1.6 SSM线程包中与事件相关的方法 | 第26-27页 |
| 4.1.7 SSM的并发性控制 | 第27页 |
| 4.2 TR-OODB的服务器端实现 | 第27-30页 |
| 4.2.1 TR-OODB的事务管理器 | 第27-28页 |
| 4.2.2 TR-OODB的ssm事务执行线程 | 第28页 |
| 4.2.3 TR-OODB的事务请求方式 | 第28-29页 |
| 4.2.4 TR-OODB服务端运行时动态模型 | 第29-30页 |
| 4.3 TR-OODB的客户端实现 | 第30-31页 |
| 4.4 TR-OODB的优势与不足 | 第31-33页 |
| 第五章、 OODBMS-ONet服务端存储管理的设计 | 第33-48页 |
| 5.1 ONet系统构成 | 第33页 |
| 5.2 ONet服务端存储管理关键设计 | 第33-37页 |
| 5.2.1 页面服务器模式 | 第34-35页 |
| 5.2.2 服务器端的被动事务 | 第35-37页 |
| 5.3 多线程机制 | 第37-47页 |
| 5.3.1 Windows NT/2000操作系统 | 第37页 |
| 5.3.2 Windows NT/2000的线程 | 第37-38页 |
| 5.3.3 Windows NT/2000的线程调度 | 第38页 |
| 5.3.4 两种基本任务模式 | 第38-39页 |
| 5.3.5 需要多少线程 | 第39-40页 |
| 5.3.6 I/O完成端口 | 第40-43页 |
| 5.3.7 Windows 2000的线程池 | 第43-44页 |
| 5.3.8 I/O完成端口和线程池控制下的异步I/O包装类 | 第44-47页 |
| 5.4 总结 | 第47-48页 |
| 第六章、 ONet存储管理层的详细设计与实现 | 第48-72页 |
| 6.1 被动事务类设计(事务层设计) | 第48-53页 |
| 6.1.1 设计基本要点 | 第48-50页 |
| 6.1.2 ONet事务对象 | 第50-51页 |
| 6.1.3 ONet事务指令对象 | 第51页 |
| 6.1.4 ONet事务指令队列 | 第51-52页 |
| 6.1.5 线程池机制下的被动事务运行 | 第52-53页 |
| 6.2 磁盘管理器(Disk manager) | 第53-55页 |
| 6.3 缓冲管理器(Buffer manager) | 第55-58页 |
| 6.4 日志管理器(log manager)及ARIES恢复算法 | 第58-63页 |
| 6.4.1 ARIES算法简介 | 第58-63页 |
| 6.4.2 ONet中日志管理的设计 | 第63页 |
| 6.5 并发控制、锁管理器(lock manager) | 第63-65页 |
| 6.6 页面管理器(page manager) | 第65-66页 |
| 6.7 对象标识管理(oid manager) | 第66-69页 |
| 6.7.1 OID的直接映射方式管理 | 第67-68页 |
| 6.7.2 ONet对直接映射方式的实现 | 第68-69页 |
| 6.8 通信层设计 | 第69-71页 |
| 6.9 总结 | 第71-72页 |
| 第七章、 ONet客户端的实现技术 | 第72-78页 |
| 7.1 ODMG的C++绑定 | 第72-74页 |
| 7.1.1 ODMG标准简介 | 第73页 |
| 7.1.2 ODMG OML的主要内容 | 第73-74页 |
| 7.2 持久对象的内存结构维护 | 第74-78页 |
| 7.2.1 虚函数表指针和虚拟基类对象指针 | 第74-75页 |
| 7.2.2 ONet C++ ODL对象模型的限制 | 第75页 |
| 7.2.3 限制条件下的对象内存结构 | 第75-77页 |
| 7.2.4 ONet中的虚函数表重填 | 第77-78页 |
| 第八章、 总结和系统开发展望 | 第78-80页 |
| 参考文献 | 第80-82页 |
| 致谢 | 第82页 |