CN107977275B - 基于消息队列的任务处理方法及相关设备 - Google Patents

基于消息队列的任务处理方法及相关设备 Download PDF

Info

Publication number
CN107977275B
CN107977275B CN201711267863.5A CN201711267863A CN107977275B CN 107977275 B CN107977275 B CN 107977275B CN 201711267863 A CN201711267863 A CN 201711267863A CN 107977275 B CN107977275 B CN 107977275B
Authority
CN
China
Prior art keywords
subtask
target
task
subtasks
processing
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.)
Active
Application number
CN201711267863.5A
Other languages
English (en)
Other versions
CN107977275A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co 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 Tencent Technology Shenzhen Co Ltd, Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711267863.5A priority Critical patent/CN107977275B/zh
Publication of CN107977275A publication Critical patent/CN107977275A/zh
Application granted granted Critical
Publication of CN107977275B publication Critical patent/CN107977275B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

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为本申请提供的虚拟机迁移任务的一个流程示意图;
图4A及图4B分别为现有任务处理方法及本申请的任务处理方法对虚拟机迁移任务的处理流程图;
图5为本申请提供的应用于目标处理终端的任务处理方法的另一流程示意图;
图6为本申请提供的应用于任务管理终端的任务处理方法的一个流程示意图;
图7为本申请提供的基于消息队列的任务处理设备的一个架构示意图;
图8为本申请提供的基于消息队列的任务管理装置的一个结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
计算机中可以设置用于存储任务的任务存储容器如消息队列。任务包括多个子任务,每个子任务具有各自对应的执行主体,任务存储容器中的子任务可以被从任务存储容器中取出,由对应的执行主体进行处理。
具体来讲,为了实现任务的细化处理,任务会被划分为多个步骤执行,一个步骤可以看作是一个子任务,这样任务便包括多个子任务。任务的多个子任务之间具有先后执行顺序,且每个子任务具有对应的任务执行主体。任务被存放在数据存储容器中,按照先后执行顺序,子任务对应的任务执行主体会从数据存储容器中将任务取出,执行完相应的子任务后,再将任务放入数据存储容器中,以供后一执行顺序的子任务的任务执行主体取出,来执行该后一执行顺序的子任务。
见图1提供的任务执行过程的一个示例,任务1被划分为三个子任务,分别为子任务101、子任务102及子任务103,该三个子任务按照书写顺序依次执行,另外子任务101及子任务102对应的任务执行主体均为任务执行主体A,子任务103对应的任务执行主体为任务执行主体B。任务1存储在消息队列中,在任务的执行过程中,首先任务1被从消息队列中取出,并分配给任务执行主体A执行子任务101。子任务101被执行完成后,任务1被重新放入消息队列中。然后任务1被从消息队列中取出,并分配给任务执行主体A执行子任务102。子任务102被执行完毕后,任务1被重新放入消息队列中。最后任务1被从消息队列中取出,并分配给任务执行主体B执行子任务103。子任务103被执行完毕,则任务1被执行完毕。
现有的任务处理方法只针对具有先后执行顺序的子任务,且按照先后执行顺序依次将任务从任务存储容器中取出,由子任务对应的处理终端处理,且每个子任务的处理终端处理各自的子任务后,均需要将任务再送回任务存储容器中,重复以上步骤直至最后一个子任务处理完成。
但是,以上任务处理方法中,每个子任务的处理均需要对任务管理容器执行一次任务读取操作,且除最后一个子任务以外的其他子任务处理完成后,也均需要对任务管理器执行一次任务写入操作。处理终端与任务管理容器的交互次数较多,任务的处理效率较低。例如,假设一个任务被划分为100个子任务,处理每个子任务与任务存储容器的交互时间为10ms,那么完成这个任务的总耗时为1000ms,这个总耗时是较长的一个时长,如果这个任务需要为用户做出响应,则用户需要等待较长的一段时间,用户体验也较差。
为了解决上述技术问题,本申请提供了一种基于消息队列的任务处理方法。该任务处理方法应用在目标处理终端上,需要说明的是,目标处理终端执行任务处理方法时,可以具体由目标处理终端上的进程执行,执行该任务处理方法的进程可以称为目标处理进程。
基于消息队列的任务处理方法的一种流程如图2所示,包括步骤S201~S204。
步骤S201:获得消息队列中的目标任务,目标任务包括多个子任务。
其中,目标任务可以存放在消息队列,消息队列是一种任务存储容器。目标处理终端在对目标任务进行处理以前,需要从消息队列中获得目标任务。获得目标任务的方式可以包括但不局限于以下两种实现方式,一种实现方式是,在消息队列所在的系统中部署任务管理终端,由任务管理终端将目标任务从消息队列中取出来并发送给目标处理模块;另一种实现方式是,由目标处理终端自己从消息队列中读取目标任务出来。
需要说明的是,在第一种实现方式中,任务管理终端可以获得子任务与处理终端的对应关系,并对目标任务的执行过程进行管理。具体地,其可以监控目标任务的执行进度,即目标任务的哪些子任务已经完成、哪些子任务没有完成及当前需要执行哪个或哪些子任务,并可以根据子任务与处理终端的对应关系,将目标任务从消息队列中取出并发送给当前子任务所对应的处理终端。本方法应用在的目标处理终端可以是,目标任务的任何一个子任务对应的处理终端,因此,在任务的执行过程中目标处理终端可以接收到由任务管理终端发送的目标任务。
任务会被划分为一个或多个子步骤,每个子步骤可以看作一个任务,也就是说,任务包括多个子任务。例如,一个虚拟机的迁移任务,包括查询虚拟机信息(queryVmInfo)、查询宿主机的基本信息(queryHostInfo)、判断虚拟机是否满足迁移条件(checkCondition)、选择一个新的宿主机(selectNewHost)、迁移底层的硬件资源(migtateVm)、更新虚拟机的基本信息(updateVmHost)及恢复原宿主机的硬件资源(recoverHostResource)7个子任务。为了便于描述,各个子任务可以依次称为子任务1、子任务2、子任务3、子任务4、子任务5、子任务6及子任务7。
需要说明的是,本步骤中的子任务可以包括串行执行的子任务,或者可以包括并行执行的子任务,或者以上两者都包括。
步骤S202:在多个子任务中,确定可独立由目标处理终端处理的目标子任务。
其中,每个子任务具有各自对应的处理终端,处理终端负责处理对应的子任务。本步骤由目标处理终端处理,因此,需要在多个子任务中确定与目标处理终端对应的那些子任务。需要说明的是,所确定出的子任务中有些子任务可能需要其他处理终端对其他子任务的处理结果,那么这些子任务便不是可以独立由目标处理终端进行处理的子任务,因此,将这些子任务从确定出的子任务中去除,剩余的子任务便是可以独立由目标处理终端处理的子任务。为了便于描述,可以将所确定出的可以独立由目标处理终端处理的子任务称为目标子任务。
在实际应用中,将任务划分为多个子任务后,可以为子任务分配处理终端。可以记录子任务与处理终端的分配关系,这种分配关系是一种对应关系。另外,划分的子任务之间具有关联关系,还可以记录子任务之间的关联关系,关联关系用于表示子任务的处理过程需要哪些子任务的处理结果。
基于上述记录的子任务与处理终端的对应关系及子任务之间的关联关系,一种确定目标子任务的实现方式为:
获得子任务与处理终端的对应关系以及子任务之间的关联关系;依据所述对应关系及所述关联关系,在所述多个子任务中确定与所述目标处理终端对应且仅需要所述目标处理终端对子任务的处理结果的目标子任务。
具体地,根据子任务与处理终端的对应关系,可以确定出目标处理终端对应的子任务有哪些。前已述及,处理终端对子任务的处理可以具体是,由处理终端上的进程对子任务进行处理。以处理进程为例,说明处理进程与子任务的对应关系。如图3所示,以上述虚拟机的迁移任务为例,7个子任务与处理进程的对应关系为:(资源进程,子任务1),(资源进程,子任务2),(资源进程,子任务3),(调度进程,子任务4),(计算进程,子任务5),(资源进程,子任务6),(资源进程,子任务7)。若目标处理进程为资源进程,根据上述对应关系可以确定出资源进程对应的子任务有子任务1、子任务2、子任务3、子任务6及子任务7。
根据子任务之间的关联关系,可以确定目标处理终端对应的这些子任务是否需要其他子任务的处理结果;再根据子任务与处理终端的对应关系,从目标处理终端对应的子任务中,确定目标处理终端对应的子任务并不需要其他处理终端对子任务的处理结果的子任务,最终确定出的子任务即目标子任务。
仍以上述虚拟机的迁移任务为例,假设该7个子任务按照上述书写顺序串行执行,则该7个子任务的关联关系为:按照上述书写顺序,除第一个子任务除外,每个子任务都需要前一个子任务的执行结果。若目标处理进程为资源进程resource,根据对应关系确定出于目标处理进程对应的子任务包括子任务1、子任务2、子任务3、子任务6及子任务7。
其中,如图3所示,子任务1为首个子任务,该子任务并不需要其他子任务的处理结果;子任务2作为第二个执行的子任务,需要第一个子任务的处理结果,而第一个子任务对应的处理进程仍为目标处理进程resource;子任务3作为第三个执行的子任务,需要前两个子任务的处理结果,而前两个子任务对应的处理进程仍为目标处理进程resource;子任务6作为第六个执行的子任务,需要前五个子任务的处理结果,而前五个子任务中有的子任务对应的处理进程非目标处理进程resource;子任务7作为第七个执行的子任务,需要前六个子任务的处理结果,而前六个子任务中有的子任务对应的处理进程非目标处理进程resource。
因此,子任务1、子任务2、子任务3才是最终对于目标处理进程resource来讲,是可独立由目标处理进程处理的目标子任务。
可以理解的是,目标处理终端获得目标任务时,还可以确定待处理子任务,待处理子任务为目标任务包含的当前需要被处理的子任务。目标处理终端所确定的目标子任务除了满足上述条件外,也是在待处理子任务及其之后的这些未完成的子任务中确定出来的子任务。
以上述示例为例,待处理子任务为首个子任务。若仍以上述示例为例,若待处理子任务为子任务6,说明子任务6之前的子任务已经处理成功,因此在子任务6及其之后的子任务确定目标子任务,同样按照上述示例中的方式确定,所确定的目标子任务为:子任务6及子任务7。
总结来看,若子任务之间的关联关系为串行执行顺序,则确定目标子任务的方式为:依据对应关系,确定由目标处理终端处理的首个子任务;依据串行执行关系,在首个子任务的后续子任务中,依次查找全部由目标处理终端处理的子任务;将首个子任务及查找到的子任务确定为目标子任务。其中,目标处理终端所处理的首个子任务也可以称为当前待处理的子任务。首个子任务的信息可以是由任务管理终端发送的,任务管理终端可以记录任务的执行情况,如当前待处理的子任务为哪个子任务,该子任务应该由哪个处理终端进行处理。需要说明的是,任务管理终端可以具体为一个进程。
步骤S203:处理目标子任务,得到处理后的目标任务。
其中,得到目标子任务后,便处理这些目标子任务即可。需要说明的是,目标子任务之间可能具有关联关系,关联关系也可以表示目标子任务的执行顺序,因此按照执行顺序来串行执行目标子任务。例如,目标子任务为:子任务1、子任务2及子任务3,且如图3所示,该三个子任务依次执行,则依次顺序执行该三个子任务即可。
或者,目标子任务之间也可能不存在关联关系,换句话说,目标子任务是可以并行执行的,这种情况下,目标处理终端可以按照随意的顺序依次执行这些目标子任务,也可以并行执行这些目标子任务。或者,目标子任务中的某些子任务是串行执行的,有些子任务是并行执行的,则可以依次顺序执行各个子任务,也可以分别执行。
目标任务包括目标子任务,目标子任务处理完成后,便可以得到处理后的目标任务。
步骤S204:将处理后的目标任务发送至消息队列,以使消息队列存储处理后的目标任务。
其中,由于目标任务执行完毕需要放入消息队列中进行暂存,因此,由目标处理终端处理后的目标任务,需要被发送至消息队列。需要说明的是,目标任务在有些情况如子任务均被执行完毕的情况下,也可以不发送至消息队列。因此,得到处理后的目标任务后,可以判断目标任务的子任务是否执行完毕,若执行完毕,则将处理后的目标任务发送至目标任务对应的接收模块;若未执行完毕,则将目标任务发送至消息队列。将处理后的目标任务发送至消息队列进行存储,若处理后的目标任务未处理完毕,则可以由其他任务处理终端继续从消息队列中获得目标任务进行处理。
由以上技术方案可知,本申请提供了一种基于消息队列的任务处理方法,该任务处理方法应用于目标处理终端,该方法获得目标任务后,在目标任务包含的多个子任务中,确定可以由目标处理终端独立进行处理的子任务,处理完这些子任务后,再将目标任务发送至消息队列。可见,目标处理终端获得目标任务后,并不是机械地处理一个子任务然后将目标任务发送回消息队列,而是会在目标任务中确定出满足条件的子任务,满足条件的子任务可能是一个,也可能是多个,处理完这些子任务后,才将目标任务发送至消息队列。这样,便可以减少目标处理终端与消息队列的交互次数,提高目标任务的处理效率。另外,消息队列除了可以存储目标任务外,还可以存储其他任务,其他任务也可以按照上述任务处理方法进行处理。消息队列在处理各个任务过程中,会消耗计算、存储及网络等资源,每个处理终端与消息队列的交互次数减少,这样消息队列处理每个任务时可以使用的资源会提高,从而消息队列的性能也会提高。
仍以上述虚拟机迁移任务示例为例,如果并未按照本申请提供任务处理方法执行,虚拟机迁移任务的处理流程如图4A所示,如果按照本申请提供的任务处理方法执行,虚拟机迁移任务的处理流程如图4B所示。通过对比可以发现,整个处理过程中,与消息队列的交互次数减少了3次,从而虚拟机的迁移效率也就更高。
在实际应用中,目标任务包含多个子任务,该多个子任务可能并非全部由目标处理终端完成,因此在目标处理终端将目标任务发送至消息队列之后,可能有其他处理终端获得消息队列中的目标任务。这些处理终端需要目标子任务的处理结果。
因此,在上述图2所示的步骤S204之后,还可以包括:判断所述多个子任务中是否存在需要所述目标子任务的处理结果的后续子任务;若存在,则确定与所述后续子任务对应的处理终端,并记录确定出的处理终端;其中记录的处理终端用于:将所述处理后的目标任务从所述消息队列发送至所述记录的处理终端。
具体地,目标处理终端处理完目标子任务后,得到的处理结果可能会作为其他子任务的处理依据。因此,目标处理终端可以根据子任务之间的关联关系,确定出关联目标子任务的子任务,并可以进一步依据子任务与处理终端之间的对应关系,确定出关联目标子任务的这些子任务所对应的处理终端。
以虚拟机的迁移任务为例,子任务3执行完毕后,下一子任务4需要子任务3的处理结果。因此,确定子任务3对应的处理进程,根据子任务与处理进程的对应关系可知,子任务3对应的处理进程为调度进程,因此记录调度进程。
其他终端如任务管理终端可以根据记录的处理终端,通知记录的处理终端去消息队列获取目标任务,或者其他终端如任务管理终端可以根据记录的处理终端,将目标任务从消息队列中取出来,发送给记录的处理终端。不论使用何种方式可以看出,记录的处理终端用于将所述处理后的目标任务从所述消息队列发送至所述记录的处理终端。
以上实施例中,目标处理终端在执行任务处理方法时,先确定出所有的目标子任务,再执行该各个目标子任务。在实际应用中,目标处理终端还可以在接收到目标任务并处理完当前待执行的某子任务后,再判断是否存在可以由目标处理终端处理的其他子任务。具体地:
见图5,其示出了本申请提供的基于消息队列的任务处理方法的另一种流程,该任务处理方法应用在目标处理终端上,具体可以包括步骤S501~S505。
S501:获得消息队列中的目标任务及待处理子任务信息;其中,所述目标任务包括多个子任务。
其中,目标处理终端可以获得目标任务,一种方式是目标处理终端自己去消息队列中获取,另一种方式是由任务管理终端从消息队列中获取目标任务并将目标任务发送至目标处理终端。
目标任务中包括多个子任务,每个子任务具有各自对应的处理终端,在现有技术中,某个处理终端不仅可以获得任务,还可以获得任务中的待处理子任务信息,处理终端根据待处理子任务信息,执行待处理子任务信息对应的子任务。
针对本申请中的目标处理终端而言,目标处理终端除了可以获得目标任务以外,还可以获得待处理子任务信息,待处理子任务信息用于指示目标任务中当前待处理的子任务,进一步地,当前表示的是目标处理终端接收到目标任务时。或者换句话说,待处理子任务信息表示的是目标处理终端接收到目标任务时,需要由目标处理终端进行处理的子任务。
S502:处理所述待处理子任务信息指示的第一目标子任务。
前已述及,待处理子任务信息指示有子任务,为了便于描述,可以将待处理子任务所指示的子任务称为第一目标子任务。目标处理终端根据待处理子任务信息的指示处理该第一目标子任务即可。
前已述及,处理终端对子任务的处理可以具体是,由处理进程对子任务进行处理。因此以目标处理终端为目标处理进程为例进行说明。例如,假设目标处理进程为资源进程,资源进程接收到的目标任务为虚拟机迁移任务,并且资源进程接收到待处理子任务信息为查询虚拟机的信息,则目标处理进程查询虚拟机的信息即可。
S503:在去除所述第一目标子任务的多个子任务中,确定可独立由所述目标处理终端处理的第二目标子任务。
其中,目标任务包含多个子任务,目标处理终端执行完待处理的子任务后,如果按照现有的任务处理方法,目标处理终端会将目标任务发送至消息队列。但本申请判断,在剩余的子任务中,是否存在可以独立由目标处理终端进行处理的子任务,为了便于描述,可以将这些子任务称为第二目标子任务。
具体地:获得目标任务包含的子任务,在这些子任务中将第一目标子任务去除,然后判断剩余的子任务中是否还存在可以独立由目标处理终端处理的子任务,判断的方式可以参照以上内容,此处并不赘述。
在一种实现方式中,目标任务包含的多个子任务是串行执行的,也就是说,子任务是依次顺序执行。则本步骤在执行时,可以依据所述串行执行顺序,在所述第一目标子任务之后执行的子任务中,查找由所述目标处理终端处理的第二目标子任务。
具体来讲,目标任务包含的子任务是串行执行的,也就是说,各个子任务一个一个依次执行,因此目标处理终端在执行完待处理子任务信息指示的第一目标子任务后,在第一目标子任务之后执行的子任务中,顺位查找由目标处理终端执行的子任务,直到下一个子任务并非由目标处理终端处理的子任务停止。原因是,下一个子任务并非由目标处理终端处理,则后续即使存在由目标处理终端处理的子任务,那么后续的子任务也并非独立由目标处理终端处理,而是需要其他处理终端的处理结果。
S504:若确定到第二目标子任务,则处理所述第二目标子任务,得到处理后的目标任务。
其中,若在去除第一目标子任务的多个子任务中,还包括可以独立由目标处理终端处理的子任务,则不将处理后的目标任务返回消息队列,而是处理这些目标子任务,得到最终处理后的目标任务。目标处理终端根据第二目标子任务的具体内容,执行第二目标子任务的处理过程,此处并不赘述。
S505:将所述处理后的目标任务发送至消息队列,以使消息队列存储处理后的目标任务。
其中,若全部的子任务并未执行完毕,则目标任务是暂存在消息队列中的,因此需要将目标任务发送回消息队列。当然,若全部的子任务均执行完毕,则可以选择将目标任务发送会消息队列,也可以选择并不将目标任务返回消息队列。
相较于现有的任务处理方法而言,本申请中的步骤S503及步骤S504是新增的步骤,目的是将可以独立由目标处理终端处理的子任务合并,一次性由目标处理终端处理完毕后,再将处理后的目标任务发送至消息队列。
以上各个实施例中,基于消息队列的任务处理方法应用在目标处理终端,即目标处理终端获得目标任务后,由目标处理终端来确定目标任务中自身可以独立处理的子任务,但是,这个步骤也可以并非由目标处理终端执行,也可以是由任务管理终端执行。任务管理终端是用于管理目标任务执行的终端,其可以从消息队列中取出任务并发送至目标处理终端。
见图6,其示出了本申请提供的基于消息队列的任务处理方法的又一种流程,该任务处理方法可以应用在任务管理终端上。如图6所示,该方法可以具体包括步骤S601~S604。
S601:确定消息队列中的目标任务,所述目标任务包括多个子任务。
其中,任务管理终端可以从消息队列中获得目标任务,目标任务可以是当前需要执行的任务。
S602:在所述多个子任务中,确定可独立由目标处理终端处理的目标子任务。
其中,任务管理终端还可以根据目标任务的处理进度,确定当前需要被处理的子任务,再根据该子任务与处理终端之间的对应关系,便可以确定该子任务所对应的处理终端为哪个处理终端,该处理终端即目标处理终端。
目标任务包括多个子任务,在该多个子任务中确定由目标处理终端处理的目标子任务时,可以依据子任务与处理终端之间的对应关系以及子任务之间的关联关系,具体的确定方法可以参照上述实施例中的说明,此处并不赘述。
S603:生成所述目标子任务的标记信息。
其中,在确定目标子任务后,为了通知目标处理终端处理哪些子任务,需要生成有关目标子任务的标记信息,标记信息用于指示待处理的目标子任务为哪个或哪些目标子任务。可见,标记信息用于指示目标处理终端可独立处理的子任务有哪些。
S604:将所述目标任务及所述标记信息发送至所述目标处理终端;其中所述标记信息以供所述目标处理终端确定所述目标子任务并处理所述目标子任务。
其中,任务管理终端为了目标处理终端能够处理目标任务,需要将目标任务及目标子任务的标记信息发送至目标处理终端。目标处理终端根据标记信息,可以确定出目标任务中需要被执行的目标子任务有哪些。目标处理终端执行确定出的目标子任务即可。具体地,目标处理终端接收由任务管理终端发送的标记信息,其中所述标记信息用于指示所述目标处理终端独立处理的子任务;以及将所述标记信息指示的子任务确定为目标子任务。
由以上技术方案可知,本申请提供的基于消息队列的任务处理方法由任务管理终端执行,任务管理终端可以确定出由目标处理终端处理的目标子任务,并将目标子任务的标记信息发送至目标处理终端,由目标处理终端依据子任务的标记信息来处理目标子任务。这种方式中目标处理终端仅仅执行处理工作即可,从而减少了目标处理终端的工作负担。
需要说明的是,任务管理终端与目标处理终端可以运行在同一个系统中,也可以运行在不同系统中。若任务管理终端与目标处理终端运行在不同系统中,则消息队列可以与任务管理终端部署在同一系统中。或者,任务管理终端可以为任务管理进程,目标处理终端可以为目标处理进程,其中任务管理进程及目标处理进程可以运行在同一个设备上,也可以运行在不同设备上。若任务管理进程与目标处理进程运行在不同设备上,则消息队列可以与任务管理进程部署在同一设备中。
下面对本申请实施例提供的基于消息队列的任务处理设备的硬件结构进行描述。图7为本申请实施例提供的任务处理设备的硬件结构示意图,参照图7,该设备可以包括:处理器701,通信接口702,存储器703及通信总线704。
其中,处理器701、通信接口702及存储器703通过通信总线704完成相互间的通信。
处理器701,用于执行程序,程序可以包括程序代码,所述程序代码包括处理器的操作指令。
其中,程序可具体用于:
获得消息队列中的目标任务,所述目标任务包括多个子任务;在所述多个子任务中,确定可独立由所述任务处理设备处理的多个目标子任务;以及处理所述多个目标子任务,得到处理后的目标任务。需要说明的是,处理器可以通过运行目标处理终端来实现以上程序。
需要说明的是,处理器在执行具体功能时,可以按照上述方法实施例部分的相关步骤实现。
处理器701可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
通信接口702可以为通信模块的接口,用于将所述处理后的目标任务发送至消息队列,以使消息队列存储处理后的目标任务。
存储器703,用于存放程序;
存储器703可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
见图8,其示出了本申请提供的一种基于消息队列的任务处理装置的结构。如图8所示,该装置可以包括:任务获取模块801、子任务确定模块802、子任务处理模块803及任务返回模块804。
任务获取模块801,用于获得消息队列中的目标任务,所述目标任务包括多个子任务;
子任务确定模块802,用于在所述多个子任务中,确定可独立由任务处理装置处理的多个目标子任务;
子任务处理模块803,用于处理多个所述目标子任务,得到处理后的目标任务后;
任务返回模块804,用于将所述处理后的目标任务发送至消息队列,以使消息队列返回处理后的目标任务。
在一个示例中,所述子任务确定模块,包括:关系确定子模块及子任务确定子模块。
关系确定子模块,用于获得子任务与处理装置的对应关系以及子任务之间的关联关系;其中所述关联关系用于表示子任务的处理需要哪些子任务的处理结果;子任务确定子模块,用于依据所述对应关系及所述关联关系,在所述多个子任务中确定与所述任务处理装置对应的,且仅需要指定类型子任务的处理结果的目标子任务;其中,所述指定类型子任务为由所述任务处理装置处理的子任务。
在一个示例中,所述子任务确定子模块包括:第一子任务确定单元、第二子任务确定单元、处理装置确定单元及目标子任务确定单元。
第一子任务确定单元,用于依据所述对应关系,确定由所述任务处理装置处理的第一子任务;第二子任务确定单元,用于依据所述关联关系,确定所述第一子任务所关联的第二子任务;处理装置确定单元,用于依据所述对应关系,确定所述第二子任务对应的处理装置;目标子任务确定单元,用于在所述第一子任务中,确定所关联的第二子任务对应的处理装置为所述任务处理装置的第一子任务,并将确定出的第一子任务作为目标子任务。
在一个示例中,所述关联关系为串行执行关系;则所述子任务确定子模块包括:首个子任务确定单元、后续子任务确定单元及目标子任务确定单元。
首个子任务确定单元,用于依据所述对应关系,确定由所述任务处理装置处理的首个子任务;后续子任务确定单元,用于依据所述串行执行关系,在所述首个子任务的后续子任务中,依次查找全部由所述任务处理装置处理的子任务;目标子任务确定单元,用于将所述首个子任务及查找到的子任务确定为目标子任务。
在一个示例中,所述子任务确定模块包括:标记信息接收子模块、及子任务确定子模块。
标记信息接收子模块,用于接收由任务管理终端发送的标记信息,其中所述标记信息用于指示所述任务处理装置独立处理的子任务;子任务确定子模块,用于将所述标记信息指示的子任务确定为目标子任务。
在一个示例中,所述任务获取模块包括:任务获取子模块。其中,任务获取子模块,用于接收由任务管理终端从所述消息队列中取出并发送的目标任务。
在一个示例中,基于消息队列的任务处理装置还包括:后续处理模块。
后续处理模块,用于判断所述多个子任务中是否存在需要所述目标子任务的处理结果的后续子任务;若存在,则确定与所述后续子任务对应的处理终端,并记录确定出的处理终端;其中记录的处理终端用于:将所述处理后的目标任务从所述消息队列发送至所述记录的处理终端。
本申请还提供了一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行以上与基于消息队列的任务处理方法相关的步骤。具体来看,与基于消息队列的任务处理方法相关的步骤包括以下:
任务获取步骤,用于获得消息队列中的目标任务,所述目标任务包括多个子任务;
子任务确定步骤,用于在所述多个子任务中,确定可独立由任务处理装置处理的多个目标子任务;
子任务处理步骤,用于处理多个所述目标子任务,得到处理后的目标任务;
任务返回步骤,用于将所述处理后的目标任务发送至消息队列,以使消息队列存储处理后的目标任务。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (13)

1.一种基于消息队列的任务处理方法,其特征在于,应用于目标处理终端,该方法包括:
获得消息队列中的目标任务,所述目标任务包括多个子任务;
在所述多个子任务中,确定可独立由所述目标处理终端处理的多个目标子任务;
处理多个所述目标子任务,得到处理后的目标任务;
将所述处理后的目标任务发送至消息队列,以使消息队列存储所述处理后的目标任务;
其中,所述在所述多个子任务中,确定可独立由所述目标处理终端处理的目标子任务,包括:
获得子任务与处理终端的对应关系以及子任务之间的关联关系;其中所述关联关系用于表示子任务的处理需要哪些子任务的处理结果;
依据所述对应关系及所述关联关系,在所述多个子任务中确定与所述目标处理终端对应的,且仅需要指定类型子任务的处理结果的目标子任务;其中,所述指定类型子任务为由所述目标处理终端处理的子任务。
2.根据权利要求1所述的基于消息队列的任务处理方法,其特征在于,所述依据所述对应关系及所述关联关系,在所述多个子任务中确定与所述目标处理终端对应的,且仅关联指定类型子任务的处理结果的目标子任务,包括:
依据所述对应关系,确定由所述目标处理终端处理的第一子任务;
依据所述关联关系,确定所述第一子任务所关联的第二子任务;
依据所述对应关系,确定所述第二子任务对应的处理终端;
在所述第一子任务中,确定所关联的第二子任务对应的处理终端为目标处理终端的第一子任务,并将确定出的第一子任务作为目标子任务。
3.根据权利要求1所述的基于消息队列的任务处理方法,其特征在于,所述关联关系为串行执行关系;则所述依据所述对应关系及所述关联关系,在所述多个子任务中确定与所述目标处理终端对应的,且仅需要指定类型子任务的处理结果的目标子任务,包括:
依据所述对应关系,确定由所述目标处理终端处理的首个子任务;
依据所述串行执行关系,在所述首个子任务的后续子任务中,依次查找全部由所述目标处理终端处理的子任务;
将所述首个子任务及查找到的子任务确定为目标子任务。
4.根据权利要求1所述的基于消息队列的任务处理方法,其特征在于,所述在所述多个子任务中,确定可独立由所述目标处理终端处理的目标子任务,还包括:
接收由任务管理终端发送的标记信息,其中所述标记信息用于指示所述目标处理终端独立处理的子任务;
将所述标记信息指示的子任务确定为目标子任务。
5.根据权利要求1所述的基于消息队列的任务处理方法,其特征在于,所述获得消息队列中的目标任务,包括:
接收由任务管理终端从所述消息队列中取出并发送的目标任务。
6.根据权利要求1所述的基于消息队列的任务处理方法,其特征在于,还包括:
判断所述多个子任务中是否存在需要所述目标子任务的处理结果的后续子任务;
若存在,则确定与所述后续子任务对应的处理终端,并记录确定出的处理终端;其中记录的处理终端用于:将所述处理后的目标任务从所述消息队列发送至所述记录的处理终端。
7.一种基于消息队列的任务处理装置,其特征在于,包括:
任务获取模块,用于获得消息队列中的目标任务,所述目标任务包括多个子任务;
子任务确定模块,用于在所述多个子任务中,确定可独立由任务处理装置处理的多个目标子任务;
子任务处理模块,用于处理多个所述目标子任务,得到处理后的目标任务;
任务返回模块,用于将所述处理后的目标任务发送至消息队列,以使消息队列存储处理后的目标任务;
其中,所述子任务确定模块,包括:
关系确定子模块,用于获得子任务与处理装置的对应关系以及子任务之间的关联关系;其中所述关联关系用于表示子任务的处理需要哪些子任务的处理结果;
子任务确定子模块,用于依据所述对应关系及所述关联关系,在所述多个子任务中确定与所述任务处理装置对应的,且仅需要指定类型子任务的处理结果的目标子任务;其中,所述指定类型子任务为由所述任务处理装置处理的子任务。
8.根据权利要求7所述的基于消息队列的任务处理装置,其特征在于,所述子任务确定子模块包括:
第一子任务确定单元,用于依据所述对应关系,确定由所述任务处理装置处理的第一子任务;
第二子任务确定单元,用于依据所述关联关系,确定所述第一子任务所关联的第二子任务;
处理装置确定单元,用于依据所述对应关系,确定所述第二子任务对应的处理装置;
目标子任务确定单元,用于在所述第一子任务中,确定所关联的第二子任务对应的处理装置为所述任务处理装置的第一子任务,并将确定出的第一子任务作为目标子任务。
9.根据权利要求7所述的基于消息队列的任务处理装置,其特征在于,所述关联关系为串行执行关系;则所述子任务确定子模块包括:
首个子任务确定单元,用于依据所述对应关系,确定由所述任务处理装置处理的首个子任务;
后续子任务确定单元,用于依据所述串行执行关系,在所述首个子任务的后续子任务中,依次查找全部由所述任务处理装置处理的子任务;
目标子任务确定单元,用于将所述首个子任务及查找到的子任务确定为目标子任务。
10.根据权利要求7所述的基于消息队列的任务处理装置,其特征在于,所述子任务确定模块还包括:
标记信息接收子模块,用于接收由任务管理终端发送的标记信息,其中所述标记信息用于指示所述任务处理装置独立处理的子任务;
子任务确定子模块,用于将所述标记信息指示的子任务确定为目标子任务。
11.根据权利要求7所述的基于消息队列的任务处理装置,其特征在于,所述任务获取模块包括:
任务获取子模块,用于接收由任务管理终端从所述消息队列中取出并发送的目标任务。
12.根据权利要求7所述的基于消息队列的任务处理装置,其特征在于,还包括:
后续处理模块,用于判断所述多个子任务中是否存在需要所述目标子任务的处理结果的后续子任务;若存在,则确定与所述后续子任务对应的处理终端,并记录确定出的处理终端;其中记录的处理终端用于:将所述处理后的目标任务从所述消息队列发送至所述记录的处理终端。
13.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至6任一项所述的基于消息队列的任务处理方法中的步骤。
CN201711267863.5A 2017-12-05 2017-12-05 基于消息队列的任务处理方法及相关设备 Active CN107977275B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711267863.5A CN107977275B (zh) 2017-12-05 2017-12-05 基于消息队列的任务处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711267863.5A CN107977275B (zh) 2017-12-05 2017-12-05 基于消息队列的任务处理方法及相关设备

