CN104581397B - 安卓机顶盒的系统升级方法及装置 - Google Patents
安卓机顶盒的系统升级方法及装置 Download PDFInfo
- Publication number
- CN104581397B CN104581397B CN201410836309.4A CN201410836309A CN104581397B CN 104581397 B CN104581397 B CN 104581397B CN 201410836309 A CN201410836309 A CN 201410836309A CN 104581397 B CN104581397 B CN 104581397B
- Authority
- CN
- China
- Prior art keywords
- top box
- set top
- file
- android set
- upgrade
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种安卓机顶盒的系统升级方法及装置,涉及安卓机顶盒视频服务技术领域,方法包括:启动安卓机顶盒并进入boot启动菜单;判断所述安卓机顶盒中是否有USB闪存盘升级文件;若所述安卓机顶盒中有所述升级文件,将所述升级文件读取到安卓机顶盒的内存中;通过一预先设置的私有协议对所述升级文件进行解析,获取升级数据;通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验;若所述升级文件通过校验,将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中。本发明能够解决当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。
Description
技术领域
本发明涉及安卓机顶盒视频服务技术领域,尤其涉及一种安卓机顶盒的系统升级方法及装置。
背景技术
随着网络技术的日益发展,消费者对从网络获取高画质的视频资源等信息的需求也越来越大。目前,很多家庭和企业等用户都设置有安卓机顶盒。安卓机顶盒是具有全开放式平台,搭载了安卓操作系统,可以由用户自行安装和卸载软件、游戏等第三方服务商提供的程序,通过此类程序来不断对电视的功能进行扩充,并可以通过网线、无线网络来实现上网冲浪的一种机顶盒。安卓机顶盒具有上网以及高清视频等功能。
当前的一种安卓机顶盒DVB+OTT所应用的即为安卓系统,在其升级时,一般应用的是“Recovery”升级模式。其过程是:在安卓机顶盒开机时进入启动菜单boot,从而进入一Linux系统中,通过读取USB闪存盘中的ZIP格式的升级包来进行升级,这种升级方式属于安卓原生的升级模式。
然而,当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差。可见当前的安卓机顶盒的升级的安全性较低。
发明内容
本发明实施例提供一种安卓机顶盒的系统升级方法及装置,以解决现有技术中安卓机顶盒的升级的安全性较低的问题。
为了达到上述目的,本发明采用如下技术方案:
一种安卓机顶盒的系统升级方法,包括:
启动安卓机顶盒并进入boot启动菜单;
判断所述安卓机顶盒中是否有USB闪存盘升级文件;
若所述安卓机顶盒中有所述升级文件,将所述升级文件读取到安卓机顶盒的内存中;
通过一预先设置的私有协议对所述升级文件进行解析,获取升级数据;
通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验;
若所述升级文件通过校验,将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中。
具体的,所述升级文件包括文件头以及模块数据;所述文件头包括文件大小、文件CRC校验值、文件的私有标签值;所述模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的所述升级数据。
具体的,所述通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验,包括:
根据所述私有密钥,确定一私有CRC校验值;
将所述私有CRC校验值与所述文件CRC校验值进行比对,判断所述私有CRC校验值与所述文件CRC校验值是否相等;
若所述私有CRC校验值与所述文件CRC校验值相等,确定所述升级文件通过校验;
若所述私有CRC校验值与所述文件CRC校验值不相等,确定所述升级文件未通过校验,且升级文件被篡改。
具体的,所述将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中,包括:
将所述升级数据打包为Ext4格式数据;
将所述Ext4格式数据拆分为若干chunk数据包;其中,所述若干chunk数据包包括待烧写数据包和可忽略数据包;
将所述待烧写数据包烧写入所述Flash分区,并不对所述可忽略数据包进行烧写。
此外,在将所述升级文件读取到安卓机顶盒的内存中之前,包括:
将所述安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
另外,所述将所述升级文件读取到安卓机顶盒的内存中,包括:
将所述升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号。
此外,在将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中之后,包括:
判断安卓机顶盒的系统升级是否成功;
若所述安卓机顶盒的系统升级成功,向安卓机顶盒的状态指示电路发送一第二指示信号;
若所述安卓机顶盒的系统升级失败,向安卓机顶盒的状态指示电路发送一第三指示信号。
一种安卓机顶盒的系统升级装置,包括:
启动单元,用于启动安卓机顶盒并进入boot启动菜单;
升级文件判断单元,用于判断所述安卓机顶盒中是否有USB闪存盘升级文件;
升级文件读取单元,用于在所述安卓机顶盒中有所述升级文件时,将所述升级文件读取到安卓机顶盒的内存中;
升级数据获取单元,用于通过一预先设置的私有协议对所述升级文件进行解析,获取升级数据;
校验单元,用于通过一私有密钥对所述升级文件进行校验,确定所述升级文件是否通过校验;
升级数据写入单元,用于在所述升级文件通过校验时,将所述升级文件中的所述升级数据写入安卓机顶盒系统中的Flash分区中。
具体的,所述升级文件读取单元所读取的升级文件包括文件头以及模块数据;所述文件头包括文件大小、文件CRC校验值、文件的私有标签值;所述模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的所述升级数据。
具体的,所述校验单元,包括:
校验值确定模块,用于根据所述私有密钥,确定一私有CRC校验值;
比对模块,用于将所述私有CRC校验值与所述文件CRC校验值进行比对,判断所述私有CRC校验值与所述文件CRC校验值是否相等;
第一确定模块,用于在所述私有CRC校验值与所述文件CRC校验值相等时,确定所述升级文件通过校验;
第二确定模块,用于在所述私有CRC校验值与所述文件CRC校验值不相等时,确定所述升级文件未通过校验,且升级文件被篡改。
具体的,所述升级数据写入单元,包括:
打包模块,用于将所述升级数据打包为Ext4格式数据;
拆分模块,用于将所述Ext4格式数据拆分为若干chunk数据包;其中,所述若干chunk数据包包括待烧写数据包和可忽略数据包;
写入模块,用于将所述待烧写数据包烧写入所述Flash分区,并不对所述可忽略数据包进行烧写。
此外,该安卓机顶盒的系统升级装置,还包括:
内存整理单元,用于将所述安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
具体的,所述升级文件读取单元,还用于:
将所述升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号。
具体的,该安卓机顶盒的系统升级装置,还包括:
升级结果判断单元,用于判断安卓机顶盒的系统升级是否成功;
指示信号发送单元,用于在所述安卓机顶盒的系统升级成功时,向安卓机顶盒的状态指示电路发送一第二指示信号;在所述安卓机顶盒的系统升级失败时,向安卓机顶盒的状态指示电路发送一第三指示信号。
本发明实施例提供的安卓机顶盒的系统升级方法及装置,能够通过私有协议来解析升级文件,得到升级数据,并且需要通过一私有密钥对所述升级文件进行校验,确保了安卓机顶盒的系统升级的安全性。避免了当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的安卓机顶盒的系统升级方法的流程图一;
图2为本发明实施例提供的安卓机顶盒的系统升级方法的流程图二;
图3为本发明实施例中的系统运行示意图;
图4为本发明实施例提供的升级文件的结构示意图;
图5为本发明实施例还提供的安卓机顶盒的系统升级装置的结构示意图一;
图6为本发明实施例还提供的安卓机顶盒的系统升级装置的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供的安卓机顶盒的系统升级方法,包括:
步骤101、启动安卓机顶盒并进入boot启动菜单。
步骤102、判断安卓机顶盒中是否有USB闪存盘升级文件。
步骤103、若安卓机顶盒中有升级文件,将升级文件读取到安卓机顶盒的内存中。
步骤104、通过一预先设置的私有协议对升级文件进行解析,获取升级数据。
步骤105、通过一私有密钥对升级文件进行校验,确定升级文件是否通过校验。
步骤106、若该升级文件通过校验,将升级文件中的升级数据写入安卓机顶盒系统中的Flash分区中。
值得说明的是,本发明实施例的执行主体为一种安卓机顶盒的系统升级装置,可以设置在安卓机顶盒中,但不仅局限于此。
本发明实施例提供的安卓机顶盒的系统升级方法,需要通过私有协议来解析升级文件,得到升级数据,并且需要通过一私有密钥对升级文件进行校验,确保了安卓机顶盒的系统升级的安全性。避免了当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。
其中,上述的升级文件包括文件头以及模块数据;文件头包括文件大小、文件CRC校验值、文件的私有标签值;该模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的升级数据。
为了使本领域的技术人员更好的了解本发明,下面列举一个更为具体的实施例,如图2所示,本发明实施例提供的安卓机顶盒的系统升级方法,包括:
步骤201、启动安卓机顶盒并进入boot启动菜单。
步骤202、判断安卓机顶盒中是否有USB闪存盘升级文件。若安卓机顶盒中没有USB闪存盘升级文件,执行步骤203。否则,若安卓机顶盒中有USB闪存盘升级文件,执行步骤204。
其中,如图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。各模块数据可以单独存在,不依赖于其他模块,这样可以根据需求任意进行组合。
对于安卓机顶盒的系统升级,是将需要更新的系统镜像文件,更新和写入安卓机顶盒中的Flash分区中,该Flash分区属于Flash存储介质中,例如EMMC-Flash,在安卓机顶盒启动后可以从Flash存储介质中加载升级数据,以此来达到系统的更新换代的目的,如图3指示的运行过程,其中Boot为一启动菜单,在EMMC-Flash存储介质中,Kernel为操作系统内核数据存储分区,System为系统数据存储分区,Userdata为用户数据存储分区。升级数据中的各部分数据要分别存储到EMMC-Flash存储介质中的各存储分区。
步骤203、不对安卓机顶盒的系统进行升级,直接启动安卓机顶盒的系统。
在启动安卓机顶盒的系统之后,即可以通过该安卓机顶盒进行电视节目播放,安卓机顶盒服务浏览等。
步骤204、将安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
若后续需要将升级过程在boot中进行,由于boot中没有类似kernel的内存管理模块,而升级所需的镜像文件一般为470兆,因此此处必须有足够的内存。Boot中不存在虚拟内存,所有的操作都是基于实际物理内存完成,处理过程简单。Boot中的内存使用时首先要进行有效的划分,例如隔离程序的栈内存空间,单独分配一个线性的连续堆内存空间出来。使用时从高到底,按顺序依次进行使用,释放时向相反方向进行回收。内存使用完以后需要及时释放,防止内存的饱和。此外CPU取址时,可以按照4字节对齐来取址,所以接口设计需要保证划分的内存大小必须是4字节的整数倍,避免出现内存泄漏问题。为了不使内存超过空间限制,实际的镜像文件数据仅能使用一份内存拷贝,在运行内存时可以利用指针来指向该数据的内存空间,灵活利用指针来进行内存取址,以此来达到节省内存的目的。
步骤205、将升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号。
其中,该状态指示电路可以包括一发光二极管,该发光二极管可以由一总线扩展器(General Purpose Input Output,简称GPIO)来控制,在高电平时显示红色,在低电平时显示绿色。在接收到第一指示信号后,该发光二极管可以发出常亮绿光,以指示用户进行安卓机顶盒的系统升级,在升级过程中,该发光二极管可以发出常亮的红光。
步骤206、通过一预先设置的私有协议对升级文件进行解析,获取升级数据。
步骤207、根据私有密钥,确定一私有CRC校验值。
步骤208、将私有CRC校验值与文件CRC校验值进行比对,判断私有CRC校验值与文件CRC校验值是否相等。
若私有CRC校验值与文件CRC校验值相等,执行步骤209;否则若私有CRC校验值与文件CRC校验值不相等,执行步骤212。
步骤209、确定该升级文件通过校验,将升级数据打包为Ext4格式数据。
此处若按照与分区空间一比一的方式进行烧写,则升级数据中system镜像文件可能有500兆,而userdata的数据也有1GB,因此此处采用将升级数据打包为Ext4格式数据,其实际大小较小。
步骤210、将Ext4格式数据拆分为若干chunk数据包。
其中,该若干chunk数据包包括待烧写数据包和可忽略数据包。
具体的,每个chunk数据包均包括一个包头,其中包含有chunk数据包的类型,表示chunk数据包是否携带有待烧写数据。其中一种chunk数据包的类型为CHUNK_TYPE_RAW类型,表示chunk数据包有待烧写数据;另一种chunk数据包的类型为CHUNK_TYPE_DONT_CARE类型,表示该chunk没有携带数据,该数据包属于可忽略数据包,但是它携带了需要忽略的长度,表示烧写时需要跳过指定的长度不进行烧写。
步骤211、将待烧写数据包烧写入Flash分区,并不对可忽略数据包进行烧写。之后,继续执行步骤213。
步骤212、确定升级文件未通过校验,且升级文件被篡改。
步骤213、判断安卓机顶盒的系统升级是否成功。若安卓机顶盒的系统升级成功,执行步骤214。否则,若安卓机顶盒的系统升级失败,执行步骤215。
具体的判断安卓机顶盒的系统升级是否成功的方式可以是确定将待烧写数据包烧写到Flash分区是否成功来判断。
步骤214、向安卓机顶盒的状态指示电路发送一第二指示信号。
当状态指示电路接收到第二指示信号时,该状态指示电路将控制发光二极管发出红光和绿光间隔闪烁,间隔时间可以为1.5秒。
步骤215、向安卓机顶盒的状态指示电路发送一第三指示信号。
当状态指示电路接收到第三指示信号时,该状态指示电路将控制发光二极管发出红光和绿光快速间隔闪烁,例如绿灯亮30ms,红灯亮200ms,依次交替闪烁,以提示安卓机顶盒升级失败。
通过状态指示电路的发光二极管可以直观简单的指示安卓机顶盒的升级是否成功。
本发明实施例提供的安卓机顶盒的系统升级方法,需要通过私有协议来解析升级文件,得到升级数据,并且需要通过一私有密钥对升级文件进行校验,确保了安卓机顶盒的系统升级的安全性。避免了当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。
对应于上述安卓机顶盒的系统升级方法,如图5所示,本发明实施例还提供一种安卓机顶盒的系统升级装置,包括:
启动单元31,可以启动安卓机顶盒并进入boot启动菜单。
升级文件判断单元32,可以判断安卓机顶盒中是否有USB闪存盘升级文件。
升级文件读取单元33,可以在安卓机顶盒中有升级文件时,将升级文件读取到安卓机顶盒的内存中。
升级数据获取单元34,可以通过一预先设置的私有协议对升级文件进行解析,获取升级数据。
校验单元35,可以通过一私有密钥对升级文件进行校验,确定升级文件是否通过校验。
升级数据写入单元36,可以在升级文件通过校验时,将升级文件中的升级数据写入安卓机顶盒系统中的Flash分区中。
具体的,该升级文件读取单元33所读取的升级文件包括文件头以及模块数据;文件头包括文件大小、文件CRC校验值、文件的私有标签值;模块数据包括各模块数据大小、模块类型、模块的CRC校验值以及各模块的升级数据。
具体的,如图6所示,该校验单元35,包括:
校验值确定模块351,可以根据私有密钥,确定一私有CRC校验值。
比对模块352,可以将私有CRC校验值与文件CRC校验值进行比对,判断私有CRC校验值与文件CRC校验值是否相等。
第一确定模块353,可以在私有CRC校验值与文件CRC校验值相等时,确定升级文件通过校验。
第二确定模块354,可以在私有CRC校验值与文件CRC校验值不相等时,确定升级文件未通过校验,且升级文件被篡改。
具体的,如图6所示,该升级数据写入单元36,包括:
打包模块361,可以将升级数据打包为Ext4格式数据。
拆分模块362,可以将Ext4格式数据拆分为若干chunk数据包;其中,若干chunk数据包包括待烧写数据包和可忽略数据包。
写入模块363,可以将待烧写数据包烧写入Flash分区,并不对可忽略数据包进行烧写。
此外,如图6所示,该安卓机顶盒的系统升级装置,还可以包括:
内存整理单元37,可以将安卓机顶盒的内存进行整理,释放安卓机顶盒的内存。
具体的,升级文件读取单元33,还可以将升级文件读取到安卓机顶盒的内存中,并向安卓机顶盒的状态指示电路发送一第一指示信号。
具体的,如图6所示,该安卓机顶盒的系统升级装置,还可以包括:
升级结果判断单元38,可以判断安卓机顶盒的系统升级是否成功。
指示信号发送单元39,可以在安卓机顶盒的系统升级成功时,向安卓机顶盒的状态指示电路发送一第二指示信号;在安卓机顶盒的系统升级失败时,向安卓机顶盒的状态指示电路发送一第三指示信号。
值得说明的是本发明实施例提供的安卓机顶盒的系统升级装置的具体实现方式可以参见上述图1和图2对应的方法实施例,此处不再赘述。
本发明实施例提供的安卓机顶盒的系统升级装置,能够通过私有协议来解析升级文件,得到升级数据,并且需要通过一私有密钥对升级文件进行校验,确保了安卓机顶盒的系统升级的安全性。避免了当前安卓机顶盒的升级方式容易被越过安全校验而被随意升级,且ZIP格式的压缩包中的文件也可以被任意读取,安全性较差的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
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所述的安卓机顶盒的系统升级装置,其特征在于,还包括:
升级结果判断单元,用于判断安卓机顶盒的系统升级是否成功;
指示信号发送单元,用于在所述安卓机顶盒的系统升级成功时,向安卓机顶盒的状态指示电路发送一第二指示信号;在所述安卓机顶盒的系统升级失败时,向安卓机顶盒的状态指示电路发送一第三指示信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410836309.4A CN104581397B (zh) | 2014-12-29 | 2014-12-29 | 安卓机顶盒的系统升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410836309.4A CN104581397B (zh) | 2014-12-29 | 2014-12-29 | 安卓机顶盒的系统升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104581397A CN104581397A (zh) | 2015-04-29 |
CN104581397B true CN104581397B (zh) | 2018-04-27 |
Family
ID=53096440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410836309.4A Active CN104581397B (zh) | 2014-12-29 | 2014-12-29 | 安卓机顶盒的系统升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104581397B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376646B (zh) * | 2015-11-18 | 2019-02-12 | 深圳锋芒信息技术有限公司 | 一种机顶盒升级程序配置方法及装置 |
CN105451042B (zh) * | 2015-12-14 | 2018-10-23 | 福建新大陆通信科技股份有限公司 | 一种基于机顶盒的文件升级系统及方法 |
CN105955781B (zh) * | 2016-05-09 | 2024-03-12 | 京东方科技集团股份有限公司 | 一种emmc升级方法及升级装置和终端 |
CN106126297A (zh) * | 2016-06-30 | 2016-11-16 | 西安诺瓦电子科技有限公司 | 基于Android操作系统的系统升级方法 |
CN107562434A (zh) * | 2016-06-30 | 2018-01-09 | 中兴通讯股份有限公司 | 升级文件的制作方法、升级方法、装置及设备 |
CN107613286A (zh) * | 2017-08-30 | 2018-01-19 | 深圳市芯智科技有限公司 | 一种用于避免重复测试机顶盒的文件监测方法 |
CN108012170A (zh) * | 2017-12-05 | 2018-05-08 | 晶晨半导体(上海)股份有限公司 | 一种遥控器键值升级系统及方法 |
CN108322825A (zh) * | 2018-02-28 | 2018-07-24 | 北京四达时代软件技术股份有限公司 | 一种差分升级方法及系统 |
CN109375937A (zh) * | 2018-10-30 | 2019-02-22 | Oppo广东移动通信有限公司 | 系统升级方法、装置、终端设备及存储介质 |
CN109857422A (zh) * | 2018-12-17 | 2019-06-07 | 航天信息股份有限公司 | U盘升级内核和文件系统的方法 |
CN112165651B (zh) * | 2020-09-24 | 2022-11-08 | 四川九州电子科技股份有限公司 | 一种实现Linux机顶盒在线升级为Android机顶盒的方法及系统 |
CN113656051A (zh) * | 2021-04-27 | 2021-11-16 | 苏州佳世达电通有限公司 | 一种安卓系统设备自动升级的方法 |
CN116594661B (zh) * | 2023-07-19 | 2023-09-19 | 成都泰格微电子研究所有限责任公司 | 一种编译阶段确保固件与工程匹配的单片机升级方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769059B1 (en) * | 1999-12-17 | 2004-07-27 | Intel Corporation | System for updating computer's existing video BIOS without updating the whole computer's system BIOS |
CN101409813A (zh) * | 2007-10-08 | 2009-04-15 | 陈诚 | 防止和识别图像篡改的图像编码方法 |
CN101894030A (zh) * | 2010-06-29 | 2010-11-24 | 福建新大陆通信科技股份有限公司 | 一种基于电视机顶盒usb接口的数据防盗用升级方法 |
CN101924607A (zh) * | 2010-08-27 | 2010-12-22 | 华为终端有限公司 | 基于固件空中传输技术的固件处理方法、装置及系统 |
CN102567061A (zh) * | 2011-12-30 | 2012-07-11 | 深圳Tcl新技术有限公司 | 电视机与遥控器双向升级的方法和系统 |
CN103049290A (zh) * | 2012-12-11 | 2013-04-17 | 郑州威科姆科技股份有限公司 | 机顶盒软件通过usb自动更新安装的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100588202C (zh) * | 2007-04-25 | 2010-02-03 | 烽火通信科技股份有限公司 | 一种基于简单网络管理协议实现错误信息返回的方法 |
CN101739779B (zh) * | 2008-11-21 | 2013-04-17 | 康佳集团股份有限公司 | 指示数字信号强弱的方法和设备 |
CN101800840B (zh) * | 2010-05-25 | 2011-08-10 | 成都东银信息技术股份有限公司 | 一种机顶盒升级方法 |
CN103414924A (zh) * | 2013-08-30 | 2013-11-27 | 丁潮汛 | 装备室内环境传感器的电视机顶盒 |
CN103686301A (zh) * | 2013-12-06 | 2014-03-26 | 康佳集团股份有限公司 | 一种通过移动终端调节机顶盒输出亮度的方法和系统 |
CN103997683B (zh) * | 2014-05-06 | 2017-03-22 | 四川长虹电器股份有限公司 | 利用机顶盒平台实现可定制Flash烧录器的系统及其方法 |
CN104023253A (zh) * | 2014-06-24 | 2014-09-03 | 广州高清视信数码科技股份有限公司 | 一种用于单向机顶盒实行双向改造的方法和系统 |
-
2014
- 2014-12-29 CN CN201410836309.4A patent/CN104581397B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769059B1 (en) * | 1999-12-17 | 2004-07-27 | Intel Corporation | System for updating computer's existing video BIOS without updating the whole computer's system BIOS |
CN101409813A (zh) * | 2007-10-08 | 2009-04-15 | 陈诚 | 防止和识别图像篡改的图像编码方法 |
CN101894030A (zh) * | 2010-06-29 | 2010-11-24 | 福建新大陆通信科技股份有限公司 | 一种基于电视机顶盒usb接口的数据防盗用升级方法 |
CN101924607A (zh) * | 2010-08-27 | 2010-12-22 | 华为终端有限公司 | 基于固件空中传输技术的固件处理方法、装置及系统 |
CN102567061A (zh) * | 2011-12-30 | 2012-07-11 | 深圳Tcl新技术有限公司 | 电视机与遥控器双向升级的方法和系统 |
CN103049290A (zh) * | 2012-12-11 | 2013-04-17 | 郑州威科姆科技股份有限公司 | 机顶盒软件通过usb自动更新安装的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104581397A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104581397B (zh) | 安卓机顶盒的系统升级方法及装置 | |
CN102650947B (zh) | 一种Android手持设备连续增量的空中升级方法 | |
CN104133709B (zh) | 嵌入式系统的升级方法和装置 | |
CN106293507B (zh) | 具有外部存储器的电子设备及操作电子设备的方法 | |
US8874892B1 (en) | Assessing BIOS information prior to reversion | |
US10127057B2 (en) | Method and apparatus for dynamically implementing application function | |
CN102622253B (zh) | 一种单片机及其在线升级的方法 | |
CN102945176B (zh) | 终端设备开机、升级方法和设备 | |
CN102419713B (zh) | 基于nandflash的机顶盒的软件升级方法 | |
CN103106092A (zh) | 终端设备中系统软件升级方法和装置 | |
US20080052702A1 (en) | Firmware update method and system utilizing digital broadcasting system | |
CN105159770B (zh) | 一种进程的管理方法及装置 | |
US9891862B2 (en) | Forensic data acquisition apparatus and method for guaranteeing integrity of flash memory in smart device | |
CN109358882A (zh) | 一种电视终端进行固件升级的方法及装置 | |
CN105264898B (zh) | 软件升级方法、装置及设备 | |
WO2016062146A1 (zh) | 序列号信息的更新方法、装置及终端 | |
CN103488501A (zh) | 光网络终端设备及其系统软件升级方法 | |
CN115658160A (zh) | 基于多核异构soc的多操作系统升级方法、装置及系统 | |
US20130080751A1 (en) | Method and device for updating bios program for computer system | |
CN109889877A (zh) | 客车多屏显示控制方法及装置 | |
CN109358894A (zh) | 一种支持DVB的Android设备升级方法及系统 | |
CN105786636A (zh) | 一种系统修复方法及装置 | |
CN111191196A (zh) | 嵌入式程序运行方法、装置、计算机设备及存储介质 | |
CN107678737B (zh) | 业务处理方法、装置及自助终端设备 | |
CN103455750A (zh) | 一种嵌入式设备的高安验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160118 Address after: 100085, No. three, No. 002, Section 1, building No. 3, 3rd floor, information industry base, Beijing, Haidian District Applicant after: Star Software Technology Co.,Ltd. Address before: 100085, No. three, No. 305, Section 1, building No. 3, 3rd floor, information industry base, Beijing, Haidian District Applicant before: STAR TIMES COMMUNICATION NETWORK TECHNOLOGY CO., LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |