CN108848418B - 机顶盒集中升级方法 - Google Patents
机顶盒集中升级方法 Download PDFInfo
- Publication number
- CN108848418B CN108848418B CN201810662318.4A CN201810662318A CN108848418B CN 108848418 B CN108848418 B CN 108848418B CN 201810662318 A CN201810662318 A CN 201810662318A CN 108848418 B CN108848418 B CN 108848418B
- Authority
- CN
- China
- Prior art keywords
- upgrade
- file
- top box
- server
- upgrading
- 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
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及机顶盒技术领域,机顶盒批量升级过程中升级过程信息无法得知的问题,提出一种机顶盒集中升级方法,包括:生成升级配置文件,升级配置文件包括生产参数文件和升级包信息引导文件;建立包括错误状态字段的升级信息表;服务器与机顶盒之间建立连接,服务器获取相关参数并判断该相关参数是否符合升级规则,如不符合,服务器将该错误状态和相关参数记录至升级信息表中,发送错误状态给机顶盒,升级结束;机顶盒向服务器申请下载升级包信息引导文件,根据升级包信息引导文件下载对应的升级文件对机顶盒进行升级,同步将升级过程信息记录至升级信息表中。本发明适用于机顶盒的批量升级。
Description
技术领域
本发明涉及机顶盒技术领域,特别涉及机顶盒内的软件技术领域。
背景技术
随着互联网时代的到来,越来越多的机顶盒支持网络功能,其中支持wifi功能的机顶盒也越来越常见,而随着软件功能的增多,机顶盒软件的升级也越来越频繁,那么在机顶盒未出厂前,进行大规模升级的需求也日益增多。目前升级的常用方法之一是使用U盘升级,U盘升级需要工人进行单台升级,虽然升级方法可靠,但是容易造成U盘的损坏,若多机顶盒进行多次升级也会对机顶盒的相应接口有所磨损,同时此方法需要耗费大量的人力;其次是使用网络的方式升级,但这种方式目前大多都比较常规,由服务器直接发送升级数据,机顶盒开机检测到升级数据后直接升级;这种方式是否升级成功最终还是需要人工来确认,且缺乏直观的升级结果呈现,无法提供精确的升级成功率,无法快速获知哪些机器升级失败,在哪个步骤升级失败。
发明内容
本发明所要解决的技术问题是:克服上述升级过程信息无法得知及升级结果模糊的问题,提出一种机顶盒集中升级方法。
本发明解决上述技术问题,采用的技术方案是:
机顶盒批量升级方法,包括:
S1、生成升级配置文件,所述升级配置文件包括用于存放升级规则判断信息的生产参数文件和用于存放升级文件信息的升级包信息引导文件;建立用于存放升级过程信息的升级信息表,所述升级信息表中的字段包括错误状态;
S2、服务器与机顶盒之间建立连接,服务器获取机顶盒相关参数并判断相关参数是否符合升级规则,如符合,进入步骤S3;否则,服务器将不符合升级规则的情况作为错误状态,将该错误状态和相关参数记录至升级信息表中,发送所述错误状态给机顶盒,升级结束;
S3、机顶盒向服务器申请下载升级包信息引导文件,根据升级包信息引导文件下载对应的升级文件对机顶盒进行升级,同步将升级过程信息记录至升级信息表中。
为保证需要升级的机顶盒得到升级,而不需要升级的机顶盒无须升级,作为上述机顶盒批量升级方法的优选,所述生产参数文件包括硬件版本,所述机顶盒的相关参数包括机顶盒的硬件版本,所述步骤S2中的升级规则包括比较机顶盒的硬件版本与所述升级配置文件中的硬件版本是否一致,如不一致,则服务器设置升级信息表中相应机顶盒的错误状态为硬件版本错误;
和/或,所述生产参数文件包括软件版本判断模式、软件目的版本和软件版本差值,所述软件版本判断模式为不判断软件版本直接升级或机顶盒的待升级软件版本加软件版本差值等于软件目的版本或机顶盒的软件版本减去软件版本差值等于软件目的版本,所述机顶盒的相关参数包括机顶盒的软件版本,所述步骤S2中的升级规则包括判断机顶盒的软件版本是否符合软件版本判断模式中的判断规则,若不符合,则服务器设置升级信息表中相应机顶盒的错误状态为软件版本错误;
和/或,所述生产参数文件包括开始序列号和结束序列号;所述机顶盒的相关参数包括序列号;所述步骤S2中的升级规则包括判断机顶盒的序列号是否位于所述开始序列号和结束序列号之间,若否,则服务器设置升级信息表中相应机顶盒的的错误状态为序列号错误。
为保证设计多个升级文件的升级失败后能直接从未升级成功的升级文件处进行升级,同时能保证多个升级文件能正常升级的情况下,作为上述机顶盒批量升级方法的改进,所述步骤S1包括:机顶盒建立用于记录机顶盒升级过程信息的升级状态文件和用于存放对应机顶盒升级文件信息的升级文件列表,所述升级状态文件包括最后一个已请求文件的值和升级结果的值;所述升级信息表中的字段包括升级结果;
所述步骤S3包括:
S31、机顶盒向服务器申请下载升级包信息引导文件,解析所述升级包信息引导文件得到对应机顶盒的升级文件信息记录至升级文件列表,该升级文件列表中的字段包括升级文件在服务器的源文件路径、升级文件名称和升级文件在机顶盒内的目标路径;
S32、机顶盒判断所述升级状态文件中的最后一个已请求文件的值与升级文件列表中任一记录的的升级文件在服务器的源文件路径字段加升级文件名称的字段值是否一致,若一致,进入步骤S33,否则,机顶盒向服务器申请下载升级文件列表中的第一个升级文件,进入步骤S34。
S33、机顶盒判断升级状态文件中的升级结果是否为升级失败,如为升级失败,机顶盒向服务器申请下载升级文件列表中与最后一个已请求文件信息相一致的升级文件,否则,机顶盒向服务器申请下载升级文件列表中与最后一个已请求文件信息相一致升级文件的下一个升级文件。
S34、机顶盒设置升级状态文件中最后一个已请求文件的值为下载得到的升级文件在服务器的源文件路径加上升级文件名称,将该升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级,若写入成功,则进入步骤S35,否则,设置升级状态文件中的升级结果为升级失败,机顶盒重启进入步骤S2。
S35、判断是否此升级文件为升级文件列表中的最后一个升级文件,如是,代表升级成功,发送升级成功消息给服务器,服务器设置升级信息表中对应记录的升级结果为升级成功,机顶盒删除升级状态文件和升级文件列表,升级结束,否则,设置升级状态文件中的升级结果为升级进行中,进入步骤S33。
为保证升级过程中的升级文件写入失败信息能得以记录方便信息的查询,作为上述机顶盒批量升级方法的改进,所述步骤S34将该升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级之后,还包括:如果写入失败则再次写入升级文件,若超过预定写入次数限制仍未成功,则机顶盒设置升级状态文件中的升级结果为升级失败,发送写入失败信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为机顶盒写入失败,机顶盒重启进入步骤S2。
为保证升级包信息引导文件的正确性,作为上述机顶盒批量升级方法的改进,所述升级包信息引导文件包括升级包信息引导文件CRC校验值;所述步骤S31机顶盒向服务器申请下载升级包信息引导文件之后还包括:校验上述升级包信息引导文件CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送引导文件数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为引导文件数据校验错误,机顶盒重启进入步骤S2。
为保证单个区域升级文件描述子的正确性,作为上述机顶盒批量升级方法的改进,所述升级包信息引导文件包括至少一个单个区域升级文件描述子,所述单个区域升级文件描述子包括区域升级文件描述子CRC校验值;所述步骤S31机顶盒向服务器申请下载升级包信息引导文件之后还包括:校验上述区域升级文件描述子CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送区域升级文件描述子数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为区域升级文件描述子数据校验错误,机顶盒重启进入步骤S2。
为保证升级文件可实现分区模式和多文件模式进行升级以及升级文件的正确性,作为上述机顶盒批量升级方法的改进,所述单个区域升级文件描述子还包括区域序号、区域描述子长度、升级模式、分区ID、升级文件个数、每一个升级文件名称、对应的每一个升级文件的长度、对应的每一个升级文件内容的CRC校验值、对应的每一个升级文件在服务器的源文件路径和对应的每一个升级文件在机顶盒内的目标路径;所述升级模式包括分区模式和多文件模式,所述步骤S34将该升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级之前还包括校验对应升级文件内容的CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送升级文件内容数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为升级文件内容数据校验错误,机顶盒重启进入步骤S2。
为保证超时错误也能被服务器记录,作为上述机顶盒批量升级方法的改进,所述步骤S2和S3中,若机顶盒与服务器之间的通信超时,则设置升级状态文件中的升级结果为升级失败,发送相应类型的超时错误信息给服务器,服务器设置升级信息表中的错误状态为相应类型的超时错误及升级结果设置为升级失败,机顶盒重启进入步骤S2。
为保证机顶盒的升级次数得到控制,作为上述机顶盒批量升级方法的改进,所述升级信息表包括升级次数字段,此升级次数字段设置有预设初始值;当服务器接收到发送写入失败信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到引导文件数据校验错误信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到引导文件数据校验错误信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到区域升级文件描述子数据校验错误信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到升级文件内容数据校验错误信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到超时错误信息时,设置升级信息表中对应机顶盒的升级次数加1;所述生产参数文件包括升级次数限制值;所述步骤S2中的升级规则还包括判断升级次数是否小于等于升级次数限制值,若否,则服务器设置升级信息表中的错误状态为升级次数超出限制错误,升级结束。
为保证生产参数文件不被非法篡改,作为上述机顶盒批量升级方法的改进,所述生产参数文件包括生产参数CRC校验值,所述步骤S2之前还包括,服务器校验生产参数CRC校验值,若校验成功则进入步骤S2,否则退出升级流程。
本发明的有益效果是:
1)可正确的得到待升级的机顶盒,同时将不符合升级规则的机顶盒信息记录至服务器的升级信息表中,包括硬件版本错误、软件版本错误、序列号错误、相应步骤的超时错误和升级次数超出限制错误。
2)可将具体升级过程信息记录至服务器的升级信息表中,升级过程信息包括升级过程中的升级文件写入失败信息能得以记录方便信息的查询,包括机顶盒写入失败、引导文件数据校验错误、区域升级文件描述子数据校验错误、升级文件内容数据校验错误和相应步骤的超时错误。
3)可实现多个升级文件的依次正常升级;当多个升级文件的中某一个升级文件升级失败时,能直接从未升级成功的升级文件处进行升级。
4)可根据升级的需求定制升级模式,即分区模式或多文件模块,可适应多种类型区域的文件的更新。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。
本发明旨在克服机顶盒批量升级过程中升级过程信息无法得知及升级结果模糊的问题,提出一种机顶盒集中升级方法,包括:
S1、生成升级配置文件,所述升级配置文件包括用于存放升级规则判断信息的生产参数文件和用于存放升级文件信息的升级包信息引导文件;建立用于存放升级过程信息的升级信息表,所述升级信息表中的字段包括错误状态;
S2、服务器与机顶盒之间建立连接,服务器获取机顶盒相关参数并判断相关参数是否符合升级规则,如符合,进入步骤S3;否则,服务器将不符合升级规则的情况作为错误状态,将该错误状态和相关参数记录至升级信息表中,发送所述错误状态给机顶盒,升级结束;
S3、机顶盒向服务器申请下载升级包信息引导文件,根据升级包信息引导文件下载对应的升级文件对机顶盒进行升级,同步将升级过程信息记录至升级信息表中。
实施例
本发明提出的机顶盒批量升级方法,包括:
S1、生成升级配置文件,所述升级配置文件包括用于存放升级规则判断信息的生产参数文件和用于存放升级文件信息的升级包信息引导文件;建立用于存放升级过程信息的升级信息表,所述升级信息表中的字段包括错误状态。具体步骤包括:
S11、生成生产参数文件
该生产参数文件中的生产参数包括:生产参数文件标志、生产参数文件长度、硬件版本、软件目的版本、软件版本判断模式、软件版本差值、升级次数限制、升级总台数、开始序列号、结束序列号、总货架个数、货架A开始序列号、货架A结束序列号、货架B开始序列号、货架B结束序列号……货架N开始序列号、货架n结束序列号和生产参数CRC校验值。
其中,生产参数文件标志可为固定长度的字符串;生产参数文件长度为上述升级总台数到生产参数CRC校验值之间数据的长度;硬件版本为确定相同硬件版本的机顶盒进行升级;软件目的版本为预计机顶盒升级完成后的软件版本;软件版本判断模式分为三种即:1)不判断软件版本,直接升级,2)机顶盒的软件版本加上述软件版本差值等于上述软件目的版本,3)机顶盒的软件版本减去软件版本差值等于上述软件目的版本;开始序列号为需要升级的机顶盒的序列号的起始值;结束序列号为需要升级的机顶盒序列号的结束值;上述A、B、N均为货架编号,可采用其它编号代替,货架N开始序列号为编号N的货架存放的机顶盒序列号的起始值;货架N结束序列号为编号N的货架存放的机顶盒序列号的结束值,货架相关的参数主要用于通过机顶盒序列号所在货架号快速查找相应机顶盒;生产参数CRC校验值校验的区域为对从升级总台数到货架编号N存放的机顶盒对应的结束序列号之间的内容进行循环冗余校验计算所得的值。
可采用工具输入上述相应的数据后自动生成生产参数文件,并放到升级包根目录下。
S12、生成升级包信息引导文件
S121、生成单个区域升级文件描述子
该单个区域升级文件描述子包括:区域序号、区域描述子长度、升级模式、分区ID、升级文件个数、第1个升级文件名称、第1个升级文件的长度、第1个升级文件内容的CRC校验值、第1个升级文件在服务器的源文件路径、第1个升级文件在机顶盒内的目标路径、第2个升级文件名称、第2个升级文件的长度、第2个升级文件内容的CRC校验值、第2个升级文件在服务器的源文件路径、第2个升级文件在机顶盒内的目标路径……第m个升级文件名称、第m个升级文件的长度、第m个升级文件内容的CRC校验值、第m个升级文件在服务器的源文件路径、第m个升级文件在机顶盒内的目标路径和区域升级文件描述子CRC校验值。
其中,上述m为正整数对应升级文件个数;区域描述子长度为从上述升级模式到区域升级文件描述子CRC校验值之间数据的长度;升级模式可分为两种即分区模式和多文件模式,分区模式适用于引导程序区、kernel区及根文件系统区等粘度很强的分区,这些分区通常做成一个升级文件,多文件模式则只升级一个分区内的部分文件,在Linux及Android等系统中有的分区文件很多但只需要升级部分文件时可以使用该多文件模式;分区ID为机顶盒内的目标升级分区ID,即该单个区域升级文件描述子内的升级文件将升级到机顶盒的哪个分区;区域升级文件描述子CRC校验值为对从上述升级模式到第m个升级文件在机顶盒内的目标路径区域之间的内容进行循环冗余校验计算所得的值。
S122、生成升级包信息引导文件
该升级包信息引导文件包括:升级引导文件标志、升级包信息引导文件长度、升级区域个数x、第1个单个区域升级文件描述子、第2个单个区域升级文件描述子……第x个单个区域升级文件描述子和升级包信息引导文件CRC校验值。
其中,升级引导文件标志为固定长度的字符串,升级包信息引导文件长度为从升级区域个数x到升级包信息引导文件CRC校验位之间数据的长度,升级包信息引导文件CRC校验值为对从上述升级区域个数x到第x个单个区域升级文件描述子之间的内容进行循环冗余校验计算所得的值。
单个区域升级文件描述子中的区域序号可对应为1~x,其中,x为正整数且代表上述升级区域的个数。
上述单个区域升级文件描述子和升级包信息引导文件可采用工具输入相应的数据后自动生成,可按分区ID在升级包根目录下生成以分区ID为名称的升级包子目录,对应的该分区需要的的升级文件可放到对应的升级包子目录下并进行单个区域升级文件描述子里面的排列顺序进行编号。
S13、服务器建立升级信息表
服务器建立升级信息表,该表可包含以下字段:硬件版本、芯片号、序列号、货架编号、升级前软件版本、升级后软件版本、升级次数、最后一个申请文件、升级结果和错误状态,其中,硬件版本为区分同一厂家不同型号的机顶盒;芯片号可作为机顶盒唯一标志,用于升级完成后的信息查找;升级结果可由数字标识来表示相应的信息,例如,可用0代表升级未启动,1代表升级成功、2代表升级失败,3代表升级进行中,默认为0及升级未启动;错误状态也可用数字标识来表示相应的信息,例如,可用0代表无错误、1代表硬件版本错误、2代表软件版本错误、3代表序列号错误、4代表引导文件数据校验错误、5代表区域升级文件描述子数据校验错误、6代表升级文件内容数据校验错误、7代表机顶盒写入失败、8代表升级次数超出限制错误、91代表获取参数超时错误、91代表代表升级包信息引导文件通信超时错误、93代表升级文件通信超时错误及94代表其他通信超时错误。
S14、机顶盒端划分升级存储区
机顶盒建立用于记录机顶盒升级过程信息的升级状态文件和用于存放对应机顶盒升级文件信息的升级文件列表,所述升级状态文件包括最后一个已请求文件的值和升级结果的值;机顶盒段划分升级存储区存储上述升级状态文件和升级文件列表。
S2、服务器与机顶盒之间建立连接,服务器获取相关参数并判断该相关参数是否符合升级规则,如符合,进入步骤S2;否则,服务器将不符合升级规则的情况作为错误状态,将该错误状态和相关参数记录至升级信息表中,发送所述错误状态给机顶盒,升级结束;
具体可包括如下步骤:
S21、服务器使用预定的名称和密码创建WIFI热点;机顶盒端启动时通过前面板按键设置工程升级标志,并进入工厂升级,然后循环链接上述WIFI热点,链接成功后,进入步骤S2。升级过程中可根据升级结果进行机顶盒面板信号灯控制,例如绿灯闪烁其他灯熄灭可代表升级进行中,红灯闪烁其他灯熄灭可代表升级失败,绿灯红灯长亮可代表升级完成,升级并未启动则不亮灯。
本步骤还可包括:服务器校验生产参数CRC校验值,若校验成功则进入步骤S22,否则退出升级流程,此步骤可避免生产参数文件被修改。
S22、服务器轮询机顶盒的硬件版本、软件版本、芯片号和序列号,服务器以机顶盒返回的芯片号为关键字查询服务器的升级信息表,若无该信息,则在服务器的升级信息表中新增一条升级信息记录,将机顶盒的硬件版本、芯片号和序列号记录到升级信息表中的对应的硬件版本字段、芯片号字段和序列号字段,根据机顶盒的序列号查找生产参数文件中存放该序列号机顶盒的货架编号,将此货架编号记录到该升级信息表中的货架编号字段,将机顶盒返回的软件版本记录到该升级信息表中的升级前软件版本字段,设置升级信息表中的其他字段为初始默认值,即升级后软件版本为0、最后一个申请文件为空、升级次数为0、升级结果为0代表升级并未启动及错误状态为0。
S23、服务器判断机顶盒返回的硬件版本与生产参数文件中的硬件版本是否一致,若一致,则进入步骤S24;否则,则服务器设置升级信息表中相应机顶盒的升级结果为升级失败,错误状态为1即硬件版本错误,用以表示待升级的机顶盒里混入了其他硬件型号的机顶盒,发送相应的错误状态给机顶盒,机顶盒设置升级状态文件中的升级结果为升级失败,升级结束。
S24、服务器判断机顶盒返回的软件版本是否符合生产参数文件中的软件版本判断模式,若符合进入步骤S25;否则,服务器设置升级信息表相应升级信息记录中的升级结果为升级失败,错误状态设置为2以表示待升级的机顶盒的软件版本错误,发送相应的错误状态给机顶盒,机顶盒设置升级状态文件中的升级结果为升级失败,升级结束。
S25、服务器判断机顶盒的序列号是否位于生产参数文件中的开始序列号到结束序列号这个范围,若是则进入步骤S26;否则,服务器设置升级信息表相应的升级结果为升级失败,错误状态设置为3以表示序列号错误,发送相应的错误状态给机顶盒,机顶盒设置升级状态文件中的升级结果为升级失败,升级结束。
S26、服务器判断升级次数是否小于等于生产参数文件中的升级次数限制的值,若是则设置升级信息表相应升级信息记录中的升级结果为升级进行中,进入步骤S3;否则,服务器设置升级信息表中相应升级信息记录中的升级结果为升级失败以及错误状态设置为8以表示升级次数超出限制错误,发送相应的错误状态给机顶盒,机顶盒设置升级状态文件中的升级结果为升级失败,升级结束。
S3、机顶盒向服务器申请下载升级包信息引导文件,根据升级包信息引导文件下载对应的升级文件对机顶盒进行升级,同步将升级过程信息记录至升级信息表中。
具体包括如下步骤:
S31、机顶盒向服务器申请下载升级包信息引导文件,解析所述升级包信息引导文件得到对应机顶盒的升级文件信息记录至升级文件列表,该升级文件列表中的字段包括升级文件在服务器的源文件路径、升级文件的名称和升级文件在机顶盒内的目标路径;
本步骤在机顶盒向服务器申请下载升级包信息引导文件之后解析所述升级包信息引导文件之前还包括:校验上述升级包信息引导文件CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送引导文件数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为引导文件数据校验错误,升级次数加1,机顶盒重启进入步骤S2;
本步骤在机顶盒向服务器申请下载升级包信息引导文件之后解析所述升级包信息引导文件之前还包括:校验上述区域升级文件描述子CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送区域升级文件描述子数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为区域升级文件描述子数据校验错误,升级次数加1,机顶盒重启进入步骤S2。
为了便于信息的查找,本步骤还设置了升级信息表中的对应机顶盒的最后一个申请文件字段的值为升级包信息引导文件的路径加升级包信息引导文件的名字。
S32、机顶盒判断所述升级状态文件中的最后一个已请求文件的值与升级文件列表中任一记录的的升级文件在服务器的源文件路径字段加升级文件名称的字段值是否一致,若一致,进入步骤S33,否则,机顶盒向服务器申请下载升级文件列表中的第一个升级文件,进入步骤S34。
为了便于信息的查找,本步骤还设置了升级信息表中的对应机顶盒的最后一个申请文件字段的值为下载到的升级文件的路径加上升级文件名字。
S33、机顶盒判断升级状态文件中的升级结果是否为升级失败,如为升级失败,机顶盒向服务器申请下载升级文件列表中与最后一个已请求文件信息相一致的升级文件,否则,机顶盒向服务器申请下载升级文件列表中与最后一个已请求文件信息相一致升级文件的下一个升级文件。
为了便于信息的查找,本步骤还设置了升级信息表中的对应机顶盒的最后一个申请文件字段的值为下载到的升级文件的路径加上升级文件名字。
通过步骤S32和S33实现了存在多个升级文件时的接续下载,即从错误发出的升级文件下载开始下载,若无错误则下载下一个升级文件,避免了机顶盒重启后的按照升级文件列表重头开始下载升级文件而带来时间的浪费。
S34、机顶盒设置升级状态文件中最后一个已请求文件的值为下载得到的升级文件在服务器的源文件路径加上升级文件名称,将该升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级,若写入成功,则进入步骤S35,否则,设置升级状态文件中的升级结果为升级失败,机顶盒重启进入步骤S2。
本步骤将在将升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级之前还包括校验对应升级文件内容的CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送升级文件内容数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为升级文件内容数据校验错误,升级次数加1,机顶盒重启进入步骤S2。
本步骤将升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级时,还包括判断升级模式为分区模式还是多文件模式,分区模式时对应的升级文件在机顶盒内的目标路径只有一个文件,可将该目标路径的所有数据擦掉,然后将升级文件写入到该目标路径即可;而多文件模式时升级文件在机顶盒内的目标路径内有非常多的文件,则是表示只需要覆盖该目标路径里的相应文件,而不需要更新的文件不能受影响,也就是说升级模式主要体现在如何把下载的文件写入到机顶盒,可适应多种类型区域文件的更新。
本步骤将该升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级之后,还包括:如果写入失败则再次写入升级文件,若超过预定写入次数限制仍未成功,则机顶盒设置升级状态文件中的升级结果为升级失败,发送写入失败信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为7代表机顶盒写入失败,升级次数加1,机顶盒重启进入步骤S2。
S35、判断是否此升级文件为升级文件列表中的最后一个升级文件,如是,代表升级成功,发送升级成功消息给服务器,服务器设置升级信息表中对应记录的升级结果为升级成功,错误状态设置为0,机顶盒删除升级状态文件和升级文件列表,升级结束,否则,设置升级状态文件中的升级结果为升级进行中,进入步骤S33。
所述步骤S2和S3中,若机顶盒与服务器之间的通信超时,则设置升级状态文件中的升级结果为升级失败,发送相应类型的超时错误信息给服务器,服务器设置升级信息表中的错误状态为相应类型的超时错误及升级结果设置为升级失败,机顶盒重启进入步骤S2。
具体地,服务器与机顶盒接收对方发送的数据时均有超时检测,若在步骤S22获取机顶盒的相关参数时发生超时,则设置升级信息表中相应升级信息记录中的错误状态为91以表示获取参数超时错误,若在步骤S31获取升级包信息引导文件时发生超时,则设置升级信息表中相应升级信息记录中的错误状态为92以表示升级包信息引导文件通信超时错误,若是在步骤S33或S34获取升级文件发生超时,则设置升级信息表中相应升级信息记录中错误状态为93代表升级文件通信超时错误,如是在其他步骤中发生超时,则设置升级信息表中相应升级信息记录中错误状态为94代表其他通信超时错误;同时将升级信息表中的升级结果记录为升级失败,机顶盒重启进入步骤S2。
若在升级过程中机顶盒异常重启后判断设置的工厂升级标志,若该标志存在则自动重新开始新一轮的升级流程。如此,经过一段时间后,绿灯红灯长亮的机顶盒均表示升级成功,其他的则因各种原因升级失败,工程人员很容易挑拣出失败的样品,检查服务器记录即可得知对应机顶盒的错误原因。
升级结果可根据服务器的升级信息表各字段进行查询;如查询升级结果字段,可以快速获知当前升级成功了多少台机器,哪些正在升级,哪些升级失败;硬件版本错误可以识别出非法升级机器;也可以定向查询某台机器的错误状态而得知机器升级到了哪一步;可以快速知道某台升级失败的机器在哪个货架;可以知道某台机器是升级了几次升级成功的;可以进行组合查询,快速全方位的知悉整个批次的具体错误状态。
Claims (9)
1.机顶盒批量升级方法,其特征在于,包括:
S1、生成升级配置文件,所述升级配置文件包括用于存放升级规则判断信息的生产参数文件和用于存放升级文件信息的升级包信息引导文件;建立用于存放升级过程信息的升级信息表,所述升级信息表中的字段包括错误状态;机顶盒建立用于记录机顶盒升级过程信息的升级状态文件和用于存放对应机顶盒升级文件信息的升级文件列表,所述升级状态文件包括最后一个已请求文件的值和升级结果的值;所述升级信息表中的字段还包括升级结果;
S2、服务器与机顶盒之间建立连接,服务器获取机顶盒相关参数并判断相关参数是否符合升级规则,如符合,进入步骤S3;否则,服务器将不符合升级规则的情况作为错误状态,将该错误状态和所述相关参数记录至升级信息表中,发送所述错误状态给机顶盒,升级结束;
S3、机顶盒向服务器申请下载升级包信息引导文件,根据升级包信息引导文件下载对应的升级文件对机顶盒进行升级,同步将升级过程信息记录至升级信息表中;
步骤S3具体包括:
S31、机顶盒向服务器申请下载升级包信息引导文件,解析所述升级包信息引导文件得到对应机顶盒的升级文件信息记录至升级文件列表,该升级文件列表中的字段包括升级文件在服务器的源文件路径、升级文件名称和升级文件在机顶盒内的目标路径;
S32、机顶盒判断所述升级状态文件中的最后一个已请求文件的值与升级文件列表中任一记录的的升级文件在服务器的源文件路径字段加升级文件名称的字段值是否一致,若一致,进入步骤S33,否则,机顶盒向服务器申请下载升级文件列表中的第一个升级文件,进入步骤S34;
S33、机顶盒判断升级状态文件中的升级结果是否为升级失败,如为升级失败,机顶盒向服务器申请下载升级文件列表中与最后一个已请求文件信息相一致的升级文件,否则,机顶盒向服务器申请下载升级文件列表中与最后一个已请求文件信息相一致升级文件的下一个升级文件;
S34、机顶盒设置升级状态文件中最后一个已请求文件的值为下载得到的升级文件在服务器的源文件路径加上升级文件名称,将该升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级,若写入成功,则进入步骤S35,否则,设置升级状态文件中的升级结果为升级失败,机顶盒重启进入步骤S2;
S35、判断是否此升级文件为升级文件列表中的最后一个升级文件,如是,代表升级成功,发送升级成功消息给服务器,服务器设置升级信息表中对应记录的升级结果为升级成功,机顶盒删除升级状态文件和升级文件列表,升级结束,否则,设置升级状态文件中的升级结果为升级进行中,进入步骤S33。
2.如权利要求1所述的机顶盒批量升级方法,其特征在于,所述生产参数文件包括硬件版本,所述机顶盒的相关参数包括机顶盒的硬件版本,所述步骤S2中的升级规则包括比较机顶盒的硬件版本与所述升级配置文件中的硬件版本是否一致,如不一致,则服务器设置升级信息表中相应机顶盒的错误状态为硬件版本错误;
和/或,所述生产参数文件包括软件版本判断模式、软件目的版本和软件版本差值,所述软件版本判断模式为不判断软件版本直接升级或机顶盒的待升级软件版本加软件版本差值等于软件目的版本或机顶盒的软件版本减去软件版本差值等于软件目的版本,所述机顶盒的相关参数包括机顶盒的软件版本,所述步骤S2中的升级规则包括判断机顶盒的软件版本是否符合软件版本判断模式中的判断规则,若不符合,则服务器设置升级信息表中相应机顶盒的错误状态为软件版本错误;
和/或,所述生产参数文件包括开始序列号和结束序列号;所述机顶盒的相关参数包括序列号;所述步骤S2中的升级规则包括判断机顶盒的序列号是否位于所述开始序列号和结束序列号之间,若否,则服务器设置升级信息表中相应机顶盒的的错误状态为序列号错误。
3.如权利要求1所述的机顶盒批量升级方法,其特征在于,所述步骤S34将该升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级之后,还包括:如果写入失败则再次写入升级文件,若超过预定写入次数限制仍未成功,则机顶盒设置升级状态文件中的升级结果为升级失败,发送写入失败信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为机顶盒写入失败,机顶盒重启进入步骤S2。
4.如权利要求1所述的机顶盒批量升级方法,其特征在于,所述升级包信息引导文件包括升级包信息引导文件CRC校验值;所述步骤S31机顶盒向服务器申请下载升级包信息引导文件之后还包括:校验上述升级包信息引导文件CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送引导文件数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为引导文件数据校验错误,机顶盒重启进入步骤S2。
5.如权利要求1所述的机顶盒批量升级方法,其特征在于,所述升级包信息引导文件包括至少一个单个区域升级文件描述子,所述单个区域升级文件描述子包括区域升级文件描述子CRC校验值;所述步骤S31机顶盒向服务器申请下载升级包信息引导文件之后还包括:校验上述区域升级文件描述子CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送区域升级文件描述子数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为区域升级文件描述子数据校验错误,机顶盒重启进入步骤S2。
6.如权利要求5所述的机顶盒批量升级方法,其特征在于,所述单个区域升级文件描述子还包括区域序号、区域描述子长度、升级模式、分区ID、升级文件个数、每一个升级文件名称、对应的每一个升级文件的长度、对应的每一个升级文件内容的CRC校验值、对应的每一个升级文件在服务器的源文件路径和对应的每一个升级文件在机顶盒内的目标路径;所述升级模式包括分区模式和多文件模式,所述步骤S34将该升级文件写入到相应的升级文件在机顶盒内的目标路径进行升级之前还包括校验对应升级文件内容的CRC校验值,若校验失败,机顶盒进行预定次数向服务器申请下载升级包信息引导文件进行相应的校验,若仍失败,机顶盒设置升级状态文件中的升级结果为升级失败,发送升级文件内容数据校验错误信息给服务器,服务器设置升级信息表中的对应机顶盒的错误状态为升级文件内容数据校验错误,机顶盒重启进入步骤S2。
7.如权利要求1所述的机顶盒批量升级方法,其特征在于,所述步骤S2和S3中,若机顶盒与服务器之间的通信超时,则设置升级状态文件中的升级结果为升级失败,发送相应类型的超时错误信息给服务器,服务器设置升级信息表中的错误状态为相应类型的超时错误及升级结果设置为升级失败,机顶盒重启进入步骤S2。
8.如权利要求3或4或5或6或7所述机顶盒批量升级方法,其特征在于,所述升级信息表包括升级次数字段,此升级次数字段设置有预设初始值;当服务器接收到发送写入失败信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到引导文件数据校验错误信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到引导文件数据校验错误信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到区域升级文件描述子数据校验错误信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到升级文件内容数据校验错误信息时,设置升级信息表中对应机顶盒的升级次数加1;和/或,当服务器接收到超时错误信息时,设置升级信息表中对应机顶盒的升级次数加1;所述生产参数文件包括升级次数限制值;所述步骤S2中的升级规则还包括判断升级次数是否小于等于升级次数限制值,若否,则服务器设置升级信息表中的错误状态为升级次数超出限制错误,升级结束。
9.如权利要求1所述的机顶盒批量升级方法,其特征在于,所述生产参数文件包括生产参数CRC校验值,所述步骤S2之前还包括,服务器校验生产参数CRC校验值,若校验成功则进入步骤S2,否则退出升级流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810662318.4A CN108848418B (zh) | 2018-06-25 | 2018-06-25 | 机顶盒集中升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810662318.4A CN108848418B (zh) | 2018-06-25 | 2018-06-25 | 机顶盒集中升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108848418A CN108848418A (zh) | 2018-11-20 |
CN108848418B true CN108848418B (zh) | 2020-12-01 |
Family
ID=64202190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810662318.4A Active CN108848418B (zh) | 2018-06-25 | 2018-06-25 | 机顶盒集中升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108848418B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767065A (zh) * | 2019-04-02 | 2020-10-13 | 北京精雕科技集团有限公司 | 一种机床数控软件的批量远程升降级方法及系统 |
CN111767064A (zh) * | 2019-04-02 | 2020-10-13 | 北京精雕科技集团有限公司 | 一种无需客户端支持的软件批量远程升降级方法及系统 |
CN111198701A (zh) * | 2019-12-23 | 2020-05-26 | 宁波奥克斯电气股份有限公司 | 一种设备固件静默升级方法和升级系统 |
CN111273931B (zh) * | 2020-01-20 | 2023-05-26 | 宁波吉利汽车研究开发有限公司 | 一种车载行车电脑并行升级方法及装置 |
CN114995845A (zh) * | 2021-03-01 | 2022-09-02 | 晶晨半导体(上海)股份有限公司 | Ota升级方法和设备 |
CN113760333A (zh) * | 2021-09-16 | 2021-12-07 | 海宁奕斯伟集成电路设计有限公司 | 软件升级方法、装置、电子设备及计算机可读存储介质 |
CN116112753B (zh) * | 2022-12-22 | 2024-05-31 | 深圳创维-Rgb电子有限公司 | 兼容数字电视私有描述符业务逻辑的处理方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001316A (zh) * | 2006-12-31 | 2007-07-18 | 北京广博数字电视科技有限公司 | 机顶盒软件升级管理方法和系统 |
CN101834976A (zh) * | 2009-10-20 | 2010-09-15 | 福建新大陆通信科技有限公司 | 使用3段式引导升级启动技术的机顶盒启动和升级方法 |
CN102222011A (zh) * | 2011-06-28 | 2011-10-19 | 广东中大讯通软件科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
CN105472465A (zh) * | 2014-08-15 | 2016-04-06 | 中兴通讯股份有限公司 | 机顶盒升级的方法及装置 |
CN106331862A (zh) * | 2016-08-11 | 2017-01-11 | 宁波亦道信息科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2362316A1 (en) * | 2010-02-22 | 2011-08-31 | EchoStar Global B.V. | Monitoring and controlling the operation of devices in a distributed network of broadcast devices |
US20140019952A1 (en) * | 2012-07-10 | 2014-01-16 | General Instrument Corporation | Secure method of enforcing client code version upgrade in digital rights management system |
US10521213B2 (en) * | 2015-12-17 | 2019-12-31 | Time Warner Cable Enterprises Llc | Technique for efficiently upgrading software in a video content network |
-
2018
- 2018-06-25 CN CN201810662318.4A patent/CN108848418B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001316A (zh) * | 2006-12-31 | 2007-07-18 | 北京广博数字电视科技有限公司 | 机顶盒软件升级管理方法和系统 |
CN101834976A (zh) * | 2009-10-20 | 2010-09-15 | 福建新大陆通信科技有限公司 | 使用3段式引导升级启动技术的机顶盒启动和升级方法 |
CN102222011A (zh) * | 2011-06-28 | 2011-10-19 | 广东中大讯通软件科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
CN105472465A (zh) * | 2014-08-15 | 2016-04-06 | 中兴通讯股份有限公司 | 机顶盒升级的方法及装置 |
CN106331862A (zh) * | 2016-08-11 | 2017-01-11 | 宁波亦道信息科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
Also Published As
Publication number | Publication date |
---|---|
CN108848418A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848418B (zh) | 机顶盒集中升级方法 | |
US10162625B2 (en) | Vehicle control storage methods and systems | |
CN103559065B (zh) | 一种ota升级的方法和系统 | |
CN109062598B (zh) | 一种安全的ota升级方法及系统 | |
CN101436138A (zh) | 一种用于软件升级且动态回滚的控制装置以及控制方法 | |
CN101895671B (zh) | 一种机顶盒Loader模块升级方法及其机顶盒 | |
CN103533027A (zh) | 一种分布式设备及软件版本兼容性维护的方法、系统 | |
CN110874239A (zh) | 一种电子设备的空中固件差分升级方法及装置 | |
CN103677902A (zh) | 分布式olt系统中保障线卡软件升级安全性与成功性的方法 | |
CN110007941B (zh) | 一种智能垃圾分类回收系统的mcu固件及升级方法 | |
CN104133699A (zh) | 设备系统软件升级方法与系统 | |
CN109831702B (zh) | 防止电视软件升级错误的方法 | |
CN113568646B (zh) | 一种新型便携式程序升级方法 | |
CN113835729B (zh) | 升级方法、装置、终端设备及计算机可读存储介质 | |
CN103530142A (zh) | 一种基于存储设备的Android系统升级方法和系统 | |
CN112035417A (zh) | 存储块的管理方法、装置、存储介质以及电子装置 | |
CN111385613B (zh) | 一种电视系统修复方法、存储介质及应用服务器 | |
CN107172493B (zh) | 一种能兼容不同分区类型的ota升级方法 | |
CN108833128A (zh) | 一种设备更新的方法 | |
CN113992739A (zh) | 一种局域网ota固件升级装置、方法及系统 | |
CN114625399A (zh) | 系统升级方法及相关装置、设备和存储介质 | |
CN113885926A (zh) | 一种基于安全芯片的操作系统在线升级方法 | |
CN112040320A (zh) | 一种电视果应用的升级方法及装置 | |
CN111736858A (zh) | 一种终端设备的升级方法、存储介质及终端设备 | |
CN118377833B (zh) | 基于差异检测的数据库同步方法、装置、设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |