CN112231087A - 任务调度方法、装置、设备及存储介质 - Google Patents
任务调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112231087A CN112231087A CN202011164061.3A CN202011164061A CN112231087A CN 112231087 A CN112231087 A CN 112231087A CN 202011164061 A CN202011164061 A CN 202011164061A CN 112231087 A CN112231087 A CN 112231087A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- task
- scheduled
- target
- unit
- 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
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
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
技术领域
本发明涉及运维/过程优化技术领域,尤其涉及一种任务调度方法、装置、设备及存储介质。
背景技术
调度系统为数据仓库、数据系统的重要工具,是一种自动化完成任务启动、运行、完成的调度工具。现有技术中,通常将所有待调度的业务装载到作业运载单元,再通过统一的调度单元,按照一定的先后顺序,将任务进行调度。
随着大数据时代来临,各种大数据运行、实时处理往往得不到满足,无法在一天内完成多次调度。数据处理速度要求越来越高,部分重大决策、活动或业绩转化率更是依赖于实时或准实时的数据结果,而任务无法进行多次调度,就会失去数据带来的机会,无法及时作出决策,实时数据就无法发挥出应有的价值。
发明内容
本发明提供一种任务调度方法、装置、设备及存储介质,能够达到按业务需求对任务进行多次调用,提升任务处理实时性的目的。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种任务调度方法,所述任务调度方法包括:
创建至少一个调度单元,每个所述调度单元对应一个调度策略,所述调度策略包括调度次数,所述调度次数为所述调度单元在系统的一个运行周期内需要进行调度的次数;
获取待调度任务的调度需求,所述调度需求为所述待调度任务在所述系统的一个运行周期内需要调度的次数;
依据所述待调度任务的调度需求从所述调度单元中获取目标调度单元,所述目标调度单元对应的所述调度策略中的所述调度次数与所述待调度任务的所述调度需求相同;
将所述待调度任务分配到所述目标调度单元;
依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务。
根据本发明的一个实施例,所述调度策略还包括调度时间,每一次调度对应一个所述调度时间,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务,包括:
获取所述目标调度单元对应的所述调度策略中调度次数n对应的n个所述调度时间,其中,n为正整数;
当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,其中,1≤i≤n,i为正整数。
根据本发明的一个实施例,所述目标调度单元还包括与所述n个调度时间一一对应的n张调度表,所述将所述待调度任务分配到所述目标调度单元,包括:
将所述待调度任务分别加入所述n张调度表中。
根据本发明的一个实施例,所述当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,包括:
分别为所述n张调度表添加一个后置任务,所述后置任务为按预设时间间隔运行的循环任务;
当第i个调度时间对应的所述调度表中的所述待调度任务执行完后,启动所述后置任务,其中,1≤i≤n-1,i为正整数;
直到到达第i+1个调度时间,停止执行所述后置任务;及
依据所述目标调度单元中第i+1个调度时间对应的第i+1个所述调度表调度所述目标调度单元第i+1次执行所述待调度任务。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务后,所述方法还包括:
将所述待调度任务的执行结果记录到历史记录表,所述历史记录表用于存储任务执行结果。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务前,所述方法还包括:
获取任务调度总开关的开关状态,所述任务调度总开关用于控制系统是否开启任务调度,所述开关状态包括关闭状态、开启状态;
若所述开关状态为所述开启状态,则调度所述目标调度单元执行所述待调度任务。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务后,所述方法还包括:
获取任务清理时间,所述任务清理时间为系统停止任务调度的时间;
当到达所述任务清理时间,停止调度所述目标调度单元。
此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种任务调度装置,所述任务调度装置包括:
创建模块,用于创建至少有一个调度单元,每个所述调度单元对应一个调度策略,所述调度策略包括调度次数,所述调度次数为调度单元在系统的一个运行周期内需要进行调度的次数;
分配模块,用于获取待调度任务的调度需求,所述调度需求为所述待调度任务在所述系统的一个运行周期内需要调度的次数;并依据所述待调度任务的调度需求从所述调度单元中获取目标调度单元,所述目标调度单元对应的所述调度策略的调度次数与所述待调度任务的所述调度需求中调度次数相同;
调度模块,用于将所述待调度任务分配到所述目标调度单元;并依据所述调度策略调度所述目标调度单元执行所述待调度任务。
此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种任务调度设备,所述任务调度设备包括处理器、与所述处理器耦接的存储器,其中,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述任一项所述任务调度方法的步骤。
此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一项所述任务调度方法的步骤。
本发明提出的任务调度方法、装置、设备及存储介质,通过将所述待调度任务依据所述调度需求匹配到所述目标调度单元,并依据所述目标调度单元的调度策略调度所述目标调度单元执行所述待调度任务,使所述待调度任务按所述目标调度单元的调度策略多次调度执行,满足任务的多次执行更新,提高任务运行的实时性。
进一步地,所述调度策略还包括调度时间,通过依据所述调度时间对所述待调度任务进行调度,可以根据任务需求准确控制任务的调度时间,使业务调度更加灵活,提升客户体验。
进一步地,所述目标调度单元包括与调度时间对应的调度表,并且将所述待调度任务加入所述调度表,通过所述调度表配置每次调度需要执行的任务,节约了配置时间,提高运行效率,并且通过所述调度表的可以对所述待调度任务进行优化配置。
进一步地,通过在所述调度表中添加所述后置任务,可以控制所述目标调度单元的执行时间。
进一步地,将所述待调度任务的执行结果记录到历史记录表,可以便于对任务执行结果进行保存、分析。
进一步地,通过设置任务调度总开关、任务清理时间可以从系统整体上控制任务的调度和结束,节约系统资源,便于任务调度的控制。
附图说明
图1是本发明一种实施例的任务调度方法的流程示意图;
图2是本发明一种实施例的任务调度装置的结构示意图;
图3是本发明一种实施例的任务调度设备的结构示意图;
图4是本发明一种实施例的存储介质的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1,图1是本发明一种实施例的任务调度方法的流程示意图。根据本发明的一种实施例,所述任务调度方法包括以下步骤:
步骤S101:创建至少一个调度单元。
其中,所述调度单元为控制任务执行的调度控制器,根据本发明的一个实施例,每个所述调度单元对应一个调度策略,所述调度策略包括调度次数,所述调度次数为调度单元在系统的一个运行周期内需要进行调度的次数,所述系统的一个运行周期即系统开始启动任一所述调度单元执行任务到停止所有调度单元执行任务的时间范围。比如:系统的一个运行周期可以为1天,可以创建3个所述调度单元,每个调度单元对应一个调度策略,如第一个所述调度单元的调度策略是1天调度1次,第二个所述调度单元的调度策略是1天调度3次,第三个所述调度单元的调度策略是1天调度7次。
步骤S102:获取待调度任务的调度需求。
具体的,所述调度需求为所述待调度任务在所述系统的一个运行周期内需要调度的次数,不同的所述待调度任务对其运行结果的实时性要求不同,所述调度任务的所述调度需求也就不同,对实时性要求高的所述待调度任务的调度次数可以设置为较多次数的调用,对实时性要求低的所述待调度任务的调度次数可以设置为较少次数的调用,根据本发明一种实施例,可以根据所述待调度任务的实时性需求将所述待调度任务进行分类,同一类别的所述待调度任务在所述系统的一个运行周期内需要调度的次数可以相同。例如:对于实时性要求不高的所述待调度任务,其调度需求可以为1天调度1次,对于实时性要求高的所述待调度任务,其调度需求可以是1天调度3次。
步骤S103:依据所述待调度任务的调度需求从所述调度单元中获取目标调度单元。
其中,根据所述待调度任务的调度需求从所述调度单元中选取合适的目标调度单元,所述目标调度单元对应的所述调度策略中的所述调度次数与所述待调度任务的所述调度需求相同。
步骤S104:将所述待调度任务分配到所述目标调度单元,并依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务。
所述调度任务分配到与其所述调度需求相匹配的所述目标调度单元后,所述目标调度单元按其对应的调度策略进行调用,进行所述待调度任务的执行。
本实施例的任务调度方法,通过将所述待调度任务依据所述调度需求匹配到所述目标调度单元,并依据所述目标调度单元的调度策略调度所述目标调度单元执行所述待调度任务,使所述待调度任务按所述目标调度单元的调度策略多次调度执行,满足任务的多次执行更新,提高任务运行的实时性。
为提升任务多次调用的可控性、灵活操作性,在上述实施例的基础上,另一实施例中,所述调度策略还包括调度时间,每一次调度对应一个所述调度时间,例如1天2调的所述调度策略,其对应的调度时间可以是每天的0点,12点。上述步骤S104可以包括以下步骤:
步骤S201:获取所述目标调度单元对应的所述调度策略中调度次数n对应的n个所述调度时间,其中,n为正整数。
通过所述目标调度单元的所述调度策略获取所述目标调度单元的n个所述调度时间,例如1天2调的所述调度策略,其对应的调度时间是每天的0点,12点,则n为2,所述调度时间分别为0点、12点。
步骤S202:当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,其中,1≤i≤n,i为正整数。
具体的,当系统时间到达第i个调度时间时,所述目标调度单元就启动调度,使所述待调度任务开始执行,接上述举例,当系统时间到达0点,则所述目标调度单元第1次执行所述待调度任务,当系统时间到达12点,则所述目标调度单元第2次执行所述待调度任务,完成所述目标调度单元的1天2次的调用。
本实施例的任务调度方法,所述调度策略还包括调度时间,通过依据所述调度时间对所述待调度任务进行调度,可以根据任务需求准确控制任务的调度时间,使业务调度更加灵活,提升客户体验。
为提高所述待调度任务的调度效率,提高所述目标调度单元每次启动调度时业务的配置速度,在上述实施例的基础上,根据本发明的另一实施例,所述目标调度单元还包括与所述n个调度时间一一对应的n张调度表,上述步骤S104还可以包括以下步骤:
步骤S301:将所述待调度任务分别加入所述n张调度表中。
具体的,当所述目标调度单元的调度策略中的调度次数为n次时,则对应n个具体的调度时间,可以为每个调度时间分配一张所述调度表,则所述目标调度单元可以有n张所述调度表,将所述待调度任务分别加入所述n张调度表中,如果所述目标调度单元中有多个所述待调度任务,则可以将这些调度需求相同的所述待调度任务均加入所述n张调度表,完成每次调用所述目标调度单元的调度任务配置。接上述举例,对于1天2调的所述目标调度单元,可以配置2张所述调度表,当系统时间到达0点,则所述目标调度单元读取第1张所述调度表执行第1张所述调度表上的所述待调度任务,当系统时间到达12点,则所述目标调度单元读取第2张所述调度表执行第2张所述调度表上的所述待调度任务。
本实施例的任务调度方法,所述目标调度单元包括与调度时间对应的调度表,并且将所述待调度任务加入所述调度表,通过所述调度表配置每次调度需要执行的任务,节约了配置时间,提高运行效率,并且通过所述调度表的可以对所述待调度任务进行优化配置。
在另一实施例中,步骤S301还可以包括以下步骤:
步骤S401:分别为所述n张调度表添加一个后置任务。
其中,所述后置任务为按预设时间间隔运行的循环任务。
步骤S402:当第i个调度时间对应的所述调度表中的所述待调度任务执行完后,启动所述后置任务,其中,1≤i≤n-1,i为正整数。
具体的,在第i个调度时间所述目标调度单元读取其第i个调度时间对应的所述调度表,按所述调度表执行所述待调度任务,根据本发明的一个实施例,所述调度表还可以用于记录所述待调度任务完成情况,当所述待调度任务的完成情况全部为执行完成时,则开始执行所述后置任务,即按预设时间间隔进行循环。
步骤S403:直到到达第i+1个调度时间,停止执行所述后置任务;及依据所述目标调度单元中第i+1个调度时间对应的第i+1个所述调度表调度所述目标调度单元第i+1次执行所述待调度任务。
当所述后置任务的执行循环到第i+1个调度时间到达,则停止第i个调度时间对应的所述调度表的执行,然后依据所述目标调度单元中第i+1个调度时间对应的第i+1个所述调度表调度所述目标调度单元第i+1次执行所述待调度任务。接上述举例,对于1天2调的所述目标调度单元,当系统时间到达0点,则所述目标调度单元读取第1张所述调度表执行第1张所述调度表上的所述待调度任务,所述待调度任务全部为执行完成时,如果此时还没有到达12点,则启动所述后置任务,当系统时间到达12点,再停止所述后置任务的执行,所述目标调度单元读取第2张所述调度表执行第2张所述调度表上的所述待调度任务。
本实施例的任务调度方法,通过在所述调度表中添加所述后置任务,可以控制所述目标调度单元的执行时间。
根据本发明的另一个实施例,所述任务调度方法还可以包括以下步骤:
步骤S501:获取任务调度总开关的开关状态。
其中,所述任务调度总开关用于控制系统是否开启任务调度,所述开关状态包括关闭状态、开启状态,通过任务调度总开关可以将所述待调度任务调度前的系统依赖、系统初始化等准备任务进行检查、执行,保证后续任务调度的执行条件完全具备。
步骤S501:若所述开关状态为所述开启状态,则调度所述目标调度单元执行所述待调度任务。
当所述任务调度总开关的所述开关状态为所述开启状态,即任务调度的执行条件完全具备,则可以开始执行任务调度。
根据本发明的另一个实施例,所述任务调度方法还可以包括以下步骤:
步骤S601:获取任务清理时间,所述任务清理时间为系统停止任务调度的时间。
步骤S602:当到达所述任务清理时间,停止调度所述目标调度单元。
设置任务清理时间,可以在指定时间对所述目标调度单元残留的异常的所述待调度任务或者未完成的所述待调度任务进行统一清理,保证下一周期任务调度的正常执行。
通过设置任务调度总开关、任务清理时间可以从系统整体上控制任务的调度和结束,节约系统资源,便于任务调度的控制。
根据本发明的另一个实施例,所述任务调度方法还可以包括以下步骤:
将所述待调度任务的执行结果记录到历史记录表,所述历史记录表用于存储任务执行结果。将所述待调度任务的执行结果记录到历史记录表,可以便于对任务执行结果进行保存、分析。
图2是本发明一种实施例的任务调度装置1的结构示意图。如图2所示,所述任务调度装置1包括创建模块11、分配模块12、调度模块13。
所述创建模块11用于创建至少一个调度单元,每个所述调度单元对应一个调度策略,所述调度策略包括调度次数,所述调度次数为所述调度单元在系统的一个运行周期内需要进行调度的次数;
所述分配模块12用于获取待调度任务的调度需求,所述调度需求为所述待调度任务在所述系统的一个运行周期内需要调度的次数;并依据所述待调度任务的调度需求从所述调度单元中获取目标调度单元,所述目标调度单元对应的所述调度策略中的所述调度次数与所述待调度任务的所述调度需求相同;
根据本发明的一种实施例,所述分配模块12还可以用于将所述待调度任务分别加入所述n张调度表中,其中,所述目标调度单元还包括与所述n个调度时间一一对应的n张调度表。
所述调度模块13用于将所述待调度任务分配到所述目标调度单元;并依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务。
根据本发明的一种实施例,所述调度模块13还可以用于获取所述目标调度单元的所述调度策略中调度次数n对应的n个所述调度时间,其中,n为正整数,其中,所述调度策略还包括调度时间,每一次调度对应一个所述调度时间;当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,其中,1≤i≤n,i为正整数。
根据本发明的一种实施例,所述调度模块13还可以用于分别为所述n张调度表添加一个后置任务,所述后置任务为按预设时间间隔运行的循环任务;当第i个调度时间对应的所述调度表中的所述待调度任务执行完后,启动所述后置任务;直到到达第i+1个调度时间,停止执行所述后置任务;及依据所述目标调度单元中第i+1个调度时间对应的第i个所述调度表调度所述目标调度单元第i次执行所述待调度任务,其中,1≤i≤n-1,i为正整数。
根据本发明的一种实施例,所述调度模块13还可以用于将所述待调度任务的执行结果记录到历史记录表,所述历史记录表用于存储任务执行结果。
根据本发明的一种实施例,所述调度模块13还可以用于获取任务调度总开关的开关状态,所述任务调度总开关用于控制系统是否开启任务调度,所述开关状态包括关闭状态、开启状态;若所述开关状态为所述开启状态,则调度所述目标调度单元执行所述待调度任务。
根据本发明的一种实施例,所述调度模块13还可以用于获取任务清理时间,所述任务清理时间为系统停止任务调度的时间;当到达所述任务清理时间,停止调度所述目标调度单元。
可以理解的是,上述装置的各模块实现各功能的具体方式可参阅上述实施例对应的具体步骤,故在此不作赘述。
请参阅图3,图3是本发明一种实施例的任务调度设备30的结构示意图。如图3所示,所述任务调度设备30包括存储器32、处理器31及存储在所述存储器32上并可在所述处理器31上运行的计算机程序,所述处理器31执行所述计算机程序时实现以下步骤:创建至少一个调度单元,每个所述调度单元对应一个调度策略,所述调度策略包括调度次数,所述调度次数为所述调度单元在系统的一个运行周期内需要进行调度的次数;获取待调度任务的调度需求,所述调度需求为所述待调度任务在所述系统的一个运行周期内需要调度的次数;依据所述待调度任务的调度需求从所述调度单元中获取目标调度单元,所述目标调度单元对应的所述调度策略中的所述调度次数与所述待调度任务的所述调度需求相同;将所述待调度任务分配到所述目标调度单元;依据所述所述目标调度单元对应的调度策略调度所述目标调度单元执行所述待调度任务。
根据本发明的一个实施例,所述调度策略还包括调度时间,每一次调度对应一个所述调度时间,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务,包括:获取所述目标调度单元对应的所述调度策略中调度次数n对应的n个所述调度时间,其中,n为正整数;当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,其中,1≤i≤n,i为正整数。
根据本发明的一个实施例,所述目标调度单元还包括与所述n个调度时间一一对应的n张调度表,所述将所述待调度任务分配到所述目标调度单元,包括:将所述待调度任务分别加入所述n张调度表中。
根据本发明的一个实施例,所述当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,包括:分别为所述n张调度表添加一个后置任务,所述后置任务为按预设时间间隔运行的循环任务;当第i个调度时间对应的所述调度表中的所述待调度任务执行完后,启动所述后置任务,其中,1≤i≤n-1,i为正整数;直到到达第i+1个调度时间,停止执行所述后置任务;及依据所述目标调度单元中第i+1个调度时间对应的第i+1个所述调度表调度所述目标调度单元第i+1次执行所述待调度任务。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务后,所述方法还包括:将所述待调度任务的执行结果记录到历史记录表,所述历史记录表用于存储任务执行结果。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务前,所述方法还包括:获取任务调度总开关的开关状态,所述任务调度总开关用于控制系统是否开启任务调度,所述开关状态包括关闭状态、开启状态;若所述开关状态为所述开启状态,则调度所述目标调度单元执行所述待调度任务。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务后,所述方法还包括:获取任务清理时间,所述任务清理时间为系统停止任务调度的时间;当到达所述任务清理时间,停止调度所述目标调度单元。
参阅图4,图4是本发明一种实施例的存储介质的结构示意图。如图4所示存储有计算机可读指令41的存储介质,该计算机可读指令41被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:创建至少一个调度单元,每个所述调度单元对应一个调度策略,所述调度策略包括调度次数,所述调度次数为所述调度单元在系统的一个运行周期内需要进行调度的次数;获取待调度任务的调度需求,所述调度需求为所述待调度任务在所述系统的一个运行周期内需要调度的次数;依据所述待调度任务的调度需求从所述调度单元中获取目标调度单元,所述目标调度单元对应的所述调度策略中的所述调度次数与所述待调度任务的所述调度需求相同;将所述待调度任务分配到所述目标调度单元;依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务。
根据本发明的一个实施例,所述调度策略还包括调度时间,每一次调度对应一个所述调度时间,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务,包括:获取所述目标调度单元对应的所述调度策略中调度次数n对应的n个所述调度时间,其中,n为正整数;当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,其中,1≤i≤n,i为正整数。
根据本发明的一个实施例,所述目标调度单元还包括与所述n个调度时间一一对应的n张调度表,所述将所述待调度任务分配到所述目标调度单元,包括:将所述待调度任务分别加入所述n张调度表中。
根据本发明的一个实施例,所述当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,包括:分别为所述n张调度表添加一个后置任务,所述后置任务为按预设时间间隔运行的循环任务;当第i个调度时间对应的所述调度表中的所述待调度任务执行完后,启动所述后置任务,其中,1≤i≤n-1,i为正整数;直到到达第i+1个调度时间,停止执行所述后置任务;及依据所述目标调度单元中第i+1个调度时间对应的第i+1个所述调度表调度所述目标调度单元第i+1次执行所述待调度任务。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务后,所述方法还包括:将所述待调度任务的执行结果记录到历史记录表,所述历史记录表用于存储任务执行结果。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务前,所述方法还包括:获取任务调度总开关的开关状态,所述任务调度总开关用于控制系统是否开启任务调度,所述开关状态包括关闭状态、开启状态;若所述开关状态为所述开启状态,则调度所述目标调度单元执行所述待调度任务。
根据本发明的一个实施例,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务后还包括:获取任务清理时间,所述任务清理时间为系统停止任务调度的时间;当到达所述任务清理时间,停止调度所述目标调度单元。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种任务调度方法,其特征在于,所述任务调度方法包括:
创建至少一个调度单元,每个所述调度单元对应一个调度策略,所述调度策略包括调度次数,所述调度次数为所述调度单元在系统的一个运行周期内需要进行调度的次数;
获取待调度任务的调度需求,所述调度需求为所述待调度任务在所述系统的一个运行周期内需要调度的次数;
依据所述待调度任务的调度需求从所述调度单元中获取目标调度单元,所述目标调度单元对应的所述调度策略中的所述调度次数与所述待调度任务的所述调度需求相同;
将所述待调度任务分配到所述目标调度单元;
依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务。
2.根据权利要求1所述任务调度方法,其特征在于,所述调度策略还包括调度时间,每一次调度对应一个所述调度时间,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务,包括:
获取所述目标调度单元对应的所述调度策略中调度次数n对应的n个所述调度时间,其中,n为正整数;
当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,其中,1≤i≤n,i为正整数。
3.根据权利要求2所述任务调度方法,其特征在于,所述目标调度单元还包括与所述n个调度时间一一对应的n张调度表,所述将所述待调度任务分配到所述目标调度单元,包括:
将所述待调度任务分别加入所述n张调度表中。
4.根据权利要求3所述任务调度方法,其特征在于,所述当到达第i个调度时间时,调度所述目标调度单元第i次执行所述待调度任务,包括:
分别为所述n张调度表添加一个后置任务,所述后置任务为按预设时间间隔运行的循环任务;
当第i个调度时间对应的所述调度表中的所述待调度任务执行完后,启动所述后置任务,其中,1≤i≤n-1,i为正整数;
直到到达第i+1个调度时间,停止执行所述后置任务;及
依据所述目标调度单元中第i+1个调度时间对应的第i+1个所述调度表调度所述目标调度单元第i+1次执行所述待调度任务。
5.根据权利要求1所述任务调度方法,其特征在于,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务后,所述方法还包括:
将所述待调度任务的执行结果记录到历史记录表,所述历史记录表用于存储任务执行结果。
6.根据权利要求1所述任务调度方法,其特征在于,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务前,所述方法还包括:
获取任务调度总开关的开关状态,所述任务调度总开关用于控制系统是否开启任务调度,所述开关状态包括关闭状态、开启状态;
若所述开关状态为所述开启状态,则调度所述目标调度单元执行所述待调度任务。
7.根据权利要求1所述任务调度方法,其特征在于,所述依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务后,所述方法还包括:
获取任务清理时间,所述任务清理时间为系统停止任务调度的时间;
当到达所述任务清理时间,停止调度所述目标调度单元。
8.一种任务调度装置,其特征在于,所述任务调度装置包括:
创建模块,用于创建至少一个调度单元,每个所述调度单元对应一个调度策略,所述调度策略包括调度次数,所述调度次数为所述调度单元在系统的一个运行周期内需要进行调度的次数;
分配模块,用于获取待调度任务的调度需求,所述调度需求为所述待调度任务在所述系统的一个运行周期内需要调度的次数;并依据所述待调度任务的调度需求从所述调度单元中获取目标调度单元,所述目标调度单元对应的所述调度策略中的所述调度次数与所述待调度任务的所述调度需求相同;
调度模块,用于将所述待调度任务分配到所述目标调度单元;并依据所述目标调度单元对应的所述调度策略调度所述目标调度单元执行所述待调度任务。
9.一种任务调度设备,其特征在于,所述任务调度设备包括处理器、与所述处理器耦接的存储器,其中,
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述任务调度方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164061.3A CN112231087A (zh) | 2020-10-27 | 2020-10-27 | 任务调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164061.3A CN112231087A (zh) | 2020-10-27 | 2020-10-27 | 任务调度方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112231087A true CN112231087A (zh) | 2021-01-15 |
Family
ID=74109574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011164061.3A Pending CN112231087A (zh) | 2020-10-27 | 2020-10-27 | 任务调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231087A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396691A (zh) * | 2021-05-21 | 2022-11-25 | 北京金山云网络技术有限公司 | 一种数据流处理方法、装置及电子设备 |
-
2020
- 2020-10-27 CN CN202011164061.3A patent/CN112231087A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396691A (zh) * | 2021-05-21 | 2022-11-25 | 北京金山云网络技术有限公司 | 一种数据流处理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9477521B2 (en) | Method and system for scheduling repetitive tasks in O(1) | |
CN106815066B (zh) | 一种定时任务调度方法、装置及系统 | |
Lin et al. | Scheduling scientific workflows elastically for cloud computing | |
CN110489217A (zh) | 一种任务调度方法及系统 | |
US11507419B2 (en) | Method,electronic device and computer program product for scheduling computer resources in a task processing environment | |
CN106293918A (zh) | 一种调度进程的方法、系统及计算机 | |
CN110795222B (zh) | 一种多线程任务调度方法、装置、设备及可读介质 | |
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
CN111143045B (zh) | 智能家居操作系统的任务调度方法及装置、存储介质 | |
CN109660569B (zh) | 一种多任务并发执行方法、存储介质、设备及系统 | |
CN107515781B (zh) | 一种基于多处理器的确定性任务调度及负载均衡系统 | |
CN104199739A (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
CN102708006A (zh) | 处理优化负载调整 | |
CN112748993A (zh) | 任务执行方法、装置、存储介质及电子设备 | |
Qiu et al. | Cost-minimizing preemptive scheduling of mapreduce workloads on hybrid clouds | |
CN106775975B (zh) | 进程调度方法及装置 | |
CN112199180A (zh) | 多任务调度的方法及装置、电子设备及可读存储介质 | |
CN112231087A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN114153578A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
US20170132030A1 (en) | Virtual machine system, control method thereof, and control program recording medium thereof | |
CN111767125B (zh) | 任务执行方法、装置、电子设备、存储介质 | |
CN111143063B (zh) | 任务的资源预约方法及装置 | |
CN116643858A (zh) | 基于业务优先级pod再调度方法、装置、设备及介质 | |
CN114035926A (zh) | 应用线程调度方法、装置、存储介质及电子设备 | |
US20090168092A1 (en) | Job management and scheduling method for network system |
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 |