一种能兼容不同分区类型的OTA升级方法与流程

文档序号:11254411阅读:1530来源:国知局
一种能兼容不同分区类型的OTA升级方法与流程

本发明涉及一种能兼容不同分区类型的ota升级方法,属于版本在线升级技术领域。



背景技术:

当今时代,互联网应用日新月异,覆盖了人们生活的方方面面,在三网融合的背景下,贵州广电网络用开放的心态,充分结合互联网,开发iptv机顶盒,为贵州省几十万用户提供丰富的视听体验,在提供传统数字电视资源的同时,也能通过互联网获取丰富网络资源。

android操作系统由于其开放性,我们的iptv也选择android作为操作系统。而ota升级作为android系统提供的标准升级方式,能方便实现在线软件版本的升级。在我们为投入使用的iptv盒子进行软件版本升级的时候,也采用标准的ota升级方式。但在实际使用的过程中,发现当版本之前存在分区差异,即由于功能需要新增或者减少了分区,此时进行ota升级就会出现异常,根据差异分区存在的位置,影响程度不一致。

针对以上所述被升级盒子分区与新的升级分区存在差异的问题,如果能忽略版本之间的差异,实现一种能兼容不同分区类型的ota升级方法成为我们思考的问题。



技术实现要素:

本发明要解决的技术问题是提供一种能兼容不同分区类型的ota升级方法,能忽略版本之间的差异,以一种能兼容不同分区类型的ota升级方法解决ota升级出现异常的问题,可以克服现有技术的不足。

本发明的技术方案是一种能兼容不同分区类型的ota升级方法,它包括机顶盒,机顶盒内设有iptv盒子,iptv盒子通过互联网向版本管理平台发起升级包请求,其特征在于:该方法包括以下步骤,

一,版本管理平台通过升级请求制定对应的ota升级脚本。

二,根据ota升级脚本,制作含有全量分区调整模块的ota升级包,并让iptv盒子完成ota升级包的下载;

三,升级,在升级前先根据全量分区调整模块进行分区调整再进行升级,在全量分区调整模块中设有擦除操作,在擦除操作时,若发现当前系统中最末端的分区与升级请求想要擦除的分区名称不一致时,设有跳过继续对比下个分区指令。

上述的擦除操作中,擦除方法为读取当前系统中最末端的分区名称,并读入升级描述脚本中要擦除的分区名称,若两名称对应,即当前升级过程想要擦除的分区为最末端的分区,则继续进行接下来的分区擦除工作;相反,若发现当前想要擦除的分区名称与系统最末端的分区不一致,不能继续执行删除操作。

上述的在ota升级包中设有自带升级描述文件,文件中会记录,分区擦除和添加升级操作,升级的时候则读取升级描述文件中的操作命令,进行升级操作;

上述的分区擦除和添加升级操作,在擦除时从物理存储空间上最后端的分区开始擦除,擦到分区内容开始变更的分区,在添加分区时,则按照相反的顺序来进行;

上述的在完成ota升级包的下载后,在升级前先进行信息校验,只有当升级包的大小和使用的签名校验通过后,才会开始根据ota升级包中的升级执行脚本进行升级。

上述的版本管理平台设有升级需求与对应ota升级包历史记录持久化保存模块。

前述的ota升级包还包括视频资源、音乐文件、网络游戏、第三方应用软件。

现有技术比较,本发明能兼容不同分区类型的ota升级方法,该方法包括以下步骤:一,版本管理平台通过升级请求制定对应的ota升级脚本;二,根据ota升级脚本,制作含有全量分区调整模块的ota升级包,并让iptv盒子完成ota升级包的下载;三,升级,在升级前先根据全量分区调整模块进行分区调整再进行升级,在全量分区调整模块中设有擦除操作,在擦除操作时,若发现当前系统中最末端的分区与升级请求想要擦除的分区名称不一致时,设有跳过继续对比下个分区指令,通过以上的升级步骤,保证原有不需要的分区可以被正确擦除掉,而若存在当前不能擦除的分区,则选择跳过该分区,继续进行接下来的分区比对擦除,这样能忽略版本之间的差异,达到兼容不同分区类型的ota升级效果,使得升级版本与被升级版本之间存在分区差异时,能通过ota升级的方式正常执行升级操作;

在擦除操作中,擦除方法为读取当前系统中最末端的分区名称,并读入升级描述脚本中要擦除的分区名称,若两名称对应,即当前升级过程想要擦除的分区为最末端的分区,则继续进行接下来的分区擦除工作;相反,若发现当前想要擦除的分区名称与系统最末端的分区不一致,不能继续执行删除操作,这样就不会出现升级异常的情况;

在ota升级包中设有自带升级描述文件,文件中会记录,分区擦除和添加升级操作,升级的时候则读取升级描述文件中的操作命令,进行升级操作;这样有操作指令为指导,有利于升级过程,如当升级包下载完成后,将进入recovery的指令记录下来,等到用户再次重启时,才进入到升级流程进行升级,这样可以避免用户在观看电视或者进行其他操作时被突然而来的强制升级中断。

在完成ota升级包的下载后,在升级前先进行信息校验,只有当升级包的大小和使用的签名校验通过后,才会开始根据ota升级包中的升级执行脚本进行升级,这样能避免没有下载完整,或者该升级包的签名与现有系统的签名不一致的情况,保证升级包的合法性及完整性;

版本管理平台设有升级需求与对应ota升级包历史记录持久化保存模块,这样能收集更多版本的升级请求,有利于充实数据库,方便以后直接升级使用;

ota升级包还包括视频资源、音乐文件、网络游戏、第三方应用软件,这样能方便用户下载所需求的软件。

附图说明

图1是本发明的连接结构示意图。

图2是注册分区擦除及分区添加时需函数注册代码。

图3是跳过分区脚本的代码。

图4是原有分区信息。

图5是新的分区信息。

图6是ota升级脚本中的分区正常分区擦除顺序。

具体实施方式

实施例1.如图1所示,一种能兼容不同分区类型的ota升级方法,它包括机顶盒,机顶盒内设有iptv盒子,iptv盒子通过互联网向版本管理平台发起升级包请求,该方法包括以下步骤:一,版本管理平台通过升级请求制定对应的ota升级脚本,版本管理平台设有升级需求与对应ota升级包历史记录持久化保存模块;二,根据ota升级脚本,制作含有全量分区调整模块的ota升级包,并让iptv盒子完成ota升级包的下载;在完成ota升级包的下载后,在升级前先进行信息校验,只有当升级包的大小和使用的签名校验通过后,才会开始根据ota升级包中的升级执行脚本进行升级;ota升级包还包括视频资源、音乐文件、网络游戏、第三方应用软件;在ota升级包中设有自带升级描述文件,文件中会记录,分区擦除和添加升级操作,升级的时候则读取升级描述文件中的操作命令,进行升级操作;分区擦除和添加升级操作,在擦除时从物理存储空间上最后端的分区开始擦除,擦到分区内容开始变更的分区,在添加分区时,则按照相反的顺序来进行;三,升级,在升级前先根据全量分区调整模块进行分区调整再进行升级,在全量分区调整模块中设有擦除操作,在擦除操作时,若发现当前系统中最末端的分区与升级请求想要擦除的分区名称不一致时,设有跳过继续对比下个分区指令;所述的擦除操作中,擦除方法为读取当前系统中最末端的分区名称,并读入升级描述脚本中要擦除的分区名称,若两名称对应,即当前升级过程想要擦除的分区为最末端的分区,则继续进行接下来的分区擦除工作;相反,若发现当前想要擦除的分区名称与系统最末端的分区不一致,不能继续执行删除操作。

1)注册分区擦除及分区添加时需函数注册代码,如图2所示:

图2中,remove_emmc_partition为ota升级描述脚本中定义的分区擦除命令;removeemmcpartitionfn为分区擦除命令对应的实现方法;add_emmc_partition为ota升级描述脚本中定义的分区添加命令;addemmcpartitionfn为分区添加命令对应的实现方法。

2)在对分区进行擦除时,若检测到升级描述脚本中想要擦除的分区与当前系统中可擦除的分区不对应,则跳过分区脚本中该条分区擦除指令的执行,跳过的代码如图3,继续执行升级描述脚本中接下来的分区擦除命令;

3)在ota升级脚本中按照分区的顺序进行编写擦除及添加分区命令。具体操作如下:

填写顺序正确,分区完整的分区擦除及添加命令,原有分区信息如图4,新的分区信息如图5,则可推断出ota升级脚本中的分区正常分区擦除顺序为图6:

4)制作新的ota升级包,即可针对分区存在差异的系统进行ota升级。

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