CN113467921A - 一种任务管理方法、装置及电子设备 - Google Patents
一种任务管理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113467921A CN113467921A CN202110834992.8A CN202110834992A CN113467921A CN 113467921 A CN113467921 A CN 113467921A CN 202110834992 A CN202110834992 A CN 202110834992A CN 113467921 A CN113467921 A CN 113467921A
- Authority
- CN
- China
- Prior art keywords
- task
- timing
- timed
- starting
- count value
- 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
- 238000007726 management method Methods 0.000 title abstract description 61
- 238000012544 monitoring process Methods 0.000 claims abstract description 125
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000009825 accumulation Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种任务管理方法、装置及电子设备,可用于金融领域或其他技术领域。所述方法包括:利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。本发明提供的任务管理方法、装置及电子设备,能够尽早发现所述待处理数据的数据量累积过多的情况(待处理数据的数据量大于第一阈值),并及时启动所述定时任务对所述待处理数据进行处理,克服了由于待处理数据的数据量累积过多而导致的定时任务定时启动后运行时间过长的问题。
Description
技术领域
本发明涉及金融领域或其他技术领域,具体涉及一种任务管理方法、装置及电子设备。
背景技术
在不同的计算机系统中都有定时任务管理程序,例如Unix/Linux系统中的Crontab和Windows系统中的“计划任务”等。这些定时任务管理程序设定自动执行任务的方式各有不同。其中给定时间周期自动执行任务是一种常见的任务调度方式。在这种方式下,通常由用户预先设定一个时间周期参数,定时任务管理程序每隔该时间周期即启动指定的任务。
这种方式的一个缺点是任务启动的时间周期参数相对固定,如需修改则要人为手工修改。在某些场景下,在任务停止运行期间,如果需要其处理的数据累积速度过快,则任务启动后的运行时间必然加长。如果该任务是对这些数据处理过程中的一个环节,那么该任务执行时间加长就可能影响后续任务对这批数据的处理。
发明内容
针对现有技术中的问题,本发明实施例提供一种任务管理方法、装置及电子设备,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种任务管理方法,所述方法包括:利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
可选的,在启动所述定时任务对所述待处理数据进行处理之后,所述方法还包括:根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新。
可选的,所述根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新包括:若所述定时任务的启动时间不是所述定时任务的定时启动时间,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新。
可选的,所述根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新包括:若所述定时任务的启动时间为所述定时任务的定时启动时间,则对所述定时任务的连续非定时启动次数的计数值进行清零处理,并对所述定时任务的连续定时启动次数的计数值进行更新。
可选的,所述方法还包括:在为定时任务设定的定时启动时间,判断所述定时任务是否正在运行;若所述定时任务正在运行,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新。
可选的,所述方法还包括:若所述定时任务不在运行,则启动所述定时任务,并对所述定时任务的连续非定时启动次数的计数值进行清零处理,对所述定时任务的连续定时启动次数的计数值进行更新。
可选的,在对所述定时任务的连续非定时启动次数的计数值进行更新之后,所述方法还包括:若更新后的所述定时任务的连续非定时启动次数的计数值大于第二阈值,则按照第一调整规则调整所述定时任务的启动周期。
可选的,在对所述定时任务的连续定时启动次数的计数值进行更新之后,所述方法还包括:若更新后的所述定时任务的连续定时启动次数的计数值大于第三阈值,则按照第二调整规则调整所述定时任务的启动周期。
可选的,所述方法还包括:根据所述定时任务调整后的启动周期,对所述监控任务的监控周期进行调整。
可选的,所述利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值包括:利用监控任务按照监控周期定时监控所述定时任务是否正在运行;若所述定时任务不在运行,则利用所述监控任务检测所述定时任务的待处理数据的数据量是否大于第一阈值。
另一方面,本发明提出一种任务管理装置,所述装置包括:第一监控模块,用于利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;启动模块,用于若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
可选的,所述装置还包括:第一更新模块,用于根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新。
可选的,所述第一更新模块具体用于:若所述定时任务的启动时间不是所述定时任务的定时启动时间,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新。
可选的,所述第一更新模块具体用于:若所述定时任务的启动时间为所述定时任务的定时启动时间,则对所述定时任务的连续非定时启动次数的计数值进行清零处理,并对所述定时任务的连续定时启动次数的计数值进行更新。
可选的,所述装置还包括:第二监控模块,用于在为定时任务设定的定时启动时间,判断所述定时任务是否正在运行;第二更新模块,用于若所述定时任务正在运行,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新。
可选的,所述装置还包括:第三更新模块,用于若所述定时任务不在运行,则启动所述定时任务,并对所述定时任务的连续非定时启动次数的计数值进行清零处理,对所述定时任务的连续定时启动次数的计数值进行更新。
可选的,所述装置还包括:第一调整模块,用于若更新后的所述定时任务的连续非定时启动次数的计数值大于第二阈值,则按照第一调整规则调整所述定时任务的启动周期。
可选的,所述装置还包括:第二调整模块,用于若更新后的所述定时任务的连续定时启动次数的计数值大于第三阈值,则按照第二调整规则调整所述定时任务的启动周期。
可选的,所述装置还包括:第三调整模块,用于根据所述定时任务调整后的启动周期,对所述监控任务的监控周期进行调整。
可选的,所述第一监控模块具体用于:利用监控任务按照监控周期定时监控所述定时任务是否正在运行;若所述定时任务不在运行,则利用所述监控任务检测所述定时任务的待处理数据的数据量是否大于第一阈值。
再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的任务管理方法的步骤。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的任务管理方法的步骤。
本发明实施例提供的任务管理方法、装置及电子设备,引入了监控任务对定时任务的待处理数据的数据量进行动态监控,这样,能够尽早发现所述待处理数据的数据量累积过多的情况(待处理数据的数据量大于第一阈值),并及时启动所述定时任务对所述待处理数据进行处理,克服了由于待处理数据的数据量累积过多而导致的定时任务定时启动后运行时间过长的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明第一实施例提供的任务管理方法的流程示意图。
图2是本发明第二实施例提供的任务管理方法的流程示意图。
图3是本发明第三实施例提供的任务管理方法的部分流程示意图。
图4是本发明第四实施例提供的任务管理方法的部分流程示意图。
图5是本发明第五实施例提供的任务管理方法的部分流程示意图。
图6是本发明第六实施例提供的任务管理方法的流程示意图。
图7是本发明第七实施例提供的任务管理装置的结构示意图。
图8是本发明第八实施例提供的任务管理装置的结构示意图。
图9是本发明第九实施例提供的任务管理装置的部分结构示意图。
图10是本发明第十实施例提供的任务管理装置的结构示意图。
图11是本发明第十一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例提供的任务管理方法的执行主体包括但不限于计算机。
图1是本发明一实施例提供的任务管理方法的流程示意图,如图1所示,本发明实施例提供的任务管理方法,包括:
S101、利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;
本步骤,所述定时任务可以按照给定的时间周期(启动周期)自动执行,对需要其处理的数据进行处理;所述定时任务的待处理数据是指等待所述定时任务处理的数据;所述监控任务用于对所述定时任务的待处理数据的数据量进行动态监控,即监控所述定时任务的待处理数据的数据量是否累计到大于所述第一阈值;所述第一阈值可以根据实际需要设定。
S102、若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
本步骤,在所述待处理数据的数据量大于所述第一阈值时,无论当前时间是否为所述定时任务的定时启动时间,都要启动所述定时任务对所述待处理数据进行处理。也即所述定时任务具有两个启动时机,一个是到达定时启动时间时进行的定时启动,另一个是监控任务监控到待处理数据的数据量大于第一阈值时触发的非定时启动。
本发明实施例提供的任务管理方法,引入了监控任务对定时任务的待处理数据的数据量进行动态监控,这样,能够尽早发现所述待处理数据的数据量累积过多的情况(待处理数据的数据量大于第一阈值),并及时启动所述定时任务对所述待处理数据进行处理,克服了由于待处理数据的数据量累积过多而导致的定时任务定时启动后运行时间过长的问题。
如图2所示,可选的,在启动所述定时任务对所述待处理数据进行处理之后,所述方法还可以包括:
S103、根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新。
本实施例,所述连续定时启动次数的计数值用于记录所述定时任务按照启动周期连续定时启动的次数,举例而言,若所述定时任务当前的连续定时启动次数的计数值为3,则说明所述定时任务最近3次的启动均是按照启动周期定时启动的。
所述连续非定时启动次数的计数值用于记录所述定时任务没有按照启动周期定时启动的连续启动次数,举例而言,若所述定时任务当前的连续非定时启动次数的计数值为2,则说明所述定时任务最近2次的启动均不是按照启动周期定时启动的,而是在监控任务监控到定时任务的待处理数据的数据量大于第一阈值时提前启动的。
可根据所述定时任务的启动时间是否在所述定时任务按照启动周期定时启动的时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新。更新后的所述连续定时启动次数的计数值、以及连续非定时启动次数的计数值可用于对所述定时任务的启动周期的调整。
可选的,在上述实施例中,所述根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新可以包括:
若所述定时任务的启动时间不是所述定时任务的定时启动时间,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新。
本实施例,若所述定时任务的启动时间不是所述定时任务的定时启动时间,则说明所述定时任务的本次启动不是定时启动(非定时启动),这时,可以对所述定时任务的连续定时启动次数的计数值进行清零,并对所述定时任务的连续非定时启动次数的计数值加1。
可选的,所述根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新还可以包括:
若所述定时任务的启动时间为所述定时任务按照定时启动周期定时启动的时间,则对所述定时任务的连续非定时启动次数的计数值进行清零处理,并对所述定时任务的连续定时启动次数的计数值进行更新。
本实施例,若所述定时任务的启动时间为所述定时任务的定时启动时间,则说明所述定时任务的本次启动是定时启动,这时,可以对所述定时任务的连续非定时启动次数的计数值进行清零,并对所述定时任务的连续定时启动次数的计数值加1。
如图3所示,可选的,在上述任一实施例中,所述方法还可以包括:
S104、在为定时任务设定的定时启动时间,判断所述定时任务是否正在运行;
本步骤,所述定时任务可以具有相应的启动周期,所述定时任务的定时启动时间可以是根据所述定时任务的启动周期得到的;在每次到达所述定时任务的定时启动时间时,在启动所述定时任务之前,首先判断定时任务是否正在运行。
S105、若所述定时任务正在运行,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新。
本步骤,如果定时任务正在运行,则有可能是以下两个原因导致的:1)正在运行的定时任务是定时启动的,这时,说明定时任务在上次启动后的执行时间已经超过了任务启动周期,待处理数据量过大;2)正在运行的定时任务是非定时启动的,这也说明了待处理数据量过大。所以这两种情况下,都应该对连续非定时启动次数的计数值加1,对连续定时启动次数的计数值清零。
如图4所示,可选的,在上述实施例中,所述方法还可以包括:
S106、若所述定时任务不在运行,则启动所述定时任务,并对所述定时任务的连续非定时启动次数的计数值进行清零处理,对所述定时任务的连续定时启动次数的计数值进行更新。
本实施例,如果定时任务不在运行,则启动所述定时任务,并将连续定时启动次数的计数值加1,连续非定时启动次数的计数值清零。定时任务执行其特定操作对数据进行处理完毕后停止运行,等待下一次启动。
可选的,在上述任一实施例中,在对所述定时任务的连续非定时启动次数的计数值进行更新之后,所述方法还包括:若更新后的所述定时任务的连续非定时启动次数的计数值大于第二阈值,则按照第一调整规则调整所述定时任务的启动周期。
本实施例,若更新后的所述定时任务的连续非定时启动次数的计数值大于第二阈值,则说明所述定时任务连续多次都是非定时启动的,这就说明该段时间内待处理数据的数据量累计比较快,这时,可按照所述第一调整规则对所述定时任务的启动周期进行调整,以缩短所述定时任务的启动周期,使定时任务能够及时启动对待处理数据进行处理。
其中,所述第二阈值可以根据实际需要设定,优选的,所述第二阈值可以为5~10;所述按照第一调整规则调整所述定时任务的启动周期可以包括:利用第一调整系数r1对所述定时任务的启动周期Tn进行调整,具体的,可将所述定时任务的启动周期Tn调整为Tn×r1((0<r1<1),优选的,第一调整系数r1可以为0.99~0.90。
可选的,在上述实施例中,在对所述定时任务的连续定时启动次数的计数值进行更新之后,所述方法还可以包括:若更新后的所述定时任务的连续定时启动次数的计数值大于第三阈值,则按照第二调整规则调整所述定时任务的启动周期。
本实施例,若更新后的所述定时任务的连续定时启动次数的计数值大于第三阈值,则说明所述定时任务连续多次都是定时启动的,这就说明该段时间内待处理数据的数据量累计速度较慢,这时,可按照所述第二调整规则对所述定时任务的启动周期进行调整,以增长所述定时任务的启动周期。
其中,所述第三阈值可以根据实际需要设定,优选的,所述第三阈值可以为10~20;所述按照第二调整规则调整所述定时任务的启动周期可以包括:利用第二调整系数r2对所述定时任务的启动周期Tn进行调整,具体的,可将所述定时任务的启动周期Tn调整为Tn/r2((0<r2<1),优选的,第二调整系数r2可以为0.99~0.95。
如图5所示,可选的,在上述任一实施例中,所述利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值可以包括:
S1011、利用监控任务按照监控周期定时监控所述定时任务是否正在运行;
本实施例,所述监控任务可以具有对应的监控周期,所述监控任务根据所述监控周期定时监控所述定时任务,且所述监控任务的监控周期可以小于或等于所述定时任务的启动周期,这样,相较于所述定时任务,所述监控任务的启动更加频繁,这样,一旦待处理数据的数据量超过第一阈值,能尽早被发现,并及时启动所述定时任务对所述待处理数据进行处理。
由于所述定时任务每次启动后,需要运行一定的时间才能够处理完所述待处理数据,因此,在所述监控任务启动对所述定时任务的监控时,所述定时任务可能在运行状态或者不在运行状态。
在所述定时任务正在运行时,则此时无论所述定时任务的待处理数据的数据量是否大于第一阈值,都无需启动所述定时任务,故所述监控任务无需再对所述定时任务的待处理数据的数据量进行监控,监控任务终止运行即可。
S1012、若所述定时任务不在运行,则利用所述监控任务检测所述定时任务的待处理数据的数据量是否大于第一阈值。
本步骤,在所述定时任务不在运行时,则需要所述监控任务监控所述定时任务的待处理数据的数据量是否大于第一阈值,以决定是否启动所述定时任务对所述待处理数据进行处理。
为更好的理解本发明,下面通过一具体实施例对本发明提供的任务管理方法进行介绍:
如图6所示,本发明实施例提出一种任务管理方法,可应用于任务管理系统,所述方法包括:
S201、根据监控任务的监控周期,启动所述监控任务;
本步骤,监控任务WPn:监控任务WPn用于监测定时任务Pn的待处理数据的数据量,可为每个定时任务Pn设定一个监控任务WPn。当定时任务Pn的待处理数据的数据量超过第一阈值THn时,监控任务WPn请求任务管理系统立即启动定时任务Pn,而无需等到定时任务Pn的启动周期Tn时才启动。
定时任务Pn:用于执行一定功能,本实施例涉及的定时任务Pn,一般需要对一批数据进行处理,该批数据处理完成后,定时任务Pn停止运行;等待一段时间累积了另一批数据后,定时任务Pn再次启动运行,对该另一批数据进行处理,周而复始。
所述定时任务Pn和其监控任务WPn可保存在一任务列表中,任务管理系统可读取该任务列表,该任务列表中可能包含多个定时任务P1、P2、……Pn,以及它们的监控任务WP1、WP2、……WPn。每个定时任务或其监控任务都设定了相应的启动周期。当到达定时任务的启动周期时任务管理系统启动定时任务,当到达监控任务的监控周期时任务管理系统启动监控任务。
监控任务的监控周期:为每个监控任务分别设定一个监控周期。任务管理系统每隔一个所述监控周期启动监控任务。监控任务WPn的监控周期WTn的取值可以为Tn/k,k是大于0的整数。
任务管理系统可以通过读取为监控任务WPn设定的监控周期WTn。当达到WTn时,任务管理系统将该监控任务WPn启动。
S202、利用监控任务监控定时任务是否正在运行;
本步骤,监控任务WPn启动后首先检测定时任务Pn是否正在运行。如果定时任务Pn正在运行,则监控任务WPn终止运行,等待任务管理系统下一次启动监控任务WPn。
S203、若所述定时任务不在运行,则利用所述监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;
本步骤,如果定时任务Pn不在运行,则监控任务WPn开始检测正在等待定时任务Pn处理的数据量(待处理数据的数据量)。
当该数据量未超出设定的第一阈值THn时,监控任务WPn终止运行,等待任务管理系统下一次启动监控任务WPn。
S204、若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理;
本步骤,第一阈值:可以为每个定时任务设置一个相应的待处理数据量阈值。当待处理数据量超过该阈值时,可能会造成定时任务定时启动时对该待处理数据的处理时间过长,则应该缩短定时任务的定时启动周期。
当待处理数据的数据量超出设定的第一阈值THn时,监控任务WPn向任务管理系统发出启动定时任务Pn的请求,任务管理系统根据该请求启动定时任务Pn。
S205、判断所述定时任务的启动时间是否为所述定时任务的定时启动时间;
本步骤,任务管理系统可根据定时任务的启动时间判断,如果该启动时间尚未到达定时任务Pn的启动周期Tn时,则定时任务Pn的该次启动为非定时启动,如果该启动时间已经到达定时任务Pn的启动周期Tn,则定时任务Pn的该次启动为定时启动。
S206、若所述定时任务的启动时间不是所述定时任务的定时启动时间,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新;并执行以下步骤S207;
本步骤,若所述定时任务的启动时间不是所述定时任务的定时启动时间,即若定时任务Pn的该次启动为非定时启动,则对定时任务Pn的连续定时启动计数器CPn参数的清零,即对所述定时任务的连续定时启动次数的计数值进行清零,并对所述定时任务的连续非定时启动计数器OCPn参数+1,即对所述定时任务的连续非定时启动次数的计数值加1。
其中,连续定时启动次数的计数值和连续非定时启动次数的计数值:这两个参数强调的都是“连续”。定时任务Pn的启动方式有两种:1)当到达启动周期Tn时,由任务管理系统自动将定时任务Pn启动,称为“定时启动”,CPn参数+1,OCPn参数清零;2)尚未到达启动周期Tn时,由监控任务WPn请求任务管理系统将定时任务Pn启动,称为“非定时启动”,OCPn参数+1,CPn参数清零。
S207、若更新后的所述定时任务的连续非定时启动次数的计数值大于第二阈值,则按照第一调整规则调整所述定时任务的启动周期;
本步骤,任务管理系统可以在所述连续非定时启动次数的计数值、以及所述连续定时启动次数的计数值每次更新后对该两个计数值进行检查,或者定期检查所述连续非定时启动次数的计数值和所述连续定时启动次数的计数值。
当连续非定时启动次数的计数值OCPn>c1(c1为正整数,优选5~10)时,任务管理系统将定时任务Pn的启动周期Tn调整为Tn×r1(0<r1<1,优选0.99~0.90),即缩短定时任务的启动周期。
S208、若所述定时任务的启动时间为所述定时任务按照定时启动周期定时启动的时间,则对所述定时任务的连续非定时启动次数的计数值进行清零处理,并对所述定时任务的连续定时启动次数的计数值进行更新;并执行以下步骤S209;
本步骤,若所述定时任务的启动时间为所述定时任务的定时启动时间,即若定时任务Pn的该次启动为定时启动,则对定时任务Pn的连续非定时启动计数器OCPn参数的清零,即对所述定时任务的连续非定时启动次数的计数值进行清零,并对所述定时任务的连续定时启动计数器CPn参数+1,即对所述定时任务的连续定时启动次数的计数值加1。
其中,连续定时启动次数的计数值和连续非定时启动次数的计数值:这两个参数强调的都是“连续”。定时任务Pn的启动方式有两种:1)当到达启动周期Tn时,由任务管理系统自动将定时任务Pn启动,称为“定时启动”,CPn参数+1,OCPn参数清零;2)尚未到达启动周期Tn时,由监控任务WPn请求任务管理系统将定时任务Pn启动,称为“非定时启动”,OCPn参数+1,CPn参数清零。
S209、若更新后的所述定时任务的连续定时启动次数的计数值大于第三阈值,则按照第二调整规则调整所述定时任务的启动周期。
本步骤,任务管理系统可以在所述连续非定时启动次数的计数值、以及所述连续定时启动次数的计数值每次更新后对该两个计数值进行检查,或者定期检查所述连续非定时启动次数的计数值和所述连续定时启动次数的计数值。
当连续定时启动次数的计数值CPn>c2(c2为正整数,优选10~20)时,任务管理系统将定时任务Pn的启动周期Tn调整为Tn/r2(0<r2<1,优选0.99~0.95)。即延长定时任务Pn的启动周期。
在本实施例中,可以根据所述定时任务调整后的启动周期,对所述监控任务的监控周期进行调整;举例而言,监控任务WPn的监控周期WTn和定时任务Pn的启动周期Tn之间具有相关性,例如WTn=Tn/k(k的典型值是10~20),即相较于定时任务Pn,监控任务WPn的启动更加频繁,这样,一旦待处理数据量超过阈值,能尽早被发现。在按照第一调整规则或第二调整规则对所述定时任务Pn的启动周期Tn进行调整之后,由于监控任务WPn的监控周期WTn和定时任务Pn的启动周期Tn之间具有相关性,监控任务WPn的监控周期WTn随所述定时任务Pn的启动周期Tn发生相应调整。
S210、在为定时任务设定的定时启动时间,判断所述定时任务是否正在运行;
本步骤,所述定时任务的定时启动时间是根据所述定时任务的启动周期得到的;在每次到达所述定时任务的定时启动时间时,任务管理系统在启动所述定时任务之前,首先判断定时任务是否正在运行。
若所述定时任务正在运行,则执行以上步骤S206;如果定时任务正在运行,则有可能是以下两个原因导致的:1)正在运行的定时任务是定时启动的,这时,说明定时任务在上次启动后的执行时间已经超过了任务启动周期,待处理数据量过大;2)正在运行的定时任务是非定时启动的,这也说明了待处理数据量过大。所以这两种情况下,都应该对连续非定时启动次数的计数值加1,对连续定时启动次数的计数值清零。
若所述定时任务不在运行,则执行上述步骤S208;如果定时任务不在运行,则任务管理系统启动所述定时任务,并将连续定时启动次数的计数值加1,连续非定时启动次数的计数值清零。定时任务执行其特定操作对数据进行处理完毕后停止运行,等待任务管理系统对定时任务的下一次启动。
本实施例提供的任务管理方法,引入了监控任务对定时任务的待处理数据的数据量进行动态监控,这样,能够尽早发现所述待处理数据的数据量累积过多的情况(待处理数据的数据量大于第一阈值),并及时启动所述定时任务对所述待处理数据进行处理,克服了由于待处理数据的数据量累积过多而导致的定时任务定时启动后运行时间过长的问题。
并通过为定时任务设置连续定时启动次数的计数值、以及连续非定时启动次数的计数值两个参数,对定时任务的启动方式进行计数,来判断定时任务当前的启动周期是否过长或过短,然后进行相应的动态调整。对于数据量累积过快的情况,则可以自动缩短启动周期,对于数据量累积过慢的情况,则可以自动延长启动周期。这样就实现了对定时任务启动时间的双向调整,可以使定时任务的启动周期处于一个合理的水平区间,从而提升任务管理效率以及任务执行效率。
图7是本发明一实施例提供的任务管理装置的结构示意图,如图7所示,本发明实施例提供的任务管理装置包括:第一监控模块31,用于利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;启动模块32,用于若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
本发明实施例提供的任务管理装置,引入了监控任务对定时任务的待处理数据的数据量进行动态监控,这样,能够尽早发现所述待处理数据的数据量累积过多的情况(待处理数据的数据量大于第一阈值),并及时启动所述定时任务对所述待处理数据进行处理,克服了由于待处理数据的数据量累积过多而导致的定时任务定时启动后运行时间过长的问题。
如图8所示,可选的,所述装置还包括:第一更新模块33,用于根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新。
可选的,所述第一更新模块具体用于:若所述定时任务的启动时间不是所述定时任务的定时启动时间,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新。
可选的,所述第一更新模块具体用于:若所述定时任务的启动时间为所述定时任务的定时启动时间,则对所述定时任务的连续非定时启动次数的计数值进行清零处理,并对所述定时任务的连续定时启动次数的计数值进行更新。
如图9所示,可选的,所述装置还包括:第二监控模块34,用于在为定时任务设定的定时启动时间,判断所述定时任务是否正在运行;第二更新模块35,用于若所述定时任务正在运行,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新。
如图9所示,可选的,所述装置还包括:第三更新模块36,用于若所述定时任务不在运行,则启动所述定时任务,并对所述定时任务的连续非定时启动次数的计数值进行清零处理,对所述定时任务的连续定时启动次数的计数值进行更新。
如图10所示,可选的,所述装置还包括:第一调整模块37,用于若更新后的所述定时任务的连续非定时启动次数的计数值大于第二阈值,则按照第一调整规则调整所述定时任务的启动周期。
如图10所示,可选的,所述装置还包括:第二调整模块38,用于若更新后的所述定时任务的连续定时启动次数的计数值大于第三阈值,则按照第二调整规则调整所述定时任务的启动周期。
可选的,所述装置还包括:第三调整模块,用于根据所述定时任务调整后的启动周期,对所述监控任务的监控周期进行调整。
可选的,所述第一监控模块具体用于:利用监控任务按照监控周期定时监控所述定时任务是否正在运行;若所述定时任务不在运行,则利用所述监控任务检测所述定时任务的待处理数据的数据量是否大于第一阈值。
本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
需要说明的是,本发明实施例提供的任务管理方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对任务管理方法及装置的应用领域不做限定。
图11为本发明一实施例提供的电子设备的实体结构示意图,如图11所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行如下方法:利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种任务管理方法,其特征在于,所述方法包括:
利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;
若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
2.根据权利要求1所述的方法,其特征在于,在启动所述定时任务对所述待处理数据进行处理之后,所述方法还包括:
根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新。
3.根据权利要求2所述的方法,其特征在于,所述根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新包括:
若所述定时任务的启动时间不是所述定时任务的定时启动时间,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新;
若所述定时任务的启动时间为所述定时任务的定时启动时间,则对所述定时任务的连续非定时启动次数的计数值进行清零处理,并对所述定时任务的连续定时启动次数的计数值进行更新。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在为定时任务设定的定时启动时间,判断所述定时任务是否正在运行;
若所述定时任务正在运行,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新;
若所述定时任务不在运行,则启动所述定时任务,并对所述定时任务的连续非定时启动次数的计数值进行清零处理,对所述定时任务的连续定时启动次数的计数值进行更新。
5.根据权利要求3或4所述的方法,其特征在于,在对所述定时任务的连续非定时启动次数的计数值进行更新之后,所述方法还包括:
若更新后的所述定时任务的连续非定时启动次数的计数值大于第二阈值,则按照第一调整规则调整所述定时任务的启动周期;
在对所述定时任务的连续定时启动次数的计数值进行更新之后,所述方法还包括:
若更新后的所述定时任务的连续定时启动次数的计数值大于第三阈值,则按照第二调整规则调整所述定时任务的启动周期。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述定时任务调整后的启动周期,对所述监控任务的监控周期进行调整。
7.根据权利要求1所述的方法,其特征在于,所述利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值包括:
利用监控任务按照监控周期定时监控所述定时任务是否正在运行;
若所述定时任务不在运行,则利用所述监控任务检测所述定时任务的待处理数据的数据量是否大于第一阈值。
8.一种任务管理装置,其特征在于,所述装置包括:
第一监控模块,用于利用监控任务监控定时任务的待处理数据的数据量是否大于第一阈值;
启动模块,用于若所述待处理数据的数据量大于第一阈值,则启动所述定时任务对所述待处理数据进行处理。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一更新模块,用于根据所述定时任务的启动时间,对所述定时任务的连续定时启动次数的计数值、以及连续非定时启动次数的计数值进行更新。
10.根据权利要求9所述的装置,其特征在于,所述第一更新模块具体用于:
若所述定时任务的启动时间不是所述定时任务的定时启动时间,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新;
若所述定时任务的启动时间为所述定时任务的定时启动时间,则对所述定时任务的连续非定时启动次数的计数值进行清零处理,并对所述定时任务的连续定时启动次数的计数值进行更新。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二监控模块,用于在为定时任务设定的定时启动时间,判断所述定时任务是否正在运行;
第二更新模块,用于若所述定时任务正在运行,则对所述定时任务的连续定时启动次数的计数值进行清零处理,并对所述定时任务的连续非定时启动次数的计数值进行更新;
第三更新模块,用于若所述定时任务不在运行,则启动所述定时任务,并对所述定时任务的连续非定时启动次数的计数值进行清零处理,对所述定时任务的连续定时启动次数的计数值进行更新。
12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:
第一调整模块,用于若更新后的所述定时任务的连续非定时启动次数的计数值大于第二阈值,则按照第一调整规则调整所述定时任务的启动周期;
第二调整模块,用于若更新后的所述定时任务的连续定时启动次数的计数值大于第三阈值,则按照第二调整规则调整所述定时任务的启动周期。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第三调整模块,用于根据所述定时任务调整后的启动周期,对所述监控任务的监控周期进行调整。
14.根据权利要求8所述的装置,其特征在于,所述第一监控模块具体用于:
利用监控任务按照监控周期定时监控所述定时任务是否正在运行;
若所述定时任务不在运行,则利用所述监控任务检测所述定时任务的待处理数据的数据量是否大于第一阈值。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110834992.8A CN113467921B (zh) | 2021-07-23 | 2021-07-23 | 一种任务管理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110834992.8A CN113467921B (zh) | 2021-07-23 | 2021-07-23 | 一种任务管理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113467921A true CN113467921A (zh) | 2021-10-01 |
CN113467921B CN113467921B (zh) | 2024-02-09 |
Family
ID=77882116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110834992.8A Active CN113467921B (zh) | 2021-07-23 | 2021-07-23 | 一种任务管理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467921B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109102200A (zh) * | 2018-08-27 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 一种定时任务处理方法及装置 |
CN109710394A (zh) * | 2018-12-27 | 2019-05-03 | 出门问问信息科技有限公司 | 定时任务处理系统及方法 |
CN112199170A (zh) * | 2020-09-07 | 2021-01-08 | 广州致远电子有限公司 | 实时操作系统的定时处理方法、装置、设备及存储介质 |
-
2021
- 2021-07-23 CN CN202110834992.8A patent/CN113467921B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109102200A (zh) * | 2018-08-27 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 一种定时任务处理方法及装置 |
CN109710394A (zh) * | 2018-12-27 | 2019-05-03 | 出门问问信息科技有限公司 | 定时任务处理系统及方法 |
CN112199170A (zh) * | 2020-09-07 | 2021-01-08 | 广州致远电子有限公司 | 实时操作系统的定时处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113467921B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220083375A1 (en) | Method and apparatus for scheduling task processing entity | |
CN110704173A (zh) | 任务调度方法、调度系统、电子设备及计算机存储介质 | |
CN108123851B (zh) | 分布式系统中主从节点同步链路的存活检测方法及装置 | |
CN112398945B (zh) | 一种基于背压的业务处理方法及装置 | |
CN112114956A (zh) | 一种任务调度方法、装置和系统 | |
CN107402851B (zh) | 一种数据恢复控制方法及装置 | |
CN112383585A (zh) | 消息处理系统、方法及电子设备 | |
JP2020080059A (ja) | 評価装置、評価方法および評価プログラム | |
CN111130834B (zh) | 一种网络弹性策略的处理方法及装置 | |
CN113467921A (zh) | 一种任务管理方法、装置及电子设备 | |
CN112579396A (zh) | 软件系统动态限流方法、装置及设备 | |
CN110275780B (zh) | 用于限制流量的方法和装置 | |
CN114461323B (zh) | 一种卡顿处理方法、装置、电子设备及存储介质 | |
CN114553765B (zh) | 一种ospf邻居震荡处理的方法、装置及介质 | |
CN109284188B (zh) | 一种缓冲数组维护方法、装置、终端及可读介质 | |
CN107145495B (zh) | 动态调整参数规则的方法及装置 | |
CN106714258B (zh) | 一种信道切换方法及装置 | |
CN115333675A (zh) | 一种报文的发送方法、装置、电子设备及存储介质 | |
CN114721876A (zh) | 一种数据备份方法、装置、介质 | |
CN112000492B (zh) | 公众号用户标签的管理系统及方法 | |
CN113867734A (zh) | 代码块解释执行方法、装置、电子设备及存储介质 | |
CN114327817A (zh) | 一种任务分片方法、装置和电子设备 | |
CN113760494A (zh) | 任务调度方法和装置 | |
CN113269559B (zh) | 无网络客户端交易行为控制方法及装置 | |
CN112019423B (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 |