一种多任务调度方法及装置制造方法及图纸

技术编号:33554870 阅读:52 留言:0更新日期:2022-05-26 22:51
本发明专利技术实施例公开一种多任务调度方法及装置,该方法包括:获取任务配置文件,其中,任务配置文件包含多个目标任务的配置信息,配置信息包括任务调度周期、任务调度顺序;基于任务配置文件,利用守护进程对多个目标任务进行调度和任务状态监控,其中,守护进程的任务调度时钟根据任务调度周期和任务调度顺序创建,每一目标任务对应一个任务调度时钟,守护进程对应的共享内存用于各目标任务之间的数据交换以及用于存储第一任务状态信息,所述第一任务状态信息是各目标任务在执行调度过程中,生成的任务状态信息。应用本公开实现了对多任务的统一调度。的统一调度。的统一调度。

【技术实现步骤摘要】
一种多任务调度方法及装置


[0001]本专利技术涉及计算机
,具体而言,涉及一种多任务调度方法及装置。

技术介绍

[0002]随着计算机技术的深入发展,多任务操作系统应用越来越普遍,多任务操作系统例如Windows、Linux、QNX(Quick UNIX)等,在多任务操作系统中往往会同时运行着多个任务进程。现有技术中多个任务通常是独立启动和独立运行,例如,当需要启动多个任务时,无论是通过手动方式,还是命令脚本方式,都需要逐一启动每个任务执行,操作比较费时,特别是需要同时启动大量任务时,给维护人员带来了不便。另外各任务之间无法进行协调,若某一任务出现异常,不能及时调整和控制其他相关任务的执行状态。如何在多任务操作系统中对多个任务进行统一调配和管理,是多任务操作系统应用领域需要解决的问题。

技术实现思路

