CN111694647A - 用于自动驾驶车辆的任务调度方法、设备及存储介质 - Google Patents
用于自动驾驶车辆的任务调度方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111694647A CN111694647A CN202010512012.8A CN202010512012A CN111694647A CN 111694647 A CN111694647 A CN 111694647A CN 202010512012 A CN202010512012 A CN 202010512012A CN 111694647 A CN111694647 A CN 111694647A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- thread
- processed
- module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000003213 activating effect Effects 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 22
- 238000007726 management method Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 11
- 238000004422 calculation algorithm Methods 0.000 description 30
- 238000004364 calculation method Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
本申请公开了用于自动驾驶车辆的任务调度方法、设备及存储介质,涉及自动驾驶技术领域。具体实现方案为:通过用于自动驾驶车辆的任务调度装置接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;根据任务数据生成待处理任务,将待处理任务加入到任务队列中;激活线程池中的目标线程;从任务队列中提取目标待处理任务发送给目标线程,以使目标线程执行目标待处理任务。通过用于自动驾驶车辆的任务调度装置进行待处理任务的调度,保证调度过程的可控性,同时将待处理任务加入任务队列,通过激活线程池中的线程,并从任务队列中提取任务给已激活的线程执行,可使待处理任务能够及时被执行,保证了任务执行的实时性。
Description
技术领域
本申请实施例涉及计算机技术中的自动驾驶技术领域,尤其涉及用于自动驾驶车辆的任务调度方法、设备及存储介质。
背景技术
自动驾驶车辆通常需要通过传感器获取信息,再基于算法做出判断和决策,并向自动驾驶车辆发出控制指令,对整条链路的实时性、并发度要求比较高。
现有技术中对于自动驾驶车辆的定位、感知、规划、控制等计算任务,通常是基于ROS(Robot Operating System,机器人操作系统),采用多进程或多线程调度,将计算任务交给机器人操作系统的内核基于公平调度进行处理,也即将计算资源平均分配给各个计算任务。
现有的自动驾驶车辆的任务调度方式,采用机器人操作系统的内核进行计算任务的调度存在不可控性,不符合自动驾驶车辆实时可控的设计要求,此外,基于公平调度的调度方法也无法保证自动驾驶车辆关键任务的实时特性。
发明内容
本申请提供一种用于自动驾驶车辆的任务调度方法、设备及存储介质,以保证对自动驾驶车辆计算任务调度的可控性。
本申请第一个方面提供一种用于自动驾驶车辆的任务调度方法,包括:
接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;
根据所述任务数据生成待处理任务,将所述待处理任务加入到任务队列中;
激活线程池中的目标线程,其中所述线程池中包括预先配置的至少一个线程;
从所述任务队列中提取目标待处理任务发送给所述目标线程,以使所述目标线程执行所述目标待处理任务。
本申请第二个方面提供一种用于自动驾驶车辆的任务调度装置,包括:
任务管理模块,用于接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;根据所述任务数据生成待处理任务;
调度策略模块,用于将所述待处理任务加入到任务队列中;
线程池模块,用于激活线程池中的目标线程,其中所述线程池中包括预先配置的至少一个线程;
所述调度策略模块还用于,从所述任务队列中提取目标待处理任务发送给所述目标线程,以使所述目标线程执行所述目标待处理任务。
本申请第三个方面提供一种用于自动驾驶车辆的任务调度装置,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
本申请第四个方面提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面所述的方法。
本申请第五个方面提供一种电子设备,包括:自动驾驶车辆功能模块、自动驾驶车辆操作系统、以及如第三个方面所述的用于自动驾驶车辆的任务调度装置;
所述自动驾驶车辆功能模块用于产生任务数据,并发送给所述用于自动驾驶车辆的任务调度装置;
所述用于自动驾驶车辆的任务调度装置用于根据所述任务数据生成待处理任务,将所述待处理任务加入到任务队列中,并激活线程池中的目标线程,从所述任务队列中提取目标待处理任务发送给所述目标线程;其中所述线程池中包括所述自动驾驶车辆操作系统中预先配置的至少一个线程;
所述自动驾驶车辆操作系统用于通过所述目标线程执行所述目标待处理任务。
本申请第六个方面提供一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如第一方面所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:通过用于自动驾驶车辆的任务调度装置接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;根据任务数据生成待处理任务,将待处理任务加入到任务队列中;激活线程池中的目标线程,其中线程池中包括自动驾驶车辆操作系统中预先配置的至少一个线程;从任务队列中提取目标待处理任务发送给目标线程,以使目标线程执行目标待处理任务。通过在自动驾驶车辆功能模块与自动驾驶车辆操作系统之间架构了用于自动驾驶车辆的任务调度装置,进行待处理任务的调度,无需通过自动驾驶车辆操作系统内核进行调度,保证调度过程的可控性,同时将待处理任务加入任务队列,通过激活线程池中的线程,并从任务队列中提取任务给已激活的线程执行,可使待处理任务能够及时被执行,保证了任务执行的实时性。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是用来实现本申请实施例的用于自动驾驶车辆的任务调度方法的电子设备的系统架构图;
图2是本申请一实施例提供的用于自动驾驶车辆的任务调度方法的示意图;
图3是本申请一实施例提供的用于自动驾驶车辆的任务调度方法中按照优先级调度过程的场景示意图;
图4是本申请另一实施例提供的用于自动驾驶车辆的任务调度方法的示意图;
图5是本申请一实施例提供的用于自动驾驶车辆的任务调度装置的框图;
图6是本申请另一实施例提供的用于自动驾驶车辆的任务调度装置的框图;
图7是用来实现本申请实施例的用于自动驾驶车辆的任务调度方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为了清楚理解本申请的技术方案,首先对现有技术的方案进行详细介绍。现有技术中对于自动驾驶车辆的定位、感知、规划、控制等计算任务,通常是基于ROS(RobotOperating System,机器人操作系统),采用多进程或多线程调度,将计算任务交给机器人操作系统的内核基于公平调度进行处理,也即将计算资源平均分配给各个计算任务。现有的自动驾驶车辆的任务调度方式,采用机器人操作系统的内核进行计算任务的调度,无法灵活的控制计算任务的创建、运行和停止,因此存在不可控性,不符合自动驾驶车辆实时可控的设计要求,此外,基于公平调度的调度方法也无法保证自动驾驶车辆关键任务的实时特性。
为了使自动驾驶车辆的计算任务调度具有可控性,本申请在自动驾驶车辆功能模块与自动驾驶车辆操作系统之间架构了用于自动驾驶车辆的任务调度装置,其中自动驾驶车辆功能模块包括但不限于定位模块、感知模块、规划模块、控制模块,自动驾驶车辆功能模块产生任务数据,发送给用于自动驾驶车辆的任务调度装置,由用于自动驾驶车辆的任务调度装置根据任务数据生成待处理任务,并控制自动驾驶车辆操作系统的线程执行待处理任务。更进一步的,由于待处理任务可能有多个,为了更有效的进行任务调度,任务调度系统将待处理任务加入到任务队列中,并激活线程池中的目标线程,从任务队列中提取目标待处理任务发送给目标线程;其中线程池中包括自动驾驶车辆操作系统中预先配置的至少一个线程;进而由自动驾驶车辆操作系统通过目标线程执所述目标待处理任务,从而保证了计算任务调度的可控性,同时通过激活线程池中的线程,并从任务队列中提取任务给已激活的线程执行,可以使计算任务能够及时被执行,保证了计算任务执行的实时性。
本申请实施例提供的用于自动驾驶车辆的任务调度方法应用如图1所示的电子设备,该电子设备具体包括自动驾驶车辆功能模块110、自动驾驶车辆操作系统130、以及用于自动驾驶车辆的任务调度装置120;其中自动驾驶车辆功能模块110包括但不限于定位模块、感知模块、规划模块、控制模块,用于产生任务数据,并发送给用于自动驾驶车辆的任务调度装置120;用于自动驾驶车辆的任务调度装置120用于根据任务数据生成待处理任务,将待处理任务加入到任务队列中,并激活线程池中的目标线程,从任务队列中提取目标待处理任务发送给目标线程;其中线程池中包括自动驾驶车辆操作系统130中预先配置的至少一个线程;自动驾驶车辆操作系统130用于通过目标线程执行目标待处理任务。
进一步的,用于自动驾驶车辆的任务调度装置120可包括任务管理模块、调度策略模块以及线程池模块。其中,任务管理模块用于接收自动驾驶车辆至少一个功能模块110发送的对应任务数据,根据任务数据生成待处理任务;调度策略模块用于将待处理任务加入到任务队列中;线程池模块用于激活线程池中的目标线程;调度策略模块还用于从任务队列中提取目标待处理任务发送给目标线程,以使目标线程执行目标待处理任务。
下面结合具体实施例对本申请提供的用于自动驾驶车辆的任务调度过程进行详细介绍。
本申请一实施例提供一种用于自动驾驶车辆的任务调度方法,图2为本发明实施例提供的用于自动驾驶车辆的任务调度方法流程图。所述执行主体可以为用于自动驾驶车辆的任务调度装置,如图2所示,所述用于自动驾驶车辆的任务调度方法具体步骤如下:
S201、接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据。
在本实施例中,定位模块、感知模块、规划模块、控制模块等功能模块可产生任务数据,例如感知模块可包括红外相机、毫米波雷达等感知设备,每一种感知设备均可采集到自动驾驶车辆周围的环境信息数据,而根据每种感知设备采集到的环境信息数据进行感知时,均需要一定的算法,而环境信息数据可作为算法任务的任务数据。同样的,定位模块、规划模块、控制模块等其他功能模块进行相应的操作时同样也需要通过算法任务进行,算法任务所需的数据即为任务数据。功能模块在获取到任务数据后将任务数据发送给用于自动驾驶车辆的任务调度装置。
S202、根据所述任务数据生成待处理任务,将所述待处理任务加入到任务队列中。
在本实施例中,用于自动驾驶车辆的任务调度装置在接收到功能模块发送的任务数据后,可通过任务管理管理模块将任务数据进行封装,生成对应的算法任务,作为待处理任务,由调度策略模块加入到任务队列中,其中封装过程可具体为,将任务数据与预定的算法、参数、指令等进行封装,组成可被线程执行的算法任务,其中不同的功能模块的算法任务所封装的内容可根据其算法需求进行设定,此处不再赘述。本实施例中由于自动驾驶车辆操作系统的计算资源有限,故同一时刻能够执行的算法任务数量有限,因此可将待执行任务加入到任务队列中,从任务队列中依次取待处理任务进行执行,提高任务调度能力。
S203、激活线程池中的目标线程,其中所述线程池中包括预先配置的至少一个线程。
在本实施例中,可以在自动驾驶车辆操作系统中预先配置至少一个线程,每一线程可绑定自动驾驶车辆操作系统的计算资源,例如每一线程可绑定一个或多个处理器内核,利用多核处理器的优势,多个线程构成线程池。在需要执行算法任务时可由用于自动驾驶车辆的任务调度装置的线程池模块直接从线程池中选择空闲线程作为目标线程进行激活,由激活的线程来执行算法任务;而在算法任务执行完毕后可中止该线程。本实施例中,选择目标线程时可随机从空闲线程中选择一个或多个,也可按照一定的顺序选择,此处不再赘述;此外激活线程的数量可根据待处理任务的数量来确定。本实施例中线程池模块可封装面向自动驾驶车辆操作系统的接口(例如cpu binding&&SchedPolicy接口),对自动驾驶车辆操作系统的调度器线程进行资源软件隔离,使调度器线程在自动驾驶车辆操作系统中的运行可控,对上层算法而言,只需要关注线程池模块的资源,而自动驾驶车辆操作系统本身的调度器资源对上层算法而言是透明的。
S204、从所述任务队列中提取目标待处理任务发送给所述目标线程,以使所述目标线程执行所述目标待处理任务。
在本实施例中,用于自动驾驶车辆的任务调度装置可通过调度策略模块从任务队列中提取一个待处理任务作为目标待处理任务,并将该目标线程发送给目标线程,由该目标新城执行目标待处理任务。其中,用于自动驾驶车辆的任务调度装置从任务队列中提取目标待处理任务时可按照一定的规则提取,例如按照优先级提取目标待处理任务,可以使高优先级的关键任务先执行,保证关键任务执行的实时性;此外也可根据任务所需计算资源的大小来提取目标待处理任务,以分配具有相应计算资源的线程。更多的目标待处理任务提取规则此处不再赘述。
本实施例提供的用于自动驾驶车辆的任务调度方法,通过用于自动驾驶车辆的任务调度装置接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;根据任务数据生成待处理任务,将待处理任务加入到任务队列中;激活线程池中的目标线程,其中线程池中包括自动驾驶车辆操作系统中预先配置的至少一个线程;从任务队列中提取目标待处理任务发送给目标线程,以使目标线程执行目标待处理任务。通过在自动驾驶车辆功能模块与自动驾驶车辆操作系统之间架构了用于自动驾驶车辆的任务调度装置,进行待处理任务的调度,无需通过自动驾驶车辆操作系统内核进行调度,保证调度过程的可控性,同时将待处理任务加入任务队列,通过激活线程池中的线程,并从任务队列中提取任务给已激活的线程执行,可使待处理任务能够及时被执行,保证了任务执行的实时性。
在上述任一实施例的基础上,S202所述的根据所述任务数据生成待处理任务,具体可包括:
根据所述任务数据以及预设的数据依赖关系,生成所述待处理任务。
在本实施例中,用于自动驾驶车辆的任务调度装置在将任务数据封装成算法任务时,由于某一算法任务可能依赖多个数据,例如规划算法任务可能依赖定位数据、感知数据等,因此在生成算法任务时需要根据预设的数据依赖关系获取到所有的任务数据,并将任务数据与预定的算法、参数、指令等进行封装,组成可被线程执行的算法任务,从而可准确的得到封装好的算法任务。
在上述任一实施例的基础上,S202中所述的将所述待处理任务加入到任务队列中,具体可包括:
根据预设的调度策略确定所述待处理任务的优先级,并将所述待处理任务加入到对应优先级的任务队列中。
在本实施例中,由于定位、感知、规划、控制等算法任务之间存在相互依赖关系,例如规划算法任务是感知算法任务的下游,控制算法任务是规划算法任务下游,因此在执行算法任务时需要按照一定的优先级顺序来执行,越下游的算法任务需要具备更高优先级,来保证上游任务下发任务数据的处理实时性以及对车辆控制实时性。
本实施例中用于自动驾驶车辆的任务调度装置可通过调度策略模块根据预设调度策略来确定待处理任务的优先级,例如根据待处理任务之间的相互依赖关系形成有向无环图(Directed Acyclic Graph,DAG),可以更好的展示出各待处理任务之间的依赖关系,用于自动驾驶车辆的任务调度装置根据有向无环图对各待处理任务进行排队,确定各待处理任务的优先级,同时配置不同优先级的任务队列,将各待处理任务按照其优先级加入到对应优先级的任务队列中。
举例来讲,按照优先级调度过程如图3所示,待处理任务包括A-H,可通过配置不同类型任务优先级、执行周期、订阅发布关系,形成有向无环图,进而根据有向无环图确定各待处理任务的优先级,将各待处理任务按照其优先级加入到对应优先级的任务队列中,其中H、C、G三个待处理任务的优先级较高,放入最高优先级的任务队列1中,B、E、F三个待处理任务的优先级次之,放入中等优先级的任务队列2中,A、D两个待处理任务的优先级最低,放入最低优先级的任务队列3中。
进一步的,如图4所示,S204所述的从所述任务队列中提取目标待处理任务发送给所述目标线程,包括:
S401、按照优先级顺序遍历各优先级的任务队列,提取优先级最高的待处理任务;
S402、将所述优先级最高的待处理任务确定为目标待处理任务,并发送给所述目标线程。
在本实施例中,在用于自动驾驶车辆的任务调度装置通过调度策略模块从任务队列中提取目标待处理任务时,也按照优先级顺序来提取任务,例如上述举例中,假设线程池中有三个线程,先从任务队列1中提取优先级最高的待处理任务H发送给线程1执行,从任务队列1中提取待处理任务C发送给线程2执行,从任务队列1中提取待处理任务G给线程3执行,而线程1先执行完待处理任务H后,继续从任务队列2中提取待处理任务B发送给线程1执行,线程2先执行完待处理任务C后,继续从任务队列2中提取待处理任务E发送给线程2执行,以此类推,如图3中所示,当然若某一线程先执行完当前任务,可继续遍历各优先级的任务队列取最高优先级的待处理任务执行,并不限于上述举例中的顺序。本实施例中如果同一优先级的任务队列中存在多个待处理任务时,可按照先进先出原则依次提取任务。
本实施例中通过确定待处理任务的优先级,并加入到对应优先级的任务队列中,在提取目标待处理任务时也按照优先级顺序进行提取,可以使高优先级的关键任务先执行,保证关键任务执行的实时性,可使自动驾驶车辆能够快速准确的做出决策和控制,提高自动驾驶车辆对外界环境的相应速度,从而提高车辆安全性。本实施例中多个线程之间可以并行运行,从而可保证定位、感知、规划、控制等算法任务并发度和实效性。
在上述任一实施例的基础上,S203中所述的激活线程池中的目标线程,具体可包括:
在接收到所述任务数据时,随机选择所述线程池中的空闲线程作为所述目标线程进行激活,并采用条件锁配置所述目标线程的等待条件。
在本实施例中,当用于自动驾驶车辆的任务调度装置接收到功能模块发送的任务数据时,可触发对线程的激活,例如任务管理模块在接收到任务数据时可向线程池模块发送通知,进而线程池模块根据通知触发对线程的激活。进一步的,具体可由用于自动驾驶车辆的任务调度装置的线程池模块从线程池中的空闲线程中随机选择出目标线程进行激活,并让目标线程进入等待状态,也即采用条件锁配置目标线程的等待条件,在满足等待条件时从任务队列中提取目标待处理任务发送给目标线程即可执行任务,避免待处理任务已加入到任务队列中后线程仍未激活成功,影响任务执行的实时性。
进一步的,所述从所述任务队列中提取目标待处理任务发送给所述目标线程,包括:
当满足所述目标线程的等待条件时,从所述任务队列中提取目标待处理任务发送给所述目标线程。
在本实施例中,可以在待处理任务加入到任务队列中时确定满足目标线程的等待条件,或者在待处理任务加入到任务队列中时用于自动驾驶车辆的任务调度装置的调度策略模块向线程池模块发出触发消息,此时线程池模块可确定满足目标线程的等待条件,进而由调度策略模块从任务队列中提取目标待处理任务发送给目标线程进行执行。当目标待处理任务执行完成后,可控制目标线程再次进入等待状态。
在上述任一实施例的基础上,S204所述的从所述任务队列中提取目标待处理任务发送给所述目标线程后,还可包括:
控制所述目标线程采用同步阻塞方式执行所述目标待处理任务。
在本实施例中,各目标线程在执行对应的目标待处理任务时可采用同步阻塞的方式,其中同步是在目标线程执行目标待处理任务时在没有得到处理结果前不返回或继续执行其他的任务,阻塞是目标线程执行目标待处理任务时在没有得到处理结果前该目标线程会被挂起,不接收其他目标待处理任务,直至得到处理结果,才继续接收下一个目标待处理任务。线程通过同步阻塞方式可确保每一待处理任务都能稳定可靠的执行,保证任务调度的可控性,保证自动驾驶车辆系统稳定性。
在上述任一实施例的基础上,在目标待处理任务被执行时,用于自动驾驶车辆的任务调度装置的任务管理模块还可配置该目标待处理任务的任务状态为运行状态;在目标待处理任务被执行的过程中也可实时监控和变更任务状态,当满足预设的任务停止条件时,还可控制目标线程停止执行该目标待处理任务,避免任务继续执行产生错误、或作出错误规划或控制,从而提高自动驾驶车辆系统稳定性。
本申请一实施例提供一种用于自动驾驶车辆的任务调度装置,图5为本发明实施例提供的用于自动驾驶车辆的任务调度装置的结构图。如图5所示,所述用于自动驾驶车辆的任务调度装置500具体包括:任务管理模块501、调度策略模块502以及线程池模块503。
任务管理模块501,用于接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;根据所述任务数据生成待处理任务;
调度策略模块502,用于将所述待处理任务加入到任务队列中;
线程池模块503,用于激活线程池中的目标线程,其中所述线程池中包括预先配置的至少一个线程;
所述调度策略模块502还用于,从所述任务队列中提取目标待处理任务发送给所述目标线程,以使所述目标线程执行所述目标待处理任务。
在上述实施例的基础上,所述调度策略模块502在将所述待处理任务加入到任务队列中时,用于:
根据预设的调度策略确定所述待处理任务的优先级,并将所述待处理任务加入到对应优先级的任务队列中;
所述调度策略模块502在从所述任务队列中提取目标待处理任务发送给所述目标线程时,用于:
按照优先级顺序遍历各优先级的任务队列,提取优先级最高的待处理任务;
将所述优先级最高的待处理任务确定为目标待处理任务,并发送给所述目标线程。
在上述任一实施例的基础上,所述线程池模块503在激活线程池中的目标线程时,用于:
在接收到所述任务数据时,随机选择所述线程池中的空闲线程作为所述目标线程进行激活,并采用条件锁配置所述目标线程的等待条件。
在上述任一实施例的基础上,所述调度策略模块502在从所述任务队列中提取目标待处理任务发送给所述目标线程时,用于:
当所述线程池模块503确定满足所述目标线程的等待条件时,从所述任务队列中提取目标待处理任务发送给所述目标线程。
在上述任一实施例的基础上,所述线程池模块503还用于:
控制所述目标线程采用同步阻塞方式执行所述目标待处理任务。
在上述任一实施例的基础上,所述调度策略模块502在根据所述任务数据生成待处理任务时,用于:
根据所述任务数据以及预设的数据依赖关系,生成所述待处理任务。
在上述任一实施例的基础上,所述任务管理模块501还用于:
若满足预设的任务停止条件,控制所述目标线程停止执行所述目标待处理任务。
在上述任一实施例的基础上,所述自动驾驶车辆功能模块包括以下至少一项:定位模块、感知模块、规划模块、控制模块。
本实施例提供的用于自动驾驶车辆的任务调度装置可以具体用于执行上述图所提供的用于自动驾驶车辆的任务调度方法实施例,具体功能此处不再提供的赘述。
本实施例提供的用于自动驾驶车辆的任务调度装置,通过用于自动驾驶车辆的任务调度装置接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;根据任务数据生成待处理任务,将待处理任务加入到任务队列中;激活线程池中的目标线程,其中线程池中包括自动驾驶车辆操作系统中预先配置的至少一个线程;从任务队列中提取目标待处理任务发送给目标线程,以使目标线程执行目标待处理任务。通过在自动驾驶车辆功能模块与自动驾驶车辆操作系统之间架构了用于自动驾驶车辆的任务调度装置,进行待处理任务的调度,无需通过自动驾驶车辆操作系统内核进行调度,保证调度过程的可控性,同时将待处理任务加入任务队列,通过激活线程池中的线程,并从任务队列中提取任务给已激活的线程执行,可使待处理任务能够及时被执行,保证了任务执行的实时性。
根据本申请的实施例,本申请还提供了一种用于自动驾驶车辆的任务调度装置,如图6所示,该装置包括至少一个处理器601;以及与所述至少一个处理器通信连接的存储器602;其中,所述存储器602存储有可被所述至少一个处理器601执行的指令,所述指令被所述至少一个处理器601执行,以使所述至少一个处理器601能够执行上述实施例的用于自动驾驶车辆的任务调度方法。此外用于自动驾驶车辆的任务调度装置还可以包括:输入装置603和输出装置604,各个部件利用总线互相连接。需要说明的是,用于自动驾驶车辆的任务调度装置的处理器601、存储器602、输入装置603和输出装置604也可参照下述电子设备中各部件的说明来实现,此处不再赘述。
本申请还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述实施例的用于自动驾驶车辆的任务调度方法。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
其中该电子设备包括:自动驾驶车辆功能模块、自动驾驶车辆操作系统、以及用于自动驾驶车辆的任务调度装置;其中自动驾驶车辆功能模块用于产生任务数据,并发送给用于自动驾驶车辆的任务调度装置;用于自动驾驶车辆的任务调度装置用于根据任务数据生成待处理任务,将待处理任务加入到任务队列中,并激活线程池中的目标线程,从任务队列中提取目标待处理任务发送给目标线程;其中线程池中包括自动驾驶车辆操作系统中预先配置的至少一个线程;自动驾驶车辆操作系统用于通过目标线程执行目标待处理任务。也即电子设备的用于自动驾驶车辆的任务调度装置能够实现上述实施例的用于自动驾驶车辆的任务调度方法。
如图7所示,是根据本申请实施例的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的用于自动驾驶车辆的任务调度方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的用于自动驾驶车辆的任务调度方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的用于自动驾驶车辆的任务调度方法对应的程序指令/模块。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于自动驾驶车辆的任务调度方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
该电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过用于自动驾驶车辆的任务调度装置接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;根据任务数据生成待处理任务,将待处理任务加入到任务队列中;激活线程池中的目标线程,其中线程池中包括自动驾驶车辆操作系统中预先配置的至少一个线程;从任务队列中提取目标待处理任务发送给目标线程,以使目标线程执行目标待处理任务。通过在自动驾驶车辆功能模块与自动驾驶车辆操作系统之间架构了用于自动驾驶车辆的任务调度装置,进行待处理任务的调度,无需通过自动驾驶车辆操作系统内核进行调度,保证调度过程的可控性,同时将待处理任务加入任务队列,通过激活线程池中的线程,并从任务队列中提取任务给已激活的线程执行,可使待处理任务能够及时被执行,保证了任务执行的实时性。
本申请还提供了一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如上述实施例所述的用于自动驾驶车辆的任务调度方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (19)
1.一种用于自动驾驶车辆的任务调度方法,包括:
接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;
根据所述任务数据生成待处理任务,将所述待处理任务加入到任务队列中;
激活线程池中的目标线程,其中所述线程池中包括预先配置的至少一个线程;
从所述任务队列中提取目标待处理任务发送给所述目标线程,以使所述目标线程执行所述目标待处理任务。
2.根据权利要求1所述的方法,其中,所述将所述待处理任务加入到任务队列中,包括:
根据预设的调度策略确定所述待处理任务的优先级,并将所述待处理任务加入到对应优先级的任务队列中;
所述从所述任务队列中提取目标待处理任务发送给所述目标线程,包括:
按照优先级顺序遍历各优先级的任务队列,提取优先级最高的待处理任务;
将所述优先级最高的待处理任务确定为目标待处理任务,并发送给所述目标线程。
3.根据权利要求1所述的方法,其中,所述激活线程池中的目标线程,包括:
在接收到所述任务数据时,随机选择所述线程池中的空闲线程作为所述目标线程进行激活,并采用条件锁配置所述目标线程的等待条件。
4.根据权利要求3所述的方法,其中,所述从所述任务队列中提取目标待处理任务发送给所述目标线程,包括:
当满足所述目标线程的等待条件时,从所述任务队列中提取目标待处理任务发送给所述目标线程。
5.根据权利要求1-4任一项所述的方法,其中,所述从所述任务队列中提取目标待处理任务发送给所述目标线程后,还包括:
控制所述目标线程采用同步阻塞方式执行所述目标待处理任务。
6.根据权利要求1-4任一项所述的方法,其中,所述根据所述任务数据生成待处理任务,包括:
根据所述任务数据以及预设的数据依赖关系,生成所述待处理任务。
7.根据权利要求1所述的方法,还包括:
若满足预设的任务停止条件,控制所述目标线程停止执行所述目标待处理任务。
8.根据权利要求1-4任一项所述的方法,其中,所述自动驾驶车辆功能模块包括以下至少一项:定位模块、感知模块、规划模块、控制模块。
9.一种用于自动驾驶车辆的任务调度装置,包括:
任务管理模块,用于接收所述自动驾驶车辆中的至少一个功能模块发送的任务数据;根据所述任务数据生成待处理任务;
调度策略模块,用于将所述待处理任务加入到任务队列中;
线程池模块,用于激活线程池中的目标线程,其中所述线程池中包括预先配置的至少一个线程;
所述调度策略模块还用于,从所述任务队列中提取目标待处理任务发送给所述目标线程,以使所述目标线程执行所述目标待处理任务。
10.根据权利要求9所述的装置,其中,所述调度策略模块在将所述待处理任务加入到任务队列中时,用于:
根据预设的调度策略确定所述待处理任务的优先级,并将所述待处理任务加入到对应优先级的任务队列中;
所述调度策略模块在从所述任务队列中提取目标待处理任务发送给所述目标线程时,用于:
按照优先级顺序遍历各优先级的任务队列,提取优先级最高的待处理任务;
将所述优先级最高的待处理任务确定为目标待处理任务,并发送给所述目标线程。
11.根据权利要求9所述的装置,其中,所述线程池模块在激活线程池中的目标线程时,用于:
在接收到所述任务数据时,随机选择所述线程池中的空闲线程作为所述目标线程进行激活,并采用条件锁配置所述目标线程的等待条件。
12.根据权利要求11所述的装置,其中,所述调度策略模块在从所述任务队列中提取目标待处理任务发送给所述目标线程时,用于:
当所述线程池模块确定满足所述目标线程的等待条件时,从所述任务队列中提取目标待处理任务发送给所述目标线程。
13.根据权利要求9-12任一项所述的装置,其中,所述线程池模块还用于:
控制所述目标线程采用同步阻塞方式执行所述目标待处理任务。
14.根据权利要求9-12任一项所述的装置,其中,所述调度策略模块在根据所述任务数据生成待处理任务时,用于:
根据所述任务数据以及预设的数据依赖关系,生成所述待处理任务。
15.根据权利要求9所述的装置,其中,所述任务管理模块还用于:
若满足预设的任务停止条件,控制所述目标线程停止执行所述目标待处理任务。
16.根据权利要求9-12任一项所述的装置,其中,所述自动驾驶车辆功能模块包括以下至少一项:定位模块、感知模块、规划模块、控制模块。
17.一种用于自动驾驶车辆的任务调度装置,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
19.一种电子设备,包括:自动驾驶车辆功能模块、自动驾驶车辆操作系统、以及如权利要求9-16任一项所述的用于自动驾驶车辆的任务调度装置;
所述自动驾驶车辆功能模块用于产生任务数据,并发送给所述用于自动驾驶车辆的任务调度装置;
所述用于自动驾驶车辆的任务调度装置用于根据所述任务数据生成待处理任务,将所述待处理任务加入到任务队列中,并激活线程池中的目标线程,从所述任务队列中提取目标待处理任务发送给所述目标线程;其中所述线程池中包括所述自动驾驶车辆操作系统中预先配置的至少一个线程;
所述自动驾驶车辆操作系统用于通过所述目标线程执行所述目标待处理任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010512012.8A CN111694647A (zh) | 2020-06-08 | 2020-06-08 | 用于自动驾驶车辆的任务调度方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010512012.8A CN111694647A (zh) | 2020-06-08 | 2020-06-08 | 用于自动驾驶车辆的任务调度方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111694647A true CN111694647A (zh) | 2020-09-22 |
Family
ID=72479763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010512012.8A Pending CN111694647A (zh) | 2020-06-08 | 2020-06-08 | 用于自动驾驶车辆的任务调度方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694647A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112162842A (zh) * | 2020-10-13 | 2021-01-01 | 北京百度网讯科技有限公司 | 用于撤销请求的方法、装置、电子设备及可读存储介质 |
CN112783619A (zh) * | 2020-12-31 | 2021-05-11 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法、装置和自动驾驶系统 |
CN113053167A (zh) * | 2021-03-11 | 2021-06-29 | 吉林大学 | 一种混合交通环境下互联车辆十字路口无碰撞管理方法 |
CN113051051A (zh) * | 2021-03-12 | 2021-06-29 | 北京百度网讯科技有限公司 | 视频设备的调度方法、装置、设备及存储介质 |
CN113168370A (zh) * | 2021-03-25 | 2021-07-23 | 华为技术有限公司 | 测试系统、车辆模拟装置、测试装置及测试方法 |
CN113447059A (zh) * | 2021-06-03 | 2021-09-28 | 北京百度网讯科技有限公司 | 自动驾驶汽车传感器的检测方法、装置及电子设备 |
CN113905273A (zh) * | 2021-09-29 | 2022-01-07 | 上海阵量智能科技有限公司 | 任务执行方法和设备 |
CN113963560A (zh) * | 2021-10-19 | 2022-01-21 | 阿波罗智能技术(北京)有限公司 | 控制自动驾驶车辆的方法、装置、车辆及云端服务器 |
CN114172915A (zh) * | 2021-11-05 | 2022-03-11 | 中汽创智科技有限公司 | 一种消息同步方法、自动驾驶系统、存储介质及电子设备 |
CN114489996A (zh) * | 2022-02-16 | 2022-05-13 | 阿波罗智能技术(北京)有限公司 | 一种任务调度方法、装置、电子设备及自动驾驶车辆 |
CN114780226A (zh) * | 2022-06-14 | 2022-07-22 | 小米汽车科技有限公司 | 资源调度方法、装置,计算机可读存储介质及车辆 |
CN115123343A (zh) * | 2021-03-25 | 2022-09-30 | 比亚迪股份有限公司 | 车辆控制方法、装置、车辆及计算机存储介质 |
CN113905273B (zh) * | 2021-09-29 | 2024-05-17 | 上海阵量智能科技有限公司 | 任务执行方法和设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2664989A1 (en) * | 2012-05-14 | 2013-11-20 | Alcatel-Lucent | Task scheduling |
US20140380322A1 (en) * | 2013-06-24 | 2014-12-25 | Sap Ag | Task Scheduling for Highly Concurrent Analytical and Transaction Workloads |
US20170060641A1 (en) * | 2015-08-28 | 2017-03-02 | Vmware, Inc. | Pluggable Engine for Application Specific Schedule Control |
CN108287756A (zh) * | 2018-01-25 | 2018-07-17 | 联动优势科技有限公司 | 一种处理任务的方法及装置 |
CN109117260A (zh) * | 2018-08-30 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、设备和介质 |
CN109144695A (zh) * | 2018-08-30 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 一种任务拓扑关系的处理方法、装置、设备和介质 |
CN109144697A (zh) * | 2018-08-30 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、电子设备及存储介质 |
CN110096340A (zh) * | 2018-01-29 | 2019-08-06 | 北京世纪好未来教育科技有限公司 | 定时任务处理方法及装置 |
CN110460653A (zh) * | 2019-07-30 | 2019-11-15 | 北京百度网讯科技有限公司 | 自动驾驶车辆数据传输的方法及装置 |
CN110554909A (zh) * | 2019-09-06 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 任务的调度处理方法、装置及计算机设备 |
CN110688229A (zh) * | 2019-10-12 | 2020-01-14 | 北京百度网讯科技有限公司 | 任务处理方法和装置 |
US20200073710A1 (en) * | 2018-08-30 | 2020-03-05 | Baidu Online Network Technology (Beijing) Co., Ltd. | Task scheduling method, apparatus, electronic device and storage medium |
-
2020
- 2020-06-08 CN CN202010512012.8A patent/CN111694647A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2664989A1 (en) * | 2012-05-14 | 2013-11-20 | Alcatel-Lucent | Task scheduling |
US20140380322A1 (en) * | 2013-06-24 | 2014-12-25 | Sap Ag | Task Scheduling for Highly Concurrent Analytical and Transaction Workloads |
US20170060641A1 (en) * | 2015-08-28 | 2017-03-02 | Vmware, Inc. | Pluggable Engine for Application Specific Schedule Control |
CN108287756A (zh) * | 2018-01-25 | 2018-07-17 | 联动优势科技有限公司 | 一种处理任务的方法及装置 |
CN110096340A (zh) * | 2018-01-29 | 2019-08-06 | 北京世纪好未来教育科技有限公司 | 定时任务处理方法及装置 |
CN109117260A (zh) * | 2018-08-30 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、设备和介质 |
CN109144695A (zh) * | 2018-08-30 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 一种任务拓扑关系的处理方法、装置、设备和介质 |
CN109144697A (zh) * | 2018-08-30 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、电子设备及存储介质 |
US20200073710A1 (en) * | 2018-08-30 | 2020-03-05 | Baidu Online Network Technology (Beijing) Co., Ltd. | Task scheduling method, apparatus, electronic device and storage medium |
CN110460653A (zh) * | 2019-07-30 | 2019-11-15 | 北京百度网讯科技有限公司 | 自动驾驶车辆数据传输的方法及装置 |
CN110554909A (zh) * | 2019-09-06 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 任务的调度处理方法、装置及计算机设备 |
CN110688229A (zh) * | 2019-10-12 | 2020-01-14 | 北京百度网讯科技有限公司 | 任务处理方法和装置 |
Non-Patent Citations (6)
Title |
---|
IT_熊: "线程池池使用进阶篇(任务调度优化)", 《HTTPS://BLOG.CSDN.NET/SERVERMANAGE/ARTICLE/DETAILS/103003678》 * |
IT_熊: "线程池池使用进阶篇(任务调度优化)", 《HTTPS://BLOG.CSDN.NET/SERVERMANAGE/ARTICLE/DETAILS/103003678》, 11 November 2019 (2019-11-11) * |
冰鑫 925: "线程池中的队列", Retrieved from the Internet <URL:《https://www.jianshu.com/p/e95f6c66b93a》> * |
冰鑫925: "线程池中的队列", 《HTTPS://WWW.JIANSHU.COM/P/E95F6C66B93A》, 6 March 2017 (2017-03-06) * |
王科特等: "基于多核处理器的K线程低能耗的任务调度优化算法", 《计算机科学》 * |
王科特等: "基于多核处理器的K线程低能耗的任务调度优化算法", 《计算机科学》, no. 02, 15 February 2015 (2015-02-15), pages 24 - 29 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112162842A (zh) * | 2020-10-13 | 2021-01-01 | 北京百度网讯科技有限公司 | 用于撤销请求的方法、装置、电子设备及可读存储介质 |
CN112783619A (zh) * | 2020-12-31 | 2021-05-11 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法、装置和自动驾驶系统 |
CN112783619B (zh) * | 2020-12-31 | 2024-01-02 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法、装置和自动驾驶系统 |
CN113053167A (zh) * | 2021-03-11 | 2021-06-29 | 吉林大学 | 一种混合交通环境下互联车辆十字路口无碰撞管理方法 |
CN113051051A (zh) * | 2021-03-12 | 2021-06-29 | 北京百度网讯科技有限公司 | 视频设备的调度方法、装置、设备及存储介质 |
CN113051051B (zh) * | 2021-03-12 | 2024-02-27 | 北京百度网讯科技有限公司 | 视频设备的调度方法、装置、设备及存储介质 |
CN115123343A (zh) * | 2021-03-25 | 2022-09-30 | 比亚迪股份有限公司 | 车辆控制方法、装置、车辆及计算机存储介质 |
CN113168370A (zh) * | 2021-03-25 | 2021-07-23 | 华为技术有限公司 | 测试系统、车辆模拟装置、测试装置及测试方法 |
CN113447059B (zh) * | 2021-06-03 | 2022-11-29 | 北京百度网讯科技有限公司 | 自动驾驶汽车传感器的检测方法、装置及电子设备 |
CN113447059A (zh) * | 2021-06-03 | 2021-09-28 | 北京百度网讯科技有限公司 | 自动驾驶汽车传感器的检测方法、装置及电子设备 |
CN113905273A (zh) * | 2021-09-29 | 2022-01-07 | 上海阵量智能科技有限公司 | 任务执行方法和设备 |
CN113905273B (zh) * | 2021-09-29 | 2024-05-17 | 上海阵量智能科技有限公司 | 任务执行方法和设备 |
CN113963560A (zh) * | 2021-10-19 | 2022-01-21 | 阿波罗智能技术(北京)有限公司 | 控制自动驾驶车辆的方法、装置、车辆及云端服务器 |
CN114172915A (zh) * | 2021-11-05 | 2022-03-11 | 中汽创智科技有限公司 | 一种消息同步方法、自动驾驶系统、存储介质及电子设备 |
CN114172915B (zh) * | 2021-11-05 | 2023-10-31 | 中汽创智科技有限公司 | 一种消息同步方法、自动驾驶系统、存储介质及电子设备 |
CN114489996A (zh) * | 2022-02-16 | 2022-05-13 | 阿波罗智能技术(北京)有限公司 | 一种任务调度方法、装置、电子设备及自动驾驶车辆 |
CN114780226A (zh) * | 2022-06-14 | 2022-07-22 | 小米汽车科技有限公司 | 资源调度方法、装置,计算机可读存储介质及车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694647A (zh) | 用于自动驾驶车辆的任务调度方法、设备及存储介质 | |
US11119821B2 (en) | FPGA acceleration for serverless computing | |
US10884807B2 (en) | Serverless computing and task scheduling | |
EP3008594B1 (en) | Assigning and scheduling threads for multiple prioritized queues | |
US9471319B2 (en) | System management and instruction counting | |
CN102567090B (zh) | 在计算机处理器中创建执行线程的方法和系统 | |
CN110806923A (zh) | 一种区块链任务的并行处理方法、装置、电子设备和介质 | |
US11429448B2 (en) | Background job processing framework | |
EP3861441A1 (en) | Placement of container workloads triggered by network traffic for efficient computing at network edge devices | |
KR20210080292A (ko) | 딥 러닝 추론 엔진의 스케줄링 방법, 장치, 기기 및 매체 | |
CN113157409A (zh) | 基于ai的rpa任务调度方法、装置、电子设备及存储介质 | |
CN111930487A (zh) | 作业流调度方法、装置、电子设备及存储介质 | |
CN111782365A (zh) | 定时任务处理方法、装置、设备及存储介质 | |
Maruf et al. | Extending resources for avoiding overloads of mixed‐criticality tasks in cyber‐physical systems | |
CN114461393A (zh) | 多任务调度方法、装置、电子设备、系统及自动驾驶车辆 | |
CN111290768A (zh) | 一种容器化应用系统的更新方法、装置、设备和介质 | |
CN111913809A (zh) | 多线程场景下的任务执行方法、装置、设备和存储介质 | |
CN115080209A (zh) | 系统资源调度方法、装置、电子设备及存储介质 | |
CN107508787B (zh) | 一种任务执行方法、装置及系统 | |
US11132223B2 (en) | Usecase specification and runtime execution to serve on-demand queries and dynamically scale resources | |
Sai et al. | Producer-Consumer problem using Thread pool | |
CN112698934B (zh) | 资源调度方法和装置、pmd调度装置、电子设备、存储介质 | |
CN113867920A (zh) | 任务处理方法、装置、电子设备和介质 | |
US9672081B1 (en) | Native service controller | |
CN108089919A (zh) | 一种并发处理api请求的方法及系统 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200922 |
|
WD01 | Invention patent application deemed withdrawn after publication |