首页 > 专利 > 上海斐讯数据通信技术有限公司 > 一种嵌入式设备以及一种软件升级方法专利详情

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

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2015-08-17
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2015-11-25
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2018-06-19
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2035-08-17
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201510504303.1 申请日 2015-08-17
公开/公告号 CN105005492B 公开/公告日 2018-06-19
授权日 2018-06-19 预估到期日 2035-08-17
申请年 2015年 公开/公告年 2018年
缴费截止日 2022-09-17
分类号 G06F8/65 主分类号 G06F8/65
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 3
权利要求数量 4 非专利引证数量 0
引用专利数量 4 被引证专利数量 0
非专利引证
引用专利 CN102520979A、CN103425510A、CN104375863A、CN104391729A 被引证专利
专利权维持 5 专利申请国编码 CN
专利事件 转让 事务标签 公开、实质审查、授权、权利转移
申请人信息
申请人 第一申请人
专利权人 上海斐讯数据通信技术有限公司 当前专利权人 湖州帷幄知识产权运营有限公司
发明人 李铭梁 第一发明人 李铭梁
地址 上海市松江区思贤路3666号 邮编 201616
申请人数量 1 发明人数量 1
申请人所在省 上海市 申请人所在市 上海市松江区
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明提供一种嵌入式设备以及一种软件升级方法,根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定一状态机所处的状态;根据检测的所述状态机的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作。本发明可控制升级过程中各种状态,使其从不可控变为可控。使升级过程变的更灵活,可以在各种需要的状态中自由切换。且使升级过程更可靠,可以使系统从各种错误或不稳定状态切换到稳定的可控的状态。
  • 摘要附图
    一种嵌入式设备以及一种软件升级方法
  • 说明书附图:图1
    一种嵌入式设备以及一种软件升级方法
  • 说明书附图:图2
    一种嵌入式设备以及一种软件升级方法
  • 说明书附图:图3
    一种嵌入式设备以及一种软件升级方法
  • 说明书附图:图4
    一种嵌入式设备以及一种软件升级方法
  • 说明书附图:图5
    一种嵌入式设备以及一种软件升级方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-03-23 专利权的转移 登记生效日: 2021.03.11 专利权人由蚌埠立超信息科技有限公司变更为湖州帷幄知识产权运营有限公司 地址由233000 安徽省蚌埠市燕山路8319号(上理工科技园6号302室)变更为313000 浙江省湖州市吴兴区爱山街道新天地商务写字楼1019室
2 2018-06-19 授权
3 2015-11-25 实质审查的生效 IPC(主分类): G06F 9/445 专利申请号: 201510504303.1 申请日: 2015.08.17
4 2015-10-28 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种嵌入式设备,其特征在于,包括:
状态机,用以根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定其所处的状态;
网管模块,用以根据检测的所述状态机的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作;
所述激活分区版本标识符为0时,标识所述激活分区的所述软件版本为正常版本,所述激活分区版本标示符为1时,标识所述激活分区的所述软件版本为新版本;当所述非激活分区版本标识符为0时,标识所述非激活分区的所述软件版本为正常版本,当所述非激活分区版本标识符为1时,标识所述非激活分区的所述软件版本为新版本,当所述非激活分区版本标识符为-1时,标识所述非激活分区的所述非激活分区不具有相关软件;
所述状态机至少包括以下状态中的一种或多种:
1)当所述激活分区版本标识符为0且所述非激活分区版本标识符为0时,所述状态机处于正常状态;
2)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为1时,所述状态机处于需复位状态;
3)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为0时,所述状态机处于需同步状态;
4)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为1时,所述状态机处于待提交状态;
5)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为-1时,或当所述激活分区版本标识符为1,且所述非激活分区版本标识符为-1时,所述状态机处于异常状态;
所述网管模块当检测到所述状态机处于所述异常状态时,令所述非激活分区根据所述激活分区中的所述软件执行更新操作;
所述网管模块当检测到所述状态机处于所述需同步状态时,令所述非激活分区根据所述激活分区的软件执行更新操作,以令所述状态机处于所述待提交状态,且当检测到所述激活分区中的软件运行异常时,令所述激活分区根据所述非激活分区的软件执行回退操作,且令所述状态机处于需复位状态;
且在需同步状态下,如果发现新的软件版本有缺陷,或者不满足需求,那么网管模块发送命令,激活原非激活分区,使设备运行旧的软件版本,恢复到初始状态。

2.根据权利要求1所述的嵌入式设备,其特征在于:当所述状态机处于所述正常状态时,接收到外部升级指令时,令所述非激活分区根据预设通道获取更新的软件,以令所述状态机处于所述需复位状态;所述网管模块当检测到所述状态机处于所述需复位状态时,重启所述嵌入式设备,令所述激活分区根据所述非激活分区的软件执行更新操作,以令所述状态机处于所述需同步状态;所述网管模块当检测到所述状态机处于所述待提交状态时,确认所述激活分区以及所述非激活分区的软件升级完成,并令所述激活分区版本标识符为
0且所述非激活分区版本标识符为0,所述状态机处于正常状态。

3.一种软件升级方法,其特征在于,应用于一嵌入式设备中,包括以下步骤:
根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定一状态机所处的状态;
根据检测的所述状态机的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作;
所述激活分区版本标识符为0时,标识所述激活分区的所述软件版本为正常版本,所述激活分区版本标示符为1时,标识所述激活分区的所述软件版本为新版本;当所述非激活分区版本标识符为0时,标识所述非激活分区的所述软件版本为正常版本,当所述非激活分区版本标识符为1时,标识所述非激活分区的所述软件版本为新版本,当所述非激活分区版本标识符为-1时,标识所述非激活分区的所述非激活分区不具有相关软件;
所述状态机至少包括以下状态中的一种或多种:
1)当所述激活分区版本标识符为0且所述非激活分区版本标识符为0时,所述状态机处于正常状态;
2)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为1时,所述状态机处于需复位状态;
3)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为0时,所述状态机处于需同步状态;
4)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为1时,所述状态机处于待提交状态;
5)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为-1时,或当所述激活分区版本标识符为1,且所述非激活分区版本标识符为-1时,所述状态机处于异常状态;
当检测到所述状态机处于所述异常状态时,令所述非激活分区根据所述激活分区中的所述软件执行更新操作;
当检测到所述状态机处于所述需同步状态时,令所述非激活分区根据所述激活分区的软件执行更新操作,以令所述状态机处于所述待提交状态,且当检测到所述激活分区中的软件运行异常时,令所述激活分区根据所述非激活分区的软件执行回退操作,且令所述状态机处于需复位状态;
且在需同步状态下,如果发现新的软件版本有缺陷,或者不满足需求,那么网管模块发送命令,激活原非激活分区,使设备运行旧的软件版本,恢复到初始状态。

4.根据权利要求3所述的软件升级方法,其特征在于:当所述状态机处于所述正常状态时,接收到外部升级指令时,令所述非激活分区根据预设通道获取更新的软件,以令所述状态机处于所述需复位状态;所述网管模块当检测到所述状态机处于所述需复位状态时,重启所述嵌入式设备,令所述激活分区根据所述非激活分区的软件执行更新操作,以令所述状态机处于所述需同步状态;所述网管模块当检测到所述状态机处于所述待提交状态时,确认所述激活分区以及所述非激活分区的软件升级完成,并令所述激活分区版本标识符为
0且所述非激活分区版本标识符为0,所述状态机处于正常状态。
说明书

技术领域

[0001] 本发明涉及嵌入式开发领域,特别是涉及一种嵌入式设备以及一种软件升级方法。

背景技术

[0002] 在嵌入式设备中,系统软件一般都存放在可擦写中存储中,在可用性要求不高的设备中,系统软件一般只有一份,在出现人为误操作、存储设备损坏等情况时,一般都无法恢复。在可用性要求较高的设备中,比如电信设备,通常系统软件都有两份,并且会为备份,但是系统的升级策略,相对比较简单和直接,无法适应系统碰到的所有情况,且不能对软件的升级过程进行较好的控制。

发明内容

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

实施方案

[0025] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0026] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0027] 请参阅图1,显示为本发明的一种嵌入式设备在一具体实施例中的模块示意图。所述嵌入式设备1包括状态机11和网管模块12。通常的嵌入式设备都是通过保存两份系统软件来实现,他们分别存放在两个不同的存储设备分区上,或者两片不同的物理存储设备。其系统架构和原理如图2和图3所示,例如图2,显示为现有技术中嵌入式设备的两份系统软件存放于同一存储设备中的示意图,其中所述系统软件1存储于当前激活分区,所述系统软件2存储于非激活分区,即通常所述的备份分区。且如图3所示,显示为现有技术中嵌入式设备的两份系统软件存放于不同的存储设备中的示意图,其中所述系统软件1存储于存储设备1(当前激活分区),所述系统软件2存储于存储设备2(非激活分区),即通常所说的备份分区。
[0028] 所述状态机11用以根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定其所处的状态。
[0029] 例如,激活分区版本标识符以及所述非激活分区版本标识符包括0和1两种状态,所述激活分区版本标识符为0时,标识所述激活分区的所述软件版本为正常版本,所述激活分区版本标示符为1时,标识所述激活分区的所述软件版本为新版本;当所述非激活分区版本标识符为0时,标识所述非激活分区的所述软件版本为正常版本,当所述非激活分区版本标识符为1时,标识所述非激活分区的所述软件版本为新版本,当所述非激活分区版本标识符为-1时,标识所述非激活分区的所述非激活分区不具有相关软件。
[0030] 且所述状态机11的状态至少包括以下状态中的一种或多种:
[0031] 1)当所述激活分区版本标识符为0且所述非激活分区版本标识符为0时,所述状态机11处于正常状态;
[0032] 2)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为1时,所述状态机11处于需复位状态;
[0033] 3)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为0时,所述状态机11处于需同步状态;
[0034] 4)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为1时,所述状态机11处于待提交状态;
[0035] 5)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为-1时,或当所述激活分区版本标识符为1,且所述非激活分区版本标识符为-1时,所述状态机11处于异常状态。
[0036] 所述网管模块12用以根据检测的所述状态机11的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作。所述外部控制命令包括令所述嵌入式设备1进行软件更新的命令,且当所述状态机11处于所述正常状态时,接收到外部升级指令时,令所述非激活分区根据预设通道获取更新的软件,以令所述状态机11处于所述需复位状态,其中,所述预设通道例如为ftp通道;所述网管模块12当检测到所述状态机11处于所述需复位状态时,重启所述嵌入式设备1,令所述激活分区根据所述非激活分区的软件执行更新操作,以令所述状态机11处于所述需同步状态;所述网管模块12当检测到所述状态机11处于所述需同步状态时,令所述非激活分区根据所述激活分区的软件执行更新操作,以令所述状态机11处于所述待提交状态,且当检测到所述激活分区中的软件运行异常时,令所述激活分区根据所述非激活分区的软件执行回退操作,且令所述状态机11处于需复位状态;所述网管模块12当检测到所述状态机11处于所述待提交状态时,确认所述激活分区以及所述非激活分区的软件升级完成,并令所述激活分区版本标识符为0且所述非激活分区版本标识符为0,所述状态机11处于正常状态。且当所述网管模块12当检测到所述状态机11处于所述异常状态时,令所述非激活分区根据所述激活分区中的所述软件执行更新操作。
[0037] 现结合图4对本发明的应用原理进一步进行说明,令cur表示激活分区版本标识符,backup表示非激活分区版本标识符,所述状态机的状态分别为,正常状态(Normal),需复位状态(need reset),需同步状态(need sync),待提交状态(need commit),以及当所述激活分区版本标识符为0,且所述非激活分区版本标识符为-1时的异常状态(Lost backup)以及当所述激活分区版本标识符为1,且所述非激活分区版本标识符为-1时的异常状态(Lost backward),Normal状态下,cur=backup=0;need reset状态下,cur=0,backup=1;need sync状态下,cur=1,backup=0;need commit状态下,cur=backup=1;Lost backup状态下,cur=0,backup=-1,Lost backward状态下,cur=1,backup=-1。
[0038] 且网管模块根据软件更新命令令软件进行更新的操作为Update表示,且如图4所示,在Update之前,cur=backup=0,且Update之后:cur=0,backup=1;所述网管模块当检测到所述状态机处于所述需复位状态时,根据reset命令,重启所述嵌入式设备,令所述激活分区根据所述非激活分区的软件执行更新操作,以令所述状态机处于所述需同步状态,即cur=1,backup=0。所述软件的同步操作以Sync表示,即令激活分区中的软件同步到非激活分区中,所述Sync命令执行前:cru=0,backup=1,命令执行后:cur=0,backup=0;或者,Sync命令执行前:cru=1,backup=0;命令执行后:cur=1,backup=1。或者,Sync命令执行前:cru=0,backup=-1,命令执行后:cur=0,backup=0。或者,Sync命令执行前:cru=1,backup=-1,命令执行后:cur=1,backup=1。且当cru=1,backup=1时,即处于待提交状态,此时当接收到提价命令commit时,所述状态机的状态为Normal,即cru=0,backup=0。且在需同步状态下,如果发现新的软件版本有缺陷,或者不满足需求,那么网管模块可以发送Backward命令,激活存储旧软件版本的备份分区,即原非激活分区,并重启设备。从而使设备回到need reset状态,此时设备运行的是旧的软件版本。再通过sync命令,可以使设备回复到初始状态。
[0039] 请参阅图5,显示为本发明的一种软件升级方法在一具体实施例中的流程示意图。通常的嵌入式设备都是通过保存两份系统软件来实现,他们分别存放在两个不同的存储设备分区上,或者两片不同的物理存储设备。其系统架构和原理如图2和图3所示,例如图2,显示为现有技术中嵌入式设备的两份系统软件存放于同一存储设备中的示意图,其中所述系统软件1存储于当前激活分区,所述系统软件2存储于非激活分区,即通常所述的备份分区。
且如图3所示,显示为现有技术中嵌入式设备的两份系统软件存放于不同的存储设备中的示意图,其中所述系统软件1存储于存储设备1(当前激活分区),所述系统软件2存储于存储设备2(非激活分区),即通常所说的备份分区。
[0040] 所述软件升级方法,应用于一嵌入式设备中,包括以下步骤:
[0041] S11:根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定一状态机所处的状态。
[0042] 例如,激活分区版本标识符以及所述非激活分区版本标识符包括0和1两种状态,所述激活分区版本标识符为0时,标识所述激活分区的所述软件版本为正常版本,所述激活分区版本标示符为1时,标识所述激活分区的所述软件版本为新版本;当所述非激活分区版本标识符为0时,标识所述非激活分区的所述软件版本为正常版本,当所述非激活分区版本标识符为1时,标识所述非激活分区的所述软件版本为新版本,当所述非激活分区版本标识符为-1时,标识所述非激活分区的所述非激活分区不具有相关软件。
[0043] 且所述状态机的状态至少包括以下状态中的一种或多种:
[0044] 1)当所述激活分区版本标识符为0且所述非激活分区版本标识符为0时,所述状态机处于正常状态;
[0045] 2)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为1时,所述状态机处于需复位状态;
[0046] 3)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为0时,所述状态机处于需同步状态;
[0047] 4)当所述激活分区版本标识符为1,且所述非激活分区版本标识符为1时,所述状态机处于待提交状态;
[0048] 5)当所述激活分区版本标识符为0,且所述非激活分区版本标识符为-1时,或当所述激活分区版本标识符为1,且所述非激活分区版本标识符为-1时,所述状态机处于异常状态。
[0049] S12:根据检测的所述状态机的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作。所述外部控制命令包括令所述嵌入式设备进行软件更新的命令,且当所述状态机处于所述正常状态时,接收到外部升级指令时,令所述非激活分区根据预设通道获取更新的软件,以令所述状态机处于所述需复位状态,其中,所述预设通道例如为ftp通道;当检测到所述状态机处于所述需复位状态时,重启所述嵌入式设备,令所述激活分区根据所述非激活分区的软件执行更新操作,以令所述状态机处于所述需同步状态;当检测到所述状态机处于所述需同步状态时,令所述非激活分区根据所述激活分区的软件执行更新操作,以令所述状态机处于所述待提交状态,且当检测到所述激活分区中的软件运行异常时,令所述激活分区根据所述非激活分区的软件执行回退操作,且令所述状态机处于需复位状态;所述当检测到所述状态机处于所述待提交状态时,确认所述激活分区以及所述非激活分区的软件升级完成,并令所述激活分区版本标识符为0且所述非激活分区版本标识符为0,所述状态机处于正常状态。且当所述当检测到所述状态机处于所述异常状态时,令所述非激活分区根据所述激活分区中的所述软件执行更新操作。
[0050] 现结合图4对本发明的应用原理进一步进行说明,令cur表示激活分区版本标识符,backup表示非激活分区版本标识符,所述状态机的状态分别为,正常状态(Normal),需复位状态(need reset),需同步状态(need sync),待提交状态(need commit),以及当所述激活分区版本标识符为0,且所述非激活分区版本标识符为-1时的异常状态(Lost backup)以及当所述激活分区版本标识符为1,且所述非激活分区版本标识符为-1时的异常状态(Lost backward),Normal状态下,cur=backup=0;need reset状态下,cur=0,backup=1;need sync状态下,cur=1,backup=0;need commit状态下,cur=backup=1;Lost backup状态下,cur=0,backup=-1,Lost backward状态下,cur=1,backup=-1。
[0051] 且网管模块根据软件更新命令令软件进行更新的操作为Update表示,且如图4所示,在Update之前,cur=backup=0,且Update之后:cur=0,backup=1;所述网管模块当检测到所述状态机处于所述需复位状态时,根据reset命令,重启所述嵌入式设备,令所述激活分区根据所述非激活分区的软件执行更新操作,以令所述状态机处于所述需同步状态,即cur=1,backup=0。所述软件的同步操作以Sync表示,即令激活分区中的软件同步到非激活分区中,所述Sync命令执行前:cru=0,backup=1,命令执行后:cur=0,backup=0;或者,Sync命令执行前:cru=1,backup=0;命令执行后:cur=1,backup=1。或者,Sync命令执行前:cru=0,backup=-1,命令执行后:cur=0,backup=0。或者,Sync命令执行前:cru=1,backup=-1,命令执行后:cur=1,backup=1。且当cru=1,backup=1时,即处于待提交状态,此时当接收到提价命令commit时,所述状态机的状态为Normal,即cru=0,backup=0。且在需同步状态下,如果发现新的软件版本有缺陷,或者不满足需求,那么网管模块可以发送Backward命令,激活存储旧软件版本的备份分区,即原非激活分区,并重启设备。从而使设备回到need reset状态,此时设备运行的是旧的软件版本。再通过sync命令,可以使设备回复到初始状态。
[0052] 综上所述,本发明的一种嵌入式设备以及一种软件升级方法,根据检测的激活分区的软件版本获得的激活分区版本标识符以及根据检测的非激活分区的软件版本获得的非激活分区版本标识符,确定一状态机所处的状态;根据检测的所述状态机的状态或接收的外部控制命令,执行所述激活分区或所述非激活分区的软件的版本更新或回退操作。本发明可控制升级过程中各种状态,使其从不可控变为可控。使升级过程变的更灵活,可以在各种需要的状态中自由切换。且使升级过程更可靠,可以使系统从各种错误或不稳定状态切换到稳定的可控的状态。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0053] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

附图说明

[0015] 图1显示为本发明的一种嵌入式设备在一具体实施例中的模块示意图。
[0016] 图2显示为现有技术中嵌入式设备的两份系统软件存放于同一存储设备中的示意图。
[0017] 图3显示为现有技术中嵌入式设备的两份系统软件存放于不同的存储设备中的示意图。
[0018] 图4显示为一具体实施例中本发明的软件升级方法的原理示意图。
[0019] 图5显示为本发明的一种软件升级方法在一具体实施例中的流程示意图。
[0020] 元件标号说明
[0021] 1        嵌入式设备
[0022] 11       状态机
[0023] 12       网管设备
[0024] S11、S12  步骤
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号