System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种任务调度方法、装置、电子设备、介质和车辆。
技术介绍
1、车辆中,实时操作系统的任务调度用于对多任务进行执行决策,便于在执行时间内进行多任务的有效执行。
2、相关技术中,任务调度主要是按照任务优先级进行任务调度规划,如对于多任务,可选择优先级最高的任务作为当前需执行的任务,执行完成后,则根据剩余任务的优先级依次执行各剩余任务。
3、然而,上述任务调度方式,任务数量较多时,在执行时间内无法确保不同优先级任务的执行确定性,进而难以完整响应任务需求,降低驾驶安全性。
技术实现思路
1、为了解决上述技术问题,本公开提供了一种任务调度方法、装置、电子设备、介质和车辆。
2、第一方面,本公开提供了一种任务调度方法,包括:
3、获得第一任务列表和第二任务列表;其中,所述第一任务列表中的第一任务的执行优先级高于所述第二任务列表中的第二任务,所述第一任务对应预先设置的至少一个节拍中的调度时间;
4、在所述节拍中的调度时间,调度对应的所述第一任务;
5、在所述节拍中的预留时间,对所述第二任务列表中的第二任务进行调度;所述预留时间为所述节拍中除所述调度时间外的时段。
6、作为本公开实施例一种可选的实施方式,所述在所述节拍中的调度时间,调度对应的所述第一任务,包括:
7、根据所述第一任务的任务周期,确定进行任务调度的节拍数;
8、在所述节拍数对应的每个节拍中的调度时间,
9、作为本公开实施例一种可选的实施方式,所述在所述节拍数对应的每个节拍内中的调度时间,基于所述第一任务列表中包括的第一任务的执行时间,对所述第一任务进行调度,包括:
10、在所述节拍数对应的一个节拍的调度时间内,基于所述第一任务的执行时间,确定第一跳转节点;
11、基于所述第一跳转节点以及第一跳转信息,在所述一个节拍的调度时间内执行所述第一任务的调度,所述第一跳转信息用于记录所述第一任务的完成情况。
12、作为本公开实施例一种可选的实施方式,所述方法还包括:
13、在所述节拍数对应的一个节拍的调度时间内,若所述第一任务未执行完成,基于所述第一任务的已执行时间,确定第二跳转节点;
14、基于所述第二跳转节点以及第二跳转信息,在所述节拍数对应的下一个节拍的调度时间内执行所述第一任务的调度;所述第二跳转信息用于表示所述第一任务在所述节拍数对应的一个节拍内的执行时间和在所述节拍数对应的下一个节拍内的执行时间。
15、作为本公开实施例一种可选的实施方式,所述第二任务列表包括:第一子任务列表和第二子任务列表;所述第二任务包括:第一子任务和第二子任务;所述第一子任务包含于所述第一子任务列表;所述第二子任务包含于所述第二子任务列表;
16、所述在所述节拍中的预留时间,对所述第二任务列表中的第二任务进行调度,包括:
17、基于每个节拍中的预留时间,对所述第一子任务和所述第二子任务中优先级高的任务进行调度。
18、作为本公开实施例一种可选的实施方式,所述第二任务列表包括:第一子任务列表和第二子任务列表;所述第二任务包括:第一子任务和第二子任务;所述第一子任务包含于所述第一子任务列表;所述第二子任务包含于所述第二子任务列表;
19、所述方法还包括:
20、基于每个节拍中的预留时间,根据所述第一子任务和所述第二子任务的执行时间进行任务调度。
21、作为本公开实施例一种可选的实施方式,所述方法还包括:
22、若所述第二任务调度失败,生成调度规划信息,所述调度规划信息用于指示对任务调度的节拍进行调整或者对每个节拍调度中的预留时间进行调整。
23、作为本公开实施例一种可选的实施方式,所述根据所述第一任务的任务周期,确定进行任务调度的节拍数,包括:
24、根据所述第一任务的任务周期,确定第一数值和第二数值,所述第一数值用于描述所述第一任务列表中包括的全部任务的任务周期的最小公倍数,所述第二数值用于描述所述第一任务列表中包括的全部任务的任务周期的最大公约数;
25、将所述第一数值和所述第二数值的比值确定为进行任务调度的节拍数。
26、作为本公开实施例一种可选的实施方式,所述任务调度方法通过运行可执行文件实现:
27、所述可执行文件的生成方法包括:
28、获取所述任务调度方法对应的源代码;
29、对所述源代码进行预处理,生成中间文件;所述预处理包括:配置信息的预处理和任务信息的预处理;
30、对所述中间文件进行编译,以使所述第一任务列表的调度规划在程序编译阶段进行,生成可执行文件。
31、第二方面,本公开实施例提供一种任务调度装置,包括:
32、分类模块,用于获得第一任务列表和第二任务列表;其中,所述第一任务列表中的第一任务的执行优先级高于所述第二任务列表中的第二任务,所述第一任务对应预先设置的至少一个节拍中的调度时间,所述第一任务列表和所述第二任务列表是对多个待处理任务进行分类得到的;
33、第一调度模块,用于在所述节拍中的调度时间,调度对应的所述第一任务;
34、第二调度模块,用于在所述节拍中的预留时间,对所述第二任务列表中的第二任务进行调度;所述预留时间为所述节拍中除所述调度时间外的时段。
35、作为本公开实施例一种可选的实施方式,所述第一调度模块,包括:
36、节拍确定单元,用于根据所述第一任务的任务周期,确定进行任务调度的节拍数;
37、任务调度单元,用于在所述节拍数对应的每个节拍中的调度时间,基于所述第一任务的执行时间,对所述第一任务进行调度。
38、作为本公开实施例一种可选的实施方式,所述任务调度单元,具体用于:
39、在所述节拍数对应的一个节拍的调度时间内,基于所述第一任务的执行时间,确定第一跳转节点;
40、基于所述第一跳转节点以及第一跳转信息,在所述一个节拍的调度时间内执行所述第一任务的调度,所述第一跳转信息用于记录所述第一任务的完成情况。
41、作为本公开实施例一种可选的实施方式,所述任务调度单元,还用于:
42、在所述节拍数对应的一个节拍的调度时间内,若所述第一任务未执行完成,基于所述第一任务的已执行时间,确定第二跳转节点;
43、基于所述第二跳转节点以及第二跳转信息,在所述节拍数对应的下一个节拍的调度时间内执行所述第一任务的调度;所述第二跳转信息用于表示所述第一任务在所述节拍数对应的一个节拍内的执行时间和在所述节拍数对应的下一个节拍内的执行时间。
44、作为本公开实施例一种可选的实施方式,所述第二任务列表包括:第一子任务列表和第二子任务列表;所述第二任务包括:第一子本文档来自技高网...
【技术保护点】
1.一种任务调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述节拍中的调度时间,调度对应的所述第一任务,包括:
3.根据权利要求2所述的方法,其特征在于,所述在所述节拍数对应的每个节拍中的调度时间,基于所述第一任务列表中包括的第一任务的执行时间,对所述第一任务进行调度,包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,所述第二任务列表包括:第一子任务列表和第二子任务列表;所述第二任务包括:第一子任务和第二子任务;所述第一子任务包含于所述第一子任务列表;所述第二子任务包含于所述第二子任务列表;
6.根据权利要求1所述的方法,其特征在于,所述第二任务列表包括:第一子任务列表和第二子任务列表;所述第二任务包括:第一子任务和第二子任务;所述第一子任务包含于所述第一子任务列表;所述第二子任务包含于所述第二子任务列表;
7.根据权利要求1所述的方法,其特征在于,还包括:
8.根据权利要求2所述的方法,其特征在于,所述根据所述第
9.根据权利要求1所述的方法,其特征在于,如权利要求1所述的任务调度方法通过运行可执行文件实现:
10.一种任务调度装置,其特征在于,包括:
11.一种电子设备,其特征在于,包括:
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1~9中任一所述的任务调度方法。
13.一种车辆,其特征在于,包括:如权利要求11所述的电子设备。
...【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述节拍中的调度时间,调度对应的所述第一任务,包括:
3.根据权利要求2所述的方法,其特征在于,所述在所述节拍数对应的每个节拍中的调度时间,基于所述第一任务列表中包括的第一任务的执行时间,对所述第一任务进行调度,包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,所述第二任务列表包括:第一子任务列表和第二子任务列表;所述第二任务包括:第一子任务和第二子任务;所述第一子任务包含于所述第一子任务列表;所述第二子任务包含于所述第二子任务列表;
6.根据权利要求1所述的方法,其特征在于,所述第二任务列表包括:第一子任务列表和第二子任务列表;所述第二...
【专利技术属性】
技术研发人员:梁杰,
申请(专利权)人:北京罗克维尔斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。