一种数据删除方法、装置、电子设备及存储介质

文档序号:1296030 发布日期:2020-08-07 浏览:10次 >En<

阅读说明:本技术 一种数据删除方法、装置、电子设备及存储介质 (Data deleting method and device, electronic equipment and storage medium ) 是由 林起芊 叶敏 林鹏 王伟 于 2019-01-30 设计创作,主要内容包括:本发明实施例提供了一种数据删除方法、装置电子设备及存储介质,该方法包括:获得待处理的数据区的时间索引;确定所述数据区的时间索引是否与预定时间范围存在重叠;如果存在重叠,从所述数据区中,确定写入时间在目标时间范围内的目标对象块;在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域;将所述目标区域中的主索引数据删除。本发明实施例可以解决现有技术中由于磁头的频繁移动而降低HM-SMR硬盘的存储性能的问题。(The embodiment of the invention provides a data deleting method, device electronic equipment and a storage medium, wherein the method comprises the following steps: obtaining a time index of a data area to be processed; determining whether a time index of the data area overlaps a predetermined time range; if the overlap exists, determining a target object block with the writing time within the target time range from the data area; searching a target area corresponding to the target object block in a main index area corresponding to the data area; deleting the main index data in the target area. The embodiment of the invention can solve the problem that the storage performance of the HM-SMR hard disk is reduced due to the frequent movement of the magnetic head in the prior art.)

一种数据删除方法、装置、电子设备及存储介质

技术领域

本发明涉及数据处理技术领域,特别是涉及一种数据删除方法、装置、电子设备及存储介质。

背景技术

近年来,随着视频监控技术的不断发展,所需要处理的视频数据的数据量越来越大,例如在安防行业,视频数据是实时采集的,所采集的视频数据在时间轴上具有连续性,并且随着时间的延续,视频数据会无限增长,通常将这一类数据称为流式数据。

叠瓦硬盘作为最近推出的存储介质,具有存储密度高、存储稳定以及价格低廉等的特点,非常适合在安防行业中使用。具体的,非常适合存储安防行业中的流式数据。目前,HM-SMR(Host Managed-Shingled Magneting Recording,主机管理-叠瓦式磁记录)硬盘是使用较多的一种叠瓦硬盘。在HM-SMR硬盘中,包括CMR(conventional magneticrecording,传统式磁记录)区域和SMR区域,SMR区域划分为多个固定大小的区,在该多个固定大小的区中,可以包括一个或多个数据区。通常,将流式数据作为对象数据以对象块的形式存储在SMR区域的数据区中,每一对象块对应有内容一致且互为备份对应的主索引数据和备索引数据,其中,主索引数据存储在CMR区域的主索引数据区中,备索引数据存储在SMR区域的数据区中。

在实际应用中,往往需要对对象块进行逻辑删除,即需要将对象块标记为已删除。将对象块标记为已删除可以通过:删除对象块对应的主索引数据来实现。由于流式数据具有数据量较大、写多读少且覆盖频率快的特点,在一次逻辑删除过程中,往往需要对多个对象块进行逻辑删除,即需要对多个主索引数据进行删除。而在HM-SMR硬盘中,每删除一个主索引数据,就需要进行一次I/O(读/写)操作。删除多个主索引数据时,需要进行多次I/O操作。这样,会造成硬盘中磁头的频繁移动,而磁头的频繁移动会降低HM-SMR硬盘的存储性能。

发明内容

本发明实施例的目的在于提供一种数据删除方法、装置、电子设备及存储介质,以解决现有技术中由于磁头的频繁移动而降低HM-SMR硬盘的存储性能的问题。具体技术方案如下:

第一方面,本发明实施提供了一种数据删除方法,包括:

获得待处理的数据区的时间索引;其中,所述数据区的时间索引为:根据所述数据区中各个对象块的写入时间确定的时间范围;

确定所述数据区的时间索引是否与预定时间范围存在重叠;其中,所述预定时间范围是为删除所述数据区中对象块对应的主索引数据,所设定的时间范围;

如果存在重叠,从所述数据区中,确定写入时间在目标时间范围内的目标对象块;其中,所述目标时间范围为所述数据区的时间索引与所述预定时间范围的重叠范围;

在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域;其中,所述主索引区中连续存储有所述数据区中各个对象块对应的主索引数据;所述目标区域是存储有所述目标对象块对应的主索引数据的区域;

将所述目标区域中的主索引数据删除。

可选地,所述在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域,包括:

基于所述目标对象块对应的主索引数据的存储位置,在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域。

可选地,当所述目标对象块的数量为多个时,所述基于所述目标对象块对应的主索引数据的存储位置,在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域,包括:

在多个所述目标对象块中,确定写入时间最早的第一目标对象块,和写入时间最晚的第二目标对象块;

确定所述第一目标对象块对应的主索引数据在所述主索引区中的第一起始位置,以及所述第二目标对象块对应的主索引数据在所述主索引区中的第一终止位置;

将所述数据区对应的主索引区中,所述第一起始位置到所述第一终止位置之间的区域,确定为目标区域。

可选地,当所述目标对象块的数量为一个时,所述基于所述目标对象块对应的主索引数据的存储位置,在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域,包括:

确定所述目标对象块对应的主索引数据在所述主索引区中的第二起始位置和第二终止位置;

将所述数据区对应的主索引区中,所述第二起始位置到所述第二终止位置之间的区域,确定为目标区域。

可选地,所述数据区的时间索引通过以下方式确定:

在所述数据区中各个对象块的写入时间中,确定最早写入时间和最晚写入时间;

将所述最早写入时间到所述最晚写入时间的时间范围,确定为所述数据区的时间索引。

可选地,所述数据区与所述数据区对应的主索引区位于相同或不同的存储介质中。

可选地,所述将所述目标区域中的主索引数据删除,包括:

通过在所述主索引区所在的存储介质中执行一次I/O操作,将所述目标区域中的主索引数据删除。

第二方面,本发明实施例提供了一种数据删除装置,包括:

获得模块,用于获得待处理的数据区的时间索引;其中,所述数据区的时间索引为:根据所述数据区中各个对象块的写入时间确定的时间范围;

第一确定模块,用于确定所述数据区的时间索引是否与预定时间范围存在重叠;其中,所述预定时间范围是为删除所述数据区中对象块对应的主索引数据,所设定的时间范围;如果存在重叠,触发第二确定模块;

第二确定模块,用于从所述数据区中,确定写入时间在目标时间范围内的目标对象块;其中,所述目标时间范围为所述数据区的时间索引与所述预定时间范围的重叠范围;

查找模块,用于在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域;其中,所述主索引区中连续存储有所述数据区中各个对象块对应的主索引数据;所述目标区域是存储有所述目标对象块对应的主索引数据的区域;

删除模块,用于将所述目标区域中的主索引数据删除。

可选地,所述查找模块,具体用于基于所述目标对象块对应的主索引数据的存储位置,在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域。

可选地,所述查找模块包括:

第一确定单元,用于当所述目标对象块的数量为多个时,在多个所述目标对象块中,确定写入时间最早的第一目标对象块,和写入时间最晚的第二目标对象块;

第二确定单元,用于确定所述第一目标对象块对应的主索引数据在所述主索引区中的第一起始位置,以及所述第二目标对象块对应的主索引数据在所述主索引区中的第一终止位置;

第三确定单元,用于将所述数据区对应的主索引区中,所述第一起始位置到所述第一终止位置之间的区域,确定为目标区域。

可选地,所述查找模块包括:

第四确定单元,用于当所述目标对象块的数量为一个时,确定所述目标对象块对应的主索引数据在所述主索引区中的第二起始位置和第二终止位置;

第五确定单元,用于将所述数据区对应的主索引区中,所述第二起始位置到所述第二终止位置之间的区域,确定为目标区域。

可选地,所述数据区的时间索引通过以下方式确定:

在所述数据区中各个对象块的写入时间中,确定最早写入时间和最晚写入时间;

将所述最早写入时间到所述最晚写入时间的时间范围,确定为所述数据区的时间索引。

可选地,所述数据区与所述数据区对应的主索引区位于相同或不同的存储介质中。

可选地,所述删除模块,具体用于通过在所述主索引区所在的存储介质中执行一次I/O操作,将所述目标区域中的主索引数据删除。

第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现如上第一方面所述的数据删除方法步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面所述的数据删除方法步骤。

本发明实施例提供的方案,首先获得待处理的数据区的时间索引,然后确定所述数据区的时间索引是否与预定时间范围存在重叠。如果存在重叠,从所述数据区中,确定写入时间在目标时间范围内的目标对象块,并在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域,将所述目标区域中的主索引数据删除。本发明实施例的方案中,由于待处理的数据区中各个对象块对应的主索引数据连续存储在该数据区对应的主索引区中,那么,当需要删除该数据区中的、写入时间在预定时间范围内的目标对象块所对应的主索引数据时,可以在该数据区对应的主索引区中,查找存储有目标对象块对应的主索引数据的目标区域,从而将目标区域中的主索引数据一次性删除。由于将目标区域中的主索引数据进行一次性删除时,磁头不会频繁移动,因此,可以解决现有技术中由于磁头的频繁移动而降低HM-SMR硬盘的存储性能的问题。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种数据删除方法的流程示意图;

图2a为HM-SMR硬盘的区域划分图;

图2b为HM-SMR硬盘的各个区的布局图;

图2c为CMR区域中主索引数据区的存储结构图;

图2d为SMR区域中备索引块的存储结构图;

图3为本发明实施例提供的一种数据删除装置的结构示意图;

图4为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

叠瓦式磁记录技术将硬盘的盘片上的数据磁道部分重叠,就像屋顶的瓦片一样,可以大幅提高硬盘的存储密度。基于叠瓦式磁记录技术而实现的叠瓦硬盘具有存储密度高、存储稳定以及价格低廉等的特点,非常适合在安防行业中使用。具体的,非常适合存储安防行业中的流式数据。

目前,HM-SMR(Host Managed-Shingled Magneting Recording,主机管理-叠瓦式磁记录)硬盘是使用较多的一种叠瓦硬盘。如图2a所示,给出了HM-SMR硬盘的区域划分图,从图2a中可以看出,在HM-SMR硬盘中,包括CMR(conventional magnetic recording,传统式磁记录)区域和SMR区域。其中,CMR区域可以支持随机读写操作,而SMR区域只支持顺序读写操作。CMR区域和SMR区域都划分为多个固定大小的区。具体的,在CMR区域中,可以对多个区并行执行读写操作,且在每个区内可以进行随机读写。在SMR区域中,同样可以对多个区并行执行读写操作,但在每个区内只可以进行顺序读写。由于SMR区域只支持顺序读写操作,所以,在SMR区域的一个区中,只有在该区中写满数据并在需要删除该区中的数据时,对该区进行重置之后,才能对该区重复使用。也就是说,对于SMR区域的一个写有数据的区,在重复使用之前必须对该区进行重置。

下面通过图2b给出HM-SMR硬盘的各个区的布局图。

如图2b所示,SMR区域的多个区中,包括:数据区、备元数据区和保留区。其中,数据区用于存储对象数据和对象数据对应的备索引数据。具体在数据区中,对象数据的存储形式为对象块,对象数据对应的备索引数据的存储形式为备索引块。通常,一个数据区中存储有多个对象块,紧跟每个对象块之后的是该对象块对应的一个备索引块。备元数据区用于存储备元数据信息。保留区用于在对对象块进行回收时,作为中间介质。

如图2b所示,CMR区域的多个区中,包括:主元数据区和主索引数据区。其中,主元数据区用于存储主元数据信息。主索引数据区用于存储与备索引数据互为备份的主索引数据,主索引数据的存储形式为主索引块。那么,对于上述数据区中的一个对象块,在该数据区中存储有该对象块对应的一个备索引块,另外,在主索引数据区中存储有该对象块对应的一个主索引块。

上述主元数据信息和备元数据信息的内容一致且互为备份,可以包括:CMR区域的大小、SMR区域的大小、SMR区域中区的个数、单个主/备索引块的大小、单个对象块的大小、文件系统初始化时间、文件系统可用块总数等信息。在具体应用中,可以将SMR区域中的最后一个区作为备元数据区,用来存储备元数据信息,这样,可以防止CMR区域损坏后导致元数据信息丢失。

任一对象块对应的主索引数据和备索引数据的内容一致且互为备份,可以包括:文件系统管理数据和Unit_key。其中,Unit_key是对象块对应的对象键值。文件系统管理数据可以包括:对象块号、Unit_key长度、对象块的存储状态(例如为空闲、已使用或已删除等)、对象块存储的有效数据的长度、对象块存储的数据的校验值,对象块的写入时间。其中,对象块的写入时间是指:对象块对应的对象数据的写入时间。

图2c为CMR区域中主索引数据区的存储结构图。需要说明的是,CMR区域中主索引数据区可以是CMR区域的一个区,也可以是CMR区域的多个连续的区组合而成。从图2c中可以看出,在主索引数据区中,各个主索引块(主索引块1~主索引块N)连续存储。也就是说,对于SMR区域中的一个数据区来说,在主索引数据区中,连续存储有该数据区中各个对象块对应的主索引数据,那么,可以将连续存储该数据区中各个对象块对应的主索引数据的区域,称为该数据区对应的主索引区。显然,一个数据区对应的主索引区是CMR区域中主索引数据区的一部分,也即:CMR区域中主索引数据区包含了:各个数据区对应的主索引区。

图2d为SMR区域中备索引块的存储结构图。从图2d中可以看出,每一对象块对应的备索引块紧跟该对象块之后存储。

结合图2c和图2d可知,各个主索引块连续存储是指:对于一个数据区中的多个连续存储的对象块组(一个对象块组包含一个对象块和该对象块对应的备索引块)中的多个对象块,该多个对象块各自对应的主索引块在主索引数据区中连续存储。也即,该多个对象块各自对应的主索引数据在主索引数据区中连续存储。

通常,将流式数据作为对象数据以对象块的形式存储在SMR区域的数据区中,每一对象块对应有内容一致且互为备份对应的主索引数据和备索引数据,其中,主索引数据存储在CMR区域的主索引数据区中,备索引数据存储在SMR区域的数据区中。具体的存储形式请参照图2a-图2d。

在实际应用中,往往需要对对象块进行逻辑删除,即需要将对象块标记为已删除。将对象块标记为已删除可以通过:删除对象块对应的主索引数据来实现。由于流式数据具有数据量较大、写多读少且覆盖频率快的特点,在一次逻辑删除过程中,往往需要对多个对象块进行逻辑删除,即需要对多个主索引数据进行删除。而在HM-SMR硬盘中,每删除一个主索引数据,就需要进行一次I/O(读/写)操作。删除多个主索引数据时,需要进行多次I/O操作。这样,会造成硬盘中磁头的频繁移动,而磁头的频繁移动会降低HM-SMR硬盘的存储性能。

为了解决上述技术问题,本发明实施例提供了一种数据删除方法、装置、电子设备及存储介质。

下面,首先对本申请实施例所提供的一种数据删除方法进行介绍。

需要说明的是,本发明实施例提供的一种数据删除方法可以应用于电子设备中。该电子设备是可以访问HM-SMR硬盘的设备,具体可以是终端设备,也可以是服务器,在此并不限定。示例性的,该终端设备可以为:智能手机、平板电脑和台式计算机等。

图1是本发明实施例提供的一种数据删除方法的流程图。如图1所示,该方法可以包括以下步骤:

S101,获得待处理的数据区的时间索引。

其中,数据区的时间索引为:根据数据区中各个对象块的写入时间确定的时间范围。

本实施例中,可以将流式数据作为对象数据以对象块的形式存储于:HM-SMR硬盘的SMR区域的数据区中。当对象块存储于数据区中时,该对象块对应有写入时间,该写入时间是指:对象块对应的对象数据的写入时间。当需要对对象块进行逻辑删除时,通常,可以设定一个时间范围,将写入时间在该时间范围内的对象块对应的主索引数据删除。

由于SMR区域包含有多个数据区,而且各个数据区可以并行写入数据,所以,各个数据区的时间索引并不一定是连续的。那么,当需要对对象块进行逻辑删除时,就需要将SMR区域中的每一个数据区均作为待处理的数据区,进而,确定出该数据区中需要进行逻辑删除的对象块。也就是说,在每一次删除过程中,当设定了上述时间范围后,需要对每一个数据区均执行本发明实施例提供的一种数据删除方法的步骤。

针对待处理的数据区,可以获得该数据区的时间索引,进一步,利用该时间索引来确定出该数据区中需要进行逻辑删除的对象块。

本实施例中,数据区的时间索引通过以下方式确定:

在数据区中各个对象块的写入时间中,确定最早写入时间和最晚写入时间;

将最早写入时间到最晚写入时间的时间范围,确定为数据区的时间索引。

也就是说,数据区的时间索引是最早写入该数据区的对象块的写入时间,到最晚写入该数据区的对象块的写入时间这一时间范围。

例如,数据区A中存储有256个对象块,其中,最早写入该数据区A的对象块1的写入时间是:2018年10月1日上午8点10分,最晚写入该数据区A的对象块256的写入时间是:2018年10月1日上午9点10分。那么,该数据区A的时间索引为:2018年10月1日上午8点10分至2018年10月1日上午9点10分。

本步骤中,对获得待处理的数据区的时间索引的方式并不限定。示例性的,电子设备可以读取数据区中各个对象块对应的备索引数据,获得各个对象块的写入时间,确定出其中的最早写入时间和最晚写入时间,从而得到数据区的时间索引。

S102,确定数据区的时间索引是否与预定时间范围存在重叠。

其中,预定时间范围是为删除数据区中对象块对应的主索引数据,所设定的时间范围。

当需要对对象块进行逻辑删除时,可以设定上述预定时间范围。设定预定时间范围的意义在于:将写入时间在该预定时间范围内的对象块对应的主索引数据删除。

预定时间范围的形式可以是:时刻1~时刻2,也可以是:时刻3之前。而且,预定时间范围可以根据需要进行设定。例如,预定时间范围为2018年10月1日上午8点至2018年10月1日上午10点。又例如,预定时间范围为2018年10月1日上午10点之前。

当获得待处理的数据区的时间索引之后,可以确定数据区的时间索引是否与预定时间范围存在重叠。如果存在重叠,则说明该数据区中存在需要进行逻辑删除的对象块。反之,如果不存在重叠,则说明该数据区中不存在需要进行逻辑删除的对象块。

例如,数据区的时间索引为:2018年10月1日上午8点10分至2018年10月1日上午9点10分。预定时间范围为2018年10月1日上午8点至2018年10月1日上午10点。那么,数据区的时间索引与预定时间范围存在重叠。

S103,如果存在重叠,从数据区中,确定写入时间在目标时间范围内的目标对象块。

其中,目标时间范围为数据区的时间索引与预定时间范围的重叠范围。

如果数据区的时间索引与预定时间范围存在重叠,可以将数据区的时间索引与预定时间范围的重叠范围作为目标时间范围。那么,在数据区的全部对象块中,写入时间在该目标时间范围的对象块就是需要进行逻辑删除的对象块,因而,可以将需要进行逻辑删除的对象块作为目标对象块。进一步地,删除目标对象块对应的主索引数据。

目标对象块的数量可能是一个,也可能是多个。由于流式数据具有较强的时间连续性,当目标对象块的数量为多个时,该多个目标对象块的写入时间是连续的,那么,由该多个目标对象块和各自对应的备索引块组成的多个对象块组在数据区中是连续存储的。

