掌桥专利:专业的专利平台
掌桥专利
首页

一种高级辅助驾驶系统处理方法、装置、车辆和存储介质

文献发布时间:2024-04-18 19:58:21


一种高级辅助驾驶系统处理方法、装置、车辆和存储介质

技术领域

本发明涉及辅助驾驶技术领域,具体涉及一种高级辅助驾驶系统处理方法、一种高级辅助驾驶系统处理装置、一种车辆和一种存储介质。

背景技术

ADAS(Advanced Driving Assistance System,高级驾驶辅助系统)是利用安装在车辆上的传感、通信、决策及执行等装置,实时监测驾驶员、车辆及其行驶环境,并通过信息和/或运动控制等方式辅助驾驶员执行驾驶任务或主动避免/减轻碰撞危害的各类系统的总称。目前在智能网联汽车领域,运行ADAS的操作系统利用Linux(操作系统)生态丰富、源码开放且可定制等优势,ADAS可以得到快速的迭代。但是ADAS属于时延敏感的关键业务,需要对其操作系统进行确定性增强才能保证业务的正常运行。

发明内容

本发明的目的之一在于提供一种高级辅助驾驶系统处理方法,以解决现有技术中的无法独立对操作系统进行确定性增强的问题;目的之二在于提供一种高级辅助驾驶系统处理装置;目的之三在于提供一种车辆;目的之四在于提供一种计算机可读存储介质。

为了实现上述目的,本发明采用的技术方案如下:

一种高级辅助驾驶系统处理方法,所述方法包括:

接收针对高级辅助驾驶系统确定性配置模板的配置数据,所述配置数据包括事件通知数据、内存访问数据和进程调度数据;

依据所述事件通知数据,确定事件通知控制信息;

依据所述内存访问数据,确定访问控制信息;

依据所述进程调度数据,确定调度控制信息;

采用所述事件通知控制信息、所述访问控制信息和所述调度控制信息配置所述高级辅助驾驶系统。

进一步地,在所述接收针对高级辅助驾驶系统确定性配置模板的配置数据的步骤之前,所述方法还包括:

对所述高级辅助驾驶系统确定性配置模板进行校验;

在所述高级辅助驾驶系统确定性配置模板通过所述校验时,执行所述接收针对高级辅助驾驶系统确定性配置模板的配置数据的步骤。

进一步地,所述事件通知数据包括目标事件类型、事件风暴条件数据和事件通知粒度,所述依据所述事件通知数据,确定事件通知控制信息的步骤包括:

获取通知事件;

判断所述通知事件是否满足所述事件风暴条件数据,和所述通知事件是否为所述目标事件类型;

当所述通知事件满足所述事件风暴条件数据,且所述通知事件为所述目标事件类型时,确定依据所述事件通知粒度唤醒读端进程为所述事件通知控制信息;

当所述通知事件不满足所述事件风暴条件数据,或所述通知事件不为所述目标事件类型时,确定立即唤醒读端进程为所述事件通知控制信息。

进一步地,所述事件风暴条件数据包括:在预设时间窗内,事件发生次数大于预设阈值;所述判断所述通知事件是否满足所述事件风暴条件数据的步骤包括:

响应于所述通知事件在所述预设时间窗内,事件发生次数大于所述预设阈值,确定所述通知事件满足所述事件风暴条件数据;

响应于所述通知事件在所述预设时间窗内,事件发生次数不大于所述预设阈值,确定所述通知事件不满足所述事件风暴条件数据。

进一步地,所述内存访问数据包括目标进程和字节长度值,所述依据所述内存访问数据,确定访问控制信息的步骤包括:

针对所述目标进程的内存设置所述字节长度值;

确定对设置后的目标进程进行内存锁定为所述访问控制信息。

进一步地,所述目标进程为父进程时,所述对设置后的目标进程进行内存锁定的包括:

调用应用锁定标志函数,对所述设置后的目标进程进行内存锁定,所述父进程标识有内存锁定标志。

进一步地,所述目标进程为子进程时,所述对设置后的目标进程进行内存锁定的还包括:

对所述子进程设置预设补丁;