Publications (2)

Publication Number Publication Date
CN107977275A CN107977275A (zh) 2018-05-01
CN107977275B true CN107977275B (zh) 2022-10-21

Family

ID=62009381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711267863.5A Active CN107977275B (zh) 2017-12-05 2017-12-05 基于消息队列的任务处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN107977275B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165106A (zh) * 2018-08-24 2019-01-08 深圳乐信软件技术有限公司 业务处理方法、装置、设备、存储介质及流程运行系统
CN111381977A (zh) * 2018-12-29 2020-07-07 北大方正集团有限公司 消息处理方法及设备
CN110471718B (zh) * 2019-07-04 2023-07-18 深圳市共进电子股份有限公司 一种任务处理方法及设备
CN112148505A (zh) * 2020-09-18 2020-12-29 京东数字科技控股股份有限公司 数据跑批系统、方法、电子设备和存储介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08102981A (ja) * 1994-10-02 1996-04-16 Fujitsu Social Sci Lab:Kk 業務分配システム
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6938258B1 (en) * 1998-05-26 2005-08-30 Rockwell Collins Message processor for a passenger entertainment system, method and article of manufacture
JP2014006573A (ja) * 2012-06-21 2014-01-16 Fujitsu Ltd タスク実行順序制御機能を含む監視制御システム
CN103560901A (zh) * 2013-09-30 2014-02-05 北京宝利明威软件技术有限公司 一种移动终端管理系统和管理方法
CN103902646A (zh) * 2013-12-27 2014-07-02 北京天融信软件有限公司 一种分布式任务管理系统与方法
CN104145260A (zh) * 2012-03-26 2014-11-12 华为技术有限公司 一种分布式作业系统的业务处理方法、执行单元和系统
CN105430048A (zh) * 2015-10-29 2016-03-23 努比亚技术有限公司 一种基于多集群的消息投递系统和消息投递方法
CN105516259A (zh) * 2015-11-27 2016-04-20 北京奇虎科技有限公司 一种信息发送方法和装置
CN105656964A (zh) * 2014-11-10 2016-06-08 中国移动通信集团公司 数据推送的实现方法及装置
CN105933372A (zh) * 2016-01-13 2016-09-07 平安科技(深圳)有限公司 任务分配执行方法、服务器及终端
CN106708563A (zh) * 2016-11-28 2017-05-24 努比亚技术有限公司 一种应用程序无响应处理方法及终端
CN106776253A (zh) * 2016-12-08 2017-05-31 武汉斗鱼网络科技有限公司 一种界面卡顿监测方法及装置
CN106921684A (zh) * 2015-12-24 2017-07-04 北京奇虎科技有限公司 一种请求信息的处理方法和服务器
CN107015853A (zh) * 2016-10-10 2017-08-04 阿里巴巴集团控股有限公司 多阶段任务的实现方法和装置
CN107256180A (zh) * 2017-05-19 2017-10-17 腾讯科技(深圳)有限公司 数据处理方法、装置及终端
CN107315629A (zh) * 2017-06-14 2017-11-03 北京小米移动软件有限公司 任务处理方法、装置及存储介质
CN107391283A (zh) * 2017-08-16 2017-11-24 郑州云海信息技术有限公司 一种消息处理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929929B (zh) * 2012-09-24 2016-09-14 深圳市网信联动通信技术股份有限公司 一种数据汇总方法和装置
CN103856440B (zh) * 2012-11-29 2015-11-18 腾讯科技(深圳)有限公司 一种基于分布式总线的消息处理方法、服务器和系统
US20170085653A1 (en) * 2015-09-22 2017-03-23 Le Holdings (Beijing) Co., Ltd. Method, device and system for message distribution

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08102981A (ja) * 1994-10-02 1996-04-16 Fujitsu Social Sci Lab:Kk 業務分配システム
US6938258B1 (en) * 1998-05-26 2005-08-30 Rockwell Collins Message processor for a passenger entertainment system, method and article of manufacture
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
CN104145260A (zh) * 2012-03-26 2014-11-12 华为技术有限公司 一种分布式作业系统的业务处理方法、执行单元和系统
JP2014006573A (ja) * 2012-06-21 2014-01-16 Fujitsu Ltd タスク実行順序制御機能を含む監視制御システム
CN103560901A (zh) * 2013-09-30 2014-02-05 北京宝利明威软件技术有限公司 一种移动终端管理系统和管理方法
CN103902646A (zh) * 2013-12-27 2014-07-02 北京天融信软件有限公司 一种分布式任务管理系统与方法
CN105656964A (zh) * 2014-11-10 2016-06-08 中国移动通信集团公司 数据推送的实现方法及装置
CN105430048A (zh) * 2015-10-29 2016-03-23 努比亚技术有限公司 一种基于多集群的消息投递系统和消息投递方法
CN105516259A (zh) * 2015-11-27 2016-04-20 北京奇虎科技有限公司 一种信息发送方法和装置
CN106921684A (zh) * 2015-12-24 2017-07-04 北京奇虎科技有限公司 一种请求信息的处理方法和服务器
CN105933372A (zh) * 2016-01-13 2016-09-07 平安科技(深圳)有限公司 任务分配执行方法、服务器及终端
CN107015853A (zh) * 2016-10-10 2017-08-04 阿里巴巴集团控股有限公司 多阶段任务的实现方法和装置
CN106708563A (zh) * 2016-11-28 2017-05-24 努比亚技术有限公司 一种应用程序无响应处理方法及终端
CN106776253A (zh) * 2016-12-08 2017-05-31 武汉斗鱼网络科技有限公司 一种界面卡顿监测方法及装置
CN107256180A (zh) * 2017-05-19 2017-10-17 腾讯科技(深圳)有限公司 数据处理方法、装置及终端
CN107315629A (zh) * 2017-06-14 2017-11-03 北京小米移动软件有限公司 任务处理方法、装置及存储介质
CN107391283A (zh) * 2017-08-16 2017-11-24 郑州云海信息技术有限公司 一种消息处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于并发访问请求关联的访问控制协调方法;史秀鹏等;《计算机工程与设计》;20150116(第01期);全文 *
基于有向图建模的航天器自动化测试研究与实现;朱维宝等;《计算机工程与设计》;20100428(第08期);全文 *
基于队列和多线程的异步消息处理;周方;《中国水运(理论版)》;20070520(第05期);全文 *

Also Published As

Publication number Publication date
CN107977275A (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
US9015724B2 (en) Job dispatching with scheduler record updates containing characteristics combinations of job characteristics
CN107977275B (zh) 基于消息队列的任务处理方法及相关设备
CN109684065B (zh) 一种资源调度方法、装置及系统
US9501318B2 (en) Scheduling and execution of tasks based on resource availability
US7979864B2 (en) Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority
US8434085B2 (en) Scalable scheduling of tasks in heterogeneous systems
US8082546B2 (en) Job scheduling to maximize use of reusable resources and minimize resource deallocation
US7681196B2 (en) Providing optimal number of threads to applications performing multi-tasking using threads
CN109033814B (zh) 智能合约触发方法、装置、设备及存储介质
CN106775948B (zh) 一种基于优先级的云任务调度方法及装置
US7243354B1 (en) System and method for efficiently processing information in a multithread environment
CN111831440A (zh) 内存回收方法、装置、存储介质及电子设备
US20230129140A1 (en) Multi-ring shared, traversable, and dynamic advanced database
US20070195356A1 (en) Job preempt set generation for resource management
CN109840149B (zh) 任务调度方法、装置、设备及存储介质
JP6885193B2 (ja) 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
CN111708639A (zh) 任务调度系统及方法、存储介质及电子设备
CN111831411A (zh) 任务处理方法、装置、存储介质及电子设备
CN111709723A (zh) Rpa业务流程智能处理方法、装置、计算机设备和存储介质
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
CN110389817B (zh) 多云系统的调度方法、装置和计算机可读介质
CN116089477B (zh) 分布式训练方法及系统
CN111831436A (zh) Io请求的调度方法、装置、存储介质及电子设备
CN111831432A (zh) Io请求的调度方法、装置、存储介质及电子设备
CN103593606A (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
GR01 Patent grant
GR01 Patent grant