面向城轨线网的海量小文件存储方法的研究与实现
发布时间:2017-07-17 05:02
本文关键词:面向城轨线网的海量小文件存储方法的研究与实现
更多相关文章: 小文件存储 城轨线网 FastDFS Redis 访问性能
【摘要】:随着城市轨道交通线路规模的增长,建立城轨线网数据中心的需求日益凸显,因此城轨线网数据中心面临存储海量文件的需求。城轨线网的文件数据包括大文件和小文件,目前,大文件存储技术已有成熟的技术和系统,然而,由于元数据管理低效、I/O访问流程复杂和数据布局单一等原因,小文件的高效存储问题尚未得到很好的解决。目前,Facebook等互联网公司各自开发了面向特定应用场景的海量小文件存储系统。然而,这些系统与城轨线网海量小文件存储系统具有不同的设计需求,难以直接应用于城轨线网海量小文件数据存储。本文根据城轨业务层次性的数据特点和按组顺序读的读取特点,提出基于Fast DFS分布式文件系统和Redis键值数据库的城轨线网海量小文件存储方法,包括小文件聚合存储方法将客户端中具有业务相关性的小文件聚合存储到Fast DFS的同一数据文件中;小文件全局索引管理方法将Fast DFS返回的文件索引与小文件的局部索引合并建立全局索引,使用Redis的持久化功能存储小文件名与其全局索引的键值对;小文件读取方法预取同一数据文件中往后相邻的多个文件,并且将预取的文件内容写入到客户端缓存中;小文件删除方法通过设置文件记录的状态值,使用惰性删除方法对小文件进行删除;小文件修改方法通过小文件删除方法删除原小文件,直接在数据文件的尾部追加新修改的小文件。通过设计实验对海量小文件存储系统进行了小文件合并写、小文件追加写、小文件读取、小文件删除、小文件修改五个功能进行功能测试,验证了本文提出的面向城轨线网的海量小文件存储方法的可行性。同时,也进行了性能测试,实验结果表明,当预取文件数量为5个和客户端缓存为500MB时,小文件读取吞吐量最高;同时,相较于Fast DFS系统,Fast DFS-Redis系统的小文件读写吞吐量分别提高了13.26%和10.47%,达到明显改善城轨线网海量小文件的访问效率的目的。
【关键词】:小文件存储 城轨线网 FastDFS Redis 访问性能
【学位授予单位】:华南理工大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:U29-39;TP333
【目录】:
- 摘要5-6
- ABSTRACT6-11
- 第一章 绪论11-16
- 1.1 课题背景及研究意义11-12
- 1.2 国内外研究现状12-14
- 1.2.1 小文件合并优化12-13
- 1.2.2 元数据管理优化13
- 1.2.3 文件缓存优化13-14
- 1.3 研究内容14
- 1.4 本文章节安排14-16
- 第二章 相关技术研究16-32
- 2.1 小文件存储问题16-18
- 2.1.1 传统磁盘的小文件存储问题16
- 2.1.2 虚拟文件系统的小文件存储问题16-17
- 2.1.2 分布式文件系统的小文件存储问题17-18
- 2.2 FASTDFS分布式文件系统18-24
- 2.2.1 FastDFS的系统架构18-20
- 2.2.2 FastDFS的读写文件机制20-23
- 2.2.3 文件索引23
- 2.2.4 文件同步23-24
- 2.2.5 FastDFS在小文件存储问题的优缺点24
- 2.3 REDIS缓存数据库24-31
- 2.3.1 Redis数据库的底层实现24-28
- 2.3.2 Redis的RDB数据持久化机制28-29
- 2.3.3 Redis的AOF数据持久化机制29-31
- 2.4 本章小结31-32
- 第三章 海量小文件存储方法的设计32-42
- 3.1 系统需求分析32-33
- 3.1.1 城轨线网的数据特点32-33
- 3.1.2 城轨线网的读写特点33
- 3.2 海量小文件存储方法的总体设计33-34
- 3.3 小文件聚合存储模块34-36
- 3.3.1 数据文件的设计34-35
- 3.3.2 小文件写入方法35-36
- 3.4 小文件全局索引管理模块36-39
- 3.4.1 小文件全局索引结构36-38
- 3.4.2 小文件全局索引的存储38-39
- 3.5 小文件读取模块39
- 3.6 小文件删除模块39-40
- 3.7 小文件修改模块40-41
- 3.8 本章小结41-42
- 第四章 海量小文件存储方法的实现42-54
- 4.1 系统架构42-43
- 4.2 FASTDFS和REDIS的客户端接口43
- 4.3 小文件写机制的实现43-45
- 4.3.1 小文件合并写43-44
- 4.3.2 小文件追加写44-45
- 4.4 小文件读机制的实现45-48
- 4.4.1 小文件读流程45-47
- 4.4.2 FastDFS读小文件接口的增加47
- 4.4.3 客户端缓存的实现47-48
- 4.5 小文件删除机制的实现48-50
- 4.5.1 小文件删除48-49
- 4.5.2 FastDFS删除小文件接口的增加49-50
- 4.6 小文件修改机制的实现50-51
- 4.6.1 小文件修改50-51
- 4.6.2 FastDFS修改小文件接口的增加51
- 4.7 文件碎片清理的实现51-53
- 4.8 本章小结53-54
- 第五章 系统实验及分析54-64
- 5.1 实验目的54
- 5.2 实验系统的搭建54-56
- 5.2.1 实验环境54-55
- 5.2.2 实验系统的安装与部署55-56
- 5.2.3 实验数据56
- 5.3 功能测试56-59
- 5.3.1 小文件合并写功能测试56-57
- 5.3.2 小文件追加写功能测试57
- 5.3.3 小文件读取功能测试57-58
- 5.3.4 小文件删除功能测试58
- 5.3.5 小文件修改功能测试58-59
- 5.4 性能测试59-63
- 5.4.1 预取文件数量测试59-60
- 5.4.2 小文件写入性能对比测试60-61
- 5.4.3 小文件读取性能对比测试61-63
- 5.5 本章小结63-64
- 第六章 总结与展望64-66
- 6.1 本文工作总结64-65
- 6.2 本文工作展望65-66
- 参考文献66-69
- 攻读硕士学位期间取得的研究成果69-70
- 致谢70-71
- 附件71
【参考文献】
中国期刊全文数据库 前3条
1 赵跃龙;谢晓玲;蔡咏才;王国华;刘霖;;一种性能优化的小文件存储访问策略的研究[J];计算机研究与发展;2012年07期
2 张春明;芮建武;何婷婷;;一种Hadoop小文件存储和读取的方法[J];计算机应用与软件;2012年11期
3 王铃惠;李小勇;张轶彬;;海量小文件存储文件系统研究综述[J];计算机应用与软件;2012年08期
,本文编号:552025
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/552025.html