CN116501361A - 整车软件增量升级方法、系统及车辆 - Google Patents
整车软件增量升级方法、系统及车辆 Download PDFInfo
- Publication number
- CN116501361A CN116501361A CN202310475473.6A CN202310475473A CN116501361A CN 116501361 A CN116501361 A CN 116501361A CN 202310475473 A CN202310475473 A CN 202310475473A CN 116501361 A CN116501361 A CN 116501361A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- version information
- whole vehicle
- execution
- software
- 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 83
- 238000009434 installation Methods 0.000 claims description 61
- 230000000977 initiatory effect Effects 0.000 claims description 16
- 238000007689 inspection Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 230000006855 networking Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 20
- 238000005192 partition Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002269 spontaneous effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种整车软件增量升级方法、系统及车辆,属于汽车联网技术领域。该整车软件增量升级方法包括:收集整车软件版本信息并传输到OTA云端,所述整车软件版本信息包括固件版本信息和应用版本信息;接收OTA云端根据整车软件版本信息下发的升级任务文件;解析升级任务文件并生成执行任务文件并下发到执行模块;检查预设条件,并在满足预设条件的情况下,下载软件包或者下发执行任务;接收反馈的全部任务执行状态并上传到OTA云端。该方法根据固件版本信息和应用版本信息生成升级任务文件,解析后生成执行任务文件同样考虑的固件版本信息和应用版本信息,可以同时实现固件升级和应用软件升级。
Description
技术领域
本发明涉及汽车联网技术领域,具体涉及一种整车软件增量升级任务文件生成方法、一种整车软件增量升级方法、一种整车软件增量升级系统以及一种车辆。
背景技术
空中下载技术(Over-the-Air Technology,OTA)是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。随着车辆及物联网技术的发展,OTA已成为汽车软件升级的通道。过去汽车遇到软件故障或者是需要升级导航版本都需要到4S店通过车载自诊断系统OBD口进行刷写,现在通过OTA,厂商可以将升级包通过网络直接传输至车载终端。
对于整车OTA类型,主要分为两类,固件升级FOTA(Firmware-over-the-air)和应用软件升级SOTA(Software-over-the-air),两者均为主机厂重点关注及逐步落地的领域,可适应不同场景的OTA需求。
FOTA通过给车辆控制器下载安装完整的固件镜像,来实现系统功能完整的升级更新。例如升级车辆的智驾系统,让驾驶员享受越来越多的辅助驾驶功能;升级车辆的座舱系统,提高驾驶员疲劳检测的准确率;升级车辆的制动系统,提升车辆的制动性能。FOTA涉及控制器核心功能(控制策略)的一个完整的系统性更新,对整车性能影响较大,升级过程对时序、稳定性、安全性要求极高,同时升级前置条件包括挡位、电量、车速等要求。
SOTA通过给车辆控制器安装“增量包”,来实现控制器功能的一个“增量更新”,一般应用于娱乐系统和智驾系统。例如更换多媒体系统操作界面,优化仪表盘显示风格,更新地图,用到的都是SOTA升级方式。SOTA涉及控制器应用层一个小范围的功能局部更新,对整车性能影响较小,升级前置条件要求较低。SOTA的增量更新策略,可以大幅减小升级包文件大小、从而节约网络流量和存储空间。
公开号为CN106802813A的发明专利提供了一种用于空中固件升级的方法、装置及车辆,其中的方法包括:下载用于升级终端设备当前使用的固件版本的固件升级包;根据固件升级包在终端设备的备份系统分区中执行固件升级操作;在终端设备的系统分区配置信息中将所述备份系统分区配置为主系统分区,以使终端设备在下一次启动过程中,根据所述系统分区配置信息确定出基于所述固件升级后的系统分区执行固件启动操作。本发明提供的技术方案可以在用户无感知的情况下,使终端设备静默的实现空中固件升级,避免了利用Recovery模式实现空中固件升级过程中由于需要多次重启终端设备而影响用户对终端设备的正常使用的现象,从而本发明提供的技术方案有利于提高用户使用终端设备的体验。
但该方法仍然还有问题,一是只能升级整体软件,不能只升级更新的部分,导致升级时间过长,造成用户体验不高。二是现目前大多数车厂都只支持车机软件增量升级,而没有整车增量升级方案。三是大多数控制器升级之后需要重启或者切区重启才能生效,而并没有对整车的重启动作进行统一管理,自发重启可能会导致处于升级过程中的关联升级对象升级失败。
发明内容
本发明的目的之一在于提供一种整车软件增量升级任务文件生成方法,该方法能够比较整车的固件版本信息和应用版本信息,基于比较结果生成升级任务文件,升级任务文件只包含需要升级的软件,用于升级可以缩短升级时间;目的之二在于提供一种整车软件增量升级方法及系统,该方法提出了一种整车增量升级方案,包含了固件增量升级和应用增量升级。
为了实现上述目的,本发明采用的技术方案如下:
本发明一方面提供一种整车软件增量升级任务文件生成方法,应用于OTA云端,所述方法包括:
比较软件发布版本信息和接收自车端的整车软件版本信息,生成比较结果;所述整车软件版本信息和软件发布版本信息均包括固件版本信息和应用版本信息;
根据比较结果生成升级任务文件和软件包。
根据上述技术手段,OTA云端通过比较整车软件版本信息和软件发布版本信息中的固件版本信息和应用版本信息,可以生成只包含需要升级的软件的升级任务文件,该升级任务文件用于整车软件增量升级可以缩短升级时间,提升用户体验。
在本申请实施例中,所述固件版本信息包括:整车大版本号和不同控制器对应的控制器版本号;所述应用版本信息包括:不同应用对应的应用版本号;
比较接收自车端的整车软件版本信息和软件发布版本信息,生成比较结果,包括:
比较整车软件版本信息与软件发布版本信息中的整车大版本号是否相同,若整车大版本号不相同,则生成与整车大版本号相关的比较结果;
若整车大版本号相同,则比较整车软件版本信息与软件发布版本信息中各控制器对应的控制器版本号是否相同,若控制器版本号不相同,则生成与控制器版本号相关的比较结果;
若控制器版本号相同,则比较整车软件版本信息与软件发布版本信息中同一控制器下属的各应用对应的应用版本号是否相同,若应用版本号不相同,则生成与应用版本号相关的比较结果。
根据上述技术手段,能够详细比较整车软件中的固件版本信息和应用版本信息,根据整车软件版本的关联关系从大到小进行比较,节约比较运算所耗费的资源。
在本申请实施例中,所述升级任务文件包括:待升级对象清单和升级前置条件。
根据上述技术手段,升级任务文件能够清楚反应本次升级的对象,执行升级过程中可以根据升级的对象进行增量升级,避免全系统升级而耗费过多的流量和时间。
本发明第二方面提供一种整车软件增量升级方法,应用于升级总代理模块,所述方法包括:
收集整车软件版本信息并传输到OTA云端,所述整车软件版本信息包括固件版本信息和应用版本信息;
接收OTA云端根据整车软件版本信息下发的升级任务文件;
解析升级任务文件并生成执行任务文件下发到执行模块;
检查预设条件,并在满足预设条件的情况下,下载软件包或者下发执行任务;
接收反馈的任务执行状态并上传到OTA云端。
根据上述技术手段,该方法根据固件版本信息和应用版本信息生成升级任务文件,解析后生成执行任务文件同样考虑的固件版本信息和应用版本信息,可以同时实现固件升级和应用软件升级。
在本申请实施例中,所述解析升级任务文件并生成执行任务文件下发到执行模块,包括:
解析升级任务文件,获取待升级对象清单;
根据待升级对象清单和预设配置文件生成执行任务文件;
将所述执行任务文件下发到执行模块。
根据上述技术手段,根据待升级对象清单生成执行任务文件,执行任务文件与待升级对象清单相匹配,将升级过程需要执行的任务文件精简化,缩短升级时间。
在本申请实施例中,所述预设配置文件包括预设升级依赖关系、预设重启依赖关系、安装顺序、重启或切区需求、重启顺序以及重试回滚次数;
所述根据待升级对象清单和预设配置文件生成执行任务文件,包括:
根据待升级对象清单从所述预设升级依赖关系和预设重启依赖关系中分别获取待升级对象对应的升级依赖关系和重启依赖关系;
根据升级依赖关系、重启依赖关系、安装顺序、重启或切区需求、重启顺序以及重试回滚次数生成执行任务文件;
所述执行任务文件包括:任务内容、执行顺序、执行角色、执行条件以及重试回滚次数。
根据上述技术手段,在生成执行任务文件过程中考虑升级依赖关系和重启依赖关系,对重启动作进行统一管理,避免重复重启或者重启失败。
在本申请实施例中,所述收集整车软件版本信息并传输到OTA云端,包括:
发起整车软件版本信息收集请求;
接收执行模块反馈的整车软件版本信息;
将所述整车软件版本信息上传到OTA云端。
根据上述技术手段,升级总代理模块调动执行模块收集整车软件版本信息并上传到OTA云端,收集的整车软件版本信息实时性高,准确度高。
在本申请实施例中,检查预设条件,并在满足预设条件的情况下,下载软件包或者下发执行任务,包括:
发起下载条件检查请求;
接收执行模块反馈的当前下载条件;
在当前下载条件满足预设下载条件的情况下,从OTA云端下载软件包,并传输到执行模块;
发起安装条件检查请求;
接收执行模块反馈的当前安装条件;
在当前安装条件满足预设安装条件的情况下,依次下发执行任务到执行模块。
根据上述技术手段,确定当前环境是否合适进行软件包下载或者执行安装升级任务,在保障用户正常使用的情况下实现软件包下载和升级,提升用户体验。
本发明第三方面提供一种整车软件增量升级方法,所述方法包括:
升级总代理模块向执行模块发起整车软件版本信息收集请求,所述整车软件版本信息包括:固件版本信息和应用版本信息;
执行模块调用版本管理模块进行整车软件版本信息收集,并将收集到的整车软件版本信息反馈到升级总代理模块;
升级总代理模块将整车软件版本信息上传到OTA云端;
OTA云端比较整车软件版本信息和软件发布版本信息,生成升级任务文件和软件包;
升级总代理模块接收并解析升级任务文件,生成执行任务文件并下发到执行模块;
升级总代理模块检查预设下载条件,并在满足预设下载条件的情况下,下载软件包并传输给执行模块;
升级总代理模块检查预设安装条件,并在满足预设安装条件的情况下,下发执行任务到执行模块;
执行模块接收升级总代理模块下发的执行任务并执行,反馈任务执行状态到升级总代理模块;
升级总代理模块接收反馈的任务执行状态并上传到OTA云端。
根据上述技术手段,该方法根据固件版本信息和应用版本信息生成升级任务文件,解析后生成执行任务文件同样考虑的固件版本信息和应用版本信息,可以同时实现固件升级和应用软件升级。
在本申请实施例中,所述方法还包括:
若执行模块安装任务失败,则执行模块根据执行任务文件中的重试回滚次数进行安装重试;
若重试后仍然安装失败,则执行模块按预设的回滚策略进行回滚。
根据上述技术手段,在升级失败时按预设的回滚策略进行回滚,回滚后的软件保有旧版本的功能,以至少保障系统能够正常运行。
在本申请实施例中,所述方法还包括:
执行模块在接收到升级总代理模块传输的软件包后,对软件包进行校验。
根据上述技术方案,检验软件包能够确定软件包是可用的,及时发现软件包错误,避免在执行安装或者回滚任务过程中因为软件包错误导致的安装失败,避免安装时间浪费。
本发明第四方面提供一种整车软件增量升级系统,用于执行所述的整车软件增量升级方法,所述系统包括:
OTA云端,用于获取整车软件版本信息和软件发布版本信息并进行比较,根据比较结果生成升级任务文件及软件包;
升级总代理模块,用于发起整车软件版本信息收集、发起条件检查、接收OTA云端下发的升级任务文件、汇集任务执行状态以及进行任务调度;
执行模块,用于接收升级总代理模块下发的执行任务并执行;
版本管理模块,用于提供整车软件版本信息的获取及变更操作接口;
条件检查模块,用于对软件包下载条件及安装条件进行检查。
根据上述技术方案,提供的整车软件增量升级系统中OTA云端可以根据固件版本信息和应用版本信息生成升级任务文件,升级总代理模块解析升级任务文件后生成执行任务文件同样考虑的固件版本信息和应用版本信息,可以同时实现固件升级和应用软件升级。
本发明还提供一种车辆,所述车辆应用所述的整车软件增量升级方法进行整车软件增量升级。
本发明的有益效果:
(1)本发明支持整车软件增量升级,包括固件升级和应用软件升级,大大节约了升级时间,提高了升级的效率。
(2)本发明预置了升级依赖关系和重启依赖关系,根据依赖关系动态生成整车安装任务,能够同时完成所有FOTA和SOTA的安装,如果部分升级对象安装失败,也会根据依赖关系进行同步回滚,无论安装成功或失败都能确保功能的安全性、稳定性,更加灵活。
(3)根据重启依赖关系生成重启任务,对重启进行统一管理,避免多次自发重启导致升级失败的情况,提升升级成功率。
附图说明
图1为本发明一种实施方式提供的整车软件增量升级任务文件生成方法流程图;
图2为本发明一种实施方式提供的整车软件增量升级方法中版本比对流程图;
图3为本发明一种实施方式提供的应用于升级总代理模块的整车软件增量升级方法流程图;
图4为本发明一种实施方式提供的整车软件增量升级方法流程图;
图5为本发明一种实施方式提供的整车软件增量升级方法中版本收集流程图;
图6为本发明一种实施方式提供的整车软件增量升级系统关系图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为便于理解,将本发明中使用的部分术语解释如下:
软件升级:在没有特定描述其含义的场景,本文中软件更新、安装和卸载三种操作统称为软件升级;
软件升级对象:本文所述的软件升级对象既可以是应用软件整体,也可以指应用软件的某个相对独立的组成部分(例如动态库);
执行任务文件:规定了单次升级所包括的所有任务,并且标识软件升级对象类型是应用软件或是应用软件的组成部分(例如动态库),如果是应用软件的组成部分,应当标识其归属的应用软件,单个任务包含了任务序号、升级对象(FOTA或者SOTA)、执行的动作(安装、重启、切区重启)。
本申请实施例一提出了一种整车软件增量升级任务文件生成方法,应用于OTA云端,如图1所示,所述方法包括:
步骤A1:比较软件发布版本信息和接收自车端的整车软件版本信息,生成比较结果;所述整车软件版本信息和软件发布版本信息均包括固件版本信息和应用版本信息;
步骤A2:根据比较结果生成升级任务文件和软件包。
在本申请实施例中,整车软件版本信息是当前车辆所使用的整车软件所包含的对象及对应的版本号,软件发布版本信息是当前OTA云端接收到的最新版本的整车软件所包含的对象及对应的版本号。
在本申请中,OTA云端在进行整车版本管理过程中,将SOTA应用版本关联到其所属的FOTA版本下进行统一管理,即整车大版本包含了所有的FOTA对象版本及对应的SOTA对象版本集合。一般来说,整车大版本包含了多个控制器,即FOTA对象,每个控制器下包含数量不等的应用软件,即SOTA对象,其中整车大版本、控制器归类为固件。示例如表一所示。
表一
在本申请实施例中,所述固件版本信息包括:整车大版本号和不同控制器对应的控制器版本号,即FOTA版本号;所述应用版本信息包括:不同应用对应的应用版本号,即SOTA版本号;
比较接收自车端的整车软件版本信息和软件发布版本信息,生成比较结果,如图2所示,包括:
比较整车软件版本信息与软件发布版本信息中的整车大版本号是否相同,若整车大版本号不相同,则生成与整车大版本号相关的比较结果;
若整车大版本号相同,则比较整车软件版本信息与软件发布版本信息中各控制器对应的控制器版本号是否相同,若控制器版本号不相同,则生成与控制器版本号相关的比较结果;
若控制器版本号相同,则比较整车软件版本信息与软件发布版本信息中同一控制器下属的各应用对应的应用版本号是否相同,若应用版本号不相同,则生成与应用版本号相关的比较结果。
根据上述技术手段,能够详细比较整车软件中的固件版本信息和应用版本信息,根据整车软件版本的关联关系从大到小进行比较,节约比较运算所耗费的资源。
以表一示例的整车版本为例,在进行整车软件版本信息和软件发布版本信息比较过程中,首先比较整车大版本号,若整车大版本号不相同,则生成的比较结果中显示整车大版本号不相同,整车大版本需要进行升级;若整车大版本号相同,则逐个比较控制器版本号,版本号不相同的控制器需要进行升级;若某控制器版本号相同,则逐个比较这个控制器下属的应用版本号是否相同,若相同,则不需要升级,否则需要升级。
比较得到结果后,OTA云端根据比较结果生成生成升级任务文件和软件包,升级任务文件包含待升级对象清单和升级前置条件;软件包包括:软件升级包和软件回滚包,软件升级包即为版本号不同的软件的升级包,软件回滚包是整车软件当前版本号对应的软件包。升级任务文件能够清楚反应本次升级的对象,执行升级过程中可以根据升级的对象进行增量升级,避免全系统升级而耗费过多的流量和时间。
根据上述技术手段,OTA云端通过比较整车软件版本信息和软件发布版本信息中的固件版本信息和应用版本信息,可以生成只包含需要升级的软件的升级任务文件,该升级任务文件用于整车软件增量升级可以缩短升级时间,提升用户体验。
本发明第二个实施例提供一种整车软件增量升级方法,应用于升级总代理模块,如图3所示,所述方法包括:
步骤B1:收集整车软件版本信息并传输到OTA云端,所述整车软件版本信息包括固件版本信息和应用版本信息。在本申请实施例中,收集整车软件版本信息首先需要发起整车软件版本信息收集请求;该请求经由执行模块执行后,升级总代理模块再接收执行模块反馈的整车软件版本信息;最后将汇总的整车软件版本信息上传到OTA云端。根据上述技术手段,升级总代理模块调动执行模块收集整车软件版本信息并上传到OTA云端,收集的整车软件版本信息实时性高,准确度高。
步骤B2:接收OTA云端根据整车软件版本信息下发的升级任务文件,在本申请实施例中,升级任务文件即是OTA云端比较整车软件版本信息和软件发布版本信息后生成的。
步骤B3:解析升级任务文件并生成执行任务文件下发到执行模块,具体包括:
解析升级任务文件,获取待升级对象清单;
根据待升级对象清单和预设配置文件生成执行任务文件;在本申请实施例中,预设配置文件包括:预设升级依赖关系、预设重启依赖关系、安装顺序、重启或切区需求、重启顺序以及重试回滚次数等。
将所述执行任务文件下发到执行模块。若生成执行任务文件失败,则记录日志并上传OTA云端。
根据上述技术手段,根据待升级对象清单生成执行任务文件,执行任务文件与待升级对象清单相匹配,将升级过程需要执行的任务文件精简化,缩短升级时间。
在本申请实施例中,根据待升级对象清单和预设配置文件生成执行任务文件,包括:
根据待升级对象清单从所述预设升级依赖关系和预设重启依赖关系中分别获取待升级对象对应的升级依赖关系和重启依赖关系;
根据升级依赖关系、重启依赖关系、安装顺序、重启或切区需求、重启顺序以及重试回滚次数生成执行任务文件;
所述执行任务文件包括:任务内容、执行顺序、执行角色、执行条件以及重试回滚次数。其中,执行顺序与安装依赖关系和重启依赖关系息息相关。
以表一中的整车软件版本信息为例,假定软件升级版本信息如表二所示。
表二
通过比较整车软件版本信息和软件升级版本信息可知:在此次升级过程中需要升级FOTA对象A下属的SOTA对象a1、SOTA对象a2、SOTA对象a3、FOTA对象B以及FOTA对象B下属的SOTA对象b1。假定升级过程中,SOTA对象a1、SOTA对象a2具有安装依赖关系,SOTA对象a2、SOTA对象a3具有重启依赖关系,FOTA对象A与FOTA对象B没有依赖关系。依据先升级重启整车软件,再升级重启FOTA对象,再升级重启SOTA对象的顺序,在构建执行任务文件时,FOTA对象B的升级任务的执行顺序为0,FOTA对象B的重启任务的执行顺序为1,SOTA对象b1的升级任务的执行顺序为2,SOTA对象b1的重启任务的执行顺序为3;SOTA对象a1的升级任务的执行顺序为0,SOTA对象a1的重启任务的执行顺序为1,SOTA对象a2的升级任务的执行顺序为2,SOTA对象a3的安装任务的执行顺序为0,SOTA对象a2、SOTA对象a3的重启任务执行顺序为3,各任务的执行角色、执行条件和重试回滚次数根据需求设定。
依照上述执行顺序生成执行任务后,可以将其中执行顺序为0的执行任务构建为一个任务组,将执行顺序为1的执行任务构建为一个任务组,依次类推,执行时以组为单位进行任务下发。
需要说明的是,上述示例仅仅示出了属于同一控制器的多个SOTA对象之间的依赖关系,在实际应用中,可以配置相同或者不同控制器之间的FOTA或者SOTA之间的依赖关系。
根据上述技术手段,在生成执行任务文件过程中考虑升级依赖关系和重启依赖关系,对重启动作进行统一管理,避免重复重启或者重启失败。
步骤B4:检查预设条件,并在满足预设条件的情况下,下载软件包或者下发执行任务。
在本申请实施例中,预设条件包括下载软件包前的下载条件和执行模块执行任务前的安装条件,需要先下载软件包,执行模块才能执行任务,因此先进行下载条件检查,再是安装条件检查。具体包括:
发起下载条件检查请求;
接收执行模块反馈的当前下载条件,下载条件可以包括当前的流量带宽利用率,车辆电池电量范围等等。
比较当前下载条件是否满足预设下载条件;
在满足预设下载条件的情况下,从OTA云端下载软件包,并传输到执行模块,若不满足预设下载条件,则持续检查下载条件,以等待车辆的下载条件满足预设下载条件的时机。
发起安装条件检查请求;
接收执行模块反馈的当前安装条件,安装条件包括:行车档位、电池电量范围、温度下限、电源档位等;
比较当前安装条件是否满足预设安装条件;
在满足预设安装条件的情况下,依次下发执行任务到执行模块,若不满足预设安装条件,则持续检查安装条件,以等待车辆的安装条件满足预设安装条件的时机。
根据上述技术手段,确定当前环境是否合适进行软件包下载或者执行安装升级任务,在保障用户正常使用的情况下实现软件包下载和升级,提升用户体验。
在实际应用过程中,执行模块为多个,可以同时并行的执行任务。假定车辆设置有三个执行任务模块,以执行前述构建的执行任务文件为例,在升级过程中,首先升级总代理模块下发执行顺序为0的执行任务,执行顺序为0的执行任务共有3个,可以分别下发到不同的执行模块执行。当且仅升级总代理模块收到三个执行模块反馈的任务执行成功的状态后,升级总代理模块下发执行顺序为1的执行任务,依次类推。通过在构建执行任务文件的过程中考虑安装依赖关系、重启依赖关系等来生成执行任务的执行顺序,在任务执行过程中,按照执行顺序来执行任务就能够避免由于前置升级任务未完成造成的升级失败,同时,也对重启任务进行统一管理,减少重启次数,同时减少由于关联升级对象重启带来的升级失败。
步骤B5:接收反馈的全部任务执行状态并上传到OTA云端。
根据上述技术手段,该方法根据固件版本信息和应用版本信息生成升级任务文件,解析后生成执行任务文件同样考虑的固件版本信息和应用版本信息,可以同时实现固件升级和应用软件升级。
本发明第三个实施例提供一种整车软件增量升级方法,如图4所示,所述方法包括:
步骤C1:升级总代理模块向执行模块发起整车软件版本信息收集请求,所述整车软件版本信息包括:固件版本信息和应用版本信息。
步骤C2:执行模块调用版本管理模块进行整车软件版本信息收集,并将收集到的整车软件版本信息反馈到升级总代理模块。在收集整车软件版本信息时,版本管理模块首先收集固件版本信息,然后判断该固件是否支持应用软件升级,若支持,则进一步收集应用版本信息,否则直接反馈固件版本信息到执行模块,执行模块直接汇总所有版本信息上传到升级总代理模块,整车软件版本信息收集流程如图5所示。
步骤C3:升级总代理模块将整车软件版本信息上传到OTA云端;
步骤C4:OTA云端比较整车软件版本信息和软件发布版本信息,生成升级任务文件和软件包;
步骤C5:升级总代理模块接收并解析升级任务文件,生成执行任务文件并下发到执行模块;
步骤C6:升级总代理模块检查预设下载条件,并在满足预设下载条件的情况下,下载软件包并传输给执行模块;
步骤C7:升级总代理模块检查预设安装条件,并在满足预设安装条件的情况下,下发执行任务到执行模块;
步骤C8:执行模块接收升级总代理模块下发的执行任务并执行;
步骤C9:执行模块反馈任务执行状态到升级总代理模块;
步骤C10:升级总代理模块接收反馈的全部任务执行状态并上传到OTA云端。
根据上述技术手段,该方法根据固件版本信息和应用版本信息生成升级任务文件,解析后生成执行任务文件同样考虑的固件版本信息和应用版本信息,可以同时实现固件升级和应用软件升级。
在本申请实施例中,所述方法还包括:
若执行模块安装任务失败,则执行模块根据执行任务文件中的重试回滚次数进行安装重试;
若重试后仍然安装失败,则执行模块按预设的回滚策略进行回滚。
根据上述技术手段,在升级失败时按预设的回滚策略进行回滚,回滚后的软件保有旧版本的功能,无论安装成功或失败都能确保功能的安全性、稳定性,更加灵活。
在本申请实施例中,所述方法还包括:
执行模块在接收到升级总代理模块传输的软件包后,对软件包进行校验。如果是差分软件包则还需要进行差分还原操作。
根据上述技术方案,检验软件包能够确定软件包是可用的,及时发现软件包错误,避免在执行安装或者回滚任务过程中因为软件包错误导致的安装失败,避免安装时间浪费。
本发明实施例还提供一种整车软件增量升级系统,用于执行所述的整车软件增量升级方法,如图6所示,所述系统包括:
OTA云端,用于获取整车软件版本信息和软件发布版本信息并进行比较,根据比较结果生成升级任务文件及软件包。OTA云端主要负责整车版本维护、软件包的管理、版本比较、升级任务下发、升级日志收集等。
升级总代理模块,用于发起整车软件版本信息收集、发起条件检查、接收OTA云端下发的升级任务文件、汇集任务执行状态以及进行任务调度。升级总代理模块主要是负责和OTA云端通信、车端发起条件检查、发起版本收集、接收云端下发的升级任务、进行任务调度等。
执行模块,用于接收升级总代理模块下发的执行任务并执行。执行模块部署在控制器智能系统里的代理软件,主要负责接收总代理模块下发的指令和执行具体的任务,包括软件部署、版本收集、安装、重启等。
版本管理模块,用于提供整车软件版本信息的获取及变更操作接口,例如软件版本的查询、删除、新增及更新等。
条件检查模块,用于对软件包下载条件及安装条件进行检查,条件检查模块主要负责在进行软件升级之前对升级条件进行检测,一是检测系统升级条件是否满足,二是对升级软件依赖性作预检查。两者都满足时才能进行安装流程。
根据上述技术方案,提供的整车软件增量升级系统中OTA云端可以根据固件版本信息和应用版本信息生成升级任务文件,升级总代理模块解析升级任务文件后生成执行任务文件同样考虑的固件版本信息和应用版本信息,可以同时实现固件升级和应用软件升级。
本发明还提供一种车辆,所述车辆应用所述的整车软件增量升级方法进行整车软件增量升级。
以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。
Claims (13)
1.一种整车软件增量升级任务文件生成方法,应用于OTA云端,其特征在于,所述方法包括:
比较软件发布版本信息和接收自车端的整车软件版本信息,生成比较结果;所述整车软件版本信息和软件发布版本信息均包括固件版本信息和应用版本信息;
根据比较结果生成升级任务文件和软件包。
2.根据权利要求1所述的整车软件增量升级任务文件生成方法,其特征在于,所述固件版本信息包括:整车大版本号和不同控制器对应的控制器版本号;所述应用版本信息包括:不同应用对应的应用版本号;
比较接收自车端的整车软件版本信息和软件发布版本信息,生成比较结果,包括:
比较整车软件版本信息与软件发布版本信息中的整车大版本号是否相同,若整车大版本号不相同,则生成与整车大版本号相关的比较结果;
若整车大版本号相同,则比较整车软件版本信息与软件发布版本信息中各控制器对应的控制器版本号是否相同,若控制器版本号不相同,则生成与控制器版本号相关的比较结果;
若控制器版本号相同,则比较整车软件版本信息与软件发布版本信息中同一控制器下属的各应用对应的应用版本号是否相同,若应用版本号不相同,则生成与应用版本号相关的比较结果。
3.根据权利要求1所述的整车软件增量升级任务文件生成方法,其特征在于,所述升级任务文件包括:待升级对象清单和升级前置条件。
4.一种整车软件增量升级方法,应用于升级总代理模块,其特征在于,所述方法包括:
收集整车软件版本信息并传输到OTA云端,所述整车软件版本信息包括固件版本信息和应用版本信息;
接收OTA云端根据整车软件版本信息下发的升级任务文件;
解析升级任务文件并生成执行任务文件下发到执行模块;
检查预设条件,并在满足预设条件的情况下,下载软件包或者下发执行任务;
接收反馈的任务执行状态并上传到OTA云端。
5.根据权利要求4所述的整车软件增量升级方法,其特征在于,所述解析升级任务文件并生成执行任务文件下发到执行模块,包括:
解析升级任务文件,获取待升级对象清单;
根据待升级对象清单和预设配置文件生成执行任务文件;
将所述执行任务文件下发到执行模块。
6.根据权利要求5所述的整车软件增量升级方法,其特征在于,所述预设配置文件包括预设升级依赖关系、预设重启依赖关系、安装顺序、重启或切区需求、重启顺序以及重试回滚次数;
所述根据待升级对象清单和预设配置文件生成执行任务文件,包括:
根据待升级对象清单从所述预设升级依赖关系和预设重启依赖关系中分别获取待升级对象对应的升级依赖关系和重启依赖关系;
根据升级依赖关系、重启依赖关系、安装顺序、重启或切区需求、重启顺序以及重试回滚次数生成执行任务文件;
所述执行任务文件包括:任务内容、执行顺序、执行角色、执行条件以及重试回滚次数。
7.根据权利要求4所述的整车软件增量升级方法,其特征在于,所述收集整车软件版本信息并传输到OTA云端,包括:
发起整车软件版本信息收集请求;
接收执行模块反馈的整车软件版本信息;
将所述整车软件版本信息上传到OTA云端。
8.根据权利要求5所述的整车软件增量升级方法,其特征在于,检查预设条件,并在满足预设条件的情况下,下载软件包或者下发执行任务,包括:
发起下载条件检查请求;
接收执行模块反馈的当前下载条件;
在当前下载条件满足预设下载条件的情况下,从OTA云端下载软件包并传输到执行模块;
发起安装条件检查请求;
接收执行模块反馈的当前安装条件;
在当前安装条件满足预设安装条件的情况下,依次下发执行任务到执行模块。
9.一种整车软件增量升级方法,其特征在于,所述方法包括:
升级总代理模块向执行模块发起整车软件版本信息收集请求,所述整车软件版本信息包括:固件版本信息和应用版本信息;
执行模块调用版本管理模块进行整车软件版本信息收集,并将收集到的整车软件版本信息反馈到升级总代理模块;
升级总代理模块将整车软件版本信息上传到OTA云端;
OTA云端比较整车软件版本信息和软件发布版本信息,生成升级任务文件和软件包;
升级总代理模块接收并解析升级任务文件,生成执行任务文件并下发到执行模块;
升级总代理模块检查预设下载条件,并在满足预设下载条件的情况下,下载软件包并传输给执行模块;
升级总代理模块检查预设安装条件,并在满足预设安装条件的情况下,下发执行任务到执行模块;
执行模块接收升级总代理模块下发的执行任务并执行,反馈任务执行状态到升级总代理模块;
升级总代理模块接收反馈的任务执行状态并上传到OTA云端。
10.根据权利要求9所述的整车软件增量升级方法,其特征在于,所述方法还包括:
若执行模块安装任务失败,则执行模块根据执行任务文件中的重试回滚次数进行安装重试;
若重试后仍然安装失败,则执行模块按预设的回滚策略进行回滚。
11.根据权利要求9所述的整车软件增量升级方法,其特征在于,所述方法还包括:
执行模块在接收到升级总代理模块传输的软件包后,对软件包进行校验。
12.一种整车软件增量升级系统,用于执行权利要求9-11中任一项所述的整车软件增量升级方法,其特征在于,所述系统包括:
OTA云端,用于获取整车软件版本信息和软件发布版本信息并进行比较,根据比较结果生成升级任务文件及软件包;
升级总代理模块,用于发起整车软件版本信息收集、发起条件检查、接收OTA云端下发的升级任务文件、汇集任务执行状态以及进行任务调度;
执行模块,用于接收升级总代理模块下发的执行任务并执行;
版本管理模块,用于提供整车软件版本信息的获取及变更操作接口;
条件检查模块,用于对软件包下载条件及安装条件进行检查。
13.一种车辆,其特征在于,所述车辆应用权利要求9-11中任一项所述的整车软件增量升级方法进行整车软件增量升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310475473.6A CN116501361A (zh) | 2023-04-27 | 2023-04-27 | 整车软件增量升级方法、系统及车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310475473.6A CN116501361A (zh) | 2023-04-27 | 2023-04-27 | 整车软件增量升级方法、系统及车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501361A true CN116501361A (zh) | 2023-07-28 |
Family
ID=87328021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310475473.6A Pending CN116501361A (zh) | 2023-04-27 | 2023-04-27 | 整车软件增量升级方法、系统及车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501361A (zh) |
-
2023
- 2023-04-27 CN CN202310475473.6A patent/CN116501361A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10585661B2 (en) | Self-healing learning system for one or more controllers | |
US20170242678A1 (en) | Method and apparatus for vehicle software update installation | |
CN113590164B (zh) | 一种整车控制器软件的升级方法及系统 | |
EP4099655A1 (en) | Software version rollback method, apparatus and system | |
CN113741936B (zh) | 一种基于uds协议的并行刷写方法、装置、车辆及计算机可读存储介质 | |
CN114385210A (zh) | 一种升级日志生成方法、装置、设备及存储介质 | |
US11726443B2 (en) | Efficient controller data generation and extraction | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN113190250A (zh) | 座舱软件升级方法、电子设备及可读存储介质 | |
CN116501361A (zh) | 整车软件增量升级方法、系统及车辆 | |
WO2023141502A1 (en) | Technologies for over-the-air updates for telematics systems | |
CN114090050A (zh) | 机器人软件远程自动更新方法、系统及相关产品 | |
CN113791800A (zh) | 一种自动泊车控制模块远程升级方法、系统及汽车 | |
CN111752575B (zh) | 一种车载应用更新方法、装置、设备及存储介质 | |
Wu et al. | Method of differential-based remote upgrade for ECUs on vehicles | |
Xu et al. | Research on the Design of Software Upgrade for Special Vehicles Based on OTA Technology | |
CN116795393A (zh) | 自动驾驶车载系统的升级方法、装置和终端设备 | |
CN115827010A (zh) | 车辆软件版本的匹配方法、车机设备及可读介质 | |
CN117472401A (zh) | 一种云端升级管理方法、装置、系统及可读存储介质 | |
CN114326689A (zh) | 刷写车辆的固件的方法、装置、设备以及存储介质 | |
CN117472742A (zh) | 测试工具部署方法、装置、设备及存储介质 | |
CN112241272A (zh) | 一种车载仪表及其升级方法、系统 | |
CN116954668A (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 |