大学本科毕业设计(论文)开题报告
届:2016 学院:软件学院 专业:软件工程 2016 年 3 月 3 日
毕业设计
(论文)题目 基于大数据分布式数据库hbase存储的网络爬虫
学生姓名 学号
指导教师 职称
(报告内容包括课题的意义、国内外发展状况、本课题的研究内容、研究方法、研究手段、研究步骤以及参考文献资料等。)
一.课题意义
根据中国互联网信息中心2013年7月发布的统计表明:中国有5.91亿人的互联网用户量。互联网用户量。互联网使用率为44.1%,较2012年底提升了2.0个百分点;中国手机网民数量达到4.64亿人,较2012年底增加约4379万人,网民中使用手机上网人群占比由74.5%提升至78.5%。同样Web信息呈指数增长,数据呈献出数据量大,数据种类多,实时性强,价值大等特点,互联网包含大量的数据和资源,同时,又以不同格式分散存储在各地,怎样以又快又安全的方式从海量数据中找到并获取用户想要的数据已成为目前Internet持续发展的最大挑战之一。搜索引擎正是为了解决这个问题而出现的技术。,目前如果仅仅依靠单机的计算能力在格式复杂、规模巨大、分散存储的海量数据上处理大规模的检索请求和请求作出快速的响应是不可能的。因此,只有通过采用多台计算机进行分布式协同工作来处理日益增长的信息。实际上,几乎每个大型搜索引擎系统通过使用分布式就算框架来对海量数据进行处理的方式来解决信息检索中出现的各种问题。分布式计算框架能够使得分散在不同位置的计算机通过网络连接在一起,并且可以被看作为一个逻辑整体,分布式搜索引擎就是通过这种技术使多台分散的计算机协同工作来处理传统搜索引擎不能解决的问题。分布式搜索引擎在处理大规模的数据信息、索引和检索问题上有非常大的优势,它能够很容易的处理上述问题。
二.国内外发展现状:
随着分布式计算技术的出现和发展,将多台分散的计算机搭建成一个集群系统成为可能,计算机之间分工合作协同处理,能够有效的减少由于各节点分散,网络之间速度慢对网页抓取的影响,提高网络爬虫的性能。下面是国内外分布式爬虫现状:
UbiCrawler分布式爬虫系统使用Java开发完成。该爬虫平台独立性好、分布式性能高、能根据客户设置自行调整爬行任务的优先级。
WebFountain分布式爬虫系统使用C++开发完成。它的特点是管理方便,可以对页面的变化率进行预测。
Mercator分布式爬虫是一个开源项目,由Compaq领导完成。Google最初使用的正是这个爬虫系统,目前AltaVista搜索引擎仍然在使用这个爬虫系统。
Google Crawler系统将大量的小型机和微机组成分布式系统合作,完成分布式网页抓取任务。
天津理工大学教务处制表
随着互联网的飞速发展,国内各个互联网公司如百度、360等也对搜索引擎以及网络爬虫加大投入研究。各高校也对分布式爬虫展开研究,较著名的有:上海大学的刘凤、张博峰、周传飞等研究设计的基于P2P技术的分布式爬虫;上海交通大学叶允明等研究的“Igloo分布式爬虫系统的性能优化”等。
三.研究内容:
此次研究,主要实现的是基于hbase的网络爬虫,由于网络爬虫只负责网络资源的抓取,,所以需要一个分布式搜索引擎,用来对网络爬虫抓取到的网络资源进行实时的索引和搜索。网络爬虫通过将抓取到的数据进行结构化提取之后提交给搜索引擎进行索引,以供查询分析使用。由于搜索引擎的设计目标在于近乎实时的复杂的交互式查询,所以搜索引擎并不保存索引网页的原始内容,因此,需要一个近乎实时的分布式数据库来存储网页的原始内容。因此,我们可以将内容存储在分布式数据库架构Hbase+Hadoop之上,因为它具有极强的水平伸缩性,支持数十亿的行和数百万的列,能够对网络爬虫提交的数据进行实时写入,并能配合搜索引擎,根据搜索结果实时获取数据。
本项目主要以抓取新闻为例,做了一个实时的写入系统,并能显示在页面上。
四.研究方法
网络爬虫、分布式数据库、搜索引擎均运行在普通商业硬件构成的集群上。集群采用分布式架构,能扩展到成千上万台机器,具有容错机制,部分机器节点发生故障不 会造成数据丢失也不会导致计算任务失败。不但高可用,当节点发生故障时能迅速进行故障转移,而且高伸缩,只需要简单地增加机器就能水平线性伸缩、提升数据 存储容量和计算速度。
网络爬虫、分布式数据库、搜索引擎之间的关系:
1、网络爬虫将抓取到的HTML页面解析完成之后,把解析出的数据加入缓冲区队列,由其他两个线程负责处理数据,一个线程负责将数据保存到分布式数据库,一个线程负责将数据提交到搜索引擎进行索引。
2、搜索引擎处理用户的搜索条件,并将搜索结果返回给用户,如果用户查看网页快照,则从分布式数据库中获取网页的原始内容。
五.研究手段
基于大数据分布式的hbase存储网络爬虫,选取hadoop+hbase+nutch进行在抓取数据,采用结构化系统开发的步骤进行分析与开发,将爬取到的数据进行处理存放和展示。
六.研究步骤
1.项目调研,通过网络以及书籍了解系统的开发意义及目的
2.编写需求分析,思考项目的开发方法以及顺序
3.开发爬虫,解决数据的来源问题
4.搭建分布式环境以及完成界面
5.根据需求分析进行相关的开发
6. 编写文档
七.参考文献资料
[1]中国互联网络信息中心(CNNIC),《中国互联网发展状况统计报告(第二十七次)》,2011.
[2]程锦佳,基于Hadoop的分布式爬虫及其实现[D],北京:北京邮电大学术士学位论文,2010.
[3]薛振华,杨艳娟.分布式搜索引擎的研究[J].中国搜索中心,Vol.18,1999
[4]王鹏,走进云计算[M],北京:人民邮电出版社,2009
[5]蒋建洪,主要分布式搜索引擎技术的研究[J].科学技术与工程
[6]郑博文,基于Hadoop的分布式网络爬虫技术[D].哈尔滨工业大学,2011
[7]封俊,基于Hadoop的分布式搜索引擎研究与实现[D],太原理工大学,2010
[5]蒋建洪,主要分布式搜索引擎技术的研究[J].科学技术与工程
[6]郑博文,基于Hadoop的分布式网络爬虫技术[D].哈尔滨工业大学,2011
[7]封俊,基于Hadoop的分布式搜索引擎研究与实现[D],太原理工大学,2010
[8]付志超,基于MapReduce的分布式智能搜索引擎框架研究[D],武汉理工大学,2008
[9] 张亮,基于HTMLParser和HttpClient的网络爬虫原理与实现[J],电脑编程技巧与维护,2011,20;94+103.
[10]田董涛,微博客数据的获取与分析方法研究[D],北京交通大学,2012
[11]么士宇,基于分布式计算的网络爬虫技术研究[D],大连海事大学,2011