论文部分内容阅读
当前,由Apache基金会所研发的Hadoop云计算平台,已经迅速成为了大数据处理领域的热门首选。与此同时,个性化互联网及移动互联网技术的发展,迅速催生出大量具有重要价值的小文件。由于在现实的应用中,存在较多利用Hadoop对海量小文件进行存取的需求;同时海量的小文件经过合并处理可以方便地得到适合Hadoop平台处理的大文件。因此,利用Hadoop平台在处理大数据处理方面的优势来对海量的小文件进行处理,具有十分重要的研究价值和实用意义。然而,Hadoop云平台本身是为大数据的处理而生,如果直接对海量小文件进行处理,存在耗费节点内存等问题。现有基于小文件合并思想的解决方案,很好地解决了海量小文件耗费节点内存的问题。但是由于其索引结构设计的缺陷,又带来小文件检索效率低、名字节点负担重、实用性差等问题。本文深入研究Hadoop处理海量小文件时存在的问题,提出海量小文件处理的优化方案。论文在第三章和第四章分别提出基于多层索引的小文件读写策略(简称多层索引技术)以及基于缓存技术的小文件读取策略(简称缓存预取技术)两种方案,并在Hadoop平台上对两种方案分别进行了测试验证和结果分析。其中缓存预取技术是对多层索引技术的补充与完善,它对利用多层索引技术所检索出的热点小文件进行缓存处理,以进一步提高检索效率。本文的主要工作包括两个方面:1)基于多层索引的小文件读写策略的研究与实现。本文根据Hadoop平台现有小文件处理的思想,对海量小文件进行合并然后建立索引。其中索引结构的设计是本文的创新点及研究重点,包括索引预处理、索引分层、索引分片等。通过对小文件按类型进行合并,建立多层索引,并对Hadoop平台源代码进行相应改进,海量小文件在Hadoop平台上耗费节点内存的问题得到解决,检索效率得到一定程度提升、名字节点负担得到减轻、实用性也得到提高。2)基于缓存技术的小文件读取策略的研究与实现。本文实现了基于Java语言的Adaptive Repalcement Cache缓存管理算法(ARC算法),并提出改进的ARC算法,以适应海量小文件中存在大量热点数据的情况。改进的ARC算法可以预测将会被频繁访问的小文件并将其进行缓存,并动态置换缓存中的数据,以此提高热点小文件的检索效率。