CN1889042A - 一种终端升级方法及系统 - Google Patents
一种终端升级方法及系统 Download PDFInfo
- Publication number
- CN1889042A CN1889042A CN 200610099347 CN200610099347A CN1889042A CN 1889042 A CN1889042 A CN 1889042A CN 200610099347 CN200610099347 CN 200610099347 CN 200610099347 A CN200610099347 A CN 200610099347A CN 1889042 A CN1889042 A CN 1889042A
- Authority
- CN
- China
- Prior art keywords
- operational system
- upgrading
- normal
- basic
- terminal
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种终端升级方法及系统。所述方法包括:终端升级第一运行系统前,判断第二运行系统是否已验证,若已验证,则直接升级第一运行系统,若未验证,则终端重启后进行升级。所述系统包括:升级内容服务器和终端;升级内容服务器,用于存储升级文件包;终端,包括升级单元,用于控制终端的正常运行系统和基本运行系统的升级。本发明能够使当前运行系统在不中断当前运行业务的情况下实现升级,并使升级更加可靠。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种终端升级方法及系统。
背景技术
目前,很多嵌入式系统终端的正常运行系统与基本运行系统是分离的。基本运行系统是固化在嵌入式设备的闪存Flash区中,一旦出厂后,不再主动升级更新,如果基本运行系统区被损坏,则正常运行系统版本无法再次升级更新。对于正常运行系统版本的升级更新,为保证升级的可靠性,一般都需要重新上电,由系统引导区将系统切换到基本运行系统中,对正常运行系统进行在线升级,升级完毕后,再次重新上电,并依赖系统引导区将系统切换到升级后的正常运行系统中。
现有技术中,嵌入式系统可采用固件程序在线升级的方法。此方法主要是将支持在线升级的固件程序与包含系统程序的系统功能固件程序分离,并将支持在线升级的固件程序存储于设置在程序存储器的永久驻留空间。需要说明的是,在线升级的固件程序可理解为上述的基本运行系统,系统功能固件程序可理解为上述的正常运行系统。该方法为:在需要升级时,上电系统并启动到支持在线程升级的固件程序,支持在线升级的固件程序将必要的硬件资源进行初始化后,再升级系统功能固件程序,升级完后再转至升级后的系统功能固件程序。
请参阅图1,该升级方法包括步骤:
a1、系统检测到需要升级;
a2、系统重新上电到支持在线升级的固件程序;
a3、在线升级系统功能固件程序;
a4、重新上电,切换到升级后的系统功能固件程序。
上述现有技术升级方法比较简单,但存在以下不足:
首先,若系统功能固件程序运行过程中发现需要升级,则需重新上电,启动到支持在线升级的固件程序再进行升级,升级完后,再重新上电启动到升级后的系统功能固件程序。这样,系统每次升级,需要不断启动系统,这将中断系统正在运行的重要事务或用户正在操作的重要业务,从而导致系统不稳定,给用户很差的体验感受;
其次,在该系统中不能对支持在线升级的固件程序进行升级,一旦支持在线升级的固件程序在程序存储区的永久驻留空间被破坏,则需要升级系统功能固件程序时,不能启动到支持在线升级的固件程序,从而导致系统功能固件程序不能升级更新。
发明内容
本发明要解决的技术问题是提供一种终端升级方法及系统,该方法及系统能够使当前运行系统在不中断当前运行业务的情况下实现升级,并使升级更加可靠。
本发明的目的是通过以下技术方案实现:
本发明提供一种终端升级方法,包括:终端升级第一运行系统前,判断第二运行系统是否已验证,若已验证,则直接升级第一运行系统,若未验证,则终端重启后进行升级。
终端升级第一运行系统前进一步包括判断升级版本类型,若存在第一运行系统升级版本,则升级第一运行系统。
进一步的,若第一运行系统为正常运行系统,第二运行系统为基本运行系统,则升级正常运行系统前,判断基本运行系统是否已验证,若已验证,直接升级正常运行系统;若未验证,则终端重启进入基本运行系统升级正常运行系统,并设置基本运行系统为已验证,升级结束后重启进入正常运行系统。
进一步的,若第一运行系统为基本运行系统,第二运行系统为正常运行系统,则升级基本运行系统前,判断正常运行系统是否已验证,若已验证,则直接升级基本运行系统;若未验证,则重启正常运行系统并将正常运行系统设置为已验证后进行升级。
所述直接升级正常运行系统完成后,进一步包括若存在基本运行系统升级版本,则重启正常运行系统并将正常运行系统设置为已验证后升级基本运行系统。
上述升级过程具体包括:下载所需运行系统升级版本文件包,并将内容写入运行系统区,设置运行系统为未验证。
另外,终端升级第一运行系统前进一步包括检测到第一运行系统数据完整性标志为破坏状态,则升级第一运行系统。
升级数据完整性标志为破坏状态的第一运行系统过程具体包括:下载所需运行系统升级版本文件包,将内容写入运行系统区前设置运行系统区数据完整性为破坏状态,以及,将内容写入后恢复数据完整性标志,并设置运行系统为未验证。
相应的,本发明提供一种终端升级系统,包括升级内容服务器和终端;升级内容服务器,用于存储升级文件包;终端,包括升级单元,用于控制终端的正常运行系统和基本运行系统的升级;升级单元在升级第一运行系统前,判断第二运行系统是否已验证,若已验证,则直接从升级内容服务器下载所需升级文件包升级第一运行系统,若未验证,则终端重启后进行升级。
所述系统进一步包括升级策略服务器,用于存储升级策略文件;升级单元从升级策略服务器下载升级策略文件,决策是否升级第一运行系统,若否,结束升级,若是,则升级第一运行系统。
升级单元进一步包括判断单元,用于判断运行系统是否已验证;升级单元升级正常运行系统前,判断单元判断基本运行系统是否已验证,若已验证,则升级单元直接从升级内容服务器下载所需升级文件包升级正常运行系统;若未验证,则终端重启进入基本运行系统升级正常运行系统,并设置基本运行系统为已验证,升级结束后重启进入正常运行系统。
升级单元进一步包括判断单元,用于判断运行系统是否已验证;升级单元升级基本运行系统前,判断单元判断正常运行系统是否已验证,若已验证,则升级单元直接从升级内容服务器下载所需升级文件包升级基本运行系统;若未验证,则重启正常运行系统并将正常运行系统设置为已验证后进行升级。
升级单元进一步包括判断单元,用于判断第一运行系统数据完整性标志是否为破坏状态,若是,则升级第一运行系统,并恢复数据完整性标志,若否,则执行正常流程。
以上技术方案可以看出:
首先,前述现有技术中升级流程虽然简单,但终端每次升级,需要不断启动系统,这将中断系统正在运行的重要事务,给用户很差的体验感受,而本发明提供的升级方法,终端升级第一运行系统前,判断第二运行系统是否已验证,若已验证,则直接升级第一运行系统,若未验证,则终端重启后进行升级,从而能够使当前运行系统在不中断当前运行业务的情况下实现升级,升级完成后可以选择暂不重启,等待下次掉电或业务完成后再重启,这样可达到近似无干扰的升级,提高了用户的满意度,并且升级其中一个运行系统前已经保证另一个运行系统是正常的,使升级过程更加可靠;
进一步的,前述现有技术中不能对支持在线升级的固件程序进行升级,一旦支持在线升级的固件程序在程序存储区的永久驻留空间被破坏,将导致系统功能固件程序不能升级更新,而本发明提供的升级方法支持基本运行系统的升级,并且终端的正常运行系统和基本运行系统中任一个出现问题,都可以由另一个运行系统进行恢复;
更进一步的,本发明还引入运行系统数据的完整性判断,即终端启动一个运行系统时,进一步包括判断另一运行系统的数据完整性,若为破坏状态,则直接强制升级另一运行系统,否则按正常流程升级,这样进一步增强了升级机制的可靠性和可恢复性。
附图说明
图1是现有技术进行升级的流程图;
图2是本发明在正常运行系统进行升级的简单流程图;
图3是本发明在正常运行系统进行升级的具体流程图;
图4是本发明在基本运行系统进行升级的流程图;
图5是本发明增加数据完整性标志后的在正常运行系统进行升级的流程图;
图6是本发明增加数据完整性标志后的在基本运行系统进行升级的流程图;
图7是本发明方法升级系统示意图。
具体实施方式
本发明提供一种终端升级方法及系统,其核心思想是:终端升级第一运行系统前,判断第二运行系统是否已验证,若已验证,则直接升级第一运行系统,若未验证,则终端重启后进行升级。
为方便对本发明进一步理解,下面结合附图和具体实施例进行详细介绍。
在正常运行系统中,检测到有最新版本可供升级时,若当前基本运行系统是经过升级处理验证的,则在不中断当前系统的业务运行和用户的业务体验的情况下,升级正常运行系统本身,升级完后等待用户的主动上电后切换成新的运行系统。若发现基本运行系统是未经过升级处理验证时,才需要重启系统切换到基本运行系统升级正常运行系统,这保证了升级机制的可靠性和系统的可恢复性。在实际的嵌入式系统中,基本运行系统是比较稳定的系统版本,很少会去更新和升级版本。因此,一般在正常运行系统中,都会检测到基本运行系统都是经过验证的,很少通过切换系统来达到系统升级。具体请参阅图2,是本发明在正常运行系统进行升级的简单流程图,包括步骤:
b1、正常运行系统中,检测到有最新版本可供升级;
b2、判断当前基本运行系统是否经过升级处理验证,若是,进入步骤b5若否,进入步骤b3;
一般在正常运行系统中,都会检测到基本运行系统都是经过验证的。
b3、重新上电到基本运行系统升级正常运行系统,并进入步骤b4;
b4、重新上电到正常运行系统;
在基本运行系统升级正常运行系统后,需马上重新上电到正常运行系统。
b5、直接升级正常运行系统。
直接升级正常运行系统后系统等待用户的主动上电,用户可选择马上重启或处理完业务后再切换成升级后的正常运行系统。
本发明终端升级系统可按物理分布划分为3部分:终端、升级策略服务器和升级内容服务器。终端包括升级单元,升级单元作为终端系统软件功能的一部分,负责控制系统升级流程,保证自动升级流程的可靠性以及系统升级失败后的可恢复性,从而达到自动、及时、可靠地更新终端中的系统软件版本,包括正常运行系统和基本运行系统。升级单元还包括判断单元,用于判断运行系统是否已验证。升级策略服务器,存储按一定格式存放的升级策略文件。升级内容服务器,存储升级文件包。终端的升级单元通过下载和解析升级策略文件,决策当前终端系统软件版本是否可以升级和更新,以及指明相关升级文件包的属性值,例如包括文件大小、版本号、文件校验值和文件包的逻辑位置等。文件包的逻辑位置通常是统一资源定位符URL(Uniform Resource Locator)形式。当终端决策到需要升级系统版本时,可以根据具体指定的逻辑位置从升级内容服务器中下载该升级文件包到终端本地,完成系统软件的升级。
系统软件在终端上分为两套运行系统:正常运行系统和基本运行系统。这两套系统都可以独立运行,并且在需要时依赖系统引导区相互切换运行,协调完成系统的软件升级功能。基本运行系统不涉及任何业务和应用,仅仅提供了基本的软件升级功能,主要是更新和恢复正常运行系统,而正常运行系统不仅提供基本的系统软件升级功能,还包括终端涉及的所有业务和应用功能。需要说明的是,正常运行系统不仅可以更新和恢复基本运行系统,还可以更新本身。正常运行系统和基本运行系统在终端的Flash或者磁盘上分别占取不同的地址分区,由系统引导区来决策优先启动哪个系统。基本运行系统和正常运行系统需要操作的数据存放在专门的系统数据区,也可以再通过其他区划出备份系统数据区来保证系统数据区的可靠性,具体的Flash或者磁盘上的分区至少应该需要以下四个分区:系统引导区、基本运行系统区、正常运行系统区和系统数据区,其他表示剩余的内容分区,包括系统数据备份区、应用程序区和应用数据库区等。
本发明中终端的正常运行系统和基本运行系统共同协调,实现终端系统软件的可靠性升级。具体在正常运行系统中的升级流程如图3所示,包括步骤:
c1、启动正常运行系统,如果正常运行系统未验证,则设置为已验证,或者正常运行系统根据定时器超时触发升级;
c2、根据本地保存的策略文件位置URL从升级策略服务器中下载升级策略文件;
c3、根据格式协议,解析升级策略文件,若当前终端系统不满足策略要求,例如设备类型、硬件版本、厂商组织唯一标识符OUI(Organizational UniqueIdentifier)等与本终端产品相应参数不一致,则升级失败,进入步骤c14,否则,进入步骤c4;
c4、判断是否有最新正常运行系统版本,若有,进入步骤c5,若无,进入步骤c10;
c5、判断基本运行系统是否已验证,若已经验证,进入步骤c7,若未验证,进入步骤c6;
c6、重启系统到基本运行系统中进行升级处理;
c7、从升级内容服务器中下载正常运行系统升级文件包,进入步骤c8;
c8、将升级文件包内容写入到正常运行系统区中,写完文件包后,设置正常运行系统未验证标志;
c9、判断是否还有最新基本运行系统软件版本,若有,则需要重启系统再次进入正常运行系统进行升级处理,即进入步骤c1,否则,进入步骤c14;
c10、判断是否有最新基本运行系统版本,若有,进入步骤c11,若无,进入步骤c14;
c11、判断正常运行系统是否已经验证,若已经验证,进入步骤c12,若未验证,则需要重启系统再次进入正常运行系统进行升级处理,即转入步骤c1;
c12、从升级内容服务器中下载基本运行系统升级文件包,进入步骤c13;
c13、将升级文件包内容写入到基本运行系统区中,写完文件包后,设置基本运行系统未验证标志;
c14、正常运行系统中本次升级结束。
需要说明的是,此图所描述的升级流程中,也可以只存在对正常运行系统版本的升级流程或只存在对基本运行系统版本的升级流程。
对于基本运行系统,为保证其功能的紧凑以及升级流程的简单、可靠,只负责对正常运行系统的升级更新和恢复,而不建议升级其本身,而且一旦启动到基本运行系统,立即开始升级,完成升级后,立即重启系统切换到正常运行系统。在基本运行系统进行升级流程参见图4,其具体步骤包括:
d1、启动到基本运行系统;
d2、根据本地保存的策略文件位置URL,从升级策略服务器中中下载升级策略文件;
d3、根据格式协议,解析升级策略文件,若当前终端系统不满足策略要求,例如设备类型、硬件版本、厂商组织唯一标识符OUI等与本终端产品相应参数不一致,则升级失败,进入步骤d8,否则,进入步骤d4;
d4、判断是否有最新正常运行系统版本,若有,转步骤d5,若无,进入步骤d8;
d5、从升级内容服务器中指定位置下载正常运行系统文件包;
d6、将升级文件包内容写入到正常运行系统区,并且设置正常运行系统未验证标志;
d7、若基本运行系统未验证,则设置为已验证;
d8、基本运行系统中本次升级结束,重启系统到正常运行系统中。
在正常运行系统的升级流程中,引入对系统包括正常运行系统和基本运行系统的验证判断处理,是为了保证升级失败后的系统可恢复性。具体包括以下情况:
1、正常运行系统的升级流程中对正常运行系统进行升级时,如果未有对基本运行系统是否已经验证的判断处理,而直接升级正常运行系统本身,假设此时恰好基本运行系统区数据不完整或基本运行系统虽然升级成功但功能不可用,那么一旦升级失败,例如掉电或者Flash写损坏等而导致升级失败,将导致重启后,不能再次通过备份升级功能来恢复系统。如果先对基本运行系统进行是否验证的判断,若已经验证,则表示基本运行系统功能正常,是可信任的,因为其已经进行过对正常运行系统的升级处理,具体参见基本运行系统升级流程,那么即使在正常运行系统升级本身时出现掉电现象,仍可进入基本运行系统来恢复正常运行系统。如果基本运行系统未验证,则先保证正常运行系统不变,此时正常运行系统升级功能正常,是可信任的,再在基本运行系统中通过是否能够对正常运行系统成功升级来验证基本运行系统功能是否正常,若基本运行系统无法启动,或者对正常运行系统升级失败,则表明基本运行系统功能异常,需要在正常运行系统中强制恢复基本运行系统。
2、正常运行系统的升级流程中对基本运行系统进行升级时,如果未有对正常运行系统是否已经验证的判断处理,而直接对基本运行系统进行升级处理,假设最近刚升级过正常运行系统,但还未经过重启系统进行验证,恰好此时正常运行系统不能运行,那么一旦对基本运行系统升级失败,例如掉电或者Flash写损坏而导致升级失败,则不能再次进入新的正常运行系统来恢复基本运行系统。
3、如果在正常运行系统的升级流程中对正常运行系统进行升级时,出现业务流程中访问正常系统运行区,为保证系统一致性,将强制中断当前业务处理,重启上电进入基本运行系统升级处理。当然,对于功能单一的终端系统,一般在系统上电后将系统区内容全都导入到内存运行,除非系统异常需要恢复,一般不会再次访问正常运行系统区。如果正常运行系统升级完成后但还未生效时,出现访问正常系统运行区,则为保证系统一致性,需要立即重新上电将使得刚升级的系统生效。
总而言之,本发明中,如果需要对其中一个运行系统进行升级,则需要保证另一个运行系统是功能正常的,这样,一旦在其中一个升级过程中失败,则可以通过在另一个运行系统恢复异常的系统,从而保证系统的可恢复性。
在实际的终端系统中,因为基本运行系统只是提供基本的对正常运行系统的升级功能,只要升级策略文件的协议格式不变化,其升级流程处理也很少变化,因此基本运行系统软件版本是比较稳定的,很少有对基本运行系统进行升级更新。而正常运行系统不一样,其主要功能是提供业务和应用,一旦业务或者应用更新,则正常运行系统软件版本也会跟着升级更新。因此,一般绝大部分的频繁升级,是针对正常运行系统的升级更新。如果用户正在享受业务时,终端系统检测到有最新的正常运行系统版本,只要基本运行系统是功能可靠的,则不用重启到基本运行系统中,而直接可在用户享受业务的同时,直接升级正常运行系统本身,升级完成后,也不进行系统重启来验证新的正常运行系统,而是等到掉电重启或者用户主动上电后去验证新的正常运行系统。因此,这样的近似无干扰升级,在用户角度看来,是一种透明的升级过程,不会打扰用户享受业务的过程,而且特殊的升级流程保证了升级的可靠性以及系统的可恢复性。
在上述方案的基础上,本发明还可引入运行系统数据的完整性判断,增强升级机制的可靠性和可恢复性。
即在上述方案的基础上,通过在将下载的文件包写到相应运行系统区之前,设置相应运行系统完整性标志为破坏状态,在写操作完成后,再恢复相应系统的完整性标志,同时再将相应运行系统的未验证性标志设置延迟到写操作完成后,真正地将运行系统区的数据完整性概念与运行系统的功能可运行性相分离,进一步增强系统的升级处理机制的可靠性。
另外,增加相应运行系统的完整性标志后,需要在正常运行系统一启动时,立即判别基本运行系统区的数据完整性,若基本运行系统区数据完整标志为破坏状态,则直接强制升级基本运行系统;否则,处理正常的升级流程。同样,在基本运行系统一启动时,立即判别正常运行系统区的数据完整性,若数据完整性标志为破坏状态,则直接强制升级正常运行系统。
引入运行系统数据的完整性标志后的具体流程请参阅图5和图6。
图5是本发明增加数据完整性标志后的在正常运行系统进行升级方法流程图,包括步骤:
e1、启动正常运行系统,如果正常运行系统未验证,则设置为已验证,同时判断基本运行系统的数据完整性,如果基本运行系统的数据完整性标志为正常状态,则按正常升级流程处理,即进入步骤e2,如果基本运行系统的数据完整性标志为破坏状态,则进入步骤e3,;
e2、按正常升级流程处理;
此时可以按照图3所描述的升级流程进行升级,所不同的是,与图3相比,在将下载的文件包写到相应运行系统区之前,设置相应运行系统完整性标志为破坏状态,在写操作完成后,再恢复相应系统的完整性标志。
e3、根据本地保存的策略文件位置URL从升级策略服务器中下载升级策略文件;
e4、根据格式协议,解析升级策略文件,若当前终端系统不满足策略要求,例如设备类型、硬件版本、厂商组织唯一标识符OUI等与本终端产品相应参数不一致,则升级失败,进入步骤e9,若当前终端系统满足策略要求,并且基本运行系统版本数据完整性标志为破坏状态,则进入步骤e5;
e5、判断正常运行系统是否已经验证,若已经验证,进入步骤e6,若未验证,则需要重启系统再次进入正常运行系统进行升级处理,即转入步骤e1;
e6、从升级内容服务器中下载基本运行系统升级文件包;
e7、设置基本运行系统数据完整性标志为破坏状态;
e8、将升级文件包内容写入到基本运行系统区中,写完后,恢复基本运行系统数据完整性标志,设置基本运行系统未验证标志;
e9、正常运行系统中本次升级结束。
图6是本发明增加数据完整性标志后的在基本运行系统进行升级方法流程图,包括步骤:
f1、启动基本运行系统,判断正常运行系统的数据完整性,如果正常运行系统的数据完整性标志为正常状态,则按正常升级流程处理,即进入步骤f2,如果正常运行系统的数据完整性标志为破坏状态,则进入步骤f3;
f2、按正常升级流程处理;
此时可以按照图4所描述的升级流程进行升级,所不同的是,与图4相比,在将下载的文件包写到相应运行系统区之前,设置相应运行系统完整性标志为破坏状态,在写操作完成后,再恢复相应系统的完整性标志。
f3、根据本地保存的策略文件位置URL,从升级策略服务器中下载升级策略文件;
f4、根据格式协议,解析升级策略文件,若当前终端系统不满足策略要求,例如设备类型、硬件版本、厂商组织唯一标识符OUI等与本终端产品相应参数不一致,则升级失败,进入步骤f9,若当前终端系统满足策略要求,并且正常运行系统版本数据完整性标志为破坏状态,则进入步骤f5;
f5、从升级内容服务器中指定位置下载正常运行系统文件包;
f6、设置正常运行系统数据完整性标志为破坏状态;
f7、将升级文件包内容写入到正常运行系统区,写完后,恢复正常运行系统数据完整性标志,并且设置正常运行系统未验证标志;
f8、若基本运行系统未验证,则设置为已验证;
f9、基本运行系统中本次升级结束,重启系统到正常运行系统中。
上述内容详细介绍了本方明的终端升级方法,相应的,本发明提供一种终端升级系统。请参阅图7,是本发明终端升级系统示意图。
终端升级系统包括升级策略服务器71、升级内容服务器72和终端73,终端包括升级单元731。
升级策略服务器71,用于存储按一定格式存放的升级策略文件;升级内容服务器72,用于存储升级文件包;升级单元731,作为终端系统软件功能的一部分,用于控制终端运行系统的升级,保证自动升级流程的可靠性以及系统升级失败后的可恢复性,从而达到自动、及时、可靠地更新终端73中的系统软件版本,包括正常运行系统和基本运行系统。升级单元731从升级策略服务器71下载升级策略文件,判断终端73是否满足升级要求及判断升级版本类型,根据相应类型升级其中一个运行系统前,判断另一运行系统是否已验证,若是,则直接从升级内容服务器72下载所需升级文件包升级,若否,重启后进行升级。
系统软件在终端73上分为两套运行系统:正常运行系统和基本运行系统。这两套系统都可以独立运行,并且在需要时依赖系统引导区相互切换运行,协调完成系统的软件升级功能。基本运行系统不涉及任何业务和应用,仅仅提供了基本的软件升级功能,主要是更新和恢复正常运行系统。而正常运行系统不仅提供基本的系统软件升级功能,还包括终端73涉及的所有业务和应用功能。需要说明的是,正常运行系统不仅可以更新和恢复基本运行系统,还可以更新本身。
升级单元731进一步包括判断单元7311,用于判断运行系统是否已验证。
升级单元731若升级正常运行系统,则通过判断单元7311判断基本运行系统是否已经通过升级处理验证,若是,则在不中断当前系统的业务运行和用户的业务体验的情况下直接从升级内容服务器72下载所需升级文件包升级正常运行系统,升级完后等待用户的主动上电后切换成新的运行系统;若否,则需要重启系统切换基本运行系统升级正常运行系统,并设置基本运行系统为已验证,升级完成后再重启进入正常运行系统。在实际的嵌入式系统中,基本运行系统是比较稳定的系统版本,很少会去更新和升级版本。因此,一般在正常运行系统中,都会检测到基本运行系统都是经过验证的,很少通过切换系统来达到系统升级。
升级单元731若升级基本运行系统,则通过判断单元7311判断正常运行系统是否已经通过升级处理验证,若是,则在不中断当前系统的业务运行和用户的业务体验的情况下直接从升级内容服务器72下载所需升级文件包升级基本运行系统,升级完后等待用户的主动上电后切换成新的运行系统;若否,则重启正常运行系统将正常运行系统设置为已验证后进后进行升级。
升级单元731升级运行系统具体包括:升级单元731根据升级策略文件具体指定的逻辑位置从升级内容服务器72下载所需升级文件包,并将内容写入相应运行系统区,设置未验证标志。
在上述方案的基础上,升级单元731还可通过在将下载的文件包写到相应运行系统区之前,设置相应运行系统完整性标志为破坏状态,在写操作完成后,再恢复相应系统的完整性标志,同时再将相应运行系统的未验证性标志设置延迟到写操作完成后,真正地将运行系统区的数据完整性概念与运行系统的功能可运行性相分离,进一步增强系统的升级处理机制的可靠性。
另外,增加相应运行系统的数据完整性标志后,升级单元731需要在正常运行系统一启动时,通过判断单元7311立即判别基本运行系统区的数据完整性,若基本运行系统区数据完整性标志为破坏状态,则直接强制升级基本运行系统;否则,处理正常的升级流程。同样,升级单元731在基本运行系统一启动时,通过判断单元7311立即判别正常运行系统区的数据完整性,若数据完整性标志为破坏状态,则直接强制升级正常运行系统。
以上对本发明所提供的一种终端升级方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1、一种终端升级方法,其特征在于:
终端升级第一运行系统前,判断第二运行系统是否已验证,若已验证,则直接升级第一运行系统,若未验证,则终端重启后进行升级。
2、根据权利要求1所述的终端升级方法,其特征在于:
终端升级第一运行系统前进一步包括判断升级版本类型,若存在第一运行系统升级版本,则升级第一运行系统。
3、根据权利要求1所述的终端升级方法,其特征在于:
若第一运行系统为正常运行系统,第二运行系统为基本运行系统,则升级正常运行系统前,判断基本运行系统是否已验证,若已验证,直接升级正常运行系统;若未验证,则终端重启进入基本运行系统升级正常运行系统,并设置基本运行系统为已验证,升级结束后重启进入正常运行系统。
4、根据权利要求1所述的终端升级方法,其特征在于:
若第一运行系统为基本运行系统,第二运行系统为正常运行系统,则升级基本运行系统前,判断正常运行系统是否已验证,若已验证,则直接升级基本运行系统;若未验证,则重启正常运行系统并将正常运行系统设置为已验证后进行升级。
5、根据权利要求3所述的终端升级方法,其特征在于:
所述直接升级正常运行系统完成后,进一步包括若存在基本运行系统升级版本,则重启正常运行系统并将正常运行系统设置为已验证后升级基本运行系统。
6、根据权利要求3、4或5所述的终端升级方法,其特征在于,升级过程具体包括:
下载所需运行系统升级版本文件包,并将内容写入运行系统区,设置运行系统为未验证。
7、根据权利要求1所述的终端升级方法,其特征在于:
终端升级第一运行系统前进一步包括检测到第一运行系统数据完整性标志为破坏状态,则升级第一运行系统。
8、根据权利要求7所述的终端升级方法,其特征在于,升级过程具体包括:
下载所需运行系统升级版本文件包,将内容写入运行系统区前设置运行系统区数据完整性为破坏状态,以及,将内容写入后恢复数据完整性标志,并设置运行系统为未验证。
9、一种终端升级系统,其特征在于:
包括升级内容服务器和终端;
升级内容服务器,用于存储升级文件包;
终端,包括升级单元,用于控制终端的正常运行系统和基本运行系统的升级;
升级单元在升级第一运行系统前,判断第二运行系统是否已验证,若已验证,则直接从升级内容服务器下载所需升级文件包升级第一运行系统,若未验证,则终端重启后进行升级。
10、根据权利要求9所述的终端升级系统,其特征在于:
所述系统进一步包括升级策略服务器,用于存储升级策略文件;
升级单元从升级策略服务器下载升级策略文件,决策是否升级第一运行系统,若否,结束升级,若是,则升级第一运行系统。
11、根据权利要求9或10所述的终端升级系统,其特征在于:
升级单元进一步包括判断单元,用于判断运行系统是否已验证;
升级单元升级正常运行系统前,判断单元判断基本运行系统是否已验证,若已验证,则升级单元直接从升级内容服务器下载所需升级文件包升级正常运行系统;若未验证,则终端重启进入基本运行系统升级正常运行系统,并设置基本运行系统为已验证,升级结束后重启进入正常运行系统。
12、根据权利要求9或10所述的终端升级系统,其特征在于:
升级单元进一步包括判断单元,用于判断运行系统是否已验证;
升级单元升级基本运行系统前,判断单元判断正常运行系统是否已验证,若已验证,则升级单元直接从升级内容服务器下载所需升级文件包升级基本运行系统;若未验证,则重启正常运行系统并将正常运行系统设置为已验证后进行升级。
13、根据权利要求9或10所述的终端升级系统,其特征在于:
升级单元进一步包括判断单元,用于判断第一运行系统数据完整性标志是否为破坏状态,若是,则升级第一运行系统,并恢复数据完整性标志,若否,则执行正常流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100993471A CN100357893C (zh) | 2006-07-17 | 2006-07-17 | 一种终端升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100993471A CN100357893C (zh) | 2006-07-17 | 2006-07-17 | 一种终端升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889042A true CN1889042A (zh) | 2007-01-03 |
CN100357893C CN100357893C (zh) | 2007-12-26 |
Family
ID=37578320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100993471A Active CN100357893C (zh) | 2006-07-17 | 2006-07-17 | 一种终端升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100357893C (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236506B (zh) * | 2008-02-25 | 2011-07-20 | 中兴通讯股份有限公司 | 一种机架式设备的版本升级方法 |
CN102141921A (zh) * | 2010-02-03 | 2011-08-03 | 华为终端有限公司 | 一种终端设备系统升级方法及终端设备 |
CN104750509A (zh) * | 2013-12-30 | 2015-07-01 | 青岛海信宽带多媒体技术有限公司 | 系统升级方法及装置 |
CN105068834A (zh) * | 2015-08-04 | 2015-11-18 | 广东欧珀移动通信有限公司 | 系统升级方法及装置 |
CN107423080A (zh) * | 2017-04-06 | 2017-12-01 | 大连网月科技股份有限公司 | 一种主备系统固件自动同步的方法及装置 |
CN109639448A (zh) * | 2017-10-09 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 升级设备的方法和升级系统 |
CN113064608A (zh) * | 2020-01-02 | 2021-07-02 | 广东博智林机器人有限公司 | 一种ota升级方法、装置、设备和介质 |
CN114442766A (zh) * | 2021-12-24 | 2022-05-06 | 曙光信息产业股份有限公司 | 散热系统、方法和单片机 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214113B (zh) * | 2011-06-08 | 2015-02-04 | Tcl集团股份有限公司 | 一种操作系统升级方法、装置及终端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1276348C (zh) * | 2003-01-15 | 2006-09-20 | 联想(北京)有限公司 | 无盘工作站自动升级方法 |
US7146610B2 (en) * | 2003-03-27 | 2006-12-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for upgrading software components without system shutdown |
JP2004355304A (ja) * | 2003-05-29 | 2004-12-16 | Hitachi Ltd | 情報端末アップデートシステム |
CN100351797C (zh) * | 2003-08-19 | 2007-11-28 | 华为技术有限公司 | 一种单片机在线升级方法和装置 |
CN100384122C (zh) * | 2005-05-25 | 2008-04-23 | 深圳创维数字技术股份有限公司 | 网络终端产品的在线升级方法 |
-
2006
- 2006-07-17 CN CNB2006100993471A patent/CN100357893C/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236506B (zh) * | 2008-02-25 | 2011-07-20 | 中兴通讯股份有限公司 | 一种机架式设备的版本升级方法 |
CN102141921A (zh) * | 2010-02-03 | 2011-08-03 | 华为终端有限公司 | 一种终端设备系统升级方法及终端设备 |
WO2011095074A1 (zh) * | 2010-02-03 | 2011-08-11 | 华为终端有限公司 | 一种终端设备系统升级方法及终端设备 |
CN104750509A (zh) * | 2013-12-30 | 2015-07-01 | 青岛海信宽带多媒体技术有限公司 | 系统升级方法及装置 |
CN105068834A (zh) * | 2015-08-04 | 2015-11-18 | 广东欧珀移动通信有限公司 | 系统升级方法及装置 |
CN105068834B (zh) * | 2015-08-04 | 2018-02-09 | 广东欧珀移动通信有限公司 | 系统升级方法及装置 |
CN107423080A (zh) * | 2017-04-06 | 2017-12-01 | 大连网月科技股份有限公司 | 一种主备系统固件自动同步的方法及装置 |
CN109639448A (zh) * | 2017-10-09 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 升级设备的方法和升级系统 |
CN113064608A (zh) * | 2020-01-02 | 2021-07-02 | 广东博智林机器人有限公司 | 一种ota升级方法、装置、设备和介质 |
CN114442766A (zh) * | 2021-12-24 | 2022-05-06 | 曙光信息产业股份有限公司 | 散热系统、方法和单片机 |
Also Published As
Publication number | Publication date |
---|---|
CN100357893C (zh) | 2007-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1889042A (zh) | 一种终端升级方法及系统 | |
US20030005037A1 (en) | Crash recovery system | |
CN1740949A (zh) | 信息处理设备及其启动方法 | |
CN108027741A (zh) | 基于补丁升级的文件处理方法、装置、终端以及存储介质 | |
CN1859162A (zh) | 自动恢复设备故障的实现方法及系统 | |
TWI533216B (zh) | 作業系統更新方法 | |
CN104918114B (zh) | 一种操作系统升级方法及装置 | |
CN1749963A (zh) | 一种Boot软件升级方法和一种Boot软件恢复方法 | |
CN1809816A (zh) | 网络设备及监视其启动的方法 | |
US8812906B2 (en) | Method for system recovery and apparatus supporting the same | |
JP2010079440A (ja) | ファームウェア更新装置及び方法 | |
CN107329792B (zh) | 一种Docker容器启动方法及装置 | |
CN111176669A (zh) | 云应用的安装启动方法、云流化服务器及存储服务器 | |
CN1858707A (zh) | 一种移动终端软件自动加载的方法 | |
CN106020861A (zh) | 一种智能手表的fota升级方法及系统 | |
CN103678032A (zh) | 系统文件的修复方法及装置 | |
CN111309354A (zh) | 联网设备的ota升级方法及装置 | |
CN106775674B (zh) | 一种基于通用引导加载程序的设备及其启动方法 | |
CN102012990A (zh) | 第三方软件漏洞的修补方法和装置 | |
CN1866854A (zh) | 在设备管理中更新和恢复终端设备数据的方法 | |
TWI450090B (zh) | 關於改變程式之啟動列表以判定電腦系統性能是否增進之方法及系統 | |
JP2009020886A (ja) | Otaプログラミングのためのシステム及び方法 | |
CN110580167A (zh) | 一种系统升级方法、智能设备及服务器 | |
CN108459868A (zh) | 一种软件启动方法、装置、终端和存储介质 | |
CN113626059B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |