一种软件更新方法及装置制造方法及图纸

技术编号:33622041 阅读:17 留言:0更新日期:2022-06-02 00:46
本发明专利技术提供了一种软件更新方法及装置,通过预先对新版本软件与旧版本软件进行分段差分处理得到多个第一差分子文件,在软件更新过程中,每次仅需将第一存储器中的一个待处理第一差分子文件以及用于生成待处理第一差分子文件的旧版本软件数据读取到第二存储器中,即可根据已读取的待处理第一差分子文件以及旧版本软件数据生成新版本软件数据,在第一存储器中完成旧版本软件数据擦除以及新版本软件数据写入开始处理下一个第一差分子文件,直到完成软件版本更新。也就是说,本发明专利技术利用分段差分技术实现分段软件版本更新,相对于现有技术需要将整个差分文件与旧版本软件全部读取到第二存储器中,有效降低了对第二存储器空间的占用量。的占用量。的占用量。

【技术实现步骤摘要】
一种软件更新方法及装置


[0001]本专利技术涉及软件更新
,更具体的,涉及一种软件更新方法及装置。

技术介绍

[0002]差分技术利用压缩算法,计算出新文件与旧文件的区别,生成差分文件,后续可以根据旧文件与该差分文件生成新文件。在应用于软件更新领域时,不需要下载新版本软件,只需下载新旧版本软件对应的差分文件即可,有效降低了文件下载量以及下载文件的时间。
[0003]但是,在软件更新时,需要将差分文件与旧版本软件全部读取到RAM中,仍然需要占用大量的RAM空间。

技术实现思路

[0004]有鉴于此,本专利技术提供了一种软件更新方法及装置,有效降低对第二存储器空间的占用。
[0005]为了实现上述专利技术目的,本专利技术提供的具体技术方案如下:
[0006]一种软件更新方法,所述方法包括:
[0007]将诊断仪发送的第一差分文件下载到第一存储器中,所述第一差分文件是预先对新版本软件与旧版本软件进行分段差分处理后得到的多个第一差分子文件按分段的先后顺序组成的,所述第一差分文件用于将旧版本软件更新为新版本软件;
[0008]按照所述第一差分文件中第一差分子文件的顺序,确定当前待处理第一差分子文件;
[0009]将第一存储器中的所述当前待处理第一差分子文件以及用于生成所述当前待处理第一差分子文件的旧版本软件数据读取到第二存储器中;
[0010]在第二存储器中,加载字典,对已读取的所述当前待处理第一差分子文件以及旧版本软件数据进行解压运算,生成新版本软件数据;
[0011]将生成的新版本软件数据替换擦除第一存储器中已读取的旧版本软件数据。
[0012]可选的,所述将诊断仪发送的第一差分文件下载到第一存储器中,包括:
[0013]依次将所述诊断仪发送的文件块下载到第一存储器中,所述文件块是所述诊断仪预先按照UDS诊断规范中的传输文件大小对所述第一差分文件进行拆分后得到的。
[0014]可选的,对新版本软件与旧版本软件进行分段差分处理后得到的多个第一差分子文件按分段的先后顺序组成所述第一差分文件,包括:
[0015]分别将新版本软件与旧版本软件按预设长度分段处理成多个子文件,每个新版本软件的子文件分别对应一个旧版本软件的子文件;
[0016]将分段处理后得到的新旧版本软件的子文件分别做差分处理,得到多个第一差分子文件;
[0017]将多个第一差分子文件按分段的先后顺序组成所述第一差分文件。
[0018]可选的,所述第一差分文件中每个第一差分子文件前预先被插入间隔符,间隔符用于间隔两个相邻的第一差分子文件并对第一差分子文件进行排序。
[0019]可选的,所述将第一存储器中的所述当前待处理第一差分子文件以及用于生成所述当前待处理第一差分子文件的旧版本软件数据读取到第二存储器中,包括:
[0020]在所述当前待处理第一差分子文件为所述第一差分文件中的第一个第一差分子文件的情况下,从所述第一差分文件的起始位置开始读取,直到读取到间隔符为止得到所述当前待处理第一差分子文件;
[0021]从旧版本软件的起始位置开始读取,直到读取预设长度的旧版本软件数据为止,得到用于生成所述当前待处理第一差分子文件的旧版本软件数据,所述预设长度为分段差分处理时旧版本软件的长度。
[0022]可选的,所述将第一存储器中的所述当前待处理第一差分子文件以及用于生成所述当前待处理第一差分子文件的旧版本软件数据读取到第二存储器中,包括:
[0023]在所述当前待处理第一差分子文件不是所述第一差分文件中的第一个第一差分子文件的情况下,从所述第一差分文件中上次读取到的分隔符之后的位置开始读取,直到读取到间隔符为止得到所述当前待处理第一差分子文件;
[0024]从旧版本软件中上次读取结束位置之后的位置开始读取,直到读取预设长度的旧版本软件数据为止,得到用于生成所述当前待处理第一差分子文件的旧版本软件数据。
[0025]可选的,所述方法还包括:
[0026]在所述当前待处理第一差分子文件为所述第一差分文件中的最后一个第一差分子文件的情况下,确定完成软件版本更新;
[0027]在所述当前待处理第一差分子文件不是所述第一差分文件中的最后一个第一差分子文件的情况下,按照所述第一差分文件中第一差分子文件的顺序,确定下一个待处理第一差分子文件。
[0028]可选的,在所述将诊断仪发送的第一差分文件下载到第一存储器中之后,所述方法还包括:
[0029]将诊断仪发送的第二差分文件下载到第一存储器中,所述第二差分文件是预先对旧版本软件与新版本软件进行分段差分处理后得到的多个第二差分子文件按分段的先后顺序组成的,所述第二差分文件用于将新版本软件回滚为旧版本软件。
[0030]可选的,在完成软件版本更新之后,所述方法还包括:
[0031]在接收到诊断仪发送的软件回滚指令的情况下,按照所述第二差分文件中第二差分子文件的顺序,确定当前待处理第二差分子文件;
[0032]将第一存储器中的所述当前待处理第二差分子文件以及用于生成所述当前待处理第二差分子文件的新版本软件数据读取到第二存储器中;
[0033]在第二存储器中,加载字典,对已读取的所述当前待处理第二差分子文件以及新版本软件数据进行解压运算,生成旧版本软件数据;
[0034]将生成的旧版本软件数据替换擦除第一存储器中已读取的新版本软件数据。
[0035]一种软件更新装置,所述装置包括:
[0036]第一文件下载单元,用于将诊断仪发送的第一差分文件下载到第一存储器中,所述第一差分文件是预先对新版本软件与旧版本软件进行分段差分处理后得到的多个第一
差分子文件按分段的先后顺序组成的,所述第一差分文件用于将旧版本软件更新为新版本软件;
[0037]第一待处理文件确定单元,用于按照所述第一差分文件中第一差分子文件的顺序,确定当前待处理第一差分子文件;
[0038]第一数据读取单元,用于将第一存储器中的所述当前待处理第一差分子文件以及用于生成所述当前待处理第一差分子文件的旧版本软件数据读取到第二存储器中;
[0039]第一解压运算单元,用于在第二存储器中,加载字典,对已读取的所述当前待处理第一差分子文件以及旧版本软件数据进行解压运算,生成新版本软件数据;
[0040]软件版本更新单元,用于将生成的新版本软件数据替换擦除第一存储器中已读取的旧版本软件数据。
[0041]可选的,所述第一文件下载单元,具体用于依次将所述诊断仪发送的文件块下载到第一存储器中,所述文件块是所述诊断仪预先按照UDS诊断规范中的传输文件大小对所述第一差分文件进行拆分后得到的。
[0042]可选的,所述第一差分文件中每个第一差分子文件前预先被插入间隔符,间隔符用于间隔两个相邻的第一差分子文件并对第一差分子文件进行排序。
[0043]可选的,所述第一数据读取单元,具体用于:
[0044]在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件更新方法,其特征在于,所述方法包括:将诊断仪发送的第一差分文件下载到第一存储器中,所述第一差分文件是预先对新版本软件与旧版本软件进行分段差分处理后得到的多个第一差分子文件按分段的先后顺序组成的,所述第一差分文件用于将旧版本软件更新为新版本软件;按照所述第一差分文件中第一差分子文件的顺序,确定当前待处理第一差分子文件;将第一存储器中的所述当前待处理第一差分子文件以及用于生成所述当前待处理第一差分子文件的旧版本软件数据读取到第二存储器中;在第二存储器中,加载字典,对已读取的所述当前待处理第一差分子文件以及旧版本软件数据进行解压运算,生成新版本软件数据;将生成的新版本软件数据替换擦除第一存储器中已读取的旧版本软件数据。2.根据权利要求1所述的方法,其特征在于,所述将诊断仪发送的第一差分文件下载到第一存储器中,包括:依次将所述诊断仪发送的文件块下载到第一存储器中,所述文件块是所述诊断仪预先按照UDS诊断规范中的传输文件大小对所述第一差分文件进行拆分后得到的。3.根据权利要求1所述的方法,其特征在于,对新版本软件与旧版本软件进行分段差分处理后得到的多个第一差分子文件按分段的先后顺序组成所述第一差分文件,包括:分别将新版本软件与旧版本软件按预设长度分段处理成多个子文件,每个新版本软件的子文件分别对应一个旧版本软件的子文件;将分段处理后得到的新旧版本软件的子文件分别做差分处理,得到多个第一差分子文件;将多个第一差分子文件按分段的先后顺序组成所述第一差分文件。4.根据权利要求1所述的方法,其特征在于,所述第一差分文件中每个第一差分子文件前预先被插入间隔符,间隔符用于间隔两个相邻的第一差分子文件并对第一差分子文件进行排序。5.根据权利要求4所述的方法,其特征在于,所述将第一存储器中的所述当前待处理第一差分子文件以及用于生成所述当前待处理第一差分子文件的旧版本软件数据读取到第二存储器中,包括:在所述当前待处理第一差分子文件为所述第一差分文件中的第一个第一差分子文件的情况下,从所述第一差分文件的起始位置开始读取,直到读取到间隔符为止得到所述当前待处理第一差分子文件;从旧版本软件的起始位置开始读取,直到读取预设长度的旧版本软件数据为止,得到用于生成所述当前待处理第一差分子文件的旧版本软件数据,所述预设长度为分段差分处理时旧版本软件的长度。6.根据权利要求5所述的方法,其特征在于,所述将第一存储器中的所述当前待处理第一差分子文件以及用于生成所述当前待处理第一差分子文件的旧版本软件数据读取到第二存储器中,包括:在所述当前待处理第一差分子文件不是所述第一差分文件中的第一个第一差分...

【专利技术属性】
技术研发人员:马啸龙
申请(专利权)人:北京经纬恒润科技股份有限公司
类型:发明
国别省市:

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

1