一种软件版本还原的方法和装置制造方法及图纸

技术编号:14896071 阅读:49 留言:0更新日期:2017-03-29 11:14
本发明专利技术公开了一种软件版本还原的方法和装置。该方法包括:获取软件的已安装版本对应的第一安装文件和待更新版本对应的第二安装文件;比对出所述第一安装文件相对于所述第二安装文件的差异部分并保存为备份文件;当检测到软件还原激活事件时,将所述备份文件替换所述第二安装文件相对于所述第一安装文件的差异部分。通过对安装前后的两个版本的安装文件进行比对,保存两个安装文件的差异部分,需要软件还原时直接将差异部分替换到已安装版本的对应位置,实现软件版本的快速还原,保证用户对软件的继续使用。

【技术实现步骤摘要】

本专利技术涉及软件
,尤其涉及一种软件版本还原的方法和装置。
技术介绍
大多数软件都是运行在特定系统上的,随着时间推移,系统会进行版本迭代,为了更好的适应系统的更新,软件也需要随着系统的更新进行适配,这种软件与系统更新的适配造成软件应该是兼容特定区间的系统版本。所以当系统升级或者软件版本升级之后,有可能会出现软件闪退、报错等无法正常使用的情况。而在软件出现问题之后,软件的提供者从接收到反馈到解决问题,可能需要较长的一段时间,那么在这段时间内如果用户无法使用此软件,将会对用户造成不便。
技术实现思路
本专利技术提供了一种软件版本还原的方法和装置,以解决现有技术中软件升级后不可用给用户带来的不便。为实现上述设计,本专利技术采用以下技术方案:一方面采用一种软件版本还原的方法,包括:获取软件的已安装版本对应的第一安装文件和待更新版本对应的第二安装文件;比对出所述第一安装文件相对于所述第二安装文件的差异部分并保存为备份文件;当检测到软件还原激活事件时,将所述备份文件替换所述第二安装文件相对于所述第一安装文件的差异部分。其中,所述比对出所述第一安装文件相对于所述第二安装文件的差异部分并保存为备份文件,包括:将所述第一安装文件和第二安装文件进行二进制比对;比对出所述第一安装文件的二进制数据相对于所述第二安装文件的二进制数据的差异部分;将所述差异部分的二进制数据保存为备份文件。其中,所述备份文件包括定位戳和二进制数据;所述比对出所述第一安装文件的二进制数据相对于所述第二安装文件的二进制数据的差异部分,具体为:比对所述第一安装文件的二进制数据与所述第二安装文件的二进制数据发现差异数据段时,记录所述第二安装文件的二进制数据中差异数据段的起点和终点,以及所述第一安装文件的二进制数据中的差异数据段;所述将所述差异部分的二进制数据保存为备份文件,具体为:所述第二安装文件的二进制中差异数据段的起点和终点作为定位戳与所述第一安装文件的二进制数据中的差异数据段对应关联保存为备份文件。其中,所述当检测到软件还原激活事件时,将所述备份文件替换所述第二安装文件相对于所述第一安装文件的差异部分,包括:当检测到所述软件运行报错达到预设次数或检测到软件还原指令时,软件还原激活;读取所述备份文件中的定位戳,根据所述定位戳定位出所述软件当前的安装文件的二进制数据中的二进制数据段;将所述定位戳对应关联保存的二进制数据替换定位出的二进制数据段。其中,所述备份文件保存于独立的存储分区,所述备份文件的名称包括软件名和版本号;所述将所述差异部分的二进制数据保存为备份文件之前,还包括:判断所述存储分区的剩余存储空间是否能保存所述备份文件;若所述剩余存储空间不能保存所述备份文件,则删除所述软件名对应的版本号最早的备份文件。另一方面采用一种软件版本还原的装置,包括:安装文件获取单元,用于获取软件的已安装版本对应的第一安装文件和待更新版本对应的第二安装文件;备份文件生成单元,用于比对出所述第一安装文件相对于所述第二安装文件的差异部分并保存为备份文件;版本还原执行单元,用于当检测到软件还原激活事件时,将所述备份文件替换所述第二安装文件相对于所述第一安装文件的差异部分。其中,所述备份文件生成单元,包括:二进制比对模块,用于将所述第一安装文件和第二安装文件进行二进制比对;差异部分确认模块,用于比对出所述第一安装文件的二进制数据相对于所述第二安装文件的二进制数据的差异部分;差异部分保存模块,用于将所述差异部分的二进制数据保存为备份文件。其中,所述备份文件包括定位戳和二进制数据;所述差异部分确认模块,具体用于:比对所述第一安装文件的二进制数据与所述第二安装文件的二进制数据发现差异数据段时,记录所述第二安装文件的二进制数据中差异数据段的起点和终点,以及所述第一安装文件的二进制数据中的差异数据段;所述差异部分保存模块,具体用于:所述第二安装文件的二进制中差异数据段的起点和终点作为定位戳与所述第一安装文件的二进制数据中的差异数据段对应关联保存为备份文件。其中,所述版本还原执行单元,包括:指令激活模块,用于当检测到所述软件运行报错达到预设次数或检测到软件还原指令时,软件还原激活;数据定位模块,用于读取所述备份文件中的定位戳,根据所述定位戳定位出所述软件当前的安装文件的二进制数据中的二进制数据段;数据替换模块,用于将所述定位戳对应关联保存的二进制数据替换定位出的二进制数据段。其中,所述备份文件保存于独立的存储分区,所述备份文件的名称包括软件名和版本号;所述装置,还包括:存储空间判断单元,用于判断所述存储分区的剩余存储空间是否能保存所述备份文件;备份文件删除单元,用于若所述剩余存储空间不能保存所述备份文件,则删除所述软件名对应的版本号最早的备份文件。本专利技术的有益效果为:在软件更新时获取软件的已安装版本对应的第一安装文件和待更新版本对应的第二安装文件;比对出所述第一安装文件相对于所述第二安装文件的差异部分并保存为备份文件;当检测到软件还原激活事件时,将所述备份文件替换所述第二安装文件相对于所述第一安装文件的差异部分。通过对安装前后的两个版本的安装文件进行比对,保存两个安装文件的差异部分,需要软件还原时直接将差异部分替换到已安装版本的对应位置,实现软件版本的快速还原,保证用户对软件的继续使用。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对本专利技术实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本专利技术实施例的内容和这些附图获得其它的附图。图1是本专利技术具体实施方式中提供的一种软件版本还原的方法的第一实施例的方法流程图。图2是本专利技术具体实施方式中提供的一种软件版本还原的方法的第二实施例的方法流程图。图3是本专利技术具体实施方式中提供的一种软件版本还原的装置的第一实施例的结构方框图。图4是本专利技术具体实施方式中提供的一种软件版本还原的装置的第二实施例的结构方框图。具体实施方式为使本专利技术解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本专利技术实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。请参考图1,其是本专利技术具体实施方式中提供的一种软件版本还原的方法的第一实施例的方法流程图,如图所示,该方法包括:步骤S11:获取软件的已安装版本对应的第一安装文件和待更新版本对应的第二安装文件。在实际使用中,软件版本升级后并不一定能够正常使用,产生这种不可使用的原因有多种,例如系统版本高于或者低于应用使用的接口对应的系统版本、软件本身的设计缺陷、软件数据被异常损坏等。软件更新前的版本经常是可用的,如果软件更新后的版本不可用,可以考虑将版本还原到原有的安装版本,一般而言,已安装的原有的版本低于待更新的新的版本。为实现软件版本的还原,本方案重新设计了版本还原策略。软件安装和运行的基础是安装文件,不同版本的软件对应有不同的安装文件,一般而言,软件新版本的安装会覆盖替换原有的安装文件,如果原有版本的安装文件被覆盖替换不做本文档来自技高网...
一种软件版本还原的方法和装置

