一种录像回放方法和装置制造方法

文档序号:6544535阅读:241来源:国知局
一种录像回放方法和装置制造方法
【专利摘要】本发明提出一种录像回放方法,应用于一种视频监控系统的DM服务器上,包括:在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;通过与存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;当收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询存储资源映射信息,如果该摄像机编号对应的存储资源损坏,从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从存储设备上读取对应的录像数据。本发明提高了对关键索引数据存储的可扩展性,同时不需要新增额外的性能开销。
【专利说明】一种录像回放方法和装置
【技术领域】
[0001]本发明涉及视频监控领域,尤其涉及一种录像回放方法和装置。
【背景技术】
[0002]随着高清在监控业务系统中的应用,对监控录像存储的可靠性、性能等要求越来越高。而前端IP编码器设备到IP SAN存储设备的端到端的媒体流iSCSI直存技术就是一种较好的录像存储方案。这种方案是在前端摄像机的IP编码设备中集成iSCSI模块,使得编码设备可以基于iSCSI协议端到端的把录像数据写入IPSAN存储设备中。
[0003]具体地,当监控点的图像需要进行集中存储时,前端IP编码器与IP SAN存储设备间建立iSCSI连接,将IPSAN设备的存储资源通过iSCSI协议挂载到本地,然后将存储视频流进行iSCSI协议封装,采用专有的块存储格式将媒体与时间索引数据写入IPSAN存储设备中。
[0004]其中一种通用的监控录像块存储格式如图1所示,该块格式的主要组成部分如下:
[0005]超级块:一般有几十K(比如16K)字节,用来记录块格式的版本号、摄像机编码,数据单元总数,以及新增数据单元的数据单元编号等;
[0006]一级时间索引区:超级块后面为一级时间索引区,索引区中的每条时间索引与一个数据单元一一对应,用于记录该数据单元的最早I帧组时间;
[0007]数据单元:一级时间索引区后面是一系列的数据单元,用于保存录像的I帧组数据。每个数据单元是以一个二级时间索引区开始的,其中每条时间索引项与一个I帧组一一对应,用于记录该I帧组的开始时间。二级时间索引区之后,就是本数据单元中的所有I帧组数据;每一个I帧组就是I秒的监控录像数据。在I帧组中,存储的是该I帧组的所有视频、音频数据包。
[0008]对于IP SAN存储设备上以块存储格式进行存储的录像存储资源,通常存在如下的录像回放需求:
[0009]当IP SAN存储设备的存储阵列损坏磁盘数目超过其最大容忍范围的情况下(比如:RAID5阵列最多容忍一块坏盘,RAID6阵列最多容忍两块坏盘),用户对阵列中的存储录像执行检索、回放时,阵列正常盘上的录像可以读取和回放。同时,在录像连续回放过程中,如果读取到坏盘上的录像数据,可以允许轻微程度的跳帧、花屏,但是整个回放流程不能中止。
[0010]对于上述回放需求,目前的解决方式是,对块格式中的关键索引数据进行冗余备份,从而在读取坏盘上的索引数据失败时,可以从冗余备份区域读取到索引备份数据。目前这种索引备份策略,主要是通过存储设备自身进行完成,一种较通用的技术方案是通过在存储设备的非磁盘存储介质中(比如在CF卡中),分配索引备份空间。同时,对本存储设备的所有摄像机划分独立的备份子空间,用于备份各摄像机块存储格式的关键索引数据。对于外部写入的关键索引数据,存储设备在索引备份空间中进行冗余备份,复制备份一份。回放业务需要读取索引数据时,如果数据落在坏盘上,则存储设备从索引备份区域中读取备份数据,并返回到回放业务。
[0011]然而该方案存在以下问题:
[0012]1:存储设备自身可用于数据保护的非磁盘介质空间有限,如果需要备份的摄像机路数较多,则空间很可能不够,方案的扩展性较差;
[0013]2:存储设备需要理解外部写入数据是否为索引数据,同时还需要理解是哪个摄像机通道的索引数据。而iSCSI块存储的关键技术优势之一是存储设备不需要理解数据格式,对接收数据统一按照二进制数据块写入,因此对上述索引及摄像机通道的理解处理,会降低存储设备的写入性能;
[0014]3:在回放过程中,存储设备也需要理解外部读取数据是否为索引数据、同时需要理解是哪个摄像机通道的索引数据,也会造成设备数据读取性能的下降。

【发明内容】

[0015]有鉴于此,本发明提出一种录像回放方法,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IP SAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的录像数据采用专有的块存储格式被集中存储在IP SAN存储设备中,所述方法包括:
[0016]步骤A、DM服务器在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;
[0017]步骤B、DM服务器通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射表信息;所述存储资源映射表包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;
[0018]步骤C、当DM服务器收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射表,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
[0019]本发明还提出一种录像回放装置,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IP SAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的存储资源采用专有的块存储格式存储在IPSAN存储设备中,所述装置包括:
[0020]备份模块,用于在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;
[0021]创建模块,用于通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;
[0022]回放模块,用于当收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射信息,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
[0023]本发明方案通过对每一路摄像机存储资源块格式中的关键索引数据在DM服务器本地进行备份,当DM服务器在执行录像回放时,对于损坏的存储资源直接从本地的索引备份文件中读取关键索引数据,提高了存储的可扩展性,同时不需要新增额外的性能开销。
【专利附图】

【附图说明】
[0024]图1是现有技术中一种通用的监控录像块存储格式;
[0025]图2是本发明示例性的一实施方式中提出的一种录像回放方法的流程图;
[0026]图3是本发明示例性的一实施方式中提出的一种视频监控系统的组网图;
[0027]图4是本发明示例性的一实施方式中提出的一种索引备份文件的存储格式;
[0028]图5是本发明示例性的一实施方式中提出的一种DM服务器对所有摄像机周期性的进行索引备份处理的流程图;
[0029]图6是本发明示例性的一实施方式中提出的一种DM服务器根据本地关键索引数据读取对应录像数据的流程图;
[0030]图7是本发明示例性的一实施方式中提出的一种录像回放装置的逻辑结构图。【具体实施方式】
[0031]为了使本发明的技术方案更加清楚明白,以下结合附图并举实施例对本发明进行详细描述。
[0032]本发明示例性的一种实施方式中,提出一种录像回放方法,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IP SAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的录像数据采用专有的块存储格式被集中存储在IP SAN存储设备中,请参见图2,所述方法包括:
[0033]步骤S201、DM服务器在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;
[0034]步骤S202、DM服务器通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;
[0035]步骤S203、当DM服务器收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射信息,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
[0036]请参见图3,图3为所述视频监控系统的组网图,该系统中包括DM服务器,IP SAN存储设备,回放客户端以及前端摄像机,其中前端摄像机的录像数据通过集成了 iSCSI模块的IP编码器采用如图2所示专有的块存储格式存储集中存储在IP SAN存储设备中。
[0037]在整个系统中,DM服务器周期性的对IP SAN存储设备上的存储资源进行遍历巡检,由于巡检本身需要对已存储的块格式进行理解,因此可以在无新增性能开销的前提下对块格式中的关键索引数据进行备份。
[0038]在本实施例中,DM服务器首先需要在本地硬盘中分配足够大的索引备份空间,并格式化为文件系统,对每一路需要进行索引备份的摄像机使用一个单独的索引备份文件。其中,所述索引备份文件的存储格式如图4所示,在该存储格式中,超级块、一级时间索引区和二级时间索引区的区域大小与图2所示的块存储格式中对应区域的大小相同。为了方便基于摄像机定位到对应的索引备份文件,索引备份文件以对应的摄像机编号进行命名。t:匕如,对于摄像机编号为Cameral的索引备份文件,命名为“Camarel.block”。
[0039]具体地,请参见图5,DM服务器在对所有摄像机周期性的进行索引备份处理时,按照遍历顺序依次对摄像机进行关键索引数据的备份。其中,在本实施例中不对所述周期进行具体限定。
[0040]当DM服务器遍历到一个存储资源时,首先判断该存储资源是否损坏,如果是,则直接处理下一个摄像机,如果否,则读取超级块中的摄像机编号,并判断本地是否已经存在该摄像机对应的索引备份文件。
[0041]如果本地已经存在与该摄像机对应的索引备份文件,则打开该索引备份文件,将该存储资源中的超级块和一级时间索引区的数据拷贝到该索引备份文件的对应区域,同时根据超级块中记录的新增的数据单元编号,将对应的数据单元的二级时间索引区的数据也拷贝到本地的索引备份文件中,以完成索引备份文件的更新;其中所述新增的数据单元编号,为IP SAN存储设备记录的在DM服务器的巡检周期内新写入录像的数据单元的编号。
[0042]如果本地不存在与该摄像机对应的索引备份文件,则在本地创建一个以该摄像机编号命名的索引备份文件,将该存储资源中的超级块和一级时间索引区的数据拷贝到该索引备份文件的对应区域,同时根据超级块中记录的数据单元总数,将该存储资源中的所有数据单元的二级时间索引区的数据逐个拷贝到该索引备份文件中。
[0043]同时,DM服务器在为各摄像机在本地创建索引备份文件时,通过与IPSAN存储设备间的信息交互,获取各摄像机的存储资源在存储阵列上的映射信息,形成一张存储资源映射表,其中该存储 资源映射表包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系。具体地,该存储资源映射表的具体格式请参见下表:
[0044]
【权利要求】
1.一种录像回放方法,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IP SAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的录像数据采用专有的块存储格式被集中存储在IP SAN存储设备中,其特征在于,所述方法包括: 步骤A、DM服务器在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新; 步骤B、DM服务器通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系; 步骤C、当DM服务器收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射信息,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
2.如权利要求1所述的方法,其特征在于,所述步骤B还包括: 当IP SAN存储设备的存储阵列坏盘数量超过最大容忍数时,DM服务器接收IP SAN存储设备上报的已损坏存储阵列标识,并根据该已损坏的存储阵列标识,更新所述存储资源映射信息。
3.如权利要求1所述的方法,其特征在于,所述关键索引数据包括摄像机存储资源块格式中的超级块、一级时间索引区数据以及二级时间索引区数据;所述步骤A具体包括: DM服务器周期性对IP SAN存储设备上存储的各路摄像机的存储资源进行遍历; DM服务器判断遍历到的存储资源中的关键索引数据是否已在本地备份,如果否,在本地创建名称与该存储资源对应摄像机的编号相同的索引备份文件,将该存储资源中的超级块和一级时间索引区的数据拷贝到创建的索引备份文件中,并根据超级块中的数据单元总数将所有数据单元的二级时间索引区的数据逐个拷贝到所述索引备份文件中; 如果是,将该存储资源中的超级块和一级时间索引区的数据拷贝到所述索引备份文件中,并根据超级块中新增数据单元编号将对应的二级时间索引区的数据拷贝到创建的索引文件中。
4.如权利要求2所述的方法,其特征在于,所述IPSAN存储设备的存储阵列包括RAID阵列和/或JBOD阵列; 当所述RAID阵列的坏盘数目超过最大容忍数,对于外部写IO操作,直接返回失败;对于外部读IO操作,如果遇到坏盘,直接返回失败;如果是正常盘,继续执行磁盘的读操作,并将读取结果返回; 当所述JBOD阵列的坏盘数目超过最大容忍数,对于外部读、写IO操作,如果遇到坏盘,直接返回失败;如果是正常盘,继续执行对磁盘的读、写操作,并将读、写结果返回。
5.如权利要求1所述的方法,其特征在于,所述根据该关键索引数据从IPSAN存储设备上读取对应的视频数据包括: 步骤D、根据所述关键索引数据读取对应的I帧组,如果读取成功,直接将读取到的I帧组输出给回放客户端,并继续读取下一 I帧组;如果读取失败,则执行步骤E ; 步骤E、根据预估的I帧长度,从IP SAN存储设备上读取所述I帧组中的I帧数据,如果读取失败,则继续读取下一 I帧组;如果读取成功,则进一步判断读取到的I帧是否完整,如果是,直接将读取到的I帧输出给回放客户端,并继续读取下一 I帧组;如果否,执行步骤F; 步骤F、读取所述I帧的剩余部分数据,并判断读取是否成功,如果是,对所述预估的I帧长度进行校正后,将该I帧输出给回放客户端,并继续读取下一 I帧组;如果否,直接继续读取一下I帧组。
6.一种录像回放装置,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IP SAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的录像数据采用专有的块存储格式被集中存储在IP SAN存储设备中,其特征在于,所述装置包括: 备份模块,用于在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新; 创建模块,用于通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系; 回放模块,用于当收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射信息,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
7.如权利要求6所述的装置,其特征在于,所述创建模块进一步用于: 当IP SAN存储设备的存储阵列坏盘数量超过最大容忍数时,接收IP SAN存储设备上报的已损坏存储阵列标识,并根据该已损坏的存储阵列标识,更新所述存储资源映射信息。
8.如权利要求6所述的装置,其特征在于,所述关键索引数据包括摄像机存储资源块格式中的超级块、一级时间索引区数据以及二级时间索引区数据;所述备份模块具体用于: 周期性对IP SAN存储设备上存储的各路摄像机的存储资源进行遍历; 判断遍历到的存储资源中的关键索引数据是否已在本地备份,如果否,在本地创建名称与该存储资源对应摄像机的编号相同的索引备份文件,将该存储资源中的超级块和一级时间索引区的数据拷贝到创建的索引备份文件中,并根据超级块中的数据单元总数将所有数据单元的二级时间索引区的数据逐个拷贝到所述索引备份文件中; 如果是,将该存储资源中的超级块和一级时间索引区的数据拷贝到所述索引备份文件中,并根据超级块中新增数据单元编号将对应的二级时间索引区的数据拷贝到创建的索引文件中。
9.如权利要求7所述的装置,其特征在于,所述IPSAN存储设备的存储阵列包括RAID阵列和/或JBOD阵列; 当所述RAID阵列的坏盘数目超过最大容忍数,对于外部写IO操作,直接返回失败;对于外部读IO操作,如果遇到坏盘,直接返回失败;如果是正常盘,继续执行磁盘的读操作,并将读取结果返回; 当所述JBOD阵列的坏盘数目超过最大容忍数,对于外部读、写IO操作,如果是坏盘,直接返回失败;如果是正常盘,继续执行对磁盘的读、写操作,并将读、写结果返回。
10.如权利要求6所述的装置,其特征在于,所述回放模块进一步包括:第一读取模块,用于根据所述关键索引数据读取对应的I帧组,如果读取成功,直接将读取到的I帧组输出给回放客户端,并继续读取下一 I帧组;如果读取失败,则转第二读取模块处理; 第二读取模块,用于根据预估的I帧长度,从IP SAN存储设备上读取所述I帧组中的I帧数据,如果读取失败,则继续读取下一 I帧组;如果读取成功,则进一步判断读取到的I帧是否完整,如果是,直接将读取到的I帧输出给回放客户端,并继续读取下一 I帧组;如果否,转第三读取模块处理; 第三读取模块,用于读取所述I帧的剩余部分数据,并判断读取是否成功,如果是,对所述预估的I帧长度进行校正后,将该I帧输出给回放客户端,并继续读取下一 I帧组;如果否,直接继续读取一下I帧组。
【文档编号】G06F17/30GK103929609SQ201410163659
【公开日】2014年7月16日 申请日期:2014年4月22日 优先权日:2014年4月22日
【发明者】成浩, 丁强 申请人:浙江宇视科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1