WO2018165839A1 - 分布式爬虫实现方法及系统 - Google Patents

分布式爬虫实现方法及系统 Download PDF

Info

Publication number
WO2018165839A1
WO2018165839A1 PCT/CN2017/076560 CN2017076560W WO2018165839A1 WO 2018165839 A1 WO2018165839 A1 WO 2018165839A1 CN 2017076560 W CN2017076560 W CN 2017076560W WO 2018165839 A1 WO2018165839 A1 WO 2018165839A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
subtasks
server
devices
distributed
Prior art date
Application number
PCT/CN2017/076560
Other languages
English (en)
French (fr)
Inventor
马岩
Original Assignee
深圳市博信诺达经贸咨询有限公司
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 深圳市博信诺达经贸咨询有限公司 filed Critical 深圳市博信诺达经贸咨询有限公司
Priority to PCT/CN2017/076560 priority Critical patent/WO2018165839A1/zh
Publication of WO2018165839A1 publication Critical patent/WO2018165839A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to the field of data processing, and in particular, to a distributed crawler implementation method and system.
  • Web crawlers also known as web spiders, web bots, more often referred to as web chasers in the FOAF community
  • Web crawlers are programs or scripts that automatically crawl web information in accordance with certain rules.
  • Other infrequently used names are ants, automatic indexes, simulators, or worms.
  • the web crawler is actually an application for crawling network information.
  • the existing web crawler grabs a large amount of data, resulting in low data search efficiency.
  • the application provides a distributed crawler implementation method. It solves the shortcomings of the prior art technical solutions.
  • a distributed crawler implementation method comprising the following steps: a distributed crawler implementation method, the method comprising the following steps:
  • the server obtains the information of the search and the scope of the search
  • the server allocates the search task into a plurality of search subtasks according to the scope of the search;
  • the server assigns multiple search subtasks to devices within the distributed system.
  • the method further includes:
  • the server allocates the multiple search subtasks according to the principle of load balancing.
  • the method further includes:
  • the server allocates multiple search subtasks by the location of the devices within the distributed system.
  • a distributed crawler implementation system comprising:
  • An obtaining unit for obtaining information of the search and a range of the search An obtaining unit for obtaining information of the search and a range of the search
  • a processing unit configured to allocate the search task into a plurality of search subtasks according to the range of the search; and assign the plurality of search subtasks to devices in the distributed system.
  • system further includes:
  • the processing unit is configured to allocate the plurality of search subtasks according to the principle of load balancing.
  • system further includes:
  • a processing unit for allocating a plurality of search subtasks according to locations of devices within the distributed system.
  • a server including: a processor, a wireless transceiver, a memory, and a bus, wherein the processor, the wireless transceiver, and the memory are connected by a bus, and the wireless transceiver is configured to acquire search information and search Scope
  • the processor is configured to allocate the search task into a plurality of search subtasks according to the range of the search; and assign the plurality of search subtasks to devices in the distributed system.
  • the processor is configured to allocate, by the server, the multiple search subtasks according to a load balancing principle.
  • the processor is configured to allocate multiple search subtasks according to locations of devices in the distributed system.
  • the technical solution provided by the present invention improves the efficiency by decomposing a search task into a plurality of search subtasks and then distributing them to a plurality of devices of the distributed system.
  • FIG. 1 is a flowchart of a method for implementing a distributed crawler according to a first preferred embodiment of the present invention
  • FIG. 2 is a structural diagram of a distributed crawler implementation system according to a second preferred embodiment of the present invention.
  • FIG. 3 is a hardware structural diagram of a server according to a second preferred embodiment of the present invention.
  • FIG. 1 is a schematic diagram of a distributed crawler implementation method according to a first preferred embodiment of the present invention. The method is as shown in FIG. 1 and includes the following steps:
  • Step S101 The server acquires the searched information and the range of the search.
  • Step S102 The server allocates the search task into a plurality of search subtasks according to the range of the search.
  • Step S103 The server allocates multiple search subtasks to devices in the distributed system.
  • the technical solution provided by the present invention improves the efficiency by decomposing a search task into a plurality of search subtasks and then distributing them to a plurality of devices of the distributed system.
  • the server allocates the multiple search subtasks according to the principle of load balancing.
  • the server allocates multiple search subtasks by the location of the devices within the distributed system.
  • FIG. 2 is a schematic diagram of a distributed crawler implementation system according to a second preferred embodiment of the present invention.
  • An obtaining unit 201 configured to acquire information about the search and a range of the search
  • the processing unit 202 is configured to allocate the search task into a plurality of search subtasks according to the range of the search; and allocate the plurality of search subtasks to devices in the distributed system.
  • the technical solution provided by the present invention improves the efficiency by decomposing a search task into a plurality of search subtasks and then distributing them to a plurality of devices of the distributed system.
  • the processing unit 202 is configured to allocate, by the server, the multiple search subtasks according to the principle of load balancing.
  • the processing unit 202 is configured to allocate multiple search subtasks according to locations of devices in the distributed system.
  • FIG. 3 is a server 30, including: a processor 301, a wireless transceiver 302, a memory 303, and a bus 304.
  • the wireless transceiver 302 is configured to send and receive data with and from an external device.
  • the number of processors 301 can be one or more.
  • processor 301, memory 302, and transceiver 303 may be connected by bus 304 or other means.
  • Server 30 can be used to perform the steps of FIG. For the meaning and examples of the terms involved in the embodiment, reference may be made to the corresponding embodiment of FIG. 1. I will not repeat them here.
  • the wireless transceiver 302 is configured to acquire information of the search and a range of the search.
  • the program code is stored in the memory 303.
  • the processor 901 is configured to call the program code stored in the memory 903 for performing the following operations:
  • the processor 301 is configured to allocate the search task into a plurality of search subtasks according to the range of the search; and allocate the plurality of search subtasks to devices in the distributed system.
  • the processor 301 herein may be a processing component or a general term of multiple processing components.
  • the processing element can be a central processor (Central) Processing Unit, CPU), or a specific integrated circuit (Application Specific Integrated) Circuit, ASIC), or one or more integrated circuits configured to implement embodiments of the present application, such as one or more microprocessors (digital singnal Processor, DSP), or one or more Field Programmable Gate Arrays (FPGAs).
  • CPU central processor
  • ASIC Application Specific Integrated Circuit
  • DSP digital singnal Processor
  • FPGAs Field Programmable Gate Arrays
  • the memory 303 may be a storage device or a collective name of a plurality of storage elements, and is used to store executable program code or parameters, data, and the like required for the application running device to operate. And the memory 303 may include random access memory (RAM), and may also include non-volatile memory (non-volatile memory) Memory), such as disk storage, flash (Flash), etc.
  • RAM random access memory
  • non-volatile memory non-volatile memory
  • flash flash
  • Bus 304 can be an industry standard architecture (Industry Standard Architecture, ISA) bus, Peripheral Component (PCI) bus or extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, etc.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 3, but it does not mean that there is only one bus or one type of bus.
  • the terminal may further include input and output means connected to the bus 304 for connection to other parts such as the processor 301 via the bus.
  • the input/output device can provide an input interface for the operator, so that the operator can select the control item through the input interface, and can also be other interfaces through which other devices can be externally connected.
  • the program may be stored in a computer readable storage medium, and the storage medium may include: Flash drive, read-only memory (English: Read-Only Memory, referred to as: ROM), random accessor (English: Random Access Memory, referred to as: RAM), disk or CD.
  • ROM Read-Only Memory
  • RAM Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种分布式爬虫实现方法,所述方法包括如下步骤:服务器获取搜索的信息以及搜索的范围;服务器依据该搜索的范围将该搜索任务分配成多个搜索子任务;服务器将多个搜索子任务分配给分布式系统内的设备。本发明提供的技术方案具有效率高的优点。

