首页 / 专利库 / 电脑零配件 / 外围设备 / USB闪存盘 / 安卓机顶盒的系统升级方法及装置

安卓机顶盒的系统升级方法及装置

阅读:555发布:2020-05-21

专利汇可以提供安卓机顶盒的系统升级方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种安卓机顶盒的系统升级方法及装置,涉及安卓机顶盒视频服务技术领域,方法包括:启动安卓机顶盒并进入boot启动菜单;判断所述安卓机顶盒中是否有 USB闪存盘 升级文件;若所述安卓机顶盒中有所述升级文件,将所述升级文件读取到安卓机顶盒的内存中;通过一预先设置的私有协议对所述升级文件进行解析,获取升级数据;通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验;若所述升级文件通过校验,将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中。本发明能够解决当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。,下面是安卓机顶盒的系统升级方法及装置专利的具体信息内容。

1.一种安卓机顶盒的系统升级方法,其特征在于,包括:
启动安卓机顶盒并进入boot启动菜单;
判断所述安卓机顶盒中是否有USB闪存盘升级文件;
若所述安卓机顶盒中有所述升级文件,将所述升级文件读取到安卓机顶盒的内存中;
通过一预先设置的私有协议对所述升级文件进行解析,获取升级数据;
通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验;
若所述升级文件通过校验,将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中;
所述升级文件包括文件头以及模数据;所述文件头包括文件大小、文件CRC校验值、文件的私有标签值;所述模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的所述升级数据;
所述通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验,包括:
根据所述私有密钥,确定一私有CRC校验值;
将所述私有CRC校验值与所述文件CRC校验值进行比对,判断所述私有CRC校验值与所述文件CRC校验值是否相等;
若所述私有CRC校验值与所述文件CRC校验值相等,确定所述升级文件通过校验;
若所述私有CRC校验值与所述文件CRC校验值不相等,确定所述升级文件未通过校验,且升级文件被篡改。
2.根据权利要求1所述的安卓机顶盒的系统升级方法,其特征在于,所述将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中,包括:
将所述升级数据打包为Ext4格式数据;
将所述Ext4格式数据拆分为若干chunk数据包;其中,所述若干chunk数据包包括待烧写数据包和可忽略数据包;
将所述待烧写数据包烧写入所述Flash分区,并不对所述可忽略数据包进行烧写。
3.根据权利要求2所述的安卓机顶盒的系统升级方法,其特征在于,在将所述升级文件读取到安卓机顶盒的内存中之前,包括:
将所述安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
4.根据权利要求3所述的安卓机顶盒的系统升级方法,其特征在于,所述将所述升级文件读取到安卓机顶盒的内存中,包括:
将所述升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号
5.根据权利要求4所述的安卓机顶盒的系统升级方法,其特征在于,在将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中之后,包括:
判断安卓机顶盒的系统升级是否成功;
若所述安卓机顶盒的系统升级成功,向安卓机顶盒的状态指示电路发送一第二指示信号;
若所述安卓机顶盒的系统升级失败,向安卓机顶盒的状态指示电路发送一第三指示信号。
6.一种安卓机顶盒的系统升级装置,其特征在于,包括:
启动单元,用于启动安卓机顶盒并进入boot启动菜单;
升级文件判断单元,用于判断所述安卓机顶盒中是否有USB闪存盘升级文件;
升级文件读取单元,用于在所述安卓机顶盒中有所述升级文件时,将所述升级文件读取到安卓机顶盒的内存中;
升级数据获取单元,用于通过一预先设置的私有协议对所述升级文件进行解析,获取升级数据;
校验单元,用于通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验;
升级数据写入单元,用于在所述升级文件通过校验时,将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中;
所述升级文件读取单元所读取的升级文件包括文件头以及模块数据;所述文件头包括文件大小、文件CRC校验值、文件的私有标签值;所述模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的所述升级数据;
所述校验单元,包括:
校验值确定模块,用于根据所述私有密钥,确定一私有CRC校验值;
比对模块,用于将所述私有CRC校验值与所述文件CRC校验值进行比对,判断所述私有CRC校验值与所述文件CRC校验值是否相等;
第一确定模块,用于在所述私有CRC校验值与所述文件CRC校验值相等时,确定所述升级文件通过校验;
第二确定模块,用于在所述私有CRC校验值与所述文件CRC校验值不相等时,确定所述升级文件未通过校验,且升级文件被篡改。
7.根据权利要求6所述的安卓机顶盒的系统升级装置,其特征在于,所述升级数据写入单元,包括:
打包模块,用于将所述升级数据打包为Ext4格式数据;
拆分模块,用于将所述Ext4格式数据拆分为若干chunk数据包;其中,所述若干chunk数据包包括待烧写数据包和可忽略数据包;
写入模块,用于将所述待烧写数据包烧写入所述Flash分区,并不对所述可忽略数据包进行烧写。
8.根据权利要求7所述的安卓机顶盒的系统升级装置,其特征在于,还包括:
内存整理单元,用于将所述安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
9.根据权利要求8所述的安卓机顶盒的系统升级装置,其特征在于,所述升级文件读取单元,具体用于:
将所述升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号。
10.根据权利要求9所述的安卓机顶盒的系统升级装置,其特征在于,还包括:
升级结果判断单元,用于判断安卓机顶盒的系统升级是否成功;
指示信号发送单元,用于在所述安卓机顶盒的系统升级成功时,向安卓机顶盒的状态指示电路发送一第二指示信号;在所述安卓机顶盒的系统升级失败时,向安卓机顶盒的状态指示电路发送一第三指示信号。

说明书全文

安卓机顶盒的系统升级方法及装置

技术领域

[0001] 本发明涉及安卓机顶盒视频服务技术领域,尤其涉及一种安卓机顶盒的系统升级方法及装置。

背景技术

[0002] 随着网络技术的日益发展,消费者对从网络获取高画质的视频资源等信息的需求也越来越大。目前,很多家庭和企业等用户都设置有安卓机顶盒。安卓机顶盒是具有全开放式平台,搭载了安卓操作系统,可以由用户自行安装和卸载软件、游戏等第三方服务商提供的程序,通过此类程序来不断对电视的功能进行扩充,并可以通过网线、无线网络来实现上网冲浪的一种机顶盒。安卓机顶盒具有上网以及高清视频等功能。
[0003] 当前的一种安卓机顶盒DVB+OTT所应用的即为安卓系统,在其升级时,一般应用的是“Recovery”升级模式。其过程是:在安卓机顶盒开机时进入启动菜单boot,从而进入一Linux系统中,通过读取USB闪存盘中的ZIP格式的升级包来进行升级,这种升级方式属于安卓原生的升级模式。
[0004] 然而,当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差。可见当前的安卓机顶盒的升级的安全性较低。

发明内容

[0005] 本发明实施例提供一种安卓机顶盒的系统升级方法及装置,以解决现有技术中安卓机顶盒的升级的安全性较低的问题。
[0006] 为了达到上述目的,本发明采用如下技术方案:
[0007] 一种安卓机顶盒的系统升级方法,包括:
[0008] 启动安卓机顶盒并进入boot启动菜单;
[0009] 判断所述安卓机顶盒中是否有USB闪存盘升级文件;
[0010] 若所述安卓机顶盒中有所述升级文件,将所述升级文件读取到安卓机顶盒的内存中;
[0011] 通过一预先设置的私有协议对所述升级文件进行解析,获取升级数据;
[0012] 通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验;
[0013] 若所述升级文件通过校验,将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中。
[0014] 具体的,所述升级文件包括文件头以及模数据;所述文件头包括文件大小、文件CRC校验值、文件的私有标签值;所述模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的所述升级数据。
[0015] 具体的,所述通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验,包括:
[0016] 根据所述私有密钥,确定一私有CRC校验值;
[0017] 将所述私有CRC校验值与所述文件CRC校验值进行比对,判断所述私有CRC校验值与所述文件CRC校验值是否相等;
[0018] 若所述私有CRC校验值与所述文件CRC校验值相等,确定所述升级文件通过校验;
[0019] 若所述私有CRC校验值与所述文件CRC校验值不相等,确定所述升级文件未通过校验,且升级文件被篡改。
[0020] 具体的,所述将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中,包括:
[0021] 将所述升级数据打包为Ext4格式数据;
[0022] 将所述Ext4格式数据拆分为若干chunk数据包;其中,所述若干chunk数据包包括待烧写数据包和可忽略数据包;
[0023] 将所述待烧写数据包烧写入所述Flash分区,并不对所述可忽略数据包进行烧写。
[0024] 此外,在将所述升级文件读取到安卓机顶盒的内存中之前,包括:
[0025] 将所述安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
[0026] 另外,所述将所述升级文件读取到安卓机顶盒的内存中,包括:
[0027] 将所述升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号
[0028] 此外,在将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中之后,包括:
[0029] 判断安卓机顶盒的系统升级是否成功;
[0030] 若所述安卓机顶盒的系统升级成功,向安卓机顶盒的状态指示电路发送一第二指示信号;
[0031] 若所述安卓机顶盒的系统升级失败,向安卓机顶盒的状态指示电路发送一第三指示信号。
[0032] 一种安卓机顶盒的系统升级装置,包括:
[0033] 启动单元,用于启动安卓机顶盒并进入boot启动菜单;
[0034] 升级文件判断单元,用于判断所述安卓机顶盒中是否有USB闪存盘升级文件;
[0035] 升级文件读取单元,用于在所述安卓机顶盒中有所述升级文件时,将所述升级文件读取到安卓机顶盒的内存中;
[0036] 升级数据获取单元,用于通过一预先设置的私有协议对所述升级文件进行解析,获取升级数据;
[0037] 校验单元,用于通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验;
[0038] 升级数据写入单元,用于在所述升级文件通过校验时,将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中。
[0039] 具体的,所述升级文件读取单元所读取的升级文件包括文件头以及模块数据;所述文件头包括文件大小、文件CRC校验值、文件的私有标签值;所述模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的所述升级数据。
[0040] 具体的,所述校验单元,包括:
[0041] 校验值确定模块,用于根据所述私有密钥,确定一私有CRC校验值;
[0042] 比对模块,用于将所述私有CRC校验值与所述文件CRC校验值进行比对,判断所述私有CRC校验值与所述文件CRC校验值是否相等;
[0043] 第一确定模块,用于在所述私有CRC校验值与所述文件CRC校验值相等时,确定所述升级文件通过校验;
[0044] 第二确定模块,用于在所述私有CRC校验值与所述文件CRC校验值不相等时,确定所述升级文件未通过校验,且升级文件被篡改。
[0045] 具体的,所述升级数据写入单元,包括:
[0046] 打包模块,用于将所述升级数据打包为Ext4格式数据;
[0047] 拆分模块,用于将所述Ext4格式数据拆分为若干chunk数据包;其中,所述若干chunk数据包包括待烧写数据包和可忽略数据包;
[0048] 写入模块,用于将所述待烧写数据包烧写入所述Flash分区,并不对所述可忽略数据包进行烧写。
[0049] 此外,该安卓机顶盒的系统升级装置,还包括:
[0050] 内存整理单元,用于将所述安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
[0051] 具体的,所述升级文件读取单元,还用于:
[0052] 将所述升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号。
[0053] 具体的,该安卓机顶盒的系统升级装置,还包括:
[0054] 升级结果判断单元,用于判断安卓机顶盒的系统升级是否成功;
[0055] 指示信号发送单元,用于在所述安卓机顶盒的系统升级成功时,向安卓机顶盒的状态指示电路发送一第二指示信号;在所述安卓机顶盒的系统升级失败时,向安卓机顶盒的状态指示电路发送一第三指示信号。
[0056] 本发明实施例提供的安卓机顶盒的系统升级方法及装置,能够通过私有协议来解析升级文件,得到升级数据,并且需要通过一私有密钥对所述升级文件进行校验,确保了安卓机顶盒的系统升级的安全性。避免了当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。附图说明
[0057] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0058] 图1为本发明实施例提供的安卓机顶盒的系统升级方法的流程图一;
[0059] 图2为本发明实施例提供的安卓机顶盒的系统升级方法的流程图二;
[0060] 图3为本发明实施例中的系统运行示意图;
[0061] 图4为本发明实施例提供的升级文件的结构示意图;
[0062] 图5为本发明实施例还提供的安卓机顶盒的系统升级装置的结构示意图一;
[0063] 图6为本发明实施例还提供的安卓机顶盒的系统升级装置的结构示意图二。

