一种车载控制器的升级方法、装置及车辆与流程

摘要: 本技术涉及车载ota升级领域,具体为一种车载控制器的升级方法、装置及车辆。背景技术:1、传统车辆升级采用的是uds协议栈结合单分区的升级模式,然而在这种升级模式...
一种车载控制器的升级方法、装置及车辆与流程

本技术涉及车载ota升级领域,具体为一种车载控制器的升级方法、装置及车辆。

背景技术:

1、传统车辆升级采用的是uds协议栈结合单分区的升级模式,然而在这种升级模式下,升级时需强制切换至编程会话,暂停设备正常业务控制与总线通信功能,全程处于停机阻塞状态,无法在设备运行过程中在线更新。同时,传统uds采用同步集中式传输机制,刷写过程独占总线资源,传输速率受限且易受干扰。若遭遇断电、通信中断等异常情况,极易造成程序损坏、设备宕机变砖,缺乏可靠升级保护机制。随着软件定义汽车与远程ota技术普及,bms、域控制器等智能电控单元固件迭代频次大幅提升,现有uds停机刷写模式已无法满足行车在线升级、后台静默运维、高安全容错的应用需求。

2、现有技术中同步阻塞式升级方式导致升级任务与车辆实时业务在通信资源和计算资源上相互抢占,无法在保障车辆实时稳定运行的同时实现后台无感升级。因此,现今车辆升级领域开始引入无感升级技术。然而,当前车载及嵌入式设备无感升级多采用整体同步传输、集中式任务调度模式,仍然缺乏时序规划与异步协同机制,同样未能解决上述核心问题。升级数据包批量下发易占用总线带宽,造成正常行车控制、车机交互等实时业务卡顿;升级数据与业务数据争抢通信资源,无法实现传输时隙的动态划分。在任务调度层面,采用同步等待式调度,需单模块升级完成后再启动下一模块,多控制器同时升级易出现算力与存储资源冲突,升级耗时长,难以实现后台无感静默升级。同时,传统方案未区分升级任务优先级,突发业务易被升级进程阻塞,无法兼顾升级效率与设备实时运行稳定性。

技术实现思路

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、当所述运行工况等级为低负载空闲工况时,将所述传输数据量调整为第三数据量阈值,将所述传输间隔调整为第三时间间隔;

29、所述第一数据量阈值小于所述第二数据量阈值,所述第二数据量阈值小于所述第三数据量阈值;所述第一时间间隔大于所述第二时间间隔,所述第二时间间隔大于所述第三时间间隔。

30、通过上述根据工况等级对传输数据量和传输间隔的差异化调整,升级包数据的下发行为与车辆当前的实时运行状态实现了动态适配。不同的工况等级反映了车辆当前不同的运行繁忙程度和通信资源占用状况,高负载工况对应最小的传输数据量和最大的传输间隔,低负载空闲工况对应最大的传输数据量和最小的传输间隔。这种适配关系使得升级数据流的总线占用率随车辆负载的升高而自动降低,随车辆负载的降低而自动提升,形成了升级传输与车辆业务之间的自动避让机制,保证在车辆业务繁忙时升级流量主动收缩以让出通信资源,在车辆业务空闲时升级流量主动扩大以加快升级进度。

31、在一些可能的实施例中,所述升级包数据采用可拆分数据结构,所述可拆分数据结构用于将所述升级包数据拆分为多个底层数据单元,各所述底层数据单元独立传输与校验;所述传输数据量为单次传输的底层数据单元的数据量。

32、通过上述将升级包数据拆分为多个独立传输与校验的底层数据单元,升级包数据不再作为一个不可分割的单一整体进行一次性下发,而是以多个底层数据单元的形式分批依次下发。由于传输数据量被定义为单次传输的底层数据单元的数据量,在不同工况等级下对传输数据量的调整,本质上体现为对每次传输所包含的底层数据单元的数据量大小的调整。当处于高负载工况时,单次传输的底层数据单元的数据量被调小,使得每次传输占用总线的时间更短、对业务数据的挤占效应更弱;当处于低负载空闲工况时,单次传输的底层数据单元的数据量被调大,使得每次传输能够携带更多的升级数据、减少传输交互次数从而提升传输效率。正是由于升级包数据采用了可拆分的数据结构,使得升级数据的传输具备了对不同工况进行精细粒度适配的能力,为分时错峰传输提供了数据层面的实现基础。同时,各个底层数据单元独立携带校验信息,任一底层数据单元在传输过程中发生损坏或丢失时,仅需重传该单元而无需重传整个升级包,减少了异常情况下的重传开销,提升了升级传输的效率和鲁棒性。

