一种ota升级ecu的方法

文档序号:168439 发布日期:2021-10-29 浏览:43次 >En<

阅读说明:本技术 一种ota升级ecu的方法 (Method for upgrading ECU through OTA ) 是由 尹佣博 范晓云 于 2021-07-21 设计创作,主要内容包括:本发明提供一种OTA升级ECU的方法,通过将ECU端应用的原始版本文件和新版本文件仅进行打包,而不进行压缩后上传至云服务端,使得云服务端基于打包后的原始版本文件和新版本文件,而非压缩后的原始版本文件和新版本文件来计算差分包,使得所述差分包尽可能小,从而可以提升对ECU端的差分刷新效果;另外,将原始版本文件和新版本文件打包后上传至云服务端,使得云服务端既可选择将新版本文件发送给ECU端进行整包刷新,也可计算打包后的新版本文件和原始版本文件的差分包,并将原始版本包和差分包发送给ECU端进行差分刷新,故能灵活同时满足差分刷新和整包刷新的需求。(The invention provides a method for upgrading an ECU (electronic control unit) through OTA (over the air), which is characterized in that an original version file and a new version file applied by an ECU (electronic control unit) end are only packaged and are not compressed and then uploaded to a cloud service end, so that the cloud service end calculates a differential packet based on the packaged original version file and the packaged new version file, but not the uncompressed original version file and the uncompressed new version file, and the differential packet is as small as possible, so that the differential refreshing effect on the ECU end can be improved; in addition, the original version file and the new version file are packaged and then uploaded to the cloud server, so that the cloud server can select to send the new version file to the ECU terminal for whole package refreshing, can calculate a differential package of the packaged new version file and the original version file, and send the original version package and the differential package to the ECU terminal for differential refreshing, and therefore the requirements of differential refreshing and whole package refreshing can be flexibly met at the same time.)

一种OTA升级ECU的方法

技术领域

本发明涉及车辆互联网技术领域,特别涉及一种OTA升级ECU的方法。

背景技术

ECU(Electronic Control Unit,电子控制单元)是嵌入式linux设备,是在终端网关的基础上集成了Telematics(远距离通信)功能,主要由MPU(Microprocessor Unit,微处理器)芯片和MCU(Microcontroller Unit,微控制单元)芯片构成,MCU实现传统车载网关的功能,MPU上运行linux系统,实现联网的功能。

在ECU的使用过程中,可能会存在需要升级的情况,现有技术中,采用差分刷新或整包刷新的方式来对ECU进行OTA(Over-the-Air Technology,空中下载技术)升级。但传统OTA升级ECU存在刷新效果不理想,以及不能灵活同时满足差分刷新或整包刷新的需求等问题。

发明内容

本发明的目的在于提供一种OTA升级ECU的方法,以解决现有OTA升级ECU存在刷新效果不理想,以及不能灵活同时满足差分刷新或整包刷新的需求等问题。

为解决上述技术问题,本发明提供一种OTA升级ECU的方法,包括:

在云服务端开始创建OTA升级任务时,所述云服务端从管理终端获取ECU端应用的原始版本文件的打包文件和新版本文件的打包文件;以及,

所述云服务端根据创建完成的OTA升级任务,选择对所述ECU端进行差分刷新或整包刷新。

可选的,在所述的OTA升级ECU的方法中,所述云服务端根据创建完成的OTA升级任务,选择对所述ECU端进行差分刷新或整包刷新包括:

若所述OTA升级任务为差分刷新,则计算所述原始版本文件的打包文件和所述新版本文件的打包文件的差分包;并将所述差分包和所述原始版本文件的打包文件发送给所述ECU端,以供所述ECU端进行版本刷新;

若所述OTA升级任务为整包刷新,则对所述新版本文件的打包文件进行压缩后发送给所述ECU端,以供所述ECU端进行版本刷新。

可选的,在所述的OTA升级ECU的方法中,若所述OTA升级任务为差分刷新,所述ECU端进行版本刷新的方法包括:

所述ECU端根据所述差分包和所述原始版本文件的打包文件还原出所述新版本文件进行刷新。

可选的,在所述的OTA升级ECU的方法中,若所述OTA升级任务为整包刷新,所述ECU端进行版本刷新的方法包括:

所述ECU端对压缩后的所述新版本文件的打包文件进行解压以得到所述新版本文件进行刷新。

可选的,在所述的OTA升级ECU的方法中,所述OTA升级ECU的方法还包括:

在对所述ECU进行差分刷新或整包刷新后,将所述新版本文件的打包文件存储至所述ECU,作为下一次对所述ECU进行差分刷新的原始版本文件。

可选的,在所述的OTA升级ECU的方法中,所述OTA升级ECU的方法还包括:

若所述OTA升级任务为差分刷新,在计算所述原始版本文件的打包文件和所述新版本文件的打包文件的差分包后,将所述原始版本文件的打包文件进行压缩,并将所述差分包和压缩的所述原始版本文件的打包文件发送给所述ECU端,以使所述ECU对压缩后的所述原始版本文件的打包文件进行解压后,根据所述差分包和所述原始版本文件的打包文件还原出所述新版本文件进行刷新。

可选的,在所述的OTA升级ECU的方法中,利用bsdiff差分算法计算所述原始版本文件的打包文件和所述新版本文件的打包文件的差分包。

可选的,在所述的OTA升级ECU的方法中,所述OTA升级ECU的方法还包括:

若同时对多个ECU端进行OTA升级,则针对不同的ECU端配置相应的OTA升级任务。

可选的,在所述的OTA升级ECU的方法中,所述针对不同的ECU端配置相应的OTA升级任务包括:

若一所述ECU端应用的原始版本文件和新版本文件规则排布,则创建对所述ECU端进行差分刷新的OTA升级任务。

可选的,在所述的OTA升级ECU的方法中,所述原始版本包和所述新版本包均为cpio文件包或tar文件。

发明人研究发现,ECU端应用的原始版本文件和新版本文件经压缩后,因字节不规则排布,使得形成的差分压缩包的数据量可能比原始版本文件压缩包和新版本文件压缩包的数据量还大,导致差分刷新效果不理想。另外,对于字节规则排布的版本文件,差分刷新效果好于整包刷新效果,而现有现术中,只能对所有ECU都进行差分刷新或者整包刷新,不能灵活同时满足差分刷新和整包刷新的需求。

而本发明提供的OTA升级ECU的方法,包括:在云服务端开始创建OTA升级任务时,所述云服务端从管理终端获取ECU端应用的原始版本文件的打包文件和新版本文件的打包文件;以及,所述云服务端根据创建完成的OTA升级任务,选择对所述ECU端进行差分刷新或整包刷新。

。与现有技术相比,具有如下优势:

(1)将原始版本文件和新版本文件仅进行打包,而不进行压缩后上传至云服务端,使得云服务端基于打包后的原始版本文件和新版本文件,而非压缩后的原始版本文件和新版本文件来计算差分包,使得所述差分包尽可能小,从而可以提升对ECU端的差分刷新效果;

(2)将原始版本文件和新版本文件打包后上传至云服务端,使得云服务端既可选择将新版本文件发送给ECU端进行整包刷新,也可计算打包后的新版本文件和原始版本文件的差分包,并将打包后的原始版本文件和差分包发送给ECU端进行差分刷新,故能灵活同时满足差分刷新和整包刷新的需求。

附图说明

图1为本发明实施例中OTA升级ECU的方法的数据传送示意图。

具体实施方式

为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。

本发明实施例提供一种OTA升级ECU的方法,涉及到三端:管理终端、云服务端及ECU端。管理终端用于向云服务端上传数据,云服务端用于创建的OTA升级任务,对管理终端上传的数据进行处理后,发送给ECU端,以使得ECU进行差分刷新或整包刷新。即,所述管理终端可看成是存放刷新包的数据库,而所述云服务端对整个刷新任务进行管理,包括此次升级是差分升级还是整包升级,而用于差分升级或整包升级的数据从所述管理终端获取。

