一种终端软件升级方法及终端设备的制作方法

文档序号:7960835阅读:147来源:国知局
专利名称:一种终端软件升级方法及终端设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种通信终端的软件升级方法及对应的终端设备。
背景技术
随着网络的发展,越来越多的终端产品(机顶盒、手机、IP电话等)开始进入市场。在终端产品发布之后,为了部署新的业务,往往要对终端软件进行升级。由于终端产品数量巨大、分布分散,不可能由客户服务人员去一个一个地进行人工升级,所以一般采用远程自动升级的方法。在自动升级的过程中,由于缺乏人工干预,保证升级的可靠性、升级异常时的自恢复性变成了需要重点关注的技术。
现有技术中的软件升级流程如下终端获取服务器上存储的升级后的软件版本,并跟本地软件版本进行比较,决策是否需要升级;下载服务器上的软件版本;把升级后的软件版本写入到本地的非易失性存储介质中;更新本地的软件版本号,升级完成。
上述现有技术的缺点如下由于终端所处的环境十分复杂,上述的升级方法在可靠性和自恢复性上不能满足要求。如果在更新软件版本时终端发生掉电,新的软件版本尚未完全写入本地非易失性存储介质中,本地原有软件版本又遭到破坏,这样终端的系统软件就遭到了彻底破坏,并且不能自动恢复,造成终端系统失效。

发明内容
本发明提供一种终端软件升级方法,用以解决现有技术中存在的在软件升级过程中由于掉电或其它异常情况发生,导致软件升级失败而终端无法自动恢复的问题。
本发明方法包括在终端中存储基本运行系统和正常运行系统;当需要对终端的基本运行系统升级时,使用终端中的正常运行系统从服务器下载对应升级软件,更新终端本地的基本运行系统;当需要对终端的正常运行系统升级时,使用终端中的基本运行系统,从服务器下载对应升级软件,更新终端本地的正常运行系统。
根据本发明的上述方法,将终端存储区从逻辑上至少划分为引导区、基本运行系统区和正常运行系统区;将系统引导信息存入所述引导区;将包含升级功能模块的基本运行系统存入所述基本运行系统区;将包含升级功能模块和终端业务模块的正常运行系统存入所述正常运行系统区;当终端启动时,首先将引导区信息载入内存,并判断所述基本运行系统和正常运行系统是否正常,启动能正常运行的所述基本运行系统或正常运行系统。
根据本发明的上述方法,当判断出仅有基本运行系统正常时,启动所述基本运行系统,并执行下列步骤A1、从服务器下载正常运行系统;A2、更新本地正常运行系统的程序数据;A3、更新本地正常运行系统的软件版本信息;A4、记录本地正常运行系统正常;A5、重启终端进入更新后的正常运行系统。
根据本发明的上述方法,当判断出仅有正常运行系统正常时,启动所述正常运行系统,并执行下列步骤B1、下载基本运行系统;B2、更新本地基本运行系统的程序数据;B3、更新本地基本运行系统的软件版本信息;B4、记录本地基本运行系统正常。
根据本发明的上述方法,当判断出基本运行系统和正常运行系统两者都正常时,启动本地存储的所述正常运行系统。
在终端的正常运行系统运行过程中,如果发现服务器上的基本运行系统软件版本已更新,执行下列步骤C1、从服务器下载基本运行系统;C2、记录本地基本运行系统被破坏;C3、更新本地基本运行系统的程序数据;C4、更新本地基本运行系统的软件版本信息;C5、记录本地基本运行系统正常。
在终端的正常运行系统运行过程中,如果发现服务器上的正常运行系统软件版本已更新,执行下列步骤D1、重启终端进入基本运行系统;D2、从服务器下载正常运行系统;D3、记录本地正常运行系统被破坏;D4、更新本地正常运行系统的程序数据;D5、更新本地正常运行系统的软件版本信息;D6、记录本地正常运行系统正常;D7、重启终端进入更新后的正常运行系统。
在终端的正常运行系统运行过程中,如果发现服务器上的基本运行系统和正常运行系统的软件版本都已更新,执行下列步骤
E1、从服务器下载基本运行系统;E2、记录本地基本运行系统被破坏;E3、更新本地基本运行系统的程序数据;E4、更新本地基本运行系统的软件版本信息;E5、记录本地基本运行系统正常;E6、重启终端进入基本运行系统;E7、从服务器下载正常运行系统;E8、记录本地正常运行系统被破坏;E9、更新本地正常运行系统的程序数据;E10、更新本地正常运行系统的软件版本信息;E11、记录本地正常运行系统正常;E12、重启终端进入更新后的正常运行系统。
本发明另提供一种终端设备,所述终端设备的存储区至少包括三个逻辑存储区,分别为引导区、基本运行系统区和正常运行系统区;所述引导区存储系统引导信息,选择所述基本运行系统区或正常运行系统区中的程序载入内存中运行;所述基本运行系统区存储基本运行系统,所述基本运行系统中至少包含第一升级功能模块;所述正常运行系统区存储正常运行系统,所述正常运行系统中至少包含第二升级功能模块和终端业务模块。
所述基本运行系统区中还存储终端业务模块。
本发明有益效果如下(1)本发明在终端中存储基本运行系统和正常运行系统;当需要对终端的基本运行系统升级时,使用终端中的正常运行系统,从服务器下载对应升级软件,更新终端本地的基本运行系统;当需要对终端的正常运行系统升级时,使用终端中的基本运行系统,从服务器下载对应升级软件,更新终端本地的正常运行系统。这样,通过基本运行系统和正常运行系统的交叉升级,即使在升级过程中出现升级失败,还能够保证基本运行系统、正常运行系统中总有一个系统是可用的,从而保证了终端在升级失败时的系统自恢复性和升级可靠性。
(2)本发明将终端的存储区从逻辑上至少划分为引导区、基本运行系统区和正常运行系统区;在基本运行系统区存储包含第一升级功能模块的终端基本运行系统;在正常运行系统区存储包含第二升级功能模块和终端业务模块的终端正常运行系统;当终端启动时,首先将引导区信息载入内存,并判断所述基本运行系统和正常运行系统是否正常,启动能正常运行的基本运行系统或正常运行系统。这样,保证了终端开机后每一次都能启动系统,并可以通过当前能正常运行的系统从服务器中下载另一个系统的程序数据到本地进行更新,以保证终端的两个系统都能恢复正常并与服务器的软件版本进行相应更新。
(3)当终端的基本运行系统和正常运行系统都正常时,本发明优先启动正常运行系统工作,向用户提供终端能支持的各种功能业务,以充分满足用户使用需求。


