一种嵌入式设备以及一种软件升级方法

文档序号:9288338阅读:508来源:国知局
一种嵌入式设备以及一种软件升级方法
【技术领域】
[0001]本发明涉及嵌入式开发领域,特别是涉及一种嵌入式设备以及一种软件升级方法。
【背景技术】
[0002]在嵌入式设备中,系统软件一般都存放在可擦写中存储中,在可用性要求不高的设备中,系统软件一般只有一份,在出现人为误操作、存储设备损坏等情况时,一般都无法恢复。在可用性要求较高的设备中,比如电信设备,通常系统软件都有两份,并且会为备份,但是系统的升级策略,相对比较简单和直接,无法适应系统碰到的所有情况,且不能对软件的升级过程进行较好的控制。

【发明内容】

[0003]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种嵌入式设备以及一种软件升级方法,用于解决现有技术中升级过程简单,缺乏状态控制,且无法根据用户的多种升级需求对软件升级进行较好的控制的问题。
[0004]为实现上述目的及其他相关目的,本发明提供一种嵌入式设备,包括:状态机,用以根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定其所处的状态;网管模块,用以根据检测的所述状态机的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作。
[0005]可选的,所述激活分区版本标识符为O时,标识所述激活分区的所述软件版本为正常版本,所述激活分区版本标示符为I时,标识所述激活分区的所述软件版本为新版本;当所述非激活分区版本标识符为O时,标识所述非激活分区的所述软件版本为正常版本,当所述非激活分区版本标识符为I时,标识所述非激活分区的所述软件版本为新版本,当所述非激活分区版本标识符为-1时,标识所述非激活分区的所述非激活分区不具有相关软件。
[0006]可选的,所述状态机至少包括以下状态中的一种或多种:1)当所述激活分区版本标识符为O且所述非激活分区版本标识符为O时,所述状态机处于正常状态;2)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为I时,所述状态机处于需复位状态;3)当所述激活分区版本标识符为I,且所述非激活分区版本标识符为O时,所述状态机处于需同步状态;4)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为I时,所述状态机处于待提交状态;5)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为-1时,或当所述激活分区版本标识符为1,且所述非激活分区版本标识符为-1时,所述状态机处于异常状态。
[0007]可选的,所述网管模块当检测到所述状态机处于所述异常状态时,令所述非激活分区根据所述激活分区中的所述软件执行更新操作。
[0008]可选的,当所述状态机处于所述正常状态时,接收到外部升级指令时,令所述非激活分区根据预设通道获取更新的软件,以令所述状态机处于所述需复位状态;所述网管模块当检测到所述状态机处于所述需复位状态时,重启所述嵌入式设备,令所述激活分区根据所述非激活分区的软件执行更新操作,以令所述状态机处于所述需同步状态;所述网管模块当检测到所述状态机处于所述需同步状态时,令所述非激活分区根据所述激活分区的软件执行更新操作,以令所述状态机处于所述待提交状态,且当检测到所述激活分区中的软件运行异常时,令所述激活分区根据所述非激活分区的软件执行回退操作,且令所述状态机处于需复位状态;所述网管模块当检测到所述状态机处于所述待提交状态时,确认所述激活分区以及所述非激活分区的软件升级完成,并令所述激活分区版本标识符为O且所述非激活分区版本标识符为0,所述状态机处于正常状态。
[0009]为实现上述目的及其他相关目的,本发明还提供一种软件升级方法,应用于一嵌入式设备中,包括以下步骤:根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定一状态机所处的状态;根据检测的所述状态机的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作。
[0010]可选的,所述激活分区版本标识符为O时,标识所述激活分区的所述软件版本为正常版本,所述激活分区版本标示符为I时,标识所述激活分区的所述软件版本为新版本;当所述非激活分区版本标识符为O时,标识所述非激活分区的所述软件版本为正常版本,当所述非激活分区版本标识符为I时,标识所述非激活分区的所述软件版本为新版本,当所述非激活分区版本标识符为-1时,标识所述非激活分区的所述非激活分区不具有相关软件。
[0011]可选的,所述状态机至少包括以下状态中的一种或多种:1)当所述激活分区版本标识符为O且所述非激活分区版本标识符为O时,所述状态机处于正常状态;2)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为I时,所述状态机处于需复位状态;3)当所述激活分区版本标识符为I,且所述非激活分区版本标识符为O时,所述状态机处于需同步状态;4)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为I时,所述状态机处于待提交状态;5)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为-1时,或当所述激活分区版本标识符为1,且所述非激活分区版本标识符为-1时,所述状态机处于异常状态。
[0012]可选的,当检测到所述状态机处于所述异常状态时,令所述非激活分区根据所述激活分区中的所述软件执行更新操作。
[0013]可选的,当所述状态机处于所述正常状态时,接收到外部升级指令时,令所述非激活分区根据预设通道获取更新的软件,以令所述状态机处于所述需复位状态;所述网管模块当检测到所述状态机处于所述需复位状态时,重启所述嵌入式设备,令所述激活分区根据所述非激活分区的软件执行更新操作,以令所述状态机处于所述需同步状态;所述网管模块当检测到所述状态机处于所述需同步状态时,令所述非激活分区根据所述激活分区的软件执行更新操作,以令所述状态机处于所述待提交状态,且当检测到所述激活分区中的软件运行异常时,令所述激活分区根据所述非激活分区的软件执行回退操作,且令所述状态机处于需复位状态;所述网管模块当检测到所述状态机处于所述待提交状态时,确认所述激活分区以及所述非激活分区的软件升级完成,并令所述激活分区版本标识符为O且所述非激活分区版本标识符为O,所述状态机处于正常状态。
[0014]如上所述,本发明的一种嵌入式设备以及一种软件升级方法,根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定一状态机所处的状态;根据检测的所述状态机的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作。本发明可控制升级过程中各种状态,使其从不可控变为可控。使升级过程变的更灵活,可以在各种需要的状态中自由切换。且使升级过程更可靠,可以使系统从各种错误或不稳定状态切换到稳定的可控的状态。
【附图说明】
[0015]图1显示为本发明的一种嵌入式设备在一具体实施例中的模块示意图。
[0016]图2显示为现有技术中嵌入式设备的两份系统软件存放于同一存储设备中的示意图。
[0017]图3显示为现有技术中嵌入式设备的两份系统软件存放于不同的存储设备中的示意图。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1