具体的,本发明实施例提供的所述OTA升级ECU的方法包括:在云服务端开始创建OTA升级任务时,所述云服务端从管理终端获取ECU端应用的原始版本文件的打包文件和新版本文件的打包文件;以及,所述云服务端根据创建完成的OTA升级任务,选择对所述ECU端进行差分刷新或整包刷新。

本发明实施例提供的所述OTA升级ECU的方法,将原始版本文件和新版本文件仅进行打包,而不进行压缩后上传至云服务端,使得云服务端基于打包后的原始版本文件和新版本文件,而非压缩后的原始版本文件和新版本文件来计算差分包,使得所述差分包尽可能小,从而可以提升对ECU端的差分刷新效果;另外,由于将原始版本文件和新版本文件打包后上传至云服务端,使得云服务端既可选择将新版本文件发送给ECU端进行整包刷新,也可计算打包后的新版本文件和原始版本文件的差分包,并将原始版本包和差分包发送给ECU端进行差分刷新,故能灵活同时满足差分刷新和整包刷新的需求。

以下参考图1,对本发明实施例提供的所述OTA升级ECU的方法作进一步详细描述。

管理终端将ECU端应用的原始版本文件version1和新版本文件version1进行打包,例如可采用cpio进行打包,打包方式是find.|cpio-o-Hnewc>file.cpio,分别得到原始版本包version1.cpio和新版本包version2.cpio,并将version1.cpio和version2.cpio上传至云服务端

在另外一些实施例中,也可采用其它打包方式,例如可采用tar等来进行打包,本申请对此不作限制。

在云服务端创建OTA升级任务,较佳的,若同时对多个ECU端进行OTA升级,则针对不同的ECU端配置相应的OTA升级,所述OTA升级任务例如可为:ECU1~ECU3使用差分刷新,ECU4~ECU5使用整包刷新。该OTA升级任务的配置可根据客户需求来进行配置,若客户没有特殊需求的情况下,较佳的,根据各ECU的版本文件字节排布规则度来进行配置相应的OTA升级任务,若一所述ECU端应用的原始版本文件和新版本文件规则排布,则对所述ECU端发送进行差分刷新的OTA升级任务。即,对于版本字节规则排布的ECU采用差分升级,而版本字节不规则排布的ECU采用整包升级,如此,便可达到较佳的刷新效果。

另外,云服务端根据配置完成的OTA升级任务,选择对ECU端进行差分刷新或整包刷新,具体而言包括:

若所述OTA升级任务为差分刷新,则计算version1.cpio和version2.cpio的差分包Version1_Version2.cpio;并将Version1_Version2.cpio和version1.cpio发送给所述ECU端,以供所述ECU端进行版本刷新;

若所述OTA升级任务为整包刷新,则对version2.cpio进行压缩后发送给所述ECU端,以供所述ECU端进行版本刷新。

即,在所述OTA升级任务为差分刷新时,对version1.cpio和version2.cpio不进行压缩,而是基于version1.cpio和version2.cpio计算Version1_Version2.cpio,如此,使得计算得到的Version1_Version2.cpio的数据量尽可能小,进而可以提升ECU端差分刷新效果。在所述OTA升级任务为整包刷新时,对version2.cpio进行压缩后发送给ECU端,如此便可使得数据量减小,提高数据传递效率。

例如,若Version1的大小均为2.5MB,Version2的大小为11MB,将Version1和Version2进行打包后,因为不涉及到压缩,Version1.cpio和Version2.cpio的大小均没变化,Version1.cpio到Version2.cpio的差分包Version1_Version2.cpio大小为2.5MB。而若将Version1.cpio压缩成Version1.zip,Version1.zip大小为1.9MB,将Version2.cpio压缩成Version2.zip,Version2.zip大小为3.9MB,Version1.zip到Version2.zip的差分包Version1_Version2.zip的大小为3.9MB,由此可见,相比较打包后直接差分,压缩后差分要多下载3.9MB-2.5MB=1.4MB大小的数据。在刷新文件较大的情况下,其压缩后做的差分包数据量更大,因此,本实施例通过直接计算打包文件的差分包直接发送给ECU端,可提升ECU端差分刷新效果。

