CN109558161A - 升级包处理方法、装置及ota云端服务器 - Google Patents
升级包处理方法、装置及ota云端服务器 Download PDFInfo
- Publication number
- CN109558161A CN109558161A CN201811423736.4A CN201811423736A CN109558161A CN 109558161 A CN109558161 A CN 109558161A CN 201811423736 A CN201811423736 A CN 201811423736A CN 109558161 A CN109558161 A CN 109558161A
- Authority
- CN
- China
- Prior art keywords
- ecu
- upgrade package
- packet
- data packets
- raw data
- 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
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
Abstract
本公开公开了一种升级包处理方法、装置及OTA云端服务器,该方法包括:获取至少两个电子控制单元ECU的原始数据包;分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。通过本公开提供的升级包处理方法,不仅可以简化制包操作,还可以提高制包效率。
Description
技术领域
本公开涉及数据处理领域,尤其涉及一种升级包处理方法、装置及OTA云端服务器。
背景技术
现有技术中,通常是将多个ECU升级包打包成部件升级包(例如,部件差分升级包和/或部件全量升级包等),再下发给车辆端进行升级。然而,OTA(Over-the-AirTechnology,空中下载技术)仅支持ECU(Electronic Control Unit,电子控制单元)文件的差分,因此,在制作部件差分升级包时,需要人工分别上传多个ECU的原始数据包至OTA云端服务器,再借助人工操作OTA云端服务器,以分别制作各个ECU的差分升级包,并对各个ECU的差分升级包进行压缩、打包、加密等处理,得到部件差分升级包,不仅操作较为繁琐,部件差分升级包制作效率也较低。
可见,现有技术中存在制作部件差分升级包操作较为繁琐且效率较低的问题。
发明内容
本公开实施例提供一种升级包处理方法、装置及OTA云端服务器,以解决制作部件差分升级包操作较为繁琐且效率较低的问题。
第一方面,本公开提供了一种升级包处理方法,应用于OTA云端服务器,该方法包括:
获取至少两个电子控制单元ECU的原始数据包;
分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;
对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
通过调用预定义的部件升级包提取接口,分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
通过调用所述部件升级包提取接口,对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述原始数据包包括第一原始数据包和第二原始数据包,所述第一原始数据包和所述第二原始数据包的版本不同;
所述分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包。
可选的,所述分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包,包括:
分别从所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包中,提取所述至少两个ECU中每个ECU的第一数据包和第二数据包;其中,所述第一数据包和所述第二数据包均为可用于差分的升级包;
分别对所述至少两个ECU中每个ECU的第一数据包和第二数据包进行差分,得到所述至少两个ECU中每个ECU的差分升级包。
可选的,所述原始数据包包括原始升级包和用于描述所述原始升级包的描述信息;
所述分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包;
所述分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包之后,所述方法还包括:
生成所述至少两个ECU中每个ECU的目标升级包的描述信息;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
分别对所述至少两个ECU中每个ECU的目标升级包和其描述信息进行打包;
对所述至少两个ECU中全部ECU打包后的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述方法还包括:
对所述部件升级包进行目标处理,其中,所述目标处理包括签名和/或加密;
向车辆发送目标处理后的部件升级包。
可选的,所述部件升级包的数量为至少两个;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述方法还包括:
将至少两个部件升级包进行打包,得到车辆升级包。
第二方面,本公开还提供一种升级包处理装置,设置于OTA云端服务器,该装置包括:
获取模块,用于获取至少两个电子控制单元ECU的原始数据包;
第一生成模块,用于分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;
第一打包模块,用于对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述第一生成模块具体用于:
通过调用预定义的部件升级包提取接口,分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
通过调用所述部件升级包提取接口,对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述原始数据包包括第一原始数据包和第二原始数据包,所述第一原始数据包和所述第二原始数据包的版本不同;
所述第一生成模块,包括:
生成单元,用于分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包。
可选的,所述生成单元具体用于:
分别从所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包中,提取所述至少两个ECU中每个ECU的第一数据包和第二数据包;其中,所述第一数据包和所述第二数据包均为可用于差分的升级包;
分别对所述至少两个ECU中每个ECU的第一数据包和第二数据包进行差分,得到所述至少两个ECU中每个ECU的差分升级包。
可选的,所述原始数据包包括原始升级包和用于描述所述原始升级包的描述信息;
所述第一生成模块具体用于:
分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包;
所述装置还包括:
第二生成模块,用于所述分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包之后,生成所述至少两个ECU中每个ECU的目标升级包的描述信息;
所述第一打包模块具体用于:
分别对所述至少两个ECU中每个ECU的目标升级包和其描述信息进行打包;
对所述至少两个ECU中全部ECU打包后的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述装置还包括:
处理模块,用于对所述部件升级包进行目标处理,其中,所述目标处理包括签名和/或加密;
发送模块,用于向车辆发送目标处理后的部件升级包。
可选的,所述部件升级包的数量为至少两个;
所述装置还包括:
第二打包模块,用于所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,将至少两个部件升级包进行打包,得到车辆升级包。
第三方面,本公开实施例还提供一种升级包处理装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的升级包处理方法的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的升级包处理方法的步骤。
第五方面,本公开实施例还提供一种OTA云端服务器,该OTA云端服务器包括上述的升级包处理装置。
本公开实施例中,通过获取至少两个电子控制单元ECU的原始数据包;分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。本公开实施例在获取到至少两个ECU的原始数据包后,可以自动生成上述至少两个ECU中各个ECU的差分升级包,并将上述至少两个ECU的差分升级包压缩和打包成部件差分升级包,而无需借助人工操作,不仅可以简化制包操作,还可以提高制包效率。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的升级包处理方法的流程图;
图2是本公开实施例提供的升级包处理装置的结构图;
图3是本公开又一实施提供的升级包处理装置的结构图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例提供一种升级包处理方法,应用于OTA云端服务器。参见图1,图1是本公开实施例提供的升级包处理方法的流程图,如图1所示,包括以下步骤:
步骤101、获取至少两个电子控制单元ECU的原始数据包。
实际情况中,车辆中通常会包括多个ECU。上述ECU的原始数据包是指用于ECU升级的原始数据包,例如,某一OS(operating System,操作系统)的某一版本的原始数据包。实际应用中,上述ECU的原始数据包可以是用户上传至OTA云端服务器的。需要说明的是,上述至少两个ECU的原始数据包可以打包成一个数据包后在上传至OTA云端服务器,此时,OTA云端服务器需要先解压该数据包,得到各个ECU的原始数据包,在执行下述步骤102。
步骤102、分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包。
本公开实施例中,上述目标升级包除了可以包括差分升级包之外,还可以包括全量升级包和可用于差分的升级包等中的至少一项。需要说明的是,上述可用于差分的升级包可能与原始数据包相同,也可能不同,本公开实施例对此不做限定。
该步骤中,可以分别基于至少两个ECU中每个ECU的原始数据,生成每个ECU的目标升级包,例如,在上述至少两个ECU包括第一ECU和第二ECU的情况下,可以根据第一ECU的原始数据包生成第一ECU的目标升级包,根据第二ECU的原始数据包,生成第二ECU的目标升级包。
需要说明的是,在生成ECU的差分升级包的情况下,可以基于该ECU的不同版本的原始数据包生成该ECU的差分升级包;也可以是基于该ECU的目标版本的原始数据包和该ECU当前版本的全量升级包生成该ECU的差分升级包,其中,目标版本为ECU待升级的版本,本公开实施例对此不做限定。而在生成ECU的全量升级包和可用于差分的升级包的情况下,可以是仅基于该ECU的原始数据包生成,本公开实施例对此不做限定。
步骤103、对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
本公开实施例中,部件升级包与上述目标升级包对应,例如,在目标升级包包括差分升级包的情况下,上述部件升级包包括部件差分升级包;在目标升级包包括差分升级包和全量升级包的情况下,上述部件升级包包括部件差分升级包和部件全量升级包。
例如,在上述至少两个ECU包括第一ECU和第二ECU的情况下,可以对第一ECU的差分升级包和第二ECU的差分升级包进行ZIP压缩和打包,得到部件差分升级包,其中,上述ZIP压缩和打包即采用ZIP压缩算法对差分升级包进行压缩和打包。
本公开实施例的升级包处理方法,获取至少两个电子控制单元ECU的原始数据包;分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。本公开实施例在获取到至少两个ECU的原始数据包后,可以自动生成上述至少两个ECU中各个ECU的差分升级包,并将至少两个ECU的差分升级包压缩和打包成部件差分升级包,而无需借助人工操作,不仅可以简化制包操作,还可以提高制包效率。
可选的,所述分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
通过调用预定义的部件升级包提取接口,分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
通过调用所述部件升级包提取接口,对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
本公开实施例中,可以预先将用于生成部件差分升级包、部件全量升级包和部件可用于差分的升级包等中的至少一项的程序代码进行封装,得到部件升级包提取接口,OTA云端服务器可以通过调用该部件升级包提取接口,生成部件升级包,不仅可以简化程序代码的调用过程,还有利于上述程序代码的重复使用,使得不同的OTA云端服务器均可以通过调用上述部件升级包提取接口生成部件升级包。
可选的,所述原始数据包包括第一原始数据包和第二原始数据包,所述第一原始数据包和所述第二原始数据包的版本不同;
所述分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包。
本公开实施例中,分别根据每个ECU的不同版本的原始数据包,生成每个ECU的差分升级包。例如,根据每个ECU的目标版本的原始数据包和当前版本的原始数据包,生成每个ECU的差分升级包。
例如,上述至少两个ECU包括第一ECU和第二ECU,则可以根据第一ECU的第一原始数据包和第二原始数据包生成第一ECU的差分包,可以根据第二ECU的第一原始数据包和第二原始数据包生成第二ECU的差分包。
需要说明的是,本公开实施例可以基于用户预先配置的差分算法,对每个ECU的第一原始数据包和第二原始数据包进行差分,得到每个ECU的差分数据包。
本公开实施例基于每个ECU的不同版本的原始数据包,生成每个ECU的差分升级包,可以提高所生成的差分包的准确性。
可选的,所述分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包,包括:
分别从所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包中,提取所述至少两个ECU中每个ECU的第一数据包和第二数据包;其中,所述第一数据包和所述第二数据包均为可用于差分的升级包;
分别对所述至少两个ECU中每个ECU的第一数据包和第二数据包进行差分,得到所述至少两个ECU中每个ECU的差分升级包。
在一些场景下,原始数据包除了包括可用于差分的升级包之后,还可以包括其他内容。此时,可以分别从每个ECU的第一原始数据包中提取每个ECU的第一数据包,从每个ECU的第二原始数据包中提取每个ECU的第二数据包。
本公开实施例通过分别从ECU的第一原始数据包和第二原始数据包中提取第一数据包和第二数据包,并基于第一数据包和第二数据包进行差分得到该ECU的差分包,使得在不同场景下均可以较为准确的得到该ECU的差分包。
可选的,所述原始数据包包括原始升级包和用于描述所述原始升级包的描述信息;
所述分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包;
所述分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包之后,所述方法还包括:
生成所述至少两个ECU中每个ECU的目标升级包的描述信息;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
分别对所述至少两个ECU中每个ECU的目标升级包和其描述信息进行打包;
对所述至少两个ECU中全部ECU打包后的目标升级包进行压缩和打包,得到部件升级包。
本公开实施例中,上述原始升级包的描述信息可以包括ECU名称、ECU版本、ECU差分算法、ECU文件名和ECU文件MD5值等中的一项或是多项,例如,上述原始升级包的描述信息可以是Manifest.json文件信息。实际应用中,ECU的升级包通常还会携带该升级包的描述信息,便于车辆的ECU进行升级。
以下以生成部件差分升级包为例进行说明:
OTA云端服务器可以根据ECU的原始升级包和描述信息中指示的ECU差分算法,生成该ECU的差分升级包,并生成该ECU的差分升级包的描述信息,其中,该ECU的差分升级包的描述信息除了可以包括上述ECU名称、ECU版本、ECU差分算法、ECU文件名和ECU文件MD5值等信息中的一项或是多项之外,还可以包括升级包类型(例如,差分升级包或是全量升级包等)、OS文件摘要、对OS文件摘要的签名、验证签名的公钥和公钥的签名等中的一项或是多项。进一步的,OTA云端服务器可以将ECU的差分升级包和其描述信息进行打包,并基于各个ECU打包后的差分升级包生成部件差分升级包。
本公开实施例通过在升级包中携带该升级包的描述信息,便于车辆中的ECU进行升级。
可选的,所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述方法还包括:
对所述部件升级包进行目标处理,其中,所述目标处理包括签名和/或加密;
向车辆发送目标处理后的部件升级包。
本公开实施例中,通过对部件升级包进行签名和/或加密后下发给车辆,从而车辆需要对其所接收的部件升级包进行签名验证和/或解密,才可以基于该部件升级包进行升级,不仅可以提高升级包发送的安全性,还可以提高车辆升级的安全性。
可选的,所述部件升级包的数量为至少两个;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述方法还包括:
将至少两个部件升级包进行打包,得到车辆升级包。
本公开实施例中,可以将多个部件升级包进行打包,得到车辆升级包,也可以称为大包,并下发给车辆,可以节省下发升级包的流量。
以下结合示例对本公开实施例进行说明:
步骤a1、定义部件升级包提取接口。
该步骤中,上述部件升级包提取接口可用于提取可用于全量升级的部件文件(也即车辆部件的全量升级包)、提取可用于差分的部件文件(也即上述可用于差分的升级包)、提取部件差分文件(也即部件差分升级包),并可对部件差分文件进行签名和/或加密。
可选的,上述提取可用于全量升级的部件文件和提取可用于差分的部件文件的流程相似,以下以提取可用于全量升级的部件文件为例进行说明。
上述提取可用于全量升级的部件文件可以包括如下步骤:
解压ECU的原始数据包;
获取ECU的原始数据包的Manifest.json文件信息;
根据Manifest.json文件信息对ECU的原始数据包,使用ECU的差分工具提取ECU的全量升级包;
更新Manifest.json文件信息;
把提取到的ECU的全量升级包和更新后的Manifest.json文件信息重新打包成可用于全量升级的部件文件。
可选的,提取部件差分文件可以包括如下步骤:
分别解压ECU的基础版本的原始数据包和目标版本的原始数据包;
分别获取基础版本的原始数据包和目标版本的原始数据包的Manifest.json文件信息;
使用ECU的差分工具对基础版本的原始数据包和目标版本的原始数据包进行差分,得到ECU的差分升级包;
更新到Manifest.json文件信息;
把提取到的ECU的差分升级包和更新后的Manifest.json文件信息重新打包成部件差分文件。
步骤a2、在OTA云端服务器集成上述部件升级包提取接口。
本公开实施例中,OTA云端服务器通过调用上述部件升级包提取接口即可以生成部件升级包,不仅可以提高制作部件升级包的效率,还可以节省人工操作。
参见图2,图2是本公开实施例提供的升级包处理装置的结构图。如图2所示,升级包处理装置200包括:
获取模块201,用于获取至少两个电子控制单元ECU的原始数据包;
第一生成模块202,用于分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;
第一打包模块202,用于对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述第一生成模块具体用于:
通过调用预定义的部件升级包提取接口,分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
通过调用所述部件升级包提取接口,对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述原始数据包包括第一原始数据包和第二原始数据包,所述第一原始数据包和所述第二原始数据包的版本不同;
所述第一生成模块,包括:
生成单元,用于分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包。
可选的,所述生成单元具体用于:
分别从所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包中,提取所述至少两个ECU中每个ECU的第一数据包和第二数据包;其中,所述第一数据包和所述第二数据包均为可用于差分的升级包;
分别对所述至少两个ECU中每个ECU的第一数据包和第二数据包进行差分,得到所述至少两个ECU中每个ECU的差分升级包。
可选的,所述原始数据包包括原始升级包和用于描述所述原始升级包的描述信息;
所述第一生成模块具体用于:
分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包;
所述装置还包括:
第二生成模块,用于所述分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包之后,生成所述至少两个ECU中每个ECU的目标升级包的描述信息;
所述第一打包模块具体用于:
分别对所述至少两个ECU中每个ECU的目标升级包和其描述信息进行打包;
对所述至少两个ECU中全部ECU打包后的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述装置还包括:
处理模块,用于对所述部件升级包进行目标处理,其中,所述目标处理包括签名和/或加密;
发送模块,用于向车辆发送目标处理后的部件升级包。
可选的,所述部件升级包的数量为至少两个;
所述装置还包括:
第二打包模块,用于所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,将至少两个部件升级包进行打包,得到车辆升级包。
升级包处理装置200能够实现上述升级包处理方法实施例的各个过程,并达到相同的效果为避免重复,这里不再赘述。
本公开实施例的升级包处理装置200,获取模块201,用于获取至少两个电子控制单元ECU的原始数据包;第一生成模块202,用于分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;第一打包模块202,用于对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。本公开实施例在获取到至少两个ECU的原始数据包后,可以自动生成上述至少两个ECU中各个ECU的差分升级包,并将上述至少两个ECU的差分升级包压缩和打包成部件差分升级包,而无需借助人工操作,不仅可以简化制包操作,还可以提高制包效率。
本公开实施例还提供一种升级包处理装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一方法实施例的升级包处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的升级包处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
参见图3,图3是本公开又一实施提供的升级包处理装置的结构图,如图3所示,升级包处理装置300包括:处理器301、存储器302及存储在所述存储器302上并可在所述处理器上运行的计算机程序,升级包处理装置300中的各个组件通过总线接口303耦合在一起,所述计算机程序被所述处理器301执行时实现如下步骤:
获取至少两个电子控制单元ECU的原始数据包;
分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;
对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述计算机程序被所述处理器301执行时还用于:
通过调用预定义的部件升级包提取接口,分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
通过调用所述部件升级包提取接口,对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述原始数据包包括第一原始数据包和第二原始数据包,所述第一原始数据包和所述第二原始数据包的版本不同;
所述计算机程序被所述处理器301执行时还用于:
分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包。
可选的,所述计算机程序被所述处理器301执行时还用于:
分别从所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包中,提取所述至少两个ECU中每个ECU的第一数据包和第二数据包;其中,所述第一数据包和所述第二数据包均为可用于差分的升级包;
分别对所述至少两个ECU中每个ECU的第一数据包和第二数据包进行差分,得到所述至少两个ECU中每个ECU的差分升级包。
可选的,所述原始数据包包括原始升级包和用于描述所述原始升级包的描述信息;
可选的,所述计算机程序被所述处理器301执行时还用于:
分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包;
所述分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包之后,生成所述至少两个ECU中每个ECU的目标升级包的描述信息;
分别对所述至少两个ECU中每个ECU的目标升级包和其描述信息进行打包;
对所述至少两个ECU中全部ECU打包后的目标升级包进行压缩和打包,得到部件升级包。
可选的,所述计算机程序被所述处理器301执行时还用于:
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,对部件升级包进行目标处理,其中,所述目标处理包括签名和/或加密;
向车辆发送目标处理后的部件升级包。
可选的,所述部件升级包的数量为至少两个;
所述计算机程序被所述处理器301执行时还用于:
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,将至少两个部件升级包进行打包,得到车辆升级包。
本公开实施例还提供一种OTA云端服务器,包括上述的升级包处理装置,其中,该升级包处理装置可以实现上述任一实施例中升级包处理装置所实现的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本公开实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种升级包处理方法,其特征在于,应用于OTA云端服务器,包括:
获取至少两个电子控制单元ECU的原始数据包;
分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;
对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
2.根据权利要求1所述的方法,其特征在于,所述分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
通过调用预定义的部件升级包提取接口,分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
通过调用所述部件升级包提取接口,对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
3.根据权利要求1所述的方法,其特征在于,所述原始数据包包括第一原始数据包和第二原始数据包,所述第一原始数据包和所述第二原始数据包的版本不同;
所述分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包。
4.根据权利要求3所述的方法,其特征在于,所述分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包,包括:
分别从所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包中,提取所述至少两个ECU中每个ECU的第一数据包和第二数据包;其中,所述第一数据包和所述第二数据包均为可用于差分的升级包;
分别对所述至少两个ECU中每个ECU的第一数据包和第二数据包进行差分,得到所述至少两个ECU中每个ECU的差分升级包。
5.根据权利要求1所述的方法,其特征在于,所述原始数据包包括原始升级包和用于描述所述原始升级包的描述信息;
所述分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包,包括:
分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包;
所述分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包之后,所述方法还包括:
生成所述至少两个ECU中每个ECU的目标升级包的描述信息;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
分别对所述至少两个ECU中每个ECU的目标升级包和其描述信息进行打包;
对所述至少两个ECU中全部ECU打包后的目标升级包进行压缩和打包,得到部件升级包。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述方法还包括:
对所述部件升级包进行目标处理,其中,所述目标处理包括签名和/或加密;
向车辆发送目标处理后的部件升级包。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述部件升级包的数量为至少两个;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述方法还包括:
将至少两个部件升级包进行打包,得到车辆升级包。
8.一种升级包处理装置,其特征在于,设置于OTA云端服务器,包括:
获取模块,用于获取至少两个电子控制单元ECU的原始数据包;
第一生成模块,用于分别根据至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;其中,所述目标升级包至少包括差分升级包;
第一打包模块,用于对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
9.根据权利要求8所述的装置,其特征在于,所述第一生成模块具体用于:
通过调用预定义的部件升级包提取接口,分别根据所述至少两个ECU中每个ECU的原始数据包,生成所述至少两个ECU中每个ECU的目标升级包;
所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包,包括:
通过调用所述部件升级包提取接口,对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包。
10.根据权利要求8所述的装置,其特征在于,所述原始数据包包括第一原始数据包和第二原始数据包,所述第一原始数据包和所述第二原始数据包的版本不同;
所述第一生成模块,包括:
生成单元,用于分别根据所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包,生成所述至少两个ECU中每个ECU的差分升级包。
11.根据权利要求10所述的装置,其特征在于,所述生成单元具体用于:
分别从所述至少两个ECU中每个ECU的第一原始数据包和第二原始数据包中,提取所述至少两个ECU中每个ECU的第一数据包和第二数据包;其中,所述第一数据包和所述第二数据包均为可用于差分的升级包;
分别对所述至少两个ECU中每个ECU的第一数据包和第二数据包进行差分,得到所述至少两个ECU中每个ECU的差分升级包。
12.根据权利要求8所述的装置,其特征在于,所述原始数据包包括原始升级包和用于描述所述原始升级包的描述信息;
所述第一生成模块具体用于:
分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包;
所述装置还包括:
第二生成模块,用于所述分别根据所述至少两个ECU中每个ECU的原始升级包和其描述信息,生成所述至少两个ECU中每个ECU的目标升级包之后,生成所述至少两个ECU中每个ECU的目标升级包的描述信息;
所述第一打包模块具体用于:
分别对所述至少两个ECU中每个ECU的目标升级包和其描述信息进行打包;
对所述至少两个ECU中全部ECU打包后的目标升级包进行压缩和打包,得到部件升级包。
13.根据权利要求9至12中任一项所述的装置,其特征在于,所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,所述装置还包括:
处理模块,用于对所述部件升级包进行目标处理,其中,所述目标处理包括签名和/或加密;
发送模块,用于向车辆发送目标处理后的部件升级包。
14.根据权利要求8至12中任一项所述的装置,其特征在于,所述部件升级包的数量为至少两个;
所述装置还包括:
第二打包模块,用于所述对所述至少两个ECU中全部ECU的目标升级包进行压缩和打包,得到部件升级包之后,将至少两个部件升级包进行打包,得到车辆升级包。
15.一种升级包处理装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的升级包处理方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的升级包处理方法的步骤。
17.一种OTA云端服务器,其特征在于,包括权利要求8至14中任一项所述的升级包处理装置,或者权利要求15所述的升级包处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811423736.4A CN109558161A (zh) | 2018-11-27 | 2018-11-27 | 升级包处理方法、装置及ota云端服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811423736.4A CN109558161A (zh) | 2018-11-27 | 2018-11-27 | 升级包处理方法、装置及ota云端服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109558161A true CN109558161A (zh) | 2019-04-02 |
Family
ID=65867540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811423736.4A Pending CN109558161A (zh) | 2018-11-27 | 2018-11-27 | 升级包处理方法、装置及ota云端服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558161A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069273A (zh) * | 2019-04-30 | 2019-07-30 | 四川长虹教育科技有限公司 | 软件升级包的批量打包方法及装置 |
CN110764804A (zh) * | 2019-10-23 | 2020-02-07 | 东风电子科技股份有限公司 | 针对汽车多电子控制单元实现软件升级控制的系统及其方法 |
CN112099829A (zh) * | 2020-09-21 | 2020-12-18 | 华人运通(上海)云计算科技有限公司 | 车辆升级控制方法及系统、ota后台、车辆 |
CN113568650A (zh) * | 2021-07-21 | 2021-10-29 | 联合汽车电子有限公司 | 一种ota升级ecu的方法 |
WO2022205443A1 (zh) * | 2021-04-02 | 2022-10-06 | 华为技术有限公司 | 软件升级方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802813A (zh) * | 2016-12-06 | 2017-06-06 | 智车优行科技(北京)有限公司 | 用于空中固件升级的方法、装置及车辆 |
CN107391145A (zh) * | 2017-07-27 | 2017-11-24 | 中兴通讯股份有限公司 | 升级包制作方法及装置、升级文件的方法及装置 |
JP2018065410A (ja) * | 2016-10-17 | 2018-04-26 | トヨタ自動車株式会社 | ソフトウエア更新制御装置 |
CN108241494A (zh) * | 2016-12-23 | 2018-07-03 | 乐视汽车(北京)有限公司 | 车辆电子控制单元升级方法、装置、车辆控制电路和车辆 |
-
2018
- 2018-11-27 CN CN201811423736.4A patent/CN109558161A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018065410A (ja) * | 2016-10-17 | 2018-04-26 | トヨタ自動車株式会社 | ソフトウエア更新制御装置 |
CN106802813A (zh) * | 2016-12-06 | 2017-06-06 | 智车优行科技(北京)有限公司 | 用于空中固件升级的方法、装置及车辆 |
CN108241494A (zh) * | 2016-12-23 | 2018-07-03 | 乐视汽车(北京)有限公司 | 车辆电子控制单元升级方法、装置、车辆控制电路和车辆 |
CN107391145A (zh) * | 2017-07-27 | 2017-11-24 | 中兴通讯股份有限公司 | 升级包制作方法及装置、升级文件的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069273A (zh) * | 2019-04-30 | 2019-07-30 | 四川长虹教育科技有限公司 | 软件升级包的批量打包方法及装置 |
CN110764804A (zh) * | 2019-10-23 | 2020-02-07 | 东风电子科技股份有限公司 | 针对汽车多电子控制单元实现软件升级控制的系统及其方法 |
CN112099829A (zh) * | 2020-09-21 | 2020-12-18 | 华人运通(上海)云计算科技有限公司 | 车辆升级控制方法及系统、ota后台、车辆 |
WO2022205443A1 (zh) * | 2021-04-02 | 2022-10-06 | 华为技术有限公司 | 软件升级方法及装置 |
CN113568650A (zh) * | 2021-07-21 | 2021-10-29 | 联合汽车电子有限公司 | 一种ota升级ecu的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558161A (zh) | 升级包处理方法、装置及ota云端服务器 | |
CN103942058B (zh) | 一种嵌入式电子设备软件升级方法及系统 | |
US10031744B2 (en) | Incremental upgrade method, apparatus for applying method and storage medium | |
CN105573790A (zh) | 一种车载系统软件升级方法、车载系统及软件服务器 | |
CN103595802A (zh) | 家庭网关软件远程自动升级的方法 | |
CN106648766B (zh) | 基于文件夹的补丁升级包生成及差分升级方法和装置 | |
CN106528086A (zh) | 一种安卓软件升级的方法及系统 | |
CN104657174A (zh) | 一种用于动态实现应用功能的方法和装置 | |
CN106293793A (zh) | 一种终端的软件升级方法、装置和系统 | |
CN105373747A (zh) | 防止系统被篡改的文件生成方法、文件验证方法及系统 | |
CN105703990A (zh) | 车载控制器can通信报文解析方法和构建方法 | |
WO2013178048A1 (zh) | 生成无线固件升级包的方法和装置 | |
CN109495433A (zh) | 数据下载方法和装置、存储介质及电子装置 | |
CN109660377A (zh) | 统一配置管理方法、业务服务器及操作维护管理平台 | |
CN106897153B (zh) | 调用应用编程接口的方法和系统 | |
CN102833101B (zh) | 一种分布式网络系统的软件升级方法及设备 | |
CN106802807A (zh) | 基于容器平台的应用交付方法、容器平台及应用交付系统 | |
CN105893093A (zh) | 一种应用程序升级方法及装置 | |
CN106484453A (zh) | 一种实现系统升级的方法及装置 | |
CN105094916A (zh) | 一种基于模块的无线固件升级扩展方法和装置 | |
CN110502239A (zh) | 一种车载系统sdk的开发制作方法及装置 | |
CN102223380A (zh) | 一种基于网络服务的客户端自动升级框架及其应用 | |
CN106569843A (zh) | 一种生成ota中间包的方法及装置 | |
CN110147244A (zh) | 一种车载软件升级的方法 | |
CN104506651A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190402 |
|
RJ01 | Rejection of invention patent application after publication |