一种增量升级的备份方法及装置转让专利

申请号 : CN201410605593.4

文献号 : CN105550060B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭芃

申请人 : TCL集团股份有限公司

摘要 :

本发明适用于android系统的软件升级领域,提供了一种增量升级的备份方法及装置,所述方法包括:在打开增量升级包时,创建备份包,所述备份包用于保存系统还原所需的系统还原文件与系统还原控制信息文件;根据所述增量升级包的信息对系统软件进行升级;在升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中;在升级结束后关闭所述增量升级包;在备份结束后关闭所述备份包。本发明实施例能够提高资源利用率。

权利要求 :

1.一种增量升级的备份方法,其特征在于,所述方法包括下述步骤:

在打开增量升级包时,创建备份包,所述增量升级包的信息包括多个系统升级文件与系统升级控制信息文件,所述备份包用于保存系统还原所需的系统还原文件与系统还原控制信息文件,所述备份包还存储有升级后新增的文件的记录信息;

根据所述增量升级包的信息对系统软件进行升级;

在升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中,具体包括:在备份包的删除列表中记录所述系统升级文件中包含的新增文件的唯一标识;

在备份包中存入所述系统软件中与所述升级文件包含的补丁文件对应的补丁文件;在备份包中存入所述系统升级文件包含的删除列表中的文件标识对应的文件;其中,上述记录有新增文件的唯一标识的删除列表、存入的补丁文件、以及存入的文件都属于系统还原文件;

在备份包中存入运行删除文件操作、替换文件操作以及新增文件操作的脚本文件,存入的脚本文件作为系统还原控制信息文件;

在升级结束后关闭所述增量升级包;

在备份结束后关闭所述备份包。

2.如权利要求1所述的方法,其特征在于,所述根据所述增量升级包的信息对系统软件进行升级的步骤具体包括:校验所述增量升级包的平台信息;

在所述增量升级包的平台信息与系统软件当前运行的平台匹配时,采用所述系统升级控制信息文件将所述系统升级文件中包含的新增文件新增至所述系统软件,将所述系统升级文件包含的补丁文件替换在所述系统软件中与所述升级文件包含的补丁文件对应的补丁文件,以及根据所述系统升级文件包含的删除列表中的文件标识,删除所述系统升级文件包含的删除列表中的文件标识对应的文件。

3.如权利要求1所述的方法,其特征在于,在所述在备份包中存入所述系统升级文件包含的删除列表中的文件标识对应的文件时,包括下述步骤:在备份包中存入需要增加的新增文件的权限值;所述需要增加的新增文件为所述系统升级文件包含的删除列表中的文件标识对应的文件。

4.一种增量升级的备份装置,其特征在于,所述装置包括:

备份包创建单元,用于在打开增量升级包时,创建备份包,所述增量升级包的信息包括多个系统升级文件与系统升级控制信息文件,所述备份包用于保存系统还原所需的系统还原文件与系统还原控制信息文件,所述备份包还存储有升级后新增的文件的记录信息;

软件升级单元,用于根据所述增量升级包的信息对系统软件进行升级;

软件备份单元,用于在升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中,所述软件备份单元具体包括:系统还原文件确定模块,用于在备份包的删除列表中记录所述系统升级文件中包含的新增文件的唯一标识;在备份包中存入所述系统软件中与所述升级文件包含的补丁文件对应的补丁文件;在备份包中存入所述系统升级文件包含的删除列表中的文件标识对应的文件;其中,上述记录有新增文件的唯一标识的删除列表、存入的补丁文件、以及存入的文件都属于系统还原文件;系统还原控制信息文件确定模块,在备份包中存入运行删除文件操作、替换文件操作以及新增文件操作的脚本文件,存入的脚本文件作为系统还原控制信息文件;

增量升级包关闭单元,用于在升级结束后关闭所述增量升级包;

备份包关闭单元,用于在备份结束后关闭所述备份包。

5.如权利要求4所述的装置,其特征在于,所述软件升级单元包括:

平台信息校验模块,用于校验所述增量升级包的平台信息;

补丁合并模块,用于在所述增量升级包的平台信息与系统软件当前运行的平台匹配时,采用所述系统升级控制信息文件将所述系统升级文件中包含的新增文件新增至所述系统软件,将所述系统升级文件包含的补丁文件替换在所述系统软件中与所述升级文件包含的补丁文件对应的补丁文件,以及根据所述系统升级文件包含的删除列表中的文件标识,删除所述系统升级文件包含的删除列表中的文件标识对应的文件。

