一种应用于汽车ECU升级文件的系统及方法技术方案

技术编号:21951845 阅读:37 留言:0更新日期:2019-08-24 17:29
本发明专利技术提供了一种应用于汽车ECU升级文件系统及方法,包括将新文件分别与多个旧文件通过差异分析,形成多个补丁包,在多个补丁包选择其中一个作为基准补丁包,并将所选的基准补丁包分别与剩余的多个补丁包通过差异分析,形成多个弥补包。将基准补丁包与待升级ECU匹配的弥补包进行数据包合成,形成与待升级的ECU对应的补丁包;将待升级的ECU对应的补丁包与当前ECU的旧文件进行数据包合成并形成需要升级的新文件。通过引入弥补包替代不同历史版本的补丁包,能够大幅度降低升级所需数据包的大小,同时也节省ECU升级补丁包的传输时间,而不必每次都需要从服务器下载。

A System and Method for Upgrading Documents of Automotive ECU

【技术实现步骤摘要】
一种应用于汽车ECU升级文件的系统及方法
本专利技术涉及汽车ECU领域,尤其涉及一种应用于汽车ECU的升级文件的系统及其方法。
技术介绍
随着汽车的普及,越来越多的汽车进入千家万户,但由此也带来关于汽车的安全问题。近来了,许多汽车厂家以及研究结构都在推广智能汽车,使汽车趋于智能化、人性化。在汽车行业中,无人驾驶汽车和先进驾驶员辅助系统(ADAS)、ABS(防抱死制动系统)等发展已经变得今后技术的发展方向。当这些功能安装在车辆中时,汽车中的电子控制单元(ECU)的数量正在增加,控制车辆系统需要100多个ECU(电子控制单元),这增加了软件尺寸和逻辑复杂性。此外,安装在车辆中的软件变得越来越大和越来越复杂。由于bug的存在,如果不及时修复,会发生较大的危险性。由软件引起的召回次数正在增加,一旦检测到错误就快速修复错误是非常重要的,修复和新特性的加入导致应用程序的更新升级变得非常频繁。目前,车辆ECU通过车辆网络连接,车辆网络用于更新ECU软件。将来,随着联网车辆越来越普及,车辆将增加新功能以提供各种服务,例如智能手机应用程序下载。但是,通过将车辆连接到互联网,它可能成为网络攻击的目标。实际上,可以通过无线接口利用其漏洞来远程操作车辆,并且存在这种情况的车辆已经被大规模召回。由于增加了新功能,纠正缺陷和应对安全风险,ECU软件更新的频率和重要性将会增加。传统的ECU软件bug修复由用户将车辆带到经销商处执行,其中工程师使用专用诊断设备通过有线连接执行修复。然而,传统方法有两个缺点。首先,在传统方法中,用户必须将汽车带到经销商处以安装新软件,并且如果软件更新的频率在将来增加,则增加用户的负担。其次,可以一次更新的车辆数量是有限的,因为软件更新需要专用设备和停放车辆的地方。在更新发布或在生产线上更新后,此类限制立即成为障碍。结果,执行更新所需的时间显著增加,已经开发了用于更新车载软件的空中(OTA)方法。如果可以使用无线通信(移动网络,Wi-Fi等),则可以通过OTA进行更新。因此,可以减少由软件更新引起的负担,因为用户可以在不去经销商的情况下进行更新。另外,通过使用无线通信,可以同时更新多个车辆时间。可以在不受设备数量或停放车辆数量限制的情况下执行更新。在ECU软件更新期间,如果传输速度过慢以及数据包过大,都会造成ECU软件升级所用的时间增加。此时,用户是不能使用车辆的。因此,必须在车辆停放时执行ECU软件更新,用户在软件更新期间无法使用汽车,有必要缩短软件更新时间。现有技术中,即使新包与旧包只有略微的差别,每次版本的升级仍下载完整的新安装包进行替换安装,这种全量更新的方式不仅浪费了较多的客户端网络流量,同时也增加了升级过程所耗费的时间。用户在这段ECU修复的时间内是无法使用车辆的,这必然给用户带来用车的不便,因此压缩ECU修复的时间是目前需要迫切解决的技术问题。同时也有必要告知车辆ECU软件的修复时间,让用户根据自己的时间安排选择合适的时间段进行升级。软件更新时间由三个方面决定:1)ECU软件升级路径,如其设计的升级流程是如何设计的。优秀的升级流程可以降低ECU软件的升级时间。2)ECU软件安装包的大小,ECU的软件升级包越小,所耗费时间越小。3)处于升级流程中的数据传输速度。采用车载以太网的总线传输,其带宽容量为100Mbps/s,最大包大小为1518byte。如:CAN(控制器区域网络)是典型的车辆网络,其带宽容量小于1Mbps,最大包大小为8字节。尽管车载以太网的传输速率较快,但是车辆中的ECU中的升级路径现阶段都是采用CAN网络传输的,而CAN的网络速率非常慢,因此,减少软件更新的数据大小是一个非常重要的问题。
技术实现思路
基于现有技术中存在的缺陷,本专利技术要解决的技术问题在于提供能够估计ECU软件的升级时间以及较小的数据补丁包的汽车ECU的升级管理系统及其方法。为了实现上述目的,本专利技术提供一种应用于汽车ECU升级文件的方法:包括:ECU升级所需弥补包的生成方法,弥补包的生成方法包括:步骤1:将新文件分别与旧文件通过差异分析,分别找出新文件与旧文件的差异,获取新文件与旧文件的差异数据包并将差异数据包进行提取打包后组成补丁包;重复步骤1,直至获得新文件分别与所有的不同历史版本的旧文件对应的补丁包;步骤2:在多个补丁包选择其中一个作为基准补丁包;步骤3:并将所选的基准补丁包与剩余补丁包分别进行差异对比,找出基准补丁包与补丁包的差异,获取基准补丁包与补丁包的差异数据包并将差异数据包提取打包压缩后形成弥补包;重复步骤3,直至获得基准补丁包分别与所有的不同历史版本的旧文件对应的弥补包。本专利技术提供一种应用于汽车ECU升级文件的方法,进一步,还包括:ECU升级所需新文件的合成方法,新文件的合成方法包括:将基准补丁包与待升级ECU匹配的弥补包进行数据包合成,形成与待升级的ECU对应的补丁包;将待升级的ECU对应的补丁包与当前ECU的旧文件进行数据包合成并形成需要升级的新文件。本专利技术提供一种应用于汽车ECU升级文件的方法,进一步,所述获取新文件与旧文件的差异数据包包括以下步骤:步骤S200:利用后缀数组方法对旧文件与新文件进行排序形成字符串组;步骤S201:然后根据所形成的字符串组将新文件与旧文件进对比;步骤S202:利用二分法查询旧文件与新文件之间的相同部分;步骤S203:找出新文件与旧文件的最大公共子序列并确定差异部分;步骤S204:找出新文件与旧文件的额外部分;步骤S205:将差异部分和额外部分以及控制字进行压缩;步骤S206:形成补丁包。本专利技术提供一种应用于汽车ECU升级文件的方法,进一步,新文件与旧文件中的数据存储的地址采用4个字节,操作代码在每个地址下存储固定8个字节。本专利技术提供一种应用于汽车ECU升级文件的方法,进一步,补丁包或基准补丁包包括差异文件、额外文件、控制字文件;所述差异文件定义包含新文件与旧文件中包含了概率匹配中不同字节内容的差异文件;额外文件定义包括新文件与旧文件中不属于概略匹配中内容的额外的文件;控制字文件包含添加指令和插入指令二进制段的指引信息,添加指令指定旧文件中的偏移量和长度,从旧文件读取适当的字节数,并将其添加到差异文件中的相同字节数,插入指令只是指定一个长度,指定的字节数是从额外的文件中读取的。本专利技术提供一种应用于汽车ECU升级文件的方法,进一步,所述获取基准补丁包与补丁包的差异数据包包括以下步骤:步骤S300:将基准补丁包与补丁包的文件进行解压分别获得基准补丁包和补丁包的解压文件,解压后文件都分别包括三部分:控制字文件、差异文件、额外文件,即基准补丁包与补丁包都分别包括:控制字文件、差异文件、额外文件;步骤S301:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将基准补丁包中差异文件、额外文件与补丁包中的差异文件、额外文件利用BSDIFF算法进行差异化分析;步骤S302:通过BSDIFF算法形成相应的子差异文件、子额外文件、子控制字文件;步骤S303:将所形成的子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件进行打包后压缩形成弥补包。本专利技术提供一种应用于汽车ECU升级文件的方法,进一步,弥补包的数据合成包括以下步骤:步骤S400:将弥补包与基准补本文档来自技高网
...

【技术保护点】
1.一种应用于汽车ECU升级文件的方法,其特征在于,包括:ECU升级所需弥补包的生成方法,弥补包的生成方法包括:步骤1:将新文件分别与旧文件通过差异分析,分别找出新文件与旧文件的差异,获取新文件与旧文件的差异数据包并将差异数据包进行提取打包后组成补丁包;重复步骤1,直至获得新文件分别与所有的不同历史版本的旧文件对应的补丁包;步骤2:在多个补丁包选择其中一个作为基准补丁包;步骤3:并将所选的基准补丁包与剩余补丁包分别进行差异对比,找出基准补丁包与补丁包的差异,获取基准补丁包与补丁包的差异数据包并将差异数据包提取打包压缩后形成弥补包;重复步骤3,直至获得基准补丁包分别与所有的不同历史版本的旧文件对应的弥补包。

【技术特征摘要】
1.一种应用于汽车ECU升级文件的方法,其特征在于,包括:ECU升级所需弥补包的生成方法,弥补包的生成方法包括:步骤1:将新文件分别与旧文件通过差异分析,分别找出新文件与旧文件的差异,获取新文件与旧文件的差异数据包并将差异数据包进行提取打包后组成补丁包;重复步骤1,直至获得新文件分别与所有的不同历史版本的旧文件对应的补丁包;步骤2:在多个补丁包选择其中一个作为基准补丁包;步骤3:并将所选的基准补丁包与剩余补丁包分别进行差异对比,找出基准补丁包与补丁包的差异,获取基准补丁包与补丁包的差异数据包并将差异数据包提取打包压缩后形成弥补包;重复步骤3,直至获得基准补丁包分别与所有的不同历史版本的旧文件对应的弥补包。2.根据权利要求1所述的一种应用于汽车ECU升级文件的方法,其特征在于,还包括:ECU升级所需新文件的合成方法,新文件的合成方法包括:将基准补丁包与待升级ECU匹配的弥补包进行数据包合成,形成与待升级的ECU对应的补丁包;将待升级的ECU对应的补丁包与当前ECU的旧文件进行数据包合成并形成需要升级的新文件。3.根据权利要求1所述的一种应用于汽车ECU升级文件的方法,其特征在于,所述获取新文件与旧文件的差异数据包包括以下步骤:步骤S200:利用后缀数组方法对旧文件与新文件进行排序形成字符串组;步骤S201:然后根据所形成的字符串组将新文件与旧文件进对比;步骤S202:利用二分法查询旧文件与新文件之间的相同部分;步骤S203:找出新文件与旧文件的最大公共子序列并确定差异部分;步骤S204:找出新文件与旧文件的额外部分;步骤S205:将差异部分和额外部分以及控制字进行压缩;步骤S206:形成补丁包。4.根据权利要求3所述的一种应用于汽车ECU升级文件的方法,其特征在于,所述新文件与旧文件中的数据存储的地址采用4个字节,操作代码在每个地址下存储固定8个字节。5.根据权利要求1所述的一种应用于汽车ECU升级文件的方法,其特征在于,所述补丁包或基准补丁包包括差异文件、额外文件、控制字文件;所述差异文件定义包含新文件与旧文件中包含了概率匹配中不同字节内容的差异文件;额外文件定义包括新文件与旧文件中不属于概略匹配中内容的额外的文件;控制字文件包含添加指令和插入指令二进制段的指引信息,添加指令指定旧文件中的偏移量和长度,从旧文件读取适当的字节数,并将其添加到差异文件中的相同字节数,插入指令只是指定一个长度,指定的字节数是从额外的文件中读取的。6.根据权利要求1所述的一种应用于汽车ECU升级文件的方法,其特征在于,所述获取基准补丁包与补丁包的差异数据包包括以下步骤:步骤S300:将基准补丁包与补丁包的文件进行解压分别获得基准补丁包和补丁包的解压文件,解压后文件都分别包括三部分:控制字文件、差异文件、额外文件,即基准补丁包与补丁包都分别包括:控制字文件、差异文件、额外文件;步骤S301:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将基准补丁包中差异文件、额外文件与补丁包中的差异文件、额外文件利用BSDIFF算法进行差异化分析;步骤S302:通过BSDIFF算法形成相应的子差异文件、子额外文件、子控制字文件;步骤S303:将所形成的子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件进行打包后压缩形成弥补包。7.根据权利要求1所述的一种应用于汽车ECU升级文件的方法,其特征在于,通过基准补丁包与弥补包合成补丁包包括以下步骤:步骤S400:将弥补包与基准补丁包分别进行解压缩并分别获得解压后文件,弥补包解压后的文件包括:子差异文件、子额外文件、...

【专利技术属性】
技术研发人员:肖文平何敖东王学栋陈斌张航
申请(专利权)人:上海赫千电子科技有限公司
类型:发明
国别省市:上海,31

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

1