CN115514741A - 一种ota升级方法、装置及计算机可读存储介质 - Google Patents
一种ota升级方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115514741A CN115514741A CN202110699630.2A CN202110699630A CN115514741A CN 115514741 A CN115514741 A CN 115514741A CN 202110699630 A CN202110699630 A CN 202110699630A CN 115514741 A CN115514741 A CN 115514741A
- Authority
- CN
- China
- Prior art keywords
- control unit
- information
- version
- software
- installation package
- 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
- 238000005192 partition Methods 0.000 claims description 132
- 238000009434 installation Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 25
- 238000005516 engineering process Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 abstract description 15
- 238000007726 management method Methods 0.000 description 50
- 239000000306 component Substances 0.000 description 31
- 238000004891 communication Methods 0.000 description 28
- 230000015654 memory Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 230000010267 cellular communication Effects 0.000 description 3
- 239000008358 core component Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
-
- 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/658—Incremental updates; Differential updates
-
- 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
Abstract
本申请实施例公开了一种OTA升级方法、装置及计算机可读存储介质,其中OTA升级方法包括:终端向OTA服务器发送控制单元的软件信息;软件信息包括控制单元当前软件版本的信息以及指示信息;指示信息用于指示控制单元的当前软件版本是否有对应的回滚包;终端接收OTA服务器发送的升级信息;其中,若控制单元的当前软件版本没有对应的回滚包,则升级信息包括针对控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;或若控制单元的当前软件版本有对应的回滚包,则升级信息为目标版本的软件安装包下载信息;终端基于升级信息对控制单元执行第一操作。通过本申请实施例可以更好地解决OTA升级失败的回滚处理问题。
Description
技术领域
本申请涉及车联网、通信技术领域,具体涉及一种OTA升级方法、装置及计算机可读存储介质。
背景技术
随着计算机技术、网络技术等不断发展,当前的终端中往往部署了各种各样的硬件、软件(应用),例如,车辆中配置有智能座舱、传感系统、自动驾驶系统,也安装有车载操作系统、导航应用、影音播放应用等等。这些硬件、软件虽然使得终端的功能更加丰富,但是也更容易出现漏洞、或者需要替换为更先进的版本等等。因此,需要对终端的硬件、软件(应用)进行升级更新。
空中下载技术或空中升级技术(Over the Air,OTA)是一种通过无线网络进行数据下载的技术,现已被广泛应用于车辆、电视、手机、平板电脑、机顶盒等设备的升级。OTA技术主要通过下载OTA升级包进行自动升级(也支持通过拷贝OTA升级包到SD卡来升级),OTA升级速度快、对数据的影响小,因此OTA升级成为了终端功能升级的主要方式。例如,对于车辆来说,车辆厂商(Original Equipment Manufacturer,OEM,或者称为原始设备制造商)通过OTA技术升级车辆的相关硬件或软件,有利于厂商减少召回成本、快速响应需求、提升用户体验。
在OTA升级时,可能会出现升级失败的情况,为了解决升级失败时能恢复到升级前的版本状态,终端需要具备回滚操作的能力。例如在汽车开放系统架构(Automotive OpenSystem Architecture,AutoSar)标准里,可以利用A/B分区升级备份的方案,一些厂商也采取了这种方案。然而,由于A/B分区升级备份导致电子控制单元(Electronic ControlUnit,ECU)的成本上升,也有很多ECU不具备A/B分区升级备份的能力。如何更好地解决OTA升级失败的回滚处理问题,是本领域技术人员亟待解决的技术问题。
发明内容
本申请提供一种OTA升级方法、装置及计算机可读存储介质,可以更好地解决OTA升级失败的回滚处理问题。
第一方面,本申请提供一种OTA升级方法,该方法包括:
终端向OTA服务器发送控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
所述终端接收所述OTA服务器发送的升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;或若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述目标版本的软件安装包下载信息;
所述终端基于所述升级信息下对所述控制单元执行第一操作。
本申请实施例中终端与OTA服务器进行交互时,不论待升级的控制单元是否支持A/B分区升级备份,通过向OTA服务器发送用于指示控制单元的当前版本软件是否有对应的回滚包的指示信息,以使OTA服务器进行识别是否下发用于回滚的安装包下载信息,实现回滚包按需下发,有效节省流量消耗。
在一种可能的实施方式中,所述控制单元包括支持A/B分区升级备份的控制单元或不支持A/B分区升级备份的控制单元。
本申请实施例针对终端中既存在支持A/B分区升级备份的控制单元,又存在不支持A/B分区升级备份的控制单元的情况下,升级回滚流程能够简化统一,无需对不支持A/B分区升级备份的控制单元进行改造,特别是在终端(如车辆)发生换件的场景下,无论新替换的部件是否支持A/B分区升级备份,都能够自动兼容在OTA升级过程中的回滚能力,节省成本。
在一种可能的实施方式中,若所述控制单元支持A/B分区升级备份,所述指示信息指示所述控制单元的当前软件版本有对应的回滚包;或
在所述控制单元不支持A/B分区升级备份的情况下,若所述终端存有所述控制单元的当前软件版本的备份安装包,所述指示信息指示所述控制单元的当前软件版本有对应的回滚包;或在所述控制单元不支持A/B分区升级备份的情况下,若所述终端不存有所述控制单元的当前软件版本的备份安装包,所述指示信息指示所述控制单元的当前软件版本没有对应的回滚包
通过在判断出控制单元支持A/B分区升级备份的情况下,直接生成指示有对应的回滚包的指示信息;而判断出控制单元不支持A/B分区升级备份时,再具体检测是否存有控制单元的当前软件版本的备份安装包,可以很好地实现升级回滚流程简化统一,从而更好地解决了OTA升级失败的回滚处理问题。
在又一种可能的实施方式中,所述终端基于所述升级信息对所述控制单元执行第一操作,包括:
若所述控制单元支持A/B分区升级备份,所述终端基于所述目标版本的软件安装包下载信息下载所述控制单元的目标版本的软件安装包,基于所述目标版本的软件安装包在备份分区中对所述控制单元进行升级安装。
本申请实施例中若控制单元支持A/B分区升级备份,那么在下载了目标版本的软件安装包后,可利用该A/B分区升级备份能力在所述控制单元的目标版本的软件安装包在备份分区中进行升级安装,实现OTA的升级或回滚。若升级成功,可以删除下载的该控制单元的目标版本的软件安装包,节省存储空间。
在又一种可能的实施方式中,所述终端基于所述升级信息对所述控制单元执行第一操作,包括:
若所述控制单元不支持A/B分区升级备份,在所述控制单元的当前软件版本有对应的回滚包的情况下,所述终端基于所述目标版本的软件安装包下载信息下载所述控制单元的目标版本的软件安装包,基于所述目标版本的软件安装包对所述控制单元进行升级安装;或
在所述控制单元的当前软件版本没有对应的回滚包的情况下,所述终端基于所述目标版本的软件安装包下载信息下载所述控制单元的目标版本的软件安装包,以及基于针对所述控制单元当前版本的软件安装包下载信息下载所述控制单元的当前版本的软件安装包;基于所述目标版本的软件安装包对所述控制单元进行升级安装。
本申请实施例中若控制单元不支持A/B分区升级备份,那么在下载了目标版本的软件安装包,以及在没有对应的回滚包的情况下下载了该控制单元当前版本的软件安装包后,基于该目标版本的软件安装包进行升级;并且可基于该控制单元当前版本的软件安装包进行回滚处理,从而更好地解决了OTA升级失败的回滚处理问题。
在又一种可能的实施方式中,本申请的OTA升级方法还包括:
若升级成功,所述终端删除所述控制单元当前版本的软件安装包,将所述控制单元的目标版本的软件安装包作为回滚包进行存储。
本申请实施例中若控制单元不支持A/B分区升级备份,那么在升级成功后,通过删除控制单元当前版本的软件安装包,将控制单元的目标版本的软件安装包作为新的回滚包存储,从而更好地解决了OTA升级失败的回滚处理问题。
在又一种可能的实施方式中,若所述控制单元支持A/B分区升级备份,那么在所述基于所述目标版本的软件安装包在备份分区中对所述控制单元进行升级安装的过程中,升级失败,所述方法还包括:
所述终端将升级失败的分区还原为镜像备份分区。
本申请实施例中若控制单元支持A/B分区升级备份,那么在升级失败后该升级失败的分区还原为镜像备份分区,也就是说将正在使用的分区的数据镜像备份到该升级失败的分区中,继续使用当前正在使用的分区,从而实现回滚。进一步,还可以删除下载的该控制单元的目标版本的软件安装包,节省存储空间。
在又一种可能的实施方式中,所述控制单元不支持A/B分区升级备份,那么在所述基于所述目标版本的软件安装包对所述控制单元进行升级安装的过程中,升级失败,所述方法还包括:
所述终端基于所述控制单元的当前版本的软件安装包进行回滚操作,删除所述目标版本的软件安装包。
本申请实施例中若控制单元不支持A/B分区升级备份,那么在升级失败后终端可基于存有的控制单元当前版本的软件安装包进行回滚操作,从而实现OTA升级失败的回滚处理问题。
在又一种可能的实施方式中,所述基于所述控制单元的目标版本的软件安装包进行升级之前,还包括所述终端接收第一服务器发送的第一密钥;基于所述第一密钥对所述控制单元的目标版本的软件安装包进行解密。其中,所述控制单元的目标版本的软件安装包为所述第一服务器基于第二密钥对所述控制单元的升级数据进行加密后生成的安装包;所述第一密钥为所述第二密钥对应的解密密钥。
本申请实施例中的该第一服务器可以为终端的零件供应商,控制单元的目标版本的软件安装包由第一服务器进行加密,可以避免零件供应商的核心技术被泄露或者涉及数据被OTA服务器侧获取,也避免攻击者篡改升级数据,提高了OTA升级的安全性。
在又一种可能的实施方式中,所述终端接收第一服务器发送的第一密钥,包括:
所述终端与所述第一服务器建立安全通道;
所述终端通过所述安全通道接收所述第一服务器发送所述第一密钥。
其中,安全通道可以是基于安全套接字协议(Secure Sockets Layer,SSL)或者传输层安全(Transport Layer Security,TLS)的传输通道,用于数据安全传输。由于安全通道是安全可信的信道,第一服务器与终端通过安全通道传输第一密钥,可以保证第一密钥的安全性。
第二方面,本申请提供一种空中下载技术OTA升级方法,包括:
OTA服务器接收终端发送的控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
所述OTA服务器基于所述软件信息向所述终端发送升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述控制单元的目标版本的软件安装包下载信息。
在一种可能的实现方式中,所述控制单元包括支持A/B分区升级备份的控制单元或不支持A/B分区升级备份的控制单元。
本申请实施例中终端与OTA服务器进行交互时,不论待升级的控制单元是否支持A/B分区升级备份,通过向OTA服务器发送用于指示控制单元的当前版本软件是否有对应的回滚包的指示信息,以使OTA服务器进行识别是否下发用于回滚的安装包下载信息,实现回滚包按需下发,有效节省流量消耗。针对终端中既存在支持A/B分区升级备份的控制单元,又存在不支持A/B分区升级备份的控制单元的情况下,升级回滚流程能够简化统一,无需对不支持A/B分区升级备份的控制单元进行改造,特别是在终端(如车辆)发生换件的场景下,无论新替换的部件是否支持A/B分区升级备份,都能够自动兼容在OTA升级过程中的回滚能力,节省成本。
第三方面,本申请实施例提供的一种空中下载技术OTA升级装置,所述装置包括:
第一发送单元,用于向OTA服务器发送控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
第一接收单元,用于接收所述OTA服务器发送的升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;或若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述目标版本的软件安装包下载信息;
执行单元,用于基于所述升级信息对所述控制单元执行第一操作。
在一种可能的实现方式中,所述控制单元包括支持A/B分区升级备份的控制单元或不支持A/B分区升级备份的控制单元。
在一种可能的实现方式中,若所述控制单元支持A/B分区升级备份,所述指示信息指示所述控制单元的当前软件版本有对应的回滚包;或
在所述控制单元不支持A/B分区升级备份的情况下,若所述装置存有所述控制单元的当前软件版本的备份安装包,所述指示信息指示所述控制单元的当前软件版本有对应的回滚包;或在所述控制单元不支持A/B分区升级备份的情况下,若所述装置不存有所述控制单元的当前软件版本的备份安装包,所述指示信息指示所述控制单元的当前软件版本没有对应的回滚包。
在一种可能的实现方式中,所述执行单元包括:
第一下载升级单元,用于若所述控制单元不支持A/B分区升级备份,在所述控制单元的当前软件版本有对应的回滚包的情况下,基于所述目标版本的软件安装包下载信息下载所述控制单元的目标版本的软件安装包,基于所述目标版本的软件安装包对所述控制单元进行升级安装;或
第二下载升级单元,用于在所述控制单元的当前软件版本没有对应的回滚包的情况下,基于所述目标版本的软件安装包下载信息下载所述控制单元的目标版本的软件安装包,以及基于针对所述控制单元当前版本的软件安装包下载信息下载所述控制单元的当前版本的软件安装包;基于所述目标版本的软件安装包对所述控制单元进行升级安装。
在一种可能的实现方式中,所述装置还包括:
还原单元,用于在所述基于所述目标版本的软件安装包在备份分区中对所述控制单元进行升级安装的过程中,升级失败的情况下,将升级失败的分区还原为镜像备份分区。
在一种可能的实现方式中,所述装置还包括:
回滚单元,用于在所述基于所述目标版本的软件安装包在备份分区中对所述控制单元进行升级安装的过程中,升级失败的情况下,基于所述控制单元的当前版本的软件安装包进行回滚操作,删除所述目标版本的软件安装包。
第四方面,本申请实施例提供一种空中下载技术OTA服务器,所述OTA服务器包括:
第二接收单元,用于接收终端发送的控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
第二发送单元,用于基于所述软件信息向所述终端发送升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述控制单元的目标版本的软件安装包下载信息。
第五方面,本申请提供一种终端,该终端包括处理器,处理器被配置为支持该终端执行第一方面或第一方面任一种可能的实现方式提供的OTA升级方法中相应的功能。该终端还可以包括存储器,存储器用于与处理器耦合,其保存终端必要的程序指令和数据。该终端还可以包括通信接口,用于终端与其他设备或通信网络通信。
第六方面,本申请提供一种OTA服务器,该服务器包括处理器,处理器被配置为支持该服务器执行第二方面或第二方面任一种可能的实现方式提供的OTA升级方法中相应的功能。该服务器还可以包括存储器,存储器用于与处理器耦合,其保存服务器必要的程序指令和数据。该服务器还可以包括通信接口,用于服务器与其他设备或通信网络通信。
需要说明的是,本申请中存储器中的程序指令和数据可以预先存储也可以使用该设备时从互联网下载后存储,本申请对于存储器中程序指令和数据的来源不进行具体限定。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或连接,其可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
第七方面,本申请提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行以实现上述第一方面任意一项或第二方面任意一项所述的方法。
第八方面,本申请提供一种计算机程序产品,当上述计算机程序产品被处理器读取并执行时,上述第一方面任意一项或第二方面任意一项所述的方法将被执行。
上述第二方面至第八方面提供的方案,用于实现或配合实现上述第一方面提供的方法,因此可以与第一方面达到相同或相应的有益效果,此处不再进行赘述。
附图说明
下面将对本申请实施例中所需要使用的附图作介绍。
图1a是本申请实施例提供的一种OTA升级的系统架构图;
图1b是申请提供的另一种实施例的OTA升级的系统架构图;
图1c是本申请实施例提供的车辆10的功能框图;
图2是本申请实施例提供的OTA升级方法的流程示意图;
图3是本申请实施例提供的一种OTA升级装置的结构示意图;
图4是本申请实施例提供的一种OTA服务器的结构示意图;
图5是本申请实施例提供的一种设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)、空中下载(over the Air,OTA)技术。是通过移动通信的空中接口进行远程固件或软件远程升级的技术。OTA现已被广泛应用于智能电视、手机、平板电脑、机顶盒等设备的网络升级中。随着智能网联汽车的发展,OTA在线升级成为了汽车或车辆的重要功能。
(2)、车载信息盒子(Telematics Box)也可以称之为汽车盒子(T-Box),是远距离通信的电信(Telecommunications)与信息科学(Informatics)的合成词,按字面可定义为通过内置在汽车、航空、船舶、火车等运输工具上的计算机系统、无线通信技术、卫星导航装置、交换文字、语音等信息的互联网技术而提供信息的服务系统。简单的说就通过无线网络将车辆接入互联网,为车主提供驾驶、生活所必需的各种信息。
(3)、电子控制单元(Electronic Control Unit,ECU),从用途上讲则是汽车专用微机控制器。它和普通的电脑一样,由微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。本申请实施例中的从车载控制单元即为电子控制单元。
(4)、车载控制单元(Vehiclecontrolunit,VCU),也可以称之为电动汽车整车控制器VCU是电动汽车动力系统的总成控制器,负责协调发动机、驱动电机、变速箱、动力电池等各部件的工作,具有提高车辆的动力性能、安全性能和经济性等作用。是电动汽车整车控制系统的核心部件,是用来控制电动车电机的启动、运行、进退、速度、停止以及电动车的其它电子器件的核心控制器件。VCU作为纯电动汽车控制系统最核心的部件,其承担了数据交换、安全管理、驾驶员意图解释、能量流管理的任务。VCU采集电机控制系统信号、加速踏板信号、制动踏板信号及其他部件信号,根据驾驶员的驾驶意图综合分析并作出响应判断后,监控下层的各部件控制器的动作,对汽车的正常行驶、电池能量的制动回馈、网络管理、故障诊断与处理、车辆状态监控等功能起着关键作用。
(5)、人机交互接口(Human Machine Interface,HMI),简称人机接口,也称人机界面、用户界面或使用者界面,是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。
(6)、控制器局域网络(Controller Area Network,CAN)总线,是国际上应用最广泛的现场总线之一。其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。CAN总线是一种应用广泛的现场总线,在工业测控和工业自动化等领域有很大的应用前景。CAN属于总线式串行通信网络。CAN总线在数据通信方面具有可靠、实时和灵活的优点。为使设计透明和执行灵活,遵循ISO/OSI标准模型,CAN总线结构划分为两层物理层和数据链路层(包括逻辑链路控制子层LLC和媒体访问控制子层MAC)。
为了更好的理解本申请实施例提供的一种OTA升级方法,下面先对本申请实施例下面对本申请实施例的系统架构和业务场景进行描述。需要说明的是,本申请描述的系统架构及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
请参见图1a,图1a是本申请实施例提供的一种OTA升级的系统架构图,可以包括终端101以及OTA服务器102,其中:
OTA服务器102是OTA升级过程中,与终端101进行信息交互的服务器。OTA服务器102可以包括OTA业务管理服务模块1020以及OTA升级包下载服务模块1021。通常来说,OTA服务器可以指示终端需要进行某一控制单元的升级,可选的,OTA服务器还可以通过OTA升级包下载服务模块1021将ECU的升级数据发送给终端。在一些具体的实施场景中,也将OTA服务器称为OTA云端或云侧服务器。
可选的,OTA升级包下载服务模块1021与OTA业务管理服务模块1020可以为独立的两个硬件。也就是说,OTA升级包下载服务模块1021可以为单独的一个服务器,给终端101提供下载安装包的服务。
终端101为部署有控制单元的终端,例如车辆。终端101可以通过OTA服务器102获取升级数据,从而升级该控制单元。
本申请实施例中的控制单元可以包括终端中所有适用于OTA升级的单元,例如ECU等。下面实施例都以ECU为例进行说明。
可选的,终端101可以包括OTA端侧升级管理单元1010、OTA端侧ECU升级包管理模块1011以及OTA端侧ECU升级管理单元1012。其中,OTA端侧升级管理单元1010可与OTA业务管理服务模块1020进行交互,以及依据OTA端侧ECU升级管理单元1012收集的终端101中各ECU的软件信息,从OTA业务管理服务模块1020获取升级信息,然后触发OTA端侧ECU升级包管理模块1011下载安装包。OTA端侧ECU升级包管理模块1011可与OTA升级包下载服务模块1021进行交互,下载并管理安装包。OTA端侧ECU升级管理单元1012与负责具体的ECU升级(回滚)处理。
在一些具体实施场景中,如图1b示出的申请提供的另一种实施例的OTA升级的系统架构图,以终端101为车辆为例,车辆可以是基于车辆电子电气(Electrical/ElectronicArchitecture,E/E)架构的车辆,车辆可以包括以下部件:移动数据中心(Mobile DataCenter,MDC)、人机交互(Human–Machine Interaction,HMI)、端侧升级管理单元网关(gateway,GW)、汽车盒子(Telematics BOX,T-Box)、电子控制单元(Electronic ControlUnit,ECU)等模块。其中,GW是整车电子电气架构中的核心部件,其作为整车网络的数据交互枢纽,可将控制区域网络(Controller Area Network,CAN)、局域互联网络(LocalInterconnect Network,LIN)、多媒体数据传输(Media Oriented System Transport,MOST)等网络数据在不同网络中进行路由。OTA端侧ECU升级包管理模块1011以及OTA端侧ECU升级管理单元MDC是车辆的智能车载计算平台。T-BOX主要用于和车辆外部、后台系统和手机应用(application,APP)通信。HMI是车辆的信息娱乐系统。ECU可以是车辆专用微机控制器。
示例性地,终端101中上述OTA端侧升级管理单元1010、OTA端侧ECU升级包管理模块1011以及OTA端侧ECU升级管理单元1012即可以为MDC中的单元。OTA端侧升级管理单元1010具体可以通过T-BOX与OTA业务管理服务模块1020建立连接;OTA端侧ECU升级包管理模块1011具体也可以通过T-BOX与OTA升级包下载服务模块1021建立连接。
其中,终端101的OTA端侧升级管理单元1010通常只有一个,可以部署在T-BOX或网关,OTA端侧ECU升级包管理模块1011可单独部署在终端101内。可选地,终端101中功能相关的ECU可以集合起来,通过共同部署一个OTA端侧ECU升级包管理模块1011和OTA端侧ECU升级管理单元1012进行管理。其中,OTA端侧ECU升级包管理模块1011与OTA端侧ECU升级管理单元1012之间是通过GW来互联。
再结合图1c示出的本申请实施例提供的车辆10的功能框图。该车辆10可包括各种子系统,例如行进系统110、传感器系统120、控制系统130、一个或多个外围设备140以及电源150、计算机系统160和用户接口170。可选地,车辆10可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆10的每个子系统和元件可以通过有线或者无线互连。
行进系统110可包括为车辆10提供动力运动的组件。在一个实施例中,行进系统110可包括引擎111、传动装置112、能量源113和车轮114。引擎111可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎111将能量源113转换成机械能量。能量源113的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源113也可以为车辆10的其他系统提供能量。传动装置112可以将来自引擎111的机械动力传送到车轮114。传动装置112可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置112还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮114的一个或多个轴。
传感器系统120可包括感测关于车辆10周边的环境的信息的若干个传感器。例如,传感器系统120可包括全球定位系统121(定位系统可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(Inertial Measurement Unit,IMU)122、雷达123、激光测距仪124以及相机125。传感器系统120还可包括被监视车辆10的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是车辆10的安全操作的关键功能。全球定位系统121可用于估计车辆10的地理位置。IMU 122用于基于惯性加速度来感测车辆10的位置和朝向变化。在一个实施例中,IMU 122可以是加速度计和陀螺仪的组合。雷达123可利用无线电信号来感测车辆10的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达123还可用于感测物体的速度和/或前进方向。激光测距仪124可利用激光来感测车辆10所位于的环境中的物体。在一些实施例中,激光测距仪124可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机125可用于捕捉车辆10的周边环境的多个图像。相机125可以是静态相机或视频相机。
控制系统130为控制车辆10及其组件的操作。控制系统130可包括各种元件,其中可包括转向系统131、油门132、制动单元133、计算机视觉系统134、路线控制系统135以及障碍规避系统136。转向系统131可调整车辆10的前进方向。例如在一个实施例中可以为方向盘系统。油门132用于控制引擎111的操作速度并进而控制车辆10的速度。制动单元133用于控制车辆10减速。制动单元133可使用摩擦力来减慢车轮114。在其他实施例中,制动单元133可将车轮114的动能转换为电流。制动单元133也可采取其他形式来减慢车轮114转速从而控制车辆10的速度。计算机视觉系统134可以操作来处理和分析由相机125捕捉的图像以便识别车辆10周边环境中的物体和/或特征。该物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统134可使用物体识别算法、运动中恢复结构(Structure fromMotion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统134可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。路线控制系统135用于确定车辆10的行驶路线。在一些实施例中,路线控制系统135可结合来自传感器系统120和一个或多个预定地图的数据以为车辆10确定行驶路线。障碍规避系统136用于识别、评估和避免或者以其他方式越过车辆10的环境中的潜在障碍物。
当然,在一个实例中,控制系统130可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
本申请实施例中的控制单元即可以为控制系统130中的一个或多个控制单元,控制单元往往涉及通过应用程序或程序指令来对车辆进行控制。车辆厂商会根据实际情况升级控制单元中的应用程序,向用户提供OTA升级服务。
车辆10通过外围设备140与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备140可包括无线通信系统141、车载电脑142、麦克风143和/或扬声器144。
在一些实施例中,外围设备140提供车辆10的用户与用户接口170交互的手段。例如,车载电脑142可向车辆10的用户提供信息。用户接口170还可操作车载电脑142来接收用户的输入。车载电脑142可以通过触摸屏进行操作。在其他情况中,外围设备140可提供用于车辆10与位于车内的其它设备通信的手段。例如,麦克风143可从车辆10的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器144可向车辆10的用户输出音频。无线通信系统141可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统141可使用3G蜂窝通信,例如码分多址(Code Division Multiple Access,CDMA)、数据优化(Evolution-Data Optimized,EVD)0、全球移动通信系统(Global System for MobileCommunications,GSM)/通用无线分组业务(General packet radio service,GPRS),或者第四代移动通信技术(the 4th generation mobile networks,4G)蜂窝通信,例如长期演进(Long Term Evolution,LTE),或者第五代移动通信技术(the 5th generation mobilenetworks或5th generation wireless systems、5th-Generation,5G)蜂窝通信。无线通信系统141可利用Wi-Fi与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统141可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统141可包括一个或多个专用短程通信(Dedicated Short Range Communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源150可向车辆10的各种组件提供电力。在一个实施例中,电源150可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆10的各种组件提供电力。在一些实施例中,电源150和能量源113可一起实现,例如一些全电动车中那样。
车辆10的部分或所有功能受计算机系统160控制。计算机系统160可包括至少一个处理器161,处理器161执行存储在例如存储器162这样的非暂态计算机可读介质中的指令163。计算机系统160还可以是采用分布式方式控制车辆10的个体组件或子系统的多个计算设备。
处理器161可以是任何常规的处理器,诸如商业可获得的中央处理器(CentralProcessing Unit,CPU)。替选地,该处理器可以是诸如专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图1c功能性地图示了处理器、存储器、和在相同块中的计算机系统160的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机系统、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机系统160的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,存储器162可包含指令163(例如,程序逻辑),指令163可被处理器161执行来执行车辆10的各种功能,包括以上描述的那些功能。存储器162也可包含额外的指令,包括向行进系统110、传感器系统120、控制系统130和外围设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令163以外,存储器162还可存储数据,例如软件的安装包、目标文件以及其他信息。这种信息可在车辆10安装软件或实现目标功能时被车辆10和计算机系统160使用。
用户接口170,用于向车辆10的用户提供信息或从其接收信息。可选地,用户接口170可包括在外围设备140的集合内的一个或多个输入/输出设备,例如无线通信系统141、车载电脑142、麦克风143和扬声器144。
计算机系统160可基于从各种子系统(例如,行进系统110、传感器系统120和控制系统130)以及从用户接口170接收的输入来控制车辆10的功能。例如,计算机系统160可利用来自外部设备的目标业务信息生成目标请求。在一些实施例中,计算机系统160可操作来对车辆10及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆10分开安装或关联。例如,存储器162可以部分或完全地与车辆10分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1c不应理解为对本申请实施例的限制。
上述车辆10可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
现有的针对控制单元的OTA升级过程中,为了解决升级失败时能恢复到升级前的版本状态,有些终端采用A/B分区升级备份的方案,但是由于A/B分区升级备份导致ECU的成本上升,因此也有很多ECU不具备A/B分区升级备份的能力,如何实现不具备A/B分区升级备份能力的终端进行OTA升级,以及整车中一部分ECU支持A/B分区升级备份,一部分ECU不支持A/B分区升级备份的情况下,如何更好地解决OTA升级失败的回滚处理问题。下面结合图2来说明本申请实施例提供的OTA升级方法。
如图2示出的本申请实施例提供的OTA升级方法的流程示意图,本实施例控制单元以ECU为例进行说明,包括如下步骤:
步骤S200:OTA服务器向终端发送请求信息;
具体地,该请求信息用于请求获取终端上ECU的软件信息。其中,OTA服务器可以周期性地向终端发送该请求信息,也可以在ECU的软件版本有更新的情况下发送该请求信息。
示例性地,OTA服务器可以通过OTA业务管理服务模块向终端的OTA端侧升级管理单元发送该请求信息。
可理解的是,终端上可包括多个ECU,本申请实施例的OTA升级方法可以同步或异步对多个ECU进行OTA升级。为了方便说明,下面对ECU的描述,是以针对单个待升级的ECU为例进行描述。
步骤S202:终端接收到该请求信息,响应该请求信息生成待升级ECU的指示信息;
具体地,终端响应该请求信息,可收集ECU的当前版本信息,然后基于该当前版本信息检测本端是否存有该ECU的当前软件版本的备份安装包,并基于检测结果生成该指示信息。
可选地,终端响应该请求信息,可先判断该ECU是否支持A/B分区升级备份,若支持A/B分区升级备份,则可直接生成指示有对应的回滚包的指示信息。若不支持A/B分区升级备份,则可进一步收集ECU的当前版本信息,然后基于该当前版本信息检测本端是否存有该ECU的当前软件版本的备份安装包,并基于检测结果生成该指示信息。
其中,基于检测结果生成该指示信息可具体为:若检测到存有该ECU的当前软件版本的备份安装包,那么可生成指示有对应的回滚包的指示信息;若检测到不存有该ECU的当前软件版本的备份安装包,那么可生成指示没有对应的回滚包的指示信息。
示例性地,该指示信息可以为协商好的特定的标识,例如标识“00”代表指示没有对应的回滚包的指示信息;标识“01”代表指示有对应的回滚包的指示信息。
示例性地,终端中的OTA端侧升级管理单元可通过OTA端侧ECU升级管理单元来收集ECU的当前版本信息,然后基于收集的该当前版本信息生成待升级ECU的指示信息。
需要说明的是,本申请实施例的终端生成待升级ECU的指示信息,不限定于通过步骤S200中OTA服务器向终端发送请求信息来触发,也可以是其他触发形式。例如,终端按预设时间周期来生成待升级ECU的指示信息,或按预设时间节点来生成待升级ECU的指示信息,等等。
步骤S204:终端向OTA服务器发送ECU的软件信息;
具体地,终端生成待升级ECU的指示信息后,可组装该ECU的软件信息。组装生成的软件信息可以包括该ECU的当前软件版本的信息以及该指示信息。示例性地,组装该ECU的软件信息可以具体为组装该ECU的当前软件版本的信息以及该指示信息的软件信息树。
其中,软件树可以是由一个层层相叠的节点分支组成。具体软件树的组建可先按功能将相同或相似的ECU整合到模块,然后再把模块关联到终端(例如车辆)。也就是说,软件可包括多个模块,每一模块与软件树中一节点相对应,即软件中包括的每一个模块都能在软件树中找到一个节点与之对应。其中该软件信息树可包含多个ECU其各自分别对应的当前软件版本的信息以及指示信息,不同的ECU对应的当前软件版本的信息以及指示信息可在相同或不同层的节点中。
示例性地,终端通过OTA端侧升级管理单元组装完该ECU的软件信息后,通过该OTA端侧升级管理单元向OTA服务器的OTA业务管理服务模块返回该ECU的软件信息。
步骤S206:OTA服务器接收到ECU的软件信息;
示例性地,OTA服务器可通过OTA业务管理服务模块接收到终端的OTA端侧升级管理单元返回的该ECU的软件信息。
步骤S208:OTA服务器基于该ECU的软件信息向该终端发送升级信息;
具体地,OTA服务器可解析该ECU的软件信息,获取到待升级ECU的当前版本信息以及指示信息。然后基于该待升级ECU的当前版本信息确定或挑选出对应的目标版本的软件安装包(相当于升级到目标版本的目标版本的软件安装包),并得到该目标版本的软件安装包的下载信息,以及基于该指示信息确定是否要向终端提供该待升级ECU的当前版本信息对应的安装包下载信息。将该目标版本的软件安装包的下载信息(或包括该当前版本信息对应的安装包下载信息)封装成升级信息后,向该终端发送该升级信息。例如当前版本为V1.0;而目标版本为V1.5。
其中,解析基于该指示信息,可获知终端是否存有该ECU的当前软件版本对应的回滚包。例如,该指示信息为特定的标识,如上标识“00”和“01”,那么在解析出该标识的数值后,即可获知终端是否存有该ECU的当前软件版本对应的回滚包。若该指示信息指示在终端侧该ECU的当前软件版本没有对应的回滚包,则封装的升级信息包含该当前版本信息对应的安装包下载信息;若该指示信息指示在终端侧该ECU的当前软件版本有对应的回滚包,则封装的升级信息为该目标版本的软件安装包的下载信息,不包含该当前版本信息对应的安装包下载信息。
其中,该目标版本的软件安装包的下载信息具体可以为下载该目标版本的软件安装包的地址信息。该待升级ECU的当前版本信息对应的安装包下载信息具体可以为下载该待升级ECU的当前版本信息对应的安装包的地址信息。
示例性地,OTA服务器可通过OTA业务管理服务模块解析该ECU的软件信息。该OTA业务管理服务模块在确认或挑选出对应的目标版本的软件安装包后,可将该目标版本的软件安装包上传给OTA升级包下载服务模块,并获得该OTA升级包下载服务模块存储该目标版本的软件安装包的地址信息。该OTA业务管理服务模块在基于指示信息,确定要向终端提供该待升级ECU的当前版本信息对应的安装包下载信息的情况下,也可以将该当前版本信息对应的安装包上传给OTA升级包下载服务模块,并获得该OTA升级包下载服务模块存储该当前版本信息对应的安装包的地址信息。然后,OTA业务管理服务模块将该目标版本的软件安装包的下载信息(或包括该当前版本信息对应的安装包下载信息)封装成升级信息后,向该终端发送该升级信息。
步骤S210:终端接收到该升级信息,基于该升级信息下载安装包;
具体地,若该升级信息包括针对所述ECU当前版本的软件安装包下载信息,以及所述ECU的目标版本的软件安装包下载信息,也就是说该ECU不支持A/B分区升级备份,以及终端本地不存有ECU的当前软件版本的备份安装包作为回滚包。那么终端分别基于ECU当前版本的软件安装包下载信息以及ECU的目标版本的软件安装包下载信息,下载该ECU的当前软件版本的备份安装包以及该ECU的目标版本的软件安装包。
若该升级信息为所述ECU的目标版本的软件安装包下载信息,也就是说该ECU支持A/B分区升级备份,或者该ECU不支持A/B分区升级备份时终端本地存有ECU的当前软件版本的备份安装包作为回滚包。那么终端只需基于ECU的目标版本的软件安装包下载信息,下载该ECU的目标版本的软件安装包。
示例性地,终端可以通过OTA端侧升级管理单元接收该升级信息后,基于该升级信息触发OTA端侧ECU升级包管理模块下载安装包。
步骤S212:终端基于下载的ECU的目标版本的软件安装包进行升级;
具体地,若该ECU支持A/B分区升级备份,那么终端可基于下载的ECU的目标版本的软件安装包直接在备份分区中进行升级安装。若该ECU不支持A/B分区升级备份,那么终端可在当前运行的系统环境中通过下载的该ECU的目标版本的软件安装包对ECU进行升级。
示例性地,终端可以通过OTA端侧升级管理单元触发OTA端侧ECU升级管理单元基于下载的ECU的目标版本的软件安装包对该待升级的ECU进行升级。该OTA端侧ECU升级管理单元在升级完毕后,可以向该OTA端侧升级管理单元返回升级完毕信息。该OTA端侧升级管理单元可以向该OTA端侧ECU升级管理单元查询升级结果。
在升级结果为升级成功的情况下,若该ECU支持A/B分区升级备份,那么终端可直接删除该ECU的目标版本的软件安装包,并可以切换到该备份分区中,而原正在使用的分区变成新的备份分区;若该ECU不支持A/B分区升级备份,那么终端可以删除所述ECU当前版本的软件安装包,并将该ECU的目标版本的软件安装包作为回滚包进行存储。
若升级结果为升级失败,可执行步骤S214。
步骤S214:若升级失败,终端进行回滚操作。
具体地,若该ECU支持A/B分区升级备份,那么终端将升级失败的分区还原为镜像备份分区。也就是说可以将正在使用的分区的数据镜像备份到升级失败的分区中,继续使用当前正在使用的分区,并可删除下载的该ECU的目标版本的软件安装包。也就是说,终端在备份分区进行升级失败后,不会切换到该镜像备份分区,并且将正在使用的分区的数据继续镜像备份到该备份分区中。
若所述ECU不支持A/B分区升级备份,那么终端可基于存有(终端一直存有或通过步骤S210下载后存有)的ECU当前版本的软件安装包进行回滚操作,然后删除该ECU的目标版本的软件安装包。
本申请实施例中终端与OTA服务器进行交互时,不论待升级的ECU是否支持A/B分区升级备份,通过向OTA服务器发送用于指示ECU的当前版本软件是否有对应的回滚包的指示信息,以使OTA服务器进行识别是否下发用于回滚的安装包下载信息,实现回滚包按需下发,有效节省流量消耗。并且针对终端中既存在支持A/B分区升级备份的ECU,又存在不支持A/B分区升级备份的ECU的情况下,升级回滚流程能够简化统一,无需对不支持A/B分区升级备份的ECU进行改造,特别是在终端(如车辆)发生换件的场景下,无论新替换的部件是否支持A/B分区升级备份,都能够自动兼容在OTA升级过程中的回滚能力,节省成本。
在又一种可能的实施方式中,所述基于所述ECU的目标版本的软件安装包进行升级之前,还可以包括该终端接收第一服务器发送的第一密钥;基于所述第一密钥对所述ECU的目标版本的软件安装包进行解密。其中,所述ECU的目标版本的软件安装包为所述第一服务器基于第二密钥对所述ECU的升级数据进行加密后生成的安装包;所述第一密钥为所述第二密钥对应的解密密钥。
现有的OTA升级的模式是由车辆厂商(Original Equipment Manufacturer,OEM,或者称为原始设备制造商)进行主导,OEM负责审核升级包的软件版本、分发升级包。但是随着智能网联汽车发展,部分敏感部件、特殊应用等需要升级时,若将升级包交给OEM审核后通过OTA服务器下载,则可能使得零件供应商的核心技术被泄露或者涉及数据遭到曝光。
本申请实施例中的该第一服务器即可以为终端的零件供应商,具体地,第一服务器可将升级数据通过第二密钥进行加密后得到目标版本的软件安装包(即升级包),然后再上传给OTA服务器。也就是说,ECU的目标版本的软件安装包由第一服务器进行加密,终端下载到该目标版本的软件安装包后可通过对应的解密密钥(第一密钥)进行解密,从而可避免零件供应商的核心技术被泄露或者涉及数据被OTA服务器侧获取,也避免攻击者篡改升级数据,提高了OTA升级的安全性。
需要说明的是,本申请实施例的第一服务器可以为多个服务器通过分布式架构部署的服务器集群,集群中可以包括云计算服务器、内容分发网络(Content DeliveryNetwork,CDN)服务器、网络时间协议(Network Time Protocol,NTP)、域名解析系统(Domain Name System,DNS)服务器等等中的一个或者多个。
第二密钥可以是对称密钥,也可以是非对称密钥。具体的,通过非对称密钥加密算法进行加密的密文,加密密钥和解密的密钥通常不同。使用对称加密算法进行加密的密文,加密密钥和解密密钥相同。
在又一种可能的实施方式中,所述终端接收第一服务器发送的第一密钥,包括:
所述终端与所述第一服务器建立安全通道;
所述终端通过所述安全通道接收所述第一服务器发送所述第一密钥。
其中,安全通道可以是基于安全套接字协议(Secure Sockets Layer,SSL)或者传输层安全(Transport Layer Security,TLS)的传输通道,用于数据安全传输。由于安全通道是安全可信的信道,第一服务器与终端通过安全通道传输第一密钥,可以保证第一密钥的安全性。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的相关装置。
请参见图3,图3是本申请实施例提供的一种OTA升级装置的结构示意图,OTA升级装置30即对应上述方法实施例中的终端,可以包括第一发送单元300、第一接收单元302和执行单元304,其中:
第一发送单元300,用于向OTA服务器发送控制单元的软件信息;该软件信息包括该控制单元当前软件版本的信息以及指示信息;该指示信息用于指示该控制单元的当前软件版本是否有对应的回滚包;
第一接收单元302,用于接收该OTA服务器发送的升级信息;其中,若该控制单元的当前软件版本没有对应的回滚包,则该升级信息包括针对该控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;或若该控制单元的当前软件版本有对应的回滚包,则该升级信息为该目标版本的软件安装包下载信息;
执行单元304,用于基于该升级信息对该控制单元执行第一操作。
在一种可能的实现方式中,该控制单元包括支持A/B分区升级备份的控制单元或不支持A/B分区升级备份的控制单元。
在一种可能的实现方式中,若该控制单元支持A/B分区升级备份,该指示信息指示该控制单元的当前软件版本有对应的回滚包;或
在该控制单元不支持A/B分区升级备份的情况下,若该装置存有该控制单元的当前软件版本的备份安装包,该指示信息指示该控制单元的当前软件版本有对应的回滚包;或在该控制单元不支持A/B分区升级备份的情况下,若该装置不存有该控制单元的当前软件版本的备份安装包,该指示信息指示该控制单元的当前软件版本没有对应的回滚包。
在一种可能的实现方式中,执行单元304可以具体包括:
第一下载升级单元,用于若该控制单元不支持A/B分区升级备份,在该控制单元的当前软件版本有对应的回滚包的情况下,基于该目标版本的软件安装包下载信息下载该目标版本的软件安装包,基于该目标版本的软件安装包对该控制单元进行升级安装;或
第二下载升级单元,用于在该控制单元的当前软件版本没有对应的回滚包的情况下,基于该目标版本的软件安装包下载信息下载该目标版本的软件安装包,以及基于针对该控制单元当前版本的软件安装包下载信息下载该控制单元的当前版本的软件安装包;基于该目标版本的软件安装包对该控制单元进行升级安装。
在一种可能的实现方式中,OTA升级装置30还可以包括还原单元306,用于在该基于该目标版本的软件安装包在备份分区中对该控制单元进行升级安装的过程中,升级失败的情况下,将升级失败的分区还原为镜像备份分区。
在一种可能的实现方式中,OTA升级装置30还可以包括回滚单元308,用于在该基于该目标版本的软件安装包在备份分区中对该控制单元进行升级安装的过程中,升级失败的情况下,基于该控制单元的当前版本的软件安装包进行回滚操作,删除该目标版本的软件安装包。
在一种可能的实现方式中,OTA升级装置30中的第一接收单元302还可以用于,在基于所述ECU的目标版本的软件安装包进行升级之前,接收第一服务器发送的第一密钥;基于所述第一密钥对所述ECU的目标版本的软件安装包进行解密。其中,所述ECU的目标版本的软件安装包为所述第一服务器基于第二密钥对所述ECU的升级数据进行加密后生成的安装包;所述第一密钥为所述第二密钥对应的解密密钥。
OTA升级装置30还可以包括建立单元,用于与该第一服务器建立安全通道;那么第一接收单元302即可通过所述安全通道接收该第一服务器发送所述第一密钥。
需要说明的是,本申请实施例中所描述的OTA升级装置30中各单元的实现方式可参见上述方法实施例中终端的相关描述,此处不再赘述。
以理解的是,OTA升级装置30还可以运用计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,集成智能驾驶系统、生活服务系统、安全防护系统、位置服务系统以及用车服务系统等功能,本申请对此不作具体限定,也不再赘述。
请参见图4,图4是本申请实施例提供的一种OTA服务器的结构示意图,OTA服务器40即对应上述方法实施例中的OTA服务器,可以包括第二接收单元400和第二发送单元402,其中:
第二接收单元400,用于接收终端发送的控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
第二发送单元402,用于基于所述软件信息向所述终端发送升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述目标版本的软件安装包下载信息。
需要说明的是,本申请实施例中所描述的OTA服务器40中各单元的实现方式可参见上述方法实施例中OTA服务器的相关描述,此处不再赘述。
如图5所示,图5是本申请实施例提供的一种设备的结构示意图。本申请实施例的终端和服务器,均可以以图5中的结构来实现,该设备50包括至少一个处理器501,至少一个存储器502、至少一个通信接口503。此外,该设备还可以包括天线等通用部件,在此不再详述。
处理器501可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口503,用于与其他设备或通信网络通信,如OTA服务器、密钥服务器、车载内部的设备等。
存储器502可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器502用于存储执行以上方案的应用程序代码,并由处理器501来控制执行。该处理器501用于执行该存储器502中存储的应用程序代码。
图5所示的设备50为终端时,存储器502存储的代码可执行以上图2提供的OTA升级方法中终端侧的处理步骤,包括向OTA服务器发送控制单元的软件信息,接收该OTA服务器发送的升级信息,基于该升级信息下对该控制单元执行第一操作。
该控制单元包括支持A/B分区升级备份的控制单元或不支持A/B分区升级备份的控制单元。
若该控制单元支持A/B分区升级备份,该指示信息指示该控制单元的当前软件版本有对应的回滚包;或
在该控制单元不支持A/B分区升级备份的情况下,若该终端存有该控制单元的当前软件版本的备份安装包,该指示信息指示该控制单元的当前软件版本有对应的回滚包;或在该控制单元不支持A/B分区升级备份的情况下,若该终端不存有该控制单元的当前软件版本的备份安装包,该指示信息指示该控制单元的当前软件版本没有对应的回滚包。
该终端基于该升级信息对该控制单元执行第一操作,包括:
若该控制单元支持A/B分区升级备份,该终端基于该目标版本的软件安装包下载信息下载该目标版本的软件安装包,基于该目标版本的软件安装包在备份分区中对该控制单元进行升级安装。
该终端基于该升级信息对该控制单元执行第一操作,包括:
若该控制单元不支持A/B分区升级备份,在该控制单元的当前软件版本有对应的回滚包的情况下,该终端基于该目标版本的软件安装包下载信息下载该目标版本的软件安装包,基于该目标版本的软件安装包对该控制单元进行升级安装;或
在该控制单元的当前软件版本没有对应的回滚包的情况下,该终端基于该目标版本的软件安装包下载信息下载该目标版本的软件安装包,以及基于针对该控制单元当前版本的软件安装包下载信息下载该控制单元的当前版本的软件安装包;基于该目标版本的软件安装包对该控制单元进行升级安装。
在该基于该目标版本的软件安装包在备份分区中对该控制单元进行升级安装的过程中,升级失败,该方法还包括:
该终端将升级失败的分区还原为镜像备份分区。
在该基于该目标版本的软件安装包对该控制单元进行升级安装的过程中,升级失败,该方法还包括:
该终端基于该控制单元的当前版本的软件安装包进行回滚操作,删除该目标版本的软件安装包。
需要说明的是,上述设备50为终端时的实现方式可参见上述方法实施例中终端的相关描述,此处不再赘述。
图5所示的设备为OTA服务器时,存储器502存储的代码可执行以上图2提供的OTA升级方法中OTA服务器侧的处理步骤,包括接收终端发送的控制单元的软件信息;基于所述软件信息向所述终端发送升级信息。
需要说明的是,上述设备50为OTA服务器侧时的实现方式可参见上述方法实施例中OTA服务器侧的相关描述,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,实现图2所示的实施例所述的方法。
本申请实施例还提供了一种计算机程序或计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,实现图2所示的实施例所述的方法。
本申请实施例还提供了一种芯片系统,所述芯片系统包括通信接口和至少一个处理器,该通信接口用于为上述至少一个处理器提供信息输入/输出,和/或,所述通信接口用于为发送或者接收数据。所述处理器用于调用计算机程序(或者计算机指令),以实现图2所示的实施例中终端侧或OTA服务器侧的处理步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (18)
1.一种空中下载技术OTA升级方法,其特征在于,包括:
终端向OTA服务器发送控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
所述终端接收所述OTA服务器发送的升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;或若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述目标版本的软件安装包下载信息;
所述终端基于所述升级信息对所述控制单元执行第一操作。
2.根据权利要求1所述的方法,其特征在于,所述控制单元包括支持A/B分区升级备份的控制单元或不支持A/B分区升级备份的控制单元。
3.根据权利要求1所述的方法,其特征在于,若所述控制单元支持A/B分区升级备份,所述指示信息指示所述控制单元的当前软件版本有对应的回滚包;或
在所述控制单元不支持A/B分区升级备份的情况下,若所述终端存有所述控制单元的当前软件版本的备份安装包,所述指示信息指示所述控制单元的当前软件版本有对应的回滚包;或在所述控制单元不支持A/B分区升级备份的情况下,若所述终端不存有所述控制单元的当前软件版本的备份安装包,所述指示信息指示所述控制单元的当前软件版本没有对应的回滚包。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述终端基于所述升级信息对所述控制单元执行第一操作,包括:
若所述控制单元支持A/B分区升级备份,所述终端基于所述目标版本的软件安装包下载信息下载所述目标版本的软件安装包,基于所述目标版本的软件安装包在备份分区中对所述控制单元进行升级安装。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述终端基于所述升级信息对所述控制单元执行第一操作,包括:
若所述控制单元不支持A/B分区升级备份,在所述控制单元的当前软件版本有对应的回滚包的情况下,所述终端基于所述目标版本的软件安装包下载信息下载所述目标版本的软件安装包,基于所述目标版本的软件安装包对所述控制单元进行升级安装;或
在所述控制单元的当前软件版本没有对应的回滚包的情况下,所述终端基于所述目标版本的软件安装包下载信息下载所述目标版本的软件安装包,以及基于针对所述控制单元当前版本的软件安装包下载信息下载所述控制单元的当前版本的软件安装包;基于所述目标版本的软件安装包对所述控制单元进行升级安装。
6.根据权利要求4所述的方法,其特征在于,在所述基于所述目标版本的软件安装包在备份分区中对所述控制单元进行升级安装的过程中,升级失败,所述方法还包括:
所述终端将升级失败的分区还原为镜像备份分区。
7.根据权利要求5所述的方法,其特征在于,在所述基于所述目标版本的软件安装包对所述控制单元进行升级安装的过程中,升级失败,所述方法还包括:
所述终端基于所述控制单元的当前版本的软件安装包进行回滚操作,删除所述目标版本的软件安装包。
8.一种空中下载技术OTA升级方法,其特征在于,包括:
OTA服务器接收终端发送的控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
所述OTA服务器基于所述软件信息向所述终端发送升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述目标版本的软件安装包下载信息。
9.根据权利要求8所述的方法,其特征在于,所述控制单元包括支持A/B分区升级备份的控制单元或不支持A/B分区升级备份的控制单元。
10.一种空中下载技术OTA升级装置,其特征在于,所述装置包括:
第一发送单元,用于向OTA服务器发送控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
第一接收单元,用于接收所述OTA服务器发送的升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;或若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述目标版本的软件安装包下载信息;
执行单元,用于基于所述升级信息对所述控制单元执行第一操作。
11.根据权利要求8所述的装置,其特征在于,所述控制单元包括支持A/B分区升级备份的控制单元或不支持A/B分区升级备份的控制单元。
12.根据权利要求8所述的装置,其特征在于,若所述控制单元支持A/B分区升级备份,所述指示信息指示所述控制单元的当前软件版本有对应的回滚包;或
在所述控制单元不支持A/B分区升级备份的情况下,若所述装置存有所述控制单元的当前软件版本的备份安装包,所述指示信息指示所述控制单元的当前软件版本有对应的回滚包;或在所述控制单元不支持A/B分区升级备份的情况下,若所述装置不存有所述控制单元的当前软件版本的备份安装包,所述指示信息指示所述控制单元的当前软件版本没有对应的回滚包。
13.根据权利要求8-12任一项所述的装置,其特征在于,所述执行单元包括:
第一下载升级单元,用于若所述控制单元不支持A/B分区升级备份,在所述控制单元的当前软件版本有对应的回滚包的情况下,基于所述目标版本的软件安装包下载信息下载所述目标版本的软件安装包,基于所述目标版本的软件安装包对所述控制单元进行升级安装;或
第二下载升级单元,用于在所述控制单元的当前软件版本没有对应的回滚包的情况下,基于所述目标版本的软件安装包下载信息下载所述目标版本的软件安装包,以及基于针对所述控制单元当前版本的软件安装包下载信息下载所述控制单元的当前版本的软件安装包;基于所述目标版本的软件安装包对所述控制单元进行升级安装。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
还原单元,用于在所述基于所述目标版本的软件安装包在备份分区中对所述控制单元进行升级安装的过程中,升级失败的情况下,将升级失败的分区还原为镜像备份分区。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
回滚单元,用于在所述基于所述目标版本的软件安装包在备份分区中对所述控制单元进行升级安装的过程中,升级失败的情况下,基于所述控制单元的当前版本的软件安装包进行回滚操作,删除所述目标版本的软件安装包。
16.一种空中下载技术OTA服务器,其特征在于,所述OTA服务器包括:
第二接收单元,用于接收终端发送的控制单元的软件信息;所述软件信息包括所述控制单元当前软件版本的信息以及指示信息;所述指示信息用于指示所述控制单元的当前软件版本是否有对应的回滚包;
第二发送单元,用于基于所述软件信息向所述终端发送升级信息;其中,若所述控制单元的当前软件版本没有对应的回滚包,则所述升级信息包括针对所述控制单元的当前版本的软件安装包下载信息以及目标版本的软件安装包下载信息;若所述控制单元的当前软件版本有对应的回滚包,则所述升级信息为所述目标版本的软件安装包下载信息。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任意一项所述的方法,或实现权利要求8至9任意一项所述的方法。
18.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行如权利要求1-7中任意一项所述的方法,或如权利要求8-9中任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110699630.2A CN115514741A (zh) | 2021-06-23 | 2021-06-23 | 一种ota升级方法、装置及计算机可读存储介质 |
EP22827619.2A EP4346187A1 (en) | 2021-06-23 | 2022-06-22 | Ota upgrade method and device, and computer-readable storage medium |
PCT/CN2022/100490 WO2022268127A1 (zh) | 2021-06-23 | 2022-06-22 | 一种ota升级方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110699630.2A CN115514741A (zh) | 2021-06-23 | 2021-06-23 | 一种ota升级方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115514741A true CN115514741A (zh) | 2022-12-23 |
Family
ID=84500185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110699630.2A Pending CN115514741A (zh) | 2021-06-23 | 2021-06-23 | 一种ota升级方法、装置及计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4346187A1 (zh) |
CN (1) | CN115514741A (zh) |
WO (1) | WO2022268127A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116166298B (zh) * | 2023-03-16 | 2024-03-01 | 北京百度网讯科技有限公司 | 一种固件升级方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461595B (zh) * | 2013-09-23 | 2017-11-28 | 联想(北京)有限公司 | 应用软件升级回滚方法、装置及电子设备 |
CN106658475B (zh) * | 2015-10-30 | 2020-07-07 | 中兴通讯股份有限公司 | 一种空中下载技术升级方法和装置 |
CN109710286B (zh) * | 2018-11-30 | 2022-11-15 | 歌尔光学科技有限公司 | 系统升级方法、装置、设备和存储介质 |
CN110083374B (zh) * | 2019-03-25 | 2023-06-23 | 深圳猛犸电动科技有限公司 | 一种升级回滚方法、系统及终端设备 |
WO2021002164A1 (en) * | 2019-07-02 | 2021-01-07 | Hitachi Automotive Systems, Ltd. | Method and control system for operating ecus of vehicles in fails-safe mode |
-
2021
- 2021-06-23 CN CN202110699630.2A patent/CN115514741A/zh active Pending
-
2022
- 2022-06-22 WO PCT/CN2022/100490 patent/WO2022268127A1/zh active Application Filing
- 2022-06-22 EP EP22827619.2A patent/EP4346187A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022268127A1 (zh) | 2022-12-29 |
EP4346187A1 (en) | 2024-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230298400A1 (en) | System, method, and apparatus for managing vehicle data collection | |
CN113170003B (zh) | 一种通过空中下载ota技术获取文件的方法及相关设备 | |
WO2021178979A1 (en) | System, method, and apparatus for managing vehicle data collection | |
CN112602303A (zh) | 一种数据传输方法以及装置 | |
CN110324806B (zh) | 控制装置、记录介质以及控制方法 | |
EP4346187A1 (en) | Ota upgrade method and device, and computer-readable storage medium | |
CN115878343A (zh) | 一种进程间通信方法及相关装置 | |
US20230034996A1 (en) | Data verification method and apparatus | |
CN115297461B (zh) | 数据交互方法、装置、车辆、可读存储介质及芯片 | |
US20230166593A1 (en) | Systems and methods for scalable cockpit controller with generic and reconfigurable car-interface | |
WO2022134965A1 (zh) | 一种算力资源的配置方法及设备 | |
CN114491502A (zh) | 通过车辆总线认证进行的诊断请求 | |
WO2023024618A1 (zh) | 一种数据处理方法及相关装置 | |
CN114827108B (zh) | 车辆升级方法、装置、存储介质、芯片及车辆 | |
CN112956156B (zh) | 一种证书申请方法及装置 | |
US11604679B2 (en) | Dynamic workload shifting within a connected vehicle | |
CN117707818A (zh) | 故障日志存储方法、装置及系统 | |
CN115604361A (zh) | 一种管理装置、服务质量QoS的支持方法以及相关设备 | |
CN117742807A (zh) | 一种进程启动方法、进程管理方法以及管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |