CN111552561B - 一种任务处理方法及装置 - Google Patents
一种任务处理方法及装置 Download PDFInfo
- Publication number
- CN111552561B CN111552561B CN202010278812.8A CN202010278812A CN111552561B CN 111552561 B CN111552561 B CN 111552561B CN 202010278812 A CN202010278812 A CN 202010278812A CN 111552561 B CN111552561 B CN 111552561B
- Authority
- CN
- China
- Prior art keywords
- task
- category
- submitted
- information
- determining
- 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
Links
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/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/5038—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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请实施例提供了一种任务处理方法及装置,涉及数据处理技术领域,其中方法包括:根据预先确定的各任务类别的热点运行时段,在到达热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;当接收到任务提交请求时,根据任务提交请求包括的待提交任务的任务信息,确定待提交任务所属的目标任务类别;确定是否存在目标任务类别所对应的第一任务提交器;若是,则将待提交任务分发给第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。通过本申请实施例,使得相同任务类别的待提交任务可在同一个提交环境中完成提交,提升了任务的提交速度和任务提交的并发量。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种任务处理方法及装置。
背景技术
目前,在大数据处理系统的数据处理过程中,通常包括任务提交和任务执行两个部分,即将各任务提交到集群,并在集群执行任务。其中,任务提交的过程中,对于每个待提交的任务,均需要准备相应的提交环境,即拷贝相关依赖到HDFS(英文全称:HadoopDistributed File System;中文全称:分布式文件系统),并拉起一个JVM(英文全称:JavaVirtual Machine;中文全称:Java虚拟机),以运行任务提交器,实现相应任务的提交。然而,对于每个待提交的任务,均执行相关依赖的拷贝操作、JVM的拉起操作,不仅降低了任务的提交速度,而且限制了任务提交的并发量。
发明内容
本申请实施例的目的是提供一种任务处理方法及装置,以使相同任务类别的待提交任务可以在同一个提交环境中完成提交,而不再是一个提交环境仅提交一个任务,因此极大的提升了任务的提交速度和任务提交的并发量。
第一方面,本申请实施例提供了一种任务处理方法,包括:
根据预先确定的各任务类别的热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;
当接收到任务提交请求时,根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别;
确定是否存在所述目标任务类别所对应的第一任务提交器;
若是,则将所述待提交任务分发给所述第一任务提交器,以使所述第一任务提交器执行所述待提交任务的提交操作。
第二方面,本申请实施例提供了一种任务处理装置,包括:
生成模块,用于根据预先确定的各任务类别的热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;
接收模块,用于当接收到任务提交请求时,根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别;
第一确定模块,用于确定是否存在所述目标任务类别所对应的第一任务提交器;
分发模块,用于若所述确定模块的确定结果为是,则将所述待提交任务分发给所述第一任务提交器,以使所述第一任务提交器执行所述待提交任务的提交操作。
第三方面,本申请实施例提供了一种任务处理设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现上述任务处理方法的步骤。
第四方面,本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现上述任务处理方法的步骤。
本申请实施例所提供的任务处理方法及装置,根据预先确定的各任务类别的热点运行时段,在到达各热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;以及,在接收到任务提交请求时,将待提交任务分发给相应的第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。由此,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
附图说明
图1为本申请实施例提供的一种任务处理方法的场景示意图;
图2为本申请实施例提供的一种任务处理方法的第一种流程示意图;
图3为本申请实施例提供的一种任务处理方法的第二种流程示意图;
图4为本申请实施例提供的一种任务处理方法的第三种流程示意图;
图5为本申请实施例提供的一种任务处理方法的第四种流程示意图;
图6为本申请实施例提供的步骤S104-4的细化图;
图7为本申请实施例提供的一种任务处理方法的第五种流程示意图;
图8为本申请实施例提供的一种任务处理装置的第六种流程示意图;
图9为本申请实施例提供的一种任务处理装置的第七种流程示意图;
图10为本申请实施例提供的步骤S106-10的细化图;
图11为本申请实施例提供的一种任务处理装置的模块组成示意图;
图12为本申请实施例提供的一种任务处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请的保护范围。
图1为本申请实施例提供的一种任务处理方法的应用场景示意图,如图1所示,任务处理装置预先基于历史的任务提交记录信息确定各任务类别的热点运行时段,并在到达热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;以及,在接收到用户或其他系统(图1中仅示出用户)发送的任务提交请求时,根据任务提交请求包括的待提交任务的任务信息,确定待提交任务所属的目标任务类别;以及,确定是否存在目标任务类别所对应的第一任务提交器,若是,则将、待提交任务分发给、第一任务提交器,以使第一任务提交器执行待提交任务的提交操作,以将待提交任务提交给指定的YARN(Yet AnotherResource Negotiator,另一种资源协调者),由YARN执行任务。由此,基于预先确定的各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,并将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
基于上述应用场景架构,本申请实施例提供了一种任务处理方法,图2为本申请实施例提供的一种任务处理方法的流程示意图,图2中的方法能够由图1中的任务处理装置执行,如图2所示,该方法包括以下步骤:
步骤S102,根据预先确定的各任务类别的热点运行时段,在到达热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;
具体的,预先基于历史的任务提交记录信息,确定各任务类别的热点运行时段;为了确保在到达各热点运行时段时,能够快速的执行任务的提交操作,本说明书实施例中,提前准备好任务提交环境,即在到达热点运行时段的起始时间之前,距离该起始时间为第二预设时长的时间点时,生成相应任务类别所对应的任务提交器。其中,第二预设时长可以在实际应用中根据需要自行设定,例如为2分钟。
需要指出的是,任务类别的确定方式可以在实际应用中根据需要自行设定。作为示例,任务类别可以是基于不同的操作所确定,如分发类别、测试类别等;任务类别还可以是基于不同的应用所确定,如清理应用所对应的清理类别、分发应用所对应的分发类别等。
步骤S104,当接收到任务提交请求时,根据任务提交请求包括的待提交任务的任务信息,确定待提交任务所属的目标任务类别;
其中,任务信息包括脚本程序,该脚本程序中包括待提交任务的元信息,该元信息包括待提交任务的任务类型信息、任务依赖信息、执行入口信息和执行虚拟机信息等。需要指出的是,一个任务类型可以包括多个任务类别,例如某任务类型为测试类型,其可以包括安全测试、功能测试等任务类别。
步骤S106,确定是否存在目标任务类别所对应的第一任务提交器,若是,则将待提交任务分发给第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。
由于任务提交器是在相应任务类别的热点运行时段的起始时间临近时生成,当接收到任务提交请求时,待提交任务所属的目标任务类别所对应的第一任务提交器可能还未生成,因此,接收到任务提交请求之后,需要确定是否存在第一任务提交器,并在存在第一任务提交器时,将待提交任务分发给第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。
本申请实施例中,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
为了确保任务的稳定提交,避免在任务高峰时段因待提交任务较多而造成任务丢失,本说明书一个或多个实施例中,预先基于历史的任务提交记录信息,确定各任务类别的热点运行时段。具体的,如图3所示,步骤S102之前,还包括:
步骤S100-2,获取预设历史时长内的任务提交记录信息;
其中,预设历史时长包括多个第一时段,每个第一时段包括多个子时段;例如,预设历史时长为三天,第一时段为一天,子时段为一分钟。任务提交记录信息包括相应任务的任务模板标识、任务提交时间等信息。
步骤S100-4,根据任务提交记录信息,确定各任务类别的热点运行时段。
具体的,如图4所示,步骤S100-4包括:
步骤S100-42,根据任务提交记录信息包括的任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的任务类别确定为相应任务所属的任务类别;其中,第一关联关系包括多个任务模板标识与任务类别的关联关系;
可选地,预先设定任务模板表,该任务模板表中包括第一关联关系和第三关联关系;相应的,根据任务提交记录信息包括的任务模板标识,从任务模板表包括的第一关联关系中获取关联的任务类别,并将获取的任务类别确定为相应任务所属的任务类别。其中,第三关联关系包括多个执行入口信息和执行虚拟机信息与任务模板标识的关联关系。任务模板表中的部分数据示例如下:
任务模板标识 | 任务类别 | 执行入口 | 执行虚拟机 |
T1 | C1 | Com.batch.overview.DAUjob | Batch-1.1.0.jar |
T2 | C1 | Com.batch.overview.DNUjob | Batch-1.1.0.jar |
T3 | C2 | Com.batch.overview.DAUjob | partner-1.1.0.jar |
T4 | C3 | Com.batch.overview.DNUjob | partner-1.1.0.jar |
需要指出的是,任务模板表的形式不限为上述形式,可以在实际应用中根据需要自行设定。
步骤S100-44,根据任务提交记录信息包括的任务提交时间,统计在每个子时段内所提交的每个任务类别的任务的第一数量;
例如,预设历史时长为三天,第一时段为一天,子时段为一分钟;获取的任务提交记录信息是2020年3月1日、2020年3月2日、2020年3月3日的任务提交记录信息,确定的任务类别包括类别C1、C2、C3,则根据任务提交记录信息包括的任务提交时间,统计2020年3月1日每分钟所提交的任务类别为C1的任务的第一数量d1、任务类别为C2的任务的第一数量d2、任务类别为C3的任务的第一数量d3,统计2020年3月2日每分钟所提交的任务类别为C1的任务的第一数量d4、任务类别为C2的任务的第一数量d5、任务类别为C3的任务的第一数量d6,以及统计2020年3月3日每分钟所提交的类别C1的任务类别为任务的第一数量d7、任务类别为C2的任务的第一数量d8、任务类别为C3的任务的第一数量d9。
步骤S100-46,按照时间的先后顺序,根据预设的计算方式,对各第一时段中相同子时段内所提交的相同任务类别的任务的第一数量进行计算,得到第二数量;
其中,计算方式可以在实际应用中根据需要自行设定,例如为计算平均数、加权计算等。作为示例,预设的计算方式为加权计算,2020年3月1日对应的加权系数为0.1,2020年3月2日对应的加权系数为0.15、2020年3月3日对应的加权系数为0.75;则对于每日的第一个一分钟,计算任务类别C1对应的第二数量=0.1*d1+0.15*d4+0.75*d7,任务类别C2对应的第二数量=0.1*d2+0.15*d5+0.75*d8,任务类别C3对应的第二数量=0.1*d3+0.15*d6+0.75*d9;以此方式依次计算每日的第二个一分钟、第三个一分钟…第24*60个一分钟内任务类别C1、C2、C3所对应的第二数量。
步骤S100-48,确定每个任务类别中是否存在多个连续的大于预设数量的目标第二数量,若是,则将目标第二数量所对应的子时段确定为相应任务类别的热点运行时段。
其中,预设数量可以在实际应用中根据需要自行设定。作为示例,预设数量为3,1:00至1:01这一分钟内任务类别C1对应的第二数量为2,1:01至1:02这一分钟内任务类别C1对应的第二数量为7,1:02至1:03这一分钟内任务类别C1对应的第二数量为5,1:03至1:04这一分钟内任务类别C1对应的第二数量为8,1:04至1:05这一分钟内任务类别C1对应的第二数量为1,则确定内任务类别C1的一个热点运行时段为1:01至1:04。
由此,基于历史的提交记录信息确定各任务类别的热点运行时段,从而可在到达热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器,即可根据热点运行时段预先准备相应的任务提交环境,从而将相同任务类别的待提交任务分发给相应的任务提交器,不仅能够确保各待提交任务的稳定提交,而且能够降低在高峰时段任务的丢失风险,从而降低高峰时段任务的丢失率。
当接收到任务提交请求时,为了确定相应的第一任务提交器,首先确定待提交任务所属的目标任务类别,具体的,如图5所示,本说明书一个或多个实施例中,步骤S104包括:
步骤S104-2,当接收到任务提交请求时,确定待提交任务的任务信息所包括的任务模板标识是否为预设标识,是则执行步骤S104-4,否则执行步骤S104-6;
其中,预设标识可以在实际应用中根据需要自行设定,当任务信息包括的任务模板标识是预设标识时,确定需要从任务信息中获取待提交任务的元信息,则执行步骤S104-4;当任务信息包括的任务模板标识不是预设标识时,确定已存在相应的任务模板,则执行步骤S104-6。
步骤S104-4,从任务信息中获取待提交任务的元信息,根据元信息确定待提交任务所属的目标任务类别,以及根据元信息更新任务模板标识,执行步骤S106;
其中,元信息包括待提交任务的任务类型信息、任务依赖信息、执行入口信息和执行虚拟机信息等。具体的,如图6所示,步骤S104-4可以包括:
步骤S104-4-2,确定根据元信息包括的任务类型信息和任务依赖信息,从预设的第二关联关系中是否获取到关联的任务类别;其中,第二关联关系包括多个任务类型信息和任务依赖信息与任务类别的关联关系;是则执行步骤S104-4-4,否则执行步骤S104-4-6;
可选地,预先设定任务分类表,该任务分类表中包括第二关联关系,其中,任务分类表中的部分数据示例如下:
任务类别 | 任务类型 | 任务依赖 |
C1 | D1 | Maxmind-db-1.1.0.jar |
C2 | D1 | Config-1.1.0.jar |
C3 | D2 | Config-1.1.0.jar |
需要指出的是,任务分类表的形式不限为上述形式,还可以包括热点时段的起始时间、结束时间等。
步骤S104-4-4,将获取的任务类别确定为待提交任务所属的目标任务类别,执行步骤S104-4-8;
步骤S104-4-6,生成新的任务类别,将生成的任务类别确定为待提交任务所属的目标任务类别,执行步骤S104-4-8;
具体的,当从第二关联关系中未获取到关联的任务类别时,确定待提交任务是一个新的类别的任务,则根据待提交任务的任务信息生成新的任务类别。
步骤S104-4-8,确定根据元信息包括的执行入口信息和执行虚拟机信息,从预设的第三关联关系中是否获取到关联的任务模板标识;其中,第三关联关系包括多个执行入口信息和执行虚拟机信息与任务模板标识的关联关系;是则执行步骤S104-4-10,否则执行步骤S104-4-12;
可选地,预先设定任务模板表,该任务模板表中包括第三关联关系,其中,任务模板表参见前述示例。
步骤S104-4-10,将任务信息包括的任务模板标识更新为获取的任务模板标识,执行步骤S106;
步骤S104-4-12,生成新的任务模板标识,将任务信息包括的任务模板标识更新为生成的任务模板标识,执行步骤S106。
由此,当任务信息包括的任务模板标识为预设标识时,从任务信息中获取待提交任务的元信息,并根据元信息确定待提交任务所属的目标任务类别,以及根据元信息更新任务模板标识,以便于后续顺利的执行任务提交操作。
步骤S104-6,根据任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的任务类别确定为待提交任务所属的目标任务类别;其中,第一关联关系包括多个任务模板标识与任务类别的关联关系。
通过确定待提交任务所属的目标任务类别,以便于根据目标任务类别确定相应的第一任务提交器,从而通过第一任务提交器执行待提交任务的提交操作。
进一步的,为了能够快速的确定目标任务类别所对应的第一任务提交器,如图7所示,本说明书一个或多个实施例中,步骤S102之后,还包括:
步骤S103,将任务类别的类别标识、任务提交器的提交器标识、以及表征任务提交器处于可用状态的第一状态信息进行关联记录,得到第一记录信息;
其中,第一状态信息的形式可以在实际应用中根据需要自行设定,例如,第一状态信息为1。
与步骤S103对应的,如图7所示,步骤S106包括:
步骤S106-2,若根据目标任务类别的类别标识查询到关联的第一记录信息、且查询到的第一记录信息中的状态信息为第一状态信息,则确定存在目标任务类别所对应的第一任务提交器;
具体的,将目标任务类别的类别标识与各第一记录信息中的类别标识进行匹配,若匹配失败,则确定不存在目标任务类别所对应的第一任务提交器;若匹配成功,则确定匹配成功的类别标识所对应的第一记录信息中的状态信息是否为第一状态信息,若是,则确定存在目标任务类别所对应的第一任务提交器,若否,则确定不存在目标任务类别所对应的第一任务提交器。
步骤S106-4,将待提交任务分发给第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。
通过将任务类别的类别标识、任务提交器的提交器标识、以及表征任务提交器处于可用状态的第一状态信息进行关联记录,得到第一记录信息,使得在确定待提交任务所属的目标任务类型之后,能够基于该第一记录信息快速的确定是否存在目标任务类型所对应的第一任务提交器,从而提升任务的提交速率。
进一步的,在热点运行时段结束后,为了避免资源浪费,本说明书一个或多个实施例中,如图8所示,方法还包括:
步骤S108,若确定任务提交器处于相应任务类别的空闲时段且在第一预设时长内未执行提交操作,则根据任务提交器的提交器标识查询关联的第一记录信息;其中,空闲时段为一一相邻的两个热点运行时段之间的时段;
具体的,若根据预先确定的任务类别的热点运行时段,确定相应的任务提交器处于空闲时段,则根据相应任务提交器的提交器标识从任务提交记录表中查询关联的最后一个提交记录信息,根据查询到的最后一个提交记录信息中的提交时间确定相应的任务提交器在第一预设时长内是否执行了提交操作,若否,则根据任务提交器的提交器标识查询关联的第一记录信息,以变更第一记录信息中的状态信息。其中,第一预设时长可以在实际应用中根据需要自行设定,例如为5分钟。
步骤S110,将查询到的第一记录信息中的第一状态信息更新为第二状态信息;其中,第二状态信息表征任务提交器处于不可用状态。
其中,第二状态信息的形式可以在实际应用中根据需要自行设定,例如第二状态信息为0。
需要指出的是,步骤S108和步骤S110不限于在步骤S106之后执行,可以在步骤S106之前执行。通过将查询到的第一记录信息中的第一状态信息更新为第二状态信息,以实现相应任务提交器的销毁,从而避免相应的任务提交器长时间处于运行状态而未执行任何的任务提交操作,进而避免了资源浪费。
由于相同任务类别的待提交任务可能很多,为了提升任务提交速率,本说明书一个或多个实施例中,一个任务类别可以对应多个任务提交器,即在到达热点运行时段的起始时间之前,可以生成相应任务类别所对应的多个任务提交器,该多个任务提交器并行进行任务的提交操作。基于此,在分发待提交任务时,需要基于第一任务提交器的数量确定最终执行任务提交操作的目标任务提交器。具体的,如图9所示,步骤S106可以包括:
步骤S106-6,确定是否存在目标任务类别所对应的第一任务提交器,若存在,则确定目标任务类别所对应的第一任务提交器的数量是否为一,是则执行步骤S106-8,否则执行步骤S106-10;
具体的,根据目标任务类别的类别标识查询关联的第一记录信息,若查询到第一记录信息,则统计查询到的第一记录信息的第四数量;若第四数量为一,则确定查询到的第一记录信息中的状态信息是否为第一状态信息,若是,则确定存在目标任务类别所对应的第一任务提交器,且第一任务提交器的数量为一;若否,则确定不存在目标任务类别所对应的第一任务提交器;进一步的,若第四数量不唯一,则统计查询到的第一记录信息中,状态信息为第一状态信息的第一记录信息的第五数量;确定第五数量是否为一,若是,则确定目标任务类别所对应的第一任务提交器的数量为一;若否,则确定目标任务类别所对应的第一任务提交器的数量不为一。
步骤S106-8,将待提交任务分发给第一任务提交器;
步骤S106-10,根据预设规则从多个第一任务提交器中确定目标任务提交器,将待提交任务分发给目标任务提交器。
当存在多个第一任务提交器时,则根据第一任务提交器正在提交的任务的第三数量、以及第一任务提交器所在的宿主设备的当前配置参数,从该多个第一任务提交器中确定目标任务提交器。具体的,如图10所示,步骤S106-10可以包括:
步骤S106-10-2,根据每个第一任务提交器的提交器标识,获取每个第一任务提交器所在宿主设备的可用内核数量、每个第一任务提交器正在提交的任务的第三数量;
具体的,本说明书一个或多个实施例中,根据生成的各任务提交器,维护任务提交器表和宿主设备表。其中,该任务提交器表包括提交器标识、所在宿主设备的IP地址、正在提交的任务数量等信息;宿主设备表包括宿主设备标识、IP地址、可用内核数量、可用存储容量、运行的任务提交器的数量等信息。相应的,根据每个第一任务提交器的提交器标识,从任务提交器表中获取所在宿主设备的IP地址及正在提交的任务的第三数量,根据获取的IP地址,从宿主设备表中获取对应的宿主设备的可用内核数量。其中,任务提交器表中的部分数据示例如下:
提交器标识 | 宿主设备IP地址 | 任务类别 | 正在提交的任务数量 |
M1 | 10.68.0.76 | C1 | 40 |
M2 | 10.68.0.76 | C1 | 40 |
M3 | 10.68.0.77 | C2 | 0 |
M4 | 10.68.0.77 | C2 | 0 |
宿主设备表中的部分数据示例如下:
宿主设备标识 | IP地址 | 可用内核数量 | 可用存储容量 | 提交器数量 |
H1 | 10.68.0.76 | 20 | 100 | 3 |
H2 | 10.68.0.77 | 20 | 100 | 4 |
H3 | 10.68.0.78 | 20 | 90 | 2 |
H4 | 10.68.0.79 | 20 | 110 | 1 |
作为示例,根据提交器标识M1,从提交器表中获取正在提交的任务数量为40,从宿主设备表中获取的所在宿主设备的可用内核数量是20。需要指出的是,任务提交器表和宿主设备表不限为上述形式,可以在实际应用中根据需要自行设定。
步骤S106-10-4,根据预设的第一计算方式,对可用内核数量和第三数量进行计算处理得到第一计算结果,确定第一计算结果中最大的第一计算结果的数量是否为一,是则执行步骤S106-10-6,否则执行步骤S106-10-8;
具体的,根据预设的第一计算方式,对可用内核数量和第三数量进行计算处理得到第一计算结果,对得到的各第一计算结果进行排序,得到最大的第一计算结果,并确定最大的第一计算结果的数量是否为一。其中,排序方式可以为升序排序,也可以为降序排序。第一计算方式可以在实际应用中根据需要自行设定,例如将可用内核数量与第三数量进行相除计算。
步骤S106-10-6,将最大的第一计算结果所对应的第一任务提交器,确定为目标任务提交器,执行步骤S106-10-16;
步骤S106-10-8,根据每个第一任务提交器的提交器标识,获取每个第一任务提交器所在宿主设备的可用存储容量;
其中,获取可用存储容量的方式与获取可用内核数量的方式相同,这里不再赘述。
步骤S106-10-10,根据预设的第二计算方式,对可用存储容量和第三数量进行计算处理得到第二计算结果,确定第二计算结果中最大的第二计算结果的数量是否唯一,是则执行步骤S106-10-12,否则执行步骤S106-10-14;
具体的,根据预设的第二计算方式,对可用存储容量和第三数量进行计算处理得到第二计算结果;对得到的各第二计算结果进行排序,得到最大的第二计算结果,确定最大的第二计算结果的数量是否唯一。其中,排序方式可以为升序排序,还可以为降序排序。第二计算方式与第一计算方式可以相同,也可以不同。
步骤S106-10-12,将最大的第二计算结果所对应的第一任务提交器,确定为目标任务提交器,执行步骤S106-10-16;
步骤S106-10-14,从多个最大的第一计算结果中随机选择一个第一计算结果,将选择的第一计算结果所对应的第一任务提交器,确定为目标任务提交器,执行步骤S106-10-16;
步骤S106-10-16,将待提交任务分发给目标任务提交器,以使目标任务提交器执行待提交任务的提交操作。
由此,基于任务提交器正在提交的任务的第三数量,任务提交器所在宿主设备的可用内核数量以及可用存储容量,从多个第一任务提交器中选择目标任务提交器,不仅确保了所选择的目标任务提交器具有更好的任务提交能力,而且有利于任务的平均分配,提升各任务提交器的使用率。
进一步的,当任务提交器将待提交任务提交给指定的YARN之后,YARN执行待提交任务,并根据任务信息生成任务提交记录信息,将任务提交记录信息保存至任务提交记录表中;以便于后续基于该任务提交记录表中的任务提交记录信息,更新各任务类别的热点运行时段。其中,热点运行时段的更新频率,可以在实际应用中根据需要自行设定。
进一步的,为了使各待提交任务均能够顺利的完成提交操作,本说明书一个或多个实施例中,方法还包括:
若确定不在目标任务类别所对应的第一任务提交器,则将待提交任务分发给指定的代理节点,以使代理节点执行待提交任务的提交操作。
其中,代理节点按照原始的任务提交方式,执行任务的提交操作。
本申请实施例中,根据预先确定的各任务类别的热点运行时段,在到达各热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;以及,在接收到任务提交请求时,将待提交任务分发给相应的第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。由此,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
进一步的,对应上述图2至图10描述的任务处理方法,基于相同的技术构思,本申请实施例还提供一种任务处理装置。图11为本申请实施例提供的一种任务处理装置的模块组成示意图,该装置用于执行图2至图10描述的任务处理方法,如图11所示,该装置包括:
生成模块201,用于根据预先确定的各任务类别的热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;
接收模块202,用于当接收到任务提交请求时,根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别;
第一确定模块203,用于确定是否存在所述目标任务类别所对应的第一任务提交器;
分发模块204,用于若所述确定模块203的确定结果为是,则将所述待提交任务分发给所述第一任务提交器,以使所述第一任务提交器执行所述待提交任务的提交操作。
本申请实施例中,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
可选地,所述装置还包括:获取模块和第二确定模块;
所述获取模块,在所述生成模块201生成相应任务类别所对应的任务提交器之前,获取预设历史时长内的任务提交记录信息;
所述第二确定模块,根据所述任务提交记录信息,确定所述各任务类别的热点运行时段。
可选地,所述预设历史时长包括:多个第一时段;所述第一时段包括多个子时段;所述任务提交记录信息包括:相应任务的任务模板标识和任务提交时间;
所述第二确定模块,具体用于:
根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为相应任务所属的任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系;
根据所述任务提交时间,统计在每个所述子时段内所提交的每个所述任务类别的任务的第一数量;
按照时间的先后顺序,根据预设的计算方式,对各所述第一时段中相同子时段内所提交的相同任务类别的任务的所述第一数量进行计算,得到第二数量;
确定每个所述任务类别中是否存在多个连续的大于预设数量的目标第二数量;
若是,则将所述目标第二数量所对应的子时段确定为相应任务类别的热点运行时段。
可选地,所述任务信息包括:所述待提交任务的任务模版标识;所述第一确定模块203具体用于:
确定所述任务模板标识是否为预设标识;
若是,则从所述任务信息中获取所述待提交任务的元信息,根据所述元信息确定所述待提交任务所属的目标任务类别;以及,根据所述元信息更新所述任务模板标识;
若否,则根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系。
可选地,所述元信息包括:所述待提交任务的任务类型信息和任务依赖信息;
相应地,所述第一确定模块203,进一步具体用于:
确定根据所述任务类型信息和所述任务依赖信息,从预设的第二关联关系中是否获取到关联的任务类别;其中,所述第二关联关系包括多个任务类型信息和任务依赖信息与任务类别的关联关系;
若是,则将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;
若否,则生成新的任务类别,将生成的所述任务类别确定为所述待提交任务所属的目标任务类别。
可选地,所述元信息还包括:所述待提交任务的执行入口信息和执行虚拟机信息;
相应地,所述第一确定模块203,还进一步具体用于:
确定根据所述执行入口信息和所述执行虚拟机信息,从预设的第三关联关系中是否获取到关联的任务模板标识;其中,所述第三关联关系包括多个执行入口信息和执行虚拟机信息与任务模板标识的关联关系;
若是,则将所述任务信息包括的所述任务模板标识更新为获取的所述任务模板标识;
若否,则生成新的任务模板标识,将所述任务信息包括的所述任务模板标识更新为生成的所述任务模板标识。
可选地,所述装置还包括:记录模块;
所述记录模块,用于在所述生成模块201生成相应任务类别所对应的任务提交器之后,将所述任务类别的类别标识、所述任务提交器的提交器标识、以及表征所述任务提交器处于可用状态的第一状态信息进行关联记录,得到第一记录信息;
相应地,所述第一确定模块203具体用于:
若根据所述目标任务类别的类别标识查询到关联的所述第一记录信息、且查询到的所述第一记录信息中的状态信息表征相应的任务提交器处于可用状态,则确定存在所述目标任务类别所对应的第一任务提交器。
可选地,所述分发模块204具体用于:
确定所述目标任务类别所对应的第一任务提交器的数量是否为一;
若是,则将所述待提交任务分发给所述第一任务提交器;
若否,则根据预设规则从多个所述第一任务提交器中确定目标任务提交器,将所述待提交任务分发给所述目标任务提交器。
可选地,所述分发模块204,进一步具体用于:
根据每个所述第一任务提交器的提交器标识,获取每个所述第一任务提交器所在宿主设备的可用内核数量、每个所述第一任务提交器正在提交的任务的第三数量;
根据预设的第一计算方式,对所述可用内核数量和所述第三数量进行计算处理得到第一计算结果;
若确定所述第一计算结果中最大的第一计算结果的数量为一,则将所述最大的第一计算结果所对应的第一任务提交器,确定为目标任务提交器;
若确定所述第一计算结果中最大的第一计算结果的数量不为一,则根据每个所述第一任务提交器的提交器标识,获取每个所述第一任务提交器所在宿主设备的可用存储容量;以及,
根据预设的第二计算方式,对所述可用存储容量和所述第三数量进行计算处理得到第二计算结果;
若确定所述第二计算结果中最大的第二计算结果的数量为一,则将所述最大的第二计算结果所对应的第一任务提交器,确定为目标任务提交器;
若确定所述第二计算结果中最大的第二计算结果的数量不为一,则从多个所述最大的第一计算结果中随机选择一个第一计算结果,将选择的所述第一计算结果所对应的第一任务提交器,确定为目标任务提交器。
本申请实施例所提供的任务处理装置,根据预先确定的各任务类别的热点运行时段,在到达各热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;以及,在接收到任务提交请求时,将待提交任务分发给相应的第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。由此,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
需要说明的是,本申请中关于任务处理装置的实施例与本申请中关于任务处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的任务处理方法的实施,重复之处不再赘述。
进一步的,对应上述描述的任务处理方法,基于相同的技术构思,本申请实施例还提供一种任务处理设备,该设备用于执行上述的任务处理方法,图12为本申请实施例提供的任务处理设备的结构示意图。
如图12所示,任务处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器301和存储器302,存储器302中可以存储有一个或一个以上存储应用程序或数据。其中,存储器302可以是短暂存储或持久存储。存储在存储器302的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括任务处理设备中的一系列计算机可执行指令。更进一步地,处理器301可以设置为与存储器302通信,在任务处理设备上执行存储器302中的一系列计算机可执行指令。任务处理设备还可以包括一个或一个以上电源303,一个或一个以上有线或无线网络接口304,一个或一个以上输入输出接口305,一个或一个以上键盘306等。
在一个具体的实施例中,任务处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对任务处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
根据预先确定的各任务类别的热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;
当接收到任务提交请求时,根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别;
确定是否存在所述目标任务类别所对应的第一任务提交器;
若是,则将所述待提交任务分发给所述第一任务提交器,以使所述第一任务提交器执行所述待提交任务的提交操作。
本申请实施例中,根据预先确定的各任务类别的热点运行时段,在到达各热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;以及,在接收到任务提交请求时,将待提交任务分发给相应的第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。由此,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
可选地,计算机可执行指令在被执行时,所述根据预先确定的各任务类别的热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器之前,还包括:
获取预设历史时长内的任务提交记录信息;
根据所述任务提交记录信息,确定所述各任务类别的热点运行时段。
可选地,计算机可执行指令在被执行时,所述预设历史时长包括:多个第一时段;所述第一时段包括多个子时段;所述任务提交记录信息包括:相应任务的任务模板标识和任务提交时间;
所述根据所述任务提交记录信息,确定所述各任务类别的热点运行时段,包括:
根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为相应任务所属的任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系;
根据所述任务提交时间,统计在每个所述子时段内所提交的每个所述任务类别的任务的第一数量;
按照时间的先后顺序,根据预设的计算方式,对各所述第一时段中相同子时段内所提交的相同任务类别的任务的所述第一数量进行计算,得到第二数量;
确定每个所述任务类别中是否存在多个连续的大于预设数量的目标第二数量;
若是,则将所述目标第二数量所对应的子时段确定为相应任务类别的热点运行时段。
可选地,计算机可执行指令在被执行时,所述任务信息包括:所述待提交任务的任务模版标识;
所述根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别,包括:
确定所述任务模板标识是否为预设标识;
若是,则从所述任务信息中获取所述待提交任务的元信息,根据所述元信息确定所述待提交任务所属的目标任务类别;以及,根据所述元信息更新所述任务模板标识;
若否,则根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系。
可选地,计算机可执行指令在被执行时,所述元信息包括:所述待提交任务的任务类型信息和任务依赖信息;
所述根据所述元信息确定所述待提交任务所属的目标任务类别,包括:
确定根据所述任务类型信息和所述任务依赖信息,从预设的第二关联关系中是否获取到关联的任务类别;其中,所述第二关联关系包括多个任务类型信息和任务依赖信息与任务类别的关联关系;
若是,则将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;
若否,则生成新的任务类别,将生成的所述任务类别确定为所述待提交任务所属的目标任务类别。
可选地,计算机可执行指令在被执行时,所述元信息还包括:所述待提交任务的执行入口信息和执行虚拟机信息;
所述根据所述元信息更新所述任务模板标识,包括:
确定根据所述执行入口信息和所述执行虚拟机信息,从预设的第三关联关系中是否获取到关联的任务模板标识;其中,所述第三关联关系包括多个执行入口信息和执行虚拟机信息与任务模板标识的关联关系;
若是,则将所述任务信息包括的所述任务模板标识更新为获取的所述任务模板标识;
若否,则生成新的任务模板标识,将所述任务信息包括的所述任务模板标识更新为生成的所述任务模板标识。
可选地,计算机可执行指令在被执行时,所述生成相应任务类别所对应的任务提交器之后,还包括:
将所述任务类别的类别标识、所述任务提交器的提交器标识、以及表征所述任务提交器处于可用状态的第一状态信息进行关联记录,得到第一记录信息;
所述确定是否存在所述目标任务类别所对应的第一任务提交器,包括:
若根据所述目标任务类别的类别标识查询到关联的所述第一记录信息、且查询到的所述第一记录信息中的状态信息为所述第一状态信息,则确定存在所述目标任务类别所对应的第一任务提交器。
可选地,计算机可执行指令在被执行时,所述将所述待提交任务分发给所述目标任务提交器,包括:
确定所述目标任务类别所对应的第一任务提交器的数量是否为一;
若是,则将所述待提交任务分发给所述第一任务提交器;
若否,则根据预设规则从多个所述第一任务提交器中确定目标任务提交器,将所述待提交任务分发给所述目标任务提交器。
可选地,计算机可执行指令在被执行时,所述根据预设规则从多个所述第一任务提交器中确定目标任务提交器,包括:
根据每个所述第一任务提交器的提交器标识,获取每个所述第一任务提交器所在宿主设备的可用内核数量、每个所述第一任务提交器正在提交的任务的第三数量;
根据预设的第一计算方式,对所述可用内核数量和所述第三数量进行计算处理得到第一计算结果;
若确定所述第一计算结果中最大的第一计算结果的数量为一,则将所述最大的第一计算结果所对应的第一任务提交器,确定为目标任务提交器;
若确定所述第一计算结果中最大的第一计算结果的数量不为一,则根据每个所述第一任务提交器的提交器标识,获取每个所述第一任务提交器所在宿主设备的可用存储容量;以及,
根据预设的第二计算方式,对所述可用存储容量和所述第三数量进行计算处理得到第二计算结果;
若确定所述第二计算结果中最大的第二计算结果的数量为一,则将所述最大的第二计算结果所对应的第一任务提交器,确定为目标任务提交器;
若确定所述第二计算结果中最大的第二计算结果的数量不为一,则从多个所述最大的第一计算结果中随机选择一个第一计算结果,将选择的所述第一计算结果所对应的第一任务提交器,确定为目标任务提交器。
本申请实施例所提供的任务处理设备,根据预先确定的各任务类别的热点运行时段,在到达各热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;以及,在接收到任务提交请求时,将待提交任务分发给相应的第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。由此,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
需要说明的是,本申请中关于任务处理设备的实施例与本申请中关于任务处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的任务处理方法的实施,重复之处不再赘述。
进一步的,对应上述描述的任务处理方法,基于相同的技术构思,本申请一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一个具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
根据预先确定的各任务类别的热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;
当接收到任务提交请求时,根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别;
确定是否存在所述目标任务类别所对应的第一任务提交器;
若是,则将所述待提交任务分发给所述第一任务提交器,以使所述第一任务提交器执行所述待提交任务的提交操作。
本申请实施例中,根据预先确定的各任务类别的热点运行时段,在到达各热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;以及,在接收到任务提交请求时,将待提交任务分发给相应的第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。由此,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据预先确定的各任务类别的热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器之前,还包括:
获取预设历史时长内的任务提交记录信息;
根据所述任务提交记录信息,确定所述各任务类别的热点运行时段。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述预设历史时长包括:多个第一时段;所述第一时段包括多个子时段;所述任务提交记录信息包括:相应任务的任务模板标识和任务提交时间;
所述根据所述任务提交记录信息,确定所述各任务类别的热点运行时段,包括:
根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为相应任务所属的任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系;
根据所述任务提交时间,统计在每个所述子时段内所提交的每个所述任务类别的任务的第一数量;
按照时间的先后顺序,根据预设的计算方式,对各所述第一时段中相同子时段内所提交的相同任务类别的任务的所述第一数量进行计算,得到第二数量;
确定每个所述任务类别中是否存在多个连续的大于预设数量的目标第二数量;
若是,则将所述目标第二数量所对应的子时段确定为相应任务类别的热点运行时段。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述任务信息包括:所述待提交任务的任务模版标识;
所述根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别,包括:
确定所述任务模板标识是否为预设标识;
若是,则从所述任务信息中获取所述待提交任务的元信息,根据所述元信息确定所述待提交任务所属的目标任务类别;以及,根据所述元信息更新所述任务模板标识;
若否,则根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述元信息包括:所述待提交任务的任务类型信息和任务依赖信息;
所述根据所述元信息确定所述待提交任务所属的目标任务类别,包括:
确定根据所述任务类型信息和所述任务依赖信息,从预设的第二关联关系中是否获取到关联的任务类别;其中,所述第二关联关系包括多个任务类型信息和任务依赖信息与任务类别的关联关系;
若是,则将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;
若否,则生成新的任务类别,将生成的所述任务类别确定为所述待提交任务所属的目标任务类别。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述元信息还包括:所述待提交任务的执行入口信息和执行虚拟机信息;
所述根据所述元信息更新所述任务模板标识,包括:
确定根据所述执行入口信息和所述执行虚拟机信息,从预设的第三关联关系中是否获取到关联的任务模板标识;其中,所述第三关联关系包括多个执行入口信息和执行虚拟机信息与任务模板标识的关联关系;
若是,则将所述任务信息包括的所述任务模板标识更新为获取的所述任务模板标识;
若否,则生成新的任务模板标识,将所述任务信息包括的所述任务模板标识更新为生成的所述任务模板标识。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述生成相应任务类别所对应的任务提交器之后,还包括:
将所述任务类别的类别标识、所述任务提交器的提交器标识、以及表征所述任务提交器处于可用状态的第一状态信息进行关联记录,得到第一记录信息;
所述确定是否存在所述目标任务类别所对应的第一任务提交器,包括:
若根据所述目标任务类别的类别标识查询到关联的所述第一记录信息、且查询到的所述第一记录信息中的状态信息为所述第一状态信息,则确定存在所述目标任务类别所对应的第一任务提交器。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述将所述待提交任务分发给所述目标任务提交器,包括:
确定所述目标任务类别所对应的第一任务提交器的数量是否为一;
若是,则将所述待提交任务分发给所述第一任务提交器;
若否,则根据预设规则从多个所述第一任务提交器中确定目标任务提交器,将所述待提交任务分发给所述目标任务提交器。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据预设规则从多个所述第一任务提交器中确定目标任务提交器,包括:
根据每个所述第一任务提交器的提交器标识,获取每个所述第一任务提交器所在宿主设备的可用内核数量、每个所述第一任务提交器正在提交的任务的第三数量;
根据预设的第一计算方式,对所述可用内核数量和所述第三数量进行计算处理得到第一计算结果;
若确定所述第一计算结果中最大的第一计算结果的数量为一,则将所述最大的第一计算结果所对应的第一任务提交器,确定为目标任务提交器;
若确定所述第一计算结果中最大的第一计算结果的数量不为一,则根据每个所述第一任务提交器的提交器标识,获取每个所述第一任务提交器所在宿主设备的可用存储容量;以及,
根据预设的第二计算方式,对所述可用存储容量和所述第三数量进行计算处理得到第二计算结果;
若确定所述第二计算结果中最大的第二计算结果的数量为一,则将所述最大的第二计算结果所对应的第一任务提交器,确定为目标任务提交器;
若确定所述第二计算结果中最大的第二计算结果的数量不为一,则从多个所述最大的第一计算结果中随机选择一个第一计算结果,将选择的所述第一计算结果所对应的第一任务提交器,确定为目标任务提交器。
本申请实施例提供的存储介质所存储的计算机可执行指令在被处理器执行时,根据预先确定的各任务类别的热点运行时段,在到达各热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;以及,在接收到任务提交请求时,将待提交任务分发给相应的第一任务提交器,以使第一任务提交器执行待提交任务的提交操作。由此,基于预先确定的各任务类别及各任务类别的热点运行时段,在到达热点运行时段之前预先准备相应的提交环境,从而将相同任务类别的待提交任务均在同一个提交环境中进行提交,而无需对于每个待提交任务均执行提交环境的准备操作,不仅提升了任务的提交速度,提升了任务提交的并发量,而且降低了高峰时段任务的丢失率。
需要说明的是,本申请中关于存储介质的实施例与本申请中关于任务处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的任务处理方法的实施,重复之处不再赘述。
Claims (10)
1.一种任务处理方法,其特征在于,包括:
获取预设历史时长内的任务提交记录信息;
根据所述任务提交记录信息,确定所述各任务类别的热点运行时段;
根据预先确定的各任务类别的所述热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;
当接收到任务提交请求时,根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别;
确定是否存在所述目标任务类别所对应的第一任务提交器;
若是,则将所述待提交任务分发给所述第一任务提交器,以使所述第一任务提交器执行所述待提交任务的提交操作;
其中,所述预设历史时长包括:多个第一时段;所述第一时段包括多个子时段;所述任务提交记录信息包括:相应任务的任务模板标识和任务提交时间;
所述根据所述任务提交记录信息,确定所述各任务类别的热点运行时段,包括:
根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为相应任务所属的任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系;
根据所述任务提交时间,统计在每个所述子时段内所提交的每个所述任务类别的任务的第一数量;
按照时间的先后顺序,根据预设的计算方式,对各所述第一时段中相同子时段内所提交的相同任务类别的任务的所述第一数量进行计算,得到第二数量;
确定每个所述任务类别中是否存在多个连续的大于预设数量的目标第二数量;
若是,则将所述目标第二数量所对应的子时段确定为相应任务类别的热点运行时段。
2.根据权利要求1所述的方法,其特征在于,所述任务信息包括:所述待提交任务的任务模版标识;
所述根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别,包括:
确定所述任务模板标识是否为预设标识;
若是,则从所述任务信息中获取所述待提交任务的元信息,根据所述元信息确定所述待提交任务所属的目标任务类别;以及,根据所述元信息更新所述任务模板标识;
若否,则根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系。
3.根据权利要求2所述的方法,其特征在于,所述元信息包括:所述待提交任务的任务类型信息和任务依赖信息;
所述根据所述元信息确定所述待提交任务所属的目标任务类别,包括:
确定根据所述任务类型信息和所述任务依赖信息,从预设的第二关联关系中是否获取到关联的任务类别;其中,所述第二关联关系包括多个任务类型信息和任务依赖信息与任务类别的关联关系;
若是,则将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;
若否,则生成新的任务类别,将生成的所述任务类别确定为所述待提交任务所属的目标任务类别。
4.根据权利要求2所述的方法,其特征在于,所述元信息还包括:所述待提交任务的执行入口信息和执行虚拟机信息;
所述根据所述元信息更新所述任务模板标识,包括:
确定根据所述执行入口信息和所述执行虚拟机信息,从预设的第三关联关系中是否获取到关联的任务模板标识;其中,所述第三关联关系包括多个执行入口信息和执行虚拟机信息与任务模板标识的关联关系;
若是,则将所述任务信息包括的所述任务模板标识更新为获取的所述任务模板标识;
若否,则生成新的任务模板标识,将所述任务信息包括的所述任务模板标识更新为生成的所述任务模板标识。
5.根据权利要求1所述的方法,其特征在于,所述生成相应任务类别所对应的任务提交器之后,还包括:
将所述任务类别的类别标识、所述任务提交器的提交器标识、以及表征所述任务提交器处于可用状态的第一状态信息进行关联记录,得到第一记录信息;
所述确定是否存在所述目标任务类别所对应的第一任务提交器,包括:
若根据所述目标任务类别的类别标识查询到关联的所述第一记录信息、且查询到的所述第一记录信息中的状态信息为所述第一状态信息,则确定存在所述目标任务类别所对应的第一任务提交器。
6.根据权利要求1所述的方法,其特征在于,所述将所述待提交任务分发给所述目标任务提交器,包括:
确定所述目标任务类别所对应的第一任务提交器的数量是否为一;
若是,则将所述待提交任务分发给所述第一任务提交器;
若否,则根据预设规则从多个所述第一任务提交器中确定目标任务提交器,将所述待提交任务分发给所述目标任务提交器。
7.根据权利要求6所述的方法,其特征在于,所述根据预设规则从多个所述第一任务提交器中确定目标任务提交器,包括:
根据每个所述第一任务提交器的提交器标识,获取每个所述第一任务提交器所在宿主设备的可用内核数量、每个所述第一任务提交器正在提交的任务的第三数量;
根据预设的第一计算方式,对所述可用内核数量和所述第三数量进行计算处理得到第一计算结果;
若确定所述第一计算结果中最大的第一计算结果的数量为一,则将所述最大的第一计算结果所对应的第一任务提交器,确定为目标任务提交器;
若确定所述第一计算结果中最大的第一计算结果的数量不为一,则根据每个所述第一任务提交器的提交器标识,获取每个所述第一任务提交器所在宿主设备的可用存储容量;以及,
根据预设的第二计算方式,对所述可用存储容量和所述第三数量进行计算处理得到第二计算结果;
若确定所述第二计算结果中最大的第二计算结果的数量为一,则将所述最大的第二计算结果所对应的第一任务提交器,确定为目标任务提交器;
若确定所述第二计算结果中最大的第二计算结果的数量不为一,则从多个所述最大的第一计算结果中随机选择一个第一计算结果,将选择的所述第一计算结果所对应的第一任务提交器,确定为目标任务提交器。
8.一种任务处理装置,其特征在于,包括:
获取模块,用于获取预设历史时长内的任务提交记录信息;
第二确定模块,用于根据所述任务提交记录信息,确定所述各任务类别的热点运行时段;
生成模块,用于根据预先确定的各任务类别的所述热点运行时段,在到达所述热点运行时段的起始时间之前,生成相应任务类别所对应的任务提交器;
接收模块,用于当接收到任务提交请求时,根据所述任务提交请求包括的待提交任务的任务信息,确定所述待提交任务所属的目标任务类别;
第一确定模块,用于确定是否存在所述目标任务类别所对应的第一任务提交器;
分发模块,用于若所述确定模块的确定结果为是,则将所述待提交任务分发给所述第一任务提交器,以使所述第一任务提交器执行所述待提交任务的提交操作;
其中,所述预设历史时长包括:多个第一时段;所述第一时段包括多个子时段;所述任务提交记录信息包括:相应任务的任务模板标识和任务提交时间;
所述第二确定模块,具体用于:根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为相应任务所属的任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系;
根据所述任务提交时间,统计在每个所述子时段内所提交的每个所述任务类别的任务的第一数量;
按照时间的先后顺序,根据预设的计算方式,对各所述第一时段中相同子时段内所提交的相同任务类别的任务的所述第一数量进行计算,得到第二数量;
确定每个所述任务类别中是否存在多个连续的大于预设数量的目标第二数量;
若是,则将所述目标第二数量所对应的子时段确定为相应任务类别的热点运行时段。
9.根据权利要求8所述的装置,其特征在于,所述任务信息包括:所述待提交任务的任务模版标识;所述第一确定模块具体用于:
确定所述任务模板标识是否为预设标识;
若是,则从所述任务信息中获取所述待提交任务的元信息,根据所述元信息确定所述待提交任务所属的目标任务类别;以及,根据所述元信息更新所述任务模板标识;
若否,则根据所述任务模板标识,从预设的第一关联关系中获取关联的任务类别,将获取的所述任务类别确定为所述待提交任务所属的目标任务类别;其中,所述第一关联关系包括多个任务模板标识与任务类别的关联关系。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:记录模块;
所述记录模块,用于在所述生成模块生成相应任务类别所对应的任务提交器之后,将所述任务类别的类别标识、所述任务提交器的提交器标识、以及表征所述任务提交器处于可用状态的第一状态信息进行关联记录,得到第一记录信息;
所述第一确定模块,具体用于若根据所述目标任务类别的类别标识查询到关联的所述第一记录信息、且查询到的所述第一记录信息中的状态信息表征相应的任务提交器处于可用状态,则确定存在所述目标任务类别所对应的第一任务提交器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010278812.8A CN111552561B (zh) | 2020-04-10 | 2020-04-10 | 一种任务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010278812.8A CN111552561B (zh) | 2020-04-10 | 2020-04-10 | 一种任务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552561A CN111552561A (zh) | 2020-08-18 |
CN111552561B true CN111552561B (zh) | 2023-05-23 |
Family
ID=72002431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010278812.8A Active CN111552561B (zh) | 2020-04-10 | 2020-04-10 | 一种任务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552561B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597678A (zh) * | 2018-10-09 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 任务处理方法及装置 |
CN110781007A (zh) * | 2019-10-31 | 2020-02-11 | 广州市网星信息技术有限公司 | 任务处理方法、装置、服务器、客户端、系统和存储介质 |
CN110895487A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 分布式任务调度系统 |
CN110895485A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 任务调度系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10735818B2 (en) * | 2017-06-27 | 2020-08-04 | R3 Collaboratives, Inc. | Generation of task records based on context of task generation request |
-
2020
- 2020-04-10 CN CN202010278812.8A patent/CN111552561B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895487A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 分布式任务调度系统 |
CN110895485A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 任务调度系统 |
CN109597678A (zh) * | 2018-10-09 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 任务处理方法及装置 |
CN110781007A (zh) * | 2019-10-31 | 2020-02-11 | 广州市网星信息技术有限公司 | 任务处理方法、装置、服务器、客户端、系统和存储介质 |
Non-Patent Citations (1)
Title |
---|
许兰 ; 朱巧明 ; 陈静 ; 贡正仙 ; .一种快速的网格任务调度算法的设计.计算机应用与软件.2008,(第05期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111552561A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475006B2 (en) | Query and change propagation scheduling for heterogeneous database systems | |
JP5730386B2 (ja) | 計算機システム及び並列分散処理方法 | |
CN108182258B (zh) | 分布式的数据分析系统及方法 | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
US20160224393A1 (en) | System and method of distributing processes stored in a common database | |
CN112699098A (zh) | 一种索引数据迁移方法、装置及设备 | |
EP3018581A1 (en) | Data staging management system | |
CN111782452A (zh) | 接口对比测试的方法、系统、设备和介质 | |
CN108153859B (zh) | 一种基于Hadoop与Spark的效用次序并行确定方法 | |
CN105138405A (zh) | 基于待释放资源列表的MapReduce任务推测执行方法和装置 | |
US10678789B2 (en) | Batch data query method and apparatus | |
CN109885729B (zh) | 一种显示数据的方法、装置及系统 | |
CN106933857B (zh) | 一种数据仓库中任务的调度方法、装置 | |
US10599472B2 (en) | Information processing apparatus, stage-out processing method and recording medium recording job management program | |
CN112363914B (zh) | 一种并行测试资源配置寻优的方法、计算设备及存储介质 | |
CN113010315A (zh) | 资源分配方法及分配装置、计算机可读存储介质 | |
CN111552561B (zh) | 一种任务处理方法及装置 | |
CN110750362A (zh) | 生物信息的分析方法、装置和存储介质 | |
CN107203633B (zh) | 数据表推数处理方法、装置及电子设备 | |
CN113220530B (zh) | 数据质量监控方法及平台 | |
JPH1139340A (ja) | データベース検索システム、マルチプロセッサシステム及びデータベース検索方法 | |
US11036471B2 (en) | Data grouping for efficient parallel processing | |
CN110929207A (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN113918288A (zh) | 任务处理方法、装置、服务器及存储介质 | |
CN111679899A (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 |