一种终端设备软件升级恢复方法及装置制造方法及图纸

技术编号:2917919 阅读:234 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种终端设备软件的升级恢复方法,包括:获取新版的软件包数据;确定待更新的目标数据块,并保存所述目标数据块;比较所述新版的软件包数据与所述目标数据块,得到差异数据集,并保存所述差异数据集;利用获取新版的软件包数据更新所述目标数据块;若更新操作失败,则根据所述差异数据集将所述软件恢复到原有版本。本发明专利技术还提供相应的可采用该方法进行软件升级的终端设备。根据本发明专利技术,在软件升级异常时,可实现终端软件的自动恢复,自动还原为升级前的原有软件版本,保护了终端设备。

【技术实现步骤摘要】

本专利技术涉及通信
,具体涉及终端设备软件升级恢复方法及装置
技术介绍
终端设备的软件升级是一个现实且基本的需求。通过软件升级,可以解决原软件存在的BUG,或者为设备提供新的软件功能。当升级过程中发生异常,如断电或升级程序故障等,如果升级方案无法使终端软件自动恢复为原版本的软件,则将导致软件被破坏,终端设备无法继续正常使用,对用户造成极大损害。目前有一种方案,可解决软件升级失败后终端无法使用的问题,其实现过程大致如下:在终端设备中存储有基本运行系统和正常运行系统,当需要对终端的基本运行系统升级时,使用终端中的正常运行系统从服务器下载对应升级软件,更新终端本地的基本运行系统;当需要对终端的正常运行系统升级时,使用终端中的基本运行系统从服务器下载对应升级软件,更新终端本地的正常运行系统。此软件升级方案中,由于终端有两套可运行系统,升级时不是用来更新自身系统,而是用于更新另一个系统,即使发生升级失败的情况,也不会影响本系统的正常运行。因此可以再次操作运行升级程序,来达到正确更新另一系统的目的。但是,要求终端设备兼顾两套运行系统的操作,因此软件开发需求和硬件存储设备的需求都要提高,增加研发的人力投入和产品成本。并且这种双系统的切换操作,如果只是为了满足升级需求,而导致用户操作不便。因此,这种运行两套系统的软件升级方案,总体来看,是不经济的一种方案。
技术实现思路
-->有鉴于此,本专利技术提供一种终端设备软件升级恢复方法及装置,实现终端设备在软件升级发生异常的情况下,将升级软件恢复至升级前版本的功能时,节省成本。本专利技术实施例提供的一种终端设备软件的升级恢复方法,包括:获取软件的更新数据;根据所述更新数据确定对应的所述软件的需更新的目标数据,根据所述目标数据获得恢复数据,保存所述恢复数据;利用所述更新数据更新所述软件中的所述目标数据;确定所述软件升级失败,则根据所述恢复数据恢复所述软件的所述目标数据。本专利技术实施例还提供一种终端装置,包括:接收单元,用于获取软件的更新数据;恢复数据获取单元,根据所述更新数据确定对应的所述软件的需更新的目标数据,根据所述目标数据获取恢复数据;存储单元,用于保存获取的所述恢复数据;软件更新单元,利用所述更新数据更新所述软件中的所述目标数据;恢复操作单元,用于在所述软件升级失败时,根据所述恢复数据恢复所述软件的所述目标数据。本专利技术实施例提供的技术方案中,通过保存终端设备软件升级所涉及的目标数据块;比较所获取新版的软件包数据与所述目标数据块,得到差异数据集,并保存所述差异数据集;利用获取新版的软件包数据更新所述目标数据块;若更新操作失败,则根据所述目标数据块或差异数据集和当前操作的目标数据块将所述软件恢复到原有版本。在升级自身软件时,如果发生异常,可以实现终端软件的自动恢复,自动还原为升级前的原有软件版本。相对与现有技术中的软件升级方法,不会导致软件被破坏,终端设备可继续正常使用,也可以保证终端设备完好如前,保护了终端设备。相对于现有技术中的终端设备兼顾两套运行系统的操作,本专利技术提供的方案只需支持一套软件运行系统不必增加成本,且操作便捷易行。附图说明-->图1为本专利技术提供的终端设备软件升级方法流程示意图;图2为本专利技术实施例提供的一种终端设备软件升级方法流程示意图;图3为本专利技术实施例中终端设备软件恢复流程示意图;图4为本专利技术实施例中提供的一种终端装置示意图。具体实施方式鉴于终端设备运行两套系统的成本高且更为复杂,终端设备通常适宜采用一套运行系统。对于只有一套运行系统的终端设备,本专利技术实施例提供的一种终端设备软件升级方法,在升级自身软件时,如果发生异常,可以实现终端软件的自动恢复,自动还原为升级前的原有软件版本,不会造成因升级失败而导致设备不能再使用的后果。在本专利技术提供的一个升级恢复方法,如图1所示,可包括如下步骤:步骤S101,获取软件的更新数据;从升级服务器或其他方式获取软件更新需要的更新数据。步骤S102,根据所述更新数据确定对应的所述软件的需更新的目标数据,根据所述目标数据获得恢复数据,保存所述恢复数据;利用获取的更新数据对软件对应的目标数据进行更新,为保证升级失败时,可将软件恢复,故保存根据目标数据获得的更新数据。步骤S103,利用所述更新数据更新所述软件中的所述目标数据;需指出的是,步骤S102和步骤S103的执行没有严格的次序限制,可先执行步骤S102,在执行步骤S103,反之亦可。步骤S104,确定所述软件升级失败,则根据所述恢复数据恢复所述软件的所述目标数据。由于恢复数据是根据目标数据而获得,故,在软件升级失败时,可根据恢复数据恢复目标数据。在上述实施例中,由于在软件升级的过程中保存了用以恢复目标数据的恢复数据,故可在软件升级失败时,将软件恢复至升级以前的版本,且该实现方法消耗的软件资源少,节约了实现成本。在本专利技术提供的软件升级恢复方法的一个实施例中,上述实施例中的恢复数据可以是目标数据本身,故而,在升级失败时,可直接用保存的原-->目标数据恢复升级过程中被替换了的相应数据,从而实现软件的恢复。在本专利技术提供的软件升级恢复方法的一个实施例中,上述实施例中的利用所述更新数据更新所述软件中的所述目标数据的步骤S103可以包括:保存所述目标数据中的第n目标数据块的数据,作为第n目标数据块的备份数据;软件升级时,可对需升级的目标数据中的目标数据块逐块进行升级,当升级到第n目标数据块时,对第n目标数据块的数据进行备份。用所述第n目标数据块对应的所述更新数据中的第n更新数据块中的数据更新所述第n目标数据块的数据;其中n为不大于所述目标数据的数据块的数量的自然数;第n目标数据块中的数据备份之后,用第n更新数据块中的数据去更新第n目标数据块中的数据。当确定所述软件升级失败,则根据所述目标数据获得恢复数据的步骤S104具体可包括:若所述第n目标数据块的数据更新不成功,则将所述第n目标数据块的备份数据作为所述恢复数据;当在对第n目标数据块进行更新时,更新过程发生异常,则可将第n目标数据块的备份数据作为恢复数据。若所述第n目标数据块的数据更新成功,则获取所述第n更新数据块的数据与所述第n目标数据块的备份数据中不同数据的集合,得到所述第n目标数据块的差异数据集,将所述第n目标数据块的差异数据集作为所述恢复数据;若第n目标数据块的数据更新成功,则可将第n目标标数据块的差异数据集作为恢复数据进行保存。在本专利技术的一个实施例中,上述得到所述第n目标数据块的差异数据集具体可以为:从所述第n目标数据块的备份数据中获取所述第n目标数据块的数据集Aold;将所述第n更新数据块的数据作为更新数据集Anew;-->按如下算法求得所述第n目标数据块的差异数据集差异数据集:Adiff=Anew-Aold。在本专利技术的一个实施例中,根据所述恢复数据恢复所述软件的所述目标数据可以包括:判断需恢复的所述第n目标数据块在软件升级时是否更新成功;若更新不成功,则用所述第n目标数据块的备份数据恢复所述第n目标数据块的数据;如果更新不成功,则该数据块的对应的第n更新数据块的数据不便获取,故,采取使用第n目标数据块的备份数据恢复所述第n目标数据块的数据较为方便。若更新成功,则用所述第n目标数据块的差异数据集恢复所述第n目标数据块本文档来自技高网...

