论文部分内容阅读
随着互联网技术的发展,网站技术日趋成熟,互联网上的站点也越来越多,信息量非常巨大,而人们的工作和生活中对互联网上的信息需求也越来越大,搜索引擎技术的重要性愈加明显。就目前来看,搜索引擎技术已经深入人心,贴近人们的生活,对人们生活影响越来越大,而网络爬虫是搜索引擎中至关重要的一个模块,它影响着搜索引擎的方方面面。基于单机的网络爬虫的抓取能力有限,已经不能完成当前的链接抓取更新的需求,这样就促使了基于分布式系统网络爬虫技术的出现,构建一套大区域、分布广的分布式集群系统,多台机器有效的合作、分工,可以有效的消除站点分散,各网间访问速度慢对网页抓取的影响,提高大数据量的计算速度,提高了网络爬虫的性能。分布式的另一个应用就是分布式存储,存储设计也是网络爬虫设计的一个很重要的环节,抓取到得的网页数据的存储方式影响了整个系统的性能,由于其数据吞吐量巨大,简单的数据库存储已经不能满足其需求,因此最好的解决办法就是采用分布式集群存储的方式。本课题在对上述技术研究的基础上,利用Java编程语言在Linux平台上实现了一套基于Hadoop分布式系统的网络爬虫,本系统具有抓取速度快、覆盖面广、可扩展性好、移植性强的特性,本文从分布式计算和分布式存储两个方面,对分布式网络爬虫系统的架构整体设计以及模块的具体实现流程进行了详细的研究和论述,给出详细的分布式网络爬虫的设计方案、系统整体原理架构图,各模块的MapReduce实现方式,以及各具体模块的具体实现流程。最后,为了验证该分布式网络爬虫的特性,搭建了一套Hadoop分布式系统测试环境,从功能性测试、性能测试和可扩展性测试三个方面出发,设计了详细的系统测试方案,依据该方案实施了实际数据的测试,并对测试数据进行了分析得出了系统的具体性能参数。