CN112650582A - 分布式任务处理方法及系统、处理器 - Google Patents
分布式任务处理方法及系统、处理器 Download PDFInfo
- Publication number
- CN112650582A CN112650582A CN202011520681.6A CN202011520681A CN112650582A CN 112650582 A CN112650582 A CN 112650582A CN 202011520681 A CN202011520681 A CN 202011520681A CN 112650582 A CN112650582 A CN 112650582A
- Authority
- CN
- China
- Prior art keywords
- tasks
- task
- processed
- processor
- type
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 106
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种分布式任务处理方法及系统、处理器,本地处理器在获取待处理任务之后,确定自身需要处理的第一类任务数量;若第一类任务数量满足预设条件,则将待处理任务发送至存储器,以供分布式处理集群中除本地处理器外的其他处理器从存储器获取待处理任务并处理。通过判断第一类任务数量在满足预设条件的情况下,将待处理任务发送至存储器供其他处理器获取并处理,可以保证自身任务量的同时,减弱分布式处理集群中任务分配不均衡的程度。同时,既可以降低本地处理器的处理压力,还可以缩短待处理任务的处理时间,提高待处理任务的处理效率。而且,处理器在处理任务时,仅仅依赖于外部的存储器,完全可以做到开箱即用。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种分布式任务处理方法及系统、处理器。
背景技术
目前,对于包含有多个处理器的分布式处理集群来说,当需要该分布式处理集群处理某个任务时,该任务通常会被直接转发至某一处理器,由该处理器完成对该任务的处理。
这种情况下,极容易出现某一处理器需要处理的任务过多而分布式处理集群中其他处理器需要处理的任务过少,进而可能会使任务过多的处理器中任务的处理时间延长,降低任务的处理效率。而且,处理器在处理任务时,通常基于离线计算框架或流计算框架实现,对外部的依赖较重,无法做到开箱即用。
发明内容
本发明实施例提供一种分布式任务处理方法及系统、处理器,用以解决现有技术中存在的缺陷。
本发明实施例提供一种分布式任务处理方法,包括:
在获取待处理任务之后,确定本地处理器需要处理的第一类任务数量;
若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述本地处理器外的其他处理器从所述存储器获取所述待处理任务并处理;
所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
根据本发明一个实施例的分布式任务处理方法,所述将所述待处理任务发送至存储器进行存储,之前还包括:
确定所述分布式处理集群中除所述本地处理器外每一其他处理器需要处理的第二类任务数量;
计算所述第一类任务数量与每一第二类任务数量之间的差值比率;
对于任一其他处理器,若所述任一其他处理器对应的差值比率大于预设阈值,则判断所述第一类任务数量满足所述预设条件。
根据本发明一个实施例的分布式任务处理方法,所述确定所述分布式处理集群中除所述本地处理器外每一其他处理器需要处理的第二类任务数量,具体包括:
获取所述存储器中存储的集群任务信息;所述集群任务信息由所述分布式处理集群中每一处理器上报至所述存储器;
基于所述集群任务信息,确定每一第二类任务数量。
根据本发明一个实施例的分布式任务处理方法,所述计算所述第一类任务数量与每一第二类任务数量之间的差值比率,具体包括:
对于每一第二类任务数量,计算所述第一类任务数量与所述第二类任务数量之间的差值,并计算所述差值与所述第一类任务数量的比值,得到所述差值比率。
根据本发明一个实施例的分布式任务处理方法,还包括:
实时确定本地处理器需要处理的第三类任务数量;
若所述第三类任务数量不满足预设条件,则轮询所述存储器,并从所述存储器中获取待处理任务;
对从所述存储器中获取的待处理任务进行处理。
根据本发明一个实施例的分布式任务处理方法,还包括:
若所述第一类任务数量不满足所述预设条件,则对所述待处理任务进行处理。
本发明实施例还提供一种处理器,包括:本地线程池以及任务协调器。其中,
本地线程池用于在获取待处理任务之后,确定所述处理器需要处理的第一类任务数量;
任务协调器用于若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述处理器外的其他处理器从所述存储器获取所述待处理任务并处理;
所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
本发明实施例还提供一种分布式任务处理系统,所述分布式任务处理系统为分布式处理集群,包括:存储器以及多个上述实施例所述的处理器。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述分布式任务处理方法的步骤。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述分布式任务处理方法的步骤。
本发明实施例提供的分布式任务处理方法及系统、处理器,本地处理器在获取待处理任务之后,确定自身需要处理的第一类任务数量;若第一类任务数量满足预设条件,则将待处理任务发送至存储器,以供分布式处理集群中除本地处理器外的其他处理器从存储器获取待处理任务并处理。通过判断第一类任务数量在满足预设条件的情况下,将待处理任务发送至存储器供其他处理器获取并处理,可以保证自身任务量的同时,减弱分布式处理集群中任务分配不均衡的程度。同时,既可以降低本地处理器的处理压力,还可以缩短待处理任务的处理时间,提高待处理任务的处理效率。而且,处理器在处理任务时,仅仅依赖于外部的存储器,完全可以做到开箱即用,解除了外部依赖过度的限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种分布式任务处理方法的流程示意图;
图2是本发明实施例提供的一种处理器的结构示意图;
图3是本发明实施例提供的一种处理器的结构示意图;
图4是本发明实施例提供的一种分布式任务处理系统的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中,对于包含有多个处理器的分布式处理集群来说,当需要该分布式处理集群处理某个任务时,该任务通常会被直接转发至某一处理器,由该处理器完成对该任务的处理。由此极容易出现某一处理器需要处理的任务过多而分布式处理集群中其他处理器需要处理的任务过少,导致分布式处理集群内任务分布不均,资源无法得到充分利用,同时也会使任务过多的处理器中任务的处理时间延长,降低任务的处理效率。而且,处理器在处理任务时,通常基于离线计算框架或流计算框架实现,对外部的依赖较重,无法做到开箱即用。为此,本发明实施例中提供了一种分布式任务处理方法,以解决上述技术问题。
图1为本发明实施例中提供的一种分布式任务处理方法的流程示意图,如图1所示,该方法包括:
S1,在获取待处理任务之后,确定本地处理器需要处理的第一类任务数量;
S2,若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述本地处理器外的其他处理器从所述存储器获取所述待处理任务并处理;
所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
具体地,本发明实施例中提供的分布式任务处理方法,该方法基于Java实现,应用于分布式处理集群,该分布式处理集群可以包括存储器以及多个处理器。该方法的执行主体为分布式处理集群中的任一处理器,当该处理器作为执行主体时,该处理器即为本地处理器,用以与分布式处理集群中其他处理器进行区分。服务启动阶段,该服务引入了分布式线程池组件,即在每个处理器本地启动一个本地的Java的线程池,分布式处理集群中线程池的数量与处理器的数量相等。
首先执行步骤S1,在此之前,本地处理器获取待处理任务,该待处理任务可以直接由用户发布,也可以是本地处理器轮询存储器后得到的响应,即该待处理任务也可以为本地处理器从存储器中获取的待处理任务。在获取待处理任务之后,确定出本地处理器需要处理的第一类任务数量,即确定出自身需要处理的第一类任务数量,也即统计自身内存中等待处理的所有任务,所有任务的数量即为第一类任务数量。
然后执行步骤S2,判断第一类任务数量是否满足预设条件,该预设条件是指本地处理器不对该待处理任务进行处理时满足的条件,可以通过分布式处理集群中整体任务情况确定。本地处理器不对该待处理任务进行处理的原因可能是自身任务量过多,也可能是其他处理器任务量过少,还可能是自身任务量多于其他处理器的任务量形成的任务分配不均衡。该预设条件具体可以通过第一类任务数量与分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。例如,预设条件可以是第一类任务数量与第二类任务数量之间的差值大于等于指定阈值,也就是第一类任务数量大于目标数量,该目标数量则需要根据分布式处理集群中除本地处理器外的其他处理器需要处理的任务数量确定,目标数量可以为指定阈值与第二类任务数量的求和结果。其中,指定阈值可以根据需要进行设定,例如可以将指定阈值设定为第一类任务数量与小于1的倍数的乘积结果,也可以将指定阈值设定为一定值,本发明实施例中对此不作具体限定。如果第一类任务数量满足预设条件,则说明本地处理器不对该待处理任务进行处理,需要将该待处理任务发送至存储器进行存储。存储器具体可以是kv存储器,例如可以是redis队列等。
在待处理任务存储至存储器之后,分布式处理集群中除本地处理器外的其他处理器则可以从存储器获取待处理任务并处理。其他处理器获取该待处理任务可以通过轮询存储器的方式实现,其他处理器可以实时轮询存储器,也可以每隔预设时间段轮询一次存储器,预设时间段的长度可以根据需要进行设定,例如100ms等。其他处理器还可以在自身需要处理的任务数量不满足预设条件时轮询存储器,本发明实施例中对其他处理器轮询存储器的时机不作具体限定。
需要说明的是,存储器会实时响应其他处理器的轮询动作,如果存在多个其他处理器同时轮询存储器,则存储器选择其中任一处理器的轮询动作进行响应。存储器响应轮询动作是指在某一其他处理器轮询存储器时,存储器将存储的待处理任务发送至该其他处理器。
本发明实施例中提供的分布式任务处理方法,本地处理器在获取待处理任务之后,确定自身需要处理的第一类任务数量;若第一类任务数量满足预设条件,则将待处理任务发送至存储器,以供分布式处理集群中除本地处理器外的其他处理器从存储器获取待处理任务并处理。通过判断第一类任务数量在满足预设条件的情况下,将待处理任务发送至存储器供其他处理器获取并处理,可以保证自身任务量的同时,减弱分布式处理集群中任务分配不均衡的程度。同时,既可以降低本地处理器的处理压力,还可以缩短待处理任务的处理时间,提高待处理任务的处理效率。而且,处理器在处理任务时,仅仅依赖于外部的存储器,完全可以做到开箱即用,解除了外部依赖过度的限制。
在上述实施例的基础上,本地处理器在将该待处理任务发送至存储器之前,还可以对该待处理任务进行编码,并将编码后的待处理任务发送至存储器进行存储。其他处理器在从存储器获取待处理任务之后,还可以对获取的待处理任务进行解码,并对解码后的待处理任务进行处理。
在上述实施例的基础上,本发明实施例中提供的分布式任务处理方法,所述将所述待处理任务发送至存储器,之前还包括:
确定处理集群中除所述本地处理器外每一其他处理器需要处理的第二类任务数量;
计算所述第一类任务数量与每一第二类任务数量之间的差值比率;
对于任一其他处理器,若所述任一其他处理器对应的差值比率大于预设阈值,则判断所述第一类任务数量满足所述预设条件。
具体地,本发明实施例中本地处理器在将待处理任务发送至存储器之前,需要先判断第一类任务数量是否满足预设条件,该预设条件具体可以是第一类任务数量与某一其他处理器的第二类任务数量之间的差值比率大于预设阈值。该预设阈值可以根据需要进行设定,例如预设阈值的取值范围可以设定为大于等于5%且小于等于15%,也可以设置为其他范围。作为优选方案,具体可以将预设阈值设置为10%,也可以选择其他值,本发明实施例中对此不作具体限定。
在判断过程中,首先确定处理集群中除本地处理器外每一其他处理器需要处理的第二类任务数量。本发明实施例中分布式处理集群中每一处理器的任务数量可以通过存储器实现共享,存储器中不仅存储有待处理任务,还存储有分布式处理集群中每一处理器的任务数量。即该第二类任务数量具体可以由本地处理器从存储器中获取。
然后本地处理器计算第一类任务数量与每一第二类任务数量之间的差值比率,该差值比率是指差值百分比,用于表征本地处理器的任务量与每一其他处理器的任务量之间的相对差异。
最后,对于任一其他处理器a,若任一其他处理器a对应的差值比率大于预设阈值,则判断第一类任务数量满足预设条件,任一其他处理器a可以用于处理该待处理任务,并可以缩短该待处理任务的处理时间,提高待处理任务的处理效率。因此,可以将该待处理任务存储至存储器,使该任一其他处理器a从存储器获取该任务并处理。
本发明实施例中,给出了预设条件的具体形式,可以进一步减弱分布式处理集群中任务分配不均衡的程度,进一步缩短该待处理任务的处理时间,提高待处理任务的处理效率。
在上述实施例的基础上,本发明实施例中提供的分布式任务处理方法,所述确定分布式处理集群中除所述本地处理器外每一其他处理器需要处理的第二类任务数量,具体包括:
获取所述存储器中存储的集群任务信息;所述集群任务信息由所述处理集群中每一处理器上报至所述存储器;
基于所述集群任务信息,确定每一第二类任务数量。
具体地,本发明实施例中在确定第二类任务数量时,首先可以从存储器中获取集群任务信息,该集群任务信息包括分布式处理集群中每一处理器的当前任务量,该当前任务量可以通过每一处理器上报至存储器得到。
然后对集群任务信息进行解析,即可确定出每一第二类任务数量。需要说明的是,在存储器中,集群任务信息的存储格式可以是每一处理器的IP地址以及任务数量对应存储。
例如,集群任务信息可表示为:
{
“处理器1IP地址”:20,
“处理器2IP地址”:20,
“处理器3IP地址”:10,
}。
即在分布式处理集群中包括处理器1、2、3,且处理器1的任务数量为20,处理器2的任务数量为20,处理器3的任务数量为10。
在初始时刻,每一处理器可以将自身的IP地址以及初始化的第二类任务数量上传至存储器进行存储,之后每当第二类任务数量发生变化时,则自动将自身的IP地址以及变化后的第二类任务数量上传至存储器。其中,初始化的第二类任务数量为0。
本发明实施例中,通过对存储器存储的集群任务信息进行解码确定出每一第二类任务数量,不仅可以快速且同时确定出所有的第二类任务数量,而且便于对集群任务信息的维护。
在上述实施例的基础上,本发明实施例中提供的分布式任务处理方法,所述计算所述第一类任务数量与每一第二类任务数量之间的差值比率,具体包括:
对于每一第二类任务数量,计算所述第一类任务数量与所述第二类任务数量之间的差值,并计算所述差值与所述第二类任务数量的比值,得到所述差值比率。
具体地,在计算每一差值比率时,可以先计算第一类任务数量与某一第二类任务数量之间的差值;然后计算该差值与该第一类任务数量的比值,得到差值比率。如下公式所示:
其中,R为差值比率,n1为第一类任务数量,n2为某一第二类任务数量。
本发明实施例中,通过计算差值以及比值的方式确定出差值比率,可以使得的第一类任务数量与某一第二类任务数量之间的差异更加准确可靠。
在上述实施例的基础上,本发明实施例中提供的分布式任务处理方法,还包括:
实时确定本地处理器需要处理的第三类任务数量;
若所述第三类任务数量不满足预设条件,则轮询所述存储器,并从所述存储器中获取待处理任务;
对从所述存储器中获取的待处理任务进行处理。
具体地,本发明实施例中,本地处理器可以实时确定自身需要处理的第三类任务数量,然后在第三类任务数量不满足预设条件,即本地处理器不仅可以处理自身内存中需要处理的任务,还可以处理额外的待处理任务时,可以轮询存储器,从存储器中获取待处理任务进行处理。此时获取的待处理任务可以是其他处理器作为执行主体时存储至存储器中的任务。
本发明实施例中,本地处理器可以在自身的第三类任务数量不满足预设条件时通过轮询存储器获取存储器中的待处理任务进行处理,可以保证存储器待处理任务得到及时处理,而且可以使本地处理器的处理资源得到充分利用,并保证整个分布式处理集群中的任务分配更加均匀。
在上述实施例的基础上,本发明实施例中提供的分布式任务处理方法,还包括:
若所述第一类任务数量不满足所述预设条件,则对所述待处理任务进行处理。
具体地,如果第一类任务数量不满足预设条件,则说明本地处理器可以对该待处理任务进行处理,此时不会将该待处理任务发送至存储器进行存储,而是保留在本地进行处理,如此可以减少网络IO的性能消耗。
在上述实施例的基础上,本发明实施例中,分布式处理集群中包含的每个处理器,其内部结构具体可以包括本地线程池、本地状态上报器、任务均衡器以及任务协调器。本地线程池可以用于存储当前该处理器需要处理的任务以及进行任务处理;本地状态上报器用于将该处理器的IP地址以及任务数量上传至存储器,本地状态上报器还用于从存储器中获取集群任务信息;任务均衡器用于计算该处理器的任务数量与其他处理器的任务数量之间的差值比率并判断该差值比率是否大于预设阈值,即判断该处理器的任务数量是否满足预设条件;任务协调器用于轮询存储器并从存储器中获取待处理任务进行解码并提交至该处理器的本地线程池内进行处理或者对获取的待处理任务进行编码并存储至存储器中。
如图2所示,在上述实施例的基础上,本发明实施例中提供了一种处理器,包括:本地线程池21和任务协调器22。其中,本地线程池21和任务协调器22进行交互。
本地线程池21用于在获取待处理任务之后,确定所述处理器需要处理的第一类任务数量;
任务协调器22用于若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述处理器外的其他处理器从所述存储器获取所述待处理任务并处理;
所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
具体地,本发明实施例中提供的处理器中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述实施例,本发明实施例中对此不再赘述。
如图3所示,在上述实施例的基础上,本发明实施例中提供的处理器,还包括:本地状态上报器23以及任务均衡器24。其中,本地状态上报器23分别与本地线程池21以及外部的存储器进行交互,任务均衡器24分别与本地线程池21、任务协调器22以及本地状态上报器23进行交互。
所述本地状态上报器23用于确定所述分布式处理集群中除所述本地处理器外每一其他处理器需要处理的第二类任务数量;
所述任务均衡器24用于计算所述第一类任务数量与每一第二类任务数量之间的差值比率;
所述任务均衡器24还用于对于任一其他处理器,若所述任一其他处理器对应的差值比率大于预设阈值,则所述第一类任务数量满足所述预设条件。
在上述实施例的基础上,本发明实施例中提供的处理器,所述本地状态上报器,具体用于:
获取所述存储器中存储的集群任务信息;所述集群任务信息由所述分布式处理集群中每一处理器上报至所述存储器;
基于所述集群任务信息,确定每一第二类任务数量。
在上述实施例的基础上,本发明实施例中提供的处理器,所述任务均衡器,具体用于:
对于每一第二类任务数量,计算所述第一类任务数量与所述第二类任务数量之间的差值,并计算所述差值与所述第一类任务数量的比值,得到所述差值比率。
在上述实施例的基础上,本发明实施例中提供的处理器,所述本地线程池还用于实时确定本地处理器需要处理的第三类任务数量;
所述任务协调器还用于若所述第三类任务数量不满足预设条件,则轮询所述存储器,并从所述存储器中获取待处理任务;
本地线程池还用于对从所述存储器中获取的待处理任务进行处理。
在上述实施例的基础上,本发明实施例中提供的处理器,所述本地线程池还用于若所述第一类任务数量不满足所述预设条件,则对所述待处理任务进行处理。
如图4所示,本发明实施例中提供了一种分布式任务处理系统,所述分布式任务处理系统为分布式处理集群,包括:存储器41以及多个上述实施例所述的处理器42。其中,图4中仅仅示出了包括2个处理器的场景。每个处理器42均与存储器41通信连接,以实现交互。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行分布式任务处理方法,该方法包括:在获取待处理任务之后,确定本地处理器需要处理的第一类任务数量;若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述本地处理器外的其他处理器从所述存储器获取所述待处理任务并处理;所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的分布式任务处理方法,该方法包括:在获取待处理任务之后,确定本地处理器需要处理的第一类任务数量;若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述本地处理器外的其他处理器从所述存储器获取所述待处理任务并处理;所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的分布式任务处理方法,该方法包括:在获取待处理任务之后,确定本地处理器需要处理的第一类任务数量;若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述本地处理器外的其他处理器从所述存储器获取所述待处理任务并处理;所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种分布式任务处理方法,其特征在于,包括:
在获取待处理任务之后,确定本地处理器需要处理的第一类任务数量;
若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述本地处理器外的其他处理器从所述存储器获取所述待处理任务并处理;
所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
2.根据权利要求1所述的分布式任务处理方法,其特征在于,所述将所述待处理任务发送至存储器进行存储,之前还包括:
确定所述分布式处理集群中除所述本地处理器外每一其他处理器需要处理的第二类任务数量;
计算所述第一类任务数量与每一第二类任务数量之间的差值比率;
对于任一其他处理器,若所述任一其他处理器对应的差值比率大于预设阈值,则判断所述第一类任务数量满足所述预设条件。
3.根据权利要求2所述的分布式任务处理方法,其特征在于,所述确定所述分布式处理集群中除所述本地处理器外每一其他处理器需要处理的第二类任务数量,具体包括:
获取所述存储器中存储的集群任务信息;所述集群任务信息由所述分布式处理集群中每一处理器上报至所述存储器;
基于所述集群任务信息,确定每一第二类任务数量。
4.根据权利要求2所述的分布式任务处理方法,其特征在于,所述计算所述第一类任务数量与每一第二类任务数量之间的差值比率,具体包括:
对于每一第二类任务数量,计算所述第一类任务数量与所述第二类任务数量之间的差值,并计算所述差值与所述第一类任务数量的比值,得到所述差值比率。
5.根据权利要求1所述的分布式任务处理方法,其特征在于,还包括:
实时确定本地处理器需要处理的第三类任务数量;
若所述第三类任务数量不满足预设条件,则轮询所述存储器,并从所述存储器中获取待处理任务;
对从所述存储器中获取的待处理任务进行处理。
6.根据权利要求1-5中任一项所述的分布式任务处理方法,其特征在于,还包括:
若所述第一类任务数量不满足所述预设条件,则对所述待处理任务进行处理。
7.一种处理器,其特征在于,包括:
本地线程池,用于在获取待处理任务之后,确定所述处理器需要处理的第一类任务数量;
任务协调器,用于若所述第一类任务数量满足预设条件,则将所述待处理任务发送至存储器进行存储,以供分布式处理集群中除所述处理器外的其他处理器从所述存储器获取所述待处理任务并处理;
所述预设条件基于所述第一类任务数量与所述分布式处理集群中除本地处理器外的其他处理器需要处理的第二任务数量之间的差值确定。
8.一种分布式任务处理系统,其特征在于,所述分布式任务处理系统为分布式处理集群,包括:存储器以及多个如权利要求7所述的处理器,所述处理器与所述存储器通信连接。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述分布式任务处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述分布式任务处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011520681.6A CN112650582A (zh) | 2020-12-21 | 2020-12-21 | 分布式任务处理方法及系统、处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011520681.6A CN112650582A (zh) | 2020-12-21 | 2020-12-21 | 分布式任务处理方法及系统、处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112650582A true CN112650582A (zh) | 2021-04-13 |
Family
ID=75358737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011520681.6A Pending CN112650582A (zh) | 2020-12-21 | 2020-12-21 | 分布式任务处理方法及系统、处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650582A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340423A (zh) * | 2008-08-13 | 2009-01-07 | 北京航空航天大学 | 一种基于元调度环的多集群作业调度方法 |
CN104038525A (zh) * | 2013-03-07 | 2014-09-10 | 深圳市金证科技股份有限公司 | 服务器系统的负载均衡方法及装置 |
CN105049509A (zh) * | 2015-07-23 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 一种集群调度方法、负载均衡器以及集群系统 |
CN105959411A (zh) * | 2016-06-30 | 2016-09-21 | 中原智慧城市设计研究院有限公司 | 云计算环境下基于协调的动态负载均衡分布式处理方法 |
CN106101276A (zh) * | 2016-08-10 | 2016-11-09 | 东方网力科技股份有限公司 | 一种集群负载均衡方法及装置 |
CN107153662A (zh) * | 2016-03-04 | 2017-09-12 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN109597685A (zh) * | 2018-09-30 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 任务分配方法、装置和服务器 |
CN110633135A (zh) * | 2019-08-15 | 2019-12-31 | 中国平安财产保险股份有限公司 | 异步任务分配方法、装置、计算机设备及存储介质 |
CN111666159A (zh) * | 2020-06-28 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 负载均衡控制方法和装置、存储介质及电子设备 |
CN111897665A (zh) * | 2020-08-04 | 2020-11-06 | 北京泽石科技有限公司 | 数据队列的处理方法及装置 |
-
2020
- 2020-12-21 CN CN202011520681.6A patent/CN112650582A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340423A (zh) * | 2008-08-13 | 2009-01-07 | 北京航空航天大学 | 一种基于元调度环的多集群作业调度方法 |
CN104038525A (zh) * | 2013-03-07 | 2014-09-10 | 深圳市金证科技股份有限公司 | 服务器系统的负载均衡方法及装置 |
CN105049509A (zh) * | 2015-07-23 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 一种集群调度方法、负载均衡器以及集群系统 |
CN107153662A (zh) * | 2016-03-04 | 2017-09-12 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN105959411A (zh) * | 2016-06-30 | 2016-09-21 | 中原智慧城市设计研究院有限公司 | 云计算环境下基于协调的动态负载均衡分布式处理方法 |
CN106101276A (zh) * | 2016-08-10 | 2016-11-09 | 东方网力科技股份有限公司 | 一种集群负载均衡方法及装置 |
CN109597685A (zh) * | 2018-09-30 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 任务分配方法、装置和服务器 |
CN110633135A (zh) * | 2019-08-15 | 2019-12-31 | 中国平安财产保险股份有限公司 | 异步任务分配方法、装置、计算机设备及存储介质 |
CN111666159A (zh) * | 2020-06-28 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 负载均衡控制方法和装置、存储介质及电子设备 |
CN111897665A (zh) * | 2020-08-04 | 2020-11-06 | 北京泽石科技有限公司 | 数据队列的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423120B (zh) | 任务调度方法及装置 | |
CN106933650B (zh) | 云应用系统的负载管理方法及系统 | |
JP7020616B2 (ja) | リソーススケジューリングのための方法およびシステム | |
CN109586952B (zh) | 服务器扩容方法、装置 | |
US10945091B2 (en) | Methods and systems for communication management | |
JP2010204876A (ja) | 分散システム | |
CN110433496B (zh) | 云游戏资源配置方法、电子设备和存储介质 | |
CN111026553B (zh) | 离线混部作业的资源调度方法及服务器系统 | |
US20110131579A1 (en) | Batch job multiplex processing method | |
US20120324000A1 (en) | System and method for flow control in a messaging subsystem based on message-in/out rates | |
US20230305880A1 (en) | Cluster distributed resource scheduling method, apparatus and device, and storage medium | |
CN111090511A (zh) | 任务处理方法、装置及计算机可读存储介质 | |
CN110795284A (zh) | 一种数据恢复方法、装置、设备及可读存储介质 | |
CN109104480B (zh) | 一种网络请求的处理方法及装置 | |
CN112650582A (zh) | 分布式任务处理方法及系统、处理器 | |
CN108228346A (zh) | 服务系统及其控制方法 | |
US20180309686A1 (en) | Reducing rate limits of rate limiters | |
CN108900865B (zh) | 服务器、转码任务的调度方法及执行方法 | |
CN117112222A (zh) | 一种请求处理方法、装置、电子设备及存储介质 | |
CN109462510B (zh) | 一种cdn节点质量评估的方法及装置 | |
CN111190728B (zh) | 资源调整方法及装置 | |
CN111158896A (zh) | 一种分布式进程调度方法及系统 | |
CN116382892A (zh) | 一种基于多云融合以及云服务的负载均衡方法及装置 | |
CN107689979B (zh) | 一种下载请求处理方法和处理设备 | |
US20140379899A1 (en) | Automatic adjustment of application launch endpoints |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210413 |
|
RJ01 | Rejection of invention patent application after publication |