一种终端产品不中断业务在线升级版本的方法技术

技术编号:2836114 阅读:216 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种终端产品不中断业务在线升级版本的方法,将终端产品的闪存划分为第一区域和第二区域,第一区域内保存有第一版本,第二区域内保存有与第一版本相同的第二版本,第一版本或第二版本可择一单独运行,终端产品升级版本的方法包括如下步骤:先从服务器获取升级需要的版本文件到单板内存中;然后将获取的版本文件更新到不在运行的版本区域;根据版本更新结果确定下一次启动的版本区域,在不影响正常业务完成终端产品版本的升级。本发明专利技术一种终端产品不中断业务在线升级版本的方法可在不中断业务的情况下对版本进行在线升级,提高了终端产品的稳定性、安全性和易用性,同时延长了闪存的使用寿命。

【技术实现步骤摘要】

本专利技术涉及通讯技术,特别涉及。
技术介绍
系统版本的升级是计算机应用系统和嵌入式系统的常见操作。所谓系统的在线升级,是指在系统运行的情况下,通过与远程的服务器的交互,完成用新版本更新现有的版本后运行新版本的过程。对于终端产品来说,数量众多且分布范围广,为满足用户增加新功能的需求,就需要采用远程在线升级的方式进行版本更新,这样对终端产品系统版本升级的安全性和可靠性要求更高。当然,也可以采用下发补丁的方法由用户自己升级终端产品的版本,但是由于终端产品的用户众多,用户的知识层次不同,不利于统一控制,此方法在实践中并不可行。每个终端产品中一般只有一个单板,而且器件相对简单,数目较少。在版本升级时是对单板的软件版本进行升级,软件版本保存于单板的闪存(一种可读写的存储媒质)中,因此升级就是用新的版本文件替换闪存中原有的版本文件。进行终端产品的版本升级时,首先需要从版本服务器上获取升级的版本文件到单板的内存RAM中,进行完整性检查后,用内存中的版本文件替换掉单板闪存中的版本,然后重新启动单板使新的版本得到运行。若终端产品的闪存中只保存一份版本文件,那么在升级更新闪存上版本文件过程中可能出现单板意外断电的情况,则此时闪存中只有一个不完整的版本文件,升级失败后就不能靠远程升级的方式进行恢复,在其稳定性和安全性方面存在隐患。所以现有技术中,一般的终端产品在闪存中都保存两份版本文件,分为主、次版本,次版本只在主版本升级失败的时候启动,用于与远程服务器交互,将升级版本文件写入闪存中主版本的区域,使主版本成功升级,单板重启动后运行主版本。上面所述的现有技术中终端产品版本升级方法的缺点在于①终端产品升级时所更新的版本是正在运行的版本,在闪存中写入了新的版本文件时运行的版本被删除,造成正在运行的某些业务因为程序原文件被删除而不能正常运行。②主版本升级失败时,由次版本启动使主版本再次进行升级,次版本不具备与主版本相同的功能,此时终端产品的某些业务无法正常运行,唯有等主版本升级成功后,才能正常运行产品的全部业务。③由于作为存储媒体介质的闪存有其使用寿命,终端产品版本的正常运行和升级擦写都在同一个闪存区域内,造成闪存使用寿命的降低。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供。该终端产品可以在正常运行的状态下对版本进行在线升级,升级成功后在下次启动时运行新的版本,并可多次对版本进行升级,存储媒体介质的寿命较以往终端产品也大大提高。本专利技术的技术方案,其特征在于终端产品的闪存的存储区域划分为第一区域和第二区域,所述的第一区域内保存终端产品系统的第一版本,所述的第二区域内保存与第一版本功能相同的第二版本,终端产品启动时选择第一区域内的第一版本或第二区域内的第二版本单独运行,系统的版本进行在线升级时,不修改运行中的版本区域,是将版本升级文件更新到未运行的版本区域,更新时运行中版本的业务不受版本升级的任何影响,版本升级成功后在下次终端产品启动时由被更新的区域启动新版本,完成终端产品的版本升级。,该方法具体包括如下步骤①启动终端产品,由预先设置在引导区内的启动标记选择启动一个版本,如果引导启动第一版本,则终端产品的系统在第一区域运行,此时第二区域内的第二版本不被使用;②终端产品上运行中的第一版本从远程服务器上获取升级所需的版本文件,并对该版本文件进行版本有效性检验,符合有效性检验规则的版本文件被接收并保存于终端产品的内存,不符合有效检验的文件不被接收,并通知远程服务器;③接收到的版本文件保存于终端产品的内存中后,由运行的第一版本发出指令清除闪存中第二区域内第二版本的内容,并将内存内的版本文件写入至第二区域中,此时第一版本没有任何改变,所有业务正常运行,不受系统版本升级的影响;④对第二区域内升级后的版本进行应用有效性检验,检验通过证明升级成功,将系统的启动标记置于该第二区域中,终端产品下次启动时由第二区域内启动升级后的第二版本,检验没有通过证明升级失败,系统的启动标记仍处于第一区域中,终端产品下次启动时仍由第一区域内启动第一版本,在不影响终端产品业务功能的情况下实现版本升级失败的回退; ⑤升级成功后运行第二区域内升级后的版本,当终端产品下一次升级时,会将升级的版本文件写入第一区域,不会影响运行的第二区域版本的业务,依此类推,在终端产品在线升级的时候并不中断正在运行的业务。步骤②中从远程服务器上获取升级的版本文件时,可由终端产品主动向服务器发起升级请求,或者由服务器发起并由终端产品被动接收的升级请求。本专利技术的技术优点本专利技术从终端产品的稳定性,安全性,易用性等方面考虑,主要从终端产品特点和用户使用的角度设计,使得产品升级时不影响用户的正常使用。终端产品升级时不会改变正在运行的版本区域,而是将升级文件写入不在运行的版本区域,此过程中所有业务都可以正常使用,即使是升级失败的时候,由于正在运行的版本仍可以正常运行,不需要进行版本回退操作,对用户使用不会有任何影响。用户在整个过程中感觉不到产品在升级,提高了用户对产品的满意度。从产品的使用寿命上来说,闪存上两个版本区域是交替使用的,如果正在运行的版本进行升级,将版本文件写入不在运行的版本区域,升级成功后下一次启动从另一个区域运行,相比于在同一个区域进行版本更新和运行的终端产品,闪存分区交替使用延长了使用寿命,也提高了终端产品的稳定性。说明书附1为本专利技术的版本升级操作流程示意图。图2为本专利技术的实施例1中版本升级操作流程图。具体实施例方式下面结合附图和具体的实施例来对本专利技术做进一步说明,但不能因此而限制本专利技术的保护范围。请看附图说明图1,图1为本专利技术的版本升级操作流程示意图。由图1可以看出,,首先将终端产品的闪存划分为第一区域和第二区域,在闪存的第一区域内保存第一版本,在闪存的第二区域内保存与第一版本具有相同功能的第二版本;其次,在终端产品启动时选择第一区域内的第一版本或第二区域内的第二版本单独运行;再次,在运行版本正常工作行时对未运行版本进行在线升级,即用获得的新的版本替代未运行版本区域中的版本,升级成功后在更换启动标志的位置至新的版本所在的闪存区域,下次终端产品启动时由启动标志引导运行升级后的版本;以此类推,在丝毫不影响终端产品正常业务运行的情况下,完成终端产品系统的在线升级。终端产品在不中断业务的情况下进行在线升级,主要包括如下几个步骤①终端产品从远程服务器上获取系统升级需要的版本文件,并将该获取的版本文件暂存在终端产品的内存中;②将上述获取的版本文件从内存中更新到未运行版本所在的闪存区域替代未运行版本;③根据版本更新结果确定下一次启动的版本区域,在终端产品再次启动时运行升级后的版本,完成终端产品版本升级。实施例1请看图2,图2为本专利技术的实施1的操作流程图。由图可以看出,可不中断业务在线升级版本的终端产品的版本升级方法包括如下步骤①启动终端产品,置于引导区域的启动标记引导启动闪存第一区域中的第一版本,终端产品正常运行第一版本的系统,完成各种系统业务,此时第二区域内的第二版本处于未运行状态;②由终端产品主动发起升级请求,运行中的第一版本从远程服务器上获取升级所需的版本文件,并对该版本文件进行版本有效性检验,符合有效性检验规则的版本文件被接收并保存于内存RAM内,不符合有效检验的文件不被本文档来自技高网
...

【技术保护点】
一种终端产品不中断业务在线升级版本的方法,其特征在于终端产品的闪存的存储区域划分为第一区域和第二区域,所述的第一区域内保存终端产品系统的第一版本,所述的第二区域内保存与第一版本功能相同的第二版本,终端产品启动时选择第一区域内的第一版本或第二区域内的第二版本单独运行,系统的版本进行在线升级时,不修改运行中的版本区域,是将版本升级文件更新到未运行的版本区域,更新时运行中版本的业务不受版本升级的任何影响,版本升级成功后在下次终端产品启动时由被更新的区域启动新版本,完成终端产品的版本升级。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:魏超群
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1