CN101720037B - 一种dvb数据的动态缓存方法 - Google Patents
一种dvb数据的动态缓存方法 Download PDFInfo
- Publication number
- CN101720037B CN101720037B CN2009102565320A CN200910256532A CN101720037B CN 101720037 B CN101720037 B CN 101720037B CN 2009102565320 A CN2009102565320 A CN 2009102565320A CN 200910256532 A CN200910256532 A CN 200910256532A CN 101720037 B CN101720037 B CN 101720037B
- Authority
- CN
- China
- Prior art keywords
- data
- control information
- data segment
- index
- receives
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种DVB数据的动态缓存方法,包括下述步骤:在内存中划分一个数据存储队列和一个控制信息存储队列作为公共队列,分别用于存储数据信息和控制信息;以硬件通道单元slot和过滤单元filter为基本单元,设置若干个索引;在其中某个索引接收到数据段时,从所述数据存储队列中为该索引分配数据存储单元,以存储数据段的数据信息,从所述控制信息存储队列中为该索引分配控制信息存储单元,以存储数据段的控制信息。本发明所述的方法通过动态地为各个slot分配缓存空间,实现各个slot数据负载均衡的目的,节省了数据处理所需要的内存空间,提高了内存空间的利用率。
Description
技术领域
本发明涉及一种数据的存储方法,具体地说,是涉及一种DVB数据的动态缓存方法,属于数据处理技术领域。
背景技术
随着数字电视技术的不断发展,数字电视增值业务成为数字电视发展的一个重要内容。与此同时,数字电视产业的分工也日益明确,逐渐形成了运营商、终端设备厂商、增值业务系统集成提供商等不同的领域,从而触发了三者的集成应用。
作为数字电视增值业务传输的通用标准,DVB标准提供了一套完整的、适用于不同媒介的数字电视广播系统规范。该规范的定义有其自身的特点:数据以数据段section为单位,以硬件通道单元slot和过滤单元filter为索引;一个频点中存在多个slot的并发数据等。从TS传输流中获取的section数据需要先在内存中进行缓存,现有技术存在两种数据的缓存方法:
一种方法是采用一个先入先出的FIFO动态队列进行缓存,其存储结构如图1所示。由于多个slot的数据是并发的,因此,某个slot对应的section数据的到来时无序的,如图1所示。这样一来,如果要接收其中一个slot,如slot2的全部现有数据就比较困难。
另一种缓存方法是采用固定分配内存,即为每个slot分配一块固定的缓存空间,如图2的存储结构所示,每个solt均分配同样大小的n个存储单元构成的缓存队列。该缓存方法虽然能够方便地获取每个slot对应的全部数据,但其存在下述缺陷:由于slot之间的使用频率是不一样的,例如,大多数时候只使用slot1,slot2和slot3使用频率很少。这样,不仅会浪费slot2和slot3所分配的缓存空间,而且在slot1对应的数据较多时,造成slot1的缓存空间不足,造成缓存空间利用率较低。
此外,上述的两种缓存方法均没有考虑数据重复性和变化性的问题。所谓数据重复性的含义是:由于DVB的增值业务数据是轮播的,一旦设置了slot和filter,就会不断地获取到符合条件的数据。如果数据处理不及时,缓存队列中就会存在许多重复的数据,占用了缓存空间。所述数据变化性的含义是:有的数据段的版本会发生变化,在版本变化时要求及时获取新版本的数据。上述两种方法均没有涉及对数据重复性和变化性该如何进行判断和处理。
发明内容
本发明针对现有技术中DVB数据缓存存在的上述缺点和不足,提供了一种DVB数据的动态缓存方法,通过动态地为各个slot分配缓存空间,实现各个slot数据负载均衡的目的,节省了数据处理所需要的内存空间,提高了内存空间的利用率。
本发明的目的之一是动态均衡各个slot的缓存空间,实现各个slot数据负载均衡。
本发明的目的之二是将多个动态队列相结合,高效地实现数据重复性和变化性的判断及处理。
为实现本发明的第一个目的,采用以下技术方案:
一种DVB数据的动态缓存方法,包括下述步骤:
在内存中划分一个数据存储队列和一个控制信息存储队列作为公共队列,分别用于存储数据信息和控制信息;
以硬件通道单元slot和过滤单元filter为基本单元,设置若干个索引;
在其中某个索引接收到数据段时,从所述数据存储队列中为该索引分配数据存储单元,以存储数据段的数据信息,从所述控制信息存储队列中为该索引分配控制信息存储单元,以存储数据段的控制信息。
根据本发明,在索引中的数据处理完毕后,将其对应的数据存储单元和控制信息存储单元分别释放至所述数据存储队列和所述控制信息存储队列。
根据本发明,所述控制信息包括数据段的子表ID、数据段编号及数据段版本号。
为实现本发明的第二个目的中对重复性数据的判断和处理,同时为减少队列存储单元的占用,在索引接收到新的数据段时,采用下述步骤进行存储:
a、判断索引中已存在的控制信息存储单元中是否有新接收的数据段的子表ID信息,并根据判断结果决定是否从所述控制信息存储队列中为该索引分配控制信息存储单元;
b、在索引中已存在的控制信息存储单元中有新接收的数据段的子表ID信息时,再判断索引中已存在的控制信息存储单元中是否有新接收的数据段的编号信息,并根据判断结果决定是否从所述数据存储队列中为该索引分配数据存储单元。
根据本发明,在所述步骤a中,若索引中已存在的控制信息存储单元中没有新接收的数据段的子表ID信息,则从所述数据存储队列中为该索引分配数据存储单元、从所述控制信息存储队列中为该索引分配控制信息存储单元,分别存储新接收的数据段的数据和控制信息。
根据本发明,在所述步骤b中,若索引中已存在的控制信息存储单元中有新接收的数据段的编号信息,则丢弃所述新接收的数据段。
根据本发明,在所述步骤b中,若索引中已存在的控制信息存储单元中没有新接收的数据段的编号信息,则从所述数据存储队列中为该索引分配数据存储单元,存储新接收的数据段的数据,并在相应的控制信息存储单元中保存新接收的数据段的编号信息。
为实现本发明的第二个目的中对变化性数据的判断和处理,在所述步骤a之前,还包括判断新接收的数据段是否需要监控版本的步骤。
若新接收的数据段不需要监控版本,直接执行所述步骤a;
若新接收的数据段需要监控版本,首先根据数据段版本号判断新接收的数据段版本是否变化;在新接收的数据段版本变化时,先清除索引中已存在的控制信息存储单元中的数据段编号信息,然后执行所述步骤a;在新接收的数据段版本未变化时,再执行所述步骤a。
根据本发明,在DVB数据接收系统接收到新的数据段时,根据数据段的硬件通道单元slot和过滤单元filter判断接收到的数据段所属的索引。
与现有技术相比,本发明的优点和积极效果是:
1、本发明通过在内存中设置公共的数据存储队列和控制信息存储队列,在每个数据段slot及过滤单元filter构成的索引接收到数据段时,从公共存储队列中为其分配相应的数据存储单元和控制信息存储单元,而在索引中的数据处理完毕后,将相应的数据存储单元和控制信息存储单元再释放到相应的公共队列中,实现了对每个硬件通道单元slot动态分配缓存空间的目的。利用本方法,既方便了对每个slot中的数据段的读取,又提高了内存空间的利用率,有效解决了现有技术中有些slot对应的缓存空间空闲、有些slot对应的缓存空间不足的问题。
2、本发明利用数据存储单元和控制信息存储单元的结合,根据控制信息存储单元中的数据段控制信息,对索引接收的数据段的重复性及变化性进行判断和处理,有效实现了数据的无重复性接收和监控数据版本变化的要求,节省了缓存空间,提高了接收设备的性能。
附图说明
图1是现有技术一种DVB数据的存储结构示意图;
图2是现有技术另一种DVB数据的存储结构示意图;
图3是本发明所述的DVB数据的动态缓存方法一个实施例的存储结构示意图;
图4是图3实施例的基本原理图;
图5是图4实施例中缓存数据的具体处理流程图。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
参见图3和图4,其中,图3是本发明所述的DVB数据的动态缓存方法一个实施例的存储结构示意图,图4是该实施例的基本原理图。
该实施例的基本思想是:在DVB数据接收系统中,为了便于处理缓存中的数据,同时充分利用缓存空间,该实施例首先在内存中划分一个数据存储队列和一个控制信息存储队列作为公共队列,分别用于存储数据信息和控制信息。其中,数据存储队列中包括有n个数据存储单元,控制信息存储队列中包括有m个控制信息存储单元。然后以硬件通道单元slot和过滤单元Filter为基本单元,设置若干个索引。在其中某个索引接收到数据段时,如索引1接收到数据段section,从所述数据存储队列中为该索引分配数据存储单元1,用于存储数据段的数据信息;从所述控制信息存储队列中为该索引分配控制信息存储单元1,用于存储该数据段的控制信息。
具体地,所述控制信息包括数据段的子表ID、数据段编号及数据段版本号。其中,子表ID用于标识该数据段所属的子表;数据段版本号用于标识数据段的版本变化情况;而数据段编号用来区分不同的数据段。在该实施例中,控制信息存储单元中设置有数据段编号位置标识,该标识是一个包含有256bit的一个单元。由于数据段编号范围是0-255,所以,数据段编号位置标识正好与数据段编号相对应。数据段编号位置标识在初始状态时各位均为0,每收到一个数据段,根据其编号将数据段编号位置标识中的相应位置位为1。这样,通过查询数据段编号位置标识的各位,就能判断已接收的数据段的编号。
在索引中的数据处理完毕后,将其对应的数据存储单元及控制信息存储单元分别释放至数据存储队列和控制信息存储队列中,可为其他索引再进行分配。这样一来,在DVB数据接收系统最繁忙的时候,可以把所有的数据存储队列及控制信息存储队列中的存储单元都用上,有效解决了现有存储方法中有些solt存储空间空闲、而有些slot存储空间不足的问题,有效利用了缓存空间。
图5示出了图4实施例中缓存数据的具体处理流程图。在该实施例中,在对数据进行动态缓存的同时,充分考虑了数据的重复性和变化性的判断和处理,数据缓存的具体流程如下:
S101:DVB数据接收系统接收到数据段数据。
S102:根据数据段的硬件通道单元slot和过滤单元filter判断接收的数据段所属的索引。
S103:首先判断接收的数据是否需要监控版本。若需要监控版本,执行步骤S104;若不需要监控版本,转至步骤S106。
S104:在需要监控版本时,根据数据段版本号判断数据段版本是否发生变化。若发生变化,执行步骤S105;若未发生变化,转至步骤S106。
S105:在数据段版本发生变化时,首先清除索引中已存在的控制信息存储单元中的数据段编号信息,即将控制信息存储单元中的数据段编号位置标识的各位清零。然后执行步骤S106。
若该数据是接收的第一个数据,则不会存在相应的版本号信息,在索引中存在控制信息存储单元时,直接将其数据段编号位置标识的各位清零;在索引中不存在控制信息存储单元时,则直接执行步骤S106;若该数据不是接收的第一个数据,则根据索引中已存在的控制信息存储单元中的数据段版本号来判断新接收的数据段版本号是否发生了变化。在版本号发生变化时,为了接收新版本的数据,需要将用于判断数据段是否接收过的控制信息存储单元中的数据段编号位置标识的各位清零,以保证能够接收相同数据段编号的数据。
S106:在不需要监控数据段版本号或监控数据段版本号、但版本没有发生变化,或数据段版本发生了变化且已将索引中已存在的控制信息存储单元中的数据段编号清除之后,判断索引中已存在的控制信息存储单元中是否有新接收的数据段的子表ID信息。若判断结果为是,执行步骤S109;若判断结果为否,执行步骤S107。
S107:若索引中已存在的控制信息存储单元中没有新接收的数据段的子表ID信息,则从所述数据存储队列中为该索引分配数据存储单元,存储数据段的数据。然后执行步骤S108。
S108:从所述控制信息存储队列中为该索引分配控制信息存储单元,用来存储接收的数据段的控制信息,包括子表ID、数据段编号及数据段版本号。
S109:在索引中已存在的控制信息存储单元中有新接收的数据段的子表ID信息时,不需要再为接收的数据取控制信息存储单元。此时,需要先判断索引中已存在的控制信息存储单元中是否有新接收的数据段的编号信息,即查看控制信息存储单元中与该数据段编号相对应的数据段编号位置标识的位是否置1。若判断结果为是,执行步骤S110;若判断结果为否,转至步骤S111。
S110:在索引中已存在的控制信息存储单元中有新接收的数据段的编号信息时,说明该索引已经接收到该数据,为避免数据重复而占用缓存空间,直接丢弃所述新接收的数据段,不再为其分配数据存储单元。
S111:若索引中已存在的控制信息存储单元中没有新接收的数据段的编号信息,则从所述数据存储队列中为该索引分配数据存储单元,存储新接收的数据段的数据。然后执行步骤S112、
S112:在索引中已存在的相应的控制信息存储单元中保存接收的数据段的编号信息。具体为:将与接收的数据段的子表ID相同的控制信息存储单元中的数据段编号位置标识的对应位置1。
根据上述流程对DVB接收系统接收的数据进行动态缓存,即能最大限度地利用系统缓存空间,而且,还能够判断重复接收的数据,并将重复接收的数据丢弃,避免占用缓存空间。此外,还可以对数据的数据段版本号进行监控,在要求版本变化时及时获取新的数据的系统中,实现对变化后的数据的判断和接收处理。
本发明根据DVB数据的特点,采用新的数据存储结构和存储方法,提高了接收数据缓存空间的利用率,有效实现了数据的无重复性接收和监控数据变化的要求,提高了DVB数据接收设备的性能。本发明所述的方法可广泛应用在数字电视机顶盒、IPTV、移动电视等DVB数据接收设备上。
当然,以上所述仅是本发明的一种优选实施方式而已,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种DVB数据的动态缓存方法,其特征在于,包括下述步骤:
在内存中划分一个数据存储队列和一个控制信息存储队列作为公共队列,分别用于存储数据信息和控制信息;
以硬件通道单元slot和过滤单元filter为基本单元,设置若干个索引;
在其中某个索引接收到数据段时,从所述数据存储队列中为该索引分配数据存储单元,以存储数据段的数据信息;从所述控制信息存储队列中为该索引分配控制信息存储单元,以存储数据段的控制信息;
在索引中的数据处理完毕后,将其对应的数据存储单元和控制信息存储单元分别释放至所述数据存储队列和所述控制信息存储队列。
2.根据权利要求1所述的DVB数据的动态缓存方法,其特征在于,所述控制信息包括数据段的子表ID、数据段编号及数据段版本号。
3.根据权利要求2所述的DVB数据的动态缓存方法,其特征在于,在索引接收到新的数据段时,采用下述步骤进行存储:
a、判断索引中已存在的控制信息存储单元中是否有新接收的数据段的子表ID信息,并根据判断结果决定是否从所述控制信息存储队列中为该索引分配控制信息存储单元;
b、在索引中已存在的控制信息存储单元中有新接收的数据段的子表ID信息时,再判断索引中已存在的控制信息存储单元中是否有新接收的数据段的编号信息,并根据判断结果决定是否从所述数据存储队列中为该索引分配数据存储单元;
在所述步骤a中,若索引中已存在的控制信息存储单元中没有新接收的数据段的子表ID信息,则从所述数据存储队列中为该索引分配数据存储单元、从所述控制信息存储队列中为该索引分配控制信息存储单元,分别存储新接收的数据段的数据和控制信息;
在所述步骤b中,若索引中已存在的控制信息存储单元中有新接收的数据段的编号信息,则丢弃所述新接收的数据段;
若索引中已存在的控制信息存储单元中没有新接收的数据段的编号信息,则从所述数据存储队列中为该索引分配数据存储单元,存储新接收的数据段的数据,并在相应的控制信息存储单元中保存新接收的数据段的编号信息。
4.根据权利要求3所述的DVB数据的动态缓存方法,其特征在于,在所述步骤a之前,还包括判断新接收的数据段是否需要监控版本的步骤。
5.根据权利要求4所述的DVB数据的动态缓存方法,其特征在于,
若新接收的数据段不需要监控版本,直接执行所述步骤a;
若新接收的数据段需要监控版本,首先根据数据段版本号判断新接收的数据段版本是否变化;在新接收的数据段版本变化时,先清除索引中已存在的控制信息存储单元中的数据段编号信息,然后执行所述步骤a;在新接收的数据段版本未变化时,再执行所述步骤a。
6.根据权利要求1至3中任一项所述的DVB数据的动态缓存方法,其特征在于,根据数据段的硬件通道单元slot和过滤单元filter判断接收到的数据段所属的索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102565320A CN101720037B (zh) | 2009-12-17 | 2009-12-17 | 一种dvb数据的动态缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102565320A CN101720037B (zh) | 2009-12-17 | 2009-12-17 | 一种dvb数据的动态缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101720037A CN101720037A (zh) | 2010-06-02 |
CN101720037B true CN101720037B (zh) | 2011-10-12 |
Family
ID=42434539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102565320A Expired - Fee Related CN101720037B (zh) | 2009-12-17 | 2009-12-17 | 一种dvb数据的动态缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101720037B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710981B (zh) * | 2012-05-08 | 2015-12-16 | 深圳市九洲电器有限公司 | 一种基于机顶盒的数据接收处理方法及装置 |
CN104639280B (zh) | 2013-11-11 | 2019-09-13 | 深圳市中兴微电子技术有限公司 | 一种传输多路时分业务的方法及装置 |
US9849361B2 (en) * | 2014-05-14 | 2017-12-26 | Adidas Ag | Sports ball athletic activity monitoring methods and systems |
CN104505109B (zh) * | 2014-12-29 | 2017-06-30 | 珠海全志科技股份有限公司 | 多媒体播放器的音轨切换方法、系统及对应播放器和设备 |
CN105554573B (zh) * | 2015-12-11 | 2019-04-26 | 深圳创维数字技术有限公司 | 一种机顶盒数据处理方法及机顶盒 |
CN106487711B (zh) * | 2016-10-13 | 2020-02-21 | 福建星海通信科技有限公司 | 一种缓存动态分配的方法以及系统 |
CN113747213A (zh) * | 2021-09-06 | 2021-12-03 | 合肥润东通信科技股份有限公司 | 一种基于同轴网关实现dvb广播视频高效转发的系统及方法 |
-
2009
- 2009-12-17 CN CN2009102565320A patent/CN101720037B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101720037A (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101720037B (zh) | 一种dvb数据的动态缓存方法 | |
CN108234348B (zh) | 一种队列操作中的处理方法及装置 | |
CN103560848A (zh) | 用于利用空闲带宽的技术 | |
CN101547150A (zh) | 数据通信输入端口调度的方法及装置 | |
CN104246723B (zh) | 片内共享缓存的管理方法及装置 | |
CN103389945B (zh) | 一种内存管理的方法及装置 | |
CN102298556B (zh) | 数据流识别方法及装置 | |
CN105872849B (zh) | 一种基于fpga的网络传输实时音视频纠错方法及系统 | |
CN104199729B (zh) | 一种资源管理方法及系统 | |
CN1825902A (zh) | 用于频道映射更新的图像再现设备及其方法 | |
CN1658660A (zh) | 有线电视接收器从非模块调谐模式切换到模块调谐模式的方法和装置 | |
CN101047816A (zh) | 使用数字广播接收功能来管理广播服务信息的移动终端及方法 | |
CN101771803A (zh) | 一种接收电子节目指南数据的方法 | |
CN103401888A (zh) | 多媒体数据的接收与处理方法和装置 | |
RU2010132103A (ru) | Способ широковещательной передачи цифровых данных | |
CN102143399B (zh) | 一种机顶盒存台极限的测试方法、服务器及系统 | |
CN101426142A (zh) | 一种传输流再复用方法 | |
CN102244819B (zh) | 数字电视接收终端、基于qam的锁频系统及锁频方法 | |
CN104253713A (zh) | 一种监控环境下存储、读取数据包的方法及对应的装置 | |
CN101594526B (zh) | 一种数字电视机中对网络信息表的查找方法及数字电视机 | |
CN103885888B (zh) | 基于tlsf的嵌入式实时系统的内存管理方法、系统及装置 | |
CN101924865B (zh) | 机顶盒数据快速获取的方法 | |
JP2005333474A (ja) | フィルタリング装置及びデジタル放送受信装置 | |
CN101998505B (zh) | Hsdpa数据缓存方法和移动终端 | |
EP2077033A1 (en) | System and method for accommodation of digital and analog channel number conflicts |
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 |
Granted publication date: 20111012 Termination date: 20191217 |
|
CF01 | Termination of patent right due to non-payment of annual fee |