Description

分布式爬虫实现方法及系统 技术领域
本发明涉及数据处理领域,尤其涉及一种分布式爬虫实现方法及系统。
背景技术
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
网络爬虫实际是一种网络信息抓取的应用程序,现有的网络爬虫抓取数据量大,导致数据搜索效率低。
技术问题
本申请提供一种分布式爬虫实现方法。其解决现有技术的技术方案效率低的缺点。
技术解决方案
一方面,提供一种分布式爬虫实现方法,所述方法包括如下步骤:分布式爬虫实现方法,所述方法包括如下步骤:
服务器获取搜索的信息以及搜索的范围;
服务器依据该搜索的范围将该搜索任务分配成多个搜索子任务;
服务器将多个搜索子任务分配给分布式系统内的设备。
可选的,所述方法还包括:
服务器依据负载均衡的原则分配该多个搜索子任务。
可选的,所述方法还包括:
服务器按分布式系统内的设备的位置分配多个搜索子任务。
第二方面,提供一种分布式爬虫实现系统,所述系统包括:
获取单元,用于获取搜索的信息以及搜索的范围;
处理单元,用于依据该搜索的范围将该搜索任务分配成多个搜索子任务;将多个搜索子任务分配给分布式系统内的设备。
可选的,所述系统还包括:
处理单元,用于服务器依据负载均衡的原则分配该多个搜索子任务。
可选的,所述系统还包括:
处理单元,用于按分布式系统内的设备的位置分配多个搜索子任务。
第三方面,提供一种服务器,包括:处理器、无线收发器、存储器和总线,所述处理器、无线收发器、存储器通过总线连接,所述无线收发器,用于获取搜索的信息以及搜索的范围;
所述处理器,用于依据该搜索的范围将该搜索任务分配成多个搜索子任务;将多个搜索子任务分配给分布式系统内的设备。
可选的,所述处理器,用于服务器依据负载均衡的原则分配该多个搜索子任务。
可选的,所述处理器,用于按分布式系统内的设备的位置分配多个搜索子任务。
有益效果
本发明提供的技术方案通过将搜索任务分解成多个搜索子任务,然后分布给分布式系统的多个设备来执行,从而提高了效率的优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一较佳实施方式提供的一种分布式爬虫实现方法的流程图;
图2为本发明第二较佳实施方式提供的一种分布式爬虫实现系统的结构图。
图3为本发明第二较佳实施方式提供的一种服务器的硬件结构图。
本发明的实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1是本发明第一较佳实施方式提出的一种分布式爬虫实现方法,该方法如图1所示,包括如下步骤:
步骤S101、服务器获取搜索的信息以及搜索的范围。
步骤S102、服务器依据该搜索的范围将该搜索任务分配成多个搜索子任务。
步骤S103、服务器将多个搜索子任务分配给分布式系统内的设备。
本发明提供的技术方案通过将搜索任务分解成多个搜索子任务,然后分布给分布式系统的多个设备来执行,从而提高了效率的优点。
可选的,服务器依据负载均衡的原则分配该多个搜索子任务。
可选的,服务器按分布式系统内的设备的位置分配多个搜索子任务。
请参考图2,图2是本发明第二较佳实施方式提出的一种分布式爬虫实现系统,该系统如图2所示,包括:
获取单元201,用于获取搜索的信息以及搜索的范围;
处理单元202,用于依据该搜索的范围将该搜索任务分配成多个搜索子任务;将多个搜索子任务分配给分布式系统内的设备。
本发明提供的技术方案通过将搜索任务分解成多个搜索子任务,然后分布给分布式系统的多个设备来执行,从而提高了效率的优点。
可选的,处理单元202,用于服务器依据负载均衡的原则分配该多个搜索子任务。
可选的,处理单元202,用于按分布式系统内的设备的位置分配多个搜索子任务。
参阅图3,图3为一种服务器30,包括:处理器301、无线收发器302、存储器303和总线304,无线收发器302用于与外部设备之间收发数据。处理器301的数量可以是一个或多个。本申请的一些实施例中,处理器301、存储器302和收发器303可通过总线304或其他方式连接。服务器30可以用于执行图1的步骤。关于本实施例涉及的术语的含义以及举例,可以参考图1对应的实施例。此处不再赘述。
无线收发器302,用于获取搜索的信息以及搜索的范围。
其中,存储器303中存储程序代码。处理器901用于调用存储器903中存储的程序代码,用于执行以下操作:
处理器301,用于依据该搜索的范围将该搜索任务分配成多个搜索子任务;将多个搜索子任务分配给分布式系统内的设备。
需要说明的是,这里的处理器301可以是一个处理元件,也可以是多个处理元件的统称。例如,该处理元件可以是中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array, FPGA)。
存储器303可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或应用程序运行装置运行所需要参数、数据等。且存储器303可以包括随机存储器(RAM),也可以包括非易失性存储器(non-volatile memory),例如磁盘存储器,闪存(Flash)等。
总线304可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
该终端还可以包括输入输出装置,连接于总线304,以通过总线与处理器301等其它部分连接。该输入输出装置可以为操作人员提供一输入界面,以便操作人员通过该输入界面选择布控项,还可以是其它接口,可通过该接口外接其它设备。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:Read-Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例所提供的内容下载方法及相关设备、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

  1. 一种分布式爬虫实现方法,其特征在于,所述方法包括如下步骤:
    服务器获取搜索的信息以及搜索的范围;
    服务器依据该搜索的范围将该搜索任务分配成多个搜索子任务;
    服务器将多个搜索子任务分配给分布式系统内的设备。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    服务器依据负载均衡的原则分配该多个搜索子任务。
  3. 根据权要求2所述的方法,其特征在于,所述方法还包括:
    服务器按分布式系统内的设备的位置分配多个搜索子任务。
  4. 一种分布式爬虫实现系统,其特征在于,所述系统包括:
    获取单元,用于获取搜索的信息以及搜索的范围;
    处理单元,用于依据该搜索的范围将该搜索任务分配成多个搜索子任务;将多个搜索子任务分配给分布式系统内的设备。
  5. 根据权利要求4所述的系统,其特征在于,所述系统还包括:
    处理单元,用于服务器依据负载均衡的原则分配该多个搜索子任务。
  6. 根据权利要求5所述的系统,其特征在于,所述系统还包括:
    处理单元,用于按分布式系统内的设备的位置分配多个搜索子任务。
  7. 一种服务器,包括:处理器、无线收发器、存储器和总线,所述处理器、无线收发器、存储器通过总线连接,其特征在于,
    所述无线收发器,用于获取搜索的信息以及搜索的范围;
    所述处理器,用于依据该搜索的范围将该搜索任务分配成多个搜索子任务;将多个搜索子任务分配给分布式系统内的设备。
  8. 根据权利要求7所述的服务器,其特征在于,所述处理器,用于服务器依据负载均衡的原则分配该多个搜索子任务。
  9. 根据权利要求7所述的服务器,其特征在于,所述处理器,用于按分布式系统内的设备的位置分配多个搜索子任务。
PCT/CN2017/076560 2017-03-14 2017-03-14 分布式爬虫实现方法及系统 WO2018165839A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/076560 WO2018165839A1 (zh) 2017-03-14 2017-03-14 分布式爬虫实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/076560 WO2018165839A1 (zh) 2017-03-14 2017-03-14 分布式爬虫实现方法及系统

Publications (1)

Publication Number Publication Date
WO2018165839A1 true WO2018165839A1 (zh) 2018-09-20

Family

ID=63521834

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/076560 WO2018165839A1 (zh) 2017-03-14 2017-03-14 分布式爬虫实现方法及系统

Country Status (1)

Country Link
WO (1) WO2018165839A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605764A (zh) * 2013-11-26 2014-02-26 Tcl集团股份有限公司 一种网络爬虫系统及网络爬虫多任务执行和调度方法
CN105989151A (zh) * 2015-03-02 2016-10-05 阿里巴巴集团控股有限公司 网页抓取方法及装置
US20160299971A1 (en) * 2015-04-10 2016-10-13 NxLabs Limited Identifying Search Engine Crawlers
CN106484886A (zh) * 2016-10-17 2017-03-08 金蝶软件(中国)有限公司 一种数据采集的方法及其相关设备
CN106934027A (zh) * 2017-03-14 2017-07-07 深圳市博信诺达经贸咨询有限公司 分布式爬虫实现方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605764A (zh) * 2013-11-26 2014-02-26 Tcl集团股份有限公司 一种网络爬虫系统及网络爬虫多任务执行和调度方法
CN105989151A (zh) * 2015-03-02 2016-10-05 阿里巴巴集团控股有限公司 网页抓取方法及装置
US20160299971A1 (en) * 2015-04-10 2016-10-13 NxLabs Limited Identifying Search Engine Crawlers
CN106484886A (zh) * 2016-10-17 2017-03-08 金蝶软件(中国)有限公司 一种数据采集的方法及其相关设备
CN106934027A (zh) * 2017-03-14 2017-07-07 深圳市博信诺达经贸咨询有限公司 分布式爬虫实现方法及系统

