CN110866167A - 任务分配方法、装置、服务器和存储介质 - Google Patents
任务分配方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN110866167A CN110866167A CN201911115472.0A CN201911115472A CN110866167A CN 110866167 A CN110866167 A CN 110866167A CN 201911115472 A CN201911115472 A CN 201911115472A CN 110866167 A CN110866167 A CN 110866167A
- Authority
- CN
- China
- Prior art keywords
- task
- slave node
- tasks
- slave
- processing capacity
- 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.)
- Granted
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/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
- G06F9/5044—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 considering hardware capabilities
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
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)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种任务分配方法、装置、服务器和存储介质,该方法可应用于分布式爬虫系统中的主节点,该任务分配方法包括:向从节点发送任务数量为第一数量的第一任务;接收从节点返回的第一数量的第一任务的任务执行结果;根据任务执行结果计算从节点当前的处理能力值;根据当前的处理能力值对从节点的任务数量进行更新,以在下一次发送任务时根据更新后的任务数量向从节点发送任务。以此能够改善现有技术中爬虫集群的处理效率低的问题。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种任务分配方法、装置、服务器和存储介质。
背景技术
随着大数据、移动互联网的飞速发展,网络中的数据量也在飞速增长。若能将网络上公开的非结构数据整合抓取下来,并对其进行一定的分析就能得到一些有价值的数据,以此不仅可以更加了解当前网络中的情况,也可以为企业的业务发展方向提供量化的参考。但是由于机器性能问题、网络问题等限制导致爬虫服务器若想要抓取大量数据就需要做成集群的形式,单台机器的爬虫工作能力非常有限。
而在爬虫集群中如何分配任务就成为了需要解决的问题,现有的一种做法是将总任务尽可能的细化为多个极小的任务,然后由master(主节点)将各个细化的任务逐个分配给slave(从节点),并等待接收slave的结果,最后由master对所有节点的结果进行汇总。
但是这种做法可能会让master长时间等待部分节点的结果,爬虫集群的处理效率低。
发明内容
本申请实施例的目的在于提供一种任务分配方法、装置、服务器和存储介质,用以改善现有技术中爬虫集群的处理效率低的问题。
第一方面,实施例提供一种任务分配方法,应用于分布式爬虫系统中的主节点,所述方法包括:
向从节点发送任务数量为第一数量的第一任务;
接收所述从节点返回的所述第一数量的第一任务的任务执行结果;
根据所述任务执行结果计算所述从节点当前的处理能力值;
根据所述当前的处理能力值对所述从节点的任务数量进行更新,以在下一次发送任务时根据更新后的任务数量向所述从节点发送任务。
在上述方法中,主节点先向从节点分配一批任务数量为第一数量的任务,然后计算该从节点执行这批任务所对应的当前的处理能力值,从而根据当前的处理能力值对该从节点的任务数量进行更新,实现了动态的任务分配。上述方法能够通过每次计算出的处理能力值动态分配爬虫任务,尽可能让从节点被分到的任务与其处理能力值是适配的,且动态分配爬虫任务的方式还能够提高带宽利用率,提升整体爬虫效率。
在可选的实施方式中,所述任务执行结果中包括所述从节点执行任务数量为所述第一数量的第一任务时的网络参数,所述根据所述任务执行结果计算所述从节点当前的处理能力值,包括:
获取所述从节点执行任务数量为所述第一数量的第一任务所用的任务耗时;
根据所述从节点的硬件配置信息、所述网络参数以及所述任务耗时,计算所述从节点当前的处理能力值。
通过上述实现方式,在处理能力值的计算过程中,综合考虑了从节点的固定参数与非固定参数,以此得到的处理能力值更为可靠。且计算处理能力值的各种参数是较为容易获取的,计算方式易于实现。
在可选的实施方式中,所述第一数量是根据上一次计算得到的所述从节点的处理能力值确定的任务数量,所述根据所述当前的处理能力值对所述从节点的任务数量进行更新,包括:
将所述当前的处理能力值与上一次计算出的处理能力值进行比较;
在所述当前的处理能力值大于上一次计算出的处理能力值时,将所述第一数量增大第一预设数量,以得到更新后的任务数量;
在所述当前的处理能力值小于上一次计算出的处理能力值时,将所述第一数量减小第二预设数量,以得到更新后的任务数量。
通过上述实现方式,主节点能够以上一次对该从节点的任务数量为基础,根据当前的处理能力值与上一次的处理能力值之间的比较结果,确定用于下一次任务分配的任务数量。相较于将一个值与预设的几个固定区间进行匹配的方式,任务适配性更好。
在可选的实施方式中,所述根据所述当前的处理能力值对所述从节点的任务数量进行更新,包括:
根据获取到的多个从节点分别对应的多个处理能力值,得到所述多个从节点对应的能力值排序结果;
根据所述能力值排序结果对任一从节点的任务数量进行更新。
通过上述实现方式,可以基于多个从节点的能力值排序结果对各个从节点进行任务调节,有利于提升整体系统的处理效率。
在可选的实施方式中,所述方法还包括:
在首次向所述从节点发送任务之前,获取所述从节点的初始任务数量;
所述向从节点发送任务数量为第一数量的第一任务,包括:
以所述初始任务数量作为所述第一数量,向所述从节点发送所述第一任务。
通过上述实现方式提供了首次为从节点分配任务的处理方式。
在可选的实施方式中,所述获取所述从节点的初始任务数量,包括:
获取所述从节点的固定参数,所述固定参数包括所述从节点的硬件配置信息、所述从节点的带宽信息;
根据所述硬件配置信息和所述带宽信息确定所述初始任务数量。
通过上述实现方式,可以在首次向多个从节点分配任务时就考虑到各个从节点之间的差异性,从而在首次分配任务时就对各个从节点进行合理分配。
在可选的实施方式中,所述处理能力值通过第一表达式计算得到;
所述第一表达式包括:
其中,所述pv表示从节点的处理能力值;所述u、d分别表示上传速度、下载速度;所述s表示执行上一次任务的平均耗时;所述x、n、m分别表示内存大小、CPU的逻辑核心数、主频。
通过上述实现方式,能够快速计算各个从节点的能力值,降低主节点的计算压力。
第二方面,实施例提供一种任务分配装置,应用于分布式爬虫系统中的主节点,所述装置包括:
发送模块,用于向从节点发送任务数量为第一数量的第一任务;
接收模块,用于接收所述从节点返回的所述第一数量的第一任务的任务执行结果;
计算模块,用于根据所述任务执行结果计算所述从节点当前的处理能力值;
更新模块,用于根据所述当前的处理能力值对所述从节点的任务数量进行更新,以在下一次发送任务时根据更新后的任务数量向所述从节点发送任务。
通过上述任务分配装置可以执行前述第一方面提供的任务分配方法,可以动态分配爬虫任务,不仅能够让从节点被分到的任务与其处理能力值是适配,还能够提高带宽利用率,提升整体爬虫效率。
第三方面,实施例提供一种服务器,包括:
存储器;
处理器;
所述存储器存储有所述处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行前述第一方面所述的方法。
第四方面,实施例提供一种存储介质,所述存储介质上存储有处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行前述第一方面所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种分布式爬虫系统的示意图。
图2为本申请实施例提供的一种服务器的功能模块示意图。
图3为本申请实施例提供的一种任务分配方法的流程图。
图4为本申请实施例提供的一种任务分配装置的功能模块框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为便于理解,下面将对本申请实施例中的一些术语进行解释。
网络爬虫:是一种按照一定的规则,自动抓取万维网信息的程序或脚本。
master:主节点,承担爬虫集群中的重要工作,例如承担任务分配、结果收集等工作。
slave:从节点,承担爬虫集群中的常规工作,负责进行内容爬取、内容统计等工作,通常会将结果发送给master。
下面将介绍本申请实施例提供的一种应用实施环境。
请参阅图1,图1为本申请实施例提供的一种分布式爬虫系统的示意图。
如图1所示,该分布式爬虫系统中包括主节点100以及与主节点100通信连接的多个从节点200。该分布式爬虫系统中的任意节点都具有运算处理能力,可以是服务器。
其中,主节点100可以向多个从节点200发送爬虫任务,并等待每个从节点200执行完爬虫任务后返回的任务执行结果。
对于一个总的爬虫任务,可能被拆分为多个子任务,主节点100可以将多个子任务分配给不同的从节点200进行处理。在子任务多、从节点200多的情况下,主节点100可以对每个节点分配多批次的子任务,以加快处理进度。但主节点100需要等到所有从节点200中最晚反馈结果的节点返回任务执行结果后,才能根据所有从节点200的任务执行结果得到关于该总的爬虫任务的最终结果。
在本申请实施例中,主节点100可以执行下述的任务分配方法,以对各个从节点200进行合理的任务分配,提高带宽利用率,有利于让主节点100能够尽快得到各个节点反馈的任务执行结果,从而缩短总体等待时间。
请参阅图2,图2为本申请实施例提供的一种服务器的功能模块示意图,该服务器可以作为本申请实施例中的主节点100。
如图2所示,该服务器可包括存储器101、处理器102、通信单元103。存储器101、处理器102、通信单元103相互之间直接或间接连接,以实现数据交互。
其中,存储器101存储有处理器102可执行的计算机程序,计算机程序被处理器102执行时执行下述的任务分配方法。
存储器101是一种存储介质,可以是但不限于只读存储器(Read Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器102具有运算处理能力,可以是但不限于中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他分立组件搭建的处理器。
通信单元103可以包括通信接口,服务器通过至少一个通信接口实现与外部的其他设备(从节点)之间的有线或无线连接。例如,作为主节点的服务器可通过通信接口向其他作为从节点的服务器发送任务,也可以接收其他作为从节点的服务器返回的任务执行结果。可以理解的是,图2所示的服务器也可以作为从节点,即,对于能够向一部分从节点发送任务的主节点,也可以接受其他节点下发的任务并进行任务反馈(成为其他节点对应的“从节点”)。
其中,图2所示的结构仅作为示意,并不对服务器的结构造成限定,服务器还可以有比图2所示更多的组件,或具有与图2所不同的配置。例如,服务器还可以包括显示组件,用以显示任务处理进度,或向用户提供显示界面、操作界面。
请参阅图3,图3为本申请实施例提供的一种任务分配方法的流程图,该方法可应用于图1所示的分布式爬虫系统中的主节点100,该方法可用于对分布式爬虫系统中的各个从节点200进行任务分配。
如图3所示,该任务分配方法包括步骤S31-S34。其中,在S31-S34中的从节点是指同一个节点。
S31:向从节点发送任务数量为第一数量的第一任务。
其中,第一数量可以是初始任务数量,也可以是根据上一次计算得到的该从节点的处理能力值所确定的任务数量(即,第一数量也可以不是首次进行任务分配时对应的初始任务数量)。
第一任务可以是基于一个总的爬虫任务而得到的子任务。任务数量为第一数量的第一任务可以表示多个子任务。
S32:接收从节点返回的第一数量的第一任务的任务执行结果。
其中,在每次的任务执行结果中可以包括该从节点对于该次第一任务的爬虫结果,例如,任务执行结果中可以包括该从节点在执行这批第一任务时得到的一部分购物评论信息。该任务执行结果中除了可以有爬虫结果外,任务执行结果中还可以包括该从节点在执行任务数量为第一数量的任务时对应的网络参数,以此可以使得主节点能够通过该从节点每次返回的任务执行结果,得知该从节点在执行历史任务(任务数量为第一数量的第一任务)时的真实网络情况,从而计算出该从节点的处理能力值。
主节点在向该从节点批量发送第一任务后,可以等待该从节点关于这批第一任务的任务执行结果,然后基于任务执行结果确定下一次向该从节点分配的任务数量,新的任务数量通过执行S33-S34确定。
S33:根据任务执行结果计算从节点当前的处理能力值。
其中,处理能力值可以用于表征该从节点执行历史爬虫任务的处理能力。
在该从节点执行完一批任务数量为第一数量的第一任务后,主节点可以对该从节点进行一次计算,以得到该从节点当前的处理能力值。
在具体实施时,该从节点可以在执行完一批任务后才返回一次任务执行结果,以此可以降低爬虫系统内部节点之间的通信次数。主节点可根据每次接收到的任务执行结果计算一次该从节点的处理能力值,以最新计算出的处理能力值作为该从节点当前的处理能力值。
S34:根据当前的处理能力值对从节点的任务数量进行更新,以在下一次发送任务时根据更新后的任务数量向从节点发送任务。
其中,可以根据当前的处理能力值以及前述的第一数量,确定出一个新的任务数量,以对该从节点的任务数量进行更新。当主节点下一次向该从节点发送任务时,可以用更新后的任务数量替换前述的第一数量,跳转执行S31以向该从节点发送任务。
为便于与第一任务进行区分,可以将根据更新后的任务数量发送的任务记为第二任务。第二任务与第一任务是不同批次的爬虫任务。
在一个应用场景中,第一任务和第二任务可以是基于同一个总任务而得到的不同批次的子任务。
在一个实例中,分布式爬虫系统中的一个主节点A将一个总的爬虫任务拆分为20000个子任务,该20000个子任务将被发送给4个从节点。在主节点A首次分配任务时,可以假设各个从节点的任务处理能力相同,尝试向各个从节点发送一批任务数量为280的任务(第一数量为280的第一任务)。以该4个从节点中的其中一个从节点B为例,主节点A根据从节点B在执行完280个任务后得到的任务执行结果,计算出该从节点B处理280个任务的处理能力值pv1,pv1作为该从节点B当前的处理能力值。然后主节点A基于该pv1调整任务分配策略,得到一个新的任务数量(假设是590),并以新的任务数量向该从节点B发送下一次任务,以此实现向该从节点B的动态任务分配。在主节点A接收到该从节点B基于590个任务返回的任务执行结果后,可以继续计算该从节点B对于590个任务的处理能力值pv2,然后以pv2作为该从节点B当前的处理能力值,继续得到新的任务数量,此时的任务数量可能大于590,也可能小于590。需要说明的是,非首次任务分配时的得到的每次任务数量,会根据实际应用场景中计算出的处理能力值而改变。
基于同样的原理,该主节点A也可以向前述4个从节点中除了从节点B以外的其他从节点动态地进行任务分配,使得主节点A给各个从节点发送的任务与相应从节点的处理能力是适配的,避免了始终以固定数量发送任务而出现部分从节点很早就完成了任务,而还有部分从节点迟迟没有完成任务,从而导致主节点A等待时间过长的情况。
在上述任务分配方法中,主节点先向从节点分配一批任务数量为第一数量的任务,然后计算该从节点执行这批任务所对应的当前的处理能力值,从而根据当前的处理能力值对该从节点的任务数量进行更新,实现了动态的任务分配。上述方法能够通过每次计算出的处理能力值动态分配爬虫任务,实现对于任务分配策略的闭环调节,尽可能让从节点被分到的任务与其处理能力值是适配的,且动态分配爬虫任务的方式还能够提高带宽利用率,提升整体爬虫效率。
此外,对于主节点而言,计算各从节点的处理能力值是消耗较低的操作,而且在爬虫系统中,主节点的处理器(例如CPU)的消耗本就不是很大,所以即使每次Master收到来自Slave的结果时都进行一次计算也不会导致整体爬虫集群的性能下降,不仅不会导致性能下降,反而会因为每次都在计算并使用新的处理能力值,所以分配任务时候能依据新的处理能力值进行合理分配,能够使得整体集群的工作效率更高。
另外,通过上述任务分配方法有机会解决现有技术中的一些弊端。发明人经过研究发现,在现有技术中,将被拆分的子任务逐个分配给slave,并等待每个slave对于每个子任务的结果的处理方式,虽然可以给各个slave分配任务,但随着slave的增加,大量slave与master之间的通信频繁会对带宽造成较大影响,而带宽又是爬虫系统中的重要资源之一。在现有技术中,假设一个master要向100个slave分配任务,每个子任务耗时1s,若将100个子任务下发到100个slave,每个子任务需要相应的slave花费1s得到结果,然后返回给master。若持续一分钟的话,大概会触发(100+100+100)*60=18000次通信请求,即(下发100次任务+获取100次结果+回传100次结果)*60s=18000,这意味着仅有三分之一的通信请求是真实有效的。而通过本申请实施例提供的上述任务分配方法,可以根据每个从节点执行一次任务后对应的处理能力值进行动态任务分配,有机会降低发送或接收任务的总次数,从而减少整个爬虫系统内部的通信请求次数,即使爬虫集群中的slave发生变更或新增了slave也不会引起内部通信请求次数的大幅度提升(抑制内部通信请求次数的增幅),提升了带宽利用率,而节省出的内部通信请求次数可以转化为爬虫的实际效益,有利于提升整体爬虫效率。
下面将介绍几种更新任务数量的实现方式。
作为一种更新任务数量的实现方式,上述S34中根据当前的处理能力值对从节点的任务数量进行更新的过程可以包括子步骤S341-S343。
S341:将当前的处理能力值与上一次计算出的处理能力值进行比较。
S342:在当前的处理能力值大于上一次计算出的处理能力值时,将第一数量增大至第二数量,以将第二数量作为更新后的任务数量。
S343:在当前的处理能力值小于上一次计算出的处理能力值时,将第一数量减小至第三数量,以将第三数量作为更新后的任务数量。
其中,在S341中,将当前的处理能力值与上一次计算出的处理能力值进行比较后,可以得到比较结果。比较结果中可以包括两次处理能力值的能力差值。
在S342、S343中的第一数量是指根据上一次计算得到的从节点的处理能力值确定的任务数量。
当判断出当前的处理能力值大于上一次计算出的处理能力值时,可以将上一次分配任务时的任务数量(第一数量)增大至第二数量,以将第二数量作为更新后的任务数量。当判断出当前的处理能力值小于上一次计算出的处理能力值时,可以将上一次分配任务时的任务数量(第一数量)减小至第三数量,以将第三数量作为更新后的任务数量。
例如,在一个从节点B上一次的处理能力值pv1为70,当前的处理能力值pv2为20时,在上一次分配的任务数量的基础上减少对于该从节点B的任务数量。在一个从节点C上一次的pv1为70,当前的处理能力值pv2为170时,在上一次分配的任务数量的基础上减少对于该从节点C的任务数量。
在上述实现方式中,第二数量、第三数量仅用于与第一数量进行区分,第二数量是指比上一次的任务数量(第一数量)大的数量值,第三数量是指比上一次的任务数量(第一数量)小的数量值。本申请不对具体的数量值做限定,仅需体现出相对大小关系即可。
作为另一种更新任务数量的实现方式,上述S342、S343可以分别替换为子步骤S344、S345。
S345:在所述当前的处理能力值大于上一次计算出的处理能力值时,将所述第一数量增大第一预设数量,以得到更新后的任务数量。
S346:在所述当前的处理能力值小于上一次计算出的处理能力值时,将所述第一数量减小第二预设数量,以得到更新后的任务数量。
上述S344、S345与S342、S343的区别在于,在S344、S345中,不论是要在第一数量的基础上增大还是减小任务数量,都可以较为平滑的方式实现任务数量的变更,每次更新任务数量时能够以设定的任务数量差值对上一次的任务数量进行更新,有利于逐步确定出一个趋于稳定的任务能力处理值,从而进行任务分配。本领域技术人员可以根据需要对第一预设数量、第二预设数量的值进行设定,第一预设数量与第二预设数量可以相同,也可以不同。
通过上述S342-S343或S344-S345的实现方式,主节点在对同一个从节点进行任务分配时,能够以上一次对该从节点的任务数量为基础,根据当前的处理能力值与上一次的处理能力值之间的比较结果,确定用于下一次任务分配的任务数量。相较于将计算值(或实测值)与预设的几个固定区间进行匹配的方式,任务适配性更好。需要说明的是,在本申请实施例中的更新过程是结合每次计算出的处理能力值确定出下一次的任务数量,并非是将实测参数与预设的多个固定区间进行匹配从而调整任务数量。
作为再一种更新任务数量的方式,上述S34中根据当前的处理能力值对从节点的任务数量进行更新的过程可以包括:S346-S347。
S346:根据获取的多个从节点分别对应的多个处理能力值,得到多个从节点对应的能力值排序结果。
S347:根据能力值排序结果对任一从节点的任务数量进行更新。
通过S346-S347的过程可以基于多个从节点的能力值排序结果对各个从节点进行任务调节。
可选的,可以将S346-S347所示的实施方式与上述S342-S345所示的实施方式进行结合。
在一种可能的场景下,当从节点B当前的处理能力值pv2高于该从节点B上一次的处理能力值pv1,且该从节点B对应的能力值排位上升时,可以在第一数量的基础上增加第四预设数量,第四预设数量的值大于第二预设数量的值。
通过上述实现方式,更新过程中不仅考虑到同一节点在处理不同任务时的处理能力,还考虑到了多个节点之间的处理能力,有利于在爬虫集群中实现“能者多劳”的效果,有利于主节点快速得到最终的爬虫结果。
在一些实施例中,上述S346-S347可以省略。
在一种可能的场景下,当一个从节点B当前的处理能力值pv2高于该从节点B上一次的处理能力值pv1,但其他从节点的处理能力值增幅更大从而导致该从节点B的能力值排序情况较为落后时,仍然可以基于该从节点B上一次的任务数量(第一数量)增大任务数量的值,以在下一次向该从节点B分配任务时,以大于第一数量的任务数量对该从节点B分配任务。在此过程中,主节点为每个从节点分配的任务都是独立分配的,能够避免各从节点之间出现任务抢夺的现象。
下面将介绍一种首次发送任务的处理方式(对应上述的S31)。
可选地,若S31中的第一数量是初始任务数量,上述任务分配方法还可以包括步骤S30。
S30:在首次向从节点发送任务之前,获取从节点的初始任务数量。
相应的,在第一数量为初始任务数量的情况下,上述S31可以作为首次发送任务时的处理步骤,上述S31可以包括:以初始任务数量作为第一数量,向从节点发送第一任务。
其中,初始任务数量可以是预设的默认值(例如100、200、300、400等默认值),也可以是根据该从节点的一些固定参数所计算出的初始值。
若采用默认值作为初始任务数量,不论各个从节点的机器性能如何,对于多个从节点,主节点可以相同的任务数量对每个从节点进行首次的任务分配,能够减少主节点的计算量。
而若采用计算出的初始值作为初始任务数量,可以使得主节点在首次向多个从节点分配任务时就考虑到各个从节点之间的差异性,从而在首次分配任务时就做到合理分配。
在一个实例中,即使主节点A在首次进行任务分配时还无法得知各个从节点的实际任务处理能力,也可以用不同的任务数量向各个从节点分配任务,例如,主节点A在首次给4个从节点(B、C、D、E)分配任务时,可能分别给节点B、C、D、E分配了280、130、190、50个任务。
作为上述S30的一种实现方式,该初始任务数量是计算出的值,获取从节点的初始任务数量的过程可以包括子步骤:S301-S302。
S301:获取从节点的固定参数,固定参数包括从节点的硬件配置信息、从节点的带宽信息。
S302:根据硬件配置信息和带宽信息确定初始任务数量。
其中,从节点的硬件配置信息可以包括从节点的CPU信息、内存信息等。
需要说明的是,由于首次任务分配时可能还不知道从节点的实际情况,因此,从节点的带宽信息仅在首次任务分配过程中发挥参考价值,从节点的真实网络情况与此处的带宽信息可能有较大差异。但即使有差异,由于后续执行步骤会对任务数量进行更新,所以首次任务分配时考虑带宽信息不会对后续任务分配有较大影响。
在一个实例中,为了确定从节点B、C、D、E的初始任务数量,获取了每个从节点的内存信息、CPU核心数(假设每个节点的主频相同)、带宽信息。获取到的从节点B的固定参数为:1核心CPU配合1G内存,11M带宽;从节点C的固定参数为:1核心CPU配合2G内存,12M带宽;从节点D的固定参数为:2核心CPU配合4G内存,24M带宽;从节点E的固定参数为:4核心CPU配合4G内存,44M带宽。根据各个节点的固定参数,主节点在首次向这4个节点分配任务时,可以分别向从节点B、C、D、E分配200个、250个、700个、1200个任务。然后可以分别根据从节点B、C、D、E返回的任务执行结果,分别计算每个从节点的处理能力值,从而对每个节点的任务数量进行更新调整。
通过上述实现方式,可以在首次向多个从节点分配任务时就考虑到各个从节点之间的差异性,从而在首次分配任务时就进行合理分配。
下面给出一种对于新增节点的处理方式。
在分布式爬虫系统中的4个从节点B、C、D、E正常工作一段时间后,加入了一个新的从节点F(16核心CPU32G内存,300M带宽),尝试向该从节点F发送3500个任务,然后计算该从节点F的处理能力值pv3,主节点在对多个节点的能力值进行比较之后,得知该新节点的处理能力值pv3高于其余4个从节点,因此在3500个任务的基础上尝试性地增加了500个任务,即向该节点F发送4000个任务,再计算新的处理能力值pv4。主节点判断出pv4仍大于pv3,继续为该节点F分配更多的任务。在任务分配次数逐渐增多后,从节点F的处理能力值有可能趋于一个稳定值,即使发生波动,也能根据实际的处理能力值变化调整任务数量。
需要说明的是,本申请实施例中的所有数值仅作为示例,并不应理解为对本申请的限制。
下面将介绍处理能力值的计算方式。
可选地,在上述S32中,从节点所反馈的任务执行结果中,可以包括该从节点执行任务数量为第一数量的第一任务时的网络参数。相应的,上述S33中根据任务执行结果计算该从节点当前的处理能力值的过程可以包括子步骤:S331-S332。
S331:获取从节点执行任务数量为第一数量的第一任务所用的任务耗时。
其中,基于获取到的任务耗时以及第一数量,可以计算出该从节点执行上一次任务的平均耗时。例如,可以获取到一个从节点D执行12个任务所用的任务耗时为24s,则平均耗时为2s。
S332:根据从节点的硬件配置信息、网络参数以及任务耗时,计算从节点当前的处理能力值。
其中,从节点的硬件配置信息可以是主节点通过查表得到的,也可以是从节点反馈的。从节点的硬件配置信息可以视为固定参数,不会随着从节点执行的任务而变化。从节点的网络参数可能会受到从节点实际的机器运行环境影响而有所改变。从节点的任务耗时可能会受到任务数量、任务难度及其他随机因素的影响。例如,当存在一些程序占用了从节点的计算资源或带宽时,处理任务的耗时可能会变长。
通过上述实现方式,处理能力值的计算过程综合考虑了从节点的固定参数与非固定参数,以此得到的处理能力值更为可靠。且计算处理能力值的各种参数是较为容易获取的,计算时无需关注每个从节点的负载情况。其中,从节点的负载包括主节点所发送的任务以及其他任务(非主节点发送的、与主节点无关的任务)。
可选地,本申请实施例中的处理能力值可通过下列第一表达式计算得到。
第一表达式包括:
其中,pv表示从节点的处理能力值;u、d分别表示上传速度、下载速度;s表示执行上一次任务的平均耗时;x、n、m分别表示内存大小、CPU的逻辑核心数、主频。其中,此处的主频是指单核主频,主频单位可以是Mhz。上传速度、下载速度的单位可以是mb/s。耗时单位可以是秒(在未获取到实际耗时可以默认值1带入),内存大小的单位可以是Mb。
在一个实例中,一个从节点的硬件配置信息为:4核心2.8Ghz,4G内存,从节点执行上一次任务时,网络参数中的上传速度、下载速度均为10mb/s,执行上一次的12个任务总共耗时24s。将相关参数代入上述第一表达式,可以计算出:
实际应用场景下的pv可能是一个比较小的数字,为了便于使用,可以将pv放大n倍后使用,即,以npv当做pv使用。以前述的0.000642为例,可以设定n为10万,npv为642,642可以当做pv使用。
通过上述实现方式,几乎是实时计算各个Slave的能力值,尽可能避免了从节点超出处理能力的情况,可以减少系统中任务过重的从节点数量,提升爬虫效率。
通过前述任务分配方法,为爬虫集群提供了一种新的任务分配方案,能够让分配爬虫任务的主节点缩短等待时间,尽快得到最终的爬虫结果。master可以将总体任务拆分成粒度较小的多个子任务,然后每次尝试批量分配任务给Slave并等待其返回结果(返回的是爬虫结果和第一表达式所需的上传速度u、下载速度d)。当Slave完成任务并将结果发送给Master后,Master根据各种因素综合计算得到当前Slave的处理能力值。再根据计算得到的处理能力值给slave分配新的任务,等Master再次得到任务执行结果时,重复计算任务能力值并再次下发任务。在该方案中,并非识别计算出的能力值处于哪个值到哪个值之间以确定为slave分配多少任务,而是在未知slave的实际情况时,先分配少量的任务,再逐渐递增,从而计算出趋于稳定的pv值。当得到趋于稳定的pv值后,可以根据稳定的pv值进一步调整任务分配量。在一个应用场景中,若主节点想要一部分从节点尽可能在3分钟内(可以是设定的其他值)返回任务执行结果,可以根据每个从节点的pv值、任务耗时情况,估算出来这3分钟内,各个从节点能够处理多少任务,从而为各个节点进行合理的任务分配。
本申请实施例提供的方法中,无需提前设定几个pv区间,因为若是提前设置几个固定的区间,当作为从节点的服务器内部负载发生变化或者网络发生波动时,难以根据这些问题改变分配策略。而通过本申请实施例提供的方法可以在各种突发状况下根据为各个从节点计算的处理能力值,动态地调整任务分配策略,最大化地应用各个节点的硬件性能和网络流量,有利于提供高效率的服务。高效率的服务是指,当系统负载压力大、网络环境差时,自动为各个节点调整任务数量,从而可以高效率地让从节点将已经处理好的任务尽快返回,无需在部分处理能力较低的节点中堆积大量结果。
上述任务分配方法可以应用于各种爬虫场景,例如可以应用于对于一些购物网站的评论信息爬虫,通过抓取指定购物网站的评论信息,可以分析得出用户近期喜欢什么商品类型,以此有利于一些商家对自己的网站进行货物品类的优化。
基于同一发明构思,请参阅图4,本申请实施例还提供一种任务分配装置400,该装置可应用于分布式爬虫系统中的主节点100,该任务分配装置400可存储于主节点100的存储器101中。
如图4所示,该任务分配装置400包括:发送模块401、接收模块402、计算模块403、更新模块404。
发送模块401,用于向从节点发送任务数量为第一数量的第一任务。
接收模块402,用于接收从节点返回的第一数量的第一任务的任务执行结果。
计算模块403,用于根据任务执行结果计算从节点当前的处理能力值。
更新模块404,用于根据当前的处理能力值对从节点的任务数量进行更新,以在下一次发送任务时根据更新后的任务数量向从节点发送任务。
通过上述任务分配装置400可以执行前述的任务分配方法,可以动态分配爬虫任务,不仅能够让从节点被分到的任务与其处理能力值是适配,还能够提高带宽利用率,提升整体爬虫效率。
可选地,该任务分配装置400还可包括获取模块,任务执行结果中包括从节点执行任务数量为第一数量的第一任务时的网络参数,获取模块,可用于获取从节点执行任务数量为第一数量的第一任务所用的任务耗时;计算模块403可用于根据从节点的硬件配置信息、网络参数以及任务耗时,计算从节点当前的处理能力值。
可选地,第一数量是根据上一次计算得到的从节点的处理能力值确定的任务数量,更新模块404还可以用于:将当前的处理能力值与上一次计算出的处理能力值进行比较;在当前的处理能力值大于上一次计算出的处理能力值时,将第一数量增大至第二数量,以将第二数量作为更新后的任务数量;在当前的处理能力值小于上一次计算出的处理能力值时,将第一数量减小至第三数量,以将第三数量作为更新后的任务数量。
可选地,获取模块还可以用于获取多个从节点分别对应的多个处理能力值,得到多个从节点对应的能力值排序结果;更新模块404还可以用于根据能力值排序结果对多个从节点中任一从节点的任务数量进行更新。
可选地,获取模块还可以用于获取从节点的初始任务数量,发送模块401还可以用于以初始任务数量作为第一数量,向从节点发送第一任务。
可选地,获取模块还可以用于获取从节点的固定参数,固定参数包括从节点的硬件配置信息、从节点的带宽信息;根据硬件配置信息和带宽信息确定初始任务数量。
关于本申请实施例提供的任务分配装置400的其他细节,可以参考前述任务分配方法的相关描述,在此不再赘述。
除了上述实施例以外,本申请实施例还提供一种存储介质,该存储介质上存储有处理器102可执行的计算机程序,计算机程序被处理器102执行时执行前述的任务分配方法。该存储介质可包括:U盘、移动硬盘、存储器101等各种可以存储程序代码的介质。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种任务分配方法,其特征在于,应用于分布式爬虫系统中的主节点,所述方法包括:
向从节点发送任务数量为第一数量的第一任务;
接收所述从节点返回的所述第一数量的第一任务的任务执行结果;
根据所述任务执行结果计算所述从节点当前的处理能力值;
根据所述当前的处理能力值对所述从节点的任务数量进行更新,以在下一次发送任务时根据更新后的任务数量向所述从节点发送任务。
2.根据权利要求1所述的方法,其特征在于,所述任务执行结果中包括所述从节点执行任务数量为所述第一数量的第一任务时的网络参数,所述根据所述任务执行结果计算所述从节点当前的处理能力值,包括:
获取所述从节点执行任务数量为所述第一数量的第一任务所用的任务耗时;
根据所述从节点的硬件配置信息、所述网络参数以及所述任务耗时,计算所述从节点当前的处理能力值。
3.根据权利要求1所述的方法,其特征在于,所述第一数量是根据上一次计算得到的所述从节点的处理能力值确定的任务数量,所述根据所述当前的处理能力值对所述从节点的任务数量进行更新,包括:
将所述当前的处理能力值与上一次计算出的处理能力值进行比较;
在所述当前的处理能力值大于上一次计算出的处理能力值时,将所述第一数量增大第一预设数量,以得到更新后的任务数量;
在所述当前的处理能力值小于上一次计算出的处理能力值时,将所述第一数量减小第二预设数量,以得到更新后的任务数量。
4.根据权利要求1所述的方法,其特征在于,所述根据所述当前的处理能力值对所述从节点的任务数量进行更新,包括:
根据获取到的多个从节点分别对应的多个处理能力值,得到所述多个从节点对应的能力值排序结果;
根据所述能力值排序结果对所述多个从节点中任一从节点的任务数量进行更新。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在首次向所述从节点发送任务之前,获取所述从节点的初始任务数量;
所述向从节点发送任务数量为第一数量的第一任务,包括:
以所述初始任务数量作为所述第一数量,向所述从节点发送所述第一任务。
6.根据权利要求5所述的方法,其特征在于,所述获取所述从节点的初始任务数量,包括:
获取所述从节点的固定参数,所述固定参数包括所述从节点的硬件配置信息、所述从节点的带宽信息;
根据所述硬件配置信息和所述带宽信息确定所述初始任务数量。
8.一种任务分配装置,其特征在于,应用于分布式爬虫系统中的主节点,所述装置包括:
发送模块,用于向从节点发送任务数量为第一数量的第一任务;
接收模块,用于接收所述从节点返回的所述第一数量的第一任务的任务执行结果;
计算模块,用于根据所述任务执行结果计算所述从节点当前的处理能力值;
更新模块,用于根据所述当前的处理能力值对所述从节点的任务数量进行更新,以在下一次发送任务时根据更新后的任务数量向所述从节点发送任务。
9.一种服务器,其特征在于,包括:
存储器;
处理器;
所述存储器存储有所述处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行权利要求1-7任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115472.0A CN110866167B (zh) | 2019-11-14 | 2019-11-14 | 任务分配方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115472.0A CN110866167B (zh) | 2019-11-14 | 2019-11-14 | 任务分配方法、装置、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110866167A true CN110866167A (zh) | 2020-03-06 |
CN110866167B CN110866167B (zh) | 2022-09-20 |
Family
ID=69654195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911115472.0A Active CN110866167B (zh) | 2019-11-14 | 2019-11-14 | 任务分配方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866167B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948106A (zh) * | 2020-09-07 | 2021-06-11 | 深圳市明源云科技有限公司 | 任务分配方法及装置 |
CN113254747A (zh) * | 2021-06-09 | 2021-08-13 | 南京北斗创新应用科技研究院有限公司 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
CN115114034A (zh) * | 2022-08-29 | 2022-09-27 | 岚图汽车科技有限公司 | 分布式计算方法及装置 |
CN115114012A (zh) * | 2021-08-12 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
WO2022262253A1 (zh) * | 2021-06-17 | 2022-12-22 | 北京百度网讯科技有限公司 | 任务分配方法和装置、电子设备、计算机可读介质 |
CN116382880A (zh) * | 2023-06-07 | 2023-07-04 | 成都登临科技有限公司 | 任务执行方法、装置、处理器、电子设备及存储介质 |
CN116720645A (zh) * | 2022-10-21 | 2023-09-08 | 荣耀终端有限公司 | 一种任务分配方法、分配设备及任务分配系统 |
CN112948106B (zh) * | 2020-09-07 | 2024-05-31 | 深圳市明源云科技有限公司 | 任务分配方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034534A (zh) * | 2011-09-29 | 2013-04-10 | 阿尔斯通电网公司 | 基于网格计算的电力系统分析并行计算方法和系统 |
US9898347B1 (en) * | 2017-03-15 | 2018-02-20 | Sap Se | Scaling computing resources in a cluster |
CN108205541A (zh) * | 2016-12-16 | 2018-06-26 | 北大方正集团有限公司 | 分布式网络爬虫任务的调度方法及装置 |
CN109120715A (zh) * | 2018-09-21 | 2019-01-01 | 华南理工大学 | 一种云环境下动态负载均衡方法 |
CN109358944A (zh) * | 2018-09-17 | 2019-02-19 | 深算科技(重庆)有限公司 | 深度学习分布式运算方法、装置、计算机设备及存储介质 |
WO2019191569A1 (en) * | 2018-03-30 | 2019-10-03 | V2COM, Inc. | System and method for resource management and resource allocation in a self-optimizing network of heterogeneous processing nodes |
-
2019
- 2019-11-14 CN CN201911115472.0A patent/CN110866167B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034534A (zh) * | 2011-09-29 | 2013-04-10 | 阿尔斯通电网公司 | 基于网格计算的电力系统分析并行计算方法和系统 |
CN108205541A (zh) * | 2016-12-16 | 2018-06-26 | 北大方正集团有限公司 | 分布式网络爬虫任务的调度方法及装置 |
US9898347B1 (en) * | 2017-03-15 | 2018-02-20 | Sap Se | Scaling computing resources in a cluster |
WO2019191569A1 (en) * | 2018-03-30 | 2019-10-03 | V2COM, Inc. | System and method for resource management and resource allocation in a self-optimizing network of heterogeneous processing nodes |
CN109358944A (zh) * | 2018-09-17 | 2019-02-19 | 深算科技(重庆)有限公司 | 深度学习分布式运算方法、装置、计算机设备及存储介质 |
CN109120715A (zh) * | 2018-09-21 | 2019-01-01 | 华南理工大学 | 一种云环境下动态负载均衡方法 |
Non-Patent Citations (2)
Title |
---|
田俊峰等: "两级元服务器机群文件系统的负载平衡策略", 《计算机工程》 * |
龚梅等: "基于集群的MPI主从式并行文件传输系统的研究与实现", 《电子技术应用》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948106A (zh) * | 2020-09-07 | 2021-06-11 | 深圳市明源云科技有限公司 | 任务分配方法及装置 |
CN112948106B (zh) * | 2020-09-07 | 2024-05-31 | 深圳市明源云科技有限公司 | 任务分配方法及装置 |
CN113254747A (zh) * | 2021-06-09 | 2021-08-13 | 南京北斗创新应用科技研究院有限公司 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
CN113254747B (zh) * | 2021-06-09 | 2021-10-15 | 南京北斗创新应用科技研究院有限公司 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
WO2022262253A1 (zh) * | 2021-06-17 | 2022-12-22 | 北京百度网讯科技有限公司 | 任务分配方法和装置、电子设备、计算机可读介质 |
CN115114012A (zh) * | 2021-08-12 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN115114012B (zh) * | 2021-08-12 | 2023-04-21 | 腾讯科技(深圳)有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN115114034A (zh) * | 2022-08-29 | 2022-09-27 | 岚图汽车科技有限公司 | 分布式计算方法及装置 |
CN116720645A (zh) * | 2022-10-21 | 2023-09-08 | 荣耀终端有限公司 | 一种任务分配方法、分配设备及任务分配系统 |
CN116382880A (zh) * | 2023-06-07 | 2023-07-04 | 成都登临科技有限公司 | 任务执行方法、装置、处理器、电子设备及存储介质 |
CN116382880B (zh) * | 2023-06-07 | 2023-08-11 | 成都登临科技有限公司 | 任务执行方法、装置、处理器、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110866167B (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866167B (zh) | 任务分配方法、装置、服务器和存储介质 | |
US7890620B2 (en) | Monitoring system and monitoring method | |
CN108924221B (zh) | 分配资源的方法和装置 | |
US8555276B2 (en) | Systems and methods for transparently optimizing workloads | |
CN110990138B (zh) | 资源调度方法、装置、服务器及存储介质 | |
CN107003887A (zh) | Cpu超载设置和云计算工作负荷调度机构 | |
CN110351375B (zh) | 一种数据处理方法、装置及计算机装置、可读存储介质 | |
US20040210871A1 (en) | Apparatus for adjusting use resources of system and method thereof | |
CN108885561A (zh) | 计算机处理的资源调配 | |
CN111459641B (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
CN104243405A (zh) | 一种请求处理方法、装置及系统 | |
CN110278283A (zh) | 排行榜处理方法、装置、计算机可读存储介质及电子设备 | |
CN106161485B (zh) | 一种基础服务集群的资源调度方法、装置和系统 | |
CN109348264B (zh) | 视频资源共享方法、装置、存储介质及电子设备 | |
CN115421930B (zh) | 任务处理方法、系统、装置、设备及计算机可读存储介质 | |
CN110149377A (zh) | 一种视频服务节点资源分配方法、系统、装置及存储介质 | |
WO2012125143A1 (en) | Systems and methods for transparently optimizing workloads | |
US8819239B2 (en) | Distributed resource management systems and methods for resource management thereof | |
CN111694651A (zh) | 基于云计算和医疗大数据的任务处理优化系统 | |
CN114116173A (zh) | 动态调整任务分配的方法、装置和系统 | |
US11206673B2 (en) | Priority control method and data processing system | |
CN109842665B (zh) | 用于任务分配服务器的任务处理方法和装置 | |
US20200314019A1 (en) | Managing bandwidth based on user behavior | |
CN113312359B (zh) | 一种分布式作业进度计算方法、装置和存储介质 | |
KR20130028554A (ko) | 메시지 버스를 이용한 대용량 분산 처리 장치 및 그 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |