OTA升级方法、装置、头戴显示设备和可读存储介质与流程

文档序号:37663954发布日期:2024-04-18 20:37阅读:13来源:国知局
OTA升级方法、装置、头戴显示设备和可读存储介质与流程

本技术涉及头戴显示设备,尤其涉及一种ota升级方法、装置、头戴显示设备和可读存储介质。


背景技术:

1、空中下载技术(over-the-air technology,ota),是一种通过互联网下载升级包进行系统升级的技术。在对例如虚拟现实(virtual reality,vr)设备/增强现实(augmented reality,ar)设备等头戴显示设备进行ota升级时,相关技术中ota 升级过程包含两个过程:

2、(1)升级镜像更新到设备分区

3、当前执行升级的operation id写入到data分区升级文件中,该data分区升级文件在升级过程中不断被更新,直至升级完成。

4、(2)步骤(1)中的操作是先写入到cache中,再周期性的同步写入到设备分区和data分区升级文件中,只有该步骤执行完毕,才真正的完成更新操作。

5、然而,为了满足头戴显示设备的轻薄化需求和轻量化需求,一般头戴显示设备均采用分体式,分体式头戴显示设备不内置电源,通过外置的电源进行供电。由于分体式头戴显示设备不包含电池,一旦在升级过程中外置电源出现闪断的情况,很容易出现升级镜像还在cache中(还未写入至设备分区中),但是data分区升级文件中的operation id已经完成同步的现象,此时在设备再次上电重新执行resume升级操作,通过读取升级文件获取上次执行的operation id,从该operation id的下一个开始执行升级,完成所有的升级operation后,再执行升级后的hash校验,由于上次在cache中的镜像没有写入到设备分区中,将会导致升级后校验失败。

6、也即,头戴显示设备升级时如果遇到掉电重启,可能会存在部分需要落盘到设备分区的数据还在内核缓存(即cache)中,即没有真正落盘到设备分区里。但是升级进度记录文件(即data分区升级文件)里记录的进度却表明这部分数据已经落盘到用户数据分区。而头戴显示设备重启后,会依据升级进度记录文件记录的进度接续升级,这样掉电前没有真正落盘到用户数据分区的数据就会丢失。由于存在数据丢失,因此系统升级安装包安装后进行完整性校验时就会出现校验失败,进而导致系统升级失败。


技术实现思路

1、本技术的主要目的在于提供一种ota升级方法、装置、头戴显示设备和可读存储介质,旨在实现头戴显示设备在升级过程中出现掉电时,重启后能够有效完成系统升级。

2、为实现上述目的,本技术提供一种ota升级方法,应用于头戴显示设备,所述头戴显示设备的存储器包括多个设备分区,所述方法包括:

3、检测头戴显示设备从原版本升级为目标版本的升级过程中是否重启;

4、在检测到所述升级过程中重启后,从升级进度记录文件中查询得到重启前最新升级的目标设备分区;

5、基于所述目标版本的升级包数据,对所述目标设备分区中的数据进行哈希校验,得到哈希校验结果;

6、若所述哈希校验结果为校验失败,则对所述目标设备分区进行重新升级;

7、若所述哈希校验结果为校验成功,则从所述目标设备分区对应的下一升级顺位的设备分区进行接续升级。

8、可选地,所述基于所述目标版本的升级包数据,对所述目标设备分区中的数据进行哈希校验,得到哈希校验结果的步骤包括:

9、基于所述目标版本的升级包数据,确定对所述目标设备分区进行升级的目标升级数据的第一哈希值,并计算所述目标设备分区中的数据的第二哈希值;

10、若所述第一哈希值与所述第二哈希值一致,则确定对所述目标设备分区中的数据进行哈希校验的哈希校验结果为校验成功;

11、若所述第一哈希值与所述第二哈希值不一致,则确定对所述目标设备分区中的数据进行哈希校验的哈希校验结果为校验失败。

12、可选地,所述头戴显示设备从原版本升级为目标版本的升级过程包括:

13、获取所述目标版本的升级包数据,其中,所述目标版本的升级包数据包括多个升级block数据,一个升级block数据对应于一个设备分区的一个升级操作,且每个升级操作具有对应的升级次序;

14、依据各所述升级操作对应的升级次序,通过各个升级block数据,依次对所述头戴显示设备的各个设备分区进行升级操作,并基于当前执行的目标升级操作,对所述升级进度记录文件进行同步更新;

15、直至完成所述升级包数据对应的所有升级操作,将所述头戴显示设备从原版本成功升级为目标版本。

16、可选地,所述依据各所述升级操作对应的升级次序,通过各个升级block数据,依次对所述头戴显示设备的各个设备分区进行升级操作,包括:

17、依据各所述升级操作对应的升级次序,将各个升级block数据依次覆写至所述头戴显示设备的各个设备分区,以依次完成对所述头戴显示设备的各个设备分区的升级操作。

18、可选地,所述基于当前执行的目标升级操作,对所述升级进度记录文件进行同步更新的步骤包括:

19、基于当前执行的目标升级操作,确定所述目标升级操作对应升级的目标设备分区;

20、将所述目标设备分区对应的分区升级信息同步写入至所述升级进度记录文件中,以对所述升级进度记录文件进行同步更新。

21、可选地,所述对所述目标设备分区进行重新升级的步骤包括:

22、将目标升级数据覆写至所述头戴显示设备的目标设备分区,以对所述目标设备分区进行重新升级,其中,所述目标升级数据包括至少一个目标升级block数据,所述目标升级block数据为对所述目标设备分区进行升级操作的升级block数据。

23、可选地,在所述对所述目标设备分区进行重新升级的步骤之后,所述方法还包括:

24、在所述重新升级完成后,检测所述升级包数据对应的所有升级操作是否均完成;

25、若未全部完成,则依据各所述升级操作对应的升级次序,对所述目标设备分区对应的下一升级顺位的设备分区进行接续升级,直至所述升级包数据对应的所有升级操作均完成。

26、此外,本技术还提供一种ota升级装置,应用于头戴显示设备,所述头戴显示设备的存储器包括多个设备分区,所述装置包括:

27、检测模块,用于检测头戴显示设备从原版本升级为目标版本的升级过程中是否重启;

28、查询模块,用于在检测到所述升级过程中重启后,从升级进度记录文件中查询得到重启前最新升级的目标设备分区;

29、校验模块,用于基于所述目标版本的升级包数据,对所述目标设备分区中的数据进行哈希校验,得到哈希校验结果;

30、升级模块,用于若所述哈希校验结果为校验失败,则对所述目标设备分区进行重新升级;若所述哈希校验结果为校验成功,则从所述目标设备分区对应的下一升级顺位的设备分区进行接续升级。

31、本技术还提供一种头戴显示设备,所述头戴显示设备为实体设备,所述头戴显示设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述ota升级方法的步骤。

32、本技术还提供一种可读存储介质,所述可读存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现ota升级方法的程序,所述实现ota升级方法的程序被处理器执行以实现如上所述ota升级方法的步骤

33、本技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的ota升级方法的步骤。

34、本技术提供的ota升级方法,应用于头戴显示设备,所述头戴显示设备的存储器包括多个设备分区,本技术通过检测头戴显示设备从原版本升级为目标版本的升级过程中是否重启,在检测到升级过程中重启后,从升级进度记录文件中查询得到重启前最新升级的目标设备分区,并基于目标版本的升级包数据,对目标设备分区中的数据进行哈希校验,得到哈希校验结果,若该哈希校验结果为校验失败,则对目标设备分区进行重新升级,若该哈希校验结果为校验成功,则从目标设备分区对应的下一升级顺位的设备分区进行接续升级,从而避免升级过程中遇到重启时,部分需要落盘到设备分区的数据还在内核缓存(即cache)中而没有真正落盘到设备分区导致校验失败的情况,进而使得在头戴显示设备在升级过程中出现掉电时,重启后能够有效完成系统升级,以使升级成功。

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