CN103997524A - 高可用、高可扩展、分布式的模块化网络爬虫 - Google Patents
高可用、高可扩展、分布式的模块化网络爬虫 Download PDFInfo
- Publication number
- CN103997524A CN103997524A CN201410215470.XA CN201410215470A CN103997524A CN 103997524 A CN103997524 A CN 103997524A CN 201410215470 A CN201410215470 A CN 201410215470A CN 103997524 A CN103997524 A CN 103997524A
- Authority
- CN
- China
- Prior art keywords
- module
- webpage
- reptile
- event
- architecture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种高可用、高可扩展、分布式的模块化网络爬虫,提出了一种新型网络爬虫体系结构,该体系结构主要包括:资源模块、网页下载模块、网页分解模块以及事件驱动模块,所述资源模块包括控制模块、网页存储模块和通信模块;该新型网络爬虫体系结构以控制模块为核心,采用事件驱动的编程模型,通过整合网页下载模块、网页分解模块及协调不同机器之间资源的均衡配置,使分布式爬虫体系具有可扩展性和高可用性,很适合用于海量数据的抓取工作,适合用于云计算中心。
Description
技术领域
本发明涉及计算机通信领域,具体地说是一种高可用、高可扩展、分布式的模块化网络爬虫。
背景技术
随着大数据的发展,大数据处理技术已经比较成熟。大数据的关键因素在于如何获得大量的数据。从网络上抓起海量的数据成为获取数据的一个较为便捷的方法。爬虫技术虽然经过多年的发展,但是目前大多数的爬虫扩展性、性能、功能扩展性等各方面都不能满足获取海量数据的要求,并且在分解复杂的网页结构时灵活性不足。因此,设计一款具有可扩展性、高可用、分布式的网络爬虫就很有必要了。
发明内容
针对现有技术存在的不足之处,本发明提出了一种高可用、高可扩展、分布式的模块化网络爬虫。
本发明所述一种高可用、高可扩展、分布式的模块化网络爬虫,解决上述技术问题采用的技术方案如下:该模块化网络爬虫提出了一种新型网络爬虫体系结构,该体系结构主要包括:资源模块、网页下载模块、网页分解模块以及事件驱动模块,其中:
所述资源模块主要包括控制模块、网页存储模块和通信模块;控制模块是整个系统架构的核心,负责协调各个机器的爬虫间的通信、全局信息共享和为各个爬虫分配任务;网页存储模块负责存储分解后的网页;
所述网页下载模块主要负责网页的下载、添加代理服务器、模拟浏览器行为;
所述网页分解模块负责网页的分解、去除广告信息、去除噪声等;
所述事件驱动模块负责为多个任务安排执行顺序,该模块包括事件驱动编程模型,事件驱动编程模型在网络方面比多线程模型要优秀;
该新型网络爬虫体系结构,是以控制模块为核心,采用事件驱动的编程模型,通过整合网页下载模块、网页分解模块及协调不同机器之间资源的均衡配置,使分布式爬虫体系发挥最大的效能,并具有可扩展性和高可用性;该新型网络爬虫体系结构中,网页下载模块、网页分解模块、事件驱动模块和网页存储模块之间的低耦合性,因此可以自定义各个模块的功能以适应网络上结构复杂的网页;并且,单一的控制模块使得整个系统可以很大规模的扩展,即使若干个爬行节点停止工作,整个系统不会丢失全局信息,其他爬行节点可以继续工作,从而提高了系统的可扩展性和高可用性。
本发明所述高可用、高可扩展、分布式的模块化网络爬虫具有的有益效果:
该新型网络爬虫体系架构基于模块化的灵活扩展的特性,各个模块可以灵活的自定义爬行行为、下载方式、分解方式和存储方式,可以进行灵活的跨节点配置,包括从系统中添加节点或删除节点等操作;同时在修改某一模块时,基本不用或很少对其他模块进行复杂的配置工作,从而减少系统管理的复杂程度;
该高可用、高可扩展、分布式的模块化网络爬虫可以大规模并行工作,并且其配置简单,自定义灵活,从而提高了系统的可扩展性和高可用性,很适合用于海量数据的抓取工作,适合用于云计算中心。
附图说明
附图1为基于控制模块为中心的新型网络爬虫体系结构示意图。
具体实施方式
参照说明书附图和具体实施例,对本发明的高可用、高可扩展、分布式的模块化网络爬虫作以下详细地说明。
本方明所述高可用、高可扩展、分布式的模块化网络爬虫,提出了一种新型网络爬虫体系结构,该体系结构主要包括:资源模块、网页下载模块、网页分解模块以及事件驱动模块,其中:
资源模块主要包括控制模块、网页存储模块和通信模块;所述控制模块是整个系统架构的核心,负责协调各个机器的爬虫间的通信、全局信息共享和为各个爬虫分配任务;网页存储模块负责存储分解后的网页;
网页下载模块主要负责网页的下载、添加代理服务器、模拟浏览器行为;
网页分解模块负责网页的分解、去除广告信息、去除噪声等;
事件驱动模块负责为多个任务安排执行顺序,该模块包括事件驱动编程模型,事件驱动编程模型在网络方面比多线程模型要优秀;
所述新型网络爬虫体系结构,是以控制模块为核心,采用事件驱动的编程模型,通过整合网页下载模块、网页分解模块及协调不同机器之间资源的均衡配置,使分布式爬虫体系发挥最大的效能,并具有可扩展性和高可用性;该新型网络爬虫体系结构中,网页下载模块、网页分解模块、事件驱动模块和网页存储模块之间的低耦合性,因此可以自定义各个模块的功能以适应网络上结构复杂的网页;并且,单一的控制模块使得整个系统可以很大规模的扩展,即使若干个爬行节点停止工作,整个系统不会丢失全局信息,其他爬行节点可以继续工作,从而提高了系统的可扩展性和高可用性。
附图1为基于控制模块为中心的新型网络爬虫体系结构示意图,如附图1所示,本发明提出的新型网络爬虫体系结构主要包括:资源模块、网页下载模块、网页分解模块以及事件驱动模块;在这一体系结构中,所述资源模块主要包括控制模块、网页存储模块和通信模块。控制模块存储各个爬行节点的状态信息、全局爬行信息和各个爬行节点的任务,这些信息的数据结构比较简单,但是速度要求较高,可以采用目前比较流行的Key-value数据,比如Redis、Hbase等;通讯模块对性能要求不高,可以采用通用的网络交换设备,如以太网交换机、路由器、集线器等网络设备;网页存储模块也可以采用通用的数据库或者NoSQL,如MySQL、MongoDB等。
该新型网络爬虫体系结构基于模块化的灵活扩展的特性,各个模块可以灵活的自定义爬行行为、下载方式、分解方式和存储方式,可以进行灵活的跨节点配置,包括从系统中添加节点或删除节点等操作;这种灵活性还体现在修改某一模块时,基本不用或很少对其他模块进行复杂的配置工作,从而减少系统管理的复杂程度。该高可用、高可扩展、分布式的模块化网络爬虫可以大规模并行工作,并且其配置简单,自定义灵活,因此,很适合用于海量数据的抓取工作,适合用于云计算中心。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (6)
1.高可用、高可扩展、分布式的模块化网络爬虫,其特征在于, 该模块化网络爬虫提出了一种新型网络爬虫体系结构,该体系结构主要包括:资源模块、网页下载模块、网页分解模块以及事件驱动模块,其中:
所述资源模块主要包括控制模块、网页存储模块和通信模块;控制模块是整个系统架构的核心,负责协调各个机器的爬虫间的通信、全局信息共享和为各个爬虫分配任务;网页存储模块负责存储分解后的网页;
所述网页下载模块主要负责网页的下载、添加代理服务器、模拟浏览器行为;
所述网页分解模块负责网页的分解、去除广告信息、去除噪声;
所述事件驱动模块负责为多个任务安排执行顺序,该模块包括事件驱动编程模型;
该新型网络爬虫体系结构是以控制模块为核心,采用事件驱动编程模型,通过整合网页下载模块、网页分解模块及协调不同机器之间资源的均衡配置,使分布式爬虫体系具有可扩展性和高可用性。
2. 根据权利要求1所述的高可用、高可扩展、分布式的模块化网络爬虫,其特征在于,该新型网络爬虫体系结构中,所述网页下载模块、网页分解模块、事件驱动模块和网页存储模块之间的耦合性低,能够自定义各个模块的功能以适应网络上结构复杂的网页。
3. 根据权利要求2所述的高可用、高可扩展、分布式的模块化网络爬虫,其特征在于,该新型网络爬虫体系结构基于模块化的灵活扩展的特性,各个模块能够灵活的自定义爬行行为、下载方式、分解方式和存储方式,能够进行灵活的跨节点配置;并且在修改某一模块时,基本不用或很少对其他模块进行复杂的配置工作。
4.根据权利要求1所述的高可用、高可扩展、分布式的模块化网络爬虫,其特征在于,所述控制模块存储各个爬行节点的状态信息、全局爬行信息和各个爬行节点的任务,这些信息的数据结构采用Key-value数据。
5.根据权利要求1所述的高可用、高可扩展、分布式的模块化网络爬虫,其特征在于,所述通讯模块对性能要求不高,采用通用的网络交换设备以太网交换机、路由器、集线器网络设备。
6. 根据权利要求1所述的高可用、高可扩展、分布式的模块化网络爬虫,其特征在于,所述网络存储模块采用通用的数据库或者NoSQL。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410215470.XA CN103997524A (zh) | 2014-05-21 | 2014-05-21 | 高可用、高可扩展、分布式的模块化网络爬虫 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410215470.XA CN103997524A (zh) | 2014-05-21 | 2014-05-21 | 高可用、高可扩展、分布式的模块化网络爬虫 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103997524A true CN103997524A (zh) | 2014-08-20 |
Family
ID=51311527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410215470.XA Pending CN103997524A (zh) | 2014-05-21 | 2014-05-21 | 高可用、高可扩展、分布式的模块化网络爬虫 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103997524A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562541A (zh) * | 2017-09-05 | 2018-01-09 | 广东科杰通信息科技有限公司 | 一种负载均衡分布式的爬虫方法、爬虫系统 |
CN109697124A (zh) * | 2018-12-12 | 2019-04-30 | 深圳店匠科技有限公司 | 高并发电商网站的网页数据采集方法、系统和介质 |
CN110134403A (zh) * | 2019-06-04 | 2019-08-16 | 厦门大学嘉庚学院 | 基于异步http请求的可配置域名解析爬虫框架及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902669A (zh) * | 2011-07-22 | 2013-01-30 | 同程网络科技股份有限公司 | 基于互联网系统的分布式信息抓取方法 |
CN103310012A (zh) * | 2013-07-02 | 2013-09-18 | 北京航空航天大学 | 一种分布式网络爬虫系统 |
CN103491165A (zh) * | 2013-09-22 | 2014-01-01 | 复旦大学 | 自动检测屏蔽的通用分布式爬虫系统 |
CN103514301A (zh) * | 2013-10-24 | 2014-01-15 | 深圳市同洲电子股份有限公司 | 分布式网络爬虫任务调度的方法及系统 |
-
2014
- 2014-05-21 CN CN201410215470.XA patent/CN103997524A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902669A (zh) * | 2011-07-22 | 2013-01-30 | 同程网络科技股份有限公司 | 基于互联网系统的分布式信息抓取方法 |
CN103310012A (zh) * | 2013-07-02 | 2013-09-18 | 北京航空航天大学 | 一种分布式网络爬虫系统 |
CN103491165A (zh) * | 2013-09-22 | 2014-01-01 | 复旦大学 | 自动检测屏蔽的通用分布式爬虫系统 |
CN103514301A (zh) * | 2013-10-24 | 2014-01-15 | 深圳市同洲电子股份有限公司 | 分布式网络爬虫任务调度的方法及系统 |
Non-Patent Citations (2)
Title |
---|
么士宇: ""基于分布式计算的网络爬虫技术研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
苏旋: ""分布式网络爬虫技术的研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562541A (zh) * | 2017-09-05 | 2018-01-09 | 广东科杰通信息科技有限公司 | 一种负载均衡分布式的爬虫方法、爬虫系统 |
CN107562541B (zh) * | 2017-09-05 | 2020-08-11 | 广东科杰通信息科技有限公司 | 一种负载均衡分布式的爬虫方法、爬虫系统 |
CN109697124A (zh) * | 2018-12-12 | 2019-04-30 | 深圳店匠科技有限公司 | 高并发电商网站的网页数据采集方法、系统和介质 |
CN110134403A (zh) * | 2019-06-04 | 2019-08-16 | 厦门大学嘉庚学院 | 基于异步http请求的可配置域名解析爬虫框架及方法 |
CN110134403B (zh) * | 2019-06-04 | 2022-08-12 | 厦门大学嘉庚学院 | 基于异步http请求的可配置域名解析爬虫框架及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677918B (zh) | 一种基于Kafka和Quartz的分布式爬虫架构及其实现方法 | |
CN102891896B (zh) | 用于物联网海量存储的云计算基础架构系统 | |
WO2014047461A3 (en) | Systems and methods for workflow automation | |
CN105653425A (zh) | 基于复杂事件处理引擎的监控系统 | |
CN107682206A (zh) | 基于微服务的业务流程管理系统的部署方法及系统 | |
CN103399787B (zh) | 一种基于Hadoop云计算平台的MapReduce作业流式调度方法及调度系统 | |
CN103997524A (zh) | 高可用、高可扩展、分布式的模块化网络爬虫 | |
CN106210124A (zh) | 一种统一的云数据中心监控系统 | |
CN104504010B (zh) | 一种多对多的数据采集系统及其采集方法 | |
CN105574032A (zh) | 规则匹配运算方法及装置 | |
CN104361098A (zh) | 一种云海系统中拓扑图节点自定义的方法 | |
US20150120640A1 (en) | Hierarchical probability model generation system, hierarchical probability model generation method, and program | |
CN101650666B (zh) | 一种计算机管理系统及方法 | |
CN104731800A (zh) | 数据分析装置 | |
Limnios et al. | Ch. 14. an introduction to semi-markov processes with application to reliability | |
CN204906437U (zh) | 大数据存储应用网络架构 | |
CN110083406A (zh) | 基于文本二维表格的状态机定义方法及其系统 | |
CN104360980A (zh) | 一种多平面分离式多分区计算机体系结构 | |
CN107453971A (zh) | 一种多个虚拟机之间的通信方法及系统 | |
Bai | Modeling analysis of Intelligent Manufacturing System based on SDN | |
CN101673277B (zh) | 监控系统内存数据库监视方法 | |
CN114780533A (zh) | 基于双数组字典树的存储空间分配方法、装置及电子设备 | |
CN103473389A (zh) | 一种应用于hla分布式仿真技术的通用模型 | |
CN103491138A (zh) | 一种企业实时信息系统 | |
CN105119741A (zh) | 一种云网络可靠性度量方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140820 |
|
RJ01 | Rejection of invention patent application after publication |