一种iSCSI块直存支持录像空间变更的方法和装置的制造方法

文档序号:9330889阅读:776来源:国知局
一种iSCSI块直存支持录像空间变更的方法和装置的制造方法
【技术领域】
[0001]本发明涉及存储技术领域,尤其涉及一种iSCSI块直存支持录像空间变更的方法和装置。
【背景技术】
[0002]前端IP编码器设备到IPSAN的端到端的媒体流iSCSI块直存技术是适合监控录像实时存储,同时保证性能的一种较好的录像存储方案;并且这种无单点收流存储瓶颈的方式能随着组网规模的增大而无缝扩展,请参图1。
[0003]基于单个摄像机的录像数据独立、24小时连续写入的特点,在存储系统中一般为每个摄像机划分独立的存储空间,并提供支持可连续长时间写入的大块存储空间;然后每个编码设备通过iSCSI方式,将录像写入存储设备上的连续逻辑存储空间。对于这种独立连续存储空间需要设计专有的块存储格式,一方面支持录像数据1写入的高性能、高可靠性,同时支持对海量录像数据的快速检索。
[0004]由于每个摄像机的视频监控录像数据具有天然按照时间先后排序的特点,因此,实际方案中可以直接通过增加时间索引,记录到块存储格式中的索引区域,从而在检索录像时,基于时间索引,快速定位到指定时间的录像数据。
[0005]现有的逻辑卷技术不支持缩容,但是实际应用中确实存在缩容的需求;同时支持的扩容也仅是从逻辑资源的尾部进行扩容,而从逻辑资源尾部扩容实际上没有最大化存储数据的留存期。

【发明内容】

[0006]有鉴于此,本发明提供一种iSCSI块直存支持录像空间变更的装置和方法。
[0007]该iSCSI块直存支持录像空间变更的装置包括:写入模块,用于收到携带有缩容容量L的消息后,停止存储;缩容起始位置确定模块,用于若当前写入数据单元之后的第一个数据单元的起始位置到资源尾部位置的剩余空间大小大于或者等于缩容容量L,则确定当前写入数据单元之后的第一个数据单元的起始位置B为缩容起始位置,从该B位置开始的缩容容量为L ;若当前写入数据单元之后的第一个数据单元的起始位置到资源尾部位置的剩余空间大小小于缩容容量L,则确定当前写入数据单元之后的第一个数据单元的起始位置C为第一缩容起始位置,从该C位置开始至资源尾部位置为第一缩容容量LI,还确定资源首个数据单元的起始位置A为第二缩容起始位置,从该A位置开始的缩容容量为L2,其中L1+L2 = L ;缩容信息反馈模块,用于将所述缩容起始位置和从该位置开始的缩容容量反馈给IPSAN存储设备。
[0008]优选地,写入模块,还用于收到携带有扩容容量P的消息后,停止存储;扩容起始位置确定模块,用于若当前资源未发生写覆盖,或者当前资源已发生过写覆盖但当前写入位置已经是扩容前容量的最后一个数据单元,则确定当前资源尾部位置D为扩容起始位置;若当前资源已发生过写覆盖,且当前写入位置为扩容前容量的中间位置,则确定当前写入数据单元之后的第一个数据单元的起始位置为扩容起始位置;扩容信息反馈模块,用于将所述扩容起始位置和扩容容量P反馈给IPSAN存储设备。
[0009]优选地,缩容成功后,写入模块在一级索引区中将缩减的存储空间对应的一级索引全部删除。
[0010]优选地,扩容成功后,写入模块在一级索引区中插入扩容后新增的一级索引,并且将这些插入的一级索引的时间值设为O。
[0011]该iSCSI块直存支持录像空间变更的方法应用于监控设备,该方法包括:收到携带有缩容容量L的消息后,停止存储;并且,若当前写入数据单元之后的第一个数据单元的起始位置到资源尾部位置的剩余空间大小大于或者等于缩容容量L,则确定当前写入数据单元之后的第一个数据单元的起始位置B为缩容起始位置,从该B位置开始的缩容容量为L ;若当前写入数据单元之后的第一个数据单元的起始位置到资源尾部位置的剩余空间大小小于缩容容量L,则确定当前写入数据单元之后的第一个数据单元的起始位置C为第一缩容起始位置,从该C位置开始至资源尾部位置为第一缩容容量LI,还确定资源首个数据单元的起始位置A为第二缩容起始位置,从该A位置开始的缩容容量为L2,其中L1+L2 =L ;将所述缩容起始位置和从该位置开始的缩容容量反馈给IPSAN存储设备。
[0012]优选地,收到携带有扩容容量P的消息后,停止存储;并且,若当前资源未发生写覆盖,或者当前资源已发生过写覆盖但当前写入位置已经是扩容前容量的最后一个数据单元,则确定当前资源尾部位置D为扩容起始位置;若当前资源已发生过写覆盖,且当前写入位置为扩容前容量的中间位置,则确定当前写入数据单元之后的第一个数据单元的起始位置为扩容起始位置;将所述扩容起始位置和扩容容量P反馈给IPSAN存储设备。
[0013]优选地,缩容成功后,在一级索引区中将缩减的存储空间对应的一级索引全部删除。
[0014]优选地,扩容成功后,在一级索引区中插入扩容后新增的一级索引,并且将这些插入的一级索引的时间值设为O。
[0015]相较于现有技术,本发明逻辑卷技术很好的支持了缩容;同时支持任意位置处的扩容,最大化保证了存储数据的留存期。
【附图说明】
[0016]图1是基于iSCSI的块直存方案网络图。
[0017]图2是一种通用的单个摄像机存储空间的监控录像块存储格式。
[0018]图3 (a)是一种缩容示意图。
[0019]图3 (b)是另一种缩容不意图。
[0020]图4 (a)是一种扩容示意图。
[0021]图4(b)是另一种扩容不意图。
[0022]图5是缩容情况下逻辑资源和物理资源映射示意图。
【具体实施方式】
[0023]本发明技术方案,在iSCSI块存储解决方案中,通过与存储侧配合的容量变更算法支持容量按时间先后顺序进行变更,即越早存储的录像在缩容或者扩容过程中优先被缩容掉或者扩容掉。
[0024]对于iSCSI块存储系统,在单个IPC摄像机的磁盘存储空间中,一种通用的监控录像块存储格式如图2。该块存储格式包括:
[0025](I)超级块:一般有几十K(比如16K)字节,用来记录块格式的版本号、摄像机ID。由于超级块中的数据有限,因此通常有较多的预留空间。
[0026](2) 一级时间索引区:超级块后面为一级时间索引区,索引区中的每条时间索引与一个数据单元一一对应(比如:第η个一级时间索引,对应第η个数据单元),用于记录该数据单元的最早I帧组的时间,从而可以基于时间快速定位到某个数据单元。
[0027](3)数据单元及二级时间索引区:一级时间索引区后面是一系列的数据单元,用于保存录像的I帧组数据。为了保证I帧组数据的连续写入,数据单元一般达到几百M字节(比如256Μ字节)。每个数据单元是以一个二级时间索引区开始的,其中每条时间索引与一个I帧组--对应(比如:第η个二级时间索引,对应本数据单元的第η个I帧组),用于记录该I帧组的开始时间,从而可以基于时间快速定位某个I帧组。二级索引区之后,就是本数据单元中的所有I帧组数据。一个I帧组就是I秒的监控录像数据。在I帧组中,存储的是该I帧组的所有视频、音频数据包。
[0028]本发明技术方案对于块存储格式是以数据单元为最小处理空间单位,变更的容量必须为数据单元的整数倍。
[0029]一、缩容
[0030]当用户需要对摄像机的存储空间进行缩容时,首先会在管理服务器上输入需要缩小的容量。该缩容容量被知会到写入模块(该写入模块位于IPC或数据管理服务器DM或其他监控设备)。比如说缩小的容量大小为L,L〈当前资源容量。通常每个摄像机根据录像留存时间等会被配置一定的大小的存储资源,录像数据将循环往复的写入该存储资源。
[0031]写入模块收到携带有缩容容量L的消息后,停止存储;并且,缩容起始位置确定模块按如下方式确定缩容起始位置:①若当前写入数据单元之后的第一个数据单元的起始位置到资源尾部位置的剩余空间大小大于或者等于缩容容量L,则确定当前写入数据单元之后的第一个数据单元的起始位置B为缩容起始位置,从该B位置开始的缩容容量为L ;②若当前写入数据单元之后的第一个数据单元的起始位置到资源尾部位置的剩余空间大小小于缩容容量L,则确定当前写入数据单元之后的第一个数据单元的起始位置C为第一缩容起始位置,从该C位置开始至资源尾部位置为第一缩容容量LI,还确定资源首个数据单元的起始位置A为第二缩容起始位置,从该A位置开始的缩容容量为L2,其中L1+L2 = L0
[0032]举例说明上述①②两种情况。请参图3 (a),该图对应于第①种情况,即当前写入数据单元之后的第一个数据单元的起始位置到资源尾部位置的剩余空间大小大于或者等于缩容容量L。这里之所以需要从当前写入数据单元之后的第一个数据单元的起始位置B开始算起,主要是因为本发明缩容处理的最小空间单位为数据单元,当前正在写入的数据单元由于有最新的数据写入,所以肯定不能立即从将该数据单元开始缩减,且其后的第一个数据单元如果存在录像数据也是最老的数据(后续其他情况从当前写入数据单元之后的第一个数据单元的起始位置起算原因相同),所以从该数据单元开始缩容是最合理的。在第①种情况下,直接按照要缩减的容量给出一段连续地址段[B,L],该连续地址段[B,L]对应的空间即为要缩减的容量空间。
[0033]请参图3(b),该图对应第②种情况,当前写入数据单元之后的第一个数据单元的起始位置C到资源尾部位置的剩余空间大小小于缩容容量L。由于到资源尾部仍然不够缩减的容量,所以从资源头部开始继续缩减。最终缩减的地址段包括两部分:第一部分为[C,LI],第二部分为[A,L2]。LI是当前C位置到资源末尾的空间大小;A是资源头部的起始地
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1