一种数据分层存储系统及方法与流程

文档序号:12462628阅读:335来源:国知局
一种数据分层存储系统及方法与流程

本发明涉及计算机技术领域,特别涉及一种数据分层存储系统及方法。



背景技术:

随着云计算、云存储、物联网等技术的不断发展,数据呈现爆炸式增长的趋势。因此,在提高存储系统容量的基础之上,还需考虑如何对海量数据进行有效管理,以提高磁盘利用率及保证存储系统的整体性能。

目前,存储系统中可以预先建立多个固定的分层,其中,每一个分层均对应有存储介质。当存在新数据时,该新数据与哪一分层的关联度相对最高,即可将该新数据存储至这一分层中。

但是,基于新数据的不断存入,易造成一些分层中存储的数据过多,使得各分层间数据存储不均衡,从而造成存储系统的磁盘利用率较低。



技术实现要素:

本发明提供了一种数据分层存储系统及方法,能够提高存储系统的磁盘利用率。

为了达到上述目的,本发明是通过如下技术方案实现的:

一方面,本发明提供了一种数据分层存储系统,包括:

数据监控模块、自动分层模块、数据迁移模块,其中,所述数据监控模块包括命中率统计单元、数据样本筛选单元、数据层级标注单元;

所述命中率统计单元,用于针对存储系统的至少两个分层中的第一分层,统计相应预设时间段内,外部对所述第一分层的访问次数;在确定出所述访问次数未达到相应预设阈值时,触发所述数据样本筛选单元;

所述数据样本筛选单元,用于针对所述存储系统的每一个分层均执行:根据相应预设时间段内,外部所访问的该分层中存储的第一数量的数据,确定所述第一数量的数据中的第二数量的样本数据,其中,所述第一数量不小于所述第二数量;将确定出的针对每一个分层的第二数量的样本数据发送给所述自动分层模块;

所述自动分层模块,用于根据所述数据样本筛选单元发来的针对每一个分层的第二数量的样本数据,建立自动分层模型,并触发所述数据层级标注单元;针对所述数据层级标注单元发来的至少一个目标数据,利用所述自动分层模型,分别确定每一个所述目标数据所属的分层层级,并将其发送给所述数据层级标注单元;

所述数据层级标注单元,用于在接收到所述自动分层模块发来的触发信号时,确定至少一个目标数据,并将其发送给所述自动分层模块;在接收到所述自动分层模块发来的每一个所述目标数据所属的分层层级时,触发所述数据迁移模块;

所述数据迁移模块,用于针对所述数据层级标注单元中确定的每一个所述目标数据,均执行:将该目标数据存储至其所属的分层层级对应的分层中。

进一步地,所述第一分层为存储系统的至少两个分层中的最高分层层级对应的分层,其中,分层层级越高,单位时间内外部对该分层层级对应的分层的访问次数越多。

进一步地,所述命中率统计单元中基于的预设时间段与所述数据样本筛选单元中基于的预设时间段,在时间维度上为同一时间段;

所述第二数量占所述第一数量的百分比固定。

进一步地,所述自动分层模型为决策树;

所述自动分层模块,包括第一处理单元、第二处理单元和第三处理单元,其中,

所述第一处理单元,用于根据所述数据样本筛选单元发来的针对每一个分层的第二数量的样本数据,结合公式一、公式二、公式三、公式四、公式五、公式六、公式七和公式八,确定样本数据当前的至少两个特征中,具有最大信息增益比的特征;判断所述最大信息增益比是否不小于相应设定阈值,若是,将该特征确定为有效特征,否则,触发第二处理单元;

所述第二处理单元,用于将所述有效特征设置为决策树的已有节点的下一级节点,并触发第三处理单元;在接收到所述第一处理单元的触发操作时,完成所述决策树的创建,并清除创建的上一个决策树;

所述第三处理单元,用于在接收到所述第二处理单元的触发操作时,将所述有效特征从所述当前的至少两个特征中剔除,得到剔除后的至少两个特征;将所述剔除后的至少两个特征再次作为当前的至少两个特征,并触发所述第一处理单元;

所述公式一,包括:

其中,P(Xij)为Xij的概率;Xij为样本数据当前的至少两个特征中的第i个特征,且该第i个特征的取值为该特征可取的至少一个数值中的第j个数值;Nij为在每一个分层中存储的样本数据中,具有Xij特征的样本数据的个数的总和;N为每一个分层中存储的样本数据的个数的总和;

所述公式二,包括:

其中,P(Yi)为Yi的概率;Yi为存储系统的至少两个分层中的第i个分层,且每一个分层中存储有样本数据;Mi为第i个分层中存储的样本数据的个数;N为每一个分层中存储的样本数据的个数的总和;

所述公式三,包括:

其中,P(Yi|Xij)为Yi|Xij的概率;Yi|Xij为存储系统的至少两个分层中的第i个分层,且每一个分层中存储有具有Xij特征的样本数据;M′i为第i个分层中存储的具有Xij特征的样本数据的个数;N′为每一个分层中存储的具有Xij特征的样本数据的个数的总和;

所述公式四,包括:

其中,H(Y)为Y的熵;Y为存储系统的分层;P(Yi)为Yi的概率;n1为存储系统的至少两个分层的个数;

所述公式五,包括:

其中,H(Y|Xij)为Y|Xij的熵;Y|Xij为存储系统的分层,且每一个分层中存储有具有Xij特征的样本数据;P(Yi|Xij)为Yi|Xij的概率;

所述公式六,包括:

其中,H(Y|Xi)为Y|Xi的条件熵;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;P(Xij)为Xij的概率;H(Y|Xij)为Y|Xij的熵;n2为第i个特征可取的至少一个数值的个数;

所述公式七,包括:g(Y|Xi)=H(Y)-H(Y|Xi)

其中,g(Y|Xi)为Y|Xi的信息增益;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;H(Y)为Y的熵;H(Y|Xi)为Y|Xi的条件熵;

所述公式八,包括:

其中,gR(Y|Xi)为Y|Xi的信息增益比;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;g(Y|Xi)为Y|Xi的信息增益;H(Y)为Y的熵。

进一步地,所述目标数据包括:新数据,和/或,存储系统的每一个分层中存储的已有数据,其中,所述已有数据不包括所述样本数据;

所述数据迁移模块,具体用于所述目标数据为新数据时,将该新数据存储至其所属的分层层级对应的分层中;所述目标数据为已有数据,且该已有数据的当前所属分层层级与所述自动分层模块确定的分层层级不相同时,将该已有数据从当前所属分层层级对应的分层中,迁移至所述自动分层模块确定的分层层级对应的分层中。

另一方面,本发明提供了一种数据分层存储方法,包括:

针对存储系统的至少两个分层中的第一分层,统计相应预设时间段内,外部对所述第一分层的访问次数;

在确定出所述访问次数未达到相应预设阈值时,针对所述存储系统的每一个分层均执行:根据相应预设时间段内,外部所访问的该分层中存储的第一数量的数据,确定所述第一数量的数据中的第二数量的样本数据,其中,所述第一数量不小于所述第二数量;

根据每一个分层的第二数量的样本数据,建立自动分层模型;

确定至少一个目标数据,并利用所述自动分层模型,分别确定每一个所述目标数据所属的分层层级;

针对每一个所述目标数据,均执行:将该目标数据存储至其所属的分层层级对应的分层中。

进一步地,所述第一分层为存储系统的至少两个分层中的最高分层层级对应的分层,其中,分层层级越高,单位时间内外部对该分层层级对应的分层的访问次数越多。

进一步地,统计外部对所述第一分层的访问次数时基于的预设时间段,与确定所述第一数量的数据中的第二数量的样本数据时基于的预设时间段,在时间维度上为同一时间段;

所述第二数量占所述第一数量的百分比固定。

进一步地,所述自动分层模型为决策树;

所述根据每一个分层的第二数量的样本数据,建立自动分层模型,包括:

S1:根据每一个分层的第二数量的样本数据,结合公式一、公式二、公式三、公式四、公式五、公式六、公式七和公式八,确定样本数据当前的至少两个特征中,具有最大信息增益比的特征;判断所述最大信息增益比是否不小于相应设定阈值,若是,将该特征确定为有效特征,并执行S2,否则,执行S4;

S2:将所述有效特征设置为决策树的已有节点的下一级节点,并执行S3;

S3:将所述有效特征从所述当前的至少两个特征中剔除,得到剔除后的至少两个特征,以及将所述剔除后的至少两个特征再次作为当前的至少两个特征,并执行S1;

S4:完成所述决策树的创建,并清除创建的上一个决策树;其中,

所述公式一,包括:

其中,P(Xij)为Xij的概率;Xij为样本数据当前的至少两个特征中的第i个特征,且该第i个特征的取值为该特征可取的至少一个数值中的第j个数值;Nij为在每一个分层中存储的样本数据中,具有Xij特征的样本数据的个数的总和;N为每一个分层中存储的样本数据的个数的总和;

所述公式二,包括:

其中,P(Yi)为Yi的概率;Yi为存储系统的至少两个分层中的第i个分层,且每一个分层中存储有样本数据;Mi为第i个分层中存储的样本数据的个数;N为每一个分层中存储的样本数据的个数的总和;

所述公式三,包括:

其中,P(Yi|Xij)为Yi|Xij的概率;Yi|Xij为存储系统的至少两个分层中的第i个分层,且每一个分层中存储有具有Xij特征的样本数据;M′i为第i个分层中存储的具有Xij特征的样本数据的个数;N′为每一个分层中存储的具有Xij特征的样本数据的个数的总和;

所述公式四,包括:

其中,H(Y)为Y的熵;Y为存储系统的分层;P(Yi)为Yi的概率;n1为存储系统的至少两个分层的个数;

所述公式五,包括:

其中,H(Y|Xij)为Y|Xij的熵;Y|Xij为存储系统的分层,且每一个分层中存储有具有Xij特征的样本数据;P(Yi|Xij)为Yi|Xij的概率;

所述公式六,包括:

其中,H(Y|Xi)为Y|Xi的条件熵;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;P(Xij)为Xij的概率;H(Y|Xij)为Y|Xij的熵;n2为第i个特征可取的至少一个数值的个数;

所述公式七,包括:g(Y|Xi)=H(Y)-H(Y|Xi)

其中,g(Y|Xi)为Y|Xi的信息增益;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;H(Y)为Y的熵;H(Y|Xi)为Y|Xi的条件熵;

所述公式八,包括:

其中,gR(Y|Xi)为Y|Xi的信息增益比;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;g(Y|Xi)为Y|Xi的信息增益;H(Y)为Y的熵。

进一步地,所述目标数据包括:新数据,和/或,存储系统的每一个分层中存储的已有数据,其中,所述已有数据不包括所述样本数据;

所述将该目标数据存储至其所属的分层层级对应的分层中,包括:该目标数据为新数据时,将该新数据存储至其所属的分层层级对应的分层中;该目标数据为已有数据,且该已有数据的当前所属分层层级与确定出的分层层级不相同时,将该已有数据从当前所属分层层级对应的分层中,迁移至确定出的分层层级对应的分层中。

本发明提供了一种数据分层存储系统及方法,该系统包括数据监控模块、自动分层模块、数据迁移模块;数据监控模块在确定出一定时间内外部对存储系统的第一分层的访问次数未达到阈值时,根据外部对各分层的访问记录,确定各分层的样本数据;自动分层模块根据样本数据建立自动分层模型,并针对数据监控模块发来的各目标数据,利用自动分层模型确定各目标数据所属的分层层级;数据迁移模块将各目标数据存储至其所属的分层层级对应的分层中。外部对分层的访问可以反映其当前的访问热点,访问热点变动时,系统可以确定样本数据以重建自动分层模型,并据此将各数据存储或迁移至对应分层。因此,本发明能够提高存储系统的磁盘利用率。

附图说明

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

图1是本发明一实施例提供的一种数据分层存储系统的示意图;

图2是本发明一实施例提供的另一种数据分层存储系统的示意图;

图3是本发明一实施例提供的一种决策树的示意图;

图4是本发明一实施例提供的一种数据分层存储方法的流程图;

图5是本发明一实施例提供的另一种数据分层存储方法的流程图。

具体实施方式

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

如图1所示,本发明实施例提供了一种数据分层存储系统,可以包括:

数据监控模块101、自动分层模块102、数据迁移模块103,其中,所述数据监控模块101包括命中率统计单元1011、数据样本筛选单元1012、数据层级标注单元1013;

所述命中率统计单元1011,用于针对存储系统的至少两个分层中的第一分层,统计相应预设时间段内,外部对所述第一分层的访问次数;在确定出所述访问次数未达到相应预设阈值时,触发所述数据样本筛选单元1012;

所述数据样本筛选单元1012,用于针对所述存储系统的每一个分层均执行:根据相应预设时间段内,外部所访问的该分层中存储的第一数量的数据,确定所述第一数量的数据中的第二数量的样本数据,其中,所述第一数量不小于所述第二数量;将确定出的针对每一个分层的第二数量的样本数据发送给所述自动分层模块102;

所述自动分层模块102,用于根据所述数据样本筛选单元1012发来的针对每一个分层的第二数量的样本数据,建立自动分层模型,并触发所述数据层级标注单元1013;针对所述数据层级标注单元1013发来的至少一个目标数据,利用所述自动分层模型,分别确定每一个所述目标数据所属的分层层级,并将其发送给所述数据层级标注单元1013;

所述数据层级标注单元1013,用于在接收到所述自动分层模块102发来的触发信号时,确定至少一个目标数据,并将其发送给所述自动分层模块102;在接收到所述自动分层模块102发来的每一个所述目标数据所属的分层层级时,触发所述数据迁移模块103;

所述数据迁移模块103,用于针对所述数据层级标注单元1013中确定的每一个所述目标数据,均执行:将该目标数据存储至其所属的分层层级对应的分层中。