6.如权利要求4所述的装置,其特征在于,所述装置包括:

权限值记录单元,用于在备份包中存入需要增加的新增文件的权限值;所述需要增加的新增文件为所述系统升级文件包含的删除列表中的文件标识对应的文件。

说明书 :

一种增量升级的备份方法及装置

技术领域

[0001] 本发明属于android系统的软件升级领域,尤其涉及一种增量升级的备份方法及装置。

背景技术

[0002] 增量升级是现在android系统主流的升级方式,其具备体积小,下载速度快等特征。但是,目前的增量升级只支持单向升级,也就是低版本往高版本升级,若用户升级过后对高版本不满意的话,是无法回退到之前的低版本的,这时,若用户需要安装之前的低版本,则需要对历史版本做完整的系统备份,而完整的系统备份会占据大量的磁盘空间,从而造成资源浪费。

发明内容

[0003] 本发明实施例提供了一种增量升级的备份方法,旨在解决现有方法在备份历史版本时需要完整的系统备份,从而导致资源浪费的问题。
[0004] 本发明实施例是这样实现的,一种增量升级的备份方法,所述方法包括下述步骤:
[0005] 在打开增量升级包时,创建备份包,所述增量升级包的信息包括多个系统升级文件与系统升级控制信息文件,所述备份包用于保存系统还原所需的系统还原文件与系统还原控制信息文件;
[0006] 根据所述增量升级包的信息对系统软件进行升级;
[0007] 在升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中;
[0008] 在升级结束后关闭所述增量升级包;
[0009] 在备份结束后关闭所述备份包。
[0010] 本发明实施例的另一目的在于提供一种增量升级的备份装置,所述装置包括:
[0011] 备份包创建单元,用于在打开增量升级包时,创建备份包,所述增量升级包的信息包括多个系统升级文件与系统升级控制信息文件,所述备份包用于保存系统还原所需的系统还原文件与系统还原控制信息文件;
[0012] 软件升级单元,用于根据所述增量升级包的信息对系统软件进行升级;
[0013] 软件备份单元,用于在升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中;
[0014] 增量升级包关闭单元,用于在升级结束后关闭所述增量升级包;
[0015] 备份包关闭单元,用于在备份结束后关闭所述备份包。
[0016] 在本发明实施例中,由于无需对升级前的系统软件做完整的系统备份,就能根据备份包以及升级后的系统软件恢复为升级前的系统软件,而备份包占用的内存空间与增量升级包占用的内存空间基本相同,远小于对升级前的系统软件做完整的系统备份占用的内存空间,因此,本申请的备份方法能够极大节约存储空间,提高资源利用率。

附图说明

[0017] 图1是本发明第一实施例提供的一种增量升级的备份方法的流程图;
[0018] 图2是本发明第二实施例提供的一种增量升级的备份装置的结构图。

具体实施方式

