一种高效传送数据流的方法

文档序号:9202958阅读:332来源:国知局
一种高效传送数据流的方法
【技术领域】
[0001]本发明涉及计算机化的多媒体服务器,具体地说,涉及这种系统中高效率地在各装置之间诸如从一个磁盘存储子系统至一个网络或图像解码卡传送数据流的技术。
【背景技术】
[0002]多媒体系统通常涉及大量表示高密多媒体数据的数据流,它们必需以非常高的效率传送通过系统。一个有代表性的例子是“视频点播”服务系统。人们已经研宄了各种方法,力图高效率地使数据通过这些系统。这些系统有许多用众所周知的Unix操作系统或其派生系统作为它们的操作系统,正如通常在那些实现多媒体内容投送系统的用户服务器环境中可以看到的那样。
[0003]但是这种基于Unix的系统的固有严重不足之处是其中传送数据所采用的机制并没有如所需的那样在涉及非常复杂的多媒体数据流的系统中使效率最佳化。
[0004]因此,业界急需一种高效传送数据流的方法,来使得目前的市场情况加以改善。

【发明内容】

[0005]为了克服上述现有技术中存在的技术缺陷,本发明的目的在于提供一种高效传送数据流的方法。
[0006]为了实现上述发明目的,本发明的技术方案如下:
一种高效传送数据流的方法,其用于在多媒体数据流系统中用预先存在的文件系统支持对一个数据流文件执行零拷贝功能,所述的多媒体数据流系统包括:多个各支持一组零拷贝功能接口的不同现有文件系统中的一个现有文件系统、一个使一个产生模块和一个用户模块连接的VCS、一个与共享存储器连接的大容量存储装置、一个用户装置、一个多媒体文件系统后台进程和一个配置在所述用户装置和用户模块之间的装置驱动器;
所述方法包括下列步骤:建立一个与所述多个不同现有文件系统相连的通用文件系统接口 ;以及调用所述通用文件系统接口,,一控制系统,以实现从所述产生模块到所述用户模块的所述数据流的零拷贝传送。
[0007]进一步的,所述方法还包括下列步骤:从所述产生模块向所述输出登记服务发送一个功能调用,以得到所述产生模块可用来调用所述内核扩展的所述功能描述符。
[0008]更进一步的,所述方法还包括下列步骤:用所述VCS调用所述产生模块,以使所述产生模块验证所述数据流文件是否符合所述零拷贝功能的要求。
[0009]其中,所述验证步骤包括对数据结构进行初始化和检验与所述数据流文件相关的一些参数。
[0010]优选的,所述方法还包括下列步骤:从所述产生模块调用所述内核服务扩展,以得到支持从中断语境传送数据的缓存器的标识,从而确定所述数据流在所述大容量存储装置内的位置并可在中断语境加以检索。
[0011]更优选的,所述方法还包括下列步骤:从所述产生模块向所述内核服务扩展传送一个指示符,指明所述系统随时可以准备与所述数据流文件对应的需从所述大容量存储装置传送经所述共享存储器内缓存器的数据。
[0012]常规子系统进行高效率传送多媒体数据流信息所出现的其他一些问题,使本发明采取了相应的革新措施,包括:在中断级寻找和锁定缓存器,向后台进程传送预取信息,以在中断级需要文件数据缓存器前预先加以领取,用并行写入器对文件进行串行化,以及更概括地说,提供在VCS框架内支持零拷贝的通用文件系统接口,以便使数据的传输更加高效。
【具体实施方式】
[0013]下面结合具体实施例对本发明的技术方案做进一步详细的描述说明。
[0014]本实施例提供了零拷贝或VCS子系统,它的功能与一个更为传统的系统中的各组成部分的配合情况。数据输出口主要是用来建立磁盘驱动器和文件系统与诸如ADEC那样的图像解码卡之间的连接。概括地说,输出口提供以流水线方式对产生器和用户装置的互连。一旦连接建立,数据输出口通过控制至VCS提供一个连接,用来通过VCS直接控制文件系统和通信装置之间的数据流动。
图像连接子系统的总体功能是以最佳方式控制多媒体文件系统(MMFS)、产生模块和用户模块之间的数据流动。用户模块例如可以是一个包括例如ADECNAR和基本上处于流水线输出那一侧的相应ADEC适配卡的图像解码器。产生模块可以是一个诸如可以部分体现在多个常用的磁盘驱动器或一个RAID阵列中的磁盘驱动系统和文件系统那样的存储子系统。产生模块起着另一个可以是具有现有常用结构的诸如文件系统那样的文件系统与VCS之间的中介作用。VCS本身有一组管理数据流动的接口,因此产生模块实质上起着响应来自VCS的请求对文件系统进行相应调用以获得所请求的数据的中介作用。
[0015]内核扩展显然是处于操作系统内核之中,而后台进程在应用空间内执行。这说明了为什么控制流程是从VCS到产生器模块到内核扩展再到后台进程,VCS、产生器模块和内核扩展都在内核内,一直通达由应用空间中的后台进程所代表的用户级。
本发明的基本目的是实现必需的多媒体数据传送而不需要对数据进行拷贝占用开销。已经知道,能够在不将数据取入存储器的情况下在各装置之间传送数据。
[0016]在图像服务器环境中,可能感兴趣的是将数据取入存储器,因为如果有两个用户希望播放同一个节目,那么这些多个请求可以用存储器中的单个拷贝来满足(然而如果在装置之间直接传送相同的数据,那么这数据就必需在物理上传送两次)。因此,在这个用户可以希望接入相同数据的图像服务器环境中,能够利用存储器的缓冲特性是有意义的。本发明的模型是基于这样的设想:数据将取入存储器和希望得到单个数据拷贝,所选择的方案基本上是使文件系统提供这单个拷贝。
文件系统传统上是在过程语境内运行的。在这个语境内,文件系统中传送数据的传统方式是从一个用户级程序对内核进行“读”系统调用,得到从盘读入一个内核缓存器的文件的特定数据范围,然后再将它拷贝到用户缓存器。另一方面,如果需要将数据写到网络上,那么就发出一个“写”系统调用,数据从用户存储器反向传送到内核,再从内核缓存器传送给网络装置。
[0017]本发明所研宄的一个问题涉及图像连接子系统可以支持的模型。具体地说,需要的是这样的一个系统,它能在Unix或Unix派生的环境(诸如IBM公司的AIX) TM(操作系统)内以能限制CPU开销和拷贝数据所占用的开销的方式进行操作。VCS
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1