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

移动设备升级方法、装置、存储单元和移动设备

文献发布时间:2023-06-19 19:18:24


移动设备升级方法、装置、存储单元和移动设备

技术领域

本说明书一个或多个实施例涉及空调控制技术领域,尤其涉及一种移动设备升级方法、装置、存储单元和移动设备。

背景技术

现有的移动智能设备例如手机、平台电脑都支持空中升级(OTA,over-the-air)。现在主流的OTA方式有2种,一种是RECOVERY升级方式。这种升级方式一般包含BOOT、SYSTEM、VENDOR和RECOVERY分区,通过网络下载升级包后重启到RECOVERY模式(即从RECOVERY启动),再进行系统升级(刷写BOOT、SYSTEM、VENDOR分区),然后从BOOT分区启动正常地从新系统启动。一旦启动失败就会再次进入RECOVERY模式执行回滚操作。这种方式要求BOOT、SYSTEM和VENDOR分区是只读的属性而且需要增加额外的RECOVERY分区,升级过程中需要重启2次。一旦升级失败就有可能导致设备无法启动。

一种是AB升级方式。这种升级方式每个分区都有A槽和B槽,一般包含BOOT_A、BOOT_B、SYSTEM_A、SYSTEM_B、VENDOR_A和VENDOR_B分区。系统会选择从A槽或者B槽启动,如果设置从A槽启动那么加载BOOT_A、SYSTEM_A、和VENDOR_B这3个分区。通过网络下载升级包后不需要重启,直接刷写入B槽的3个分区,升级完成后设置从B槽启动,即加载BOOT_B、SYSTEM_B和VENDOR_B分区。这种方式不需要重启2次系统,不会影响用户的正常使用。一旦从B槽启动失败,就会退回到从A槽启动。设备不会受到升级失败而导致无法启动无法使用的情况。

这2种升级方式都有局限性,就是存在系统内的应用程序不能独立更新的问题。这是因为为了提高和节约数据传输都是采用差分升级的方式,这种升级包比较小(1M~100M,相比较全量包升级可能100M~5G不等)。以AB升级为例这种差分升级方式要求SYSTEM_A分区是只读且不能修改,在差分升级过程中需要读取并校验SYSTEM_A分区的数据再打入差分数据,写入SYSTEM_B分区。一般地系统应用程序都存放在SYSTEM_A分区,这个分区里的应用程序不能单独升级不能单独更新。一旦SYSTEM_A分区的应用程序单独更新就会改变分区内部的数据,导致下次升级时候比对数据校验失败而导致系统升级失败。

第二个局限性就是,如果SYSTEM_A分区存在数据修改的情况,例如不法黑客篡改了数据或者SYSTEM_A分区本身设计上是允许存放系统LOG日志的。那么就没有办法做系统差分升级了,这是现有技术不能解决的问题。

因此,希望有一种技术方案来克服或至少减轻现有技术的至少一个上述缺陷。

发明内容

有鉴于此,本说明书一个或多个实施例的目的在于提出一种移动设备升级方法、装置、存储单元和移动设备,以解决上述至少一个问题。

基于上述目的,本说明书一个或多个实施例提供了一种移动设备升级方法,所述移动设备升级方法包括:

通过第一分区启动设备并获取升级数据包;

获取备用存储区域存储的数据,备用存储区域存储的数据与第一分区的当前系统版本的系统数据相同;

将所述备用存储区域存储的数据和所述升级数据包进行叠加,并写入第二分区;

更改MISC区的启动标识为从第二分区启动并重启移动设备,以使移动设备自第二分区启动。

可选地,所述获取升级数据包包括:

获取升级数据区域存储的升级数据包。

可选地,在所述获取升级数据包之前,所述移动设备升级方法还包括:

判断是否接收到服务器发送的升级标识;若是,则

下载升级数据包至升级数据区域。

可选地,所述移动设备升级方法还包括:

判断移动设备是否自第二分区启动成功;若是,则

将第二分区数据写入备用存储区域。

可选地,所述移动设备升级方法还包括:

判断移动设备是否自第二分区启动成功;若否,则

重新启动所述移动设备并判断是否启动成功,若否,则

重复重新启动所述移动设备的步骤直至启动成功或达到预设次数;

当所述重复重新启动所述移动设备达到预设次数时,更改MISC区的启动标识为从第一分区启动;

重启移动设备;

发送更新错误信息至服务器。

可选地,所述移动设备升级方法还包括:

判断移动设备是否自第一分区启动和自第二分区启动均启动失败;若是,则

更改MISC区的启动标识为从备用存储区域启动;

重启移动设备;

发送启动错误信息至服务器。

对第一分区进行数据修复。

可选地,所述对第一分区进行数据修复包括:

复制备用存储区域的数据至第一分区。

另一方面,本申请提供了一种移动设备升级装置,所述移动设备升级装置包括:

升级数据包获取模块,所述升级数据包获取模块用于通过第一分区启动设备并获取升级数据区存储的升级数据包;

备用存储区域存储的数据获取模块,所述备用存储区域存储的数据获取模块用于获取备用存储区域存储的数据,备用存储区域存储的数据与第一分区的当前系统版本的系统数据相同;

数据写入模块,所述数据写入模块用于将所述备用存储区域存储的数据和所述升级数据包进行叠加,并写入第二分区;

启动标识修改模块,所述启动标识修改模块用于更改MISC区的启动标识为从第二分区启动并重启移动设备,以使移动设备自第二分区启动。

另一方面,本申请提供了、一种存储单元,所述存储单元包括MISC区、备用存储区、第一分区、第二分区和如上所述的移动设备升级装置;

所述MISC区用于存储启动标识,所述启动标识包括从第一分区启动和从第二分区启动;

所述备用存储区用于根据上述的移动设备升级方法存储数据;

所述第一分区和第二分区用于存储数据;

通过所述MISC区、升级数据区、备用存储区、第一分区、第二分区和如上所述的移动设备升级装置配合实现如上所述的移动设备升级方法。

另一方面,本申请提供了一种移动设备,所述移动设备包括如上所述的存储单元和处理器;

所述处理器用于执行如上所述的移动设备升级方法。

本申请的有益效果如下:

本申请提供的移动设备升级方法通过从第一分区(A槽)启动设备基于备用存储区域存储的数据为基准叠加升级数据包写入第二分区(B槽)的方式进行升级;相较于传统的AB升级和RECOVERY升级具有如下好处,不需要重启两次系统,使用体验好;解决了传统AB升级在差分升级情况下不能单独升级APP的弊端;由于加入了备用存储区使用更加安全。

附图说明

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

图1为本说明书一个或多个实施例提供的一种移动设备升级方法流程示意图;

图2为本说明书一个或多个实施例提供的存储单元的结构示意图;

图3为本说明书一个或多个实施例提供的移动设备升级方法的数据处理示意图;

图4为本说明书一个或多个实施例提供的移动设备升级方法的数据处理示意图;

图5为本说明书一个或多个实施例提供的移动设备升级方法的数据处理示意图;

图6为本说明书一个或多个实施例提供的移动设备升级方法的数据处理示意图;

图7为本说明书一个或多个实施例提供的移动设备升级方法的数据处理示意图;

图8为本说明书一个或多个实施例提供的移动设备升级方法的数据处理示意图;

图9为本说明书一个或多个实施例提供的移动设备升级方法的数据处理示意图;

图10为本说明书一个或多个实施例提供的一种更为具体的电子设备硬件结构示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

现有的移动智能设备例如手机、平台电脑都支持空中升级(OTA,over-the-air)。现在主流的OTA方式有2种,一种是RECOVERY升级方式。这种升级方式一般包含BOOT、SYSTEM、VENDOR和RECOVERY分区,通过网络下载升级包后重启到RECOVERY模式(即从RECOVERY启动),再进行系统升级(刷写BOOT、SYSTEM、VENDOR分区),然后从BOOT分区启动正常地从新系统启动。一旦启动失败就会再次进入RECOVERY模式执行回滚操作。这种方式要求BOOT、SYSTEM和VENDOR分区是只读的属性而且需要增加额外的RECOVERY分区,升级过程中需要重启2次。一旦升级失败就有可能导致设备无法启动。

一种是AB升级方式。这种升级方式每个分区都有A槽和B槽,一般包含BOOT_A、BOOT_B、SYSTEM_A、SYSTEM_B、VENDOR_A和VENDOR_B分区。系统会选择从A槽或者B槽启动,如果设置从A槽启动那么加载BOOT_A、SYSTEM_A、和VENDOR_B这3个分区。通过网络下载升级包后不需要重启,直接刷写入B槽的3个分区,升级完成后设置从B槽启动,即加载BOOT_B、SYSTEM_B和VENDOR_B分区。这种方式不需要重启2次系统,不会影响用户的正常使用。一旦从B槽启动失败,就会退回到从A槽启动。设备不会受到升级失败而导致无法启动无法使用的情况。

这2种升级方式都有局限性,就是存在系统内的应用程序不能独立更新的问题。这是因为为了提高和节约数据传输都是采用差分升级的方式,这种升级包比较小(1M~100M,相比较全量包升级可能100M~5G不等)。以AB升级为例这种差分升级方式要求SYSTEM_A分区是只读且不能修改,在差分升级过程中需要读取并校验SYSTEM_A分区的数据再打入差分数据,写入SYSTEM_B分区。一般地系统应用程序都存放在SYSTEM_A分区,这个分区里的应用程序不能单独升级不能单独更新。一旦SYSTEM_A分区的应用程序单独更新就会改变分区内部的数据,导致下次升级时候比对数据校验失败而导致系统升级失败。如果用户在使用设备过程中不进行任何系统升级,那么在SYSTEM_A内的应用程序在很长时间内都不会被更新,一年甚至是多年。

第二个局限性就是,如果SYSTEM_A分区存在数据修改的情况,例如不法黑客篡改了数据或者SYSTEM_A分区本身设计上是允许存放系统LOG日志的。那么就没有办法做系统差分升级了,如何让用户升级到一个更可靠的更安全的系统?如何快速地通过强制差分升级让用户的智能设备恢复被不法黑客篡改的数据,这是现有技术不能解决的问题。

图1为本说明书一个或多个实施例提供的一种移动设备升级方法流程示意图。

参照图2,在本实施例中,存储单元包括:MISC区、备用存储区、第一分区、第二分区。

参照图1,本申请提供了一种移动设备升级方法,移动设备升级方法包括:

通过第一分区启动设备并获取升级数据包;

获取备用存储区域存储的数据,备用存储区域存储的数据与第一分区的当前系统版本的系统数据相同;

将备用存储区域存储的数据和升级数据包进行叠加,并写入第二分区;

更改MISC区的启动标识为从第二分区启动并重启移动设备,以使移动设备自第二分区启动。

本申请提供的移动设备升级方法通过从第一分区(A槽)启动设备基于备用存储区域存储的数据为基准叠加升级数据包写入第二分区(B槽)的方式进行升级;相较于传统的AB升级和RECOVERY升级具有如下好处,不需要重启两次系统,使用体验好;解决了传统AB升级在差分升级情况下不能单独升级APP的弊端;由于加入了备用存储区使用更加安全。

传统AB升级由于在差分升级过程中需要读取并校验SYSTEM_A分区的数据再打入差分数据,写入SYSTEM_B分区。一般地系统应用程序都存放在SYSTEM_A分区,这个分区里的应用程序不能单独升级不能单独更新。一旦SYSTEM_A分区的应用程序单独更新就会改变分区内部的数据,导致下次升级时候比对数据校验失败而导致系统升级失败。

由于采用差分升级包升级相比较全量包升级具有不可代替的优势,尤其是在车辆或者一些网络质量不佳的移动设备上。基于上述情况本申请提供的移动设备升级方法在差分升级的情况下,减少了重启次数,可供APP进行单独升级,增加安全性。

在一实施例中,获取升级数据包包括:

获取升级数据区域存储的升级数据包。

在一实施例中,在获取升级数据包之前,移动设备升级方法还包括:

判断是否接收到服务器发送的升级标识;若是,则

下载升级数据包至升级数据区域。

在一实施例中,移动设备升级方法还包括:

判断移动设备重启是否启动成功;若是,则

将第二分区数据写入备用存储区域。

在一实施例中,移动设备升级方法还包括:

判断设备重启是否启动成功;若否,则

重新启动移动设备并判断是否启动成功,若否,则

重复重新启动移动设备的步骤直至启动成功或达到预设次数;

当重复重新启动移动设备达到预设次数时,更改MISC区的启动标识为从第一分区启动;

重启移动设备;

发送更新错误信息至服务器。

在一实施例中,移动设备升级方法还包括:

判断移动设备重启是否启动成功;若否,则

更改MISC区的启动标识为从备用存储区域启动;

重启移动设备;

发送启动错误信息至服务器。

对第一分区进行数据修复。

在一实施例中,对第一分区进行数据修复包括:

复制备用存储区域的数据至第一分区。

下面以一具体的实施例阐述本申请提供的移动设备升级方法。

参照图3,第一次启动(等同于一次系统升级之后),存储单元存在A槽(即图中所有以A结尾的分区,即上文中的第一分区)和B槽(即图中所有以B结尾的分区,即上文中的第二分区)数据。其中B槽数据为空数据,从A槽启动系统。可以选择把A槽数据备份到备用存储区域的BAK槽;

值得注意的是,本实施例提供的附图只是进行示意说明,A槽和B槽包含的分区不止为图中所示的几个分区。

参照图4,在运行A槽的系统时进行升级,获取升级数据包,将备用存储区域存储的数据和升级数据包进行叠加,并写入B槽;

参照图5,重启系统,读取B槽数据启动,若启动成功,则将B槽数据备份至备用存储区域的BAK槽;若启动失败,则重启系统,读取A槽数据启动;

参照图6或图7,在升级APP时,直接将APP升级数据写入对应的分区,由于本申请提供的移动设备升级方法在升级系统时以备用存储区域的数据作为基准进行更新,所以更改A槽或B槽的数据。

参照图8,若A槽和B槽都不能启动成功,则,从备用存储区域启动;

参照图9,若从备用存储区域启动成功,则复制备用存储区域的数据至A槽。

另一方面,本申请提供了一种移动设备升级装置,移动设备升级装置包括:

升级数据包获取模块,升级数据包获取模块用于通过第一分区启动设备并获取升级数据区存储的升级数据包;

备用存储区域存储的数据获取模块,备用存储区域存储的数据获取模块用于获取备用存储区域存储的数据,备用存储区域存储的数据与第一分区的当前系统版本的系统数据相同;

数据写入模块,数据写入模块用于将备用存储区域存储的数据和升级数据包进行叠加,并写入第二分区;

启动标识修改模块,启动标识修改模块用于更改MISC区的启动标识为从第二分区启动并重启移动设备,以使移动设备自第二分区启动。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

另一方面,本申请提供了一种存储单元,存储单元包括MISC区、备用存储区、第一分区、第二分区和上述的移动设备升级装置;

MISC区用于存储启动标识,启动标识包括从第一分区启动和从第二分区启动;

备用存储区用于根据上述的移动设备升级方法存储数据;

第一分区和第二分区用于存储数据;

通过MISC区、升级数据区、备用存储区、第一分区、第二分区和权利要求8移动设备升级装置配合实现权利要求1-7任意一项的移动设备升级方法。

在一实施例中,存储单元还包括升级数据区;

升级数据区用于存储升级数据包。

另一方面,本申请提供了一种移动设备,移动设备包括上述的存储单元和处理器;

处理器用于执行上述的移动设备升级方法。

需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图10示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的移动设备升级方法。

存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本申请的一个实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时能够实现如上的移动设备升级方法。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。

本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 一种移动设备的定位方法及装置和移动设备
  • 移动设备被动跟踪方法及装置
  • 一种路径规划方法及装置和移动设备
  • 一种移动设备强管控方法及装置
  • 基于视觉的障碍物检测方法、装置、移动设备
  • 智能移动设备的升级或修复组件及升级或修复方法
  • 用于移动设备的软件升级方法及软件升级系统
技术分类

06120115863671