CN104699416B - 一种数据存储***以及一种数据存储方法 - Google Patents

一种数据存储***以及一种数据存储方法 Download PDF

Info

Publication number
CN104699416B
CN104699416B CN201310667616.XA CN201310667616A CN104699416B CN 104699416 B CN104699416 B CN 104699416B CN 201310667616 A CN201310667616 A CN 201310667616A CN 104699416 B CN104699416 B CN 104699416B
Authority
CN
China
Prior art keywords
data
block
storage medium
write
data block
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
CN201310667616.XA
Other languages
English (en)
Other versions
CN104699416A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201310667616.XA priority Critical patent/CN104699416B/zh
Publication of CN104699416A publication Critical patent/CN104699416A/zh
Application granted granted Critical
Publication of CN104699416B publication Critical patent/CN104699416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据存储方法和***:将接入到***中的各存储介质分别进行格式化;其中,每个格式化后的存储介质中包括:主信息区和数据区,主信息区中包括N个信息块,数据区中包括N个数据块,N为正整数;每个信息块唯一对应一个数据块;当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。应用本发明所述方案,能够简化设计,降低实现复杂度。

Description

一种数据存储***以及一种数据存储方法
技术领域
本发明涉及数据处理技术,特别涉及一种数据存储***以及一种数据存储方法。
背景技术
现有的数据存储方式,大致可以分为两种,第一种是借用现有的文件***实现存储,第二种是设计专用的文件***实现存储。
对于第一种存储方式,目前常用的文件***主要有文件配置表(FAT,FileAllocation Table)、新技术文件***(NTFS,New Technology File System)和第三扩展文件***(ext3,Third Extended File System)等。这种存储方式对于数据量较少的小文件存储有着广泛的应用。
但是,在视频监控等场景中,需要存储的数据量通常会很大,从而对文件***的容量、扩展性、管理性、稳定性和效率性等方面均有较高的要求,如果仍采用第一种存储方式,将会导致存储不够灵活、检索效率和读写效率低等问题。
为此,现有技术中又提出了上述第二种存储方式,这种存储方式通常是参照现有的文件***定制实现,可以较好地解决上述第一种存储方式在大数据存储时的问题。但是,这种存储方式的设计通常都比较复杂,从而不便于实现。
发明内容
有鉴于此,本发明提供了一种数据存储***以及一种数据存储方法,能够简化设计,降低实现复杂度。
为了达到上述目的,本发明的技术方案是这样实现的:
一种数据存储***,包括:
磁盘管理器,用于将接入到***中的各存储介质分别进行格式化;
其中,每个格式化后的存储介质中包括:主信息区和数据区,所述主信息区中包括N个信息块,所述数据区中包括N个数据块,所述N为正整数;每个信息块唯一对应一个数据块;
业务接口管理器,用于当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;
读写任务处理器,用于将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。
一种数据存储方法,包括:
将接入到***中的各存储介质分别进行格式化;
其中,每个格式化后的存储介质中包括:主信息区和数据区,所述主信息区中包括N个信息块,所述数据区中包括N个数据块,所述N为正整数;每个信息块唯一对应一个数据块;
当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。
可见,采用本发明所述方案,设计了一种简单的存储格式来进行数据存储,从而相比于现有技术简化了设计,降低了方案的实现复杂度。
附图说明
图1为本发明数据存储***实施例的组成结构示意图。
图2为本发明格式化后的存储介质中包括的各分区的示意图。
图3为本发明数据存储方法实施例的流程图。
具体实施方式
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
图1为本发明数据存储***实施例的组成结构示意图。如图1所示,包括:存储介质、磁盘管理器、业务接口管理器和读写任务处理器,另外还可进一步包括:数据块管理器、数据库和数据索引管理器等。
所述存储介质可为磁盘等。
以下以视频监控场景为例,对图1所示各组成部分的功能分别进行详细介绍,相应地,所存储的数据为视频数据。
一)磁盘管理器
磁盘管理器,用于将接入到***中的各存储介质分别进行格式化。
每个格式化后的存储介质中包括:主信息区和数据区,另外还可进一步包括存储介质头和备份信息区。
图2为本发明格式化后的存储介质中包括的各分区的示意图。如图2所示,主信息区中包括N个信息块,数据区中包括N个数据块,N为正整数,通常远大于1;每个信息块唯一对应一个数据块,即信息块1对应数据块1,信息块2对应数据块2,依此类推。
其中,存储介质头:包括一个控制块,用于记录所在存储介质的基本信息,如:所在存储介质的标识(ID)、所在存储介质中的信息块大小、所在存储介质中的信息块个数、所在存储介质中的数据块大小、所在存储介质中的数据块个数、所在存储介质中的数据区起始地址,以及所在存储介质中存储的总I帧数量等。
主信息区:此分区等分为N个信息块,每个信息块用于记录对应的数据块中的数据的附属信息,如:存储地址、开始时间、结束时间和I帧数量等。
数据区:此分区等分为N个数据块,用于进行实际的视频数据存储。
备份信息区:用于对存储介质头以及主信息区中的信息进行备份,格式和内容均与存储介质头以及主信息区中一致;由于存储介质头和主信息区位于存储介质的头部,而备份信息区位于存储介质的尾部,相距较远,因此,当存储介质头或主信息区中的信息因坏道等而发生损坏或丢失时,可利用备份信息区中的备份信息进行恢复,从而提高了数据的安全性,如何进行恢复为现有技术。
根据实际应用场景的不同,对于不同的存储介质来说,其中的控制块、信息块和数据块的大小可能相同,也可能不同。比如:存储介质1用于存储图片,其中的控制块、信息块和数据块的大小可依次为:32k、64k、32M;存储介质2用于存储视频,则其中的控制块、信息块和数据块的大小可依次为:32k、32k、64M。
举例说明如何对存储介质进行格式化:
假设待格式化的存储介质为一个16TB的存储介质,并假设控制块和信息块的大小均为32kB,数据块的大小为64MB;
那么则有:(32kB+n*32kB)*2+n*64MB=16TB,解方程得出n=261888,即为数据块的个数;
相应地,可按照1个控制块、261888个信息块、261888个数据块的方式,对存储介质进行分块等处理。
在实际应用中,磁盘管理器可扫描***中已经挂载的所有存储介质,并可维护两个链表,为便于表述,分别将其称为第一链表和第二链表。其中,第一链表用于记录已进行格式化的存储介质,第二链表用于记录未进行格式化的存储介质,并且,可在链表中记录每个存储介质的关键信息,如总容量、剩余容量(根据实际使用情况进行相应更新)等。
另外,磁盘管理器还可对各存储介质的状态进行实时监控,一旦发生变化,则可通过业务接口管理器通知给用户,并可在自身进行记录。
比如:当有一个新的存储介质接入***时,则可通知用户该新的存储介质接入***;当有一个存储介质退出***时,则可通知用户该存储介质退出***;当有一个存储介质正在进行格式化时,则可通知用户正在对该存储介质进行格式化。
相应地,需要根据各存储介质的状态变化来对两个链表进行更新。比如,当有一个新的存储介质接入***时,则需要将其加入到第二链表中,当对其进行格式化后,则需要将其从第二链表中删除,并加入到第一链表中。
二)数据块管理器
为了提高处理效率,本发明所述方案中,可针对每个存储介质,分别利用一个状态位图(BitMap)来记录该存储介质中的各数据块的存储状态。假设某一存储介质中的数据块的个数为261888个,按照状态位图的记录方式,将只需要261888/8=32736Byte的存储空间,而如果用通常的整形来表示,则需要占用4倍的存储空间,因此状态位图的使用可以极大地节省存储空间,另外,可将状态位图加载到内存中。
具体来说,数据块管理器,用于针对每个存储介质,分别利用一个状态位图来记录该存储介质中的各数据块的存储状态;其中,如果一数据块中未写入数据,则在状态位图中将其记录为1,否则,记录为0;或者,如果一数据块中未写入数据,则在状态位图中将其记录为0,否则,记录为1。
在实际应用中,会根据各数据块的实际使用情况,对状态位图进行相应的更新,比如,某一数据块中原来未写入数据,相应地,可在状态位图中将其记录为0,当写入数据后,则需要在状态位图中将其记录为1。
另外,数据块管理器还可分别统计并记录各存储介质的关键信息,如:控制块信息、剩余块数等。
用户可通过业务接口管理器来查看数据块管理器和磁盘管理器上记录的相关信息。
三)数据库和数据索引管理器
数据索引管理器,用于在数据库中建立并维护***中所存储的数据的索引信息,所以索引信息的具体形式等不作限制。
另外,数据索引管理器还可进一步用于,当确定存在已经写入数据、但未写满的数据块时,将该数据块及其剩余空间记录到数据库中。
四)业务接口管理器和读写任务处理器
业务接口管理器,用于当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;
相应地,读写任务处理器,用于将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。
所述写请求的具体处理流程可如下1)~6)所示。
1)业务接口管理器接收来自用户的写数据请求。
2)分配可用于写入数据的存储介质:
业务接口管理器可通过空间分配策略(可以是集中分配,也可以是分散分配,视实际需要而定)来决定将需要写入的数据写入到哪个/哪些存储介质上;
具体来说,可通过查询磁盘管理器来分配可用于写入数据的存储介质,如可选择一个剩余空间最大的存储介质,将其作为所分配的可用于写入数据的存储介质。
3)分配可用于写入数据的数据块:
本步骤可以有以下两种实现方式:
方式一(不考虑未写满的数据块)
业务接口管理器将所分配的存储介质以及需要写入的数据量大小通知给数据块管理器;
数据块管理器根据所分配的存储介质对应的状态位图,确定其中未写入数据的数据块,并按照需要写入的数据量大小,从未写入数据的数据块中选出M个数据块,作为所分配的可用于写入数据的数据块,并通知给业务接口管理器,M为正整数,具体取值视需要写入的数据量大小以及每个数据块的大小而定。
其中,数据块管理器可按照就近原则进行数据块的选择。
所述就近原则可举例说明如下:
假设某一存储介质中共存在10个数据块,这10个数据块的存储状态用状态位图表示为:1111111000,0表示未写入数据;也就是说,数据块1~数据块7中均已写入数据,数据块8~10中还未写入数据;
假设只需要分配一个数据块,那么则将数据块8分配出去。
方式二(考虑未写满的数据块)
业务接口管理器在将所分配的存储介质以及需要写入的数据量大小通知给数据块管理器之前,可先进行以下处理:通知数据索引管理器查找所分配的存储介质中是否存在未写满的数据块;如果是,则可根据需要写入的数据量大小以及未写满的数据块的剩余空间大小,按照优先使用未写满的数据块、其次使用未写入数据的数据块的原则,分配可用于写入数据的数据块;
相应地,数据索引管理器可通过查询数据库,确定所分配的存储介质中是否存在未写满的数据块,并将确定结果返回给业务接口管理器。
举例说明:
假设需要写入的数据量大小为4MB,每个数据块的大小为16MB,存在一个未写满的数据块,其剩余空间为4MB,那么则可仅将该未写满的数据块作为所分配的可用于写入数据的数据块;
假设需要写入的数据量大小为20MB,每个数据块的大小为16MB,存在一个未写满的数据块,其剩余空间为4MB,那么可将该未写满的数据块作为所分配的可用于写入数据的数据块,并向数据块管理器请求一个未写入数据的数据块(即剩余空间为16MB),将该未写入数据的数据块也作为所分配的可用于写入数据的数据块。
4)业务接口管理器通知读写任务处理器进行写数据操作。
5)读写任务处理器将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中,数据索引管理器更新数据库。
6)写入完毕,读写任务处理器通知业务接口管理器,业务接口管理器进一步通知用户。
以上介绍的是如何写入数据,在实际应用中,用户还会有读取数据的需求,相应地,
业务接口管理器可进一步用于,当接收到读数据请求时,通知数据索引管理器查找需要读取的数据所在的存储介质和数据块,并接收数据索引管理器返回的查找结果;
读写任务处理器可进一步用于,从需要读取的数据所在的存储介质的数据块中读取出需要读取的数据,并返回给业务接口管理器,由业务接口管理器返回给用户;
数据索引管理器可进一步用于,根据数据库中的索引信息,查找出需要读取的数据所在的存储介质和数据块,并返回给业务接口管理器。
所述读请求的具体处理流程可如下1)~4)所示。
1)业务接口管理器接收来自用户的读数据请求。
2)业务接口管理器通知数据索引管理器查找需要读取的数据所在的存储介质和数据块;数据索引管理器根据数据库中的索引信息,查找出需要读取的数据所在的存储介质和数据块,并将查找结果返回给业务接口管理器。
3)业务接口管理器通知读写任务处理器进行读数据操作。
4)读写任务处理器从查找结果中读取出需要读取的数据,并返回给业务接口管理器,由业务接口管理器进一步返回给用户。
在实际应用中,读写任务处理器在将需要写入的数据写入到所分配的存储介质的数据块中的同时,还可将需要写入的数据缓存到预先建立的缓存区中;当缓存区已满时,可按照先进先出的原则删除所缓存的数据;这样,当接收到读数据请求时,如果需要读取的数据缓存在缓存区中,则可从缓存区中进行读取,而不用去存储介质中进行读取,从而提高了数据读取效率。
另外,读写任务处理器可采用异步写数据的方式向数据块中写入数据;类似地,可采用异步读数据的方式从数据块中读取数据。
相应地,读写任务处理器可将读写操作均作为任务提交,在一处专门等待读写操作的完成,当接收到任务完成的通知后,告知业务接口管理器操作完成。通过异步读写数据的方式,可大大提高数据读写的效率。
针对同一数据块,本发明所述方案中可支持一写多读,即同一时刻只能有一个写操作,但可以有多个读操作。
当需要删除某一数据块中的数据时,需要相应地对该数据块对应的信息块以及状态位图进行更新,这样,该数据块即可被重新分配。
具体需要删除哪些数据可由用户来定,用户可通过业务接口管理器以及数据索引管理器查找到需要删除的数据所在的存储介质和数据块,并由业务接口管理器来通知数据块管理器释放相应的数据块的存储空间。
而且,无需等待用户需要删除的数据均删除完毕,即可向已释放的数据块的存储空间中写入新的数据。
举例说明:
用户需要删除2013年11月7日13~14点的一段视频监控数据,假设该段数据占用了三个数据块,分别为数据块A、数据块B和数据块C,且这三个数据块位于同一存储介质上;并假设按照数据块A、数据块B和数据块C的顺序依次释放各数据块的存储空间,那么,当数据块A的存储空间释放完毕之后,即可向数据块A中写入新的数据,而无需等到数据块B和数据块C的存储空间也释放完毕。
基于上述介绍,本发明同时公开了一种数据存储方法。
图3为本发明数据存储方法实施例的流程图。如图3所示,包括:
步骤31:将接入到***中的各存储介质分别进行格式化;
其中,每个格式化后的存储介质中包括:主信息区和数据区,主信息区中包括N个信息块,数据区中包括N个数据块,N为正整数;每个信息块唯一对应一个数据块。
此外,每个格式化后的存储介质中还可进一步包括:存储介质头和备份信息区;
存储介质头用于记录所在存储介质的基本信息;
备份信息区用于对存储介质头以及主信息区中的信息进行备份。
步骤32:当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。
在实际应用中,可针对每个存储介质,分别利用一个状态位图来记录该存储介质中的各数据块的存储状态;其中,如果一数据块中未写入数据,则在状态位图中将其记录为1,否则,记录为0;或者,如果一数据块中未写入数据,则在状态位图中将其记录为0,否则,记录为1;
相应地,所述分配可用于写入数据的存储介质和数据块的方式可为:分配可用于写入数据的存储介质;根据所分配的存储介质对应的状态位图,确定其中未写入数据的数据块,并按照需要写入的数据量大小,从未写入数据的数据块中选出M个数据块,作为所分配的可用于写入数据的数据块,M为正整数。
较佳地,可按照就近原则,从未写入数据的数据块中选出M个数据块。
所述分配可用于写入数据的存储介质和数据块的方式还可为:分配可用于写入数据的存储介质;确定所分配的存储介质中是否存在已经写入数据、但未写满的数据块,如果是,则根据需要写入的数据量大小以及未写满的数据块的剩余空间大小,按照优先使用未写满的数据块、其次使用未写入数据的数据块的原则,分配可用于写入数据的数据块。
该方法还可进一步包括:建立并维护***中所存储的数据的索引信息;
当接收到读数据请求时,根据索引信息确定需要读取的数据所在的存储介质和数据块,并从需要读取的数据所在的存储介质的数据块中读取出需要读取的数据。
此外,该方法还可进一步包括:在将需要写入的数据写入到所分配的存储介质的数据块中的同时,将需要写入的数据缓存到预先建立的缓存区中;当缓存区已满时,按照先进先出的原则删除所缓存的数据;当接收到读数据请求时,如果需要读取的数据缓存在缓存区中,则从缓存区中进行读取。
较佳地,可采用异步写数据的方式向数据块中写入数据;类似地,可采用异步读数据的方式从数据块中读取数据。
总之,采用本发明所述方案,设计了一种简单的存储格式来进行数据的存储,从而相比于现有技术简化了设计,降低了方案的实现复杂度;而且,利用状态位图,可实现数据块的存储空间的快速分配和释放;另外,通过建立索引信息等,可实现数据的快速定位和读写,从而提高了***的存储效率和性能;再有,通过采用备份机制,保证了数据的安全性,减少了数据丢失的可能性;还有,本发明所述方案具有较好的可扩展性和通用性,可适用于各种不同类型的数据的存储,针对不同类型的数据,只需要相应地调整信息块中的内容以及索引信息的形式等即可。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种数据存储***,其特征在于,包括:
磁盘管理器,用于将接入到***中的各存储介质分别进行格式化;
其中,每个格式化后的存储介质中包括:主信息区和数据区,所述主信息区中包括N个信息块,所述数据区中包括N个数据块,所述N为正整数;每个信息块唯一对应一个数据块;
业务接口管理器,用于当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;
读写任务处理器,用于将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。
2.根据权利要求1所述的***,其特征在于,
每个格式化后的存储介质中进一步包括:存储介质头和备份信息区;
所述存储介质头用于记录所在存储介质的基本信息;
所述备份信息区用于对所述存储介质头以及所述主信息区中的信息进行备份。
3.根据权利要求1所述的***,其特征在于,
所述磁盘管理器进一步用于,对各存储介质的状态进行实时监控,一旦发生变化,则通过所述业务接口管理器通知给用户。
4.根据权利要求1所述的***,其特征在于,
所述***中进一步包括:数据块管理器;
所述磁盘管理器进一步用于,记录各存储介质的剩余空间;
所述数据块管理器,用于针对每个存储介质,分别利用一个状态位图来记录该存储介质中的各数据块的存储状态;其中,如果一数据块中未写入数据,则在所述状态位图中将其记录为1,否则,记录为0;或者,如果一数据块中未写入数据,则在所述状态位图中将其记录为0,否则,记录为1;
所述业务接口管理器进一步用于,通过查询所述磁盘管理器来分配可用于写入数据的存储介质,并将所分配的存储介质以及需要写入的数据量大小通知给所述数据块管理器;
所述数据块管理器进一步用于,根据所分配的存储介质对应的状态位图,确定其中未写入数据的数据块,并按照需要写入的数据量大小,从未写入数据的数据块中选出M个数据块,作为所分配的可用于写入数据的数据块,并通知给所述业务接口管理器,所述M为正整数。
5.根据权利要求4所述的***,其特征在于,所述数据块管理器按照就近原则进行数据块的选择。
6.根据权利要求4所述的***,其特征在于,
所述***中进一步包括:数据库和数据索引管理器;
所述数据索引管理器,用于当确定存在已经写入数据、但未写满的数据块时,将该数据块及其剩余空间记录到所述数据库中;
所述业务接口管理器进一步用于,在将所分配的存储介质以及需要写入的数据量大小通知给所述数据块管理器之前,通知所述数据索引管理器查找所分配的存储介质中是否存在未写满的数据块,如果是,则根据需要写入的数据量大小以及未写满的数据块的剩余空间大小,按照优先使用未写满的数据块、其次使用未写入数据的数据块的原则,分配可用于写入数据的数据块;
所述数据索引管理器进一步用于,通过查询所述数据库,确定所分配的存储介质中是否存在未写满的数据块,并将确定结果返回给所述业务接口管理器。
7.根据权利要求1所述的***,其特征在于,
所述***中进一步包括:数据库和数据索引管理器;
所述数据索引管理器,用于在所述数据库中建立并维护***中所存储的数据的索引信息;
所述业务接口管理器进一步用于,当接收到读数据请求时,通知所述数据索引管理器查找需要读取的数据所在的存储介质和数据块,并接收所述数据索引管理器返回的查找结果;
所述读写任务处理器进一步用于,从需要读取的数据所在的存储介质的数据块中读取出需要读取的数据,并返回给所述业务接口管理器,由所述业务接口管理器返回给用户;
所述数据索引管理器进一步用于,根据所述数据库中的索引信息,查找出需要读取的数据所在的存储介质和数据块,并返回给所述业务接口管理器。
8.根据权利要求7所述的***,其特征在于,
所述读写任务处理器进一步用于,在将需要写入的数据写入到所分配的存储介质的数据块中的同时,将需要写入的数据缓存到预先建立的缓存区中;当所述缓存区已满时,按照先进先出的原则删除所缓存的数据;当接收到读数据请求时,如果需要读取的数据缓存在所述缓存区中,则从所述缓存区中进行读取。
9.根据权利要求7或8所述的***,其特征在于,
所述读写任务处理器采用异步写数据的方式向数据块中写入数据;
所述读写任务处理器采用异步读数据的方式从数据块中读取数据。
10.一种数据存储方法,其特征在于,包括:
将接入到***中的各存储介质分别进行格式化;
其中,每个格式化后的存储介质中包括:主信息区和数据区,所述主信息区中包括N个信息块,所述数据区中包括N个数据块,所述N为正整数;每个信息块唯一对应一个数据块;
当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。
11.根据权利要求10所述的方法,其特征在于,
每个格式化后的存储介质中进一步包括:存储介质头和备份信息区;
所述存储介质头用于记录所在存储介质的基本信息;
所述备份信息区用于对所述存储介质头以及所述主信息区中的信息进行备份。
12.根据权利要求10所述的方法,其特征在于,
该方法进一步包括:针对每个存储介质,分别利用一个状态位图来记录该存储介质中的各数据块的存储状态;其中,如果一数据块中未写入数据,则在所述状态位图中将其记录为1,否则,记录为0;或者,如果一数据块中未写入数据,则在所述状态位图中将其记录为0,否则,记录为1;
所述分配可用于写入数据的存储介质和数据块包括:分配可用于写入数据的存储介质;根据所分配的存储介质对应的状态位图,确定其中未写入数据的数据块,并按照需要写入的数据量大小,从未写入数据的数据块中选出M个数据块,作为所分配的可用于写入数据的数据块,所述M为正整数。
13.根据权利要求12所述的方法,其特征在于,
所述从未写入数据的数据块中选出M个数据块包括:按照就近原则,从未写入数据的数据块中选出M个数据块。
14.根据权利要求12所述的方法,其特征在于,
所述分配可用于写入数据的存储介质和数据块包括:分配可用于写入数据的存储介质;确定所分配的存储介质中是否存在已经写入数据、但未写满的数据块;如果是,则根据需要写入的数据量大小以及未写满的数据块的剩余空间大小,按照优先使用未写满的数据块、其次使用未写入数据的数据块的原则,分配可用于写入数据的数据块。
15.根据权利要求10所述的方法,其特征在于,
该方法进一步包括:建立并维护***中所存储的数据的索引信息;
当接收到读数据请求时,根据所述索引信息确定需要读取的数据所在的存储介质和数据块,并从需要读取的数据所在的存储介质的数据块中读取出需要读取的数据。
16.根据权利要求15所述的方法,其特征在于,
该方法进一步包括:在将需要写入的数据写入到所分配的存储介质的数据块中的同时,将需要写入的数据缓存到预先建立的缓存区中;当所述缓存区已满时,按照先进先出的原则删除所缓存的数据;当接收到读数据请求时,如果需要读取的数据缓存在所述缓存区中,则从所述缓存区中进行读取。
17.根据权利要求15或16所述的方法,其特征在于,
所述向数据块中写入数据包括:采用异步写数据的方式写入数据;
所述从数据块中读取数据包括:采用异步读数据的方式读取数据。
CN201310667616.XA 2013-12-10 2013-12-10 一种数据存储***以及一种数据存储方法 Active CN104699416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310667616.XA CN104699416B (zh) 2013-12-10 2013-12-10 一种数据存储***以及一种数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310667616.XA CN104699416B (zh) 2013-12-10 2013-12-10 一种数据存储***以及一种数据存储方法

Publications (2)

Publication Number Publication Date
CN104699416A CN104699416A (zh) 2015-06-10
CN104699416B true CN104699416B (zh) 2017-12-01

Family

ID=53346600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310667616.XA Active CN104699416B (zh) 2013-12-10 2013-12-10 一种数据存储***以及一种数据存储方法

Country Status (1)

Country Link
CN (1) CN104699416B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045725B (zh) * 2015-08-04 2018-10-26 Tcl移动通信科技(宁波)有限公司 一种移动终端多存储卡存储实现方法及***
CN106713940B (zh) * 2015-08-04 2019-12-20 杭州海康威视数字技术股份有限公司 视频流的存储方法、读取方法及装置
CN106648448B (zh) * 2015-11-04 2019-06-18 四川效率源信息安全技术股份有限公司 嵌入式安防设备的数据提取方法
CN105975291A (zh) * 2015-11-06 2016-09-28 乐视移动智能信息技术(北京)有限公司 一种对移动终端的存储器进行格式化的方法和装置
CN106406756B (zh) * 2016-09-05 2019-07-09 华为技术有限公司 一种文件***的空间分配方法及装置
CN108093016B (zh) 2016-11-23 2020-05-15 杭州海康威视数字技术股份有限公司 一种图片存储方法、装置及视频监控***
CN107122136B (zh) * 2017-04-25 2021-02-02 浙江宇视科技有限公司 一种容量获取方法及装置
CN107229422B (zh) * 2017-05-31 2020-05-26 苏州浪潮智能科技有限公司 数据处理方法和装置
CN109669621B (zh) * 2017-10-13 2021-05-25 杭州海康威视***技术有限公司 一种文件管理方法、文件管理***、电子设备及存储介质
CN108235101B (zh) * 2017-12-28 2021-04-16 深圳Tcl数字技术有限公司 智能电视初始化方法、智能电视以及计算机可读存储介质
CN109189337B (zh) * 2018-08-21 2021-12-17 浪潮电子信息产业股份有限公司 一种选择数据块的方法、装置、设备及可读存储介质
CN111405313B (zh) * 2019-06-28 2023-11-14 杭州海康威视***技术有限公司 存储流媒体数据的方法和***
CN112596808A (zh) * 2020-12-16 2021-04-02 微网智控(北京)科技有限公司 一种嵌入式***的参数存储机制

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1453311A3 (en) * 1996-10-31 2004-11-10 Sensormatic Electronics Corporation Intelligent video information management system
US20050091311A1 (en) * 2003-07-29 2005-04-28 Lund Christopher D. Method and apparatus for distributing multimedia to remote clients
JP3975400B2 (ja) * 2003-08-20 2007-09-12 ソニー株式会社 監視システム、情報処理装置および方法、記録媒体、並びにプログラム
TW201123881A (en) * 2009-12-31 2011-07-01 Vivotek Inc Multimedia stream recording method and program product and device for implementing the same.

Also Published As

Publication number Publication date
CN104699416A (zh) 2015-06-10

Similar Documents

Publication Publication Date Title
CN104699416B (zh) 一种数据存储***以及一种数据存储方法
CN106708427B (zh) 一种适用于键值对数据的存储方法
US8225029B2 (en) Data storage processing method, data searching method and devices thereof
CN103514249B (zh) 一种数据自精简方法和***及存储装置
CN106201771B (zh) 数据存储***和数据读写方法
CN102662992B (zh) 一种海量小文件的存储、访问方法及装置
CN107544873A (zh) 一种存放备份数据的备份***和方法
US7577808B1 (en) Efficient backup data retrieval
CN103838830A (zh) 一种HBase数据库的数据管理方法及***
CN107491523A (zh) 存储数据对象的方法及装置
CN102096698B (zh) 一种视频数据存储格式、存储方法及检索方法
CN103226965B (zh) 基于时间位图的音视频数据存取方法
JP2006268829A (ja) ストレージシステム間でオブジェクトをミラー化する方法と装置
CN104503703B (zh) 缓存的处理方法和装置
CN106682110B (zh) 一种基于哈希格网索引的影像文件存储和管理***及方法
CN108604165A (zh) 存储装置
CN110109927A (zh) 基于LSM树的Oracle数据库数据处理方法
EP3788505B1 (en) Storing data items and identifying stored data items
CN103064633B (zh) 一种数据存储方法及装置
CN104536908B (zh) 一种面向单机的海量小记录高效存储管理方法
CN100504800C (zh) 磁盘快照的方法
CN110427347A (zh) 重复数据删除的方法、装置、存储节点及存储介质
CN107391544A (zh) 列式存储数据的处理方法、装置、设备及计算机储存介质
CN104298697A (zh) 一种fat32格式的数据文件管理***
CN108595589A (zh) 一种海量科学数据图片高效存取方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant