一种数据存储管理方法及装置与流程

文档序号:17585197发布日期:2019-05-03 21:15阅读:145来源:国知局
一种数据存储管理方法及装置与流程

本发明涉及数据存储技术领域,尤其涉及一种数据存储管理方法及装置。



背景技术:

数据存储,是数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据存储介质包括磁盘和磁带,磁盘包括固态硬盘(solidstatedrive,ssd)、混合硬盘(hybridharddrive,hhd)和传统硬盘(harddiskdrive,hdd)。

以flash为存储介质的ssd为例,其读写最小单位是页(page),擦除以块(block)为单位,假设一个block由256个page构成,flash中有1024个block。在ssd中,将各个摄像头采集的实时数据(即各个通道上的数据)同时存入同一block中,即多个通道的数据在每一个块上按页依次存储,当一个块存满后,在下一个块中继续按页依次存储。图1为多个通道采集的数据存储在同一块上的示意图,以4个摄像头组成一个视频采集系统为例,每1个摄像头为一通道,数据采集系统正常工作时,4个摄像头采集的视频数据实时以恒定速度存入ssd中,页中1、2、3、4分别代表各摄像头所采集的数据。4个摄像头的视频数据会如图1这种方式写入块中,且一个块存储完后用空块接着存储。

然而,当数据的通道数量减少时,如上述视频采集系统关闭摄像头1,正常工作的摄像头数据视频数据仍会继续存储,而摄像头1没有数据进入ssd中进行存储,系统就会如图2所示存储数据。当ssd中除预留块外所有块存储满后,开始在预留块中继续存储,由于lba(逻辑区块地址)是一致的,预留块中的新数据就会覆盖旧块中的旧数据,而旧块中摄像头1的数据无法被覆盖,存储摄像头1数据的页就会成为剩余有效页。针对剩余有效页,需利用垃圾回收机制(gc)将搬移到其他新的预留块中,该旧块就会转化为垃圾块,被擦除后重新成为空块继续存储数据(参图3)。这一存储方法由于数据的通道数量减少,被关闭的通道数据的页成为剩余有效页,系统需要对剩余有效页进行搬移,导致垃圾回收工作量大,且这种搬移会影响ssd上的数据写入速度。



技术实现要素:

为了解决上述问题,本发明提供一种数据存储管理方法及装置。

第一方面,本发明提供一种数据存储管理方法,包括:

将各通道采集的数据分别存储在不同的预设块上,所述通道数量至少为两条。

上述的数据存储管理方法,每个所述预设块上连续存储所述数据。

上述的数据存储管理方法,每个所述通道采集的数据为连续数据。

上述的数据存储管理方法,所述数据为摄像设备或录音设备或雷达设备等数据采集设备所采集的数据,每个所述通道与每个所述数据集采集设备一一对应。

上述的数据存储管理方法,在所述预设块写满时,将新采集的所述数据存储到预留块中;和/或

在所述预设块写满,且所述预留块写入数据量达到阈值时,将新采集的数据写入所述预设块上,并将所述预设块上的旧数据设为无效数据,所述新采集的数据与所述旧数据为同一通道上采集的数据。

第二方面,本发明提供一种数据存储管理装置,包括:

存储模块,用于将各通道采集的数据分别存储在不同的预设块上,所述通道数量至少为两条。

上述的数据存储管理装置,包括:

存储模块,用于将各通道采集的数据分别存储在不同的预设块上,所述通道数量至少为两条。

上述的数据存储管理装置,每个所述预设块上连续存储所述数据。

上述的数据存储管理装置,每个通道采集的数据为连续数据。

上述的数据存储管理装置,所述数据为摄像设备或录音设备或雷达设备等数据采集设备所采集的数据,每个所述通道与每个数据集采集设备一一对应。

上述的数据存储管理装置,所述存储模块,包括:

预留子模块,用于在所述预设块写满时,将新采集的所述数据存储到预留块中;和/或

覆盖子模块,用于在所述预设块写满,且所述预留块写入数据量达到阈值时,将新采集的数据写入所述预设块上,并将所述预设块上的旧数据设为无效数据,所述新采集的数据与所述旧数据为同一通道上采集的数据。

本发明提供的数据存储管理方法,该方法将各通道采集的数据分别存储在不同的预设块上,使得每一预设块上仅存储有一通道采集的数据,当通道数量减少或某一条通道被关断时,与被关断的通道对应的预设块上的数据存储中断,而其他未被关断的通道在对应的预设块上可以继续连续存储数据,使得各通道采集的数据不影响其他通道在其他预设块的连续存储,因此,避免了被关断的通道所对应的数据页成为剩余有效页而导致需要搬移的问题,降低了垃圾回收工作量,减少数据溢出的概率,也提高了存储数据时的写入速度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为同一预留块上存储有多个通道采集的数据的存放示意图;

图2为图1中当通道1关断后同一预留块上多个通道采集的数据的存放示意图;

图3为图2中预留块存满后搬移剩余有效页至其他新的预留块的示意图;

图4为本发明一示范性实施例中的多个通道采集的数据的存放示意图;

图5为本发明一示范性实施例中将存储有旧数据的预设块覆盖擦除的过程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为多个通道采集的数据存储在同一块上的示意图,以4个摄像头组成一个视频采集系统为例,每1个摄像头为一通道,数据采集系统正常工作时,4个摄像头采集的视频数据实时以恒定速度存入ssd中,页(page)中1、2、3、4分别代表各摄像头所采集的数据。4个摄像头(摄像头1、摄像头2、摄像头3和摄像头4)的视频数据会如图1这种方式写入块(block)中,且一个块存储完后用空块接着存储。图2为图1中当通道1关断后同一预留块上多个通道采集的数据的存放示意图,如上述视频采集系统关闭摄像头1,正常工作的摄像头数据视频数据仍会继续存储,而摄像头1没有数据进入ssd中进行存储,系统就会如图2所示存储数据,即块中的页依次存储摄像头2、摄像头3和摄像头4的数据。图3为图2中预留块存满后搬移剩余有效页至其他新的预留块的示意图,在图3中,当ssd中除预留块外所有块存储满后(图3中block1),开始在预留块中继续存储,如上分析,存储摄像头1数据的页无法被覆盖就会成为剩余有效页,针对该剩余有效页,需利用垃圾回收机制(gc)将搬移到其他新的预留块(图3中的freeblock2)中,该旧块就会转化为垃圾块,被擦除后重新成为空块继续存储数据。为了促进旧块转化为垃圾块,将多个旧块中的有效页搬移合并到新块中从而实现垃圾块/页的回收就会导致垃圾回收的工作量加大,拉低了写入数据的速度,最后会出现带宽不够数据溢出的问题,无法保证视频采集工作的顺利进行。

为解决上述问题,本发明一示范性实施例提供的数据存储管理方法,该方法将各通道采集的数据分别存储在不同的预设块上,通道数量至少为两条,使得每一预设块上仅存储有一通道采集的数据,当通道数量减少或某一条通道被关断时,与被关断的通道对应的预设块上的数据存储中断,而其他未被关断的通道在对应的预设块上可以继续连续存储数据,使得各通道采集的数据不影响其他通道在其他预设块的连续存储,因此,避免了被关断的通道所对应的数据页成为剩余有效页而导致需要搬移的问题,降低了垃圾回收工作量,减少数据溢出,也提高了存储数据时的写入速度。

本发明实施例中,通道的数量可以为四条。当然,也可以为三条、五条等,不再赘述。

若上述ssd的存储直接为flash,则假设每个预设块上可以有256个页。数据在每个预设块上按页读写,且每个预设块上连续存储数据,即依次按页写入数据。

每个通道采集的数据为连续数据,如视频数据、录音数据、或雷达数据等。所采集的数据可以为摄像设备或录音设备或雷达设备等数据采集设备采集到的数据,且每个通道与每个摄像设备或录音设备一一对应,每个摄像设备或录音设备或雷达设备可以单独控制,如关闭或启动,这样使得每个通道上可以中断数据采集或启动数据采集。其中,每个摄像设备可以是一个摄像头或一组相互关联的摄像头。实际使用中,如每个摄像设备是一个摄像头,在一个基于视频数据的存储管理方法中,则可以有四个摄像头,在一个摄像头关闭后,剩余的三个摄像头对应三条通道。

本发明实施例中,在上述预设块写满时,可以将最新采集到的数据存储到预留块中。当然,每个预留块上仍然只有一个通道的数据。

当所有的预设块写满,且预留块上写入数据达到阈值时,可以将新采集的数据写入预设块上,并将预设块上的旧数据设为无效数据,使得新采集的数据覆盖于旧数据上,且新采集的数据与旧数据源于同一通道的数据,即数据更换也是基于同一通道上采集的数据进行覆盖更新的。

其中,预留块写入数据量达到阈值时,就停止在预留块上写入数据。预留块设置的阈值可以根据实际需要设。通过在预留块上限定写入数据量的阈值,使得预留块不会被写满,即预留块中还有部分块被保留为空块,以备数据存储管理中不时之需。

需要说明的是,预设块是指存储磁盘上所有的块中的一部分或全部用于存储数据的块。预留块是不同于预设块,具体的,预设块是用户可见的存储块,预留块是用户不可见的存储块,例如存储磁盘的容量总共有100g,预设块可以是其中的90g,预留块是剩下的10g,且用户读取到该存储磁盘的容量为90g。

本发明实施例的数据存储管理方法适用于ssd。

本发明实施例的数据存储管理方法,避免了被关断的通道所对应的数据页成为剩余有效页而导致需要搬移的问题,降低了垃圾回收工作量,减少数据溢出的概率,也提高了存储数据时的写入速度。此外,垃圾回收工作量过大会影响ssd的使用寿命,采用本发明实施例的方案也会延长ssd的使用寿命。

具体的,以一种视频系统中数据的存储管理方法为例,视频系统中具有4个摄像头,对应具有4条采集通道。如图4所示,各个视频数据采集通道的数据分开存储在各个块中,且可以规定放入block中数据必须是连续。每个摄像头所采集的数据是连续的,从而使得一个摄像头的连续数据完整写入一个块中,当这一块写满后,再重新拿一个空块继续写数据。

图5为本发明实施例中将存储有旧数据的预设块覆盖擦除的过程示意图。如图5中,如摄像头1被关闭,摄像头2所对应的预设块写满,预留块也被写满,则将摄像头2采集的新数据写入存储有摄像头2对应的旧数据的预设块上,且将该预设块上摄像头2的旧数据设为无效数据或擦除(图5中block2),也无需搬移摄像头2的数据,进而降低了垃圾回收工作量,减少数据溢出的概率,保证视频采集工作的顺利进行,也提高了存储数据时的写入速度。

本发明另一个示范性实施例提供一种数据存储管理装置,包括:

存储模块,用于将各通道采集的数据分别存储在不同的预设块上,所述通道数量至少为两条。

所述数据存储管理装置中,每个所述预设块上连续存储所述数据。

所述数据存储管理装置中,每个通道采集的数据为连续数据。

所述数据存储管理装置中,所述数据为摄像设备或录音设备或雷达设备等数据采集设备所采集的数据,每个所述通道与每个数据集采集设备一一对应。

所述存储模块,包括:

预留子模块,用于在所述预设块写满时,将新采集的所述数据存储到预留块中;和/或

覆盖子模块,,用于在所述预设块写满,且所述预留块写入数据量达到阈值时,将新采集的数据写入所述预设块上,并将所述预设块上的旧数据设为无效数据,所述新采集的数据与所述旧数据为同一通道上采集的数据。

本发明实施例的数据存储管理装置还可执行图4和图5中数据存储管理装置执行的方法,并实现数据存储管理装置在图4和图5所示实施例的功能,在此不再赘述。

优选的,本发明实施例还提供一种数据管理设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据存储管理的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据存储管理的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上的具体实例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1