CN108334771A - 一种增量升级包生成、增量更新方法及装置 - Google Patents

一种增量升级包生成、增量更新方法及装置 Download PDF

Info

Publication number
CN108334771A
CN108334771A CN201710030681.XA CN201710030681A CN108334771A CN 108334771 A CN108334771 A CN 108334771A CN 201710030681 A CN201710030681 A CN 201710030681A CN 108334771 A CN108334771 A CN 108334771A
Authority
CN
China
Prior art keywords
file
upgrade package
incremental
encryption
history
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.)
Granted
Application number
CN201710030681.XA
Other languages
English (en)
Other versions
CN108334771B (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 Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology 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 Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201710030681.XA priority Critical patent/CN108334771B/zh
Publication of CN108334771A publication Critical patent/CN108334771A/zh
Application granted granted Critical
Publication of CN108334771B publication Critical patent/CN108334771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Abstract

本发明实施例公开了一种增量升级包生成、增量更新方法及装置,生成方法包括:获取差异文件的特征值,根据特征值生成增量加密文件,根据增量加密文件及差异文件,生成增量升级包,以利用增量升级包进行增量更新;由此可见,本方案中的增量升级包中增加了增量加密文件,相比于现有方案仅根据差异文件生成的增量升级包,提高了增量更新的安全性。

Description

一种增量升级包生成、增量更新方法及装置
技术领域
本发明涉及固件升级技术领域,特别涉及一种增量升级包生成、增量更新方法及装置。
背景技术
增量更新是指在进行更新操作时,只更新需要改变的部分,其他部分不会重复更新。增量更新的方法通常应用于固件(Firmware)升级过程中。固件可以理解为写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。
利用增量更新进行固件升级的方案一般包括:将新程序文件与原程序文件进行二进制比较、或者特征值比较;通过比较结果,确定差异文件;对该差异文件进行压缩,生成增量升级包;在后续升级(增量更新)过程中,设备端下载该增量升级包,利用该增量升级包进行增量更新(也就是固件升级)。
但是,上述方案安全性较差,非法用户很容易篡改该增量升级包,也就是说,利用该增量升级包进行增量更新的设备很容易受到攻击。
发明内容
本发明实施例的目的在于提供一种增量升级包生成、增量更新方法及装置,提高增量更新的安全性。
为达到上述目的,本发明实施例公开了一种增量升级包生成方法,包括:
将新程序文件与原程序文件进行比较,根据比较结果,确定差异文件;
获取所述差异文件的特征值,并根据所述特征值生成增量加密文件;
根据所述增量加密文件及所述差异文件,生成增量升级包,以利用所述增量升级包进行增量更新。
可选的,在所述将新程序文件与原程序文件进行比较的步骤之前,还包括:
获得新升级包,将所述新升级包进行拆分,得到新程序包;
将原升级包进行拆分,得到原程序包;
对所述新程序包进行解压缩及解密处理,得到新程序文件;
对所述原程序包进行解压缩及解密处理,得到原程序文件。
可选的,所述对所述新程序包进行解压缩及解密处理,得到新程序文件的步骤,可以包括:
对所述新程序包进行解压缩,得到新加密文件;
利用所述新加密文件,得到新程序文件;
所述对所述原程序包进行解压缩及解密处理,得到原程序文件的步骤,可以包括:
对所述原程序包进行解压缩,得到原加密文件;
利用所述原加密文件,得到原程序文件。
为达到上述目的,本发明实施例还公开了一种增量更新方法,所述更新方法基于上述的增量升级包进行增量更新,所述更新方法包括:
获得所述增量升级包;
对所述增量升级包进行解压缩,得到增量加密文件;
根据存储的历史加密文件的标记信息,确定所述增量加密文件对应的目标历史加密文件;
对所述目标历史加密文件、以及所述增量加密文件进行校验;
校验成功后,得到所述差异文件,利用所述差异文件完成增量更新。
可选的,所述历史加密文件的文件名中包含所述标记信息,所述标记信息为序号,每个历史加密文件的序号利用预设规则确定;
所述根据存储的历史加密文件的标记信息,确定所述增量加密文件对应的目标历史加密文件的步骤,包括:
根据存储的历史加密文件的文件名中包含的序号,对各个历史加密文件进行排序;
根据排序结果确定所述增量加密文件对应的目标历史加密文件。
可选的,所述根据排序结果确定所述增量加密文件对应的目标历史加密文件的步骤,可以包括:
根据排序结果,依次解密读取各个历史加密文件,并根据所读取到的特征值更新文件列表;读取完毕后,所述文件列表中存储的最新特征值对应的历史加密文件为目标历史加密文件;
所述对所述目标历史加密文件、以及所述增量加密文件进行校验的步骤,可以包括:
解密读取所述增量加密文件,根据所读取到的特征值,更新文件列表;
对文件列表中存储的特征值进行校验。
可选的,在所述得到增量加密文件的步骤之后,还可以包括:
利用所述预设规则确定所述增量加密文件的序号;
将所确定的序号添加至所述增量加密文件的文件名中。
为达到上述目的,本发明实施例还公开了一种增量升级包生成装置,包括:
比较模块,用于将新程序文件与原程序文件进行比较,根据比较结果,确定差异文件;
第一生成模块,用于获取所述差异文件的特征值,并根据所述特征值生成增量加密文件;
第二生成模块,用于根据所述增量加密文件及所述差异文件,生成增量升级包,以利用所述增量升级包进行增量更新。
可选的,所述装置还可以包括:
第一拆分模块,用于获得新升级包,将所述新升级包进行拆分,得到新程序包;
第二拆分模块,用于将原升级包进行拆分,得到原程序包;
第一处理模块,用于对所述新程序包进行解压缩及解密处理,得到新程序文件;
第二处理模块,用于对所述原程序包进行解压缩及解密处理,得到原程序文件。
可选的,所述第一处理模块,具体可以用于:
对所述新程序包进行解压缩,得到新加密文件;
利用所述新加密文件,得到新程序文件;
所述第二处理模块,具体用于:
对所述原程序包进行解压缩,得到原加密文件;
利用所述原加密文件,得到原程序文件。
为达到上述目的,本发明实施例还公开了一种增量更新装置,所述更新装置基于上述的增量升级包进行增量更新,所述更新装置包括:
获得模块,用于获得所述增量升级包;
解压缩模块,用于对所述增量升级包进行解压缩,得到增量加密文件;
第一确定模块,用于根据存储的历史加密文件的标记信息,确定所述增量加密文件对应的目标历史加密文件;
校验模块,用于对所述目标历史加密文件、以及所述增量加密文件进行校验;
更新模块,用于校验成功后,得到所述差异文件,利用所述差异文件完成增量更新。
可选的,所述历史加密文件的文件名中包含所述标记信息,所述标记信息为序号,每个历史加密文件的序号利用预设规则确定;所述第一确定模块,可以包括:
排序子模块,用于根据存储的历史加密文件的文件名中包含的序号,对各个历史加密文件进行排序;
确定子模块,用于根据排序结果确定所述增量加密文件对应的目标历史加密文件。
可选的,所述确定子模块,具体可以用于:
根据排序结果,依次解密读取各个历史加密文件,并根据所读取到的特征值更新文件列表;读取完毕后,所述文件列表中存储的最新特征值对应的历史加密文件为目标历史加密文件;
所述校验模块,具体可以用于:
解密读取所述增量加密文件,根据所读取到的特征值,更新文件列表;
对文件列表中存储的特征值进行校验。
可选的,所述装置还可以包括:
第二确定模块,用于利用所述预设规则确定所述增量加密文件的序号;
添加模块,用于将所确定的序号添加至所述增量加密文件的文件名中。
应用本发明实施例提供的增量升级包生成方法及装置,获取差异文件的特征值,根据特征值生成增量加密文件,根据增量加密文件及差异文件,生成增量升级包,以利用增量升级包进行增量更新;由此可见,本方案中的增量升级包中增加了增量加密文件,相比于现有方案仅根据差异文件生成的增量升级包,提高了增量更新的安全性。
应用本发明实施例提供的增量更新方法及装置,电子设备中存储有多个历史加密文件,每个历史加密文件携带标记信息,这样,便可以区分不同的加密文件,避免之前存储的加密文件被之后的加密文件覆盖掉。因此,电子设备能够对固件升级相关的全部加密文件进行特征值校验,校验成功后得到差异文件,利用差异文件进行增量更新。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种增量升级包生成方法的流程示意图;
图2为本发明实施例提供的一种增量更新方法的流程示意图;
图3为本发明实施例提供的一种增量升级包生成装置的结构示意图;
图4为本发明实施例提供的一种增量更新装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种增量升级包生成、增量更新方法及装置。该增量升级包生成方法及装置可以应用于服务器,或者也可以应用于需要进行固件升级的电子设备;该增量更新方法及装置可以应用于各种需要进行固件升级的电子设备,具体不做限定。
下面首先对本发明实施例提供的增量升级包生成方法进行详细说明。为了方便描述,本实施例以执行主体为“服务器”进行说明,执行主体为“需要进行固件升级的电子设备”的方案类似,不再重复描述。
图1为本发明实施例提供的一种增量升级包生成方法的流程示意图,包括:
S101:将新程序文件与原程序文件进行比较,根据比较结果,确定差异文件。
需要说明的是,在S101之前,需要获取新程序文件与原程序文件,具体的,可以获得新升级包,将所述新升级包进行拆分,得到新程序包;将原升级包进行拆分,得到原程序包;对所述新程序包进行解压缩及解密处理,得到新程序文件;对所述原程序包进行解压缩及解密处理,得到原程序文件。
本领域技术人员可以理解,当设备需要进行固件升级时,该设备对应的服务器可以自动下载新升级包,或者,服务器可以在接收到用户发送的“确认升级”之类的指令后,下载新升级包。
服务器每次下载升级包后,可以将该升级包进行存储。这样,服务器中便存储有原升级包。本实施例中,升级包(新升级包及原升级包)中可以包含内核文件和程序包。因此,可以对升级包进行拆分,拆分后得到内核文件和程序包。为了方便描述,将新升级包中的程序包称为新程序包,将原升级包中的程序包称为原程序包。
现有技术中,程序包中包含各种程序文件,而本方案中,程序包中不仅包含各种程序文件,还包含加密文件,加密文件可以根据各程序文件的特征值生成;对程序包解压缩后,首先要对加密文件进行特征值校验,只有在校验通过后,才能得到程序文件;这样,提高了程序包的安全性。
因此,需要对程序包进行解压缩及解密处理,之后得到程序文件。具体的,对新程序包进行解压缩,得到新加密文件;利用新加密文件,得到新程序文件;对原程序包进行解压缩,得到原加密文件;利用原加密文件,得到原程序文件。为了方便描述,将新程序包中的程序文件称为新程序文件,将新程序包中的加密文件称为新加密文件,将原程序包中的程序文件称为原程序文件,将原程序包中的加密文件称为原加密文件。
上面描述“加密文件可以根据各程序文件的特征值生成;对程序包解压缩后,首先要对加密文件进行特征值校验,只有在校验通过后,才能得到程序文件”,也就是利用加密文件得到程序文件的具体过程。
S102:获取所述差异文件的特征值,并根据所述特征值生成增量加密文件。
与程序包中的加密文件类似,增量加密文件也是根据差异文件的特征值生成的。
S103:根据所述增量加密文件及所述差异文件,生成增量升级包,以利用所述增量升级包进行增量更新。
现有技术中,增量升级包中仅包含差异文件,而本方案中,程序包中不仅包含差异文件,还包含加密文件,加密文件根据差异文件的特征值生成。在利用增量升级包进行增量更新的过程中,对增量升级包解压缩后,首先要对增量加密文件进行特征值校验,只有在校验通过后,才能得到差异文件;这样,提高了增量升级包的安全性。
应用本发明图1所示实施例,获取差异文件的特征值,根据特征值生成增量加密文件,根据增量加密文件及差异文件,生成增量升级包,以利用增量升级包进行增量更新;由此可见,本方案中的增量升级包中增加了增量加密文件,相比于现有方案仅根据差异文件生成的增量升级包,提高了增量更新的安全性。
本领域技术人员可以理解,图1所示实施例中生成的增量升级包中增加了增量加密文件,需要进行固件升级的电子设备获得该增量升级包后,需要对固件升级相关的全部加密文件进行特征值校验,只有在这些加密文件都通过校验后,才能利用差异文件进行增量更新。而增量加密文件仅针对差异文件生成,固件升级相关的加密文件不仅包括该增量加密文件,还包括电子设备中存储的其他加密文件。
现有方案中,需要进行固件升级的电子设备一般都是将增量升级包中的文件覆盖掉之前存储的升级包中的文件,这样,增量加密文件会替换掉之前存储的加密文件,因此,利用这种方案,无法完成特征值校验,也就无法完成增量更新。
举例来说,假设电子设备中存储有升级包1,升级包1中包含:程序文件A、B、C、以及与A、B、C相对应的加密文件X(根据A、B、C的特征值征生成X);此次固件升级需要更新程序文件C,差异文件为C’,增量升级包中包括差异文件C’、以及与C’相对应的增量加密文件Y(根据C’的特征值征生成Y)。
此次固件升级相关的程序文件为A、B和C’,相关的加密文件为部分X(对应A和B的部分)以及Y。电子设备不仅要对增量加密文件Y进行校验,还要对X进行校验。
现有方案中,电子设备将增量升级包中的文件覆盖掉之前存储的升级包1中的文件:A、B与C的文件名不同,不会被覆盖掉;C’与C的文件名相同,会被覆盖掉;X与Y的文件名相同(所有加密文件的文件名都相同),会被覆盖掉。也就是说,电子设备中仅存储有A、B、C’和Y,这样显然不能完成校验,也就无法完成增量更新。
为了解决上述技术问题,本发明实施例还提出一种增量更新方法。
图2为本发明实施例提供的一种增量更新方法的流程示意图,本发明图2所示实施例基于本发明图1所示实施例生成的增量升级包进行增量更新。
图2包括:
S201:获得所述增量升级包。
可以理解,服务器可以向电子设备推送增量升级包,或者,电子设备可以主动从服务器中下载增量升级包,等等,具体不做限定。
S202:对所述增量升级包进行解压缩,得到增量加密文件。
本发明图2所示实施例以本发明图1所示实施例为基础,因此,获得的增量升级包中包含增量加密文件。
S203:根据存储的历史加密文件的标记信息,确定所述增量加密文件对应的目标历史加密文件。
本实施例中,电子设备中存储有多个历史加密文件,为了区分不同的加密文件,对每个加密文件进行不同的标记,也就是说,每个加密文件携带不同的标记信息。
举例来说,可以为每个加密文件设置序号,并根据序号对加密文件进行标记,这样,便可以区分不同的加密文件,避免之前存储的加密文件被之后的加密文件覆盖掉。
作为一种实施方式,每当得到增量加密文件后,可以利用所述预设规则确定增量加密文件的序号;将所确定的序号添加至增量加密文件的文件名中。这样,每个历史加密文件的文件名中均包含自身对应的序号。
该排列序号的规则可以根据实际情况进行设定,举个简单的例子,可以为0、1、2……初始加密文件对应的序号为0,下一次获取的加密文件对应的序号为1,再下一次获取的加密文件对应的序号为2,以此类推。
本实施方式中,可以将加密文件对应的序号加入加密文件的文件名中,比如,通常情况下,加密文件的文件名可以为enc.bin;在本实施方式中,初始加密文件的文件名可以为enc.bin.0。
下一次获取到加密文件后,结合该排列序号的规则、以及历史加密文件的文件名中包含的序号0,确定此次获取的加密文件的文件名为enc.bin.1。再下一次获取到加密文件后,结合该排列序号的规则、以及历史加密文件的文件名中包含的序号0和1,确定此次获取的加密文件的文件名为enc.bin.2……以此类推。
本实施方式中,S203可以包括:
根据存储的历史加密文件的文件名中包含的序号,对各个历史加密文件进行排序;根据排序结果确定所述增量加密文件对应的目标历史加密文件。
假设本次固件升级获取到增量升级包,对增量升级包解压缩得到增量加密文件,确定增量加密文件序号为3。也就是说,电子设备中存储有序号0-2的历史加密文件。按照文件名中的序号,对这些历史加密文件进行排序,可以按照序号由小到大的顺序,也可以按照序号由大到小的顺序,具体不做限定。
本实施方式中,序号最大的加密文件为最新的加密文件,可以按照序号由小到大的顺序,依次解密并读取各加密文件。根据上面描述,加密文件是根据程序文件或者差异文件的特征值生成的,因此,对加密文件进行解密读取,得到的便是程序文件或者差异文件的特征值。
作为一种实施方式,可以建立一个文件列表,该文件列表可以为临时建立的,也可以为预先存储在电子设备中的,具体不做限定。
在文件列表中存储所读取到的特征值;并且,每读取一个加密文件,根据所读取到的特征值更新文件列表,也就是说,文件列表中存储的是最新特征值。当读取完所有历史加密文件后,文件列表中存储的最新特征值对应的历史加密文件即为目标历史加密文件。
S204:对所述目标历史加密文件、以及所述增量加密文件进行校验。
延续上述实施方式,读取完所有历史加密文件后,可以进而解密读取增量加密文件,并将所读取到的特征值也写入文件列表中(根据所读取到的增量加密文件的特征值,更新文件列表)。这样,文件列表便与“固件升级相关的全部加密文件”相对应,对文件列表中存储的特征值进行校验,便等同于对目标历史加密文件及增量加密文件进行校验,也就是对“固件升级相关的全部加密文件”进行校验。
举例来说,本次固件升级获取的增量加密文件为Y,Y与程序文件C’相对应。假设序号为2的历史加密文件为L,L与程序文件A相对应;序号为1的历史加密文件为M,M与程序文件A相对应;序号为0的历史加密文件为N,N与程序文件A、B相对应。
先读取N,N与A、B相对应,对N进行解密处理,获得A、B的特征值,将A、B的特征值写入文件列表。
再读取M,M与A相对应,对M进行解密处理,获得A的特征值。M的序号比N大,也就是说相较于N,M为较新的加密文件;因此,将根据M获得的A的特征值替换掉文件列表中的A的特征值,也就是替换掉根据N获得的A的特征值。
再读取L,L与A相对应,对L进行解密处理,获得A的特征值。L的序号比M大,也就是说相较于M,L为较新的加密文件;因此,将根据L获得的A的特征值替换掉文件列表中的A的特征值,也就是替换掉根据M获得的A的特征值。
读取完毕后,文件列表中存储的最新特征值为:根据L获得的A的特征值、以及根据N获得的B的特征值。因此,L及N为目标历史加密文件。
可以进一步读取Y,Y与C’相对应,对Y进行解密处理,获得C’的特征值,将C’的特征值写入文件列表。这样,文件列表中存储有A、B、C’的特征值,也就是“固件升级相关的全部特征值”,对这些特征值进行校验。
S205:校验成功后,得到所述差异文件,利用所述差异文件完成增量更新。
根据上面描述,“需要对固件升级相关的全部加密文件进行特征值校验,只有在这些加密文件都通过校验后,才能利用差异文件进行增量更新。”可以理解,目标历史加密文件及增量加密文件组成了固件升级相关的全部加密文件,因此,需要对这些加密文件进行校验。
这些加密文件全部通过校验后,便可以得到差异文件,进而利用差异文件完成增量更新。
应用本发明图2所示实施例,电子设备中存储有多个历史加密文件,每个历史加密文件携带标记信息,这样,便可以区分不同的加密文件,避免之前存储的加密文件被之后的加密文件覆盖掉。因此,电子设备能够对固件升级相关的全部加密文件进行特征值校验,校验成功后得到差异文件,利用差异文件进行增量更新。
与上述方法实施例相对应,本发明实施例还提供一种增量升级包生成、增量更新装置。
图3为本发明实施例提供的一种增量升级包生成装置的结构示意图,包括:
比较模块301,用于将新程序文件与原程序文件进行比较,根据比较结果,确定差异文件;
第一生成模块302,用于获取所述差异文件的特征值,并根据所述特征值生成增量加密文件;
第二生成模块303,用于根据所述增量加密文件及所述差异文件,生成增量升级包,以利用所述增量升级包进行增量更新。
在本实施例中,所述装置还可以包括:第一拆分模块、第二拆分模块、第一处理模块和第二处理模块(图中未示出),其中,
第一拆分模块,用于获得新升级包,将所述新升级包进行拆分,得到新程序包;
第二拆分模块,用于将原升级包进行拆分,得到原程序包;
第一处理模块,用于对所述新程序包进行解压缩及解密处理,得到新程序文件;
第二处理模块,用于对所述原程序包进行解压缩及解密处理,得到原程序文件。
在本实施例中,所述第一处理模块,具体可以用于:
对所述新程序包进行解压缩,得到新加密文件;
利用所述新加密文件,得到新程序文件;
所述第二处理模块,具体可以用于:
对所述原程序包进行解压缩,得到原加密文件;
利用所述原加密文件,得到原程序文件。
应用本发明图3所示实施例,获取差异文件的特征值,根据特征值生成增量加密文件,根据增量加密文件及差异文件,生成增量升级包,以利用增量升级包进行增量更新;由此可见,本方案中的增量升级包中增加了增量加密文件,相比于现有方案仅根据差异文件生成的增量升级包,提高了增量更新的安全性。
图4为本发明实施例提供的一种增量更新装置的结构示意图,本发明图4所示实施例基于本发明图3所示实施例生成的增量升级包进行增量更新。
图4包括:
获得模块401,用于获得所述增量升级包;
解压缩模块402,用于对所述增量升级包进行解压缩,得到增量加密文件;
第一确定模块403,用于根据存储的历史加密文件的标记信息,确定所述增量加密文件对应的目标历史加密文件;
校验模块404,用于对所述目标历史加密文件、以及所述增量加密文件进行校验;
更新模块405,用于校验成功后,得到所述差异文件,利用所述差异文件完成增量更新。
在本实施例中,所述历史加密文件的文件名中包含所述标记信息,所述标记信息为序号,每个历史加密文件的序号利用预设规则确定;第一确定模块403,可以包括:排序子模块和确定子模块(图中未示出),其中,
排序子模块,用于根据存储的历史加密文件的文件名中包含的序号,对各个历史加密文件进行排序;
确定子模块,用于根据排序结果确定所述增量加密文件对应的目标历史加密文件。
在本实施例中,所述确定子模块,具体可以用于:
根据排序结果,依次解密读取各个历史加密文件,并根据所读取到的特征值更新文件列表;读取完毕后,所述文件列表中存储的最新特征值对应的历史加密文件为目标历史加密文件;
校验模块404,具体可以用于:
解密读取所述增量加密文件,根据所读取到的特征值,更新文件列表;
对文件列表中存储的特征值进行校验。
在本实施例中,所述装置还可以包括:第二确定模块和添加模块(图中未示出),其中,
第二确定模块,用于利用所述预设规则确定所述增量加密文件的序号;
添加模块,用于将所确定的序号添加至所述增量加密文件的文件名中。
应用本发明图4实施例,电子设备中存储有多个历史加密文件,每个历史加密文件携带标记信息,这样,便可以区分不同的加密文件,避免之前存储的加密文件被之后的加密文件覆盖掉。因此,电子设备能够对固件升级相关的全部加密文件进行特征值校验,校验成功后得到差异文件,利用差异文件进行增量更新。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种增量升级包生成方法,其特征在于,包括:
将新程序文件与原程序文件进行比较,根据比较结果,确定差异文件;
获取所述差异文件的特征值,并根据所述特征值生成增量加密文件;
根据所述增量加密文件及所述差异文件,生成增量升级包,以利用所述增量升级包进行增量更新。
2.根据权利要求1所述的方法,其特征在于,在所述将新程序文件与原程序文件进行比较的步骤之前,还包括:
获得新升级包,将所述新升级包进行拆分,得到新程序包;
将原升级包进行拆分,得到原程序包;
对所述新程序包进行解压缩及解密处理,得到新程序文件;
对所述原程序包进行解压缩及解密处理,得到原程序文件。
3.根据权利要求2所述的方法,其特征在于,所述对所述新程序包进行解压缩及解密处理,得到新程序文件的步骤,包括:
对所述新程序包进行解压缩,得到新加密文件;
利用所述新加密文件,得到新程序文件;
所述对所述原程序包进行解压缩及解密处理,得到原程序文件的步骤,包括:
对所述原程序包进行解压缩,得到原加密文件;
利用所述原加密文件,得到原程序文件。
4.一种增量更新方法,其特征在于,所述更新方法基于权利要求1-3任一项所述的增量升级包进行增量更新,所述更新方法包括:
获得所述增量升级包;
对所述增量升级包进行解压缩,得到增量加密文件;
根据存储的历史加密文件的标记信息,确定所述增量加密文件对应的目标历史加密文件;
对所述目标历史加密文件、以及所述增量加密文件进行校验;
校验成功后,得到所述差异文件,利用所述差异文件完成增量更新。
5.根据权利要求4所述的方法,其特征在于,所述历史加密文件的文件名中包含所述标记信息,所述标记信息为序号,每个历史加密文件的序号利用预设规则确定;
所述根据存储的历史加密文件的标记信息,确定所述增量加密文件对应的目标历史加密文件的步骤,包括:
根据存储的历史加密文件的文件名中包含的序号,对各个历史加密文件进行排序;
根据排序结果确定所述增量加密文件对应的目标历史加密文件。
6.根据权利要求5所述的方法,其特征在于,所述根据排序结果确定所述增量加密文件对应的目标历史加密文件的步骤,包括:
根据排序结果,依次解密读取各个历史加密文件,并根据所读取到的特征值更新文件列表;读取完毕后,所述文件列表中存储的最新特征值对应的历史加密文件为目标历史加密文件;
所述对所述目标历史加密文件、以及所述增量加密文件进行校验的步骤,包括:
解密读取所述增量加密文件,根据所读取到的特征值,更新文件列表;
对文件列表中存储的特征值进行校验。
7.根据权利要求6所述的方法,其特征在于,在所述得到增量加密文件的步骤之后,还包括:
利用所述预设规则确定所述增量加密文件的序号;
将所确定的序号添加至所述增量加密文件的文件名中。
8.一种增量升级包生成装置,其特征在于,包括:
比较模块,用于将新程序文件与原程序文件进行比较,根据比较结果,确定差异文件;
第一生成模块,用于获取所述差异文件的特征值,并根据所述特征值生成增量加密文件;
第二生成模块,用于根据所述增量加密文件及所述差异文件,生成增量升级包,以利用所述增量升级包进行增量更新。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一拆分模块,用于获得新升级包,将所述新升级包进行拆分,得到新程序包;
第二拆分模块,用于将原升级包进行拆分,得到原程序包;
第一处理模块,用于对所述新程序包进行解压缩及解密处理,得到新程序文件;
第二处理模块,用于对所述原程序包进行解压缩及解密处理,得到原程序文件。
10.根据权利要求9所述的装置,其特征在于,所述第一处理模块,具体用于:
对所述新程序包进行解压缩,得到新加密文件;
利用所述新加密文件,得到新程序文件;
所述第二处理模块,具体用于:
对所述原程序包进行解压缩,得到原加密文件;
利用所述原加密文件,得到原程序文件。
11.一种增量更新装置,其特征在于,所述更新装置基于权利要求8-10任一项所述的增量升级包进行增量更新,所述更新装置包括:
获得模块,用于获得所述增量升级包;
解压缩模块,用于对所述增量升级包进行解压缩,得到增量加密文件;
第一确定模块,用于根据存储的历史加密文件的标记信息,确定所述增量加密文件对应的目标历史加密文件;
校验模块,用于对所述目标历史加密文件、以及所述增量加密文件进行校验;
更新模块,用于校验成功后,得到所述差异文件,利用所述差异文件完成增量更新。
12.根据权利要求11所述的装置,其特征在于,所述历史加密文件的文件名中包含所述标记信息,所述标记信息为序号,每个历史加密文件的序号利用预设规则确定;所述第一确定模块,包括:
排序子模块,用于根据存储的历史加密文件的文件名中包含的序号,对各个历史加密文件进行排序;
确定子模块,用于根据排序结果确定所述增量加密文件对应的目标历史加密文件。
13.根据权利要求12所述的装置,其特征在于,所述确定子模块,具体用于:
根据排序结果,依次解密读取各个历史加密文件,并根据所读取到的特征值更新文件列表;读取完毕后,所述文件列表中存储的最新特征值对应的历史加密文件为目标历史加密文件;
所述校验模块,具体用于:
解密读取所述增量加密文件,根据所读取到的特征值,更新文件列表;
对文件列表中存储的特征值进行校验。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于利用所述预设规则确定所述增量加密文件的序号;
添加模块,用于将所确定的序号添加至所述增量加密文件的文件名中。
CN201710030681.XA 2017-01-17 2017-01-17 一种增量升级包生成、增量更新方法及装置 Active CN108334771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710030681.XA CN108334771B (zh) 2017-01-17 2017-01-17 一种增量升级包生成、增量更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710030681.XA CN108334771B (zh) 2017-01-17 2017-01-17 一种增量升级包生成、增量更新方法及装置

Publications (2)

Publication Number Publication Date
CN108334771A true CN108334771A (zh) 2018-07-27
CN108334771B CN108334771B (zh) 2021-03-12

Family

ID=62922626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710030681.XA Active CN108334771B (zh) 2017-01-17 2017-01-17 一种增量升级包生成、增量更新方法及装置

Country Status (1)

Country Link
CN (1) CN108334771B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634979A (zh) * 2019-01-04 2019-04-16 北京互金新融科技有限公司 数据更新方法及装置
CN111830918A (zh) * 2020-07-20 2020-10-27 北京广利核系统工程有限公司 一种基于eplan平台的核电dcs控制机柜成套图升版方法及系统
CN112631640A (zh) * 2020-12-23 2021-04-09 苏州三六零智能安全科技有限公司 补丁生成方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883139A (zh) * 2010-06-11 2010-11-10 华为终端有限公司 外设设备软件升级的方法、计算机及系统
US20110022691A1 (en) * 2009-07-24 2011-01-27 Cisco Technology, Inc. Optimizing fibre channel zoneset configuration and activation
CN102707977A (zh) * 2012-05-17 2012-10-03 江苏中科梦兰电子科技有限公司 一种基于Android应用软件的增量升级方法
CN103647816A (zh) * 2013-12-03 2014-03-19 北京奇虎科技有限公司 一种应用软件升级的方法及装置
CN104216736A (zh) * 2014-08-14 2014-12-17 小米科技有限责任公司 增量升级方法、装置及终端设备
CN104378397A (zh) * 2013-08-15 2015-02-25 世纪禾光科技发展(北京)有限公司 一种程序包增量更新发布的方法与系统
CN104978215A (zh) * 2014-10-08 2015-10-14 腾讯科技(深圳)有限公司 一种文件更新方法、相关设备和系统
CN105205074A (zh) * 2014-06-25 2015-12-30 优视科技有限公司 文件增量升级方法及系统
CN105739971A (zh) * 2016-01-20 2016-07-06 网易(杭州)网络有限公司 校验文件的生成、使用方法及装置
CN106302753A (zh) * 2016-08-18 2017-01-04 福建天泉教育科技有限公司 客户端程序增量更新的方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110022691A1 (en) * 2009-07-24 2011-01-27 Cisco Technology, Inc. Optimizing fibre channel zoneset configuration and activation
CN101883139A (zh) * 2010-06-11 2010-11-10 华为终端有限公司 外设设备软件升级的方法、计算机及系统
CN102707977A (zh) * 2012-05-17 2012-10-03 江苏中科梦兰电子科技有限公司 一种基于Android应用软件的增量升级方法
CN104378397A (zh) * 2013-08-15 2015-02-25 世纪禾光科技发展(北京)有限公司 一种程序包增量更新发布的方法与系统
CN103647816A (zh) * 2013-12-03 2014-03-19 北京奇虎科技有限公司 一种应用软件升级的方法及装置
CN105205074A (zh) * 2014-06-25 2015-12-30 优视科技有限公司 文件增量升级方法及系统
CN104216736A (zh) * 2014-08-14 2014-12-17 小米科技有限责任公司 增量升级方法、装置及终端设备
CN104978215A (zh) * 2014-10-08 2015-10-14 腾讯科技(深圳)有限公司 一种文件更新方法、相关设备和系统
CN105739971A (zh) * 2016-01-20 2016-07-06 网易(杭州)网络有限公司 校验文件的生成、使用方法及装置
CN106302753A (zh) * 2016-08-18 2017-01-04 福建天泉教育科技有限公司 客户端程序增量更新的方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634979A (zh) * 2019-01-04 2019-04-16 北京互金新融科技有限公司 数据更新方法及装置
CN111830918A (zh) * 2020-07-20 2020-10-27 北京广利核系统工程有限公司 一种基于eplan平台的核电dcs控制机柜成套图升版方法及系统
CN112631640A (zh) * 2020-12-23 2021-04-09 苏州三六零智能安全科技有限公司 补丁生成方法、装置、设备及存储介质
CN112631640B (zh) * 2020-12-23 2022-11-04 苏州三六零智能安全科技有限公司 补丁生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108334771B (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
CN107704280B (zh) 应用程序升级方法及系统
EP1333375B1 (en) Software patch generator
US8656175B2 (en) Secure processing device, secure processing method, encrypted confidential information embedding method, program, storage medium, and integrated circuit
US9066226B2 (en) Initialization of embedded secure elements
CN108334771A (zh) 一种增量升级包生成、增量更新方法及装置
EP3806382A1 (en) Virtual key binding method and system
EP2705725A1 (en) Managing data for authentication devices
CN108848064B (zh) 授权管理方法及系统
CN109787774A (zh) 基于数字签名校验的升级下载方法、装置、服务器及终端
CN107908632B (zh) 网站文件处理方法、装置、网站文件处理平台及存储介质
CN107193612A (zh) 一种移动终端的版本升级方法及装置
JP4575416B2 (ja) テストデータ生成システム、テストデータ生成方法及びテストデータ生成プログラム
CN108809960A (zh) 一种文件上传及下载方法、装置、设备、系统及存储介质
CN108418893A (zh) 一种智能设备固件安全升级的方法
CN102037473A (zh) 信息处理装置、信息处理方法、实现它们的计算机程序及集成电路
RU2020108662A (ru) Криптографическое устройство и способ
CN104980268A (zh) 密钥产生设备和用于产生密钥的方法
CN109359471B (zh) 基于用户身份的加密方法、装置、系统、设备和介质
CN109462475B (zh) 数据加密方法、解密方法及相关装置
CN109408486B (zh) 文件发布方法和系统、发布服务器和文件生成装置
CN107179925A (zh) 热更新方法及装置
CN116451238A (zh) 一种ecu固件升级方法、装置、设备及可读存储介质
CN113839780A (zh) 加密方法、解密方法、服务器及存储介质
CN107644381A (zh) 保单信息修改方法和装置
US9292698B1 (en) Method and system for remote forensic data collection

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