一种机顶盒及其应用程序升级方法、系统与流程

文档序号:12379221阅读:358来源:国知局
一种机顶盒及其应用程序升级方法、系统与流程

本发明涉及应用程序升级领域,特别涉及一种机顶盒及其应用程序升级方法、系统。



背景技术:

机顶盒已经成为现代生活不可或缺的一个家电设备,弥补电视功能的不足。由于前端的系统功能或功能的添加,或者机顶盒厂商发现自身软件的一些Bug(漏洞),OTA(Over-the-Air Technology)升级已经成为机顶盒的一个基本功能。往往一个运行商会采购2到3家厂商的盒子。

现在机顶盒的普遍架构是:BOOT + LOADER+ APP模式。盒子开机从BOOT启动,如果有升级标志,就进LOADER(给APP升级的升级程序)升级APP,升级成功后清除升级标志,升级失败下次会继续进LOADER升级APP,若升级失败则直接进入APP。

这样的机顶盒或者这样的升级方式,只能升级APP,不能升级LOADER。升级方式在LOADER中。如果升级方式与触发方式被破解(被黑客攻击,公司核心人员的流动等),即LOADER被破解,机顶盒就可以被攻击从而不断重启,严重影响机顶盒的正常使用。

因而现有技术还有待改进和提高。



技术实现要素:

鉴于上述现有技术的不足之处,本发明的目的在于提供一种机顶盒及其应用程序升级方法、系统,以提高应用程序和升级程序升级的安全性。

为了达到上述目的,本发明采取了以下技术方案:

一种机顶盒的应用程序升级方法,包括如下步骤:

A、机顶盒开机后,检测应用程序是否有升级需求;

B、若应用程序有升级需求,则校验第一升级程序的数据的完整性;在第一升级程序的数据完整时,由第一升级程序对应用程序进行升级;在第一升级程序的数据不完整时,由第二升级程序对应用程序进行升级;

C、若应用程序没有升级需求,则检测第一升级程序是否有升级需求;

D、若第一升级程序有升级需求,则由第二升级程序对第一升级程序进行升级;

E、若第一升级程序没有升级需求,则校验应用程序的数据是否完整;

F、若应用程序的数据完整,则跳转到应用程序;

G、若应用程序的数据不完整,则校验第一升级程序的数据是否完整;在第一升级程序的数据完整时,由第一升级程序对应用程序进行升级;在第一升级程序的数据不完整时,由第二升级程序对应用程序和第一升级程序进行升级。

所述的机顶盒的应用程序升级方法中,所述第二升级程序不升级。

所述的机顶盒的应用程序升级方法中,所述步骤B中,由第一升级程序对应用程序进行升级的步骤具体包括:

第一升级程序通过OTA下载应用程序的升级数据,检测应用程序的升级数据是否下载成功;

若应用程序的升级数据下载不成功,则提示升级失败,清除应用程序的升级需求并重启机顶盒;

若应用程序的升级数据下载成功,则更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除应用程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。

所述的机顶盒的应用程序升级方法中,所述步骤D中,由第二升级程序对第一升级程序进行升级的步骤具体包括:

第二升级程序通过OTA下载第一升级程序的升级数据,检测第一升级程序的升级数据是否下载成功;

若第一升级程序的升级数据下载不成功,则提示升级失败,清除第一升级程序的升级需求并重启机顶盒;

若第一升级程序的升级数据下载成功,则更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除第一升级程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。

一种机顶盒的应用程序升级系统,包括:

第一升级程序,用于对应用程序进行升级;

第二升级程序,用于对第一升级程序或应用程序进行升级;

BOOT程序,用于在机顶盒开机后,检测应用程序是否有升级需求;

在应用程序有升级需求时,校验第一升级程序的数据的完整性;在第一升级程序的数据完整时,启动第一升级程序对应用程序进行升级;在第一升级程序的数据不完整时,启动第二升级程序对应用程序进行升级;

在应用程序没有升级需求时,检测第一升级程序是否有升级需求;

在第一升级程序有升级需求时,启动第二升级程序对第一升级程序进行升级;

在第一升级程序没有升级需求时,校验应用程序的数据是否完整;

在应用程序的数据完整时,启动应用程序;在应用程序的数据不完整时,校验第一升级程序的数据是否完整;在第一升级程序的数据完整时,启动第一升级程序对应用程序进行升级,在第一升级程序的数据不完整时,启动第二升级程序对应用程序和第一升级程序进行升级。

所述的机顶盒的应用程序升级系统中,所述第二升级程序不升级。

