发明内容
本发明实施例提供一种确定数据迁移对象的方法和装置,旨在解决当前确定数据迁移对象的方法没有充分利用优质的存储资源,使得在剩余空间还有很多时,下面的数据不能迁入。同时还存在难以适应动态变化的负载的问题。
为此,本发明实施例提供了如下技术方案:
一种确定数据迁移对象的装置,包括:
局部筛选对象选取模块,用于选取各存储层次上所有的已估值数据,作为局部筛选的对象;
局部筛选模块,与局部筛选对象选取模块相连接,其每个存储层次都存在已设置好的阈值,用于将所述已估值数据的热度值与所述阈值比较,进行局部筛选得到局部筛选的结果;
全局筛选模块,与局部筛选模块相连接,用于将所述局部筛选的结果,结合各存储层次的剩余空间再次进行筛选,过滤掉不需要迁移的数据对象,获得所述数据迁移的对象;
更新模块,用于所述数据迁移结束后,根据迁移结果更新所述阈值。
本发明实施例还提供了一种确定数据迁移对象的方法,包括以下步骤:
A:每个存储层次都存在已设置好的阈值,将已估值数据的热度值与所述阈值比较,进行局部筛选得到局部筛选的结果;
B:将所述局部筛选的结果,结合各存储层次的剩余空间再次进行筛选,获得所述数据迁移对象;
C:所述数据迁移结束后,根据迁移结果更新所述阈值。
与现有技术相比,本发明的实施例具有如下优点:
本发明利用局部筛选和全局筛选相结合,首先在各存储层次上自行筛选,再对通过局部筛选的结果进行进一步筛选,结合各级存储的剩余空间,确定数据迁移的对象,从而能够使得迁移的对象尽可能少且能够适应***负载的动态变化,还可以充分利用优质的存储资源。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的确定数据迁移对象的方法流程图,为了便于说明,仅示出了与本发明实施例相关的部分。
如图1所示,该方法包括以下步骤:
步骤101,每个存储层次都存在已设置好的阈值,将已估值数据的热度值与所述阈值比较,进行局部筛选得到局部筛选的结果。
可以理解的是,进行局部筛选时,选取各存储层次上所有的已估值数据,作为局部筛选的对象。具体的,分级存储***中存在已估值数据,每个已估值数据都有热度值与之相对应,所述热度值可比较大小。
本实施例中,所述分级存储***分为至少三个层次,从上到下依次是第一层,第二层,第三层,相当于一个金字塔的结构,且任何两个层次之间都可以进行数据迁移,即每个存储层次都可以往其他存储层次迁移数据。其中,第一层往第二层或第三层迁移,叫做下迁;第三层往第二层或第一层迁移,叫做上迁。
可以理解的是,三个层次的分级存储***总共有6个数据迁移的方向。
具体的,所述阈值是个非负实数,可比较大小。
所述阈值包括上限阈值和下限阈值,优选的,首次将上限阈值设定为0,下限阈值设定为正无穷大。
具体的,将热度值大于上限阈值或小于下限阈值的所述已估值数据,作为局部筛选的结果。即将热度值小于上限阈值或大于下限阈值的数据筛掉。
步骤102,将所述局部筛选的结果,结合各存储层次的剩余空间再次进行筛选,过滤掉不需要迁移的数据对象,获得所述数据迁移对象。
具体的,将所述局部筛选获得的结果,按照其热度值的大小从大到小排列,与存储层次相匹配,然后往存储层次上尝试存放。
具体的,若所述存储层次上可以容纳所述数据,则存放成功;
具体的,若不能容纳所述数据,则所述数据向下一级存储层次进行尝试存放,直到所述数据均存放成功。
本实施例中,所述尝试存放是在不考虑数据原有存储位置的情况下,只根据其热度值和各级存储层次的剩余空间,确定其因有的存放位置。如果原有存储位置与因有的存放层次一致,则所述数据不需要迁移;如果原有存储位置与因有的存放层次不一致,则因有的存放位置为迁移目标。
剩余空间是指所述存储层次最佳使用空间及实际使用空间之间的差值。
一级存储的最佳使用空间与其全部使用空间的比值小于1,通常为80%,其余存储层次的使用空间与其全部使用空间的比值可根据实际情况进行调整。
步骤103,所述数据迁移结束后,根据迁移结果更新所述阈值。
优选的,所述数据迁移结束后,将所述上限阈值更新为本存储层次中上迁的数据中的最小热度值,下限阈值更新为本存储级中下迁的数据中的最大热度值。
优选的,若没有上迁或下迁发生,则维持该存储层次的阈值不变。
基于相同的构思,本发明实施例还提供一种确定数据迁移对象的装置,如图2所示,该装置包括:
局部筛选对象选取模块201,用于选取各存储层次上所有的已估值数据,作为局部筛选的对象。
具体的,***中存在已估值的数据,每个已估值数据都有热度值与之相对应,所述热度值可比较大小。
局部筛选模块202,与局部筛选对象选取模块201相连接,其每个存储层次都存在已设置好的阈值,用于将所述已估值数据的热度值与所述阈值比较,进行局部筛选得到局部筛选的结果。
可以理解的是,进行局部筛选时,选取各存储层次上所有的已估值数据,作为局部筛选的对象。具体的,***中存在已估值数据,每个已估值数据都有热度值与之相对应,所述热度值可比较大小。
具体的,阈值是个非负实数,可比较大小。
所述阈值包括上限阈值和下限阈值,优选的,首次将上限阈值设定为0,下限阈值设定为正无穷大。
具体的,将热度值大于上限阈值或小于下限阈值的所述已估值数据,作为局部筛选的结果。即将热度值小于上限阈值或大于下限阈值的数据筛掉。
全局筛选模块203,与所述局部筛选模块202相连接,用于将所述局部筛选的结果,结合各存储层次的剩余空间再次进行筛选,过滤掉不需要迁移的数据对象,获得所述数据迁移的对象。
具体的,将所述局部筛选获得的结果,按照其热度值的大小从大到小排列,与存储层次相匹配,然后往存储层次上尝试存放。
具体的,若所述存储层次上可以容纳所述数据,则存放成功;
具体的,若不能容纳所述数据,则所述数据向下一级存储层次进行尝试存放,直到所述数据均存放成功。
本实施例中,所述尝试存放是在不考虑数据原有存储位置的情况下,只根据其热度值和各级存储层次的剩余空间,确定其因有的存放位置。如果原有存储位置与因有的存放层次一致,则所述数据不需要迁移;如果原有存储位置与因有的存放层次不一致,则因有的存放位置为迁移目标。
剩余空间是指所述存储层次最佳使用空间及实际使用空间之间的差值。
一级存储的最佳使用空间与其全部使用空间的比值小于1,通常为80%,其余存储层次的使用空间与其全部使用空间的比值可根据实际情况进行调整。
更新模块204,用于所述数据迁移结束后,根据迁移结果更新所述阈值。
优选的,所述数据迁移结束后,将所述上限阈值更新为本存储层次中上迁的数据中的最小热度值,下限阈值更新为本存储级中下迁的数据中的最大热度值。
优选的,若没有上迁或下迁发生,则维持该存储层次的阈值不变。
本发明实施例利用局部筛选和全局筛选相结合,首先在各存储层次上自行筛选,再对通过局部筛选的结果进行进一步筛选,结合各级存储的剩余空间,确定数据迁移的对象,从而能够使得迁移的对象尽可能少且能够适应***负载的动态变化,还可以充分利用优质的存储资源。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。