图1为本发明实施例1启动正常运行系统后升级正常运行系统流程图;图2为本发明实施例2启动正常运行系统后升级基本运行系统流程图;图3为本发明实施例3启动正常运行系统后升级基本运行系统和正常运行系统流程图;图4为本发明终端设备的结构示意图。
具体实施例方式
本发明首先把终端的存储空间进行逻辑划分,分成引导区、基本运行系统区、正常运行系统区,各个分区的主要功能如下引导区负责系统的引导,可以选择基本运行系统区或者正常运行系统区的程序载入内存运行。
基本运行系统区存储终端的基本运行系统,其中包含第一升级功能模块,可以完成数据下载、把数据保存到本地非易失性存储空间的功能;也可以包含其他的功能模块,甚至可以和正常运行系统相同。
正常运行系统区存储终端的正常运行系统,其中包含第二升级功能模块,可以完成数据下载、把数据保存到本地非易失性存储空间的功能;还包含其他的用户业务程序,完成终端的其他业务功能。
本发明使用基本运行系统和正常运行系统进行交叉升级。即当需要对终端的基本运行系统升级时,使用终端中的正常运行系统,从服务器下载对应升级软件,更新终端本地的基本运行系统;当需要对终端的正常运行系统升级时,使用终端中的基本运行系统,从服务器下载对应升级软件,更新终端本地的正常运行系统。
采用本发明,当终端启动时,首先将引导区信息载入内存,并判断基本运行系统和正常运行系统是否正常;包括如下情形(1)、当判断结果表明终端当前仅有基本运行系统能正常工作时,启动基本运行系统,并执行下列步骤从服务器下载正常运行系统;更新本地正常运行系统的程序数据;更新本地正常运行系统的软件版本信息;记录本地正常运行系统正常;重启终端进入更新后的正常运行系统。
(2)、当判断结果表明终端当前仅有正常运行系统能正常工作时,启动该正常运行系统,并执行下列步骤下载基本运行系统;更新本地基本运行系统的程序数据;更新本地基本运行系统的软件版本信息;
记录本地基本运行系统正常。
(3)、当判断结果表明终端的基本运行系统和正常运行系统两者都能正常工作时,启动本地存储的正常运行系统运行。
下面结合附图,用实施例对终端在正常运行系统下进行软件升级的具体流程进行详细描述。
实施例1假设终端出厂时,终端系统中的引导区、基本运行系统、正常运行系统均未被破坏,可以正常使用。正常运行系统中包含第二升级功能模块、IP电视(IPTV)业务模块等。终端系统启动时,首先把引导区载入内存,引导区判断出基本运行系统、正常运行系统均为正常,则启动正常运行系统运行,此时用户就可以体验IPTV业务。
现在运营商要求在系统中添加IP电话功能,IP电话功能增加入正常运行系统,运营商把添加了IP电话功能的系统软件存放到服务器上。
终端启动正常运行系统运行后,发现服务器上的软件版本已经更新(如何检测服务器上的软件版本信息是否更新,可采用现有技术中的各种检测方式,本发明对此不作限定),需要升级正常运行系统,则按照图1所示流程,执行如下步骤步骤S11、终端重启进入基本运行系统;步骤S12、由基本运行系统从服务器下载其存储的版本升级后的正常运行系统;步骤S13、记录本地正常运行系统被破坏;步骤S14、更新本地正常运行系统;步骤S15、更新本地正常运行系统软件版本号;步骤S16、记录本地正常运行系统正常;步骤S17、重启进入正常运行系统。
通过以上步骤,正常运行系统升级完成,用户就可以体验IP电话功能了。
考虑在系统升级过程中可以掉电的情况如果在上述升级步骤的第S11、S12、S13、S17步骤发生掉电,则本地系统没有遭到任何破坏。在下一次终端上电启动时,进入正常运行系统,重新执行上述升级流程即可;如果在上述升级步骤的第S14、S15、S16步骤发生掉电,则本地的正常运行系统遭到了破坏。在下一次终端上电启动时,进入基本运行系统;由基本运行系统从服务器下载正常运行系统,然后继续完成第S14、S15、S16、S17步骤,则正常运行系统就得到了恢复。如果在恢复过程中终端再次掉电,则终端再次上电启动基本运行系统后重复上述步骤,基本运行系统系统最终得以恢复。
实施例2假设终端出厂时,终端系统中的引导区、基本运行系统、正常运行系统均未被破坏,可以正常使用。基本运行系统中包含第一升级功能模块,升级时使用简单文件传输协议(Trivial File Transfer Protocol,TFTP)下载数据;正常运行系统包含第二升级功能模块和IPTV业务模块等。终端系统启动时,首先把引导区载入内存,引导区判断基本运行系统、正常运行系统均为正常,则启动正常运行系统运行,用户就可以体验IPTV业务。
由于考虑到TFTP协议不够安全,把基本运行系统的下载协议修改成超级文本传送协议(Hyper Text Transport Protocol,HTTP),则基本运行系统需要升级;应运营商要求,把修改了下载协议的系统软件存放到服务器上。
终端启动正常运行系统后,发现服务器上的软件版本号已经更新,需要升级基本运行系统,则按照图2所示流程,执行如下步骤步骤S21、正常运行系统从服务器下载基本运行系统;步骤S22、记录本地基本运行系统被破坏;步骤S23、更新本地基本运行系统;步骤S24、更新本地基本运行软件版本号;
步骤S25、记录本地基本运行系统正常。
通过以上步骤基本运行系统升级完成,升级后的本地基本运行系统具有了http下载的功能。
考虑在系统升级过程中掉电的情况如果在上述升级步骤的第S21、S22步骤发生掉电,则本地系统没有遭到任何破坏。在下一次终端上电启动时,进入正常运行系统,重新执行上述升级流程即可;如果在上述升级的第S23、S24、S25步骤发生掉电,则本地的基本运行系统遭到了破坏。在下一次终端上电启动时,进入正常运行系统,由正常运行系统下载基本运行系统,然后继续完成S23、S24、S25步骤,则基本运行系统就得到了恢复。如果在恢复过程中再次掉电,则再次上电启动正常运行系统后重复上述步骤,基本运行系统最终得以恢复。
实施例3假设终端出厂时,终端系统中的引导区、基本运行系统、正常运行系统均未被破坏,可以正常使用。基本运行系统中包含第一升级功能模块,升级时使用TFTP协议下载数据;正常运行系统中包含第二升级功能模块和IPTV业务模块等。终端系统启动时,首先把引导区载入内存,引导区判断基本运行系统、正常运行系统均为正常,则启动正常运行系统运行,用户就可以体验IPTV业务。
由于考虑到TFTP协议不够安全,把基本运行系统的下载协议修改成HTTP协议,则基本运行系统需要升级;应运营商要求,在正常运行系统中添加了IP电话功能,正常运行系统也需要升级,运营商把升级后的系统软件存放到服务器上。
终端启动正常运行系统后,发现服务器上的软件版本号已经更新,需要升级基本运行系统和正常运行系统,则按照图3所示流程,执行如下步骤步骤S31、正常运行系统到服务器下载基本运行系统;
步骤S32、记录本地基本运行系统被破坏;步骤S33、更新本地基本运行系统;步骤S34、更新本地基本运行系统软件版本号;步骤S35、记录本地基本运行系统正常;步骤S36、重启进入基本运行系统;步骤S37、基本运行系统从服务器下载正常运行系统;步骤S38、记录本地正常运行系统被破坏;步骤S39、更新本地正常运行系统;步骤S40、更新本地正常运行系统软件版本号;步骤S41、记录本地正常运行系统正常;步骤S42、重启进入正常运行系统。
通过以上步骤,基本运行系统和正常运行系统都升级完成,基本运行系统具有了HTTP下载的功能,正常运行系统具有IP电话功能。
考虑在系统升级过程中掉电的情况如果在上述升级步骤的第S31、S32步骤发生掉电,则本地系统没有遭到任何破坏。在下一次终端上电启动时,进入正常运行系统,重新执行上面的升级流程;如果在上述升级的第S33、S34、S35步骤发生掉电,则本地的基本运行系统遭到了破坏。在下一次终端上电启动时,进入正常运行系统。正常运行系统下载基本运行系统,然后继续完成后续升级步骤;如果在上述升级的第S36、S37、S38步骤发生掉电,则本地系统没有破坏,基本运行系统完成升级、正常运行系统没有升级,后续系统启动后,继续完成正常运行系统的升级;如果在上述升级的第S39、S40、S41、S42步骤发生掉电,则基本运行系统完成升级、正常运行系统被破坏,后续系统启动后,在基本运行系统中恢复正常运行系统。
在上述三个实施例中,基本运行系统只具有升级的功能。如果本地的正常运行系统得到了破坏,而这时刚好服务器也发生了故障,则终端启动到基本运行系统后,下载不了正常运行系统,正常运行系统不能恢复,影响用户体验。因此,可以在基本运行系统中扩充功能,例如在基本运行系统中加入IPTV的功能模块,则在正常运行系统被破坏,又暂时无法恢复的情况下,还可以由基本运行系统提供IPTV功能,不影响用户体验。如果终端存储空间允许,可以将正常运行系统中的其它业务功能模块都加入到基本运行系统中存储。
根据本发明提供的上述终端软件升级方法,本发明另提供一种对应的终端设备,如图4所示,该终端设备的存储区至少包括三个逻辑存储区,分别为引导区、基本运行系统区和正常运行系统区。
在引导区中存储系统引导信息,选择基本运行系统区或正常运行系统区中的程序载入内存中运行。在基本运行系统区存储包含第一升级功能模块的终端基本运行系统。在正常运行系统区存储包含第二升级功能模块和终端业务模块的终端正常运行系统。
在基本运行系统区中还可以存储正常运行系统区中存储的终端业务模块。
综上所述,本发明通过在终端中存储基本运行系统和正常运行系统,由该两个系统实现交叉升级。保证了终端软件升级的可靠性和软件升级失败时终端系统的可用性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种终端软件升级方法,其特征在于,包括在终端中存储基本运行系统和正常运行系统;当需要对终端的基本运行系统升级时,使用终端中的正常运行系统从服务器下载对应升级软件,更新终端本地的基本运行系统;当需要对终端的正常运行系统升级时,使用终端中的基本运行系统,从服务器下载对应升级软件,更新终端本地的正常运行系统。
2.如权利要求1所述的方法,其特征在于,将终端存储区从逻辑上至少划分为引导区、基本运行系统区和正常运行系统区;将系统引导信息存入所述引导区;将包含升级功能模块的基本运行系统存入所述基本运行系统区;将包含升级功能模块和终端业务模块的正常运行系统存入所述正常运行系统区;当终端启动时,首先将引导区信息载入内存,并判断所述基本运行系统和正常运行系统是否正常,启动能正常运行的所述基本运行系统或正常运行系统。
3.如权利要求2所述的方法,其特征在于,当判断出仅有基本运行系统正常时,启动所述基本运行系统,并执行下列步骤A1、从服务器下载正常运行系统;A2、更新本地正常运行系统的程序数据;A3、更新本地正常运行系统的软件版本信息;A4、记录本地正常运行系统正常;A5、重启终端进入更新后的正常运行系统。
4.如权利要求2所述的方法,其特征在于,当判断出仅有正常运行系统正常时,启动所述正常运行系统,并执行下列步骤B1、下载基本运行系统;B2、更新本地基本运行系统的程序数据;B3、更新本地基本运行系统的软件版本信息;B4、记录本地基本运行系统正常。
5.如权利要求2所述的方法,其特征在于,当判断出基本运行系统和正常运行系统两者都正常时,启动本地存储的所述正常运行系统。
6.如权利要求3、4或5所述的方法,其特征在于,在终端的正常运行系统运行过程中,如果发现服务器上的基本运行系统软件版本已更新,执行下列步骤C1、从服务器下载基本运行系统;C2、记录本地基本运行系统被破坏;C3、更新本地基本运行系统的程序数据;C4、更新本地基本运行系统的软件版本信息;C5、记录本地基本运行系统正常。
7.如权利要求3、4或5所述的方法,其特征在于,在终端的正常运行系统运行过程中,如果发现服务器上的正常运行系统软件版本已更新,执行下列步骤D1、重启终端进入基本运行系统;D2、从服务器下载正常运行系统;D3、记录本地正常运行系统被破坏;D4、更新本地正常运行系统的程序数据;D5、更新本地正常运行系统的软件版本信息;D6、记录本地正常运行系统正常;D7、重启终端进入更新后的正常运行系统。
8.如权利要求3、4或5所述的方法,其特征在于,在终端的正常运行系统运行过程中,如果发现服务器上的基本运行系统和正常运行系统的软件版本都已更新,执行下列步骤E1、从服务器下载基本运行系统;E2、记录本地基本运行系统被破坏;E3、更新本地基本运行系统的程序数据;E4、更新本地基本运行系统的软件版本信息;E5、记录本地基本运行系统正常;E6、重启终端进入基本运行系统;E7、从服务器下载正常运行系统;E8、记录本地正常运行系统被破坏;E9、更新本地正常运行系统的程序数据;E10、更新本地正常运行系统的软件版本信息;E11、记录本地正常运行系统正常;E12、重启终端进入更新后的正常运行系统。
9.一种终端设备,其特征在于,所述终端设备的存储区至少包括三个逻辑存储区,分别为引导区、基本运行系统区和正常运行系统区;所述引导区存储系统引导信息,选择所述基本运行系统区或正常运行系统区中的程序载入内存中运行;所述基本运行系统区存储基本运行系统,所述基本运行系统中至少包含第一升级功能模块;所述正常运行系统区存储正常运行系统,所述正常运行系统中至少包含第二升级功能模块和终端业务模块。
10.如权利要求9所述的终端设备,其特征在于,所述基本运行系统区中还存储终端业务模块。
全文摘要
本发明公开了一种终端软件升级方法,包括在终端中存储基本运行系统和正常运行系统;当需要对终端的基本运行系统升级时,使用终端中的正常运行系统从服务器下载对应升级软件,更新终端本地的基本运行系统;当需要对终端的正常运行系统升级时,使用终端中的基本运行系统从服务器下载对应升级软件,更新终端本地的正常运行系统。本发明还公开了一种对应的终端设备。采用本发明能保证终端在软件升级失败时自动恢复,保证终端软件升级成功和终端设备的可靠性。
文档编号H04L12/28GK1983181SQ20061007911
公开日2007年6月20日 申请日期2006年4月29日 优先权日2006年4月29日
发明者汤智龙, 张坤, 肖昌吉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1