一种连续升级的方法及装置的制造方法_3

文档序号:9274571阅读:来源:国知局
升级标识设置为第一值。
[0055]可选的,由于连续升级过程中会重新加载升级后的recovery分区,为了获知本次升级是升级recovery分区还是升级整个系统,将升级标识设置在MISC分区中。
[0056]205、将升级包集合的存储路径中排序第一的升级包确定为第一升级包。
[0057]具体的,由于获取到的升级包集合中的存储路径是按升级顺序依次排列的,所以可以将存户路径中的第一个升级包的存储路径对应的升级包确定为第一升级包。
[0058]206、确定升级标识是否为第一值。
[0059]需要说明的是,在根据第一升级包进行升级时,终端需要根据升级标识判断进入何种模式,对哪一部分进行升级。并且根据判断的记过不同执行不同的步骤,在升级标识是第一值的情况下,执行步骤207 ;在升级标识不是第一值,而是第二值的情况下,执行步骤208。
[0060]207、在升级标识是第一值的情况下,根据第一升级包升级recovery分区,将升级标识更新为第二值,重新加载升级后的recovery分区到内存,并跳转至确定升级标识是否为第一值。
[0061]需要说明的是,由于在升级完recovery分区后,终端还需要对系统分区进行升级,所以需要将升级标识置为第二值,以便在终端加载升级后的recovery分区之后,终端能够判断出需要对系统分区进行升级。
[0062]具体的,关于“根据第一升级包升级recovery分区,重新加载升级后的recovery分区到内存”的描述,可参考步骤103,在此不再赘述。
[0063]208、在升级标识是第二值的情况下,根据第一升级包升级系统分区,将升级标识更新为第一值,将存储路径中第一升级包的存储路径删除,并跳转至将升级包集合中排序第一的升级包确定为第一升级包,重新确定新的第一升级包,直至确定存储路径为空。
[0064]需要说明的是,由于在系统分区升级完成后,终端根据第一升级包升级完成,终端在确定新的第一升级包后,需要首先对系统分区进行升级,所以需要将升级标识置为第一值,以便在确定新的第一升级包之后,终端能够判断出需要进入工程模式对recovery分区进行升级。
[0065]需要说明的是,由于步骤205中总是将升级包集合的存储路径中排序第一的升级包确定为第一升级包,为了避免将已经使用过的升级包确定为第一升级包,所以需要将存储路径中第一个升级包(当前的第一升级包)的存储路径删除。
[0066]需要说明的是,由于升级包的存储路径中每一升级包的路径按升级顺序排列,所以存储路径为空,就说明终端已经按升级包集合中的所有升级包升级完毕,此时结束连续升级。
[0067]具体的,关于“根据第一升级包升级系统分区”的描述,可参考步骤103,在此不再赘述。
[0068]需要说明的是,在连续升级结束后,终端中存储的升级包集合已经使用完毕。为了节省存储空间,可以将升级包集合删除。在连续升级结束后,还可以将升级过程的log(日志)存储至终端,以便终端的后续维护。
[0069]本发明实施例提供了一种连续升级的方法,获取并存储原始版本到目标版本所需的升级包集合;获取升级包集合的存储路径,升级包集合的存储路径中每一升级包存储路径按照升级包的升级顺序依次排列;初始化升级标识为第一值;将升级包集合的存储路径中排序第一的升级包确定为第一升级包;确定升级标识是否为第一值;在升级标识是第一值的情况下,根据第一升级包升级recovery分区,将升级标识更新为第二值,重新加载升级后的recovery分区到内存,并跳转至确定升级标识是否为第一值;在升级标识是第二值的情况下,根据第一升级包升级系统分区,将升级标识更新为第一值,将存储路径中第一升级包的存储路径删除,并跳转至将升级包集合中排序第一的升级包确定为第一升级包,重新确定新的第一升级包,直至确定存储路径为空。这样,在最新版本为Vn的情况下,终端从原始版本一次性升级到任一目标版本时,生厂商最多只需要制作及测试η个升级包即可,大大减少了需要制作及测试的升级包,降低了开发成本。进一步的,通过将升级包集合中的升级包按升级顺序排列,终端只需要根据存储路径就能够判断出第一升级包,以及升级是否完成,简化了确定第一升级包的过程,便于实现。
[0070]实施例三
[0071]图3为本发明实施例提供的一种连续升级的装置的功能示意图。参考图3所示,该装置包括:获取单元301、确定单元302和处理单元303。
[0072]获取单元301,用于获取并存储原始版本到目标版本所需的升级包集合。
[0073]其中,原始版本是终端在连续升级前使用的版本。升级包集合中包含至少一个升级包。
[0074]确定单元302,用于将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包。
[0075]其中,终端的当前版本是终端当前使用的版本,终端的当前版本在连续升级的过程中根据第一升级包的新版本动态变化。
[0076]处理单元303,用于根据第一升级包升级恢复recovery分区,重新加载升级后的recovery分区到内存,根据第一升级包升级系统分区,并跳转至将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包,触发确定单元302重新确定新的第一升级包,直至在升级包集合中确定单元302确定不出新的第一升级包为止。
[0077]进一步的,如图4所示,该装置还包括:初始化单元304。
[0078]初始化单元304,用于初始化升级标识为第一值。
[0079]其中,升级标识用于指示终端升级recovery分区或者升级系统分区;可选的,升级标识设置在MISC分区。
[0080]确定单元302,还用于确定升级标识是否为第一值;
[0081 ] 可选的,存储路径设置在缓存分区。
[0082]相应的,处理单元303,具体用于在升级标识是第一值的情况下,根据第一升级包升级recovery分区,将升级标识更新为第二值,重新加载升级后的recovery分区到内存,并跳转至确定升级标识是否为第一值;
[0083]处理单元303,具体用于在升级标识是第二值的情况下,根据第一升级包升级系统分区,将升级标识更新为第一值。
[0084]进一步的,获取单元301,还用于获取升级包集合的存储路径;
[0085]其中,升级包集合的存储路径中每一升级包存储路径按照升级包的升级顺序依次排列;
[0086]相应的,确定单元302,具体用于将升级包集合的存储路径中排序第一的升级包确定为第一升级包;
[0087]处理单元303,还用于将存储路径中第一升级包的存储路径删除;
[0088]确定单元302,具体用于确定存储路径为空。
[0089]进一步的,确定单元302,还用于确定终端是否支持连续升级;
[0090]相应的,获取单元301,具体用于在确定终端支持连续升级的情况下,获取并存储原始版本到目标版本所需的升级包集合。
[0091]本发明实施例提供了一种连续升级的装置,获取并存储原始版本到目标版本所需的升级包集合;将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包;根据第一升级包升级恢复recovery分区,重新加载升级后的recovery分区到内存,根据第一升级包升级系统分区,并跳转至将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包,重新确定新的第一升级包,直至在升级包集合中确定不出新的第一升级包为止。这样,在最新版本为Vn的情况下,终端从原始版本一次性升级到任一目标版本时,生厂商最多只需要制作及测试η个升级包即可,大大减少了需要制作及测试的升级包,降低了开发成本。进一步的,可以通过将升级包集合中的升级包按升级顺序排列,终端只需要根据存储路径就能够判断出第一升级包,以及升级是否完成,简化了确定第一升级包的过程,便于实现。
[0092]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1