CN101720036B - 一种实现dvb数据多用户分发的系统 - Google Patents
一种实现dvb数据多用户分发的系统 Download PDFInfo
- Publication number
- CN101720036B CN101720036B CN2009102565284A CN200910256528A CN101720036B CN 101720036 B CN101720036 B CN 101720036B CN 2009102565284 A CN2009102565284 A CN 2009102565284A CN 200910256528 A CN200910256528 A CN 200910256528A CN 101720036 B CN101720036 B CN 101720036B
- Authority
- CN
- China
- Prior art keywords
- user
- data
- section
- management unit
- request
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种实现DVB数据多用户分发的系统,包括硬件通道单元及过滤单元,还包括系统管理单元,用于管理所述硬件通道单元及过滤单元;所述系统管理单元根据Section数据请求用户注册的回调函数,接收用户的数据请求,并为数据请求用户分配相应的硬件通道单元和过滤单元;然后控制所分配的硬件通道单元从TS传输流中获取用户请求的Section数据,控制所分配的过滤单元对所获取的Section数据进行过滤;最后,以用户注册的回调函数为用户提供相应的Section数据。该系统实现了多个用户同时请求数据时不会存在被阻塞的用户请求,保证用户快速获得所需要的数据。
Description
技术领域
本发明涉及一种数据的分发,具体地说,是涉及实现DVB数据多用户分发的系统,属于数据处理技术领域。
背景技术
在MPEG-II标准中,为了将一个或多个的音频、视频或其他的基本数据流合成单个或多个数据流,以便于存储和传送,需要对这些基本数据流重新进行打包编码形成新的码流。在新的码流中还需要插入各种时间标记、系统控制等信息,最后送到信道编码与调制器,并最终形成传输流进行传输。目前,常用的传输流有两种,一种为程序流PS,一种为传送流TS,分别适用于不同的应用。其中,TS传输流采用了固定长度的包结构,对传输误码具有较强的抵抗能力,因此,在电视节目传输领域得到广泛的应用。
在电视节目传输领域,业务信息SI、数字电视有条件接收CA、数据广播及电子节目指南EPG等用户需要的DVB数据在TS传输流中以Section数据为基本单元而存在,不同的用户需要从TS流中过滤出自身所需要的Section数据。在获取Section数据时,需要通过与包标识PID相关联的物理设备Slot作为硬件通道来传输数据,然后利用过滤单元Filter对数据进行过滤,以减少垃圾数据的信息量。现有机顶盒或一体机设备中,每一个Section数据请求用户均采用各自管理Slot及Filter等资源的工作机制,如果需要获取Section数据,就设置相应的资源实现对所需数据的接收和过滤。由于在一台机顶盒或一体机设备中,作为硬件通道的Slot的个数是有限的,且一个包标识PID在同一时间只能绑定到一个Slot上。因此,若存在多个用户同时请求相同包标识PID的数据,则只能响应一个用户的请求而阻塞其他用户的请求,从而引起用户数据获取速度较慢,甚至会导致获取数据失败,使得用户不能正常工作。
发明内容
本发明针对现有技术中多个用户对DVB数据资源产生冲突而导致数据获取速度缓慢、甚至获取数据失败的技术问题,提供了一种实现DVB数据多用户分发的系统,该系统实现了多个用户同时请求数据时不会存在被阻塞的用户请求,保证用户快速获得所需要的数据。
为解决上述技术问题,本发明采用以下技术方案予以实现:
一种实现DVB数据多用户分发的系统,包括若干个从TS流中获取Section数据的硬件通道单元,每个硬件通道单元对应一个或若干个过滤单元;所述系统还包括系统管理单元,用于管理所述硬件通道单元及过滤单元;所述系统管理单元根据Section数据请求用户注册的回调函数接收用户的数据请求,并为数据请求用户分配相应的硬件通道单元和过滤单元;然后控制所分配的硬件通道单元从TS传输流中获取用户请求的Section数据,控制所分配的过滤单元对所获取的Section数据进行过滤;最后,以用户注册的回调函数为用户提供相应的Section数据。
根据本发明,为便于统一控制,所述系统还包括通用接口,Section数据请求用户通过所述通用接口与所述系统管理单元进行通信。
根据本发明,所述系统管理单元根据Section数据请求用户设置的硬件通道参数信息为用户分配相应的硬件通道单元;根据Section数据请求用户的过滤条件信息为用户分配相应的过滤单元。
根据本发明,所述系统管理单元从TS传输流中获取用户请求的Section数据后,先将数据保存到指定的缓冲区中,然后再以用户注册的回调函数为用户提供相应的Section数据。
根据本发明,所述缓冲区包括用户缓存及系统缓存队列,所述系统管理单元根据获取的Section数据量的大小将数据保存到用户缓存或系统缓存队列中。具体为:在所述系统管理单元获取的Section数据量不大于用户缓存的存储量时,系统管理单元将该Section数据保存到用户缓存中;在所述系统管理单元获取的Section数据量大于用户缓存的存储量时,系统管理单元将该Section数据保存到系统缓存队列中。
根据本发明,所述系统管理单元将获取的Section数据保存到所述用户缓存时,采用消息队列方式与用户保持线程同步,以保证用户读取的Section数据的准确性和实时性。
根据本发明,在所述系统管理单元将获取的Section数据保存到所述系统缓存队列时,将记录Section数据的包标识PID、硬件通道标识及过滤单元标识,用于用户识别Section数据。
根据本发明,在Section数据请求用户结束数据请求时,系统管理单元释放该用户注册的回调函数,用于释放相应的硬件通道单元及过滤单元资源。
与现有技术相比,本发明的优点和积极效果是:本发明所述的实现DVB数据多用户分发的系统通过设置系统管理单元,对获取TS流中的Section数据的硬件通道单元及过滤单元进行统一的分配和管理,一方面,使得不同用户可以共享同一包标识PID对应的Section数据,保证在多个用户同时请求数据时不存在被阻塞的用户请求,保证用户能够获得所需要的数据;另一方面,数据处理单元获取TS流中的Section数据后,以回调函数的方式为用户提供所请求的数据,既使得用户可以快速及时地获得数据,保证了数据的实时性,又不会丢失数据,保证了数据的完整性。
附图说明
图1是本发明所述实现DVB数据多用户分发的系统一个实施例的结构框图;
图2是图1实施例的工作流程图。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
图1所示为本发明实现DVB数据多用户分发的系统一个实施例的结构框图。在该实施例的系统中,包括m个硬件通道单元,每个硬件通道单元均对应p个过滤单元。所述系统还包括系统管理单元,用于统一管理和分配所述m个硬件通道单元及所述p个过滤单元。所述系统还包括通用接口,外部的n个Section数据请求用户通过所述通用接口与所述系统管理单元进行通信,发出数据请求,并根据所述系统管理单元的反馈信息从系统中读取所需的Section数据。
该实施例的工作流程如图2所示。具体为:
S101:流程开始。
S102:初始化系统管理单元。
系统工作时,首先调用初始化函数初始化系统管理单元,便于用户发出相应的数据请求。
S103:初始化完成,等待用户注册回调函数,发出相应的数据请求。
S104、判断是否有通过通用接口发来的用户数据请求。若有数据请求,执行步骤S105;若无数据请求,转至步骤S103,继续等待。用户通过注册回调函数、并设定过滤条件,来发出相应的数据请求。
S105:在有用户数据请求时,系统管理单元为用户分配相应的硬件通道单元和过滤单元。
系统管理单元将根据用户的配置信息分配相应的硬件通道单元和过滤单元,具体为:所述系统管理单元根据Section数据请求用户函数中的硬件通道参数信息,如包标识PID、硬件通道标识等,为用户分配相应的硬件通道单元;根据Section数据请求用户的过滤条件信息为用户分配相应的过滤单元。
S106:系统管理单元在配置完相应的硬件资源后,激活Section数据接收任务。
S107:系统管理单元控制所分配的硬件通道单元从已接收的TS传输流中提取用户所需要的Section数据,然后控制所分配的过滤单元根据用户设定的过滤条件对该数据进行过滤,以获得更准确的数据,减少垃圾数据的信息量。一个硬件通道单元可以支持多个过滤单元同时工作。
S108:系统管理单元将过滤后的数据保存到指定缓冲区中。
系统内的缓冲区包括用户缓存和系统缓存队列,所述系统管理单元将根据获取的Section数据量的大小将数据保存到用户缓存或系统缓存队列中。具体方法为:在所述系统管理单元获取的Section数据量不大于用户缓存的存储量时,系统管理单元将该Section数据直接保存到用户缓存中;在所述系统管理单元获取的Section数据量大于用户缓存的存储量时,系统管理单元将该Section数据保存到系统缓存队列中,以防止数据丢失。
在将获取的Section数据保存到所述用户缓存时,采用消息队列方式与用户保持线程同步,以保证用户读取的Section数据的准确性和实时性。在将获取的Section数据保存到所述系统缓存队列时,将记录Section数据的包标识PID、硬件通道标识及过滤单元标识,用于用户识别Section数据。
S109:系统管理单元根据用户注册的回调函数通知用户接收数据,并以回调函数为用户提供数据,
S110:判断是否有其他用户数据请求。若有,执行步骤S111;若无,执行步骤S112。
S111:在有其他用户数据请求时,判断是否与当前用户所需数据相同,判断条件为用户设置的包标识PID以及相应的Section过滤条件。若与当前用户所需数据相同,转至步骤S109,直接以回调函数为该用户提供数据即可;若与当前用户所需数据不相同,则转至步骤S105,为该用户分配相应的硬件通道单元和过滤单元,获取用户所需的Section数据。
S112:若无其他用户数据,判断当前用户是否还有数据请求。若有,执行步骤S107,继续提取并过滤用户所需的Section数据;在该过程中,若当前用户的过滤条件发生变化,则根据用户发出的新的过滤条件为用户分配相应的过滤单元,实现对提取的Section数据的过滤。若当前用户无数据请求,执行步骤S113。
S113:在用户无数据请求时,系统管理单元将释放用户注册的回调函数,用于释放相应的硬件通道以及过滤单元资源。然后继续等待用户的再次数据请求。
S114:该次流程结束。
本发明由于采用系统管理单元对硬件通道单元及过滤单元进行统一管理,实行统一的分配和控制,在存在多个用户同时请求相同包标识PID的Section数据时,不会阻塞任一个用户的请求,且只需执行一次Section数据的提取,然后以回调函数方式为所有用户提供相应的数据,实行对用户请求的实时处理及数据的多用户分发,提高了用户获取数据的速度,并保证不会丢失数据,提高了系统性能。
当然,以上所述仅是本发明的一种优选实施方式而已,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种实现DVB数据多用户分发的系统,包括若干个从TS流中获取Section数据的硬件通道单元,每个硬件通道单元对应一个或若干个过滤单元,其特征在于,还包括系统管理单元,用于管理所述硬件通道单元及过滤单元;所述系统管理单元根据Section数据请求用户注册的回调函数接收用户的数据请求,并为数据请求用户分配相应的硬件通道单元和过滤单元;然后控制所分配的硬件通道单元从TS传输流中获取用户请求的Section数据,控制所分配的过滤单元对所获取的Section数据进行过滤;最后,以用户注册的回调函数为用户提供相应的Section数据;
所述系统管理单元从TS传输流中获取用户请求的Section数据后,先将数据保存到指定的缓冲区中,然后再以用户注册的回调函数为用户提供相应的Section数据;
并且判断是否还有其他用户数据请求,若有,判断是否与当前用户所需数据相同,若与当前用户所需数据相同,直接以回调函数为该用户提供数据;若与当前用户所需数据不相同,则为该用户分配相应的硬件通道单元和过滤单元,获取用户所需的Section数据;若无其他用户数据请求,判断当前用户是否还有数据请求,若有,继续提取并过滤用户所需的Section数据;若当前用户无数据请求,系统管理单元释放用户注册的回调函数,结束本次数据获取。
2.根据权利要求1所述的实现DVB数据多用户分发的系统,其特征在于,所述系统还包括通用接口,Section数据请求用户通过所述通用接口与所述系统管理单元进行通信。
3.根据权利要求2所述的实现DVB数据多用户分发的系统,其特征在于,所述系统管理单元根据Section数据请求用户的硬件通道参数信息为用户分配相应的硬件通道单元。
4.根据权利要求3所述的实现DVB数据多用户分发的系统,其特征在于,所述系统管理单元根据Section数据请求用户的过滤条件信息为用户分配相应的过滤单元。
5.根据权利要求1至4中任一项所述的实现DVB数据多用户分发的系统,其特征在于,所述缓冲区包括用户缓存及系统缓存队列,所述系统管理单元根据获取的Section数据量的大小将数据保存到用户缓存或系统缓存队列中。
6.根据权利要求5所述的实现DVB数据多用户分发的系统,其特征在于,在所述系统管理单元获取的Section数据量不大于用户缓存的存储量时,系统管理单元将该Section数据保存到用户缓存中;在所述系统管理单元获取的Section数据量大于用户缓存的存储量时,系统管理单元将该Section数据保存到系统缓存队列中。
7.根据权利要求6所述的实现DVB数据多用户分发的系统,其特征在于,所述系统管理单元将获取的Section数据保存到所述用户缓存时,采用消息队列方式与用户保持线程同步。
8.根据权利要求6所述的实现DVB数据多用户分发的系统,其特征在于,在所述系统管理单元将获取的Section数据保存到所述系统缓存队列时,记录所述系统缓存队列的状态。
9.根据权利要求1至4中任一项所述的实现DVB数据多用户分发的系统,其特征在于,在Section数据请求用户结束数据请求时,系统管理单元释放该用户注册的回调函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102565284A CN101720036B (zh) | 2009-12-15 | 2009-12-15 | 一种实现dvb数据多用户分发的系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102565284A CN101720036B (zh) | 2009-12-15 | 2009-12-15 | 一种实现dvb数据多用户分发的系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101720036A CN101720036A (zh) | 2010-06-02 |
CN101720036B true CN101720036B (zh) | 2011-11-16 |
Family
ID=42434538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102565284A Active CN101720036B (zh) | 2009-12-15 | 2009-12-15 | 一种实现dvb数据多用户分发的系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101720036B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686164A (zh) | 2012-09-06 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 自动适配硬件编解码的方法及系统及模块 |
CN103826153A (zh) * | 2012-11-19 | 2014-05-28 | 联想(北京)有限公司 | 一种视频流输出方法、装置及系统 |
CN103002339B (zh) * | 2012-12-06 | 2016-03-23 | 青岛海信宽带多媒体技术有限公司 | 获取解复用数据的方法和装置 |
CN103902388B (zh) * | 2012-12-28 | 2017-10-03 | 北京壹人壹本信息科技有限公司 | 应用之间进行通信的方法和电子设备 |
CN103368966B (zh) * | 2013-07-18 | 2016-08-17 | 北京网鼎芯睿科技有限公司 | 服务器系统和数据流的传输方法 |
CN104410895B (zh) * | 2014-12-17 | 2018-01-09 | 青岛海信宽带多媒体技术有限公司 | 实现dvb数据多模块分发的方法及装置 |
CN105578287B (zh) * | 2016-01-28 | 2019-02-05 | 深圳国微技术有限公司 | 一种高码率传输流的传输方法、装置以及高清数字电视 |
CN109688066B (zh) * | 2018-12-29 | 2020-11-13 | 合肥埃科光电科技有限公司 | 一种基于GigE Vision的网口过滤驱动方法 |
CN112040317B (zh) * | 2020-08-21 | 2022-08-09 | 海信视像科技股份有限公司 | 事件响应方法及显示设备 |
CN113225508B (zh) * | 2021-04-29 | 2022-09-23 | 中山亿联智能科技有限公司 | 基于录制方式实现的获取Section方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1025138C (zh) * | 1988-04-27 | 1994-06-22 | 亚特兰大科研公司 | 动态回叫技术 |
WO2002028085A2 (en) * | 2000-09-29 | 2002-04-04 | Sun Microsystems, Inc. | Reusing decoded multimedia data for multiple users |
JP2006262091A (ja) * | 2005-03-17 | 2006-09-28 | Seiko Epson Corp | デジタル放送受信装置 |
JP2008135012A (ja) * | 2007-10-18 | 2008-06-12 | Matsushita Electric Ind Co Ltd | 端末装置 |
CN101478785A (zh) * | 2009-01-21 | 2009-07-08 | 华为技术有限公司 | 资源池管理系统及信号处理方法 |
-
2009
- 2009-12-15 CN CN2009102565284A patent/CN101720036B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1025138C (zh) * | 1988-04-27 | 1994-06-22 | 亚特兰大科研公司 | 动态回叫技术 |
WO2002028085A2 (en) * | 2000-09-29 | 2002-04-04 | Sun Microsystems, Inc. | Reusing decoded multimedia data for multiple users |
JP2006262091A (ja) * | 2005-03-17 | 2006-09-28 | Seiko Epson Corp | デジタル放送受信装置 |
JP2008135012A (ja) * | 2007-10-18 | 2008-06-12 | Matsushita Electric Ind Co Ltd | 端末装置 |
CN101478785A (zh) * | 2009-01-21 | 2009-07-08 | 华为技术有限公司 | 资源池管理系统及信号处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101720036A (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101720036B (zh) | 一种实现dvb数据多用户分发的系统 | |
US11012728B2 (en) | Predictive allocation of multimedia server resources | |
US9781482B2 (en) | Techniques for upgrading software in a video content network | |
US9554166B2 (en) | Methods and apparatus for providing multi-source bandwidth sharing management | |
JP5567501B2 (ja) | 顧客pvr−ネットワークベースdvr間の同期方法 | |
CN101652974A (zh) | Ip网络中用于动态带宽管理的方法、装置和计算机程序产品 | |
EP2196022A1 (en) | Method and apparatus for determining bandwidth savings achieved by transforming selected broadcast channels | |
CA2448262A1 (en) | System and method for scheduling the distribution of assets from multiple asset providers to multiple receivers | |
KR100693061B1 (ko) | Ip tv 서비스 제공 방법 및 그 장치 | |
EP1596598A2 (en) | System for the transmission and reception of radio or television data | |
JP2017517166A (ja) | 一組のテレビチャネルの伝送を最適化する方法 | |
CN1572074A (zh) | 控制被分成各组的多个节点来只执行消息一次,或者使用snmp或其组合 | |
CN101095349A (zh) | 用于分配网关服务器中的接收资源的方法和系统 | |
KR20120039980A (ko) | 통합 방송 분배 장치 및 그 방법 | |
US20080101359A1 (en) | Multicast communication resource management apparatus and methods | |
US20130268989A1 (en) | Method and system for dynamically alocating popular content | |
WO2009085622A1 (en) | Method and apparatus for scheduling a recording of an upcoming sdv program deliverable over a content delivery system | |
US8826356B2 (en) | Cable modem and data receiving method thereof | |
CN103002339B (zh) | 获取解复用数据的方法和装置 | |
WO2006075884A1 (en) | Apparatus and method for resource management in data broadcast receiver | |
CN105917659A (zh) | 服务提供商网络中的节目记录的混合存储 | |
US20180063559A1 (en) | Method and apparatus for controlling transmission of switched digital video service | |
CN106161382A (zh) | 一种多媒体文件控制方法和系统 | |
CN104093086A (zh) | 基于双向机顶盒的视频点播系统和方法 | |
CN108540820A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |