CN101639785A - 软件升级方法及装置 - Google Patents
软件升级方法及装置 Download PDFInfo
- Publication number
- CN101639785A CN101639785A CN200910167291A CN200910167291A CN101639785A CN 101639785 A CN101639785 A CN 101639785A CN 200910167291 A CN200910167291 A CN 200910167291A CN 200910167291 A CN200910167291 A CN 200910167291A CN 101639785 A CN101639785 A CN 101639785A
- Authority
- CN
- China
- Prior art keywords
- software
- storage area
- version software
- nonvolatile storage
- new version
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件升级方法及装置,该方法包括:将单板的非易失存储区域中存储的原有版本软件备份到易失存储区域的管理空间中,在进行软件升级时,将新版本软件下载到上述非易失存储区域中,在判断出新版本软件下载失败或运行异常时,将原有版本软件从易失存储区域的管理空间回退到非易失存储区域中。采用本发明技术方案,能够解决使用现有技术进行软件升级过程中出现新版本软件下载失败或者运行不正常时,重新下载原有版本软件造成的通信设备业务中断的问题。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种软件升级方法及装置。
背景技术
在产品开发和维护过程中,经常需要对软件进行升级,以更改原有版本软件存在的缺陷,实现更多新的功能,通常可以通过网络管理系统对通信设备中的软件进行升级。
通信设备中通常可以插入多块单板,并通过网络管理系统控制单板的配置维护和软件加载。随着通讯设备处理能力的逐渐增强,通信设备中的处理程序占用的空间也越来越大,由于通信设备大多无人值守,而且故障影响区域大,出现故障后会引发很多用户和地区的通信中断,因此通信设备需要具有很高的可靠性,而软件的升级是影响通信设备可靠性的一个重要方面,所以一旦新版本软件升级失败或运行不正常,就必须快速回退到原有版本的软件,以保证通信设备的正常运行。
现有的软件升级方法如图1所示,具体包括以下步骤:
步骤11,下载新版本软件到单板的非易失存储区域,如果目前通信设备的非易失存储区域的存储空间有限,软件也越来越大,因此下载的新版本软件会覆盖原有版本的软件,在下载新版本软件的过程中,运行原有版本软件,此时原有版本的软件被加载到易失存储区域的运行空间中;
步骤12,判断新版本软件是否下载成功,若判断结果为是,则转至步骤13,若判断结果为否,则转至步骤16;
步骤13,运行新版本软件,此时由于下载到非易失存储区域中的新版本软件已经覆盖了原有版本软件,因此单板的非易失存储区域中已经没有存储有原有版本软件,而运行新版本软件时,单板易失存储区域的运行空间中也已经将原有版本软件释放,因此此时单板中不存在原有版本软件;
步骤14,判断新版本软件是否运行正常,若判断结果为是,则转至步骤15,若判断结果为否,则转至步骤16;
步骤15,确定软件升级成功;
步骤16,重新下载原有版本软件到单板的非易失存储区域中,其中下载的原有版本软件会覆盖下载的新版本软件;
步骤17,在原有版本软件下载完成后,运行原有版本软件。
综上可见,现有的软件升级方法中,若新版本软件下载失败或者运行不正常,则必须重新下载原有版本软件,而下载原有版本软件的过程会导致通信设备业务的中断,这就降低了通信设备的可靠性。
发明内容
本发明实施例提供一种软件升级方法及装置,用以解决现有通信设备非易失存储空间有限,使用现有技术进行软件升级过程中出现新版本软件下载失败或者运行不正常时,重新下载原有版本软件造成的通信设备业务中断的问题。
本发明实施例技术方案如下:
一种软件升级方法,该方法包括步骤:将单板的非易失存储区域中存储的原有版本软件备份到所述单板的易失存储区域的管理空间中;在进行软件升级时,将新版本软件下载到所述非易失存储区域中;在判断出新版本软件下载失败或运行异常时,将所述原有版本软件从易失存储区域的管理空间回退到非易失存储区域中。
一种软件升级装置,包括:备份单元,用于将单板的非易失存储区域中存储的原有版本软件备份到所述单板的易失存储区域的管理空间中;下载单元,用于在进行软件升级时,将新版本软件下载到所述非易失存储区域中;判断单元,用于判断新版本软件下载是否成功或新版本软件运行是否正常;回退单元,用于在判断单元判断出新版本软件下载失败或运行异常时,将备份单元备份的所述原有版本软件从易失存储区域的管理空间回退到非易失存储区域中。
本发明实施例技术方案中,将单板的非易失存储区域中存储的原有版本软件备份到易失存储区域的管理空间中,在进行软件升级时,将新版本软件下载到非易失存储区域中,在判断出新版本软件下载失败或运行异常时,将原有版本软件从易失存储区域的管理空间回退到非易失存储区域中,由于在新版本软件下载失败或是运行异常时,不再是通过下载原有版本软件进行软件回退,而是直接将备份到易失存储区域的管理空间中的原有版本软件回退到非易失存储区域中,这就避免了重新下载原有版本软件造成的通信设备业务中断的问题,从而有效地提高了通信设备的可靠性。
附图说明
图1为现有技术中,软件升级方法流程图;
图2为本发明实施例中,软件升级方法流程图;
图3为本发明实施例中,软件升级方法具体实现流程图;
图4为本发明实施例中,软件升级装置结构示意图。
具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
如图2所示,为本发明实施例中软件升级方法流程图,其具体处理过程如下:
步骤21,将单板的非易失存储区域中存储的原有版本软件备份到该单板的易失存储区域的管理空间中,其中本发明实施例中的易失存储区域可以但不限于为单板的闪存或是只读存储器;
步骤22,在进行软件升级时,将新版本软件下载到该单板的非易失存储区域中,其中该过程可以但不限于为下述:
将需下载的新版本软件划分成若干个软件片段,其中可以以预设的长度L进行划分,即将新版本软件划分成若干个长度为L的软件片段,然后将划分出的软件片段依次写入该单板的非易失存储区域中,其中对软件片段逐个进行写操作时,可以但不限于按照预定的顺序进行操作,本发明实施例中,在将新版本软件的软件片段写入非易失存储区域中时,写入的软件片段覆盖在非易失存储区域的原有版本软件上。
例如,将新版本软件划分为M个长度为L的软件片段,首先选择一个软件片段,将选择出的软件片段写入非易失存储区域中,写入的该软件片段覆盖在原有版本软件对应的长度为L的软件片段上,然后再从其余的(M-1)个软件片段中选择出一个软件片段,将该选择出的软件片段写入非易失存储区域中,依次类推。
步骤23,判断新版本软件下载是否成功或新版本软件运行是否正常;
在下载新版本软件的过程中,可能会出现下载失败的情况,此时一部分新版本软件已经下载到单板的非易失存储区域中,一部分新版本软件还未下载到非易失存储区域中;在新版本软件下载完成后,可以将新版本软件加载到易失存储区域的运行空间中运行,在运行的过程中,验证下载的软件版本号是否正确,如果版本号正确,则判断新版本软件相应的功能是否能正常执行,若不能,则确定新版本软件运行异常。
步骤24,在判断出新版本软件下载失败或运行异常时,将备份的原有版本软件从易失存储区域的管理空间回退到非易失存储区域中。
若判断出新版本软件下载失败,则原有版本软件的回退过程可以但不限于为下述:
首先,在非易失存储区域中,确定出被写入的新版本软件片段所覆盖的原有版本软件片段,然后分别将确定出的原有版本软件片段从易失存储区域的管理空间回退到非易失存储区域中。
例如,若判断出第N次对长度为L的软件片段进行写操作时操作失败,则在非易失存储区域中,确定出被成功写入的新版本软件的软件片段所覆盖的原有版本软件的软件片段,此时,不必将备份到易失存储区域的管理空间的原有版本软件全部回退到非易失存储区域中,只需将确定出的(N-1)个被成功覆盖的原有版本软件的软件片段进行回退即可,这就有效地提高了软件回退的效率。
此外,在原有版本软件从易失存储区域的管理空间回退到非易失存储区域中之后,可以进一步将备份到易失存储区域的管理空间中的原有版本软件进行删除。
由上述处理过程可知,本发明实施例技术方案中,将单板的非易失存储区域中存储的原有版本软件备份到易失存储区域的管理空间中,在进行软件升级时,将新版本软件下载到非易失存储区域中,在判断出新版本软件下载失败或运行异常时,将原有版本软件从易失存储区域的管理空间回退到非易失存储区域中,由于在新版本软件下载失败或是运行异常时,不再是通过下载原有版本软件进行软件回退,而是直接将备份到易失存储区域的管理空间中的原有版本软件回退到非易失存储区域中,这就避免了重新下载原有版本软件造成的通信设备业务中断的问题,从而有效地提高了通信设备的可靠性。
下面给出更为具体的实施方式。
在进行软件升级前,单板上运行的软件的版本号为V1.1,则单板的非易失存储区域中所存储的软件为V1.1版本的软件,若需要将V1.1版本软件升级为V1.2版本的软件,则软件升级方法具体实现流程图如图3所示,其具体过程如下:
步骤31,将单板的非易失存储区域中存储的V1.1版本软件备份到单板的易失存储区域的管理空间中,此时,两个区域中都存储有V1.1版本的软件;
步骤32,将V1.2版本软件分成若干个长度为L的软件片段;
步骤33,将各个软件片段依次写入到单板的非易失存储区域中;
步骤34,判断V1.2版本软件是否下载成功,若判断结果为是,则转至步骤35,若判断结果为否,则转至步骤39;
步骤35,运行V1.2版本软件;
步骤36,判断V1.2版本软件版本号是否正确,若判断结果为是,则转至步骤37,若判断结果为否,则转至步骤39;
步骤37,判断V1.2版本软件相应功能是否能正常执行,若判断结果为是,则转至步骤38,若判断结果为否,则转至步骤39;
步骤38,确定V1.1版本软件成功升级到V1.2版本软件;
步骤39,在单板的非易失存储区域中,确定被写入的V1.2版本软件片段所覆盖的V1.1版本软件片段;
步骤310,分别将确定出的V1.1版本软件片段从易失存储区域的管理空间回退到非易失存储区域中。
相应的,本发明实施例还提供了一种软件升级装置,如图4所示,包括备份单元41、下载单元42、判断单元43和回退单元44,其中:
备份单元41,用于将单板的非易失存储区域中存储的原有版本软件备份到该单板的易失存储区域的管理空间中;
下载单元42,用于在进行软件升级时,将新版本软件下载到上述非易失存储区域中;
判断单元43,用于判断新版本软件下载是否成功或新版本软件运行是否正常;
回退单元44,用于在判断单元43判断出新版本软件下载失败或运行异常时,将备份单元41备份的原有版本软件从易失存储区域的管理空间回退到非易失存储区域中。
较佳地,下载单元42具体包括划分子单元和写入子单元,其中划分子单元,用于将需下载的新版本软件划分成若干个软件片段;写入子单元,用于将划分子单元划分出的软件片段依次写入上述非易失存储区域中,其中写入的软件片段覆盖在非易失存储区域的原有版本软件上。
更佳地,在判断单元43判断出新版本软件下载失败时,回退单元44具体包括确定子单元和回退子单元,其中确定子单元,用于在非易失存储区域中,确定被写入子单元写入的新版本软件片段所覆盖的原有版本软件片段;回退子单元,用于分别将确定子单元确定出的原有版本软件片段从易失存储区域的管理空间回退到非易失存储区域中。
较佳地,上述软件升级装置进一步包括删除单元,用于在回退单元44将原有版本软件从易失存储区域的管理空间回退到非易失存储区域中之后,将备份单元备份到易失存储区域的管理空间中的原有版本软件进行删除。
较佳地,上述非易失存储区域为闪存或只读存储器。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1、一种软件升级方法,其特征在于,包括:
将单板的非易失存储区域中存储的原有版本软件备份到所述单板的易失存储区域的管理空间中;
在进行软件升级时,将新版本软件下载到所述非易失存储区域中;
在判断出新版本软件下载失败或运行异常时,将所述原有版本软件从易失存储区域的管理空间回退到非易失存储区域中。
2、如权利要求1所述的软件升级方法,其特征在于,将新版本软件下载到所述非易失存储区域中,具体包括:
将需下载的新版本软件划分成若干个软件片段;
将划分出的软件片段依次写入所述非易失存储区域中,其中写入的软件片段覆盖在非易失存储区域的原有版本软件上。
3、如权利要求2所述的软件升级方法,其特征在于,在判断出新版本软件下载失败时,将所述原有版本软件从易失存储区域的管理空间回退到非易失存储区域中,具体包括:
在非易失存储区域中,确定被写入的新版本软件片段所覆盖的原有版本软件片段;
分别将确定出的原有版本软件片段从易失存储区域的管理空间回退到非易失存储区域中。
4、如权利要求1所述的软件升级方法,其特征在于,将所述原有版本软件从易失存储区域的管理空间回退到非易失存储区域中之后,所述方法进一步包括:
将备份到易失存储区域的管理空间中的原有版本软件进行删除。
5、如1~4任一权利要求所述的软件升级方法,其特征在于,非易失存储区域为闪存或只读存储器。
6、一种软件升级装置,其特征在于,包括:
备份单元,用于将单板的非易失存储区域中存储的原有版本软件备份到所述单板的易失存储区域的管理空间中;
下载单元,用于在进行软件升级时,将新版本软件下载到所述非易失存储区域中;
判断单元,用于判断新版本软件下载是否成功或新版本软件运行是否正常;
回退单元,用于在判断单元判断出新版本软件下载失败或运行异常时,将备份单元备份的所述原有版本软件从易失存储区域的管理空间回退到非易失存储区域中。
7、如权利要求6所述的软件升级装置,其特征在于,下载单元具体包括:
划分子单元,用于将需下载的新版本软件划分成若干个软件片段;
写入子单元,用于将划分子单元划分出的软件片段依次写入所述非易失存储区域中,其中写入的软件片段覆盖在非易失存储区域的原有版本软件上。
8、如权利要求7所述的软件升级装置,其特征在于,在判断单元判断出新版本软件下载失败时,所述回退单元具体包括:
确定子单元,用于在非易失存储区域中,确定被写入子单元写入的新版本软件片段所覆盖的原有版本软件片段;
回退子单元,用于分别将确定子单元确定出的原有版本软件片段从易失存储区域的管理空间回退到非易失存储区域中。
9、如权利要求6所述的软件升级装置,其特征在于,还包括:
删除单元,用于在回退单元将所述原有版本软件从易失存储区域的管理空间回退到非易失存储区域中之后,将备份单元备份到易失存储区域的管理空间中的原有版本软件进行删除。
10、如6~9任一权利要求所述的软件升级装置,其特征在于,所述非易失存储区域为闪存或只读存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910167291A CN101639785A (zh) | 2009-09-02 | 2009-09-02 | 软件升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910167291A CN101639785A (zh) | 2009-09-02 | 2009-09-02 | 软件升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101639785A true CN101639785A (zh) | 2010-02-03 |
Family
ID=41614778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910167291A Pending CN101639785A (zh) | 2009-09-02 | 2009-09-02 | 软件升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101639785A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195817A (zh) * | 2011-05-25 | 2011-09-21 | 上海华为技术有限公司 | 一种软件升级方法和装置以及软件回退方法和装置 |
CN103064714A (zh) * | 2013-01-08 | 2013-04-24 | 北京赛科世纪数码科技有限公司 | 软件系统升级方法及装置 |
CN103226484A (zh) * | 2013-04-15 | 2013-07-31 | 浙江大学 | 一种星载综合电子系统程序的在轨更新方法 |
CN103324504A (zh) * | 2013-05-29 | 2013-09-25 | 哈尔滨工业大学 | 一种基于lxi多功能仪器的m模块驱动构架自动配置方法 |
CN103713911A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 一种单版本升级方法和装置 |
CN103761117A (zh) * | 2013-12-24 | 2014-04-30 | 广东鼎燊科技有限公司 | 一种电磁炉升级方法 |
CN103870362A (zh) * | 2014-03-21 | 2014-06-18 | 华为技术有限公司 | 一种数据恢复方法、装置及备份系统 |
CN104426601A (zh) * | 2013-09-10 | 2015-03-18 | 上海贝尔股份有限公司 | 光网络终端中自动检测并报告软件回退方法和装置 |
CN104503811A (zh) * | 2015-01-09 | 2015-04-08 | 烽火通信科技股份有限公司 | 基于单存储区的通信设备升级方法及系统 |
CN105049633A (zh) * | 2015-08-18 | 2015-11-11 | 深圳市中兴物联科技有限公司 | 一种通讯模块的升级方法及装置 |
CN105635216A (zh) * | 2014-11-03 | 2016-06-01 | 华为软件技术有限公司 | 分布式应用的升级方法、设备和分布式系统 |
CN105740023A (zh) * | 2016-02-02 | 2016-07-06 | 广东欧珀移动通信有限公司 | 程序版本回退的方法、装置及智能移动终端 |
CN109254786A (zh) * | 2018-09-30 | 2019-01-22 | 湖北华联博远科技有限公司 | 一种软件备份还原方法及系统 |
-
2009
- 2009-09-02 CN CN200910167291A patent/CN101639785A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195817A (zh) * | 2011-05-25 | 2011-09-21 | 上海华为技术有限公司 | 一种软件升级方法和装置以及软件回退方法和装置 |
CN103713911A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 一种单版本升级方法和装置 |
CN103713911B (zh) * | 2012-09-28 | 2017-11-10 | 中兴通讯股份有限公司 | 一种单版本升级方法和装置 |
CN103064714A (zh) * | 2013-01-08 | 2013-04-24 | 北京赛科世纪数码科技有限公司 | 软件系统升级方法及装置 |
CN103226484A (zh) * | 2013-04-15 | 2013-07-31 | 浙江大学 | 一种星载综合电子系统程序的在轨更新方法 |
CN103324504A (zh) * | 2013-05-29 | 2013-09-25 | 哈尔滨工业大学 | 一种基于lxi多功能仪器的m模块驱动构架自动配置方法 |
CN104426601A (zh) * | 2013-09-10 | 2015-03-18 | 上海贝尔股份有限公司 | 光网络终端中自动检测并报告软件回退方法和装置 |
CN104426601B (zh) * | 2013-09-10 | 2017-08-25 | 上海贝尔股份有限公司 | 光网络终端中自动检测并报告软件回退方法和装置 |
CN103761117A (zh) * | 2013-12-24 | 2014-04-30 | 广东鼎燊科技有限公司 | 一种电磁炉升级方法 |
CN103870362B (zh) * | 2014-03-21 | 2017-08-04 | 华为技术有限公司 | 一种数据恢复方法、装置及备份系统 |
CN103870362A (zh) * | 2014-03-21 | 2014-06-18 | 华为技术有限公司 | 一种数据恢复方法、装置及备份系统 |
CN105635216A (zh) * | 2014-11-03 | 2016-06-01 | 华为软件技术有限公司 | 分布式应用的升级方法、设备和分布式系统 |
CN105635216B (zh) * | 2014-11-03 | 2019-05-03 | 华为软件技术有限公司 | 分布式应用的升级方法、设备和分布式系统 |
CN104503811A (zh) * | 2015-01-09 | 2015-04-08 | 烽火通信科技股份有限公司 | 基于单存储区的通信设备升级方法及系统 |
CN104503811B (zh) * | 2015-01-09 | 2018-04-20 | 烽火通信科技股份有限公司 | 基于单存储区的通信设备升级方法及系统 |
CN105049633A (zh) * | 2015-08-18 | 2015-11-11 | 深圳市中兴物联科技有限公司 | 一种通讯模块的升级方法及装置 |
CN105740023A (zh) * | 2016-02-02 | 2016-07-06 | 广东欧珀移动通信有限公司 | 程序版本回退的方法、装置及智能移动终端 |
CN105740023B (zh) * | 2016-02-02 | 2019-05-03 | Oppo广东移动通信有限公司 | 程序版本回退的方法、装置及智能移动终端 |
CN109254786A (zh) * | 2018-09-30 | 2019-01-22 | 湖北华联博远科技有限公司 | 一种软件备份还原方法及系统 |
CN109254786B (zh) * | 2018-09-30 | 2022-04-05 | 湖北华联博远科技有限公司 | 一种软件备份还原方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101639785A (zh) | 软件升级方法及装置 | |
CN100354825C (zh) | 一种软件升级及回退方法 | |
CN103299276B (zh) | 嵌入式装置的软件更新过程 | |
CN103455354B (zh) | 一种防止固件升级失败的方法和设备 | |
CN100407638C (zh) | 一种软件升级及回退方法 | |
EP2229625B1 (en) | Updating firmware of an electronic device | |
CN101281469B (zh) | 嵌入式系统及其启动加载的方法 | |
CN101383724B (zh) | 网元升级方法及操作维护单元和网元升级系统 | |
CN101026848B (zh) | 移动终端和软件更新方法 | |
CN109491698B (zh) | 基于热补丁的系统更新方法及装置 | |
CN104918114B (zh) | 一种操作系统升级方法及装置 | |
CN107783776B (zh) | 固件升级包的处理方法及装置、电子设备 | |
CN105930236A (zh) | 一种基于BMS Bootloader升级的应用程序版本回退方法 | |
CN104572206A (zh) | 应用程序自更新和备份恢复的方法 | |
CN105260215A (zh) | 一种u盘升级车载行车记录仪终端的方法 | |
CN102073517A (zh) | 一种嵌入式系统的升级、备份方法和装置 | |
CN109634638B (zh) | 一种集群软件升级方法、装置、设备及介质 | |
CN109062598A (zh) | 一种安全的ota升级方法及系统 | |
CN102541595A (zh) | 智能设备的升级方法、装置及智能设备 | |
CN108958767B (zh) | 一种基于最小系统备份实现的安全模式自动升级方法 | |
CN104915226A (zh) | 一种网络设备软件启动方法、装置及网络设备 | |
CN107566169A (zh) | 一种基于openwrt的固件升级方法及路由器 | |
CN109086078A (zh) | 安卓系统升级方法、装置、服务器及移动终端 | |
CN111104173A (zh) | 一种引导程序的保护设计方法 | |
CN105094873A (zh) | 一种手持终端系统切换方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100203 |