本步骤中,对从数据区中,确定写入时间在目标时间范围内的目标对象块的方式并不限定。在一种实现方式中,可以通过预先构建的数据库索引来确定目标对象块。其中,预先构建的数据库索引存储在不同于HM-SMR硬盘的另一存储介质中,该另一存储介质例如可以是:SSD(Solid State Disk,固态硬盘)或其他类型的存储介质。预先构建的数据库索引记录有:数据区中各个对象块对应的数据库索引数据。该数据库索引数据可以包括:数据区中每一对象块的Unit_key、该对象块的对象号、该对象块存储的有效数据的长度、该对象块存储的数据的校验值,该对象块的写入时间。

具体的,可以从预先构建的数据库索引中读取:写入时间在目标时间范围内的每一目标对象块的Unit_key,再读取与该Unit_key对应的该目标对象块的对象号。其中,该目标对象块的对象号是指:该目标对象块在数据区中的标识。确定出目标对象块的对象号,就便于进一步地确定出目标对象块对应的主索引数据。

基于此,当需要删除目标对象块对应的主索引数据时,可以先通过预先构建的数据库索引来确定出目标对象块,再进一步地在HM-SMR硬盘中查找目标对象块对应的主索引数据。由于预先构建的数据库索引存储在不同于HM-SMR硬盘的另一存储介质中,即可以不必直接访问HM-SMR硬盘来查找目标对象块对应的主索引数据,而是在另一存储介质中实现一部分查找操作,因而,一方面,可以提升查找性能,另一方面,可以减少对HM-SMR硬盘的访问量。

S104,在数据区对应的主索引区中,查找目标对象块对应的目标区域。

其中,主索引区中连续存储有数据区中各个对象块对应的主索引数据;目标区域是存储有目标对象块对应的主索引数据的区域。

数据区对应的主索引区是:数据区中各个对象块对应的主索引数据在相应存储介质中连续存储的区域。这里,相应存储介质是指:数据区对应的主索引区所在的存储介质。

本实施例中,相应存储介质可以是HM-SMR硬盘。那么,数据区与数据区对应的主索引区就位于相同的存储介质中。具体的,数据区对应的主索引区位于HM-SMR硬盘的CMR区域中,而且,数据区对应的主索引区是CMR区域中主索引数据区的一部分。

可选地,在其他实施例中,数据区与数据区对应的主索引区可以位于不同的存储介质中。具体的,数据区对应的主索引区可以位于SSD或其他类型的存储介质中。这样,对主索引数据的删除操作完全在不同于HM-SMR硬盘的其他存储介质中进行,可以减少HM-SMR硬盘中磁头的移动次数。

在确定出目标对象块后,可以在数据区对应的主索引区中,查找目标对象块对应的目标区域,进而,确定出目标对象块对应的主索引数据。

在一种实现方式中,在数据区对应的主索引区中,查找目标对象块对应的目标区域,可以包括:

基于目标对象块对应的主索引数据的存储位置,在数据区对应的主索引区中,查找目标对象块对应的目标区域。

本实现方式中,由于目标区域中存储有目标对象块对应的主索引数据,因而,可以基于目标对象块对应的主索引数据的存储位置,在数据区对应的主索引区中,查找目标对象块对应的目标区域。具体的,当目标对象块的数量为不同情形时,基于目标对象块对应的主索引数据的存储位置,在数据区对应的主索引区中,查找目标对象块对应的目标区域的方式也不同。

本实施例中,目标对象块的数量可以是一个,也可以是多个。

在第一种方式中,当目标对象块的数量是一个时,基于目标对象块对应的主索引数据的存储位置,在数据区对应的主索引区中,查找目标对象块对应的目标区域,可以包括如下步骤A1-A2:

步骤A1:确定目标对象块对应的主索引数据在主索引区中的第二起始位置和第二终止位置;

步骤A2:将数据区对应的主索引区中,第二起始位置到第二终止位置之间的区域,确定为目标区域。

本实现方式中,当目标对象块的数量是一个时,目标对象块对应的目标区域即为:该目标对象块对应的主索引数据在主索引区中的存储区域。

