CN108228224B - 一种嵌入式系统差分升级的方法及装置 - Google Patents

一种嵌入式系统差分升级的方法及装置 Download PDF

Info

Publication number
CN108228224B
CN108228224B CN201711395605.5A CN201711395605A CN108228224B CN 108228224 B CN108228224 B CN 108228224B CN 201711395605 A CN201711395605 A CN 201711395605A CN 108228224 B CN108228224 B CN 108228224B
Authority
CN
China
Prior art keywords
data
new version
differential
version
lcs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711395605.5A
Other languages
English (en)
Other versions
CN108228224A (zh
Inventor
高迎军
戎杰杰
童琪杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN201711395605.5A priority Critical patent/CN108228224B/zh
Publication of CN108228224A publication Critical patent/CN108228224A/zh
Application granted granted Critical
Publication of CN108228224B publication Critical patent/CN108228224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种嵌入式系统差分升级的方法及装置,所述方法包括:基于原始版本数据文件、新版本数据文件和设备硬件特性参数进行分段切割,并对应生成原始版本分段数据和新版本分段数据;依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照LCS总和长度大小排序所生成的顺序表对新版本分段数据进行排序;根据新版本分段数据的排序依次与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后打包生成差分更新包;将差分更新包中的差分分段数据差分还原为新版本分段数据并对应替换所述原始版本分段数据。本发明能够极大的减小升级所需的内存开销,并且能在低资源情况下提高的差分效率。

Description

一种嵌入式系统差分升级的方法及装置
技术领域
本发明涉及嵌入式系统升级技术领域,尤其涉及一种嵌入式系统差分升级的方法及装置。
背景技术
嵌入式远程通信设备在运行过程当中,由于程序运行故障、功能需求增加、性能更新改进等原因,需要对远程的设备进行软件升级。这个升级的过程目前又称呼为OTA。OTA俗称(Over-the-Air Technology)是通过移动通信的空中接口对SIM卡数据及应用进行远程管理的技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。对于嵌入式设备而言OTA空中升级不仅仅指的是移动通信的方式升级,而是其他途径,比如WIFI,蓝牙等方式,在需要升级的设备在通过对比自身版本与服务器版本后,得知有新版本需要升级时通过下载新的固件替换旧的固件的行为。
在现有的嵌入式系统中,对软件的升级方案主要有两种:
第一种是全量升级方案。其主要特点是使用新的软件版本的完全覆盖老版本软件,其缺点就是需要把新版本软件完全下载到本地,然后把下载的升级包覆盖到目标区域,也就说在升级的时候需要和目标区域同样大小的存储空间。
第二种是差分升级方案,传统的差分方案即采用新旧软件版本之间的差分算法得到升级包,利用该升级包实现软件升级。该升级方案虽然使升级包变小,但是在升级过程中占用的备份空间仍然太大,并且在生成新版本软件需要占用很大的内存(RAM)空间,所以存在一定的局限性,只适用于需要升级的数据量不太大的场合。
但是,对于嵌入式系统而言,其普遍存在微处理器处理能力不高、内部存储空间(SDRAM、ROM、Flash等)有限的问题,采用上述的两种软件升级方案都存在明显的弊端。
目前已有的差分更新方式并不合适资源匮乏的嵌入式系统,但差分更新带来的好处是减少下载资源的消耗和存储资源的消耗,这两项资源在嵌入式系统中显得十分重要,下载的更新镜像越小,下载效率就显得越高,对应存储空间也就越节约,但同时差分更新方式为了保障安全可靠的升级会消耗额外flash备份区和ram临时缓存区,因为进行差分更新时候,首先要下载更新镜像包到flash区,需要备份一份旧镜像文件到flash备份区,同时生成的新镜像文件需要先存放在ram缓存区,意味着使用差分更新时,需要的资源是由旧镜像的大小和更新镜像包的大小决定。
但是如果因为旧镜像太大就直接采取把镜像文件进行等长的分段切割,然后再进行差分算法,我们会发现差分包效率(差分包大小和原始包大小比)和flash备份区难以达到一个平衡点,产生的更新包镜像文件将非常大导致嵌入式系统差分升级负担大或无法升级运行。
发明内容
本发明提供的嵌入式系统差分升级的方法及装置,能够极大的减小升级所需的内存开销,并且能在低资源情况下提高的差分效率。
第一方面,本发明提供一种嵌入式系统差分升级的方法,包括:
基于原始版本数据文件、新版本数据文件和设备硬件特性参数分别对原始版本数据文件和新版本数据文件进行分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据;
依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度大小排序所生成的顺序表对所述新版本分段数据进行排序;
根据新版本分段数据的排序依次与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后将所述差分分段数据打包生成差分更新包;
将所述差分更新包中的差分分段数据差分还原为新版本分段数据并对应替换所述原始版本分段数据。
可选地,所述依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度大小排序所生成的顺序表对所述新版本分段数据进行排序包括:
依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出每段的LCS总和长度,并根据每段的LCS总和长度生成LCS表格;
将LCS表格按照LCS总和长度的大小进行排序,并生成顺序表;
按照所述顺序表对新版本分段数据进行排序。
可选地,所述将LCS表格按照LCS总和长度的大小进行排序,并生成顺序表为将LCS表格中LCS总和长度由大到小进行排序并生成顺序表。
可选地,所述根据新版本分段数据的排序依次与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后将所述差分分段数据打包生成差分更新包包括:
根据所述新版本分段数据的排序得出所述新版本分段数据和所述原始版本分段数据之间最接近片段;
根据最接近的片段对依次将全部新版本分段数据与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据;
全部差分分段数据生成后,将记录每个差分分段数据的包长、位置、对应分段新版本数据文件的位置、大小信息中一种或者任意组合形成包头;
将包头和全部差分分段数据打包生成差分更新包。
可选地,所述基于原始版本数据文件、新版本数据文件和设备硬件特性参数分别对原始版本数据文件和新版本数据文件进行分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据包括:
根据原始版本数据文件、新版本数据文件和设备硬件特性参数生成差分更新包配置参数;
将所述原始版本数据文件和所述新版本数据文件按所述差分更新包的配置参数分别进行分段切割,并对应分别生成至少包含两段原始版本分段数据和新版本分段数据。
可选地,所述将所述差分更新包中的差分分段数据差分还原为新版本分段数据并对应替换所述原始版本分段数据包括:
将所述差分更新包写入所述嵌入式系统的存储空间;
读取差分更新包中配置参数;
根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据;
将所还原的新版本分段数据写入并覆盖对应原始版本分段数据所在的存储空间,依次将所述新版本分段数据全部写入。
可选地,在所述根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据之后,所述方法还包括:
将所述新版本分段数据存储在所述嵌入式系统的内存空间缓存区。
第二方面,本发明提供一种嵌入式系统差分升级的装置,包括:
制作模块,用于生成差分更新包;
还原模块,用于将所述差分更新包中的差分分段数据差分还原为新版本分段数据并对应替换所述原始版本分段数据;
其中,所述制作模块还包括:
分段子模块,用于基于原始版本数据文件、新版本数据文件和设备硬件特性参数分别对原始版本数据文件和新版本数据文件进行分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据;
排序子模块,用于依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度大小排序所生成的顺序表对所述新版本分段数据进行排序;
差分子模块,用于根据新版本分段数据的排序依次与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后将所述差分分段数据打包生成差分更新包。
可选地,所述排序子模块包括:
计算单元,用于依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出每段的LCS总和长度,并根据每段的LCS总和长度生成LCS表格;
顺序表生成单元,用于将LCS表格按照LCS总和长度的大小进行排序,并生成顺序表;
排序单元,用于按照所述顺序表对新版本分段数据进行排序。
可选地,所述分段子模块包括:
参数配置单元,用于根据原始版本数据文件、新版本数据文件和设备硬件特性参数生成差分更新包配置参数;
分段单元,用于将所述原始版本数据文件和所述新版本数据文件按所述差分更新包的配置参数分别进行分段切割,并对应分别生成至少包含两段原始版本分段数据和新版本分段数据。
可选地,所述还原模块包括:
第一写入子模块,用于将所述差分更新包写入所述嵌入式系统的存储空间;
读取子模块,用于读取差分更新包中配置参数;
还原子模块,用于根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据;
第二写入子模块,将所还原的新版本分段数据写入并覆盖对应原始版本分段数据所在的存储空间,依次将所述新版本分段数据全部写入。
本发明实施例提供的嵌入式系统差分升级的方法及装置,所述方法通过对原始版本数据文件和新版本数据文件进行按照设备硬件特性参数进行分段切片形成若干段原始版本分段数据和新版本分段数据,通过对所形成的新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS的总和长度并生成LCS表格,通过将LCS表格按照LCS的总和长度由大到小进行排序生成顺序表并按所述顺序表对所述新版本分段数据进行排序,按照所述新版本分段数据的排序进行差分处理并生成若干个差分分段数据,因此,所述方法能够通过按照顺序表的排序依次对所述新版本分段数据进行差分处理,极大的减少增量升级所需的开销,并能在低资源情况下提高差分效率。最后将若干个差分分段数据与包头打包生成更新包,然后逐步还原更新包里的差分分段数据为新版本分段数据;
综上所述,本实施例所述方法一方面极大的减小升级所需的内存开销以及占用的备份空间,并且能在低资源情况下提高的差分效率,进而成功的在全包差分更新(消耗资源较多)和分段更新(差分包效率低)的两个场合中寻找到一最佳平衡点;另一方面能在有限资源的嵌入式设备中保护了系统升级的安全性与可靠性,同时减少了升级时占用的存储空间、内存开销及下载开销。
附图说明
图1为本发明一实施例嵌入式系统差分升级的方法的流程图;
图2为本发明另一实施例嵌入式系统差分升级的方法的流程图;
图3为本发明另一实施例嵌入式系统差分升级的方法的流程图;
图4为本发明一实施例嵌入式系统差分升级的装置的结构示意图;
图5为本发明另一实施例嵌入式系统差分升级的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种嵌入式系统差分升级的方法,如图1所示,所述方法包括:
S11、基于原始版本数据文件、新版本数据文件和设备硬件特性参数分别对原始版本数据文件和新版本数据文件进行分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据;
S12、依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度大小排序所生成的顺序表对所述新版本分段数据进行排序;
S13、根据新版本分段数据的排序依次与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后将所述差分分段数据打包生成差分更新包;
S14、将所述差分更新包中的差分分段数据差分还原为新版本分段数据并对应替换所述原始版本分段数据。
本发明实施例提供的嵌入式系统差分升级的方法,通过对原始版本数据文件和新版本数据文件进行按照设备硬件特性参数进行分段切片形成若干段原始版本分段数据和新版本分段数据,通过对所形成的新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS的总和长度并生成LCS表格,通过将LCS表格按照LCS的总和长度由大到小进行排序生成顺序表并按所述顺序表对所述新版本分段数据进行排序,按照所述新版本分段数据的排序进行差分处理并生成若干个差分分段数据,因此,所述方法能够通过按照顺序表的排序依次对所述新版本分段数据进行差分处理,极大的减少增量升级所需的开销,并能在低资源情况下提高差分效率。最后将若干个差分分段数据与包头打包生成更新包,然后逐步还原更新包里的差分分段数据为新版本分段数据;
综上所述,本实施例所述方法一方面极大的减小升级所需的内存开销以及占用的备份空间,并且能在低资源情况下提高的差分效率,进而成功的在全包差分更新(消耗资源较多)和分段更新(差分包效率低)的两个场合中寻找到一最佳平衡点;另一方面能在有限资源的嵌入式设备中保护了系统升级的安全性与可靠性,同时减少了升级时占用的存储空间、内存开销及下载开销。
可选地,如图2和图3所示,所述依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度大小排序所生成的顺序表对所述新版本分段数据进行排序包括:
S121、依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出每段的LCS总和长度,并根据每段的LCS总和长度生成LCS表格;
S122、将LCS表格按照LCS总和长度的大小进行排序,并生成顺序表;
S123、按照所述顺序表对新版本分段数据进行排序。
可选地,所述将LCS表格按照LCS总和长度的大小进行排序,并生成顺序表为将LCS表格中LCS总和长度由大到小进行排序并生成顺序表。
可选地,所述根据新版本分段数据的排序依次与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后将所述差分分段数据打包生成差分更新包包括:
S131、根据所述新版本分段数据的排序得出所述新版本分段数据和所述原始版本分段数据之间最接近片段;
S132、根据最接近的片段对依次将全部新版本分段数据与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据;
S133、全部差分分段数据生成后,将记录每个差分分段数据的包长、位置、对应分段新版本数据文件的位置、大小信息中一种或者任意组合形成包头;
S134、将包头和全部差分分段数据打包生成差分更新包。
具体的,本实施例中通过LCS计算、LCS总和长度排序获取最接近片段,减少差分处理的开销,提高所述差分处理效率。
可选地,所述基于原始版本数据文件、新版本数据文件和设备硬件特性参数分别对原始版本数据文件和新版本数据文件进行分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据包括:
S111、根据原始版本数据文件、新版本数据文件和设备硬件特性参数生成差分更新包配置参数;
S112、将所述原始版本数据文件和所述新版本数据文件按所述差分更新包的配置参数分别进行分段切割,并对应分别生成至少包含两段原始版本分段数据和新版本分段数据。
进一步地,本实施例中所述方法还可在待更新设备硬件本身的硬件特性允许下,通过引入差分包数据包长因子对原始版本数据文件和新版本数据文件进行阶梯式分段切割,使得所形成的分段数据包长最优化,进而达到提高所述差分更新包数据效率和设备硬件资源的充分利用,整体提高了嵌入式系统差分升级的效率。
可选地,所述将所述差分更新包中的差分分段数据差分还原为新版本分段数据并对应替换所述原始版本分段数据包括:
S141、将所述差分更新包写入所述嵌入式系统的存储空间;
S142、读取差分更新包中配置参数;
S143、根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据;
S144、将所还原的新版本分段数据写入并覆盖对应原始版本分段数据所在的存储空间,依次将所述新版本分段数据全部写入。
可选地,在所述根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据之后,所述方法还包括:
S145、将所述新版本分段数据存储在所述嵌入式系统的内存空间缓存区。
具体的,本实施例所述方法在将所述差分更新包中的差分分段数据差分还原为新版本分段数据时,可按照所述顺序表的排序对差分分段数据、或者分段数据的排序进行差分还原。
本发明实施例还提供一种嵌入式系统差分升级的装置,如图4所示,所述装置包括:
制作模块11,用于生成差分更新包;
还原模块12,用于将所述差分更新包中的差分分段数据差分还原为新版本分段数据并对应替换所述原始版本分段数据;
其中,所述制作模块还包括:
分段子模块111,用于基于原始版本数据文件、新版本数据文件和设备硬件特性参数分别对原始版本数据文件和新版本数据文件进行分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据;
排序子模块112,用于依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度大小排序所生成的顺序表对所述新版本分段数据进行排序;
差分子模块113,用于根据新版本分段数据的排序依次与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后将所述差分分段数据打包生成差分更新包。
本发明实施例提供的嵌入式系统差分升级的装置,所述装置通过制作模块中分段子模块对原始版本数据文件和新版本数据文件进行按照设备硬件特性参数进行分段切片形成若干段原始版本分段数据和新版本分段数据,通过排序子模块对所形成的新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS的总和长度并生成LCS表格,通过将LCS表格按照LCS的总和长度由大到小进行排序生成顺序表并按所述顺序表对所述新版本分段数据进行排序,由差分子模块按照所述新版本分段数据的排序进行差分处理并生成若干个差分分段数据,因此,所述装置能够通过按照顺序表的排序依次对所述新版本分段数据进行差分处理,极大的减少增量升级所需的开销,并能在低资源情况下提高差分效率。最后将若干个差分分段数据与包头打包生成更新包,然后逐步还原更新包里的差分分段数据为新版本分段数据;
综上所述,本实施例所述装置一方面极大的减小升级所需的内存开销以及占用的备份空间,并且能在低资源情况下提高的差分效率,进而成功的在全包差分更新(消耗资源较多)和分段更新(差分包效率低)的两个场合中寻找到一最佳平衡点;另一方面能在有限资源的嵌入式设备中保护了系统升级的安全性与可靠性,同时减少了升级时占用的存储空间、内存开销及下载开销。
可选地,如图5所示,所述排序子模块112包括:
计算单元1121,用于依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出每段的LCS总和长度,并根据每段的LCS总和长度生成LCS表格;
顺序表生成单元1122,用于将LCS表格按照LCS总和长度的大小进行排序,并生成顺序表;
排序单元1123,用于按照所述顺序表对新版本分段数据进行排序。
可选地,所述分段子模块111包括:
参数配置单元1111,用于根据原始版本数据文件、新版本数据文件和设备硬件特性参数生成差分更新包配置参数;
分段单元1112,用于将所述原始版本数据文件和所述新版本数据文件按所述差分更新包的配置参数分别进行分段切割,并对应分别生成至少包含两段原始版本分段数据和新版本分段数据;
可选地,所述还原模块12包括:
第一写入子模块121,用于将所述差分更新包写入所述嵌入式系统的存储空间;
读取子模块122,用于读取差分更新包中配置参数;
还原子模块123,用于根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据;
第二写入子模块124,将所还原的新版本分段数据写入并覆盖对应原始版本分段数据所在的存储空间,依次将所述新版本分段数据全部写入。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种嵌入式系统差分升级的方法,其特征在于,包括:
基于原始版本数据文件、新版本数据文件、设备硬件特性参数和差分包数据包长因子分别对原始版本数据文件和新版本数据文件进行阶梯式分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据;
依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度由大到小排序所生成的顺序表对所述新版本分段数据进行排序;
根据新版本分段数据的排序得出所述新版本分段数据和所述原始版本分段数据之间最接近片段;
根据最接近的片段对依次将全部新版本分段数据与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后将所述差分分段数据打包生成差分更新包;
将所述差分更新包中的差分分段数据还原为新版本分段数据并对应替换所述原始版本分段数据。
2.根据权利要求1所述的方法,其特征在于,所述依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度由大到小排序所生成的顺序表对所述新版本分段数据进行排序包括:
依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出每段的LCS总和长度,并根据每段的LCS总和长度生成LCS表格;
将LCS表格中LCS总和长度由大到小进行排序,并生成顺序表;
按照所述顺序表对新版本分段数据进行排序。
3.根据权利要求2所述的方法,其特征在于,所述将所述差分分段数据打包生成差分更新包包括:
全部差分分段数据生成后,将记录每个差分分段数据的包长、位置、对应分段新版本数据文件的位置、大小信息中一种或者任意组合形成包头;
将包头和全部差分分段数据打包生成差分更新包。
4.根据权利要求1-3任一所述的方法,其特征在于,所述基于原始版本数据文件、新版本数据文件和设备硬件特性参数分别对原始版本数据文件和新版本数据文件进行分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据包括:
根据原始版本数据文件、新版本数据文件和设备硬件特性参数生成差分更新包配置参数;
将所述原始版本数据文件和所述新版本数据文件按所述差分更新包的配置参数分别进行分段切割,并对应分别生成至少包含两段原始版本分段数据和新版本分段数据。
5.根据权利要求1-3任一所述的方法,其特征在于,所述将所述差分更新包中的差分分段数据还原为新版本分段数据并对应替换所述原始版本分段数据包括:
将所述差分更新包写入所述嵌入式系统的存储空间;
读取差分更新包中配置参数;
根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据;
将所还原的新版本分段数据写入并覆盖对应原始版本分段数据所在的存储空间,依次将所述新版本分段数据全部写入。
6.根据权利要求5所述的方法,其特征在于,在所述根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据之后,所述方法还包括:
将所述新版本分段数据存储在所述嵌入式系统的内存空间缓存区。
7.一种嵌入式系统差分升级的装置,其特征在于,包括:
制作模块,用于生成差分更新包;
还原模块,用于将所述差分更新包中的差分分段数据还原为新版本分段数据并对应替换原始版本分段数据;
其中,所述制作模块还包括:
分段子模块,用于基于原始版本数据文件、新版本数据文件、设备硬件特性参数和差分包数据包长因子分别对原始版本数据文件和新版本数据文件进行阶梯式分段切割,并对应生成包含至少两段的原始版本分段数据和新版本分段数据;
排序子模块,用于依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出LCS总和长度,并按照所述LCS总和长度由大到小排序所生成的顺序表对所述新版本分段数据进行排序;
差分子模块,用于根据新版本分段数据的排序得出所述新版本分段数据和所述原始版本分段数据之间最接近片段,根据最接近的片段对依次将全部新版本分段数据与原始版本分段数据进行差分处理并生成对应的至少两段差分分段数据,然后将所述差分分段数据打包生成差分更新包。
8.根据权利要求7所述的装置,其特征在于,所述排序子模块包括:
计算单元,用于依次取出每段新版本分段数据与原始版本数据文件进行LCS计算对应得出每段的LCS总和长度,并根据每段的LCS总和长度生成LCS表格;
顺序表生成单元,用于将LCS表格中LCS总和长度由大到小进行排序,并生成顺序表;
排序单元,用于按照所述顺序表对新版本分段数据进行排序。
9.根据权利要求7或8所述的装置,其特征在于,所述分段子模块包括:
参数配置单元,用于根据原始版本数据文件、新版本数据文件和设备硬件特性参数生成差分更新包配置参数;
分段单元,用于将所述原始版本数据文件和所述新版本数据文件按所述差分更新包的配置参数分别进行分段切割,并对应分别生成至少包含两段原始版本分段数据和新版本分段数据。
10.根据权利要求7所述的装置,其特征在于,所述还原模块包括:
第一写入子模块,用于将所述差分更新包写入所述嵌入式系统的存储空间;
读取模块,用于读取差分更新包中配置参数;
还原子模块,用于根据配置参数备份所述原始版本分段数据到存储空间的缓存区,并将所述存储空间里对应的差分分段数据还原成新版本分段数据;
第二写入子模块,将所还原的新版本分段数据写入并覆盖对应原始版本分段数据所在的存储空间,依次将所述新版本分段数据全部写入。
CN201711395605.5A 2017-12-21 2017-12-21 一种嵌入式系统差分升级的方法及装置 Active CN108228224B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711395605.5A CN108228224B (zh) 2017-12-21 2017-12-21 一种嵌入式系统差分升级的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711395605.5A CN108228224B (zh) 2017-12-21 2017-12-21 一种嵌入式系统差分升级的方法及装置

Publications (2)

Publication Number Publication Date
CN108228224A CN108228224A (zh) 2018-06-29
CN108228224B true CN108228224B (zh) 2021-11-30

Family

ID=62648331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711395605.5A Active CN108228224B (zh) 2017-12-21 2017-12-21 一种嵌入式系统差分升级的方法及装置

Country Status (1)

Country Link
CN (1) CN108228224B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104149A (zh) 2018-10-25 2020-05-05 华为技术有限公司 一种固件升级方法、装置及终端
CN111488410B (zh) * 2019-01-25 2023-05-09 阿里巴巴集团控股有限公司 Nds数据的差分处理、更新方法和装置以及电子设备
CN110109695B (zh) 2019-04-17 2021-08-27 华为技术有限公司 补丁方法、相关装置及系统
CN112398666B (zh) * 2019-08-13 2024-04-30 中兴通讯股份有限公司 软件差分升级方法、装置、设备及存储介质
CN111240722B (zh) * 2020-01-07 2021-05-04 翱捷科技股份有限公司 空中升级固件的方法及其所应用的终端、服务器及系统
CN113805927A (zh) * 2020-06-11 2021-12-17 中移(苏州)软件技术有限公司 一种代码更新方法、装置、电子设备及计算机存储介质
CN112905221A (zh) * 2021-02-20 2021-06-04 百度在线网络技术(北京)有限公司 一种版本回退方法、装置、电子设备及存储介质
CN113238768A (zh) * 2021-04-23 2021-08-10 联合汽车电子有限公司 车载ecu升级包制作方法、升级方法和升级装置
CN113721967A (zh) * 2021-08-30 2021-11-30 苏州磐联集成电路科技股份有限公司 差分包生成方法,差分包生成设备,及升级方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693145A (zh) * 2012-05-31 2012-09-26 红石阳光(北京)科技有限公司 用于嵌入式系统的差分升级方法
CN105335182A (zh) * 2014-08-06 2016-02-17 中兴通讯股份有限公司 一种实现升级包制作的方法及装置
CN105786563A (zh) * 2016-02-19 2016-07-20 联州(上海)信息科技有限公司 实现软件在线更新的装置、系统和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007138461A2 (en) * 2006-05-31 2007-12-06 Pankaj Anand Method and a system for obtaining differential backup
EP2801906B1 (en) * 2013-05-08 2017-01-11 Accenture Global Services Limited Source code flow analysis using information retrieval

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693145A (zh) * 2012-05-31 2012-09-26 红石阳光(北京)科技有限公司 用于嵌入式系统的差分升级方法
CN105335182A (zh) * 2014-08-06 2016-02-17 中兴通讯股份有限公司 一种实现升级包制作的方法及装置
CN105786563A (zh) * 2016-02-19 2016-07-20 联州(上海)信息科技有限公司 实现软件在线更新的装置、系统和方法

Also Published As

Publication number Publication date
CN108228224A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN108228224B (zh) 一种嵌入式系统差分升级的方法及装置
CN108170460B (zh) 一种嵌入式系统增量升级的方法及装置
US10423585B2 (en) Method and device for making differential upgrade package, and method and device for system differential upgrading
US10452376B2 (en) Method for identifying file and mobile terminal
CN106462430B (zh) 应用升级包获取方法及装置
CN101436138B (zh) 一种用于软件升级且动态回滚的控制装置以及控制方法
EP1738256B1 (en) Method and apparatus for reliably updating a stored version of content
US8291402B2 (en) Using system fingerprints to accelerate package dependency resolution
CN105446772B (zh) 一种系统升级的方法和装置
WO2019020111A1 (zh) 升级包制作方法及装置、升级文件的方法及装置
WO2016183951A1 (zh) 一种系统升级方法及终端
CN105511911A (zh) 系统固件升级包的生成方法及装置
US11379216B2 (en) Software update agent device and software patching method through the same
CN107797818A (zh) 应用程序升级方法及装置
CN105700918A (zh) 一种系统升级方法及装置
CN105867962A (zh) 系统升级的方法和装置
WO2019041891A1 (zh) 升级包的生成方法及装置
CN113961226B (zh) 一种软件开发工具包修复方法、终端、服务器及设备
CN110888918A (zh) 相似数据检测方法及装置、计算机设备和存储介质
CN105740298A (zh) 文件处理方法、装置及服务端设备
CN112230947A (zh) 一种操作系统的升级方法、升级系统
US20210349855A1 (en) Method of data structuring for difference between old and new data and device thereof
CN113225397A (zh) 嵌入式设备的固件升级方法、装置、终端及存储介质
CN109002710B (zh) 一种检测方法、装置及计算机可读存储介质
CN113312073B (zh) 一种安装包文件处理方法和相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant