hadoop平台的图书搜索引擎中离线功能的研究与开发

摘 要现今,随着互联网行业的飞速发展,我们生活在一个信息爆炸的时代,互联网上的信息每年以指数型增长,同时,随着网络数据商业化的发展,对于获取与处理数据的需求也与日俱增,而这些需求,则大大的推动了云计算的发展。在这样的一个信息爆炸的背景下,不仅仅Google、IBM、Apache、IBM等国外高科技公司参与其中,国内的百度、阿里巴巴、华为等公司也不甘落后,奋起直追,云计算已经成为国内外各大高科技公司的战略重点。其中,Apache开发的Hadoop平台是一个对用户非常友好的开源计算机框架。本文所实现的搜索引擎离线功能的开发就是在这个框架下设计和实现的。本文的目的是设计并实现一个基于Hadoop的搜索引擎离线功能,完成网页数据的获取与存储。同时,通过采用垂直爬虫爬取网页,在与图书相关的网页上获取更加专业的信息。进行分词等处理,获取更加精确的图书信息,再通过分布式系统存入索引文件,极大地减少了数据处理的时间。本文研究部分包括文件索引原理、网络爬虫原理、云计算相关知识介绍和Hadoop分布式平台相关知识介绍。首先,对云计算的定义、体系结构和原理进行调研。然后,研究Hadoop平台的子项目:分布式文件系统(HDFS)和分布式计算模型(Map/Reduce)。再讲述爬虫系统的原理,了解爬虫开发的各个步骤。最后讲述文件索引的原理,了解文件索引的实现方法和意义。上面的研究部分为本文提供了技术基础,本文在这个基础上提出了基于Hadoop的搜索引擎的离线功能的设计方案,包括爬虫系统的流程设计、功能设计以及文件索引系统的流程设计和功能实现。本文做出了详细的系统设计,实现了整个离线功能,包括数据存储结构的实现、文件存储结构和各个功能模块的实现。最后,对系统研究做出详细的总结。本文的意义在实现基于Hadoop的搜索引擎的离线功能,该功能采用多线程垂直爬虫和Map/Reduce计算框架分别完成爬虫部分和文件索引部分。解决了普通爬虫速度过慢、精确度低等问题,突破了单个计算机存储容量对数据处理的限制的瓶颈,实现了海量数据的处理,同时提高了信息处理速度,提高了信息处理效率。
目录
摘 要 I
ABSTRACT II
第1章 绪论 1
1.1 课题研究背景和意义 1
1.2 本文主要工作和内容 3
1.3
 *好棒文|www.hbsrm.com +Q: ¥351916072¥ 
