CN103929609A - 一种录像回放方法和装置 - Google Patents
一种录像回放方法和装置 Download PDFInfo
- Publication number
- CN103929609A CN103929609A CN201410163659.9A CN201410163659A CN103929609A CN 103929609 A CN103929609 A CN 103929609A CN 201410163659 A CN201410163659 A CN 201410163659A CN 103929609 A CN103929609 A CN 103929609A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- storage resources
- index
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明提出一种录像回放方法,应用于一种视频监控系统的DM服务器上,包括:在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;通过与存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;当收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询存储资源映射信息,如果该摄像机编号对应的存储资源损坏,从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从存储设备上读取对应的录像数据。本发明提高了对关键索引数据存储的可扩展性,同时不需要新增额外的性能开销。
Description
技术领域
本发明涉及视频监控领域,尤其涉及一种录像回放方法和装置。
背景技术
随着高清在监控业务系统中的应用,对监控录像存储的可靠性、性能等要求越来越高。而前端IP编码器设备到IP SAN存储设备的端到端的媒体流iSCSI直存技术就是一种较好的录像存储方案。这种方案是在前端摄像机的IP编码设备中集成iSCSI模块,使得编码设备可以基于iSCSI协议端到端的把录像数据写入IPSAN存储设备中。
具体地,当监控点的图像需要进行集中存储时,前端IP编码器与IP SAN存储设备间建立iSCSI连接,将IPSAN设备的存储资源通过iSCSI协议挂载到本地,然后将存储视频流进行iSCSI协议封装,采用专有的块存储格式将媒体与时间索引数据写入IPSAN存储设备中。
其中一种通用的监控录像块存储格式如图1所示,该块格式的主要组成部分如下:
超级块:一般有几十K(比如16K)字节,用来记录块格式的版本号、摄像机编码,数据单元总数,以及新增数据单元的数据单元编号等;
一级时间索引区:超级块后面为一级时间索引区,索引区中的每条时间索引与一个数据单元一一对应,用于记录该数据单元的最早I帧组时间;
数据单元:一级时间索引区后面是一系列的数据单元,用于保存录像的I帧组数据。每个数据单元是以一个二级时间索引区开始的,其中每条时间索引项与一个I帧组一一对应,用于记录该I帧组的开始时间。二级时间索引区之后,就是本数据单元中的所有I帧组数据;每一个I帧组就是1秒的监控录像数据。在I帧组中,存储的是该I帧组的所有视频、音频数据包。
对于IP SAN存储设备上以块存储格式进行存储的录像存储资源,通常存在如下的录像回放需求:
当IP SAN存储设备的存储阵列损坏磁盘数目超过其最大容忍范围的情况下(比如:RAID5阵列最多容忍一块坏盘,RAID6阵列最多容忍两块坏盘),用户对阵列中的存储录像执行检索、回放时,阵列正常盘上的录像可以读取和回放。同时,在录像连续回放过程中,如果读取到坏盘上的录像数据,可以允许轻微程度的跳帧、花屏,但是整个回放流程不能中止。
对于上述回放需求,目前的解决方式是,对块格式中的关键索引数据进行冗余备份,从而在读取坏盘上的索引数据失败时,可以从冗余备份区域读取到索引备份数据。目前这种索引备份策略,主要是通过存储设备自身进行完成,一种较通用的技术方案是通过在存储设备的非磁盘存储介质中(比如在CF卡中),分配索引备份空间。同时,对本存储设备的所有摄像机划分独立的备份子空间,用于备份各摄像机块存储格式的关键索引数据。对于外部写入的关键索引数据,存储设备在索引备份空间中进行冗余备份,复制备份一份。回放业务需要读取索引数据时,如果数据落在坏盘上,则存储设备从索引备份区域中读取备份数据,并返回到回放业务。
然而该方案存在以下问题:
1:存储设备自身可用于数据保护的非磁盘介质空间有限,如果需要备份的摄像机路数较多,则空间很可能不够,方案的扩展性较差;
2:存储设备需要理解外部写入数据是否为索引数据,同时还需要理解是哪个摄像机通道的索引数据。而iSCSI块存储的关键技术优势之一是存储设备不需要理解数据格式,对接收数据统一按照二进制数据块写入,因此对上述索引及摄像机通道的理解处理,会降低存储设备的写入性能;
3:在回放过程中,存储设备也需要理解外部读取数据是否为索引数据、同时需要理解是哪个摄像机通道的索引数据,也会造成设备数据读取性能的下降。
发明内容
有鉴于此,本发明提出一种录像回放方法,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IP SAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的录像数据采用专有的块存储格式被集中存储在IP SAN存储设备中,所述方法包括:
步骤A、DM服务器在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;
步骤B、DM服务器通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射表信息;所述存储资源映射表包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;
步骤C、当DM服务器收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射表,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
本发明还提出一种录像回放装置,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IP SAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的存储资源采用专有的块存储格式存储在IPSAN存储设备中,所述装置包括:
备份模块,用于在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;
创建模块,用于通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;
回放模块,用于当收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射信息,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
本发明方案通过对每一路摄像机存储资源块格式中的关键索引数据在DM服务器本地进行备份,当DM服务器在执行录像回放时,对于损坏的存储资源直接从本地的索引备份文件中读取关键索引数据,提高了存储的可扩展性,同时不需要新增额外的性能开销。
附图说明
图1是现有技术中一种通用的监控录像块存储格式;
图2是本发明示例性的一实施方式中提出的一种录像回放方法的流程图;
图3是本发明示例性的一实施方式中提出的一种视频监控系统的组网图;
图4是本发明示例性的一实施方式中提出的一种索引备份文件的存储格式;
图5是本发明示例性的一实施方式中提出的一种DM服务器对所有摄像机周期性的进行索引备份处理的流程图;
图6是本发明示例性的一实施方式中提出的一种DM服务器根据本地关键索引数据读取对应录像数据的流程图;
图7是本发明示例性的一实施方式中提出的一种录像回放装置的逻辑结构图。
具体实施方式
为了使本发明的技术方案更加清楚明白,以下结合附图并举实施例对本发明进行详细描述。
本发明示例性的一种实施方式中,提出一种录像回放方法,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IP SAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的录像数据采用专有的块存储格式被集中存储在IP SAN存储设备中,请参见图2,所述方法包括:
步骤S201、DM服务器在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;
步骤S202、DM服务器通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;
步骤S203、当DM服务器收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射信息,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
请参见图3,图3为所述视频监控系统的组网图,该系统中包括DM服务器,IP SAN存储设备,回放客户端以及前端摄像机,其中前端摄像机的录像数据通过集成了iSCSI模块的IP编码器采用如图2所示专有的块存储格式存储集中存储在IP SAN存储设备中。
在整个系统中,DM服务器周期性的对IP SAN存储设备上的存储资源进行遍历巡检,由于巡检本身需要对已存储的块格式进行理解,因此可以在无新增性能开销的前提下对块格式中的关键索引数据进行备份。
在本实施例中,DM服务器首先需要在本地硬盘中分配足够大的索引备份空间,并格式化为文件系统,对每一路需要进行索引备份的摄像机使用一个单独的索引备份文件。其中,所述索引备份文件的存储格式如图4所示,在该存储格式中,超级块、一级时间索引区和二级时间索引区的区域大小与图2所示的块存储格式中对应区域的大小相同。为了方便基于摄像机定位到对应的索引备份文件,索引备份文件以对应的摄像机编号进行命名。比如,对于摄像机编号为Camera1的索引备份文件,命名为“Camare1.block”。
具体地,请参见图5,DM服务器在对所有摄像机周期性的进行索引备份处理时,按照遍历顺序依次对摄像机进行关键索引数据的备份。其中,在本实施例中不对所述周期进行具体限定。
当DM服务器遍历到一个存储资源时,首先判断该存储资源是否损坏,如果是,则直接处理下一个摄像机,如果否,则读取超级块中的摄像机编号,并判断本地是否已经存在该摄像机对应的索引备份文件。
如果本地已经存在与该摄像机对应的索引备份文件,则打开该索引备份文件,将该存储资源中的超级块和一级时间索引区的数据拷贝到该索引备份文件的对应区域,同时根据超级块中记录的新增的数据单元编号,将对应的数据单元的二级时间索引区的数据也拷贝到本地的索引备份文件中,以完成索引备份文件的更新;其中所述新增的数据单元编号,为IP SAN存储设备记录的在DM服务器的巡检周期内新写入录像的数据单元的编号。
如果本地不存在与该摄像机对应的索引备份文件,则在本地创建一个以该摄像机编号命名的索引备份文件,将该存储资源中的超级块和一级时间索引区的数据拷贝到该索引备份文件的对应区域,同时根据超级块中记录的数据单元总数,将该存储资源中的所有数据单元的二级时间索引区的数据逐个拷贝到该索引备份文件中。
同时,DM服务器在为各摄像机在本地创建索引备份文件时,通过与IPSAN存储设备间的信息交互,获取各摄像机的存储资源在存储阵列上的映射信息,形成一张存储资源映射表,其中该存储资源映射表包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系。具体地,该存储资源映射表的具体格式请参见下表:
摄像机编码 | 存储资源名 | 阵列标识 | 资源状态 |
Camera1 | Res1 | MD1 | 正常 |
Camera2 | Res2 | MD1 | 正常 |
Camera3 | Res3 | MD1 | 正常 |
Camera3 | Res3 | MD2 | 正常 |
当IP SAN存储设备的存储阵列坏盘数量超过最大容忍数时,会将损坏的存储阵列标识上报给DM服务器。其中所述IP SAN存储设备包括RAID阵列和/或JBOD阵列。
具体地,对于多盘损坏的存储阵列,IP SAN存储设备在内部存储模块进行特殊的容错处理。对于RAID阵列来说,例如以RAID5和RAEI6阵列为例(RAID5阵列对坏盘数量的最大容忍数为1,RAID6阵列对坏盘数量的最大容忍数为2),当RAID5和RAEI6阵列的坏盘数目超过最大容忍数时,对于外部写IO操作,直接通过上层模块向DM服务器返回失败;对于外部IO读操作,如果遇到坏盘,则通过上层模块向DM服务器返回失败;如果遇到正常盘,则继续执行到磁盘的读IO操作,并将读取的结果通过上层模块返回给DM服务器。
对于JBOD阵列来说,对坏盘数量的最大容忍数为0,当JBOD阵列的任一块磁盘损坏时,外部读、写IO操作如果遇见坏盘,直接通过上层模块向DM服务器返回失败;如果遇到正常盘,继续执行磁盘的读、写IO操作,并将读、写结果通过上层模块返回给DM服务器。
当DM服务器收到IP SAN存储设备上报的损坏的存储阵列标识时,根据损坏的存储阵列标识对所述存储资源映射表进行更新,将与所述损坏的存储阵列标识对应的存储资源的状态标识为损坏状态。
进一步地,当DM服务器收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编号查询所述存储资源映射表,来确定该摄像机对应的存储资源的资源状态。如果该摄像机对应的存储资源为正常状态,仍然按照现有实现,从IP SAN存储设备读取该摄像机存储资源中的关键索引数据,并根据该索引关键数据读取对应的录像数据。
如果该摄像机对应的存储资源为损坏状态,则直接从本地备份的索引备份文件中读取该摄像机存储资源中的关键索引数据,并根据该索引关键数据从IP SAN存储设备上读取对应的录像数据。
具体地,首先读取一级时间索引区的数据,根据一级时间索引区中记录的各数据单元的最早I帧组时间,来确定首先需要读取哪个数据单元。当确定了需要读取的数据单元后,再根据与该数据单元对应的二级时间索引区中记录的I帧组的开始时间,确定首先读取哪个I帧组。如果读取I帧组失败,则进一步读取该I帧组的I帧数据;如果读取I帧组和I帧均失败,回放不终止,继续读取下一个I帧组。
另外,由于每个I帧长度是未知的,因此为了减少IP SAN存储设备读取I帧的次数,DM服务器在根据本地关键索引数据读取对应的录像数据时,还增加了I帧长度预估和校正机制。
具体地,请参见图6,DM服务器首先预估本路回放的I帧长度,同时根据本地关键索引数据读取对应的I帧组,如果读取成功,直接将读取到的I帧组输出给回放客户端,并继续读取下一I帧组;如果读取失败,则根据预估的I帧长度,从IP SAN存储设备上读取所述I帧组中的I帧数据;
如果读取I帧也失败,则继续读取下一I帧组;如果读取I帧成功,则进一步判断读取到的I帧是否完整;如果读取到的I帧完整,直接将该I帧输出给回放客户端,并继续读取下一I帧组;如果读取到的I帧不完整,则读取该I帧的剩余部分数据,并判断读取是否成功,如果该I帧的剩余部分数据读取成功,对所述预估的I帧长度进行校正后,将该I帧输出给回放客户端,并继续读取下一I帧组;如果该I帧的剩余部分数据读取不成功,则直接继续读取一下I帧组。
其中,对于录像的I帧组,I帧是整个I帧组的关键帧。所述I帧的部分或者全部丢失,都会造成整个I帧组无法回放。因此,本实施例中还通过增大IP SAN存储设备的RAID阵列磁盘数目和单盘块(chunk)大小,来降低I帧数据落在坏盘上的概率。
具体地,对于条带化的RAID阵列,数据是按照一定chunk大小分布在阵列所有磁盘上,因此I帧落在坏盘上的概率,主要由阵列磁盘数目、单盘chunksize等因素决定。比如4M码流的摄像机,一个I帧组是512K字节,其中I帧最少占18%(93K字节),最多占30%(154K字节)。对于一个11盘、单盘chunk大小为64K字节的RAID5阵列,考虑到I帧未必对齐到chunk,则I帧最少分布到2个chunk,最多分布到4个chunk。这样对于11盘的RAID5,考虑到一个盘用作校验和,也就是10个盘用来保存数据。在阵列2块盘坏掉的情况下,I帧落在坏盘上的概率为20%到40%;而扩大RAID5阵列的chunk大小,比如将其调整到256K,则I帧最少分布到1个chunk,最多分布到2个chunk,则I帧落在坏盘的概率下降到10%到20%;等同的,扩大RAID5阵列的磁盘数目,也会显著降低I帧落在坏盘上的概率。
通过以上描述可知,本发明方案通过在DM服务器对IP SAN存储设备上的存储资源进行遍历巡检时,对每一路摄像机存储资源块格式中的关键索引数据在DM服务器本地进行备份,由于巡检本身需要对已存储的块格式进行理解,因此可以在无新增性能开销的前提下对块格式中的关键索引数据进行备份;同时,由于DM服务器在本地配置有大容量的硬盘,而且在需要支持更多路数摄像机的关键索引数据备份时,还可以通过新增硬盘,支持备份的空间扩容,因此本发明相较于已有技术,具有更好的可扩展性。
请参见图7,在一种示例性的实施方式中,本发明还提出一种录像回放装置70,应用于一种视频监控系统的DM服务器上,所述视频监控系统还包括IPSAN存储设备、回放客户端以及若干前端摄像机,其中所述前端摄像机的录像数据采用专有的块存储格式被集中存储在IP SAN存储设备中,所述装置70包括:
备份模块71,用于在本地备份每一路摄像机存储资源中的关键索引数据,并周期性的进行更新;
创建模块72,用于通过与IP SAN存储设备之间的信息交互,获取当前的存储资源映射信息;所述存储资源映射信息包括存储资源状态与摄像机编号、存储资源名称以及存储资源所在存储阵列的标识之间的对应关系;
回放模块73,用于当收到来自回放客户端的回放请求时,根据该回放请求中的摄像机编码查询所述存储资源映射信息,如果该摄像机对应的存储资源为损坏状态,直接从本地读取该摄像机存储资源的关键索引数据,并根据该关键索引数据从IP SAN存储设备上读取对应的录像数据。
在本实施例中,所述创建模块72进一步用于:
当IP SAN存储设备的存储阵列坏盘数量超过最大容忍数时,接收IP SAN存储设备上报的已损坏存储阵列标识,并根据该已损坏的存储阵列标识,更新所述存储资源映射表。
在本实施例中,所述关键索引数据包括摄像机存储资源块格式中的超级块、一级时间索引区数据以及二级索引区数据;
所述备份模块具体用于:周期性对IP SAN存储设备上储存的各路摄像机的存储资源进行遍历;
判断遍历到存储资源中的关键索引数据是否已在本地备份,如果否,在本地创建名称与该存储资源对应摄像机的编号相同的索引备份文件,将该存储资源中的超级块和一级时间索引区的数据拷贝到创建的索引备份文件中,并根据超级块中的数据单元总数将所有数据单元的二级时间索引区的数据逐个拷贝到所述索引备份文件中;
如果是,将该存储资源中的超级块和一级时间索引区的数据拷贝到所述索引备份文件中,并根据超级块中新增数据单元编号将对应的二级时间索引区的数据拷贝到创建的索引文件中。
在本实施例中,所述IP SAN存储设备的存储阵列包括RAID阵列和/或JBOD阵列;
当所述RAID阵列的坏盘数目超过最大容忍数,对于外部写IO操作,直接返回失败;对于外部读IO操作,如果遇到坏盘,直接返回失败;如果是正常盘,继续执行磁盘的读操作,并将读取结果返回;
当所述JBOD阵列的坏盘数目超过最大容忍数,对于外部读、写IO操作,如果是坏盘,直接返回失败;如果是正常盘,继续执行对磁盘的读、写操作,并将读、写结果返回;
其中在本实施例中,增大所述RAID阵列的磁盘数目和单盘块大小,可以降低录像的I帧落在坏盘上的概率。
在本实施例中,所述回放模块73进一步包括:
第一读取模块731,用于根据所述关键索引数据读取对应的I帧组,如果读取成功,直接将读取到的I帧组输出给回放客户端,并继续读取下一I帧组;如果读取失败,则转第二读取模块732处理;
第二读取模块732,用于根据预估的I帧长度,从IP SAN存储设备上读取所述I帧组中的I帧数据,如果读取失败,则继续读取下一I帧组;如果读取成功,则进一步判断读取到的I帧是否完整,如果是,直接将读取到的I帧输出给回放客户端,并继续读取下一I帧组;如果否,转第三读取模块733处理;
第三读取模块733,用于读取所述I帧的剩余部分数据,并判断读取是否成功,如果是,对所述预估的I帧长度进行校正后,将该I帧输出给回放客户端,并继续读取下一I帧组;如果否,直接继续读取一下I帧组。
通过以上实施例的描述,本领域技术人员可以理解实施例中装置中的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
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所述的方法,其特征在于,所述IP SAN存储设备的存储阵列包括RAID阵列和/或JBOD阵列;
当所述RAID阵列的坏盘数目超过最大容忍数,对于外部写IO操作,直接返回失败;对于外部读IO操作,如果遇到坏盘,直接返回失败;如果是正常盘,继续执行磁盘的读操作,并将读取结果返回;
当所述JBOD阵列的坏盘数目超过最大容忍数,对于外部读、写IO操作,如果遇到坏盘,直接返回失败;如果是正常盘,继续执行对磁盘的读、写操作,并将读、写结果返回。
5.如权利要求1所述的方法,其特征在于,所述根据该关键索引数据从IP SAN存储设备上读取对应的视频数据包括:
步骤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所述的装置,其特征在于,所述IP SAN存储设备的存储阵列包括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帧组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410163659.9A CN103929609B (zh) | 2014-04-22 | 2014-04-22 | 一种录像回放方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410163659.9A CN103929609B (zh) | 2014-04-22 | 2014-04-22 | 一种录像回放方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103929609A true CN103929609A (zh) | 2014-07-16 |
CN103929609B CN103929609B (zh) | 2017-06-23 |
Family
ID=51147670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410163659.9A Active CN103929609B (zh) | 2014-04-22 | 2014-04-22 | 一种录像回放方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103929609B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016054858A1 (zh) * | 2014-10-10 | 2016-04-14 | 深圳市锐明视讯技术有限公司 | 一种恢复系统文件索引的方法及装置 |
CN105721831A (zh) * | 2016-01-28 | 2016-06-29 | 安徽四创电子股份有限公司 | 一种基于多进程架构的视频监控客户端设计方法 |
CN107205174A (zh) * | 2017-07-14 | 2017-09-26 | 广东工业大学 | 一种快速回放视频文件方法及系统 |
WO2018014711A1 (zh) * | 2016-07-19 | 2018-01-25 | 杭州海康威视数字技术股份有限公司 | 一种录像播放方法及装置 |
CN108614746A (zh) * | 2016-12-09 | 2018-10-02 | 中国移动通信有限公司研究院 | 一种数据处理方法及其系统、服务器 |
CN108965831A (zh) * | 2018-09-05 | 2018-12-07 | 北京疯景科技有限公司 | 视频处理方法、装置与智能可视门铃 |
WO2019079944A1 (zh) * | 2017-10-23 | 2019-05-02 | 深圳市锐明技术股份有限公司 | 一种视频数据的存储方法、装置及终端设备 |
CN110971978A (zh) * | 2018-09-28 | 2020-04-07 | 浙江宇视科技有限公司 | 视频播放方法及装置 |
CN114051111A (zh) * | 2021-11-17 | 2022-02-15 | 深圳市中讯网联科技有限公司 | 一种基于事件的应急指挥回放系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117500A1 (en) * | 2001-12-24 | 2003-06-26 | Icp Electronics Inc. | Network video recording system |
CN101022363A (zh) * | 2007-03-23 | 2007-08-22 | 杭州华为三康技术有限公司 | 网络存储设备的故障保护方法及装置 |
CN101808243A (zh) * | 2010-03-11 | 2010-08-18 | 杭州华三通信技术有限公司 | 一种基于快照的数据处理方法和设备 |
CN102244758A (zh) * | 2011-07-08 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种基于录像文件的数据获取方法和设备 |
CN102314322A (zh) * | 2011-07-01 | 2012-01-11 | 杭州华三通信技术有限公司 | 一种基于raid阵列的数据处理方法和设备 |
-
2014
- 2014-04-22 CN CN201410163659.9A patent/CN103929609B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117500A1 (en) * | 2001-12-24 | 2003-06-26 | Icp Electronics Inc. | Network video recording system |
CN101022363A (zh) * | 2007-03-23 | 2007-08-22 | 杭州华为三康技术有限公司 | 网络存储设备的故障保护方法及装置 |
CN101808243A (zh) * | 2010-03-11 | 2010-08-18 | 杭州华三通信技术有限公司 | 一种基于快照的数据处理方法和设备 |
CN102314322A (zh) * | 2011-07-01 | 2012-01-11 | 杭州华三通信技术有限公司 | 一种基于raid阵列的数据处理方法和设备 |
CN102244758A (zh) * | 2011-07-08 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种基于录像文件的数据获取方法和设备 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016054858A1 (zh) * | 2014-10-10 | 2016-04-14 | 深圳市锐明视讯技术有限公司 | 一种恢复系统文件索引的方法及装置 |
CN105721831A (zh) * | 2016-01-28 | 2016-06-29 | 安徽四创电子股份有限公司 | 一种基于多进程架构的视频监控客户端设计方法 |
CN105721831B (zh) * | 2016-01-28 | 2019-01-04 | 安徽四创电子股份有限公司 | 一种基于多进程架构的视频监控客户端设计方法 |
WO2018014711A1 (zh) * | 2016-07-19 | 2018-01-25 | 杭州海康威视数字技术股份有限公司 | 一种录像播放方法及装置 |
CN108614746A (zh) * | 2016-12-09 | 2018-10-02 | 中国移动通信有限公司研究院 | 一种数据处理方法及其系统、服务器 |
CN107205174A (zh) * | 2017-07-14 | 2017-09-26 | 广东工业大学 | 一种快速回放视频文件方法及系统 |
CN107205174B (zh) * | 2017-07-14 | 2019-12-10 | 广东工业大学 | 一种快速回放视频文件方法及系统 |
WO2019079944A1 (zh) * | 2017-10-23 | 2019-05-02 | 深圳市锐明技术股份有限公司 | 一种视频数据的存储方法、装置及终端设备 |
CN110100243A (zh) * | 2017-10-23 | 2019-08-06 | 深圳市锐明技术股份有限公司 | 一种视频数据的存储方法、装置及终端设备 |
CN108965831A (zh) * | 2018-09-05 | 2018-12-07 | 北京疯景科技有限公司 | 视频处理方法、装置与智能可视门铃 |
CN110971978A (zh) * | 2018-09-28 | 2020-04-07 | 浙江宇视科技有限公司 | 视频播放方法及装置 |
CN110971978B (zh) * | 2018-09-28 | 2021-12-28 | 浙江宇视科技有限公司 | 视频播放方法及装置 |
CN114051111A (zh) * | 2021-11-17 | 2022-02-15 | 深圳市中讯网联科技有限公司 | 一种基于事件的应急指挥回放系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103929609B (zh) | 2017-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929609A (zh) | 一种录像回放方法和装置 | |
CN103140827B (zh) | 存储系统及其使用的方法 | |
US7882081B2 (en) | Optimized disk repository for the storage and retrieval of mostly sequential data | |
CN100578470C (zh) | 基于裸设备的音视频数据存取方法和装置 | |
CN111506251B (zh) | 数据处理方法、装置、smr存储系统及存储介质 | |
CN102024044B (zh) | 分布式文件系统 | |
CN105404469A (zh) | 一种视频数据的存储方法和系统 | |
CN102033786B (zh) | 一种对象存储系统中修复副本一致性的方法 | |
CN102136290A (zh) | 一种嵌入式实时视频文件存储方法 | |
CN102968422B (zh) | 流数据存储控制系统及其方法 | |
CN102291256B (zh) | 一种监控数据的查询方法和设备 | |
US20100306466A1 (en) | Method for improving disk availability and disk array controller | |
CN103037203B (zh) | 一种基于块存储的索引恢复方法和装置 | |
WO1997001139A1 (en) | Disk array controller with enhanced synchronous write | |
US20050273650A1 (en) | Systems and methods for backing up computer data to disk medium | |
CN101815983A (zh) | 用于防止硬盘驱动文件系统的损坏的方法和系统 | |
CN101753936B (zh) | 一种视频监控系统的存储空间的配置方法和视频服务器 | |
CN109726036B (zh) | 一种存储系统中的数据重构方法和装置 | |
CN105100716A (zh) | 一种用于网络视频监控的安全存储单元及其系统 | |
US10642508B2 (en) | Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media | |
CN100383881C (zh) | 一种嵌入式设备中硬盘关键信息区的保护方法 | |
US20170177592A1 (en) | File-level array storage | |
US20090083503A1 (en) | System of creating logical volume and method thereof | |
CN101808243B (zh) | 一种基于快照的数据处理方法和设备 | |
US20070043968A1 (en) | Disk array rebuild disruption resumption handling method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhang Pengguo Inventor after: Cheng Hao Inventor after: Ding Qiang Inventor before: Cheng Hao Inventor before: Ding Qiang |
|
GR01 | Patent grant | ||
GR01 | Patent grant |