一种进程管控方法及车辆与流程

摘要: 本技术涉及智能网联,并且更具体地,涉及智能网联中的一种进程管控方法及车辆。背景技术:1、车载电子控制单元(electroniccontrolunit‌,ecu)...
一种进程管控方法及车辆与流程

本技术涉及智能网联,并且更具体地,涉及智能网联中的一种进程管控方法及车辆。

背景技术:

1、车载电子控制单元(electronic control unit‌,ecu)为车载嵌入式硬件控制器,其内部搭载的嵌入式软件常采用多进程架构。也即,将整套软件业务拆分为多个可被操作系统独立调度运行的进程(可执行文件或程序单元),各个进程分工,以实现不同功能并相互通信。其中,由车载ecu研发团队自主开发、全程维护的程序单元称为原生内置进程;由外部供应商封装交付、用于具体业务、直接集成使用的第三方功能程序单元,定义为外购进程。

2、目前,上述多进程架构的体系中,外购进程的运行管控策略为全局固定配置,无法按需灵活地配置运行管控策略,难以适配多样化的管控需求。

3、因此,亟需一种进程管控方法,以提升外购进程的适配灵活性。

技术实现思路

1、本技术提供一种进程管控方法及车辆,该方法能够提升外购进程的适配灵活性。

2、第一方面,提供了一种进程管控方法,该方法包括:获取车辆的多个第一配置信息,单个第一配置信息包括一种车型的配置字以及该车型下目标外购进程的运行管控参数,该目标外购进程为受车载电子控制单元的主进程调度的外部集成进程,该运行管控参数用于指示是否启用对该目标外购进程的目标运行状态的监测流程以及是否启用该目标外购进程在异常情况下对应的故障恢复处理流程;获取该车辆中刷写的车型配置字,从该多个第一配置信息中确定与该车型配置字匹配的目标配置信息,并提取该目标配置信息中该目标外购进程对应的目标运行管控参数;在该目标外购进程启动之后,基于该目标运行管控参数,对该目标外购进程进行管控。

3、上述技术方案中,获取车辆的多个第一配置信息,可构建各个车型通用的运行管控参数。通过车辆中刷写的车型配置字获取目标配置信息,可锁定当前车辆对应的目标外购进程的目标运行管控参数。随后,在目标外购进程启动之后,基于目标运行管控参数,对目标外购进程进行管控。这能够打破运行管控策略全局固化的局限,灵活配置是否开启运行状态监测以及异常故障恢复流程,无需变更外购进程的运行逻辑,仅通过配置运行管控参数即可实现对外购进程的差异化管控。因此,上述方案能够适配多样化的管控需求,有效提升外购进程对不同车型的适配灵活性。

4、结合第一方面,在某些可能的实现方式中,基于该目标运行管控参数,对该目标外购进程进行管控,包括:在该目标运行管控参数指示启用对该目标外购进程的目标运行状态的监测流程的情况下,对该目标运行状态进行监测;在该目标运行管控参数指示未启用该监测流程的情况下,禁止对该目标运行状态进行监测;以及,在该目标外购进程发生异常且该目标运行管控参数指示启用该目标外购进程在异常情况下对应的故障恢复处理流程的情况下,执行对应的故障恢复处理流程;在该目标外购进程发生异常且该目标运行管控参数指示未启用对应的故障恢复处理流程的情况下,禁止执行对应的故障恢复流程。

5、上述技术方案中,基于目标运行管控参数的指示禁止或执行目标运行状态监测,能够灵活地控制进程健康状态的监控行为。基于目标运行管控参数的指示禁止或执行故障恢复流程,这能够按需配置进程异常时的容错与自愈机制。也即,上述方案能够通过配置实现对进程运行阶段的状态监测以及故障恢复策略的禁用或启用,实现运行规则的动态配置,提升外购进程在运行阶段的适配灵活性及可维护性。

6、结合第一方面和上述实现方式,在某些可能的实现方式中,该目标运行状态包括就绪状态和存活状态,该故障恢复处理流程包括该车载电子控制单元的整机重启流程和该目标外购进程的进程重启流程。

7、结合第一方面和上述实现方式,在某些可能的实现方式中,该方法还包括:在该目标外购进程的存活状态发生异常或就绪状态发生异常或进程本身发生异常的情况下,确定对应的进程重启流程是否启用,并获取该目标外购进程当前的第一启动次数;在对应的进程重启流程启用且该第一启动次数小于或等于第一预设次数的情况下,重新启动该目标外购进程,并将第一启动次数增加第二预设次数,该第二预设次数小于该第一预设次数;在对应的进程重启流程未启用和/或该第一启动次数大于该第一预设次数的情况下,确定对应的整机重启流程是否启用,并获取该车载电子控制单元当前的第二启动次数;在对应的整机重启流程启用且该第二启动次数小于或等于第三预设次数的情况下,重新启动该车载电子控制单元,并将第二启动次数增加该第二预设次数,该第二预设次数小于该第三预设次数。

8、上述技术方案中,确定进程重启流程是否启用并获取第一启动次数,这能够建立进程级故障的初步自愈防线。在进程重启流程启用且第一启动次数未超限时,重启外购进程并累加第二预设次数,这可允许进程进行多次轻量级的自我恢复流程。在进程重启流程未启用和/或第一启动次数超限后,确定整机重启流程是否启用,并获取车载电子控制单元当前的第二启动次数。这能够将故障处理升级为系统级。在整机重启流程启用且第二启动次数未超限时,重启车载电子控制单元并累加第二预设次数,这能够为车载电子控制单元提供多次容错机会,防止陷入无限重启的死循环过程。也即,上述方案引入分级恢复机制与动态计数器,能够针对外购进程的不同故障类型匹配对应层级的处置手段,区分轻微异常与严重故障。这可避免不分场景而盲目重启外购进程时造成资源无效占用的情况。依托计数器对故障重试次数进行量化管控,可精准约束外购进程的重启频次,防止进程陷入反复崩溃、无限重启的死循环流程,也即,既保证故障具备重试修复的兜底能力,又可在重试达到阈值后及时终止调度,保障车载电子控制单元的稳定运行。

9、结合第一方面和上述实现方式,在某些可能的实现方式中,该方法还包括:在对应的整机重启流程未启用和/或该第二启动次数大于该第三预设次数的情况下,禁止启动该车载电子控制单元,将第一异常信息存储至日志中,以及控制该车载电子控制单元进入降级运行模式,该第一异常信息用于指示该目标外购进程的存活状态发生异常或就绪状态发生异常或进程本身发生异常,以及对应的整机重启流程未启用和/或当前的第二启动次数大于该第三预设次数,该降级运行模式为仅保留基础功能运行的受限工作模式。

10、上述技术方案中,在整机重启流程未启用和/或第二启动次数超限时,禁止启动车载电子控制单元,这能够及时终止无效的启动尝试,防止系统陷入无限重启的死循环过程,保障车辆的底层安全性。同时,将包含异常类型及恢复失败原因的第一异常信息存储至日志,这能够完整记录故障现场与恢复机制的失效状态,为后续的故障排查与问题定位提供精准的数据支撑,可提升车载电子控制单元的运行安全性以及故障排查效率。

11、结合第一方面和上述实现方式,在某些可能的实现方式中,获取该车辆中刷写的车型配置字之前,该方法还包括:确定第一目标进程是否处于就绪状态,该第一目标进程为可直接启动并用于加载该车型配置字的原生内置进程;以及,获取该车辆中刷写的车型配置字,包括:在该第一目标进程处于就绪状态的情况下,从该第一目标进程关联的存储文件中获取该车辆中刷写的车型配置字。

12、上述技术方案中,确定第一目标进程(用于加载车型配置字的原生内置进程)是否处于就绪状态,这可构建一个可靠的进程加载环境,确保车辆具备执行后续配置读取的基础能力。在第一目标进程处于就绪状态后,从其关联的存储文件中获取车型配置字,这可利用原生内置进程作为代理,安全且准确地读取车型配置字。也即,上述方案通过引入原生内置进程作为中间层,可将车型配置字的读取逻辑封装在稳定的原生内置进程中,实现配置信息获取与主进程之间的解耦,可避免主进程直接操作而引发风险或依赖。

13、结合第一方面和上述实现方式,在某些可能的实现方式中,获取车辆的多个第一配置信息之前,该方法还包括:获取与该车载电子控制单元绑定的多个第三信息,单个第三信息对应一个原生内置进程以及该原生内置进程对应的原生程序代码,该原生程序代码为该原生内置进程的固有执行代码;基于多个原生内置进程中的各个原生内置进程对应的原生程序代码,启动该多个原生内置进程。

14、上述技术方案中,在获取多个第一配置信息之前,获取多个第三信息,这可动态定义车辆实际装配的原生内置进程,构建基础运行环境的配置依据。基于各个原生内置进程对应的原生程序代码,启动多个原生内置进程,这可确保不同原生内置进程均能按照对应启动参数被正确加载。同时,原生内置进程不依赖于外部复杂的配置匹配过程,在车载电子控制单元上电后,原生内置进程可直接基于原生程序代码进行启动,这能够在第一时间为后续外购进程的调度提供稳定且可靠的基础运行环境,有效提升车辆电子系统的整体响应速度与运行可靠性。

15、结合第一方面和上述实现方式,在某些可能的实现方式中,该单个第一配置信息还包括该车型下目标外购进程的启动参数,该方法还包括:在该车载电子控制单元上电后,响应于该目标外购进程的启动操作,从该目标配置信息中提取该目标外购进程对应的目标启动参数;将该目标启动参数作为入参参数,传入该目标外购进程对应的通用程序代码,生成执行程序代码,以启动该目标外购进程;其中,该通用程序代码为不随车型变化的目标外购进程通用的程序代码,该目标启动参数是控制该通用程序代码差异化启动的参数。

16、上述技术方案中,在车载电子控制单元上电后,响应于目标外购进程的启动操作,从目标配置信息中提取目标外购进程对应的目标启动参数。这可锁定当前车辆对应的目标外购进程的启动参数。随后,将目标启动参数作为入参参数,传入目标外购进程对应的通用程序代码,生成执行程序代码。这能够采用可通用于所有车型的同一套通用程序代码,仅通过当前车型对应的目标启动参数就可改变目标外购进程的实际启动情况。也即,将不同车型对外购进程的差异化启动需求,以车型与启动参数一一对应的配置形式实现,直接将车型差异化逻辑从代码层剥离至配置层。这不需要针对多款车型的目标外购进程发布多个版本程序代码,能够大幅减少多个版本程序代码带来的维护等工作量,同时无需改动通用程序代码,可有效提升外购进程对不同车型的适配灵活性。

17、结合第一方面和上述实现方式,在某些可能的实现方式中,该方法还包括:获取该车辆的当前工况参数,并基于该当前工况参数对该目标启动参数进行调整,得到调整后的启动参数;以及,将该目标启动参数作为入参参数,传入该目标外购进程对应的通用程序代码,生成执行程序代码,包括:将该调整后的启动参数作为入参参数,传入该目标外购进程对应的通用程序代码中,生成该执行程序代码。

18、上述技术方案中,仅需开发一套不随车型变化的通用程序代码,通过车辆中预先刷写的车型配置字匹配对应的启动参数,就可实现多车型兼容,无需针对每种车型独立开发专属的程序代码。这能够大幅节省存储资源,简化开发、刷写与版本管理等工作,降低维护成本。在此基础上,基于车辆的当前工况参数对车型对应的目标启动参数进行调整,这能够使得目标外购进程的运行效果贴合车辆的实际使用场景,即满足车辆在不同使用场景下差异化的启动控制需求。此外,整个差异化的适配过程仅在上电启动后,将调整后的启动参数作为入参参数,传入通用程序代码(其预先固化在车载电子控制单元)中,无需重新烧写新的程序代码,即通用程序代码与启动参数相互解耦,通用程序代码能够复用,因此,该方案能够进一步提升外购进程的适配灵活性。

19、第二方面,提供了一种进程管控装置,该装置包括:获取模块,用于:获取车辆的多个第一配置信息,单个第一配置信息包括一种车型的配置字以及该车型下目标外购进程的运行管控参数,该目标外购进程为受车载电子控制单元的主进程调度的外部集成进程,该运行管控参数用于指示是否启用对该目标外购进程的目标运行状态的监测流程以及是否启用该目标外购进程在异常情况下对应的故障恢复处理流程;获取该车辆中刷写的车型配置字,从该多个第一配置信息中确定与该车型配置字匹配的目标配置信息,并提取该目标配置信息中该目标外购进程对应的目标运行管控参数;管控模块,用于在该目标外购进程启动之后,基于该目标运行管控参数,对该目标外购进程进行管控。

20、结合第二方面,在某些可能的实现方式中,该管控模块,具体用于:在该目标运行管控参数指示启用对该目标外购进程的目标运行状态的监测流程的情况下,对该目标运行状态进行监测;在该目标运行管控参数指示未启用该监测流程的情况下,禁止对该目标运行状态进行监测;以及,在该目标外购进程发生异常且该目标运行管控参数指示启用该目标外购进程在异常情况下对应的故障恢复处理流程的情况下,执行对应的故障恢复处理流程;在该目标外购进程发生异常且该目标运行管控参数指示未启用对应的故障恢复处理流程的情况下,禁止执行对应的故障恢复流程。

21、结合第二方面和上述实现方式,在某些可能的实现方式中,该目标运行状态包括就绪状态和存活状态,该故障恢复处理流程包括该车载电子控制单元的整机重启流程和该目标外购进程的进程重启流程。

22、结合第二方面和上述实现方式,在某些可能的实现方式中,该获取模块,还用于在该目标外购进程的存活状态发生异常或就绪状态发生异常或进程本身发生异常的情况下,确定对应的进程重启流程是否启用,并获取该目标外购进程当前的第一启动次数;该装置还包括:处理模块,用于在对应的进程重启流程启用且该第一启动次数小于或等于第一预设次数的情况下,重新启动该目标外购进程,并将第一启动次数增加第二预设次数,该第二预设次数小于该第一预设次数;该获取模块,还用于在对应的进程重启流程未启用和/或该第一启动次数大于该第一预设次数的情况下,确定对应的整机重启流程是否启用,并获取该车载电子控制单元当前的第二启动次数;该处理模块,还用于在对应的整机重启流程启用且该第二启动次数小于或等于第三预设次数的情况下,重新启动该车载电子控制单元,并将第二启动次数增加该第二预设次数,该第二预设次数小于该第三预设次数。

23、结合第二方面和上述实现方式,在某些可能的实现方式中,该处理模块,还用于在对应的整机重启流程未启用和/或该第二启动次数大于该第三预设次数的情况下,禁止启动该车载电子控制单元,将第一异常信息存储至日志中,以及控制该车载电子控制单元进入降级运行模式,该第一异常信息用于指示该目标外购进程的存活状态发生异常或就绪状态发生异常或进程本身发生异常,以及对应的整机重启流程未启用和/或当前的第二启动次数大于该第三预设次数,该降级运行模式为仅保留基础功能运行的受限工作模式。

24、结合第二方面和上述实现方式,在某些可能的实现方式中,获取该车辆中刷写的车型配置字之前,该装置还包括:确定模块,用于确定第一目标进程是否处于就绪状态,该第一目标进程为可直接启动并用于加载该车型配置字的原生内置进程;以及,该获取模块,具体用于在该第一目标进程处于就绪状态的情况下,从该第一目标进程关联的存储文件中获取该车辆中刷写的车型配置字。

25、结合第二方面和上述实现方式,在某些可能的实现方式中,获取车辆的多个第一配置信息之前,该获取模块,还用于获取与该车载电子控制单元绑定的多个第三信息,单个第三信息对应一个原生内置进程以及该原生内置进程对应的原生程序代码,该原生程序代码为该原生内置进程的固有执行代码;该装置还包括:启动模块,用于基于多个原生内置进程中的各个原生内置进程对应的原生程序代码,启动该多个原生内置进程。

26、结合第二方面和上述实现方式,在某些可能的实现方式中,该单个第一配置信息还包括该车型下目标外购进程的启动参数,该确定模块,还用于在该车载电子控制单元上电后,响应于该目标外购进程的启动操作,从该目标配置信息中提取该目标外购进程对应的目标启动参数;该装置还包括:生成模块,用于将该目标启动参数作为入参参数,传入该目标外购进程对应的通用程序代码,生成执行程序代码,以启动该目标外购进程;其中,该通用程序代码为不随车型变化的目标外购进程通用的程序代码,该目标启动参数是控制该通用程序代码差异化启动的参数。

27、结合第二方面和上述实现方式,在某些可能的实现方式中,该确定模块,还用于获取该车辆的当前工况参数,并基于该当前工况参数对该目标启动参数进行调整,得到调整后的启动参数;以及,该生成模块,具体用于将该调整后的启动参数作为入参参数,传入该目标外购进程对应的通用程序代码中,生成该执行程序代码。

28、第三方面,提供了一种车辆,包括存储器和处理器。该存储器用于存储可执行程序代码,该处理器用于从存储器中调用并运行该可执行程序代码,使得该车辆执行上述第一方面或第一方面任意一种可能的实现方式中的方法。