一种空调器的OTA升级方法及系统与流程

文档序号:36333397发布日期:2023-12-10 15:44阅读:130来源:国知局
一种空调器的的制作方法

本发明属于空调远程升级,尤其设计一种空调器的ota升级方法及系统。


背景技术:

1、ota(over the air,空中下载)在线升级功能,可以在家电出厂后,如果应用功能不完善或缺失可以通过ota功能升级原有功能。

2、现有的空调器的ota升级策略是将存放系统程序的区域划分为两部分,一部分为当前运行程序,另一部分为备份程序。除了第一次安装的时候没有备份之外,之后的安装升级都是两个程序共存的,当前运行的是最新版本程序,备份区域为上一版本程序。当当前程序发生错误的时候,自动回滚到上一版本,不会导致系统死机的情况发生。如图1所示,其将存储区域分为分区1和分区2,每次升级采用交替存储的方式进行备份旧版本程序和写入新版程序。

3、但这种ota升级方法存在一个问题,就是两个分区始终存储的是最新版本和上一版本,用户无法选择其他版本,升级更新并不代表其他版本不好,应该提供多版本系统供用户选择想要的版本。


技术实现思路

1、针对背景技术提出的问题,本发明提出一种空调器的ota升级方法及系统,通过设置多个分区存放多个旧版本程序,在回滚或自定义选择版本时,用户拥有更多的选择,提升用户体验。

2、为达此目的,本发明采用以下技术方案:

3、一种空调器的ota升级方法,包括:

4、步骤a:在第一次安装原始程序前,将存储区域划分为写入分区和备份分区,将原始程序写入所述写入分区;

5、步骤b:基于升级策略获取升级包,所述升级包包括新版升级程序和升级脚本;

6、步骤c:在执行升级操作时,判断本次升级操作是否为第n次升级,若是,将所述备份分区划分为n+1个子分区,其中,前n个子分区为备份存储分区,第n+1个子分区为空闲备份分区,n≥1,且n为正整数;

7、步骤d:基于第n次升级操作,将写入分区的当前旧版本程序备份至第n个备份存储分区,保留前n-1个备份存储分区所备份的旧版本程序;

8、步骤e:擦除写入分区的当前旧版本程序,并将新版升级程序刷写至写入分区;

9、步骤f:当新版升级程序刷写失败时或执行自定义选择版本程序操作时,选择对应一个备份存储分区的旧版本程序来执行回滚操作。

10、优选的,在所述步骤b中,还包括:

11、基于用户选择确定全量升级策略或增量升级策略;

12、当选择增量升级策略时,所获取的升级包包括增量新版升级程序和增量升级脚本;

13、在执行所述步骤e中,当选择增量升级策略时,擦除写入分区的当前旧版本程序,调用增量升级脚本将增量新版升级程序刷写至写入分区。

14、优选的,当选择全量升级策略时,所获取的升级包包括全量新版升级程序、完全升级脚本和增量升级脚本;

15、判断用户设置是否为默认设置,若是,在执行所述步骤e时,擦除写入分区的当前旧版本程序,调用完全升级脚本将全量新版升级程序刷写至写入分区;

16、若存在用户自定义设置,则返回全量升级将导致恢复默认设置的提醒,并确认是否保留自定义设置;

17、若选择保留自定义设置,则重新获取增量新版升级程序,删除全量新版升级程序和完全升级脚本,在执行所述步骤e时,擦除写入分区的当前旧版本程序,调用增量升级脚本将增量新版升级程序刷写至写入分区;

18、若选择不保留自定义设置,则删除增量升级脚本,在执行所述步骤e时,擦除写入分区的当前旧版本程序,调用完全升级脚本将全量新版升级程序刷写至写入分区。

19、在所述步骤a中,将原始程序写入所述写入分区前,还包括:

20、将写入分区建立写入索引,将写入索引与写入分区的地址相互映射;

21、基于写入索引查找所述写入分区的地址,将原始程序写入所述写入分区;

22、其中,所述写入索引的值为0。

23、优选的,在所述步骤c中,还包括:

24、将前n个子分区按照子分区的划分顺序依次建立备份索引,所述备份索引的值为写入索引的值与升级操作次数之和;

25、将各个备份索引与对应各个备份存储分区的地址依次相互映射。

26、优选的,在所述步骤d中,还包括:

27、获取升级操作次数,基于写入索引确定当前备份索引;

28、根据当前备份索引查找当前备份存储分区,当前备份存储分区用于本次升级操作过程中,备份写入分区的当前旧版本程序。

29、优选的,在所述步骤c中,还包括:

30、保留在先划分的备份存储分区,从空闲备份分区中划分出新的备份存储分区和新的空闲备份分区。

31、优选的,每次划分新的备份存储分区和新的空闲备份分区前,包括:

32、获取写入分区的当前旧版本程序的内存大小,基于内存大小判断当前空闲备份分区的存储空间是否能够划分出新的备份存储分区和新的空闲备份分区。

33、优选的,当当前空闲备份分区无法划分出新的备份存储分区和新的空闲备份分区时,执行如下操作:

34、确定本次划分的新的备份存储分区所需存储空间的大小;

35、从最小的备份索引开始,依次搜索大于所需存储空间大小的所有子分区;

36、获取所有子分区所存储的旧版本程序的版本号,判断是否存在低于预设版本号的子分区,若存在,则从中选择备份索引最小的子分区,擦除该子分区所备份的旧版本程序,将该子分区作为新的备份存储分区,保留当前空闲备份分区;

37、若不存在,则擦除低于预设版本号的所有子分区的旧版本程序,将擦除后的所有子分区结合当前空闲备份分区重新划分新的备份存储分区和新的空暇备份分区。

38、优选的,一种空调器的ota升级系统,执行任一项所述空调器的ota升级方法,所述系统包括:

39、ota云服务器,用于提供升级包的存储和下载服务;

40、空调器,包括分区划分模块、下载模块、判断模块、写入擦除模块、回滚选择模块;

41、所述分区划分模块,用于在第一次安装原始程序前,将存储区域划分为写入分区和备份分区;

42、所述下载模块,用于基于升级策略获取升级包,所述升级包包括新版升级程序和升级脚本;

43、所述判断模块,用于在执行升级操作时,判断本次升级操作是否为第n次升级,若是,则触发所述分区划分模块将所述备份分区划分为n+1个子分区,其中,前n个子分区为备份存储分区,第n+1个子分区为空闲备份分区,n≥1,且n为正整数;

44、所述写入擦除模块,用于基于第n次升级操作,将写入分区的当前旧版本程序备份至第n个备份存储分区,保留前n-1个备份存储分区所备份的旧版本程序,还用于擦除写入分区的当前旧版本程序,并将新版升级程序刷写至写入分区;

45、所述回滚选择模块,用于当新版升级程序刷写失败时或执行自定义选择版本程序操作时,选择对应一个备份存储分区的旧版本程序来执行回滚操作。

46、与现有技术相比,上述技术方案中的一个技术方案具有以下有益效果:

47、本发明通过设置多个备份子分区来存储不同版本的程序,确保在升级刷写失败时,能够选择任一版本进行回滚,同时支持用户自定义选择任一旧版本。

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