| 摘要 | 第5-6页 |
| ABSTRACT | 第6-7页 |
| 第一章 绪论 | 第12-16页 |
| 1.1 背景介绍 | 第12-14页 |
| 1.1.1 文件系统的发展历史与现状 | 第12页 |
| 1.1.2 日志和事务存在的意义 | 第12-14页 |
| 1.2 研究内容及主要工作 | 第14-15页 |
| 1.3 论文组织 | 第15-16页 |
| 第二章 相关理论与技术基础 | 第16-30页 |
| 2.1 Linux文件系统 | 第16-19页 |
| 2.1.1 Linux文件系统概述 | 第16页 |
| 2.1.2 文件系统存储结构 | 第16-17页 |
| 2.1.3 文件系统的挂载 | 第17页 |
| 2.1.4 Linux文件系统与Windows文件系统对比 | 第17-19页 |
| 2.2 日志系统 | 第19-25页 |
| 2.2.1 日志概述 | 第19-20页 |
| 2.2.2 undo日志 | 第20-22页 |
| 2.2.2.1 undo日志规则 | 第20-21页 |
| 2.2.2.2 undo日志恢复机制 | 第21-22页 |
| 2.2.3 redo日志 | 第22-24页 |
| 2.2.3.1 redo日志规则 | 第22-23页 |
| 2.2.3.2 redo恢复机制 | 第23-24页 |
| 2.2.3.3 undo日志和redo日志对比 | 第24页 |
| 2.2.4 undo/redo日志 | 第24-25页 |
| 2.2.4.1 undo/redo日志规则 | 第25页 |
| 2.2.4.2 undo/redo恢复机制 | 第25页 |
| 2.3 事务 | 第25-28页 |
| 2.3.1 事务概述 | 第25-26页 |
| 2.3.2 事务并发控制 | 第26-28页 |
| 2.3.2.1 锁机制 | 第26-27页 |
| 2.3.2.2 时间戳机制 | 第27-28页 |
| 2.4 系统涉及相关技术 | 第28-29页 |
| 2.4.1 2PL | 第28页 |
| 2.4.2 延迟写技术 | 第28-29页 |
| 2.5 本章小结 | 第29-30页 |
| 第三章 基于日志和事务的目录文件系统需求分析 | 第30-37页 |
| 3.1 需求分析 | 第30页 |
| 3.2 功能性分析 | 第30-32页 |
| 3.3 系统典型功能业务 | 第32-36页 |
| 3.3.1 用户连接流程 | 第32-33页 |
| 3.3.2 事务执行流程 | 第33-35页 |
| 3.3.3 日志记录流程 | 第35-36页 |
| 3.4 本章小结 | 第36-37页 |
| 第四章 基于日志和事务的目录文件系统的设计 | 第37-51页 |
| 4.1 设计考虑 | 第37-38页 |
| 4.2 系统各模块设计 | 第38-42页 |
| 4.2.1 用户管理模块 | 第38-39页 |
| 4.2.2 事务调度模块 | 第39-40页 |
| 4.2.3 日志记录模块 | 第40-42页 |
| 4.3 内存数据结构设计 | 第42-44页 |
| 4.3.1 总体结构 | 第42-43页 |
| 4.3.2 基于redo日志的考虑 | 第43-44页 |
| 4.4 事务本地数据结构设计 | 第44-46页 |
| 4.4.1 数据刷新时机 | 第45页 |
| 4.4.2 事务关联个数 | 第45-46页 |
| 4.5 任务接收设计 | 第46-47页 |
| 4.5.1 大体流程 | 第46页 |
| 4.5.2 Daemon程序 | 第46-47页 |
| 4.6 线程池设计 | 第47-50页 |
| 4.6.1 线程池技术分析 | 第47-49页 |
| 4.6.2 线程池模型 | 第49-50页 |
| 4.7 本章小结 | 第50-51页 |
| 第五章 基于日志和事务的目录文件系统的实现 | 第51-63页 |
| 5.1 用户连接模块实现 | 第51-53页 |
| 5.1.1 用户连接静态图 | 第51-52页 |
| 5.1.2 用户连接动态时序图 | 第52-53页 |
| 5.2 事务执行模块实现 | 第53-57页 |
| 5.2.1 事务执行静态类实现 | 第53-55页 |
| 5.2.2 事务执行时序图 | 第55-57页 |
| 5.3 日志模块实现 | 第57-60页 |
| 5.3.1 日志类静态实现 | 第57-58页 |
| 5.3.2 日志记录时序图 | 第58-59页 |
| 5.3.3 日志恢复 | 第59-60页 |
| 5.4 守护进程实现 | 第60-61页 |
| 5.4.1 守护进程类图 | 第60页 |
| 5.4.2 Daemon程序工作时序图 | 第60-61页 |
| 5.5 线程池的实现 | 第61-62页 |
| 5.6 本章小结 | 第62-63页 |
| 第六章 系统测试与分析 | 第63-69页 |
| 6.1 测试准备 | 第63页 |
| 6.2 功能测试 | 第63-65页 |
| 6.2.1 事务生成与执行 | 第63-65页 |
| 6.2.2 日志记录生成与写入 | 第65页 |
| 6.3 性能测试 | 第65-67页 |
| 6.3.1 事务并发性测试 | 第66-67页 |
| 6.3.2 日志写入效率测试 | 第67页 |
| 6.4 本章小结 | 第67-69页 |
| 第七章 总结与展望 | 第69-71页 |
| 致谢 | 第71-72页 |
| 参考文献 | 第72-74页 |
| 攻硕期间取得的研究成果 | 第74-75页 |