利索能及
我要发布
收藏
专利号: 2020116393025
申请人: 杭州海康威视数字技术股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种任务调度方法,其特征在于,所述方法包括:

获得多个目标待执行任务;

确定各目标待执行任务当前时刻的超期调度频次;其中,一个目标待执行任务的超期调度频次表示:在预设历史时间内连续超时调度该目标待执行任务的次数;

按照超期调度频次从高到低的顺序,将所述各目标待执行任务调度至内核执行;

在所述获得多个目标待执行任务之前,所述方法还包括:

将所有任务划分为多个任务组,其中,I/O密集型任务被分配至优先级最高的第一任务组,非I/O密集型任务基于历史超期调度频次被分配至所述第一任务组或优先级低于第一任务组的一个或多个第二任务组;

所述获得多个目标待执行任务,包括:

针对每一个任务组启动一个执行器;每个执行器的优先级与对应任务组的优先级一致;

通过每个执行器分别获得自身对应的任务组中的多个目标待执行任务;

所述按照超期调度频次从高到低的顺序,将所述各目标待执行任务调度至内核执行,包括:通过所述第一任务组对应的执行器,按照预设顺序,将所述第一任务组中的目标待执行任务调度至内核;其中,所述预设顺序表示:I/O密集型任务优先于非I/O密集型任务,且非I/O密集型任务按照超期调度频次从高到低的顺序;

和/或,

通过各个第二任务组对应的执行器,按照超期调度频次从高到低的顺序,将该执行器所对应的第二任务组中的目标待执行任务调度至内核;以使内核根据各执行器的优先级执行接收到的待执行任务;

所述第二任务组的数量为多个时,各个第二任务组的优先级不同;

所述方法还包括:

当达到预设时刻时,针对每一第二任务组,判断该第二任务组中的任务的最大超期调度频次是否大于预设阈值;

如果该第二任务组中的任务的最大超期调度频次大于预设阈值,将该第二任务组中的任务的最大超期调度频次对应的任务迁移至目标任务组,其中,所述目标任务组的优先级高于该第二任务组的优先级,且所述目标任务组的优先级与该第二任务组的优先级为相邻的优先级;和/或,将所述目标任务组中的任务的最小超期调度频次对应的任务,迁移至该第二任务组。

2.根据权利要求1所述的方法,其特征在于,在所述将该第二任务组中的任务的最大超期调度频次对应的任务迁移至目标任务组之前,所述方法还包括:判断该第二任务组中的任务的最大超期调度频次,是否大于所述目标任务组中的任务的最小超期调度频次;

如果该第二任务组中的任务的最大超期调度频次,大于所述目标任务组中的任务的最小超期调度频次,执行所述将该第二任务组中的任务的最大超期调度频次对应的任务迁移至目标任务组的步骤。

3.根据权利要求1所述的方法,其特征在于,所述通过所述第一任务组对应的执行器,按照预设顺序,将所述第一任务组中的目标待执行任务调度至内核,包括:通过所述第一任务组对应的执行器,按照预设顺序,确定所述第一任务组中一个当前未处理的任务,作为第一当前备选任务;

判断是否接收到所述第一当前备选任务对应的待处理业务数据;

如果是,则基于所述第一当前备选任务对应的待处理业务数据,生成该第一当前备选任务对应的第一待执行任务,并调度至内核;

如果否,则返回通过所述第一任务组对应的执行器,按照预设顺序,确定所述第一任务组中一个当前未处理的任务,作为当前第一备选任务的步骤;

所述通过各个第二任务组对应的执行器,按照超期调度频次从高到低的顺序,将该执行器所对应的第二任务组中的目标待执行任务调度至内核,包括:通过各个第二任务组对应的执行器,按照超期调度频次从高到低的顺序,确定该第二任务组中一个当前未处理的任务,作为第二当前备选任务;

判断是否接收到所述第二当前备选任务对应的待处理业务数据;

如果是,则基于所述第二当前备选任务对应的待处理业务数据,生成所述第二当前备选任务对应的第二待执行任务,并调度至内核;

如果否,则返回通过各个第二任务组对应的执行器,按照超期调度频次从高到低的顺序,确定该第二任务组中一个当前未处理的任务,作为第二当前备选任务的步骤。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

针对每一目标待执行任务,在该目标待执行任务执行结束时,计算该目标待执行任务的执行时长;

如果该目标待执行任务的执行时长大于预设时长,将该目标待执行任务的超期调度频次加1;

如果该目标待执行任务的执行时长不大于预设时长,将该目标待执行任务的超期调度频次置为0。

5.根据权利要求1所述的方法,其特征在于,所述I/O密集型任务表示需要传输数据的驾驶任务;所述非I/O密集型任务表示不需要传输数据的驾驶任务。

6.根据权利要求5所述的方法,其特征在于,所述I/O密集型任务包括:传感器读取任务和/或决策控制任务;所述传感器读取任务用于从传感器读取采集到的车辆的环境数据;所述决策控制任务用于确定车辆的行车部件的控制参数;

所述非I/O密集型任务包括以下至少一项:组合定位任务、目标感知任务、场景建模任务和路径规划任务;所述组合定位任务用于确定车辆自身的位置;所述目标感知任务用于确定车辆周围的目标;所述场景建模任务用于建立车辆所处环境的虚拟场景;所述路径规划任务用于确定车辆的行驶路径。

7.一种任务调度装置,其特征在于,所述装置包括:

目标待执行任务获取模块,用于获得多个目标待执行任务;

超期调度频次确定模块,用于确定各目标待执行任务当前时刻的超期调度频次;其中,一个目标待执行任务的超期调度频次表示:在预设历史时间内连续超时调度该目标待执行任务的次数;

调度模块,用于按照超期调度频次从高到低的顺序,将所述各目标待执行任务调度至内核执行;

所述装置还包括:

分组模块,用于在所述获得多个目标待执行任务之前,将所有任务划分为多个任务组,其中,I/O密集型任务被分配至优先级最高的第一任务组,非I/O密集型任务基于历史超期调度频次被分配至所述第一任务组或优先级低于第一任务组的一个或多个第二任务组;

所述目标待执行任务获取模块,包括:

执行启动子模块,用于针对每一个任务组启动一个执行器;每个执行器的优先级与对应任务组的优先级一致;

目标待执行任务获取模块,用于通过每个执行器分别获得自身对应的任务组中的多个目标待执行任务;

所述调度模块,包括:

第一调度子模块,用于通过所述第一任务组对应的执行器,按照预设顺序,将所述第一任务组中的目标待执行任务调度至内核;其中,所述预设顺序表示:I/O密集型任务优先于非I/O密集型任务,且非I/O密集型任务按照超期调度频次从高到低的顺序;

和/或,

第二调度子模块,用于通过各个第二任务组对应的执行器,按照超期调度频次从高到低的顺序,将该执行器所对应的第二任务组中的目标待执行任务调度至内核;以使内核根据各执行器的优先级执行接收到的待执行任务;

所述第二任务组的数量为多个时,各个第二任务组的优先级不同;

所述装置还包括:

判断模块,用于当达到预设时刻时,针对每一第二任务组,判断该第二任务组中的任务的最大超期调度频次是否大于预设阈值;

第一处理模块,用于如果该第二任务组中的任务的最大超期调度频次大于预设阈值,将该第二任务组中的任务的最大超期调度频次对应的任务迁移至目标任务组,其中,所述目标任务组的优先级高于该第二任务组的优先级,且所述目标任务组的优先级与该第二任务组的优先级为相邻的优先级;和/或,第二处理模块,用于将所述目标任务组中的任务的最小超期调度频次对应的任务,迁移至该第二任务组。

8.一种自动驾驶系统,其特征在于,所述自动驾驶系统包括:处理器;其中:所述处理器,用于获得多个目标待执行任务;确定各目标待执行驾驶任务当前时刻的超期调度频次;其中,一个目标待执行驾驶任务的超期调度频次表示:在预设历史时间内连续超时调度该目标待执行驾驶任务的次数;按照超期调度频次从高到低的顺序,将所述各目标待执行驾驶任务调度至所述处理器的内核;通过所述内核,执行接收到的各目标待执行驾驶任务;

所述处理器,还用于在所述获得多个目标待执行任务之前,将所有任务划分为多个任务组,其中,I/O密集型任务被分配至优先级最高的第一任务组,非I/O密集型任务基于历史超期调度频次被分配至所述第一任务组或优先级低于第一任务组的一个或多个第二任务组;

所述处理器,具体用于针对每一个任务组启动一个执行器;每个执行器的优先级与对应任务组的优先级一致;通过每个执行器分别获得自身对应的任务组中的多个目标待执行任务;通过所述第一任务组对应的执行器,按照预设顺序,将所述第一任务组中的目标待执行任务调度至内核;其中,所述预设顺序表示:I/O密集型任务优先于非I/O密集型任务,且非I/O密集型任务按照超期调度频次从高到低的顺序;和/或,通过各个第二任务组对应的执行器,按照超期调度频次从高到低的顺序,将该执行器所对应的第二任务组中的目标待执行任务调度至内核;以使内核根据各执行器的优先级执行接收到的待执行任务;

所述第二任务组的数量为多个时,各个第二任务组的优先级不同;

所述处理器,还用于当达到预设时刻时,针对每一第二任务组,判断该第二任务组中的任务的最大超期调度频次是否大于预设阈值;如果该第二任务组中的任务的最大超期调度频次大于预设阈值,将该第二任务组中的任务的最大超期调度频次对应的任务迁移至目标任务组,其中,所述目标任务组的优先级高于该第二任务组的优先级,且所述目标任务组的优先级与该第二任务组的优先级为相邻的优先级;和/或,将所述目标任务组中的任务的最小超期调度频次对应的任务,迁移至该第二任务组。

9.根据权利要求8所述的自动驾驶系统,其特征在于,所述自动驾驶系统还包括传感器和目标车辆;所述目标车辆包括整车控制器和行车部件;

所述传感器,用于采集所述目标车辆的环境数据;

所述处理器,用于通过所述内核执行接收到的待执行驾驶任务,以从所述传感器获取所述环境数据,基于所述环境数据确定所述目标车辆的行车部件的控制参数,并向所述整车控制器发送所述控制参数;

所述整车控制器,用于基于所述控制参数控制所述目标车辆的行车部件。