本文的主要组织和结构 4
第2章 相关技术研究 6
2.1 云计算相关知识 6
2.1.1 云计算定义 6
2.1.2 云计算基础原理 6
2.1.3 云计算体系结构 8
2.2 Hadoop平台相关知识 9
2.2.1 Hadoop平台介绍 9
2.2.2 分布式文件系统 11
2.2.3 Map/Reduce分布式计算模型 13
2.3 搜索引擎离线功能分析 14
2.3.1 网络爬虫的工作原理 15
2.3.2 网络爬虫的基本结构 15
2.3.3 索引系统的工作原理 16
2.3.4 索引系统的基本结构和流程 17
2.4 本章小结 19
第3章 功能设计与系统实现 20
3.1 搜索引擎离线功能的设计需求 20
3.2 爬虫系统设计 20
3.3 索引系统设计 22
3.4 爬虫系统的实现 22
3.5 索引系统的实现 23
3.6 本章小结 24
第4章 性能分析与评价 25
4.1 系统运行展示 25
4.2 数据统计与分析 28
4.3 与非分布式的搜索引擎离线功能的比较 28
4.4 本章小结 29
结论 30
参考文献 31
致谢 34
第1章 绪论
1.1 课题研究背景和意义
近十几年来,随着互联网高速发展、信息呈几何级数速度增长,其发展趋势已远远超出人们的想象。近我国而言,根据中国互联网络信息中心2015年1月发布的《2014年度中国互联网络发展状况统计报告》数据显示[1]:“截至2014年12月,中国网民规模进一步扩大,达6.49亿,和2013年相比增加网民3117万人;互联网普及率和去年相比有小幅度的提升,提高到43.9%。而我国使用手机上网的用户规模达5.57亿,和2013年相比增加了5672万人。”
随着互联网规模的不断扩大,在互联网这个大平台上的信息爆炸式增长,各式各样的信息数据掺杂在一起,构成了一个庞大而混乱的信息库。这个信息库包含了非常庞大的海量数据,快速、高效地从信息库中找到网络用户需要的图书信息也就成了互联网新时代下提升国民素质、丰富文化内涵的主要目标。为了解决这一问题,搜索引擎被发明出来,它的出现提升了网络用户查询信息的能力。
搜索引擎的出现让信息不再是用户单纯地通过输入网址跳转到网页上,而是把海量的信息放到索引中,可以方便地被用户查询到,起到了信息指引的作用。通用搜索引擎可以在单个的互联网页面上获取大量的信息,而伴随着搜索引擎的告诉发展,如何获取更加准确的信息的重要性则日益凸显出来,也逐渐获得大型科技公司的重视。以搜索起家的Google、百度等高科技公司为互联网注入了新的活力,也通过互联网的高速发展获取了巨大的回报。然而,搜索引擎行业的竞争也是十分的激烈,从百度等公司的一系列动作表明,搜索引擎的竞争和当年门户网站的一样激烈。
随着互联网用户的增加,用户对于图书的需求也不断扩大,搜索引擎也必须跟着用户的需求不断完善,而针对特定行业的垂直搜索引擎[2]也就产生了。垂直搜索引擎是搜索引擎的细分和延伸,和其他搜索引擎相比,更适合就图书信息这一方面进行“专注、具体、深入”的搜索。
2014年阿里巴巴的上市,则是把互联网的发展推到了另一个新的高峰,对于海量并发数据的处理,也让阿里巴巴的“双11”大获成功。大量的商品数据以及用户行为信息则受到人们越来越多的关注。如何处理海量数据,使用户方便并快捷地获取想要的专业信息,已经成为了当下的热门话题。原有的计算机模式已经不能应对当前海量大数据的处理速度,为了解决这一问题,云计算技术顺应时代潮流、应运而生。
云计算是一个致力于按需为客户提供资源的现代科技,是一种根据现有技术进行改进进而获得提升的计算模型,在发展过程中,并行计算和虚拟化技术起至关重要的作用。云计算是这些计算科学概念的商业实现,它的基本原理是将计算、存储及软硬件等服务分布在非本地的大量计算机所构成的由虚拟化技术构建的资源集合上,通过互联网,用户可以方便地获取相应的服务,从而有效的提高资源利用率,实现了真正的按需获取。
Google对海量数据计算模型的处理,从而构建起来的Google计算集群,给Google提供了强大的信息处理能力,并使得Google在海量数据的处理中如鱼得水。而微软、Amazon、IBM、华为、阿里巴巴、百度等公司也不甘落后,各自推出了云计算服务,竞争激烈。而目前应用最广、最出名的云计算基础思想就是由Google提出的《Web Search For A PlanetThe Google Cluster Architecture》[3],在文章中提出了它的云计算基础设施模式:分布式文件系统GFS(Google File System)[4],Map/Reduce编程模型[5],分布式的锁机制Chubby[6]和大规模分布式数据库BigTable[7]。Hadoop平台正是在这篇论文的影响下应运而生。
在开源云计算系统中,Hadoop具有无与伦比的优势,很多公司和组织都选择使用Hadoop开源项目作为其解决方案。Hadoop是Apache基金会的开源项目,为开发者提供了可以实现云计算模式的基础架构,可以在大量低成本硬件设备组成的集群上运行应用程序,从而构建出一个具有稳定性和较好的拓展性的分布式系统。用户可以在该平台开发分布式的应用,充分利用集群的强大功能,能够高效地处理海量数据。Hadoop项目中包括一个分布式的文件系统HDFS,一个分布式的并行编程框架MapReduce,以及包括Hive[8]、Hbase[9]在内的诸多子项目。
1.2 本文主要工作和内容

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wlw/691.html

好棒文