用于模块更新的方法和系统技术方案

技术编号:38880611 阅读:15 留言:0更新日期:2023-09-22 14:11
本申请涉及用于模块更新的方法和系统,所述方法包括:接收诊断报文;基于所接收到的诊断报文判断是否要执行差分更新;以及在要执行差分更新的情况下,获取差分文件在内存中的差分存储地址以及待升级软件分区中的原有数据在内存中的加载地址;基于所述差分存储地址和所述加载地址获取所述差分文件和所述原有数据;基于所述原有数据对所述差分文件进行解压缩和解码以获取差分还原数据;并且将所述差分还原数据存储在所述原有数据的位置中;其中所述差分文件由文件生成平台生成。本申请利用差分压缩刷新技术来缩小用于模块更新的传输文件的大小,从而有效提高模块更新的效率。从而有效提高模块更新的效率。从而有效提高模块更新的效率。

【技术实现步骤摘要】
用于模块更新的方法和系统


[0001]本申请涉及车辆领域,具体而言,涉及用于模块更新的方法和系统。

技术介绍

[0002]在车载刷新领域,通常运用诊断工具通过发送诊断服务,在车载端引导装载程序软件中完成整个应用程序或者标定的删除与下载。然而,随着汽车功能日益复杂,应用程序包含的内容越来越多。如果使用全文本刷新方式,哪怕是对于微小的软件变动,都需要对完整的刷写分区进行擦写,导致汽车刷新效率低下,刷新时间过长。
[0003]因此,当用于软件刷新的刷新包的文本量过大时,传统的全文本刷新方式刷新效率低下,刷新时间过长,不满足现在汽车售后或者产线的需求。

技术实现思路

