CN1195274C - 基于集群视频服务器的节目源分片分布式存储方法 - Google Patents

基于集群视频服务器的节目源分片分布式存储方法 Download PDF

Info

Publication number
CN1195274C
CN1195274C CNB031185436A CN03118543A CN1195274C CN 1195274 C CN1195274 C CN 1195274C CN B031185436 A CNB031185436 A CN B031185436A CN 03118543 A CN03118543 A CN 03118543A CN 1195274 C CN1195274 C CN 1195274C
Authority
CN
China
Prior art keywords
burst
media
file
stream
slicing files
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
Application number
CNB031185436A
Other languages
English (en)
Other versions
CN1434386A (zh
Inventor
金海�
廖小飞
胡琼华
庞丽萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CNB031185436A priority Critical patent/CN1195274C/zh
Publication of CN1434386A publication Critical patent/CN1434386A/zh
Priority to US10/763,422 priority patent/US8667158B2/en
Priority to KR1020040004687A priority patent/KR101138897B1/ko
Application granted granted Critical
Publication of CN1195274C publication Critical patent/CN1195274C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K13/00Devices for grooming or caring of animals, e.g. curry-combs; Fetlock rings; Tail-holders; Devices for preventing crib-biting; Washing devices; Protection against weather conditions or insects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47CCHAIRS; SOFAS; BEDS
    • A47C27/00Spring, stuffed or fluid mattresses or cushions specially adapted for chairs, beds or sofas
    • A47C27/08Fluid mattresses or cushions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Zoology (AREA)
  • Animal Husbandry (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

基于集群视频服务器电影资源的节目分片分布式存储方法,属于信息处理与存储方法,顺序包括下列步骤:①流媒体网络报文定义步骤,同时执行流媒体分布式控制文件定义步骤和分片文件定义步骤,②流媒体源文件信息获取步骤,同时执行用户需求信息与获取步骤,③分片文件放置策略定义步骤,④流媒体文件分析与分片任务列表生成步骤,⑤分片任务执行,⑥分片传递存储步骤。本方法运用集群服务器的分布式调度、流媒体格式标准分析、流媒体数据切割以及流媒体实时传输协议实现技术,优点:提高系统读取媒体数据的速度、提高系统资源利用率、增加连接用户数目、广泛支持任何媒体格式、有利于分布式录制功能的实现、有利于简化流媒体客户端的设计。

Description

一种基于集群视频服务器的节目源分片分布式存储方法
技术领域
本发明属于信息处理与存储方法,其具体涉及并行分布式处理技术与视频处理技术相结合的交叉领域,适用于集群的视频服务器节目源分片分布存储方法。
背景技术
随着宽带网络、声音图像数字编码技术的发展,流媒体、富媒体的应用越来越普及。在这些应用中重要的基础设施是视频服务器。为满足应用的需要,视频服务器对计算机性能有着特殊的要求。媒体服务有数据量大、实时要求高等特点,一般的单机服务器由于CPU、内存、网络和硬盘的瓶颈,通常只能服务几十个用户,不能满足媒体服务应用;而国外高性能的服务器则价格非常昂贵。
集群技术因其高度可扩展性和廉价的成本为视频服务器的实现提供了一个良好的技术基础。集群系统的显著技术特点是存储单元的分散性、单个节点的自治性以及控制的可集中性。基于这样的特点,集群架构的视频服务器越来越成为人们关注研究的一个领域。
基于集群的视频服务器,关键技术之一是实现电影资源(节目源)的分布式存储。每一部电影都需要按照一定的方法进行切割分片,从而能够分散地存储在集群的每一个存储节点上。因此寻找高效率、高可用、高通用性的电影资源的分片分布式存储的方法成为亟待解决的一个重要的问题。
电影资源的存储有两种典型的解决方法。一种是从电影资源本身的播放时间入手,按照等长的电影播放时间把一个电影文件切割成多个分片(P.Shenoy,P.Goyal,and H.M.Vin,“Issues in Multimedia Server Design”,ACM Computing Surveys,Vol.27,No.4,pp.636-639,December 1995);另一种方法则是从电影资源的空间大小着手,按照大小相等的电影存储空间将电影文件切割成为多个小片(P.Shenoy and H.M.Vin.“EfficientStriping Techniques for Multimedia File Servers”,Proceedings of the7th International Workshop on Network and Operating System Support forDigital Audio and V”标志”eo(NOSSDAV’97),pp.25-36,May 1997)。前者实质是按照相等时间长度分片,后者则是按照相等空间大小分片。从特点上来讲,这两种方都存在着一些不能忽视的问题。相等时间分片的策略实现起来比较复杂。因为一方面,每一种媒体格式从媒体数据的压缩比率到存储格式都是完全不同的;另一方面,即使是同一种媒体格式的文件中,不同阶段的场景变换完全不可预测,导致画面的丰富程度不同,因此相等时间长度的媒体数据的存储空间大小不同。这两个原因导致该方法实现的复杂度。其次,该方法不具备通用性,对每一种媒体格式的处理因其格式标准的不同将是完全不同的。对于相等空间大小的策略用于媒体访问的一些随机命令将不能够方便的获得处理。因为,既然是按照空间大小分片,就可能存在一个媒体电影中的不同媒体流在某一个分片中不能同步,最终导致电影播放的质量问题。其次,这种方法导致了需要在跨越两台节点的相继分片媒体文件上的同步操作。这种操作一方面降低了系统处理多个同时在线流的性能,另一方面也使视频服务器媒体数据接口模块的实现难度加剧,控制节点与数据节点的内部通信量加大。
以上两种方法(按时间分片的方法与按空间大小分片的方法)实现的模块结构都包含如下四个部分:用户需求信息与获取模块、分片文件定义模块、流媒体文件信息获取模块、分片执行模块。这些模块在这两种方法中的意义是有区别的。如用户需求信息与获取模块,其主要功能是获取用户对于分片的要求,按时间分片的方法中,是获取每一个分片的时间长度;但是在按空间大小分片的方法中,是获取每一个分片的空间大小。分片文件定义模块在这两种方法之间的差别也是如此,在按照时间分片的方法中,流媒体文件信息获取模块主要获取每一个时间点所对应的空间位置;而在按照空间大小分片的方法中,工作简单一些,主要是获取对应大小的空间位置。这两种方法在分片执行模块是一样的。
发明内容
本发明针对现有的集群视频服务器的电影资源分片分布式存储系统的不足,提出了一种基于集群视频服务器的节目源分片分布式存储方法。
本发明采用的是一种按照时间长度和按照空间长度相结合的新的分片方法;并采用分片分布式存储的方法,以更充分发挥集群系统的并行处理的特点。
为实现上述发明目的,本发明的基于集群视频服务器的分片分布式存储方法顺序包括如下步骤:
(1)执行流媒体网络报文定义步骤,给出网络报文的结构。同时执行流媒体分布式控制文件定义步骤和分片文件定义步骤,定义媒体分布式控制文件的结构和分片文件的总体结构;
(2)执行流媒体源文件信息获取步骤,获取媒体源文件的基本信息,同时执行用户需求信息与获取步骤,接受用户的基本分片要求;
(3)执行分片文件放置策略定义步骤,得到用户所定义的分片文件放置要求;
(4)执行流媒体文件分析与分片任务列表生成步骤,分析用户所定义的分片文件放置要求和媒体源文件,得到分片任务列表以及相应的控制信息文件;
(5)执行分片任务执行步骤,根据源文件分片数目建立多个处理线程,每个线程执行一个分片任务;
(6)分片传递存储步骤,依据分片文件放置策略定义步骤所定义的放置要求,把相应的分片文件传递到相应的的存储节点上。
所述的基于集群视频服务器的节目源分片分布式存储方法,其进一步的特征如下:
(1)所述流媒体网络报文定义步骤定义遵从国际实时传输协议的流媒体数据报文主体部分的格式,包括媒体类型头、序列号、时间戳、同步源和主体数据;
(2)所述流媒体源文件分布控制文件定义步骤包括分片信息索引文件Index和会话描述协议文件SDP,分片信息索引文件Index包括播放任务列表、电影资源文件名、电影资源空间大小、电影资源时间长度、电影资源分片数目、电影资源热点度组成,会话描述协议文件SDP包括媒体类型编号、电影资源包含的媒体流的数目、电影资源的时间长度、客户会话的唯一表示码;
(3)所述分片文件定义步骤定义分片文件结构,包括分片文件头部、媒体流信息头、媒体流数据包;
(4)所述流媒体源文件信息获取步骤依据媒体源文件的逻辑时间特点,读取媒体源文件的逻辑时间单元,对于每一个逻辑时间单元获取其头部的时间信息、媒体流的个数,如此循环执行,直至完成所有逻辑时间单元,得到总的播放的时间长度、空间大小,并依据该媒体格式的规定,获取媒体格式类型“标志”;
(5)所述用户需求信息与获取步骤包括分片时间要求与获取步骤和分片放置策略要求与获取步骤;
(6)所述分片文件放置定义步骤,包含数据放置策略选择项、电影资源热点级别选择项以及可供调用的数据放置实现算法;
(7)所述流媒体文件分析与分片任务列表生成步骤,通过获得分片文件放置策略信息,得到用户定义的分片文件放置要求,同时分析媒体源文件以寻找每一个分片文件在源文件中的空间时间偏移量以及网络报文的序列号范围,在次基础上,产生分片任务列表;
(8)所述分片任务执行步骤需先读取分片信息索引文件Index,取得电影资源分片数目,以此数目建立多个处理线程,其次继续读取分片信息索引文件Index,获得播放任务列表,把该列表每个表项的内容交给相应的处理线程,从而建立分片任务,然后对于任意一个分片任务,在电影资源文件中定位所规定的空间位置,寻找媒体数据的解码单元包标志Pack,当遇到此标志时,就读出这个数据单元,并按照流媒体网络报文定义步骤的规定,分割成若干个流媒体网络数据包。并写入相应的分片文件;循环操作,直至所有相关的数据单元都完全读完。
本发明综合运用了媒体格式标准综合分析技术、流媒体数据切割技术、流媒体实时传输协议实现技术,结合了传统的按照时间长度和按照空间长度进行分片的两种方法的优点,并充分挖掘了集群系统的特点。具体而言,本发明具有以下特点。
(1)高通用性
本系统理论上完全支持所有现存的媒体格式,并不依赖于某种特定的媒体格式。尽管不同的媒体格式存在不同的编码速率以及存储格式,但是它们无一例外的都有一个共同的特点,即都是以时间为线索来组织媒体数据,并存储在介质上的。因此,本系统设计与媒体格式无关的上层包装,用于封装具体的、变化多样的媒体数据。对于视频服务器本身而言,它最终所看到的媒体数据都是格式一致相同的。
(2)高可用性
由本发明所创建的分片分布式媒体数据的存储系统是稳定可靠的,并以一种单一的格式标准与视频服务器上层的读写接口交互,使得文件读写接口显得简单、稳定、可靠。由于视频服务器端底层的读写接口简单明了,明显地降低了整个服务器的出错概率,增加了整个服务器的可靠性。
(3)高效率
采用分片分布式存储技术使视频服务器具有高效率。所有影片进入本存储系统之前,都必须接受本发明的文件切割操作,分割后的分片文件分布式地存储在多个节点上。文件分片过程具有高效率、高稳定的特点,无需担心它的速度。
(4)明显提升整个分布式视频服务器的性能
本发明通过文件切割操作;提供对所有存储的媒体文件而言的单一标准结构,使视频服务器底层的文件接口模块读写媒体数据的效率大为提升。媒体数据从文件读入到发送至网络的整个过程中,中转缓存的次数减少了三分之一;从而节省了服务器节点的系统资源。同时,媒体数据包的大小基本相等,也使得网络带宽利用合理,不会出现因占用带宽大小急剧变化,从而造成网络资源的浪费。
(5)有利于视频服务器分布式录制功能的实现
视频服务器作为交互式服务器,录制功能是不可缺少的。该功能广泛应用于远程教育、现场直播等领域。实现分布式录制功能的一个技术难点是如何在多个节点上分布式的存储录制的媒体数据;同时支持在线客户的即时点播。本发明设计的媒体文件的单一标准格式有利于数据的分布式存储、分布式的随机访问,能有效地解决分布式录制功能的上述难点。
(6)有利于流媒体客户端播放器的设计
流媒体客户端播放器设计最大的难点在于如何组装网络流媒体数据包。考虑到媒体数据包含了多个流,因此在客户端接收数据之后,组装报文、同步多个流是技术难点。本发明设计的流媒体网络包的组成恰恰省却了同步工作,能方便地将多个流合成为一个单一流来传送,因此报文的组装也相对简单。
附图说明
图1本发明流程框图
图2本发明所包括的各个步骤示意图
图3流媒体网络数据报文的结构
图4分片信息索引文件Index结构
图5会话描述协议文件SDP结构
图6分片文件结构
图7分片文件的头部信息数据结构
图8媒体流的信息头部的数据结构
图9分片文件中媒体流数据包的数据结构
图10流媒体文件分析及分片任务列表生成步骤处理流程图
图11分片任务列表的数据结构
图12分片任务执行步骤处理流程
具体实施方式
下面结合附图对本发明作进一步说明。
媒体源文件分片处理过程见图1。本系统首先预定义分片文件结构、流媒体网络报文结构、媒体数据分布式控制文件结构以及分片分布式的放置策略等一系列的必要信息;然后执行流媒体文件信息获取模块,以获得源文件的基本信息,为后面的分片工作做准备。紧接着进行流媒体文件分析,生成分片任务列表并执行任务列表。
下面,根据图1的媒体源文件分片工作流程示意图,详细地介绍媒体源文件分片处理过程。
媒体源文件分片处理首先调用流媒体网络报文定义步骤,给出网络报文的基本定义;基于这个网络报文结构,同时执行流媒体分布式控制文件定义步骤以及分片文件定义步骤,定义媒体分布式控制信息文件的结构和分片文件的总体结构。接着,调用媒体源文件信息获取模块,以取得媒体源文件的基本信息,为后面的工作做准备;同时,接受用户的基本分片要求。用户的分片要求主要依据于一些关键的参数选择;有两种方式:一种是依据分片的数目,即用户可以自定义要求分多少个分片文件;一种是规定分片的播放时间长度值Clip_Time,可以获知媒体文件的总的播放时间,于是可以得到总的分片数目。
紧接着,执行分片文件放置策略定义步骤,得到用户所定义的分片文件放置要求;然后执行流媒体文件分析与分片任务列表生成步骤,得到分片任务列表以及相应的控制信息文件。
得到分片任务列表之后,就执行分片任务执行步骤。即创建多线程来操作,每个线程执行一个分片任务。该任务首先读取这个分片任务数据结构中的信息;然后,打开文件,定位到分片任务结构中所指明的空间偏移位置,开始读取媒体数据的解码单元包标志Pack,每读一个包标志Pack时,依据流媒体网络报文结构定义模块所说明的方式,生成若干个流媒体网络报文,又称为实时传输协议RTP报文。循环操作,直至所有相关的解码单元都完全读完,那么本分片文件就形成了。
最后,执行分片传递存储步骤。把得到的每一个分片文件都按照分片文件放置策略定义步骤所定义的要求存储到相应的集群的存储节点上。这样,一个分片任务就最终完成了。在这个分片任务执行中,定时监测它的完成百分比,显示给用户浏览;并记载它的调度时间信息并判断是否成功,以返回给用户决策。
本发明的总体结构如图2所示,包括用户需求信息与获取步骤、分片文件定义步骤、流媒体文件信息获取步骤、信息分析与分片任务列表生成步骤、分片任务执行步骤、分片传递存储步骤。用户需求信息与获取步骤又包括:分片时间要求与获取、分片放置策略要求与获取两个步骤。分片文件定义步骤包括:流媒体网络报文定义、流媒体分布式控制文件定义、分片文件放置策略定义、分片文件定义四个步骤。
流媒体网络报文定义步骤
本步骤定义流媒体网络报文的组成。在本系统中,流媒体网络报文的基本结构遵从流媒体协议的具体标准。业界已经定义了流媒体的几个国际通行的标准协议,RTSP(实时流控制协议)用于客户端与服务器的命令交互控制;RTP/RTCP(实时传输协议以及实时传输的控制协议)用于规定、控制网络流媒体数据报文;SDP(会话描述协议)用于定义客户端与服务器的连接描述。本系统详细定义了遵从国际实时传输协议RTP的流媒体数据报文的主体部分的特殊格式。如图3所示,Decoding Unit(解码单元)是一个可以被解码器接收、并进行解码的数据单元。这个单元的空间大小基本固定,其大小记为:Decoding_Uint_Size。以运动图片专家组第一代格式MPEG-1为例,其大小大约为2000多个字节,依据不同的压缩比率稍有不同。从图中可以看到,本系统固定报文主体的大小,记为:Packet_Payload_Size。现在,问题的关键是把每一个解码单元分割成多个报文来存储,显然,大部分报文的大小仍然依赖其规定的报文主体固定大小;另一小部分报文大小将依赖于解码单元分割出来多余的一部分数据的大小。由于解码单元是固定大小的,因此这部分的报文大小也是固定的。
解码单元被分割之后,应保证在客户端能够被无一例外的组装起来。本步骤块提供了必要的信息来保证这一点。实时传输协议RTP标准协议规定协议报文的头部带有时间戳、序列号、媒体标号等内容。本步骤规定,凡是属于同一个解码单元的多个实时传输协议RTP数据报文都将拥有相同的时间戳,但是序列号必须依据原始的数据位移相继递增。图3证明了这一点。这样,在客户端,就能够很容易的组装相应的数据报文成为一个个完整的解码单元,实现播放。
流媒体分布式控制文件定义步骤
一个电影源文件将会被分割成多个分片文件,并且存储在多个节点上。当产生了一个客户对某电影播放请求时,如何保证视频服务器能够统一调度该电影的所有分片,而不会有遗漏等错误是一个至关重要的问题。这就需要存储系统提供有效的电影分片控制信息来协助视频服务器完成一个电影的完整播放。
在本步骤中,包括电影所有分片的播放长度、序号、存储位置、所需带宽等基本信息将会以一种固定的方式被提取出来。本系统规定每个分片的播放称其为一个基本播放任务(Playing Task);那么,一个完整的电影在播放时,将会拥有一个基本播放任务列表。视频服务器只需要把这个基本播放任务列表读入内存,就可以实现准确无误的调度。
本步骤所涉及的分布式控制文件主要有两个,一个是分片信息索引文件Index,一个是会话描述协议文件SDP。分片信息索引文件Index由一个播放任务列表、电影资源文件名、电影资源空间大小、电影资源时间长度、电影资源分片数目、电影资源热点度组成;而该播放任务列表包含了所有的播放任务项目;每一个播放任务项目由本任务的起始时间点、结束时间点、起始序列号、结束序列号以及本任务对应的分片文件所在的节点机的因特网协议IP地址集合组成。如图4所示。
会话描述协议文件SDP则用于描述电影资源的基本信息、客户端解码前的准备信息。它是由媒体类型编号、电影资源包含的媒体流的数目、电影资源的时间长度、客户会话的唯一表示码组成。如图5所示。
分片文件定义步骤
本步骤的核心文件是分片文件。分片文件的结构是单独定义的一套标准。依据该标准,本系统的分片执行模块能够对任何媒体格式的文件进行准确无误的切割分片,最终使得本系统能够脱离于具体媒体格式而运行。
根据本系统的设计,分片文件主要是由以下几个部分组成。
①分片文件头部
②媒体流信息头
③媒体流数据包
其中,(2)与(3)成组出现。如果本分片文件有2个流,则它包含两组(2)与(3)的配对。图6从总体简明地描述了分片文件的逻辑结构。
下面详细地描述这三个部分的结构。
(1)分片文件头部
分片文件头部描述本分片的基本信息,它由本分片的序列号、本分片时间长度、本分片包含的媒体流的个数、本分片所需要的平均网络带宽以及本分片文件的版本号。其中,所需要的平均网络带宽用于在视频服务器启动之后估计网络带宽的利用率,预先分配带宽;放置带宽的浪费或者饥饿。图7显示了分片文件头部的一些数据结构的定义。
(2)媒体流信息头
媒体流信息头部描述了该媒体流的基本信息。媒体流指的是视频流、音频流或者系统流。当然,两个压缩码率不同的视频流也视为不同的媒体流。该部分由以下信息组成:媒体流的标志(用于解码器的识别)、媒体流的播放时间长度、媒体流的压缩码率、媒体流的数据起始位置(为文件读取接口提供媒体数据的位移)。图8显示了媒体流信息头部数据结构的详细定义。
(3)媒体流的数据包
在流媒体网络数据报文定义模块中,已经详细描述了流媒体网络报文的结构。这里,媒体流的真正数据包是对流媒体网络数据报文的进一步封装而得到的。从图3中可以发现,序列号只是16位无符号整型数,它所能表示的范围有限,因此当出现较大的序列号时,只能够回绕。时间戳是32位无符号的整型,它是与本媒体流的特征速率相乘得到的一个数值;显然当出现大的时间戳时,也必须回绕。但究其本质,媒体流的数据实质上是由流媒体网络数据报文组成,因此,当要实现对媒体数据的随机访问时,可以回绕的时间戳与序列号将难以起到正确的作用。故本系统将对流媒体网络数据报文进行封装,将媒体流”标志”、在整个媒体流的数据包中的序列号以及实际的播放时间点(从零计算起)封装起来。这三个数据项可以方便地实现对媒体流数据的随机访问。图9显示了媒体流数据结构。
媒体源文件信息获取步骤
本方法所定义的一系列的数据结构都与本步骤有关。本步骤的执行,是为了获取媒体源文件的基本信息,这些基本信息包括:源文件的空间大小、源文件的媒体流个数、每个媒体流的播放时间长度、每个媒体流的媒体格式类型“标志”、整个源文件总的播放时间。这些数据均可以从媒体源文件之中获得。但由于具体的媒体格式的不同,所以,对于每一种媒体格式都要求写一个信息获取子模块。
下面以运动图片专家组第一代格式Mpeg-1系统流为例描述信息获取的流程。
运动图片专家组第一代格式Mpeg-1媒体格式有一些特点。首先,这种文件的组织有着严格的二进制的规定。媒体源文件之中有一个系统头部,读取这个系统头部,就可以得到这个媒体源文件的媒体格式、媒体流的种类,以及压缩比率。
然后,分析媒体格式的媒体数据部分。运动图片专家组第一代格式Mpeg-1媒体格式的媒体数据是以Pack的方式组织起来的,每个Pack的大小基本固定,而且都是可以自由解码的,因此,它就是我们在前面所定义的独立解码单元。每个Pack有一个固定的信息头部,它记载了本Pack的播放时间点,因此可以得到播放时间,从前向后分析,直到分析最后一个Pack的头部,我们就可以得到这个媒体源文件的总的播放时间。
这样,就完成了媒体源文件信息的获取工作。
分片文件放置策略定义步骤
分片文件需要存储在所有的存储节点上,当然是按照一定的规则、策略进行的。考虑放置策略时,既要兼顾热点电影的高访问频率,又要考虑各个存储节点的负载均衡性和系统的容错性。本模块包含了一个数据放置策略选择项、电影资源热点级别选择项以及可供调用的数据放置实现算法。
本系统提出一种用户有限干预的放置策略。首先提供传统的放置策略:RR(Round Robin)循环轮转策略;其次,由用户给定一个电影的热点性参数,以此来决定该电影的每个分片的复制份数。系统根据用户提供的信息即可实现电影的所有分片文件的分布式存储。
给定热点性参数Hot,其数据结构的定义如下:
Hot_Level{
         First_Level;//第一级,该媒体文件的任何分片都没有复制存储;
         Second_Level;//第二级,该媒体文件的每一个分片都有一个复制;
         Third_Level;//第三级,该媒体文件的每一个分片都有两个复制;
         Top_Level;//最高级,该媒体文件的每一个分片都有三个复制;
};
int  Hot;
循环轮转的算法描述如下:
定义N个存储节点机为:Host[I],I=1,2,…N;某一个电影的所有M个分片为:Clips[I],I=1,2,…M;第一个复制序列为:Clips_One[I],I=1,2…M;第二个复制序列为:
Clips_Two[I],I=1,2…M;第三个复制序列为:Clips_Three[I],I=1,2,…M。
当热点参数为第一级时,
    第I个分片的存储位置为Host[a]:Host[a]=I mod N;
当热点参数为第二级时,
    第I个分片的存储位置为Host[a]:Host[a]=I mod N;
    第一个复制序列中第J个复制分片的存储位置为Host[b]:Host[b]=(J mod N)+1;
当热点参数为第三级时,
    第I个分片的存储位置为Host[a]:Host[a]=I mod N;
    第一个复制序列中第J个分片的存储位置为Host[b]:Host[b]=(J modN)+1;
    第二个复制序列中第K个分片的存储位置为Host[c]:Host[c]=(K modN)+2;
当热点参数为最高级时,
    第I个分片的存储位置为Host[a]:Host[a]=I mod N;
    第一个复制序列中第J个分片的存储位置为Host[b]:Host[b]=(J modN)+1;
    第二个复制序列中第K个分片的存储位置为Host[c]:Host[c]=(K modN)+2;
    第三个复制序列中第L个分片的存储位置为Host[d]:Host[d]=(L modN)+3;
流媒体文件分析与分片任务列表生成步骤
该步骤通过获得分片文件的放置策略信息,得到用户定义的分片文件放置要求;同时还要分析媒体源文件,以寻找每一个分片文件在源文件中的空间时间偏移量以及网络报文的序列号的范围,在此基础上可以得到分片任务列表。流媒体文件分析与分片任务列表生成步骤的处理流程包含一个操作序列,这个序列主要由以下步骤组成:第一步,依据已经获取的媒体文件基本信息寻找运动图片专家组MPEG标准所定义的包标志PACK;第二步,处理该包PACK单元的数据。即分析该单元数据的时间戳、全局序列号;第三步,把此时间戳与每一个分片文件的规定时间长度进行比较,相等时,即可以写一个分片列表项目到分片信息索引文件Index中;否则继续处理下一个包PACK数据单元。如图10所示。
分片任务列表的数据结构如图11所示。从图中可以发现,任务列表详细的记载了一个媒体源文件的每一个分片任务的基本情况,包括在源文件中的空间偏移量、开始播放时间点、解码单元的序号以及有关于调度这个分片任务的参数,如开始调度时间、本分片任务完成时间、完成百分比、完成的结果是否成功等。
分片任务执行步骤
该步骤依据分片任务列表,通过创建多线程同时执行多个分片任务,它包括一个操作序列,这个序列描述如下:第一步,读取分片控制分片信息索引文件Index,取得分片数目,以此数目建立多个处理线程;第二步,继续读取分片信息索引文件Index,获得一个分片任务列表,把这个列表每个表项的内容交给相应的线程,从而建立每个分片任务。第三步,对于任意一个分片任务,在电影资源文件中定位到规定的空间位置,寻找包标志PACK,当遇到此标志时,就读出这个数据单元,并按照网络流媒体报文定义模块的说明,分割成若干个网络流媒体的数据包,并写入相应的分片文件;循环操作,直至所有相关的数据单元都完全读完;这样,一个分片任务就最终完成了。在这个分片任务执行中,定时监测它的完成百分比,显示给用户浏览;并记载它的调度时间信息并判断是否成功,以返回给用户决策。
分片任务执行模块的处理流程如图12所示。
分片传递存储步骤
该步骤的任务是把经过以上的分片任务执行步骤所得到的分片文件存储到响应节点上去。首先依据分片文件放置策略定义步骤所定义的位置要求获得节点的网络地址,然后把得到的分片文件传递存储上去。

Claims (2)

1.一种基于集群视频服务器的节目源分片分布式存储方法,顺序包括如下步骤:
(1)执行流媒体网络报文定义步骤,给出网络报文的结构,同时执行流媒体分布式控制文件定义步骤和分片文件定义步骤,定义媒体分布式控制文件的结构和分片文件的总体结构;
(2)执行流媒体源文件信息获取步骤,获取媒体源文件的基本信息,同时执行用户需求信息与获取步骤,接受用户的基本分片要求;
(3)执行分片文件放置策略定义步骤,得到用户所定义的分片文件放置要求;
(4)执行流媒体文件分析与分片任务列表生成步骤,分析用户所定义的分片文件放置要求和媒体源文件,得到分片任务列表以及相应的控制信息文件;
(5)执行分片任务执行步骤,根据源文件分片数目建立多个处理线程,每个线程执行一个分片任务;
(6)分片传递存储步骤,依据分片文件放置策略定义步骤所定义的放置要求,把相应的分片文件传递到相应的的存储节点上。
2.如权利要求1所述的基于集群视频服务器的节目源分片分布式存储方法,其特征如下:
(1)所述流媒体网络报文定义步骤定义遵从国际实时传输协议的流媒体数据报文主体部分的格式,包括媒体类型头、序列号、时间戳、同步源和主体数据;
(2)所述流媒体源文件分布式控制文件定义步骤包括分片信息索引文件Index和会话描述协议文件SDP,分片信息索引文件Index包括播放任务列表、电影资源文件名、电影资源空间大小、电影资源时间长度、电影资源分片数目、电影资源热点度组成,会话描述协议文件SDP包括媒体类型编号、电影资源包含的媒体流的数目、电影资源的时间长度、客户会话的唯一表示码;
(3)所述分片文件定义步骤定义分片文件结构,包括分片文件头部、媒体流信息头、媒体流数据包;
(4)所述流媒体源文件信息获取步骤依据媒体源文件的逻辑时间特点,读取媒体源文件的逻辑时间单元,对于每一个逻辑时间单元获取其头部的时间信息、媒体流的个数,如此循环执行,直至完成所有逻辑时间单元,得到总的播放的时间长度、空间大小,并依据该媒体格式的规定,获取媒体格式类型”标志”;
(5)所述用户需求信息与获取步骤包括分片时间要求与获取步骤和分片放置策略要求与获取步骤;
(6)所述分片文件放置定义步骤,包含数据放置策略选择项、电影资源热点级别选择项以及可供调用的数据放置实现算法;
(7)所述流媒体文件分析与分片任务列表生成步骤,通过获得分片文件放置策略信息,得到用户定义的分片文件放置要求,同时分析媒体源文件以寻找每一个分片文件在源文件中的空间时间偏移量以及网络报文的序列号范围,在次基础上,产生分片任务列表;
(8)所述分片任务执行步骤需先读取分片信息索引文件Index,取得电影资源分片数目,以此数目建立多个处理线程,其次继续读取分片信息索引文件Index,获得播放任务列表,把该列表每个表项的内容交给相应的处理线程,从而建立分片任务,然后对于任意一个分片任务,在电影资源文件中定位所规定的空间位置,寻找媒体数据的解码单元包标志Pack,当遇到此标志时,就读出这个数据单元,并按照流媒体网络报文定义步骤的规定,分割成若干个流媒体网络数据包,并写入相应的分片文件;循环操作,直至所有相关的数据单元都完全读完。
CNB031185436A 2003-01-25 2003-01-25 基于集群视频服务器的节目源分片分布式存储方法 Expired - Fee Related CN1195274C (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CNB031185436A CN1195274C (zh) 2003-01-25 2003-01-25 基于集群视频服务器的节目源分片分布式存储方法
US10/763,422 US8667158B2 (en) 2003-01-25 2004-01-26 Video splitting and distributed placement scheme for clustered video servers
KR1020040004687A KR101138897B1 (ko) 2003-01-25 2004-01-26 파일 분할 분배 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031185436A CN1195274C (zh) 2003-01-25 2003-01-25 基于集群视频服务器的节目源分片分布式存储方法

Publications (2)

Publication Number Publication Date
CN1434386A CN1434386A (zh) 2003-08-06
CN1195274C true CN1195274C (zh) 2005-03-30

Family

ID=27634418

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031185436A Expired - Fee Related CN1195274C (zh) 2003-01-25 2003-01-25 基于集群视频服务器的节目源分片分布式存储方法

Country Status (3)

Country Link
US (1) US8667158B2 (zh)
KR (1) KR101138897B1 (zh)
CN (1) CN1195274C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009070936A1 (fr) * 2007-12-05 2009-06-11 Zte Corporation Procédé de publication et de mémorisation de contenu pour un système de distribution multimédia de télévision personnel interactif

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1653361A4 (en) * 2003-08-08 2006-12-13 Onkyo Kk NETWORK AV SYSTEM
GB2409299B (en) * 2003-12-18 2007-11-07 Ibm A system for preparing data
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US8868772B2 (en) * 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
EP1596396A1 (en) * 2004-05-15 2005-11-16 Deutsche Thomson-Brandt Gmbh Method for splitting a data stream
CN100377536C (zh) * 2004-07-30 2008-03-26 Ut斯达康通讯有限公司 用于流媒体服务的负载模拟器以及负载模拟系统
JP2006185016A (ja) * 2004-12-27 2006-07-13 Hitachi Ltd コンテンツ移動制御装置及び方法
CN100405795C (zh) * 2005-02-24 2008-07-23 广东省电信有限公司研究院 分布式对等流媒体的服务系统及其点播节目的实现方法
US8738787B2 (en) 2005-04-20 2014-05-27 Limelight Networks, Inc. Ad server integration
US8291095B2 (en) * 2005-04-20 2012-10-16 Limelight Networks, Inc. Methods and systems for content insertion
WO2006127510A2 (en) * 2005-05-21 2006-11-30 Kula Media Group Media distribution over a network
DE102005057568B4 (de) * 2005-12-02 2021-06-17 Robert Bosch Gmbh Sendeeinrichtung und Empfangseinrichtung
US8555335B2 (en) * 2006-11-01 2013-10-08 Microsoft Corporation Securing distributed application information delivery
CN101193273B (zh) * 2006-11-20 2010-07-14 中兴通讯股份有限公司 一种实时多媒体图像信息存储和播放方法
CN101202882B (zh) * 2007-07-19 2010-09-15 深圳市同洲电子股份有限公司 一种媒体资源传输方法、系统及机顶盒
CN101146110B (zh) * 2007-09-25 2011-06-29 深圳市迅雷网络技术有限公司 一种播放流媒体的方法
CN101409823B (zh) * 2007-10-10 2012-04-25 华为技术有限公司 一种网络个人录像机的实现方法、装置和系统
CN101141627A (zh) * 2007-10-23 2008-03-12 深圳市迅雷网络技术有限公司 一种流媒体文件的存储系统及方法
CN101667441B (zh) * 2008-09-02 2012-06-20 北京赛金传媒科技有限公司 一种播放列表处理方法和系统
CN101888540B (zh) * 2009-05-13 2012-09-05 中兴通讯股份有限公司 一种在流媒体文件中承载ts流的方法及装置
CN101720005B (zh) * 2009-12-18 2012-02-08 中兴通讯股份有限公司 一种频道时移分片录制的方法及系统
CN101825926B (zh) * 2010-04-13 2012-05-30 苏州达通泰科信息技术有限公司 具有网络直放功能的流媒体服务器
JP5941270B2 (ja) * 2010-12-17 2016-06-29 キヤノン株式会社 情報処理装置、情報処理方法
CN102118438A (zh) * 2011-01-17 2011-07-06 中兴通讯股份有限公司 IPTV系统中直播apple媒体流的方法和装置
CN102196298A (zh) * 2011-05-19 2011-09-21 广东星海数字家庭产业技术研究院有限公司 一种分布式视频点播系统与方法
CN102231860B (zh) * 2011-06-03 2014-03-19 南京远古科技有限公司 一种直播时移数据存储方法
CN102611679A (zh) * 2011-10-26 2012-07-25 苏州闻道网络科技有限公司 基于局域网多核节点的多核并行音频转换方法
KR101949123B1 (ko) * 2012-02-27 2019-02-18 삼성전자주식회사 데이터 복호화 장치 및 방법
CN102663005B (zh) * 2012-03-19 2014-03-26 杭州海康威视数字技术股份有限公司 基于云计算的海量视频文件存储系统、分析方法及其系统
CN102833336A (zh) * 2012-08-31 2012-12-19 河海大学 分散分布式信息采集与并发处理系统中数据分包处理方法
CN102880658B (zh) * 2012-08-31 2016-11-16 电子科技大学 基于地震数据处理的分布式文件管理系统
CN104104971B (zh) * 2013-04-02 2018-12-07 腾讯科技(深圳)有限公司 一种视频文件处理方法及系统
US9697063B2 (en) * 2013-05-15 2017-07-04 Amazon Technologies, Inc. Allocating data based on hardware faults
CN104702654B (zh) * 2014-02-25 2019-04-30 杭州海康威视数字技术股份有限公司 基于视频云存储系统的存储与提取性能平衡的方法与装置
CN103905695B (zh) * 2014-04-10 2018-01-09 中央电视台 一种素材处理方法及装置
CN105100146B (zh) * 2014-05-07 2018-07-20 腾讯科技(深圳)有限公司 数据存储方法、装置及系统
CN105450967B (zh) * 2014-07-31 2019-05-03 杭州海康威视数字技术股份有限公司 对视频录像数据进行打包的方法及装置
CN104837029B (zh) * 2015-05-08 2018-07-03 厦门大学 一种高清视频点播系统的资源硬盘的存储和访问方法
CN106686411A (zh) * 2015-11-10 2017-05-17 中兴通讯股份有限公司 流媒体频道录制方法、装置及回看方法、装置及服务器
CN105357504A (zh) * 2015-12-17 2016-02-24 深圳市科漫达智能管理科技有限公司 一种视频流数据的录像与回放方法及装置
CN106101745A (zh) * 2016-06-14 2016-11-09 天脉聚源(北京)传媒科技有限公司 一种视频播放方法及系统
CN105979297B (zh) * 2016-06-14 2019-03-19 天脉聚源(北京)传媒科技有限公司 一种收看时长统计方法及系统
US10387207B2 (en) * 2016-12-06 2019-08-20 International Business Machines Corporation Data processing
CN106972955A (zh) * 2017-03-06 2017-07-21 深圳市盛弘电气股份有限公司 一种充电桩实时保存bms通信报文的方法以及直流充电桩
CN108900638A (zh) * 2018-08-08 2018-11-27 陈若天 一种在不中断并发异步连接的情况下确保全带宽使用的方法
CN109033439B (zh) * 2018-08-15 2019-11-19 中科驭数(北京)科技有限公司 流式数据的处理方法和装置
CN109359216A (zh) * 2018-08-27 2019-02-19 博康智能信息技术有限公司 一种基于时空循环构造的视频特征均匀散列存储方法
CN111708914A (zh) * 2020-06-11 2020-09-25 北京百度网讯科技有限公司 用于视频处理的方法、装置、电子设备和存储介质
CN112261118B (zh) * 2020-10-19 2022-03-25 腾讯科技(深圳)有限公司 多媒体数据的异常检测方法、终端及服务器
CN112543355B (zh) * 2020-11-25 2022-08-12 南通亿荣网络科技有限公司 一种分布式音视频传输方法及系统
CN113824771A (zh) * 2021-08-25 2021-12-21 深圳市玩物科技有限公司 文件传输方法、装置、设备、存储介质及程序产品
WO2023028332A1 (en) * 2021-08-27 2023-03-02 AirMettle, Inc. Partitioning, processing, and protecting media data
CN115174578B (zh) * 2022-07-25 2023-10-20 上海网达软件股份有限公司 一种基于Kubernetes的点播并行转码方法、装置及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2164518B (en) * 1984-09-14 1987-12-02 Philips Electronic Associated Rotating television pictures
US5884028A (en) * 1994-07-29 1999-03-16 International Business Machines Corporation System for the management of multiple time-critical data streams
US5668948A (en) * 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5530557A (en) * 1994-09-12 1996-06-25 International Business Machines Corporation Online placement of video files determined by a function of the bandwidth to space ratio of each of the storage devices in a server environment
US6305019B1 (en) * 1997-01-13 2001-10-16 Diva Systems Corporation System for interactively distributing information services having a remote video session manager
US7143177B1 (en) * 1997-03-31 2006-11-28 West Corporation Providing a presentation on a network having a plurality of synchronized media types
US6573907B1 (en) * 1997-07-03 2003-06-03 Obvious Technology Network distribution and management of interactive video and multi-media containers
AU8697598A (en) * 1997-08-08 1999-03-01 Pics Previews, Inc. Digital department system
US6675189B2 (en) * 1998-05-28 2004-01-06 Hewlett-Packard Development Company, L.P. System for learning and applying integrated task and data parallel strategies in dynamic applications
US6144375A (en) * 1998-08-14 2000-11-07 Praja Inc. Multi-perspective viewer for content-based interactivity
US6704790B1 (en) * 1998-09-16 2004-03-09 Microsoft Corporation Server-side stream switching
US7024466B2 (en) * 2000-04-07 2006-04-04 Movielink, Llc Network configured for delivery of content for download to a recipient
WO2001082610A1 (en) * 2000-04-21 2001-11-01 Sony Corporation Information processing apparatus and method, program, and recorded medium
JP4517267B2 (ja) * 2000-04-21 2010-08-04 ソニー株式会社 記録装置および方法、再生装置および方法、プログラム、並びに記録媒体
US6782550B1 (en) * 2000-06-16 2004-08-24 Minerva Networks, Inc. Program guide with a current-time bar
JP2003199045A (ja) * 2001-12-26 2003-07-11 Victor Co Of Japan Ltd 情報記録信号の生成方法、情報信号の再生方法、情報信号の伝送方法、情報記録信号生成装置、情報信号再生装置、情報信号伝送装置、情報信号記録媒体、及び情報信号伝送用プログラム
US7451229B2 (en) * 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009070936A1 (fr) * 2007-12-05 2009-06-11 Zte Corporation Procédé de publication et de mémorisation de contenu pour un système de distribution multimédia de télévision personnel interactif

Also Published As

Publication number Publication date
KR101138897B1 (ko) 2012-05-14
CN1434386A (zh) 2003-08-06
US20040210948A1 (en) 2004-10-21
KR20040068505A (ko) 2004-07-31
US8667158B2 (en) 2014-03-04

Similar Documents

Publication Publication Date Title
CN1195274C (zh) 基于集群视频服务器的节目源分片分布式存储方法
US11805304B2 (en) Method, device, and computer program for generating timed media data
US9445136B2 (en) Signaling characteristics of segments for network streaming of media data
CN109479158B (zh) 检索及存取用于媒体流式处理的段区块
CN113330751B (zh) 用于媒体片段大小和优先级排名的存储和信令的方法和装置
CN1745382A (zh) 在实时控制协议(rtcp)消息中嵌入会话描述消息
CN1447601A (zh) 发送/接收提供广告的vod数据流服务的装置和方法
CN1784737A (zh) 多媒体数据再现设备、音频数据接收方法及其音频数据结构
CN1813251A (zh) 基于流的内容分发网络系统、以及用于分割、合并和检索文件的方法
CN1812408A (zh) 用于传送多媒体系统的描述性内容元数据和内容获得数据的MediaDescription数据结构
CN1441929A (zh) 传送多媒体描述
EP2753045B2 (en) Method and device for transmitting stream media
CN1692353A (zh) 用于流媒体的稀少高速缓存
CN1171158C (zh) 视频点播系统中活动图象的流动方法
CN1666526A (zh) 用于jvt视频的通用适配层
CN1767636A (zh) 内容分布方法、程序和信息处理装置
CN1300399A (zh) 发送和接收设备、发送和接收系统、发送和接收方法
CN1497962A (zh) 接收装置
CN1694406A (zh) 用于支持多流格式的网络接口卡及其方法
CN103491427A (zh) 一种视频的处理方法和装置
CN101035257A (zh) 动态视频二维信息互动同步传输方法及二维网络视讯互动系统
CN1650628A (zh) 用于支持mp4中的avc的方法和设备
GB2599170A (en) Method, device, and computer program for optimizing indexing of portions of encapsulated media content data
CN1477537A (zh) 用于将流式数据记录到存储装置中的信息处理装置
CN1419380A (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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee