买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种应用于汽车ECU升级文件的系统及方法_上海赫千电子科技有限公司_201910609632.0 

申请/专利权人:上海赫千电子科技有限公司

申请日:2019-07-08

公开(公告)日:2021-04-13

公开(公告)号:CN110162330B

主分类号:G06F8/658(20180101)

分类号:G06F8/658(20180101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.13#授权;2019.09.17#实质审查的生效;2019.08.23#公开

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

主权项:1.一种应用于汽车ECU升级文件的方法,其特征在于,包括:ECU升级所需弥补包的生成方法,弥补包的生成方法包括:步骤1:将新文件分别与旧文件通过差异分析,分别找出新文件与旧文件的差异,获取新文件与旧文件的差异数据包并将差异数据包进行提取打包后组成补丁包;重复步骤1,直至获得新文件分别与所有的不同历史版本的旧文件对应的补丁包;步骤2:在多个补丁包中选择其中一个作为基准补丁包;步骤3:并将所选的基准补丁包与剩余补丁包分别进行差异对比,找出基准补丁包与补丁包的差异,获取基准补丁包与补丁包的差异数据包并将差异数据包提取打包压缩后形成弥补包;重复步骤3,直至获得基准补丁包分别与所有的不同历史版本的旧文件对应的弥补包;基准补丁包或补丁包的文件都包括:控制字文件、差异文件、额外文件;弥补包获取过程包括:步骤S301:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将基准补丁包中差异文件、额外文件与补丁包中的差异文件、额外文件利用BSDIFF算法进行差异化分析;步骤S302:通过BSDIFF算法形成相应的子差异文件、子额外文件、子控制字文件;步骤S303:将所形成的子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件进行打包后压缩形成弥补包;新文件与旧文件中的数据存储的地址采用4个字节,操作代码在每个地址下存储固定8个字节。

全文数据:一种应用于汽车ECU升级文件的系统及方法技术领域本发明涉及汽车ECU领域,尤其涉及一种应用于汽车ECU的升级文件的系统及其方法。背景技术随着汽车的普及,越来越多的汽车进入千家万户,但由此也带来关于汽车的安全问题。近来了,许多汽车厂家以及研究结构都在推广智能汽车,使汽车趋于智能化、人性化。在汽车行业中,无人驾驶汽车和先进驾驶员辅助系统(ADAS)、ABS(防抱死制动系统)等发展已经变得今后技术的发展方向。当这些功能安装在车辆中时,汽车中的电子控制单元(ECU)的数量正在增加,控制车辆系统需要100多个ECU(电子控制单元),这增加了软件尺寸和逻辑复杂性。此外,安装在车辆中的软件变得越来越大和越来越复杂。由于bug的存在,如果不及时修复,会发生较大的危险性。由软件引起的召回次数正在增加,一旦检测到错误就快速修复错误是非常重要的,修复和新特性的加入导致应用程序的更新升级变得非常频繁。目前,车辆ECU通过车辆网络连接,车辆网络用于更新ECU软件。将来,随着联网车辆越来越普及,车辆将增加新功能以提供各种服务,例如智能手机应用程序下载。但是,通过将车辆连接到互联网,它可能成为网络攻击的目标。实际上,可以通过无线接口利用其漏洞来远程操作车辆,并且存在这种情况的车辆已经被大规模召回。由于增加了新功能,纠正缺陷和应对安全风险,ECU软件更新的频率和重要性将会增加。传统的ECU软件bug修复由用户将车辆带到经销商处执行,其中工程师使用专用诊断设备通过有线连接执行修复。然而,传统方法有两个缺点。首先,在传统方法中,用户必须将汽车带到经销商处以安装新软件,并且如果软件更新的频率在将来增加,则增加用户的负担。其次,可以一次更新的车辆数量是有限的,因为软件更新需要专用设备和停放车辆的地方。在更新发布或在生产线上更新后,此类限制立即成为障碍。结果,执行更新所需的时间显著增加,已经开发了用于更新车载软件的空中(OTA)方法。如果可以使用无线通信(移动网络,Wi-Fi等),则可以通过OTA进行更新。因此,可以减少由软件更新引起的负担,因为用户可以在不去经销商的情况下进行更新。另外,通过使用无线通信,可以同时更新多个车辆时间。可以在不受设备数量或停放车辆数量限制的情况下执行更新。在ECU软件更新期间,如果传输速度过慢以及数据包过大,都会造成ECU软件升级所用的时间增加。此时,用户是不能使用车辆的。因此,必须在车辆停放时执行ECU软件更新,用户在软件更新期间无法使用汽车,有必要缩短软件更新时间。现有技术中,即使新包与旧包只有略微的差别,每次版本的升级仍下载完整的新安装包进行替换安装,这种全量更新的方式不仅浪费了较多的客户端网络流量,同时也增加了升级过程所耗费的时间。用户在这段ECU修复的时间内是无法使用车辆的,这必然给用户带来用车的不便,因此压缩ECU修复的时间是目前需要迫切解决的技术问题。同时也有必要告知车辆ECU软件的修复时间,让用户根据自己的时间安排选择合适的时间段进行升级。软件更新时间由三个方面决定:1ECU软件升级路径,如其设计的升级流程是如何设计的。优秀的升级流程可以降低ECU软件的升级时间。2)ECU软件安装包的大小,ECU的软件升级包越小,所耗费时间越小。3)处于升级流程中的数据传输速度。采用车载以太网的总线传输,其带宽容量为100Mbpss,最大包大小为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:将弥补包与基准补丁包分别进行解压缩并分别获得解压后文件,弥补包解压后的文件包括:子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件,基准补丁包解压后获得文件包括:差异文件、额外文件、控制字文件;步骤S401:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将并根据子控制字文件中的指引信息将子差异文件、子额外文件通过添加和插入放入基准补丁中的差异文件、额外文件中还原形成补丁包中的差异文件、额外文件;步骤S402:将所形成的补丁包中的差异文件、额外文件以及所保留补丁包中的控制字文件进行打包形成补丁包。本发明提供一种应用于汽车ECU升级文件的方法,进一步,基准补丁包、补丁包和弥补包在本地服务器、本地计算机、远程服务器、远程计算机中的形成并将形成的基准补丁包和弥补包存储于远程服务器或者升级所需要的客户端上。本发明提供一种应用于汽车ECU升级文件的方法,进一步,基准补丁包与待升级ECU匹配的弥补包合成补丁包的过程在远程服务器或中央网关或车载主机或ECU中进行。本发明提供一种应用于汽车ECU升级文件的方法,进一步,还包括ECU升级所需的时间包括车辆中ECU收到升级指令开始各ECU将需要升级的信息传输到服务器中所需时间T1,服务器从收到ECU传来的升级信息后生成更新数据并使用移动网络将更新数据传送到中央网关所需的时间T2以及通过车载网络将更新数据从中央网关传送到每个目标ECU的时间T3,车辆ECU升级所需要时间为T=T1+T2+T3;其中,(1)式1中,设CAN的帧大小为Fsize,目标ECU的数量为N,CAN的比特率为CANbitrate;(2)式(2)中,补丁的数据大小是UPDATEsize并且移动网络的通信速度是Wnspeed;(3)式(3)中,补丁的数据大小是UPDATEsize,CAN帧的有效载荷是CANpayload,因加密和认证产生的数据是O,目标ECU的数量是N。本发明还提供一种应用于汽车ECU升级文件系统,包括服务器,通信模块、中央网关,车载主机,其中服务器通过通信模块与中央网关进行连接,中央网关通过车载以太网总线与车载主机相连,通信模块通过车载以太网总线与中央网关相连接;所述服务器存储多个弥补包、基准补丁包或者与多个补丁包;服务器可以通过有线或无线通信与通信模块相连并传输数据;若ECU所需升级补丁包存在于服务器上,通过通信模块直接将补丁包下载到中央网关并经CAN网络传输给ECU进行升级;若ECU所需升级补丁包并不在存储于服务上时,服务器调用应用程序将相应的弥补包与基准补丁包进行合成为当前ECU升级相匹配的补丁包或通过通信模块将相应弥补包和基准补丁包下载到中央网关或车载主机中进行合成为当前ECU升级相匹配的补丁包。本发明还提供一种应用于汽车ECU升级文件系统,进一步地,还包括传感器、摄像头、交换机,其中,通信模块、中央网关、车载主机、交换机、传感器、摄像头通过车载以太网总线进行传输,ECU通过CAN总线与中央网关相连接;交换机分别与中央网关、传感器、摄像头进行电连接;车载主机通过中央网关与各ECU以及传输器、摄像头进行信息交换,实现对各ECU、传感器、摄像头的控制。本发明还提供一种应用于汽车ECU升级文件系统,进一步地,通信模块为无线通信模块时,通信模块包括T-box,无线通信方式采用4G、5G、wifi、蓝牙中的一种进行通信;通信模块为有线传输时,其通信模块至少包括物理层和MAC层。本发明还提供一种应用于汽车ECU升级文件系统,进一步地,包括一种应用于汽车ECU升级文件上述方法。本发明有益技术效果:1.相比于现有技术,通过引用基准补丁包以及弥补包,本发明能够同时满足不同版本的ECU升级,最大限度的降低ECU升级包的大小。2.相比于现有技术,本发明由于引入的基准补丁包以及弥补包后,由于基准补丁包以及多个弥补包相比于采用多个不同版本的补丁包,其基准补丁包和弥补包所占存储空间要远小于多个补丁包所占的存储空间,因此,本发明可以直接在将升级所需的基准补丁包和弥补包直接下载到中央网关或者车载主机中,并不会增加系统的负荷,同时也节省ECU升级补丁包的传输时间,而不必每次都需要从服务器下载。3.相比于现有技术,本发明提供了在降低ECU升级包大小的同时,还提供了ECU升级所需要的时间,使得车主能够合理的安排升级时间,并不耽误车主用车。4.相比于现有技术,在对新文件与旧文件进行差异分析时,采用了4byte表示存储地址,每个存储地址下采用了固定的8byte对操作代码进行存储。与采用ARM平台的ECU中的8,16,32-bit的CPU进行结合,不仅能够降低补丁包尺寸,还能够提供运行效率。附图说明以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围;图1a至1c本发明实施例中补丁包、弥补包以及新文件的形成与合成过程中示意;图1a为补丁包合成,图1b为弥补包合成,图1c为根据补丁包、弥补包、旧文件合成新文件示意;图2本发明实施例中获取新文件与旧文件的差异数据包的流程图;图3本发明实施例中补丁包的而形成的示意图;图4本发明实施例中现有的非固定位数的操作代码示意图;图5本发明实施例中固定位数的操作代码示意图;图6本发明实施例中获取基准补丁包与补丁包的差异数据包方法流程图;图7本发明实施例中弥补包的形成过程实例;图8本发明实施例中补丁包的合成方法;图9本发明实施例中基准补丁包与弥补包合成补丁包的过程示例;图10本发明实施例中ECU升级管理系统的组成示意图;图11本发明实施例中服务器存储补丁包以及基准补丁包、弥补包示例;具体实施方式为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示相同的部分。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。关于控制系统,本领域技术人员熟知的是,其可以采用任何适当的形式,既可以是硬件也可以是软件,既可以是离散设置的多个功能模块,也可以是集成到一个硬件上的多个功能单元。作为最简单的形式,所述控制系统可以是控制器,例如组合逻辑控制器、微程序控制器等,只要能够实现本申请描述的操作即可。当然,控制系统也可以作为不同的模块集成到一个物理设备上,这些都不偏离本发明的基本原理和保护范围。实施例1:参见图1a至图1c,其描述了本实施例中的根据新文件、旧文件形成补丁包、弥补包以及根据补丁包和弥补包还原为新文件的方法。ECU升级所需弥补包的生成方法具体包含以下步骤:步骤1:将新文件分别与多个旧文件通差异分析,找出新文件与旧文件的差异,形成多个补丁包,获取新文件与旧文件的差异数据包并将差异数据包进行提取打包后组成补丁包,重复步骤1,直至获得新文件分别与所有的不同历史版本的旧文件对应的补丁包。具体地,在ECU的bug的修复过程中,不可能一劳永逸,其bug的修复是不断完善的,因此在不同的用户手中,其升级的旧文件可能存在多个版本,如车厂原始的某个ECU的旧文件从V0版本逐渐更新到V6版本,但是车主的选择众多,未必都更新到最新版本V6。此时,可能存在有些车主使用V2版本旧文件,有些使用V3版本的旧文件等。假设最近的开发出新版本的V7新文件,此时需要对这些车主进行升级,因此旧文件含有多版本,本次升级时,都需要考虑不同旧文件与新文件之间的版本差异。所以旧文件存在多个,与此相应的补丁包也存在多个。其中一种差异分析方式为,例如:假设有V0至V6个旧文件,有一个V7新文件,则形成7个补丁包B0至B6。B0代表V7与V0形成的补丁包,以此类推,B6代表V7与V6形成的补丁包。步骤2:在多个补丁包选择其中一个作为基准补丁包;步骤3:并将所选的基准补丁包与剩余补丁包分别进行差异对比,找出基准补丁包与补丁包的差异,获取基准补丁包与补丁包的差异数据包并将差异数据包提取打包压缩后形成弥补包;重复步骤3,直至获得基准补丁包分别与所有的不同历史版本的旧文件对应的弥补包。具体地,由于旧文件存在多个版本,因此形成的补丁包也存在多个版本,将多个版本中选择其中一个作为基准补丁包,基准补丁包为任意一个补丁包。但是考虑到大多数用户会根据车厂的提示进行升级到当的最新旧文件版本(即尚未升级前的最新版本,例如:原先存在V0版本至V6版本,目前有最新版本的V7需要升级,此时定义V6为最新旧文件,V7为新文件)。通常情况下,选择新文件与最新旧文件进行差异分析后的补丁包为基准补丁包,即V7与V6形成的补丁包作为基准补丁包B6。然后将基准补丁包分别与补丁包进行差异分析,形成多个弥补包。例如:B6分别与B0至B5形成弥补包,记为M0至M5。具体地,在新文件与旧文件中的补丁包以及弥补包都是在服务器端完成,本发明所指的服务器是一种广义的概念,其可以只云服务器,也可以为本地的PC电脑或者本地服务器,或者可以进行补丁包和弥补包进行运算的设备。ECU升级所补丁包的合成方法包括:将基准补丁包与相对应的弥补包进行数据包合成,形成与待升级的ECU对应的补丁包;具体地,如存储有基准补丁包和多个弥补包,如基准补丁包B6,多个弥补包为M0,M1,M2,M3,M4,M5。若当前需要升级的ECU为最新旧文件为V6版本,基准补丁包为B6,由于B6其正好对应于最新版本的补丁包,此时,无须进行合成,直接采用基准补丁包升级即可。若当前需要升级的ECU版本不是最新的旧文件,则根据当前最新旧文件的版本,找出对应版本的弥补包,然后将基准补丁包与该弥补包进行合成并生成与最新旧文件对应的补丁包。例如:当前ECU的最近旧文件版本为V4,则对应的弥补包为M4,将M4与基准补丁包B6进行数据合成为补丁包M4。将待升级的ECU对应的补丁包与ECU中的旧文件进行数据包合成并形成需要升级的新文件。具体地,通过形成的补丁包,与当前ECU中的旧文件合成为最新的升级文件包,如V7版本的文件包,然后通过启动升级程序,对ECU进行升级。弥补包与补丁包的生成以及补丁包和新文件的还原可能处于不同设备,此时,可以通过有线或者无线通信的方式将数据包进行各中转站之间的转移。将形成的多个弥补包与基准补丁包通过网络传输给本地中转站;具体地,在服务端完成弥补包与基准补丁包之后,通过无线网络或者有限网络传给中转站,本发明所指的中转站定义为可以将数据包传输给ECU端的设备,其可以为车载主机,也可以为带有数据处理的网关等设备。实施例2:获取新文件与旧文件的差异数据包尽可能多的利用旧文件中已有的内容,尽可能少的加入新的内容来构建新文件。例如:对旧文件和新文件做子字符串匹配或使用hash技术,提取公共部分,将新文件中剩余的部分打包成补丁包或者弥补包。在合成阶段中,用添加(ADD)和插入(insertion)两个基本操作即可将旧文件和补丁包合成新文件。图2为本实施例中获取新文件与旧文件的差异数据包的流程图,其包括详细的流程步骤,具体地:参见图2,获取新文件与旧文件的差异数据包具体步骤包括:步骤S200:利用后缀数组方法对旧文件与新文件进行排序形成字符串组;具体地,首先是字符串索引的生成,采用基于二分思想的FasterSuffixSorting更快的后缀排序算法来进行索引的生成。后缀数组即一个一维数组,保存了i1…n的某个排列I,并且保证suffixIsuffixI[i+1],即将S的n个后缀从小到大进行排序之后,把有序的后缀的开头位置顺次放入I中。步骤S201:然后根据所形成的字符串组将新文件与旧文件进对比;步骤S202:利用二分法查询旧文件与新文件之间的相同部分;步骤S203:找出最大新文件与旧文件的最大公共子序列并确定差异部分;步骤S204:找出额外部分;步骤S205:将差异部分和额外部分以及控制字进行压缩;步骤S206:形成补丁包具体的,参见图3:如:假设新文件为:abedefsdfaoiutkllklll旧文件为:abcdefsdfaoiuker通过比较新文件和旧文件,新文件中的“abcdefsdfaoiu”与旧文件中的“abrdefsdfaoiu”仅在第三位不同,因此差异部分[00200000000],由于差异部分含有大量的0,因此可以高效的被压缩。额外部分为:tjkllklll。由于在后续数据包合成过程中是通过复制和插入操作进行的,插入操作会引起大量的指针变动和修改,要记录这些值才能在Patch阶段给修改过的区域重新定位。因此在形成差异部分与额外部分时,需要记录的指针控制字的数值。BSDiff通过引入差异文件的概念,大大减少了要记录的指针控制字的数目,从而使得补丁包更小。在差异分析阶段以及数据存储阶段,对于数据包进行了以下处理,现有技术中,参见图4a和图4b,其数据文件的存储中,其地址采用了8位数表示,每一个地址用来对数据存储,其采用非固定大小的存储方法。如图4中,地址为80484b4,存储的代码为8b45f0,存储的代码为6位,地址为80484ba,存储的代码为e8a1ffffff。存储的代码为10为字节(byte)。但是ECU是基于ARM的CPU进行集成的,这种架构下,拥有8位、16位、32位比特(bit)的处理器,例如,32位比特的处理器一次能够处理的最大二进制数为32位(bit)的操作代码。为了更好降低数据包的大小,目前汽车的ECU升级包相比PC系统等,其数据包的大小非常小,因此,将地址改为4位byte,将原有的代码改为能够存储8byte的固定长度的代码。参见图5,图5为本实施例中固定位数的操作代码示意图,具体参见图5a和图5b,其中图5a为采用固定位数的操作代码的旧文件,图5b为采用固定位数的操作代码新文件。图5a中,如旧文件的其中一个地址为:8400,该地址存储的代码:ebffffba,下一个地址:8404,该地址存储的代码:e3a03000。参见图5b,新文件中,其中一个为地址8418,该地址存储的代码:ebffffb4,另一个为地址841c,该地址存储的代码:e51b200c。通过采用固定的长度的代码存储,降低用于表示地址的位数,并且固定长度为8byte,这样一方面能够节省空间,降低数据包的大小。另一方面,由于存储代码的固定长度为8byte,其为CPU的识别最大二进制文件的倍数。使得处理效率高。另一方面,存储地址部分中出现许多差异,这些差异是由滑动参考地址引起的。最初,bsdiff通过存储地址对新文件与旧文件的相似部分进行分类,并按不同代码的百分比对新代码进行分类。此外,如果连续不同的操作代码长度超过8个字节,则该部分被定义为不相似。对于固定代码,以更改此百分比以进行优化。在许多情况下,32位固定操作代码只更改了8位。因此,阈值应为75%,而不是50%。实施例3:由实施例1和实施例2形成的补丁包至少包括三部分构成:第一是一个包含了添加(ADD)和插入(INSERT)指令的控制字文件,添加指令指定旧文件中的偏移量和长度,从旧文件读取适当的字节数,并将其添加到差异文件中的相同字节数,插入指令只是指定一个长度,指定的字节数是从额外的文件中读取的;第二是一个包含了概率匹配中不同字节内容的差异文件;第三是一个包含了不属于概略匹配中内容的额外的文件。每一个ADD指令指定了旧文件中的偏移位置和长度,从旧文件中读取相应数量的字节内容并且从差异文件中读取相同字节的内容添加进去。INSERT指令仅仅制定一个长度,用于从额外文件中读取指定数量的字节内容。在实施例中的步骤2中,基准补丁包分别与多个补丁包通过差异对比形成弥补包,参见图6至图7,具体过程包括获取基准补丁包与补丁包的差异数据包,差异数据包的获取包括以下步骤:步骤S300:将基准补丁包与补丁包的文件进行解压分别获得基准补丁包和补丁包的解压文件,解压文件分别包括三部分:控制字文件、差异文件、额外文件;基准补丁包与补丁包都分别包括:控制字文件、差异文件、额外文件,其中基准补丁包记为控制字文件1、差异文件1、额外文件1,补丁包:控制字文件2、差异文件2、额外文件2。步骤S301:去掉基准补丁包的控制字文件1,保留补丁包的控制字文件2并将基准补丁包中差异文件1、额外文件1与补丁包中的差异文件2、额外文件2利用BSDIFF算法进行差异化分析;具体地,当需要升级的ECU版本与基准补丁包对应时,直接使用基准补丁包进行升级即可。当需要升级的ECU版本与基准补丁包不对应,需要找到相应的补丁包进行升级。因此,若需要升级的ECU版本与基准不对应时,基准版本的控制字文件是无用的文件,为了节省空间,在步骤S301,将基准补丁包的控制字文件1进行移除而完全保留与升级的ECU版本对应的补丁包中的控制字文件2。步骤S302:通过BSDIFF算法形成相应的子差异文件、子额外文件、子控制字文件;步骤S303:将所形成的子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件2进行打包后压缩形成弥补包。弥补包有多个版本,需要每个对应版本的弥补包都需要重复步骤S300至S303进行形成。通过基准补丁包和相应弥补包合成当前ECU升级所需对应的补丁包的方法至少包括以下步骤:参见图8至图9。步骤S400:将弥补包与基准补丁包分别进行解压缩并分别获得解压后文件,弥补包解压后的文件为:子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件2,基准补丁包解压后获得文件包括:差异文件1、额外文件1、控制字文件1;具体地,弥补包需要选择与当前ECU版本对应升级对应的弥补包。本实施例中尽管对弥补包和基准补丁包进行解压缩,实际上,如果弥补包与基准补丁包如果传输过程中并没有被解压缩,此过程中无须解压,直接获得数据包文件。因此解压缩并未是必须步骤。步骤S401:去掉基准补丁包的控制字文件1,保留补丁包的控制字文件2并将并根据子控制字文件中的记录将子差异文件、子额外文件通过添加和插入放入基准补丁中的差异文件1、额外文件1中还原形成补丁包中的差异文件2、额外文件2;步骤S402:将所形成的补丁包中的差异文件2、额外文件2所保留补丁包中的控制字文件2进行打包合成补丁包。形成当前ECU版本对应升级的补丁包之后,需要将当前补丁包与当前版本的旧文件进行数据包合成为相应的新文件。具体地,通过补丁包的控制字文件2并根据控制字文件中的记录位置将差异文件2、额外文件2通过添加和插入放入当前旧文件中形成相应的升级新文件。实施例4:本实施例提供了一种车载ECU升级管理系统,参见图10。具体包括:服务器,通信模块、中央网关,其中服务器通过通信模块与中央网关进行连接;服务器主要存储已合成的多个数据弥补包、基准补丁包、或者与当前升级版本对应的多个补丁包。服务器可以通过有线或者无线通信与通信模块相连并传输数据,通信模块为可以为T-box,其采用4G、5G、wifi、蓝牙进行通信。有线传输时,其通信模块至少包括物理层和MAC层。还包括车载主机、交换机、CAN总线、车载以太网总线、传感器、摄像头,其中,通信模块、中央网关、车载主机、交换机、传感器、摄像头通过车载以太网总线进行传输,ECU通过CAN总线与中央网关相连接;车载主机与中央网关进行电连接,交换机分别与中央网关、传感器、摄像头进行电连接。车载主机通过中央网关与各ECU以及传输器、摄像头进行信息交换,实现对各ECU、传感器、摄像头的控制。服务器存储多个弥补包、基准补丁包或者与多个补丁包;服务器可以通过有线或无线通信与通信模块相连并传输数据;若ECU所需升级补丁包存在于服务器上,通过通信模块直接将补丁包下载到中央网关并经CAN网络传输给ECU进行升级;若ECU所需升级补丁包并不在存储于服务上时,服务器调用应用程序将相应的弥补包与基准补丁包进行合成为当前ECU升级相匹配的补丁包或通过通信模块将相应弥补包和基准补丁包下载到中央网关或车载主机中进行合成为当前ECU升级相匹配的补丁包。或实施例1中的补丁包、弥补包的形成可以在服务器中进行加工处理完成,也可以通过本地PC电脑加工处理完成后在传到服务中,也可以在PC电脑加工完成后通过有线或者无线的方式将数据传给ECU、传感器、摄像头等进行升级,此时,PC也相当于服务器。车载以太网的传输带宽为100Mbpss,有效载荷(payload)的传输容量为46~1518byte。而CAN总线的传输带宽为1Mbpss,有效载荷(payload)的传输速率为0~8byte。因此,CAN网络的速率比车载以太网要小很多,CAN网络属于制约ECU升级时间的最大限制因素。而基于CAN网络的协议传输速率时,为了数据的可靠性,其不能同时进行数据传输,数据是逐个传输的,在ECU的升级阶段,占用时间最长。具体地,参见图11实施例中服务器存储补丁包以及基准补丁包、弥补包示例。图11a表示当只有补丁包存在的情况时,服务器存储了所有历史版本中的补丁包文件,图11b表示有基准补丁包与所有历史版本相对应的弥补包。基准补丁包时从所有历史版本的补丁包中任选一个版本作为基准补丁包都可以,通常情况下,选择未升级前ECU的最新版本对应的补丁包为基准补丁包,由于每次升级版本的更新都是在历史版本上进行更改,其变动不大。因此ECU升级所需的补丁包与其对应版本的弥补包的所占存储空间相比,补丁包所占的存储空间远大于弥补包。因此采用本发明弥补包的方法,所有历史版本升级所需的ECU升级包为基准补丁包和多个弥补包,其数据包较小。较大的减少的存储器的存储负荷,更有利于数据的传输,尤其是在中央网关和车载主机中具有较小的存储空间环境中,较小的数据包尺寸可以直接传输到车载主机或者中央网关,通过在车载主机或中央网关进行补丁包的合成,进一步的降低传输时间以及系统所消耗的资源。实施例5:在本研究中,我们评估了所提议协议的软件更新时间。更新过程分为三个部分,如图6所示:第一部分是从新版本发布到用户的更新通知。我们不考虑此评估中的第一部分,因为它不会影响用户。第二部分是从更新开始到将更新数据传输到车辆中的中央网关。本节使用移动网络将更新数据传输到车辆。另外,如果可以在车辆中缓冲更新数据,则可以通过在后台下载更新数据来从软件更新时间中排除该部分。表1为本发明评估升级时间所用的传输速率等参数数据。表1本发明评估升级时间所用的传输速率等参数在车辆中ECU收到升级指令开始各ECU将需要升级的信息传输到服务器中所需时间设为T1,假设可以在一帧中获得ECU信息,设CAN的帧大小为Fsize,目标ECU的数量为N,CAN的比特率为CANbitrate,获取ECU信息所需的CAN传输时间为T1。(1)服务器从收到ECU传来的升级信息后生成更新数据,并使用移动网络将更新数据传送到中央网关,这段时间设为T2。假设补丁的数据大小是UPDATEsize并且移动网络的通信速度是WNspeed,则从服务器到中央网关的更新数据传送时间T2由以下等式表示。(2)第三部分:车辆内部的传输升级过程。此部分始终包含在软件更新时间内,因为在更新过程中无法驱动车辆。该部分通过车载网络将更新数据从中央网关传送到每个目标ECU。CAN和车载以太网用于车载网络,CAN由于速率较多成为瓶颈。因此,我们考虑CAN上的更新数据传输时间。通过CAN传输更新数据时,假设认证和加密的产生的(Overhead)数据被添加到每个CAN帧。假设CAN帧的有效载荷是CANpayload,因加密和认证产生的数据是O(即为Overhead),目标ECU的数量是N,CAN上的更新数据传输时间T3由下面的等式(3)表示。(3)因此总的升级所需时间为T=T1+T2+T3。

权利要求: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:将弥补包与基准补丁包分别进行解压缩并分别获得解压后文件,弥补包解压后的文件包括:子差异文件、子额外文件、子控制字文件以及所保留的补丁包的控制字文件,基准补丁包解压后获得文件包括:差异文件、额外文件、控制字文件;步骤S401:去掉基准补丁包的控制字文件,保留补丁包的控制字文件并将并根据子控制字文件中的指引信息将子差异文件、子额外文件通过添加和插入放入基准补丁中的差异文件、额外文件中还原形成补丁包中的差异文件、额外文件;步骤S402:将所形成的补丁包中的差异文件、额外文件以及所保留补丁包中的控制字文件进行打包形成补丁包。8.根据权利要求1所述的一种应用于汽车ECU升级文件的方法,其特征在于,所述基准补丁包、补丁包和弥补包在本地服务器、本地计算机、远程服务器、远程计算机中的形成并将形成的基准补丁包和弥补包存储于远程服务器或者升级所需要的客户端上。9.根据权利要求2所述的一种应用于汽车ECU升级文件的方法,其特征在于,所述基准补丁包与待升级ECU匹配的弥补包合成补丁包的过程在远程服务器或中央网关或车载主机或ECU中进行。10.一种应用于汽车ECU升级文件的方法,其特征在于,还包括ECU升级所需的时间包括车辆中ECU收到升级指令开始各ECU将需要升级的信息传输到服务器中所需时间T1,服务器从收到ECU传来的升级信息后生成更新数据并使用移动网络将更新数据传送到中央网关所需的时间T2以及通过车载网络将更新数据从中央网关传送到每个目标ECU的时间T3,车辆ECU升级所需要时间为T=T1+T2+T3;其中,(1)式1中,设CAN的帧大小为Fsize,目标ECU的数量为N,CAN的比特率为CANbitrate;(2)式(2)中,补丁的数据大小是UPDATEsize并且移动网络的通信速度是Wnspeed;(3)式(3)中,补丁的数据大小是UPDATEsize,CAN帧的有效载荷是CANpayload,因加密和认证产生的数据是O,目标ECU的数量是N。11.一种应用于汽车ECU升级文件系统,其特征在于,包括服务器,通信模块、中央网关,车载主机,其中服务器通过通信模块与中央网关进行连接,中央网关通过车载以太网总线与车载主机相连,通信模块通过车载以太网总线与中央网关相连接;所述服务器存储多个弥补包、基准补丁包或者与多个补丁包;服务器可以通过有线或无线通信与通信模块相连并传输数据;若ECU所需升级补丁包存在于服务器上,通过通信模块直接将补丁包下载到中央网关并经CAN网络传输给ECU进行升级;若ECU所需升级补丁包并不在存储于服务上时,服务器调用应用程序将相应的弥补包与基准补丁包进行合成为当前ECU升级相匹配的补丁包或通过通信模块将相应弥补包和基准补丁包下载到中央网关或车载主机中进行合成为当前ECU升级相匹配的补丁包。12.根据权利要求11所述的一种应用于汽车ECU升级文件系统,其特征在于,还包括传感器、摄像头、交换机,其中,通信模块、中央网关、车载主机、交换机、传感器、摄像头通过车载以太网总线进行传输,ECU通过CAN总线与中央网关相连接;交换机分别与中央网关、传感器、摄像头进行电连接;车载主机通过中央网关与各ECU以及传输器、摄像头进行信息交换,实现对各ECU、传感器、摄像头的控制。13.根据权利要求11所述的一种应用于汽车ECU升级文件系统,其特征在于,所述通信模块为无线通信模块时,通信模块包括T-box,无线通信方式采用4G、5G、wifi、蓝牙中的一种进行通信;通信模块为有线传输时,其通信模块至少包括物理层和MAC层。14.根据权利要求11所述的一种应用于汽车ECU升级文件系统,其特征在于,包括权利要求1至10任一项所述的一种应用于汽车ECU升级文件的方法。

百度查询: 上海赫千电子科技有限公司 一种应用于汽车ECU升级文件的系统及方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。