【技术保护点】
一种软件版本还原的方法,其特征在于,包括:获取软件的已安装版本对应的第一安装文件和待更新版本对应的第二安装文件;比对出所述第一安装文件相对于所述第二安装文件的差异部分并保存为备份文件;当检测到软件还原激活事件时,将所述备份文件替换所述第二安装文件相对于所述第一安装文件的差异部分。

【技术特征摘要】
1.一种软件版本还原的方法,其特征在于,包括:获取软件的已安装版本对应的第一安装文件和待更新版本对应的第二安装文件;比对出所述第一安装文件相对于所述第二安装文件的差异部分并保存为备份文件;当检测到软件还原激活事件时,将所述备份文件替换所述第二安装文件相对于所述第一安装文件的差异部分。2.根据权利要求1所述的方法,其特征在于,所述比对出所述第一安装文件相对于所述第二安装文件的差异部分并保存为备份文件,包括:将所述第一安装文件和第二安装文件进行二进制比对;比对出所述第一安装文件的二进制数据相对于所述第二安装文件的二进制数据的差异部分;将所述差异部分的二进制数据保存为备份文件。3.根据权利要求2所述的方法,其特征在于,所述备份文件包括定位戳和二进制数据;所述比对出所述第一安装文件的二进制数据相对于所述第二安装文件的二进制数据的差异部分,具体为:比对所述第一安装文件的二进制数据与所述第二安装文件的二进制数据发现差异数据段时,记录所述第二安装文件的二进制数据中差异数据段的起点和终点,以及所述第一安装文件的二进制数据中的差异数据段;所述将所述差异部分的二进制数据保存为备份文件,具体为:所述第二安装文件的二进制中差异数据段的起点和终点作为定位戳与所述第一安装文件的二进制数据中的差异数据段对应关联保存为备份文件。4.根据权利要求3所述的方法,其特征在于,所述当检测到软件还原激活事件时,将所述备份文件替换所述第二安装文件相对于所述第一安装文件的差异部分,包括:当检测到所述软件运行报错达到预设次数或检测到软件还原指令时,软件还原激活;读取所述备份文件中的定位戳,根据所述定位戳定位出所述软件当前的安装文件的二进制数据中的二进制数据段;将所述定位戳对应关联保存的二进制数据替换定位出的二进制数据段。5.根据权利要求1所述的方法,其特征在于,所述备份文件保存于独立的存储分区,所述备份文件的名称包括软件名和版本号;所述将所述差异部分的二进制数据保存为备份文件之前,还包括:判断所述存储分区的剩余存储空间是否能保存所述备份文件;若所述剩余存储空间不能保存所述备份文件,则删除所述软件名对应的版本号最早...

【专利技术属性】
技术研发人员:李江海
申请(专利权)人:广州视源电子科技股份有限公司
类型:发明
国别省市:广东;44

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

1