CN106599292B - 针对实时视频数据和图像数据进行存储的方法及系统 - Google Patents

针对实时视频数据和图像数据进行存储的方法及系统 Download PDF

Info

Publication number
CN106599292B
CN106599292B CN201611218955.XA CN201611218955A CN106599292B CN 106599292 B CN106599292 B CN 106599292B CN 201611218955 A CN201611218955 A CN 201611218955A CN 106599292 B CN106599292 B CN 106599292B
Authority
CN
China
Prior art keywords
data
storage
stored
data block
time
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.)
Active
Application number
CN201611218955.XA
Other languages
English (en)
Other versions
CN106599292A (zh
Inventor
周光明
郭军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netposa Technologies Ltd
Original Assignee
Netposa Technologies Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netposa Technologies Ltd filed Critical Netposa Technologies Ltd
Priority to CN201611218955.XA priority Critical patent/CN106599292B/zh
Publication of CN106599292A publication Critical patent/CN106599292A/zh
Application granted granted Critical
Publication of CN106599292B publication Critical patent/CN106599292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/732Query formulation
    • G06F16/7328Query by example, e.g. a complete video frame or video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Abstract

本发明提供了针对实时视频数据和图像数据进行存储的方法及系统,涉及数据存储领域。本发明提供的针对实时视频数据和图像数据进行存储的方法,通过设置了复合存储系统,且该符合存储系统中的每个文件夹中写了数量大致相近的文件,并且每个存储数据块(文件的一种)所占用的存储空间均相同,并且用户在将需要存储的数据,按照数据的属性值的相似程度进行存储,使得在读取数据的时候,能够针对性的快速找到数据,并且文件夹中的数据量大致相同,使得数据均匀分布在了复合存储系统中,避免了文件分布不均导致的检索、读取缓慢的问题。

Description

针对实时视频数据和图像数据进行存储的方法及系统
技术领域
本发明涉及数据存储领域,具体而言,涉及针对实时视频数据和图像数据进行存储的方法及系统。
背景技术
随着社会安全需求的提高,在市内的不同位置上设置了大量的监控装置,这些监控装置均通过有线或无线的方式与监控服务器进行连接,以便于将其拍摄到的监控画面上传至监控服务器,进而用户可以通过登录监控服务器的方式来浏览市内不同的位置的监控画面。
市内安装的监控装置之间有一定的差别,主要体现在监控装置对环境进行监控拍摄后所生成的监控数据不同。从生成的监控数据的种类上来看,可以将监控数据分为两种,第一种是视频数据,第二种是图像数据。通常视频数据占用的存储空间较大,图像数据占用的存储空间较小。从生成的监控数据的质量上来看,可以将监控数据分为两种或多种,如可以分为低分辨率数据、中分辨率数据和高分辨率数据。
在对这些数据进行存储的时候,通常采用杂乱的方式进行存储,但这种存储方式直接导致用户在需要查找数据的时候,难以快速的定位到对应的数据,也难以快速的将对应的数据提取出来。
发明内容
本发明的目的在于提供针对实时视频数据和图像数据进行存储的方法和系统,以提高文件的读取速度。
第一方面,本发明实施例提供了针对实时视频数据和图像数据进行存储的方法,方法作用于复合存储系统,复合存储系统包括:多个文件夹,每个文件夹中均携带有多个存储数据块;任意的一个存储数据块只用于存储实时视频数据,或只用于存储图像数据;存储在同一个存储数据块中的多个图像数据,或多个实时视频数据均具有相同或相近的属性值;每个文件夹中所携带的存储数据块的数量相近,且每个存储数据块所占用的存储空间均相同或相近;
方法包括:
获取待存储数据和描述待存储数据的属性的属性值,待存储数据为实时视频数据,或图像数据;
依据属性值,将属性值相同的待存储数据依次存储在存储数据块中。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,复合存储系统由多个文件存储层级构成,且每个文件存储层级由多个文件夹构成,最底层的文件存储层级中的底层文件夹下携带有存储数据块;且每个上级文件夹下均携带有下级文件夹,每个上级文件夹下的下级文件夹的数量均相同或相近,每个底层文件夹下的存储数据块的数量相同或相近。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,若待存储数据为待存储的实时视频数据,则步骤依据属性值,将属性值相同的待存储数据依次存储在存储数据块中包括:
查找与待存储的实时视频数据相对应的元数据,元数据中携带有已存储到存储数据块中的实时视频数据的存储位置和录制时间;
若录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中剩余有存储空间,则调取第一目标存储数据块;
按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在第一目标存储数据块中,并将视频帧的存储位置和录制时间写入元数据中。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,若待存储数据为待存储的实时视频数据,则步骤依据属性值,将属性值相同的待存储数据依次存储在存储数据块中还包括:
若录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中没有剩余的存储空间,则调取空闲数据块作为新存储数据块,空闲数据块中所携带的数据均为失效数据,或空闲数据块中没有记录数据;
按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在新存储数据块中,并将视频帧的存储位置和录制时间写入元数据中。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,步骤按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在第一目标存储数据块中包括:
在将视频帧存储在第一目标存储数据块的过程中,当目标存储数据块中已经写满有效数据,且仍有视频帧没有写入第一目标存储数据块中,则调取空闲数据块作为第二目标存储数据块,空闲数据块中所携带的数据均为失效数据,或空闲数据块中没有记录数据;
将视频帧中,没有写入第一目标存储数据块的部分,按照视频帧的录制时间的顺序,写入第二目标存储数据块中。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,还包括:
获取租赁状态的存储数据块的租赁起始时间和租赁周期;
根据租赁起始时间、租赁周期和当前时间,计算租赁状态的存储数据块是否过期;
若是,则将租赁状态的存储数据块设置为空闲数据块。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,若待存储数据为待存储的图像数据,则步骤依据属性值,将属性值相同的待存储数据依次存储在存储数据块中包括:
获取每个待存储的图像数据的属性值;
将属性值相同或相近的待存储的图像数据均存储在同一个存储数据块中,并将图像数据的存储位置写入索引文件中。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,若待存储数据为待存储的图像数据,则步骤依据属性值,将属性值相同的待存储数据依次存储在存储数据块中还包括:
根据存储在存储数据块中的图像数据的属性值,将多个第三目标存储数据块存储在同一个文件夹中;其中,存储在同一个文件夹中的第三目标数据块中的图像数据的属性值相近。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,还包括:
获取读取指令,读取指令中携带有录制时间;
在元数据中,查找与录制时间相对应的待读取的视频帧的存储位置;
按照待读取的视频帧的存储位置读取相应的数据。
第二方面,本发明实施例还提供了针对实时视频数据和图像数据进行存储的系统,针对实时视频数据和图像数据进行存储的系统作用于复合存储系统,所述复合存储系统包括:多个文件夹,每个文件夹中均携带有多个存储数据块;任意的一个所述存储数据块只用于存储实时视频数据,或只用于存储图像数据;存储在同一个存储数据块中的多个图像数据,或多个实时视频数据均具有相同或相近的属性值;每个所述文件夹中所携带的存储数据块的数量相近,且每个存储数据块所占用的存储空间均相同或相近;
针对实时视频数据和图像数据进行读取的系统包括:
获取模块,用于获取待存储数据和描述待存储数据的属性的属性值,待存储数据为实时视频数据,或图像数据;
存储模块,用于依据属性值,将属性值相同的待存储数据依次存储在存储数据块中。
本发明实施例提供的针对实时视频数据和图像数据进行存储的方法,采用设置了独特的复合存储系统的方式,与现有技术中的杂乱的对实时视频数据和图像数据进行存储,导致查找视频数据十分繁琐、耗时相比,其通过设置了复合存储系统,且该符合存储系统中的每个文件夹中写了数量大致相近的文件,并且每个存储数据块(文件的一种)所占用的存储空间均相同,并且用户在将需要存储的数据,按照数据的属性值的相似程度进行存储,使得在读取数据的时候,能够针对性的快速找到数据,并且文件夹中的数据量大致相同,使得数据均匀分布在了复合存储系统中,避免了文件分布不均导致的检索、读取缓慢的问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的针对实时视频数据和图像数据进行存储的方法中复合存储系统的架构图;
图2示出了本发明实施例所提供的针对实时视频数据和图像数据进行存储的方法的流程图;
图3示出了本发明实施例所提供的针对实时视频数据和图像数据进行存储的方法中对实时视频数据进行存储时的架构图;
图4示出了本发明实施例所提供的针对实时视频数据和图像数据进行存储的方法中对图像数据进行存储时的架构图;
图5示出了本发明实施例所提供的针对实时视频数据和图像数据进行存储的方法中计算文件名的示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,在安防监控领域,会通过设置大量摄像头的方式,来获取各个位置的实时视频和图像,通常,相关领域的技术人员会将实时视频和图像混杂的存储到一起,但此种方式不利于数据的查找(主要是一次性打开的文件过多,系统的运算量过大)。为了提高查找效率,技术人员还会将视频和图像分开存储在不同的存储系统中,但此种存储方式直接导致了无法实现资源共享因为很多情况下无法准确的预估出图片和视频使用空间,势必会造成部分资源浪费;同时两个系统的维护成本更高。
针对当前技术的不足,发明人提供了针对实时视频数据和图像数据进行存储的方法,方法作用于复合存储系统,如图1所示,复合存储系统包括:多个文件夹,每个文件夹中均携带有多个存储数据块;任意的一个存储数据块只用于存储实时视频数据,或只用于存储图像数据;存储在同一个存储数据块中的多个图像数据,或多个实时视频数据均具有相同或相近的属性值;每个文件夹中所携带的存储数据块的数量相近,且每个存储数据块所占用的存储空间均相同或相近;
如图2所示方法包括:
S101,获取待存储数据和描述待存储数据的属性的属性值,待存储数据为实时视频数据,或图像数据;
S102,依据属性值,将属性值相同的待存储数据依次存储在存储数据块中。
本方案的改进点主要集中在符合存储系统本身,其实际存储区域被分割为了大量的存储数据块,从外界得到的实时视频数据和图像数据均被存储在了存储数据块中。并且,同一个存储数据块中只存储一种类型的数据,也就是同一个存储数据块中只能存储实时视频数据,或者只能存储图像数据,这两种数据不能同时存储在一个存储数据块中。这主要是考虑到用户在进行检索的时候,通常是针对同一种数据进行检索,这样设置能保证数据检索的针对性。
本发明的目的是将文件进行至少两级的存储(将复合存储系统中设置了多个存储数据块,并且存储数据块中携带了多个实时视频数据),并且,每个数据存储基本单位(存储数据块)的大小均是相同的,每个文件夹中所携带的存储数据块的数量均是相同。传统方案中,打开一个文件夹之后,会显示该文件夹下的全部文件,如果按照用户意愿随意对文件进行存储的话,则会造成某个文件夹过大,进而会导致打开该文件夹的速度过于缓慢,本方案中通过在每个文件夹中均携带了数量大致相同的文件,使得打开文件夹的速度基本相同,不会出现打开某些文件夹的速度过快,某些过慢。可以直观的了解到,当电脑的某个文件夹中的文件过多的时候,不论该文件夹下面存储的文件的大小(即使都是快捷方式),打开该文件,直到全部正常显示每个文件的速度也是很慢的。采用本方案的方法,即将小文件整合成大小基本相同的文件体(存储数据块)时,刚好能够避免该问题。
为了提高查找文件的速度,本申请提供的方案中,在进行数据存储的时候,考虑了数据的属性值。具体的,该属性值可以是能够描述数据的任意属性,具体如摄像头的编号、视频/图像的录制/拍摄的时间、摄像头所在的地域等等,此处按照属性值的相似程度/是否相同,来将数据(图像数据或实时视频数据)存储在同一个存储数据块中,能够使系统更为便利的对数据进行检索。下面以属性值为时间的情况进行说明。当属性值为时间时,系统可以将同一个摄像头所拍摄的视频帧按照时间先后的顺序依次存储到同一个存储数据块中,那么检索的时候,就可以依据得到视频数据的拍摄时间点,定位到对应的存储数据块,之后再在这个存储数据块中进行精确的检索,这样降低了检索的数量。首次检索的时候,只是检索时间点所对应视频帧在哪个存储数据块中,二次检索的时候则是在该存储数据块中进行进一步的检索,由于每个存储数据块中均携带了多个视频帧,因此,降低了总体的检索数量。
上述针对实时视频数据和图像数据进行存储的方法,在执行的过程中,在对于任意一个存储数据块进行数据存储的时候,均应当按照存储空间的先后顺序,由前至后进行存储,以使相邻的两个数据之间没有间隔,且当该存储数据块存储到最后一位的时候,刚好能够填满该存储数据块。
前文中提到了属性值可以有多种,如摄像头的编号、视频/图像的录制/拍摄的时间、摄像头所在的地域等等,这些属性值可以分为两种情况,分别是属性值是可变的,以及属性值是不可变的。
属性值是可变的情况如:属性值可以是视频录制时间、照片拍摄时间、照片/视频的编号、录制视频的摄像头的编号等等,为了做到依次存储,可由将这些属性值,按照由小到大的顺序(也可以是由大到小,或者是其他便于使用的顺序)依次存储在同一个存储数据块中。当属性值可变的时候,则可以按照数据的变化方式,将数值相近的属性值所对应的待存储数据依次存储在同一个存储数据块中。一个明显的例子是,将同一个摄像头拍摄得到的实时视频帧数据,按照拍摄的时间依次存储在同一个存储数据块中。
属性值是不可变的情况如:属性值是某种类型(如高清摄像头、红外摄像头),某种地区(如辽宁省、广东省)等。此种情况下,一般无法为不同的属性值列出前后顺序,此时,则可以将属性值相同的带存储数据存储在存储数据块中(此时存储的先后顺序可以任意调整)。一个明显的例子是,将针对同一个区域的进行拍摄的摄像头所生成的视频数据/图像数据存入到同一个存储数据块中。
为了实现上述存储的目的,当然首先需要获取到待存储数据和对应的属性值,这两个数据均是由数据源提供的。其中,数据源可以是摄像头、照相机等能够生成数据的设备,也可以是能够将摄像头、照相机所生成的数据进行存储和转发的设备。
整体来看本申请所提供的方法,其技术方案的核心在于均匀的存储,具体实现时,采用将小文件(待存储数据)合并成大文件(将待存储数据均写入存储数据块中)的方式,在保证了大文件的大小均相同(多种业务数据(如大小不同的视频数据和图片数据)就全部统一到了一种数据大小量级上),且分布均匀的情况下,提高了整体存储系统的读取效率。优选的,本申请所提供的方案中,除了设置存储数据块,还保证了存储数据块的大小与获取到的视频文件(并不是实时视频数据,而是rmvb,avi格式一类的完整的视频文件)的大小一致,以保证数据的均匀。
在进行文件存储的时候,如果所有的文件都位于同一个层级下(比如都位于根目录下,或都位于某一个文件夹下),则会导致打开该层级的文件夹的时候,需要读取的文件数量过多,也会影响系统的响应速度。针对该种情况,本申请所提供的方案中,对复合存储系统进行了进一步优化。
具体而言,复合存储系统由多个文件存储层级构成,且每个文件存储层级由多个文件夹构成,最底层的文件存储层级中的底层文件夹下携带有存储数据块;且每个上级文件夹下均携带有下级文件夹,每个上级文件夹下的下级文件夹的数量均相同或相近,每个底层文件夹下的存储数据块的数量相同或相近。
也就是,比如文件存储层级共有5级,那么根目录下面有a、b、c三个文件夹,a文件夹下有aa、bb文件夹,aa文件夹下面有aaa文件夹,aaa文件夹下有aaaa文件。以此,第一级的文件存储层级就是根目录,第二级就是a、b、c,第三级就是aa、bb,第四级就是aaa,第五级就是aaaa。通过限定每个文件夹下的文件夹数量均相同或相近,保证了每个文件夹(上级文件夹)下的文件夹(下级文件夹)的数量均是相同的,这也使得系统在读取每个文件夹的时候,速度均是基本相同的,不会出现读取某个文件夹的速度快,读取某个文件夹的速度慢的情况。底层文件夹指的是文件存储层级中的最低的存储层级中的文件夹,上述层级下的底层文件夹指的是aaaa。
系统在对文件(包括存储数据块或文件夹)进行存储的时候,应当尽量均匀的将文件均匀的存储在文件夹下,以保证每个文件夹下的文件数量基本相同。比如,可以设定每个文件夹下最多存储指定数量(例如1024)的文件。按照5级每级1024个的存储上限,则可以存储10245=1P个文件,每个文件(此时文件指存储数据块)如果为1G,则可以存储1024ZB,足以满足全部存储需求;文件存储位置的映射算法为:h(n)%cd,其中h为哈希算法,n为文件名称,%取余数计算,c是每个文件夹下最大文件数量,d是路径深度。
如图5所示,以3级目录为例,只有在最后一级存储数据文件,其他级都是文件夹,这样数据文件序号形成了从0~10243的一个数,这个数就唯一的标识了一个数据文件;当系统需要访问一个文件所在的数据文件时,查找方法如下:
通过文件名称,如aaa-bbb-ccc-ddd-eee.txt,计算出64位的哈希值,哈希算法不限定,例如city64,crc64;
通过哈希值与数据文件总量做取余运算,例如crc64(aaa-bbb-ccc-ddd-eee.txt)=234764176317798,三级目录的数据文件总量为10243,234764176317798%=190176614,那么该文件所在位置就是序号为190176614的文件。
实际上,在使用的时候,优选保证每个存储数据块的大小均相等,且每个文件夹中所携带的存储数据块的数量相同。但,可以预想到的是,真正的完全相同是无法达到的,每个存储数据块之间仍然会有少量的大小区别。
进一步,在将数据(实时视频数据或图像数据)存储到存储数据块中的时候,有两种不同的方式,分别是针对实时视频数据进行存储和针对图像数据进行存储。如图3所示,下面首先以待存储数据为实时视频数据的情况进行说明。
即,若待存储数据为待存储的实时视频数据,则步骤依据属性值,将属性值相同的待存储数据依次存储在存储数据块中包括:
查找与待存储的实时视频数据相对应的元数据,元数据中携带有已存储到存储数据块中的实时视频数据的存储位置和录制时间;
若录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中剩余有存储空间,则调取第一目标存储数据块;
按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在第一目标存储数据块中,并将视频帧的存储位置和录制时间写入元数据中。
其中,元数据中携带有描述对应存储数据块的数据(即描述实体数据的数据),如对应存储数据块的位置,每一帧视频在存储数据块中的偏移、大小、时间、帧类型(如关键帧)等。
如果录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中剩余有存储空间,则说明最后一次进行存储的第一目标存储数据块中尚有剩余的存储空间,此时,则可以调取这个第一目标存储数据块。并且,将待存储数据中视频帧存储到第一目标存储数据块中。需要注意的是,此时在进行存储的时候,应当按照视频帧的录制时间的先后顺序,由前之后依次存储在第一目标存储数据块中。比如,一共要存储3个视频帧,分别是A、B、C,这个视频帧的录制时间分别是1.2秒,1.3秒和1.4秒,这三个视频帧的大小均是0.5M,同时,第一目标存储数据块中共有10M剩余的存储空间,可见第一目标存储数据块种完全可以写入这三个视频帧。进而,在存储的时候,应当在第一目标存储数据块的剩余存储空间中首先存储视频帧A,并且视频帧A优选紧邻前一个视频帧存储(在存储空间上视频帧A与第一目标存储数据块中原有的最后一帧视频连续),之后再存储视频帧B,最后再存储视频帧C。可见在进行视频帧存储的时候,是按照录制时间的顺序,将录制时间靠前的视频帧先存储,并且优选是紧接着当前第一目标存储数据块最后一帧的位置进行的存储。
图3中的块管理系统的用作是调取(申请)空闲数据块和箱空闲数据块中写入待存储数据的,以及将过期的存储数据块释放掉,形成空闲数据块。
进一步,如果第一目标存储数据块中没有剩余的存储空间的话,就需要重新在一个新的存储数据块中记录这些视频帧,继而,若待存储数据为待存储的实时视频数据,则步骤依据属性值,将属性值相同的待存储数据依次存储在存储数据块中还包括:
若录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中没有剩余的存储空间,则调取空闲数据块作为新存储数据块,空闲数据块中所携带的数据均为失效数据,或空闲数据块中没有记录数据;
按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在新存储数据块中,并将视频帧的存储位置和录制时间写入元数据中。
上述步骤中提及的元数据均是用来描述视频帧读取方式、存储位置的数据,在读取视频帧的时候,需要使用到这些元数据,因此需要在记录视频帧的时候适应性的修改元数据的内容。
进一步,还有一种情况是,在数据写入到第一目标存储数据块中的过程中发现第一目标存储数据块没有剩余存储空间了,此时应当重新申请一个数据存储块,再进行存储。
进而,步骤按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在第一目标存储数据块中包括:
在将视频帧存储在第一目标存储数据块的过程中,当目标存储数据块中已经写满有效数据,且仍有视频帧没有写入第一目标存储数据块中,则调取空闲数据块作为第二目标存储数据块,空闲数据块中所携带的数据均为失效数据,或空闲数据块中没有记录数据;
将视频帧中,没有写入第一目标存储数据块的部分,按照视频帧的录制时间的顺序,写入第二目标存储数据块中。
上述按照时间顺序将视频帧存储到存储数据块中的主要优势是同一个存储数据块中的视频帧均是按照时间顺序紧邻存储的,也就是某一个时间段中的视频帧均存储在同一个存储数据块中,由于监控视频每个一段时间就会将过期的视频数据删除,因而,在删除的时候,系统并不需要遍历每一个视频帧(或者说是便利每个元数据)在查看整个存储数据块是否过期,只要有一个视频帧没有过期,就不在需要查询存储数据块中其他视频帧的时间了。也就是,检查时,可以按照存储位置由前至后的顺序依次检查,当检查到一个视频帧没有过期的话,就不需要检查后面的视频帧了。类似的,存储数据块之间也是按照录制时间顺序存储的,可以将按照存储数据块的生成时间(或者是最后一次修改的时间)进行检查,如果生成时间靠前的存储数据块没有过期的话,那么后面的存储数据块也不需要检查了。
上述的方式公开了一般的存储数据块的存储方式,还有一种租赁的存储数据块,该种租赁的存储数据块的过期与否并不是看其内存储的视频帧的录制时间是否过期,而是看存储数据块的建立时间是否过期。具体的,本申请所提供的方法,还包括:
获取租赁状态的存储数据块的租赁起始时间和租赁周期;
根据租赁起始时间、租赁周期和当前时间,计算租赁状态的存储数据块是否过期;
若是,则将租赁状态的存储数据块设置为空闲数据块。
其中,租赁起始时间可以理解为建立数据块的时间,或者是接到请求的时间,或者是有数据写入数据块的时间。租赁周期指的是预先设定的数据库的有效期。
步骤根据租赁起始时间、租赁周期和当前时间,计算租赁状态的存储数据块是否过期具体执行时,可以按照如下方式计算:判断(当前时间-租赁起始时间)是否大于租赁周期,如果判断为是,则租赁状态的存储数据块过期,并应当将数据库设置为空闲数据块,以使其他新的数据可以存储在其内部。
需要说明的是,空闲数据块中可能有失效数据(过期的视频帧,或者是过期的租赁状态的存储数据块中的数据),也可能没有数据。进而空闲数据块中的数据并不需要第一时间删除,而是在使用的时候,以在其中写入数据,覆盖原有数据的方式进行删除。
上述内容说明了视频数据的存储过程,下面对图像数据的存储过程进行说明。
如图4所示,具体的,本申请所提供的方法中,若待存储数据为待存储的图像数据,则步骤依据属性值,将属性值相同的待存储数据依次存储在存储数据块中包括:
获取每个待存储的图像数据的属性值;
将属性值相同或相近的待存储的图像数据均存储在同一个存储数据块中,并将图像数据的存储位置写入索引文件中。
与前文中类似的,属性值可以是照片拍摄的时间,拍摄的地点、拍摄照片的相机等等信息。在进行存储的时候,用户可以依据自身的需求,将同一个相机拍摄的照片存储在同一个存储数据块中,或者是将针对同一个区域进行拍摄而生成的照片存储在同一个存储数据块中等等,具体的存储方式,用户可以根据具体情况进行调节。
进一步,若待存储数据为待存储的图像数据,则步骤依据属性值,将属性值相同的待存储数据依次存储在存储数据块中还包括:
根据存储在存储数据块中的图像数据的属性值,将多个第三目标存储数据块存储在同一个文件夹中;其中,存储在同一个文件夹中的第三目标数据块中的图像数据的属性值相近。图4中
也就是将存储数据块在进行聚合,将相似的存储数据块放在同一个文件夹中。图4中的桶就相当于上述的文件夹。
综合来看,本申请所提供的方法,具有如下优点:
1,利用图片打包和实时视频分片的方法,合理的设置打包和分片大与视频文件匹配,可以实现一套存储系统存储实时视频数据、图片数据以及视频文件的统一高效存储;
2,通过有效的文件均匀策略,提升存储系统海量文件的访问效率(采用图片打包和视频大分片使得文件数量减少很多,但是相对还是比较多);
3,块循环利用技术避免在存储空间频繁申请和释放,提升存储系统的性能。
下面提供了一个简单的视频帧读取过程,具体的,本申请所提供的方法,还包括:
获取读取指令,读取指令中携带有录制时间;
在元数据中,查找与录制时间相对应的待读取的视频帧的存储位置;
按照待读取的视频帧的存储位置读取相应的数据。
读取图像数据的方式类似,区别在于接收到读取指令后,应当在索引文件中查找与读取指令中的属性值相对应的图像数据的存储位置,进而找到对应的图像数据。
与前述的针对实时视频数据和图像数据进行存储的方法相对应的,本申请还提供了针对实时视频数据和图像数据进行存储的系统,所述针对实时视频数据和图像数据进行存储的系统作用于复合存储系统,所述复合存储系统包括:多个文件夹,每个文件夹中均携带有多个存储数据块;任意的一个所述存储数据块只用于存储实时视频数据,或只用于存储图像数据;存储在同一个存储数据块中的多个图像数据,或多个实时视频数据均具有相同或相近的属性值;每个所述文件夹中所携带的存储数据块的数量相近,且每个存储数据块所占用的存储空间均相同或相近;
所述针对实时视频数据和图像数据进行读取的系统包括:
获取模块,用于获取待存储数据和描述所述待存储数据的属性的属性值,所述待存储数据为实时视频数据,或图像数据;
存储模块,用于依据所述属性值,将属性值相同的待存储数据依次存储在存储数据块中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (9)

1.针对实时视频数据和图像数据进行存储的方法,其特征在于,所述方法作用于复合存储系统,所述复合存储系统包括:多个文件夹,每个文件夹中均携带有多个存储数据块;任意的一个所述存储数据块只用于存储实时视频数据,或只用于存储图像数据;存储在同一个存储数据块中的多个图像数据,或多个实时视频数据均具有相同或相近的属性值;每个所述文件夹中所携带的存储数据块的数量相近,且每个存储数据块所占用的存储空间均相同或相近;
所述方法包括:
获取待存储数据和描述所述待存储数据的属性的属性值,所述待存储数据为实时视频数据,或图像数据;
依据所述属性值,将属性值相同或相近的待存储数据依次存储在存储数据块中;
若所述待存储数据为待存储的实时视频数据,则步骤所述依据所述属性值,将属性值相同的待存储数据依次存储在存储数据块中包括:
查找与所述待存储的实时视频数据相对应的元数据,所述元数据中携带有已存储到存储数据块中的实时视频数据的存储位置和录制时间;
若录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中剩余有存储空间,则调取所述第一目标存储数据块;
按照所述待存储数据中视频帧的录制时间,将所述视频帧依次顺序存储在所述第一目标存储数据块中,并将所述视频帧的存储位置和录制时间写入所述元数据中;
在将视频帧依次顺序存储在所述第一目标存储数据块中时,若所述所述第一目标存储数据块中未剩余存储空间,则重新申请数据存储模块,并将所述待存储数据中剩余的视频帧依次顺序存储在重新申请的数据存储模块中。
2.根据权利要求1所述的方法,其特征在于,所述复合存储系统由多个文件存储层级构成,且每个文件存储层级由多个所述文件夹构成,最底层的文件存储层级中的底层文件夹下携带有所述存储数据块;且每个上级文件夹下均携带有下级文件夹,每个上级文件夹下的下级文件夹的数量均相同或相近,每个所述底层文件夹下的存储数据块的数量相同或相近。
3.根据权利要求1所述的方法,其特征在于,若所述待存储数据为待存储的实时视频数据,则步骤所述依据所述属性值,将属性值相同的待存储数据依次存储在存储数据块中还包括:
若录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中没有剩余的存储空间,则调取空闲数据块作为新存储数据块,所述空闲数据块中所携带的数据均为失效数据,或所述空闲数据块中没有记录数据;
按照所述待存储数据中视频帧的录制时间,将所述视频帧依次顺序存储在所述新存储数据块中,并将所述视频帧的存储位置和录制时间写入所述元数据中。
4.根据权利要求1所述的方法,其特征在于,步骤所述按照所述待存储数据中视频帧的录制时间,将所述视频帧依次顺序存储在所述第一目标存储数据块中包括:
在将所述视频帧存储在所述第一目标存储数据块的过程中,当所述目标存储数据块中已经写满有效数据,且仍有所述视频帧没有写入所述第一目标存储数据块中,则调取空闲数据块作为第二目标存储数据块,所述空闲数据块中所携带的数据均为失效数据,或所述空闲数据块中没有记录数据;
将所述视频帧中,没有写入所述第一目标存储数据块的部分,按照视频帧的录制时间的顺序,写入所述第二目标存储数据块中。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取租赁状态的存储数据块的租赁起始时间和租赁周期;
根据租赁起始时间、租赁周期和当前时间,计算租赁状态的存储数据块是否过期;
若是,则将租赁状态的存储数据块设置为空闲数据块。
6.根据权利要求1所述的方法,其特征在于,若所述待存储数据为待存储的图像数据,则步骤所述依据所述属性值,将属性值相同的待存储数据依次存储在存储数据块中包括:
获取每个待存储的图像数据的属性值;
将属性值相同或相近的待存储的图像数据均存储在同一个存储数据块中,并将所述图像数据的存储位置写入索引文件中。
7.根据权利要求6所述的方法,其特征在于,若所述待存储数据为待存储的图像数据,则步骤所述依据所述属性值,将属性值相同的待存储数据依次存储在存储数据块中还包括:
根据存储在存储数据块中的图像数据的属性值,将多个第三目标存储数据块存储在同一个文件夹中;其中,存储在同一个文件夹中的第三目标数据块中的图像数据的属性值相近。
8.根据权利要求1所述的方法,其特征在于,还包括:
获取读取指令,所述读取指令中携带有录制时间;
在所述元数据中,查找与所述录制时间相对应的待读取的视频帧的存储位置;
按照所述待读取的视频帧的存储位置读取相应的数据。
9.针对实时视频数据和图像数据进行存储的系统,其特征在于,所述针对实时视频数据和图像数据进行存储的系统作用于复合存储系统,所述复合存储系统包括:多个文件夹,每个文件夹中均携带有多个存储数据块;任意的一个所述存储数据块只用于存储实时视频数据,或只用于存储图像数据;存储在同一个存储数据块中的多个图像数据,或多个实时视频数据均具有相同或相近的属性值;每个所述文件夹中所携带的存储数据块的数量相近,且每个存储数据块所占用的存储空间均相同或相近;
所述针对实时视频数据和图像数据进行读取的系统包括:
获取模块,用于获取待存储数据和描述所述待存储数据的属性的属性值,所述待存储数据为实时视频数据,或图像数据;
存储模块,用于依据所述属性值,将属性值相同的待存储数据依次存储在存储数据块中。
CN201611218955.XA 2016-12-26 2016-12-26 针对实时视频数据和图像数据进行存储的方法及系统 Active CN106599292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611218955.XA CN106599292B (zh) 2016-12-26 2016-12-26 针对实时视频数据和图像数据进行存储的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611218955.XA CN106599292B (zh) 2016-12-26 2016-12-26 针对实时视频数据和图像数据进行存储的方法及系统

Publications (2)

Publication Number Publication Date
CN106599292A CN106599292A (zh) 2017-04-26
CN106599292B true CN106599292B (zh) 2020-05-15

Family

ID=58604029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611218955.XA Active CN106599292B (zh) 2016-12-26 2016-12-26 针对实时视频数据和图像数据进行存储的方法及系统

Country Status (1)

Country Link
CN (1) CN106599292B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737389B (zh) * 2018-07-19 2023-05-16 杭州海康威视系统技术有限公司 存储数据的方法和装置
CN110008179B (zh) * 2019-04-02 2023-06-16 深圳创维汽车智能有限公司 文件存储方法、行车记录仪及可读存储介质
CN113127415B (zh) * 2019-12-31 2024-02-27 浙江宇视科技有限公司 实时流文件的处理方法、装置、介质及电子设备
CN112434049A (zh) * 2021-01-27 2021-03-02 浙江大华技术股份有限公司 表格数据存储方法、装置、存储介质及电子装置
CN114430469A (zh) * 2022-04-01 2022-05-03 浙江大华技术股份有限公司 视频数据存储方法、读取方法、电子设备和可读存储介质
CN115037773A (zh) * 2022-07-28 2022-09-09 中兴(温州)轨道通讯技术有限公司 一种传输稳定的轨道交通通信系统
CN116521094B (zh) * 2023-07-03 2023-11-14 之江实验室 一种元数据存储方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020255A (zh) * 2012-12-21 2013-04-03 华为技术有限公司 分级存储方法和装置
CN103399875A (zh) * 2013-07-12 2013-11-20 深圳市金立通信设备有限公司 一种文件管理的方法及装置
CN104090891A (zh) * 2013-12-12 2014-10-08 深圳市腾讯计算机系统有限公司 数据处理方法、装置、数据处理服务器及系统
CN104346357A (zh) * 2013-07-29 2015-02-11 中国科学院声学研究所 一种嵌入式终端的文件存取方法及系统
CN105389376A (zh) * 2015-11-18 2016-03-09 武汉微创光电股份有限公司 基于连续块的无碎片化多媒体数据存储方法及系统
CN105786714A (zh) * 2016-03-31 2016-07-20 北京奇虎科技有限公司 进程检测方法及装置
CN105915595A (zh) * 2016-04-11 2016-08-31 深圳市瑞驰信息技术有限公司 一种集群存储系统存取数据的方法以及集群存储系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281651B (zh) * 2014-09-16 2018-05-04 福建星网物联信息系统有限公司 一种海量视频数据检索的方法及其系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020255A (zh) * 2012-12-21 2013-04-03 华为技术有限公司 分级存储方法和装置
CN103399875A (zh) * 2013-07-12 2013-11-20 深圳市金立通信设备有限公司 一种文件管理的方法及装置
CN104346357A (zh) * 2013-07-29 2015-02-11 中国科学院声学研究所 一种嵌入式终端的文件存取方法及系统
CN104090891A (zh) * 2013-12-12 2014-10-08 深圳市腾讯计算机系统有限公司 数据处理方法、装置、数据处理服务器及系统
CN105389376A (zh) * 2015-11-18 2016-03-09 武汉微创光电股份有限公司 基于连续块的无碎片化多媒体数据存储方法及系统
CN105786714A (zh) * 2016-03-31 2016-07-20 北京奇虎科技有限公司 进程检测方法及装置
CN105915595A (zh) * 2016-04-11 2016-08-31 深圳市瑞驰信息技术有限公司 一种集群存储系统存取数据的方法以及集群存储系统

Also Published As

Publication number Publication date
CN106599292A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
CN106599292B (zh) 针对实时视频数据和图像数据进行存储的方法及系统
US10430398B2 (en) Data storage system having mutable objects incorporating time
US10353621B1 (en) File block addressing for backups
CN106484906B (zh) 一种分布式对象存储系统闪回方法及装置
US8606751B1 (en) System and method for backup by inode number
US8010505B2 (en) Efficient backup data retrieval
CN104834713A (zh) 对终端设备的图像数据进行存储及传输处理的方法及系统
CN108021717B (zh) 一种轻量级嵌入式文件系统的实现方法
KR20130108298A (ko) 폐기가능 파일들의 카드-기반 관리
US11625412B2 (en) Storing data items and identifying stored data items
US11250888B1 (en) Flash memory and method for storing and retrieving embedded audio video data
US20190087437A1 (en) Scheduling database compaction in ip drives
CN109522283A (zh) 一种重复数据删除方法及系统
EP3944556B1 (en) Block data storage method and apparatus, and block data access method and apparatus
CN107249135A (zh) 视频数据存储系统及其操作方法、以及索引服务器
CN110888837A (zh) 对象存储小文件归并方法及装置
US10423580B2 (en) Storage and compression of an aggregation file
CN114168540A (zh) 文件索引信息处理方法、装置、电子设备及存储介质
CN113448946B (zh) 数据迁移方法及装置、电子设备
TWI420333B (zh) 分散式的重複數據刪除系統及其處理方法
CN106998436B (zh) 录像备份方法及装置
CN109213444A (zh) 文件存储方法及装置、存储介质、终端
CN103905694A (zh) 一种关键帧处理方法及系统
CN114265828A (zh) 行迁移消除方法、装置、计算机设备和存储介质
CN109669623A (zh) 一种文件管理方法、文件管理装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20220726

Granted publication date: 20200515