多类型任务管理方法及装置制造方法及图纸

技术编号:36063766 阅读:11 留言:0更新日期:2022-12-24 10:29
本发明专利技术提供一种多类型任务管理方法及装置,该方法包括:确定目标任务类型;基于任务调度管理器执行所述目标任务类型对应的目标任务;其中,所述任务调度管理器提供:第一列表、第一队列、第二队列、接口、第一函数、第二函数。本发明专利技术通过确定目标任务类型,基于任务调度管理器提供的接口、相应的列表和队列以及函数,执行目标任务类型对应的目标任务,实现对多类型任务的统一管理,提高易用性,保证多类型任务的执行更加稳定可靠。务的执行更加稳定可靠。务的执行更加稳定可靠。

【技术实现步骤摘要】
多类型任务管理方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种多类型任务管理方法及装置。

技术介绍

[0002]列车自动监控系统(Automatic Train Supervision,ATS)系统是应用于地铁线路的监控系统,该系统中包含多种类型的任务,例如定时任务、周期性任务或一次性任务等。
[0003]目前,对于定时任务的处理方法为利用定时器设定系统当前时间到执行定时任务的目标时间的时间间隔,定时器计时达到该时间间隔后执行定时任务,这种方式会影响到执行定时任务的精确性;或,利用定时器设定较小时间间隔,并周期性的与系统当前时间进行比较,在定时器计时达到定时任务的目标时间的情况下执行定时任务,这种方式会浪费大量额外的中央处理器(central processing unit,CPU)时间。
[0004]对于周期性任务的处理方法为利用多线程定时器设定周期性时间间隔,在定时器计时达到周期性时间间隔的情况下执行周期性任务,采用这种方式导致具有依赖性的前后周期性任务无法正常执行;或,利用单个独占线程执行周期性任务,每次执行完成周期性任务后阻塞当前线程,等待周期时间间隔后继续执行周期性任务,采用这种方式导致系统线程资源供不应求;或,利用用户界面(User Interface,UI)定时器对更新UI的周期性任务通过消息队列的方式来实现,这种方式会导致不能准确执行周期性任务。
[0005]对于一次性任务的处理方法为启动新的线程执行一次性任务,或,利用线程池线程执行一次性任务,这种方式导致对一次性任务进行性能检测或日志记录时,出现大量重复代码,耦合度较高,不利于对程序进行维护。
[0006]因此,相关技术中无法实现对多类型任务的执行方法进行优化和统一管理亟待解决。

技术实现思路

