一种多个视频文件高速并行存储的方法及装置的制造方法

文档序号:9727385阅读:521来源:国知局
一种多个视频文件高速并行存储的方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及流媒体处理领域,尤其涉及一种多个视频文件高速并行存储的方法及装置。
【背景技术】
[0002]视频监控系统中,流媒体服务器通常需要同时处理并存储多路视频录像,从各路摄像单元拍摄的视频信息以流式传输的方式通过无线或有线网络传输至流媒体服务器中,根据需要,这些视频信息通常需要在流媒体服务器中写入存储节点中,以至少保留一段时间或做永久保存。
[0003]从各路摄像单元拍摄的视频信息,形成多个视频流,因此流媒体服务器往往需要同时处理多个高并发的视频录像,以写入存储节点。由于多个视频流是并行的实时接收和存储,所以,被写入存储节点时,尤其是普通机械硬盘,会由于并发写入的原因而呈现各个视频流相互间隔着随机写入存储节点,致使存储节点的硬盘需要对应各视频流不断的执行寻址操作,这导致写入效率变慢,甚至因此而导致整个流媒体服务器或者工作站的处理效率变慢以至瘫痪。
[0004]目前的存储节点从成本以及存储容量来考虑,又通常以机械硬盘为主要的存储设备,而往机械硬盘中存储高速视频录像的存储效率则往往会成为整个流媒体服务器的瓶颈,当多路视频文件同时需要存入机械硬盘时,往往造成磁头寻道时间过短,又或者产生对于同一个较大的视频文件,被分散保存到整个磁盘的不同地方,使得产生较多个文件碎片,浪费大量的磁盘空间,磁盘上的文件碎片越多,再对磁盘文件进行读取时以及新建文件的时间就会越长,如此给使用者造成了极大的不便。

【发明内容】

