专利名称:一种基于快速视频数据存储的文件系统的控制方法
技术领域:
本发明涉及视频流控制系统,尤其是视频文件控制系统,具体地,涉及在视频流控制系统中视频文件系统以及对应对所述视频文件系统进行控制的控制方法。
背景技术:
运营级视频监控业务是基于宽带网络为用户提供图像、声音和各种报警信号远程采集、传输、储存、处理的ー种新型电信增值业务。其业务重点是通过ー个应用广泛的远程网络监控中心服务平台,以集中式分区化运营方式为用户提供便捷、经济、有效的远程监控整体解决方案。通过运营级视频监控业务,用户可以不受时间、地点限制对监控目标进行实时监控、管理、观看,实现跨地域的统ー监控、统一存储、统ー管理和资源共享。目前,在视频监控系统中,其监控前端产品上通常使用EXT3或者XFS文件系统。这些系统具有一定的通用性,互联性高,但是经常出现各种问题,例如一旦断电重启后,这些文件系统需要比较长的时间进行修复,从而难以满足快速重启系统、正常工作的需求,可能会导致安全隐患;由于原有文件系统存在着各种复杂操作,所以会导致ー些程序错误(BUG),而就这些错误而言,并不是针对监控业务的,所以实际上可以删减这些不必要的程序;由于文件系统本身导致的磁盘上的空洞以及由于在物理位置上不连续导致磁头频繁移动,进而致使磁盘寿命比较快地缩短,加大了用户的硬件成本。由于以上种种问题,在实现视频监控业务的过程中,存在着提供一种适合于视频监控业务的文件系统以及针对该文件系统的控制方法的需求。因此,本发明要解决如何提供一套简单、适用的用于视频监控业务的文件系统以及相应的针对该文件系统的控制方法。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于快速视频数据存储的文件系统的的控制方法以及相应的视频文件系统。根据本发明的ー个方面,提供一种基于快速视频数据存储的文件系统的控制方法,其特征在于,包括如下步骤b.根据录像通道从与其对应的若干大块中确定ー个大块用于保存录像记录,其中,一个录像分区被划分为若干大块,且所述大块仅可以保存来自同一个录像通道的若干段录像记录。根据本发明的另ー个方面,还提供一种基于快速视频数据存储的文件系统的控制装置,其包括第一确定装置,用于根据录像通道从与其对应的若干大块中确定ー个大块用于保存录像记录,其中,一个录像分区被划分为若干大块,且所述大块仅可以保存来自同一个录像通道的若干段录像记录。优选地,所述同一录像分区中若干大块的容量相同。优选地,所述第一确定装置包括第二确定装置,其用于确定与所述录像通道对应的大块;第一判断装置,其用于判断与所述录像通道对应的大块中是否存在未录满的大块;第一处理装置,其用于在与所述录像通道对应的大块中存在未录满的大块时将所述录像记录保存在所述未录满的大块中。优选地,所述第一确定装置还包括第二判断装置,其用于在与所述录像通道对应的大块中不存在未录满的大块时判断是否存在空的大块。优选地,所述第一确定装置还包括第二处理装置,其用于在存在所述空的大块时将所述录像记录保存在所述空的大块中,并根据所述录像通道标注所述空的大块的录像通道号。优选地,所述第一确定装置还包括第三处理装置,其用于在不存在所述空的大块时确定待覆盖的大块,并将所述录像记录保存到所述待覆盖的大块中。优选地,所述第三处理装置包括第四处理装置,其用于将生成ID最小的大块·确定为所述待覆盖的大块。优选地,所述第三处理装置包括第五处理装置,其用于将未在使用中的大块中生成ID最小的大块确定为所述待覆盖的大块。优选地,所述控制装置还包括第三判断装置,其用于判断下一个被写入的帧是否为关键帧,并判断当前被写入的大块的剰余空间是否低于第三阈值,其中,若上述两个条件均被满足,则执行所述第一判断装置。优选地,所述控制装置还包括第四判断装置,其用于判断所述待覆盖的大块的剩余空间是否低于第一阈值;以及第六处理装置,其用于在所述待覆盖的大块的剩余空间低于第一阈值时执行所述第二判断装置。优选地,所述控制装置还包括第五判断装置,其用于判断所述未录满的大块的剩余空间是否低于第二阈值;以及第七处理装置,其用于在所述未录满的大块的剩余空间低于第二阈值时执行所述第一确定装置。优选地,所述第一确定装置还包括第八处理装置,其用于在不存在所述空的大块时停止录像。优选地,所述录像分区包括主分区信息、块索引以及若干大块,其中,所述大块包括帧索引。优选地,所述录像分区还包括副分区信息以及副块索引。优选地,所述块索引包括大块的块时段。优选地,所述控制装置还包括第三确定装置,其用于确定搜索时段;第四确定装置,其用于确定待捜索的录像通道;第六判断装置,其用于判断是否存在与所述待搜索的录像通道对应、且所述块时段与所述搜索时段相交叠的大块;第七判断装置,其用于在所述步骤C的判断结果是肯定时判断所述大块内是否存在其录像时段与所述搜索时段相交叠的录像记录;以及第第九处理装置,其用于在所述步骤D的判断结果是肯定时反馈所述其录像时段与所述搜索时段相交叠的录像记录。优选地,所述块索引包括大块的块时段。进ー步优选地,所述控制装置还包括第三确定装置,其用于确定搜索时段;第四确定装置,其用于确定待捜索的录像通道;第六判断装置,其用于判断是否存在与所述待搜索的录像通道对应、且所述块时段与所述搜索时段相交叠的大块;第八判断装置,其用于在所述步骤C的判断结果是肯定时判断所述大块内是否存在其事件信息与所述搜索事件相同的录像记录;第十处理装置,其用于在所述步骤D’的判断结果是肯定时反馈所述其事件信息与所述搜索事件相同的录像记录。
优选地,所述控制装置还包括排序装置,其用于根据时间顺序对所述每个大块进行索引排序。根据本发明的又ー个方面,提供一种基于快速视频数据存储的视频文件系统,其特征在于,至少包括如下逻辑层
用户应用程序接ロ,用于向所述视频文件系统外部提供调用根据所述视频文件系统存储的各种视频数据;
录放像库,用于根据所述视频文件系统存储的 各种视频数据的管理,并接受预定的各种接ロ函数以实现外部对所述视频数据的管理;
视频数据库读取层,用于管理根据所述视频文件系统存储的各种视频数据在磁盘上的存放与读取,其接受来自上述录放像库的接ロ函数,使得所述录放像库可以操作所述视频数据;
虚拟文件系统,至少用于向外部提供针对根据所述视频文件系统存储的各种视频数据的读、写、定位函数;
读写文件系统;
块I/o设备访问层,用于接受对物理磁盘的操作函数以实现对物理磁盘的操作,其中,所述读写文件系统访问所述块I/o设备访问层以实现对虚拟文件系统以及其上各逻辑层对存储于所述物理磁盘内的所述视频数据的读写与存放。本发明通过对视频监控系统的文件系统的改迸,并相应地提供一套用于控制该文件系统的技术方案,在录放像库和底层读写层间建立ー个管理录像记录元数据和以及读写媒体数据的层次,从而实现快速的视频数据的存储和增强录放像的使用效率和減少故障率。
通过阅读參照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显
图I示出根据本发明的第一实施例的,针对基于快速视频数据存储的文件系统的控制方法的流程 图2示出根据本发明的第二实施例的,针对基于快速视频数据存储的文件系统的控制方法的流程 图3示出根据本发明的第三实施例的,针对基于快速视频数据存储的文件系统的控制方法的流程 图4示出根据本发明的ー个具体实施方式
的,本发明提供的基于快速视频数据存储的视频文件系统的分区示意 图5示出根据本发明的ー个具体实施方式
的,本发明提供的基于快速视频数据存储的视频文件系统的逻辑层示意图;以及
图6示出根据本发明的ー个具体实施方式
的,本发明提供的前端录放像系统逻辑层示意图。
具体实施方式
图I示出根据本发明的第一实施例的,针对基于快速视频数据存储的文件系统的控制方法的流程图。优选地,首先执行步骤SlOl :判断下一个被写入的帧是否为关键帧。本领域技术人员理解,在本实施例中,所述视频监控系统正通过本发明提供的视频文件系统向物理磁盘写入视频数据(或者称为视频文件),优选地,所述视频数据被ー帧、一帧地写入。在这样的过程中,如果当前被写入的帧为关键帧,或者说下ー帧为关键帧,则在写入过程中需要连续地写入,而不能中途更换用于存储该视频数据的文件块,即本发明所阐述的大块。因此,在本步骤中首先判断下一个被写入的帧是否为关键帧。具体地,本领域技术人员理解,所述关键帧指视频码流中的I帧。进ー步地,通过下述步骤S102来判断是否在写入关键帧之前切換所述大块的过程,在此不予赘述。其次进入步骤S102 :判断当前被写入的大块的剰余空间是否低于第三阈值。本领域技术人员理解,若所述当前被写入的大块的剰余空间已经比较小,例如优选地无法满足所述关键帧被连续写入的情况,则在写入所述关键帧之前要完成对所述被写入大块的切换过程,即重新确定ー个具有足够空间(例如,优选地可以容纳所述关键帧)的大块,在此不予赘述。进ー步地,本领域技术人员可以參考现有技术 实现本步骤,例如通过获取所述大块的剩余空间(容量),并将所述剩余空间与所述第三阈值进行比较以确定本步骤的判断结果。若本步骤的判断结果是肯定的,即所述当前被写入的大块的剰余空间低于所述第三阈值,则进入下述步骤S103;否则,若所述当前被写入的大块的剰余空间不低于所述第三阈值,则本次过程结束,即不需要寻找下一个大块,而可以继续在当前被写入的大块上写入视频数据。根据上述描述,本领域技术人员理解,若需要重新寻找ー个适合写入当前视频数据的大块,则首先执行步骤S103 :确定与所述录像通道对应的大块。进ー步地,本领域技术人员理解,优选地,在本发明中,所述每个大块只能对应ー个录像通道,而ー个录像通道对应的视频数据则可以写入多个大块,即录像通道与大块是ー对多的关系。本领域技术人员理解,所述录像通道指针对一路录像码流进行读写的虚拟逻辑路径,而本发明所提供技术方案必须将录像通道与大块是一对多关系的意义在于ー个虚拟逻辑路径需要占用磁盘系统的多个物理空间。接下来进入步骤S104 :判断与所述录像通道对应的大块中是否存在未录满的大块。本领域技术人员理解,一个大块中的视频数据可能是连续的,也可能是不连续。例如,优选地,当一个视频文件对应的视频数据并没有完全写满ー个大块,此时,则该大块就存在空闲的空间;进ー步地,当要写入下一个视频文件时,如果该大块被继续写入,则就导致该大块内的数据不连续。进ー步地,在本步骤中,首先确定所有与所述录像通道对应的大块,例如一共确定有50个大块可以与所述录像通道相对应;然后类似于上述步骤S102,本领域技术人员可以获得每ー个大块的总容量以及剩余空间(容量),从而可以判断与所述录像通道对应的大块中是否存在未录满的大块。本领域技术人员可以參考现有的文件系统的实现方式理解并实施本步骤,在此不予赘述。最后执行步骤S105 :将所述录像记录保存在所述未录满的大块中。优选地,通过上述步骤S104确定了一个待写入的大块后,则在本步骤中通过写入指令将相应的录像记录(视频数据)写入该大块对应的磁盘空间内。本领域技术人员结合现有技术可以实现本步骤,在此不予赘述。
进一步地,本领域技术人员理解,本发明所提供的视频文件系统的录像策略可以参考如下描述予以实现正常情况下,根据分区结构,按帧录制。一个数据块只能给一个通道录像。当开始录像(即向视频文件系统所管理的物理磁盘写入视频)时,先判断通道号,找到相同通道号,且没录满的块,继续录制(即写入视频数据);如果没有,就新找一块,标记为该通道,开始录制(即写入视频数据)。每次重新开始录像,都会在块内新加一条录像记录。优选地,一个数据块最多可以存47条录像记录,如果超过该录像记录数,就算块中实际数据未满,也切换一个新块。如果在某次录像中,实际数据占满了块中所有空间,那么就强制停止录像,重新开始。重新开始后会新找一块继续录。对于这种情况,考虑到等待关键帧,那么就需要在一个数据块内还剩上述第三阈值间时就在关键帧处切换。如上述图I所示实施例,为了完成在关键帧处的切换,优选地,需要通过上述判断过程进行预判。进一步地,本领域技术人员理解,上述第三阈值可以根据总磁盘块数不超过5000 个的原则进行确定。例如,优选地,当总磁盘空间为IT情况下,所述第三阈值(数据块大小)可以确定为256M。数据块大小可以变化,从64M到2G不等,取决于硬盘分区大小。一般对于监控前端,固定128M即可。数据块最开始的一段空间内存放帧索引,根据帧索引找到数据块内相应的帧数据。数据块越大,用户搜索录像的速度越快,但可能浪费的硬盘空间越多;反之,数据块越小,会影响用户的搜索速度,但能节约硬盘空间,所以这里数据块的大小应该根据用户的实际应用环境进行分配,在此不予赘述。图2示出根据本发明的第二实施例的,针对基于快速视频数据存储的文件系统的控制方法的流程图。具体地,本实施例可以作为上述第一实施例的一个变化例。本领域技术人员理解,上述第一实施例是在录制一个视频文件的过程中切换大块的过程,其中至少阐述了切换大块的时机以及如何确定一个新的将被写入的大块。而在本实施例中,则从一次完整的录像过程开始,即从开始一次录像的源头开始。
进一步地,首先执行步骤Slll :开始一次录像。本领域技术人员理解,例如客户端发出指令“开始录像”,则服务器端接收到该指令后,调用本发明提供的视频文件系统开始录像,即向物理磁盘开始写入第一帧视频数据。其次进入步骤S112 :确定与所述录像通道对应的大块。本步骤可以参考图I所示步骤S103实现,在此不予赘述。然后执行步骤S113 :判断与所述录像通道对应的大块中是否存在未录满的大块。本步骤可以参考图I所示步骤S104实现,在此不予赘述。若本步骤的判断结果为否定的,则进入下述步骤S114 ;否则若本步骤的判断结果为肯定的,则将步骤S113中的所述未录满的大块作为待写入的大块(图2中未示出),即参考上述图I所示步骤S105,然后本次过程结束。本领域技术人员参考上述图I所示实施例可以实现本实施例,在此不予赘述。进一步地,若上述步骤S113的判断结果为否定的,则接下来进入步骤S114 :判断是否存在空的大块。本领域技术人员理解,在上述各步骤中,仅涉及到未录满的大块,即该大块已经写入部分视频数据,但该大块仍然存在一定数量的剩余空间。而优选地,在本步骤中,所述空(闲)的大块则指没有写入任何数据的大块,即该大块的剩余空间即为该大块的最大空间;而次优地,在一个变化例中,所述空(闲)的大块则指存在大于第四阈值剩余空间的大块,例如大于250M剩余空间的大块,这取决于具体实施需要,在此不予赘述。相应地,本领域技术人员结合现有技术以及上述图I所示步骤S102可以实现所述变化例,在此不予赘述。进一步地,若本步骤的判断结果为否定的,则进入下述步骤S115 ;否则若本步骤的判断结果为肯定的,则将步骤S114中的所述空的大块作为待写入的大块(图2中未示出),即参考上述图I所示步骤S105,然后本次过程结束。本领域技术人员参考上述图I所示实施例可以实现本实施例,在此不予赘述。进一步地,若上述步骤S114的判断结果为否定的,则然后执行步骤S115 :判断生成ID最小的大块是否为当前被读写的大块。在本步骤中,首先确定生成ID最小的大块,然后进一步判断该生成ID最小的大块是否正在被读写。优选地,本领域技术人员结合现有技术可以实现本步骤,在此不予赘述。进一步地,本领域技术人员理解,所述生成ID最小指块索引最小,通过索引方式进行查询,就可以确定所述生成ID最小的大块,在此不予赘述。相应地,本领域技术人员理解,若本步骤的判断结果为肯定的,则进入下述步骤S116 ;否则若本步骤的判断结果为否定的,则将所述生成ID最小的大块作为待写入的大块,即待覆盖的大块(图2中未示出),然后执行下述步骤S117。
进一步地,若上述步骤S115的判断结果为肯定的,则接下来进入步骤S116 :将所述生成ID最小的大块之外的所述生成ID最小的大块确定为所述待覆盖的大块。本领域技术人员理解,若上述步骤S115中所述生成ID最小的大块正在被读写,则不能将该生成ID最小的大块覆盖,否则会影响正在进行的读写进程。因此,按照将生成ID最小的大块作为待覆盖的大块的原理,则将比该生成ID最小的大块略小的一个大块,即倒数第二小的大块作为所述待覆盖的大块。进一步地,本领域技术人员理解,在一个变化例中,所述步骤S116也可以变化为“将可以被覆盖的且生成ID最小的大块作为待覆盖的大块”,与上述步骤S116类似,在本变化例中,仍然寻找生成ID最小的大块作为待覆盖的大块,但前提提交时该生成ID最小的大块能够被覆盖,例如优选地,当所述大块处于被读或者被写的状态时,其不可以作为所述待覆盖的大块;又例如,当所述大块被设置为不可读写状态时,则其也不可以作为所述待覆盖的大块。本领域技术人员结合现有技术以及上述实施例可以实现所述变化例,在此不予赘述。最后执行步骤SI 17 :将所述录像记录保存在待覆盖的大块中。具体地,本领域技术人员理解,本步骤与上述图I所示步骤S105的区别在于本步骤将录像记录(视频数据)写入所述待覆盖的大块中,而上述步骤S105中则将录像记录(视频数据)写入所述未录满的大块中。如果将所述“未录满的”大块与所述“待覆盖”的大块均作为“目标”大块,则该两个步骤是相同的。本领域技术人员结合现有技术以及上述步骤S105可以实现本步骤,在此不予赘述。进一步地,本领域技术人员理解,与上述图I所示实施例相比较,本实施例中,确定将被写入的大块时,由于各种原因最终确定了一个原本存在视频数据的大块予以覆盖。本领域技术人员理解,这样的情况有很多,例如优选地,当所有数据块都被占用,无法获得可录像的块时,根据上层需要可选择一个大块予以覆盖。进一步地,在覆盖时,选取生成ID最小的块,将此块当作一个空块使用,同时将块索引中的tag值加1,从而保证块索引不会出现重叠。更进一步地,如果生成ID最小的块正在使用中(比如在放像),那么选择生成ID次小的块覆盖。相应地,本领域技术人员还可以确定其他各种技术方案实现对大块的覆盖,在此不予赘述。图3示出根据本发明的第三实施例的,针对基于快速视频数据存储的文件系统的控制方法的流程图。在上述图I、图2所示实施例中,对于如何在本发明提供的视频文件系统中对视频数据进行存储的过程予以详细描述。其中,图I、图2实施例重点对于本发明与现有技术的不同处予以描述,其他对于实现视频文件系统所必需的但又可以在现有技术中找到参考资料的部分则没有进一步展开,本领域技术人员结合现有技术实现这些实施例,在此不予赘述。进一步地,在视频数据被存储到物理磁盘中,为了调用这些视频数据,还非常有必要对这些视频数据(视频文件或录像)进行搜索(检索),相应地,图3所示实施例提供了这样的技术手段。具体地,在本实施例中对一个事件进行搜索。首先执行步骤S121 :确定搜索时段和搜索事件。例如,确定搜索时间段为2010-09-22 12 :00 13:00,搜索事件为“人群聚集”。本领域技术人员理解,搜索事件的确定通常由搜索操作因素决定,例如“删除录像通道1”,在此不予赘述。 其次进入步骤S122 :确定待搜索的录像通道。待搜索的录像通道主要基于用户的鼠标点击选择后确定。然后执行步骤S123 :判断是否存在与所述待搜索的录像通道对应、且所述块时段与所述搜索时段相交叠的大块。具体地,在本步骤中,确定两个要素1)录像通道与上述步骤S122中确定的录像通道相一致;2)块时段与所述步骤S121中确定的搜索时段存在关联,优选地两个时段交叠。对于满足该两个要素的,则进一步执行下述步骤S124,否则本次搜索过程结束,即搜索失败。接下来进入步骤S124 :判断所述大块内是否存在其事件信息与所述搜索事件相同的录像记录。在上述步骤S123的判断结果为肯定的情况下,执行本步骤,即已经确定了块时间段相同,进一步地确定事件内容是否相同。进一步地,本领域技术人员理解,若本步骤的判断结果是否定的,则表明没有与步骤S121所确定的搜索条件相符合的视频文件,反馈搜索失败的提示信息,本次过程结束;否则,若本步骤的判断结果是肯定的,则进入下述步骤S125,在此不予赘述。最后执行步骤S125 :反馈所述其事件信息与所述搜索事件相同的录像记录。若上述步骤S124的判断结果是肯定的,则确定步骤S121中所确定的搜索条件被满足,所以向客户端反馈所述被搜索到的内容,即一个录像记录(视频数据或视频文件)。本领域技术人员理解,在本实施例的一个变化例中,所述步骤S123与步骤S124可以相互变换,例如可以在所述步骤S123中对事件进行搜索,然后在步骤S124中对时间段进行搜索。但本领域技术人员理解,步骤S123中首先对与块时间段进行搜索的效率更高,在此不予赘述。进一步地,本领域技术人员理解,图3所示实施例实际上描述了针对本发明提供的视频文件系统进行搜索的搜索策略。优选地,在本发明中,搜索分为文件搜索和事件搜索,分别用文件ID和事件ID唯一标识,逻辑上保持与传统方式一致。优选地,文件搜索在业务上一般是指定通道号,根据开始时间和结束时间对所有录像记录(也就是录像文件)进行查找。进一步地,针对文件搜索,进行搜索时首先比对块索引中的开始和结束时间,如果搜索的时段和块时段无交叠,则跳过该块;如果有交叠,那么再去逐个比对块内的录像记录中的时段,如果和搜索时段有交叠,那么该录像记录就是搜索要求的记录。进一步地,事件搜索是在文件搜索的基础上,指定了事件类型。搜索时同样先检测块索引时间,然后再去块内事件区查找符合时间段的事件。通过事件信息,可以对应到某个录像记录。本领域技术人员进一步地理解,在不同的情况下,本发明提供的搜索效率存在不同情况。例如,如果搜索时按照逐一比对每条录像记录的策略,对于一个几百G的硬盘,极端情况下要比较10万数量级的记录数,效率较低。考虑到无时间同步的情况下,某一通道的录像记录时间都是按照时间顺序依次录制的。在这种情况下,可以先对块时间排序,然后简单地使用二分法查找。假如数据块个数为N,对块内录像记录也采用二分法查找,那么比较的记录数为
log2 (N) + 2Xlog2 (47)
因此,比较的记录数可以控制在几十条。但假如考虑时间同步问题,那么搜索机制就要复杂多了。首先业务上保证,当时间同步时,停止录像,更新时间后再开始时间。所以不论是块索引时间戳还是块内记录时间戳,都会发生跳跃。对于时间戳向后的跳跃,对于搜索策略的影响并不大;但向前的时间调整则会对搜索策略带来一定的技术难度。对于向前时间调整的情况,暂时没有什么特别好的搜索策略。排序时按照开始时间进行排序,然后用二分法查找符合搜索开始时间条件的记录。在搜到的符合开始时间条件的记录中逐个比对结束时间条件。假设符合开始时间条件的记录数有k个,那么总共的比较数为log2 (N) + 2Xlog2 (47) + k
极端情况下,k等于所有记录数。但是本发明提供的针对向前时间调整的搜索策略仍然是比较好的搜索策略,因为只用比较结束时间。本领域技术人员对此可以理解,在此不予赘述。图4示出根据本发明的一个具体实施方式
的,本发明提供的基于快速视频数据存储的视频文件系统的分区示意图。优选地,在本发明中,针对视频文件系统提供了一套对于 物理磁盘的分区技术方案,即将整个分区可以分割为如下3部分
I、主分区信息和块索引。在分区最开始的5M空间内。分区信息存放了一些该分区的信息,如分区大小,分区块个数,数据块起始位置等等。2、副分区信息和块索引。在分区最末尾的5M空间内。当主分区信息和块索引损坏时,从副的里面读取信息。3、数据块。掐头去尾后,剩下的空间按128M大小划分成若干数据块。数据块内存放媒体帧。本领域技术人员理解,上述数据块大小可以变化,例如优选地从64M到2G不等,这主要取决于硬盘分区大小,也取决于具体的实施需求。优选地,对于监控前端,固定为128M即可。通常,在数据块最开始的一段空间内存放帧索引,根据帧索引找到数据块内相应的帧数据。本领域技术人员结合现有技术以及上述描述可以实现本实施例,在此不予赘述。
图5示出根据本发明的一个具体实施方式
的,本发明提供的基于快速视频数据存储的视频文件系统的逻辑层示意图。本领域技术人员理解,本发明提供的视频文件系统的作用就是在录放像库和底层读写层间建立一个管理录像记录元数据和以及读写媒体数据的层次。优选地,在本具体实施方式
中,所述视频文件系统包括
用户应用程序接口,用于向所述视频文件系统外部提供调用根据所述视频文件系统存储的各种视频数据;
录放像库,用于根据所述视频文件系统存储的各种视频数据的管理,并接受预定的各种接口函数以实现外部对所述视频数据的管理;
视频数据库读取层,用于管理根据所述视频文件系统存储的各种视频数据在磁盘上的存放与读取,其接受来自上述录放像库的接口函数,使得所述录放像库可以操作所述视频数据;
虚拟文件系统,至少用于向外部提供针对根据所述视频文件系统存储的各种视频数据的读、写、定位函数;
读写文件系统;· 块I/o设备访问层,用于接受对物理磁盘的操作函数以实现对物理磁盘的操作,其中,所述读写文件系统访问所述块I/o设备访问层以实现对虚拟文件系统以及其上各逻辑层对存储于所述物理磁盘内的所述视频数据的读写与存放。进一步地,本领域技术人员理解,所述用户应用程序接口是录放像库提供给上层使用的各种应用程序接口。优选地,为了减少上层应用程序的改动,以实现本发明提供的视频文件系统与其他现有的视频系统(例如监控系统)的对接,例如,原则上要进尽可能与以前的录放像库提供的接口一致。进一步地,本领域技术人员理解,所述录放像库使用由本发明提供的视频文件系统提供的对录像记录操作的接口函数,实现录放像数据管理,包括放像,录像,下载等功能。
·
进一步地,本领域技术人员理解,所述虚拟文件系统可以屏蔽掉使用RAWIO和使用传统文件系统之间的差异,即上层用户不需要去关注与块I/O设备访问层之间采用哪种文件系统。优选地,所述虚拟文件系统使用RAWI0。进一步地,本领域技术人员理解,所述块I/O设备访问层的作用在于由驱动提供对物理磁盘的操作函数,在此不予赘述。图6示出根据本发明的一个具体实施方式
的,本发明提供的前端录放像系统逻辑层示意图。本领域技术人员理解,本发明提供的前端录放像系统与现有技术相比较,至少Rawmedia模块、Rpctrl_raw模块、Rpdownload_raw与现有技术不同。优选地,所述Rawmedia模块完成本发明提供的视频文件系统的实现与封装。例如优选地,所述Rawmedia模块提供添加一条录像、查找指定录像、写入一巾贞数据、读取一巾贞数据等功能。进一步地,所述Rawmedia模块同时还要对业务提供分区格式化,分区检测等磁盘操作的接口。本领域技术人员理解,所述Rpctrl_raw模块优选地替代现有技术中的rpctrl_c模块完成对录放像在rawmedia上的调度。Rawmedia模块的文件系统的IO缓存保证是非阻塞方式,因此rpctrl_raw不需要自己开录放像缓存,直接调度rawmedia的接口即可。本领域技术人员理解,所述Rpdownload_raw模块优选地实现下载服务端的功能。更进一步地,所述业务层模块具体可由业务根据下层接口并根据实施需要而确定,这并不影响本发明的实质内容,在此不予赘述。根据上述发明内容以及具体实施例,本领域技术人员理解,视频数据视频数据库读取层有如下技术特点1.采用大块来组织录像数据,录像分区划分成相同大小的大块,例如128M;
2.同一个大块只能保存一个通道的录像数据,但可支持同一个通道的多段录像记录。一个通道的录像数据可以保存在多个大块中;
3.系统支持两种覆盖策略录像空间满后停止、录像空间满后覆盖。选用覆盖策略后,按照大块中录像的最早结束的时间进行覆盖(所有通道中最早的结束时间);
4.支持系统中动态增加、删除录像分区;
5.支持系统中录像分区随意更换位置;
6.支持将一块录像硬盘接入其它监控产品后继续录像;
7.支持修改系统时间,修改系统时间后录像行为正常。8.告警预录采用内存预录。优选地,所述视频文件系统可以建立在文件系统上,也可以直接使用裸分区。优选地,所述视频文件系统可以支持RAWIO以及文件系统,优选地通过在分区信息中进行区分是使用RAWIO还是文件系统。优选地,本发明提供的视频文件系统充分考虑到了监控前端产品针对视频数据的录像、抓拍、预录等种种应用策略。其考虑根据监控前端的录放像相对简单的特点,设计一个更适合于监控前端的视频文件系统来代替传统的文件系统,从而可以满足更广阔的市场需求。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
权利要求
1.一种基于快速视频数据存储的文件系统的控制方法,其特征在于,包括如下步骤 b.根据录像通道从与其对应的若干大块中确定一个大块用于保存录像记录, 其中,一个录像分区被划分为若干大块,且所述大块仅可以保存来自同一个录像通道的若干段录像记录。
2.根据权利要求I所述的控制方法,其特征在于,同一录像分区中若干大块的容量相同。
3.根据权利要求I或2所述的控制方法,其特征在于,所述步骤b包括如下步骤 bl.确定与所述录像通道对应的大块; b2.判断与所述录像通道对应的大块中是否存在未录满的大块;b3’.若与所述录像通道对应的大块中存在未录满的大块,则将所述录像记录保存在所述未录满的大块中。
4.根据权利要求3所述的控制方法,其特征在于,所述步骤b还包括如下步骤 b3.若与所述录像通道对应的大块中不存在未录满的大块,则判断是否存在空的大块。
5.根据权利要求4所述的控制方法,其特征在于,还包括如下步骤 b4’.若存在所述空的大块,则将所述录像记录保存在所述空的大块中,并根据所述录像通道标注所述空的大块的录像通道号。
6.根据权利要求4或5所述的控制方法,其特征在于,还包括如下步骤 b4.若不存在所述空的大块,则确定待覆盖的大块,并将所述录像记录保存到所述待覆盖的大块中。
7.根据权利要求6所述的控制方法,其特征在于,所述步骤b4包括如下步骤 -将生成ID最小的大块确定为所述待覆盖的大块。
8.根据权利要求6所述的控制方法,其特征在于,所述步骤b4包括如下步骤 -将未在使用中的大块中生成ID最小的大块确定为所述待覆盖的大块。
9.根据权利要求I至8中任一项所述的控制方法,其特征在于,在所述步骤b之前还包括如下步骤 a.判断下一个被写入的帧是否为关键帧,并判断当前被写入的大块的剩余空间是否低于第三阈值,其中,若上述两个条件均被满足,则执行所述步骤b。
10.根据权利要求I至9中任一项所述的控制方法,其特征在于,还包括如下步骤 i.判断所述待覆盖的大块的剩余空间是否低于第一阈值; .若所述待覆盖的大块的剩余空间低于第一阈值,则执行所述步骤b3。
11.根据权利要求I至10中任一项所述的控制方法,其特征在于,还包括如下步骤 i’ ·判断所述未录满的大块的剩余空间是否低于第二阈值; ii’ ·若所述未录满的大块的剩余空间低于第二阈值,则执行所述步骤bl。
12.根据权利要求I至11中任一项所述的控制方法,其特征在于,还包括如下步骤 b4’’.若不存在所述空的大块,则停止录像。
13.根据权利要求I至12中任一项所述的控制方法,其特征在于,所述录像分区包括主分区信息、块索引以及若干大块,其中,所述大块包括帧索引。
14.根据权利要求13所述的控制方法,其特征在于,所述录像分区还包括副分区信息以及副块索引。
15.根据权利要求13或14所述的控制方法,其特征在于,所述块索引包括大块的块时段,其中,所述控制方法还包括如下步骤 A.确定搜索时段; B.确定待搜索的录像通道; C.判断是否存在与所述待搜索的录像通道对应、且所述块时段与所述搜索时段相交叠的大块; D.若所述步骤C的判断结果是肯定的,则判断所述大块内是否存在其录像时段与所述搜索时段相交叠的录像记录; E.若所述步骤D的判断结果是肯定的,则反馈所述其录像时段与所述搜索时段相交叠的录像记录。
16.根据权利要求13或14所述的控制方法,其特征在于,所述块索引包括大块的块时段,其中,所述控制方法还包括如下步骤 A.确定搜索时段和搜索事件; B.确定待搜索的录像通道; C.判断是否存在与所述待搜索的录像通道对应、且所述块时段与所述搜索时段相交叠的大块; D’.若所述步骤C的判断结果是肯定的,则判断所述大块内是否存在其事件信息与所述搜索事件相同的录像记录; E’.若所述步骤D’的判断结果是肯定的,则反馈所述其事件信息与所述搜索事件相同的录像记录。
17.根据权利要求15或16所述的控制方法,其特征在于,在所述步骤A之前还包括如下步骤 -根据时间顺序对所述每个大块进行索弓I排序。
18.一种基于快速视频数据存储的视频文件系统,其特征在于,至少包括如下逻辑层 用户应用程序接口,用于向所述视频文件系统外部提供调用根据所述视频文件系统存储的各种视频数据; 录放像库,用于根据所述视频文件系统存储的各种视频数据的管理,并接受预定的各种接口函数以实现外部对所述视频数据的管理; 视频数据库读取层,用于管理根据所述视频文件系统存储的各种视频数据在磁盘上的存放与读取,其接受来自上述录放像库的接口函数,使得所述录放像库可以操作所述视频数据; 虚拟文件系统,至少用于向外部提供针对根据所述视频文件系统存储的各种视频数据的读、写、定位函数; 读写文件系统; 块I/o设备访问层,用于接受对物理磁盘的操作函数以实现对物理磁盘的操作,其中,所述读写文件系统访问所述块I/o设备访问层以实现对虚拟文件系统以及其上各逻辑层对存储于所述物理磁盘内的所述视频数据的读写与存放。
19.根据权利要求18所述的视频文件系统,其特征在于,所述读写文件系统至少包括如下部分中的任ー个或任多个 -RAWIO,其用于无文件系统的磁盘读写。
20.根据权利要求18或19所述的视频文件系统,其特征在于,还包括前端录放像系统,其中,所述前端录放像系统包括 Rawmedia模块,其用于提供与所述视频文件系统相适应的各种接ロ ; Rpctrl_raw模块,其用于实现对根据所述视频文件系统存储的各种视频数据,封装Rawmedia模块,为提供上层统ー的接ロ ; Rpdownload_raw模块,其用于下载与所述视频文件系统对应的各种文件,以使得所述iu端录放像系统可以与所述视频文件系统交互; 统ー编解码接ロ模块,其用于统ー各种编解码器的调用接ロ ; 媒体控制层,用于根据外部的指令来控制根据所述视频文件系统存储的各种视频数据;以及 业务层,其用于向外部提供各种业务定义,外部可以根据这些业务实现各自不同的功倉^:。
21.根据权利要求18至20中任一项所述的视频文件系统,其特征在于,根据权利要求I至17中任一项所述的控制方法实现对根据所述视频文件系统存储的各种视频数据的管理。
全文摘要
本发明提供一种基于快速视频数据存储的文件系统的控制方法,包括步骤b.根据录像通道从与其对应的若干大块中确定一个大块用于保存录像记录,其中,一个录像分区被划分为若干大块,且所述大块仅可以保存来自同一个录像通道的若干段录像记录。还提供基于快速视频数据存储的文件系统的控制装置。本发明通过对视频监控系统的文件系统的改进,并相应地提供一套用于控制该文件系统的技术方案,在录放像库和底层读写层间建立一个管理录像记录元数据和以及读写媒体数据的层次,从而实现快速的视频数据的存储和增强录放像的使用效率和减少故障率。
文档编号G06F17/30GK102760136SQ20111010910
公开日2012年10月31日 申请日期2011年4月29日 优先权日2011年4月29日
发明者张之双 申请人:苏州科达科技有限公司