本发明实施例提供了一种数据分层存储系统,包括数据监控模块、自动分层模块、数据迁移模块;数据监控模块在确定出一定时间内外部对存储系统的第一分层的访问次数未达到阈值时,根据外部对各分层的访问记录,确定各分层的样本数据;自动分层模块根据样本数据建立自动分层模型,并针对数据监控模块发来的各目标数据,利用自动分层模型确定各目标数据所属的分层层级;数据迁移模块将各目标数据存储至其所属的分层层级对应的分层中。外部对分层的访问可以反映其当前的访问热点,访问热点变动时,系统可以确定样本数据以重建自动分层模型,并据此将各数据存储或迁移至对应分层。因此,本发明实施例能够提高存储系统的磁盘利用率。

详细地,对于存储系统的每一个分层,各分层的分层层级可以由高到低依次排序。其中,针对最高分层层级对应的分层,单位时间内外部对该分层层级对应的分层的访问次数越多,故该分层对应的存储介质可以为读写速度快,成本高的存储介质,用于存放将少量的、经常被访问的数据。对应地,针对最低分层层级对应的分层,单位时间内外部对该分层层级对应的分层的访问次数越少,故该分层对应的存储介质可以为读写速度慢,成本低的存储介质,用于存放将大量的、不常用的数据。

可以看出,基于不同磁盘的物理特性,可以将不同访问速度的磁盘进行结合以构造混合存储系统,通过多层存储介质来存放不同访问热度的数据。这一实现方式不仅能够降低存储成本,还能提高存储系统的整体性能。因此,需要高效准确地实现数据的自动分层,即将各数据存储至其对应的分层中。

基于上述内容,在本发明的一个实施例中,所述第一分层为存储系统的至少两个分层中的最高分层层级对应的分层,其中,分层层级越高,单位时间内外部对该分层层级对应的分层的访问次数越多。

详细地,外部对分层的访问可以反映其当前的访问热点。例如,单位时间内,外部对哪个分层的访问次数越多,说明该分层中存储的数据越贴近当前的访问热点。大多情况下,外部对最高分层层级对应的分层的访问次数通常最多,否则,说明当前的访问热点有变动,或系统的分层存在不合理之处。

当访问热点变动时,或分层不合理时,可以对各分层中存储的数据进行迁移,以及将新数据存储至适宜分层中,以保证存储系统的磁盘利用率。

因此,在本发明实施例中,第一分层优选地可以为最高分层层级对应的分层,根据该分层的访问次数,以判断外部当前的访问热点是否存在变动。

当然,在本发明其他实施例中,根据不同的实际应用需求,该第一分层同样可以为非最高分层层级对应的任一分层。

在本发明的一个实施例中,为了保证访问热点的准确判断,以根据当前的访问热点重新建立对应的自动分层模型,所以,所述命中率统计单元1011中基于的预设时间段与所述数据样本筛选单元1012中基于的预设时间段,在时间维度上为同一时间段;

所述第二数量占所述第一数量的百分比固定。

详细地,可以对外部对各分层的访问情况进行实时记录,并定期判断一定时间段内外部对第一分层的访问次数是否超过设定阈值,若是,说明当前的访问热点与当前的自动分层模型相一致,否则,说明两者匹配度不是最优。

优选地,当判断出一定时间段内,如一个周期内,外部对第一分层的访问次数没有达到设定阈值时,说明当前的访问热点有变动,故可以同样针对该时间段,提取记录的外部在该时间段内对各分层的访问情况。例如,优选地,可以确定外部在该时间段内所访问的存储于各分层中的数据。

由于基于同一时间段,故确定出的这些被访问的数据与确定出的外部对第一分层的访问次数具有一致性,故这些被访问的数据可以作为用于重建自动分层模型的样本数据。

举例来说,假设外部在设定时间段内在第一分层访问了100条数据,那该100条数据均可以作为第一分层的样本数据。当然,基于不同的实际需求,如考虑到数据运算量的问题,同样可以提取出其中的部分数据作为样本数据。

优选地,针对任一分层,若外部访问了第一数量的数据,可以将该第一数量的数据中的第二数量的数据作为样本数据,其中,第二数量占第一数量的百分比固定,比如可以为50%。此外,样本数据可以为从第一数量的数据中随机提取的数据。

举例来说,对于第一分层,外部访问了100条数据,可以随机提取其中的50条数据作为第一分层的样本数据。对于第二分层,外部访问了20条数据,可以随机提取其中的10条数据作为第二分层的样本数据。依次类推,可以确定出每一个分层的样本数据。

当然,在本发明另一实施例中,基于不同的实际应用需求,同样可以要求任一分层的样本数据的数量均相同。

随着时间的推移,用户对数据的需求发生着改变,即访问热点可能发生改变,故可以通过更新自动分层模型来满足用户新的需求。

因此,在本发明的一个实施例中,为了说明一种根据样本数据重建自动分层模型的可能实现方式,所以,请参考图2,所述自动分层模型为决策树;

所述自动分层模块102,包括第一处理单元1021、第二处理单元1022和第三处理单元1023,其中,

所述第一处理单元1021,用于根据所述数据样本筛选单元1012发来的针对每一个分层的第二数量的样本数据,结合下述公式(1)、下述公式(2)、下述公式(3)、下述公式(4)、下述公式(5)、下述公式(6)、下述公式(7)和下述公式(8),确定样本数据当前的至少两个特征中,具有最大信息增益比的特征;判断所述最大信息增益比是否不小于相应设定阈值,若是,将该特征确定为有效特征,否则,触发第二处理单元1022;

所述第二处理单元1022,用于将所述有效特征设置为决策树的已有节点的下一级节点,并触发第三处理单元1023;在接收到所述第一处理单元1021的触发操作时,完成所述决策树的创建,并清除创建的上一个决策树;

所述第三处理单元1023,用于在接收到所述第二处理单元1022的触发操作时,将所述有效特征从所述当前的至少两个特征中剔除,得到剔除后的至少两个特征;将所述剔除后的至少两个特征再次作为当前的至少两个特征,并触发所述第一处理单元1021;

其中,P(Xij)为Xij的概率;Xij为样本数据当前的至少两个特征中的第i个特征,且该第i个特征的取值为该特征可取的至少一个数值中的第j个数值;Nij为在每一个分层中存储的样本数据中,具有Xij特征的样本数据的个数的总和;N为每一个分层中存储的样本数据的个数的总和;

其中,P(Yi)为Yi的概率;Yi为存储系统的至少两个分层中的第i个分层,且每一个分层中存储有样本数据;Mi为第i个分层中存储的样本数据的个数;N为每一个分层中存储的样本数据的个数的总和;

其中,P(Yi|Xij)为Yi|Xij的概率;Yi|Xij为存储系统的至少两个分层中的第i个分层,且每一个分层中存储有具有Xij特征的样本数据;M′i为第i个分层中存储的具有Xij特征的样本数据的个数;N′为每一个分层中存储的具有Xij特征的样本数据的个数的总和;

其中,H(Y)为Y的熵;Y为存储系统的分层;P(Yi)为Yi的概率;n1为存储系统的至少两个分层的个数;

其中,H(Y|Xij)为Y|Xij的熵;Y|Xij为存储系统的分层,且每一个分层中存储有具有Xij特征的样本数据;P(Yi|Xij)为Yi|Xij的概率;

其中,H(Y|Xi)为Y|Xi的条件熵;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;P(Xij)为Xij的概率;H(Y|Xij)为Y|Xij的熵;n2为第i个特征可取的至少一个数值的个数;

g(Y|Xi)=H(Y)-H(Y|Xi) (7)

其中,g(Y|Xi)为Y|Xi的信息增益;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;H(Y)为Y的熵;H(Y|Xi)为Y|Xi的条件熵;

其中,gR(Y|Xi)为Y|Xi的信息增益比;Y|Xi为存储系统的分层,且该分层针对样本数据当前的至少两个特征中的第i个特征;g(Y|Xi)为Y|Xi的信息增益;H(Y)为Y的熵。

详细地,对于确定出的各分层的样本数据,样本数据通常具有至少两个特征。详细地,通过剔除数据的无效特征,选取有效特征,有助于提高自动分层模型的训练效率。

举例来说,存储系统共有三个分层,分别为最上层、中间层和最下层,且各分层的分层层级依次递减,即最上层为最高分层层级对应的分层。因此,上述各公式中,Y可以取值为对应于最上层的Y1,对应于中间层的Y2,对应于最下层的Y3,且上述公式(4)和公式(5)中的n1=3。

假设已确定出最上层有50个样本数据,中间层有30个样本数据,最下层有20个样本数据。因此,三个分层中共有100个样本数据,即上述公式(1)和公式(2)中的N=100。此外,上述公式(2)中,M1=50,M2=30,M3=20。

对于这100个样本数据,假设样本数据可以具有年龄、性别、身高三个特征,如此,可以通过上述八个公式计算各特征的信息增益比。上述各公式中,Xi可以取值为对应于年龄的X1,对应于性别的X2,对应于身高的X3。以性别为例,性别可以取值男或女,故X2可以取值为对应于男的X21,对应于女的X22

因为性别的取值有两种,故针对X2,上述公式(6)中的n2=2。同理,假设年龄的取值有对应于小于30岁的X11,对应于30岁到50岁之间的X12,对应于大于50岁的X13,故针对X1,上述公式(6)中的n2=3。

以X11为例,假设对于满足小于30岁条件的样本数据,即具有X11特征的样本数据,在最上层中有20个,在中间层中有5个,在最下层中有5个,则上述公式(1)中的N11=30。如此,上述公式(3)中,N′=40,M′1=20,M′2=5,M′3=5。

基于上述举例内容,根据上述八个公式,可以计算各特征的信息增益比。假设计算出的各特征的信息增益比中,年龄的信息增益比最大,且该信息增益比不小于设定阈值,则可以认为年龄为有效特征。

由于年龄是确定出的第一个有效特征,故不存在已有节点,故请参照图3,可以设置年龄为决策树的根节点,或称一级节点。详细地,图3提供了一种可能的决策树示意图,该决策树可以为根据样本数据新建立的自动分机模型。

在设置了根节点之后,可以将根节点对应的特征:年龄剔除,即剔除后的特征有性别和身高。如此,针对性别和身高作为当前的特征,同样针对上述100个样本数据,可以再次通过上述八个公式,计算各特征的信息增益比。

当然,在剔除年龄这一特征之前和剔除年龄这一特征之后,上述公式中的部分数值需要重新计算。例如,对于上述公式(6),剔除年龄这一特征前后,所计算出来的H(Y|Xi)为不同的值。因此,剔除年龄这一特征前后,计算出的各特征的信息增益比不同。

假设剔除年龄这一特征之后,各当前特征中,性别的信息增益比最大,且其不小于设定阈值,故可以确定性别为有效特征。如此,请参照图3,性别这一特征可以设置为根节点的下一级节点,或称二级节点。以此类推,以设置决策树的每一级节点。

之后,可以将性别这一特征剔除,并针对剔除后的至少两个特征,再次确定下一个有效特征。假设之后计算出的最大信息增益比不小于设定阈值,则确定该最大信息增益比对应的特征为有效特征,故可以将该特征设置为性别的下一级节点。对应地,若计算出的最大信息增益比小于设定阈值,则确定不存在有效特征,说明剩余的各特征均不显著,故图3中的决策树可以仅包括确定出的两级节点。在决策树创建完成后,可以清除创建的上一个决策树,即实现决策树的更新替换。

当然,基于上述内容,由于样本数据仅包括三个特征,在确定了性别为二级节点后,仅剩余一个特征:身高,故可以不进行下一轮有效特征的确定,可以直接根据当前计算出的身高的信息增益比,确定身高是否为有效特征,若是,则设置身高为图3中性别的下一级节点,否则,图3中的决策树仅包括两级节点。

假设身高为图3中性别的下一级节点,故根据上述100个样本数据,可以对决策树的每一个分支进行标注,标注各分支所属分层的分层层级,从而完成决策树的创建。

详细地,在图3中,针对身高这一特征,对应的可以有3个取值,例如可以分为对应于不高于160cm的X31、对应于160cm至180cm之间的X32、对应于不低于180cm的X33

请参考图3,图3中的1可以表示为最上层对应的分层层级,2可以表示为中间层对应的分层层级,3可以表示为最下层对应的分层层级。例如,当某一数据同时符合X11、X21、X31时,可以确定该数据对应的分层层级为最下层,故可以将该数据存储或迁移至最下层。

由于当前创建的决策树是基于上述100个样本数据的,且该100个样本数据是基于外部当前对存储系统各分层的访问记录而提取出来的,故该当前创建的决策树是符合当前的访问热点的。

因此,针对存储系统对应的各个数据,可以根据新创建的决策树,确定各数据所属的分层层级,并将其存储至分层层级对应的分层中。

因此,在本发明一个实施例中,所述目标数据包括:新数据,和/或,存储系统的每一个分层中存储的已有数据,其中,所述已有数据不包括所述样本数据;

所述数据迁移模块103,具体用于所述目标数据为新数据时,将该新数据存储至其所属的分层层级对应的分层中;所述目标数据为已有数据,且该已有数据的当前所属分层层级与所述自动分层模块102确定的分层层级不相同时,将该已有数据从当前所属分层层级对应的分层中,迁移至所述自动分层模块102确定的分层层级对应的分层中。

详细地,目标数据可以为待存入存储系统的各个新数据,以及可以为该存储系统各分层中已存在的各个已有数据。其中,基于当前的决策树,各新数据可以实时存入对应分层,而各已有数据可以在系统空闲时迁移至对应分层。

例如,在获取到每一个新数据之后,可以根据决策树,确定该新数据符合决策树中的具体哪一个末端分支,从而可以根据该分支对应的分层层级,将该新数据存储至该分层层级对应的分层中。