Similar Documents

Publication Publication Date Title
WO2018223354A1 (zh) 基于定位的考勤记录方法及系统
WO2018165839A1 (zh) 分布式爬虫实现方法及系统
WO2019061385A1 (zh) 分布式爬虫任务分配方法及系统
WO2019061384A1 (zh) 分布式爬虫系统中任务管理器的选举方法及系统
WO2018209507A1 (zh) 终端app分身的实现方法及系统
WO2018170889A1 (zh) 即时通信的好友分组方法及系统
WO2018157330A1 (zh) 大数据的划分方法及系统
WO2018209586A1 (zh) 蓝牙的定位方法及系统
WO2018165837A1 (zh) 网上信息抓取方法及系统
WO2018157333A1 (zh) 处理大数据的方法及系统
WO2018223375A1 (zh) 终端流量的控制提醒方法及系统
WO2018157331A1 (zh) 应用于大数据的存储方法及系统
WO2018157391A1 (zh) 大数据企业评价的方法及系统
WO2018176223A1 (zh) 即时通信的分身实现方法及系统
WO2018170887A1 (zh) 大数据的list的显示方法及系统
WO2018209550A1 (zh) 终端的系统更新方法及系统
WO2018209504A1 (zh) 基于分组的终端app管理方法及系统
WO2018209549A1 (zh) 终端视频区间划分方法及系统
WO2018223373A1 (zh) 副号的终端管理方法及系统
WO2018184152A1 (zh) 基于绕线机的错误修改方法及系统
WO2018170888A1 (zh) 大数据list的子控件的组合选择方法及系统
WO2018223346A1 (zh) 照片共享中的定位方法及系统
WO2018209502A1 (zh) 终端app的分组方法及系统
WO2018209548A1 (zh) 终端视频解码方法及系统
WO2018223371A1 (zh) 终端热点的接入控制方法及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17900413

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 15/01/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17900413

Country of ref document: EP

Kind code of ref document: A1