[0007]本专利技术提供一种多类型任务管理方法及装置,用以解决相关技术中无法实现对多类型任务的执行方法进行优化和统一管理的问题。
[0008]第一方面,本专利技术提供一种多类型任务管理方法,包括:
[0009]确定目标任务类型;
[0010]基于任务调度管理器执行所述目标任务类型对应的目标任务;
[0011]其中,所述任务调度管理器提供:第一列表、第一队列、第二队列、接口、第一函数、第二函数;
[0012]所述第一列表用于存储定时任务,所述第一队列用于存储周期性任务,所述第二队列用于存储一次性任务;
[0013]所述接口用于将所述定时任务存储至所述第一列表、将所述周期性任务存储至所述第一队列和/或将所述一次性任务存储至所述第二队列;
[0014]所述第一函数用于从所述第一队列取出所述周期性任务,所述第二函数用于从所
述第二队列取出所述一次性任务。
[0015]可选地,所述基于任务调度管理器执行所述目标任务类型对应的目标任务,具体包括:
[0016]在所述目标任务为定时任务的情况下,通过所述接口将所述定时任务存储至所述第一列表,执行所述定时任务;
[0017]在所述目标任务为周期性任务的情况下,通过所述接口将所述周期性任务存储至所述第一队列,调用所述第一函数取出所述周期性任务,执行所述周期性任务;
[0018]在所述目标任务为一次性任务的情况下,通过所述接口将所述一次性任务存储至所述第二队列,调用所述第二函数取出所述一次性任务,执行所述一次性任务。
[0019]可选地,所述执行所述定时任务,具体包括:
[0020]启动定时器,在所述定时器计时达到定时器的时间间隔的情况下,执行所述定时器的Elapsed事件;
[0021]其中,所述执行所述定时器的Elapsed事件包括:
[0022]停止所述定时器,基于所述定时任务的目标执行时间和当前时间计算执行所述定时任务的剩余时间;
[0023]判断所述剩余时间是否小于预设时间间隔,若所述剩余时间小于预设时间间隔且大于零,则异步等待所述剩余时间后执行所述定时任务,在所述定时任务执行完成后,退出所述定时器的Elapsed事件的执行;或者,
[0024]若所述剩余时间大于预设时间间隔,则基于缩减比例更新所述定时器的时间间隔,启动所述定时器,在所述定时器计时达到更新后的定时器的时间间隔的情况下,继续执行所述定时器的Elapsed事件。
[0025]可选地,所述执行所述周期性任务,具体包括:
[0026]基于后台线程池分配第i个线程至所述周期性任务;
[0027]在第i个周期时间内利用所述第i个线程执行所述周期性任务,其中,i为大于等于1的自然数;
[0028]若所述周期性任务未取消,异步等待预设执行周期,在等待结束后开始下一个周期的任务执行。
[0029]可选地,所述执行所述一次性任务,具体包括:
[0030]基于中央处理器CPU逻辑核数计算所述一次性任务的并行度;
[0031]判断所述第二队列中剩余任务数量是否大于所述并行度,若大所述于并行度,则从所述第二队列中取出数量等于所述并行度的多个任务;否则,取出所述第二队列中剩余的所有任务;
[0032]使用所述后台线程池中的多个线程并行执行取出的多个任务,其中,一个线程对应执行一个任务。
[0033]可选地,所述执行所述一次性任务,还包括以下至少一项:
[0034]在使用所述后台线程中的多个池线程并行执行取出的多个任务的过程中,对每个任务的执行进行等待操作和异常检测操作,若执行时间超过第一预设阈值或出现异常,则进行日志记录;
[0035]在所有任务的执行结束后,获取并行执行取出的多个任务的总时间,若所述总时
间大于或等于第二预设阈值,则进行日志记录;
[0036]打印所述第二队列的剩余任务数量和所述后台线程池的使用情况。
[0037]第二方面,本专利技术还提供一种多类型任务管理装置,包括:
[0038]设置单元,用于确定目标任务类型;
[0039]执行单元,用于基于任务调度管理器执行所述目标任务类型对应的目标任务。
[0040]可选地,所述执行单元,具体包括:
[0041]第一执行子单元,用于在所述目标任务为定时任务的情况下,通过所述接口将所述定时任务存储至所述第一列表,执行所述定时任务;
[0042]第二执行子单元,用于在所述目标任务为周期性任务的情况下,通过所述接口将所述周期性任务存储至所述第一队列,调用所述第一函数取出所述周期性任务,执行所述周期性任务;
[0043]第三执行子单元,用于在所述目标任务为一次性任务的情况下,通过所述接口将所述一次性任务存储至所述第二队列,调用所述第二函数取出所述一次性任务,执行所述一次性任务。
[0044]第三方面,本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述多类型任务管理方法的步骤。
[0045]第四方面本专利技术还提供一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多类型任务管理方法,其特征在于,包括:确定目标任务类型;基于任务调度管理器执行所述目标任务类型对应的目标任务;其中,所述任务调度管理器提供:第一列表、第一队列、第二队列、接口、第一函数、第二函数;所述第一列表用于存储定时任务,所述第一队列用于存储周期性任务,所述第二队列用于存储一次性任务;所述接口用于将所述定时任务存储至所述第一列表、将所述周期性任务存储至所述第一队列和/或将所述一次性任务存储至所述第二队列;所述第一函数用于从所述第一队列取出所述周期性任务,所述第二函数用于从所述第二队列取出所述一次性任务。2.根据权利要求1所述的多类型任务管理方法,其特征在于,所述基于任务调度管理器执行所述目标任务类型对应的目标任务,具体包括:在所述目标任务为定时任务的情况下,通过所述接口将所述定时任务存储至所述第一列表,执行所述定时任务;在所述目标任务为周期性任务的情况下,通过所述接口将所述周期性任务存储至所述第一队列,调用所述第一函数取出所述周期性任务,执行所述周期性任务;在所述目标任务为一次性任务的情况下,通过所述接口将所述一次性任务存储至所述第二队列,调用所述第二函数取出所述一次性任务,执行所述一次性任务。3.根据权利要求2所述的多类型任务管理方法,其特征在于,所述执行所述定时任务,具体包括:启动定时器,在所述定时器计时达到定时器的时间间隔的情况下,执行所述定时器的Elapsed事件;其中,所述执行所述定时器的Elapsed事件包括:停止所述定时器,基于所述定时任务的目标执行时间和当前时间计算执行所述定时任务的剩余时间;判断所述剩余时间是否小于预设时间间隔,若所述剩余时间小于预设时间间隔且大于零,则异步等待所述剩余时间后执行所述定时任务,在所述定时任务执行完成后,退出所述定时器的Elapsed事件的执行;或者,若所述剩余时间大于预设时间间隔,则基于缩减比例更新所述定时器的时间间隔,启动所述定时器,在所述定时器计时达到更新后的定时器的时间间隔的情况下,继续执行所述定时器的Elapsed事件。4.根据权利要求2所述的多类型任务管理方法,其特征在于,所述执行所述周期性任务,具体包括:基于后台线程池分配第i个线程至所述周期性任务;在第i个周期时间内利用所述第i个线程执行所述周期性任务,其中,i为大于等于1的自然数;若所述周期性任务未取消,异步等待预设执行周期,在等待结束后开始下一个周期的任务执行。
5.根据权利要求2所述的多类型任务管理方法,其特征在于,所述执行所述一次性任务,具体包括:基于中央处理器C...

【专利技术属性】
技术研发人员:王振
申请(专利权)人:交控科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1