[0004]本申请的实施例提供了一种用于模块更新的方法和系统,其利用差分压缩刷新技术来缩小用于模块更新的传输文件的大小,从而有效提高模块更新的效率。
[0005]根据本申请的一方面,提供一种用于模块更新的方法,所述方法包括:接收诊断报文;基于所接收到的诊断报文判断是否要执行差分更新;以及在要执行差分更新的情况下,获取差分文件在内存中的差分存储地址以及待升级软件分区中的原有数据在内存中的加载地址;基于所述差分存储地址和所述加载地址获取所述差分文件和所述原有数据;基于所述原有数据对所述差分文件进行解压缩和解码以获取差分还原数据;并且将所述差分还原数据存储在所述原有数据的位置中;其中所述差分文件由文件生成平台生成。
[0006]在本申请的一些实施例中,可选地,所述文件生成平台位于云端;并且所述方法还包括:经由超文本传输协议将所述差分文件从所述文件生成平台下载。
[0007]在本申请的一些实施例中,可选地,对所述差分文件的下载操作以及解压缩和解码操作以块为单位来执行。
[0008]在本申请的一些实施例中,可选地,在同时存在多个待更新的块的情况下,针对相邻的两个待更新的块,关于其中一个待更新的块的所述解压缩和解码操作与关于另一个待更新的块的所述下载操作同时执行。
[0009]在本申请的一些实施例中,可选地,采用patch算法对所述差分文件进行解压缩和解码,并且所述差分文件由所述文件生成平台采用diff算法生成,其中所述patch算法与所述diff算法配套。
[0010]在本申请的一些实施例中,可选地,所述基于所接收到的诊断报文判断是否要执行差分更新包括:根据所述诊断报文中的针对不同类型文件的标志位判定是要进行差分更新还是要进行全文本更新。
[0011]根据本申请的另一方面,提供一种用于模块更新的系统,所述系统包括:存储器,其配置成存储指令;和处理器,其配置成执行所述指令使得所述系统执行如上文所述的任意一种方法。
[0012]根据本申请的又一方面,提供一种用于模块更新的系统,所述系统包括:诊断处理模块,所述诊断处理模块配置成接收诊断报文;引导加载模块,所述引导加载模块配置成基于所接收到的诊断报文判断是要执行全文本更新还是要执行差分更新;刷新处理模块,所述刷新处理模块配置成在要执行差分更新的情况下,获取差分文件在内存中的差分存储地址以及待升级软件分区中的原有数据在内存中的加载地址,其中所述差分文件由文件生成平台生成;以及差分引擎,所述差分引擎配置成基于所述原有数据对所述差分文件进行解压缩和解码以获取差分还原数据;并且将所述差分还原数据存储在所述原有数据的位置中。
[0013]根据本申请的另外的方面,提供一种车辆,所述车辆包括如上文所述的任意一种系统。
[0014]根据本申请的又一另外的方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令由处理器执行时,使得所述处理器执行如上文所述的任意一种方法。
附图说明
[0015]从结合附图的以下详细说明中,将会使本申请的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。
[0016]图1示出了根据本申请的一个实施例的用于模块更新的系统110与整车厂售后系统120以及文件生成平台130交互的示意图;
[0017]图2示出了根据本申请的一个实施例的用于模块更新的方法200的流程示意图;
[0018]图3示出了根据本申请的一个实施例的执行差分更新操作的流程示意图;
[0019]图4示出了根据本申请的一个实施例的分块差分技术原理图。
具体实施方式
[0020]出于简洁和说明性目的,本文主要参考其示范实施例来描述本申请的原理。但是,本领域技术人员将容易地认识到相同的原理可等效地应用于所有类型的用于模块更新的方法和系统,并且可以在其中实施这些相同或相似的原理,任何此类变化不背离本申请的真实精神和范围。
[0021]下面将结合图1来描述本申请的一个实施例的用于模块更新的系统110。
[0022]图1示出了根据本申请的一个实施例的用于模块更新的系统110与整车厂(OEM)售后系统120以及文件生成平台130交互的示意图。
[0023]在一些实施例中,用于模块更新的系统110可以应用在车端,以用于在需要进行软件更新时,对车辆的电子控制单元(ECU)中的软件模块执行软件刷新操作。如图1所示,用于模块更新的系统110包括诊断处理模块111、引导加载模块113、刷新处理模块115、差分引擎117和擦写模块119。
[0024]在一些实施例中,诊断处理模块111与OEM售后系统120相通信,可以配置成从OEM售后系统120接收诊断报文。本申请实施例中的诊断处理模块111从OEM售后系统120接收诊断报文,在其它实施例中,诊断处理模块111可以与产线工具相通信,从而可以从产线工具接收诊断报文。
[0025]在一些实施例中,引导加载模块113可以配置成基于所接收到的诊断报文判断是否要执行差分更新。在一些实施例中,引导加载模块113可以是Bootloader软件模块。可选地,引导加载模块113可以配置成基于所接收到的诊断报文中的针对不同类型文件的标志位判定是要通过差分更新还是通过全文本更新的方式来进行软件刷新。
[0026]在一些实施例中,刷新处理模块115可以配置成在要执行差分更新的情况下,获取差分文件在内存中的差分存储地址以及待升级软件分区中的原有数据在内存中的加载地址。可选地,内存可以是闪存(Flash)。在一些实施例中,差分文件可以经由超文本传输协议(HTTP)从文件生成平台130下载到内存中。
[0027]本申请的实施例可以在后台搭建文件生成平台130,并利用文件生成平台130作为差分生成工具来生成差分文件。作为示例,差分文件可以由文件生成平台130可选地,文件生成平台130可以位于云端。生成。当需要生成差分文件时,用户(例如,负责管理软件更新的工程师)需要向文件生成平台130上传新刷新文件包和老刷新文件包,以通过文件生成平台130利用差分算法生成差分文件。可选地,差分算法可以是diff算法。通过文件生成平台130来生成差分平台有助于解放车端主要负责软件更新的ECU的算力。
[0028]在一些实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于模块更新的方法,其特征在于,所述方法包括:接收诊断报文;基于所接收到的诊断报文判断是否要执行差分更新;以及在要执行差分更新的情况下,获取差分文件在内存中的差分存储地址以及待升级软件分区中的原有数据在内存中的加载地址;基于所述差分存储地址和所述加载地址获取所述差分文件和所述原有数据;基于所述原有数据对所述差分文件进行解压缩和解码以获取差分还原数据;并且将所述差分还原数据存储在所述原有数据的位置中;其中所述差分文件由文件生成平台生成。2.根据权利要求1所述的方法,其特征在于,所述文件生成平台位于云端;并且所述方法还包括:经由超文本传输协议将所述差分文件从所述文件生成平台下载。3.根据权利要求1所述的方法,其特征在于,对所述差分文件的下载操作以及解压缩和解码操作以块为单位来执行。4.根据权利要求3所述的方法,其特征在于,在同时存在多个待更新的块的情况下,针对相邻的两个待更新的块,关于其中一个待更新的块的所述解压缩和解码操作与关于另一个待更新的块的所述下载操作同时执行。5.根据权利要求1所述的方法,其特征在于,采用patch算法对所述差分文件进行解压缩和解码,并且所述差分文件由所述文件生成平台采用diff算法生成,其中所述patch算法与所述diff算法配套。6.根据权利要求3所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:陈树浩孙旺许峰林史宏松
申请(专利权)人:泛亚汽车技术中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1