将所述子进程标识所述内存锁定标志。

进一步地,所述进程调度数据包括中央处理器亲和性数据和内核工作队列优先级提升值,所述依据所述进程调度数据,确定调度控制信息的步骤包括:

依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息;

依据所述内核工作队列优先级提升值,确定内核工作队列优先级信息;

将所述业务指定中央处理器范围、所述迁移信息和所述内核工作队列优先级信息确定为所述调度控制信息。

进一步地,所述依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息的步骤包括:

将所述高级辅助驾驶系统的业务指定中央处理器范围指定为所述中央处理器亲和性数据对应的目标范围;

将所述高级辅助驾驶系统之外的业务指定为所述目标范围外的中央处理器范围;

将所述目标范围的硬终端中断迁移至所述目标范围外的中央处理器范围,并确定为迁移信息。

一种高级辅助驾驶系统处理装置,所述装置包括:

接收模块,用于接收针对高级辅助驾驶系统确定性配置模板的配置数据,所述配置数据包括事件通知数据、内存访问数据和进程调度数据;

第一确定模块,用于依据所述事件通知数据,确定事件通知控制信息;

第二确定模块,用于依据所述内存访问数据,确定访问控制信息;

第三确定模块,用于依据所述进程调度数据,确定调度控制信息;

配置模块,用于采用所述事件通知控制信息、所述访问控制信息和所述调度控制信息配置所述高级辅助驾驶系统。

一种车辆,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的基于高级辅助驾驶系统处理方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的高级辅助驾驶系统处理方法的步骤。

本发明的有益效果:

(1)本发明可以在不修改高级辅助驾驶系统的代码情况下实现,对高级辅助驾驶系统无侵入性,可以适应多种不同版本的高级辅助驾驶系统的Linux操作系统。

(2)本发明提升了高级辅助驾驶系统的核心能力,并且可以独立于高级辅助驾驶系统的业务来实现,与高级辅助驾驶系统业务解耦,可以为更多的业务提供服务。

附图说明

图1为本发明的一种高级辅助驾驶系统处理方法实施例的步骤流程图;

图2为本发明的另一种高级辅助驾驶系统处理方法实施例的步骤流程图;

图3为本发明的一种高级辅助驾驶系统处理方法示例的架构图;

图4为本发明的一种高级辅助驾驶系统处理方法示例的确定性配置模块的流程示意图;

图5为本发明的一种高级辅助驾驶系统处理方法示例的确定性增强模块的增强内存访问的确定性流程示意图;

图6为本发明的一种高级辅助驾驶系统处理方法示例的确定性增强模块的增强事件通知的确定性流程示意图;

图7为本发明的一种高级辅助驾驶系统处理方法示例的确定性增强模块的增强进度调度的确定性流程示意图;

图8为本发明的一种高级辅助驾驶系统处理装置实施例的结构框图;

图9为本发明的一种车辆实施例的处理器和存储介质的示意图;

图10为本发明的一种计算机存储介质实施例的示意图。

具体实施方式

以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

参照图1,示出了本发明的一种高级辅助驾驶系统处理方法实施例的步骤流程图。所述高级辅助驾驶系统处理方法包括:

步骤101,接收针对高级辅助驾驶系统确定性配置模板的配置数据,所述配置数据包括事件通知数据、内存访问数据和进程调度数据;

在本发明实施例中,可以预先设置有一个针对高级辅助驾驶系统确定性配置模板,该确定性配置模板中具有多个可配置项,包括但不限于事件通知的配置项、内存访问的配置项和进程调度的配置项。

用户可以针对高级辅助驾驶系统确定性配置模板设置相应的配置数据。此时可以接收针对高级辅助驾驶系统确定性配置模板的配置数据。其中,配置数据至少包括事件通知数据、内存访问数据和进程调度数据。事件通知数据可以配置事件通知的配置项,内存访问数据可以配置内存访问的配置项,进程调度数据可以配置进程调度的配置项。

步骤102,依据所述事件通知数据,确定事件通知控制信息;

可以依据事件通知数据,确定事件通知控制信息,减少不必要的事件通知,降低通信的开销,增强事件通知的确定性。

步骤103,依据所述内存访问数据,确定访问控制信息;

可以依据内存访问数据,确定访问控制信息,以对内存访问进行控制,避免高级辅助驾驶系统业务的数据被换出到交换分区,增强内存访问的确定性。

步骤104,依据所述进程调度数据,确定调度控制信息;

依据进程调度数据,确定调度控制信息,以避免其他任务对高级辅助驾驶系统的业务造成干扰,增强进程调度的确定性。

此外,步骤102~步骤103可以同步进行,也可以异步进行。在异步进行时,执行顺序可以根据实际情况确定,并不限定于上述的执行顺序。

步骤105,采用所述事件通知控制信息、所述访问控制信息和所述调度控制信息配置所述高级辅助驾驶系统。

将确定的事件通知控制信息、访问控制信息和调度控制信息对高级辅助驾驶系统进行配置,以令高级辅助驾驶系统可以执行对应的操作,以对高级辅助驾驶系统的确定性进行增强。

本发明实施例通过接收针对高级辅助驾驶系统确定性配置模板的配置数据,所述配置数据包括事件通知数据、内存访问数据和进程调度数据;依据所述事件通知数据,确定事件通知控制信息;依据所述内存访问数据,确定访问控制信息;依据所述进程调度数据,确定调度控制信息;采用所述事件通知控制信息、所述访问控制信息和所述调度控制信息配置所述高级辅助驾驶系统。在不修改高级辅助驾驶系统的代码情况下实现,对高级辅助驾驶系统无侵入性,可以适应多种不同版本的高级辅助驾驶系统的Linux操作系统;还可以提升了高级辅助驾驶系统的核心能力,并且可以独立于高级辅助驾驶系统的业务来实现,与高级辅助驾驶系统业务解耦,可以为更多的业务提供服务。

参照图2,示出了本发明的另一种高级辅助驾驶系统处理方法实施例的步骤流程图。所述高级辅助驾驶系统处理方法包括:

步骤201,对高级辅助驾驶系统确定性配置模板进行校验;

在本发明中,可以预先设置有高级辅助驾驶系统确定性配置模板,该高级辅助驾驶系统确定性配置模板可以采用多种格式文件进行描述,包括但不限于:xml(格式)、json(格式)、yaml(格式)等。在解析配置模板时,可以先将其进行校验,如合法性校验,校验方式包括但不限于:进程优先级配置是否合法、进程名是否存在、CPU(中央处理器)配置是否冲突、内核TracePoint(跟踪点)是否支持等。本领域技术人员可以根据实际情况确定其中至少一个校验方法,或其他校验方法进行校验,具体的校验过程在此不作进一步描述。

步骤202,在所述高级辅助驾驶系统确定性配置模板通过所述校验时,接收针对高级辅助驾驶系统确定性配置模板的配置数据,所述配置数据包括事件通知数据、内存访问数据和进程调度数据;

在针对校验通过之后,接收针对高级辅助驾驶系统确定性配置模板的配置数据,通过ioctl操作字符设备,将参数进行下发。其中,配置数据包括事件通知数据、内存访问数据和进程调度数据。具体地可以参照表1,事件通知数据与增强事件通知的确定性对应的,内存访问数据与增强内存访问的确定性对应,进程调度数据与增强进程调度的确定性对应。

表1

步骤203,依据所述事件通知数据,确定事件通知控制信息;

针对于事件通知数据,确定出对于增强事件通知的确定性的措施,确定事件通知控制信息。

在本发明的一可选实施例中,所述事件通知数据包括目标事件类型、事件风暴条件数据和事件通知粒度,所述依据所述事件通知数据,确定事件通知控制信息的步骤包括:

子步骤S2031,获取通知事件;

可以获取现有的通知事件,对通知事件进行分析,确定是否唤醒相关进程。

子步骤S2032,判断所述通知事件是否满足所述事件风暴条件数据,和所述通知事件是否为所述目标事件类型;

可以判断通知事件是否满足事件风暴条件数据,和通知事件是否为所述目标事件类型;即确定判断是否发生事件风暴,以及事件类型是否为目标事件类型,对于目标事件类型可以根据实际情况进行确定,本发明实施对此不作限定。如在本发明的一示例中目标事件类型为非semaphore类型。

具体地,所述事件风暴条件数据包括:在预设时间窗内,事件发生次数大于预设阈值;所述判断所述通知事件是否满足所述事件风暴条件数据的步骤包括:响应于所述通知事件在所述预设时间窗内,事件发生次数大于所述预设阈值,确定所述通知事件满足所述事件风暴条件数据;响应于所述通知事件在所述预设时间窗内,事件发生次数不大于所述预设阈值,确定所述通知事件不满足所述事件风暴条件数据。

对于事件风暴的判断即为在预定义的时间窗内,事件发生次数大于预定义的阈值,则判定发生了事件风暴,否则即未发生事件风暴。

子步骤S2033,当所述通知事件满足所述事件风暴条件数据,且所述通知事件为所述目标事件类型时,确定依据所述事件通知粒度唤醒读端进程为所述事件通知控制信息;

当已经发生事件风暴,且通知事件为目标事件类型时,以配置模板中定义的事件通知粒度,通过kworker或者hrtimer唤醒读端进程(read端进程)。

子步骤S2033,当所述通知事件不满足所述事件风暴条件数据,或所述通知事件不为所述目标事件类型时,确定立即唤醒读端进程为所述事件通知控制信息。

当未发生事件风暴,或者通知事件不是目标类型时,则是立即唤醒读端进程(read端进程)。

步骤204,依据所述内存访问数据,确定访问控制信息;

在本发明实施例中,可以依据内存访问数据,确定增强进程调度的确定性的措施,确定访问控制信息。

在本发明的一可选实施例中,所述内存访问数据包括目标进程和字节长度值,所述依据所述内存访问数据,确定访问控制信息的步骤包括:

子步骤S2041,针对所述目标进程的内存设置所述字节长度值;

可以针对目标进程,即指定的进程,对目标进程的内存设置字节长度值,该字节长度值即为“RLIMIT_MEMLOCK值”。

子步骤S2042,确定对设置后的目标进程进行内存锁定为所述访问控制信息。

然后对设置后的目标进程进行内存锁定,从而确定为访问控制信息,避免高级辅助驾驶系统业务的数据被换出到交换分区。

具体地,所述目标进程为父进程时,所述对设置后的目标进程进行内存锁定的包括:调用应用锁定标志函数,对所述设置后的目标进程进行内存锁定,所述父进程标识有内存锁定标志。

进一步地所述目标进程为子进程时,所述对设置后的目标进程进行内存锁定的还包括:对所述子进程设置预设补丁;将所述子进程标识所述内存锁定标志。

在实际应用中,当目标进程为父进程,对父进程的锁定可以通过调用应用锁定标志函数,如apply_mlockall_flags函数,对父进程进行锁定,使得父进程标识有内存锁定标志,即mem lock标志。

当目标进程是子进程时,进一步对子进程设置预设补丁,如为fork打上hotfix;并把子进程标识内存锁定标志,即将父进程的mem lock标志也应用到子进程上。

步骤205,依据所述进程调度数据,确定调度控制信息;

在本发明实施例中,还可以依据进程调度数据,确定针对进程调度的确定性增强的措施,确定出调度控制信息。

在本发明的一可选实施例中,所述进程调度数据包括中央处理器亲和性数据和内核工作队列优先级提升值,所述依据所述进程调度数据,确定调度控制信息的步骤包括:

子步骤S2051,依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息;

具体地,所述依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息的步骤包括:将所述高级辅助驾驶系统的业务指定中央处理器范围指定为所述中央处理器亲和性数据对应的目标范围;将所述高级辅助驾驶系统之外的业务指定为所述目标范围外的中央处理器范围;将所述目标范围的硬中断迁移至所述目标范围外的中央处理器范围,并确定为迁移信息。

子步骤S2052,依据所述内核工作队列优先级提升值,确定内核工作队列优先级信息;

子步骤S2053,将所述业务指定中央处理器范围、所述迁移信息和所述内核工作队列优先级信息确定为所述调度控制信息。

在本发明实施例中,可以设置把高级辅助驾驶系统业务的中央处理器亲和性设置为指定的中央处理器范围,然后该中央处理器范围内的硬件中断迁移到其他CPU核上;继续对其他用户程序设置中央处理器亲和性,排除掉指定的中央处理器范围,以指定到上述指定中央处理器范围以外的其他中央处理器中;继续对工作队列kworker设置中央处理器亲和性,排除指定的中央处理器范围;最后对无法迁移的内核工作队列线程进行改造,基于内核工作队列优先级提升值,确定内核工作队列优先级信息,临时提升它的优先级,防止优先级反转带来的长时间阻塞。最后将业务的指定中央处理器范围、迁移信息和内核工作队列优先级信息确定为调度控制信息。

步骤206,采用所述事件通知控制信息、所述访问控制信息和所述调度控制信息配置所述高级辅助驾驶系统。

最后采用事件通知控制信息、访问控制信息和调度控制信息对高级辅助驾驶系统的业务进行配置,以使得可以实现针对高级辅助驾驶系统的确定性进行增强。

为了使本领域技术人员更好地理解本发明实施例,以下举出一个示例进行说明:

针对高级辅助驾驶系统处理方法,可以应用于如图3所示的架构,主要包括确定性配置模块和确定性增强模块,作为独立软件部署,对高级辅助驾驶系统的代码无侵入性。

确定性配置模块,如图4所示,用户在配置模板中设置上自定义的信息,包括但不限于:ADAS业务相关的进程名、判断事件风暴的时间窗和阈值(比如1秒钟内发送2000次事件)、事件通知的粒度(比如5ms)、内存锁定的最大值(比如3G)、是否使能子进程内存锁定(比如关闭)、ADAS业务指定的CPU集合(比如ADAS运行在1-5核,6-7核预留给非实时的用户程序,0、8、9、10核等预留给芯片厂商的支撑服务)等。

确定性增强模块,如图5-图7所示,包含3个功能,分别是:增强内存访问的确定性(图5)、增强事件通知的确定性(图6)和增强进程调度的确定性(图7)。

增强内存访问的确定性,如图5所示,首先配置ADAS业务进程的内存锁定资源限制,按照配置模板中的自定义数据设置上;然后对ADAS业务进程实施内存锁定操作,;最后,如果配置模板中还设置了对子进程实施内存锁定,还需对内核的fork、exec打上热补丁,实现继承父进程的内存锁定标志。

增强事件通知的确定性,如图6所示,本发明实现了优化,在内核模块加载的时候,用优化函数替换内核原始的讷河函数。在优化函数中,先判断当前进程是否属于ADAS业务、且eventf类型是否为非semaphore,如果两个条件都满足,则走优化流程,以防止频繁唤醒读端进程;如果任一条件不满足,则走默认流程,及时唤醒读端进程。在优化流程中可以按照如下步骤实现:

1,先判断是否发生事件风暴,且事件类型是否是“非semaphore”,如果任一个条件不满足,则跳转到第3步,如果都满足才跳转第2步;

2,执行优化操作:以配置模板定义的粒度唤醒read端进程(通过kworker或者hrtimer实现),防止频繁的唤醒read端进程;

3,执行默认操作:立即唤醒read端进程;

增强进度调度的确定性,如图7所示,首先迁移硬件中断,设置系统中所有中断的掩码位,将ADAS业务的专用CPU从掩码中过滤掉,保证外设中断不会被路由到ADAS业务的CPU上。然后迁移“非ADAS业务”的用户程序,设置这些程序的CPU亲和性掩码,将ADAS业务的专用CPU从掩码中过滤掉,保证其他用户程序不会被调度到ADAS业务的CPU上。最后迁移内核的工作队列,对于没有指定CPU的WORK_CPU_UNBOUND工作任务,在分发执行时,过滤掉ADAS业务的CPU,避免内核工作队列影响ADAS业务;对于指定了CPU的工作任务,则无法迁移,需要按照配置模板中的值来提升工作队列线程的优先级,以避免系统任务被长时间堵塞。

在仿真环境测试环境中应用本发明,经过上述“内存访问增强”、“事件通知增强”以及“进程调度增强”的技术手段实施,可以降低10%的CPU利用率。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图8,示出了本发明的一种高级辅助驾驶系统处理装置实施例的结构框图,所述高级辅助驾驶系统处理装置包括:

接收模块801,用于接收针对高级辅助驾驶系统确定性配置模板的配置数据,所述配置数据包括事件通知数据、内存访问数据和进程调度数据;

第一确定模块802,用于依据所述事件通知数据,确定事件通知控制信息;

第二确定模块803,用于依据所述内存访问数据,确定访问控制信息;

第三确定模块804,用于依据所述进程调度数据,确定调度控制信息;

配置模块805,用于采用所述事件通知控制信息、所述访问控制信息和所述调度控制信息配置所述高级辅助驾驶系统。

在本发明的一可选实施例中,所述装置还包括:

校验模块,用于对所述高级辅助驾驶系统确定性配置模板进行校验;

执行模块,用于在所述高级辅助驾驶系统确定性配置模板通过所述校验时,执行所述接收针对高级辅助驾驶系统确定性配置模板的配置数据的步骤。

在本发明的一可选实施例中,所述事件通知数据包括目标事件类型、事件风暴条件数据和事件通知粒度,所述第一确定模块802包括:

获取子模块,用于获取通知事件;

判断子模块,用于判断所述通知事件是否满足所述事件风暴条件数据,和所述通知事件是否为所述目标事件类型;

第一事件控制子模块,用于当所述通知事件满足所述事件风暴条件数据,且所述通知事件为所述目标事件类型时,确定依据所述事件通知粒度唤醒读端进程为所述事件通知控制信息;

第二事件控制子模块,用于当所述通知事件不满足所述事件风暴条件数据,或所述通知事件不为所述目标事件类型时,确定立即唤醒读端进程为所述事件通知控制信息。

在本发明的一可选实施例中,所述事件风暴条件数据包括:在预设时间窗内,事件发生次数大于预设阈值;所述判断子模块包括:

第一判定单元,用于响应于所述通知事件在所述预设时间窗内,事件发生次数大于所述预设阈值,确定所述通知事件满足所述事件风暴条件数据;

第二判定单元,用于响应于所述通知事件在所述预设时间窗内,事件发生次数不大于所述预设阈值,确定所述通知事件不满足所述事件风暴条件数据。

在本发明的一可选实施例中,所述内存访问数据包括目标进程和字节长度值,所述第二确定模块803包括:

设置子模块,用于针对所述目标进程的内存设置所述字节长度值;

锁定子模块,用于确定对设置后的目标进程进行内存锁定为所述访问控制信息。

在本发明的一可选实施例中,所述目标进程为父进程时,所述锁定子模块包括:

第一锁定单元,用于调用应用锁定标志函数,对所述设置后的目标进程进行内存锁定,所述父进程标识有内存锁定标志。

在本发明的一可选实施例中,所述目标进程为子进程时,所述锁定子模块还包括:

设置单元,用于对所述子进程设置预设补丁;

标识单元,用于将所述子进程标识所述内存锁定标志。

在本发明的一可选实施例中,所述进程调度数据包括中央处理器亲和性数据和内核工作队列优先级提升值,所述第三确定模块804包括:

指定与迁移子模块,用于依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息;

优先级确定子模块,用于依据所述内核工作队列优先级提升值,确定内核工作队列优先级信息;

调度控制确定子模块,用于将所述业务指定中央处理器范围、所述迁移信息和所述内核工作队列优先级信息确定为所述调度控制信息。

在本发明的一可选实施例中,所述指定与迁移子模块包括:

第一指定单元,用于将所述高级辅助驾驶系统的业务指定中央处理器范围指定为所述中央处理器亲和性数据对应的目标范围;

第二指定单元,用于将所述高级辅助驾驶系统之外的业务指定为所述目标范围外的中央处理器范围;

迁移单元,用于将所述目标范围的硬终端中断迁移至所述目标范围外的中央处理器范围,并确定为迁移信息。

参照图9,本发明实施例还提供了一种车辆,包括:

处理器901和存储介质902,所述存储介质902存储有所述处理器901可执行的计算机程序,当电子设备运行时,所述处理器901执行所述计算机程序,以执行如本发明实施例任一项所述的高级辅助驾驶系统处理方法。所述高级辅助驾驶系统处理方法包括:

接收针对高级辅助驾驶系统确定性配置模板的配置数据,所述配置数据包括事件通知数据、内存访问数据和进程调度数据;

依据所述事件通知数据,确定事件通知控制信息;

依据所述内存访问数据,确定访问控制信息;

依据所述进程调度数据,确定调度控制信息;

采用所述事件通知控制信息、所述访问控制信息和所述调度控制信息配置所述高级辅助驾驶系统。

进一步地,在所述接收针对高级辅助驾驶系统确定性配置模板的配置数据的步骤之前,所述方法还包括:

对所述高级辅助驾驶系统确定性配置模板进行校验;

在所述高级辅助驾驶系统确定性配置模板通过所述校验时,执行所述接收针对高级辅助驾驶系统确定性配置模板的配置数据的步骤。

进一步地,所述事件通知数据包括目标事件类型、事件风暴条件数据和事件通知粒度,所述依据所述事件通知数据,确定事件通知控制信息的步骤包括:

获取通知事件;

判断所述通知事件是否满足所述事件风暴条件数据,和所述通知事件是否为所述目标事件类型;

当所述通知事件满足所述事件风暴条件数据,且所述通知事件为所述目标事件类型时,确定依据所述事件通知粒度唤醒读端进程为所述事件通知控制信息;

当所述通知事件不满足所述事件风暴条件数据,或所述通知事件不为所述目标事件类型时,确定立即唤醒读端进程为所述事件通知控制信息。

进一步地,所述事件风暴条件数据包括:在预设时间窗内,事件发生次数大于预设阈值;所述判断所述通知事件是否满足所述事件风暴条件数据的步骤包括:

响应于所述通知事件在所述预设时间窗内,事件发生次数大于所述预设阈值,确定所述通知事件满足所述事件风暴条件数据;

响应于所述通知事件在所述预设时间窗内,事件发生次数不大于所述预设阈值,确定所述通知事件不满足所述事件风暴条件数据。

进一步地,所述内存访问数据包括目标进程和字节长度值,所述依据所述内存访问数据,确定访问控制信息的步骤包括:

针对所述目标进程的内存设置所述字节长度值;

确定对设置后的目标进程进行内存锁定为所述访问控制信息。

进一步地,所述目标进程为父进程时,所述对设置后的目标进程进行内存锁定的包括:

调用应用锁定标志函数,对所述设置后的目标进程进行内存锁定,所述父进程标识有内存锁定标志。

进一步地,所述目标进程为子进程时,所述对设置后的目标进程进行内存锁定的还包括:

对所述子进程设置预设补丁;

将所述子进程标识所述内存锁定标志。

进一步地,所述进程调度数据包括中央处理器亲和性数据和内核工作队列优先级提升值,所述依据所述进程调度数据,确定调度控制信息的步骤包括:

依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息;

依据所述内核工作队列优先级提升值,确定内核工作队列优先级信息;

将所述业务指定中央处理器范围、所述迁移信息和所述内核工作队列优先级信息确定为所述调度控制信息。

进一步地,所述依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息的步骤包括:

将所述高级辅助驾驶系统的业务指定中央处理器范围指定为所述中央处理器亲和性数据对应的目标范围;

将所述高级辅助驾驶系统之外的业务指定为所述目标范围外的中央处理器范围;

将所述目标范围的硬终端中断迁移至所述目标范围外的中央处理器范围,并确定为迁移信息。

上述存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

参照图10,本发明实施例还提供了一种计算机可读存储介质1001,所述存储介质1001上存储有计算机程序,所述计算机程序被处理器运行时执行如本发明实施例任一项所述的高级辅助驾驶系统处理方法。所述高级辅助驾驶系统处理方法包括:

接收针对高级辅助驾驶系统确定性配置模板的配置数据,所述配置数据包括事件通知数据、内存访问数据和进程调度数据;

依据所述事件通知数据,确定事件通知控制信息;

依据所述内存访问数据,确定访问控制信息;

依据所述进程调度数据,确定调度控制信息;

采用所述事件通知控制信息、所述访问控制信息和所述调度控制信息配置所述高级辅助驾驶系统。

进一步地,在所述接收针对高级辅助驾驶系统确定性配置模板的配置数据的步骤之前,所述方法还包括:

对所述高级辅助驾驶系统确定性配置模板进行校验;

在所述高级辅助驾驶系统确定性配置模板通过所述校验时,执行所述接收针对高级辅助驾驶系统确定性配置模板的配置数据的步骤。

进一步地,所述事件通知数据包括目标事件类型、事件风暴条件数据和事件通知粒度,所述依据所述事件通知数据,确定事件通知控制信息的步骤包括:

获取通知事件;

判断所述通知事件是否满足所述事件风暴条件数据,和所述通知事件是否为所述目标事件类型;

当所述通知事件满足所述事件风暴条件数据,且所述通知事件为所述目标事件类型时,确定依据所述事件通知粒度唤醒读端进程为所述事件通知控制信息;

当所述通知事件不满足所述事件风暴条件数据,或所述通知事件不为所述目标事件类型时,确定立即唤醒读端进程为所述事件通知控制信息。

进一步地,所述事件风暴条件数据包括:在预设时间窗内,事件发生次数大于预设阈值;所述判断所述通知事件是否满足所述事件风暴条件数据的步骤包括:

响应于所述通知事件在所述预设时间窗内,事件发生次数大于所述预设阈值,确定所述通知事件满足所述事件风暴条件数据;

响应于所述通知事件在所述预设时间窗内,事件发生次数不大于所述预设阈值,确定所述通知事件不满足所述事件风暴条件数据。

进一步地,所述内存访问数据包括目标进程和字节长度值,所述依据所述内存访问数据,确定访问控制信息的步骤包括:

针对所述目标进程的内存设置所述字节长度值;

确定对设置后的目标进程进行内存锁定为所述访问控制信息。

进一步地,所述目标进程为父进程时,所述对设置后的目标进程进行内存锁定的包括:

调用应用锁定标志函数,对所述设置后的目标进程进行内存锁定,所述父进程标识有内存锁定标志。

进一步地,所述目标进程为子进程时,所述对设置后的目标进程进行内存锁定的还包括:

对所述子进程设置预设补丁;

将所述子进程标识所述内存锁定标志。

进一步地,所述进程调度数据包括中央处理器亲和性数据和内核工作队列优先级提升值,所述依据所述进程调度数据,确定调度控制信息的步骤包括:

依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息;

依据所述内核工作队列优先级提升值,确定内核工作队列优先级信息;

将所述业务指定中央处理器范围、所述迁移信息和所述内核工作队列优先级信息确定为所述调度控制信息。

进一步地,所述依据所述中央处理器亲和性数据,确定所述高级辅助驾驶系统的业务指定中央处理器范围和迁移信息的步骤包括:

将所述高级辅助驾驶系统的业务指定中央处理器范围指定为所述中央处理器亲和性数据对应的目标范围;

将所述高级辅助驾驶系统之外的业务指定为所述目标范围外的中央处理器范围;

将所述目标范围的硬终端中断迁移至所述目标范围外的中央处理器范围,并确定为迁移信息。

说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。

相关技术
  • 导航方法、装置、存储介质及高级驾驶辅助系统
  • 车辆控制装置、车辆、车辆控制装置的处理方法以及存储介质
  • 车辆控制装置、车辆、车辆控制装置的处理方法以及存储介质
  • 一种辅助驾驶的方法、装置、设备和计算机存储介质
  • 一种基于神经网络的辅助驾驶方法、装置及可读存储介质
  • 驾驶辅助装置、车辆、驾驶辅助系统、驾驶辅助方法及存储介质
  • 驾驶辅助装置、车辆、驾驶辅助系统、驾驶辅助方法及存储介质
技术分类

06120116482537