CN113238846A - 任务调度的方法以及装置 - Google Patents
任务调度的方法以及装置 Download PDFInfo
- Publication number
- CN113238846A CN113238846A CN202110552950.5A CN202110552950A CN113238846A CN 113238846 A CN113238846 A CN 113238846A CN 202110552950 A CN202110552950 A CN 202110552950A CN 113238846 A CN113238846 A CN 113238846A
- Authority
- CN
- China
- Prior art keywords
- application
- task scheduling
- task
- parameter
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000010801 machine learning Methods 0.000 claims description 22
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书实施例提供任务调度的方法以及装置,其中所述任务调度的方法包括:采集服务链路上的应用的应用运行指标数据;根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数;利用所述任务调度参数,为所述应用调度任务。该方法实现了任务调度参数的自动更新,自动化解决大批量任务运行过程中由于资源抢占导致的应用稳定性问题,无需人工介入,任务调度效率高,满足应急情况下所需的应急效率。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种任务调度的方法。本说明书一个或者多个实施例同时涉及一种任务调度的装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着互联网微服务系统架构的普及,企业应用数量增多。一个具体业务的任务运行,背后涉及多个应用。随着任务数量的增大,执行时间的增长,都对线上应用的运行造成影响。
为保障应用稳定运行,业界传统方案采用人工值班的方式跟进控制任务的调度,导致应急效率低下,人力消耗严重。
发明内容
有鉴于此,本说明书实施例提供了一种任务调度的方法。本说明书一个或者多个实施例同时涉及一种任务调度的装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种任务调度的方法,包括:采集服务链路上的应用的应用运行指标数据;根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数;利用所述任务调度参数,为所述应用调度任务。
可选地,所述根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数,包括:利用所述应用的应用运行指标数据,计算出所述应用的当前应用状态;根据所述预设的各个应用状态分别关联的参数调整规则,匹配出所述应用的当前应用状态关联的参数调整规则;利用匹配出的参数调整规则计算出任务调度参数。
可选地,所述利用所述应用的应用运行指标数据,计算出所述应用的当前应用状态,包括:利用预设的各个应用运行指标阈值范围,计算出所述应用的应用运行指标数据对应的当前应用状态。
可选地,所述当前应用状态,包括:当前应用异常状态、当前应用耗时状态、当前CPU水位状态、当前内存水位状态、当前线程状态中的任一种或多种。
可选地,所述采集服务链路上的应用的应用运行指标数据,包括:采集服务链路上的应用的应用异常日志、应用CPU日志、应用内存日志、和/或应用线程日志中的任意一种或多种应用运行指标数据。
可选地,所述任务调度参数,包括:任务执行速度参数和/或任务数量参数。
可选地,所述利用所述任务调度参数,为所述应用调度任务,包括:将所述任务调度参数下发给所述应用,使所述应用使用所述任务调度参数处理任务;或者,将所述任务调度参数提交给任务调度中心,使所述任务调度中心按照所述任务调度参数下发任务给所述应用;或者,按照所述任务调度参数下发任务给所述应用。
可选地,在将所述任务调度参数下发给所述应用之后,或者,将所述任务调度参数提交给任务调度中心之后,还包括:采集所述任务实际的任务执行数据;判断所述任务执行数据是否与所述任务调度参数符合;如果不符合,重新将所述任务调度参数下发给所述应用,或者,重新将所述任务调度参数提交给任务调度中心;如果连续不符合的次数超过预设次数阈值,重新进入所述采集服务链路上的应用的应用运行指标数据的步骤,以便重新计算任务调度参数。
可选地,所述根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数,包括:将所述应用运行指标数据作为完成训练的任务调度机器学习模型的输入数据,获得所述任务调度机器学习模型输出的任务调度参数;其中,所述任务调度机器学习模型是根据应用的应用运行指标与任务调度参数之间的相关性构建的。
可选地,还包括:获取服务链路上的应用的应用运行指标数据样本以及任务调度参数样本;将所述应用运行指标数据样本作为输入,所述任务调度参数样本作为输出,对任务调度机器学习模型进行训练,得到完成训练的任务调度机器学习模型。
根据本说明书实施例的第二方面,提供了一种任务调度的装置,包括:指标采集模块,被配置为采集服务链路上的应用的应用运行指标数据。参数计算模块,被配置为根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数。任务调度模块,被配置为利用所述任务调度参数,为所述应用调度任务。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:采集服务链路上的应用的应用运行指标数据;根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数;利用所述任务调度参数,为所述应用调度任务。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述任务调度的方法的步骤。
本说明书一个实施例提供了任务调度的方法,该方法采集服务链路上的应用的应用运行指标数据,根据应用的应用运行指标与任务调度参数之间的相关性,计算出任务调度参数,因此,利用任务调度参数,为所述应用调度任务,能够进一步影响应用的应用运行指标,形成闭环,保障应用与任务平稳运行。可见,该方法实现了任务调度参数的自动更新,自动化解决大批量任务运行过程中由于资源抢占导致的应用稳定性问题,无需人工介入,任务调度效率高,满足应急情况下所需的应急效率。
附图说明
图1是本说明书一个实施例提供的一种任务调度的方法的流程图;
图2是本说明书一个实施例提供的应用状态的计算流程示意图;
图3是本说明书一个实施例提供的任务调度参数的计算流程示意图;
图4是本说明书一个实施例提供的任务调度的方法的系统架构示意图;
图5是本说明书一个实施例提供的任务调度的方法的处理流程示意图;
图6是本说明书一个实施例提供的任务调度的方法的另一处理流程示意图;
图7是本说明书一个实施例提供的一种任务调度的装置的结构示意图;
图8是本说明书另一个实施例提供的一种任务调度的装置的结构示意图;
图9是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
应用:在线上部署运行的服务主体,负责一个或多个模块的功能实现,负责承载业务运行流量。
应用状态:应用在实际运行过程中的运行状态,例如,可以将应用运行指标数据经过阈值判断等规则运算后得到应用状态。
任务:应用为了实现某一个或多个业务功能逻辑需求,所执行的计算任务。
调度:针对批量任务,进行任务数量,运行速率等任务调度参数的控制。
链路:业务服务请求所经过的多个应用所串联起来的路径。
脚本:给定输入参数条件,执行对应运维操作的运行程序。
在本说明书中,提供了一种任务调度的方法,本说明书同时涉及一种任务调度的装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种任务调度的方法的流程图,包括步骤102至步骤106。
步骤102:采集服务链路上的应用的应用运行指标数据。
步骤104:根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数。
步骤106:利用所述任务调度参数,为所述应用调度任务。
其中,所述任务调度参数例如可以是任务执行速度参数和/或任务数量参数。
由于该方法采集服务链路上的应用的应用运行指标数据,根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数,因此,利用任务调度参数,为所述应用调度所述服务链路上的任务,能够进一步影响应用的应用运行指标,形成闭环,保障应用与任务平稳运行。可见,该方法实现了任务调度参数的自动更新,自动化解决大批量任务运行过程中由于资源抢占导致的应用稳定性问题,无需人工介入,任务调度效率高,满足应急情况下所需的应急效率。
例如:在某些企业的每季度结息业务场景中,结息需要针对大量的数据通过批量任务方式执行处理,涉及多条业务链路。为保障结息任务的稳定运行,控制运行速率,根据本说明书实施例提供的任务调度的方法,可以自动采集链路上应用的应用运行指标数据,自动调整任务速度和任务数量。即使多种业务场景间的任务链路重叠,资源相互抢占,链路整体负载的多样变化,都能够实现任务调度参数的自动更新,满足任务运行的实效性和准确性的要求。
需要说明的是,本说明书实施例中,对于根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数的具体实施方式不限。
例如,本说明书一个或多个实施例中,所述应用的应用运行指标与任务调度参数之间的相关性可以包括:预设的各个应用状态分别相关联的参数调整规则。例如,所述参数调整规则,可以包括:对在原有任务调度参数基础上上调的规则或在原有任务调度参数基础上下调的规则。在该实施例中,所述根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数,包括:利用所述应用的应用运行指标数据,计算出所述应用的当前应用状态;根据所述预设的各个应用状态分别关联的参数调整规则,匹配出所述应用的当前应用状态关联的参数调整规则;利用匹配出的参数调整规则计算出任务调度参数。在该实施例中,基于应用状态关联参数调整规则,在任务执行过程中,实时感知应用状态,更新任务调度参数,从而在任务执行过程中准确做出反馈,保障应用运行稳定性。
其中,利用应用的应用运行指标数据计算出当前应用状态的具体实施方式不限。例如,可以利用预设的各个应用运行指标阈值范围,计算出所述应用的应用运行指标数据对应的当前应用状态。在该实施例中,可以将应用运行指标阈值范围与各种业务场景下的业务规则要求进行组合得到当前应用状态的决策规则。其中,当前应用状态例如可以包括:当前应用异常状态、当前应用耗时状态、当前CPU水位状态、当前内存水位状态、当前线程状态中的任一种或多种,从而准确感知应用的当前状态。
例如,本说明书一个或多个实施例中,所述采集服务链路上的应用的应用运行指标数据,可以包括:采集服务链路上的应用的应用异常日志、应用CPU日志、应用内存日志、和/或应用线程日志中的任意一种或多种应用运行指标数据。举例来说,假设应用的CPU占用指标数据超过预设的CPU阈值范围,则其当前CPU水位状态为“CPU水位过高”;假设应用的应用异常日志显示该应用异常,则当前应用异常状态为“系统错误”;假设应用的内存占用指标数据超过预设内存水位阈值范围,则其当前内存水位状态为“内存水位过高”;假设应用的线程日志显示线程数量超过线程数量阈值范围,则其当前线程状态为“线程繁忙”。可以理解的是,应用运行指标数据可以是多种多样的,具体使用哪些应用运行指标数据来衡量当前应用状态,可以根据实际实施场景需要确定。
其中,所述利用所述任务调度参数,为所述应用调度任务的具体实施方式不限,具体可以根据实际应用场景中控制方的任务控制逻辑来实施。
例如,一个或多个实施例中,任务由应用发起,任务控制逻辑在应用自身,在该实施例中,所述利用所述任务调度参数,为所述应用调度任务,可以包括:将所述任务调度参数下发给所述应用,使所述应用使用所述任务调度参数处理任务。
再例如,一个或多个实施例中,任务由调度中心发起,调度中心暴露对应参数入口,在该实施例中,所述利用所述任务调度参数,为所述应用调度任务,可以包括:将所述任务调度参数提交给任务调度中心,使所述任务调度中心按照所述任务调度参数下发任务给所述应用。
又例如,一个或多个实施例中,任务由本说明书实施例提供的方法发起,任务控制逻辑在本说明书实施例提供的方法的执行主体,在该实施例中,所述利用所述任务调度参数,为所述应用调度任务,可以包括:按照所述任务调度参数下发任务给所述应用。
为了在推送了任务调度参数之后,确定任务的执行实际得以调整,本说明书一个或多个实施例中,在将所述任务调度参数下发给所述应用之后,或者,将所述任务调度参数提交给任务调度中心之后,还包括:采集所述任务实际的任务执行数据;判断所述任务执行数据是否与所述任务调度参数符合;如果不符合,重新将所述任务调度参数下发给所述应用,或者,重新将所述任务调度参数提交给任务调度中心;如果连续不符合的次数超过预设次数阈值,重新进入所述采集服务链路上的应用的应用运行指标数据的步骤,以便重新计算任务调度参数。在该实施例中,任务执行数据可以是应用实际处理的任务数量,任务执行速度等,从而可以确定实际任务是否真实发生数量及速度改变,若并没有发生调整,有可能推送问题,此时重试推送,如果推送多次仍不符合,说明应用运行情况可能发生变化,则可以重新利用新采集的应用运行指标数据计算任务调度参数,以便进一步影响应用的应用运行指标,形成有效的闭环,保障应用与任务平稳运行。
本说明书实施例提供的方法在具体实现任务调度参数的计算时,例如,可以依靠人工专家经验配置符合应用的应用运行指标与任务调度参数之间的相关性的决策规则来计算,又例如,可以基于应用的应用运行指标与任务调度参数之间的相关性来构建任务调度机器学习模型,利用任务调度机器学习模型来计算
具体地,例如,为了能够更加准确地计算出任务调度参数,所述根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数,可以包括:将所述应用运行指标数据作为完成训练的任务调度机器学习模型的输入数据,获得所述任务调度机器学习模型输出的任务调度参数;其中,所述任务调度机器学习模型是根据应用的应用运行指标与任务调度参数之间的相关性构建的。
相应地,可以预先获取服务链路上的应用的应用运行指标数据样本以及任务调度参数样本;将所述应用运行指标数据样本作为输入,所述任务调度参数样本作为输出,对任务调度机器学习模型进行训练,得到完成训练的任务调度机器学习模型。
下述结合附图2,对结合了上述多个实施例的任务调度的方法中,计算当前应用状态的处理流程进行示例性说明。其中,图2示出了根据本说明书实施例提供的应用状态的计算流程示意图。如图2所示,应用状态的计算流程可以包括:步骤202至步骤214。
步骤202:获取应用的应用运行指标数据。
步骤204:加载决策场景,
例如,该决策场景可以包括各个场景下根据应用运行指标阈值范围决策当前应用状态的规则。例如,场景配置可以包括:系统错误递增、系统水位过高场景、系统耗时过长场景等等。
步骤206:加载阈值规则。例如,该阈值规则可以包括各个场景下的应用运行指标阈值范围,例如,CPU阈值范围等。
步骤208:是否满足阈值。例如,可以针对一个应用运行指标数据判断是否满足对应的应用运行指标阈值范围。
如果否,返回步骤202,继续判断下一个指标的应用运行指标数据。
步骤210:如果是,获取状态定义。其中,一个应用运行指标对应的状态定义可以有多个,步骤210一次可以获取一个状态定义。例如,应用CPU水位指标对应的状态定义可以包括:超过水位上限、超过水位下限。
步骤212:判断应用运行指标数据是否满足该状态定义。
如果否,回到步骤210获取下个状态定义。
步骤214:如果是,则得到该状态定义所定义的当前应用状态。
可以理解的是,为了避免实时查询导致的耗时问题,应用状态的计算流程与任务调度参数的计算流程可以是分别独立运行的,图2所示流程输出的更新的当前应用状态可以写入缓存,当需要计算任务调度参数时可以从缓存获取最新的当前应用状态。
下述结合附图3,对结合了上述多个实施例的任务调度的方法中,计算任务调度参数的处理流程进行详细说明。其中,图3示出了根据本说明书实施例提供的任务调度参数的计算流程示意图。如图3所示,任务调度参数的计算流程可以包括:步骤302至步骤316。
步骤302:获取应用的当前应用状态。
步骤304:加载任务运行脚本。
例如,该任务运行脚本可以用于根据输入的当前应用状态,匹配出参数调整规则,调整出任务数量和速度参数。其中的策略,可以包括:各个应用状态关联的参数调整规则。
步骤306:根据当前应用状态,遍历策略。例如,可以对各个参数调整规则进行遍历。
步骤308:获取任务运行脚本计算所需的入参。例如,该入参可以包括本轮调度使用的任务调度参数,缓存中最新的当前应用状态,加载入参后以便在后面的步骤中基于本轮的任务调度参数的基础上进行调整。
步骤310:判断当前应用状态是否满足当前策略。当前策略是指当前遍历到的参数调整规则,其中,不同参数调整规则关联的应用状态不同。步骤308中一次可以判断是否满足一个参数调整规则关联的应用状态。如果不满足,则可以返回步骤306,遍历到下一策略。
步骤312:如果满足,则利用当前策略计算出任务数量和速度参数。
步骤314:在生效了新的任务数量和速度参数之后,推送任务数量和速度参数。
步骤316:判断任务实际的任务执行数据是否符合预期,也即是否符合推送的任务数量和速度参数。
如果否,则可以尝试重新推送。
如果是,则该任务调度参数的执行效果影响到了应用的应用当前状态,形成闭环,结束本次调整。
为了使本说明书实施例提供的方法更加易于理解,下述结合附图4,以结合了上述多个实施例的任务调度的方法在大批量任务跑批场景为例,对所述任务调度的方法进行进一步说明。其中,图4示出了根据本说明书实施例提供的任务调度的方法的系统架构示意图。
如图4所示,以配置应用A的批量任务自动调度方案为例,根据批量任务所属应用A,在指标采集平台402上,配置应用A及其调用应用B的指标采集脚本,定时运行采集脚本。采集脚本通过http等调用服务,从应用监测平台404上,采集获取应用错误日志,应用CPU,应用内存,应用线程数等应用运行指标数据,进行数据补缺清洗处理,并将数据输出至规则决策平台。
规则决策平台406上配置了规则决策脚本。规则决策脚本是各个应用运行指标阈值范围与各场景下应用状态的匹配规则的组合。规则决策平台针对应用A的应用运行指标数据,根据各个应用运行指标阈值范围与各个场景下应用状态的匹配规则,计算出例如配置系统错误,耗时过长,水位过高,线程繁忙等一个或多个当前应用状态的信息,将当前应用状态的信息输出至任务脚本平台。
任务脚本平台408配置了任务运行脚本。运行任务运行脚本,用于根据输入的当前应用状态,自动匹配出参数调整规则,调整出任务数量和速度参数,从而实现任务调度参数的更新并下发任务至运行应用A。
图5示出了基于上述系统架构的任务调度的方法的处理流程示意图。处理过程如下:
1.任务脚本自动触发任务给应用A,应用A接受任务。
2.应用A与应用B互相调用执行任务。
3.采集脚本采集应用运行指标数据,通过规则决策脚本计算,得到当前应用状态。
4.通过任务运行脚本进行规则匹配计算出新的任务调度参数。
5.自动更新任务调度参数。
6.根据更新的任务调度参数调整下发的任务,重新进入步骤1。
可见,本实施例通过感知应用状态,自动调整任务调度参数,根据最新任务调度参数决定任务数量及速度并下发任务给应用A。应用A接受下发任务,根据最新任务数量及速度执行任务。当应用A部署所在机器资源占用率高时,当前应用状态反馈负载情况较高,应用A会接收到较低任务数量和速度的任务调度参数,从而缓解当前资源进展情况,避免应用情况进一步恶化,实现自适应调整,全程无需人工介入。
需要说明的是,上述图5所示处理流程仅用于对本说明书实施例提供的方法进行示意性说明,并不构成对本说明书实施例提供的方法的限制。
图6示出了根据本实施例提供的任务调度的方法的另一处理流程示意图。在图6所示的处理流程中,运行应用可以是任意调用方式的应用。图6所示的处理流程与图5所示的处理流程类似,应用指标经过采集转化,得到应用状态;再经过任务运行脚本的规则匹配,得到更新参数;任务运行脚本根据更新参数调整下发任务的任务速度、数量,控制运行应用对任务的处理。运行应用应用运行过程中又产出反馈指标,如此形成闭环。通过图6所示的人工调整与自动调度的时间与速率变化曲线图的比较可见,本实施例通过采集应用运行指标数据计算得出当前应用状态,根据当前应用状态匹配的参数调整规则实现更新任务调度参数,从而实现了应用批量任务的速度及数量的自动调整,导致应用状态根据执行任务的变化发生改变,从而实现基于应用状态的批量任务自动调度,任务调整平滑,充分利用资源,能够保证应用与任务的平稳运行。
需要说明的是,在本说明书实施例提供的方法中,调度管理员可以在后台自定义编辑需要采集的应用运行指标数据有哪些、需要计算的任务调度参数有哪些。例如,还可以自定义计算任务调度参数、计算当前应用状态的规则。再例如,调度管理员还可以设置快捷语音指令以及关键的字段数据。例如,可以设置应用运行指标数据、当前应用状态等在任务调度界面上高亮显示的字段。还可以根据实施场景需要,在界面中为调度管理员提供修改相关信息的编辑修改的能力,可以语音修改或者文本录入修改。根据实施场景需要,还可以给其他调度管理员发送消息。例如,在调度批量任务的场景中,如果该任务的调度涉及到其他调度管理员,还可以根据任务的设置信息给其他调度管理员发送例如任务调度提醒消息。
本说明书实施例提供的任务调度的方法可以支持多个维度的入口接入,例如软件应用端的接入,操作系统级的接入、各种类型的微服务系统的接入等等。例如,在软件应用端或操作系统应用本说明书实施例提供的方法,可以提高该软件应用或操作系统的任务调度效率,减少调度管理员介入。再例如,在各种类型的微服务系统应用本说明书实施例提供的方法,可以提高服务系统的任务调度效率,减少人工介入。
与上述方法实施例相对应,本说明书还提供了任务调度的装置实施例,图7示出了本说明书一个实施例提供的一种任务调度的装置的结构示意图。如图7所示,该装置包括:指标采集模块702、参数计算模块704及任务调度模块706。
该指标采集模块702,可以被配置为采集服务链路上的应用的应用运行指标数据。
该参数计算模块704,可以被配置为根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数。
该任务调度模块706,可以被配置为利用所述任务调度参数,为所述应用调度任务。
该装置采集服务链路上的应用的应用运行指标数据,根据应用的应用运行指标与任务调度参数之间的相关性,计算出任务调度参数,因此,利用任务调度参数,为所述应用调度任务,能够进一步影响应用的应用运行指标,形成闭环,保障应用与任务平稳运行。可见,该装置实现了任务调度参数的自动更新,自动化解决大批量任务运行过程中由于资源抢占导致的应用稳定性问题,无需人工介入,任务调度效率高,满足应急情况下所需的应急效率。
图8示出了本说明书另一个实施例提供的一种任务调度的装置的结构示意图。如图8所示,所述参数计算模块704可以包括:状态计算子模块7042、调整规则匹配子模块7044及参数计算子模块7046。
该状态计算子模块7042,可以被配置为利用所述应用的应用运行指标数据,计算出所述应用的当前应用状态。
该调整规则匹配子模块7044,可以被配置为根据所述预设的各个应用状态分别关联的参数调整规则,匹配出所述应用的当前应用状态关联的参数调整规则;
该参数计算子模块7046,可以被配置为利用匹配出的参数调整规则计算出任务调度参数。
其中,所述状态计算子模块7042,可以被配置为利用预设的各个应用运行指标阈值范围,计算出所述应用的应用运行指标数据对应的当前应用状态。
其中,所述当前应用状态,包括:当前应用异常状态、当前应用耗时状态、当前CPU水位状态、当前内存水位状态、当前线程状态中的任一种或多种。
其中,所述指标采集模块702,可以被配置为采集服务链路上的应用的应用异常日志、应用CPU日志、应用内存日志、和/或应用线程日志中的任意一种或多种应用运行指标数据。
其中,所述任务调度参数,包括:任务执行速度参数和/或任务数量参数。
其中,所述任务调度模块706,可以被配置为将所述任务调度参数下发给所述应用,使所述应用使用所述任务调度参数处理任务;或者,将所述任务调度参数提交给任务调度中心,使所述任务调度中心按照所述任务调度参数下发任务给所述应用;或者,按照所述任务调度参数下发任务给所述应用。
为了在推送了任务调度参数之后,确定任务的执行实际得以调整,如图8所示,该装置还可以包括:任务实际状态反馈模块708,可以被配置为在所述任务调度模块706将所述任务调度参数下发给所述应用之后,或者,将所述任务调度参数提交给任务调度中心之后,采集所述任务实际的任务执行数据。任务实际状态判断模块710,可以被配置为判断所述任务执行数据是否与所述任务调度参数符合。参数重新推送模块712,可以被配置为如果所述任务实际状态判断模块710确定不符合,重新将所述任务调度参数下发给所述应用,或者,重新将所述任务调度参数提交给任务调度中心。如果连续不符合的次数超过预设次数阈值,触发参数计算模块704获取更新的当前应用状态以重新计算任务调度参数,或者,触发所述指标采集模块702重新进入所述采集服务链路上的应用的应用运行指标数据的步骤,以便重新计算任务调度参数。
为了能够更加准确地计算出任务调度参数,本说明书一个或多个实施例中,所述参数计算模块704,可以被配置为将所述应用运行指标数据作为完成训练的任务调度机器学习模型的输入数据,获得所述任务调度机器学习模型输出的任务调度参数;其中,所述任务调度机器学习模型是根据应用的应用运行指标与任务调度参数之间的相关性构建的。
相应地,如图8所示,该装置还可以包括:模型训练模块716,可以被配置为获取服务链路上的应用的应用运行指标数据样本以及任务调度参数样本;将所述应用运行指标数据样本作为输入,所述任务调度参数样本作为输出,对任务调度机器学习模型进行训练,得到完成训练的任务调度机器学习模型。
上述为本实施例的一种任务调度的装置的示意性方案。需要说明的是,该任务调度的装置的技术方案与上述的任务调度的方法的技术方案属于同一构思,任务调度的装置的技术方案未详细描述的细节内容,均可以参见上述任务调度的方法的技术方案的描述。
图9示出了根据本说明书一个实施例提供的一种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如I EEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
其中,处理器920用于执行如下计算机可执行指令:
采集服务链路上的应用的应用运行指标数据;
根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数;
利用所述任务调度参数,为所述应用调度任务。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的任务调度的方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述任务调度的方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
采集服务链路上的应用的应用运行指标数据;
根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数;
利用所述任务调度参数,为所述应用调度任务。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的任务调度的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述任务调度的方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种任务调度的方法,包括:
采集服务链路上的应用的应用运行指标数据;
根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数;
利用所述任务调度参数,为所述应用调度任务。
2.根据权利要求1所述的方法,所述根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数,包括:
利用所述应用的应用运行指标数据,计算出所述应用的当前应用状态;
根据预设的各个应用状态分别关联的参数调整规则,匹配出所述应用的当前应用状态关联的参数调整规则;
利用匹配出的参数调整规则计算出任务调度参数。
3.根据权利要求2所述的方法,所述利用所述应用的应用运行指标数据,计算出所述应用的当前应用状态,包括:
利用预设的各个应用运行指标阈值范围,计算出所述应用的应用运行指标数据对应的当前应用状态。
4.根据权利要求2所述的方法,所述当前应用状态,包括:
当前应用异常状态、当前应用耗时状态、当前CPU水位状态、当前内存水位状态、当前线程状态中的任一种或多种。
5.根据权利要求1所述的方法,所述采集服务链路上的应用的应用运行指标数据,包括:
采集服务链路上的应用的应用异常日志、应用CPU日志、应用内存日志、和/或应用线程日志中的任意一种或多种应用运行指标数据。
6.根据权利要求1所述的方法,所述任务调度参数,包括:
任务执行速度参数和/或任务数量参数。
7.根据权利要求1所述的方法,所述利用所述任务调度参数,为所述应用调度任务,包括:
将所述任务调度参数下发给所述应用,使所述应用使用所述任务调度参数处理任务;
或者,
将所述任务调度参数提交给任务调度中心,使所述任务调度中心按照所述任务调度参数下发任务给所述应用;
或者,
按照所述任务调度参数下发任务给所述应用。
8.根据权利要求7所述的方法,在将所述任务调度参数下发给所述应用之后,或者,将所述任务调度参数提交给任务调度中心之后,还包括:
采集所述任务实际的任务执行数据;
判断所述任务执行数据是否与所述任务调度参数符合;
如果不符合,重新将所述任务调度参数下发给所述应用,或者,重新将所述任务调度参数提交给任务调度中心;
如果连续不符合的次数超过预设次数阈值,重新进入所述采集服务链路上的应用的应用运行指标数据的步骤,以便重新计算任务调度参数。
9.根据权利要求1所述的方法,所述根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数,包括:
将所述应用运行指标数据作为完成训练的任务调度机器学习模型的输入数据,获得所述任务调度机器学习模型输出的任务调度参数;
其中,所述任务调度机器学习模型是根据应用的应用运行指标与任务调度参数之间的相关性构建的。
10.根据权利要求9所述的方法,还包括:
获取服务链路上的应用的应用运行指标数据样本以及任务调度参数样本;
将所述应用运行指标数据样本作为输入,所述任务调度参数样本作为输出,对任务调度机器学习模型进行训练,得到完成训练的任务调度机器学习模型。
11.一种任务调度的装置,包括:
指标采集模块,被配置为采集服务链路上的应用的应用运行指标数据;
参数计算模块,被配置为根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数;
任务调度模块,被配置为利用所述任务调度参数,为所述应用调度任务。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
采集服务链路上的应用的应用运行指标数据;
根据应用的应用运行指标与任务调度参数之间的相关性,利用所述应用运行指标数据计算出任务调度参数;
利用所述任务调度参数,为所述应用调度任务。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述任务调度的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552950.5A CN113238846A (zh) | 2021-05-20 | 2021-05-20 | 任务调度的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552950.5A CN113238846A (zh) | 2021-05-20 | 2021-05-20 | 任务调度的方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113238846A true CN113238846A (zh) | 2021-08-10 |
Family
ID=77137836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110552950.5A Pending CN113238846A (zh) | 2021-05-20 | 2021-05-20 | 任务调度的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238846A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573501A (zh) * | 2023-12-08 | 2024-02-20 | 行吟信息科技(武汉)有限公司 | 指标采集方法及相关产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160299785A1 (en) * | 2015-04-09 | 2016-10-13 | International Business Machines Corporation | Datacenter scheduling of applications using machine learning techniques |
US20180329741A1 (en) * | 2017-05-10 | 2018-11-15 | King Abdulaziz University | Task scheduling in a green data center |
CN109144699A (zh) * | 2018-08-31 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 分布式任务调度方法、装置及系统 |
CN111966484A (zh) * | 2020-06-23 | 2020-11-20 | 北京大学 | 一种基于深度强化学习的集群资源管理和任务调度方法及系统 |
US20210081787A1 (en) * | 2019-09-12 | 2021-03-18 | Beijing University Of Posts And Telecommunications | Method and apparatus for task scheduling based on deep reinforcement learning, and device |
US20210124757A1 (en) * | 2017-06-25 | 2021-04-29 | Ping An Technology (Shenzhen) Co., Ltd. | Multi-task scheduling method and system, application server and computer-readable storage medium |
CN112799794A (zh) * | 2019-11-14 | 2021-05-14 | 马上消费金融股份有限公司 | 一种大数据调度方法、装置、系统和存储装置 |
-
2021
- 2021-05-20 CN CN202110552950.5A patent/CN113238846A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160299785A1 (en) * | 2015-04-09 | 2016-10-13 | International Business Machines Corporation | Datacenter scheduling of applications using machine learning techniques |
US20180329741A1 (en) * | 2017-05-10 | 2018-11-15 | King Abdulaziz University | Task scheduling in a green data center |
US20210124757A1 (en) * | 2017-06-25 | 2021-04-29 | Ping An Technology (Shenzhen) Co., Ltd. | Multi-task scheduling method and system, application server and computer-readable storage medium |
CN109144699A (zh) * | 2018-08-31 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 分布式任务调度方法、装置及系统 |
US20210081787A1 (en) * | 2019-09-12 | 2021-03-18 | Beijing University Of Posts And Telecommunications | Method and apparatus for task scheduling based on deep reinforcement learning, and device |
CN112799794A (zh) * | 2019-11-14 | 2021-05-14 | 马上消费金融股份有限公司 | 一种大数据调度方法、装置、系统和存储装置 |
CN111966484A (zh) * | 2020-06-23 | 2020-11-20 | 北京大学 | 一种基于深度强化学习的集群资源管理和任务调度方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573501A (zh) * | 2023-12-08 | 2024-02-20 | 行吟信息科技(武汉)有限公司 | 指标采集方法及相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449774B2 (en) | Resource configuration method and apparatus for heterogeneous cloud services | |
CN108632365B (zh) | 服务资源调整方法、相关装置和设备 | |
US11074105B2 (en) | Systems and methods for digital workforce intelligent orchestration | |
Han et al. | Tailored learning-based scheduling for kubernetes-oriented edge-cloud system | |
CN107204894B (zh) | 网络业务质量的监控方法及装置 | |
CN104901989B (zh) | 一种现场服务提供系统及方法 | |
CN114048857B (zh) | 算力分配方法、装置及算力服务器 | |
KR20220030050A (ko) | 복수의 vnf(virtualized network function)에 대한 컴퓨팅 자원의 할당을 조정하는 방법 및 그 서버 | |
CN116450312A (zh) | 面向流水线并行训练的调度策略确定方法及系统 | |
CN116702907A (zh) | 一种服务器无感知的大语言模型推理系统、方法和设备 | |
CN113238846A (zh) | 任务调度的方法以及装置 | |
GB2599348A (en) | Method and system for autoscaling containers in a cloud-native core network | |
CN103442087B (zh) | 一种基于响应时间趋势分析的Web服务系统访问量控制装置和方法 | |
US11868808B2 (en) | Automatic driving simulation task scheduling method and apparatus, device, and readable medium | |
CN110535670B (zh) | 一种nfv容量规划方法及电子设备 | |
CN109978172B (zh) | 一种基于极限学习机的资源池利用率预测方法及装置 | |
CN110245019A (zh) | 一种自适应系统资源的线程并发方法及装置 | |
CN116149848A (zh) | 负载预测方法、装置、电子设备及存储介质 | |
CN113986495A (zh) | 一种任务执行方法、装置、设备及存储介质 | |
CN114862098A (zh) | 资源分配方法以及装置 | |
CN106533730B (zh) | Hadoop集群组件指标的采集方法及装置 | |
US20220019871A1 (en) | Method for Adapting a Software Application Executed in a Gateway | |
CN105824809B (zh) | 一种etl调度的实现方法及装置 | |
CN110780993A (zh) | 一种基于Kubernetes的资源调度优化的方法、设备及介质 | |
CN113296870B (zh) | 预测Kubernetes集群配置的方法以及装置 |
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 |