在另外一些实施例中,若所述OTA升级任务为差分刷新,也可在计算Version1.cpio到Version2.cpio的差分包Version1_Version2.cpio后,将Version1.cpio进行压缩,并将Version1_Version2.cpio和压缩的Version1.cpio发送给所述ECU端。

即,在所述OTA升级任务为差分刷新时,在基于version1.cpio和version2.cpio计算得到Version1_Version2.cpio后,不对Version1_Version2.cpio进行压缩,而对version1.cpio进行压缩,而后将未压缩的Version1_Version2.cpio和压缩后的version1.cpio发送给ECU端,如此,便进一步减小了发送给ECU端的数据量,提高了数据传输效率。

此外,在另外一些实施例中,若所述OTA升级任务为差分刷新,还可在计算Version1.cpio和Version2.cpio的差分包的Version1_Version2.cpio后,将Version1.cpio和的Version1_Version2.cpio分别进行压缩后发送给所述ECU端。如此,可使得数据可以最小数据量发送给ECU端,最大化提高了数据传输效率。

本实施例中,云服务端可利用bsdiff差分算法计算version1.cpio到version2.cpio的差分包Version1_Version2.cpio。但bsdiff差分算法不构成本申请计算Diff1的限制,本领域技术人员所熟知的其它用于计算差分的差分算法也适用于本申请。

在云服务端向ECU发送刷新数据后,ECU端基于云服务端发送的数据进行刷新。

若所述OTA升级任务为差分刷新,则ECU端接收到的数据为Version1_Version2.cpio和version1.cpio,或者,的Version1_Version2.cpio的压缩包和version1.cpio的压缩包,或者,的Version1_Version2.cpio的压缩包和version1.cpio的压缩包。若接收到的数据为Version1_Version2.cpio和version1.cpio,则根据Version1_Version2.cpio和version1.cpio还原出version2.cpio进行刷新,若接收到的数据为Version1_Version2.cpio的压缩包和version1.cpio的压缩包,或者,Version1_Version2.cpio的压缩包和version1.cpio的压缩包,则对相应压缩包进行解压后,同样的根据Version1_Version2.cpio和version1.cpio还原出version2.cpio进行刷新。

若所述OTA升级任为整包刷新,则ECU端接收到的数据为version2.cpio的压缩包,ECU端在将该压缩包进行解压得到version2.cpio后,利用version2.cpio进行刷新。

另外,本实施例提供的OTA升级ECU的方法,在对ECU进行差分刷新或整包刷新后,将所述version2.cpio存储至ECU,作为下一次对ECU进行差分刷新的原始版本文件,如此,在下次进行差分刷新时,管理终端无需将version2.cpio发送给云服务端,云服务端也无需将version2.cpio发送给ECU端,如此,便可减少数据量的传输,提高OTA升级ECU的效率。

综上所述,本发明提供的OTA升级ECU的方法,包括:在云服务端开始创建OTA升级任务时,所述云服务端从管理终端获取ECU端应用的原始版本文件的打包文件和新版本文件的打包文件;以及,所述云服务端根据创建完成的OTA升级任务,选择对所述ECU端进行差分刷新或整包刷新。即,将原始版本文件和新版本文件仅进行打包,而不进行压缩后上传至云服务端,使得云服务端基于打包后的原始版本文件和新版本文件,而非压缩后的原始版本文件和新版本文件来计算差分包,使得差分包尽可能小,从而可以提升对ECU端的差分刷新效果;另外,将原始版本文件和新版本文件打包后上传至云服务端,使得云服务端既可选择将新版本文件发送给ECU端进行整包刷新,也可计算打包后的新版本文件和原始版本文件的差分包,并将原始版本包和差分包发送给ECU端进行差分刷新,故能灵活同时满足差分刷新和整包刷新的需求。

此外还应该认识到,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种代码提交控制方法、装置及计算机设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!