33、在一些可能的实施例中,根据所述运行工况等级,配置升级任务的执行优先级的步骤包括:

34、当所述运行工况等级为高负载工况时,将所述升级任务配置为低于所述车辆实时业务且低于所述常规业务的优先级,所述升级任务被分配至最长时间周期的周期任务队列中执行;

35、当所述运行工况等级为常规负载工况时,将所述升级任务配置为低于所述车辆实时业务但高于或等于所述常规业务的优先级,所述升级任务与所述常规业务被分配至相同时间周期的周期任务队列中执行;

36、当所述运行工况等级为低负载空闲工况时,将所述升级任务配置为低于所述车辆实时业务但高于所述常规业务的优先级,所述升级任务被分配至最短时间周期的周期任务队列中执行,所述常规业务被分配至中间时间周期的周期任务队列中执行,所述中间时间周期介于所述最短时间周期与所述最长时间周期之间;

37、所述车辆实时业务为涉及车辆安全控制的业务,所述常规业务为不涉及车辆安全控制的非核心业务。

38、通过上述将车辆任务划分为车辆实时业务、常规业务和升级任务三个层级,并根据工况等级动态调整升级任务相对于其他两类业务的优先级位置,车辆的计算资源在不同运行场景下得到了合理分配。车辆实时业务涉及行车安全,在任何工况下均具有不可挑战的最高优先级,确保安全相关任务始终优先获得计算资源。常规业务不涉及行车安全,在负载较高时可被升级任务超越,在负载较低时也可超越升级任务,具有灵活可变的中间优先级位置。升级任务作为后台维护任务,其优先级随工况变化而变化:高负载工况下降至所有任务之后,避免干扰任何车辆业务;低负载空闲工况下提升至常规业务之前,加快升级进度。该机制使得高负载工况下升级任务对计算资源的占用被压缩至最低,常规业务和实时业务不受升级进程影响;低负载空闲工况下升级任务获得更多的计算资源以缩短升级时间。尤其当车辆处于行驶等安全敏感场景时,升级任务被置于最低优先级,不会因升级进程的运行而对动力控制、故障诊断等安全关键业务的响应时效产生任何可感知的影响,保障了行车安全与后台升级的共存。

39、在一些可能的实施例中,根据所述升级任务的执行优先级,控制目标控制器基于所述升级包数据进行升级的步骤包括:

40、按照所述升级任务的执行优先级,控制目标控制器将所述升级包数据写入其非激活存储分区;

41、在所述升级包数据的写入过程中,监听高优先级的所述车辆实时业务的触发事件;

42、当监听到所述车辆实时业务的触发事件时,控制所述目标控制器暂停当前写入操作,并记录已写入的数据位置信息作为中断上下文;

43、暂停写入后,控制所述目标控制器切换至所述车辆实时业务执行;

44、待所述车辆实时业务执行完毕后,生成用于通知所述升级任务恢复执行的异步事件;

45、根据所述异步事件,控制所述目标控制器根据所述中断上下文,从暂停写入时的数据位置处继续写入所述升级包数据,直至完成对非激活存储分区的烧写。

46、通过上述步骤,升级任务的写入操作不再是一次性不可中断的连续过程,而是被划分为多个可暂停、可恢复的片段。在写入过程中持续监听高优先级车辆实时业务的触发事件,相当于在升级流程中设置了一个实时业务优先的检测点,使得升级操作不再阻塞对安全关键业务的响应。当检测到车辆实时业务需要运行时,写入操作被立即暂停并记录中断位置,随后计算资源被切换至实时业务,保障了安全关键任务的及时执行。实时业务完成后,通过异步事件触发升级任务的恢复,而非采用轮询方式持续查询实时业务是否结束,避免了升级任务在等待期间占用处理器资源进行无效查询,使得升级任务在等待恢复期间不消耗计算资源,待收到异步事件后才重新被激活执行。尤为重要的是,中断上下文的记录和基于中断上下文的恢复使得升级写入具备了断点续传能力,暂停前的写入进度被完整保存,恢复时直接从暂停位置继续写入,既无需重新开始整个写入过程,也不会丢失已写入的数据,确保了升级任务在多次被实时业务中断后仍能高效完成。

47、第二方面,本技术提供了一种车载控制器的升级装置,包括:

48、获取模块,用于获取车辆的多维度实时运行状态信息;

49、运行工况等级确定模块,用于根据所述多维度实时运行状态信息,确定车辆当前所处的运行工况等级;

50、调整模块,用于根据所述运行工况等级,调整升级包数据的传输数据量及传输间隔;

51、下发模块,用于按照调整后的所述传输数据量及传输间隔,通过通信总线向目标控制器下发所述升级包数据,使升级数据流与车辆正常业务数据流在所述通信总线上分时错峰传输;

52、创建模块,用于创建与所述升级包数据对应的升级任务;

53、优先级配置模块,用于根据所述运行工况等级,配置升级任务的执行优先级;

54、控制模块,用于根据所述升级任务的执行优先级,控制目标控制器基于所述升级包数据进行升级。

55、可选地,调整模块包括:

56、第一调整单元,用于当所述运行工况等级为高负载工况时,将所述传输数据量调整为第一数据量阈值,将所述传输间隔调整为第一时间间隔;

57、第二调整单元,用于当所述运行工况等级为常规负载工况时,将所述传输数据量调整为第二数据量阈值,将所述传输间隔调整为第二时间间隔;

58、第三调整单元,用于当所述运行工况等级为低负载空闲工况时,将所述传输数据量调整为第三数据量阈值,将所述传输间隔调整为第三时间间隔;

59、所述第一数据量阈值小于所述第二数据量阈值,所述第二数据量阈值小于所述第三数据量阈值;所述第一时间间隔大于所述第二时间间隔,所述第二时间间隔大于所述第三时间间隔。

60、可选地,优先级配置模块包括:

61、第一优先级配置单元,用于当所述运行工况等级为高负载工况时,将所述升级任务配置为低于所述车辆实时业务且低于所述常规业务的优先级,所述升级任务被分配至最长时间周期的周期任务队列中执行;

62、第二优先级配置单元,用于当所述运行工况等级为常规负载工况时,将所述升级任务配置为低于所述车辆实时业务但高于或等于所述常规业务的优先级,所述升级任务与所述常规业务被分配至相同时间周期的周期任务队列中执行;

63、第三优先级配置单元,用于当所述运行工况等级为低负载空闲工况时,将所述升级任务配置为低于所述车辆实时业务但高于所述常规业务的优先级,所述升级任务被分配至最短时间周期的周期任务队列中执行,所述常规业务被分配至中间时间周期的周期任务队列中执行,所述中间时间周期介于所述最短时间周期与所述最长时间周期之间;

64、所述车辆实时业务为涉及车辆安全控制的业务,所述常规业务为不涉及车辆安全控制的非核心业务。

65、可选地,控制模块包括:

66、第一控制单元,用于按照所述升级任务的执行优先级,控制目标控制器将所述升级包数据写入其非激活存储分区;

67、监听单元,用于在所述升级包数据的写入过程中,监听高优先级的所述车辆实时业务的触发事件;

68、中断单元,用于当监听到所述车辆实时业务的触发事件时,控制所述目标控制器暂停当前写入操作,并记录已写入的数据位置信息作为中断上下文;

69、第二控制单元,用于暂停写入后,控制所述目标控制器切换至所述车辆实时业务执行;

70、异步事件生成单元,用于待所述车辆实时业务执行完毕后,生成用于通知所述升级任务恢复执行的异步事件;

71、第三控制单元,用于根据所述异步事件,控制所述目标控制器根据所述中断上下文,从暂停写入时的数据位置处继续写入所述升级包数据,直至完成对非激活存储分区的烧写。

72、第三方面,本技术提供了一种车辆,包括上述的车载控制器的升级装置。