CN101945207B - 一种基于机顶盒升级数据的二维索引表快速缓冲方法 - Google Patents
一种基于机顶盒升级数据的二维索引表快速缓冲方法 Download PDFInfo
- Publication number
- CN101945207B CN101945207B CN 201010285813 CN201010285813A CN101945207B CN 101945207 B CN101945207 B CN 101945207B CN 201010285813 CN201010285813 CN 201010285813 CN 201010285813 A CN201010285813 A CN 201010285813A CN 101945207 B CN101945207 B CN 101945207B
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- value
- index table
- buffering area
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明提供一种基于机顶盒升级数据的二维索引表快速缓冲方法,在机顶盒系统中设置接收升级数据包的条件,并通过配置数据通道滤波器大批量获取升级数据包,并对接收到的升级数据包做分析和记录:分析相应数据包中的两个字段,来查询二维索引表中的对应表项目,当对应的表项中的值不为默认值时,则该对应的数据包已经接收到,否则在二维索引表中做相关记录;然后遍历二维索引表,根据索引表中的记录获取尚未接收到的数据包,修改机顶盒系统中数据接收通道的接收条件继续接收个别缺少的数据包。本发明可以达到机顶盒升级数据的快速被接收,从而减少了数据接收的时间,防止了机顶盒缓冲区的溢出。
Description
【技术领域】
本发明涉及一种机顶盒的升级数据的接收方法,尤其涉及一种基于机顶盒升级数据的二维索引表快速缓冲方法。
【背景技术】
随着数字电视终端行业的发展以及数字电视增值业务的不断推出,广电运营商有升级的要求;同时机顶盒供应商也有可能提出软件升级的要求用以解决已发现的软件缺陷。因此,机顶盒软件升级是现有机顶盒技术中非常重要的一个环节,而升级中的数据的获取接收的方法是升级技术的关键。运营商提供的升级数据一般打包成SECTION格式,以数据流的方式在有线信道上循环播出,一般应用程序通过配置数据通道滤波器获取数据包,滤波器获取数据需要知道每个包的具体包号,而普通获取数据包的方法是获取到一个数据包后,将数据包号增加一,获取下一个数据包。但数据流在有线信道上是以顺序轮播的方式播出,就是说一个特定的数据包,在整个升级流播发一遍的时间内只会出现一次,如果错过了接收该数据的时机,就必须等到升级流的发送循环一次才能得到该数据。这样就造成数据接收的时间需要很长。如果考虑中间的误码干扰等因素,数据接收的进度会非常缓慢。
【发明内容】
本发明要解决的技术问题,在于提供一种基于机顶盒升级数据的二维索引表快速缓冲方法,在进行机顶盒接收升级数据包时,采用二维表记录快速缓冲的数据的逻辑索引值,来查询对应的数据包是否完成接收,从而减少了数据接收的时间,防止了机顶盒缓冲区的溢出。
本发明是这样实现的:一种基于机顶盒升级数据的二维索引表快速缓冲方法,其特征在于,包括以下步骤:
步骤10、定义一个范围不大于线性队列最大值10×1024的逻辑索引,定义二维索引表,该表的两个维度分别与升级数据包中的两个字段相对应,所述两个字段为数据包中定义封装的字段Part_number、Section_number;所述Part_number表示该分段所属的机顶盒型号Part的序号,所述Section_number表示分段的序号;
步骤20、在机顶盒中设置一个缓冲区,初始化机顶盒系统以及二维索引表,将表项中的值都设为无效,并赋予一默认值,在机顶盒系统中设置接收升级数据包的条件;
步骤30、打开数据通道,通过滤波器连续将升级数据按顺序填入缓冲区中;
步骤40、在缓冲区接收升级数据包的过程中,缓冲区中的每个数据包的位置根据逻辑索引将对应的数据包保存到线性队列中,并将其对应的逻辑索引值填入二维表的两个字段相对应的位置中;
步骤50、监测数据包在缓冲区中的容量,判断缓冲区中数据包是否达到总容量的90%,否则返回步骤40,是则转入步骤60;
步骤60、关闭数据通道,用数据包中两个字段查询二维索引表中对应的表项目,判断表项目中的值是否为默认值,是则数据包尚未被接收,否则数据包已被接收,判断升级数据包是否被全部接收完毕,是则转入步骤70,否则根据索引表的记录获取尚未接收到的数据包,再修改机顶盒系统中的接收条件,返回步骤30;
步骤70、流程结束。
本发明具有如下优点:一种基于机顶盒升级数据的二维索引表快速缓冲方法,在机顶盒系统中设置接收升级数据包的条件,并通过配置数据通道滤波器获取升级数据包,分析相应数据包中的两个字段,来查询二维索引表中的对应表项目,当对应的表项中的值不为默认值时,则该对应的数据包已经接收到,然后遍历二维索引表,根据索引表中的记录获取尚未接收到的数据包,修改机顶盒系统中数据接收通道的接收条件继续接收个别缺少的数据包。这样可以达到机顶盒升级数据的快速被接收,从而减少了数据接收的时间,防止了机顶盒缓冲区的溢出。
【附图说明】
图1为本发明方法流程示意图。
图2是本发明的二维索引表。
图3是本发明以私有定义的表进行封装升级数据包。
【具体实施方式】
下面结合图1本发明方法流程示意图,对一种基于机顶盒升级数据的二维索引表快速缓冲方法作进一步的说明:
步骤10、定义一个范围不大于线性队列最大值10×1024的逻辑索引,定义二维索引表,该表的两个维度分别与升级数据包中的两个字段相对应,所述两个字段为数据包中定义封装的字段Part_number、Section_number;
步骤20、在机顶盒中设置一个缓冲区,初始化机顶盒系统以及二维索引表如图2所示,将表项中的值都设为无效,默认为-1,在机顶盒系统中设置接收升级数据包的条件;
步骤30、打开数据通道,通过滤波器连续将升级数据按顺序填入缓冲区中;
步骤40、在缓冲区接收升级数据包的过程中,缓冲区中的每个数据包的位置根据逻辑索引将对应的数据包保存到线性队列中,并将其对应的逻辑索引值填入二维表的两个字段相对应的位置中;
步骤50、监测数据包在缓冲区中的容量,判断缓冲区中数据包是否达到总容量的90%,否则返回步骤40,是则转入步骤60;
步骤60、关闭数据通道,用数据包中两个字段查询二维索引表中对应的表项目,判断表项目中的值是否为-1,是则数据包尚未被接收,否则数据包已被接收,判断升级数据包是否被全部接收完毕,是则转入步骤70,否则根据索引表的记录获取尚未接收到的数据包,再修改机顶盒系统中的接收条件,返回步骤30;
步骤70、流程结束。
其中所述的升级数据包按以下定义进行封装,其中结构如图3所示:
201、Table_id选用DVB标准中用户自定义表的值,取值范围0x80-0xFE。本标准暂定为0x80;
202、Section_length表示从该字段的下一字节开始到分段结束(包括CRC)的长度;
203、Part_number表示该分段所属的Part的序号,占用2个字节,仅后一字节有效,取值范围0-255;
204、Last_part_number表示最后一个Part的序号,取值范围0-255;
205、Section_number表示该分段的序号,取值范围0-255;
206、Last_section_number表示最后一个分段的序号,取值范围0-255;
207、Data_section需要打包传输,PID值应选取0x0015-0x1FFE之间的值,该PID值应与NIT表中Linkage_descriptor中的Download_PID一致。
在缓冲区接收升级数据包的过程中,通过2进程分别控制:
进程一(控制监控进程):控制数据包接收启动及结束;设置接收数据包中两个阶段的接收条件;监控数据接收进程,显示升级数据包接收进度。
进程二(数据接收,缓冲进程):循环接收数据,控制监控进程设置好接收条件并启动数据包接收,该进程就根据设置的接收条件接收数据,接收下的数据包按照一定规则缓冲并存储下来。根据控制监控进程判断数据包接收是否完整,控制该进程工作的结束。
下面结合一具体的实例,对一种基于机顶盒升级数据的二维索引表快速缓冲方法作进一步的说明:
步骤10、定义一个范围不大于线性队列最大值10×1024的逻辑索引如LdrSectDataIndex,定义二维索引表如图2所示,该表的两个维度分别与升级数据包中的两个字段相对应,两个字段分别为:PartNo、SectionNo(数据包中定义封装的字段Part_number、Section_number);
步骤20、在机顶盒中设置一个缓冲区,初始化机顶盒系统以及二维索引表,将表项中的值都设为无效,默认为-1,在机顶盒系统中设置接收升级数据包的条件,如这时要接收机顶盒的音量控制升级的数据包;
步骤30、打开数据通道,通过滤波器连续将升级数据按顺序填入缓冲区中;
步骤40、在缓冲区接收升级数据包的过程中,缓冲区中的每个数据包的位置根据逻辑索引将对应的数据包保存到线性队列中,并将其对应的逻辑索引值填入二维表的两个字段相对应的位置中,如其中一个逻辑索引值LdrSectDataIndex是3095(00,00);
步骤50、监测数据包在缓冲区中的容量,判断缓冲区中数据包是否达到总容量的90%,否则返回步骤40,是则转入步骤60;
步骤60、关闭数据通道,用数据包中两个字段PartNo和SectionNo(00,00)查询二维索引表中对应的表项目,判断表项目中的值是否为-1,是则数据包尚未被接收,否则数据包已被接收,由于这时要接收的数据包所对应的逻辑索引值是3095而非为-1,说明该数据包已经被接到了;然后逐一判断升级数据包是否被全部接收完毕,是,接收完毕则流程结束,否,则根据索引表的记录获取尚未接收到的数据包,如这时的数据包所对应的逻辑索引值是6058(6058在二维索引表中没有对应的值),其中该数据包并未被接收,此时再修改机顶盒系统中的接收条件,缩小接收的数据包条件(排除已经接收的数据包的条件),返回步骤30,继续接收个别缺少的数据包。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (2)
1.一种基于机顶盒升级数据的二维索引表快速缓冲方法,其特征在于,包括以下步骤:
步骤10、定义一个范围不大于线性队列最大值10×1024的逻辑索引,定义二维索引表,该表的两个维度分别与升级数据包中的两个字段相对应,所述两个字段为数据包中定义封装的字段Part_number、Section_number;所述Part_number表示该分段所属的机顶盒型号Part的序号,所述Section_number表示分段的序号;
步骤20、在机顶盒中设置一个缓冲区,初始化机顶盒系统以及二维索引表,将表项中的值都设为无效,并赋予一默认值,在机顶盒系统中设置接收升级数据包的条件;
步骤30、打开数据通道,通过滤波器连续将升级数据按顺序填入缓冲区中;
步骤40、在缓冲区接收升级数据包的过程中,缓冲区中的每个数据包的位置根据逻辑索引将对应的数据包保存到线性队列中,并将其对应的逻辑索引值填入二维表的两个字段相对应的位置中;
步骤50、监测数据包在缓冲区中的容量,判断缓冲区中数据包是否达到总容量的90%,否则返回步骤40,是则转入步骤60;
步骤60、关闭数据通道,用数据包中两个字段查询二维索引表中对应的表项目,判断表项目中的值是否为默认值,是则数据包尚未被接收,否则数据包已被接收,判断升级数据包是否被全部接收完毕,是则转入步骤70,否则根据索引表的记录获取尚未接收到的数据包,再修改机顶盒系统中的接收条件,返回步骤30;
步骤70、流程结束。
2.根据权利要求1所述的一种基于机顶盒升级数据的二维索引表快速缓冲方法,其特征在于:所述的升级数据包按以下定义进行封装:
201、Table_id选用DVB标准中用户自定义表的值,取值范围0x80-0xFE;本标准暂定为0x80;
202、Section_length表示从该字段的下一字节开始到分段结束的长度,该长度包括CRC字段长度;
203、Part_number表示该分段所属的机顶盒型号Part的序号,占用2个字节,仅后一字节有效,取值范围0-255;
204、Last_part_number表示最后一个机顶盒型号Part的序号,取值范围0-255;
205、Section_number表示该分段的序号,取值范围0-255;
206、Last_section_number表示最后一个分段的序号,取值范围0-255;
207、Data_section需要打包传输,PID值应选取0x0015-0x1FFE之间的值,该PID值应与NIT表中Linkage_descriptor中的Download_PID一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010285813 CN101945207B (zh) | 2010-09-17 | 2010-09-17 | 一种基于机顶盒升级数据的二维索引表快速缓冲方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010285813 CN101945207B (zh) | 2010-09-17 | 2010-09-17 | 一种基于机顶盒升级数据的二维索引表快速缓冲方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101945207A CN101945207A (zh) | 2011-01-12 |
CN101945207B true CN101945207B (zh) | 2013-01-16 |
Family
ID=43436955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010285813 Expired - Fee Related CN101945207B (zh) | 2010-09-17 | 2010-09-17 | 一种基于机顶盒升级数据的二维索引表快速缓冲方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101945207B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864404A (zh) * | 2017-11-20 | 2018-03-30 | 四川长虹电器股份有限公司 | 在机顶盒数据库实现不掉数据升级的方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809514B (zh) * | 2018-04-23 | 2021-01-12 | 华为技术有限公司 | 一种数据传输方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040237046A1 (en) * | 2003-05-19 | 2004-11-25 | Microsoft Corporation | Unicode transitional code point database |
CN1571502A (zh) * | 2004-05-09 | 2005-01-26 | 上海高清数字技术创新中心 | 一种检索业务信息数据的方法 |
CN101106637A (zh) * | 2006-07-13 | 2008-01-16 | 中兴通讯股份有限公司 | 通过机顶盒实现对外接存储设备的媒体文件播放的方法 |
US20080281982A1 (en) * | 2006-01-20 | 2008-11-13 | Brother Kogyo Kabushiki Kaisha | Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded |
-
2010
- 2010-09-17 CN CN 201010285813 patent/CN101945207B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040237046A1 (en) * | 2003-05-19 | 2004-11-25 | Microsoft Corporation | Unicode transitional code point database |
CN1571502A (zh) * | 2004-05-09 | 2005-01-26 | 上海高清数字技术创新中心 | 一种检索业务信息数据的方法 |
US20080281982A1 (en) * | 2006-01-20 | 2008-11-13 | Brother Kogyo Kabushiki Kaisha | Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded |
CN101106637A (zh) * | 2006-07-13 | 2008-01-16 | 中兴通讯股份有限公司 | 通过机顶盒实现对外接存储设备的媒体文件播放的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864404A (zh) * | 2017-11-20 | 2018-03-30 | 四川长虹电器股份有限公司 | 在机顶盒数据库实现不掉数据升级的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101945207A (zh) | 2011-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8717961B2 (en) | Method and apparatus for transmitting broadcast, method and apparatus for receiving broadcast | |
US7463586B2 (en) | Data transfer device to transfer repeat data from an upper station to a lower station | |
JP6293278B2 (ja) | 放送信号を送信及び受信するための装置及び方法 | |
US10623691B2 (en) | Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal | |
KR20170091166A (ko) | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 | |
CN111954030B (zh) | 广播信号发送和接收设备及广播信号发送和接收方法 | |
EP3242457B1 (en) | Broadcast signal transmission apparatus, broadcast signal receiving apparatus, broadcast signal transmission method, and broadcast signal receiving method | |
CN101668198A (zh) | 一种推送视频及数据内容实现本地点播的方法及系统 | |
CN101212671A (zh) | 一种低延迟的实时复用传输流的方法 | |
CA2382408A1 (en) | System and method for facilitating transmission of ip data over digital mpeg networks | |
US20050108701A1 (en) | Method for processing updated application data in headend or terminal of digital data broadcasting system | |
CN101945207B (zh) | 一种基于机顶盒升级数据的二维索引表快速缓冲方法 | |
CN105580342A (zh) | 发送广播信号的方法、接收广播信号的方法、发送广播信号的设备以及接收广播信号的设备 | |
CN105451042B (zh) | 一种基于机顶盒的文件升级系统及方法 | |
US10075568B2 (en) | Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal | |
CN104022844B (zh) | 一种匹配多种传输方式的数据封装方法及系统 | |
CN101198053B (zh) | 一种编码器中的视频数据自适应分割装置 | |
CN102149013B (zh) | 一种数字电视的数据处理系统及方法、数字电视接收终端 | |
CN101765005A (zh) | 利用dvb广播中ts包连续空字节实现数据传送的方法 | |
CN101232562A (zh) | 机顶盒及其软件升级方法与系统 | |
CN101771803A (zh) | 一种接收电子节目指南数据的方法 | |
CN108307204B (zh) | 一种基于多业务ts流的alp封装方法 | |
CN101217661A (zh) | 网络间封包修改器及其相关方法 | |
CN105376647B (zh) | 一种机顶盒嵌入android系统构架的方法 | |
CN112243159B (zh) | 基于dvb的数据处理、读取方法及服务器、终端以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130116 Termination date: 20190917 |