CN117215753A - 任务调度方法、装置、设备及介质 - Google Patents

任务调度方法、装置、设备及介质 Download PDF

Info

Publication number
CN117215753A
CN117215753A CN202311348362.5A CN202311348362A CN117215753A CN 117215753 A CN117215753 A CN 117215753A CN 202311348362 A CN202311348362 A CN 202311348362A CN 117215753 A CN117215753 A CN 117215753A
Authority
CN
China
Prior art keywords
task
scheduled
queue
scheduling
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311348362.5A
Other languages
English (en)
Inventor
王富霖
陈道长
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202311348362.5A priority Critical patent/CN117215753A/zh
Publication of CN117215753A publication Critical patent/CN117215753A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例属于云计算领域,涉及一种任务调度方法,包括获取待调度任务集,其中,待调度任务集包括若干个待调度任务、与每个待调度任务相对应的优先级及与每个待调度任务相对应的任务所需运行时长;根据优先级及任务所需运行时长识别待调度任务集中每个待调度任务的时效等级;识别待调度任务集对应的多个调度队列;基于多个调度队列及时效等级为待调度任务集进行任务调度。本申请还提供一种任务调度装置、设备及介质。此外,本申请还涉及区块链技术,待调度任务集可存储于区块链中。本申请可以提高任务调度的效率。

Description

任务调度方法、装置、设备及介质
技术领域
本申请涉及云计算领域,尤其涉及一种任务调度方法、装置、设备及介质。
背景技术
随着互联网技术的发展,Hadoop平台进行任务调度以高可靠、高可扩展、高效、高容错、低成本等多种特性被广泛应用于企业中,例如,金融领域中,对用户的保险产品购买或者理财产品购买等交易数据需要进行保险出单及核保等保险任务,通过Hadoop平台可以实现保险任务的高效调度,以提高用户对保险产品的满意度。
现有一种队列资源使用的方法,通过先进先出调度器(FIFO Scheduler)或容量调度器(Capacity Scheduler)对待调度任务进行队列资源分配,以实现任务调度。
但是,由于每个任务都想尽早、尽快的完成计算,在任务集中调度的过程中,资源抢占在所难免,一般通过设置不同队列的权重达到区分资源分配优先级,然而提交到同一个队列的任务无法区分优先级,不同级别的任务无资源优先差异,高优先级任务无法得到资源优先保障,使得任务调度的队列资源利用率较低,进而导致任务调度的效率较低。
发明内容
本申请实施例的目的在于提出一种任务调度方法、装置、设备及介质,其主要目的是提高任务调度的效率。
为了解决上述技术问题,本申请实施例提供一种任务调度方法,采用了如下所述的技术方案:
获取待调度任务集,其中,所述待调度任务集包括若干个待调度任务、与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长;
根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级;
识别所述待调度任务集对应的多个调度队列;
基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度。
进一步的,所述根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级,包括:
获取所述待调度任务集的时效策略,并将每个所述待调度任务对应的所述任务所需运行时长与所述时效策略中的时效运行时长进行对比,得到对比结果;
判断所述对比结果及所述优先级是否满足预设时效条件;
当所述对比结果及所述优先级满足所述预设时效条件时,确定所述待调度任务的时效等级为高时效等级;
当所述对比结果及所述优先级未满足所述预设时效条件时,确定所述待调度任务的时效等级为低时效等级。
进一步的,所述基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度,包括:
当所述时效等级为高时效等级时,获取所述多个调度队列中的高优先级调度队列;
遍历所述高优先级调度队列的可用资源量,得到多个子队列的子队列权重;
选取所述子队列权重最高的子队列为所述待调度任务集进行任务调度;
当所述时效等级为低时效等级时,获取所述多个调度队列中的低优先级调度队列;
获取所述待调度任务的预估费用,并根据所述预估费用及所述任务所需运行时长确定所述待调度任务的目标时段;
从所述低优先级调度队列中选取所述目标时段对应的低优先级调度队列为所述待调度任务集进行任务调度。
进一步的,所述当所述时效等级为高时效等级时,获取所述多个调度队列中的高优先级调度队列之后,所述方法还包括:
获取所述待调度任务集的所需队列资源及任务权重;
对所述任务权重进行标准化,得到标准权重;
根据所述标准权重对所述待调度任务集中的待调度任务进行所述高优先级调度队列的队列分配,得到初始队列分配结果;
将所述初始队列分配结果与所述所需队列资源进行对比,得到剩余队列资源;
将所述剩余队列资源重新分配给所述待调度任务集中的剩余待调度任务进行任务调度。
进一步的,所述获取与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长,包括:
获取每个所述待调度任务的历史运行时长,根据所述历史运行时长确定所述任务所需运行时长;
获取每个所述待调度任务的任务类型,并识别所述任务类型的所属的任务紧急程度等级;
根据所述任务紧急程度等级及所述任务所需运行时长确定每个所述待调度任务的优先级。
进一步的,所述识别所述待调度任务集对应的多个调度队列之前,所述方法还包括:
配置所述待调度任务集的多个队列数量,以及每个队列的队列等级,其中,所述队列等级包括高优先级队列及低优先级队列;
获取所述低优先级队列在不同时段的资源费用,基于所述资源费用为所述低优先级队列配置不同时段对应的资源容量,以生成低优先级调度队列;
获取所述高优先级队列的多个子队列,识别每个所述子队列的子队列权重,基于所述子队列权重为所述高优先级队列配置每个所述子队列对应的资源容量,以生成高优先级调度队列;
合并所述高优先级调度队列及所述低优先级调度队列,得到所述多个调度队列。
为了解决上述技术问题,本申请实施例还提供一种任务调度装置,采用了如下所述的技术方案:
获取模块,用于获取待调度任务集,其中,所述待调度任务集包括若干个待调度任务、与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长;
第一识别模块,用于根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级;
第二识别模块,用于识别所述待调度任务集对应的多个调度队列;及
调度模块,用于基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度。
为了解决上述技术问题,本申请实施例还提供一种设备,采用了如下所述的技术方案:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的任务调度方法。
为了解决上述技术问题,本申请实施例还提供一种计算机可读介质,采用了如下所述的技术方案:
所述计算机可读介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的任务调度方法。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例中,通过获取待调度任务集中每个待调度任务的优先级及任务所需运行时长,根据优先级及任务所需运行时长识别待调度任务集中每个待调度任务的时效等级,能够解决同一个队列的任务无法区分优先级的问题,便于后续对优先级较高的任务进行优先调度,以提高后续队列资源的利用率;识别待调度任务集对应的多个调度队列;基于多个调度队列及时效等级为待调度任务集进行任务调度,能够实现针对每一不同的任务级别分配响应的队列资源,提高队列资源的利用率,从而提高任务调度的效率。因此本申请提出的任务调度方法、装置、设备及介质可以提高任务调度的效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的任务调度方法的一个实施例的流程图;
图3是图2中步骤S204的一种具体实施方式的流程图;
图4是根据本申请的任务调度装置的一个实施例的结构示意图;
图5是根据本申请的设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture E任务调度perts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureE任务调度perts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的任务调度方法一般由服务器/终端设备执行,相应地,任务调度装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的任务调度方法的一个实施例的流程图。所述任务调度方法,包括以下步骤:
S201、获取待调度任务集,其中,所述待调度任务集包括若干个待调度任务、与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长。
本申请实施例中,在金融领域中,所述待调度任务集可以包括保费计算、核保及出单等若干个待调度任务;这些待调度任务之间在后续调度中存在不同的优先级,包括高优先级、中优先级及低优先级,其中,每个待调度任务相对应的优先级具体是基于实际业务场景确定的。例如,金融领域中,与用户相关联的业务场景对应的任务优先级较高,若有一待调度任务集中包括核保、保险出单、保费计算及财务报表为低优先级,则优先级保险出单及核保为高优先级、保费计算为中优先级、财务报表计算为低优先级。
本申请实施例中,所述任务所需运行时长是指待调度任务运行完成所需的时间。例如,在金融领领域中,有一保险产品A需要进行核保任务,核保任务所需的核保时长为保单录入及保单修改所需的30min与核保所需时间10min之和,则该核保任务所需运行时长为40min。
本申请实施例中,所述获取与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长,包括:
获取每个所述待调度任务的历史运行时长,根据所述历史运行时长确定所述任务所需运行时长;
获取每个所述待调度任务的任务类型,并识别所述任务类型的所属的任务紧急程度等级;
根据所述任务紧急程度等级及所述任务所需运行时长确定每个所述待调度任务的优先级。
其中,所述历史运行时长是指待调度任务在历史时间内的运行时长。所述任务所需运行可以通过计算待调度任务在历史天数内的历史运行时长的平均值来表示。例如,有一保险产品B需要执行出单任务,获取出单任务的历史天数为15天及对应的每天历史运行时长,计算每天历史运行时长的时长总和,利用时长总和除以15,以得到出单任务对应的任务所需运行时长。
本申请一实施例中,所述任务类型可以包括保险用户业绩类型、保险费用类型及其他业务类型等,其中,所述任务类型的紧急程度等级从高到低分别为保险用户业绩类型、保险费用类型及其他业务类型。
进一步的,本申请实施例中,任务所需运行时长小于120min属于高优先级、任务所需运行时长在120min-240min属于中优先级,大于240min属于低优先级。
具体的,待调度任务的优先级由任务所需运行时长及任务紧急程度等级中的较低等级确定,比如,有一待调度任务D的任务所需运行时长为60min属于高优先级,但是任务紧急程度等级为中优先级,则待调度任务D的优先级为中优先级。
本申请实施例中,通过根据所述任务紧急程度等级及所述任务所需运行时长确定每个所述待调度任务的优先级,能够初步区分同一个队列的优先级,且优先为高优先级队列分配资源,解决了提交到同一个队列的任务无法区分优先级,不同级别的任务无资源优先差异的问题。
S202、根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级。
本申请实施例中,所述时效等级包括高时效等级及低时效等级,且时效等级的作用为将对应时效等级的待调度任务分配至对应的队列中,以实现任务调度。
作为本申请的一个实施例,所述根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级,包括:
获取所述待调度任务集的时效策略,并将每个所述待调度任务对应的所述任务所需运行时长与所述时效策略中的时效运行时长进行对比,得到对比结果;
判断所述对比结果及所述优先级是否满足预设时效条件;
当所述对比结果及所述优先级满足所述预设时效条件时,确定所述待调度任务的时效等级为高时效等级;
当所述对比结果及所述优先级未满足所述预设时效条件时,确定所述待调度任务的时效等级为低时效等级。
其中,所述时效策略的作用为表示待调度任务的任务所需运行时长的时效等级,且所述时效策略基于实际业务场景确定。
本申请一实施例中,所述对比结果包括任务所需运行时长小于且等于时效运行时长及任务所需运行时长大于时效运行时长两个对比结果。所述预设时效条件包括对比结果中的任务所需运行时长小于且等于时效运行时长及优先级为高级的两个条件;当待调度任务满足这两个条件,表示待调度任务属于高时效等级;当待调度任务仅满足两个条件中的其中一个条件或者两个条件都不满足,确定待调度任务属于低时效等级。
例如,有一待调度任务为保险产品B的出单任务,出单任务的任务所需运行时长为45min且出单任务的优先级为高级,满足预设时效条件为任务所需运行时长的45min小于时效运行时长120min及优先级为高级,则确定保险产品B的出单任务为高时效等级的任务;若有一待调度任务为保险产品B的保费计算任务,该保费计算任务的所需运行时长为130min,且保费计算任务的优先级为中级,未满足预设时效条件未任务所需运行时长130min大于时效运行时长120min及优先级为中级,则确定保险产品B的保费计算任务为低时效等级的任务。
S203、识别所述待调度任务集对应的多个调度队列。
本申请实施例中,所述多个调度队列是由hadoop集群中的队列资源组成的能够实现任务调度的可异步队列。
作为本申请的一个实施例,所述识别所述待调度任务集对应的多个调度队列之前,所述方法还包括:
配置所述待调度任务集的多个队列数量,以及每个队列的队列等级,其中,所述队列等级包括高优先级队列及低优先级队列;
获取所述低优先级队列在不同时段的资源费用,基于所述资源费用为所述低优先级队列配置不同时段对应的资源容量,以生成低优先级调度队列;
获取所述高优先级队列的多个子队列,识别每个所述子队列的子队列权重,基于所述子队列权重为所述高优先级队列配置每个所述子队列对应的资源容量,以生成高优先级调度队列;
合并所述高优先级调度队列及所述低优先级调度队列,得到所述多个调度队列。
其中,所述高优先级队列的队列数量一般为低优先级队列的两倍或三倍,能够保证高时效等级的待调度任务优先进行任务调度,其中,为了防止高时效等级的待调度任务过多,出现队列抢占情况,进一步将高优先级队列划分为高、中、低三个等级的子队列,其中高等级的子队列的队列资源最多,中等级其次,低等级的队列资源最少。
本申请一实施例中,所述资源费用可基于不同时段进行确定。例如,0-3时段内的收费单价为每小时80;3-5时段内的收费单价为每小时150;5-7时段内的的收费单价为每小时130;7-9时段内的收费单价为每小时100;9-10时段内的收费单价为每小时80;10-12时段内的收费单价为每小时60;12-24时段内的收费为每小时50,其中,收费越高的时段对应的队列资源容量就越高,并且每隔15min进行队列采样,记录哪个时段的队列资源应用较多,能够根据记录的数据,对不同时段的资源费用及队列资源重新分配,以提高后续任务调度的效率。
本申请实施例中,通过获取所述低优先级队列在不同时段的资源费用,基于所述资源费用为所述低优先级队列配置不同时段对应的资源容量,以生成低优先级调度队列,能够通过不同时段的收费差异化,促使待调度任务集在任务编排上实现错峰运行,达到队列资源的负荷均衡。
S204、基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度。
作为本申请的一个实施例,参考图3所示,所述基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度,包括以下步骤S2041-S2046:
S2041、当所述时效等级为高时效等级时,获取所述多个调度队列中的高优先级调度队列;
S2042、遍历所述高优先级调度队列的可用资源量,得到多个子队列的子队列权重;
S2043、选取所述子队列权重最高的子队列为所述待调度任务集进行任务调度;
S2044、当所述时效等级为低时效等级时,获取所述多个调度队列中的低优先级调度队列;
S2045、获取所述待调度任务的预估费用,并根据所述预估费用及所述任务所需运行时长确定所述待调度任务的目标时段;
S2046、从所述低优先级调度队列中选取所述目标时段对应的低优先级调度队列为所述待调度任务集进行任务调度。
其中,所述可用资源量是指高优先级队列中每个队列的可用队列资源容量,通过计算每个队列的CPU及内存资源使用情况,可以确定每个队列对应的可用资源量。
例如,有一队列A对应的CPU资源为100,内存资源为10T;CPU资源已使用60,内存已使用4T,则队列A的可用资源量为40CPU,6T内存。
本申请一实施例中,可用资源量越高对应的子队列权重就越大,由于子队列分为高级、中级及低级三个等级,等级越高对应的子队列权重也越大,根据子队列权重由高到低对待调度任务集进行任务调度。
本申请实施例中,当待调度任务为低时效等级,通过获取待调度任务的预估费用及任务所需运行时长确定低优先级队列。
例如,有一保险产品C的保费计算任务为低时效等级,该保费计算任务的预估费用为300,任务所需运行时长为150min,则确定目标时段为0-3时段,从0-3时段内选取对应的低优先级调度队列为保费计算任务进行任务调度。
本申请实施例中,通过获取所述待调度任务的预估费用,并根据所述预估费用及所述任务所需运行时长确定所述所述待调度任务的目标时段,选取所述目标时段对应的低优先级调度队列为所述待调度任务集进行任务调度,能够解决凌晨时段跑批待调度任务导致的凌晨时段队列资源抢占的问题,提高了队列资源的利用率。
进一步的,本申请实施例中,所述当所述时效等级为高时效等级时,获取所述多个调度队列中的高优先级调度队列之后,所述方法还包括:
获取所述待调度任务集的所需队列资源及任务权重;
对所述任务权重进行标准化,得到标准权重;
根据所述标准权重对所述待调度任务集中的待调度任务进行所述高优先级调度队列的队列分配,得到初始队列分配结果;
将所述初始队列分配结果与所述所需队列资源进行对比,得到剩余队列资源;
将所述剩余队列资源重新分配给所述待调度任务集中的剩余待调度任务进行任务调度。
例如,待调度任务集中有四个待调度任务分别为任务1、任务2、任务3及任务4,对应的所需队列资源为2、4、4、10,对应的任务权重为4、2.5、1、0.5,hadoop队列集群的资源总量为16,首先对任务权重进行标准化,即令任务权重的最小权重为1,则将任务权重进行标准化需要分别x2,得到标准化对应的标准权重为8、5、2、1;其次,根据标准化权重对四个待调度任务进行队列分配,得到任务1的队列分配结果为8/16*16=8,任务2的队列分配结果为5/16*16=5,任务3的队列分配结果为2/16*16=2,任务4的队列分配结果为1/16*16=1;最后,将每个任务对应的队列分配结果与每个任务对应的所需队列资源进行对比,得到任务1的剩余队列资源为6、任务2的剩余队列资源为1,将剩余的全部队列资源7根据标准权重分给剩余待调度任务的任务3及任务4,得到任务3的分配资源为2+2/3*7=6.67,任务4的分配资源为1+1/3*7=3.33,而任务3剩余队列资源为2.67,将剩余队列资源分配给任务4,得到任务4的最终分配资源为6,即四个任务对应的最终分配资源为2、4、4、6。
本申请实施例中,通过将所述剩余队列资源重新分配给所述待调度任务集中的剩余待调度任务进行任务调度,能够通过控制高优先级队列中的子队列资源分分配实现高优先级队列的队列资源差异化,提高队列资源的利用率,同时在高时效等级的任务错峰后,队列集群资源可能会出现少量空闲,则时效等级较低的任务将根据权重获取到空闲的这部分资源,在不会对高时效等级的任务造成抢占的情况下,适当的分配资源,进一步提高了集群资源利用率,从而提高了任务调度的效率。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例中,通过获取待调度任务集中每个待调度任务的优先级及任务所需运行时长,根据优先级及任务所需运行时长识别待调度任务集中每个待调度任务的时效等级,能够解决同一个队列的任务无法区分优先级的问题,便于后续对优先级较高的任务进行优先调度,以提高后续队列资源的利用率;识别待调度任务集对应的多个调度队列;基于多个调度队列及时效等级为待调度任务集进行任务调度,能够实现针对每一不同的任务级别分配响应的队列资源,提高队列资源的利用率,从而提高任务调度的效率。因此本申请提出的任务调度方法可以提高任务调度的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图4,作为对上述图2所示方法的实现,本申请提供了一种任务调度装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例所述的任务调度装置400包括:获取模块401、第一识别模块402、第二识别模块403及调度模块404。其中:
获取模块401用于获取待调度任务集,其中,所述待调度任务集包括若干个待调度任务、与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长;
第一识别模块402用于根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级;
第二识别模块403用于识别所述待调度任务集对应的多个调度队列;及
调度模块404用于基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度。
在本实施例中,关于各模块/单元的功能如下:
对比子模块,用于获取所述待调度任务集的时效策略,并将每个所述待调度任务对应的所述任务所需运行时长与所述时效策略中的时效运行时长进行对比,得到对比结果;
判断子模块,用于判断所述对比结果及所述优先级是否满足预设时效条件;
识别子模块,用于当所述对比结果及所述优先级满足所述预设时效条件时,确定所述待调度任务的时效等级为高时效等级;当所述对比结果及所述优先级未满足所述预设时效条件时,确定所述待调度任务的时效等级为低时效等级。
本申请实施例中,通过获取待调度任务集中每个待调度任务的优先级及任务所需运行时长,根据优先级及任务所需运行时长识别待调度任务集中每个待调度任务的时效等级,能够解决同一个队列的任务无法区分优先级的问题,便于后续对优先级较高的任务进行优先调度,以提高后续队列资源的利用率;识别待调度任务集对应的多个调度队列;基于多个调度队列及时效等级为待调度任务集进行任务调度,能够实现针对每一不同的任务级别分配响应的队列资源,提高队列资源的利用率,从而提高任务调度的效率。因此本申请提出的任务调度装置可以提高任务调度的效率。
所述设备5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图中仅示出了具有组件51-53的设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器51至少包括一种类型的可读介质,所述可读介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D任务调度存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器51可以是所述设备5的内部存储单元,例如该设备5的硬盘或内存。在另一些实施例中,所述存储器51也可以是所述设备5的外部存储设备,例如该设备5上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器51还可以既包括所述设备5的内部存储单元也包括其外部存储设备。本实施例中,所述存储器51通常用于存储安装于所述设备5的操作系统和各类应用软件,例如任务调度方法的计算机可读指令等。此外,所述存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制所述设备5的总体操作。本实施例中,所述处理器52用于运行所述存储器51中存储的计算机可读指令或者处理数据,例如运行所述任务调度方法的计算机可读指令。
所述网络接口53可包括无线网络接口或有线网络接口,该网络接口53通常用于在所述设备5与其他电子设备之间建立通信连接。
本申请实施例中,通过获取待调度任务集中每个待调度任务的优先级及任务所需运行时长,根据优先级及任务所需运行时长识别待调度任务集中每个待调度任务的时效等级,能够解决同一个队列的任务无法区分优先级的问题,便于后续对优先级较高的任务进行优先调度,以提高后续队列资源的利用率;识别待调度任务集对应的多个调度队列;基于多个调度队列及时效等级为待调度任务集进行任务调度,能够实现针对每一不同的任务级别分配响应的队列资源,提高队列资源的利用率,从而提高任务调度的效率。因此本申请提出的任务调度介质可以提高任务调度的效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种任务调度方法,其特征在于,包括下述步骤:
获取待调度任务集,其中,所述待调度任务集包括若干个待调度任务、与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长;
根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级;
识别所述待调度任务集对应的多个调度队列;
基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度。
2.根据权利要求1所述的任务调度方法,其特征在于,所述根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级,包括:
获取所述待调度任务集的时效策略,并将每个所述待调度任务对应的所述任务所需运行时长与所述时效策略中的时效运行时长进行对比,得到对比结果;
判断所述对比结果及所述优先级是否满足预设时效条件;
当所述对比结果及所述优先级满足所述预设时效条件时,确定所述待调度任务的时效等级为高时效等级;
当所述对比结果及所述优先级未满足所述预设时效条件时,确定所述待调度任务的时效等级为低时效等级。
3.根据权利要求1所述的任务调度方法,其特征在于,所述基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度,包括:
当所述时效等级为高时效等级时,获取所述多个调度队列中的高优先级调度队列;
遍历所述高优先级调度队列的可用资源量,得到多个子队列的子队列权重;
选取所述子队列权重最高的子队列为所述待调度任务集进行任务调度;
当所述时效等级为低时效等级时,获取所述多个调度队列中的低优先级调度队列;
获取所述待调度任务的预估费用,并根据所述预估费用及所述任务所需运行时长确定所述待调度任务的目标时段;
从所述低优先级调度队列中选取所述目标时段对应的低优先级调度队列为所述待调度任务集进行任务调度。
4.根据权利要求3所述的任务调度方法,其特征在于,所述当所述时效等级为高时效等级时,获取所述多个调度队列中的高优先级调度队列之后,所述方法还包括:
获取所述待调度任务集的所需队列资源及任务权重;
对所述任务权重进行标准化,得到标准权重;
根据所述标准权重对所述待调度任务集中的待调度任务进行所述高优先级调度队列的队列分配,得到初始队列分配结果;
将所述初始队列分配结果与所述所需队列资源进行对比,得到剩余队列资源;
将所述剩余队列资源重新分配给所述待调度任务集中的剩余待调度任务进行任务调度。
5.根据权利要求1-4中任一项所述的任务调度方法,其特征在于,所述获取与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长,包括:
获取每个所述待调度任务的历史运行时长,根据所述历史运行时长确定所述任务所需运行时长;
获取每个所述待调度任务的任务类型,并识别所述任务类型的所属的任务紧急程度等级;
根据所述任务紧急程度等级及所述任务所需运行时长确定每个所述待调度任务的优先级。
6.根据权利要求1-4中任一项所述的任务调度方法,其特征在于,所述识别所述待调度任务集对应的多个调度队列之前,所述方法还包括:
配置所述待调度任务集的多个队列数量,以及每个队列的队列等级,其中,所述队列等级包括高优先级队列及低优先级队列;
获取所述低优先级队列在不同时段的资源费用,基于所述资源费用为所述低优先级队列配置不同时段对应的资源容量,以生成低优先级调度队列;
获取所述高优先级队列的多个子队列,识别每个所述子队列的子队列权重,基于所述子队列权重为所述高优先级队列配置每个所述子队列对应的资源容量,以生成高优先级调度队列;
合并所述高优先级调度队列及所述低优先级调度队列,得到所述多个调度队列。
7.一种任务调度装置,其特征在于,包括:
获取模块,用于获取待调度任务集,其中,所述待调度任务集包括若干个待调度任务、与每个所述待调度任务相对应的优先级及与每个所述待调度任务相对应的任务所需运行时长;
第一识别模块,用于根据所述优先级及所述任务所需运行时长识别所述待调度任务集中每个待调度任务的时效等级;
第二识别模块,用于识别所述待调度任务集对应的多个调度队列;及
调度模块,用于基于所述多个调度队列及所述时效等级为所述待调度任务集进行任务调度。
8.根据权利要求7所述的任务调度装置,其特征在于,第一识别模块包括:
对比子模块,用于获取所述待调度任务集的时效策略,并将每个所述待调度任务对应的所述任务所需运行时长与所述时效策略中的时效运行时长进行对比,得到对比结果;
判断子模块,用于判断所述对比结果及所述优先级是否满足预设时效条件;
识别子模块,用于当所述对比结果及所述优先级满足所述预设时效条件时,确定所述待调度任务的时效等级为高时效等级;当所述对比结果及所述优先级未满足所述预设时效条件时,确定所述待调度任务的时效等级为低时效等级。
9.一种设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的任务调度方法的步骤。
10.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的任务调度方法的步骤。
CN202311348362.5A 2023-10-18 2023-10-18 任务调度方法、装置、设备及介质 Pending CN117215753A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311348362.5A CN117215753A (zh) 2023-10-18 2023-10-18 任务调度方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311348362.5A CN117215753A (zh) 2023-10-18 2023-10-18 任务调度方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117215753A true CN117215753A (zh) 2023-12-12

Family

ID=89037301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311348362.5A Pending CN117215753A (zh) 2023-10-18 2023-10-18 任务调度方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117215753A (zh)

Similar Documents

Publication Publication Date Title
CN110727512B (zh) 集群资源调度方法、装置、设备及储存介质
JP2020507135A (ja) 専属エージェントプール配分方法、電子装置及びコンピューター読取可能な記憶媒体
CN111338791A (zh) 集群队列资源的调度方法、装置、设备及存储介质
CN111061556A (zh) 执行优先级任务的优化方法、装置、计算机设备及介质
CN107295090A (zh) 一种资源调度的方法和装置
CN112988390A (zh) 一种算力资源分配方法及装置
CN112887371B (zh) 边缘计算方法、装置、计算机设备及存储介质
US11640319B1 (en) Task processing method and apparatus, electronic device and storage medium
CN114327894A (zh) 资源分配方法、装置、电子设备及存储介质
CN115169906A (zh) 客服分配方法、装置、计算机设备及存储介质
CN109634812B (zh) Linux系统的进程CPU占用率控制方法、终端设备及存储介质
CN117707737A (zh) 一种任务调度优化方法、装置、设备及其存储介质
CN109783236A (zh) 用于输出信息的方法和装置
CN114461365A (zh) 一种进程调度处理方法、装置、设备和存储介质
CN116521350B (zh) 基于深度学习算法的etl调度方法及装置
CN110443441B (zh) 规则效能监测方法、装置、计算机设备及存储介质
CN117271122A (zh) 基于cpu和gpu分离的任务处理方法、装置、设备及存储介质
CN113342502B (zh) 数据湖的性能诊断方法、装置、计算机设备及存储介质
CN117215753A (zh) 任务调度方法、装置、设备及介质
CN112130974B (zh) 云计算资源配置方法、装置、电子设备与存储介质
CN113703945A (zh) 微服务集群的调度方法、装置、设备及存储介质
CN114138401A (zh) 基于人工智能的容器配置方法、装置、设备及介质
CN111327513B (zh) 消息数据的推送方法、装置、计算机设备及存储介质
CN111901423B (zh) 基于自动变频的异步任务调度方法及装置
CN116978031A (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