| 摘要 | 第4-5页 |
| Abstract | 第5-6页 |
| 第1章 绪论 | 第10-15页 |
| 1.1 论文背景与研究意义 | 第10页 |
| 1.2 相关的理论研究 | 第10-13页 |
| 1.3 本文的工作 | 第13-14页 |
| 1.4 论文的组织结构 | 第14-15页 |
| 第2章 相关基础知识的介绍 | 第15-26页 |
| 2.1 存储知识的简单介绍 | 第15-17页 |
| 2.1.1 存储地址空间映射模型 | 第15-17页 |
| 2.2 Actor模型的介绍 | 第17-19页 |
| 2.3 Erlang的介绍 | 第19-20页 |
| 2.3.1 Erlang的历史介绍 | 第19页 |
| 2.3.2 Erlang的可扩展性 | 第19-20页 |
| 2.4 CAF的介绍 | 第20-21页 |
| 2.4.1 CAF的历史介绍 | 第20页 |
| 2.4.2 CAF的可扩展性 | 第20-21页 |
| 2.5 Orleans的介绍 | 第21-26页 |
| 2.5.1“虚拟Actor” | 第22页 |
| 2.5.2 容器Silo | 第22-23页 |
| 2.5.3 Grain单线程执行 | 第23页 |
| 2.5.4 Orleans中的编程方式 | 第23-24页 |
| 2.5.5 Orleans中的Actor自动多实例 | 第24页 |
| 2.5.6 Orleans的容错性 | 第24-25页 |
| 2.5.7 Orleans扩展性 | 第25-26页 |
| 第3章 整个系统的结构框架和功能 | 第26-32页 |
| 3.1 整个系统的结构框架 | 第26-27页 |
| 3.2 SocketClient模块功能 | 第27-28页 |
| 3.3 Driver模块功能 | 第28页 |
| 3.4 Volume模块功能 | 第28-29页 |
| 3.5 Extent模块功能 | 第29页 |
| 3.6 Ckg模块功能 | 第29-30页 |
| 3.7 Disk模块功能 | 第30-32页 |
| 第4章 服务端和客户端的设计与实现以及技术难点 | 第32-47页 |
| 4.1 socket Ben Client端的实现 | 第33-34页 |
| 4.2 Driver Grain的设计与实现 | 第34-35页 |
| 4.3 Volume Grain的设计与实现 | 第35-37页 |
| 4.4 Extent Grain的设计与实现 | 第37-38页 |
| 4.5 CKG Grain的设计与实现 | 第38-39页 |
| 4.6 Disk Grain的设计与实现 | 第39-40页 |
| 4.7 Mds Grain的设计与实现 | 第40-41页 |
| 4.8 客户端部分的设计与实现 | 第41-45页 |
| 4.8.1 模拟用户下发IO命令部分 | 第41-44页 |
| 4.8.2 统计IO命令处理执行结果部分 | 第44-45页 |
| 4.9 涉及到的技术难点 | 第45-47页 |
| 4.9.1 同步问题的说明 | 第45页 |
| 4.9.2 Grains之间消息通信造成的死锁问题 | 第45-47页 |
| 第5章 实验以及结果分析 | 第47-52页 |
| 5.1 实验环境 | 第47页 |
| 5.2 实验与分析 | 第47-52页 |
| 第6章 总结与展望 | 第52-54页 |
| 6.1 本文的总结 | 第52页 |
| 6.2 展望 | 第52-54页 |
| 参考文献 | 第54-58页 |
| 作者简介 | 第58-59页 |
| 致谢 | 第59页 |