一种通过文件系统访问轮播数据的方法转让专利

申请号 : CN200410018173.2

文献号 : CN1784005B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 方向忠廖洪涛孙海生

申请人 : 意法半导体有限公司

摘要 :

本发明涉及一种通过文件访问轮播数据的方法,特别是指一种在数字电视接收设备中基于数据轮播格式和协议对数据进行随机访问和有效提取的技术。属于数字电视接收技术领域。轮播数据是根据ISO/13818-6的数据传输协议在数字电视领域所应用的数据传播技术,但在标准大协议中,它并不与文件系统相关联,数据的获取实际上比较繁琐。本发明在于提供一种方法将数据存于一个缓存中,并且将它与一种文件系统(如虚拟文件VFS)相关联起来,使得对轮播数据的访问将象对本地文件的访问一样,可以随机进行,达到高效快捷访问数据的目的。

权利要求 :

1.一种通过文件系统访问轮播数据的方法,其特征在于,包括:

1)通过Service Gateway模块获取轮播数据信息;

2)根据Service Gateway模块接口指示,将获取的轮播数据信息装载入Cache缓存数据模块中,进行轮播数据与文件系统模块的关联;

3)通过文件系统模块进行数据访问;

其中,所述文件系统为虚拟文件系统VFS;

将轮播数据与虚拟文件系统VFS关联的操作包括:

A.定义DSM-CC文件系统的类型;

B.定义文件系统super_block和inode的结构;

C.定义文件系统super_operation操作的方法;

D.定义文件系统file inode操作的方法;

E.定义文件系统dir inode操作的方法;

F.定义文件系统file_operation读写的方法;

G.定义文件系统dir operation目录操作的读取方法;

H.定义DSM-CC文件系统注册到虚拟文件系统VFS的方法;

I.定义DSM-CC文件系统的注销方法。

2.根据权利要求1所述的一种通过文件系统访问轮播数据的方法,其特征在于,在所述1)中的获取轮播数据信息包括:装载程序映射表PMT,分析stream_identifier_descriptor描述子,装载事件信息表EI T或业务描述表SDT,分析data_broadcast_descriptor描述子,获取数据播发的包标识符PID信息、轮播的类型和轮播的级别;调用MBT_SilGetCarouselInfo函数获取需要的data_broadcast_descriptor描述子。

3.根据权利要求1所述的一种通过文件系统访问轮播数据的方法,其特征在于,在所述2)中的将获取的轮播数据信息装载入Cache数据模块时,首先装载服务下载初始化DSI和下载信息说明DII消息。

4.根据权利要求1所述的一种通过文件系统访问轮播数据的方法,其特征在于,在所述2)中的进行轮播数据与文件系统的关联包括:在DSM-CC启动时,根据获得的data_broadcast_descriptor描述子,调用MBT_DlAttachGateway函数将对应的轮播数据挂载到文件系统上。

5.根据权利要求4所述的一种通过文件系统访问轮播数据的方法,其特征在于,调用MBT_DIDetachGateway函数取消所述轮播数据与文件系统的关联并卸载文件系统。

6.根据权利要求1-5任一项所述的一种通过文件系统访问轮播数据的方法,其特征在于,所述文件系统为树形文件系统。

7.根据权利要求1-5任一项所述的一种通过文件系统访问轮播数据的方法,其特征在于,该方法处理的具体的数据轮播格式和协议为符合ISO/IEC 13818-6标准所规范的数据轮播和对象轮播或者为通过其他传输协议传送的其他格式数据。

说明书 :

技术领域

本发明涉及一种通过文件随机访问轮播数据的方法,特别是指一种在数字电视接收设备中基于数据轮播格式和协议技术对数据进行随机访问和有效提取的技术。属于数字电视接收技术领域。

背景技术

数字电视接收设备泛指能够接收、解码和显示数字电视信号的硬件设备,它应用于数字电视领域,是模拟电视数字化得以实现的终端(见图1)。数字电视接收设备所接收的是数字化的图像和数据信息,因此,不同于传统的模拟电视信号的接收与处理,数字电视接收设备对数字化的图像信息和数据的接收及处理是通过其内部的CPU及与其相连接的外围器件进行的。接收系统就是在相应的硬件及操作系统的基础上开发出数字电视接收设备适用的应用程序;同样,一些专业的数字广播内容服务商也需要根据不同的数字电视接收设备的硬件性能和功能开发出相应的服务软件。
在电视台或电视运营商的广播设备中,音机频信号与数据内容经过前端的复用器混合,形成传输流(TS流)。传输流经过调制形成电磁信号传送到数字电视接收设备中。数字电视接收设备(机顶盒)工作的原理如下:
调谐/选择模块接受到电磁信号并选择一定范围的带宽。
解调模块才巳信号转换为数据流(Bitstreams)。
解复用模块从数据流(Bitstreams)中抽出期望信息并将其以合适的方式提供给不同的解码器,它包括与条件接收模块合作的解扰器。
视频解码模块转换显示的图像序列中的视频位流。
音频解码模块转换模拟音频信号中的音频位流。
图形引擎建立图形层在发送之前将其和对PAL/INTSC的模拟信号请求中的视频混合。
前面控制板部分负责解释通过接收遥控器、无线键盘或前面板发出的用户命令。
视频位流与音频位流经过图像处理器与图像相混合,变成模拟的音视频信号,输出到显示屏(电视机)上。数据流则通过解复用器流入到CPU中,由在中央处理器(CPU)上运行的系统程序进行处理。处理的结果可以与音视频流一起进行混合,输出到显示器件上。
数字电视在原有音视频业务的基础上增加了大量的数据业务,数据通过轮播方式循环与数字电视信号一起通过TS流的方式广播到数字电视接收设备。数据轮播技术是根据ISO/IEC 13818-6标准DSM-CC技术而规定的。数据轮播方式主要有数据转盘和对象转盘两种。数字电视广播用的数据转盘是建立在DSM-CC数据转盘基础之上的,转盘中的数据以模块的形式发送,每个模块又被分割成多个大小相同的数据块。数字电视广播用的对象转盘是建立在DSM-CC对象转盘基础之上的,每个转盘代表一个特殊的服务域,该域由DSM-CC U-U对象集合构成,这些对象包括文件、目录、事件、以及流事件。根据ISO/I EC13818-6标准,数据轮播协议使用消息来封装数据与控制信息,要广播的数据的目录结构信息由数据表格服务下载初始化DSI(DownloadServerInitiate)消息和下载信息说明DII(DownloadInfoIndirection)消息传送,将实际的数据文件放入数据转盘协议所定义的DownloadDataB lock(DDB)消息中进行传送。在一个数据轮播中,除每个模块的最后一个数据块外,模块的所有数据块都具有同样的长度。模块是逻辑上独立的数据的集合,多个模块可以组成一个组(Group),多个组(Group)则组成一个超级组(SuperGroup)。服务下载初始化DSI消息描述了在超级组中的组的信息;下载信息说明DI I消息描述了组中的模块的信息。接收设备根据控制消息可以决定接收哪些模块。轮播数据的播发格式见图2。
在现代的计算技术中,数据的组织结构一般通过文件系统来实现。虚拟文件系统(VFS)是一种常用的文件系统组织结构技术。而在数字电视领域,由于通过DSM-CC方式广播的数据是通过表结构的形式广播的,如何将轮播数据与VFS文件系统结合与关联起来目前并没有特定的技术。
不管是数据转盘方法还是对象转盘方法都能够通过轮播的方式传送数据。然而,要获取这些数据,需要将它们即时装载,存放于缓存中。但是对于需要使用这些数据的应用而言,上述方法非常的不方便,耗时繁琐。本发明的方法就是针对传统技术的不足而提出的解决办法。

发明内容

本发明要解决的技术问题是一种文件系统访问轮播数据的方法。该方法的好处是通过在数字电视接收设备设置一个数据缓冲区,从数字电视数据信号中获取的通过轮播协议传输的数据存储于数据缓冲区,数据缓冲区与文件系统相联,应用时直接以普通文件的方式访问数据,从而消除轮播数据获取的繁琐。
本发明通过以下的技术方案使以上问题得到解决。本发明的方法在于设定一种缓存,通过传统的文件系统(如通过虚拟文件系统VFS)与此缓存相关联,当需要获取轮播数据时,只需打开和读取相应的文件,从而方使使用,提高数字电视接收设备的反应速度和数据利用效率。
下面详细说明本发明的技术方案。
本方法的步骤:
本发明提供一种基于DSM-CC转盘的传输方法,通过目录文件系统的方式来获取数据。不管是DSM-CC数据转盘协议(Data Carousel)还是对象转盘协议(Object Carousel),本方法对于它们都是适用的。这两种协议的不同只是体现在数据装载方式的不同而已。下面以数据转盘(或称数据轮播)为例来说明如何建立缓存和将文件系统与轮播数据关联起来,从而达到通过文件系统来有效获取数据的目的。
要进行DSM-CC轮播数据的装载,并将它们与文件系统进行关联,
一般有下列几个子模块:
1.Service Gateway:负责提供对外公用接口,并且协调该系统各个模块的任务执行;
2.Cache:负责存储有关的文件数据,并提供技寻和删除功能;
3.DSM FS:DSM文件系统,提供与上层文件系统进行关联的操作接口。
Cache(缓存)的作用:cache用来存取已经装载的数据,使得无需经常地装载数据。当缓存一个Carousel时,将首先接收所有的服务下载初始化DS I和下载信息说明DII消息,将整个文件系统结构缓存下来,但应用调用某个文件时,临时从信道中获取,并缓存下来。当使用完一个文件并被关闭后,可以将其所占用内存也被释放。Cache的结构以DDB作为缓存的基本单元,一个Carousel对应Group链表,每个Group节点指向一个MoGule链表,每个Module节点指向一个DDB链表。Cache的结构见图5。
与文件系统的关联(DSM FS):DSM-CC数据cache本身并没有一个约定俗成的文件系统,为了数据获取的方便,应该将Cache数据与一个文件系统关联,使得可以通过文件系统来访问数据。上层的文件系统的组织结构与Cache的组织并不需要相同。DSM-CC与文件系统(如VFS)一般需要定义文件系统关联必须的数据结构和函数。
下面通过附图对本发明的方法来做进一步的说明。

附图说明

图1是数字电视设备工作的框图。数字电视信号进入接收设备,经过解调和解复用模块的处理,将音视频信号和数据信号分开,数据信号中所携带的事件信息数据经过处理和存储,用于显示在电手见机屏幕上。
图2显示了轮播数据的组织结构。在数据轮播中,传输的数据被存储到模块(Module)中;而每个模块被分成若干数据块(Block)。在一个数据轮播中,除每个模块的最后一个数据块外,模块的所有数据块都具有同样的长度。模块是逻辑上独立的数据的集合,多个模块可以组成一个组(Group),多个纽(Group)则组成一个超级组(SuperGroup)。数据轮播协议使用消息来封装数据与控制信息。数据由DDB消息携带;控制则由下载信息说明DII,服务下载初始化DSI等消息携带。服务下载初始化DSI消息描述了在超级组中的组的信息;下载信息说明DII消息描述了组中的模块的信息。接收设备根据控制消息可以决定接收哪些模块。
图3显示了文件系统的结构。在本发明中,Flash模块作为文件系统的一个驱动,它是可读可写的存储模块;DSMCC作为文件系统的另一个驱动,它是可读而不可写的,因为它是一个循环轮播的系统,写是没有意义的。
图4显示了DSM-CC数据的模块结构以及与文件系统的关联。Org.dvb.dsmcc模块通过SG接口指示需要将某个轮播(Carousel)装载入Cache。然后VFS使可以通过文件系统的常用函数进行数据的访问。
图5显示了Cache的组织结构:Cache采用层次存储结构,按DSI(Carousel Node)->DI I(Group Node)->Module分类。
以下结合具体的实施实例对本发明作进一步的详细说明。

具体实施方式

具体的实施方式如下:
1.获得轮播数据的信息
装载程序映射表PMT,分析stream_identifier_descriptor描述子,装载事件信息表EIT或业务描述表SDT,分析data_broadcast_descriptor描述子,获取数据播发的包标识符PID信息和轮播的类型和轮播的级别等信息。
调用MBT_SilGetCarouselInfo()获取需要的data_broadcast_descriptor描述子。
2.关联轮播
在DSM-CC模块启动时,根据获得的data_broadcast_descriptor描述子,调用MBT_DIAttachGateway()将对应的数据轮播挂载到VFS的文件系统上。
调用MBT_DIDetachGateway()可以取消关联,并卸载DSM-CC文件系统。
在关联轮播数据时,需要装载服务下载初始化DSI和下载信息说明DII表以获取具体的数据组织结构。与虚拟文件系统VFS关联时,需要进行以下的操作:
a)定义DSM-CC文件系统的类型:其名称为:″dsmfs″;
b)定义文件系统super_block和inode的结构;
c)定义文件系统super_operation操作的三个方法:void(*read_inode)(structinode*),void(*put_super)(struct super_block*),int(*statfs)(struct super_block*,struct statfs*,int)
d)定义文件系统file inode操作需要的四个方法:dsmfs_file_operations,dsmfs_file_inode_create,dsmfs_inode_lookup,dsmfs_inode_unlink;
e)定义文件系统dir inode操作需要的三个方法:dsmfs_dir_operations,dsmfs_inode_lookup,dsmfs_inode_unlink;
f)定义文件系统file_operation读写的三个方法:dsmfs_file_read,dsmfs_file_write,dsmfs_file_readdir\
g)定义文件系统dir operation目录操作的读取方法:dsmfs_dir_readdir;
h)定义DSM-CC文件系统注册到VFS文件系统的方法:
register_filesystem(&dsmfs_fs_type);
i)定义DSM-CC文件系统的注销的方法:
unregister_filesystem(&romfs_fs_type)。
按照上述步骤,通过实现所述的结构和方法,将DSM-CC与VFS文件系统就关联了起来。
3.文件操作
调用VFS文件系统操作的函数访问文件,此时装载DDB消息以提供具体的数据。
最后所应说明的是:本发明提供的是一种通过文件系统访问轮播数据的方法及其设计思想,以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。