所述的机顶盒的应用程序升级系统中,所述第一升级程序具体用于:

通过OTA下载应用程序的升级数据,检测应用程序的升级数据是否下载成功;

在应用程序的升级数据下载不成功时,提示升级失败,清除应用程序的升级需求并重启机顶盒;

在应用程序的升级数据下载成功时,更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除应用程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。

所述的机顶盒的应用程序升级系统中,所述第二升级程序对第一升级程序进行升级,具体包括:

通过OTA下载第一升级程序的升级数据,检测第一升级程序的升级数据是否下载成功;

在第一升级程序的升级数据下载不成功时,提示升级失败,清除第一升级程序的升级需求并重启机顶盒;

在第一升级程序的升级数据下载成功时,更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除第一升级程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。

一种机顶盒,包括如上所述的机顶盒的应用程序升级系统。

相较于现有技术,本发明提供的机顶盒及其应用程序升级方法、系统中,所述应用程序升级方法通过设置两个升级程序来对应用程序进行升级;在第一升级程序的数据完整时由第一升级程序对应用程序进行升级,在第一升级程序的数据不完整时由第二升级程序对应用程序进行升级;即便第一升级程序被破解或者与其他厂商冲突,也能确保应用程序安全、及时的升级。而且,通过第二升级程序对第一升级程序进行升级,确保了第一升级程序的及时更新,提高了破解难度,保障了升级程序的安全。

附图说明

图1为本发明提供的机顶盒的应用程序升级方法的流程图;

图2为本发明提供的机顶盒的应用程序升级系统的结构框图。

具体实施方式

本发明提供一种机顶盒及其应用程序升级方法、系统。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供一种机顶盒特别是采用OTA(Over-the-Air Technology)升级的机顶盒的升级方法,所述机顶盒中设置有两个用于给应用程序进行升级的升级程序,其中一个升级程序可以给另一个升级程序进行升级。请参阅图1,所述升级方法包括如下步骤:

S10、机顶盒开机后,检测应用程序(APP)是否有升级需求;具体的,机顶盒开机,由BOOT程序检测是否有APP升级标志位,有则说明APP有升级需求,无则说明APP无升级需求。

S20、若应用程序有升级需求,则校验第一升级程序(LOADER1)的数据的完整性;在第一升级程序的数据完整时,由第一升级程序对应用程序进行升级;在第一升级程序的数据不完整时,由第二升级程序(LOADER2)对应用程序进行升级。所述第一升级程序只有在数据完整时才对APP进行升级,提高了APP升级的安全性;在数据不完整时,由第二升级程序对APP进行升级,确保了APP的正常、及时的升级。

S30、若应用程序没有升级需求,则检测第一升级程序是否有升级需求。

S40、若第一升级程序有升级需求,则由第二升级程序对第一升级程序进行升级。通过LOADER2对LOADER1进行升级,确保了LOADER1能经常更新,即便升级方法、触发升级模式被破解或者与其他厂商冲突,也能通过对LOADER1的升级来解决,提高了机顶盒APP升级的安全性。而且,本发明中,仅第一升级程序升级,而第二升级程序不升级,故不会出现两个LOADER都破坏的情况。这样,即便第一升级程序升级后出现故障无法升级APP,机顶盒也能通过第二升级程序对APP进行升级,确保了机顶盒的正常运行。

进一步的,所述BOOT程序和第二升级程序均存储的FLASH(闪存)的OTP(ONE TIME PROGRAMMABLE)寄存器或OTP区域中,OTP寄存器或OTP区域的数据在一次写入后是不能更改的。这样机顶盒的BOOT程序和第二升级程序是不会被改变的,第二升级程序的数据始终是完整的,始终能正常工作。

S50、若第一升级程序没有升级需求,则校验应用程序的数据是否完整。

S60、若应用程序的数据完整,则跳转到应用程序,用户能正常使用APP。本发明在APP启动过程中就可以获知是APP需升级还是LOADER1需升级,非常便捷。

S70、若应用程序的数据不完整,则校验第一升级程序的数据是否完整;在第一升级程序的数据完整时,由第一升级程序对应用程序进行升级;在第一升级程序的数据不完整时,由第二升级程序对应用程序和第一升级程序进行升级。当APP或LOADER1数据不完整时,也会触发升级;不必APP获取升级信息才触发,确保APP和LOADER1一旦出现故障就能立即重新升级更新,降低了机顶盒软件的故障率。

由此可知,本发明提供的应用程序升级方法,在使用两个LOADER确保能对APP进行正常升级的情况下,如果发现升级方法、触发升级模式被破解后,仍可以通过LOADER2安全的更新LOADER1,从而修改机顶盒的升级方式,极大的提高了LOADER和APP升级的安全性。

进一步的,所述步骤S20和步骤S70中,由第一升级程序对应用程序进行升级的步骤具体包括:

第一升级程序通过OTA下载应用程序的升级数据,检测应用程序的升级数据是否下载成功;

若应用程序的升级数据下载不成功,则提示升级失败,清除应用程序的升级需求(即APP升级标志位)并重启机顶盒;

若应用程序的升级数据下载成功,则更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除应用程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒,由步骤S70可知,在重启后由于数据不完整,LOADER1或2会对应用程序重新升级。

同样的,所述步骤S20和步骤S70中,由第二升级程序对应用程序进行升级的步骤具体包括:

第二升级程序通过OTA下载应用程序的升级数据,检测应用程序的升级数据是否下载成功;

若应用程序的升级数据下载不成功,则提示升级失败,清除应用程序的升级需求(即APP升级标志位)并重启机顶盒;

若应用程序的升级数据下载成功,则更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除应用程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。由步骤S70可知,在重启后由于数据不完整,LOADER1或2会对应用程序重新升级。

进一步的,所述步骤S40和步骤S70中,由第二升级程序对第一升级程序进行升级的步骤具体包括:

第二升级程序通过OTA下载第一升级程序的升级数据,检测第一升级程序的升级数据是否下载成功;

若第一升级程序的升级数据下载不成功,则提示升级失败,清除第一升级程序的升级需求(即LOADER1升级标志位)并重启机顶盒;

若第一升级程序的升级数据下载成功,则更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除第一升级程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。由步骤S70可知,在重启后由于数据不完整,LOADER2会对LOADER1重新升级。

基于上述实施例提供的机顶盒的应用程序升级方法,本发明还提供一种机顶盒,所述机顶盒包括机顶盒的应用程序升级系统。请参阅图2,所述升级系统包括BOOT程序10、第一升级程序20、第二升级程序30和多个应用程序40。

所述第一升级程序20,用于对应用程序进行升级。

所述第二升级程序30,用于对第一升级程序或应用程序进行升级。

BOOT程序,用于在机顶盒开机后,检测应用程序是否有升级需求;

在应用程序有升级需求时,校验第一升级程序的数据的完整性;在第一升级程序的数据完整时,启动第一升级程序对应用程序进行升级;在第一升级程序的数据不完整时,启动第二升级程序对应用程序进行升级;

在应用程序没有升级需求时,检测第一升级程序是否有升级需求;

在第一升级程序有升级需求时,启动第二升级程序对第一升级程序进行升级;

在第一升级程序没有升级需求时,校验应用程序的数据是否完整;

在应用程序的数据完整时,启动应用程序;在应用程序的数据不完整时,校验第一升级程序的数据是否完整;在第一升级程序的数据完整时,启动第一升级程序对应用程序进行升级,在第一升级程序的数据不完整时,启动第二升级程序对应用程序和第一升级程序进行升级。

其中,所述第二升级程序不升级。

进一步的,所述第一升级程序对应用程序进行升级,具体用于:

通过OTA下载应用程序的升级数据,检测应用程序的升级数据是否下载成功;

在应用程序的升级数据下载不成功时,提示升级失败,清除应用程序的升级需求并重启机顶盒;

在应用程序的升级数据下载成功时,更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除应用程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。

同样的,所述第二升级程序对应用程序进行升级,其具体用于:

通过OTA下载应用程序的升级数据,检测应用程序的升级数据是否下载成功;

在应用程序的升级数据下载不成功时,提示升级失败,清除应用程序的升级需求并重启机顶盒;

在应用程序的升级数据下载成功时,更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除应用程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。

进一步的,所述第二升级程序对第一升级程序进行升级,具体包括:

通过OTA下载第一升级程序的升级数据,检测第一升级程序的升级数据是否下载成功;

在第一升级程序的升级数据下载不成功时,提示升级失败,清除第一升级程序的升级需求并重启机顶盒;

在第一升级程序的升级数据下载成功时,更新对应闪存区域的数据;在对应闪存区域的数据更新成功时,清除第一升级程序的升级需求并重启机顶盒;在对应闪存区域的数据更新失败时,重启机顶盒。

由于所述机顶盒的应用程序升级系统的具体原理和详细技术特征在上述方法实施例中已详细阐述,在此不再赘述。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

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