具体实施方式

[0064] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065] 如图1所示,本发明实施例提供的安卓机顶盒的系统升级方法,包括:
[0066] 步骤101、启动安卓机顶盒并进入boot启动菜单。
[0067] 步骤102、判断安卓机顶盒中是否有USB闪存盘升级文件。
[0068] 步骤103、若安卓机顶盒中有升级文件,将升级文件读取到安卓机顶盒的内存中。
[0069] 步骤104、通过一预先设置的私有协议对升级文件进行解析,获取升级数据。
[0070] 步骤105、通过一私有密钥对升级文件进行校验,确定升级文件是否通过校验。
[0071] 步骤106、若该升级文件通过校验,将升级文件中的升级数据写入安卓机顶盒系统中的Flash分区中。
[0072] 值得说明的是,本发明实施例的执行主体为一种安卓机顶盒的系统升级装置,可以设置在安卓机顶盒中,但不仅局限于此。
[0073] 本发明实施例提供的安卓机顶盒的系统升级方法,需要通过私有协议来解析升级文件,得到升级数据,并且需要通过一私有密钥对升级文件进行校验,确保了安卓机顶盒的系统升级的安全性。避免了当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。
[0074] 其中,上述的升级文件包括文件头以及模块数据;文件头包括文件大小、文件CRC校验值、文件的私有标签值;该模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的升级数据。
[0075] 为了使本领域的技术人员更好的了解本发明,下面列举一个更为具体的实施例,如图2所示,本发明实施例提供的安卓机顶盒的系统升级方法,包括:
[0076] 步骤201、启动安卓机顶盒并进入boot启动菜单。
[0077] 步骤202、判断安卓机顶盒中是否有USB闪存盘升级文件。若安卓机顶盒中没有USB闪存盘升级文件,执行步骤203。否则,若安卓机顶盒中有USB闪存盘升级文件,执行步骤204。
[0078] 其中,如图4所示,上述的升级文件包括文件头File_head以及模块数据;文件头File_head包括文件大小Total_size、文件CRC校验值Total_crc_check、文件的私有标签值File_label,还可以包括文件头的私有数据Private_data;模块数据包括各模块数据大小Module_size、模块类型Module_type、模块的CRC校验值Module_crc_check以及各模块的升级数据Real_data中的Module_data以及模块的私有数据Private_data。各模块数据可以单独存在,不依赖于其他模块,这样可以根据需求任意进行组合。
[0079] 对于安卓机顶盒的系统升级,是将需要更新的系统镜像文件,更新和写入安卓机顶盒中的Flash分区中,该Flash分区属于Flash存储介质中,例如EMMC-Flash,在安卓机顶盒启动后可以从Flash存储介质中加载升级数据,以此来达到系统的更新换代的目的,如图3指示的运行过程,其中Boot为一启动菜单,在EMMC-Flash存储介质中,Kernel为操作系统内核数据存储分区,System为系统数据存储分区,Userdata为用户数据存储分区。升级数据中的各部分数据要分别存储到EMMC-Flash存储介质中的各存储分区。
[0080] 步骤203、不对安卓机顶盒的系统进行升级,直接启动安卓机顶盒的系统。
[0081] 在启动安卓机顶盒的系统之后,即可以通过该安卓机顶盒进行电视节目播放,安卓机顶盒服务浏览等。
[0082] 步骤204、将安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
[0083] 若后续需要将升级过程在boot中进行,由于boot中没有类似kernel的内存管理模块,而升级所需的镜像文件一般为470兆,因此此处必须有足够的内存。Boot中不存在虚拟内存,所有的操作都是基于实际物理内存完成,处理过程简单。Boot中的内存使用时首先要进行有效的划分,例如隔离程序的栈内存空间,单独分配一个线性的连续堆内存空间出来。使用时从高到底,按顺序依次进行使用,释放时向相反方向进行回收。内存使用完以后需要及时释放,防止内存的饱和。此外CPU取址时,可以按照4字节对齐来取址,所以接口设计需要保证划分的内存大小必须是4字节的整数倍,避免出现内存泄漏问题。为了不使内存超过空间限制,实际的镜像文件数据仅能使用一份内存拷贝,在运行内存时可以利用指针来指向该数据的内存空间,灵活利用指针来进行内存取址,以此来达到节省内存的目的。
[0084] 步骤205、将升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号。
[0085] 其中,该状态指示电路可以包括一发光二极管,该发光二极管可以由一总线扩展器(General Purpose Input Output,简称GPIO)来控制,在高电平时显示红色,在低电平时显示绿色。在接收到第一指示信号后,该发光二极管可以发出常亮绿光,以指示用户进行安卓机顶盒的系统升级,在升级过程中,该发光二极管可以发出常亮的红光。
[0086] 步骤206、通过一预先设置的私有协议对升级文件进行解析,获取升级数据。
[0087] 步骤207、根据私有密钥,确定一私有CRC校验值。
[0088] 步骤208、将私有CRC校验值与文件CRC校验值进行比对,判断私有CRC校验值与文件CRC校验值是否相等。
[0089] 若私有CRC校验值与文件CRC校验值相等,执行步骤209;否则若私有CRC校验值与文件CRC校验值不相等,执行步骤212。
[0090] 步骤209、确定该升级文件通过校验,将升级数据打包为Ext4格式数据。
[0091] 此处若按照与分区空间一比一的方式进行烧写,则升级数据中system镜像文件可能有500兆,而userdata的数据也有1GB,因此此处采用将升级数据打包为Ext4格式数据,其实际大小较小。
[0092] 步骤210、将Ext4格式数据拆分为若干chunk数据包。
[0093] 其中,该若干chunk数据包包括待烧写数据包和可忽略数据包。
[0094] 具体的,每个chunk数据包均包括一个包头,其中包含有chunk数据包的类型,表示chunk数据包是否携带有待烧写数据。其中一种chunk数据包的类型为CHUNK_TYPE_RAW类型,表示chunk数据包有待烧写数据;另一种chunk数据包的类型为CHUNK_TYPE_DONT_CARE类型,表示该chunk没有携带数据,该数据包属于可忽略数据包,但是它携带了需要忽略的长度,表示烧写时需要跳过指定的长度不进行烧写。
[0095] 步骤211、将待烧写数据包烧写入Flash分区,并不对可忽略数据包进行烧写。之后,继续执行步骤213。
[0096] 步骤212、确定升级文件未通过校验,且升级文件被篡改。
[0097] 步骤213、判断安卓机顶盒的系统升级是否成功。若安卓机顶盒的系统升级成功,执行步骤214。否则,若安卓机顶盒的系统升级失败,执行步骤215。
[0098] 具体的判断安卓机顶盒的系统升级是否成功的方式可以是确定将待烧写数据包烧写到Flash分区是否成功来判断。
[0099] 步骤214、向安卓机顶盒的状态指示电路发送一第二指示信号。
[0100] 当状态指示电路接收到第二指示信号时,该状态指示电路将控制发光二极管发出红光和绿光间隔闪烁,间隔时间可以为1.5秒。
[0101] 步骤215、向安卓机顶盒的状态指示电路发送一第三指示信号。
[0102] 当状态指示电路接收到第三指示信号时,该状态指示电路将控制发光二极管发出红光和绿光快速间隔闪烁,例如绿灯亮30ms,红灯亮200ms,依次交替闪烁,以提示安卓机顶盒升级失败。
[0103] 通过状态指示电路的发光二极管可以直观简单的指示安卓机顶盒的升级是否成功。
[0104] 本发明实施例提供的安卓机顶盒的系统升级方法,需要通过私有协议来解析升级文件,得到升级数据,并且需要通过一私有密钥对升级文件进行校验,确保了安卓机顶盒的系统升级的安全性。避免了当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。
[0105] 对应于上述安卓机顶盒的系统升级方法,如图5所示,本发明实施例还提供一种安卓机顶盒的系统升级装置,包括:
[0106] 启动单元31,可以启动安卓机顶盒并进入boot启动菜单。
[0107] 升级文件判断单元32,可以判断安卓机顶盒中是否有USB闪存盘升级文件。
[0108] 升级文件读取单元33,可以在安卓机顶盒中有升级文件时,将升级文件读取到安卓机顶盒的内存中。
[0109] 升级数据获取单元34,可以通过一预先设置的私有协议对升级文件进行解析,获取升级数据。
[0110] 校验单元35,可以通过一私有密钥对升级文件进行校验,确定升级文件是否通过校验。
[0111] 升级数据写入单元36,可以在升级文件通过校验时,将升级文件中的升级数据写入安卓机顶盒系统中的Flash分区中。
[0112] 具体的,该升级文件读取单元33所读取的升级文件包括文件头以及模块数据;文件头包括文件大小、文件CRC校验值、文件的私有标签值;模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的升级数据。
[0113] 具体的,如图6所示,该校验单元35,包括:
[0114] 校验值确定模块351,可以根据私有密钥,确定一私有CRC校验值。
[0115] 比对模块352,可以将私有CRC校验值与文件CRC校验值进行比对,判断私有CRC校验值与文件CRC校验值是否相等。
[0116] 第一确定模块353,可以在私有CRC校验值与文件CRC校验值相等时,确定升级文件通过校验。
[0117] 第二确定模块354,可以在私有CRC校验值与文件CRC校验值不相等时,确定升级文件未通过校验,且升级文件被篡改。
[0118] 具体的,如图6所示,该升级数据写入单元36,包括:
[0119] 打包模块361,可以将升级数据打包为Ext4格式数据。
[0120] 拆分模块362,可以将Ext4格式数据拆分为若干chunk数据包;其中,若干chunk数据包包括待烧写数据包和可忽略数据包。
[0121] 写入模块363,可以将待烧写数据包烧写入Flash分区,并不对可忽略数据包进行烧写。
[0122] 此外,如图6所示,该安卓机顶盒的系统升级装置,还可以包括:
[0123] 内存整理单元37,可以将安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
[0124] 具体的,升级文件读取单元33,还可以将升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号。
[0125] 具体的,如图6所示,该安卓机顶盒的系统升级装置,还可以包括:
[0126] 升级结果判断单元38,可以判断安卓机顶盒的系统升级是否成功。
[0127] 指示信号发送单元39,可以在安卓机顶盒的系统升级成功时,向安卓机顶盒的状态指示电路发送一第二指示信号;在安卓机顶盒的系统升级失败时,向安卓机顶盒的状态指示电路发送一第三指示信号。
[0128] 值得说明的是本发明实施例提供的安卓机顶盒的系统升级装置的具体实现方式可以参见上述图1和图2对应的方法实施例,此处不再赘述。
[0129] 本发明实施例提供的安卓机顶盒的系统升级装置,能够通过私有协议来解析升级文件,得到升级数据,并且需要通过一私有密钥对升级文件进行校验,确保了安卓机顶盒的系统升级的安全性。避免了当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。
[0130] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0131] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0132] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0133] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0134] 本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