一种热点数据识别方法及其装置与流程

文档序号:12063916阅读:212来源:国知局
一种热点数据识别方法及其装置与流程

本发明涉及热点数据管理技术领域,特别是涉及一种热点数据识别方法及其装置。



背景技术:

为了提高I/O性能,目前采用多级存储介质存放不同访问热度的数据,将大量的、不常用的冷数据存放在读写速度慢,成本低的存储介质中,将少量的、经常访问的热点数据存放着读写速度快的存储介质中,既能降低存储成本,又能提高I/O性能。

现有的热点数据识别方法主要是将存储区域划分为若干数据块,然后对数据块进行访问次数统计,统计某个时间段内的所有数据块的访问次数,根据访问次数计算访问频率,并将访问频率高的数据,作为热点数据块,放入热点队列中,然后将热点队列中不经常访问的数据块进行降级迁移。

但是当出现突发性的访问需求时,短时间会出现大量次数的访问,这种情况下采用上述识别方法会将突发性访问的数据块标记为热点数据,并放入热点队列中,但是,该数据块可能仅访问这一次后就不再访问了,故这种情况下会造成短时间内数据重复升降级迁移,增加存储系统的负担,造成数据抖动。

因此,如何提供一种能够有效识别热点数据且克服数据抖动的热点数据识别方法及其装置是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种热点数据识别方法及其装置,能够有效识别热点数据,并尽可能避免由于突发性访问而导致的短时间内数据重复升降级迁移的情况。

为解决上述技术问题,本发明提供了一种热点数据识别方法,包括:

依据每个存储数据块在第一预设时间段内的访问次数确定热点数据块,将热点数据块添加进初始热点队列内;

每隔预设时间计算每个所述热点数据块在全部热点数据块中所占的权重;并确定存储系统中,与每个所述热点数据块相关联的数据块集合以及所述数据块集合中每个数据块与所述热点数据块的关联度;

将所述热点数据块的权重分别和自身关联的数据块集合中的各个数据块的关联度相乘,得到各个数据块的热度预测值;

将具有热度预测值的全部数据块依据自身热度预测值的从大到小进行排序,其中,具有多个热度预测值的数据块以自身最高的热度预测值为准;

将排序结果中前预设个数的数据块标记为热点数据块并加入所述初始热点队列内得到当前热点队列。

优选地,所述与每个所述热点数据块相关联的数据块集合内具体包含:

除各个热点数据块以外的、且与所述热点数据块相关联的数据块。

优选地,所述计算每个所述热点数据块在全部热点数据块中所占的权重的过程具体为:

统计所述热点数据块在第二预设时间段内的访问次数;

将所述热点数据块的访问次数与全部热点数据块的访问次数之和作比,得到的比值即为所述热点数据块所占的权重。

优选地,一个数据块与对应的热点数据块的关联度具体为:

所述热点数据块在最近一次被访问之前的第三预设时间段以及之后的第四预设时间段内该数据块被访问的次数。

优选地,还包括:

周期性地统计各个所述热点数据块的访问频率,并依据所述访问频率调整所述当前热点队列中各个所述热点数据块的级别排序。

为解决上述技术问题,本发明还提供了一种热点数据识别装置,包括:

IO截获单元,用于记录各个数据块的访问请求;

初始热点确定单元,用于依据每个存储数据块在第一预设时间段内的访问次数确定热点数据块,将热点数据块添加进初始热点队列内;

权重计算单元,用于每隔预设时间计算每个所述热点数据块在全部热点数据块中所占的权重;

关联度计算单元,用于每隔所述预设时间确定存储系统中,与每个所述热点数据块相关联的数据块集合以及所述数据块集合中每个数据块与所述热点数据块的关联度;

预测单元,用于将所述热点数据块的权重分别和自身关联的数据块集合中的各个数据块的关联度相乘,得到各个数据块的热度预测值;

排序单元,用于将具有热度预测值的全部数据块依据自身热度预测值的从大到小进行排序,其中,具有多个热度预测值的数据块以自身最高的热度预测值为准;

标记单元,用于将排序结果中前预设个数的数据块标记为热点数据块并加入所述初始热点队列内得到当前热点队列。

优选地,还包括:

数据迁移模块,用于周期性地统计各个所述热点数据块的访问频率,并依据所述访问频率调整所述当前热点队列中各个所述热点数据块的级别排序。