详细地,由于决策树是基于样本数据创建的,故各样本数据当前所在分层符合决策树所推荐的分层,故上述已有数据不包括各样本数据。

对于每一个已有数据,与新数据相同,可以根据决策树,确定该已有数据符合决策树中的具体哪一个末端分支,从而可以根据该分支对应的分层层级,确定该已有数据所属的分层层级。因此,当已有数据的当前所在分层与确定出的分层层级不对应时,可以对该已有数据进行迁移。

例如,对于最上层中的某一已有数据,若根据决策树,确定其所属分层应为中间层,则可以将该已有数据从最上层迁移至中间层。

在本发明一个实施例中,当前创建的决策树是基于实时的样本数据进行创建的,故最初创建的决策树可以是根据用户预先设定的训练样本数据进行创建。其中,训练样本数据的设定可以与样本数据基于同一实现原理。

根据优选地训练样本数据,可以创建对应的决策树,并基于该最初创建的决策树,对存储系统进行分层,以及将各数据存储至对应分层中。之后,基于外部对第一分层的访问次数,可以确定当前使用的决策树是否符合当前的访问热点,若不符合,则采集实时的样本数据,并根据样本数据更新决策树,以及根据创建的决策树实现新数据的对应存储和已有数据的对应迁移。

基于同样的实现原理,当再次确定出当前使用的决策树不符合当前的访问热点时,可以再次重建决策树并执行上述数据迁移操作。如此,对应于与访问热点的相关程度,可以始终将与访问热点对应的数据存储至最高分层层级对应的分层,将与访问热点具有低相关度的数据存储至最低分层层级对应的分层,从而可以提高存储系统的磁盘利用率和存储系统的整体性能。

综上所述,本发明实施例能够自动从样本数据中筛选数据的有效特征,并根据这些有效特征建立基于决策树的数据自动分层模型,对数据进行层级标注,并根据层级标注结果在系统空闲时实施数据迁移操作,从而实现数据的自动分层和存储。

如图4所示,本发明实施例提供了一种数据分层存储方法,包括:

步骤401:针对存储系统的至少两个分层中的第一分层,统计相应预设时间段内,外部对所述第一分层的访问次数。

步骤402:在确定出所述访问次数未达到相应预设阈值时,针对所述存储系统的每一个分层均执行:根据相应预设时间段内,外部所访问的该分层中存储的第一数量的数据,确定所述第一数量的数据中的第二数量的样本数据,其中,所述第一数量不小于所述第二数量。

步骤403:根据每一个分层的第二数量的样本数据,建立自动分层模型。

步骤404:确定至少一个目标数据,并利用所述自动分层模型,分别确定每一个所述目标数据所属的分层层级。

步骤405:针对每一个所述目标数据,均执行:将该目标数据存储至其所属的分层层级对应的分层中。

在本发明一个实施例中,所述第一分层为存储系统的至少两个分层中的最高分层层级对应的分层,其中,分层层级越高,单位时间内外部对该分层层级对应的分层的访问次数越多。

优选地,基于最高分层层级对应的分层的访问次数,有益于准确确定当前的访问热点,从而可以确定是否需要重建自动分层模型。

在本发明一个实施例中,统计外部对所述第一分层的访问次数时基于的预设时间段,与确定所述第一数量的数据中的第二数量的样本数据时基于的预设时间段,在时间维度上为同一时间段;

所述第二数量占所述第一数量的百分比固定。

详细地,步骤401和步骤402所基于的预设时间段为同一时间段。通过保证两个预设时间段为同一时间段,有益于准确确定访问热点,从而建立符合当前访问热点的自动分层模型。

例如,对于每一个分层的第一数量和第二数量,可以要求第二数量占第一数量的一半。举例来说,假设某一分层的第一数量的数据为100个数据,可以从中随机选取出50个数据作为样本数据。

在本发明一个实施例中,为了说明一种建立自动分层模型的可能实现方式,所以,所述自动分层模型为决策树;

所述步骤403,包括:

步骤4031:根据每一个分层的第二数量的样本数据,结合上述公式(1)、上述公式(2)、上述公式(3)、上述公式(4)、上述公式(5)、上述公式(6)、上述公式(7)和上述公式(8),确定样本数据当前的至少两个特征中,具有最大信息增益比的特征;判断所述最大信息增益比是否不小于相应设定阈值,若是,将该特征确定为有效特征,并执行步骤4032,否则,执行步骤4034;

步骤4032:将所述有效特征设置为决策树的已有节点的下一级节点,并执行步骤4033;

步骤4033:将所述有效特征从所述当前的至少两个特征中剔除,得到剔除后的至少两个特征,以及将所述剔除后的至少两个特征再次作为当前的至少两个特征,并执行步骤4031;

步骤4034:完成所述决策树的创建,并清除创建的上一个决策树。

在本发明一个实施例中,所述目标数据包括:新数据,和/或,存储系统的每一个分层中存储的已有数据,其中,所述已有数据不包括所述样本数据;

所述将该目标数据存储至其所属的分层层级对应的分层中,包括:该目标数据为新数据时,将该新数据存储至其所属的分层层级对应的分层中;该目标数据为已有数据,且该已有数据的当前所属分层层级与确定出的分层层级不相同时,将该已有数据从当前所属分层层级对应的分层中,迁移至确定出的分层层级对应的分层中。

如图5所示,本发明一个实施例提供了另一种数据分层存储方法,具体包括以下步骤:

步骤501:针对存储系统的至少两个分层中的最高分层层级对应的分层,统计一个周期T内,外部对该分层的访问次数。

详细地,分层层级越高,单位时间内外部对该分层层级对应的分层的访问次数通常越多。

步骤502:在确定出访问次数未达到相应预设阈值时,针对存储系统的每一个分层均执行:根据上述周期T内,外部所访问的该分层中存储的第一数量的数据,确定第一数量的数据中的第二数量的样本数据,其中,第一数量不小于第二数量。

详细地,对于任一分层,第二数量占第一数量的百分比可以固定,如均为50%。

步骤503:根据每一个分层的第二数量的样本数据,创建决策树,并清除创建的上一个决策树。

详细地,根据样本数据创建决策树,并对原有的决策树进行更新替换。

详细地,决策树的创建可以基于上述步骤4031至步骤4034得以实现。

步骤504:确定至少一个新数据和至少一个已有数据,并利用当前的决策树,分别确定每一个新数据和每一个已有数据所属的分层层级。

详细地,已有数据可以为存储系统的每一个分层中已存储的数据,且已有数据不包括上述样本数据。

步骤505:针对每一个新数据,均执行:将该新数据存储至其所属的分层层级对应的分层中。

步骤506:针对每一个已有数据,均执行:判断该已有数据的当前所属分层层级与上述确定出的分层层级是否相同,若是,结束当前流程,否则,将该已有数据从当前所属分层层级对应的分层中,迁移至上述确定出的分层层级对应的分层中。

综上所述,基于不同访问速度的磁盘构造的混合存储系统,用不同分层对应的存储介质存放不同访问热度的数据,并根据在当前的访问热度与分层存储习惯不匹配时,根据当前的访问热点更新自动分层模型,并实现新数据和已有数据的对应存储及迁移,以方便用户访问热度数据。这一实现方式能够各分层中存储对应访问热度的数据,有益于降低硬件成本,提高磁盘利用率,提高存储系统的整体读写性能。

上述方法所述的信息交互、执行过程等内容,由于与本发明系统实施例基于同一构思,具体内容可参见本发明系统实施例中的叙述,此处不再赘述。

综上所述,本发明的各个实施例至少具有如下有益效果:

1、本发明实施例中,数据监控模块在确定出一定时间内外部对存储系统的第一分层的访问次数未达到阈值时,根据外部对各分层的访问记录,确定各分层的样本数据;自动分层模块根据样本数据建立自动分层模型,并针对数据监控模块发来的各目标数据,利用自动分层模型确定各目标数据所属的分层层级;数据迁移模块将各目标数据存储至其所属的分层层级对应的分层中。外部对分层的访问可以反映其当前的访问热点,访问热点变动时,系统可以确定样本数据以重建自动分层模型,并据此将各数据存储或迁移至对应分层。因此,本发明实施例能够提高存储系统的磁盘利用率。

2、本发明实施例中,基于不同磁盘的物理特性,可以将不同访问速度的磁盘进行结合以构造混合存储系统,通过多层存储介质来存放不同访问热度的数据。这一实现方式不仅能够降低存储成本,还能提高存储系统的整体性能。

3、本发明实施例中,通过剔除数据的无效特征,选取有效特征,有助于提高自动分层模型的训练效率。通过自动从样本数据中筛选数据的有效特征,并根据这些有效特征建立基于决策树的数据自动分层模型,对数据进行层级标注,并根据层级标注结果在系统空闲时实施数据迁移操作,从而实现数据的自动分层和存储。

4、本发明实施例中,基于不同访问速度的磁盘构造的混合存储系统,用不同分层对应的存储介质存放不同访问热度的数据,并根据在当前的访问热度与分层存储习惯不匹配时,根据当前的访问热点更新自动分层模型,并实现新数据和已有数据的对应存储及迁移,以方便用户访问热度数据。这一实现方式能够各分层中存储对应访问热度的数据,有益于降低硬件成本,提高磁盘利用率,提高存储系统的整体读写性能。

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

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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