【技术保护点】
一种终端设备软件的升级恢复方法,其特征在于,包括: 获取软件的更新数据; 根据所述更新数据确定对应的所述软件的需更新的目标数据,根据所述目标数据获得恢复数据,保存所述恢复数据; 利用所述更新数据更新所述软件中的所述目标数据; 确定所述软件升级失败,则根据所述恢复数据恢复所述软件的所述目标数据。

【技术特征摘要】
1、一种终端设备软件的升级恢复方法,其特征在于,包括:获取软件的更新数据;根据所述更新数据确定对应的所述软件的需更新的目标数据,根据所述目标数据获得恢复数据,保存所述恢复数据;利用所述更新数据更新所述软件中的所述目标数据;确定所述软件升级失败,则根据所述恢复数据恢复所述软件的所述目标数据。2、如权利要求1所述的方法,其特征在于,所述保存所述恢复数据为:采用非易失存储介质保存所述恢复数据。3、如权利要求1或2所述的方法,其特征在于,所述软件恢复数据为所述目标数据。4、如权利要求1所述的方法,其特征在于,所述利用所述更新数据更新所述软件中的所述目标数据包括:保存所述目标数据中的第n目标数据块的数据,作为第n目标数据块的备份数据;用所述第n目标数据块对应的所述更新数据中的第n更新数据块中的数据更新所述第n目标数据块的数据;其中n为不大于所述目标数据的数据块的数量的自然数;所述根据所述目标数据获得恢复数据具体为:若所述第n目标数据块的数据更新不成功,则将所述第n目标数据块的备份数据作为所述恢复数据;若所述第n目标数据块的数据更新成功,则获取所述第n更新数据块的数据与所述第n目标数据块的备份数据中不同数据的集合,得到所述第n目标数据块的差异数据集,将所述第n目标数据块的差异数据集作为所述恢复数据。5、如权利要求4所述的方法,其特征在于,所述获取所述第n更新数据块的数据与所述第n目标数据块的备份数据中不同数据的集合,得到所述第n目标数据块的差异数据集具体为:从所述第n目标数据块的备份数据中获取所述第n目标数据块的数据集Aold;将所述第n更新数据块的数据作为更新数据集Anew;按如下算法求得所述第n目标数据块的差异数据集差异数据集Adiff=Anew-Aold。6、如权利要求5所述的方法,其特征在于,所述根据所述恢复数据恢复所述软件的所述目标数据,包括:判断需恢复的所述第n目标数据块在软件升级时是否更新成功;若更新不成功,则用所述第n目标数据块的备份数据恢复所述第n目标数据块的数据;若更新成功,则用所述第n目标数据块的差异数据集恢复所述第n目标数据块的数据。7、如权利要求6所述的方法,其特征在于,所述用所述第n目标数据块的差异数据集恢复所述第n目标数据块的数据具体为:用所述Anew减去所述第n目标数据块的差异数据集差异数据集Adiff,得到所述Aold,用所述Aold恢复所述第n目标数据块的数据。8、如权利要求6所述的方法,其特征在于,所述保存所述恢复数据包括:压缩所述第n目标数据块的差异数据集,得到所述第n目标数据块的压缩差异数据集,保存所述第n目标数据块的压缩差异数据集;所述第n目标数据块的差异数据集恢复所述第n目标数据块的数据之前还包括:解压所述第n目标数据块的压缩差异数据集,得到所述第n目标数据块的差异数据集。9、如权利要求1所述的方法,其特征在于,所述确定所述软件升级失败具体为:根据标志数据块确定所述软件升级失败;所述标志数据块用于存储标识所述软件升级是否成功的标识信息;所述方法还包括:在所述软件的升级过程中根据软件升级是否成功实时更新所述标志信息。10、一种终端装置...

【专利技术属性】
技术研发人员:苑康强
申请(专利权)人:深圳华为通信技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1