CN116680051A - 任务调度方法、装置、设备及存储介质 - Google Patents
任务调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116680051A CN116680051A CN202310645942.4A CN202310645942A CN116680051A CN 116680051 A CN116680051 A CN 116680051A CN 202310645942 A CN202310645942 A CN 202310645942A CN 116680051 A CN116680051 A CN 116680051A
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- tasks
- waiting list
- resource
- 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 40
- 230000001174 ascending effect Effects 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 14
- 230000000694 effects Effects 0.000 abstract description 4
- 230000004044 response Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- 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
技术领域
本申请涉及的计算机技术领域,尤其是涉及一种任务调度方法、装置、设备及存储介质。
背景技术
任务调度是操作任务调度系统的重要组成部分,而对于实时操作任务调度系统,任务调度直接影响其实时性能。任务调度算法可分为——事件驱动调度算法:根据事件的先后以及任务的优先级安排任务的执行;时钟驱动调度算法:一般用于周期任务。事件驱动调度依赖外部硬件设备,通过产生中断方式为任务调度提供信号。其中,事件驱动调度分为两种,集成事件驱动调度:中断的优先级与任务的优先级相对应,中断只有在其优先级高于正在执行的任务时才会被处理机响应。非集成事件驱动调度:任务通过外部中断启动,中断优先级与相关任务优先级没有关系。
由于计算机资源的限制,例如CPU的个数与计算能力、传输带宽,多个任务往往不能同时处理,需要将任务以任务队列的形式存储,并对任务队列中的任务逐一进行调度处理。
在实现本申请的过程中,发明人发现该技术中至少存在如下问题:一般来说,现有技术在将请求封装成任务对象时,通常按照关键程度为任务设定优先级。在进行任务处理时,根据优先级在任务队列中选择关键程度较高的任务优先处理。然而,这种任务调度方式使得关键程度较低的任务需要等待较长时间才能得到处理的机会,从而降低了任务处理的效率。
发明内容
为了提升任务处理的效率,本申请提供的一种任务调度方法、装置、设备及存储介质。
第一方面,本申请提供一种任务调度方法,采用如下的技术方案:所述方法包括:获取任务等待列表,所述任务等待列表中至少包括若干待处理任务以及待处理任务对应的优先级;
确定所述任务等待队列中的所有待处理任务的资源需求量;
根据所述资源需求量判断所述待处理任务对应的资源等级;
根据待处理任务对应的资源等级以及优先级计算所述待处理任务的执行合适度;
根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列;
依次获取升序序列中的待处理任务。
通过上述技术方案,任务调度系统从任务等待列表中若干待处理任务后,根据每一个待处理任务对应的优先级以及资源需求量判定该待处理任务的执行合适度,继而任务调度系统按照每个待处理任务对应的执行合适度的大小来安排任务等待列表中待处理任务上处理机运行的顺序,使得关键程度较低的任务但是所需资源量小的任务能够尽快上处理机运行,进而减少了关键程度较低的任务需要等待较长时间才能得到处理的机会的情况,从而提升了任务处理的效率。
在一个具体的可实施方案中,在所述获取任务等待列表之前,还包括:
获取待处理任务;
查询所述待处理任务的任务来源;
根据待处理任务的任务来源对所述待处理任务分配优先级;
将所述待处理任务以及对应的优先级添加至预设的任务等待列表。
通过上述技术方案,任务调度系统根据待处理任务对应的任务来源匹配相应的优先级,使得优先级的划分更具科学性。
在一个具体的可实施方案中,确定所述任务等待队列中的所有待处理任务的资源需求量,具体包括:
确定所述待处理任务的任务编号;
从预设的历史记录库中按照所述任务编号获取若干历史资源量;
计算所述历史资源量的平均值;
将计算得到的平均值设置为所述待处理任务的所需资源量。
通过上述技术方案,任务调度系统根据某个待处理任务对应的历史资源量数据对待处理任务本次所需资源量进行预测,令得到的待处理任务所需资源量更加符合实际情况,进而提升了任务调度的合理性。
在一个具体的可实施方案中,在所述将所述待处理任务以及对应的优先级添加至预设的任务等待列表之后,还包括:
启动计时功能,对应生成计时时间值;
当所述计时时间值达到预设的等待阈值时,锁定所述任务等待列表。
通过上述技术方案,任务调度系统每隔一定的时间周期对任务等待队列进行锁定,降低了任务等待队列中不断添加有新的待处理任务,造成一些执行合适度较低的待处理任务一直无法上处理机运行的可能,进一步提升了任务调度的合理性与科学性。
在一个具体的可实施方案中,所述根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列,具体包括:
按照预设的排序周期定期根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列。
通过上述技术方案,任务调度系统定期对任务等待列表中的待处理任务重新排序,使得新添加至任务等待列表中且执行合适度高的待处理任务能够尽快得到响应,进一步提升了任务调度的合理性与科学性,进而提高了任务处理的效率。
在一个具体的可实施方案中,在所述按照预设的排序周期定期根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列之后,还包括:
若存在多个待处理任务对应的执行合适度一致,则将所述待处理任务记为待排序任务;
获取待排序任务的发生时间;
根据所述发生时间的先后顺序对所述待排序任务进行排序。
通过上述技术方案,当任务等待列表中存在多个待处理任务的执行合适度一致,任务调度系统根据其对应的发生时间进行排序,有助于减少待处理任务的等候时间,提升了任务处理的效率。
在一个具体的可实施方案中,所述任务来源,具体包括:应用软件、操作软件、任务调度系统软件以及基础软件。
通过上述技术方案,任务调度系统能够进行优先级匹配的待处理任务尽可能的涵盖任务调度系统中能够产生的所有任务,有助于提升任务调度系统的适用性。
第二方面,本申请提供一种任务调度装置,采用如下技术方案:所述装置包括:
任务等待列表获取模块,用于获取任务等待列表,所述任务等待列表中至少包括若干待处理任务以及待处理任务对应的优先级;
资源需求量确定模块,用于确定所述任务等待队列中的所有待处理任务的资源需求量;
资源等级判定模块,用于根据所述资源需求量判断所述待处理任务对应的资源等级;
执行合适度计算模块,用于根据待处理任务对应的资源等级以及优先级计算所述待处理任务的执行合适度;
待处理任务排序模块,用于根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列;
待处理任务获取模块,用于依次获取升序序列中的待处理任务。
第三方面,本申请提供一种计算机设备,采用如下技术方案:包括存储器和处理机,所述存储器上存储有能够被处理机加载并执行如上述任一种任务调度方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:存储有能够被处理机加载并执行上述任一种任务调度方法的计算机程序。
综上所述,本申请包括以下至少一种有益技术效果:
1.任务调度系统从任务等待列表中若干待处理任务后,根据每一个待处理任务对应的优先级以及资源需求量判定该待处理任务的执行合适度,继而任务调度系统按照每个待处理任务对应的执行合适度的大小来安排任务等待列表中待处理任务上处理机运行的顺序,使得关键程度较低的任务但是所需资源量小的任务能够尽快上处理机运行,进而减少了关键程度较低的任务需要等待较长时间才能得到处理的机会的情况,从而提升了任务处理的效率;
2.任务调度系统每隔一定的时间周期对任务等待队列进行锁定,降低了任务等待队列中不断添加有新的待处理任务,造成一些执行合适度较低的待处理任务一直无法上处理机运行的可能,进一步提升了任务调度的合理性与科学性。
附图说明
图1是本申请实施例中任务调度方法的流程图。
图2是本申请实施例中任务调度装置的结构框图。
附图标记:301、任务等待列表获取模块;302、资源需求量确定模块;303、资源等级判定模块;304、执行合适度计算模块;305、待处理任务排序模块;306、待处理任务获取模块。
具体实施方式
以下结合附图1-2对本申请作进一步详细说明。
本申请实施例公开一种任务调度方法。该方法应用于任务调度系统,该方法对应的程序代码被预先存储在任务调度系统的控制中心内。
如图1所示,该方法包括以下步骤:
S10,获取任务等待列表。
具体来说,任务调度系统首先会初始化一个任务等待列表,任务等待列表为空,任务等待列表相当于一个任务池,当前无法上处理机运行的任务会被暂时存储在任务等待列表中,等待处理机空闲,位于任务等待列表中的任务即为待处理任务。其中,任务等待列表中至少包括若干待处理任务以及待处理任务对应的优先级,待处理任务的优先级与待处理任务的重要程度相关,越重要的待处理任务对应的优先级越高。
S20,确定任务等待队列中的所有待处理任务的资源需求量。
具体来说,上文提及到的资源需求量指的是待处理任务占用处理机的总耗时,本实施例中,任务一旦上处理机运行,直至任务完成,才会下处理机,将处理机空闲出来。
S30,根据资源需求量判断待处理任务对应的资源等级。
具体来说,不同的待处理任务对应的资源需要量可能存在不同,本申请中,任务调度系统将资源需求量进行划分,形成多个资源等级。待处理任务的资源需求量越小,其占用处理机的时间越短,因此资源需求量越小,对应的资源等级越高。
S40,根据待处理任务对应的资源等级以及优先级计算待处理任务的执行合适度。
首先需要说明的是,本实施例中,无论是待处理任务的优先级还是对应的资源等级均采用数值型数据进行表示。具体来说,任务调度系统将某个待处理任务对应的优先级数值与资源等级数值相乘,所得的乘积作为该待处理任务的执行合适度,本申请中,执行合适度仅仅作为衡量待处理任务被响应快慢的参考指标。
S50,根据执行合适度对任务等待列表中的待处理任务进行升序排列,得到升序序列。
具体来说,任务等待列表中的执行合适度越大的待处理任务对应的序列值越小,越靠近升序序列的最前端,也就是说,当某个待处理任务的优先级越高,并且对应的所需资源量越小,那么对应的执行合适度越高,能够优先被响应;反之,若是某个待处理任务的优先级越低,所需资源量越高,那么其对应的执行合适度越低,需要等候响应的时间较长。
S60,依次获取升序序列中的待处理任务。
具体来说,任务调度系统按照待处理任务在升序序列中的序列值依次控制待处理任务上处理机运行,使得关键程度较低的任务但是所需资源量小的任务能够尽快上处理机运行,进而减少了关键程度较低的任务需要等待较长时间才能得到处理的机会的情况,破除了仅依赖于待处理任务的重要程度进行任务调度所带来的局限性,从而提升了任务处理的效率。
在一个实施例中,为了提升任务调度的科学性,在获取任务等待列表之前,还可以执行以下步骤:
获取待处理任务,具体来说,当计算机的使用者或是计算机本身需要执行某种功能,亦或是达到某种效果时,例如,展示某张图像文件,或是播放某个音频文件,计算机中即会生成一个或是多个待处理任务。在待处理任务产生之后,任务调度系统对确定该待处理任务的所需资源数量,这里说到的所需资源数量指的是计算机执行该任务除了处理机之外的所有所需资源,例如打印机等,然后确定当前的可用资源数量,判断待处理任务的所需资源数量是否小于可用资源量;若小于,那么说明当前可用资源量能够满足待处理任务的所需资源数量,换句话说,待处理任务已经拥有了除处理机之外的所有需要的资源,一旦获得处理机的使用权,待处理任务能够立即进入运行状态开始运行。
接下来任务调度系统查询待处理任务的任务来源,其中,任务来源是指待处理任务是由哪个软件产生的,本实施例中,将任务调度系统内的软件划分为以下四类,分别是应用软件、操作软件、任务调度系统软件以及基础软件,应用软件指的是满足用户各种需求的软件,例如,文本编辑器、浏览器、音视频播放器、游戏等;操作软件是指负责管理和控制硬件资源,为应用软件提供各种服务和接口的程序,如进程管理、文件任务调度系统、网络通信等;任务调度系统软件是指各种任务调度系统工具和服务程序,如驱动程序、任务调度系统监控工具、防病毒软件等,主要提供补充功能和服务;基础软件指的是为其他软件提供支持和基础功能的程序,例如编译和运行程序,包括编译器、连接器、库文件等。从优先级层面来说,基础软件高于任务调度系统软件,任务调度系统软件高于操作软件、操作软件高于应用软件,任务调度系统根据待处理任务的任务来源对待处理任务分配优先级,继而将待处理任务以及对应的优先级添加至预设的任务等待列表。任务调度系统根据待处理任务对应的任务来源为待处理任务分配优先级,由于任务来源能源较为精准的反应待处理任务的重要程度,因此按照上述方法为待处理任务匹配优先级能够尽量保证待处理任务的优先级与其重要程度相一致,有利于重要程度高的待处理任务能够尽快被响应,提升了任务调度的合理性与科学性。
在一个实施例中,为了进一步提升任务调度的科学性,待处理任务包括任务编号以及任务内容;确定任务等待队列中的所有待处理任务的资源需求量,具体可以执行为以下步骤:
确定待处理任务的任务编号,本实施例中,不同的待处理任务对应的任务编号不同,只有当两个待处理任务的任务来源以及所执行的功能或是达到的效果一致时,才能够判定这两个待处理任务是相同的,否则一律视为不同。从预设的历史记录库中按照获取到的任务编号查找该任务编号的对应的若干历史资源量,每当一个任务完成后,任务调度系统会将该任务占用处理机的时间记录在历史记录库中,由于任务在不断的被执行,因此,历史记录库中记载的历史数据在不断更新。
将某个任务编号对应的历史资源量的平均值,设置为该任务编号对应的的所需资源量,使得后续在根据所需资源量对应待处理任务的资源等级进行划分时,尽量使得确定的资源等级与待处理任务相符合,进而有利于那些可以很快执行完成的任务能够在短时间内被相应,进一步提升了任务调度的科学性与合理性。
在一个实施例中,为了保证任务等待列表中的待处理任务等候响应的时间不会过长,在将待处理任务以及对应的优先级添加至预设的任务等待列表之后,还可以执行以下步骤:
当向任务等待列表中添加第一个待处理任务时,任务调度系统会立即启动计时功能,对应生成计时时间值,将计时时间值与预设的等待阈值进行比较,来判断计时时间值是否已经达到等待阈值,一旦计时时间值达到预设的等待阈值时,将任务等待列表锁定,任务等待列表被锁定意味着无法向任务等待列表中添加新的待处理任务,任务等待列表中待处理任务的数量只会减少,而不会增加。
在任务等待列表被锁定后,若是出现新的待处理任务,任务调度系统会初始化一个新的任务等待列表,将新的待处理任务暂存至新的任务等待列表中;若是被锁定的任务等待列表中的待处理任务均已经被响应,任务调度系统会对该任务等待列表进行解锁,解除锁定的任务等待列表可能重新接纳待处理任务,任务调度系统每隔固定的时间值对任务等待列表进行锁定,减少了当不断有高执行合适度的待处理任务被添加至任务等待列表中时,任务等待列表中原本的低执行合适度的待处理任务一直处于等候响应的状态的情况,进而提升了任务调度的科学性与合理性。
在一个实施例中,为了保证高执行合适度的待处理任务能够尽快上处理机运行,根据执行合适度对任务等待列表中的待处理任务进行升序排列,得到升序序列,具体可以执行为以下步骤:
任务调度系统按照预设的排序周期定期任务等待列表中的待处理任务进行升序排列,得到升序序列,排序的标准依旧是根据待处理任务对应的执行合适度进行排序。当任务等待队列处于未被锁定的状态,可能会不断地有新的待处理任务添加进任务等待列表中,其中不乏存在高执行合适度的待处理任务,任务调度系统定期对任务等待列表中的待处理任务重新排序,有助于使得新添加的待处理任务中高执行合适度的待处理任务能够尽快被响应,进一步提升了任务调度的科学性与合理性。
在一个实施例中,为了减少待处理任务等待响应的时间,在按照预设的排序周期定期根据执行合适度对任务等待列表中的待处理任务进行升序排列,得到升序序列之后,还可以执行以下步骤:
在对任务等待列表中待处理任务进行升序排序时,若是存在多个待处理任务对应的执行合适度一致,任务调度系统会将这些待处理任务记为待排序任务,获取待排序任务的发生时间,发生时间即为待排序任务产生的时间,进而根据发生时间的先后顺序对待排序任务进行排序,越早出现的待排序任务对应的排序序号值越小,换而言之,越早出现的待排序任务需要等候的响应时间越短,提升了任务调度的科学性与合理性。
图1为一个实施例中任务调度方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行;除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行;并且图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于上述方法,本申请实施例还公开一种任务调度装置。
如图2所示,该装置包括以下模块:
任务等待列表获取模块301,用于获取任务等待列表,任务等待列表中至少包括若干待处理任务以及待处理任务对应的优先级;
资源需求量确定模块302,用于确定任务等待队列中的所有待处理任务的资源需求量;
资源等级判定模块303,用于根据资源需求量判断待处理任务对应的资源等级;
执行合适度计算模块304,用于根据待处理任务对应的资源等级以及优先级计算待处理任务的执行合适度;
待处理任务排序模块305,用于根据执行合适度对任务等待列表中的待处理任务进行升序排列,得到升序序列;
待处理任务获取模块306,用于依次获取升序序列中的待处理任务。
在一个实施例中,任务等待列表获取模块301,还用于获取待处理任务;
查询待处理任务的任务来源;
根据待处理任务的任务来源对待处理任务分配优先级;
将待处理任务以及对应的优先级添加至预设的任务等待列表。
在一个实施例中,资源需求量确定模块302,还用于确定待处理任务的任务编号;
从预设的历史记录库中按照任务编号获取若干历史资源量;
计算历史资源量的平均值;
将计算得到的平均值设置为待处理任务的所需资源量。
在一个实施例中,待处理任务排序模块305,还用于启动计时功能,对应生成计时时间值;
当计时时间值达到预设的等待阈值时,锁定任务等待列表。
在一个实施例中,待处理任务排序模块305,还用于按照预设的排序周期定期根据执行合适度对任务等待列表中的待处理任务进行升序排列,得到升序序列。
在一个实施例中,待处理任务排序模块305,还用于若存在多个待处理任务对应的执行合适度一致,则将待处理任务记为待排序任务;
获取待排序任务的发生时间;
根据发生时间的先后顺序对待排序任务进行排序。
在一个实施例中,任务等待列表获取模块301,还用于任务来源,具体包括:应用软件、操作软件、任务调度系统软件以及基础软件。
本申请实施例还公开一种计算机设备。
具体来说,该计算机设备包括存储器和处理机,存储器上存储有能够被处理机加载并执行上述任务调度方法的计算机程序。
本申请实施例还公开一种计算机可读存储介质。
具体来说,该计算机可读存储介质,其存储有能够被处理机加载并执行如上述任务调度方法的计算机程序,该计算机可读存储介质例如包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
Claims (10)
1.一种任务调度方法,其特征在于,所述方法包括:
获取任务等待列表,所述任务等待列表中至少包括若干待处理任务以及待处理任务对应的优先级;
确定所述任务等待队列中的所有待处理任务的资源需求量;
根据所述资源需求量判断所述待处理任务对应的资源等级;
根据待处理任务对应的资源等级以及优先级计算所述待处理任务的执行合适度;
根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列;
依次获取升序序列中的待处理任务。
2.根据权利要求1所述的方法,其特征在于,在所述获取任务等待列表之前,还包括:
获取待处理任务;
查询所述待处理任务的任务来源;
根据待处理任务的任务来源对所述待处理任务分配优先级;
将所述待处理任务以及对应的优先级添加至预设的任务等待列表。
3.根据权利要求1所述的方法,其特征在于,所述待处理任务包括任务编号以及任务内容;所述确定所述任务等待队列中的所有待处理任务的资源需求量,具体包括:
确定所述待处理任务的任务编号;
从预设的历史记录库中按照所述任务编号获取若干历史资源量;
计算所述历史资源量的平均值;
将计算得到的平均值设置为所述待处理任务的所需资源量。
4.根据权利要求2所述的方法,其特征在于,在所述将所述待处理任务以及对应的优先级添加至预设的任务等待列表之后,还包括:
启动计时功能,对应生成计时时间值;
当所述计时时间值达到预设的等待阈值时,锁定所述任务等待列表。
5.根据权利要求1所述的方法,其特征在于,所述根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列,具体包括:
按照预设的排序周期定期根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列。
6.根据权利要求5所述的方法,其特征在于,在所述按照预设的排序周期定期根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列之后,还包括:
若存在多个待处理任务对应的执行合适度一致,则将所述待处理任务记为待排序任务;
获取待排序任务的发生时间;
根据所述发生时间的先后顺序对所述待排序任务进行排序。
7.根据权利要求2所述的方法,其特征在于,所述任务来源,具体包括:应用软件、操作软件、任务调度系统软件以及基础软件。
8.一种任务调度装置,其特征在于,所述装置包括:
任务等待列表获取模块(301),用于获取任务等待列表,所述任务等待列表中至少包括若干待处理任务以及待处理任务对应的优先级;
资源需求量确定模块(302),用于确定所述任务等待队列中的所有待处理任务的资源需求量;
资源等级判定模块(303),用于根据所述资源需求量判断所述待处理任务对应的资源等级;
执行合适度计算模块(304),用于根据待处理任务对应的资源等级以及优先级计算所述待处理任务的执行合适度;
待处理任务排序模块(305),用于根据所述执行合适度对所述任务等待列表中的待处理任务进行升序排列,得到升序序列;
待处理任务获取模块(306),用于依次获取升序序列中的待处理任务。
9.一种计算机设备,其特征在于,包括存储器和处理机,所述存储器上存储有能够被处理机加载并执行如权利要求1至7中任一种方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,存储有能够被处理机加载并执行如权利要求1至7中任一种方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310645942.4A CN116680051B (zh) | 2023-06-01 | 2023-06-01 | 任务调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310645942.4A CN116680051B (zh) | 2023-06-01 | 2023-06-01 | 任务调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116680051A true CN116680051A (zh) | 2023-09-01 |
CN116680051B CN116680051B (zh) | 2024-04-30 |
Family
ID=87786645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310645942.4A Active CN116680051B (zh) | 2023-06-01 | 2023-06-01 | 任务调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116680051B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199192A1 (en) * | 2008-02-05 | 2009-08-06 | Robert Laithwaite | Resource scheduling apparatus and method |
CN104615716A (zh) * | 2015-02-05 | 2015-05-13 | 北京航空航天大学 | 基于优先序列的分布式社交网络信息采集方法及系统 |
CN106354557A (zh) * | 2016-08-29 | 2017-01-25 | 佛山市美的清湖净水设备有限公司 | 基于时间片任务调度系统的家电及其控制方法、控制器 |
CN109408215A (zh) * | 2018-11-07 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种计算节点的任务调度方法和装置 |
US20210279103A1 (en) * | 2020-03-03 | 2021-09-09 | Imagination Technologies Limited | Resource allocation in a parallel processing system |
-
2023
- 2023-06-01 CN CN202310645942.4A patent/CN116680051B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199192A1 (en) * | 2008-02-05 | 2009-08-06 | Robert Laithwaite | Resource scheduling apparatus and method |
CN104615716A (zh) * | 2015-02-05 | 2015-05-13 | 北京航空航天大学 | 基于优先序列的分布式社交网络信息采集方法及系统 |
CN106354557A (zh) * | 2016-08-29 | 2017-01-25 | 佛山市美的清湖净水设备有限公司 | 基于时间片任务调度系统的家电及其控制方法、控制器 |
CN109408215A (zh) * | 2018-11-07 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种计算节点的任务调度方法和装置 |
US20210279103A1 (en) * | 2020-03-03 | 2021-09-09 | Imagination Technologies Limited | Resource allocation in a parallel processing system |
Non-Patent Citations (2)
Title |
---|
JIAYING MENG等: "Online Deadline-Aware Task Dispatching and Scheduling in Edge Computing", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》, 24 December 2019 (2019-12-24), pages 1270 - 1286, XP011768560, DOI: 10.1109/TPDS.2019.2961905 * |
孟妍妍: "基于人工鱼群算法的Hadoop作业调度算法的分析", 《电子技术与软件工程》, 1 February 2022 (2022-02-01), pages 187 - 190 * |
Also Published As
Publication number | Publication date |
---|---|
CN116680051B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6411982B2 (en) | Thread based governor for time scheduled process execution | |
CN110413391B (zh) | 基于容器集群的深度学习任务服务质量保证方法和系统 | |
US8458712B2 (en) | System and method for multi-level preemption scheduling in high performance processing | |
Fohler | Joint scheduling of distributed complex periodic and hard aperiodic tasks in statically scheduled systems | |
JP4935595B2 (ja) | ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム | |
US7920282B2 (en) | Job preempt set generation for resource management | |
CA2433379A1 (en) | Modulo scheduling of multiple instruction chains | |
CN114217966A (zh) | 基于资源调整的深度学习模型动态批处理调度方法和系统 | |
JP2008090507A (ja) | ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置 | |
CN116680051B (zh) | 任务调度方法、装置、设备及存储介质 | |
CN112416596A (zh) | 一种节点调度方法、装置及设备 | |
CN116880986A (zh) | 任务调度方法、装置、车载控制器、电子设备和存储介质 | |
WO2010001736A1 (ja) | マルチプロセッサシステム、マルチスレッド処理方法、及びプログラム | |
CN111143063A (zh) | 任务的资源预约方法及装置 | |
CN112685158B (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
US20090168092A1 (en) | Job management and scheduling method for network system | |
CN113760494B (zh) | 任务调度方法和装置 | |
CN110297693B (zh) | 一种分布式软件任务分配的方法及其系统 | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
CN110673939B (zh) | 一种基于airflow和yarn的任务调度方法、装置及介质 | |
CN111580937A (zh) | 一种面向飞腾多核/众核混合集群的虚拟机自动调度方法 | |
US10592813B1 (en) | Methods and apparatus for data operation pre-processing with probabilistic estimation of operation value | |
US20230004440A1 (en) | Allocating of computing resources for applications | |
CN117742928B (zh) | 一种用于联邦学习的算法组件执行调度方法 | |
JPWO2018198745A1 (ja) | 計算資源管理装置、計算資源管理方法、及びプログラム |
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 |