[0003]本专利技术提供了一种多任务调度方法及装置,以实现对多任务的统一调度。具体的技术方案如下:
[0004]第一方面,本专利技术实施例提供了一种多任务调度方法,方法包括:
[0005]获取任务配置文件,其中,任务配置文件包含多个目标任务的配置信息,配置信息包括任务调度周期、任务调度顺序;
[0006]基于任务配置文件,利用守护进程对多个目标任务进行调度和任务状态监控,其中,守护进程的任务调度时钟根据任务调度周期和任务调度顺序确定,每一目标任务对应一个任务调度时钟,守护进程对应的共享内存用于各目标任务之间的数据交换以及用于存储第一任务状态信息,第一任务状态信息是各目标任务在执行调度过程中,生成的任务状态信息。
[0007]可选的,基于任务配置文件,利用守护进程对多个目标任务进行调度和监控之前,包括:
[0008]针对每一目标任务,根据每一目标任务的任务调度周期和关联目标任务的任务调度顺序,确定任务调度时钟,其中,多个目标任务对应的多个任务调度时钟具有同一时钟源;
[0009]根据任务间数据信息和第二任务状态信息,确定共享内存,共享内存的容量对应任务间数据信息和第二任务状态信息容量的总和;
[0010]针对每一目标任务,根据每一目标任务对应的配置信息确定任务进程,且将初始化后的任务进程关联至共享内存。
[0011]可选的,针对每一目标任务,根据每一目标任务的任务调度周期和关联目标任务的任务调度顺序,确定任务调度时钟,包括:
[0012]根据多个目标任务的任务调度周期,确定任务调度基准时钟,其中,任务调度基准时钟对应多个目标任务的任务调度周期的最大公约数;
[0013]根据任务调度基准时钟和每一目标任务的任务调度周期,确定该目标任务的调度周期计数值,其中,调度周期计数值为任务调度基准时钟对应的N个基准时间,N为正整数;
[0014]根据任务调度顺序,确定每一目标任务的计数偏移值;
[0015]根据任务调度顺序,确定每一目标任务的任务执行方式,其中,
[0016]当目标任务的任务执行方式为串行执行时,则该目标任务的任务调度时钟对应该目标任务的周期计数值与该目标任务的计数偏移值之和;
[0017]当目标任务的任务执行方式为并行执行时,则并行执行的多个目标任务的任务调度时钟相同,并行执行的多个目标任务的任务调度时钟对应并行执行任务中每一目标任务的周期计数值与自身目标任务的计数偏移值之和。
[0018]可选的,针对每一目标任务,根据每一目标任务的任务调度周期和关联目标任务的任务调度顺序,确定任务调度时钟,还包括:
[0019]根据任务调度基准时钟,确定系统定时器,系统定时器为所有任务调度的最小时钟片,定时器用于实现多个目标任务基于同一时钟源的同步调度。
[0020]可选的,共享内存基于系统进程锁进行数据读写。
[0021]可选的,基于任务配置文件,利用目标守护进程对多个目标任务进行调度和监控,包括:
[0022]根据目标任务的任务调度时钟触发该目标任务;
[0023]基于每一关联目标任务的数据偏移地址,获取存储于共享内存中关联目标任务的第一数据,其中,第一数据是关联目标任务待发送给目标任务的数据;
[0024]基于第一数据,执行目标任务,并确定第二数据,其中,第二数据与目标任务执行结果相对应,第二数据包括第三数据和第四数据,第三数据是关联目标任务待接收的数据,第四数据是目标任务执行任务后确定的状态信息数据;
[0025]根据第四数据,对目标任务及其关联目标任务进行监控。
[0026]可选的,根据第四数据,对目标任务及其关联目标任务进行监控,包括:
[0027]获取第四数据;
[0028]根据第四数据,判断目标任务执行结果是否报错和/或目标任务是否异常退出;
[0029]响应于目标任务执行结果报错和/或目标任务异常退出,根据预先设置的错误等级向关联目标任务下发相应控制指令。
[0030]可选的,任务配置信息还包括任务名称、任务核绑定信息、任务优先级、第二任务状态信息、任务间数据信息中的至少一种,其中,第二任务状态信息为每一目标任务原始的任务状态信息。
[0031]第二方面,本专利技术实施例提供了一种多任务调度装置,装置包括;
[0032]获取模块,用于获取任务配置文件,其中,任务配置文件包含多个目标任务的配置信息,配置信息包括任务调度周期、任务调度顺序;
[0033]调度模块,用于基于任务配置文件,利用守护进程对多个目标任务进行调度和任务状态监控,其中,守护进程的任务调度时钟根据任务调度周期和任务调度顺序确定,每一目标任务对应一个任务调度时钟,守护进程对应的共享内存用于各目标任务之间的数据交换以及用于存储第一任务状态信息,第一任务状态信息是各目标任务在执行调度过程中,生成的任务状态信息。
[0034]可选的,装置还包括:
[0035]第一确定模块,用于针对每一目标任务,根据每一目标任务的任务调度周期和关联目标任务的任务调度顺序,确定任务调度时钟,其中,多个目标任务对应的多个任务调度时钟具有同一时钟源。
[0036]第二确定模块,用于根据任务间数据信息和第二任务状态信息,确定共享内存,共享内存的容量对应任务间数据信息和第二任务状态信息容量的总和。
[0037]第三确定模块,用于针对每一目标任务,根据每一目标任务对应的配置信息确定任务进程,且将初始化后的任务进程关联至共享内存。
[0038]可选的,第一确定模块,还可以包括:
[0039]第一确定单元,用于根据多个目标任务的任务调度周期,确定任务调度基准时钟,其中,任务调度基准时钟对应多个目标任务的任务调度周期的最大公约数。
[0040]第二确定单元,用于根据任务调度基准时钟和每一目标任务的任务调度周期,确定该目标任务的调度周期计数值,其中,调度周期计数值为任务调度基准时钟对应的N个基准时间,N为正整数。
[0041]第三确定单元,用于根据任务调度顺序,确定每一目标任务的计数偏移值。
[0042]第四确本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多任务调度方法,其特征在于,所述方法包括:获取任务配置文件,其中,所述任务配置文件包含多个目标任务的配置信息,所述配置信息包括任务调度周期、任务调度顺序;基于所述任务配置文件,利用守护进程对多个目标任务进行调度和任务状态监控,其中,所述守护进程的任务调度时钟根据所述任务调度周期和所述任务调度顺序确定,每一目标任务对应一个任务调度时钟,所述守护进程对应的共享内存用于各目标任务之间的数据交换以及用于存储第一任务状态信息,所述第一任务状态信息是各目标任务在执行调度过程中,生成的任务状态信息。2.如权利要求1所述的方法,其特征在于,所述任务配置信息还包括任务名称、任务核绑定信息、任务优先级、第二任务状态信息、任务间数据信息中的至少一种,其中,所述第二任务状态信息为每一目标任务原始的任务状态信息。3.如权利要求2所述的方法,其特征在于,所述基于所述任务配置文件,利用守护进程对多个目标任务进行调度和监控之前,包括:针对每一目标任务,根据每一目标任务的所述任务调度周期和关联目标任务的所述任务调度顺序,确定所述任务调度时钟,其中,多个目标任务对应的多个所述任务调度时钟具有同一时钟源;根据所述任务间数据信息和所述第二任务状态信息,确定所述共享内存,所述共享内存的容量对应所述任务间数据信息和所述第二任务状态信息容量的总和。针对每一目标任务,根据每一目标任务对应的所述配置信息确定任务进程,且将初始化后的所述任务进程关联至所述共享内存。4.如权利要求3所述的方法,其特征在于,所述针对每一目标任务,根据每一目标任务的所述任务调度周期和关联目标任务的所述任务调度顺序,确定所述任务调度时钟,包括:根据多个目标任务的所述任务调度周期,确定任务调度基准时钟,其中,所述任务调度基准时钟对应多个目标任务的所述任务调度周期的最大公约数;根据所述任务调度基准时钟和每一目标任务的所述任务调度周期,确定该目标任务的调度周期计数值,其中,所述调度周期计数值为所述任务调度基准时钟对应的N个基准时间,N为正整数;根据所述任务调度顺序,确定每一目标任务的计数偏移值;根据所述任务调度顺序,确定每一目标任务的任务执行方式,其中,当目标任务的任务执行方式为串行执行时,则该目标任务的任务调度时钟对应该目标任务的所述周期计数值与该目标任务的计数偏移值之和;当目标任务的任务执行方式为并行执行时,则并行执行的多个目标任务的所述任务调度时钟相同,所述并行执行的多个目标任务的所述任务调度时钟对应并行执行任务中每一目标任务的所述周期计数值与自身目标任务的所述计数偏移值之和。5.如权利要求3所述的方法,其特征在于,所述针对每一目标任务,根据每一目标任务的所述任务调度周期...

【专利技术属性】
技术研发人员:李新桥余江森
申请(专利权)人:上海仁童电子科技有限公司
类型:发明
国别省市:

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

1