一种机顶盒升级方法及装置与流程

文档序号:11524836阅读:208来源:国知局
一种机顶盒升级方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种机顶盒升级方法及装置。



背景技术:

升级功能主要用于修复之前软件的bug、增加新的功能,是机顶盒的必备功能。

现有的机顶盒的开机流程大体如下:开机后判断是否满足升级条件,若不满足,则直接进入应用播放电视;若满足,则会重启,进入loader进行升级。若升级成功,则机顶盒重启,重新走开机流程,因为前面升级成功了,这次不满足升级条件,直接进入应用播放电视;若升级失败了,则机顶盒重启,重新走开机流程。

当用户家里的机顶盒无法完成升级过程时,就会进入:重启进入loader升级---->升级失败--->重启进入loader升级---->升级失败--->......这样的死循环中,导致用户无法收看电视,严重影响用户的使用体验,易引起用户投诉运营商。



技术实现要素:

本发明提供了一种机顶盒升级方法及装置,避免机顶盒升级失败后无法收看电视,提高用户使用体验。

为解决上述技术问题,本发明采用下述技术方案予以实现:

本发明提出了一种机顶盒升级方法,所述方法包括:

开机后,启动激活状态的应用分区内的主程序;

判断是否满足升级条件;

若是,则创建后台升级任务;

所述后台升级任务下载升级数据至未激活状态的备份应用分区;

判断升级是否成功;

若是,将原未激活状态的备份应用分区修改为激活状态,将原激活状态的应用分区修改为未激活状态,作为备份应用分区。

进一步的,所述判断是否满足升级条件,具体包括:

接收升级描述文件;

解析升级描述文件里的硬件版本、厂商id、升级序列号范围;

比较所述硬件版本、厂商id是否均与本机一致;

若是,判断本机序列号是否在所述升级序列号范围之内;

若是,判断本机软件版本是否需要升级。

又进一步的,所述判断本机软件版本是否需要升级,具体包括:判断本机版本是否低于升级描述文件里的软件版本;若是,则本机软件版本需要升级。

更进一步的,在升级成功后,弹出升级成功提示框,并由用户选择是否立即重启。

再进一步的,在升级失败后,弹出升级失败提示框,升级任务结束。

本发明还提出了一种机顶盒升级装置,所述装置包括:启动模块,用于开机后,启动激活状态的应用分区内的主程序;条件判断模块,用于判断是否满足升级条件;创建模块,用于创建后台升级任务;下载模块,用于后台升级任务下载升级数据至未激活状态的备份应用分区;成功判断模块,用于判断升级是否成功;状态更换模块,用于将原未激活状态的备份应用分区修改为激活状态,将原激活状态的应用分区修改为未激活状态,作为备份应用分区。

进一步的,所述条件判断模块包括:接收单元,用于接收升级描述文件;解析单元,用于解析升级描述文件里的硬件版本、厂商id、升级序列号范围;比较单元,用于比较所述硬件版本、厂商id是否均与本机一致;序列号判断单元,用于判断本机序列号是否在所述升级序列号范围之内;软件版本判断单元,用于判断本机软件版本是否需要升级。

又进一步的,所述软件版本判断单元具体用于:判断本机版本是否低于升级描述文件里的软件版本;若是,则本机软件版本需要升级。

更进一步的,所述装置还包括:成功提示模块,用于在升级成功后,弹出升级成功提示框,并由用户选择是否立即重启。

再进一步的,所述装置还包括:失败提示模块,用于在升级失败后,弹出升级失败提示框,升级任务结束。

与现有技术相比,本发明的优点和积极效果是:本发明的机顶盒升级方法及装置,开机后,启动激活状态的应用分区内的主程序;判断是否满足升级条件;若是,则创建后台升级任务;后台升级任务下载升级数据至未激活状态的备份应用分区;判断升级是否成功;若是,将原未激活状态的备份应用分区修改为激活状态,将原激活状态的应用分区修改为未激活状态,作为备份应用分区;因此,在后台升级过程中,用户可正常收看电视,避免升级失败导致的无法正常收看电视的现象的发生,提高用户使用体验,降低用户投诉,提高了市场竞争力。

结合附图阅读本发明的具体实施方式后,本发明的其他特点和优点将变得更加清楚。