[0019] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0020] 本发明实施例中,在根据增量升级包的信息对系统软件进行升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中。
[0021] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0022] 实施例一:
[0023] 图1示出了本发明第一实施例提供的一种增量升级的备份方法的流程图,本实施例中,在采用增量升级包对系统软件进行增量升级的同时,根据增量升级包的信息以及系统软件的原有信息对升级前的系统软件信息进行备份,详述如下:
[0024] 步骤S11,在打开增量升级包时,创建备份包,所述增量升级包的信息包括多个系统升级文件与系统升级控制信息文件,所述备份包用于保存系统还原所需的系统还原文件与系统还原控制信息文件。
[0025] 其中,系统升级文件包括补丁文件和升级文件(如删除文件列表、新增文件等),系统升级控制信息文件包括运行删除文件操作、替换文件操作以及新增文件操作所需的脚本文件。
[0026] 优选地,在打开增量升级包之前,需要对增量升级包进行签名校验,以判断该增量升级包是否合法、安全。在打开增量升级包时,同时创建备份包,创建备份包可通过直接复制增量升级包得到,也可直接通过创建一个空的文件夹作为备份包。若通过直接复制增量升级包得到,则在备份包被创建之初,其包含的内容与增量升级包的完全相同,比如,一个增量升级包通常包括以下内容:补丁(pach)文件、sha1值校验脚本、删除文件列表、平台校验信息、新增文件夹及在该新增文件夹的新增文件等,则创建的备份包也包括上述内容。其中,sha1值为文件通过安全哈希算法得到的消息摘要,根据判断该sha1值是否发生变化可判断该sha1值对应的文件的数据是否发生变化。当然,增量升级包还可以包括新增文件脚本文件、新增文件权限修改脚本文件、删除文件脚本文件等等,此处不再一一列举。
[0027] 步骤S12,根据所述增量升级包的信息对系统软件进行升级。
[0028] 其中,所述根据所述增量升级包的信息对软件进行升级的步骤具体包括:
[0029] A1、校验所述增量升级包的平台信息。该步骤中,校验增量升级包的平台信息主要是判断该增量升级包适用的平台与将要升级的软件所处的平台是否匹配。
[0030] A2、在所述增量升级包的平台信息与系统软件当前运行的平台匹配时,采用所述系统升级控制信息文件将所述系统升级文件中包含的新增文件新增至所述系统软件,将所述系统升级文件包含的补丁文件替换在所述系统软件中与所述升级文件包含的补丁文件对应的补丁文件,以及根据所述系统升级文件包含的删除列表中的文件标识,删除所述系统升级文件包含的删除列表中的文件标识对应的文件。具体地,在增量升级包的平台信息与系统软件当前运行的平台信息相匹配时,依次验证所有补丁(pach)的sha1值,并在验证通过时,依次合并所有的pach。其中,pach的sha1值为与pach的内容对应的字符串。
[0031] 步骤S13,在升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中。
[0032] 具体地,所述根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中的步骤具体包括:
[0033] B1、在备份包的删除列表中记录所述系统升级文件中包含的新增文件的唯一标识;在备份包中存入所述系统软件中与所述升级文件包含的补丁文件对应的补丁文件;在备份包中存入所述系统升级文件包含的删除列表中的文件标识对应的文件;其中,上述记录有新增文件的唯一标识的删除列表、存入的补丁文件、以及存入的文件都属于系统还原文件。在该步骤中,将系统软件新增的文件作为备份包中将要删除的文件;将系统软件删除的文件作为备份包中将要新增的文件;将系统文件被替换之前的补丁文件作为备份包的补丁文件。
[0034] B2、在备份包中存入运行删除文件操作、替换文件操作以及新增文件操作的脚本文件,存入的脚本文件作为系统还原控制信息文件。
[0035] 通过上述步骤,使得备份包存储的补丁不再是高版本的补丁,而是低版本的补丁。
[0036] 优选地,在所述在备份包中存入所述系统升级文件包含的删除列表中的文件标识对应的文件时,包括下述步骤:
[0037] 在备份包中存入需要增加的新增文件的权限值;所述需要增加的新增文件为所述系统升级文件包含的删除列表中的文件标识对应的文件。
[0038] 该步骤中,系统升级文件包含的删除列表中的文件标识对应的文件作为备份包的新增文件,即为从低版本升级到高版本新增的文件,将该新增文件对应的权限修改脚本文件记录的权限值,修改为系统升级文件包含的删除列表中的文件所对应的权限修改脚本文件的权限值。这样,当系统软件需要从高版本降为低版本时,可通过备份包中记录的权限值对备份包存储的新增文件执行相应的操作。
[0039] 步骤S14,在升级结束后关闭所述增量升级包。
[0040] 该步骤中,关闭增量升级包,升级完成。进一步地,可在升级结束后删除增量升级包,以减少内存占用。
[0041] 步骤S15,在备份结束后关闭所述备份包。
[0042] 在该步骤中,当关闭备份包之后,重新对该备份包执行签名操作,以便后续升级时对该备份包进行签名校验。
[0043] 本发明第一实施例中,在根据增量升级包的信息对软件进行升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中。即在升级过程中,采用升级包的补丁文件替换系统软件对应的原始文件,并在替换过程中,把将要替换的原始文件保存在备份包中,且所述备份包还存储有升级后新增的文件的记录信息,从而实现同时升级和备份的目的。由于无需对升级前的系统软件做完整的系统备份,就能根据备份包以及升级后的系统软件恢复为升级前的软件,而备份包占用的内存空间与增量升级包占用的内存空间基本相同,远小于对升级前的系统软件做完整的系统备份占用的内存空间,因此,本申请的备份方法能够极大节约存储空间,提高资源利用率。
[0044] 实施例二:
[0045] 图2示出了本发明第二实施例提供的一种增量升级的备份装置的结构图,在本公开中描述的增量升级的备份装置可以应用于诸如数字电视、台式计算机等固定终端。为了便于说明,仅示出了与本发明实施例相关的部分。
[0046] 所述增量升级的备份装置包括:备份包创建单元21、软件升级单元22、软件备份单元23、增量升级包关闭单元24、备份包关闭单元25。其中:
[0047] 备份包创建单元31,用于在打开增量升级包时,创建备份包,所述增量升级包的信息包括多个系统升级文件与系统升级控制信息文件,所述备份包用于保存系统还原所需的系统还原文件与系统还原控制信息文件。
[0048] 其中,系统升级文件包括补丁文件和升级文件(如删除文件列表、新增文件等),系统升级控制信息文件包括运行删除文件操作、替换文件操作以及新增文件操作所需的脚本文件。
[0049] 优选地,在打开增量升级包之前,需要对增量升级包进行签名校验,以判断该增量升级包是否合法、安全。其中,创建的备份包可通过直接复制增量升级包得到,也可直接通过创建一个空的文件夹作为备份包。
[0050] 软件升级单元32,用于根据所述增量升级包的信息对系统软件进行升级。
[0051] 优选地,所述软件升级单元32包括:
[0052] 平台信息校验模块,用于校验所述增量升级包的平台信息。其中,校验增量升级包的平台信息主要是判断该增量升级包适用的平台与将要升级的软件所处的平台是否匹配。
[0053] 补丁合并模块,用于在所述增量升级包的平台信息与系统软件当前运行的平台匹配时,采用所述系统升级控制信息文件将所述系统升级文件中包含的新增文件新增至所述系统软件,将所述系统升级文件包含的补丁文件替换在所述系统软件中与所述升级文件包含的补丁文件对应的补丁文件,以及根据所述系统升级文件包含的删除列表中的文件标识,删除所述系统升级文件包含的删除列表中的文件标识对应的文件。
[0054] 具体地,在增量升级包的平台信息与软件当前运行的平台信息相匹配时,依次验证所有pach的sha1值,并在验证通过时,依次合并所有的pach。其中,pach的sha1值为以pach的内容对应的字符串。
[0055] 软件备份单元33,用于在升级的同时,根据所述增量升级包的信息以及系统软件的原有信息对升级前的系统差异文件进行备份,生成系统还原文件与系统还原控制信息文件,并保存在所述备份包中。
[0056] 其中,所述软件备份单元33包括:
[0057] 系统还原文件确定模块,用于在备份包的删除列表中记录所述系统升级文件中包含的新增文件的唯一标识;在备份包中存入所述系统软件中与所述升级文件包含的补丁文件对应的补丁文件;在备份包中存入所述系统升级文件包含的删除列表中的文件标识对应的文件;其中,上述记录有新增文件的唯一标识的删除列表、存入的补丁文件、以及存入的文件都属于系统还原文件;
[0058] 系统还原控制信息文件确定模块,在备份包中存入运行删除文件操作、替换文件操作以及新增文件操作的脚本文件,存入的脚本文件作为系统还原控制信息文件。
[0059] 优选地,权限值记录单元,用于在备份包中存入需要增加的新增文件的权限值;所述需要增加的新增文件为所述系统升级文件包含的删除列表中的文件标识对应的文件。
[0060] 其中,系统升级文件包含的删除列表中的文件标识对应的文件作为备份包的新增文件。
[0061] 增量升级包关闭单元34,用于在升级结束后关闭所述增量升级包。
[0062] 进一步地,可在升级结束后删除增量升级包,以减少内存占用。
[0063] 备份包关闭单元35,用于在备份结束后关闭所述备份包。
[0064] 其中,当关闭备份包之后,重新对该备份包执行签名操作,以便后续升级时对该备份包进行签名校验。
[0065] 在本发明实施例中,由于无需对升级前的软件做完整的系统备份,就能根据备份包以及升级后的系统软件恢复为升级前的系统软件,而备份包占用的内存空间与增量升级包占用的内存空间基本相同,远小于对升级前的系统软件做完整的系统备份占用的内存空间,因此,本申请能够极大节约存储空间,提高资源利用率。
[0066] 本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
[0067] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。