面向视频流数据的分布式存储系统磁盘双分区写入方法

文档序号:8490212阅读:374来源:国知局
面向视频流数据的分布式存储系统磁盘双分区写入方法
【技术领域】
[0001]本发明涉及面向视频流数据的分布式存储系统磁盘双分区写入方法,属于计算机软件领域,涉及分布式文件系统。
【背景技术】
[0002]视频监控技术在智慧交通领域的发展中一直占据着重要地位。近年来视频监控数据的存储技术随着前端摄像头分布的密集化,采集数据的高清化而受到越来越严峻的考验。现有的视频监控存储主要采用NVR存储方案:通过中心业务平台进行集中管理和控制,以网络视频服务器和IP摄像机为前端,以IPSAN/NAS网络存储为后端进行部署。作为NVR存储的前端,IP摄像头的高清化对后台存储所带来的压力是显而易见的。以一路1080P (1920x1080)解析度,30帧/秒的视频流为例,其所产生的原始视频数据码率为750Mbit/s。即使使用目前具有较高压缩比的H.264视频流压缩编码算法进行编码后,所产生的视频流数据码率也在4Mbit/s ~ 8Mbit/s之间。传统的NVR存储中基于NAS的存储方式对存储阵列中磁盘I/O的利用率不高,并且随着前端接入摄像头数目的增加,NVR存储系统中磁盘的聚合I/O吞吐率急剧下降。
[0003]此外,传统机械磁盘磁头在进行数据写入时,内圈和外圈的写入速率差别较大,会带来磁盘I/o速率的不稳定等问题。通过实验我们发现,磁盘的I/O吞吐率,随着磁盘块号的增加而逐渐降低,磁盘写入速率的最低值只有峰值的一半左右,如图1所示为在一块ITB7200RPM SATA磁盘上的顺序写入测试。磁盘写入速率逐渐下降的原因在于整个磁盘空间采用顺序I/O的方式写入数据,且创建初始化块文件时采用顺序创建的方式,分配给块文件的磁盘块号也随着块文件序号而递增。磁盘块号越大的磁盘块所对应的磁道也越靠近物理磁盘中心,而磁盘在磁道上的写入速率随磁道接近磁盘中心而递减。如果将整块磁盘使用顺序I/o的方式用于监控视频流数据的存储,则其所能支持写入的视频流数据将受到这种磁盘I/o吞吐率不稳定的影响而逐渐降低。这将导致部分视频流需要请求中心服务器定位可写入的数据服务器,增大中心服务器的压力,从而影响整个存储系统的性能。

【发明内容】

[0004]本发明的目的在于提供面向视频流数据的分布式存储系统磁盘双分区写入方法,主要解决现有磁盘磁头读写在磁盘内圈和外圈时速率的差异,造成磁盘I/o吞吐率不稳定,影响存储系统性能的问题。本发明同时稳定写入带宽,避免磁盘空间的浪费。
[0005]为了实现上述目的,本发明采用的技术方案如下:
面向视频流数据的分布式存储系统磁盘双分区写入方法,包括步骤:
A、将数据服务器的每块磁盘划分为缓存分区和存储分区,缓存分区用于处理大量视频流的并发写入,存储分区用于稳定存储视频流的数据;
B、当某块磁盘的缓存分区存在视频流写入时,该块磁盘标记为在线状态磁盘;而当其缓存分区上没有视频流写入时,该磁盘被称为离线状态磁盘; C、当前磁盘的缓存分区上的数据拷贝至另一个处于离线状态磁盘的存储分区上。
[0006]具体地,所述缓存分区和存储分区均包括多个固定大小的磁盘块,并对该两个分区中的磁盘块进行统一排序,并且缓存分区具有相对于存储分区序号较小的磁盘块,存储分区具有相对于缓存分区序号较大的磁盘块。磁盘块序号越大的磁盘块所对应的磁道越靠近物理磁盘中心,而磁盘在磁道上的写入速率随磁道接近磁盘中心而递减,因此缓存分区的磁盘块序号较小,处于磁盘外圈,可保证高速稳定写入带宽,而存储分区处于磁盘内圈则可以持久保存数据,避免磁盘空间的浪费。
[0007]进一步地,所述缓存分区和存储分区的大小相同。
[0008]再进一步地,所述步骤C中,当前磁盘的缓存分区被写满后,其上的数据才被拷贝至另一个处于离线状态磁盘的存储分区上。
[0009]当前磁盘的缓存分区被写满后,还执行以下步骤:
D、视频流写入被调度至其他磁盘的缓存分区进行写入;
E、当前磁盘状态由在线转为离线。
[0010]再进一步地,拷贝完成后的缓存分区再次收到写入请求时,立即进行视频流的写入;存储分区等待其上的数据到期后,才能进行覆盖写入。
[0011]与现有技术相比,本发明具有以下有益效果:
本发明克服了传统机械磁盘内圈外圈的读写速率不同而造成的磁盘I/O吞吐率不稳定的问题。同时利用了内圈外圈速率的不同特点,充分发挥了磁盘外圈I/O吞吐率高的特点,在视频流写入时保证高速稳定写入带宽;磁盘内圈持久保存数据,避免磁盘空间的浪费。饱和利用磁盘I/o吞吐率,减少磁盘空转时间,节约能源消耗和磁盘损耗。
【附图说明】
[0012]图1为磁盘顺序写入数据的速率变化趋势图。
[0013]图2为本发明-实施例的工作流程图。
[0014]图3为本发明磁盘变化图。
【具体实施方式】
[0015]下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
[0016]如图2和图3所示,面向视频流数据的分布式存储系统磁盘双分区写入方法,包括如下步骤:
A、将数据服务器上的每块磁盘划分为两个逻辑分区,一个逻辑分区为缓存分区,另一个逻辑分区为存储分区,缓存分区和存储分区均包括多个固定大小的磁盘块,并对两个逻辑分区中的磁盘块进行统一排序,缓存分区用于处理大量视频流的并发写入,存储分区用于稳定存储视频流的数据;
B、当某块磁盘的缓存分区存在视频流写入时,该块磁盘标记为在线状态磁盘;而当其缓存分区上没有视频流写入时,该磁盘被称为离线状态磁盘; C、当前磁盘的缓存分区上的数据拷贝至另一个处于离线状态磁盘的存储分区上;
D、视频流写入被调度至其他磁盘的缓存分区进行写入。
[0017]在本实施例中,数据服务器的每块磁盘不包括系统盘,两个逻辑分区的大小相同,缓存分区包含序号较小的磁盘块,存储分区包含剩下的序号较大的磁盘块,比如缓存分区的磁盘块序号为l~n,则存储分区的磁盘块序号为n+l~2n。磁盘块序号越大的磁盘块所对应的磁道越靠近物理磁盘中心,而磁盘在磁道上的写入速率随磁道接近磁盘中心而递减,因此缓存分区的磁盘块序号较小,处于磁盘外圈,可保证高速稳定写入带宽,而存储分区处于磁盘内圈则可以持久保存数据,避免磁盘空间的浪费。
[0018]其中,两个分区均使用连续模型进行格式化,连续模型进行格式化方法如下:在进行格式化时,首先在每个逻辑分区上连续创建并写入固定大小的普通文件,形成磁盘块的块文件,直到将整块磁盘占满,这些块文件所占用的物理磁盘扇区基本是连续的。
[0019]在步骤D中,拷贝完成后,当前磁盘的缓存分区可立即再次用于视频流写入,而拷贝了数据的存储分区上的数据需要等待其有效期过后才能进行覆盖,这种机制称为双分区离线复制机制。
[0020]在本实施例中,对于数据服务器上的用于保存视频监控数据的物理磁盘,通过双分区离线复制机制划分了在线和离线两种状态。而在整个系统运行过程中,为了能够及时调度空闲磁盘进行休眠,将这些磁盘的工作状态划分为4类。各类状态定义如下:1、Write状态:当前磁盘上的缓存分区正在处理视频流的并发写入;2、Backup状态:当前磁盘的缓存分区正在将写满的数据备份至其他磁盘的存储分区,或者其他磁盘上的缓存分区正在将写满的数据备份至当前磁盘的存储分区;3、Idle状态:当前磁盘已经将缓存分区刚写满的数据备份至其他磁盘的存储分区,且没有收到其他请求,4、Read状态:当前磁盘在以上3种状态下收到读取数据请求时,均需做出响应,完成读取请求后的磁盘恢复原有状态。当磁盘处于Idle状态时,磁盘处于休眠状态,从而降低能源开销和磁盘损耗。
[0021]本发明克服了传统机械磁盘内圈外圈的读写速率不同而造成的磁盘I/O吞吐率不稳定的问题。同时利用了内圈外圈速率的不同特点,充分发挥了磁盘外圈I/O吞吐率高的特点,在视频流写入时保证高速稳定写入带宽;磁盘内圈持久保存数据,避免磁盘空间的浪费。饱和利用磁盘I/o吞吐率,减少磁盘空转时间,节约能源消耗和磁盘损耗。
[0022]按照上述实施例,便可很好地实现本发明。
【主权项】
1.面向视频流数据的分布式存储系统磁盘双分区写入方法,其特征在于,包括步骤: A、将每块磁盘划分为缓存分区和存储分区,缓存分区用于处理大量视频流的并发写入,存储分区用于稳定存储视频流的数据; B、当某块磁盘的缓存分区存在视频流写入时,该块磁盘标记为在线状态磁盘;而当其缓存分区上没有视频流写入时,该磁盘被称为离线状态磁盘; C、当前磁盘的缓存分区上的数据拷贝至另一个处于离线状态磁盘的存储分区上。
2.根据权利要求1所述的面向视频流数据的分布式存储系统磁盘双分区写入方法,其特征在于,所述缓存分区和存储分区均包括多个固定大小的磁盘块,并对该两个分区中的磁盘块进行统一排序,并且缓存分区具有相对于存储分区序号较小的磁盘块,存储分区具有相对于缓存分区序号较大的磁盘块。
3.根据权利要求2所述的面向视频流数据的分布式存储系统磁盘双分区写入方法,其特征在于,所述缓存分区和存储分区的大小相同。
4.根据权利要求1-3任意一项所述的面向视频流数据的分布式存储系统磁盘双分区写入方法,其特征在于,所述步骤C中,当前磁盘的缓存分区被写满后,其上的数据才被拷贝至另一个处于离线状态磁盘的存储分区上。
5.根据权利要求4所述的面向视频流数据的分布式存储系统磁盘双分区写入方法,其特征在于,当前磁盘的缓存分区被写满后,还执行以下步骤: D、视频流写入被调度至其他磁盘的缓存分区进行写入; E、当前磁盘状态由在线状态转为离线状态。
6.根据权利要求5所述的面向视频流数据的分布式存储系统磁盘双分区写入方法,其特征在于,拷贝完成后的缓存分区再次收到写入请求时,立即进行视频流的写入;存储分区等待其上的数据到期后,才能进行覆盖写入。
【专利摘要】本发明公开了面向视频流数据的分布式存储系统磁盘双分区写入方法。包括步骤:A、将每块磁盘划分为缓存分区和存储分区,缓存分区用于处理大量视频流的并发写入,存储分区用于稳定存储视频流的数据;当某块磁盘的缓存分区存在视频流写入时,该块磁盘标记为在线状态磁盘;C、当前磁盘的缓存分区上的数据拷贝至另一个处于离线状态磁盘的存储分区上,其中,磁盘的缓存分区没有视频流写入时,该块磁盘标记为离线状态磁盘。本发明克服了传统机械磁盘内圈外圈的读写速率不同而造成的磁盘I/O吞吐率不稳定的情况。充分发挥了缓存分区I/O吞吐率高的特点,能够在视频流写入时保证高速稳定写入带宽。同时利用了存储分区来持久保存数据,避免磁盘空间的浪费。
【IPC分类】H04N5-781
【公开号】CN104811647
【申请号】CN201510245388
【发明人】段瀚聪, 闵革勇, 詹文翰, 郭辉, 程文静, 王瑾, 郑松
【申请人】电子科技大学
【公开日】2015年7月29日
【申请日】2015年5月15日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1