一种多路视频存储方法及系统技术方案

技术编号:30316603 阅读:18 留言:0更新日期:2021-10-09 23:13
本发明专利技术提供一种多路视频存储方法及系统,均能够:针对每一路视频采集通道,实时接收、拼接与缓存各路视频采集通道传来的视频数据;实时且对应判断所缓存的每一路视频数据的数据量是否达到D字节,对判定数据量达到D字节的各路视频数据,分别截取前D字节长度的视频数据段,标记通道标识后写入共享内存;实时计算共享内存的剩余可用空间大小,并基于计算出的剩余可用空间大小读取共享内存中的数据,并对读取出的每一个视频数据段,均依照其标记的通道标识对存储硬盘进行寻址,之后写入对应的存储硬盘。本发明专利技术有助于减少硬盘操作次数,降低对临时内存存放空间的要求,并有助于提高对硬盘空间利用的合理性。空间利用的合理性。空间利用的合理性。

【技术实现步骤摘要】
一种多路视频存储方法及系统


[0001]本专利技术涉及服务器领域,具体涉及一种多路视频存储方法及系统。

技术介绍

[0002]随着网络的发展,网络中视频信息的处理场景越来越普遍。伴随带宽资源的增加越来越多的应用场景需要大量高并发的视频解决方案。这其中多路视频同时存储的应用场景也越来越多。
[0003]目前,大多数多路视频存储应用场景都是采用多线程处理并配设多个硬盘,每路视频单独接收视频数据然后存储到相应的硬盘中,往往存在以下问题:
[0004]1.每路视频均单独执行存储,即每接收到一路前端视频采集设备发来的数据都要进行一次数据硬盘读写操作。容易导致硬盘操作次数过多,消耗较多的程序运行时间。
[0005]2.每路视频处理线程(用于视频的采集和接收操作)往往会单独开辟视频数据的临时内存存放空间,当视频线程过多时,往往对临时内存存放空间要求过大。
[0006]3.数据的读取和存储无法对存储数据的硬盘进行系统管理,容易造成硬盘使用进度参差不齐,易出现某个硬盘空间耗尽而其他相关硬盘使用度偏低的情况,容易导致硬盘空间利用不合理。
[0007]为此,本专利技术提供一种多路视频存储方法及系统,用于解决上述问题。

技术实现思路

[0008]针对现有技术的上述不足,本专利技术提供一种多路视频存储方法及系统,用于减少硬盘操作次数,降低对临时内存存放空间的要求,还用于提高对硬盘空间利用的合理性。
[0009]第一方面,本专利技术提供一种多路视频存储方法,包括步骤:
[0010]针对每一路视频采集通道,实时接收与拼接各路视频采集通道传来的视频数据,并实时对拼接后的各路视频数据进行缓存;
[0011]实时且对应判断所缓存的每一路视频数据的数据量是否达到D字节,并且对判定数据量达到D字节的每一路视频数据,分别截取前D字节长度的视频数据段,标记上所对应的视频采集通道预先配设的通道标识后,与所标记的通道标识一并写入共享内存;D为各路视频采集通道所配设的所有存储硬盘的磁道的容量的最小公倍数;
[0012]实时计算共享内存的剩余可用空间大小,并基于计算出的剩余可用空间大小读取共享内存中的数据,并对读取出的数据中的每一个视频数据段,均依照其标记的通道标识对存储硬盘进行寻址,之后写入对应的存储硬盘;其中,每一次从共享内存中读取出的数据的大小均为n
×
(d+p)字节的数据,其中d取上述D,p为各路视频采集通道所配设的通道标识的字节长度,n的取值为正整数。
[0013]进一步地,共享内存采用闭环数据结构,共享内存的初始读写位置相同;
[0014]在往共享内存中每写完一个视频数据段及其标记的通道标识后,将共享内存的下一个写入位置更新为共享内存当前的写入起始位置,用于写入下一个将要写入的视频数据
段及其标记的通道标识;
[0015]在往共享内存中写入每一个视频数据段及其标记的通道标识的过程中,每次遇到闭环衔接点时,先写完该闭环衔接点,然后再将共享内存的初始位置作为共享内存的下一写入位置,然后继续写入数据。
[0016]进一步地,在每一次从共享内存中读取数据的过程中:每次在遇到共享内存的闭环衔接点时,均先读取闭环衔接点上的数据,然后跳转到共享内存的初始位置继续读取。
[0017]进一步地,该多路视频存储方法还包括步骤:
[0018]实时监控共享内存的读写速度;
[0019]实时依据监控到的共享内存的读写速度,控制用于读取共享内存中数据的线程的个数。
[0020]进一步地,所述的实时依据监控到的共享内存的读写速度,控制用于读取共享内存中数据的线程的个数,具体实现方法为:
[0021]实时判断共享内存当前的读速度是否大于写速度;
[0022]每次在判定共享内存当前的读速度大于写速度时,均减少一个用于读取共享内存中数据的线程;
[0023]每次在判定共享内存当前的读速度小于写速度时,分别增加一个用于读取共享内存中数据的线程。
[0024]第二方面,本专利技术提供一种多路视频存储系统,包括:
[0025]共享内存;
[0026]视频接收线程池,用于针对每一路视频采集通道,实时接收与拼接各路视频采集通道传来的视频数据,并实时对拼接后的各路视频数据进行缓存;并用于实时且对应判断所缓存的每一路视频数据的数据量是否达到D字节,对判定数据量达到D字节的每一路视频数据,分别截取前D字节长度的视频数据段,标记上所对应的视频采集通道预先配设的通道标识后,与所标记的通道标识一并写入共享内存;D为各路视频采集通道所配设的所有存储硬盘的磁道的容量的最小公倍数;
[0027]视频存储线程池,用于实时计算共享内存的剩余可用空间大小,并基于计算出的剩余可用空间大小读取共享内存中的数据,并对读取出的数据中的每一个视频数据段,均依照其标记的通道标识对存储硬盘进行寻址,之后写入对应的存储硬盘;其中,每一次从共享内存中读取出的数据的大小均为n
×
(d+p)字节的数据,其中d取上述D,p为各路视频采集通道所配设的通道标识的字节长度,n的取值为正整数。
[0028]进一步地,共享内存采用闭环数据结构,共享内存的初始读写位置相同;
[0029]视频接收线程池在往共享内存中每写完一个视频数据段及其标记的通道标识后,将共享内存的下一个写入位置更新为共享内存当前的写入起始位置,用于写入下一个将要写入的视频数据段及其标记的通道标识;
[0030]视频接收线程池在往共享内存中写入每一个视频数据段及其标记的通道标识的过程中,每次遇到闭环衔接点时,均先写完该闭环衔接点,然后再将共享内存的初始位置作为共享内存的下一写入位置,然后继续写入数据。
[0031]进一步地,视频存储线程池在每一次从共享内存中读取数据的过程中:每次在遇到共享内存的闭环衔接点时,均先读取闭环衔接点上的数据,然后跳转到共享内存的初始
位置继续读取。
[0032]进一步地,该多路视频存储系统还包括:
[0033]监控模块,用于实时监控共享内存的读写速度,并用于实时依据监控到的共享内存的读写速度,控制用于读取共享内存中数据的线程的个数。
[0034]进一步地,监控模块包括:
[0035]监控单元,用于实时监控共享内存的读写速度;
[0036]第一处理单元,用于在监控单元每次判定共享内存当前的读速度大于写速度时,均减少一个视频存储线程池中用于读取共享内存中数据的线程;
[0037]第二处理单元,用于在监控单元每次判定共享内存当前的读速度小于写速度时,均增加一个视频存储线程池中用于读取共享内存中数据的线程。
[0038]本专利技术的有益效果在于,
[0039](1)本专利技术提供的多路视频存储方法及系统,使用共享内存替换
技术介绍
中的临时内存空间,有助于避免为每路视频处理线程单独开辟视频数据的临时内存存放空间,一定程度上解决了多路视频存储过程中对内存空间要求过大的问题。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多路视频存储方法,其特征在于,包括步骤:针对每一路视频采集通道,实时接收与拼接各路视频采集通道传来的视频数据,并实时对拼接后的各路视频数据进行缓存;实时且对应判断所缓存的每一路视频数据的数据量是否达到D字节,并且对判定数据量达到D字节的每一路视频数据,分别截取前D字节长度的视频数据段,标记上所对应的视频采集通道预先配设的通道标识后,与所标记的通道标识一并写入共享内存;D为各路视频采集通道所配设的所有存储硬盘的磁道的容量的最小公倍数;实时计算共享内存的剩余可用空间大小,并基于计算出的剩余可用空间大小读取共享内存中的数据,并对读取出的数据中的每一个视频数据段,均依照其标记的通道标识对存储硬盘进行寻址,之后写入对应的存储硬盘;其中,每一次从共享内存中读取出的数据的大小均为n
×
(d+p)字节的数据,其中d取上述D,p为各路视频采集通道所配设的通道标识的字节长度,n的取值为正整数。2.根据权利要求1所述的多路视频存储方法,其特征在于,共享内存采用闭环数据结构,共享内存的初始读写位置相同;在往共享内存中每写完一个视频数据段及其标记的通道标识后,将共享内存的下一个写入位置更新为共享内存当前的写入起始位置,用于写入下一个将要写入的视频数据段及其标记的通道标识;在往共享内存中写入每一个视频数据段及其标记的通道标识的过程中,每次遇到闭环衔接点时,先写完该闭环衔接点,然后再将共享内存的初始位置作为共享内存的下一写入位置,然后继续写入数据。3.根据权利要求1所述的多路视频存储方法,其特征在于,在每一次从共享内存中读取数据的过程中:每次在遇到共享内存的闭环衔接点时,均先读取闭环衔接点上的数据,然后跳转到共享内存的初始位置继续读取。4.根据权利要求1所述的多路视频存储方法,其特征在于,该多路视频存储方法还包括步骤:实时监控共享内存的读写速度;实时依据监控到的共享内存的读写速度,控制用于读取共享内存中数据的线程的个数。5.根据权利要求4所述的多路视频存储方法,其特征在于,所述的实时依据监控到的共享内存的读写速度,控制用于读取共享内存中数据的线程的个数,具体实现方法为:实时判断共享内存当前的读速度是否大于写速度;每次在判定共享内存当前的读速度大于写速度时,均减少一个用于读取共享内存中数据的线程;每次在判定共享内存当前的读速度小于写速度时,分别增加一个用于读取共享内存中数据的线程。6.一种多路视频存储系统,其特征在于,包括:共享内存;视频接收线程池...

【专利技术属性】
技术研发人员:胥辂芳
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1