CN112100471A - 分布式爬虫任务调度方法、装置、设备及计算机可读介质 - Google Patents
分布式爬虫任务调度方法、装置、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN112100471A CN112100471A CN202010930417.3A CN202010930417A CN112100471A CN 112100471 A CN112100471 A CN 112100471A CN 202010930417 A CN202010930417 A CN 202010930417A CN 112100471 A CN112100471 A CN 112100471A
- Authority
- CN
- China
- Prior art keywords
- crawler
- node
- website
- network address
- network
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种分布式爬虫任务调度方法、装置、设备及计算机可读介质。该方法包括:获取待爬取网站的目标网络地址,待爬取网站为目标爬取任务中对应的数据爬取网站,目标网络地址用于表示待爬取网站的互联网协议地址;提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点,网络时延用于表示爬虫节点与待爬取网站的网络距离,爬虫节点为分布式爬虫节点;将第一爬虫节点作为执行目标爬取任务的目标节点。本申请可以充分利用分布式爬虫系统爬取不同任务效率不同的特点,将爬取任务调度到最优爬虫节点上,实现高效率的内容爬取,以提高分布式爬虫系统的响应速度,同时保证一定程度的负载均衡。
Description
技术领域
本申请涉及数据爬取技术领域,尤其涉及一种分布式爬虫任务调度方法、装置、设备及计算机可读介质。
背景技术
随着计算机技术及互联网技术的发展,数据量的指数级增加加大了获取想要的数据的难度,而利用分布式爬虫系统则可以快速、准确的获取想要的数据。但是分布式爬虫系统也存在一定的问题,如网络距离较远造成网络时延较高的情况下爬取效率也会受到极大影响,并且同一个爬虫节点需要进行多个爬取任务的情况下该爬虫节点的负载较重,同时也存在没有爬取任务而负载较轻的爬虫节点,导致负载不均衡、爬取效率低。
目前,相关技术中,主要有随机哈希的分配方法和根据地理位置进行调度的分配方法。随机哈希的分配方法是将爬取任务随机分配到分布式爬虫系统的爬虫节点上,节点对网站进行爬取。根据地理位置进行调度的分配方法是由地理上距离爬取任务的爬取网站最近的爬虫节点抓取。但是随机哈希的分配方法爬取效率不是最佳的,而根据地理位置进行调度的分配方法由于涉及运营商的商业利益等因素,同一爬虫节点爬取地理上距离接近的不同网站可能要经过很多不同的路由器,实际的网络距离相差可能很大,也无法保证最佳的爬取效率。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种分布式爬虫任务调度方法、装置、设备及计算机可读介质,以解决内容爬取效率低的技术问题。
根据本申请实施例的一个方面,本申请提供了一种分布式爬虫任务调度方法,包括:获取待爬取网站的目标网络地址,待爬取网站为目标爬取任务中对应的数据爬取网站,目标网络地址用于表示待爬取网站的互联网协议地址;提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点,网络时延用于表示爬虫节点与待爬取网站的网络距离,爬虫节点为分布式爬虫节点;将第一爬虫节点作为执行目标爬取任务的目标节点。
可选地,提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点包括:在预设二维坐标系的横轴中查找目标网络地址,横轴上的取值用于表示多个网站的网络地址;在查找到目标网络地址的情况下,在预设二维坐标系的纵轴中确定第一阈值位置,预设二维坐标系的各个坐标用于表示各个爬虫节点,纵轴上的取值用于表示各个爬虫节点与各个网站的网络时延,预设二维坐标系的原点至第一阈值位置之间的取值范围表示阈值范围;将目标网络地址对应的、原点至第一阈值位置之间的爬虫节点作为第一爬虫节点。
可选地,在预设二维坐标系的横轴中查找目标网络地址之前,该方法还包括按照如下方式构建预设二维坐标系:获取多个网站的网络地址;利用所有网络地址构建第一集合;检测多个爬虫节点与第一集合中各个网络地址的网络时延,得到第二集合,第二集合用于保存多个爬虫节点与各个网络地址基于网络时延的第一对应关系;将第一集合中的网络地址作为横轴,将网络时延作为纵轴,按照第二集合中的第一对应关系确定各个爬虫节点的坐标,得到预设二维坐标系。
可选地,在预设二维坐标系的横轴中未查找到目标网络地址的情况下,提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点包括:检测多个爬虫节点与目标网络地址的网络时延,得到第三集合,第三集合用于保存多个爬虫节点与目标网络地址基于网络时延的第二对应关系;将目标网络地址增加到预设二维坐标系的横轴中,并按照第二对应关系确定各个爬虫节点的坐标;将目标网络地址对应的、原点至第一阈值位置之间的爬虫节点作为第一爬虫节点。
可选地,该方法还包括按照如下方式更新预设二维坐标系:将横轴上所有的网络地址作为集合元素,构建第四集合;检测多个爬虫节点与第四集合中各个网络地址的网络时延,得到第五集合,第五集合用于保存多个爬虫节点与各个网络地址基于网络时延的第三对应关系;按照第三对应关系更新各个爬虫节点的坐标,以更新预设二维坐标系。
可选地,提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点还包括:提取目标网络地址对应的、原点至第一阈值位置之间的多个爬虫节点作为第二爬虫节点;将多个第二爬虫节点中未进行爬取任务的节点作为第一爬虫节点。
可选地,在存在多个未进行爬取任务的节点的情况下,将多个第二爬虫节点中未进行爬取任务的节点作为第一爬虫节点还包括:将多个未进行爬取任务的节点与目标网络地址的网络时延进行排序;按照网络时延的排序顺序确定第一爬虫节点。
根据本申请实施例的另一方面,本申请提供了一种分布式爬虫任务调度装置,包括:网址获取模块,用于获取待爬取网站的目标网络地址,待爬取网站为目标爬取任务中对应的数据爬取网站,目标网络地址用于表示待爬取网站的互联网协议地址;节点提取模块,用于提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点,网络时延用于表示爬虫节点与待爬取网站的网络距离,爬虫节点为分布式爬虫节点;任务调度模块,用于将第一爬虫节点作为执行目标爬取任务的目标节点。
根据本申请实施例的另一方面,本申请提供了一种计算机设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
本申请技术方案为获取待爬取网站的目标网络地址,待爬取网站为目标爬取任务中对应的数据爬取网站,目标网络地址用于表示待爬取网站的互联网协议地址;提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点,网络时延用于表示爬虫节点与待爬取网站的网络距离,爬虫节点为分布式爬虫节点;将第一爬虫节点作为执行目标爬取任务的目标节点。本申请可以充分利用分布式爬虫系统爬取不同任务效率不同的特点,将爬取任务调度到最优爬虫节点上,实现高效率的内容爬取,以提高分布式爬虫系统的响应速度,同时保证一定程度的负载均衡。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例提供的一种可选的分布式爬虫任务调度方法硬件环境示意图;
图2为根据本申请实施例提供的一种可选的分布式爬虫任务调度方法流程图;
图3为根据本申请实施例提供的一种可选的分布式爬虫任务调度装置框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
相关技术中,主要有随机哈希的分配方法和根据地理位置进行调度的分配方法。随机哈希的分配方法是将爬取任务随机分配到分布式爬虫系统的爬虫节点上,节点对网站进行爬取。根据地理位置进行调度的分配方法是由地理上距离爬取任务的爬取网站最近的爬虫节点抓取。但是随机哈希的分配方法爬取效率不是最佳的,而根据地理位置进行调度的分配方法由于涉及运营商的商业利益等因素,同一爬虫节点爬取地理上距离接近的不同网站可能要经过很多不同的路由器,实际的网络距离相差可能很大,也无法保证最佳的爬取效率。
为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种分布式爬虫任务调度方法的实施例。
可选地,在本申请实施例中,上述分布式爬虫任务调度方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。
本申请实施例中的一种分布式爬虫任务调度方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:
步骤S202,获取待爬取网站的目标网络地址,待爬取网站为目标爬取任务中对应的数据爬取网站,目标网络地址用于表示待爬取网站的互联网协议地址。
本申请实施例中,当有数据爬取任务时,爬取任务中有相应的目标网站,即为待爬取网站,待爬取网站的互联网协议地址(IP地址)可以表示运营该网站的设备处于互联网中的网络位置。上述目标网络地址可以是待爬取网站的IP地址,还可以是待爬取网站的域名。
步骤S204,提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点,网络时延用于表示爬虫节点与待爬取网站的网络距离,爬虫节点为分布式爬虫节点。
本申请实施例中,当有节点要爬取该待爬取网站的数据时,节点需要经过层层路由才能与待爬取网站建立通信连接,节点至待爬取网站的数据传输路径的长度即为网络距离。上述分布式爬虫节点组成分布式爬虫系统,分布式爬虫系统是一种将爬虫节点分布于广域网中各个位置的互联网内容获取系统。上述阈值范围可以表示爬虫节点与待爬取网站的网络时延处于较低的范围,该阈值范围可以根据实际情况进行设置。
步骤S206,将第一爬虫节点作为执行目标爬取任务的目标节点。
本申请实施例中,第一爬虫节点作为与待爬取网站之间的网络时延较低的爬虫节点,即网络距离相对较近,可以将该目标爬取任务交由第一爬虫节点处理,以达到数据爬取的最高效率。
采用本申请技术方案,可以充分利用分布式爬虫系统爬取不同任务效率不同的特点,将爬取任务调度到最优爬虫节点上,实现高效率的内容爬取,以提高分布式爬虫系统的响应速度,同时保证一定程度的负载均衡。
本申请提供一种基于网络时延提取第一爬虫节点的方法,下面结合图2所示的步骤,对该方法进行详细的说明。
可选地,步骤S204提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点可以包括以下步骤:
步骤1,在预设二维坐标系的横轴中查找目标网络地址,横轴上的取值用于表示多个网站的网络地址;
步骤2,在查找到目标网络地址的情况下,在预设二维坐标系的纵轴中确定第一阈值位置,预设二维坐标系的各个坐标用于表示各个爬虫节点,纵轴上的取值用于表示各个爬虫节点与各个网站的网络时延,预设二维坐标系的原点至第一阈值位置之间的取值范围表示阈值范围;
步骤3,将目标网络地址对应的、原点至第一阈值位置之间的爬虫节点作为第一爬虫节点。
本申请实施例中,可以通过预设二维坐标系来快速确定该第一爬虫节点。预设二维坐标系可以以各个网站的IP地址作为横轴,以网络时延作为纵轴,坐标系中的各个坐标点可以作为各个爬虫节点。爬虫节点所在的位置(即坐标)表示该爬虫节点与对应的网站(该爬虫节点的横坐标)的网络时延(该爬虫节点的纵坐标)。一个爬虫节点可以在该预设二维坐标系中有多个坐标,表示该节点与不同的网站之间的网络时延。
本申请实施例中,可以先从预设二维坐标系中查找该待爬取网站的IP地址,若该待爬取网站的IP地址能够在预设二维坐标系的横轴中找到,表示该待爬取网站的信息已经收集并预处理过。从而可以在该待爬取网站的IP地址所在的横坐标竖向区域确定第一爬虫节点。可以根据预设的网络时延的阈值,取纵坐标原点至该阈值的范围内的爬虫节点作为该第一爬虫节点。
采用本申请技术方案,能够提高任务调度的效率,从而加快响应速度。
本申请提供一种构建预设二维坐标系的方法,下面对该方法进行详细的说明。
可选地,在预设二维坐标系的横轴中查找目标网络地址之前,该方法还包括按照如下方式构建预设二维坐标系:
步骤1,获取多个网站的网络地址;
步骤2,利用所有网络地址构建第一集合;
步骤3,检测多个爬虫节点与第一集合中各个网络地址的网络时延,得到第二集合,第二集合用于保存多个爬虫节点与各个网络地址基于网络时延的第一对应关系;
步骤4,将第一集合中的网络地址作为横轴,将网络时延作为纵轴,按照第二集合中的第一对应关系确定各个爬虫节点的坐标,得到预设二维坐标系。
本申请实施例中,可以将常用网站进行收集,还可以随机获取网站,将收集到的网站的IP地址作为集合元素构建上述第一集合,遍历第一集合中各个IP地址,并在遍历过程中检测各个IP地址与多个爬虫节点的网络时延,将爬虫节点与IP地址基于网络时延的上述第一对应关系保存在上述第二集合中。该第一对应关系可以以三元组的形式来表示,例如(爬虫节点,IP地址,网络时延)。最后可以将各个IP地址作为横坐标,网络时延作为纵坐标,按照第二集合中的上述第一对应关系确定各个爬虫节点的坐标,从而得到该预设二维坐标系。
本申请实施例中,若该待爬取网站的IP地址不能在预设二维坐标系的横轴中找到,表示该待爬取网站的信息未经收集和预处理过,因此需要收集该待爬取网站的信息,包括该待爬取网站与多个爬虫节点的网络时延,之后再确定对该待爬取网站执行爬取任务的节点。具体可以包括以下步骤:
步骤1,检测多个爬虫节点与目标网络地址的网络时延,得到第三集合,第三集合用于保存多个爬虫节点与目标网络地址基于网络时延的第二对应关系;
步骤2,将目标网络地址增加到预设二维坐标系的横轴中,并按照第二对应关系确定各个爬虫节点的坐标;
步骤3,将目标网络地址对应的、原点至第一阈值位置之间的爬虫节点作为第一爬虫节点。
本申请实施例中,可以参照构建预设二维坐标系的步骤将该待爬取网站的IP地址添加到横轴上,进而根据其与多个爬虫节点的网络时延确定多个爬虫节点的坐标。从而可以在该待爬取网站的IP地址所在的横坐标竖向区域确定第一爬虫节点。可以根据预设的网络时延的阈值,取纵坐标原点至该阈值的范围内的爬虫节点作为该第一爬虫节点。
本申请实施例中,该预设二维坐标系构建之后,还需要定期更新,以为爬取任务调度最优的爬取节点,避免数据不更新造成偏离实际情况的后果。更新预设二维坐标系具体可以包括以下步骤:
步骤1,将横轴上所有的网络地址作为集合元素,构建第四集合;
步骤2,检测多个爬虫节点与第四集合中各个网络地址的网络时延,得到第五集合,第五集合用于保存多个爬虫节点与各个网络地址基于网络时延的第三对应关系;
步骤3,按照第三对应关系更新各个爬虫节点的坐标,以更新预设二维坐标系。
本申请实施例中,可以参照构建预设二维坐标系的步骤,将当前坐标系中横轴上所有的IP地址重新检测其与多个爬虫节点的网络时延,进而更新爬虫节点的坐标,以更新预设二维坐标系。
本申请实施例中,若一个爬虫节点承担了大批量数据爬取任务,则可能导致负载不均衡的问题,因此可以按照以下方式,实现负载均衡:
步骤1,提取目标网络地址对应的、原点至第一阈值位置之间的多个爬虫节点作为第二爬虫节点;
步骤2,将多个第二爬虫节点中未进行爬取任务的节点作为第一爬虫节点。
本申请实施例中,可以将多个处于阈值范围内的爬虫节点作为待选取的节点,即上述第二爬虫节点,此时存在多个与待爬取网站的网络时延较小的节点可以进行数据爬取任务,但是为了负载均衡,可以将待选取节点中没有数据爬取任务或任务数量较少、负载较轻的节点选取为第一爬虫节点。
可选地,在存在多个未进行爬取任务的节点的情况下,将多个第二爬虫节点中未进行爬取任务的节点作为第一爬虫节点还包括:将多个未进行爬取任务的节点与目标网络地址的网络时延进行排序;按照网络时延的排序顺序确定第一爬虫节点。
本申请实施例中,若存在多个没有数据爬取任务或任务数量较少的节点时,可以按照这些节点与待爬取网站的网络时延的大小排序来确定第一爬虫节点。
本申请技术方案为获取待爬取网站的目标网络地址,待爬取网站为目标爬取任务中对应的数据爬取网站,目标网络地址用于表示待爬取网站的互联网协议地址;提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点,网络时延用于表示爬虫节点与待爬取网站的网络距离,爬虫节点为分布式爬虫节点;将第一爬虫节点作为执行目标爬取任务的目标节点。本申请可以充分利用分布式爬虫系统爬取不同任务效率不同的特点,将爬取任务调度到最优爬虫节点上,实现高效率的内容爬取,以提高分布式爬虫系统的响应速度,同时保证一定程度的负载均衡。
根据本申请实施例的又一方面,如图3所示,提供了一种分布式爬虫任务调度装置,包括:网址获取模块301,用于获取待爬取网站的目标网络地址,待爬取网站为目标爬取任务中对应的数据爬取网站,目标网络地址用于表示待爬取网站的互联网协议地址;节点提取模块303,用于提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点,网络时延用于表示爬虫节点与待爬取网站的网络距离,爬虫节点为分布式爬虫节点;任务调度模块305,用于将第一爬虫节点作为执行目标爬取任务的目标节点。
需要说明的是,该实施例中的网址获取模块301可以用于执行本申请实施例中的步骤S202,该实施例中的节点提取模块303可以用于执行本申请实施例中的步骤S204,该实施例中的任务调度模块305可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
可选地,该节点提取模块,还用于:在预设二维坐标系的横轴中查找目标网络地址,横轴上的取值用于表示多个网站的网络地址;在查找到目标网络地址的情况下,在预设二维坐标系的纵轴中确定第一阈值位置,预设二维坐标系的各个坐标用于表示各个爬虫节点,纵轴上的取值用于表示各个爬虫节点与各个网站的网络时延,预设二维坐标系的原点至第一阈值位置之间的取值范围表示阈值范围;将目标网络地址对应的、原点至第一阈值位置之间的爬虫节点作为第一爬虫节点。
可选地,该分布式爬虫任务调度装置,还包括二维坐标系构建模块,用于:获取多个网站的网络地址;利用所有网络地址构建第一集合;检测多个爬虫节点与第一集合中各个网络地址的网络时延,得到第二集合,第二集合用于保存多个爬虫节点与各个网络地址基于网络时延的第一对应关系;将第一集合中的网络地址作为横轴,将网络时延作为纵轴,按照第二集合中的第一对应关系确定各个爬虫节点的坐标,得到预设二维坐标系。
可选地,该节点提取模块,在预设二维坐标系的横轴中未查找到目标网络地址的情况下,还用于:检测多个爬虫节点与目标网络地址的网络时延,得到第三集合,第三集合用于保存多个爬虫节点与目标网络地址基于网络时延的第二对应关系;将目标网络地址增加到预设二维坐标系的横轴中,并按照第二对应关系确定各个爬虫节点的坐标;将目标网络地址对应的、原点至第一阈值位置之间的爬虫节点作为第一爬虫节点。
可选地,该分布式爬虫任务调度装置,还包括二维坐标系更新模块,用于:将横轴上所有的网络地址作为集合元素,构建第四集合;检测多个爬虫节点与第四集合中各个网络地址的网络时延,得到第五集合,第五集合用于保存多个爬虫节点与各个网络地址基于网络时延的第三对应关系;按照第三对应关系更新各个爬虫节点的坐标,以更新预设二维坐标系。
可选地,该分布式爬虫任务调度装置,还包括负载均衡模块,用于:提取目标网络地址对应的、原点至第一阈值位置之间的多个爬虫节点作为第二爬虫节点;将多个第二爬虫节点中未进行爬取任务的节点作为第一爬虫节点。
可选地,该负载均衡模块,还用于:将多个未进行爬取任务的节点与目标网络地址的网络时延进行排序;按照网络时延的排序顺序确定第一爬虫节点。
根据本申请实施例的又一方面还提供了一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述步骤。
上述计算机设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
获取待爬取网站的目标网络地址,待爬取网站为目标爬取任务中对应的数据爬取网站,目标网络地址用于表示待爬取网站的互联网协议地址;
提取与目标网络地址的网络时延在阈值范围内的第一爬虫节点,网络时延用于表示爬虫节点与待爬取网站的网络距离,爬虫节点为分布式爬虫节点;
将第一爬虫节点作为执行目标爬取任务的目标节点。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种分布式爬虫任务调度方法,其特征在于,包括:
获取待爬取网站的目标网络地址,其中,所述待爬取网站为目标爬取任务中对应的数据爬取网站,所述目标网络地址用于表示所述待爬取网站的互联网协议地址;
提取与所述目标网络地址的网络时延在阈值范围内的第一爬虫节点,其中,所述网络时延用于表示爬虫节点与所述待爬取网站的网络距离,所述爬虫节点为分布式爬虫节点;
将所述第一爬虫节点作为执行所述目标爬取任务的目标节点。
2.根据权利要求1所述的方法,其特征在于,提取与所述目标网络地址的网络时延在阈值范围内的第一爬虫节点包括:
在预设二维坐标系的横轴中查找所述目标网络地址,其中,所述横轴上的取值用于表示多个网站的网络地址;
在查找到所述目标网络地址的情况下,在所述预设二维坐标系的纵轴中确定第一阈值位置,其中,所述预设二维坐标系的各个坐标用于表示各个所述爬虫节点,所述纵轴上的取值用于表示各个所述爬虫节点与各个所述网站的网络时延,所述预设二维坐标系的原点至所述第一阈值位置之间的取值范围表示所述阈值范围;
将所述目标网络地址对应的、所述原点至所述第一阈值位置之间的爬虫节点作为所述第一爬虫节点。
3.根据权利要求2所述的方法,其特征在于,在预设二维坐标系的横轴中查找所述目标网络地址之前,所述方法还包括按照如下方式构建所述预设二维坐标系:
获取多个网站的所述网络地址;
利用所有所述网络地址构建第一集合;
检测多个所述爬虫节点与所述第一集合中各个所述网络地址的网络时延,得到第二集合,其中,所述第二集合用于保存多个所述爬虫节点与各个所述网络地址基于所述网络时延的第一对应关系;
将所述第一集合中的所述网络地址作为所述横轴,将所述网络时延作为所述纵轴,按照所述第二集合中的所述第一对应关系确定各个所述爬虫节点的坐标,得到所述预设二维坐标系。
4.根据权利要求3所述的方法,其特征在于,在预设二维坐标系的横轴中未查找到所述目标网络地址的情况下,提取与所述目标网络地址的网络时延在阈值范围内的第一爬虫节点包括:
检测多个所述爬虫节点与所述目标网络地址的网络时延,得到第三集合,其中,所述第三集合用于保存多个所述爬虫节点与所述目标网络地址基于所述网络时延的第二对应关系;
将所述目标网络地址增加到所述预设二维坐标系的所述横轴中,并按照所述第二对应关系确定各个所述爬虫节点的坐标;
将所述目标网络地址对应的、所述原点至所述第一阈值位置之间的爬虫节点作为所述第一爬虫节点。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括按照如下方式更新所述预设二维坐标系:
将所述横轴上所有的所述网络地址作为集合元素,构建第四集合;
检测多个所述爬虫节点与所述第四集合中各个所述网络地址的网络时延,得到第五集合,其中,所述第五集合用于保存多个所述爬虫节点与各个所述网络地址基于所述网络时延的第三对应关系;
按照所述第三对应关系更新各个所述爬虫节点的坐标,以更新所述预设二维坐标系。
6.根据权利要求2至5任一所述的方法,其特征在于,提取与所述目标网络地址的网络时延在阈值范围内的第一爬虫节点还包括:
提取所述目标网络地址对应的、所述原点至所述第一阈值位置之间的多个爬虫节点作为第二爬虫节点;
将多个所述第二爬虫节点中未进行爬取任务的节点作为所述第一爬虫节点。
7.根据权利要求6所述的方法,其特征在于,在存在多个未进行爬取任务的节点的情况下,将多个所述第二爬虫节点中未进行爬取任务的节点作为所述第一爬虫节点还包括:
将多个未进行爬取任务的节点与所述目标网络地址的网络时延进行排序;
按照所述网络时延的排序顺序确定所述第一爬虫节点。
8.一种分布式爬虫任务调度装置,其特征在于,包括:
网址获取模块,用于获取待爬取网站的目标网络地址,其中,所述待爬取网站为目标爬取任务中对应的数据爬取网站,所述目标网络地址用于表示所述待爬取网站的互联网协议地址;
节点提取模块,用于提取与所述目标网络地址的网络时延在阈值范围内的第一爬虫节点,其中,所述网络时延用于表示爬虫节点与所述待爬取网站的网络距离,所述爬虫节点为分布式爬虫节点;
任务调度模块,用于将所述第一爬虫节点作为执行所述目标爬取任务的目标节点。
9.一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010930417.3A CN112100471A (zh) | 2020-09-07 | 2020-09-07 | 分布式爬虫任务调度方法、装置、设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010930417.3A CN112100471A (zh) | 2020-09-07 | 2020-09-07 | 分布式爬虫任务调度方法、装置、设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112100471A true CN112100471A (zh) | 2020-12-18 |
Family
ID=73750712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010930417.3A Pending CN112100471A (zh) | 2020-09-07 | 2020-09-07 | 分布式爬虫任务调度方法、装置、设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100471A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116668086A (zh) * | 2023-05-09 | 2023-08-29 | 广州钛动科技股份有限公司 | 爬虫程序的调度方法、调度装置、服务器和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083616A (zh) * | 2007-07-05 | 2007-12-05 | 上海交通大学 | 基于蚁群算法的无线自组网络节能按需路由方法 |
US20150379301A1 (en) * | 2011-04-29 | 2015-12-31 | Stephen Lesavich | Method and system for electronic content storage and retrieval using galois fields and geometric shapes on cloud computing networks |
CN107920115A (zh) * | 2017-11-17 | 2018-04-17 | 南京莱克贝尔信息技术有限公司 | 一种基于时延和地理一致性约束的城市级ip定位方法 |
CN110020062A (zh) * | 2019-04-12 | 2019-07-16 | 北京邮电大学 | 一种可定制的网络爬虫方法及系统 |
CN111580954A (zh) * | 2020-04-01 | 2020-08-25 | 中国科学院信息工程研究所 | 一种可扩展的分布式数据采集方法和系统 |
-
2020
- 2020-09-07 CN CN202010930417.3A patent/CN112100471A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083616A (zh) * | 2007-07-05 | 2007-12-05 | 上海交通大学 | 基于蚁群算法的无线自组网络节能按需路由方法 |
US20150379301A1 (en) * | 2011-04-29 | 2015-12-31 | Stephen Lesavich | Method and system for electronic content storage and retrieval using galois fields and geometric shapes on cloud computing networks |
CN107920115A (zh) * | 2017-11-17 | 2018-04-17 | 南京莱克贝尔信息技术有限公司 | 一种基于时延和地理一致性约束的城市级ip定位方法 |
CN110020062A (zh) * | 2019-04-12 | 2019-07-16 | 北京邮电大学 | 一种可定制的网络爬虫方法及系统 |
CN111580954A (zh) * | 2020-04-01 | 2020-08-25 | 中国科学院信息工程研究所 | 一种可扩展的分布式数据采集方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116668086A (zh) * | 2023-05-09 | 2023-08-29 | 广州钛动科技股份有限公司 | 爬虫程序的调度方法、调度装置、服务器和存储介质 |
CN116668086B (zh) * | 2023-05-09 | 2024-06-11 | 广州钛动科技股份有限公司 | 爬虫程序的调度方法、调度装置、服务器和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768943B (zh) | 一种检测异常账号的方法、装置及服务器 | |
CN107003877B (zh) | 应用的上下文深层链接 | |
EP3170091B1 (en) | Method and server of remote information query | |
CN107786564B (zh) | 基于威胁情报的攻击检测方法、系统及电子设备 | |
CN111327647B (zh) | 一种容器对外提供服务的方法、装置及电子设备 | |
CN111399756B (zh) | 一种数据存储方法、数据下载方法及装置 | |
CN110677384B (zh) | 钓鱼网站的检测方法及装置、存储介质、电子装置 | |
CN110677492B (zh) | 一种访问请求处理方法、装置、电子设备及存储介质 | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN110069693B (zh) | 用于确定目标页面的方法和装置 | |
US20160299971A1 (en) | Identifying Search Engine Crawlers | |
CN112954089B (zh) | 一种解析数据的方法、装置、设备以及存储介质 | |
CN103136342A (zh) | 应用程序app的搜索方法、系统以及搜索服务器 | |
CN109359250A (zh) | 统一资源定位符处理方法、装置、服务器及可读存储介质 | |
US20180241814A1 (en) | A System, a Node, a Method in a Communication Network and a Computer Program and Corresponding Computer Program Product | |
US20170180506A1 (en) | Method and apparatus for obtaining user account | |
CN112100471A (zh) | 分布式爬虫任务调度方法、装置、设备及计算机可读介质 | |
CN117596030A (zh) | 网络攻击路径的重构方法、装置、存储介质和电子设备 | |
CN108900566B (zh) | 一种网络中ip设备的位置确定方法及装置 | |
CN114338794A (zh) | 一种服务消息的推送方法、装置、电子设备及存储介质 | |
US8825901B2 (en) | Distributed parallel discovery | |
CN104104589B (zh) | 一种电子邮件发送方法和系统 | |
CN112217770A (zh) | 一种安全检测方法、装置、计算机设备及存储介质 | |
KR101940802B1 (ko) | 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법 | |
CN116708024B (zh) | 威胁情报碰撞筛选方法、网关系统、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |