CN116804939A - 进程调度方法、装置、设备及介质 - Google Patents
进程调度方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116804939A CN116804939A CN202210272217.2A CN202210272217A CN116804939A CN 116804939 A CN116804939 A CN 116804939A CN 202210272217 A CN202210272217 A CN 202210272217A CN 116804939 A CN116804939 A CN 116804939A
- Authority
- CN
- China
- Prior art keywords
- target
- real
- time
- state
- target vehicle
- 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 516
- 230000008569 process Effects 0.000 title claims abstract description 463
- 230000006399 behavior Effects 0.000 claims abstract description 154
- 238000004364 calculation method Methods 0.000 claims description 50
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 238000011112 process operation Methods 0.000 description 7
- 239000000725 suspension Substances 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种进程调度方法、装置、设备及介质。其中,进程调度方法包括:获取用户对目标车辆进行操作时产生的实时操作行为;基于实时操作行为,确定目标车辆对应的目标使用场景;在多个预设进程调度策略中,选择目标车辆在目标使用场景中使用的目标进程调度策略;按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程。根据本公开实施例,能够基于不同的场景动态选择不同的进程调度策略,保障用户行驶的安全性,提升用户体验。
Description
技术领域
本公开涉及智能汽车技术领域,尤其涉及一种进程调度方法、装置、设备及介质。
背景技术
随着电动汽车技术与计算机技术的发展,电动汽车已经开始摆脱传统汽车架构,朝着电动智能化方向发展,智能汽车也已进入大众视野。
在用户使用智能汽车的过程中,智能汽车整车控制器需要实时调度其操作系统中的各个进程,以及时地完成各个进程的处理任务,保证智能汽车各个功能的正常运行。但智能汽车整车控制器一般使用固定、单一的调度策略实现进程调度,一旦进程调度不合理,便会影响智能汽车各个功能的运行情况,为用户带来危险或者不良体验。
发明内容
为了解决上述技术问题,本公开提供了一种进程调度方法、装置、设备及介质。
第一方面,本公开提供了一种进程调度方法,包括:
获取用户对目标车辆进行操作时产生的实时操作行为;
基于实时操作行为,确定目标车辆对应的目标使用场景;
在多个预设进程调度策略中,选择目标车辆在目标使用场景中使用的目标进程调度策略;
按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程。
第二方面,本公开提供了一种进程调度装置,包括:
第一获取模块,用于获取用户对目标车辆进行操作时产生的实时操作行为;
场景确定模块,用于基于实时操作行为,确定目标车辆对应的目标使用场景;
策略选择模块,用于在多个预设进程调度策略中,选择目标车辆在目标使用场景中使用的目标进程调度策略;
进程调度模块,用于按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程。
第三方面,本公开提供了一种进程调度设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面的进程调度方法。
第四方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面的进程调度方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的进程调度方法、装置、设备及介质,能够在获取用户对目标车辆进行操作时产生的实时操作行为后,基于实时操作行为,确定目标车辆对应的目标使用场景,并在多个预设进程调度策略中,选择目标车辆在目标使用场景中使用的目标进程调度策略,进而按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程,由此,能够通过对目标车辆即将进入的使用场景进行判断,为目标车辆动态选择适合于该使用场景的进程调度策略,以基于所选择的进程调度策略完成后续的进程调度,保障用户行驶的安全性,提升用户体验。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种进程调度方法的流程示意图;
图2为本公开实施例提供的一种进程状态的切换示意图;
图3为本公开实施例提供的一种使用场景的切换示意图;
图4为本公开实施例提供的一种调度周期的示意图;
图5为本公开实施例提供的一种进程调度装置的结构示意图;
图6为本公开实施例提供的一种进程调度设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在相关技术中,智能汽车整车控制器是整个智能汽车的核心控制部件。作为智能汽车的指挥管理中心,整车控制器主要用于实现智能汽车的各个行驶功能以及各个影音功能的运行。为了保证智能汽车各个功能的正常运行,整车控制器需要对各个功能对应的进程进行合理的调度。
目前,在用户使用智能汽车的过程中,智能汽车整车控制器一般使用固定的、单一的进程调度策略来调度进程,如:
先来先服务策略,即每次调度都选择最先进入就绪的进程;
多优先级调度策略,即每次调度选择最高优先的进程;
时间片轮转策略,即每个进程分固定的时间移至调度;
多级反馈队列策略,即将进程化为为域进行级联,第一级采用多优先级调度,第二级采用时间片轮转等。
在基于上述任一组单一的策略进行调度的过程中,一旦进程调度不合理,便会影响智能汽车各个功能的运行情况,为用户带来危险或者不良体验。
为了解决上述问题,本公开实施例提供了一种进程调度方法、装置、设备及介质。
下面首先结合图1至图4对本公开实施例提供的进程调度方法进行详细说明。
图1示出了本公开实施例提供的一种进程调度方法的流程示意图。
在本公开实施例中,该进程调度方法可以由整车控制器执行。
如图1所示,该进程调度方法可以包括如下步骤。
S110、获取用户对目标车辆进行操作时产生的实时操作行为。
其中,目标车辆为安装有整车控制器的车辆。在用户使用目标车辆的过程中,如果用户想要对目标车辆进行操控,其可以对目标车辆实施操作,此时,目标车辆上安装的整车控制器可以获取用户对目标车辆进行操作时产生的实时操作行为。
可选地,实时操作行为可以为与安全驾驶相关的行为和/或与娱乐体验相关的行为。
具体地,用户对目标车辆进行操作时产生的实时操作行为可以包括第一实时操作行为、第二实时操作行为、第三实时操作行为和第四实时操作行为。其中,第一实时操作行为与第三实时操作行为可以为与安全驾驶相关的行为;第二实时操作行为与第四实时操作行为可以为与娱乐体验相关的行为。
第一实时操作行为可以为用于操控车辆进行行驶的操作行为,例如:第一实时操作行为可以为将车辆加速至任意速度的行为、将车辆减速至任意速度的行为、将车窗升降至任意状态的行为等,此处不做限定。其中,第一实时操作行为可以通过目标车辆内的各种传感器进行获取,如:发动机传感器、车窗传感器等。
第二实时操作行为可以为用于操控车辆进行娱乐的操作行为,例如:第二实时操作行为可以为开启音乐应用的行为、播放音乐的行为、播放视频的行为等,此处不做限定。其中,第二实时操作行为可以通过目标车辆内的电子设备进行获取,如:车载终端、车载麦克风等。
第三实时操作行为可以为用于操控车辆停止行驶的操作行为,例如:使车辆进行驻车的行为。其中,第三实时操作行为可以通过目标车辆内的各种传感器进行获取。
第四实时操作行为可以为用于操控车辆停止娱乐的操作行为,例如:关闭音乐应用的行为、关闭影音设备的行为,此处不做限定。其中,第四实时操作行为可以通过目标车辆内的电子设备进行获取,如:车载终端、车载麦克风等。
S120、基于实时操作行为,确定目标车辆对应的目标使用场景。
在本公开实施例中,整车控制器可以在获取用户的实时操作行为后,基于实时操作行为确定目标车辆对应的目标使用场景。
其中,目标使用场景可以为实时操作行为使目标车辆进入的工作状态对应的使用场景。可选地,目标使用场景可以包括空闲场景、第一使用场景、第二使用场景和混合使用场景。
空闲场景可以为用户没有对目标车辆进行任何操作的场景,在空闲场景下目标车辆的工作状态为空闲状态,空闲状态指目标车辆既未行驶,也未给用户提供任何的娱乐服务。
第一使用场景可以为用户对目标车辆进行行驶操作的场景,在第一使用场景下目标车辆的工作状态为行驶状态,行驶状态指的是目标车辆正在行驶过程中,但没有给用户提供任何的娱乐服务。
第二使用场景可以为用户对目标车辆进行娱乐操作的场景,在第二使用场景下目标车辆的工作状态为娱乐状态,娱乐状态指的是目标车辆并未行驶,但正在给用户提供娱乐服务。
混合使用场景可以为第一使用场景和第二使用场景叠加的场景,在混合使用场景下目标车辆的工作状态为混合状态,混合状态指的是目标车辆正在行驶过程中,并同时给用户提供娱乐服务。
由此,整车控制可以基于实时操作行为确定目标车辆进入的工作状态,进而为目标车辆动态匹配适合的使用场景。
S130、在多个预设进程调度策略中,选择目标车辆在目标使用场景中使用的目标进程调度策略。
在本公开实施例中,整车控制器在通过实时操作行为确定目标车辆对应的目标使用场景后,可以在多个预设进程调度策略中,选择目标车辆在该目标使用场景中使用的目标进程调度策略。
可选地,预设进程调度策略可以为预先根据不同的使用场景制定的各个使用场景对应的进程调度策略。
具体地,由于不同使用场景是根据不同的实时操作行为定义的,因此,在不同的使用场景中所采用的进程调度策略应与该使用场景所涉及的实时操作行为相关。进而,相对于该使用场景中运行的其他进程而言,该使用场景中采用的进程调度策略对该使用场景所涉及的实时操作行为对应的进程进行更高效的调度。例如,在第一使用场景中,对该使用场景所涉及的与安全驾驶相关的行为对应的进程进行更高效的调度,来保证用户的驾驶安全;在第二使用场景中,对该使用场景所涉及的与娱乐体验相关的行为对应的进程进行更高效的调度,来保证用户的娱乐体验;在混合使用场景中,对该使用场景所涉及的与安全驾驶相关的行为对应的进程进行更高效的调度,而对该使用场景所涉及的与娱乐体验相关的行为对应的进程进行适应性的调度,在保证用户的驾驶安全的情况下,保证用户的娱乐体验。
因此,在目标进程调度策略中,可以对目标使用场景所涉及的实时操作行为对应的进程进行更高效的调度,从而能够保证在不同目标使用场景中用户不同的体验需求。
可选地,每个进程可以包括三种状态:激活(active)状态,当进程处于该状态时,进程对应的实例可以被执行;挂起(suspend)状态,进程因为被其他进程抢占CPU使用权,或者自己的运行时长完成时,进程会进入挂起状态,并会被装入等待池(wopool);就绪(ready)状态,进程可以被调度进入激活状态。
图2示出了本公开实施例提供的一种进程状态的切换示意图。
如图2所示,进程的三种状态之间可以通过不同的事件进行切换,例如,当进程处于就绪状态时,可以通过进程交换事件将该进程变更为激活状态;当进程处于激活状态时,可以通过结束事件将该进程变更为挂起状态;当进程处于激活状态时,可以通过重载事件将该进程变更为就绪状态;当进程处于就绪状态时,可以通过退后事件将该进程变更为挂起状态;当进程处于挂起状态时,可以通过唤醒事件将该进程变更为就绪状态。具体实施方式在后续进行详细说明。
因此,预设进程调度策略可以为预先制定的对各个功能对应的进程的各个状态的调度策略。
例如,第一使用场景可以具有预先制定的第一进程调度策略;第二使用场景可以具有预先制定的第二进程调度策略;混合使用场景可以具有预先制定的混合进程调度策略。
具体地,若实时操作行为为开启音乐应用或者播放音乐的行为,此时目标车辆可以进入娱乐状态,则整车控制器可以确定目标车辆处于第二使用场景,由此,整车控制器会选择第二使用场景对应的第二进程调度策略来进行不同进程的状态的调度。
S140、按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程。
在本公开实施例中,在整车控制器为目标车辆选择目标进程调度策略后,可以基于该目标进程调度策略调度目标车辆的操作系统已创建的多个进程。
可选地,目标车辆的操作系统已创建的多个进程可以为目标车辆当前已运行的功能对应的进程。
例如,如果在用户进行实时操作行为之前目标车辆已经运行了地图功能,则在用户进行实时操作行为之前目标车辆已经创建了地图进程,如果实时操作行为为开启音乐应用的行为且地图功能属于娱乐功能,则在用户进行实时操作行为之后,目标车辆便还需要运行音乐功能,此时目标车辆已经创建了地图进程和音乐进程。由于音乐功能也属于娱乐功能,则目标车辆可以处于娱乐状态,整车控制器可以确定目标车辆处于第二使用场景,由此,整车控制器会选择第二使用场景对应的第二进程调度策略对地图进程和音乐进程的各个状态进行调度。
在本公开实施例中,能够在获取用户对目标车辆进行操作时产生的实时操作行为后,基于实时操作行为,确定目标车辆对应的目标使用场景,并在多个预设进程调度策略中,选择目标车辆在目标使用场景中使用的目标进程调度策略,进而按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程,由此,能够通过对目标车辆即将进入的使用场景进行判断,为目标车辆动态选择适合于该使用场景的进程调度策略,以基于所选择的进程调度策略完成后续的进程调度,保障用户行驶的安全性,提升用户体验。
在本公开另一些实施例中,整车控制器在实时操作行为之后,可以基于实时操作行为,通过多种方式确定目标车辆对应的目标使用场景,下面以两个示例进行说明。
在一些实施例中,整车控制器可以在获取用户的实时操作行为后,基于该实时操作行为以及预设时间段内的历史操作行为,确定目标车辆对应的目标使用场景。
其中,预设时间段可以为根据需要预先设定的一段时间。例如可以为半小时内、一小时内等,此处不做限定。
其中,历史操作行为可以为用户曾在预设时间段内对目标车辆实施的操作行为。
下面以预设时间段为一小时为例,对整车控制器基于实时操作行为和历史操作行为确定目标使用场景的过程进行举例说明。
例如,整车控制器获取到用户的实时操作行为为第一实时操作行为,并且查询到用户在一小时内没有操作行为或有历史操作行为但都属于第一实时操作行为时,此时,整车控制器可以确定目标车辆的工作状态为行驶状态,即目标车辆此时处于第一使用场景。
再例如,整车控制器获取到用户的实时操作行为为第二实时操作行为,并且查询到用户在一小时内没有操作行为或有历史操作行为但都属于第二实时操作行为时,此时,整车控制器可以确定目标车辆的工作状态为娱乐状态,即目标车辆此时处于第二使用场景。
又例如,整车控制器获取到用户的实时操作行为为第一实时操作行为,并且查询到用户在一小时内有历史操作行为且存在属于第二实时操作行为的操作行为时,此时,整车控制器可以确定目标车辆的工作状态为混合状态,即目标车辆此时处于混合使用场景。
又例如,整车控制器获取到用户的实时操作行为为第三实时操作行为,并且查询到用户在一小时内有历史操作行为且存在属于第二实时操作行为的操作行为时,此时,整车控制器可以确定目标车辆的工作状态为娱乐状态,即目标车辆此时处于第二使用场景。
又例如,整车控制器获取到用户的实时操作行为为第四实时操作行为,并且查询到用户在一小时内有历史操作行为且存在属于第一实时操作行为的操作行为时,此时,整车控制器可以确定目标车辆的工作状态为行驶状态,即目标车辆此时处于第一使用场景。
由此,在本公开实施例中,整车控制器可以基于用户的操作行为直接判断目标车辆即将进入的目标使用场景,来为目标车辆动态选择适合于该使用场景的进程调度策略,以基于所选择的进程调度策略完成后续的进程调度,合理的对进程进行调度,保障用户行驶的安全性,提升用户体验。
在另一些实施例中,整车控制器可以先获取目标车辆当前所处的实时使用场景,然后基于该实时使用场景以及实时操作行为,确定目标车辆对应的目标使用场景。
可选地,在S120之前,该进程调度方法还可以包括:获取目标车辆当前所处的实时使用场景。
具体地,用户每次进行一次操作行为,整车控制器便可以基于用户的操作行为对目标车辆所处的使用场景进行更新,因此,整车控制器可以获取其最新存储的目标车辆的使用场景,作为目标车辆当前所处的实时使用场景。
进一步地,S120可以具体包括:根据实时使用场景和实时操作行为,确定目标车辆即将进入的目标使用场景。
在本公开实施例中,在获取到目标车辆当前所处的实时使用场景之后,整车控制器可以根据实时使用场景和获取的用户的实时操作行为,确定目标车辆即将进入的目标使用场景。
此时,目标使用场景可以为根据实时使用场景和获取的用户的实时操作行为使目标车辆即将进入的工作状态对应的使用场景。
具体地,如果实时操作行为所属的实时操作行为类型对应的使用场景与实时使用场景相同,则确定目标使用场景仍为实时使用场景;如果实时操作行为所属的实时操作行为类型对应的使用场景与实时使用场景不相同,则确定目标使用场景为混合使用场景;如果实时使用场景为混合使用场景且实时操作行为类型为第三实时操作行为和/或第四实时操作行为,则确定目标使用场景为从叠加场景中去除第三实时操作行为和/或第四实时操作行为对应的使用场景之后的场景;如果实时使用场景为第一使用场景且实时操作行为类型为第三实时操作行为,则确定目标使用场景为空闲场景;如果实时使用场景为第二使用场景且实时操作行为类型为第四实时操作行为,则确定目标使用场景为空闲场景。
图3示出了本公开实施例提供的一种使用场景的切换示意图。
如图3所示,不同使用场景之间可以通过不同实时操作行为类型进行切换,例如,当目标车辆的使用场景为空闲场景时,若实时操作行为类型为第一实时操作行为,此时目标车辆的使用场景可以切换为第一使用场景,若实时操作行为类型为第二实时操作行为,此时目标车辆的使用场景可以切换为第二使用场景;当目标车辆的使用场景为第一使用场景时,若实时操作行为类型为第二实时操作行为,此时目标车辆的使用场景可以切换为混合使用场景,若实时操作行为类型为第三实时操作行为,此时目标车辆的使用场景可以切换为空闲场景;当目标车辆的使用场景为第二使用场景时,若实时操作行为类型为第一实时操作行为,此时目标车辆的使用场景可以切换为混合使用场景,若实时操作行为类型为第四实时操作行为,此时目标车辆的使用场景可以切换为空闲场景;当目标车辆的实时使用场景为混合场景时,若实时操作行为类型为第四实时操作行为,此时目标车辆的使用场景可以切换为第一使用场景,若实时操作行为类型为第三实时操作行为,此时目标车辆的使用场景可以切换为第二使用场景。
由此,在本公开实施例中,整车控制器可以先检测目标车辆当前的实时使用场景,并结合实时操作行为来判断目标车辆即将进入的目标使用场景,来为目标车辆动态选择适合于该使用场景的进程调度策略,以基于所选择的进程调度策略完成后续的进程调度,合理的对进程进行调度,保障用户行驶的安全性,提升用户体验。
可选地,在S120之后,该进程调度方法还可以包括:将实时使用场景更新为目标使用场景。
在本公开实施例中,在整车控制器基于目标车辆当前的实时使用场景与实时操作行为,确定目标车辆即将进入的目标使用场景之后,整车控制器还可以将实时使用场景更新为目标使用场景。
例如,当目标车辆当前的实时使用场景为第一使用场景时,整车控制器可以基于实时操作行为如播放音乐的行为,确定目标车辆即将进入的目标使用场景为混合使用场景,此时,整车控制器可以将目标车辆的实时使用场景由第一使用场景更新为混合使用场景,以确定目标车辆当前已进入并正处于混合使用场景。
在本公开实施例中,整车控制器可以实现对目标车辆所处的使用场景的更新,进而配合实时操作行为准确地判断目标车辆即将进入的目标使用场景,确保能够为目标车辆正确选择进程调度策略。
在本公开又一些实施例中,整车控制器还可以进一步对于车辆所处的使用场景进行调用状态的细分,并针对不同的调用状态为车辆进行更精确的进程调度策略的动态选择。
此时,预设进程调度策略可以进一步为预先根据不同的使用场景下的各个调用状态制定的各个调用状态对应的进程调度策略。
例如,第一使用场景下的任意调用状态可以具有预先制定的不同第一进程调度策略;第二使用场景下的任意调用状态可以具有预先制定的不同第二进程调度策略;混合使用场景下的任意调用状态可以具有预先制定的不同混合进程调度策略。
可选地,在S130之前,该进程调度方法还可以包括:获取目标车辆的实时车辆数据;基于实时车辆数据,确定目标车辆在目标使用场景下所处的目标调用状态。
其中,S130可以具体包括:在多个预设进程调度策略中,选择目标车辆在处于目标使用场景下的目标调用状态时使用的目标进程调度策略。
在本公开实施例中,在整车控制器通过实时操作行为确定目标车辆对应的目标使用场景后,整车控制器还可以获取目标车辆的实时车辆数据,并基于该实时车辆数据,确定目标车辆在目标使用场景下所处的目标调用状态,进而在多个预设进程调度策略中,选择预先为目标使用场景下的目标调用状态制定的相应目标进程调度策略,以基于该目标进程调度策略对目标车辆的操作系统已创建的多个进程进行调度。
下面对整车控制器确定目标车辆在目标使用场景下所处的目标调用状态的具体方式进行说明。
在一些实施例中,当目标车辆对应的目标使用场景为第一使用场景时,目标车辆对应的实时车辆数据可以包括实时行驶速度,目标车辆的实时行驶速度可以由目标车辆的速度传感器直接获取,获取的实时行驶速度的精度可以达到0.01km/h。目标车辆在目标使用场景下所处的目标调用状态可以包括第一调用状态,第一调用状态指在第一使用场景下的调用状态。
可选地,基于实时车辆数据,确定目标车辆在目标使用场景下所处的目标调用状态可以具体包括:在多个预设速度范围中,确定实时行驶速度落入的目标速度范围;将目标速度范围对应的调用状态作为目标车辆在第一使用场景下所处的第一调用状态。
具体地,在目标车辆处于第一使用场景时,整车控制器可以在获取到目标车辆的实时行驶速度后,在多个预设速度范围中确定实时行驶速度所落入的速度范围,并将实时行驶速度所落入的速度范围作为目标速度范围,进而将目标速度范围对应的调用状态作为目标车辆在第一使用场景下所处的第一调用状态。
可选地,预设速度范围可以为预先设定的用于判断目标车辆在第一使用场景下所处的调用状态的速度范围。
可选地,第一调用状态可以包括静止调用状态、低速调用状态、正常调用状态、高速调用状态。其中,第一使用场景下的一种调用状态可以对应一个预设速度范围。例如,第一预设速度范围对应静止调用状态;第二预设速度范围对应低速调用状态;第三预设速度范围对应正常调用状态;第四预设速度范围对应高速调用状态。
由此,在本公开实施例中,对于目标车辆处于第一使用场景的情况下,整车控制器可以根据实时行驶速度,确定目标车辆的目标调用状态,并基于第一使用场景和目标调用状态为目标车辆选择进程调度策略,使得选择的进程调度策略更加精确,对进程进行调度更加合理,保障用户行驶的安全性,提升用户体验。
在另一些实施例中,当目标车辆对应的目标使用场景为第二使用场景时,目标车辆对应的实时车辆数据可以包括实时算力值。目标车辆在目标使用场景下所处的目标调用状态可以包括第二调用状态,第二调用状态指在第二使用场景下的调用状态。
可选地,当目标车辆对应的目标使用场景为第二使用场景时,第二使用场景下所处的目标调用状态可以包括第二调用状态。
可选地,基于实时车辆数据,确定目标车辆在目标使用场景下所处的目标调用状态可以具体包括:在多个预设算力范围中,确定实时算力值落入的目标算力范围;将目标算力范围对应的调用状态作为目标车辆在第二使用场景下所处的第二调用状态。
在本公开实施例中,在目标车辆处于第二使用场景时,整车控制器可以在获取到目标车辆的实时算力值后,在多个预设算力范围中确定实时算力值所落入的算力范围,并将实时算力值所落入的算力范围作为目标算力范围,进而将目标算力范围对应的调用状态作为目标车辆在第二使用场景下所处的第二调用状态。
可选地,预设算力范围可以为预先设定的用于判断目标车辆在第二使用场景下所处的调用状态的算力范围。
可选地,第二调用状态可以包括低算力状态、高算力状态。其中,第二使用场景下的一种调用状态可以对应一个预设算力范围。例如,第一预设算力范围对应低算力状态;第二预设算力范围对应高算力状态。
由此,在本公开实施例中,对于目标车辆处于第二使用场景的情况下,整车控制器可以根据实时算力值,确定目标车辆的目标调用状态,并基于第二使用场景和目标调用状态为目标车辆选择进程调度策略,使得选择的进程调度策略更加精确,对进程进行调度更加合理,保障用户行驶的安全性,提升用户体验。
在又一些实施例中,当目标车辆对应的目标使用场景为同时具备第一使用场景和第二使用场景的混合使用场景时,目标车辆对应的实时车辆数据可以包括实时行驶速度和实时算力值,目标车辆在目标使用场景下所处的目标调用状态可以包括第一调用状态和第二调用状态。其中,实时车辆数据、各个调用状态与上述第一使用场景和第二使用场景相似,此处不再赘述。
可选地,基于实时车辆数据,确定目标车辆在目标使用场景下所处的目标调用状态,包括:在多个预设速度范围中,确定实时行驶速度落入的目标速度范围;将目标速度范围对应的调用状态作为目标车辆在第一使用场景下所处的第一调用状态;基于第一调用状态和实时算力值,确定目标车辆在第二使用场景下所处的第二调用状态。
在本公开实施例中,在目标车辆处于混合使用场景时,整车控制器会分别获取目标车辆的实时行驶速度与实时算力值,然后基于实时行驶速度确定目标车辆在第一使用场景下所处的第一调用状态以及基于第一调用状态和实时算力值确定目标车辆在第二使用场景下所处的第二调用状态。
其中,基于实时行驶速度确定目标车辆在第一使用场景下所处的第一调用状态与上述第一使用场景相似,在此不做赘述。
进一步地,基于第一调用状态和实时算力值,确定目标车辆在第二使用场景下所处的第二调用状态可以具体包括:在第一调用状态属于第一类型调用状态的情况下,基于实时算力值,确定第二调用状态;在第一调用状态属于第二类型调用状态的情况下,将预设调用状态作为第二调用状态;在第一调用状态属于第三类型调用状态的情况下,第二调用状态设置为禁止调用状态。
具体地,整车控制器可以先判断第一调用状态属于哪一类型的调用状态,其中,第一类型调用状态可以包括静止调用状态、低速调用状态。第二类型调用状态可以包括正常调用状态。第三类型调用状态可以包括高速调用状态。在确定第一调用状态属于第一类型调用状态的情况下,整车控制器可以直接将实时算力值落入的目标算力范围对应的调用状态作为第二调用状态,此时第二调用状态可以为低算力状态,也可以为高算力状态。在确定第一调用状态属于第二类型调用状态的情况下,整车控制器可以将预设调用状态作为第二调用状态。其中,预设调用状态可以为根据需要预先设置的任意第二使用场景下的调用状态,如高算力状态。在确定第一调用状态属于第三类型调用状态的情况下,整车控制器可以将第二调用状态设置为禁止调用状态,在禁止调用状态下,整车控制器不对第二使用场景对应的进程进行调用。
进一步地,整车控制器可以将第一使用场景和第一调用状态对应的进程调用策略应用于第一使用场景对应的进程,将第二使用场景和第二调用状态对应的进程调用策略应用于第二使用场景对应的进程。
其中,第一使用场景对应的进程为第一使用场景对应功能的进程,第二使用场景对应的进程为第二使用场景对应功能的进程。
由此,在本公开实施例中,对于目标车辆处于混合使用场景的情况下,整车控制器可以确定不同使用场景下的不同调用状态,进而为不同使用场景对应的进程选择不同的进程调用策略,保障用户行驶的安全性,提升用户体验。
在本公开实施例中,可选地,上述的目标车辆的实时算力值可以由整车控制器的算例统计进程计算获取。
在本公开实施例中,获取目标车辆的实时算力值可以具体包括:创建算例统计进程;通过算例统计进程统计自身的运行数据;通过算例统计进程计算运行数据对应的实时算力值。
具体地,在目标车辆对应的目标使用场景为第二使用场景时,整车控制器会创建算例统计进程,然后算例统计进程可以统计自身的运行数据,并根据统计的运行数据,结合预设的算力值计算公式,计算目标车辆对应的实时算力值。
可选地,算例统计进程可以用于计算目标车辆处于第二使用场景下的实时算力值,算例统计进程在目标车辆进入第二使用场景时,会被自动创建并运行。算例统计进程统计的运行数据可以为算例统计进程自身的执行时间数据,例如,算例统计进程开始执行的时间t1、停止执行的时间t2以及再次开始执行的时间t3。
可选地,用于计算实时算力值tw的预设的算力值计算公式可以为:
例如,t1=0s,t2=5s,t3=9s,此时通过预设的算力值计算公式得到实时算力值tw=44。
由此,在本公开实施例中,整车控制器可以通过算例统计进程准确计算出目标车辆的实时算力值,以提高了对进程调度策略选择的准确性,来实现合理的对进程进行调度,保障用户行驶的安全性,提升用户体验。
在本公开再一些实施例中,整车控制器基于不同的使用场景和不同的调用状态可以执行不同的进程调度策略,下面将进行详细说明。
在一些实施例中,在目标车辆处于第一使用场景和第一调用状态的情况下,整车控制器可以基于第一调用状态对应的目标进程调度策略调用第一使用场景对应的进程。
在另一些实施例中,在目标车辆处于第二使用场景和第二调用状态的情况下,整车控制器可以基于第二调用状态对应的目标进程调度策略调用第二使用场景对应的进程。
在又一些实施例中,在目标车辆处于混合使用状态的情况下,整车控制器可以基于第一调用状态对应的目标进程调度策略调用第一使用场景对应的进程以及基于第二调用状态对应的目标进程调度策略调用第二使用场景对应的进程。
可选地,当目标车辆处于混合使用场景的情况下,可以通过混合进程调度策略对第一使用场景和第二使用场景各自对应的进程可以依次循环执行。
具体地,在目标车辆处于混合使用场景的情况下,整车控制器按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程可以具体包括:确定第一调用状态对应的时间分配数据,时间分配数据包括第一使用场景在每个调度周期内的第一进程运行总时长和第二使用场景在每个调度周期内的第二进程运行总时长;在每个调度周期内,基于第一进程运行总时长,按照第一调用状态对应的目标进程调度策略,调度第一使用场景对应的进程;在每个调度周期内,基于第二进程运行总时长,按照第二调用状态对应的目标进程调度策略,调度第二使用场景对应的进程。
即整车控制器可以为目标车辆创建多个调度周期,每个调度周期被分为两个时间段,第一个时间段用于调度第一使用场景下的多个进程,第二个时间段用于调度第二使用场景下的多个进程,由此,在整车控制器可以在每个调度周期内先调度第一使用场景下的多个进程,再调度第二使用场景下的多个进程,如此循环往复,实现各个进程的调度。
图4示出了本公开实施例提供的一种调度周期的示意图。
如图4所示,调度周期被分为第一个时间段和第二个时间段,第一个时间段对应于第一使用场景并且具有第一进程运行总时长wotime,第二个时间段对应于第二使用场景并且具有第二进程运行总时长entime。
在本公开实施例中,可选地,调度周期的总时长、第一进程运行总时长和第二进程运行总时长可以根据需要预先设置,只要使第一进程运行总时长与第二进程运行总时长之和等于调度周期的总时长且第二进程运行总时长大于预先根据需要设置的最小时长entimemin即可。
进一步地,在目标车辆处于混合使用场景的情况下,如果第一调用状态为第一类型调用状态,即第一调用状态为静止状态或低速状态,则第一进程运行总时长为wotime,第二进程运行总时长为entime;如果第一调用状态为第二类型调用状态,即第一调用状态为正常状态,则第一进程运行总时长为wotime,第二进程运行总时长为entimemin;如果第一调用状态为第三类型调用状态,即第一调用状态为高速状态,则第一进程运行总时长为wotime,第二进程运行总时长为0,即第二调用状态设置为禁止调用状态。
在本公开实施例中,基于每个调度周期,整车控制器可以在第一个时间段内,基于第一调用状态对应的目标进程调度策略,调度第一使用场景对应的进程;整车控制器可以在第二个时间段内,按照第二调用状态对应的目标进程调度策略,调度第二使用场景对应的进程。
由此,在本公开实施例中,当目标车辆处于混合使用场景下,整车控制器可以通过对每个调度周期的配置对目标车辆的不同使用场景下的进程进行合理调度,保障用户行驶的安全性,提升用户体验。
在本公开实施例中,整车控制器基于第一调用状态对应的目标进程调度策略调用第一使用场景对应的进程的具体方法可以为:在第一调用状态包括第一状态或第二状态的情况下,按照第一调用状态对应的进程运行时长和进程挂起时长,调度第一使用场景对应的进程;在第一调用状态包括第三状态或第四状态的情况下,按照第一调用状态对应的进程运行时长、进程挂起时长和各个进程的进程优先级,调度第一使用场景对应的多个进程。
在本公开实施例中,第一使用场景下的第一调用状态可以包括第一状态、第二状态、第三状态、第四状态。
在一些实施例中,在目标车辆的第一调用状态包括第一状态或第二状态的情况下,整车控制器可以按照第一调用状态对应的进程运行时长和进程挂起时长,调度第一使用场景对应的每个进程。
例如,在目标车辆处于静止调用状态时,目标车辆的实时行驶速度处于第一预设速度范围:0km/h-0km/h,设置进程的进程运行时长为s0ts、进程挂起时长为s0sts。
此时,整车控制器对每个进程的调度方法为:步骤一:从第一使用场景进程队列头部取出一个进程,并将该进程设置为激活状态;步骤二:在进程运行s0ts时间后,将该进程设置为挂起状态,放入等待池中;步骤三:接着对等待池进行遍历,将挂起时间超过s0sts的进程放入第一使用场景进程队列尾部;步骤四:重复步骤一。此时目标车辆的CPU处于节能模式。
又例如,在目标车辆处于低速调用状态时,目标车辆的实时行驶速度处于第二预设速度范围:1km/h-40km/h,设置进程的进程运行时长为pts、进程挂起时长为psts。
此时,整车控制器对每个进程的调度方法为:步骤一:从第一使用场景进程队列头部取出一个进程,并将该进程设置为激活状态;步骤二:在进程运行进程运行时长pts时间后,将该进程设置为挂起状态,放入等待池中;步骤三:接着对等待池进行遍历,将进程挂起时长超过psts的进程放入第一使用场景进程队列尾部;步骤四:重复步骤一。此时目标车辆的CPU处于正常模式。
在另一些实施例中,在目标车辆的第一调用状态包括第三状态或第四状态的情况下,整车控制器可以按照第一调用状态对应的进程运行时长、进程挂起时长和各个进程的进程优先级,调度第一使用场景对应的进程。
可选地,各个进程的进程优先级可以根据优先级计算法公式进行计算。
其中,优先级计算法公式为:
具体地,在优先级计算法公式中,speed代表实时行驶速度,prior代表进程的优先级,lprior代表进程预设的最低优先级,hprior代表进程预设的最高优先级,pts代表进程的进程运行时长,psts代表进程的进程挂起时长,spmax代表当前状态的最大速度,spmin代表当前状态的最小速度,dsmax代表目标车辆能达到的最高速度。
例如,对于进程p1和进程p2,当目标车辆的实时行驶速度speed处于第一个范围内,即0≤speed≤spmin时,此时,进程p1和进程p2的优先级为各自的最低优先级,进程p1和进程p2之间的优先级大小根据进程p1对应的最低优先级lprior和进程p2对应的最低优先级lprior的大小进行判断,需要注意的是,每个进程对应的最低优先级lprior和最高优先级hprior不相同。
例如,在目标车辆处于正常调用状态时,目标车辆的实时行驶速度处于第三预设速度范围:40km/h-120km/h。
此时,整车控制器对每个进程的调度方法为:步骤一:从第一使用场景进程队列中取出所有进程,计算每个进程的优先级prior大小,并根据prior进行降序排列,依次放入第一使用场景进程队列的尾部;步骤二:从第一使用场景进程队列头部取出一个进程,并将该进程设置为激活状态;步骤三:执行进程p1,直到发生进程外部的时间累加(tick)事件;步骤四:从第一使用场景进程队列中取进程p2,根据优先级计算法计算p1和p2的优先级prior,如果p2的优先级大于p1的优先级,发生进程交换(swap)事件,执行进程p2;如果p2的优先级小于p1的优先级,执行步骤五;步骤五:统计进程p1的已运行时长ts,如果ts小于pts,继续执行进程p1;步骤六:如进程p1的已运行时长达到pts,将进程p1设置为挂起状态,放入等待池中;步骤七:接着对等待池进行遍历,将挂起时间超过psts的进程放入第一使用场景进程队列尾部;步骤八:重复步骤一。此时目标车辆的CPU处于节能模式。
又例如,当目标车辆处于高速调用状态时,目标车辆的实时行驶速度处于第四预设速度范围:120km/h-240km/h。
此时,整车控制器对进程的调度方法为:步骤一:从第一使用场景进程队列中取出所有进程,计算每个进程的优先级prior大小,并根据prior进行降序排列,依次放入第一使用场景进程队列的尾部;步骤二:从第一使用场景进程队列头部取出一个进程,并将该进程设置为激活状态;步骤三:执行进程,直到发生进程内部预设的重载(yeild)事件;步骤四:将进程设置为就绪状态,放入第一使用场景进程队列尾部;步骤五:重复步骤一。此时目标车辆的CPU处于节能模式。
可选地,在任何调用状态下,如果进程主动进行结束(sleep)事件,整车控制器则将进程设置为挂起状态,并将进程放入等待池中。
在本公开实施例中,整车控制器基于第二调用状态对应的目标进程调度策略调用第二使用场景对应的进程的具体方法可以为:在第二调用状态包括第五状态的情况下,按照第二调用状态对应的各个进程的进程参数,调度第二使用场景对应的进程;在第二调用状态包括第六状态的情况下,按照第二使用场景对应的进程运行时长,调度第二使用场景对应的进程。
在本公开实施例中,第二使用场景下的第二调用状态可以包括:第五状态、第六状态。
可选地,在目标车辆处于第二使用场景时,可以为每个进程预先设置一些参数,如最大进程运行时长tsmax、最小进程运行时长tsmin、第五状态下的进程运行时长的计算公式、第六状态下的进程运行时长t1ts。
可选地,进程运行时长t的计算公式为:
其中,tw为算力值,twthr为第一预设算力范围和第二预设算力范围之间的范围临界值。
在一些实施例中,在目标车辆第二调用状态包括第五状态的情况下,整车控制器可以按照第二调用状态对应的各个进程的进程参数,计算各个进程的进程运行时长,进而调度第二使用场景对应的进程。
例如,在目标车辆处于低算力状态时,实时算力值处于第一预设算力范围:0-70,第一预设算力范围与第二预设算力范围的范围临界值为70。
此时,整车控制器对进程的调度方法为:步骤一:从第二使用场景进程队列头部取出一个进程;步骤二:计算出该进程的进程运行时长t;步骤三:该进程运行了进程运行时长t时间后,将该进程放入第二使用场景进程队列尾部;步骤四:重复步骤一。
在另一些实施例中,在目标车辆第二调用状态包括第六状态的情况下,整车控制器按照第二调用状态对应的进程运行时长,调度第二使用场景对应的进程。
例如,在目标车辆处于高算力状态时,实时算力值处于第二预设算力范围:70-200。
此时,整车控制器对进程的调度方法为:步骤一:从第二使用场景进程队列头部取出一个进程;步骤二:该进程运行进程运行时长t1ts时间后,将该进程放入第二使用场景进程队列尾部;步骤三:重复步骤一。
由此,在本公开实施例中,整车控制器可以基于其选择的不同进程调度策略完成进程调度,保障用户行驶的安全性,提升用户体验。
图5示出了本公开实施例提供的一种进程调度装置的结构示意图。
在本公开实施例中,该进程调度装置可以设置于整车控制器中。
如图5所示,该进程调度装置500可以包括第一获取模块510、场景确定模块520、策略选择模块550和进程调度模块540。
该第一获取模块510可以用于获取用户对目标车辆进行操作时产生的实时操作行为。
该场景确定模块520可以用于基于实时操作行为,确定目标车辆对应的目标使用场景。
该策略选择模块550可以用于在多个预设进程调度策略中,选择目标车辆在目标使用场景中使用的目标进程调度策略。
该进程调度模块540可以用于按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程。
在本公开实施例中,能够在获取用户对目标车辆进行操作时产生的实时操作行为后,基于实时操作行为,确定目标车辆对应的目标使用场景,并在多个预设进程调度策略中,选择目标车辆在目标使用场景中使用的目标进程调度策略,进而按照目标进程调度策略,调度目标车辆的操作系统已创建的多个进程,由此,能够通过对目标车辆即将进入的使用场景进行判断,为目标车辆动态选择适合于该使用场景的进程调度策略,以基于所选择的进程调度策略完成后续的进程调度,保障用户行驶的安全性,提升用户体验。
在本公开一些实施例中,该进程调度装置500还可以包括第二获取模块。
该第二获取模块可以用于在基于实时操作行为,确定目标车辆对应的目标使用场景之前,获取目标车辆当前所处的实时使用场景。
在本公开一些实施例中,该场景确定模块520可以包括第一确定单元。
该场景确定单元可以用于根据实时使用场景和实时操作行为,确定目标车辆即将进入的目标使用场景。
在本公开一些实施例中,该进程调度装置500还可以包括场景变更模块。
该场景变更模块可以用于将实时使用场景更新为目标使用场景。
在本公开一些实施例中,该进程调度装置500还可以包括第三获取模块和状态确定模块。
该第三获取模块可以用于获取目标车辆的实时车辆数据。
该状态确定模块可以用于基于实时车辆数据,确定目标车辆在目标使用场景下所处的目标调用状态。
在本公开一些实施例中,该策略选择模块550可以包括第二确定单元。
该策略确定单元可以用于在多个预设进程调度策略中,选择目标车辆在处于目标使用场景下的目标调用状态时使用的目标进程调度策略。
在本公开一些实施例中,目标使用场景可以包括第一使用场景,实时车辆数据可以包括实时行驶速度,目标调用状态可以包括第一调用状态。
在本公开一些实施例中,该状态确定模块可以包括第三确定单元和第一变更单元。
该第三确定单元可以用于在多个预设速度范围中,确定实时行驶速度落入的目标速度范围。
该第一变更单元可以用于将目标速度范围对应的调用状态作为目标车辆在第一使用场景下所处的第一调用状态。
在本公开一些实施例中,目标使用场景可以包括第二使用场景,实时车辆数据可以包括实时算力值,目标调用状态可以包括第二调用状态。
在本公开一些实施例中,该状态确定模块还可以包括第四确定单元和第二变更单元。
该第四确定单元可以用于在多个预设算力范围中,确定实时算力值落入的目标算力范围。
该第二变更单元可以用于将目标算力范围对应的调用状态作为目标车辆在第二使用场景下所处的第二调用状态。
在本公开一些实施例中,目标使用场景可以包括同时具备第一使用场景和第二使用场景的混合使用场景,实时车辆数据可以包括实时行驶速度和实时算力值,目标调用状态可以包括第一调用状态和第二调用状态。
在本公开一些实施例中,该状态确定模块还可以包括第五确定单元、第三变更单元和第六确定单元。
该第五确定单元可以用于在多个预设速度范围中,确定实时行驶速度落入的目标速度范围。
该第三变更单元可以用于将目标速度范围对应的调用状态作为目标车辆在第一使用场景下所处的第一调用状态。
该第六确定单元可以用于基于第一调用状态和实时算力值,确定目标车辆在第二使用场景下所处的第二调用状态。
在本公开一些实施例中,该第六确定单元可以包括第一确定子单元、第二确定子单元和第三确定子单元。
该第一确定子单元可以用于在第一调用状态属于第一类型调用状态的情况下,基于实时算力值,确定第二调用状态。
该第二确定子单元可以用于在第一调用状态属于第二类型调用状态的情况下,将预设车调用态作为第二调用状态。
该第三确定子单元可以用于在第一调用状态属于第三类型调用状态的情况下,第二调用状态设置为禁止调用状态。
在本公开一些实施例中,该进程调度装置500还可以包括算力统计模块。
在本公开一些实施例中,该算力统计模块可以包括进程创建单元、数据统计单元和算力计算单元。
该进程创建单元可以用于创建算例统计进程。
该数据统计单元可以用于通过算例统计进程统计自身的运行数据。
该算力计算单元可以用于通过算例统计进程计算运行数据对应的实时算力值。
在本公开一些实施例中,该进程调度模块540可以包括第一调度单元和第二调度单元。
该第一调度单元可以用于在第一调用状态包括第一状态或第二状态的情况下,按照第一调用状态对应的进程运行时长,调度第一使用场景对应的进程。
该第二调度单元可以用于在第一调用状态包括第三状态或第四状态的情况下,按照第一调用状态对应的进程运行时长和各个进程的进程优先级,调度第一使用场景对应的多个进程。
在本公开一些实施例中,该进程调度模块540还可以包括第三调度单元和第四调度单元。
该第三调度单元可以用于在第二调用状态包括第五状态的情况下,按照第二调用状态对应的进程运行时长和各个进程的进程参数,调度第二使用场景对应的进程。
该第四调度单元可以用于在第二调用状态包括第六状态的情况下,按照第二使用场景对应的进程运行时长,调度第二使用场景对应的进程。
在本公开一些实施例中,该进程调度模块540还可以包括第七确定单元、第五调度单元和第六调度单元。
该第七确定单元可以用于确定第一调用状态对应的时间分配数据,时间分配数据包括第一使用场景在每个调度周期内的第一进程运行总时长和第二使用场景在每个调度周期内的第二进程运行总时长。
该第五调度单元可以用于在每个调度周期内,基于第一进程运行总时长,按照第一调用状态对应的目标进程调度策略,调度第一使用场景对应的进程。
该第六调度单元可以用于在每个调度周期内,基于第二进程运行总时长,按照第二调用状态对应的目标进程调度策略,调度第二使用场景对应的进程。
需要说明的是,图5所示的进程调度装置500可以执行图1所示的方法实施例中的各个步骤,并且实现图1所示的方法实施例中的各个过程和效果,在此不做赘述。
图6示出了本公开实施例提供的一种进程调度设备的结构示意图。
如图6所示,该进程调度设备可以包括处理器601以及存储有计算机程序指令的存储器602。
具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器602可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器602可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。在特定实施例中,存储器602包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器601通过读取并执行存储器602中存储的计算机程序指令,以执行本公开实施例所提供的进程调度方法的步骤。
在一个示例中,该进程调度设备还可包括收发器603和总线604。其中,如图6所示,处理器601、存储器602和收发器603通过总线604连接并完成相互间的通信。
总线604包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线604可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的进程调度方法。
上述的存储介质可以例如包括计算机程序指令的存储器602,上述指令可由进程调度设备的处理器601执行以完成本公开实施例所提供的进程调度方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc ROM,CD-ROM)、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种进程调度方法,其特征在于,包括:
获取用户对目标车辆进行操作时产生的实时操作行为;
基于所述实时操作行为,确定所述目标车辆对应的目标使用场景;
在多个预设进程调度策略中,选择所述目标车辆在所述目标使用场景中使用的目标进程调度策略;
按照所述目标进程调度策略,调度所述目标车辆的操作系统已创建的多个进程。
2.根据权利要求1所述的方法,其特征在于,所述基于所述实时操作行为,确定所述目标车辆对应的目标使用场景之前,所述方法还包括:
获取所述目标车辆当前所处的实时使用场景;
其中,所述基于所述实时操作行为,确定所述目标车辆对应的目标使用场景,包括:
根据所述实时使用场景和所述实时操作行为,确定所述目标车辆即将进入的目标使用场景。
3.根据权利要求2所述的方法,其特征在于,在所述基于所述实时操作行为,确定所述目标车辆对应的目标使用场景之后,所述方法还包括:
将所述实时使用场景更新为所述目标使用场景。
4.根据权利要求1所述的方法,其特征在于,所述在多个预设进程调度策略中,选择所述目标车辆在所述目标使用场景中使用的目标进程调度策略之前,所述方法还包括:
获取所述目标车辆的实时车辆数据;
基于所述实时车辆数据,确定所述目标车辆在所述目标使用场景下所处的目标调用状态;
其中,所述在多个预设进程调度策略中,选择所述目标车辆在所述目标使用场景中使用的目标进程调度策略,包括:
在所述多个预设进程调度策略中,选择所述目标车辆在处于所述目标使用场景下的所述目标调用状态时使用的目标进程调度策略。
5.根据权利要求4所述的方法,其特征在于,所述目标使用场景包括第一使用场景,所述实时车辆数据包括实时行驶速度,所述目标调用状态包括第一调用状态;
其中,所述基于所述实时车辆数据,确定所述目标车辆在所述目标使用场景下所处的目标调用状态,包括:
在多个预设速度范围中,确定所述实时行驶速度落入的目标速度范围;
将所述目标速度范围对应的调用状态作为所述目标车辆在所述第一使用场景下所处的所述第一调用状态。
6.根据权利要求4所述的方法,其特征在于,所述目标使用场景包括第二使用场景,所述实时车辆数据包括实时算力值,所述目标调用状态包括第二调用状态;
其中,所述基于所述实时车辆数据,确定所述目标车辆在所述目标使用场景下所处的目标调用状态,包括:
在多个预设算力范围中,确定所述实时算力值落入的目标算力范围;
将所述目标算力范围对应的调用状态作为所述目标车辆在所述第二使用场景下所处的所述第二调用状态。
7.根据权利要求4所述的方法,其特征在于,所述目标使用场景包括同时具备第一使用场景和第二使用场景的混合使用场景,所述实时车辆数据包括实时行驶速度和实时算力值,所述目标调用状态包括第一调用状态和第二调用状态;
其中,所述基于所述实时车辆数据,确定所述目标车辆在所述目标使用场景下所处的目标调用状态,包括:
在多个预设速度范围中,确定所述实时行驶速度落入的目标速度范围;
将所述目标速度范围对应的调用状态作为所述目标车辆在所述第一使用场景下所处的所述第一调用状态;
基于所述第一调用状态和所述实时算力值,确定所述目标车辆在所述第二使用场景下所处的第二调用状态。
8.根据权利要求7所述的方法,其特征在于,所述基于所述第一调用状态和所述实时算力值,确定所述目标车辆在所述第二使用场景下所处的第二调用状态,包括:
在所述第一调用状态属于第一类型调用状态的情况下,基于所述实时算力值,确定所述第二调用状态;
在所述第一调用状态属于第二类型调用状态的情况下,将预设车调用态作为所述第二调用状态;
在所述第一调用状态属于第三类型调用状态的情况下,所述第二调用状态设置为禁止调用状态。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述获取所述目标车辆的实时车辆数据,包括:
创建算例统计进程;
通过所述算例统计进程统计自身的运行数据;
通过所述算例统计进程计算所述运行数据对应的实时算力值。
10.根据权利要求5或7所述的方法,其特征在于,所述按照所述目标进程调度策略,调度所述目标车辆的操作系统已创建的多个进程,包括:
在所述第一调用状态包括第一状态或第二状态的情况下,按照所述第一调用状态对应的进程运行时长和进程挂起时长,调度所述第一使用场景对应的进程;
在所述第一调用状态包括第三状态或第四状态的情况下,按照所述第一调用状态对应的进程运行时长、进程挂起时长和各个所述进程的进程优先级,调度所述第一使用场景对应的多个进程。
11.根据权利要求6或7所述的方法,其特征在于,所述按照所述目标进程调度策略,调度所述目标车辆的操作系统已创建的多个进程,包括:
在所述第二调用状态包括第五状态的情况下,按照所述第二调用状态对应的各个所述进程的进程参数,调度所述第二使用场景对应的进程;
在所述第二调用状态包括第六状态的情况下,按照所述第二使用场景对应的进程运行时长,调度所述第二使用场景对应的进程。
12.根据权利要求7所述的方法,其特征在于,所述按照所述目标进程调度策略,调度所述目标车辆的操作系统已创建的多个进程,包括:
确定所述第一调用状态对应的时间分配数据,所述时间分配数据包括所述第一使用场景在每个调度周期内的第一进程运行总时长和所述第二使用场景在每个调度周期内的第二进程运行总时长;
在每个所述调度周期内,基于所述第一进程运行总时长,按照所述第一调用状态对应的目标进程调度策略,调度所述第一使用场景对应的进程;
在每个所述调度周期内,基于所述第二进程运行总时长,按照所述第二调用状态对应的目标进程调度策略,调度所述第二使用场景对应的进程。
13.一种进程调度装置,其特征在于,包括:
第一获取模块,用于获取用户对目标车辆进行操作时产生的实时操作行为;
场景确定模块,用于基于所述实时操作行为,确定所述目标车辆对应的目标使用场景;
策略选择模块,用于在多个预设进程调度策略中,选择所述目标车辆在所述目标使用场景中使用的目标进程调度策略;
进程调度模块,用于按照所述目标进程调度策略,调度所述目标车辆的操作系统已创建的多个进程。
14.一种进程调度设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-12中任一项所述的进程调度方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现用上述权利要求1-12中任一项所述的进程调度方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210272217.2A CN116804939A (zh) | 2022-03-18 | 2022-03-18 | 进程调度方法、装置、设备及介质 |
PCT/CN2023/081906 WO2023174373A1 (zh) | 2022-03-18 | 2023-03-16 | 进程调度方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210272217.2A CN116804939A (zh) | 2022-03-18 | 2022-03-18 | 进程调度方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116804939A true CN116804939A (zh) | 2023-09-26 |
Family
ID=88022368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210272217.2A Pending CN116804939A (zh) | 2022-03-18 | 2022-03-18 | 进程调度方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116804939A (zh) |
WO (1) | WO2023174373A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109353345B (zh) * | 2018-10-29 | 2021-03-19 | 百度在线网络技术(北京)有限公司 | 车辆控制方法、装置、设备、介质和车辆 |
CN111666140A (zh) * | 2020-05-28 | 2020-09-15 | 北京百度网讯科技有限公司 | 资源调度方法、装置、设备和存储介质 |
CN113626155A (zh) * | 2021-10-11 | 2021-11-09 | 国汽智控(北京)科技有限公司 | 边缘云服务器中算力资源的控制方法、设备和存储介质 |
CN114036390A (zh) * | 2021-11-17 | 2022-02-11 | 中国第一汽车股份有限公司 | 场景服务推荐方法、装置、电子设备以及存储介质 |
-
2022
- 2022-03-18 CN CN202210272217.2A patent/CN116804939A/zh active Pending
-
2023
- 2023-03-16 WO PCT/CN2023/081906 patent/WO2023174373A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023174373A1 (zh) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557369B (zh) | 一种多线程的管理方法及系统 | |
JP5861718B2 (ja) | 車両用電子制御装置、データ受信方法 | |
US10271326B2 (en) | Scheduling function calls | |
CN103064736B (zh) | 任务处理装置及方法 | |
CN109291807A (zh) | 电动车及其能量回馈管理方法、系统、装置及存储介质 | |
CN116804939A (zh) | 进程调度方法、装置、设备及介质 | |
CN114327929A (zh) | 基于amp架构的优先级处理方法、装置、调度器及多核系统 | |
EP3019952A1 (en) | Method and apparatus for controlling an operating mode of a processing module | |
CN115995839B (zh) | 多功能移动储能车工作状态确定方法、装置、设备及介质 | |
KR101439355B1 (ko) | 차량용 실시간 운영체제의 스케줄링 방법, 차량용 실시간 운영체제의 스케줄링 방법을 수행하는 프로세서를 포함하는 차량의 전자 제어 장치, 및 차량용 실시간 운영체제의 스케줄링 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체 | |
CN103257894A (zh) | 一种管理程序的方法及电子终端 | |
CN115617486A (zh) | 基于智能物联网操作系统的任务调度方法、装置及设备 | |
CN111597018B (zh) | 一种机器人作业调度方法及装置 | |
CN111813531B (zh) | 一种操作系统时钟调度方法及系统 | |
CN115220922A (zh) | 车辆应用程序运行方法、装置以及车辆 | |
CN115499380B (zh) | 车载以太网的tsn混合调度方法、设备及存储介质 | |
CN114274977B (zh) | 自动驾驶控制方法、装置、设备及存储介质 | |
CN117032993B (zh) | 任务调度方法 | |
CN115934284A (zh) | 端侧任务调度方法、装置、车机和存储介质 | |
CN110489089B (zh) | 基于中断管理框架的嵌入式系统低功耗控制方法及系统 | |
JP2012103802A (ja) | 情報処理装置、電子制御ユニット | |
CN114218025A (zh) | 一种超频控制方法、超频控制装置及水上设备 | |
CN113495781A (zh) | 任务调度方法、装置、设备及可读存储介质 | |
CN118193143A (zh) | 基于微内核架构的任务执行系统 | |
CN112783624A (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 |