CN106503017A - 一种分布式爬虫系统任务抓取系统和方法 - Google Patents

一种分布式爬虫系统任务抓取系统和方法 Download PDF

Info

Publication number
CN106503017A
CN106503017A CN201510564985.5A CN201510564985A CN106503017A CN 106503017 A CN106503017 A CN 106503017A CN 201510564985 A CN201510564985 A CN 201510564985A CN 106503017 A CN106503017 A CN 106503017A
Authority
CN
China
Prior art keywords
task
reptile
data
control end
crawl
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
Application number
CN201510564985.5A
Other languages
English (en)
Inventor
张国强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Moku Data Technology Co ltd
Original Assignee
Mobi (shanghai) Biotechnology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mobi (shanghai) Biotechnology Co Ltd filed Critical Mobi (shanghai) Biotechnology Co Ltd
Priority to CN201510564985.5A priority Critical patent/CN106503017A/zh
Priority to US15/171,488 priority patent/US10282473B2/en
Publication of CN106503017A publication Critical patent/CN106503017A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

本发明包括爬虫控制端、爬虫抓取端、任务监控模块,爬虫抓取端获取相应的任务,将任务数据传送给爬虫控制端;爬虫控制端定义任务编号和任务超时时间,并产生任务分发事件,存储任务分发的时间戳数据;将任务分发给任务监控模块和爬虫抓取端,爬虫抓取端对抓取任务执行相应的抓取逻辑,将任务完成信息传送给爬虫控制端,若发生异常情况,导致抓取任务无法正确的被执行时,可以通过任务监控模块重新将任务推送给爬虫控制端,避免了由于网络原因、任务无法执行的情况。

Description

一种分布式爬虫系统任务抓取系统和方法
技术领域
本发明涉及互联网领域,尤其涉及一种分布式爬虫系统任务抓取系统和方法。
背景技术
随着互联网技术的发展,WEB网站的数量成几何级的方式增长,搜索引擎抓取网站的方式逐渐由单节点向多向点,直到分布式的方式抓取网站,以便更快速的抓取WEB网站,丰富搜索引擎的索引数据,提供更好的用户体验。在分布式爬虫系统中,由于存在多个抓取节点,因此需要中心控制节点将任务分发到相应的抓取节点之上,在这个过程中,由于网络的问题,抓取节点运行中的异常情况,将有可能导致抓取任务无法正确的被执行,本发明针对抓取任务的分发与执行提出一种高可靠的解决方案。
发明内容
本发明的目的是为了解决现有技术的不足,提供一种分布式爬虫系统任务抓取系统和方法。
本发明的目的是通过以下技术方案实现的:
本发明的第一个目的是提供一种分布式爬虫系统任务抓取系统,包括:
爬虫控制端,用于爬虫任务的创建、分发及抓取结果的存储。
爬虫抓取端,用于获取相应的任务,请求目标网站,获取网页数据并对任务进行相应的解析,将结果提交到爬虫控制端。
任务监控模块,用于设定任务抓取时间,监控并记录任务抓取进程,在未收到任务完成的反馈时,将任务重新推送给爬虫控制端。
上述的一种分布式爬虫系统任务抓取系统,其中,所述爬虫控制端包括储存数据库,采用Redis存储任务创建数据、抓取队列数据;采用MySql存储任务抓取结果。
上述的一种分布式爬虫系统任务抓取系统,其中,所述任务监控模块包括数据存储装置,用于存储抓取任务数据。
本发明的第二个目的是提供一种分布式爬虫系统任务抓取方法,采用上述一种分布式爬虫系统任务抓取系统实现,至少包括以下步骤:
(1)爬虫抓取端获取相应的任务,将任务数据传送给爬虫控制端。
(2)爬虫控制端定义任务编号和任务超时时间,并产生任务分发事件,存储任务分发的时间戳数据。
(3)将任务分发给任务监控模块和爬虫抓取端,任务监控模块存储任务编号、任务超时时间和任务分发的时间戳数据,并将当前任务标记为抓取中。
(4)爬虫抓取端对抓取任务执行相应的抓取逻辑,完成对数据的抓取操作,将任务完成信息传送给爬虫控制端,爬虫控制端存储任务抓取结果数据,并产生任务成功抓取事件,并将任务完成信息传送给任务监控模块,任务监控模块删除相应的任务数据;或者
(5)爬虫抓取端未完成对数据的抓取操作,任务监控模块未收到任务完成信息,任务监控线程对抓取的任务数据进行相应的遍历操作,将任务分发的时间戳数据和系统当前的时间戳对比,对于超过指定时间未回馈的任务,将任务重新推入爬虫控制端的抓取队列,返回步骤(2),直到完成相应的数据抓取。
综上所述,由于采用了上述技术方案,本发明任务在分发之后,若发生异常情况,导致抓取任务无法正确的被执行时,可以通过任务监控模块重新将任务推送给爬虫控制端,避免了由于网络原因,任务无法执行的情况。
附图说明
图1是本发明的一种分布式爬虫系统任务抓取系统和方法的原理图;
图2是本发明的一种分布式爬虫系统任务抓取系统和方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作详细介绍。
实施例1
请参见图1、图2,本发明提供的一种分布式爬虫系统任务抓取系统,包括:
爬虫控制端,用于爬虫任务的创建、分发及抓取结果的存储。
爬虫抓取端,用于获取相应的任务,请求目标网站,获取网页数据并对任务进行相应的解析,将结果提交到爬虫控制端。
任务监控模块,用于设定任务抓取时间,监控并记录任务抓取进程,在未收到任务完成的反馈时,将任务重新推送给爬虫控制端。
爬虫控制端包括储存数据库,采用Redis存储任务创建数据、抓取队列数据;采用MySql存储任务抓取结果。
任务监控模块包括数据存储装置,采用Redis存储抓取任务数据。
爬虫抓取端通过Thrift的方式和爬虫控制端进行相应的连接,调用相应的接口,爬虫控制端从Redis队列中提取任务数据,并完成相应的序列化操作,反馈给抓取端。同时在控制端内部抛出任务分发的事件,任务监控模块对任务对进行处理,将数据存入Redis的HashSet中,其中key为任务编号,value为任务分发的时间戳。
抓取任务在分发到抓取端之后,爬虫抓取端执行相应的抓取逻辑,完成对数据的抓取操作。将结果提交到爬虫控制端,爬虫控制端收到任务完成的消息后,进行数据存储、Cache清理等操作,并在内部产生任务完成的事件。任务监控模块对任务完成的事件进行处理,并对当前抓取任务数据进行操作,删除相应的任务数据。
实施例2
爬虫抓取端获取相应的任务,将任务数据传送给爬虫控制端。
爬虫控制端定义任务编号和任务超时时间,并产生任务分发事件,存储任务分发的时间戳数据。
将任务分发给任务监控模块和爬虫抓取端,任务监控模块存储任务编号、任务超时时间和任务分发的时间戳数据,并将当前任务标记为抓取中。
任务在分发之后,发生以下情况:(1)网络原因,任务未传送到爬虫抓取端;(2)爬虫抓取端在抓取的过程中发生错误,宕机;(3)在完成抓取任务后,由于网络原因等情况,数据未正确提交到爬虫控制端。
爬虫控制端未收到爬虫抓取端提交的任务完成信息,这样就无法删除在抓取任务数组中对应的相关任务的数据。任务监控线程对抓取的任务Hashset进行相应的遍历操作,取出时间戳数据和系统当前的时间戳对比,对于超过指定时间未回馈的任务,将任务重新推入Redis抓取队列,进行下一次任务分发,直到完成相应的数据抓取。
以上所述的实施例仅用于说明本专利的技术思想及特点,其目的在于使本领域内的技术人员能够了解本专利的内容并据以实施,不能仅以本实施例来限定本专利的专利范围,即凡依本专利所揭示的精神所作的同等变化或修饰,仍落在本专利的专利范围内。

Claims (4)

1. 一种分布式爬虫系统任务抓取系统,其特征在于,包括:
爬虫控制端,用于爬虫任务的创建、分发及抓取结果的存储;
爬虫抓取端,用于获取相应的任务,请求目标网站,获取网页数据并对任务进行相应的解析,将结果提交到爬虫控制端;
任务监控模块,用于设定任务抓取时间,监控并记录任务抓取进程,在未收到任务完成的反馈时,将任务重新推送给爬虫控制端。
2. 根据权利要求1所述的一种分布式爬虫系统任务抓取系统,其特征在于,所述爬虫控制端包括储存数据库,采用Redis存储任务创建数据、抓取队列数据;采用MySql存储任务抓取结果。
3. 根据权利要求1所述的一种分布式爬虫系统任务抓取系统,其特征在于,所述任务监控模块包括数据存储装置,用于存储抓取任务数据。
4. 一种分布式爬虫系统任务抓取方法,其特征在于,采用权利要求1所述一种分布式爬虫系统任务抓取系统实现,至少包括以下步骤:
(1)爬虫抓取端获取相应的任务,将任务数据传送给爬虫控制端;
(2)爬虫控制端定义任务编号和任务超时时间,并产生任务分发事件,存储任务分发的时间戳数据;
(3)将任务分发给任务监控模块和爬虫抓取端,任务监控模块存储任务编号、任务超时时间和任务分发的时间戳数据,并将当前任务标记为抓取中;
(4)爬虫抓取端对抓取任务执行相应的抓取逻辑,完成对数据的抓取操作,将任务完成信息传送给爬虫控制端,爬虫控制端存储任务抓取结果数据,并产生任务成功抓取事件,并将任务完成信息传送给任务监控模块,任务监控模块删除相应的任务数据;或者
(5)爬虫抓取端未完成对数据的抓取操作,任务监控模块未收到任务完成信息,任务监控线程对抓取的任务数据进行相应的遍历操作,将任务分发的时间戳数据和系统当前的时间戳对比,对于超过指定时间未回馈的任务,将任务重新推入爬虫控制端的抓取队列,返回步骤(2),直到完成相应的数据抓取。
CN201510564985.5A 2015-09-08 2015-09-08 一种分布式爬虫系统任务抓取系统和方法 Pending CN106503017A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510564985.5A CN106503017A (zh) 2015-09-08 2015-09-08 一种分布式爬虫系统任务抓取系统和方法
US15/171,488 US10282473B2 (en) 2015-09-08 2016-06-02 Task-crawling system and task-crawling method for distributed crawler system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510564985.5A CN106503017A (zh) 2015-09-08 2015-09-08 一种分布式爬虫系统任务抓取系统和方法

Publications (1)

Publication Number Publication Date
CN106503017A true CN106503017A (zh) 2017-03-15

Family

ID=58190085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510564985.5A Pending CN106503017A (zh) 2015-09-08 2015-09-08 一种分布式爬虫系统任务抓取系统和方法

Country Status (2)

Country Link
US (1) US10282473B2 (zh)
CN (1) CN106503017A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331108A (zh) * 2016-08-25 2017-01-11 北京量科邦信息技术有限公司 一种突破ip限制的爬虫实现方法及系统
CN106980687A (zh) * 2017-03-31 2017-07-25 北京奇艺世纪科技有限公司 一种资源下载系统、方法及爬虫下载系统
CN107273498A (zh) * 2017-06-16 2017-10-20 成都布林特信息技术有限公司 舆情大数据处理方法
CN108874513A (zh) * 2017-05-11 2018-11-23 北京京东尚科信息技术有限公司 处理定时任务的方法、系统、电子设备和计算机可读介质
CN109101636A (zh) * 2018-08-16 2018-12-28 成都市映潮科技股份有限公司 一种通过可视化配置进行云端数据采集的方法、装置及系统
CN109213912A (zh) * 2018-08-16 2019-01-15 北京神州泰岳软件股份有限公司 一种抓取网络数据的方法及网络数据抓取调度装置
CN110929126A (zh) * 2019-12-02 2020-03-27 杭州安恒信息技术股份有限公司 一种基于远程过程调用实现的分布式爬虫调度方法
CN110955853A (zh) * 2018-09-26 2020-04-03 北京国双科技有限公司 一种数据存储方法及装置
CN112422707A (zh) * 2020-10-22 2021-02-26 北京安博通科技股份有限公司 域名数据挖掘方法、装置及Redis服务器
CN115623252A (zh) * 2022-12-16 2023-01-17 深圳市永兴元科技股份有限公司 在线考试自动检测重启推流控制方法、装置及存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170185678A1 (en) * 2015-12-28 2017-06-29 Le Holdings (Beijing) Co., Ltd. Crawler system and method
CN109687986B (zh) * 2017-10-18 2021-08-13 飞狐信息技术(天津)有限公司 一种基于私有云平台的Redis运维方法及系统
CN107766522A (zh) * 2017-10-25 2018-03-06 麦格创科技(深圳)有限公司 分布式爬虫系统中任务管理器的分配方法及系统
CN107784116A (zh) * 2017-11-10 2018-03-09 麦格创科技(深圳)有限公司 任务分配在分布式系统的实现方法及系统
CN108564250A (zh) * 2018-03-07 2018-09-21 中国平安人寿保险股份有限公司 转发记录实时查看系统、方法、计算机设备及存储介质
US20200293977A1 (en) * 2019-03-13 2020-09-17 Genesys Telecommunications Laboratories, Inc. System and method for concurrent processing of work items
US11222083B2 (en) 2019-08-07 2022-01-11 International Business Machines Corporation Web crawler platform
CN112579858A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种数据爬取方法及装置
US11195203B2 (en) * 2020-02-04 2021-12-07 The Rocket Science Group Llc Predicting outcomes via marketing asset analytics
CN113742549A (zh) * 2020-05-28 2021-12-03 上海交通大学 基于计算资源的分布式爬虫调度系统及方法
CN112100083B (zh) * 2020-11-13 2021-02-02 北京智慧星光信息技术有限公司 爬虫模板变更的监测方法、系统、电子设备及存储介质
CN112464066B (zh) * 2020-11-25 2024-03-15 中国信息安全测评中心 一种数据爬取过程的监测方法及系统
CN113312216A (zh) * 2021-05-31 2021-08-27 中电福富信息科技有限公司 一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101635718A (zh) * 2009-08-26 2010-01-27 中兴通讯股份有限公司 网络爬虫系统及其获取资源的方法和网络资源抓取装置
CN103401712A (zh) * 2013-07-31 2013-11-20 北京华易互动科技有限公司 一种基于内容分发的智能高可用任务处理方法和系统
CN104462370A (zh) * 2014-12-09 2015-03-25 北京百度网讯科技有限公司 分布式任务调度系统及方法
CN104601668A (zh) * 2014-12-24 2015-05-06 北京京东尚科信息技术有限公司 基于状态管理的数据推送方法、装置和系统
CN104820680A (zh) * 2015-04-17 2015-08-05 南京大学 一种通用型分布式爬虫调度系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6638314B1 (en) * 1998-06-26 2003-10-28 Microsoft Corporation Method of web crawling utilizing crawl numbers
US6356898B2 (en) * 1998-08-31 2002-03-12 International Business Machines Corporation Method and system for summarizing topics of documents browsed by a user
US6618717B1 (en) * 2000-07-31 2003-09-09 Eliyon Technologies Corporation Computer method and apparatus for determining content owner of a website
US20030037034A1 (en) * 2001-08-16 2003-02-20 Tim Daniels System and method for lubricants supply chain management
WO2004097566A2 (en) * 2003-04-24 2004-11-11 Secureinfo Corporation Automated electronic software distribution and management method and system
US8042112B1 (en) * 2003-07-03 2011-10-18 Google Inc. Scheduler for search engine crawler
US7676553B1 (en) * 2003-12-31 2010-03-09 Microsoft Corporation Incremental web crawler using chunks
US8566945B2 (en) * 2004-02-11 2013-10-22 Hewlett-Packard Development Company, L.P. System and method for testing web applications with recursive discovery and analysis
US20090204610A1 (en) * 2008-02-11 2009-08-13 Hellstrom Benjamin J Deep web miner
WO2009137511A2 (en) * 2008-05-05 2009-11-12 Ticketmaster, Llc Process control system
US8516080B2 (en) * 2008-12-03 2013-08-20 Mobophiles, Inc. System and method for providing virtual web access
US8868541B2 (en) * 2011-01-21 2014-10-21 Google Inc. Scheduling resource crawls
US8676783B1 (en) * 2011-06-28 2014-03-18 Google Inc. Method and apparatus for managing a backlog of pending URL crawls
US8782031B2 (en) * 2011-08-09 2014-07-15 Microsoft Corporation Optimizing web crawling with user history
US20140129371A1 (en) * 2012-11-05 2014-05-08 Nathan R. Wilson Systems and methods for providing enhanced neural network genesis and recommendations
CA2788100C (en) * 2012-08-28 2022-07-05 Ibm Canada Limited - Ibm Canada Limitee Crawling of generated server-side content
US10216694B2 (en) * 2015-08-24 2019-02-26 Google Llc Generic scheduling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101635718A (zh) * 2009-08-26 2010-01-27 中兴通讯股份有限公司 网络爬虫系统及其获取资源的方法和网络资源抓取装置
CN103401712A (zh) * 2013-07-31 2013-11-20 北京华易互动科技有限公司 一种基于内容分发的智能高可用任务处理方法和系统
CN104462370A (zh) * 2014-12-09 2015-03-25 北京百度网讯科技有限公司 分布式任务调度系统及方法
CN104601668A (zh) * 2014-12-24 2015-05-06 北京京东尚科信息技术有限公司 基于状态管理的数据推送方法、装置和系统
CN104820680A (zh) * 2015-04-17 2015-08-05 南京大学 一种通用型分布式爬虫调度系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331108A (zh) * 2016-08-25 2017-01-11 北京量科邦信息技术有限公司 一种突破ip限制的爬虫实现方法及系统
CN106980687A (zh) * 2017-03-31 2017-07-25 北京奇艺世纪科技有限公司 一种资源下载系统、方法及爬虫下载系统
CN106980687B (zh) * 2017-03-31 2020-05-22 北京奇艺世纪科技有限公司 一种资源下载系统、方法及爬虫下载系统
CN108874513A (zh) * 2017-05-11 2018-11-23 北京京东尚科信息技术有限公司 处理定时任务的方法、系统、电子设备和计算机可读介质
CN107273498A (zh) * 2017-06-16 2017-10-20 成都布林特信息技术有限公司 舆情大数据处理方法
CN109101636A (zh) * 2018-08-16 2018-12-28 成都市映潮科技股份有限公司 一种通过可视化配置进行云端数据采集的方法、装置及系统
CN109213912A (zh) * 2018-08-16 2019-01-15 北京神州泰岳软件股份有限公司 一种抓取网络数据的方法及网络数据抓取调度装置
CN110955853A (zh) * 2018-09-26 2020-04-03 北京国双科技有限公司 一种数据存储方法及装置
CN110929126A (zh) * 2019-12-02 2020-03-27 杭州安恒信息技术股份有限公司 一种基于远程过程调用实现的分布式爬虫调度方法
CN112422707A (zh) * 2020-10-22 2021-02-26 北京安博通科技股份有限公司 域名数据挖掘方法、装置及Redis服务器
CN115623252A (zh) * 2022-12-16 2023-01-17 深圳市永兴元科技股份有限公司 在线考试自动检测重启推流控制方法、装置及存储介质

Also Published As

Publication number Publication date
US10282473B2 (en) 2019-05-07
US20170068735A1 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
CN106503017A (zh) 一种分布式爬虫系统任务抓取系统和方法
CN104598563B (zh) 高并发数据存储方法及装置
CN104536809B (zh) 一种基于客户端、服务器系统的分布式定时任务调度系统
CN104506496B (zh) 基于Oracle Streams技术的准实时数据增量分发的方法
CN104219288B (zh) 基于多线程的分布式数据同步方法及其系统
CN104601696B (zh) 服务处理方法、服务调用系统、装置和系统
CN104836753B (zh) Sdn数据平面带状态交换设备、系统及转发处理方法
CN106201443B (zh) 一种基于Storm流式计算框架多并发写文件的方法及系统
CN105653425A (zh) 基于复杂事件处理引擎的监控系统
WO2016155492A1 (zh) 一种数据库的远程数据同步方法和装置
CN107623731B (zh) 一种任务调度方法、客户端、服务集群及系统
CN104092719A (zh) 文件传输方法、装置及分布式集群文件系统
US9519537B2 (en) Apparatus, system and method for application log data processing
CN106201739A (zh) 一种基于Redis的Storm的远程调用方法
CN104683472A (zh) 一种支持大数据量的数据传输方法
CN110716848A (zh) 数据收集方法、装置、电子设备及存储介质
CN105447146A (zh) 一种海量数据的收集与交换系统及方法
CN106648801A (zh) 一种Hadoop集群自动添加删除节点的方法
CN109800081A (zh) 一种大数据任务的管理方法及相关设备
CN114048201A (zh) 一种基于分布式流计算引擎Flink的关键字段实时去重方法
CN108614820A (zh) 实现流式源数据解析的方法和装置
CN102982288B (zh) 在便携式终端中执行数据的加密和解密的设备和方法
CN109450941B (zh) 一种抗DDoS的SDN控制器消息调度方法
CN111352810A (zh) 基于多进程的性能监控方法及装置、计算设备
CN103197920A (zh) 一种并发控制方法、控制节点及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190109

Address after: 200233 Block A, Room 501, 12 Block 1001 Qinzhou North Road, Xuhui District, Shanghai

Applicant after: Shanghai Moku Data Technology Co.,Ltd.

Address before: Room 6020, 6th floor, No. 399 Fute North Road, Pudong New Area Free Trade Pilot Area, Shanghai, 2001

Applicant before: MOLBASE (SHANGHAI) BIOTECHNOLOGY CO.,LTD.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170315