针对实时视频数据和图像数据进行存储的方法及系统技术领域
本发明涉及数据存储领域,具体而言,涉及针对实时视频数据和图像数据进行存
储的方法及系统。
背景技术
随着社会安全需求的提高,在市内的不同位置上设置了大量的监控装置,这些监
控装置均通过有线或无线的方式与监控服务器进行连接,以便于将其拍摄到的监控画面上
传至监控服务器,进而用户可以通过登录监控服务器的方式来浏览市内不同的位置的监控
画面。
市内安装的监控装置之间有一定的差别,主要体现在监控装置对环境进行监控拍
摄后所生成的监控数据不同。从生成的监控数据的种类上来看,可以将监控数据分为两种,
第一种是视频数据,第二种是图像数据。通常视频数据占用的存储空间较大,图像数据占用
的存储空间较小。从生成的监控数据的质量上来看,可以将监控数据分为两种或多种,如可
以分为低分辨率数据、中分辨率数据和高分辨率数据。
在对这些数据进行存储的时候,通常采用杂乱的方式进行存储,但这种存储方式
直接导致用户在需要查找数据的时候,难以快速的定位到对应的数据,也难以快速的将对
应的数据提取出来。
发明内容
本发明的目的在于提供针对实时视频数据和图像数据进行存储的方法和系统,以
提高文件的读取速度。
第一方面,本发明实施例提供了针对实时视频数据和图像数据进行存储的方法,
方法作用于复合存储系统,复合存储系统包括:多个文件夹,每个文件夹中均携带有多个存
储数据块;任意的一个存储数据块只用于存储实时视频数据,或只用于存储图像数据;存储
在同一个存储数据块中的多个图像数据,或多个实时视频数据均具有相同或相近的属性
值;每个文件夹中所携带的存储数据块的数量相近,且每个存储数据块所占用的存储空间
均相同或相近;
方法包括:
获取待存储数据和描述待存储数据的属性的属性值,待存储数据为实时视频数
据,或图像数据;
依据属性值,将属性值相同的待存储数据依次存储在存储数据块中。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,复
合存储系统由多个文件存储层级构成,且每个文件存储层级由多个文件夹构成,最底层的
文件存储层级中的底层文件夹下携带有存储数据块;且每个上级文件夹下均携带有下级文
件夹,每个上级文件夹下的下级文件夹的数量均相同或相近,每个底层文件夹下的存储数
据块的数量相同或相近。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,若
待存储数据为待存储的实时视频数据,则步骤依据属性值,将属性值相同的待存储数据依
次存储在存储数据块中包括:
查找与待存储的实时视频数据相对应的元数据,元数据中携带有已存储到存储数
据块中的实时视频数据的存储位置和录制时间;
若录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中剩余有
存储空间,则调取第一目标存储数据块;
按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在第一目标存储数
据块中,并将视频帧的存储位置和录制时间写入元数据中。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,若
待存储数据为待存储的实时视频数据,则步骤依据属性值,将属性值相同的待存储数据依
次存储在存储数据块中还包括:
若录制时间距离当前最近的实时视频数据所在的第一目标存储数据块中没有剩
余的存储空间,则调取空闲数据块作为新存储数据块,空闲数据块中所携带的数据均为失
效数据,或空闲数据块中没有记录数据;
按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在新存储数据块
中,并将视频帧的存储位置和录制时间写入元数据中。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,步
骤按照待存储数据中视频帧的录制时间,将视频帧依次顺序存储在第一目标存储数据块中
包括:
在将视频帧存储在第一目标存储数据块的过程中,当目标存储数据块中已经写满
有效数据,且仍有视频帧没有写入第一目标存储数据块中,则调取空闲数据块作为第二目
标存储数据块,空闲数据块中所携带的数据均为失效数据,或空闲数据块中没有记录数据;
将视频帧中,没有写入第一目标存储数据块的部分,按照视频帧的录制时间的顺
序,写入第二目标存储数据块中。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,还
包括:
获取租赁状态的存储数据块的租赁起始时间和租赁周期;
根据租赁起始时间、租赁周期和当前时间,计算租赁状态的存储数据块是否过期;
若是,则将租赁状态的存储数据块设置为空闲数据块。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,若
待存储数据为待存储的图像数据,则步骤依据属性值,将属性值相同的待存储数据依次存
储在存储数据块中包括:
获取每个待存储的图像数据的属性值;
将属性值相同或相近的待存储的图像数据均存储在同一个存储数据块中,并将图
像数据的存储位置写入索引文件中。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,若
待存储数据为待存储的图像数据,则步骤依据属性值,将属性值相同的待存储数据依次存
储在存储数据块中还包括:
根据存储在存储数据块中的图像数据的属性值,将多个第三目标存储数据块存储
在同一个文件夹中;其中,存储在同一个文件夹中的第三目标数据块中的图像数据的属性
值相近。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,还
包括:
获取读取指令,读取指令中携带有录制时间;
在元数据中,查找与录制时间相对应的待读取的视频帧的存储位置;
按照待读取的视频帧的存储位置读取相应的数据。
第二方面,本发明实施例还提供了针对实时视频数据和图像数据进行存储的系
统,针对实时视频数据和图像数据进行存储的系统作用于复合存储系统,所述复合存储系
统包括:多个文件夹,每个文件夹中均携带有多个存储数据块;任意的一个所述存储数据块
只用于存储实时视频数据,或只用于存储图像数据;存储在同一个存储数据块中的多个图
像数据,或多个实时视频数据均具有相同或相近的属性值;每个所述文件夹中所携带的存
储数据块的数量相近,且每个存储数据块所占用的存储空间均相同或相近;
针对实时视频数据和图像数据进行读取的系统包括:
获取模块,用于获取待存储数据和描述待存储数据的属性的属性值,待存储数据
为实时视频数据,或图像数据;
存储模块,用于依据属性值,将属性值相同的待存储数据依次存储在存储数据块
中。
本发明实施例提供的针对实时视频数据和图像数据进行存储的方法,采用设置了
独特的复合存储系统的方式,与现有技术中的杂乱的对实时视频数据和图像数据进行存
储,导致查找视频数据十分繁琐、耗时相比,其通过设置了复合存储系统,且该符合存储系
统中的每个文件夹中写了数量大致相近的文件,并且每个存储数据块(文件的一种)所占用
的存储空间均相同,并且用户在将需要存储的数据,按照数据的属性值的相似程度进行存
储,使得在读取数据的时候,能够针对性的快速找到数据,并且文件夹中的数据量大致相
同,使得数据均匀分布在了复合存储系统中,避免了文件分布不均导致的检索、读取缓慢的
问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合
所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对
范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
图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)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵
盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。