CN109144697B - 一种任务调度方法、装置、电子设备及存储介质 - Google Patents

一种任务调度方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN109144697B
CN109144697B CN201811005508.5A CN201811005508A CN109144697B CN 109144697 B CN109144697 B CN 109144697B CN 201811005508 A CN201811005508 A CN 201811005508A CN 109144697 B CN109144697 B CN 109144697B
Authority
CN
China
Prior art keywords
task
target task
tasks
execution time
current
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.)
Active
Application number
CN201811005508.5A
Other languages
English (en)
Other versions
CN109144697A (zh
Inventor
辛建康
陈卓
王柏生
何玮
冯凯文
张超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201811005508.5A priority Critical patent/CN109144697B/zh
Publication of CN109144697A publication Critical patent/CN109144697A/zh
Application granted granted Critical
Publication of CN109144697B publication Critical patent/CN109144697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种任务调度方法、装置、电子设备及存储介质。该方法包括:对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;根据各任务的当前状态信息和累积执行时长参数的当前取值,获取当前状态信息为可被执行状态的任务中累积执行时长参数最小的任务作为目标任务,或选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;执行目标任务,在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。通过引入累计执行时长参数确定目标任务,解决了现有技术中任务调度中存在的资源占用不均衡的问题,提高了任务调度过程的稳定性。

Description

一种任务调度方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种任务调度方法、装置、电子设备及存储介质。
背景技术
目前,无人车系统运行的算法模块包括感知、规划、控制、车辆状态检测、定位等等,这些算法模块通过信息通道连接,形成一张复杂的有向无环图(DAG)拓扑结构。
DAG拓扑结构中的每个节点对应一个任务,在调度系统中,在执行某一任务所需要的数据产生时,将队列中该任务的状态变更为可被执行状态,每次调度时对队列中的任务进行遍历,当遍历到一个当前状态信息为可被执行状态的任务时,则执行该任务。由于不同算法模块对应的任务的执行时长(占用系统资源)并不相同,因此不同算法模块的任务获取资源不均衡,使得无人车系统的运行稳定性得不到保证。
发明内容
本发明实施例提供一种任务调度方法、装置、电子设备及存储介质,以解决任务调度中存在的资源占用不均衡的问题。
第一方面,本发明实施例提供了一种任务调度方法,该方法包括:
对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;
根据各任务的当前状态信息和累计执行时长参数的当前取值,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;
执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。
第二方面,本发明实施例还提供了一种任务调度装置,该装置包括:
信息获取单元,用于对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;
目标任务确定单元,用于根据各任务的当前状态信息和累计执行时长参数的当前取值,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;
目标任务执行单元,用于执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面实施例所提供的一种任务调度方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所提供的一种任务调度方法。
本发明实施例通过对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;根据各任务的当前状态信息和累积执行时长参数的当前取值,获取当前状态信息为可被执行状态的任务中累积执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。通过引入累计执行时长参数确定目标任务,解决了现有技术中任务调度中存在的资源占用不均衡的问题,提高了任务调度过程的稳定性。
附图说明
图1是本发明实施例一中的一种任务调度方法的流程图;
图2是本发明实施例二中的一种任务调度方法的流程图;
图3是本发明实施例三中的一种任务调度方法的流程图;
图4是本发明实施例四中的一种任务调度装置的结构图;
图5是本发明实施例五提供的一种电子设备的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中的一种任务调度方法的流程图。本发明实施例适用于对队列中的任务进行调度的情况,该方法可以由任务调度装置来执行,该装置由软件和/或硬件实现,并具体设置于电子设备中。
其中,电子设备可以是具备至少一个算法模块用于处理对应任务的计算机设备。其中,各算法模块通过执行相应的代码处理对应的任务,并达到相应的效果。
如图1所示的任务调度方法,包括:
S110、对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值。
其中,队列是一种特殊的线性存储表,只允许在表的前端也即队头进行队列元素的删除操作,在表的后端也即队尾进行队列元素的插入操作。其中,队列元素为电子设备中所包含的各算法模块对应的任务。
其中,当前状态信息用于表示各任务的可处理状态,包括可被执行状态和不可被执行状态。其中,在接收到产生了任一任务对应的输入数据的消息通知时,将所述队列中该任一任务的状态变更为可被执行状态。其中,输入数据为执行相应任务所需的数据。其中,输入数据可以是其他任务执行所产生的数据,由用户手动输入的数据,从电子设备本地读取的数据,从与电子设备关联的其他电子设备读取的数据,或者还可以是从网络端或云端读取的数据。具体的,当有输入数据存储时,对应生成输入数据的消息通知,并根据生成的消息通知改变输入数据对应的任务的当前状态信息的当前取值为可被执行状态。
其中,累计执行时长参数用于表示自第一次被执行至最近一次被执行,该任一任务各次被执行的执行时长的累加和。
示例性地,当处理各任务的中央处理器(Central Processing Unit,CPU)所在线程查询到产生了执行任务所需的输入数据时,将队列中该任务的状态变更为可被执行状态。在调度周期到来时,相应的线程对线程所监控的队列中的任务进行遍历,并获取所遍历的各任务的当前状态信息和累计执行时长参数的当前取值。
示例性地,当监控消息中心的设定线程监控到存在任一任务的任务执行所需的输入数据存储至消息中心时,该设定线程生成一通知消息并发送至任务调度线程。任务调度线程根据所接收的通知消息将队列中该任一任务的状态变更为可被执行状态。在调度周期到来时,对任务所在的队列进行遍历,并获取所遍历的各任务的当前状态信息和累计执行时长参数的当前取值。
优选地,当前队列中各任务的初始累计执行时长参数相同,其中,初始累计执行时长参数对应各任务在第一次执行前的情况。
S120、根据各任务的当前状态信息和累计执行时长参数的当前取值,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务。
示例性地,在对当前队列进行遍历的过程中,对应存储当前队列所包含的各任务的当前状态信息和累计执行时长参数的当前取值;获取当前状态信息为可被执行状态的任务为可选取任务;获取各可选取任务的累计执行时长参数的当前取值,选取累计执行时长参数的当前取值最小的可选取任务为待选取任务;当待选取任务仅包括一个任务时,直接将待选取任务作为目标任务;当待选取任务包括至少两个任务时,获取各待选取任务的优先级;计算各待选取任务的累计执行时长参数与优先级的比值,并直接选取比值最小的待选取任务作为目标任务。
当然,如果比值最小的待选取任务至少为两个,还可以借助其他辅助规则进行目标任务的选择。示例性地,其他辅助规则可以是:从比值最小的待选取任务中选取遍历时间值距离遍历结束时间值最远任务;从比值最小的待选取任务中选取遍历时间值距离遍历结束时间值最近的待选取任务;随机从比值最小的待选取任务中选取一待选取任务;或者从比值最小的待选取任务中选取频次参数最小的任务。其中,频次参数是预先设置的用于表示对应任务的被调度频次的参数。其中,频次参数可以是按照十进制编码后所对应的累计被调度数值。
示例性地,在对当前队列进行遍历的过程中,当读取到第一个当前状态信息的当前取值为可被执行状态时,将对应的累计执行时长参数的当前取值存储为最小时长参数;继续读取各任务的当前状态信息和累计执行时长参数的当前取值;当再次读取到一任务的当前状态信息的当前取值为可被执行状态时,将对应的累计执行时长参数的当前取值与已存储的最小时长参数进行比对,并获取两者中较小的参数值更新最小时长参数,直至遍历当前队列中的所有任务;将最小时长参数所对应的任务作为目标任务。其中,当最小时长参数对应的任务包括至少两个时,将最小时长参数对应的各任务作为待选取任务,并获取各待选取任务的优先级;计算各待选取任务的累计执行时长参数与优先级的比值,并直接选取比值最小的待选取任务作为目标任务。
当然,如果比值最小的待选取任务至少为两个,还可以借助其他辅助规则进行目标任务的选择。示例性地,其他辅助规则可以是:从比值最小的待选取任务中选取遍历时间值距离遍历结束时间值最远任务;从比值最小的待选取任务中选取遍历时间值距离遍历结束时间值最近的待选取任务;随机从比值最小的待选取任务中选取一待选取任务;或者从比值最小的待选取任务中选取频次参数最小的任务。其中,频次参数是预先设置的用于表示对应任务的被调度频次的参数。其中,频次参数可以是按照十进制编码后所对应的累计被调度数值。
S130、执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。
本发明实施例通过对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;根据各任务的当前状态信息和累积执行时长参数的当前取值,获取当前状态信息为可被执行状态的任务中累积执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。通过引入累计执行时长参数确定目标任务,解决了现有技术中任务调度中存在的资源占用不均衡的问题,提高了任务调度过程的稳定性。
优选地,本发明实施例所提供的任务调度方法应用于无人车系统中。该无人车系统中所存储的各队列中的任务包括设置于无人车系统中的以下至少一个模块对应的任务:感知模块、规划模块、控制模块、车辆状态检测模块以及定位模块。
实施例二
图2是本发明实施例二中的一种任务调度方法的流程图。本发明实施例在上述各实施例的技术方案的基础上进行了细分优化。
进一步地,将操作“选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务”细化为“若当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务有多个,则选择第一个遍历到的当前状态信息为可被执行状态且累计执行时长参数最小的任务,作为目标任务;或者,若当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务有多个,则选择第一个遍历到的当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务”,以完善目标任务选取机制,便于应对可被执行状态的任务中累计执行时长参数最小的任务包含多个时的情况。
进一步地,将操作“更新目标任务对应的累计执行时长参数的当前取值”细化为“将所述目标任务对应的累计执行时长参数的当前取值与所述目标任务的本次执行时长相加;其中,当前队列中各任务对应的累计执行时长参数的初始取值为0”,以完善任务执行后的累计执行时长参数更新机制,便于任务调度方法的循环执行。
如图2所示的任务调度方法,包括:
S210、对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值。
其中,当前队列中各任务对应的累计执行时长参数的初始取值为0。其中,任一任务的累计执行时长参数的当前取值为该任一任务在第一次被执行至最近一次被执行,各次执行时长的累加和。
S220、若当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务有多个,则选择第一个遍历到的当前状态信息为可被执行状态且累计执行时长参数最小的任务,或选择第一个遍历到的当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务。
S230、执行选择的目标任务。
S240、将所述目标任务对应的累计执行时长参数的当前取值与所述目标任务的本次执行时长相加。
本发明实施例通过选择可被执行状态的任务中累计执行时长参数最小的任务,或选择可被执行状态奶的任务中累计执行时长参数与对应的优先级的比值最小的任务作为目标任务的方式,完善目标任务选择机制,便于应对可被执行状态的任务中累计执行时长参数最小的任务包含多个时的情况;通过将累积执行时长参数的初始取值设定为0,并采用在目标任务执行完成之后,将目标任务的累计执行时长参数的当前取值与目标任务的本次执行时长相加的方式,更新累积执行时长参数,完善任务执行后的累计执行时长参数更新机制,便于任务调度方法的循环执行。
实施例三
图3是本发明实施例三中的一种任务调度方法的流程图。本发明实施例在上述各实施例的技术方案的基础上进行了优化。
进一步地,将操作“执行选择的目标任务”细化为“根据维护的所述目标任务的输入信息通道索引信息,从消息中心读取所述目标任务的输入数据,根据所述目标任务的输入数据执行目标任务;其中,所述输入信息通道索引信息用于指示消息中心中用于存储对应任务的输入数据的存储区域的地址”,以完善目标任务的执行机制,实现对输入数据的有效管理,同时为电子设备的维修、维护和性能评估提供依据。
进一步地,将操作“执行选择的目标任务”之后,追加“根据维护的所述目标任务的输出信息通道索引信息,将执行所述目标任务得到的输出数据存入消息中心;其中,所述输出信息通道索引信息用于指示消息中心中用于存储对应任务的输出数据的存储区域的地址”,以完善目标任务执行后的数据存储机制,实现了对输出数据的有效管理,同时为电子设备的维修、维护和性能评估提供依据。
如图3所示的任务调度方法,包括:
S310、对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值。
其中,当前状态信息包括可被执行状态和不可被执行状态。
S320、根据各任务的当前状态信息和累计执行时长参数的当前取值,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务,或选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务。
其中,在接收到产生了任一任务对应的输入数据的消息通知时,将所述队列中该任一任务的状态变更为可被执行状态。其中,输入数据存储于消息中心中对应的存储空间。其中,消息中心可以是电子设备本地的存储区域,还可以是与电子设备具备关联的其他电子设备的存储区域。
当消息中心中存储任一任务的输入数据时,消息中心的管理线程会生成一与该任一任务相关联的消息通知发送至与该任一任务对应的任务调度线程,并由该任一任务对应的任务调度线程修改该任一任务在队列中的当前状态信息的当前取值为可被执行状态。
S330、根据维护的所述目标任务的输入信息通道索引信息,从消息中心读取所述目标任务的输入数据,根据所述目标任务的输入数据执行目标任务。
其中,所述输入信息通道索引信息用于指示消息中心中用于存储对应任务的输入数据的存储区域的地址。其中,输入数据的存储可以采用读写锁保护机制。
示例性地,当电子设备设置于无人机系统时,输入数据可以是无人机系统规划路线时的出发地信息、目的地信息以及出发地和目的地所关联区域的地图信息等。
具体的,目标任务所对应的任务调度线程接收到输入数据的消息通知时,基于本地维护的信息确定目标任务对应的输入信息通道索引信息;任务调度线程根据确定的输入信息通道索引信息从消息中心读取目标任务的输入数据。
S340、根据维护的所述目标任务的输出信息通道索引信息,将执行所述目标任务得到的输出数据存入消息中心。
其中,所述输出信息通道索引信息用于指示消息中心中用于存储对应任务的输出数据的存储区域的地址。
具体的,目标任务所对应的任务调度线程在执行目标任务完成之后,会生成相应的输出数据;任务调度线程将基于目标任务的输入信息通道索引信息或信息通道标识信息,确定对应的输出信息通道索引信息;将生成的输出数据存储至消息中心中与输出信息通道索引信息对应的存储区域中。
其中,输出数据可以作为任务调度过程中的中间数据,也即与目标任务相关联的其他任务的输入数据,还可以作为任务调度的记录数据,便于后续对输出数据进行查找比对,为电子设备维修、维护和性能评估提供依据。其中,输出数据的存储可以采用读写锁保护机制。
S350、在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。
本发明实施例根据维护的目标任务的输入信息通道索引信息,从消息中心读取目标任务的输入数据,并根据目标任务的输入数据执行目标任务,完善了目标任务的执行机制,实现了对输入数据的有效管理,同时为电子设备的维修、维护和性能评估提供依据;根据维护的目标任务的输出信息通道索引信息,将执行目标任务得到的输出数据存入消息中心,完善了目标任务执行后的数据存储机制,实现了对输出数据的有效管理,同时为电子设备的维修、维护和性能评估提供依据。
实施例四
图4是本发明实施例四中的一种任务调度装置的结构图。本发明实施例适用于对队列中的任务进行调度的情况,该装置由软件和/或硬件实现,并具体配置于电子设备中。如图4所示的任务调度装置,包括:信息获取单元410,目标任务确定单元420以及目标任务执行单元430。
其中,信息获取单元410,用于对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;
目标任务确定单元420,用于根据各任务的当前状态信息和累计执行时长参数的当前取值,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;
目标任务执行单元430,用于执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。
本发明实施例通过信息获取单元对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;通过目标任务确定单元根据各任务的当前状态信息和累积执行时长参数的当前取值,获取当前状态信息为可被执行状态的任务中累积执行时长参数最小的任务,或选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;通过目标任务执行单元执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。通过引入累计执行时长参数确定目标任务,解决了现有技术中任务调度中存在的资源占用不均衡的问题,提高了任务调度过程的稳定性。
进一步地,所述目标任务确定单元420,包括:
第一确定子单元,用于在当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务有多个时,选择第一个遍历到的当前状态信息为可被执行状态且累计执行时长参数最小的任务,作为目标任务;或者,
第二确定子单元,用于在当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务有多个时,选择第一个遍历到的当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务。
进一步地,所述装置,还包括:
状态变更单元,用于在接收到产生了任一任务对应的输入数据的消息通知时,将所述队列中该任一任务的状态变更为可被执行状态。
进一步地,所述目标任务执行单元430,包括:
输入数据读取子单元,用于根据维护的所述目标任务的输入信息通道索引信息,从消息中心读取所述目标任务的输入数据,根据所述目标任务的输入数据执行目标任务;
其中,所述输入信息通道索引信息用于指示消息中心中用于存储对应任务的输入数据的存储区域的地址。
进一步地,所述装置,还包括:
输出数据存储单元,用于在执行选择的目标任务之后,根据维护的所述目标任务的输出信息通道索引信息,将执行所述目标任务得到的输出数据存入消息中心;
其中,所述输出信息通道索引信息用于指示消息中心中用于存储对应任务的输出数据的存储区域的地址。
进一步地,所述目标任务执行单元430,包括:
执行时长更新子单元,用于将所述目标任务对应的累计执行时长参数的当前取值与所述目标任务的本次执行时长相加;
其中,当前队列中各任务对应的累计执行时长参数的初始取值为0。
进一步地,所述装置配置于无人车系统中;
所述任务包括设置于无人车系统中的以下至少一个模块对应的任务:感知模块、规划模块、控制模块、车辆状态检测模块以及定位模块。
上述任务调度装置可执行本发明前述所有实施例所提供任务调度方法,具备执行上述任务调度方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的任务调度方法。
实施例五
图5是本发明实施例五提供的一种电子设备的结构图。图5示出了适于用来实现本发明实施方式的示例性电子设备512的框图。图5显示的电子设备512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备512以通用计算设备的形式表现。电子设备512的组件可以包括但不限于:一个或者多个处理器或者处理单元516,系统存储器528,连接不同系统组件(包括系统存储器528和处理单元516)的总线518。
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)530和/或高速缓存存储器532。电子设备512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储器528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块542的程序/实用工具540,可以存储在例如存储器528中,这样的程序模块542包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块542通常执行本发明所描述的实施例中的功能和/或方法。
电子设备512也可以与一个或多个外部设备514(例如键盘、指向设备、显示器524等)通信,还可与一个或者多个使得用户能与该电子设备512交互的设备通信,和/或与使得该电子设备512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,电子设备512还可以通过网络适配器520与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与电子设备512的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元516通过运行存储在系统存储器528中的多个程序中其他程序的至少一个,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的任务调度方法。
本发明实施例还提供一种车辆,包括车体,还包括上述电子设备。
实施例六
本发明实施例六提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的任务调度方法,该方法包括:对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;根据各任务的当前状态信息和累计执行时长参数的当前取值,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种任务调度方法,其特征在于,应用于无人车系统,所述方法包括:
对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;任一任务的所述累计执行时长参数用于表示自第一次被执行至最近一次被执行,该任一任务各次被执行的执行时长的累加和;
根据各任务的当前状态信息和累计执行时长参数的当前取值,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;
执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。
2.根据权利要求1所述的方法,其特征在于,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务,包括:
若当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务有多个,则选择第一个遍历到的当前状态信息为可被执行状态且累计执行时长参数最小的任务,作为目标任务;或者,
若当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务有多个,则选择第一个遍历到的当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到产生了任一任务对应的输入数据的消息通知时,将所述队列中该任一任务的状态变更为可被执行状态。
4.根据权利要求1所述的方法,其特征在于,执行选择的目标任务,包括:
根据维护的所述目标任务的输入信息通道索引信息,从消息中心读取所述目标任务的输入数据,根据所述目标任务的输入数据执行目标任务;
其中,所述输入信息通道索引信息用于指示消息中心中用于存储对应任务的输入数据的存储区域的地址。
5.根据权利要求1所述的方法,其特征在于,在执行选择的目标任务之后,还包括:
根据维护的所述目标任务的输出信息通道索引信息,将执行所述目标任务得到的输出数据存入消息中心;
其中,所述输出信息通道索引信息用于指示消息中心中用于存储对应任务的输出数据的存储区域的地址。
6.根据权利要求1所述的方法,其特征在于,更新目标任务对应的累计执行时长参数的当前取值,包括:
将所述目标任务对应的累计执行时长参数的当前取值与所述目标任务的本次执行时长相加;
其中,当前队列中各任务对应的累计执行时长参数的初始取值为0。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述任务包括设置于无人车系统中的以下至少一个模块对应的任务:感知模块、规划模块、控制模块、车辆状态检测模块以及定位模块。
8.一种任务调度装置,其特征在于,配置于无人车系统,包括:
信息获取单元,用于对当前队列中的任务进行遍历,获取遍历到的各任务的当前状态信息和累计执行时长参数的当前取值;任一任务的所述累计执行时长参数用于表示自第一次被执行至最近一次被执行,该任一任务各次被执行的执行时长的累加和;
目标任务确定单元,用于根据各任务的当前状态信息和累计执行时长参数的当前取值,选择当前状态信息为可被执行状态的任务中累计执行时长参数最小的任务作为目标任务,或者选择当前状态信息为可被执行状态的任务中累计执行时长参数与对应优先级的比值最小的任务,作为目标任务;
目标任务执行单元,用于执行选择的目标任务,并在目标任务被执行后,更新目标任务对应的累计执行时长参数的当前取值。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的一种任务调度方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的一种任务调度方法。
CN201811005508.5A 2018-08-30 2018-08-30 一种任务调度方法、装置、电子设备及存储介质 Active CN109144697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811005508.5A CN109144697B (zh) 2018-08-30 2018-08-30 一种任务调度方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811005508.5A CN109144697B (zh) 2018-08-30 2018-08-30 一种任务调度方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109144697A CN109144697A (zh) 2019-01-04
CN109144697B true CN109144697B (zh) 2021-03-09

Family

ID=64829542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811005508.5A Active CN109144697B (zh) 2018-08-30 2018-08-30 一种任务调度方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109144697B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111695846A (zh) * 2019-03-15 2020-09-22 北京京东尚科信息技术有限公司 产品的存货布局的确定方法、系统、设备和存储介质
CN111431892B (zh) * 2020-03-20 2022-03-25 上海金卓科技有限公司 一种加速器管理架构、方法及加速器接口控制器
CN111625331B (zh) * 2020-05-20 2023-06-16 拉扎斯网络科技(上海)有限公司 任务调度方法、装置、平台、服务器及存储介质
CN111694647A (zh) * 2020-06-08 2020-09-22 北京百度网讯科技有限公司 用于自动驾驶车辆的任务调度方法、设备及存储介质
CN112225166A (zh) * 2020-10-19 2021-01-15 平安科技(深圳)有限公司 一种智能供油管理方法及智能供油系统
CN112783619B (zh) * 2020-12-31 2024-01-02 杭州海康威视数字技术股份有限公司 一种任务调度方法、装置和自动驾驶系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077188A (zh) * 2013-03-29 2014-10-01 西门子公司 一种用于任务调度的方法和装置
CN108008918A (zh) * 2017-11-30 2018-05-08 联想(北京)有限公司 数据处理方法、存储节点及分布式存储系统
CN108021430A (zh) * 2016-10-31 2018-05-11 杭州海康威视数字技术股份有限公司 一种分布式任务处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528396B2 (en) * 2016-11-14 2020-01-07 King Abdulaziz University Temporal task scheduling in a hybrid system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077188A (zh) * 2013-03-29 2014-10-01 西门子公司 一种用于任务调度的方法和装置
CN108021430A (zh) * 2016-10-31 2018-05-11 杭州海康威视数字技术股份有限公司 一种分布式任务处理方法及装置
CN108008918A (zh) * 2017-11-30 2018-05-08 联想(北京)有限公司 数据处理方法、存储节点及分布式存储系统

Also Published As

Publication number Publication date
CN109144697A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109144696B (zh) 一种任务调度方法、装置、电子设备及存储介质
CN109144697B (zh) 一种任务调度方法、装置、电子设备及存储介质
CN110727512B (zh) 集群资源调度方法、装置、设备及储存介质
CN109144695B (zh) 一种任务拓扑关系的处理方法、装置、设备和介质
EP2921975B1 (en) Determining and extracting changed data from a data source
CN108681565B (zh) 区块链数据并行处理方法、装置、设备和存储介质
CN109284180B (zh) 一种任务调度方法、装置、电子设备及存储介质
CN110196884B (zh) 基于分布式数据库的数据写入方法、存储介质和电子设备
CN114416667B (zh) 快速分享网盘文件的方法、装置、网盘及存储介质
CN109033814B (zh) 智能合约触发方法、装置、设备及存储介质
US20170078207A1 (en) Network prioritization based on node-level attributes
CN113037529B (zh) 一种预留带宽分配方法、装置、设备及存储介质
US9098360B2 (en) Program, information processing apparatus, and event processing method
CN109242320B (zh) 订单分配方法、装置、服务器及存储介质
CN114327894A (zh) 资源分配方法、装置、电子设备及存储介质
CN109271193B (zh) 一种数据处理方法、装置、设备及存储介质
CN114358742A (zh) 一种工作流执行方法、装置、设备及存储介质
US9210043B2 (en) Recommending a policy for an IT asset
CN111198745A (zh) 容器创建的调度方法、装置、介质及电子设备
CN113760176A (zh) 数据存储方法和装置
CN113778455B (zh) 一种代码转换方法、装置、电子设备及存储介质
CN110659312B (zh) 数据处理的方法、装置、设备和计算机存储介质
CN117093335A (zh) 分布式存储系统的任务调度方法及装置
CN113127187B (zh) 用于集群扩缩容的方法和装置
CN114675954A (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