掌桥专利:专业的专利平台
掌桥专利
首页

一种电子设备的OTA升级方法、装置、控制终端及介质

文献发布时间:2023-06-19 11:35:49


一种电子设备的OTA升级方法、装置、控制终端及介质

技术领域

本申请涉及OTA升级技术领域,特别涉及一种电子设备的OTA升级方法、装置、控制终端及计算机可读存储介质。

背景技术

随着现代智能电子设备(尤其是智能穿戴产品,如智能手表、智能手环、智能蓝牙耳机等)的百花齐放和技术发展,穿戴产品的外部flash空间也设计的越来越大,对应的应用程序的升级包也越来越大,对升级体验以及升级时间是一个很大的考验。

目前,智能穿戴设备的OTA(Over-the-Air Technology,空中下载技术)升级,是在手机APP与其建立通信连接后,由手机访问OTA服务器获取新版本升级包,并从OTA服务器上将升级包下载到手机上,然后再通过蓝牙将升级包传输到智能穿戴设备的下载缓存区flash,等全部数据下载完成后再由引导程序即Bootloader将下载缓存区flash中的数据搬移到固定的工作区,设备开机时都必定将从该固定的工作区中加载应用程序使用。由于在升级过程中需要基于Bootloader将下载缓存区的数据搬移到工作区的flash,因此这样无疑增加了升级耗时。

鉴于此,提供一种解决上述技术问题的方案,已经是本领域技术人员所亟需关注的。

发明内容

本申请的目的在于提供一种电子设备的OTA升级方法、装置、控制终端及计算机可读存储介质,以便有效简化升级流程、减少升级耗时,提高升级效率和用户体验。

为解决上述技术问题,一方面,本申请公开了一种电子设备的OTA升级方法,所述电子设备配置有多个可存储应用程序的flash区,各所述flash区的头结构中设置有标识信息,所述标识信息用以标识所述电子设备当前是否正加载使用所述flash区中存储的应用程序;所述方法应用于与所述电子设备通信连接的控制终端,包括:

读取所述电子设备中各所述flash区的头结构中的标识信息;

依据所述标识信息识别当前的程序加载区和程序非加载区;

从所述程序非加载区中确定目标flash区;

将从服务器获取的应用程序升级数据下载至所述目标flash区中;

修改各所述flash区头结构中的标识信息,以便将所述目标flash区作为下次启动时的程序加载区。

可选地,所述将从服务器获取的应用程序升级数据下载至所述目标flash区中,包括:

对所述服务器发送的应用程序升级数据进行完整性校验;

若校验通过,则将所述应用程序升级数据下载至所述目标flash区中。

可选地,所述对所述服务器发送的应用程序升级数据进行完整性校验,包括:

对所述服务器发送的应用程序升级数据进行哈希校验或者MD5校验。

可选地,所述修改各所述flash区头结构中的标识信息,包括:

在所述电子设备基于引导程序完成非资源型组件升级后,修改各所述flash区头结构中的标识信息。

可选地,所述从所述程序非加载区中确定目标flash区,包括:

将历史使用次数最少的程序非加载区确定为所述目标flash区。

又一方面,本申请公开了一种电子设备的OTA升级装置,所述电子设备配置有多个可存储应用程序的flash区,各所述flash区的头结构中设置有标识信息,所述标识信息用以标识所述电子设备当前是否正加载使用所述flash区中存储的应用程序;所述装置应用于与所述电子设备通信连接的控制终端,包括:

读取模块,用于读取所述电子设备中各所述flash区的头结构中的标识信息;

确定模块,用于依据所述标识信息识别当前的程序加载区和程序非加载区;从所述程序非加载区中确定目标flash区;

下载模块,用于将从服务器获取的应用程序升级数据下载至所述目标flash区中;

配置模块,用于修改各所述flash区头结构中的标识信息,以便将所述目标flash区作为下次启动时的程序加载区。

可选地,所述下载模块具体用于:

对所述服务器发送的应用程序升级数据进行完整性校验;若校验通过,则将从服务器获取的应用程序升级数据下载至所述目标flash区中。

