CN107179896A - 任务处理方法和装置 - Google Patents

任务处理方法和装置 Download PDF

Info

Publication number
CN107179896A
CN107179896A CN201610134141.1A CN201610134141A CN107179896A CN 107179896 A CN107179896 A CN 107179896A CN 201610134141 A CN201610134141 A CN 201610134141A CN 107179896 A CN107179896 A CN 107179896A
Authority
CN
China
Prior art keywords
task
retries
execution
priority
resource
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
Application number
CN201610134141.1A
Other languages
English (en)
Inventor
杜娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610134141.1A priority Critical patent/CN107179896A/zh
Publication of CN107179896A publication Critical patent/CN107179896A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Abstract

本申请提出一种任务处理方法和装置,该任务处理方法包括:获取任务的优先级;根据所述优先级为所述任务分配执行参数,所述执行参数包括:重试执行时间,和/或,执行资源;根据所述执行参数,对所述任务进行处理。该方法能够在处理任务时提高资源利用的合理性,从而提高任务处理吞吐量,保证任务处理的时效性。

Description

任务处理方法和装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种任务处理方法和装置。
背景技术
任务是指需要执行指定操作,并能明确知道执行结果为成功还是失败的一条记录。一般任务处理系统的处理流程如下:任务来源系统到任务处理系统注册任务;任务处理系统执行任务,一旦任务处理成功,将从任务池中删除任务;任务如果处理失败,任务池保留任务数据,等待恢复定时器定时触发,尝试任务的重新执行。定时器是指按指定时间间隔(如30s,1min等)重复执行某个指令的系统。
流水型任务是一种对其它任务没有依赖,可独立执行的任务。流水型任务之间是没有优先级之分的。海量级的流水型任务处理系统中有如下特点:任务是海量的,每天的任务量是亿级或更高;在海量的任务面前,系统资源紧张。但是,按照上述一般任务处理流程处理海量级的流水型任务,会造成资源利用不合理,从而导致系统处理的吞吐量不高,造成任务积压,任务的时效性无法得到保证。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的一个目的在于提出一种任务处理方法,该方法可以在处理任务时提高资源利用的合理性,从而提高任务处理吞吐量,保证任务处理的时效性。
本申请的另一个目的在于提出一种任务处理装置。
为达到上述目的,本申请第一方面实施例提出的任务处理方法,包括:获取任务的优先级;根据所述优先级为所述任务分配执行参数,所述执行参数包括:重试执行时间,和/或,执行资源;根据所述执行参数,对所述任务进行处理。
本申请第一方面实施例提出的任务处理方法,通过获取任务的优先级,并根据优先级分配执行参数,可以实现不同优先级的任务分配不同级别的资源,提高资源利用的合理性,从而提高任务处理吞吐量,保证任务处理的时效性。
为达到上述目的,本申请第二方面实施例提出的任务处理装置,包括:获取模块,用于获取任务的优先级;分配模块,用于根据所述优先级为所述任务分配执行参数,所述执行参数包括:重试执行时间,和/或,执行资源;处理模块,用于根据所述执行参数,对所述任务进行处理。
本申请第二方面实施例提出的任务处理装置,通过获取任务的优先级,并根据优先级分配执行参数,可以实现不同优先级的任务分配不同级别的资源,提高资源利用的合理性,从而提高任务处理吞吐量,保证任务处理的时效性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请一实施例提出的任务处理方法的流程示意图;
图2是本申请另一实施例提出的任务处理方法的流程示意图;
图3是通常的任务处理系统的示意图;
图4是本申请另一实施例提出的任务处理装置的结构示意图;
图5是本申请另一实施例提出的任务处理装置的结构示意图;
图6是本申请另一实施例提出的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本申请一实施例提出的任务处理方法的流程示意图,该方法包括:
S11:获取任务的优先级。
具体的,可以获取任务的重试次数,以根据重试次数确定优先级。
其中,重试次数越少,优先级越高,重试次数越多,优先级越低。
可以对应每个任务记录重试次数,当一个任务被执行一次后,将重试次数加1,重试次数的初始值为0。
当任务是第一次执行时,该任务的重试次数是0,当任务是第二次执行时,该任务的重试次数是1,依此类推。
具体的,任务的相关信息可以记录在任务表中,与一般的任务处理流程不同的是,本实施例中,该任务表中可以对应每个任务记录重试次数,以便从任务表中获取任务的重试次数。或者,也可以在任务表中记录任务的当前执行次数,根据当前执行次数推断出重试次数,例如,当前执行次数是第一次,则重试次数是0,当前执行次数是第二次,则重试次数是1。
S12:根据所述优先级为所述任务分配执行参数,所述执行参数包括:重试执行时间,和/或,执行资源。
一些实施例中,在所述任务的当前处理失败时,为所述任务分配重试执行时间,所述重试执行时间的计算公式为:
重试执行时间=当前处理时间+重试间隔;
其中,所述重试间隔是根据预先建立的重试次数与重试间隔之间的对应关系确定的,在所述对应关系中,重试次数越多,对应的重试间隔越大。
例如,重试次数与重试间隔之间的对应关系可以如表1所示:
表1
第N次重试 1 2 3 4 5 6 7
重试间隔 2m 10m 10m 1h 2h 6h 15h
例如:
任务第一次执行失败,将在2分钟后再次重试,重试时间(next_exec_time)=当前时间+2min;
任务第6次执行失败,将在6小时后再次重试,next_exec_time=当前时间+6hours。
这样就可以实现重试次数越少(优先级越高)的任务的执行频率越高,优先级越低的任务的执行频率越低。
一些实施例中,根据预先建立的重试次数与执行资源之间的对应关系,为所述任务分配与所述重试次数对应的执行资源;其中,在所述对应关系中,重试次数越多,执行资源越少。
例如,执行资源用线程池队列表示,线程池队列可以分为预设个数,例如,分为8个线程池队列。
不同的线程池队列具有不同的权重值。例如,如表2所示。
表2
在为任务分配资源时,可以根据任务的重试次数,将重试次数越少的任务分配给权重值越大的线程池队列执行。
例如,在表2中,Q0~Q3队列的权重值最大,Q4~Q5队列的权重值次之,Q6~Q7队列的权重值最小,则第一次执行的任务(重试次数为0)分配给Q0~Q3队列执行,第二~五次执行的任务(重试次数为1~4)分配给Q4~Q5队列执行,第六~八次执行的任务(重试次数为5~7)分配给Q6~Q7队列执行。其中,对于权重值相同的队列,任务可以随机分配,例如,第一次执行的任务可以随机分配给Q0~Q3中的任意一个队列执行。
按照表2所示的权重值,对于第一次执行的任务,将会有93.02%的机会分配资源执行;对于失败过1,2,3,4次的任务,将有4.65%的机会分配资源执行,对于失败了5,6,7次的任务,将有2.33%的机会分配资源执行。
这样就可以实现重试次数少(优先级高)的任务分配更多的资源执行,优先级低的任务分配少一些的资源执行。
S13:根据所述执行参数,对所述任务进行处理。
一些实施例中,当执行参数包括重试执行时间时,在需要对所述任务进行重试处理时,确定所述重试处理时的当前时间,并获取为所述任务分配的重试执行时间;如果所述当前时间大于或等于所述重试执行时间,获取所述任务,并对获取的任务进行处理。
例如,对应一个任务,上次失败的时间是0点,根据重试次数(重试次数例如为4)确定的重试间隔是1小时,则如果当前时间小于1(0+1)点,则不获取该任务,只在当前时间大于1点,才会获取并处理该任务。
一些实施例中,当执行参数包括执行资源时,采用所述执行资源对所述任务进行处理。
例如,重试次数为4时,根据表2,则将任务随机分配给Q4和Q5队列中的一个执行。
本实施例中,通过获取任务的优先级,并根据优先级分配执行参数,可以实现不同优先级的任务分配不同级别的资源,提高资源利用的合理性,从而提高任务处理吞吐量,保证任务处理的时效性。
图2是本申请另一实施例提出的任务处理方法的流程示意图。
为了更好的理解本申请,先对通常的任务处理流程进行简单说明。
通常的任务处理系统的结构如图3所示。如图3所示,通常的任务处理系统的处理流程如下:
任务来源系统到任务处理系统注册任务(1、2);
恢复定时器定时触发任务处理系统处理任务(A);
任务处理系统被定时触发后,从任务池获取任务(B);
任务处理系统获取任务后,执行任务(C),之后,可以将执行后的任务发送给任务依赖系统。
从上述的任务处理流程来看,有以下几个缺点:
每个任务执行过了多少次,无从知晓,无法将执行过多次的任务与一次没有执行过或是执行次数少的任务进行区分;
对于一些多次执行都无法成功的任务,每次定时器运行时它们均会被捞取并执行,而结果极有可能是继续失败,造成系统资源的浪费;
对于一次没有执行过的任务,无法做到优先执行。
上面对通常的任务处理流程及存在的问题进行了描述,为了解决上述通常的任务处理流程存在的问题,可以采用本实施例提出的方法,本实施例提出的方法的具体内容可以参见后续描述。
本实施例中,将以任务是海量流水型任务为例。
海量流水型任务的业务场景例如是支付宝商户通知系统,商户通知就是该系统需要处理的任务。每日该系统需要通知商户的消息量上亿级,商户对消息通知的时效性要求较高。如果没有合理分配好系统资源,一方面消息的时效性将受到极大影响,对用户造成不好的体验;另一方面,如果商户端出现异常,商户通知任务短时间内出现大量通知失败,通知系统的吞吐量极大降低,系统处理压力持续增大。
通常流水型任务处理系统的职能在设计上都是单一化,对于支付宝商户通知系统,其流水型任务就是商户通知,相关技术中,数据库中的表设计如表3所示:
表3中的字段只需要记录需要通知的内容即可。
一个设计合理的海量级任务处理系统应该有如下特点:
1.任务处理区分优先级,高优先级的优先处理。
2.系统资源的合理分配,最大程度提高系统处理的吞吐量;
3.任务处理有时效性,任务的积压时间小,系统中任务的积压量少;
以下思路可以一定程度上达到这个目的:
任务分优化级,按优先级进行系统资源分配,达到高优先级的任务可以有更多的资源,以及更高的频率处理;低优先级的任务占用更少的资源以及更低频率的处理;
在流水型任务没有天然优先级业务特性的情况下,我们可以作这样的假设:任务如果一次都没有执行过,成功执行的机率相对较高;如果己经执行失败过几次,再执行失败的可能性更大,也就是说,在保障任务成功率的前提下,失败次数少的任务优先级高,失败次数多的任务优先级低。可以得出以下结论:
对于一次没执行或是执行失败次数少的任务,系统可以分配更多的资源以及较高的频率来执行,以减少任务的积压,提高系统吞吐量;
在任务执行失败达到一定次数后,系统可以降低执行频率并分配更少的资源给这些任务,以达到合理分配系统资源的目的。
为了达到上面合理目的,可以为任务表加上如下两个字段
group_no:表示消息执行了几次;执行的次数越多,说明失败次数越多。
next_exec_time:如果任务执行失败过,这个字段记录下次任务执行时间;
以国际支付商户通知的Notify表为例,表结构如表4所示:
表4
基于表4所示的任务表,本实施例的方法流程可以包括:
S21:从任务表中,获取任务的当前执行次数,并根据当前执行次数确定重试次数。
其中,以任务是国际支付商户通知(简称为通知)为例。
如表4所示,任务表中包含group_no参数,该参数用于记录通知的当前执行次数,从而可以读取该参数,获取通知的当前执行次数。
在获取当前执行次数后,可以用当前执行次数减1得到重试次数。
例如,当前执行次数是第一次执行,则重试次数是0,当前执行次数是第二次执行,则重试次数是1。
S22:从任务表中,获取该任务对应的重试执行时间,如果当前时间大于或等于重试执行时间,从任务池中获取该任务,如果当前时间小于重试执行时间,不获取该任务。
其中,当定时器触发任务处理系统执行任务时,任务处理系统可以先从任务池中获取任务。
本实施例中,任务处理系统在从任务池中获取任务时,可以比较获取任务时的当前时间与任务表中记录的该任务对应的重试执行时间(next_exec_time),以根据比较结果确定获取或不获取对应的任务。
每个任务的重试执行时间的初始值可以是定时器对应的第一次执行时间,以后的重试执行时间可以根据如后续所示的流程进行更新。
S23:在获取任务后,根据预先建立的重试次数与执行资源之间的对应关系,将任务分配给对应的执行资源进行处理。
其中,执行资源可以具体是线程池的队列,可以预先建立如表2所示的重试次数与队列之间的对应关系。
在获取重试次数后,可以根据表2所示的对应关系,确定相应的队列,如重试次数是0时,将通知随机分配给Q0~Q3中的任一个队列进行处理。
S24:在任务处理之后,更新任务的当前执行次数。
例如,初始的当前执行次数是1,当对通知处理一次后,将表4中的group_no更新为2。
S25:在任务处理失败时,根据预先建立的重试次数与重试间隔之间的对应关系,确定对应的重试间隔,并根据当前执行时间和重试间隔确定重试执行时间,并在任务表中更新重试执行时间。
例如,可以预先建立表1所示的重试次数与重试间隔之间的对应关系。
如果当前执行次数更新为2后,则重试次数为1,另外,根据表1,对应的重试间隔是2分钟,则重试执行时间=当前执行时间+2分钟。
在得到重试执行时间后,将该重试执行时间更新记录在表4包含的next_exec_time参数中。
之后,在下次定时触发任务处理时,任务处理系统可以重复执行上述的S21-S25。
本实施例中,通过获取流水型任务的重试次数,可以依据该重试次数确定流水型任务的优先级,使得原本不存在优先级的流水型任务具有了优先级。进一步的,在任务处理时,高优先级(重试次数少)的任务能够被分配更多的资源,从而可以提高重试次数少的任务的执行概率,在当前任务处理失败时,根据重试次数分配重试间隔,可以提高重试次数少的任务执行频率,从而实现资源的合理分配,提高任务处理的吞吐量,减少任务积压,保证任务处理的时效性。
图4是本申请另一实施例提出的任务处理装置的结构示意图,该装置40包括:获取模块41、分配模块42和处理模块43。
获取模块41,用于获取任务的优先级;
可选的,所述任务是流水型任务。
可选的,获取模块41具体用于:
获取任务的重试次数,以根据重试次数确定优先级,其中,重试次数越少,优先级越高。
进一步的,获取模块41具体用于:
从任务表中获取重试次数;或者,
从任务表中获取当前执行次数,并根据当前执行次数确定重试次数。
可以对应每个任务记录重试次数,当一个任务被执行一次后,将重试次数加1,重试次数的初始值为0。
当任务是第一次执行时,该任务的重试次数是0,当任务是第二次执行时,该任务的重试次数是1,依此类推。
具体的,任务的相关信息可以记录在任务表中,与一般的任务处理流程不同的是,本实施例中,该任务表中可以对应每个任务记录重试次数,以便从任务表中获取任务的重试次数。或者,也可以在任务表中记录任务的当前执行次数,根据当前执行次数推断出重试次数,例如,当前执行次数是第一次,则重试次数是0,当前执行次数是第二次,则重试次数是1。
分配模块42,用于根据所述优先级为所述任务分配执行参数,所述执行参数包括:重试执行时间,和/或,执行资源;
可选的,分配模块42具体用于:
在所述任务的当前处理失败时,为所述任务分配重试执行时间,所述重试执行时间的计算公式为:
重试执行时间=当前处理时间+重试间隔;
其中,所述重试间隔是根据预先建立的重试次数与重试间隔之间的对应关系确定的,在所述对应关系中,重试次数越多,对应的重试间隔越大。
例如,重试次数与重试间隔之间的对应关系可以如表1所示。
这样就可以实现重试次数少(优先级高)的任务的执行频率高,优先级低的任务的执行频率低。
可选的,分配模块42具体用于:
根据预先建立的重试次数与执行资源之间的对应关系,为所述任务分配与所述重试次数对应的执行资源;
其中,在所述对应关系中,重试次数越多,执行资源越少。
例如,执行资源用线程池队列表示,线程池队列可以分为预设个数,例如,分为8个线程池队列。
不同的线程池队列具有不同的权重值。例如,如表2所示。
在为任务分配资源时,可以根据任务的重试次数,将重试次数越小的任务分配给权重值越大的线程池队列执行。
例如,在表2中,Q0~Q3队列的权重值最大,Q4~Q5队列的权重值次之,Q6~Q7队列的权重值最小,则第一次执行的任务(重试次数为0)分配给Q0~Q3队列执行,第二~五次执行的任务(重试次数为1~4)分配给Q4~Q5队列执行,第六~八次执行的任务(重试次数为5~7)分配给Q6~Q7队列执行。其中,对于权重值相同的队列,任务可以随机分配,例如,第一次执行的任务可以随机分配给Q0~Q3中的任一个队列执行。
按照表2所示的权重值,对于第一次执行的任务,将会有93.02%的机会分配资源执行;对于失败过1,2,3,4次的任务,将有4.65%的机会分配资源执行,对于失败了5,6,7次的任务,将有2.33%的机会分配资源执行。
这样就可以实现重试次数少(优先级高)的任务分配更多的资源执行,而低优先级的任务分配少一些的资源执行。
处理模块43,用于根据所述执行参数,对所述任务进行处理。
可选的,处理模块43具体用于:
在需要对所述任务进行重试处理时,确定所述重试处理时的当前时间,并获取为所述任务分配的重试执行时间;如果所述当前时间大于或等于所述重试执行时间,获取所述任务,并对获取的任务进行处理。
例如,对应一个任务,上次失败的时间是0点,根据重试次数(重试次数例如为4)确定的重试间隔是1小时,则如果当前时间小于1(0+1)点,则不获取该任务,只在当前时间大于1点时,才会获取并处理该任务。
可选的,当所述执行资源是线程池的队列时,处理模块43具体用于:
在获取到所述任务后,采用为所述任务分配的执行资源对所述任务进行处理,其中,当任务的优先级越高,分配的队列的权重值越高。
例如,重试次数为4时,根据表2,则将任务随机分配给Q4和Q5队列中的一个执行。
一些实施例中,参见图5,该装置还包括:
记录模块44,用于在为所述任务分配重试执行时间后,将所述重试执行时间更新记录在任务表中。
上述模块的具体功能可以参见方法实施例中的相关描述,在此不再赘述。
本实施例中,通过获取流水型任务的重试次数,可以依据该重试次数确定流水型任务的优先级,使得原本不存在优先级的流水型任务具有了优先级。进一步的,在任务处理时,高优先级(重试次数少)的任务能够被分配更多的资源,从而可以提高重试次数少的任务的执行概率,在当前任务处理失败时,根据重试次数分配重试间隔,可以提高重试次数少的任务执行频率,从而实现资源的合理分配,提高任务处理的吞吐量,减少任务积压,保证任务处理的时效性。
图6是本申请另一实施例提出的电子设备的结构示意图。该电子设备用于对任务进行处理,例如是服务器。参见图6,该电子设备60包括:壳体61、处理器62、存储器63、电路板64和电源电路65,其中,电路板65安置在壳体61围成的空间内部,处理器62和存储器63设置在电路板64上;电源电路65,用于为电子设备的各个电路或器件供电;存储器63用于存储可执行程序代码;处理器62通过读取存储器63中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
获取任务的优先级;
根据所述优先级为所述任务分配执行参数,所述执行参数包括:重试执行时间,和/或,执行资源;
根据所述执行参数,对所述任务进行处理。
可选的,所述获取任务的优先级,包括:
获取任务的重试次数,以根据重试次数确定优先级,其中,重试次数越少,优先级越高。
可选的,所述根据所述优先级为所述任务分配执行参数,包括:
在所述任务的当前处理失败时,为所述任务分配重试执行时间,所述重试执行时间的计算公式为:
重试执行时间=当前处理时间+重试间隔;
其中,所述重试间隔是根据预先建立的重试次数与重试间隔之间的对应关系确定的,在所述对应关系中,重试次数越多,对应的重试间隔越大。
可选的,所述根据所述优先级为所述任务分配执行参数,包括:
根据预先建立的重试次数与执行资源之间的对应关系,为所述任务分配与所述重试次数对应的执行资源;
其中,在所述对应关系中,重试次数越多,执行资源越少。
可选的,当所述执行资源是线程池的队列时,所述根据所述执行参数,对所述任务进行处理,包括:
在获取到所述任务后,采用为所述任务分配的执行资源对所述任务进行处理,其中,当任务的优先级越高,可分配的队列权重越多。
可选的,所述根据所述执行参数,对所述任务进行处理,包括:
在需要对所述任务进行重试处理时,确定所述重试处理时的当前时间,并获取为所述任务分配的重试执行时间;
如果所述当前时间大于或等于所述重试执行时间,获取所述任务,并对获取的任务进行处理。
可选的,所述获取任务的重试次数,包括:
从任务表中获取重试次数;或者,
从任务表中获取当前执行次数,并根据当前执行次数确定重试次数。
可选的,还包括:
在为所述任务分配重试执行时间后,将所述重试执行时间更新记录在任务表中。
可选的,所述任务是流水型任务。
可以理解的是,本实施例的内容与方法实施例对应,具体内容可以参见方法实施例中的相关描述,在此不再赘述。
本实施例中,通过获取流水型任务的重试次数,可以依据该重试次数确定流水型任务的优先级,使得原本不存在优先级的流水型任务具有了优先级。进一步的,在任务处理时,高优先级(重试次数少)的任务能够被分配更多的资源,从而可以提高重试次数少的任务的执行概率,在当前任务处理失败时,根据重试次数分配重试间隔,可以提高重试次数少的任务执行频率,从而实现资源的合理分配,提高任务处理的吞吐量,减少任务积压,保证任务处理的时效性。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种任务处理方法,其特征在于,包括:
获取任务的优先级;
根据所述优先级为所述任务分配执行参数,所述执行参数包括:重试执行时间,和/或,执行资源;
根据所述执行参数,对所述任务进行处理。
2.根据权利要求1所述的方法,其特征在于,所述获取任务的优先级,包括:
获取任务的重试次数,以根据重试次数确定优先级,其中,重试次数越少,优先级越高。
3.根据权利要求2所述的方法,其特征在于,所述根据所述优先级为所述任务分配执行参数,包括:
在所述任务的当前处理失败时,为所述任务分配重试执行时间,所述重试执行时间的计算公式为:
重试执行时间=当前处理时间+重试间隔;
其中,所述重试间隔是根据预先建立的重试次数与重试间隔之间的对应关系确定的,在所述对应关系中,重试次数越多,对应的重试间隔越大。
4.根据权利要求2所述的方法,其特征在于,所述根据所述优先级为所述任务分配执行参数,包括:
根据预先建立的重试次数与执行资源之间的对应关系,为所述任务分配与所述重试次数对应的执行资源;
其中,在所述对应关系中,重试次数越多,执行资源越少。
5.根据权利要求1所述的方法,其特征在于,当所述执行资源是线程池的队列时,所述根据所述执行参数,对所述任务进行处理,包括:
在获取到所述任务后,采用为所述任务分配的执行资源对所述任务进行处理,其中,当任务的优先级越高,可分配的队列权重越多。
6.根据权利要求1所述的方法,其特征在于,所述根据所述执行参数,对所述任务进行处理,包括:
在需要对所述任务进行重试处理时,确定所述重试处理时的当前时间,并获取为所述任务分配的重试执行时间;
如果所述当前时间大于或等于所述重试执行时间,获取所述任务,并对获取的任务进行处理。
7.根据权利要求2所述的方法,其特征在于,所述获取任务的重试次数,包括:
从任务表中获取重试次数;或者,
从任务表中获取当前执行次数,并根据当前执行次数确定重试次数。
8.根据权利要求1所述的方法,其特征在于,还包括:
在为所述任务分配重试执行时间后,将所述重试执行时间更新记录在任务表中。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述任务是流水型任务。
10.一种任务处理装置,其特征在于,包括:
获取模块,用于获取任务的优先级;
分配模块,用于根据所述优先级为所述任务分配执行参数,所述执行参数包括:重试执行时间,和/或,执行资源;
处理模块,用于根据所述执行参数,对所述任务进行处理。
CN201610134141.1A 2016-03-09 2016-03-09 任务处理方法和装置 Pending CN107179896A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610134141.1A CN107179896A (zh) 2016-03-09 2016-03-09 任务处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610134141.1A CN107179896A (zh) 2016-03-09 2016-03-09 任务处理方法和装置

Publications (1)

Publication Number Publication Date
CN107179896A true CN107179896A (zh) 2017-09-19

Family

ID=59830583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610134141.1A Pending CN107179896A (zh) 2016-03-09 2016-03-09 任务处理方法和装置

Country Status (1)

Country Link
CN (1) CN107179896A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291557A (zh) * 2017-08-02 2017-10-24 中国银行股份有限公司 一种业务处理方法和装置
CN108182637A (zh) * 2017-12-28 2018-06-19 泰康保险集团股份有限公司 一种绿通服务卷的生成方法、装置、介质和电子设备
WO2019056695A1 (zh) * 2017-09-20 2019-03-28 深圳壹账通智能科技有限公司 任务调度的方法、装置、终端设备及计算机可读存储介质
CN109614222A (zh) * 2018-10-30 2019-04-12 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
CN111459754A (zh) * 2020-03-26 2020-07-28 平安普惠企业管理有限公司 异常任务的处理方法、装置、介质及电子设备
CN112099935A (zh) * 2020-09-25 2020-12-18 北京奇艺世纪科技有限公司 一种任务处理方法及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4370708A (en) * 1978-10-31 1983-01-25 Honeywell Information Systems Inc. Logic system for selectively reconfiguring an intersystem communication link
US5282272A (en) * 1990-12-21 1994-01-25 Intel Corporation Interrupt distribution scheme for a computer bus
US6272605B1 (en) * 1998-06-01 2001-08-07 International Business Machines Corporation System using priority data of a host recall request to determine whether to release non-volatile storage with another host before processing further recall requests
CN101751288A (zh) * 2008-12-12 2010-06-23 中国移动通信集团山东有限公司 应用进程调度的方法、设备及系统
CN101770402A (zh) * 2008-12-29 2010-07-07 中国移动通信集团公司 MapReduce系统中的Map任务调度方法、设备及系统
CN103365708A (zh) * 2012-04-06 2013-10-23 阿里巴巴集团控股有限公司 任务调度方法和装置
CN104142855A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 任务的动态调度方法与装置
CN104536811A (zh) * 2014-12-26 2015-04-22 广州华多网络科技有限公司 基于hive任务的任务调度方法及装置
CN104657212A (zh) * 2015-02-13 2015-05-27 北京亚信数据有限公司 一种任务调度的方法及系统
US9135193B2 (en) * 2013-03-25 2015-09-15 Hewlett-Packard Development Company, L.P. Expander interrupt processing
CN104915258A (zh) * 2015-06-09 2015-09-16 北京京东尚科信息技术有限公司 分布式任务调度的方法和装置
CN105096174A (zh) * 2014-04-16 2015-11-25 阿里巴巴集团控股有限公司 一种交易匹配方法以及系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4370708A (en) * 1978-10-31 1983-01-25 Honeywell Information Systems Inc. Logic system for selectively reconfiguring an intersystem communication link
US5282272A (en) * 1990-12-21 1994-01-25 Intel Corporation Interrupt distribution scheme for a computer bus
US6272605B1 (en) * 1998-06-01 2001-08-07 International Business Machines Corporation System using priority data of a host recall request to determine whether to release non-volatile storage with another host before processing further recall requests
CN101751288A (zh) * 2008-12-12 2010-06-23 中国移动通信集团山东有限公司 应用进程调度的方法、设备及系统
CN101770402A (zh) * 2008-12-29 2010-07-07 中国移动通信集团公司 MapReduce系统中的Map任务调度方法、设备及系统
CN103365708A (zh) * 2012-04-06 2013-10-23 阿里巴巴集团控股有限公司 任务调度方法和装置
US9135193B2 (en) * 2013-03-25 2015-09-15 Hewlett-Packard Development Company, L.P. Expander interrupt processing
CN104142855A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 任务的动态调度方法与装置
CN105096174A (zh) * 2014-04-16 2015-11-25 阿里巴巴集团控股有限公司 一种交易匹配方法以及系统
CN104536811A (zh) * 2014-12-26 2015-04-22 广州华多网络科技有限公司 基于hive任务的任务调度方法及装置
CN104657212A (zh) * 2015-02-13 2015-05-27 北京亚信数据有限公司 一种任务调度的方法及系统
CN104915258A (zh) * 2015-06-09 2015-09-16 北京京东尚科信息技术有限公司 分布式任务调度的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姜维 等: "《分布式网络系统与Multi-Agent系统编程框架》", 31 January 2015 *
王必尧 等: "基于优先级的视频内容采集策略研究", 《网 络 新 媒 体 技 术》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291557A (zh) * 2017-08-02 2017-10-24 中国银行股份有限公司 一种业务处理方法和装置
CN107291557B (zh) * 2017-08-02 2020-10-23 中国银行股份有限公司 一种业务处理方法和装置
WO2019056695A1 (zh) * 2017-09-20 2019-03-28 深圳壹账通智能科技有限公司 任务调度的方法、装置、终端设备及计算机可读存储介质
CN108182637A (zh) * 2017-12-28 2018-06-19 泰康保险集团股份有限公司 一种绿通服务卷的生成方法、装置、介质和电子设备
CN109614222A (zh) * 2018-10-30 2019-04-12 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
CN109614222B (zh) * 2018-10-30 2022-04-08 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
CN111459754A (zh) * 2020-03-26 2020-07-28 平安普惠企业管理有限公司 异常任务的处理方法、装置、介质及电子设备
CN111459754B (zh) * 2020-03-26 2022-09-27 平安普惠企业管理有限公司 异常任务的处理方法、装置、介质及电子设备
CN112099935A (zh) * 2020-09-25 2020-12-18 北京奇艺世纪科技有限公司 一种任务处理方法及装置
CN112099935B (zh) * 2020-09-25 2023-09-01 北京奇艺世纪科技有限公司 一种任务处理方法及装置

Similar Documents

Publication Publication Date Title
CN107179896A (zh) 任务处理方法和装置
US11762697B2 (en) Method and apparatus for scheduling resource for deep learning framework
CN107423120B (zh) 任务调度方法及装置
CN107743697B (zh) 容错域中的动作编排
CN108388479A (zh) 延迟消息推送方法、装置、计算机设备及存储介质
CN111258737B (zh) 一种资源调度的方法、装置和过滤式调度器
US20120110047A1 (en) Reducing the Response Time of Flexible Highly Data Parallel Tasks
CN109814910A (zh) 自动化灰度发布方法、装置、计算机系统及存储介质
CN102385541A (zh) 受控的数据中心服务的自动复原
CN105677462A (zh) 基于物联网的分布式任务系统及业务处理方法
CN106844108B (zh) 一种数据存储方法、服务器以及存储系统
CN104484220A (zh) 虚拟化集群的动态资源调度的方法及装置
US10025628B1 (en) Highly available distributed queue using replicated messages
CN107333248B (zh) 一种短信实时发送方法和系统
CN110347888B (zh) 订单数据的处理方法、装置及存储介质
JP2014191594A (ja) 分散処理システム
CN106776025A (zh) 一种计算机集群作业调度方法及其装置
CN105786909A (zh) 一种自适应消息队列积压负载的应用触发方法和系统
CN107229660A (zh) 一种数据去重的方法和设备
US20080178187A1 (en) Method and computer program product for job selection and resource alolocation of a massively parallel processor
CN109561151A (zh) 数据存储方法、装置、服务器和存储介质
CN105491117A (zh) 面向实时数据分析的流式图数据处理系统及方法
CN110968410B (zh) 任务失败重试方法、装置、计算机设备及存储介质
CN102103530B (zh) 快照方法、设备及系统
CN109241042A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201013

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201013

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170919