具体的,由于任一对象块对应的主索引数据中记录有该对象块的对象号,因而,可以根据目标对象块的对象号,在主索引区中确定出目标对象块对应的主索引数据,从而确定出该主索引数据在主索引区中的第二起始位置和第二终止位置。那么,第二起始位置到第二终止位置之间的区域,即为目标区域。

在第二种方式中,当目标对象块的数量是多个时,基于目标对象块对应的主索引数据的存储位置,在数据区对应的主索引区中,查找目标对象块对应的目标区域,可以包括如下步骤B1-B2:

步骤B1:在多个目标对象块中,确定写入时间最早的第一目标对象块,和写入时间最晚的第二目标对象块;

步骤B2:确定第一目标对象块对应的主索引数据在主索引区中的第一起始位置,以及第二目标对象块对应的主索引数据在主索引区中的第一终止位置;

步骤B3:将数据区对应的主索引区中,第一起始位置到第一终止位置之间的区域,确定为目标区域。

本实现方式中,当目标对象块的数量是多个时,目标对象块对应的目标区域即为:该多个目标对象块对应的主索引数据在主索引区中连续存储的存储区域。基于此,在确定目标区域时,可以先确定出多个目标对象块中最早写入的第一目标对象块和最晚写入的第二目标对象块,继而,将第一目标对象块的第一起始位置到第二目标对象块的第二终止位置之间的区域,作为目标区域。

具体的,由于任一对象块对应的主索引数据中记录有该对象块的对象号,因而,可以根据第一目标对象块的对象号,在主索引区中确定出第一目标对象块对应的主索引数据,从而确定出该主索引数据在主索引区中的第一起始位置。还可以根据第二目标对象块的对象号,在主索引区中确定出第二目标对象块对应的主索引数据,从而确定出该主索引数据在主索引区中的第一终止位置。那么,第一起始位置到第一终止位置之间的区域,即为目标区域。

S105,将目标区域中的主索引数据删除。

在查找到目标区域后,该目标区域中包含的主索引数据即为:需要进行逻辑删除的目标对象块所对应的主索引数据,因而,可以将该目标区域中的主索引数据删除。当目标对象块的数量为一个时,则将目标区域中该目标对象块对应的主索引数据删除。当目标对象块的数量为多个时,则将目标区域中各个目标对象块对应的主索引数据进行批量删除。

在一种实现方式中,将目标区域中的主索引数据删除,可以包括:

通过在主索引区所在的存储介质中执行一次I/O操作,将目标区域中的主索引数据删除。

本实现方式中,可以在CMR区域中执行一次I/O操作,将目标区域中的主索引数据删除。具体的,当目标对象块的数量为多个时,通过在CMR区域中执行一次I/O操作,即可将各个目标对象块对应的主索引数据删除。相比于现有技术中,针对多个对象块,需要执行多次I/O操作来删除多个对象块各自对应的主索引数据,本实现方式中,通过执行一次I/O操作,即可删除多个目标对象块各自对应的主索引数据。因而,可以大大减少I/O操作,也就大大减少了HM-SMR硬盘中磁头的移动次数。

本发明实施例提供的方案,首先获得待处理的数据区的时间索引,然后确定数据区的时间索引是否与预定时间范围存在重叠。如果存在重叠,从数据区中,确定写入时间在目标时间范围内的目标对象块,并在数据区对应的主索引区中,查找目标对象块对应的目标区域,将目标区域中的主索引数据删除。本发明实施例的方案中,由于待处理的数据区中各个对象块对应的主索引数据连续存储在该数据区对应的主索引区中,那么,当需要删除该数据区中的、写入时间在预定时间范围内的目标对象块所对应的主索引数据时,可以在该数据区对应的主索引区中,查找存储有目标对象块对应的主索引数据的目标区域,从而将目标区域中的主索引数据一次性删除。由于将目标区域中的主索引数据进行一次性删除时,磁头不会频繁移动,因此,可以解决现有技术中由于磁头的频繁移动而降低HM-SMR硬盘的存储性能的问题。

相应于上述本发明实施例提供的一种数据删除方法,本发明实施例还提供了一种数据删除装置。如图3所示,该数据删除装置可以包括如下模块:

获得模块301,用于获得待处理的数据区的时间索引;其中,所述数据区的时间索引为:根据所述数据区中各个对象块的写入时间确定的时间范围;

第一确定模块302,用于确定所述数据区的时间索引是否与预定时间范围存在重叠;其中,所述预定时间范围是为删除所述数据区中对象块对应的主索引数据,所设定的时间范围;如果存在重叠,触发第二确定模块203;

第二确定模块303,用于从所述数据区中,确定写入时间在目标时间范围内的目标对象块;其中,所述目标时间范围为所述数据区的时间索引与所述预定时间范围的重叠范围;

查找模块304,用于在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域;其中,所述主索引区中连续存储有所述数据区中各个对象块对应的主索引数据;所述目标区域是存储有所述目标对象块对应的主索引数据的区域;

删除模块305,用于将所述目标区域中的主索引数据删除。

本发明实施例提供的方案,首先获得待处理的数据区的时间索引,然后确定所述数据区的时间索引是否与预定时间范围存在重叠。如果存在重叠,从所述数据区中,确定写入时间在目标时间范围内的目标对象块,并在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域,将所述目标区域中的主索引数据删除。本发明实施例的方案中,由于待处理的数据区中各个对象块对应的主索引数据连续存储在该数据区对应的主索引区中,那么,当需要删除该数据区中的、写入时间在预定时间范围内的目标对象块所对应的主索引数据时,可以在该数据区对应的主索引区中,查找存储有目标对象块对应的主索引数据的目标区域,从而将目标区域中的主索引数据一次性删除。由于将目标区域中的主索引数据进行一次性删除时,磁头不会频繁移动,因此,可以解决现有技术中由于磁头的频繁移动而降低HM-SMR硬盘的存储性能的问题。

作为本发明实施例的一种实施方式,所述查找模块304,具体用于基于所述目标对象块对应的主索引数据的存储位置,在所述数据区对应的主索引区中,查找所述目标对象块对应的目标区域。

作为本发明实施例的一种实施方式,所述查找模块304包括:

第一确定单元,用于当所述目标对象块的数量为多个时,在多个所述目标对象块中,确定写入时间最早的第一目标对象块,和写入时间最晚的第二目标对象块;

第二确定单元,用于确定所述第一目标对象块对应的主索引数据在所述主索引区中的第一起始位置,以及所述第二目标对象块对应的主索引数据在所述主索引区中的第一终止位置;

第三确定单元,用于将所述数据区对应的主索引区中,所述第一起始位置到所述第一终止位置之间的区域,确定为目标区域。

作为本发明实施例的一种实施方式,所述查找模块304包括:

第四确定单元,用于当所述目标对象块的数量为一个时,确定所述目标对象块对应的主索引数据在所述主索引区中的第二起始位置和第二终止位置;

第五确定单元,用于将所述数据区对应的主索引区中,所述第二起始位置到所述第二终止位置之间的区域,确定为目标区域。

作为本发明实施例的一种实施方式,所述数据区的时间索引通过以下方式确定:

在所述数据区中各个对象块的写入时间中,确定最早写入时间和最晚写入时间;

将所述最早写入时间到所述最晚写入时间的时间范围,确定为所述数据区的时间索引。

作为本发明实施例的一种实施方式,所述数据区与所述数据区对应的主索引区位于相同或不同的存储介质中。

作为本发明实施例的一种实施方式,所述删除模块305,具体用于通过在所述主索引区所在的存储介质中执行一次I/O操作,将所述目标区域中的主索引数据删除。

本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,

存储器403,用于存放计算机程序;

处理器401,用于执行存储器403上所存放的程序时,实现上述本发明实施例提供的一种数据删除方法,以获得相同的技术效果。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述本发明实施例提供的一种数据删除方法,以获得相同的技术效果。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述本发明实施例提供的一种数据删除方法,以获得相同的技术效果。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质/计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据处理方法、装置、SMR存储系统及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类