本发明提供了一种热点数据识别方法及其装置,在初始时依据各个存储数据块的访问频率确定热点数据块后,组成初始热点队列内,之后每隔预设时间即依据各个热点数据块在初始热点队列内的权重以及每个热点数据块与其他数据块内的关联度,得到各个数据块的热度预测值,然后将热度预测值中较大的前预设个数的数据块标记为热点数据块加入热点队列内。

由于与热点数据块相关联的数据块很可能成为热点数据块,故本发明依据其他数据块与热点数据块之间的关联度进行热点数据识别及预测,从而能够有效识别热点数据,提高了热点数据识别命中率;并且由于仅在最开始采用访问频率确定热点数据块,之后均采用热度预测值进行热点数据块的识别,故在出现突发性访问时,若突发性访问的数据块与热点数据块的热度预测值不够大,则不会将该数据块加入热点队列,故尽可能避免了由于突发性访问而导致的短时间内数据重复升降级迁移的情况,减少了数据抖动的发生。

附图说明

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

图1为本发明提供的一种热点数据识别方法的过程的流程图;

图2为本发明提供的一种热点数据识别装置的结构示意图。

具体实施方式

本发明的核心是提供一种热点数据识别方法及其装置,能够有效识别热点数据,并尽可能避免由于突发性访问而导致的短时间内数据重复升降级迁移的情况。

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

本发明提供了一种热点数据识别方法,参见图1所示,图1为本发明提供的一种热点数据识别方法的过程的流程图;该方法包括:

步骤s101:依据每个存储数据块在第一预设时间段内的访问次数确定热点数据块,将热点数据块添加进初始热点队列内;

第一预设时间段内的访问次数也可以理解为一段时间内的访问频率。

步骤s102:每隔预设时间计算每个热点数据块在全部热点数据块中所占的权重;

具体的,计算每个热点数据块在全部热点数据块中所占的权重的过程具体为:

统计热点数据块在第二预设时间段内的访问次数;

将热点数据块的访问次数与全部热点数据块的访问次数之和作比,得到的比值即为热点数据块所占的权重。

即,热点数据块在一段时间内的访问次数为Thi,i=1,2,…,N,N为热点数据块的总个数,每个热点数据块在热点队列中所占的权重记为Phi,其中:

步骤s103:每隔预设时间确定存储系统中,与每个热点数据块相关联的数据块集合以及数据块集合中每个数据块与热点数据块的关联度;

需要注意的是,本发明不限定步骤s102和步骤s103的先后顺序,两者可并列进行,但是两者计算周期相同,每个周期均计算一次。

其中,确定与每个热点数据块相关联的数据块集合以及数据块集合中每个数据块与热点数据块的关联度的过程具体是:

计算每个热点数据块与全部数据块之间的关联度;

之后依据上述关联度结果,确定与每个热点数据块具有关联性的部分数据块作为该热点数据块的数据块集合,并记录该集合内每个数据块与该热点数据块的关联度。

其中,上述全部数据块优选为除热点数据块以外的全部数据块,同时,与每个热点数据块相关联的数据块集合内具体包含:除各个热点数据块以外的、且与热点数据块相关联的数据块。当然,本发明对此不作特别限定。

另外,一个数据块与对应的热点数据块的关联度具体为:

热点数据块在最近一次被访问之前的第三预设时间段以及之后的第四预设时间段内该数据块被访问的次数。

由关系式解释即为:第i个热点数据块与第j个数据的关联度记为HDij;热点数据块集合为{H1,H2,…,Hi},i=1,2,…,N,全部数据块集合为{D1,D2,…,Dj},j=1,2,…,M;M为全部数据块的总个数;故HDij值为热点数据块Hi被访问前后的一段时间内,数据块Di被访问的次数。

步骤s104:将热点数据块的权重分别和自身关联的数据块集合中的各个数据块的关联度相乘,得到各个数据块的热度预测值;

关系式如下:

Fij=Phi*HDij

可以理解的是,将关联度与权重相乘的目的是为了平衡与热点数据块对应的关联数据块的排序,避免热度较低的热点数据块相应的关联数据块排名靠前。

步骤s105:将具有热度预测值的全部数据块依据自身热度预测值的从大到小进行排序,其中,具有多个热度预测值的数据块以自身最高的热度预测值为准;

可以理解的是,各个热点数据块关联的数据块集合很可能会发生重叠,这种情况下发生重叠的部分数据块会具有分别对应于不同热点数据块的多个关联度,进而会具有多个热度预测值,这种情况需要对其进行合并,将其最高的热度预测值为准。

步骤s106:将排序结果中前预设个数的数据块标记为热点数据块并加入初始热点队列内得到当前热点队列。

进一步的,该方法还包括:

周期性地统计各个热点数据块的访问频率,并依据访问频率调整当前热点队列中各个热点数据块的级别排序。

即本发明虽然在后续仅根据热度预测值作为标记热点数据块的标准,但是由于热点队列中不同位置或者说不同级别的热点数据块的访问速度以及占用资源是不同的,故为了方便用户访问,故进一步依据其访问频率调整各个热点数据块在热点队列中的级别排序,将访问频率高的热点数据块放在前面,访问频率低的热点数据块后移,则能够进一步提高I/O性能。

本发明提供了一种热点数据识别方法,在初始时依据各个存储数据块的访问频率确定热点数据块后,组成初始热点队列内,之后每隔预设时间即依据各个热点数据块在初始热点队列内的权重以及每个热点数据块与其他数据块内的关联度,得到各个数据块的热度预测值,然后将热度预测值中较大的前预设个数的数据块标记为热点数据块加入热点队列内。

由于与热点数据块相关联的数据块很可能成为热点数据块,故本发明依据其他数据块与热点数据块之间的关联度进行热点数据识别及预测,从而能够有效识别热点数据,提高了热点数据识别命中率;并且由于仅最开始采用访问频率确定热点数据块,之后均采用热度预测值进行热点数据块的识别,故在出现突发性访问时,若突发性访问的数据块与热点数据块的热度预测值不够大,则不会将该数据块加入热点队列,故尽可能避免了由于突发性访问而导致的短时间内数据重复升降级迁移的情况,减少了数据抖动的发生。

本发明还提供了一种热点数据识别装置,参见图2所示,图2为本发明提供的一种热点数据识别装置的结构示意图。该装置包括:

IO截获单元1,用于记录各个数据块的访问请求;

初始热点确定单元2,用于依据每个存储数据块在第一预设时间段内的访问次数确定热点数据块,将热点数据块添加进初始热点队列内;

权重计算单元3,用于每隔预设时间计算每个热点数据块在全部热点数据块中所占的权重;

关联度计算单元4,用于每隔预设时间确定存储系统中,与每个热点数据块相关联的数据块集合以及数据块集合中每个数据块与热点数据块的关联度;

预测单元5,用于将热点数据块的权重分别和自身关联的数据块集合中的各个数据块的关联度相乘,得到各个数据块的热度预测值;

排序单元6,用于将具有热度预测值的全部数据块依据自身热度预测值的从大到小进行排序,其中,具有多个热度预测值的数据块以自身最高的热度预测值为准;

标记单元7,用于将排序结果中前预设个数的数据块标记为热点数据块并加入初始热点队列内得到当前热点队列。

作为优选地,该装置还包括:

数据迁移模块,用于周期性地统计各个热点数据块的访问频率,并依据访问频率调整当前热点队列中各个热点数据块的级别排序。

本发明提供了一种热点数据识别装置,在初始时依据各个存储数据块的访问频率确定热点数据块后,组成初始热点队列内,之后每隔预设时间即依据各个热点数据块在初始热点队列内的权重以及每个热点数据块与其他数据块内的关联度,得到各个数据块的热度预测值,然后将热度预测值中较大的前预设个数的数据块标记为热点数据块加入热点队列内。

由于与热点数据块相关联的数据块很可能成为热点数据块,故本发明依据其他数据块与热点数据块之间的关联度进行热点数据识别及预测,从而能够有效识别热点数据,提高了热点数据识别命中率;并且由于仅最开始采用访问频率确定热点数据块,之后均采用热度预测值进行热点数据块的识别,故在出现突发性访问时,若突发性访问的数据块与热点数据块的热度预测值不够大,则不会将该数据块加入热点队列,故尽可能避免了由于突发性访问而导致的短时间内数据重复升降级迁移的情况,减少了数据抖动的发生。

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

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

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