CN111625331A - 任务调度方法、装置、平台、服务器及存储介质 - Google Patents
任务调度方法、装置、平台、服务器及存储介质 Download PDFInfo
- Publication number
- CN111625331A CN111625331A CN202010432792.5A CN202010432792A CN111625331A CN 111625331 A CN111625331 A CN 111625331A CN 202010432792 A CN202010432792 A CN 202010432792A CN 111625331 A CN111625331 A CN 111625331A
- Authority
- CN
- China
- Prior art keywords
- task
- task scheduling
- parameter
- historical
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012549 training Methods 0.000 claims description 17
- 238000007726 management method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 238000013468 resource allocation Methods 0.000 description 11
- 230000002159 abnormal effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 239000002699 waste material Substances 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000012795 verification 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种任务调度方法、装置、平台、服务器及存储介质,所述方法包括:获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源,从而提升任务调度的效率。
Description
技术领域
本发明实施例涉及搜索技术领域,具体涉及一种任务调度方法、装置、平台、服务器及存储介质。
背景技术
在IT(Internet Technology,互联网技术)系统中,任务调度平台可以实现有规划的自动启动请求,从而指定时间点执行,或每隔一段时间重复执行对应的操作,通常这部分自动发起的请求称为任务,而自动发起任务的平台称为任务调度平台。
在分布式任务调度平台,通常由第三方任务调度框架基于任务调度参数为任务分配业务系统的资源(如CPU、内存、时间),以使任务占用分配的资源实现任务的运行。然而,由于第三方任务调度框架的任务调度参数依赖于人的提前配置,这些提前配置的任务调度参数可能与业务系统的运行状况不相适应,从而导致任务调度的效率不高,进而使得业务系统的机器使用率不高。
发明内容
有鉴于此,本发明实施例提供一种任务调度方法、装置、平台、服务器及存储介质,以提升任务调度的效率。
为实现上述目的,本发明实施例提供如下技术方案:
第一方面,本发明实施例提供一种任务调度方法,包括:
获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;
至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
第二方面,结合第一方面所述的任务调度方法,所述至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,包括:
根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源;
根据所述历史任务数据、所述待处理任务的资源需求信息和所述业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
第三方面,结合第二方面所述的任务调度方法,所述根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源,包括:
根据所述历史任务数据,训练参数学习模型,所述历史任务数据包括历史任务结果信息和历史任务运行信息;
利用所述参数学习模型,预测待处理任务的资源需求信息和业务系统的可用资源。
第四方面,结合第三方面所述的任务调度方法,所述根据所述历史任务数据,训练参数学习模型,包括:
根据所述历史任务结果信息和历史任务运行信息,统计所述业务系统的性能数据,所述性能数据包括业务系统的执行数据量、任务执行时长和对应任务的任务调度参数;
基于所述历史任务数据和所述性能数据,训练所述参数学习模型。
第五方面,结合第二方面所述的任务调度方法,所述根据所述历史任务数据、所述待处理任务的资源需求信息和所述业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,包括:
根据所述历史任务数据,统计得到历史任务的任务统计时长,所述任务统计时长为执行任务所占用的平均统计时长;
基于所述平均统计时长、待处理任务的资源需求信息和业务系统的可用资源,计算得到使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
第六方面,结合第一方面所述的任务调度方法,所述基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数,包括:
判断所述任务调度更新参数是否到达更新级别;
若所述任务调度更新参数达到更新级别,将所述第一任务调度参数更新为第二任务调度参数。
第七方面,本发明实施例还提供一种任务调度装置,包括:
获取模块,用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;
学习模块,用于至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
更新模块,用于基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
调度模块,用于根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
第八方面,本发明实施例还提供一种任务调度平台,包括:
学习器,用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;并至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
注册中心,用于基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
调度器,用于根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
第九方面,本发明实施例还提供一种服务器,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行第一至六任一方面所述的任务调度方法
第十方面,本发明实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行第一至六任一方面所述的任务调度方法。
本发明实施例提供的任务调度方法,包括:获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。通过获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据,能够得到历史任务的运行状况以及业务系统以第一任务调度参数执行历史任务时业务系统的运行状况,至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,进而基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数,根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源,从而使所述业务系统执行待处理任务的资源利用率最大化,提高了任务调度的效率,保证业务系统的机器使用率趋于最高效的状态,避免机器资源的浪费。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施提供的IT系统的可选架构;
图2为本发明实施例提供的任务调度的可选流程图;
图3为本发明实施提供的任务调度方法的可选流程图;
图4为本发明实施提供的步骤S02的可选流程图;
图5为本发明实施例提供的步骤S11的可选流程图;
图6为本发明实施例提供的步骤S21的可选流程图;
图7为本发明实施例提供的步骤S12的可选流程图;
图8为本发明实施例提供的步骤S13的可选流程图;
图9为本发明实施例提供的步骤S04的可选流程图;
图10为本发明实施例提供的步骤S01的可选流程图;
图11为本发明实施例提供管理器的可选功能示意图;
图12为本发明实施例提供的注册中心的可选功能示意图;
图13为本发明实施例提供的调度器的可选功能示意图;
图14为本发明实施例提供的管道空间预填充算法示意图;
图15为本发明实施例提供的业务系统中worker的可选功能示意图;
图16为本发明实施例提供的学习器的可选功能示意图;
图17为本发明实施例提供的任务调度装置的可选框图;
图18为本发明实施例提供的服务器的可选框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一种可选实现中,图1示出了本发明实施提供的IT系统的可选架构,本发明实施例提供的任务调度方法可基于图1所示系统实施,该系统可以包括:业务系统10、任务调度系统20和注册中心30。
业务系统10可以是IT系统的服务设备,业务系统10可以是单一工作节点(worker),也可能是多个工作节点组成的工作节点群组(worker group)。工作节点用于执行具体的任务,也称为执行器。其中,worker具有存活性,只有处于存活状态(aliveworker)时,worker才执行分配的任务。
任务调度系统20可以是IT系统的服务设备,任务调度系统20可以为一服务器,也可以为具有数据处理功能的其他硬件设施。任务调度系统20是为任务调度分配worker的管理平台,用于管理和维护任务和服务器群组,实现任务的系统的正常运行。
注册中心30用于存储和分发worker信息与任务信息,任务与worker节点通过注册将信息存储到注册中心30,同时,当任务与worker节点的信息变化时,注册中心30自动通知订阅的组件(如图中所示的管理器40、调度器50、学习器60等)。其中,为便于管理,注册中心根据任务的生命周期,将任务配置在不同的消息队列(MQ,message queue),并在worker执行任务过程中写入任务的执行统计信息、监控信息等。具体的,消息队列分为等待、执行、完成、超时、异常、失败等六种队列。
在任务调度系统20在接收到具体的作业(job)任务时,根据job任务的运行参数和任务调度平台的任务调度参数,将job任务拆分为具有具体资源需求(如时间、CPU、内存)的实例(task)任务,并将task任务分配至具体的worker节点。其中,任务调度平台根据task任务的资源需求信息(如时间、CPU、内存)将task分配到alive worker中,同时,保证每个worker的cpu、内存(memeory)使用率趋于最高效的状态,避免机器资源的浪费。
需要说明的是,在本示例中,将任务分为作业(job)任务和实例(task)任务,实例(task)任务为业务系统可以直接执行的任务,也称为可执行任务。
在本发明实施例中,任务调度系统20和注册中心(Register)30构成任务调度平台200。任务调度平台200用于根据任务调度参数进行任务调度。
在一种可选实现中,图2示出了本发明实施提供的任务调度的可选流程,本发明实施例提供的任务调度方法可基于图1所示架构实施,并按照图2所示的流程执行,其中,结合图1和图2,所述任务调度系统包括:管理器(Manager)40、调度器(Scheduler)50、学习器(Learner)60和报警器(Alarmer)70。
可选的,在接收到job任务时,管理器(Manager)40用于对任务信息管理与任务发布。其中,管理器40在接收到待处理任务时,发布所述待处理任务,发布任务时选择执行任务的触发器(Timer)。
接着,调度器(Scheduler)50根据任务调度参数,为待处理任务分配业务系统的资源。其中,任务调度参数存储在注册中心30,调度器获取注册中心30的任务调度参数,执行具体的资源分配。
可选的,Scheduler50依据Timer信息以及任务调度参数对Job任务拆分并按时实例化为Task任务,并为Task任务分配业务系统10的资源,以供业务系统10调度使用。其中,调度器50还从注册中心接收任务调度参数,并在处理后续的待处理任务时,根据任务调度参数,为待处理任务分配所述业务系统的资源。
调度器50拆分并实例化的Task任务首先加入注册中心的等待队列(waiting-queue)中,业务系统10中的执行器监听注册中心分配自己的Task任务,并按照顺序对等待队列中的task任务进行消费。
执行器在task任务处理结束后,将处理的任务结果信息(TaskResult)存入完成队列(finish-queue)中;对于异常任务,则将对应的任务结果信息转入异常队列(error-queue)。
其中,调度器50监听异常队列,对于异常队列中Task进行重试处理,并在重试次数大于重试次数阈值时,将任务列入失败队列(fail-queue)。
另外,调度器50还实时扫描等待队列与执行队列(executing-queue),将未能按时处理的task任务转入超时队列(timeout-queue),进行重试或重分配操作,并进一步在重试次数大于重试次数阈值时,将任务列入失败队列(fail-queue)。
其中,在任务执行过程中,执行器worker进一步生成Task的任务运行信息(如全链路监控日志),并将任务运行信息写入注册中心的消息队列(MQ,Message Queue)中。
在本发明实施例中,所述任务调度平台还设有学习器(Learner)60,所述学习器60可以为在线学习组件,用于对注册中心注册的信息以及MQ中的历史任务数据进行学习分析,调整优化任务调度参数,以为后续任务进行调度。
进一步的,本示例中的所述任务调度平台还包括报警器(Alarmer)70,用于在所述历史任务数据异常时,发出报警信息。
在一个可选的示例中,图3示出了本发明实施提供的任务调度方法的可选流程,所述任务调度方法基于任务调度平台200实施,所述任务调度方法包括:
步骤S01:学习器获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据。
通过获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据,能够得到历史任务的运行状况以及业务系统以第一任务调度参数执行历史任务时业务系统的运行状况,从而根据对应的历史任务数据,准确预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
在本发明实施例中,第一任务调度参数可以理解为进行参数更新之前的任务调度参数,第二任务调度参数可以理解为进行参数更新之后的任务调度参数。其中,本发明实施例中的任务调度参数的更新可以是实时的,本次更新后的任务调度参数可以作为下次更新前的第一任务调度参数,从而使任务调度参数持续更新。
其中,所述历史任务数据为执行历史任务生成的历史任务数据。所述历史任务,可以为完成队列和失败队列中的全部任务,也可以为从所述完成队列和所述失败队列中抽样获取的任务。
在一个可选的实现中,历史任务数据可以包括历史任务结果信息和历史任务运行信息,其中,历史任务结果信息可以从完成队列和失败队列中获取,历史任务运行信息则从消息队列的全链路监控数据中获取。
步骤S02:学习器至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
基于历史任务数据得到历史任务的运行状况以及业务系统以第一任务调度参数执行历史任务时业务系统的运行状况,进而预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,从而提高任务调度的效率。
其中,需要说明的是,业务系统执行待处理任务的资源利用率最大化,用于使业务系统的机器使用率趋于最高效的状态,避免机器资源的浪费。
步骤S03:注册中心基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数。
在本发明实施例中,所述任务调度更新参数可以为用于更新的第二任务调度参数,也可以为以第一任务调度参数为基础的变化量。在任务调度更新参数为以第一任务调度参数为基础的变化量时,所述第二任务调度参数根据所述第一任务调度参数和所述任务调度更新参数计算得到。
举例来说,所述任务调度更新参数可以为第一调度参数的增减量,所述第二任务调度参数由第一任务调度参数与所述增减量相加得到;或者,所述任务调度更新参数可以为第一调度参数的预设比例,所述第二任务调度参数在第一任务调度参数的基础上乘以所述预设比例得到。
可选的,在获取到所述任务调度更新参数,可以直接对任务调度参数进行更新,也可以对所述任务调度更新参数进行判断,在任务调度更新参数达到更新级别时,再进行任务调度参数的更新。
可以理解的是,任务调度参数包含多个不同类型的参数,例如,任务执行的并行度、任务执行的调度策略和任务的重试次数阈值等,在本发明实施例中,任务调度更新参数可以的任务调度参数中的一个参数,也可以为任务调度参数中的多个参数,具体的参数由预测结果确定。在一个可选的示例中,所述任务调度更新参数包括:任务执行的并行度、任务执行的调度策略和任务的重试次数阈值的中的一个或多个。
在任务调度更新参数为任务调度参数中的一个参数时,则仅更新该一个参数,在任务调度更新参数为任务调度参数中的多个参数时,则对任务调度参数中的参数逐一进行对应更新。
步骤S04:调度器根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
在所述任务调度参数更新后,则以更新后的第二任务调度参数为基础,为待处理任务分配所述业务系统的资源。
在本发明实施例中,通过获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据,能够得到历史任务的运行状况以及业务系统以第一任务调度参数执行历史任务时业务系统的运行状况,至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,进而基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数,根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源,从而使所述业务系统执行待处理任务的资源利用率最大化,提高了任务调度的效率,保证业务系统的机器使用率趋于最高效的状态,避免机器资源的浪费。
在一个可选的示例中,步骤S02对任务调度更新参数的预测可以通过对待处理任务的资源需求信息和业务系统的可用资源进行预测,并进一步确定任务调度更新参数。参考图4示出的步骤S02的可选流程图,步骤S02包括:
步骤S11:根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源。
通过对待处理任务的资源需求信息和业务系统的可用资源进行预测,以确定适合的任务调度更新参数,调整所述待处理任务的资源分配策略,以使待处理任务的资源分配策略与所述业务系统的可用资源相匹配,保证机器使用率趋于最高效的状态,避免机器资源的浪费。
在一个可选的示例中,所述待处理任务的资源需求信息可以包括:所述待处理任务的任务量和所述待处理任务对应的资源占用量,如CPU占用量、内存占用量、时间占用量;所述业务系统的可用资源可以包括:所述业务系统的可用计算量(如CPU可用计算量)和所述业务系统的可用存储量(如内存可用量)。
在本示例中,预测待处理任务的资源需求信息和业务系统的可用资源,实现对接下来业务洪峰以及资源使用情况进行预判,以计算得到与业务系统的可用资源相匹配的任务调度更新参数。
步骤S12:根据所述历史任务数据、所述待处理任务的资源需求信息和业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
所述任务调度更新参数用于调整所述待处理任务的资源分配策略,以使所述待处理任务的资源分配策略与所述业务系统的可用资源相匹配,从而使得业务系统执行待处理任务的资源利用率最大化。
其中,确定任务调度更新参数,可以仅根据历史任务数据和待处理任务的资源需求信息和业务系统的可用资源,也可以进一步结合根据历史任务数据得到的任务统计数据,以提高任务调度更新参数调整得到的资源分配策略,与所述业务系统的可用资源的匹配度。
在本示例中,得到的任务调度更新参数使得待处理任务的资源分配策略与所述业务系统的可用资源相匹配,从而实现根据更新后的任务调度参数进行高效调度,保证机器使用率趋于最高效的状态,避免机器资源的浪费。
在一个可选的示例中,步骤S11可以通过建立参数学习模型,对待处理任务的资源需求信息和业务系统的可用资源进行预测。参考图5示出的步骤S11的可选流程图,步骤S11包括:
步骤S21:根据所述历史任务数据,训练参数学习模型。
具体的,所述历史任务数据包括历史任务结果信息和历史任务运行信息。历史任务结果信息中包含有历史任务运行的结果,历史任务运行信息包含有历史任务运行的全链路监控数据,在一个可选的示例中,所述历史任务运行信息可以为历史任务的全链路监控日志。
可以理解的是,训练参数学习模型的数据种类越多,数量越多,对应预测的结果越准确。基于历史任务数据中的多种类数据,可以使得参数学习模型具有较高的准确度。
具体的,历史任务数据中可以包括任务对应的运行环境数据,如CPU和/或MEMORY参数,任务对应的特征数据,如任务的优先级(例如高、中或低)参数,任务对应的延迟容忍级别(例如Lv1-5中的任一级),以及任务的上下游依赖(如上下游系统执行程度实时评估,关联链路时间占比等),任务对应的执行指标(如批次任务执行时长,总任务执行时长,系统线程数)等,从而使得本示例中的学习模型能够结合运行环境、任务特性、上下游依赖,优化任务调度参数配置,从而使机器性能完全发挥。
需要说明的是,对参数学习模型的训练,可以仅利用所述历史任务数据实现,也可以进一步对历史任务数据进行统计分析,结合历史任务数据和分析得到的统计数据进行学习模型的训练。
步骤S22:利用所述参数学习模型,预测待处理任务的资源需求信息和业务系统的可用资源。
可选的,所述参数学习模型,可以采用回归预测算法,预测待处理任务的资源需求信息和业务系统的可用资源。
通过建立参数学习模型,对待处理任务的资源需求信息和业务系统的可用资源进行预测,以得到准确的预测结果,进而提高任务调度的效率,保证业务系统的机器使用率趋于最高效的状态,避免机器资源的浪费。
在一个可选的示例中,通过对历史任务数据进行统计分析,结合历史任务数据和分析得到的统计数据进行参数学习模型的训练,从而进一步提高参数学习模型的准确度。参考图6示出的步骤S21的可选流程图,步骤S21包括:
步骤S31:根据历史任务数据,统计所述业务系统的性能数据,所述性能数据包括业务系统的执行数据量、任务执行时长和对应任务的任务调度参数;
具体的,对应的性能数据可以从Job和/或task维度进行统计,从而得到较为全面的数据信息。
在本示例中,对应任务的任务调度参数可以为任务的拆分任务数、处理批次大小、任务执行的并行度、任务的重试次数阈值等。
步骤S32:基于所述历史任务数据和所述性能数据,训练所述参数学习模型。
在回归预测的过程中,基于所述历史任务数据和所述性能数据,训练所述参数学习模型,进一步提高参数学习模型的准确度。
在一个可选的示例中,还进一步结合历史任务数据得到的任务统计数据确定任务调度更新参数,以提高任务调度更新参数调整得到的资源分配策略与所述业务系统的可用资源的匹配度。参考图7示出的步骤S12的可选流程图,步骤S12包括:
步骤S41:根据所述历史任务数据,统计得到历史任务的任务统计时长,所述任务统计时长为执行任务所占用的平均统计时长;
通过计算任务统计时长以获取更准确的任务特征,进而使得计算得到任务调度更新参数更加精确。
具体的,对应的任务统计时长可以从Job和/或task维度进行统计,从而得到较为全面的统计数据。
进一步的,本示例还进一步通过不同的数据维度/时间维度对task与job执行进行统计,如:Avg(平均执行时间)、Avg1000(最近1000次执行平均执行时间)、Avg30d(最近30天平均执行时间)、AvgAuto(采用特殊公式的动态平均执行时间)等,其中,AvgAuto表示智能的平均统计,比如将其他Avg指标做为输入,计算出一个最有代表性的AVG,以提供一个智能的指标供使用。
步骤S42:基于所述平均统计时长和预测得到的待处理任务的资源需求信息和业务系统的可用资源,计算得到使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
基于平均统计时长和预测得到的待处理任务的资源需求信息和业务系统的可用资源,得到的任务调度更新参数更加准确。
另外,在本示例中,还可以进一步结合worker的运行参数进行计算。例如,通过统计与预测判断接下来待处理数据量为500万条,worker的存活数以及worker的剩余资源情况,再结合平均100数据cpu与memory空间利用率,计算job拆分任务数(SplitN),以及任务执行的并行度(TopN)。
可以看出,本示例中结合历史任务数据得到的任务统计数据确定任务调度更新参数,提高了任务调度更新参数的准确度,使得采用该任务调度更新参数调整得到的资源分配策略与所述业务系统的可用资源的匹配度进一步提高,进一步保证业务系统的机器使用率趋于最高效的状态,避免机器资源的浪费。
在一个可选的示例中,学习器还在所述历史任务数据异常时,向报警器发出报警信息。
具体的,针对于执行明显异常的数据,通过Alarmer进行警报处理。
需要说明的是,所述历史任务数据异常,可以是根据历史用户标记的异常样本进行判断,也可以是基于预设指标设置报警阈值以进行判断。在具体的判断过程中,可以根据异常样本进行模型验证或根据异常规则进行规则匹配,在满足条件输出报警信息。
在一个可选的示例中,注册中心在学习器确定任务调度更新参数后,对所述任务调度更新参数进行判断,在任务调度更新参数达到更新级别时,再进行任务调度参数的更新,从而避免不必要的参数调整。具体的,图8示出了步骤S13的可选流程,所述流程包括:
步骤S51:判断所述任务调度更新参数是否到达更新级别;
所述更新级别可以是人为设置,也可以由机器设置。所述更新级别基于任务调度更新参数的不同,具有不同的设置。
在任务调度更新参数为以第一任务调度参数为基础的变化量时,可以判断所述变化量是否到达更新级别,确定所述任务调度更新参数是否到达更新级别。
在任务调度更新参数为为用于更新的第二任务调度参数时,则比对所述第二任务调度参数和所述第一任务调度参数,进而判断所述任务调度更新参数是否到达更新级别。
另外,更新级别基于任务调度更新参数的类型不同,也具有不同的设置。例如,在具体的任务调度参数为数值时,可以进行数值的比对,在数值不等同或任务调度更新参数的数值与任务调度参数的数值之间的差值达到预设阈值时,认为任务调度更新参数到达更新级别,在具体的任务调度参数为具体的文字表述时(例如优先级为高、中或低),则可以进行文字表述的比对,在文字表述不等同或任务调度更新参数与任务调度参数文字表述对应的含义之间符合预设的条件时,则认为任务调度更新参数到达更新级别。
另外,在任务调度更新参数为多个参数时,对任务调度更新参数和任务调度参数的比对需要逐一对应比对,并依次判断哪些参数达到更新级别,以便于进行任务调度参数的更新。
步骤S52:若所述任务调度更新参数达到更新级别,将所述第一任务调度参数更新为第二任务调度参数。
在所述任务调度更新参数达到更新级别时,进行对应的参数更新,在所述任务调度更新参数与所述任务调度参数相比,未达到更新级别时,则不进行对应参数更新。
其中,在任务调度更新参数为多个参数时,可以仅对达到更新级别的任务调度更新参数进行更新,也可以在任一参数达到更新级别时,对所有的任务调度更新参数对应的参数进行全部更新。
在一个可选的示例中,所述调度器在所述学习器确定任务调度更新参数前,还设置有初始任务调度参数,并在所述学习器确定任务调度更新参数后,以更新后的任务调度参数为准,从而避免了人为设置复杂的任务调度参数,降低了任务调度的使用复杂度,同时,基于学习器进行任务调度参数的不断更新,让调度过程尽可能的高效。
其中,调度器进一步根据更新后的调度参数进行资源分配,图9示出了步骤S04的可选流程,所述流程包括:
步骤S61:根据所述第二任务调度参数,将所述待处理任务拆分为可执行任务;
所述待处理任务,可以拆分为一个可执行任务,也可以拆分为多个可执行任务,其中,在拆分为多个可执行任务时,可以将一个待处理任务拆分得到的多个可执行任务作为一个可执行任务组。
步骤S62:根据所述第二任务调度参数,为所述可执行任务分配执行所述可执行任务占用所述业务系统的资源。
本示例中,根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源,从而使所述业务系统执行待处理任务的资源利用率最大化,提高了任务调度的效率,保证业务系统的机器使用率趋于最高效的状态,避免机器资源的浪费。
在一个可选的示例中,所述历史任务,为完成队列和失败队列中抽样获取的任务,进而获取对应的历史任务数据。具体的,图10示出了步骤S01的可选流程,所述流程包括:
步骤S71:抽样获取所述完成队列和所述失败队列中的任务为历史任务;
可选的,可以采用已有的算法对任务进行抽样获取,从而确定具体的历史任务。可选的,还可以从所述完成队列和所述失败队列中进一步获取对应历史任务的历史任务结果信息。
步骤S72:获取对应所述历史任务的历史任务数据。
在确定具体点的历史任务后,可以根据对应的历史任务,从全链路监控数据中获取对应的历史任务数据。
通过从完成队列和失败队列中抽样获取历史任务,可以减少任务调度更新参数预测过程中的计算量。
下面,对本示例中的任务调度平台中的各组件,进行详细的说明。
参考图11所示的管理器的可选功能示意图,可以看出,管理器用于实现任务管理和资源管理,其中,任务管理包括用于对job任务进行管理的job管理和用于对task任务进行管理的task管理,资源管理包括标签(label)管理和执行器(worker)管理。
其中,label管理用于对worker进行标签标识,用于对Label进行增删改查等操作,其中,需要说明的是,删除标识分为物理删除与逻辑删除。
在对worker进行标签标识时,可以将不同机房的worker标为不同的Label,如:group_tj、group_bj、group_gz等,或者,将不同性能的worker标为不同的Label,如capa_high、capa_middle、capa_low等,或者,还可以将不同任务类型标为不同的Label,比如:runtime_mode、batch_mode等,在其他示例中,还可以根据业务的需求标记为不同的Label,如:busi_user、busi_order、busi_resource等。
worker管理用于对在线/离线的worker进行管理,包括worker强制下线、执行器标记(workerlabel)操作等。其中,workerlabel操作用于为具体的worker确定标识,以对worker进行身份标识。
其中,Label信息,worker信息,worker label信息在manager中维护后写入注册中心(register)供别的组件订阅使用。
参考图12所示的注册中心的可选功能示意图,可以看出,注册中心用于实现信息(Info)管理和队列(Quene)管理,其中,信息管理用于对Worker信息(Worker Info)和Job信息(Job Info)进行管理,队列管理用于对队列进行管理。
信息管理主要用于接收注册的Worker信息与Job信息。其中,当Worker的信息与Manager维护的Job信息变化时都会实时注册到Register,并且,将对应的信息变化及时通知订阅组件。例如当Worker启动或者断开时,都会实时更新Worker Info的状态;当Manager维护的Job超时需要重新分配worker,或者Job异常需要重试执行时,都会实时更新JobInfo的状态;而对应的WorkerInfo与JobInfo变化时,都会及时通知Scheduler,由Scheduler进行Task的重新分配。
在本示例中,注册中心还注册有任务调度参数,其中,在学习器确定任务调度更新参数后,将任务调度更新参数发送至注册中心,注册中心将任务调度参数更新为任务调度更新参数,并同时Scheduler,由Scheduler根据更新后的任务调度参数进行任务调度。
队列管理将队列按照Task的生命周期分为等待队列(Waiting Queue)、执行(Executing Queue)、完成队列(Finish Queue)、超时队列(Timeout Queue)、异常队列(Error Queue)、失败队列(Fail Queue)等六种队列,不同的worker拥有不同的队列实例。队列管理根据Worker Info与Job Info的变化,将Task配置在不同的队列。
参考图13所示的调度器的可选功能示意图,可以看出,调度器用于根据任务调度参数将待处理job拆分为具体的可执行任务Task,为所述可执行任务分配所述业务系统的资源(如具体的worker),并将Task添加到分配的worker对应的等待队列(waiting queue)中,供worker消费。
待处理job可以拆分为一个可执行任务组(task group),一个可执行任务组可以包含n个可执行任务。其中,n为大于或等于1的整数。
job任务可以分为计时器作业(timer job)、实时作业(realtime job)、守护作业(daemon job)等,拆分后的Task根据job的不同分为:定时任务(timer task)、循环任务(circle task)、守护任务(daemon task)等。
在具体的拆分过程中,Job拆分时可以采用动态拆分算法,每隔min(timer)进行一次拆分。其中,动态参数算法是指根据任务调度参数进行动态拆分,比如通过学习模块调整任务调度参数中的线程数(如从5调整到10),那么Job拆分时也做相应调整。
在Job进行任务分配时,遵循管道空间预填充算法,如图14所示的管道空间预填充算法示意图,即Scheduler在进行任务分配时,根据task的资源需求(时间、CPU,Memory)情况,将task均匀分配到alive worker中,并确保每个worker的cpu、memeory使用率趋于最高效的状态。
参考图15所示的业务系统中worker的可选功能示意图,可以看出,worker用于监听注册中心分配自己的Task并进行处理,执行异常则将Task封装为TaskResult转移至异常队列,执行成功则将Task封装为TaskResult转移至完成队列。
具体的,Worker监听对应自己的Waiting Queue,当Waiting Queue中有新的Task任务,新添加的task根据添加逻辑在未来指定时间点执行(如图14中Job B-Group2-Task0)。
并且,Worker还初始化Job的Task Runner(实例执行器),TaskRunner可以是多线程模式也可以多进程模式。
TaskRunner启动后,休眠(sleep)至task指定的时间点(如图14中Job B-Group2-Task0),执行task具体的内容;执行完毕后则创建TaskResult添加进入FinishQueue,同时删除Task;执行失败则创建TaskResult添加进入ErrorQueue,同时删除Task;执行过程中,产生Task的全链路监控日志,写入MQ中。
参考图16所示的学习器的可选功能示意图,可以看出,学习器用于获取历史任务数据,并根据历史任务数据实现任务调度更新参数的确定。
具体的,学习器60可以监听失败队列与完成队列,实时获取失败队列与完成队列中已处理业务,并获取已处理业务在业务系统的历史任务数据;根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源;根据所述历史任务数据和所述待处理任务的资源需求信息和业务系统的可用资源,确定任务调度更新参数,以使所述待处理任务的资源分配策略与所述业务系统的可用资源相匹配。
其中,学习器60可以全量或抽样对任务执行结果信息与任务运行信息进行持续学习,对任务执行进行分析,动态调整任务调度参数。
在确定任务调度更新参数后,所述学习器60还可以将任务调度更新参数发送给调度器50,以使调度器50将任务调度参数更新为所述任务调度更新参数。
上文描述了本发明实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本发明实施例披露、公开的实施例方案。
下面对本发明实施例提供的任务调度装置进行介绍,下文描述的任务调度装置可以认为是,为实现本发明实施例提供的任务调度方法所需设置的功能模块。下文描述的任务调度装置的内容,可与上文描述的任务调度方法的内容,相互对应参照。
在可选实现中,图17示出了本发明实施例提供的任务调度装置的可选框图,如图17所示,该装置可以包括:
获取模块110,用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;
学习模块120,用于至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
更新模块130,用于基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
调度模块140,用于根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
本发明实施例还提供一种服务器,该服务器可以通过计算机可执行指令的形式,装载上述所述的任务调度装置。可选的,图18示出了本发明实施例提供的服务器的可选框图,如图13所示,该服务器可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本发明实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为用于进行网络通信的通信模块的接口;
处理器1可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,存储器3存储一条或多条计算机可执行指令,处理器1调用所述一条或多条计算机可执行指令,以执行本发明实施例提供的任务调度方法。
本发明实施例还提供一种存储介质,该存储介质可以存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行本发明实施例提供的对象搜索方法。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
综上,第1方面,本发明实施例提供一种任务调度方法,包括:
获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;
至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
第2方面,根据第1方面所述的任务调度方法,所述至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,包括:
根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源;
根据所述历史任务数据、所述待处理任务的资源需求信息和所述业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
第3方面,根据第2方面所述的任务调度方法,所述根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源,包括:
根据所述历史任务数据,训练参数学习模型,所述历史任务数据包括所述历史任务结果信息和历史任务运行信息;
利用所述参数学习模型,预测待处理任务的资源需求信息和业务系统的可用资源。
第4方面,根据第3方面所述的任务调度方法,所述根据所述历史任务数据,训练参数学习模型,包括:
根据所述历史任务结果信息和历史任务运行信息,统计所述业务系统的性能数据,所述性能数据包括业务系统的执行数据量、任务执行时长和对应任务的任务调度参数;
基于所述历史任务数据和所述性能数据,训练所述参数学习模型。
第5方面,根据第3或4方面所述的任务调度方法,所述参数学习模型采用回归预测算法,预测待处理任务的资源需求信息和业务系统的可用资源。
第6方面,根据第2方面所述的任务调度方法,所述待处理任务的资源需求信息包括:所述待处理任务的任务量和所述待处理任务对应的资源占用量;所述业务系统的可用资源包括:所述业务系统的可用计算量和所述业务系统的可用存储量。
第7方面,根据第2方面所述的任务调度方法,所述根据所述历史任务数据、所述待处理任务的资源需求信息和所述业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,包括:
根据所述历史任务数据,统计得到历史任务的任务统计时长,所述任务统计时长为执行任务所占用的平均统计时长;
基于所述平均统计时长、待处理任务的资源需求信息和业务系统的可用资源,计算得到使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
第8方面,根据第1方面所述的任务调度方法,所述基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数,包括:
判断所述任务调度更新参数是否到达更新级别;
若所述任务调度更新参数达到更新级别,将所述第一任务调度参数更新为第二任务调度参数。
第9方面,根据第1方面所述的任务调度方法,所述任务调度更新参数为用于更新的第二任务调度参数;或者,所述任务调度更新参数为以第一任务调度参数为基础的变化量,所述第二任务调度参数根据所述第一任务调度参数和所述任务调度更新参数计算得到。
第10方面,根据第1或2方面所述的任务调度方法,所述根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源,包括:
根据所述第二任务调度参数,将所述待处理任务拆分为可执行任务;
根据所述第二任务调度参数,为所述可执行任务分配执行所述可执行任务占用所述业务系统的资源。
第11方面,根据第10方面所述的任务调度方法,所述可执行任务在所述业务系统执行结束后,被配置到失败队列或完成队列。
第12方面,根据第11方面所述的任务调度方法,其特征在于,所述获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据,包括:
抽样获取所述完成队列和所述失败队列中的任务为历史任务;
获取对应所述历史任务的历史任务数据。
第13方面,根据第1方面所述的任务调度方法,所述获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据之后,还包括:
在所述历史任务数据异常时,发出报警信息。
第14方面,根据第1方面所述的任务调度方法,所述任务调度更新参数包括:任务执行的并行度、任务执行的调度策略和任务的重试次数阈值的中的一个或多个。
第15方面,本发明实施例提供一种任务调度装置,包括:
获取模块,用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;
学习模块,用于至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
更新模块,用于基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
调度模块,用于根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
第16方面,本发明实施例提供一种任务调度平台,包括:
学习器,用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;并至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
注册中心,用于基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
调度器,用于根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
第17方面,根据第16方面所述的任务调度平台,所述学习器用于至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,包括:
根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源;
根据所述历史任务数据、所述待处理任务的资源需求信息和所述业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
第18方面,根据第17方面所述的任务调度平台,所述学习器用于根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源,包括:
根据所述历史任务数据,训练参数学习模型,所述历史任务数据包括所述历史任务结果信息和历史任务运行信息;
利用所述参数学习模型,预测待处理任务的资源需求信息和业务系统的可用资源。
第19方面,根据第18方面所述的任务调度平台,所述学习器用于根据所述历史任务数据,训练参数学习模型,包括:
根据所述历史任务结果信息和历史任务运行信息,统计所述业务系统的性能数据,所述性能数据包括业务系统的执行数据量、任务执行时长和对应任务的任务调度参数;
基于所述历史任务数据和所述性能数据,训练所述参数学习模型。
第20方面,根据第18或19方面所述的任务调度平台,所述参数学习模型采用回归预测算法,预测待处理任务的资源需求信息和业务系统的可用资源。
第21方面,根据第17方面所述的任务调度平台,所述待处理任务的资源需求信息包括:所述待处理任务的任务量和所述待处理任务对应的资源占用量;所述业务系统的可用资源包括:所述业务系统的可用计算量和所述业务系统的可用存储量。
第22方面,根据第17方面所述的任务调度平台,所述学习器,用于根据所述历史任务数据、所述待处理任务的资源需求信息和所述业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,包括:
根据所述历史任务数据,统计得到历史任务的任务统计时长,所述任务统计时长为执行任务所占用的平均统计时长;
基于所述平均统计时长、待处理任务的资源需求信息和业务系统的可用资源,计算得到使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
第23方面,根据第16方面所述的任务调度平台,所述注册中心用于基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数,包括:
判断所述任务调度更新参数是否到达更新级别;
若所述任务调度更新参数与所述任务调度参数相比,达到更新级别,将所述第一任务调度参数更新为第二任务调度参数。
第24方面,根据第16方面所述的任务调度平台,
所述任务调度更新参数为用于更新的第二任务调度参数;
或者,
所述任务调度更新参数为以第一任务调度参数为基础的变化量,所述第二任务调度参数根据所述第一任务调度参数和所述任务调度更新参数计算得到。
第25方面,根据第16或17方面所述的任务调度平台,所述调度器用于根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源,包括:
根据所述第二任务调度参数,将所述待处理任务拆分为可执行任务;
根据所述第二任务调度参数,为所述可执行任务分配执行所述可执行任务占用所述业务系统的资源。
第26方面,根据第25方面所述的任务调度平台,所述可执行任务在所述业务系统执行结束后,所述注册中心将所述可执行任务配置到失败队列或完成队列。
第27方面,根据第26方面所述的任务调度平台,所述学习器用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据,包括:
抽样获取所述完成队列和所述失败队列中的历史任务;
获取对应所述历史任务的历史任务数据。
第28方面,根据第16方面所述的任务调度平台,所述学习器用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据之后,还包括:
在所述历史任务数据异常时,发出报警信息。
第29方面,根据第16方面所述的任务调度平台,所述任务调度更新参数包括:任务执行的并行度、任务执行的调度策略和任务的重试次数阈值的中的一个或多个。
第30方面,根据第16方面所述的任务调度平台,所述调度器还设置有初始任务调度参数,所述初始任务调度参数用于在所述学习器确定任务调度更新参数前作为第一任务调度参数,为待处理任务分配所述业务系统的资源。
第31方面,根据第16方面所述的任务调度平台,还包括:
报警器,用于在接收到学习器的报警信息时,发出报警消息。
第32方面,根据第16方面所述的任务调度平台,还包括:
管理器,用于接收到待处理任务时,发布所述待处理任务。
第33方面,本发明实施例提供一种服务器,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行第1-14方面的任一方面所述的任务调度方法
第34方面,本发明实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行第1-14方面的任一方面所述的任务调度方法。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;
至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
2.根据权利要求1所述的任务调度方法,其特征在于,所述至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,包括:
根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源;
根据所述历史任务数据、所述待处理任务的资源需求信息和所述业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
3.根据权利要求2所述的任务调度方法,其特征在于,所述根据所述历史任务数据,预测待处理任务的资源需求信息和业务系统的可用资源,包括:
根据所述历史任务数据,训练参数学习模型,所述历史任务数据包括历史任务结果信息和历史任务运行信息;
利用所述参数学习模型,预测待处理任务的资源需求信息和业务系统的可用资源。
4.根据权利要求3所述的任务调度方法,其特征在于,所述根据所述历史任务数据,训练参数学习模型,包括:
根据所述历史任务结果信息和历史任务运行信息,统计所述业务系统的性能数据,所述性能数据包括业务系统的执行数据量、任务执行时长和对应任务的任务调度参数;
基于所述历史任务数据和所述性能数据,训练所述参数学习模型。
5.根据权利要求2所述的任务调度方法,其特征在于,所述根据所述历史任务数据、所述待处理任务的资源需求信息和所述业务系统的可用资源,确定使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数,包括:
根据所述历史任务数据,统计得到历史任务的任务统计时长,所述任务统计时长为执行任务所占用的平均统计时长;
基于所述平均统计时长、待处理任务的资源需求信息和业务系统的可用资源,计算得到使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数。
6.根据权利要求1所述的任务调度方法,其特征在于,所述基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数,包括:
判断所述任务调度更新参数是否到达更新级别;
若所述任务调度更新参数达到更新级别,将所述第一任务调度参数更新为第二任务调度参数。
7.一种任务调度装置,其特征在于,包括:
获取模块,用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;
学习模块,用于至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
更新模块,用于基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
调度模块,用于根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
8.一种任务调度平台,其特征在于,包括:
学习器,用于获取业务系统以第一任务调度参数执行历史任务所生成的历史任务数据;并至少根据所述历史任务数据,预测使所述业务系统执行待处理任务的资源利用率最大化的任务调度更新参数;
注册中心,用于基于所述任务调度更新参数将所述第一任务调度参数更新为第二任务调度参数;
调度器,用于根据所述第二任务调度参数,为所述待处理任务分配所述业务系统的资源。
9.一种服务器,其特征在于,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行权利要求1-6任一项所述的任务调度方法。
10.一种存储介质,其特征在于,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行权利要求1-6任一项所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010432792.5A CN111625331B (zh) | 2020-05-20 | 2020-05-20 | 任务调度方法、装置、平台、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010432792.5A CN111625331B (zh) | 2020-05-20 | 2020-05-20 | 任务调度方法、装置、平台、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625331A true CN111625331A (zh) | 2020-09-04 |
CN111625331B CN111625331B (zh) | 2023-06-16 |
Family
ID=72259969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010432792.5A Active CN111625331B (zh) | 2020-05-20 | 2020-05-20 | 任务调度方法、装置、平台、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625331B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241316A (zh) * | 2020-09-18 | 2021-01-19 | 武汉迎风聚智科技有限公司 | 一种分布式调度应用的方法以及装置 |
CN112286672A (zh) * | 2020-12-30 | 2021-01-29 | 南京智闪萤科技有限公司 | 用于调度任务的方法、计算设备和计算机存储介质 |
CN112612612A (zh) * | 2020-12-25 | 2021-04-06 | 联想未来通信科技(重庆)有限公司 | 一种任务处理方法及装置 |
CN113296907A (zh) * | 2021-04-29 | 2021-08-24 | 上海淇玥信息技术有限公司 | 一种基于集群的任务调度处理方法、系统和计算机设备 |
CN115202888A (zh) * | 2022-09-13 | 2022-10-18 | 清华大学 | 设备调度方法、装置、电子设备及可读存储介质 |
CN115225489A (zh) * | 2022-07-20 | 2022-10-21 | 平安消费金融有限公司 | 队列业务流量阈值动态控制方法、电子设备及存储介质 |
CN115269206A (zh) * | 2022-09-27 | 2022-11-01 | 湖南三湘银行股份有限公司 | 一种基于资源分配的数据处理方法及平台 |
WO2023103624A1 (zh) * | 2021-12-06 | 2023-06-15 | 中兴通讯股份有限公司 | 任务优化方法、装置和计算机可读存储介质 |
CN117170873A (zh) * | 2023-09-12 | 2023-12-05 | 广州云硕科技发展有限公司 | 基于人工智能的资源池管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595783A (zh) * | 2013-11-08 | 2014-02-19 | 深圳先进技术研究院 | 云计算调度系统及云计算调度方法 |
CN107291546A (zh) * | 2016-03-30 | 2017-10-24 | 华为技术有限公司 | 一种资源调度方法及装置 |
CN109144697A (zh) * | 2018-08-30 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、电子设备及存储介质 |
EP3454209A1 (en) * | 2017-06-25 | 2019-03-13 | Ping An Technology (Shenzhen) Co., Ltd. | Multi-task scheduling method and system, application server and computer-readable storage medium |
CN111061565A (zh) * | 2019-12-12 | 2020-04-24 | 湖南大学 | 一种Spark环境下的两段式流水线任务调度方法及系统 |
-
2020
- 2020-05-20 CN CN202010432792.5A patent/CN111625331B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595783A (zh) * | 2013-11-08 | 2014-02-19 | 深圳先进技术研究院 | 云计算调度系统及云计算调度方法 |
CN107291546A (zh) * | 2016-03-30 | 2017-10-24 | 华为技术有限公司 | 一种资源调度方法及装置 |
EP3454209A1 (en) * | 2017-06-25 | 2019-03-13 | Ping An Technology (Shenzhen) Co., Ltd. | Multi-task scheduling method and system, application server and computer-readable storage medium |
CN109144697A (zh) * | 2018-08-30 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、电子设备及存储介质 |
CN111061565A (zh) * | 2019-12-12 | 2020-04-24 | 湖南大学 | 一种Spark环境下的两段式流水线任务调度方法及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241316A (zh) * | 2020-09-18 | 2021-01-19 | 武汉迎风聚智科技有限公司 | 一种分布式调度应用的方法以及装置 |
CN112612612A (zh) * | 2020-12-25 | 2021-04-06 | 联想未来通信科技(重庆)有限公司 | 一种任务处理方法及装置 |
CN112286672A (zh) * | 2020-12-30 | 2021-01-29 | 南京智闪萤科技有限公司 | 用于调度任务的方法、计算设备和计算机存储介质 |
CN112286672B (zh) * | 2020-12-30 | 2021-05-07 | 南京智闪萤科技有限公司 | 用于调度任务的方法、计算设备和计算机存储介质 |
CN113296907A (zh) * | 2021-04-29 | 2021-08-24 | 上海淇玥信息技术有限公司 | 一种基于集群的任务调度处理方法、系统和计算机设备 |
CN113296907B (zh) * | 2021-04-29 | 2023-12-22 | 上海淇玥信息技术有限公司 | 一种基于集群的任务调度处理方法、系统和计算机设备 |
WO2023103624A1 (zh) * | 2021-12-06 | 2023-06-15 | 中兴通讯股份有限公司 | 任务优化方法、装置和计算机可读存储介质 |
CN115225489A (zh) * | 2022-07-20 | 2022-10-21 | 平安消费金融有限公司 | 队列业务流量阈值动态控制方法、电子设备及存储介质 |
CN115225489B (zh) * | 2022-07-20 | 2023-07-11 | 平安消费金融有限公司 | 队列业务流量阈值动态控制方法、电子设备及存储介质 |
CN115202888B (zh) * | 2022-09-13 | 2023-02-03 | 清华大学 | 设备调度方法、装置、电子设备及可读存储介质 |
CN115202888A (zh) * | 2022-09-13 | 2022-10-18 | 清华大学 | 设备调度方法、装置、电子设备及可读存储介质 |
CN115269206B (zh) * | 2022-09-27 | 2023-01-10 | 湖南三湘银行股份有限公司 | 一种基于资源分配的数据处理方法及平台 |
CN115269206A (zh) * | 2022-09-27 | 2022-11-01 | 湖南三湘银行股份有限公司 | 一种基于资源分配的数据处理方法及平台 |
CN117170873A (zh) * | 2023-09-12 | 2023-12-05 | 广州云硕科技发展有限公司 | 基于人工智能的资源池管理方法及系统 |
CN117170873B (zh) * | 2023-09-12 | 2024-06-07 | 广州云硕科技发展有限公司 | 基于人工智能的资源池管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111625331B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625331A (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN112162865B (zh) | 服务器的调度方法、装置和服务器 | |
US10015241B2 (en) | Automated profiling of resource usage | |
CN112486648A (zh) | 任务调度方法、装置、系统、电子设备和存储介质 | |
WO2017166803A1 (zh) | 一种资源调度方法及装置 | |
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
Ouyang et al. | Straggler detection in parallel computing systems through dynamic threshold calculation | |
CN113157379A (zh) | 集群节点资源调度方法及装置 | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
CN112162839A (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
Hu et al. | Job scheduling without prior information in big data processing systems | |
CN109614210B (zh) | 基于能耗感知的Storm大数据节能调度方法 | |
Walraven et al. | Adaptive performance isolation middleware for multi-tenant saas | |
CN114564281A (zh) | 容器调度方法、装置、设备及存储介质 | |
Sundar et al. | Communication augmented latest possible scheduling for cloud computing with delay constraint and task dependency | |
CN109992408B (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
CN113626173A (zh) | 调度方法、装置及存储介质 | |
CN116962532A (zh) | 集群任务调度方法、装置、计算机设备及存储介质 | |
CN112416596A (zh) | 一种节点调度方法、装置及设备 | |
CN112463361A (zh) | 一种分布式计算的弹性资源分配的方法和设备 | |
CN115373826B (zh) | 一种基于云计算的任务调度方法及装置 | |
CN107391262B (zh) | 一种作业调度方法及装置 | |
CN115712572A (zh) | 任务的测试方法、装置、存储介质及电子装置 | |
Nayak et al. | Mapping of independent tasks in the cloud computing environment | |
CN112052087A (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 |