一种用户数据分类存储方法、装置及设备与流程

文档序号:16535786发布日期:2019-01-08 19:53阅读:162来源:国知局
一种用户数据分类存储方法、装置及设备与流程

本发明涉及数据存储技术领域,更具体地说,涉及一种用户数据分类存储方法、装置、设备及计算机可读存储介质。



背景技术:

在全闪存储阵列中,ssd盘(固态硬盘)不能覆盖写和写入单元与擦除单元不一致的特性使得如果ssd盘上的数据无规律存储时尤其是很快失效和长久有效的数据存储在一起时,但是当需要实现存储空间的回收时,通常会将需要回收的存储空间中失效的数据进行回收,而有效的数据迁移至其他位置,因此,上述数据无规律存储时,ssd盘可能会频繁的发生数据迁移从而产生对ssd盘的额外无效损耗,减少ssd盘的寿命。

综上所述,现有技术中实现ssd盘中数据存储的方式存在可能增加额外无效损耗、减少ssd盘寿命的问题。



技术实现要素:

本发明的目的是提供一种用户数据分类存储方法、装置、设备及计算机可读存储介质,能够解决现有技术中实现ssd盘中数据存储的方式存在的可能增加额外无效损耗、减少ssd盘寿命的问题。

为了实现上述目的,本发明提供如下技术方案:

一种用户数据分类存储方法,包括:

如果存在需要存储至硬盘中的多个用户数据,则确定需要存储至所述硬盘中的各个用户数据均为目标数据;

确定各个所述目标数据在lun中对应的lba均为目标lba,并确定各个目标lba的数据变化频率;

将所述数据变化频率按照大小分为不同的频率段,并将同一频率段内的数据变化频率对应的目标数据存储至所述硬盘中相邻的位置。

优选的,确定各个目标lba的数据变化频率之前,还包括:

如果所述目标数据中存在为首次写入对应lba的位置的用户数据,则对于为首次写入对应lba的位置的用户数据的目标数据,将所述目标数据存储至所述硬盘中的指定位置,对于不为首次写入对应lba的位置的用户数据的目标数据,执行所述确定各个目标lba的数据变化频率的步骤。

优选的,确定各个目标lba的数据变化频率,包括:

确定各个目标lba中任一目标lba的位置首次写入数据时刻至写入对应目标数据时刻之间的时间段为目标时间段,确定在所述目标时间段内在该任一目标lba的位置写入数据的次数为目标次数,确定所述目标次数与所述目标时间段的比值为该任一目标lba的数据变化频率。

优选的,还包括:

由所述硬盘中删除指定lba对应的全部用户数据,并在再次向该指定lba的位置写入用户数据时,确定该再次写入至指定lba的位置的用户数据为首次写入该指定lba的位置的用户数据。

优选的,确定存在需要存储至硬盘中的多个用户数据,包括:

当存在多个需要由lun中写入至硬盘中的用户数据,或者存在多个存储于硬盘中且需要实现数据迁移的用户数据时,则确定存在需要存储至硬盘中的多个用户数据。

一种用户数据分类存储装置,包括:

第一确定模块,用于:如果存在需要存储至硬盘中的多个用户数据,则确定需要存储至所述硬盘中的各个用户数据均为目标数据;

第二确定模块,用于:确定各个所述目标数据在lun中对应的lba均为目标lba,并确定各个目标lba的数据变化频率;

数据存储模块,用于:将所述数据变化频率按照大小分为不同的频率段,并将同一频率段内的数据变化频率对应的目标数据存储至所述硬盘中相邻的位置。

优选的,还包括:

判断模块,用于:确定各个目标lba的数据变化频率之前,如果所述目标数据中存在为首次写入对应lba的位置的用户数据,则对于为首次写入对应lba的位置的用户数据的目标数据,将所述目标数据存储至所述硬盘中的指定位置,对于不为首次写入对应lba的位置的用户数据的目标数据,指示所述第二确定模块执行所述确定各个目标lba的数据变化频率的步骤。

优选的,所述第二确定模块包括:

第二确定单元,用于:确定各个目标lba中任一目标lba的位置首次写入数据时刻至写入对应目标数据时刻之间的时间段为目标时间段,确定在所述目标时间段内在该任一目标lba的位置写入数据的次数为目标次数,确定所述目标次数与所述目标时间段的比值为该任一目标lba的数据变化频率

一种用户数据分类存储设备,包括:

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

处理器,用于执行所述计算机程序时实现如上任一项所述用户数据分类存储方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述用户数据分类存储方法的步骤。

本发明提供了一种用户数据分类存储方法、装置、设备及计算机可读存储介质,其中该方法包括:如果存在需要存储至硬盘中的多个用户数据,则确定需要存储至所述硬盘中的各个用户数据均为目标数据;确定各个所述目标数据在lun中对应的lba均为目标lba,并确定各个目标lba的数据变化频率;将所述数据变化频率按照大小分为不同的频率段,并将同一频率段内的数据变化频率对应的目标数据存储至所述硬盘中相邻的位置。由于lba数据变化频率越高,说明该lba对应位置写用户数据的频率越高,也就说明该lba对应位置的用户数据失效速度越快,因此通过频率段的划分将对应lba的数据变化频率相近的目标数据存储至相邻的位置,能够使得相邻位置的用户数据失效时间相近,进而在实现用户数据回收时能够对相近时间失效的部分用户数据进行统一回收,大大减少了数据迁移需求,减少了无效损耗,增加了ssd盘寿命。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种用户数据分类存储方法的流程图;

图2为本发明实施例提供的一种用户数据分类存储装置的结构示意图。

具体实施方式

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

请参阅图1,其示出了本发明实施例提供的一种用户数据分类存储方法的流程图,可以包括:

s11:如果存在需要存储至硬盘中的多个用户数据,则确定需要存储至硬盘中的各个用户数据均为目标数据。

需要说明的是,本发明实施例提供的一种用户数据分类存储方法的执行主语可以为对应的装置。其中,硬盘即为背景技术中的ssd盘,当存在需要存储至硬盘中的多个用户数据时,则可以确定这些用户数据为目标数据,也即任意需要存储至硬盘中的多个用户数据均可作为目标数据进行后续处理。

s12:确定各个目标数据在lun中对应的lba均为目标lba,并确定各个目标lba的数据变化频率。

需要说明的是,对用户数据的存储流程一般包括将用户数据存储至lun(logicalunitnumber,指逻辑单元号)的lba(logicalblockaddress,逻辑区块地址)对应位置,再将用户数据由lun中对应位置存储至硬盘中。其中,对于任一lba(可称该任一lba为特定lba),首次写入用户数据至特定lba对应位置时,首次写入的用户数据为有效的用户数据并被存储至硬盘中;第二次写入用户数据至特定lba对应位置时,首次写入的用户数据成为无效数据,而第二次写入的用户数据成为有效数据并被存储至硬盘中;第三次写入用户数据至特定lba对应位置时,第二次写入的用户数据成为无效数据,而第三次写入的用户数据成为有效数据并被存储至硬盘中;以此类推。而本申请中lba的数据变化频率即为向该lba对应位置写数据的频率,数据变化频率越高,表明对应的lba的位置处写数据的频率越高,也就表明对应的lba的位置处数据失效的速率越快,进而据此实现目标数据的存储。

s13:将数据变化频率按照大小分为不同的频率段,并将同一频率段内的数据变化频率对应的目标数据存储至硬盘中相邻的位置。

将数据变化频率按照大小分为不同的频率段具体可以根据实际需要进行划分,如可以将数据变化频率分为0~0.0001(小于1年1次)、0.0001~0.001(小于1月1次)、0.001~0.04(小于1天1次)、0.04~1(小于1小时1次)、1~16、16~无穷这6个频率段。进而将同一频率段内的数据变化频率对应目标数据存储至硬盘中相邻的位置,而不同频率段对应的目标数据分开存储,从而实现用户数据的分类存储。

本申请公开的技术方案中,对于需要存储至硬盘中的多个目标数据,将各个目标数据对应lba的数据变化频率按照大小划分为不同的频率段,进而将同一频率段内数据变化频率对应目标数据存储至硬盘中相邻的位置;由于lba数据变化频率越高,说明该lba对应位置写用户数据的频率越高,也就说明该lba对应位置的用户数据失效速度越快,因此通过频率段的划分将对应lba的数据变化频率相近的目标数据存储至相邻的位置,能够使得相邻位置的用户数据失效时间相近,进而在实现用户数据回收时能够对相近时间失效的部分用户数据进行统一回收,大大减少了数据迁移需求,减少了无效损耗,增加了ssd盘寿命。

本发明实施例提供的一种用户数据分类存储方法,确定各个目标lba的数据变化频率之前,还可以包括:

如果目标数据中存在为首次写入对应lba的位置的用户数据,则对于为首次写入对应lba的位置的用户数据的目标数据,将目标数据存储至硬盘中的指定位置,对于不为首次写入对应lba的位置的用户数据的目标数据,执行确定各个目标lba的数据变化频率的步骤。

需要说明的是,如果目标数据为首次写入对应lba的位置的用户数据,则无法计算对应lba的数据变化频率,因此,可将首次写入对应lba的位置的用户数据存储至硬盘中的指定位置,该指定位置具体可以根据实际需要进行设定,而对于不是首次写入对应lba的位置的用户数据,则可以通过计算对应lba的数据变化频率实现对应用户数据的分类及存储,此时,确定各个目标lba的数据变化频率及后续步骤所针对的均为不是首次写入对应lba的位置的目标数据。从而通过对目标数据是否为首次写入对应lba的位置的用户数据的判断,能够使得无法计算对应数据变化频率的数据也被分为一类,并存储至指定位置,进一步保证了用户数据的有效分类及存储。

本发明实施例提供的一种用户数据分类存储方法,确定各个目标lba的数据变化频率,可以包括:

确定各个目标lba中任一目标lba的位置首次写入数据时刻至写入对应目标数据时刻之间的时间段为目标时间段,确定在目标时间段内在该任一目标lba的位置写入数据的次数为目标次数,确定目标次数与目标时间段的比值为该任一目标lba的数据变化频率。

需要说明的是,对于任一目标lba,在该任一目标lba的位置首次写入数据时可记录首次写时间,并且每次在该任一目标lba的位置写入数据时刻以累积方式记录在该任一目标lba的位置写入数据的总次数(即目标次数),进而在计算该任一目标lba的数据变化频率时将目标次数除以首次写时间至写入目标数据时刻之间的时间段得到对应的数据变化频率,通过这种方式能够以最简单快速的方式实现数据变化频率的计算。

对于数据变化频率的计算,也可以根据实际需要进行其他设定,如可以只计算当前时刻之前预设时间段内各目标lba的数据变化频率,这种情况下确定的目标时间段为各个目标lba中任一目标lba的位置在当前时刻之间预设时间段内首次写入数据至当前时刻之间的时间段,而预设时间段可以根据实际需要进行设定,如可以为一天,由此,能够使得计算出的数据变化频率更具有实时性和有效性。

本发明实施例提供的一种用户数据分类存储方法,还可以包括:

由硬盘中删除指定lba对应的全部用户数据,并在再次向该指定lba的位置写入用户数据时,确定该再次写入至指定lba的位置的用户数据为首次写入该指定lba的位置的用户数据。

需要说明的是,由硬盘中删除指定lba对应的全部用户数据(此处删除用户数据为存储空间彻底回收、而非用户删除相应位置的文件),即将指定lba对应位置写入过的同一用户数据的全部无效的用户数据及有效的用户数据全部删除,也即彻底删除指定lba对应的同一用户数据,实现该删除动作后,则可认为lba对应位置为未写入任何用户数据的位置,也即再次写入指定lba的用户数据则为首次写入该指定lba的用户数据。由此,本申请中对于lba的数据变化频率的计算为基于同一用户数据对应的多次写入的用户数据完成的计算,使得计算出的数据变化频率为对应于同一用户数据的变化频率,从而在基于数据变化频率实现数据分类存储时保证了分类有效性。

另外需要说明的是,由硬盘中删除指定lba对应的全部用户数据,也可以将在指定lba的位置首次写入数据时记录的首次写时间,以及每次在该指定lba的位置写入数据时刻以累积方式记录的在该指定lba的位置写入数据的总次数(即目标次数)全部删除,从而清空记录后重新开始新一轮的信息记录。

本发明实施例提供的一种用户数据分类存储方法,确定存在需要存储至硬盘中的多个用户数据,可以包括:

当存在多个需要由lun中写入至硬盘中的用户数据,或者存在多个存储于硬盘中且需要实现数据迁移的用户数据时,则确定存在需要存储至硬盘中的多个用户数据。

需要说明的是,需要存储至硬盘中的用户数据可以为需要由lun中写入至硬盘中的用户数据,也可以为存储于硬盘中的需要迁移至硬盘中其他位置的用户数据,此时可确定这些需要存储至硬盘中的用户数据为目标数据,由此,不仅能够实现对于用户数据首次存储至硬盘中时的分类存储,而且能够实现对于用户数据非首次存储至硬盘中时的分类存储,保证了硬盘中的用户数据以最大可能的实现失效时间相近用户数据对应存储位置邻近,以在实现用户数据回收时能够对相近时间失效的部分用户数据进行统一回收。

另外,本申请中在将lun中的用户数据写入至硬盘中后还可以记录该用户数据写入对应lba的位置的时间,从而在计算对应的数据变化频率时方便获取及使用。

本申请公开的用户数据分类存储方法中,自动统计和分析用户数据对应lba的数据变化频率,并依据该数据变化频率对用户数据进行分类及存储,将相近数据变化频率的用户数据放在连续的位置,将不相近数据变化频率的用户数据放在不同的位置,这样相邻位置的用户数据就会在相近的时间内变为无效,从而减少ssd盘的无效数据搬迁,进而提升ssd硬盘的寿命。

本发明实施例还提供了一种用户数据分类存储装置,如图2所示,可以包括:

第一确定模块11,用于:如果存在需要存储至硬盘中的多个用户数据,则确定需要存储至硬盘中的各个用户数据均为目标数据;

第二确定模块12,用于:确定各个目标数据在lun中对应的lba均为目标lba,并确定各个目标lba的数据变化频率;

数据存储模块13,用于:将数据变化频率按照大小分为不同的频率段,并将同一频率段内的数据变化频率对应的目标数据存储至硬盘中相邻的位置。

本发明实施例提供的一种用户数据分类存储装置,还可以包括:

判断模块,用于:确定各个目标lba的数据变化频率之前,如果目标数据中存在为首次写入对应lba的位置的用户数据,则对于为首次写入对应lba的位置的用户数据的目标数据,将目标数据存储至硬盘中的指定位置,对于不为首次写入对应lba的位置的用户数据的目标数据,指示第二确定模块执行确定各个目标lba的数据变化频率的步骤。

本发明实施例提供的一种用户数据分类存储装置,还可以包括:

删除模块,用于:由硬盘中删除指定lba对应的全部用户数据,并在再次向该指定lba的位置写入用户数据时,确定该再次写入至指定lba的位置的用户数据为首次写入该指定lba的位置的用户数据。

本发明实施例提供的一种用户数据分类存储装置,第二确定模块包括:

第二确定单元,用于:确定各个目标lba中任一目标lba的位置首次写入数据时刻至写入对应目标数据时刻之间的时间段为目标时间段,确定在目标时间段内在该任一目标lba的位置写入数据的次数为目标次数,确定目标次数与目标时间段的比值为该任一目标lba的数据变化频率。

本发明实施例提供的一种用户数据分类存储装置,第一确定模块包括:

第一确定单元,用于:当存在多个需要由lun中写入至硬盘中的用户数据,或者存在多个存储于硬盘中且需要实现数据迁移的用户数据时,则确定存在需要存储至硬盘中的多个用户数据。

本发明实施例还提供了一种用户数据分类存储设备,可以包括:

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

处理器,用于执行计算机程序时实现如上任一项用户数据分类存储方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上任一项用户数据分类存储方法的步骤。

需要说明的是,本发明实施例提供的一种用户数据分类存储装置、设备及计算机存储介质中相关部分的说明请参见本发明实施例提供的一种用户数据分类存储方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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