摘要 | 第4-5页 |
ABSTRACT | 第5-6页 |
目录 | 第7-11页 |
第一章 绪论 | 第11-14页 |
1.1 研究背景 | 第11页 |
1.2 研究现状 | 第11-12页 |
1.3 研究的内容 | 第12-13页 |
1.4 论文结构 | 第13-14页 |
第二章 常见的存储系统的设计 | 第14-20页 |
2.1 传统的网络存储技术 | 第14-16页 |
2.1.1 直接连接存储 | 第14-15页 |
2.1.2 网络连接存储 | 第15-16页 |
2.1.3 存储区域网络 | 第16页 |
2.2 典型的分布式存储系统 | 第16-20页 |
2.2.1. Google File System | 第17-18页 |
2.2.3 Hadoop Distributed File System | 第18-19页 |
2.2.4 Lustre分布式文件系统 | 第19-20页 |
第三章 需求分析及设计关键问题分析 | 第20-26页 |
3.1 需求分析 | 第20-21页 |
3.1.1 通用需求分析 | 第20页 |
3.1.2 应用实例需求分析 | 第20-21页 |
3.2 设计关键问题分析 | 第21-26页 |
3.2.1 设计原则分析 | 第21-22页 |
3.2.2 网络连接模型分析 | 第22-24页 |
3.2.3 嵌入式环境分析 | 第24-26页 |
第四章 分布式存储软件相关的设计与实现 | 第26-55页 |
4.1 总体结构的设计 | 第26-29页 |
4.1.1 整体拓扑架构 | 第26-28页 |
4.1.2 分布式存储系统中的角色 | 第28-29页 |
4.1.3 分布式存储系统总体结构相关的数据结构 | 第29页 |
4.2 跟踪端服务器的整体软件实现 | 第29-37页 |
4.2.1 跟踪服务器的配置 | 第30-31页 |
4.2.2 跟踪服务器的日志处理 | 第31-32页 |
4.2.3 跟踪服务器的状态读取 | 第32-33页 |
4.2.4 跟踪服务器的数据结构 | 第33-34页 |
4.2.5 跟踪服务器的端口设置 | 第34页 |
4.2.6 跟踪服务器的工作线程 | 第34-36页 |
4.2.7 跟踪服务器的信号量处理 | 第36页 |
4.2.8 跟踪服务器的定时任务 | 第36-37页 |
4.2.9 跟踪服务器的接收连接 | 第37页 |
4.2.10 跟踪服务器的下线处理 | 第37页 |
4.3 存储节点的整体软件实现 | 第37-43页 |
4.3.1 存储服务器的配置 | 第38-39页 |
4.3.2 存储服务器的预处理任务 | 第39-40页 |
4.3.3 存储服务器的日志处理 | 第40页 |
4.3.4 存储服务器的端口设置 | 第40页 |
4.3.5 存储服务器的网络工作线程 | 第40-41页 |
4.3.6 存储服务器的信号量处理 | 第41页 |
4.3.7 存储服务器的报告线程 | 第41-42页 |
4.3.8 存储服务器的定时任务 | 第42页 |
4.3.9 存储服务器的磁盘处理线程 | 第42-43页 |
4.3.10 存储服务器的接受连接 | 第43页 |
4.3.11 存储服务器的下线处理 | 第43页 |
4.4 用户节点的软件实现 | 第43-44页 |
4.4.1 注册用户节点的软件设计 | 第43-44页 |
4.4.2 普通用户节点的软件接口 | 第44页 |
4.5 传输协议与文件的上传和下载 | 第44-52页 |
4.5.1 协议的格式 | 第45页 |
4.5.2 用户与跟踪服务器之间的消息格式 | 第45-47页 |
4.5.3 用户与存储节点之间的消息格式 | 第47-48页 |
4.5.4 存储节点与存储节点之间的消息格式 | 第48页 |
4.5.5 存储节点与跟踪服务器之间的数据同步 | 第48-49页 |
4.5.6 文件的上传 | 第49-50页 |
4.5.7 文件的下载 | 第50-52页 |
4.6 分布式数据存储的相关处理 | 第52-55页 |
4.6.1 文件的同步机制 | 第52页 |
4.6.2 数据一致性 | 第52-53页 |
4.6.3 数据的分布 | 第53页 |
4.6.4 负载均衡 | 第53页 |
4.6.5 系统可拓展性 | 第53页 |
4.6.6 数据容错 | 第53-54页 |
4.6.7 服务器的迁移 | 第54-55页 |
第五章 嵌入式硬件环境的实现与系统测试 | 第55-69页 |
5.1 开发平台选择 | 第55-56页 |
5.2 嵌入式环境搭建 | 第56-57页 |
5.2.1 安装SDK及配置宿主机环境 | 第56页 |
5.2.2 U-boot的编译 | 第56-57页 |
5.2.3 linux内核及文件系统的编译 | 第57页 |
5.3 多网卡的设计 | 第57-58页 |
5.4 硬件的数据加密引擎使用 | 第58-60页 |
5.4.1 内核相关驱动的安装 | 第59-60页 |
5.4.2 用户空间使用内核驱动 | 第60页 |
5.4.3 用户程序调用 | 第60页 |
5.5 多核的使用 | 第60-61页 |
5.5.1 多核编程方法 | 第61页 |
5.5.2 多核编程的在分布式存储系统中使用的对象 | 第61页 |
5.6 存储节点与采集节点设计 | 第61-63页 |
5.6.1 连接方式 | 第61-62页 |
5.6.2 启动 | 第62-63页 |
5.7 系统测试与验证 | 第63-69页 |
5.7.1 测试环境 | 第63-64页 |
5.7.2 测试实例 | 第64-67页 |
5.7.3 测试结果 | 第67-69页 |
第六章 总结与展望 | 第69-71页 |
6.1 主要工作总结 | 第69页 |
6.2 未来研究工作 | 第69-71页 |
参考文献 | 第71-73页 |
致谢 | 第73-74页 |
作者攻读学位期间发表的学术论文 | 第74页 |