一种海量流媒体存储的系统和方法

文档序号:7981448阅读:200来源:国知局
一种海量流媒体存储的系统和方法
【专利摘要】本发明公开了一种海量流媒体存储的系统和方法,系统由媒体服务器、主控服务器、存储服务器构成,并通过高速IP网络互联;对外提供媒体流上传、媒体流获取功能;媒体服务器:负责接收媒体流,将媒体流按照特定长度进行分片,然后将分片存储到相应的存储服务器中,接受外部的媒体流获取请求,并进行片内媒体流定位;主控服务器:负责存储服务器管理、存储空间分配、媒体流片段管理;存储服务器:负责媒体片段的存储、读取;数据主要包含媒体流信息、片段信息、存储服务器信息;片段信息包含:片段ID(关键字)、流媒体ID、存储服务器IP、片段大小、片段起始时间、片段时长、片段状态,片段总是从视频关键帧开始,便于媒体流的检索和回放。
【专利说明】一种海量流媒体存储的系统和方法
【技术领域】:
[0001]本发明涉流媒体领域,尤其涉及一种海量流媒体存储的系统和方法。
【背景技术】:
[0002]随着计算机、传感器技术、图像处理技术、图像压缩技术、网络技术的发展,流媒体在全球都广泛的应用起来。电视、电影的广播和点播,视频监控,到处都是流媒体的应用。视频的分辨率越来越大,数据量也随之爆发性增长,按照1080P的8Mbps的视频流计算,I天就需要占用84GB的空间,I个月需要2.5TB的空间。对于具有几十、几百甚至几千个监控点的集中监控系统,产生的数据量更是惊人,将达到PB级,甚至EB级。业界常用的NAS磁盘柜技术已经无法满足这样规模的海量流媒体存储和检索的需求,迫切的需要有基于英特网协议(IP)、能对超大规模的流媒体数据进行存储的系统。

【发明内容】
:
[0003]针对超大规模流媒体数据的存储的需求,本发明的目的是提供一种海量流媒体存储的系统和方法。
[0004]本发明是这样实现的:一种海量流媒体存储的系统和方法,包括以下主要过程和步骤:
[0005]所述海量流媒体存储的系统,由主控服务器、媒体服务器、存储服务器构成,并通过高速IP网络互联。
[0006]主控服务器:由计算机硬件、操作系统、主控服务器软件构成,主控服务器软件负责存储服务器管理、存储空间分配、媒体流片段管理,计算机硬件为配备大容量内存、高性能中央处理器(CPU)高性能计算机系统。
[0007]媒体服务器:由计算机硬件、操作系统、媒体服务器软件构成,媒体服务器软件负责接收媒体流,将媒体流按照特定长度进行分片,然后将分片存储到相应的存储服务器中,负责接受外部的媒体流请求,并进行片内媒体流定位,然后将媒体数据发回请求端,计算机硬件为配备大容量磁盘的高性能计算机系统。
[0008]存储服务器:由计算机硬件、操作系统、存储服务器软件构成,存储服务器软件负责媒体片段的存储、读取,计算机硬件为拥有多块大容量磁盘的计算机系统。
[0009]主控服务器软件管理的数据主要包含媒体流信息、片段信息、存储服务器信息。
[0010]媒体流信息,以媒体流ID为关键字,数据包含:媒体流ID、起始时间、结束时间、有效时间长度、数据总长度、片段ID列表。
[0011]片段信息,以片段ID为关键字,数据包含:片段ID、流媒体ID、存储服务器IP、片段大小、片段起始时间、片段时长、片段状态,片段总是从视频关键帧开始,便于媒体流的检索和回放。
[0012]存储服务器信息,以存储服务器IP为关键字,数据包含:存储服务器IP、总容量、已使用容量、片段ID列表。[0013]媒体流上传,步骤如下:
[0014]步骤1:媒体服务器接受从外部传入的媒体流数据,从第一帧关键帧抵达时创建临时文件,将媒体流数据写入临时文件,直到媒体流结束或者文件达到特定大小,在最近一次关键巾贞与入如结束临时文件,如果媒体流未结束则开启新的临时文件,从关键巾贞开始与A ;
[0015]步骤2:媒体服务器向主控服务器申请临时文件大小的片段存储空间,主控服务器依据内部记录的存储服务器的负载情况,然后分配一个媒体流片段,将该片段设置为进行中状态,返回包含片段ID、存储服务器IP媒体流片段信息的片段申请结果;
[0016]步骤3:媒体服务器向存储服务器发起片段存储请求,并将临时文件发送到存储服务器;
[0017]步骤4:存储服务器收到临时文件后以片段ID为文件名,创建写入文件,将临时文件持续写入磁盘;
[0018]步骤5:存储服务器接收并写入完临时文件的所有数据后,关闭写入文件,将片段存储结果发回媒体服务器;
[0019]步骤6:存储服务器将片段完整信息提交到主控服务器;
[0020]步骤7:主控服务器接收到片段信息更新请求后,更新片段信息,并将状态设置为完成,返回更新结果到媒体服务器;
[0021]步骤8:重复步骤1,持续接收并保存后续媒体流。
[0022]媒体流获取,步骤如下:
[0023]步骤1:媒体服务器收到媒体流获取请求;
[0024]步骤2:媒体服务器向主控服务器发起片段检索请求;
[0025]步骤2:主控服务器收到片段检索请求后,检索对应的媒体流片段,并将包含片段ID、存储服务器IP的片段信息作为检索结果发回媒体服务器;
[0026]步骤3:媒体服务器向存储服务器发起片段读取请求;
[0027]步骤4:存储服务器接收到含有片段ID的片段读取请求后,打开对应的片段文件,并将片段数据发送回媒体服务器;
[0028]步骤5:媒体服务器接收到媒体片段后,在片段内进行媒体定位,然后将对应位置开始的媒体流数据发送回媒体流获取发起端;
[0029]步骤6:重复步骤2,直到数据传输完毕。
【专利附图】

【附图说明】:
[0030]下面结合附图,对本发明作出详细描述。
[0031]图1为系统组网图
[0032]图2为数据结构及关系图
[0033]图3为媒体流上传时序图
[0034]图4为媒体流请求时序图 图5为媒体流获取时序图
【具体实施方式】:[0035]发明是通过分布式的媒体服务器、主控服务器、存储服务器群构建海量多媒体存储系统。
[0036]海量流媒体存储的系统如图1所示,由媒体服务器、主控服务器、存储服务器构成,并通过IP高速网络互联。系统由多台媒体服务器、多台存储服务器、主控服务器构成分布式存储网络。
[0037]媒体服务器如图2所示:由计算机硬件、操作系统、媒体服务器软件构成,媒体服务器软件负责接收媒体流,将媒体流按照特定长度(256MB)进行分片,然后将分片存储到相应的存储服务器中,负责接受外部的媒体流请求,并进行片内媒体流定位,然后将媒体数据发回请求端,计算机硬件为配备大容量磁盘的高性能计算机系统。
[0038]主控服务器如图2所示:由计算机硬件、操作系统、主控服务器软件构成,主控服务器软件负责存储服务器管理、存储空间分配、媒体流片段管理,计算机硬件为配备大容量内存、高性能中央处理器(CPU)高性能计算机系统。
[0039]存储服务器如图2所示:由计算机硬件、操作系统、存储服务器软件构成,存储服务器软件负责媒体片段的存储、读取,计算机硬件为拥有多块大容量磁盘的计算机系统。
[0040]主控服务器管理的数据如图3所示,主要包含媒体流信息、片段信息、存储服务器信息。
[0041]媒体流信息,以媒体流ID为关键字,数据包含:起始时间、结束时间、有效时间长度、数据总长度、片段ID列表。
[0042]片段信息,以片段ID为关键字,数据包含:流媒体ID、存储服务器IP、片段大小、片段起始时间、片段时长、片段状态,片段总是从视频关键帧开始,便于媒体流的检索和回放。
[0043]存储服务器信息,以存储服务器的IP为关键字,数据包含:总容量、已使用容量、片段ID列表。
[0044]媒体流上传,如图4所示,步骤如下:
[0045]步骤1:媒体服务器I接受从外部传入的媒体流数据,从第一帧关键帧抵达时创建临时文件,将媒体流数据写入临时文件,直到媒体流结束或者文件达到特定大小,在最近一次关键帧写入前结束所述临时文件,如果媒体流未结束则并开启新的临时文件,从关键帧开始写入。
[0046]步骤2:媒体服务器I向主控服务器申请临时文件大小的片段存储空间,存储服务器检测系统内存储服务器的负载情况,然后在所述存储服务器I上分配一个媒体流片段,将该片段设置为进行中状态;返回片段申请结果;所述片段申请结果包含有媒体流片段信息:片段ID,存储服务器I的IP。
[0047]步骤3:媒体服务器I向对应的存储服务器I发起片段存储请求(包含片段ID),并将临时文件发送到所述存储服务器I。
[0048]步骤4:存储服务器I收到临时文件后以片段ID为文件名,创建写入文件,将临时文件持续写入磁盘。
[0049]步骤5:存储服务器I接收并写入完所述临时文件的所有数据后,关闭写入文件。将片段存储结果发回媒体服务器。
[0050]步骤6:存储服务器I将片段完整信息提交到主控服务器。
[0051]步骤7:主控服务器接收到片段信息更新请求后,更新片段信息,并将状态设置为完成,返回更新结果到所述媒体服务器。
[0052]步骤8:重复步骤1,持续接受并保存媒体流。
[0053]媒体流获取,如图5所示,步骤如下:
[0054]步骤1:媒体服务器I收到媒体流获取请。
[0055]步骤2:媒体服务器I向主控服务器发起片段检索请求。
[0056]步骤2:主控服务器收到片段检索请求后,检索对应的媒体流片段,并将包含片段ID、存储服务器I的IP的片段信息作为检索结果发回媒体服务器I。
[0057]步骤3:媒体服务器I向存储服务器I发起片段读取请求。
[0058]步骤4:存储服务器I接收到含有片段ID的片段读取请求后,打开对应的片段文件,并将片段数据发送回媒体服务器I。
[0059]步骤5:媒体服务器I接收到媒体片段后,在片段内进行媒体定位,然后将对应位置开始的媒体流数据发送回媒体流获取发起端。
[0060]步骤6:重复步骤2,直到数据传输完毕。
【权利要求】
1.本发明是这样实现的:一种海量流媒体存储的系统和方法,其特征在于,该方法包括以下步骤: 所述海量流媒体存储的系统,由媒体服务器、主控服务器、存储服务器构成,并通过高速IP网络互联; 对外提供媒体流上传、媒体流获取功能; 媒体服务器:由计算机硬件、操作系统、媒体服务器软件构成,媒体服务器软件负责接收媒体流,将媒体流按照特定长度进行分片,然后将分片存储到相应的存储服务器中,负责接受外部的媒体流请求,并进行片内媒体流定位,然后将媒体数据发回请求端,计算机硬件为配备大容量磁盘的高性能计算机系统; 主控服务器:由计算机硬件、操作系统、主控服务器软件构成,主控服务器软件负责存储服务器管理、存储空间分配、媒体流片段管理,计算机硬件为配备大容量内存、高性能中央处理器(CPU)高性能计算机系统; 存储服务器:由计算机硬件、操作系统、存储服务器软件构成,存储服务器软件负责媒体片段的存储、读取,计算机硬件为拥有多块大容量磁盘的计算机系统。
2.如权利要求1所述的主控服务器软件管理的数据主要包含媒体流信息、片段信息、存储服务器信息; 媒体流信息,以媒体流ID为关键字,数据包含:媒体流ID、起始时间、结束时间、有效时间长度、数据总长度、片段ID列表; 片段信息,以片段ID为关键字,数据包含:片段ID、流媒体ID、存储服务器IP、片段大小、片段起始时间、片段时长、片段状态,片段总是从视频关键帧开始,便于媒体流的检索和回放; 存储服务器信息,以存储服务器IP为关键字,数据包含:存储服务器IP、总容量、已使用容量、片段ID列表。
3.如权利要求1所述的媒体流上传,步骤如下: 步骤1:媒体服务器接受从外部传入的媒体流数据,从第一帧关键帧抵达时创建临时文件,将媒体流数据写入临时文件,直到媒体流结束或者文件达到特定大小,在最近一次关键帧写入前结束临时文件,如果媒体流未结束则开启新的临时文件,从关键帧开始写入;步骤2:媒体服务器向主控服务器申请临时文件大小的片段存储空间,主控服务器依据内部记录的存储服务器的负载情况,然后分配一个媒体流片段,将该片段设置为进行中状态,返回包含片段ID、存储服务器IP媒体流片段信息的片段申请结果; 步骤3:媒体服务器向存储服务器发起片段存储请求,并将临时文件发送到存储服务器; 步骤4:存储服务器收到临时文件后以片段ID为文件名,创建写入文件,将临时文件持续写入磁盘; 步骤5:存储服务器接收并写入临时文件的所有数据后,关闭写入文件,将片段存储结果发回媒体服务器; 步骤6:存储服务器将片段完整信息提交到主控服务器; 步骤7:主控服务器接收到片段信息更新请求后,更新片段信息,并将状态设置为完成,返回更新结果到媒体服务器;步骤8:重复步骤1,持续接收并保存后续媒体流。
4.如权利要求1所述的媒体流获取,步骤如下: 步骤1:媒体服务器收到媒体流获取请求; 步骤2:媒体服务器向主控服务器发起片段检索请求; 步骤2:主控服务器收到片段检索请求后,检索对应的媒体流片段,并将包含片段ID、存储服务器IP的片段信息作为检索结果发回媒体服务器; 步骤3:媒体服务器向存储服务器发起片段读取请求; 步骤4:存储服务器接收到含有片段ID的片段读取请求后,打开对应的片段文件,并将片段数据发送回媒体服务器; 步骤5:媒体服务器接收到媒体片段后,在片段内进行媒体定位,然后将对应位置开始的媒体流数据发送回媒体流获取发起端; 步骤6:重复步骤2,直到数据传输完毕。
【文档编号】H04L29/08GK103581243SQ201210264359
【公开日】2014年2月12日 申请日期:2012年7月27日 优先权日:2012年7月27日
【发明者】程治永 申请人:永泰软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1