[0005]本发明提供一种多个视频文件高速并行存储的方法及装置,以实现流媒体服务器处理并写入高并发的较多个视频流时的效率大幅提升。
[0006]第一方面,本发明实施例提供了一种多个视频文件高速并行存储的方法,该方法包括:
[0007]流媒体服务器接收至少两个视频文件对应的视频流数据;
[0008]所述流媒体服务器将所述视频流数据在内存中进行存储;
[0009]所述流媒体服务器识别到视频文件的视频流数据传输结束时,形成所述视频文件的迁移任务;
[0010]所述流媒体服务器根据形成的迀移任务,从内存中提取任务对应的视频文件,迀移存储至存储节点中。
[0011]第二方面,本发明实施例还提供了一种多个视频文件高速并行存储的装置,配置于流媒体服务器中,所述装置包括:
[0012]接收单元,用于接收至少两个视频文件对应的视频流数据;
[0013]存储单元,用于将所述视频流数据在内存中进行存储;
[0014]迀移任务形成单元,用于识别到视频文件的视频流数据传输结束时,形成所述视频文件的迀移任务;
[0015]迀移存储单元,用于根据形成的迀移任务,从内存中提取任务对应的视频文件,迀移存储至存储节点中。
[0016]本发明通过将多路视频流缓存至流媒体服务器的内存文件系统中形成视频文件,并根据形成的迀移任务将内存中形成的视频文件逐一写入到存储节点如机械硬盘、磁盘阵列或者闪存中,大大地提高了流媒体服务器对多路视频流的处理效率,同时这种方式又极大地减少了文件碎片的产生,提高了磁盘的利用效率以及文件读取效率。
【附图说明】
[0017]图1为本发明实施例一中的多个视频文件高速并行存储的方法流程图;
[0018]图2是本发明实施例一中的负载动态迀移时的实施示意图;
[0019]图3是本发明实施例一中的整体的视频流数据转移流程示意图;
[0020]图4是本发明实施例一中的任务消息队列创建流程图;
[0021]图5是本发明实施例二中的多个视频文件高速并行存储的装置框图。
【具体实施方式】
[0022]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0023]本发明所述的一种多个视频文件高速并行存储的方法,运用于存在有多个流式媒体在传输至流媒体服务器的过程中需要写入存储节点的情形中,本发明的基本思想是:在流媒体服务器接收视频流数据之后,通过在内存中虚拟硬盘形成文件系统以使视频流数据在内存中录制形成视频文件,并根据迀移任务将形成的视频文件写入到存储节点中,从而使得流媒体服务器高并发随机接收的视频文件能够从内存中以极高的速度写入存储节点,以提高高并发的视频流数据在随机存储到存储节点时的处理效率,大幅减少形成的文件碎片。
[0024]实施例一
[0025]如图1所示,为本发明实施例的方法流程图,本发明实施例涉及一种多个视频文件高速并行存储的方法,运用于具有较多个视频流数据需要写入到存储节点的场景,该方法包括以下步骤:
[0026]步骤S101:流媒体服务器接收至少两个视频文件对应的视频流数据;
[0027]其中,流媒体服务器一般为一种工作站,其至少能够接收数据并将数据存储于某一物理的存储节点,视频流数据将连续的音频和/或视频信息压缩后通过网络传输,以用于所述流媒体服务器的接收和存储,视频流数据在传输、下载或者录制完成以后即形成视频文件。各视频文件所对应的视频流数据,需要流媒体服务器持续一段时间进行接收。
[0028]步骤S102:所述流媒体服务器将所述视频流数据在内存中进行存储;
[0029 ]两个以上的各所述视频流数据被所述流媒体服务器接收以后,首先由所述流媒体服务器的控制单元将各所述视频流数据缓冲至所述流媒体服务器的内存中,然后将各所述视频流数据录制完成以后形成的视频文件存储在该内存中;
[0030]本实施例中,对所述流媒体服务器的内存的至少一部分进行硬盘虚拟化,并形成内存文件系统,在该内存文件系统进行各所述视频流数据的缓存,即在内存文件系统中形成了一套完整的文件系统,在该内存文件系统中的视频文件存在形式,与在存储介质如机械硬盘中的视频文件存在形式相同。
[0031]利用内存文件系统虚拟技术将流媒体服务器的一部分内存虚拟成内存文件系统并作为各视频文件的暂时存储。
[0032]流媒体服务器的内存通常为几十G到上百G(GB,Gigabyte,十亿字节),以作为与流媒体服务器的控制单元与存储节点之间的数据中转站,对该内存的一部分进行硬盘虚拟化,同时保留剩余部分的内存进行该流媒体服务器的常规数据交换。
[0033]由于流媒体服务器的内存较大,因此视频流数据在内存文件系统进行视频流数据的录制通常得以进行,而不会出现视频录制不能完成的情形,而且在内存文件系统形成的视频文件可以根据多个视频流数据的个数多少来划分视频文件的大小,同时也可以根据需要对该内存文件系统的大小进行或大或小的调整。在本实施例中的车载视频监控系统中,由于通常录制完成的一个视频文件较小,因此不存在内存不足的情形,但在本发明的其它场景中同样也可以录制接近内存大小的视频文件,因此,对内存的硬盘虚拟化并不以此为限。
[0034]优选地,所述的内存文件系统为在内存的一部分进行了文件系统虚拟化之后,将其中的一部分内存虚拟为文件系统,在该文件系统中由于利用了内存作为文件系统,因此内存文件系统具有与内存一样极优越的写入速度,同时,录制完成的各视频流数据在该内存文件系统中是以文件的形式存在的。
[0035]步骤S103:所述流媒体服务器识别到视频文件的视频流数据传输结束时,形成所述视频文件的迀移任务;
[0036]视频流数据以连续的形式不断地通过网络传输至流媒体服务器,并由流媒体服务器存储到内存形成的文件系统中,在本发明实施例中,其运用于某一车载视频监控场景中,由于车载视频监控系统处于较长
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1