附图说明

图1是本发明提出的机顶盒升级方法的一个实施例的流程图;

图2是图1中判断是否满足升级条件的流程图;

图3是本发明提出的机顶盒升级装置的一个实施例的结构示意图;

图4是图3中条件判断模块的结构示意图。

具体实施方式

本实施例的机顶盒升级方法及装置,开机后,启动激活状态的应用分区内的主程序;在满足升级条件时,创建后台升级任务,下载升级数据至未激活状态的备份应用分区,且启动电视播放程序,正常播放电视;在升级成功后,更改两个应用分区的激活状态,在升级过程中,用户可正常收看电视,避免升级失败导致的无法正常收看电视的现象的发生,提高用户使用体验,降低用户投诉。

为了使本发明的目的、技术方案及优点更加清楚明白,以下将结合附图和实施例,对本发明作进一步详细说明。

本实施例的机顶盒升级方法具体包括下述步骤,参见图1所示。

在机顶盒的flash中包括三个分区:uboot分区、激活状态的应用分区、未激活状态的备份应用分区,即有两个应用分区,一个是激活状态,一个是未激活状态。

步骤s0:机顶盒上电开机。

机顶盒上电开机,启动uboot,引导机顶盒启动。

步骤s1:启动激活状态的应用分区内的主程序。

步骤s2:判断是否满足升级条件。

判断是否满足升级条件的具体步骤如下,参见图2所示。

步骤s21:接收升级描述文件。

接收电视运营商前端网络发送的升级描述文件。

步骤s22:解析升级描述文件里的硬件版本、厂商id、升级序列号范围。

步骤s23:比较所述硬件版本、厂商id是否均与本机一致。

比较升级描述文件里的硬件版本与本机的硬件版本是否一致以及升级描述文件里的厂商id与本机的厂商id是否一致。

若是,即升级描述文件里的硬件版本、厂商id均与本机一致,执行步骤s24。

步骤s24:判断本机序列号是否在所述升级序列号范围之内。

判断本机序列号是否在升级描述文件里的升级序列号范围之内。

若是,则执行步骤s25。

步骤s25:判断本机软件版本是否需要升级。

在该步骤中,首先解析出升级描述文件里的软件版本,然后判断本机版本是否低于升级描述文件里的软件版本,若是,则本机版本满足升级条件,则执行步骤s3。

若否,则本机版本不满足升级条件,主程序启动电视播放程序,进入正常播放电视模式。

步骤s3:创建后台升级任务。

主程序创建后台升级任务,用于后台下载升级数据。

步骤s4:启动电视播放程序。

在本实施例中,机顶盒具有双高频头,其中一个高频头用于接收升级数据,另一个高频头用于正常的电视接收。

如果满足升级条件,则主程序创建后台升级任务,用于后台下载升级数据,然后,主程序启动电视播放程序,进入正常播放电视模式,电视播放程序正常响应用户的切台、音量加减等操作,满足用户收看电视的需求,使用户正常观看电视节目,期间,后台升级任务下载升级数据。即,在正常播放电视的同时,后台升级任务下载升级数据。

步骤s5:后台升级任务下载升级数据至未激活状态的备份应用分区。

在用户正常收看电视的同时,后台升级任务使用高频头锁定播发升级流的频点,通过升级描述文件里的升级流pid过滤出升级数据,把升级数据下载到未激活状态的备份应用分区中。当然,先对未激活状态的备份应用分区进行擦除,然后再写入升级数据。

步骤s6:判断升级是否成功。

在升级数据下载过程中可能出现断电或下载的数据错误等问题,因此需要对下载下来的升级数据进行校验,以判断升级是否成功。

具体来说,升级数据下载完成后,对下载下来的升级数据进行校验,计算出校验码,并与升级数据内存储的校验码进行比较。

若不一致,说明下载的升级数据错误,则升级失败,执行步骤s7。

若一致,说明下载的升级数据完整正确,则升级成功,执行步骤s8。

数据校验方法有多种,如crc校验方法等,此处不再赘述。

步骤s7:弹出升级失败提示框,升级任务结束。

升级失败后,为了告知用户,弹出提示框“本次升级失败,下次开机时将再次进行升级”,升级任务结束。

在升级失败时,不改变应用分区的激活状态,保证下次开机可以正常启动电视播放程序并再次进行升级。

步骤s8:将原未激活状态的备份应用分区修改为激活状态,将原激活状态的应用分区修改为未激活状态,作为备份应用分区。

升级成功后,将原未激活状态的备份应用分区修改为激活状态,作为应用分区;将原激活状态的应用分区修改为未激活状态,作为备份应用分区。而且,提升本机的软件版本到升级描述文件里的软件版本。

本次升级成功后,重启开机时,进入激活状态的应用分区,启动新的升级后的程序。

步骤s9:弹出升级成功提示框。

升级成功后,为了告知用户,弹出提示框“升级成功”,通知用户已经升级成功,升级任务结束。

步骤s10:用户选择是否立即重启。

升级成功后,由用户选择是否立即重启,

若是,则返回步骤s0。

若否,则下次重启。

本实施例的机顶盒升级方法,开机后,启动激活状态的应用分区内的主程序;判断是否满足升级条件;若是,则创建后台升级任务,且启动电视播放程序,电视播放程序正常响应用户的切台、音量加减等操作,满足用户收看电视的需求,期间后台升级任务下载升级数据至未激活状态的备份应用分区;判断升级是否成功;若是,将原未激活状态的备份应用分区修改为激活状态,将原激活状态的应用分区修改为未激活状态,作为备份应用分区;因此,在后台升级过程中,用户可正常收看电视,避免升级失败导致的无法正常收看电视的现象的发生,提高用户使用体验,降低用户投诉,提高了市场竞争力。

在本实施例中,当下载数据过程中断电或者下载的数据错误无法通过校验时,不改变应用分区的激活状态,保证下次开机可以正常启动电视播放程序并再次进行升级。当本次升级成功后,下次开机后已经是新的程序,相比原有进入loader升级的方法,减少了1次机顶盒重启的过程。

本实施例还提出了一种机顶盒升级装置,该装置主要包括启动模块、条件判断模块、创建模块、播放模块、下载模块、成功判断模块、状态更换模块等,参见图3所示。

启动模块,用于开机后,启动激活状态的应用分区内的主程序。

条件判断模块,用于判断是否满足升级条件。

创建模块,用于创建后台升级任务。

播放模块,用于启动电视播放程序。

下载模块,用于后台升级任务下载升级数据至未激活状态的备份应用分区。

成功判断模块,用于判断升级是否成功。

状态更换模块,用于将原未激活状态的备份应用分区修改为激活状态,将原激活状态的应用分区修改为未激活状态,作为备份应用分区。

所述条件判断模块主要包括接收单元、解析单元、比较单元、序列号判断单元、软件版本判断单元等,参见图4所示。

接收单元,用于接收升级描述文件。

解析单元,用于解析升级描述文件里的硬件版本、厂商id、升级序列号范围。

比较单元,用于比较所述硬件版本、厂商id是否均与本机一致。

序列号判断单元,用于判断本机序列号是否在所述升级序列号范围之内。

软件版本判断单元,用于判断本机软件版本是否需要升级。

所述软件版本判断单元具体用于:判断本机版本是否低于升级描述文件里的软件版本;若是,则本机软件版本需要升级。

所述装置还包括成功提示模块,用于在升级成功后,弹出升级成功提示框,并由用户选择是否立即重启。

所述装置还包括失败提示模块,用于在升级失败后,弹出升级失败提示框,升级任务结束。

具体的机顶盒升级装置的工作过程,已经在上述机顶盒升级方法中详述,此处不予赘述。

本实施例的机顶盒升级装置,开机后,启动激活状态的应用分区内的主程序;判断是否满足升级条件;若是,则创建后台升级任务,且启动电视播放程序;后台升级任务下载升级数据至未激活状态的备份应用分区;判断升级是否成功;若是,将原未激活状态的备份应用分区修改为激活状态,将原激活状态的应用分区修改为未激活状态,作为备份应用分区;因此,在后台升级过程中,用户可正常收看电视,避免升级失败导致的无法正常收看电视的现象的发生,提高用户使用体验,降低用户投诉,提高了市场竞争力。

以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。

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