一种WI-FI设备OTA升级失败后的恢复方法与流程

文档序号:23391983发布日期:2020-12-22 13:58阅读:327来源:国知局
一种WI-FI设备OTA升级失败后的恢复方法与流程

本发明涉及ota升级技术领域,具体来说,涉及一种wi-fi设备ota升级失败后的恢复方法。



背景技术:

ota(over-the-airtechnology,空间下载技术)升级是android系统提供的标准软件升级方式。是通过移动通信(gsm或cdma)的空中接口对sim卡数据及应用进行远程管理的技术。空中接口可以采用wap、gprs、cdma1x及短消息技术。ota技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。

ota功能强大,可以无损失升级系统,主要通过网络(例如,wifi网络、4g网络)自动下载ota升级包、自动升级,但是也支持通过下载ota升级包到sd卡升级。ota的升级包很小,一般几m到十几m,如果你用网络升级,非常的方便,基本是在系统上点击几下就完成了升级,并且最重要的是,ota升级无需备份数据,短短几分钟就搞定所有升级工作,所有数据都会完好无损的保留下来。

目前ota升级方式为,先通过无线将升级程序下载到设备中,然后软件复位进入bootloader(引导加载程序)进行校验、更新、跳转,常见的bootloader程序实现方案有两种:

方案1:乒乓区方式,在设备内划分两块相同大小的程序运行区域,其中正在运行程序的区域称之为运行区,另一块称之为非运行区,记录当前程序运行所在区域,ota过程是将升级文件下载到非运行区,然后进行完整性、合法性校验,校验通过后切换到非运行区执行启动,并更新记录程序运行所在区域。

方案2:备份区方式,在设备内划分程序运行区和程序备份区两块,程序只在运行区中运行,ota过程是将升级文件先下载到备份区,然后进行完整性、合法性校验,校验通过后将文件搬移到运行区,然后复位跳转到运行区执行启动。

以上两种方式在升级过程中都只能对升级文件进行完整性、合法性的校验,无法校验在程序更新后是否能正常运行,如果将一个无法正常运行的程序升级到设备中,会造成设备的无法正常工作,并且无法再次ota升级,从而导致设备的损坏。恢复则需要专业人员拆开设备后通过有线的方式烧写正常的程序,将消耗大量的人力造成不好的用户体验。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的问题,本发明提出一种wi-fi设备ota升级失败后的恢复方法,以克服现有相关技术所存在的上述技术问题。

本发明的技术方案是这样实现的:

一种wi-fi设备ota升级失败后的恢复方法,包括以下步骤:

建立存储分区,其包括建立第一存储分区、第二存储分区;

获取待升级程序并镜像存储至第一存储分区;

获取升级数据并将升级数据存储于第二存储分区;

确定第二存储分区内升级数据信息并进入引导加载程序更新待升级程序;

运行升级后程序,若运行失败,清除升级后程序信息和第二存储分区信息;

进入引导加载程序提取第一存储分区镜像待升级程序并引导恢复;

恢复完成运行原始程序并清楚第一存储分区信息。

进一步的,预先包括以下步骤:

确定当前时间是否为空闲时间段;

若当前时间为空闲时间段,确定当前连接网络是否为预设网络;

若当前连接网络不是预设网络时,自动配置预设网络,使连接网络为预设网络。

进一步的,其空闲时间段包括:

判断当前显示屏是否处于熄屏状态;

若显示屏处于熄屏状态时,执行判断当前连接网络是否为预设网络。

进一步的,预设网络为wi-fi网络。

进一步的,进一步包括第三存储分区,其中;

所述第三存储分区,用于存储ota升级检测程序,包括以下步骤:

获取第一存储分区内待升级程序版本号;

获取第二存储分区内升级数据版本号;

确定第二存储分区内升级数据版本号是否高于第一存储分区内待升级程序版本号,若高于进行执行引导加载程序。

进一步的,包括以下步骤:

监测ota升级是否已完成;

监测升级后程序是否运行成功;

若运行成功,将网络恢复为配置之前的网络。

本发明的有益效果:

本发明提供一种wi-fi设备ota升级失败后的恢复方法,通过建立存储分区,将待升级程序并镜像存储至第一存储分区和将升级数据并将升级数据存储于第二存储分区以及进行引导加载程序更新待升级程序,而通过运行失败,清除升级后程序信息和第二存储分区信息,进入引导加载程序提取第一存储分区镜像待升级程序并引导恢复;解决wi-fi设备在ota升级失败后出现的异常,能自动恢复到之前的程序进行运行,提高设备的稳定性,降低维护成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的一种wi-fi设备ota升级失败后的恢复方法的流程示意图,

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的实施例,提供了一种wi-fi设备ota升级失败后的恢复方法。

如图1所示,根据本发明实施例的wi-fi设备ota升级失败后的恢复方法,包括以下步骤:

步骤s1、建立存储分区,其包括建立第一存储分区、第二存储分区;

步骤s2、获取待升级程序并镜像存储至第一存储分区;

步骤s3、获取升级数据并将升级数据存储于第二存储分区;

步骤s4、确定第二存储分区内升级数据信息并进入引导加载程序更新待升级程序;

步骤s5、运行升级后程序,若运行失败,清除升级后程序信息和第二存储分区信息;

步骤s6、进入引导加载程序提取第一存储分区镜像待升级程序并引导恢复;

步骤s7、恢复完成运行原始程序并清楚第一存储分区信息。

借助于上述技术方案,通过建立存储分区,将待升级程序并镜像存储至第一存储分区和将升级数据并将升级数据存储于第二存储分区以及进行引导加载程序更新待升级程序,而通过运行失败,清除升级后程序信息和第二存储分区信息,进入引导加载程序提取第一存储分区镜像待升级程序并引导恢复;解决wi-fi设备在ota升级失败后出现的异常,能自动恢复到之前的程序进行运行,提高设备的稳定性,降低维护成本。

其中,预先包括以下步骤:

步骤s101、确定当前时间是否为空闲时间段;

步骤s102、若当前时间为空闲时间段,确定当前连接网络是否为预设网络;

步骤s103、若当前连接网络不是预设网络时,自动配置预设网络,使连接网络为预设网络。

其中,其空闲时间段包括:

判断当前显示屏是否处于熄屏状态;

若显示屏处于熄屏状态时,执行判断当前连接网络是否为预设网络。

其中,预设网络为wi-fi网络。

其中,进一步包括第三存储分区,其中;

所述第三存储分区,用于存储ota升级检测程序,包括以下步骤:

获取第一存储分区内待升级程序版本号;

获取第二存储分区内升级数据版本号;

确定第二存储分区内升级数据版本号是否高于第一存储分区内待升级程序版本号,若高于进行执行引导加载程序。

其中,进一步包括以下步骤:

监测ota升级是否已完成;

监测升级后程序是否运行成功;

若运行成功,将网络恢复为配置之前的网络。

另外,具体的,用户可以根据自己的需求预先设置空闲时间段,也可以由系统进行设定。可以设定用户睡觉的时间进行ota升级,比如,空闲时间段设置为凌晨1:00-3:00,4:00-5:00,在此时间段内,用户大概率的情况下不会使用手机,在此时间段进行ota升级,不会影响到用户。空闲时间段可以设置一个,也可以设置多个。空闲时间段可以通过用户使用终端的历史数据,统计出用户最不可能使用终端的一个或者几个时间段,设为空闲时间段,动态设置升级时机的时间点。

而预设网络例如可以是wi-fi网络,由于在wi-fi网络下进行升级不会给用户产生额外的费用,因此,如果本端当前连接的网络(可能是蜂窝移动网络或者没有连接任何网络)不是预设网络,自动配置预设网络,使终端连接到预设网络后,主动触发ota升级。

另外,在空闲时间段内,用户在大概率的情况下不会使用手机,但是,也不排除用户在空闲时间段内会使用手机。当用户使用手机时,即使在空闲时间段,为了不影响用户使用,也不能进行ota升级。本实施例中,当当前时间到达空闲时间段时,还要进一步判断本端显示屏是否处于熄屏状态,如果处于熄屏状态,说明用户没有使用手机,则可以进行ota升级,从而进一步保证用户在使用手机时不会被ota升级打扰。

综上所述,借助于本发明的上述技术方案,通过建立存储分区,将待升级程序并镜像存储至第一存储分区和将升级数据并将升级数据存储于第二存储分区以及进行引导加载程序更新待升级程序,而通过运行失败,清除升级后程序信息和第二存储分区信息,进入引导加载程序提取第一存储分区镜像待升级程序并引导恢复;解决wi-fi设备在ota升级失败后出现的异常,能自动恢复到之前的程序进行运行,提高设备的稳定性,降低维护成本。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1