CN114817677A - 一种爬虫调度方法、装置及系统 - Google Patents
一种爬虫调度方法、装置及系统 Download PDFInfo
- Publication number
- CN114817677A CN114817677A CN202110082505.7A CN202110082505A CN114817677A CN 114817677 A CN114817677 A CN 114817677A CN 202110082505 A CN202110082505 A CN 202110082505A CN 114817677 A CN114817677 A CN 114817677A
- Authority
- CN
- China
- Prior art keywords
- webpage
- directory
- service
- services
- crawler
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004458 analytical method Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims description 86
- 230000009467 reduction Effects 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000009193 crawling Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003863 physical function Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种爬虫调度方法、装置及系统,涉及网络爬虫技术领域。该方法包括:创建M个请求网页服务和N个解析网页服务;根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。本发明的方案,解决了爬虫系统资源利用率不合理的问题。
Description
技术领域
本发明涉及网络爬虫领域技术领域,特别是指一种爬虫调度方法、装置及系统。
背景技术
现有的爬虫系统在开始运行时,启动多个分布式爬虫服务,然后根据各服务的处理能力进行负载均衡,把任务分配到处理能力较强,即积压任务较少的服务。也就是说,爬虫系统在启动时便确定了集群服务的数量,根据各服务的处理能力进行负载均衡,把任务调度到积压任务少的服务上,但是一个服务处理能力差并不代表该服务所在的物理机能已被耗尽,可能仅仅是因为任务比较复杂,耗时较长所致。同时任务较少时,则有大量服务处于空闲状态,会占用一定系统资源,不利于系统资源的合理利用。
发明内容
本发明提供一种爬虫调度方法、装置及系统,解决了现有爬虫系统的调度方式导致的系统资源利用不合理的问题。
为达到上述目的,本发明的实施例提供一种爬虫调度方法,包括:
创建M个请求网页服务和N个解析网页服务;
根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。
可选地,创建为M个请求网页服务和N个解析网页服务的步骤,包括:
根据物理机的CPU个数,创建M个请求网页服务和N个解析网页服务。
可选地,根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容的步骤,包括:
若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务和/或解析网页服务的数量;
若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务和/或解析网页服务的数量。
可选地,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务和/或解析网页服务的数量的步骤,包括:
在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务的数量;
在处理目录中的空载率低于第二门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少解析网页服务的数量。
可选地,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加网页服务和/或解析网页服务的数量的步骤,包括:
在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加解析网页服务的数量;
在处理目录中的空载率低于第二门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务的数量。
可选地,创建M个请求网页服务和N个解析网页服务的步骤之后,还包括:
所述请求网页服务从存储介质中读取爬虫任务;
根据所述爬虫任务,执行请求网页的操作,并将读取到的网页内容以文件形式存储在未处理目录中。
可选地,将读取到的网页内容以文件形式存储在未处理目录中的步骤之后,还包括:
根据负载均衡策略,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中。
可选地,根据负载均衡策略,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中的步骤,包括:
在爬虫系统启动初期,按照轮训的方式,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中;
若处理目录中最大文件和最小文件数相差超过阈值,分配网页服务则从未处理目录中读取文件,并将读取到的文件移动至最小文件数的处理目录中。
可选地,将读取到的文件移动至处理目录中的步骤之后,还包括:
所述解析网页服务从处理目录中读取文件;
对读取到的文件进行处理,并将处理后的文件移动到已处理目录中。
为达到上述目的,本发明的实施例提供一种爬虫调度装置,包括:
创建模块,用于创建M个请求网页服务和N个解析网页服务;
调度模块,用于根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。
可选地,所述创建模块包括:
创建子模块,用于根据物理机的CPU个数,创建M个请求网页服务和N个解析网页服务。
可选地,所述调度模块包括:
第一调度子模块,用于若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务和/或解析网页服务的数量;
第二调度子模块,用于若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务和/或解析网页服务的数量。
可选地,所述第一调度子模块包括:
第一调度单元,用于在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务的数量;
第二调度单元,用于在处理目录中的空载率低于第二门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少解析网页服务的数量。
可选地,所述第二调度子模块包括:
第三调度单元,用于在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加解析网页服务的数量;
第四调度单元,用于在处理目录中的空载率低于第二门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务的数量。
可选地,所述爬虫调度装置还包括:
第一读取模块,用于使所述请求网页服务从存储介质中读取爬虫任务;
第一处理模块,用于根据所述爬虫任务,执行请求网页的操作,并将读取到的网页内容以文件形式存储在未处理目录中。
可选地,所述爬虫调度装置还包括:
分配模块,用于根据负载均衡策略,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中。
可选地,所述分配模块包括:
第一分配子模块,用于在爬虫系统启动初期,按照轮训的方式,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中;
第二分配子模块,用于若处理目录中最大文件和最小文件数相差超过阈值,分配网页服务则从未处理目录中读取文件,并将读取到的文件移动至最小文件数的处理目录中。
可选地,所述爬虫调度装置还包括:
第二读取模块,用于使所述解析网页服务从处理目录中读取文件;
第二处理模块,用于对读取到的文件进行处理,并将处理后的文件移动到已处理目录中。
为达到上述目的,本发明的实施例提供一种爬虫调度系统,包括:
请求网页服务,用于从存储介质中读取爬虫任务,根据爬虫任务,执行请求网页的操作,并将读取到的网页内容以文件形式存储在未处理目录中;
解析网页服务,从处理目录中读取文件,对读取到的文件进行处理,并将处理后的文件移动到已处理目录中;
调度服务,用于根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。
其中,该爬虫调度系统还包括:
分配网页服务,用于根据负载均衡策略,从未处理目录中读取文件,并将读取到的文件移动至处理目录中。
为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的爬虫调度方法中的步骤。
本发明的上述技术方案的有益效果如下:
本发明实施例的爬虫调度方法、装置及系统中,通过创建M个请求网页服务和N个解析网页服务;根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。这样通过计算物理机的性能,动态进行请求网页服务和解析网页服务的扩容和缩容,能最大限度的压榨物理机性能,提高硬件利用率。把爬虫任务拆分为请求网页服务和解析网页服务这2个微服务,减少了单个服务的复杂度,从而能更精细的控制单个服务,便于扩容和缩容。
附图说明
图1为本发明实施例的爬虫调度方法的流程示意图;
图2为本发明实施例的请求网页服务的任务处理示意图;
图3为本发明实施例的分配网页服务的任务处理示意图;
图4为本发明实施例的解析网页服务的任务处理示意图;
图5为本发明实施例的调度服务的任务处理示意图;
图6为本发明实施例的爬虫调度装置的模块结构示意图;
图7为本发明实施例的爬虫调度系统的框架示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
如图1所示,本发明实施例的一种爬虫调度方法,包括:
步骤11:创建M个请求网页服务和N个解析网页服务。
单个爬虫服务功能过于复杂,爬取网页是网络输入输出(Input Output,IO)密集型操作,网页内容解析则是cup密集型操作,网页内容存储则是存储介质IO密集型操作,单个爬虫服务功能粒度不够精细,不利于服务的扩容和缩容。针对这个缺点,本发明实施例将爬虫服务拆分为2个微服务:请求网页服务和解析网页服务,这样每个服务的功能单一,方便精细控制。其中,请求网页服务负责请求网页并把网页原始内容保存为文件;解析网页服务负责提取文件内容中的关键信息并写存储介质。
步骤12:根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。
根据物理机的性能,如负载、CPU利用率等进行综合考量,智能的进行爬虫服务的扩容和缩容,做到最大力度的压榨服务器性能,提高物理硬件利用率。比如一个爬虫服务处理任务速度慢,但是所在物理机负载和CPU利用率却很低,则可以在该物理机上启动更多的爬虫服务,增加并行处理能力。
其中,步骤11可通过但不限于以下方式实现:根据物理机的CPU个数,创建M个请求网页服务和N个解析网页服务。
本发明实施中,M、N均为正整数,且M、N的值与CPU的个数相关,CPU的数量越多,M、N的值越大。例如,服务启动后会根据当前物理机的CPU个数,创建CPU个数*0.7/2个请求网页服务,以及同样数目的解析网页服务。
可选地,步骤11之后,还包括:请求网页服务从存储介质中读取爬虫任务;根据爬虫任务,执行请求网页的操作,并将读取到的网页内容以文件形式存储在未处理目录中。
如图2所示,请求网页服务负责从爬虫任务存储介质(共享内容,消息队列或数据库)中读取爬虫任务,然后执行请求网页(图中所示的爬取网页)的操作,读取到的网页内容以文件形式储在本地的未处理(unprocess)目录中,文件命名为:文件的md5+网页名称。其中,本系统总共涉及3个目录:除了上面提到的存放未解析文件的unprocess,还包括存放处理中文件的处理(processing)目录和存放处理过文件的已处理(processed)目录。
进一步地,将读取到的网页内容以文件形式存储在未处理目录中的步骤之后,还包括:根据负载均衡策略,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中。
如图3所示,分配网页服务从负责unprocess目录中按时间顺序读取文件,计算其md5,若其md5等于文件名称中的md5,则表示该文件已写结束,然后根据负载均衡策略把该文件移动到processing_i目录下,i是从1开始的整数,每个processing_i目录对应第3类中的一个解析网页服务,该目录下的所有文件由该微服务负责解析。
其中,根据负载均衡策略,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中的步骤,包括:
在爬虫系统启动初期,按照轮询的方式,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中。具体地,爬虫系统启动初期,每个processing目录都是空的,所以按照轮询的方式把文件依次放入processing_1到processing_n中。
若处理目录中最大文件和最小文件数相差超过阈值,分配网页服务则从未处理目录中读取文件,并将读取到的文件移动至最小文件数的处理目录中。也就是说,若processing_i中的最大文件数和最小文件数相差超过某个阈值,则把文件放入拥有最少文件数的目录中。比如processing_1目录中文件最多,有20个文件,而processing_5目录中文件最少,有15个,阈值为5,因为(20-15)>=5,则说明第5个服务处理文件快,积压任务少,所以把文件放入processing_5目录中。
进一步地,将读取到的文件移动至处理目录中的步骤之后,还包括:解析网页服务从处理目录中读取文件;对读取到的文件进行处理,并将处理后的文件移动到已处理目录中。
如图4所示,解析网页服务中第i个服务负责解析processing_i目录中的文件,按照文件的时间顺序提取内容,并把内容写入存储介质(数据库或磁盘等),最后把文件移动到processed目录下,表示一个网页已经处理完成。
其中,步骤12包括但不限于以下方式实现:
若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务和/或解析网页服务的数量;
若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务和/或解析网页服务的数量。
其中,减少请求网页服务数量对应的第一阈值或第二阈值,与减少解析网页服务数量对应的第一阈值或第二阈值不同。
第一阈值与第三阈值可以相同,也可以不同;第二阈值与第四阈值可以相同,也可以不同。可选地,减少请求网页服务数量对应的第一阈值可以大于增加请求网页服务数量对应的第三阈值。减少解析网页服务数量对应的第一阈值可以大于增加解析网页服务数量对应的第三阈值。减少请求网页服务数量对应的第二阈值可以大于增加请求网页服务数量对应的第四阈值。减少解析网页服务数量对应的第二阈值可以大于增加解析网页服务数量对应的第四阈值。
可选地,第一阈值和第二阈值可以与M、N的值相关。
其中,可以定时获取所有处理目录中的文件个数,例如每隔X分钟读取一次处理目录中的文件个数。X的值可以手动设置,或动态生效。当任务多时,X值可设置的小一些,以动态的调度任务,提高系统资源利用率;当任务少时,X值可设置的大一些,以减少频繁的调度。具体地,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务和/或解析网页服务的数量的步骤包括:
在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务的数量;这种情况下,说明物理机性能已接近饱和,而当前请求网页服务爬取速度快过了解析网页服务的解析速度,导致了文件积压,所以需要减少请求网页服务的个数。此时调度服务任意选择1个请求网页服务,通知它自动退出。
在处理目录中的空载率低于第二门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少解析网页服务的数量。这种情况下,说明物理机性能已接近饱和,应该停掉这些空目录对应的解析网页服务,防止再分配网页给它们,进一步拉高系统负载。因此调度服务通知所有空目录对应的解析网页服务自动退出。
具体地,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加网页服务和/或解析网页服务的数量的步骤,包括:
在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加解析网页服务的数量;这种情况下,说明物理机性能尚有空间,是解析网页服务处理太慢导致了文件积压,因此需要增加解析网页服务的数量,此时调度服务会创建1个新的解析服务。这样新请求得到的网页就会被分配给该服务进行处理,从而减缓其他解析网页服务的待处理文件数的增长速度。
在处理目录中的空载率低于第二门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务的数量。这种情况下,说明物理机性能尚有空间,可以增加请求网页服务的数量,因此调度服务创建1个新的请求以请求网页服务,这样相当于加快了网页的获取速度,新获取的网页会由于负载均衡被分配到空的处理目录,这样就提高了爬取效率。
为了便于说明以上调度方式,将结合图6所示的示例对调度服务的调度方式做进一步说明。
如图5所示,根据物理机的CPU个数,创建请求网页服务和解析网页服务,定时获取所有processing_i目录中的文件个数,可能出现以下状况。
状况1:若发现个目录中积压文件数目大于一个阈值(由于已采取负载均衡策略,所以各目录中文件数目相差不会太大),则触发扩容或者缩容操作。操作过程如下:
1)若物理机负载大于CPU个数*0.7或者CPU利用率大于90%,说明物理机性能已接近饱和,而当前请求网页服务爬取速度快过了解析网页服务的解析速度,导致了文件积压,所以需要减少请求网页服务的个数。此时调度服务任意选择1个请求网页服务,通知它自动退出。
2)若物理机负载小于CPU个数*0.7且CPU利用率低于90%,说明物理机性能尚有空间,是解析网页服务处理太慢导致了文件积压,因此需要增加解析网页服务的数量,此时调度服务会创建1个新的解析服务。这样新请求得到的网页就会被分配给该服务进行处理,从而减缓其他解析网页服务的待处理文件数的增长速度。
状况2:若发现各processing_i目录中,有超过20%的目录为空,说明解析网页服务处理速度快,有服务处于空转状态。需要进行一下判断:
1)若物理机负载小于CPU个数*0.7且CPU利用率低于90%,说明物理机性能尚有空间,可以增加请求网页服务的数量,因此调度服务创建1个新的请求以请求网页服务,这样相当于加快了网页的获取速度,新获取的网页会由于负载均衡被分配到空的processing_i目录。这样就提高了爬取效率。
2)若物理机负载大于CPU个数*0.7或者CPU利用率大于90%,说明物理机性能已接近饱和,应该停掉这些空目录对应的解析网页服务,防止再分配网页给它们,进一步拉高系统负载。因此调度服务通知所有空目录对应的解析网页服务自动退出。例如processing_3目录是空的,则停掉第3个解析网页服务。
该实施例的爬虫调度方法,创建M个请求网页服务和N个解析网页服务;根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。通过计算物理机的性能,动态进行请求网页服务和解析网页服务的扩容和缩容,能最大限度的压榨物理机性能,提高硬件利用率。把爬虫任务拆分为请求网页服务和解析网页服务这2个微服务,减少了单个服务的复杂度,从而能更精细的控制单个服务,便于扩容和缩容。
以上介绍了本发明实施例的爬虫调度方法,下面将结合附图对其对应的爬虫调度装置进行说明。
如图6所示,本发明实施例的爬虫调度装置600,包括:
创建模块610,用于创建M个请求网页服务和N个解析网页服务;
调度模块620,用于根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。
可选地,创建模块610包括:
创建子模块,用于根据物理机的CPU个数,创建M个请求网页服务和N个解析网页服务。
可选地,调度模块620包括:
第一调度子模块,用于若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务和/或解析网页服务的数量;
第二调度子模块,用于若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务和/或解析网页服务的数量。
可选地,第一调度子模块包括:
第一调度单元,用于在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务的数量;
第二调度单元,用于在处理目录中的空载率低于第二门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少解析网页服务的数量。
可选地,第二调度子模块包括:
第三调度单元,用于在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加解析网页服务的数量;
第四调度单元,用于在处理目录中的空载率低于第二门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务的数量。
可选地,爬虫调度装置600还包括:
第一读取模块,用于使请求网页服务从存储介质中读取爬虫任务;
第一处理模块,用于根据爬虫任务,执行请求网页的操作,并将读取到的网页内容以文件形式存储在未处理目录中。
可选地,爬虫调度装置600还包括:
分配模块,用于根据负载均衡策略,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中。
可选地,分配模块包括:
第一分配子模块,用于在爬虫系统启动初期,按照轮训的方式,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中;
第二分配子模块,用于若处理目录中最大文件和最小文件数相差超过阈值,分配网页服务则从未处理目录中读取文件,并将读取到的文件移动至最小文件数的处理目录中。
可选地,爬虫调度装置600还包括:
第二读取模块,用于使解析网页服务从处理目录中读取文件;
第二处理模块,用于对读取到的文件进行处理,并将处理后的文件移动到已处理目录中。
值得指出的是,该装置实施例是与上述方法实施例对应的,上述方法实施例的所有实现方式均适用于该装置实施例中,并可达到相同的技术效果,故在此不再赘述。
本发明实施例还提供一种通信设备,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所述程序或指令时实现上述应用于爬虫调度方法中的步骤,为避免重复,此处不再赘述。
所述收发器,用于在处理器的控制下接收和发送数据。总线架构可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器负责管理总线架构和通常的处理,存储器可以存储处理器在执行操作时所使用的数据。
如图7所示,本发明实施例还提供了一种爬虫调度系统,包括:
请求网页服务,用于从存储介质中读取爬虫任务,根据爬虫任务,执行请求网页的操作,并将读取到的网页内容以文件形式存储在未处理目录中;
解析网页服务,从处理目录中读取文件,对读取到的文件进行处理,并将处理后的文件移动到已处理目录中;
调度服务,用于根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,物理机性能参数包括任务负载和CPU利用率。
可选地,该爬虫调度系统还包括:
分配网页服务,用于根据负载均衡策略,从未处理目录中读取文件,并将读取到的文件移动至处理目录中。
本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的爬虫调度方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的爬虫调度系统中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种爬虫调度方法,其特征在于,包括:
创建M个请求网页服务和N个解析网页服务;
根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,所述物理机性能参数包括任务负载和CPU利用率。
2.根据权利要求1所述的爬虫调度方法,其特征在于,创建为M个请求网页服务和N个解析网页服务的步骤,包括:
根据物理机的CPU个数,创建M个请求网页服务和N个解析网页服务。
3.根据权利要求1所述的爬虫调度方法,其特征在于,根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容的步骤,包括:
若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务和/或解析网页服务的数量;
若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务和/或解析网页服务的数量。
4.根据权利要求3所述的爬虫调度方法,其特征在于,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务和/或解析网页服务的数量的步骤,包括:
在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少请求网页服务的数量;
在处理目录中的空载率低于第二门限值的情况下,若任务负载数量大于第一阈值,或CUP利用率大于第二阈值,减少解析网页服务的数量。
5.根据权利要求3所述的爬虫调度方法,其特征在于,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加网页服务和/或解析网页服务的数量的步骤,包括:
在处理目录中的积压文件大于第一门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加解析网页服务的数量;
在处理目录中的空载率低于第二门限值的情况下,若任务负载数量小于或等于第三阈值,或CUP利用率小于或等于第四阈值,增加请求网页服务的数量。
6.根据权利要求1所述的爬虫调度方法,其特征在于,创建M个请求网页服务和N个解析网页服务的步骤之后,还包括:
所述请求网页服务从存储介质中读取爬虫任务;
根据所述爬虫任务,执行请求网页的操作,并将读取到的网页内容以文件形式存储在未处理目录中。
7.根据权利要求6所述的爬虫调度方法,其特征在于,将读取到的网页内容以文件形式存储在未处理目录中的步骤之后,还包括:
根据负载均衡策略,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中。
8.根据权利要求7所述的爬虫调度方法,其特征在于,根据负载均衡策略,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中的步骤,包括:
在爬虫系统启动初期,按照轮训的方式,分配网页服务从未处理目录中读取文件,并将读取到的文件移动至处理目录中;
若处理目录中最大文件和最小文件数相差超过阈值,分配网页服务则从未处理目录中读取文件,并将读取到的文件移动至最小文件数的处理目录中。
9.根据权利要求7所述的爬虫调度方法,其特征在于,将读取到的文件移动至处理目录中的步骤之后,还包括:
所述解析网页服务从处理目录中读取文件;
对读取到的文件进行处理,并将处理后的文件移动到已处理目录中。
10.一种爬虫调度装置,其特征在于,包括:
创建模块,用于创建M个请求网页服务和N个解析网页服务;
调度模块,用于根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,所述物理机性能参数包括任务负载和CPU利用率。
11.一种爬虫调度系统,其特征在于,包括:
请求网页服务,用于从存储介质中读取爬虫任务,根据所述爬虫任务,执行请求网页的操作,并将读取到的网页内容以文件形式存储在未处理目录中;
解析网页服务,从处理目录中读取文件,对读取到的文件进行处理,并将处理后的文件移动到已处理目录中;
调度服务,用于根据物理机性能参数,对请求网页服务和/或解析网页服务进行扩容或缩容;其中,所述物理机性能参数包括任务负载和CPU利用率。
12.根据权利要求11所述的爬虫调度系统,其特征在于,还包括:
分配网页服务,用于根据负载均衡策略,从未处理目录中读取文件,并将读取到的文件移动至处理目录中。
13.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1-9任一项所述的爬虫调度方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110082505.7A CN114817677A (zh) | 2021-01-21 | 2021-01-21 | 一种爬虫调度方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110082505.7A CN114817677A (zh) | 2021-01-21 | 2021-01-21 | 一种爬虫调度方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114817677A true CN114817677A (zh) | 2022-07-29 |
Family
ID=82523773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110082505.7A Pending CN114817677A (zh) | 2021-01-21 | 2021-01-21 | 一种爬虫调度方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817677A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559083A (zh) * | 2013-10-11 | 2014-02-05 | 北京奇虎科技有限公司 | 网页爬取任务调度方法与任务调度器 |
CN103678571A (zh) * | 2013-12-09 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 应用于单台多核处理器主机的多线程网络爬虫执行方法 |
CN107071009A (zh) * | 2017-03-28 | 2017-08-18 | 江苏飞搏软件股份有限公司 | 一种负载均衡的分布式大数据爬虫系统 |
CN109857547A (zh) * | 2019-01-04 | 2019-06-07 | 平安科技(深圳)有限公司 | 一种线程分配方法、装置及终端设备 |
CN110247783A (zh) * | 2018-03-07 | 2019-09-17 | 中国移动通信有限公司研究院 | 一种扩缩容策略冲突处理方法及装置 |
CN111241373A (zh) * | 2020-02-20 | 2020-06-05 | 山东爱城市网信息技术有限公司 | 一种基于微服务的网页爬虫系统及实现方法 |
CN111444412A (zh) * | 2020-04-03 | 2020-07-24 | 北京明朝万达科技股份有限公司 | 网络爬虫任务的调度方法及装置 |
CN112035258A (zh) * | 2020-08-31 | 2020-12-04 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、电子设备及介质 |
-
2021
- 2021-01-21 CN CN202110082505.7A patent/CN114817677A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559083A (zh) * | 2013-10-11 | 2014-02-05 | 北京奇虎科技有限公司 | 网页爬取任务调度方法与任务调度器 |
CN103678571A (zh) * | 2013-12-09 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 应用于单台多核处理器主机的多线程网络爬虫执行方法 |
CN107071009A (zh) * | 2017-03-28 | 2017-08-18 | 江苏飞搏软件股份有限公司 | 一种负载均衡的分布式大数据爬虫系统 |
CN110247783A (zh) * | 2018-03-07 | 2019-09-17 | 中国移动通信有限公司研究院 | 一种扩缩容策略冲突处理方法及装置 |
CN109857547A (zh) * | 2019-01-04 | 2019-06-07 | 平安科技(深圳)有限公司 | 一种线程分配方法、装置及终端设备 |
CN111241373A (zh) * | 2020-02-20 | 2020-06-05 | 山东爱城市网信息技术有限公司 | 一种基于微服务的网页爬虫系统及实现方法 |
CN111444412A (zh) * | 2020-04-03 | 2020-07-24 | 北京明朝万达科技股份有限公司 | 网络爬虫任务的调度方法及装置 |
CN112035258A (zh) * | 2020-08-31 | 2020-12-04 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN110096336B (zh) | 数据监控方法、装置、设备和介质 | |
CN109840142B (zh) | 基于云监控的线程控制方法、装置、电子设备及存储介质 | |
CN114741207B (zh) | 一种基于多维度组合并行的gpu资源调度方法和系统 | |
WO2023082560A1 (zh) | 一种任务处理方法、装置、设备及介质 | |
CN110677305A (zh) | 一种云计算环境下的自动伸缩方法和系统 | |
CN112905342B (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN108509280B (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
CN115129621B (zh) | 一种内存管理方法、设备、介质及内存管理模块 | |
CN116795647A (zh) | 一种数据库异构资源管理与调度方法、装置、设备及介质 | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
US20210255793A1 (en) | System and method for managing conversion of low-locality data into high-locality data | |
CN113094172A (zh) | 应用于分布式存储系统的服务器管理方法和装置 | |
CN111913792A (zh) | 一种业务处理方法和装置 | |
CN116149841A (zh) | 基于云数据库实例负载的处理器资源动态超分方法 | |
CN114817677A (zh) | 一种爬虫调度方法、装置及系统 | |
CN114860449A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN113204426A (zh) | 资源池的任务处理方法及相关设备 | |
CN113923212A (zh) | 一种网络数据包处理方法和装置 | |
CN110825920A (zh) | 数据处理方法和装置 | |
CN117421123B (zh) | 一种gpu资源调整方法及系统、电子设备和存储介质 | |
CN115858013B (zh) | 一种多研发项目并行的资源配置方法、系统、装置及介质 | |
CN116991562B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN117519988B (zh) | 一种基于raid的内存池动态调配方法、装置 | |
CN112114959B (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 |