CN109189455B - 一种网络数字电视升级方法 - Google Patents
一种网络数字电视升级方法 Download PDFInfo
- Publication number
- CN109189455B CN109189455B CN201811302872.8A CN201811302872A CN109189455B CN 109189455 B CN109189455 B CN 109189455B CN 201811302872 A CN201811302872 A CN 201811302872A CN 109189455 B CN109189455 B CN 109189455B
- Authority
- CN
- China
- Prior art keywords
- file
- upgrade
- package
- partition
- packet
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005192 partition Methods 0.000 claims abstract description 187
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 3
- 238000007405 data analysis Methods 0.000 claims abstract description 3
- 239000003550 marker Substances 0.000 claims abstract description 3
- 238000012795 verification Methods 0.000 claims description 16
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000012858 packaging process Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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
Abstract
本发明公开了一种网络数字电视升级方法,包括步骤:A.分别定义升级触发包、升级文件内容校验包、升级文件包;定义升级文件包时包括定义以下内容:固定长度升级文件包标志字符串,包长度,升级包序号,分区个数,n个分区描述子,包文件1数据至包文件n数据,CRC校验;B.生成升级包;C.进入升级流程:服务器广播升级触发包、升级文件内容校验包;数字电视接收到广播升级触发包、升级内容校验包并处理;数字电视向服务器申请升级文件包;数字电视校验升级内容并进行软件升级更新;服务器统计升级结果进行数据分析。本发明的方法可用于解决数字电视软件升级内容多、升级频繁、升级效率低的问题。
Description
技术领域
本发明涉及数字电视升级技术领域,特别涉及一种网络数字电视升级方法。
背景技术
随着互联网时代的到来,越来越多的电视机或机顶盒支持网络功能(后续统称数字电视)。具备双向通信功能的数字电视,简称双数字电视。在其性能越来越高,功能越来越丰富的同时软件也变得越来越大,而且升级也越来越频繁。因此升级功能变得越来越重要,升级的效率也成为数字电视运营商关注的重点。每次大范围、大批量升级,都是对运行商升级服务器的考验。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种网络数字电视升级方法,可有效解决大批量数字电视升级的效率低问题,特别是对于电视系统中分区文件较少的情况时,单个分区文件容量较大的情况时,可显著提升数字电视升级的效率。
为了达到上述的技术效果,本发明采取以下技术方案:
一种网络数字电视升级方法,包括以下步骤:
A.定义升级包结构;
A1.定义升级触发包;
A2.定义升级文件内容校验包;
A3.定义升级文件包;
其中,定义升级文件包时具体包括定义以下内容:固定长度升级文件包标志字符串,包长度,升级包序号,分区个数,n个分区描述子,包文件1数据至包文件n数据,CRC校验;所述升级文件包的n个分区描述子包括升级文件包的分区描述子1至升级文件包的分区描述子n;
B.生成升级包;
C.进入升级流程:
C1.服务器广播升级触发包、升级文件内容校验包;
C2.数字电视接收到广播升级触发包、升级内容校验包,并处理;
C3.数字电视向服务器申请升级文件包;
C4.数字电视校验升级内容并进行软件升级更新;
C5.服务器统计升级结果,并进行数据分析。
进一步地,所述步骤A1中定义升级触发包时具体包括定义以下内容:固定长度升级触发包标志字符串,升级触发包的包长度,硬件版本,升级软件版本、软件版本判断模式、软件版本差值、升级总台数,开始序列号、结束序列号,服务器地址、升级类型、升级文件包个数、分区个数、n个分区描述子、crc校验位,其中,升级触发包的n个分区描述子包括升级触发包的分区描述子1至升级触发包的分区描述子n。
进一步地,所述升级触发包的包长度为硬件版本到包结束的长度,包括文件包结尾的crc校验位长度;
升级触发包的crc校验位校验的区域为包开始到分区描述子n,校验时具体对这个区间的内容进行crc计算;
升级触发包的软件版本判断模式中定义:0表示不判断软件版本直接升级;1表示机顶盒软件版本加软件版本差值等于待升级版本;2表示机顶盒软件版本减去软件版本差值等于待升级版本;
升级触发包的升级类型中定义:0表示前台强制升级,1表示后台强制升级,2表示前台非强制升级,3表示后台非强制升级;
升级触发包的分区个数表示本次升级所涉及的分区总个数,升级触发包的分区描述子包括分区ID号,分区名字,分区文件模式,升级文件个数;其中,所述分区文件模式中定义0为单文件分区,1为多文件系统分区。
进一步地,所述步骤A2中定义升级文件内容校验包是具体包括定义以下内容:固定长度升级文件内容校验包标志字符串、升级文件内容校验包的包长度、分区个数、n个分区校验描述子、crc校验位,其中,升级文件内容校验包的n个分区校验描述子包括升级文件内容校验包的分区校验描述子1至升级文件内容校验包的分区校验描述子n。
进一步地,所述升级文件内容校验包的包长度的字段包括分区个数加上crc校验位长度;crc校验位校验包开头到分区校验描述子n;
所述升级文件内容校验包的分区校验描述子包括分区ID、分区名字、升级文件总个数、n个文件校验描述子,所述n个文件校验描述子具体包括文件校验描述子1至文件校验描述子n;其中,所述文件校验描述子包括文件名长度、文件名、文件路径长度、文件路径、压缩后的文件长度、压缩后的文件crc校验值、原始文件长度、原始文件crc校验值。
进一步地,所述步骤A3中定义升级文件包时,所述升级文件包的分区个数表示所述升级包下有多少个分区的升级文件,升级文件包的分区描述子具体包括分区ID,分区名字,分区文件模式,分区文件总个数,包分区文件个数,n个包分区文件描述子,所述n个包分区文件描述子包括包分区文件描述子1至包分区文件描述子n,其中,所述包分区文件描述子包括文件序号,文件名长度,文件名,文件路径长度,文件路径,压缩后的文件长度,压缩后的文件CRC,原始文件长度,原始文件CRC,文件切割模式,文件切割个数,文件切割描述子。
进一步地,所述升级文件包的文件切割模式中有以下定义:文件切割模式为0时表示文件较小,不需要切割,文件切割模式为1时表示文件较大,需要切割为n个子段;
升级文件包的文件切割个数中有以下定义:当文件切割模式为0,则切割个数为1,即切割子段描述子里的内容为正常文件信息;
升级文件包的文件切割描述子包括:文件子段序号、子段数据长度、子段CRC、子段数据偏移地址;其中,文件子段序号对应文件切割个数。
进一步地,所述步骤A3中定义升级包序号与步骤A1中定义升级文件包个数相对应,所述步骤A3的分区文件模式中定义0为单文件分区,1为多文件系统分区;所述步骤A3中定义升级文件总个数与步骤A2中定义分区校验描述子下的升级文件总个数相同;
升级文件包的包文件模式中定义:0表示多文件组合,1表示单文件切割,升级文件包的包文件个数是基于包文件模式,当包文件模式为0,表示该包下有n个升级文件,当包文件模式为1,表示该包下的一个升级文件S被切割成了n个小文件,后续跟随的包文件描述子只有1个,且描述子内的文件序号为升级文件S的子段,且序号为1、2…n;
所述包文件描述子包括文件序号、文件名长度、文件名、文件路径长度、文件路径、压缩后的文件长度、压缩后的文件CRC、原始文件长度、原始文件CRC、文件开始位置;所述文件开始位置为压缩文件数据在整个升级文件包里的偏移位置,当包文件模式为1时,文件开始位置为子段数据的偏移位置。
进一步地,所述步骤B中生成升级包是使用服务器端的工具对各个分区的升级文件进行封包处理,具体包括:先设置每个升级包的大小;然后对各个分区的要升级的文件按大小进行组合,并按照步骤A3中的定义,将一些小的文件组合成一个升级文件包,然后将超大的文件拆分成符合要求的多个升级文件包;具体判别大小的标准可根据实际需求设定;
在封包过程中记录步骤A2定义的各字段信息,将所有分区的文件封包完成后,生成升级文件内容校验包;
然后通过工具进行数字电视的硬件版本的处理,确定升级软件版本、软件版本判断模式、软件版本差值、升级总台数,开始序列号、结束序列号,服务器地址、升级类型;然后根据封包结果得到升级文件总个数以及各分区的升级描述子信息再计算出crc值,最后生成升级触发包。
进一步地,所述步骤C1具体包括:将广播升级触发包、升级文件内容校验包、升级文件包导入服务器;服务器循环向全网广播升级触发包以及升级文件内容校验包;并等待数字电视发出请求;
所述步骤C2具体包括:数字电视启动专门的进程去监控对应的端口,当检测到服务器广播的升级触发包时即捕获并分析出内容,然后根据升级触发包中定义的各字段来判断数字电视是否符合升级要求;若符合升级要求,则捕获升级内容校验包,并分析出内容;若在一定时间内未捕获到升级内容校验包,则略过升级内容校验包,并在步骤C3中向服务器申请升级内容校验包,服务器则单独将升级内容校验包发送给数字电视;
所述步骤C3具体包括:
C3.1数字电视向服务器申请获取升级文件包:其中,申请分为两种模式:第一种为模糊申请,第二种为精确申请;
C3.2服务器接收到数字电视的请求,分析出请求的内容;如果是模糊申请,则根据服务器资源情况,优先发送瞬时请求量少的升级文件包,后续发送请求量大的升级文件包,使服务器资源处于相对均衡状态;如果是精确申请某个升级文件包,且同时又有其他数字电视端模糊申请该升级文件包,则优先发送该升级文件包给精确申请的客户端,后续发该升级文件包给模糊申请的客户端;
C3.3数字电视向服务器申请升级文件包后,则开始获取服务器发送回来的升级文件包,然后对升级文件包按升级文件包中的定义,反向将各分区的升级文件提取出来;若长时间收不到某个升级文件包,则向服务器发送精确申请,然后继续接收升级文件包;
C3.4若仍然收不到数据,则结束升级文件包接收,向服务器发送升级失败的原因及结果,并结束升级;
C3.5在收到所有升级文件包后,首先对数据进行自身的准确性验证,包括分区个数、各分区下的升级文件个数、包内的文件长度、文件crc的验证,其次根据升级文件包的定义,对升级文件包进行分析,提取出压缩状态的各分区的升级文件,并与升级文件内容校验包内定义的数据进行比对,若数据不一致,则结束升级文件包接收,向服务器发送升级失败的原因及结果,并结束升级;
若文件数据均一致,则将压缩文件进行解压缩,得到原始状态的升级文件,并与升级文件内容校验包里的原始文件信息进行比对,若数据不一致,则结束升级文件包接收,向服务器发送升级失败的原因及结果,并结束升级;若数据一致则进入步骤C4;
C4.更新新软件:
软件更新按照分区进行,并根据分区文件模式信息得到分区文件的具体写入方法;若分区为多文件系统分区,则根据升级文件问题的路径,去替换原有路径下的对应文件,所有文件更新完成后,发送升级成功信息给服务器,在确定服务器收到信息后,重启数字电视。
C5.服务器统计升级结果,并进行升级数据分析:
服务器将各数字电视客户端反馈回来的升级结果信息进行统计、分析,生成升级结果反馈表。
本发明与现有技术相比,具有以下的有益效果:
本发明的网络数字电视升级方法中,通过制定数字电视升级包规则,以分区为基准,将各分区下的升级内容按照步骤A制定的规则进行打包,将零散的小文件打包成一个大小适合的大文件包,将容量超大的文件分割成指定大小的小文件包来进行传送;由此缓解数字电视频繁的向服务器申请小文件或者向服务请申请超大文件造成服务器资源紧张的问题,同时,采用模糊申请和精准申请相结合的方式向服务器申请升级文件包,使服务器能更有效率的使用其资源,从而提升升级效率;本发明的技术方案特别适合于在分区文件较少而单个分区文件容量较大的情况下使用,可起到显著提升数字电视升级效率效果。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
一种网络数字电视升级方法,具体可用于解决数字电视软件升级内容多、升级频繁、升级效率低的问题,其具体实施包括以下步骤:
A.定义升级包结构;升级包分为三种包:升级触发包、升级文件内容校验包、升级文件包,故步骤A具体包括:
A1.定义升级触发包结构;
升级触发包具体包括以下字段内容:固定长度升级触发包标志字符串,包长度,硬件版本,升级软件版本、软件版本判断模式、软件版本差值、升级总台数,开始序列号、结束序列号,服务器地址、升级类型、升级文件包个数、分区个数、分区描述子1、分区描述子2……分区描述子n、crc校验位。
其中,升级触发包的包长度为硬件版本到包结束的长度,包括文件包结尾的crc校验位长度;升级触发包的crc校验位校验的区域为包开始到分区描述子n,具体是对这个区间的内容进行crc计算。
在本实施例中具体在定义升级触发包的软件版本判断模式时有以下定义:当软件版本判断模式为0时即表示不判断软件版本,直接升级,当软件版本判断模式为1时即表示机顶盒软件版本加软件版本差值等于待升级版本,当软件版本判断模式为2时即表示机顶盒软件版本减去软件版本差值等于待升级版本。
对应的,在本实施例中,升级触发包的升级类型中具有如下定义:
升级类型为0时表示前台强制升级,通过界面告知用户机器必须升级,进入升级流程;开始接收升级数据,并显示进度,然后更新升级软件再重启(此过程用户无法选择);
升级类型为1时表示后台强制升级,后台接收升级数据,接收数据不提示用户,直到升级数据准备完毕,再提示用户进行升级;并显示进度,然后更新升级软件再重启(此过程用户无法选择);
升级类型为2时表示前台非强制升级,此时需要提示用户需要升级,用户可做如下选择,立即升级(同升级类型0)、下次开机升级(进入数据接受,并显示接收进度,接受完成不更新,在下次开机时更新软件)、不升级。
升级类型为3时表示后台非强制升级,后台接收升级数据,接收数据不提示用户,直到升级数据准备完毕,再提示用户进行升级。用户可以选择立即升级和下次开机升级和不升级。
具体的,升级触发包的分区个数表示该次升级涉及的分区总个数,升级触发包的分区描述子则包括分区ID号,分区名字,分区文件模式,升级文件个数;其中,在分区文件模式中具有以下定义:
分区文件模式为0时表示为单文件分区,如boot,kernel等非文件系统分区(只读文件系统作为单文件处理);分区文件模式为1时表示为多文件系统分区,如非只读文件系统ubi文件系统等。
A2.定义升级文件内容校验包结构;
升级文件内容校验包具体包括以下字段内容:固定长度升级文件内容校验包标志字符串,包长度,分区个数,分区校验描述子1,分区校验描述子2……分区校验描述子n,crc校验位,其中,包长度字段包括分区个数加上crc校验位长度;crc校验位校验包开头到分区校验描述子n。
其中,升级文件内容校验包的分区校验描述子包括分区ID,分区名字,升级文件总个数,文件校验描述子1至文件校验描述子n。
具体的,文件校验描述子中具体包括文件名长度、文件名、文件路径长度、文件路径、压缩后的文件长度、压缩后的文件crc校验值、原始文件长度、原始文件crc校验值。
A3.定义升级文件包结构;
升级文件包具体包括以下字段内容:固定长度升级文件包标志字符串,包长度,升级包序号,分区个数,分区描述子1……分区描述子n,包文件1数据(压缩后)…包文件n数据,CRC校验。
具体的,升级文件包的分区个数表示该升级包下有多少个分区的升级文件,升级文件包的分区描述子:包括分区ID,分区名字,分区文件模式,分区文件总个数,包_分区_文件个数,包_分区_文件描述子1……包_分区_文件描述子n。
包_分区_文件描述子又进一步包括:文件序号,文件名长度,文件名,文件路径长度,文件路径,压缩后的文件长度,压缩后的文件CRC,原始文件长度,原始文件CRC,文件切割模式,文件切割个数,文件切割描述子。
其中,在文件切割模式中具有以下定义:当文件切割模式为0时,表示该文件较小,不需要切割,当文件切割模式为1时,表示该文件较大,需要切割为n个子段,对应的,当文件切割模式为0,则文件切割个数的具体切割个数为1,即切割子段描述子里的内容为正常文件信息。
具体的,文件切割描述子具体包括:文件子段序号、子段数据长度、子段CRC、子段数据偏移地址。其中,文件子段序号对应文件切割个数1~n,当升级文件包出现文件切割,那么切割子段要么出现在包的最后,要么出现在包的最前且后面还有空间容纳小文件。因此,一个包只可能出现一次文件切割模式为1的情况。
具体的,定义升级文件包的升级包序号时其序号与步骤A1中的升级文件包个数相对应,定义升级文件包的分区文件模式也与步骤A1中分区文件模式的定义相同,即分区文件模式为0时表示为单文件分区,如boot,kernel等非文件系统分区(只读文件系统作为单文件处理);分区文件模式为1时表示为多文件系统分区,如非只读文件系统ubi文件系统等。
定义升级文件包的升级文件总个数时与步骤A2中定义分区校验描述子下的升级文件总个数相同,即定义1个分区下有多少个文件需要更新;定义升级文件包的包文件模式时具体定义如下:
包文件模式为0时表示是多文件组合(可以是1个文件也可以是多个文件),包文件模式为1时表示是单文件切割(即将1个很大的文件切割成多个小文件,并且放到不同的升级文件包,且一个升级文件包可能包含多个升级文件,也可以是一个被切割的文件的一部分)。
定义升级文件包的当前文件序号时需确定升级文件总个数,且为该定义升级文件包下的第一个文件的序号。本实施例中假设当前文件号为S。
定义升级文件包的包文件个数时是基于升级文件包的包文件模式,具体如下:
如当包文件模式为0,表示该包下有n个升级文件;后续跟随的包文件描述子有n个,且描述子内的文件序号为正常的升级文件,且文件序号为s,s+1,……,s+n-1;
当包文件模式为1,文件S被切割成了n个小文件;后续跟随的包文件描述子只有1个,且描述子内的文件序号为文件S的子段,且序号为1,2…n;(2到n的包文件描述子在后续的升级文件包内)。
定义升级文件包的包文件描述子时,在包文件描述子中具体包括:文件序号,文件名长度,文件名,文件路径长度,文件路径,压缩后的文件长度,压缩后的文件CRC,原始文件长度,原始文件CRC,文件开始位置。
其中,文件序号具体见升级文件包的包文件个数描述;文件开始位置则具体是压缩文件数据在整个升级文件包里的偏移位置。
定义升级文件包的包文件数据时具体是定义需要升级的文件被压缩后的数据,此处需要注意的是,当包文件模式为1时,包文件数据只有一个;即一个文件需要切割时,那么这个文件所有切割的子段都将使用1个单独升级文件包。
B.升级包生成:
使用服务器端工具对各个分区的升级文件进行封包处理。工具先设置每个升级文件包的大小;然后对各个分区的要升级的文件按大小进行组合,按照步骤A3的定义,将一些小的文件组合成一个升级文件包,然后将超大的文件拆分成符合要求的多个升级文件包。
在封包过程中记录步骤A2定义的各字段信息,将所有分区的文件封包完成后,生成升级文件内容校验包。
升级触发包的生成:通过工具进行需要升级的数字电视的硬件版本的处理,确定升级软件版本、软件版本判断模式、软件版本差值、升级总台数,开始序列号、结束序列号,服务器地址、升级类型;然后根据封包结果得到升级文件总个数以及各分区的升级描述子信息再计算出crc值,最后生成升级触发包。
C.升级流程:
根据步骤A定义的升级类型信息,确定是否界面提示用户,然后进入数据接收流程。
C1.服务器端广播升级触发包、升级文件内容校验包;
将广播升级触发包、升级文件内容校验包、所有升级文件包导入服务器;服务器循环向全网广播升级触发包以及升级文件内容校验包;升级触发包频率高,内容校验包频率低;然后服务器等待数字电视发出来请求。
C2.数字电视接收到广播升级触发包、升级内容校验包并处理;
数字电视启动后有专门的进程去监控对应的端口,当检测到服务器广播的升级触发包,将该包捕获并分析出内容,然后根据本机的硬件版本、软件版本等步骤A1定义各字段来判断本机是否符合升级要求;若符合升级要求,则捕获升级内容校验包,并分析出内容;若在一定时间内未捕获到升级内容校验包,则略过该包,在步骤C3中向服务器申请该包,服务器则单独将升级内容校验包发送给本机。
C3.数字电视向服务器申请升级文件包;
C3.1数字电视向服务器申请获取升级文件包;
申请分为两种模式:1.模糊申请,即向服务器申请一个范围内的包,比如申请升级包序号为1~100的包;2.精确申请,如数字电视在明确的发现自己还需要那个升级包,则通过升级包序号向服务器请求该包数据(可以一次请求多个序号明确的数据包);
C3.2服务器接收到数字电视的请求,分析出请求的内容;
如果是模糊申请,则根据服务器资源情况,优先发送瞬时请求量少的包,后续发送请求量大的包,使服务器资源处于相对均衡状态;如果是精确申请某个包,且同时又有其他客户端模糊申请该包,则优先发送该包给精确申请的客户端,后续发该包给模糊申请的客户端;
C3.3数字电视向服务器申请升级文件包后,则开始获取服务器发送回来的升级包,然后对升级包按步骤A3的定义,反向将各分区的升级文件提取出来;若长时间收不到某个包,则向服务器发送精确申请,然后继续接收升级包;
C3.4若仍然收不到数据,则结束升级包接收,向服务器发送升级失败的原因及结果,并结束升级;
C3.5在收到所有包,那么首先对数据进行自身的准确性验证,包括分区个数、各分区下的升级文件个数、包内的文件长度、文件crc等验证,确保收到的是一个准确的升级包;其次在所有包收齐后,按照步骤A3定义,对包进行分析,提取出的压缩状态的各分区的升级文件(包括还原被切割的文件),并与步骤A2定义的升级文件内容校验包里相关的数据进行比对,若错误则按C3.4处理(即结束升级包接收,向服务器发送升级失败的原因及结果,并结束升级);若文件都正确,则将压缩文件进行解压缩,得到原始状态的升级文件,并与升级文件内容校验包里的原始文件信息进行比对,若错误则按C3.4处理((即结束升级包接收,向服务器发送升级失败的原因及结果,并结束升级));若正确则进入步骤C4.
C4.更新新软件:
数据接收完成后再次根据步骤A定义的升级类型信息,提示用户选择。无论立即升级还是开机升级,均需要进行软件更新。
软件更新按照分区进行,并根据分区文件模式信息得到分区文件的具体写入方法;通常单文件分区的操作方法为将整个分区擦除,然后写入该分区的文件;若分区为多文件系统分区,则根据升级文件问题的路径,去替换原有路径下的对应文件。所有文件更新完成后,发送升级成功信息给服务器,在确定服务器收到信息后,重启数字电视。
C5.服务器端统计升级结果,并进行升级数据分析:
在升级一定的时间后,服务器将各数字电视客户端反馈回来的升级结果信息进行统计、分析,生成升级结果反馈表。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (1)
1.一种网络数字电视升级方法,其特征在于,包括以下步骤:
A.定义升级包结构;
A1. 定义升级触发包;所述步骤A1中定义升级触发包时具体包括定义以下内容:固定长度升级触发包标志字符串,升级触发包的包长度,硬件版本,升级软件版本、软件版本判断模式、软件版本差值、升级总台数,开始序列号、结束序列号,服务器地址、升级类型、升级文件包个数、分区个数、n个分区描述子、crc校验位,其中,升级触发包的n个分区描述子包括升级触发包的分区描述子1至升级触发包的分区描述子n;
所述升级触发包的包长度为硬件版本到包结束的长度,包括文件包结尾的crc校验位长度;
升级触发包的crc校验位校验的区域为包开始到分区描述子n,校验时具体对这个区间的内容进行crc计算;
升级触发包的软件版本判断模式中定义:0表示不判断软件版本直接升级;1表示机顶盒软件版本加软件版本差值等于待升级版本;2表示机顶盒软件版本减去软件版本差值等于待升级版本;
升级触发包的升级类型中定义:0表示前台强制升级,1表示后台强制升级,2表示前台非强制升级,3表示后台非强制升级;
升级触发包的分区个数表示本次升级所涉及的分区总个数,升级触发包的分区描述子包括分区ID号,分区名字,分区文件模式,升级文件个数;其中,所述分区文件模式中定义0为单文件分区,1为多文件系统分区;
A2. 定义升级文件内容校验包;所述步骤A2中定义升级文件内容校验包是具体包括定义以下内容:固定长度升级文件内容校验包标志字符串、升级文件内容校验包的包长度、分区个数、n个分区校验描述子、crc校验位,其中,所述升级文件内容校验包的n个分区校验描述子包括升级文件内容校验包的分区校验描述子1至升级文件内容校验包的分区校验描述子n;
所述升级文件内容校验包的包长度的字段包括分区个数加上crc校验位长度;crc校验位校验包开头到分区校验描述子n;
所述升级文件内容校验包的分区校验描述子包括分区ID、分区名字、升级文件总个数、n个文件校验描述子,所述n个文件校验描述子具体包括文件校验描述子1至文件校验描述子n;其中,所述文件校验描述子包括文件名长度、文件名、文件路径长度、文件路径、压缩后的文件长度、压缩后的文件crc校验值、原始文件长度、原始文件crc校验值;
A3. 定义升级文件包;所述步骤A3中定义升级文件包时,所述升级文件包的分区个数表示所述升级包下有多少个分区的升级文件,升级文件包的分区描述子具体包括分区ID,分区名字,分区文件模式,分区文件总个数,包分区文件个数,n个包分区文件描述子,所述n个包分区文件描述子包括包分区文件描述子1至包分区文件描述子n,其中,所述包分区文件描述子包括文件序号,文件名长度,文件名,文件路径长度,文件路径,压缩后的文件长度,压缩后的文件CRC,原始文件长度,原始文件CRC,文件切割模式,文件切割个数,文件切割描述子;
其中,定义升级文件包时具体包括定义以下内容:固定长度升级文件包标志字符串,包长度,升级包序号,分区个数,n个分区描述子,包文件1数据至包文件n数据,CRC校验;所述升级文件包的n个分区描述子包括升级文件包的分区描述子1至升级文件包的分区描述子n;
所述升级文件包的文件切割模式中有以下定义:文件切割模式为0时表示文件较小,不需要切割,文件切割模式为1时表示文件较大,需要切割为n个子段;
升级文件包的文件切割个数中有以下定义:当文件切割模式为0,则切割个数为1,即切割子段描述子里的内容为正常文件信息;
升级文件包的文件切割描述子包括:文件子段序号、子段数据长度、子段CRC、子段数据偏移地址;其中,文件子段序号对应文件切割个数;
所述步骤A3中定义升级包序号与步骤A1中定义升级文件包个数相对应,所述步骤A3的分区文件模式中定义0为单文件分区,1为多文件系统分区;所述步骤A3中定义升级文件总个数与步骤A2中定义分区校验描述子下的升级文件总个数相同;
升级文件包的包文件模式中定义:0表示多文件组合,1表示单文件切割,升级文件包的包文件个数是基于包文件模式,当包文件模式为0,表示该包下有n个升级文件,当包文件模式为1,表示该包下的一个升级文件S被切割成了n个小文件,后续跟随的包文件描述子只有1个,且描述子内的文件序号为升级文件S的子段,且序号为1、2…n;
所述包文件描述子包括文件序号、文件名长度、文件名、文件路径长度、文件路径、压缩后的文件长度、压缩后的文件CRC、原始文件长度、原始文件CRC、文件开始位置;所述文件开始位置为压缩文件数据在整个升级文件包里的偏移位置,当包文件模式为1时,文件开始位置为子段数据的偏移位置;
B.生成升级包;所述步骤B中生成升级包是使用服务器端的工具对各个分区的升级文件进行封包处理,具体包括:先设置每个升级包的大小;然后对各个分区的要升级的文件按大小进行组合,并按照步骤A3中的定义,将一些小的文件组合成一个升级文件包,然后将超大的文件拆分成符合要求的多个升级文件包;具体判别大小的标准可根据实际需求设定;
在封包过程中记录步骤A2定义的各字段信息,将所有分区的文件封包完成后,生成升级文件内容校验包;
然后通过工具进行数字电视的硬件版本处理,确定升级软件版本、软件版本判断模式、软件版本差值、升级总台数,开始序列号、结束序列号,服务器地址、升级类型;然后根据封包结果得到升级文件总个数以及各分区的升级描述子信息再计算出crc值,最后生成升级触发包;
C.进入升级流程:
C1. 服务器广播升级触发包、升级文件内容校验包;
C2. 数字电视接收到广播升级触发包、升级内容校验包,并处理;
C3. 数字电视向服务器申请升级文件包;
C4. 数字电视校验升级内容并进行软件升级更新;
C5. 服务器统计升级结果,并进行数据分析;
所述步骤C1具体包括:将广播升级触发包、升级文件内容校验包、升级文件包导入服务器;服务器循环向全网广播升级触发包以及升级文件内容校验包;并等待数字电视发出请求;
所述步骤C2具体包括:数字电视启动专门的进程去监控对应的端口,当检测到服务器广播的升级触发包时即捕获并分析出内容,然后根据升级触发包中定义的各字段来判断数字电视是否符合升级要求;若符合升级要求,则捕获升级内容校验包,并分析出内容;若在一定时间内未捕获到升级内容校验包,则略过升级内容校验包,并在步骤C3 中向服务器申请升级内容校验包,服务器则单独将升级内容校验包发送给数字电视;
所述步骤C3具体包括:
C3.1数字电视向服务器申请获取升级文件包:其中,申请分为两种模式:第一种为模糊申请,第二种为精确申请;
C3.2服务器接收到数字电视的请求,分析出请求的内容;如果是模糊申请,则根据服务器资源情况,优先发送瞬时请求量少的升级文件包,后续发送请求量大的升级文件包,使服务器资源处于相对均衡状态;如果是精确申请某个升级文件包,且同时又有其他数字电视端模糊申请该升级文件包,则优先发送该升级文件包给精确申请的客户端,后续发该升级文件包给模糊申请的客户端;
C3.3数字电视向服务器申请升级文件包后,则开始获取服务器发送回来的升级文件包,然后对升级文件包按升级文件包中的定义,反向将各分区的升级文件提取出来;若长时间收不到某个升级文件包,则向服务器发送精确申请,然后继续接收升级文件包;
C3.4 若仍然收不到数据,则结束升级文件包接收,向服务器发送升级失败的原因及结果,并结束升级;
C3.5在收到所有升级文件包后,首先对数据进行自身的准确性验证,包括分区个数、各分区下的升级文件个数、包内的文件长度、文件crc的验证,其次根据升级文件包的定义,对升级文件包进行分析,提取出压缩状态的各分区的升级文件,并与升级文件内容校验包内定义的数据进行比对,若数据不一致,则结束升级文件包接收,向服务器发送升级失败的原因及结果,并结束升级;
若文件数据均一致,则将压缩文件进行解压缩,得到原始状态的升级文件,并与升级文件内容校验包里的原始文件信息进行比对,若数据不一致,则结束升级文件包接收,向服务器发送升级失败的原因及结果,并结束升级;若数据一致则进入步骤C4;
所述步骤C4具体包括:
软件更新按照分区进行,并根据分区文件模式信息得到分区文件的具体写入方法;若分区为多文件系统分区,则根据升级文件问题的路径,去替换原有路径下的对应文件,所有文件更新完成后,发送升级成功信息给服务器,在确定服务器收到信息后,重启数字电视;
所述步骤C5具体包括:
服务器将各数字电视客户端反馈回来的升级结果信息进行统计、分析,生成升级结果反馈表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811302872.8A CN109189455B (zh) | 2018-11-02 | 2018-11-02 | 一种网络数字电视升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811302872.8A CN109189455B (zh) | 2018-11-02 | 2018-11-02 | 一种网络数字电视升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189455A CN109189455A (zh) | 2019-01-11 |
CN109189455B true CN109189455B (zh) | 2021-08-06 |
Family
ID=64941735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811302872.8A Active CN109189455B (zh) | 2018-11-02 | 2018-11-02 | 一种网络数字电视升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189455B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7673297B1 (en) * | 2003-09-03 | 2010-03-02 | The Directv Group, Inc. | Automatic software update detection and flexible installer for set-top boxes |
CN101710934A (zh) * | 2009-11-25 | 2010-05-19 | 中兴通讯股份有限公司 | 一种机顶盒版本升级的方法及系统 |
CN102222011A (zh) * | 2011-06-28 | 2011-10-19 | 广东中大讯通软件科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
CN102890638A (zh) * | 2012-09-29 | 2013-01-23 | 深圳市九洲电器有限公司 | 一种机顶盒升级方法 |
CN103092634A (zh) * | 2011-10-31 | 2013-05-08 | 四川长虹电器股份有限公司 | 一种多flash设备的机顶盒软件升级方法 |
CN103581710A (zh) * | 2013-10-28 | 2014-02-12 | 青岛海信宽带多媒体技术有限公司 | 升级服务器、机顶盒及其软件升级方法 |
CN107181971A (zh) * | 2017-05-22 | 2017-09-19 | 华为软件技术有限公司 | 一种iptv终端的升级方法及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2749462C (en) * | 2009-01-14 | 2017-05-02 | Telefonaktiebolaget Lm Ericsson (Publ) | An iptv device and a method adapted for such a device |
-
2018
- 2018-11-02 CN CN201811302872.8A patent/CN109189455B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7673297B1 (en) * | 2003-09-03 | 2010-03-02 | The Directv Group, Inc. | Automatic software update detection and flexible installer for set-top boxes |
CN101710934A (zh) * | 2009-11-25 | 2010-05-19 | 中兴通讯股份有限公司 | 一种机顶盒版本升级的方法及系统 |
CN102222011A (zh) * | 2011-06-28 | 2011-10-19 | 广东中大讯通软件科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
CN103092634A (zh) * | 2011-10-31 | 2013-05-08 | 四川长虹电器股份有限公司 | 一种多flash设备的机顶盒软件升级方法 |
CN102890638A (zh) * | 2012-09-29 | 2013-01-23 | 深圳市九洲电器有限公司 | 一种机顶盒升级方法 |
CN103581710A (zh) * | 2013-10-28 | 2014-02-12 | 青岛海信宽带多媒体技术有限公司 | 升级服务器、机顶盒及其软件升级方法 |
CN107181971A (zh) * | 2017-05-22 | 2017-09-19 | 华为软件技术有限公司 | 一种iptv终端的升级方法及相关设备 |
Non-Patent Citations (2)
Title |
---|
Over the air download for digital television receivers upgrade;Laisa C. P. Costa等;《IEEE Transactions on Consumer Electronics》;20100329;261-268 * |
嵌入式机顶盒改进Loader系统的设计与实现;彭毅弘;《电子测量技术》;20170331;182-185 * |
Also Published As
Publication number | Publication date |
---|---|
CN109189455A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149518B (zh) | 媒体数据的处理方法、系统、装置、设备以及存储介质 | |
CN105005521A (zh) | 测试方法及装置 | |
CN112600952B (zh) | 一种移动端网络加速分流方法和系统 | |
CN111490908B (zh) | 一种网络测速方法、装置、设备、介质及测速系统 | |
CN113688002A (zh) | 一种日志采集方法及相关装置 | |
US9084131B2 (en) | Data cut-over method and apparatus | |
CN109189455B (zh) | 一种网络数字电视升级方法 | |
US9104520B2 (en) | Method and apparatus for upgrading application | |
CN108322825A (zh) | 一种差分升级方法及系统 | |
CN111399895A (zh) | 客户端的更新方法、装置、电子设备及计算机可读介质 | |
CN109151590B (zh) | 一种双向数字电视升级方法 | |
CN107105350A (zh) | 信息装置和配送装置 | |
CN107544894B (zh) | 一种日志处理的方法、装置及服务器 | |
CN110674008B (zh) | Ssd的问题盘日志信息收集方法、装置、设备及介质 | |
CN113254045A (zh) | 软件初始化方法、系统及计算机可读存储介质 | |
CN111930482A (zh) | 基于节点集群的任务处理方法、装置、设备及存储介质 | |
CN104850431A (zh) | 基于fota升级的稳定处理方法和装置 | |
CN113207007B (zh) | 基于hls协议的直播录制方法 | |
CN110795225B (zh) | 一种调度任务的执行方法及系统 | |
CN114090386A (zh) | 一种监控Kubernetes运行的方法及系统 | |
CN105573893B (zh) | 一种软件监控方法和装置 | |
CN112346900B (zh) | 符号表的下载控制、堆栈解析方法、装置、设备及介质 | |
CN113297145B (zh) | 迁移报告的生成方法、装置、电子设备及计算机存储介质 | |
CN114124941B (zh) | m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统 | |
CN113806416B (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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190111 Assignee: Sichuan Changhong Xinwang Technology Co.,Ltd. Assignor: SICHUAN CHANGHONG ELECTRIC Co.,Ltd. Contract record no.: X2023980043949 Denomination of invention: A Method for Upgrading Network Digital Television Granted publication date: 20210806 License type: Common License Record date: 20231030 |
|
EE01 | Entry into force of recordation of patent licensing contract |