可选地,所述下载模块在对所述服务器发送的应用程序升级数据进行完整性校验时具体用于:

对所述服务器发送的应用程序升级数据进行哈希校验或者MD5校验。

可选地,所述配置模块在修改各所述flash区头结构中的标识信息时具体用于:

在所述电子设备基于引导程序完成非资源型组件升级后,修改各所述flash区头结构中的标识信息。

可选地,所述确定模块在从所述程序非加载区中确定目标flash区时具体用于:

将历史使用次数最少的程序非加载区确定为所述目标flash区。

又一方面,本申请还公开了一种控制终端,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如上所述的任一种电子设备的OTA升级方法的步骤。

又一方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种电子设备的OTA升级方法的步骤。

本申请提供了一种电子设备的OTA升级方法,所述电子设备配置有多个可存储应用程序的flash区,各所述flash区的头结构中设置有标识信息,所述标识信息用以标识所述电子设备当前是否正加载使用所述flash区中存储的应用程序;所述方法应用于与所述电子设备通信连接的控制终端,包括:读取所述电子设备中各所述flash区的头结构中的标识信息;依据所述标识信息识别当前的程序加载区和程序非加载区;从所述程序非加载区中确定目标flash区;将从服务器获取的应用程序升级数据下载至所述目标flash区中;修改各所述flash区头结构中的标识信息,以便将所述目标flash区作为下次启动时的程序加载区。

本申请所提供的电子设备的OTA升级方法、装置、控制终端及计算机可读存储介质所具有的有益效果是:本申请基于电子设备的各个flash区头结构中嵌入的标识信息,来配置该flash区是否为程序加载区,从而在应用程序升级数据下载完成之后,将其所在的flash区重新配置为新的程序加载区以供下次开机启动后使用,由此省却了应用程序升级数据的搬移,有效简化了升级流程、减少了升级耗时,进而提高了升级效率和用户体验。

附图说明

为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。

图1为本申请实施例公开的一种电子设备的OTA升级方法的流程图;

图2为本申请实施例公开的一种电子设备的flash区的存储结构示意图;

图3为本申请实施例公开的又一种电子设备的OTA升级方法的流程图;

图4为本申请实施例公开的一种电子设备的OTA升级装置的结构框图;

图5为本申请实施例公开的一种控制终端的结构框图。

具体实施方式

本申请的核心在于提供一种电子设备的OTA升级方法、装置、控制终端及计算机可读存储介质,以便有效简化升级流程、减少升级耗时,提高升级效率和用户体验。

为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

OTA(Over-the-AirTechnology)升级是一种通过无线网络下载远程服务器上的升级包,对系统或应用进行升级的技术。随着现代智能电子设备(尤其是智能穿戴产品,如智能手表、智能手环、智能蓝牙耳机等)的百花齐放和技术发展,穿戴产品的外部flash空间也设计的越来越大,对应的应用程序的升级包也越来越大,对升级体验以及升级时间是一个很大的考验。

目前,智能穿戴设备的OTA(Over-the-Air Technology,空中下载技术)升级,是在手机APP与其建立通信连接后,由手机访问OTA服务器获取新版本升级包,并从OTA服务器上将升级包下载到手机上,然后再通过蓝牙将升级包传输到智能穿戴设备的下载缓存区flash,等全部数据下载完成后再由引导程序(Bootloader)将下载缓存区flash中的数据搬移到固定的工作区,设备开机时都必定将从该固定的工作区中加载应用程序使用。由于在升级过程中需要基于Bootloader将下载缓存区的数据搬移到工作区的flash,因此这样无疑增加了升级耗时。鉴于此,本申请提供了一种电子设备的OTA升级方案,可有效解决上述问题。

参见图1所示,本申请实施例公开了一种电子设备的OTA升级方法,所述该电子设备配置有多个可存储应用程序的flash区,各所述flash区的头结构中设置有标识信息,所述该标识信息用以标识所述该电子设备当前是否正加载使用所述该flash区中存储的应用程序;所述该方法应用于与所述该电子设备通信连接的控制终端,包括:

S101:读取电子设备中各flash区的头结构中的标识信息。

其中,该电子设备可具体为如智能手环、智能手表等的智能穿戴设备;控制终端可具体为手机、平板、电脑等终端设备,且控制终端可与电子设备通过蓝牙连接等方式而建立通信连接。

具体地,电子设备中各flash区的结构示意图可对照参见图2。每个flash区中设置有头结构,头结构中存储的是标识信息,头结构以外的地方用于存储应用程序。其中,标识信息具体用于反映该flash区是否为该电子设备当前的程序加载区。

容易理解的是,电子设备当前正在加载使用的应用程序所在的flash区即为程序加载区;而其他flash区,即电子设备当前没有正在加载使用的应用程序所在的flash区,则为程序非加载区。

作为一个具体实施例,标识信息可具体为一个二进制数字,进一步地,当其取值为“1”,可表示该flash区为电子设备当前的程序加载区;取值为“0”,可表示该flash区为电子设备当前的程序非加载区。

S102:依据标识信息识别当前的程序加载区和程序非加载区。

S103:从程序非加载区中确定目标flash区。

容易理解的是,由于程序加载区中的应用程序当前正在被该电子设备运行,因此不能将应用程序升级数据下载到该程序加载区中。而是应当从各程序非加载区中选出一个作为目标flash区,用于下载存储此次的升级包。

S104:将从服务器获取的应用程序升级数据下载至目标flash区中。

S105:修改各flash区头结构中的标识信息,以便将目标flash区作为下次启动时的程序加载区。

需要指出的是,本申请在将应用程序升级数据下载到目标flash区后,便会通过修改标识信息将该目标flash区更改为下次系统启动后的程序加载区,以便下次系统启动后直接从新的程序加载区中加载升级后的应用程序。由此,便可不必再利用Bootloader将应用程序升级数据从一个flash区中搬移到另一个flash中,极大地缩短了升级耗时。

也就是说,本申请基于头结构中的标记信息,对程序加载区进行了动态配置,可将同一个flash区先后作为程序加载区、程序非加载区循环使用。

容易理解的是,在修改标识信息时,不仅需要修改该目标flash区头结构中的标识信息,还需要修改当前作为程序加载区的flash区头结构中的标识信息。

可见,本申请所提供的电子设备的OTA升级方法,基于电子设备的各个flash区头结构中嵌入的标识信息,来配置该flash区是否为程序加载区,从而在应用程序升级数据下载完成之后,将其所在的flash区重新配置为新的程序加载区以供下次开机启动后使用,由此省却了应用程序升级数据的搬移,有效简化了升级流程、减少了升级耗时,进而提高了升级效率和用户体验。

作为一种具体实施例,本申请实施例所提供的电子设备的OTA升级方法在上述内容的基础上,将从服务器获取的应用程序升级数据下载至目标flash区中,包括:

对服务器发送的应用程序升级数据进行完整性校验;

若校验通过,则将应用程序升级数据下载至目标flash区中。

作为一种具体实施例,本申请实施例所提供的电子设备的OTA升级方法在上述内容的基础上,对服务器发送的应用程序升级数据进行完整性校验,包括:对服务器发送的应用程序升级数据进行哈希校验或者MD5校验。

当然,本领域技术人员也可以采用其他一些校验方法,本申请对此并不进行限定。

作为一种具体实施例,本申请实施例所提供的电子设备的OTA升级方法在上述内容的基础上,修改各flash区头结构中的标识信息,包括:

在电子设备基于引导程序完成非资源型组件升级后,修改各flash区头结构中的标识信息。

当应用程序升级数据(属于资源型数据)完全下载到目标flash区后,可进入Bootloader将其他一些非资源型的组件进行升级安装。当判定非资源型组件升级安装完成后,再进一步修改标识信息。

作为一种具体实施例,本申请实施例所提供的电子设备的OTA升级方法在上述内容的基础上,从程序非加载区中确定目标flash区,包括:

将历史使用次数最少的程序非加载区确定为目标flash区。

具体地,本实施例处于性能均衡的角度,选取了历史使用次数最少的程序非加载区为目标flash区。当然,本领域技术人员也可采用其他方法选取,例如随机选取法。

容易理解的是,本申请中电子设备中的flash区具体为多个,即至少为两个。当具体有两个flash区时,则无需选取,另外一个flash区将自动直接作为本次的目标flash区。

具体地,配置两个flash区的电子设备的OTA升级方法可具体对照参见图3,包括:

S201:读取电子设备中各flash区的头结构中的标识信息。

S202:判断第一flash区是否为当前的程序加载区;若是,则进入S203;若否,则进入S204。

S203:将第二flash区确定为目标flash区;进入S205。

S204:将第一flash区确定为目标flash区;进入S205。

S205:将从服务器获取的应用程序升级数据下载至目标flash区中。

S206:在电子设备基于引导程序完成非资源型组件升级后,修改两个flash区头结构中的标识信息,以便将目标flash区作为下次启动时的程序加载区。

参见图4,本申请公开了一种电子设备的OTA升级装置,电子设备配置有多个可存储应用程序的flash区,各flash区的头结构中设置有标识信息,标识信息用以标识电子设备当前是否正加载使用flash区中存储的应用程序;装置应用于与电子设备通信连接的控制终端,包括:

读取模块301,用于读取电子设备中各flash区的头结构中的标识信息;

确定模块302,用于依据标识信息识别当前的程序加载区和程序非加载区;从程序非加载区中确定目标flash区;

下载模块303,用于将从服务器获取的应用程序升级数据下载至目标flash区中;

配置模块304,用于修改各flash区头结构中的标识信息,以便将目标flash区作为下次启动时的程序加载区。

可见,本申请实施例所公开的电子设备的OTA升级装置,基于电子设备的各个flash区头结构中嵌入的标识信息,来配置该flash区是否为程序加载区,从而在应用程序升级数据下载完成之后,将其所在的flash区重新配置为新的程序加载区以供下次开机启动后使用,由此省却了应用程序升级数据的搬移,有效简化了升级流程、减少了升级耗时,进而提高了升级效率和用户体验。

关于上述电子设备的OTA升级装置的具体内容,可参考前述关于电子设备的OTA升级方法的详细介绍,这里就不再赘述。

作为一种具体实施例,本申请实施例所公开的电子设备的OTA升级装置在上述内容的基础上,下载模块303具体用于:

对服务器发送的应用程序升级数据进行完整性校验;若校验通过,则将从服务器获取的应用程序升级数据下载至目标flash区中。

作为一种具体实施例,本申请实施例所公开的电子设备的OTA升级装置在上述内容的基础上,下载模块303在对服务器发送的应用程序升级数据进行完整性校验时具体用于:

对服务器发送的应用程序升级数据进行哈希校验或者MD5校验。

作为一种具体实施例,本申请实施例所公开的电子设备的OTA升级装置在上述内容的基础上,配置模块304在修改各flash区头结构中的标识信息时具体用于:

在电子设备基于引导程序完成非资源型组件升级后,修改各flash区头结构中的标识信息。

作为一种具体实施例,本申请实施例所公开的电子设备的OTA升级装置在上述内容的基础上,确定模块302在从程序非加载区中确定目标flash区时具体用于:

将历史使用次数最少的程序非加载区确定为目标flash区。

参见图5所示,本申请实施例公开了一种控制终端,包括:

存储器401,用于存储计算机程序;

处理器402,用于执行所述计算机程序以实现如上所述的任一种电子设备的OTA升级方法的步骤。

进一步地,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种电子设备的OTA升级方法的步骤。

关于上述控制终端和计算机可读存储介质的具体内容,可参考前述关于电子设备的OTA升级方法的详细介绍,这里就不再赘述。

本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。

相关技术
  • 一种电子设备的OTA升级方法、装置、控制终端及介质
  • 一种OTA升级方法、装置、可读介质及电子设备
技术分类

06120112986733