一种数据重删方法及装置制造方法及图纸

技术编号:13972240 阅读:61 留言:0更新日期:2016-11-10 22:18
本发明专利技术提供一种数据重删方法及装置,方法包括:确定第一区域,第一区域为写入数据频率低于预设的频率阈值的区域,区域包含至少一个数据块;计算第一区域的第一数据块的哈希值;判断第一数据块的哈希值是否与重删映射表项中的哈希值相同;当相同时,获取重删映射表项中重删数据块的物理地址;读取重删数据块中的数据;当重删数据块中的数据与第一数据块中的数据相同时,将数据映射表项中记录的第一数据块的逻辑地址与第一数据块的物理地址的映射关系,更改为第一数据块的逻辑地址与重删数据块的物理地址的映射关系;回收第一数据块。本发明专利技术可提高重删效率,降低写入数据延时,提高存储系统的工作效率。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种数据重删方法及装置
技术介绍
重删是一种自动搜索重复数据,并将相同数据保留唯一副本的存储技术。通过重删处理,可消除存储系统的冗余数据,降低对存储容量的需求。目前比较流行的重删技术是基于Hash(译为散列或哈希)算法实现的在线重删技术,即在写入数据时,计算写入数据的Hash值,通过Hash值匹配,保留新增数据,删除重复数据。Hash值计算以及匹配过程需要消耗大量的系统资源,造成写数据延迟,影响存储系统工作效率。
技术实现思路
本专利技术的目的在于提供一种数据重删方法及装置,用以在非热点区域执行后台重删处理。为实现上述专利技术目的,本专利技术提供了技术方案:本专利技术提供一种数据重删方法,应用于存储系统,所述方法包括:确定第一区域,所述第一区域为写入数据频率低于预设的频率阈值的区域,所述区域包含至少一个数据块;计算所述第一区域的第一数据块的哈希值;判断所述第一数据块的哈希值是否与重删映射表项中的哈希值相同,所述重删映射表项用于记录哈希值与重删数据块的物理地址的映射关系;当所述第一数据块的哈希值与重删映射表项中的哈希值相同时,获取所述重删映射表项中重删数据块的物理地址;根据所述重删数据块的物理地址读取所述重删数据块中的数据;当所述重删数据块中的数据与所述第一数据块中的数据相同时,将数据映射表项中记录的第一数据块的逻辑地址与第一数据块的物理地址的映射关系,更改为第一数据块的逻辑地址与重删数据块的物理地址的映射关系;回收所述第一数据块。进一步地,所述确定第一区域之前,还包括:获取预设的统计时长;在所述统计时长内,统计每一个数据块的写入次数;计算同一区域内所有数据块的写入次数的总和;根据所述写入次数的总和以及所述统计时长,得到当前区域的写入数据频率。进一步地,所述方法还包括:当所述第一数据块的哈希值与重删映射表项中的哈希值不同时,分配重删数据块;将所述第一数据块的数据写入分配的重删数据块;将数据映射表项中记录的第一数据块的逻辑地址与第一数据块的物理地址的映射关系,更改为第一数据块的逻辑地址与分配的重删数据块的物理地址的映射关系;建立所述第一数据块的哈希值与所述分配的重删数据块的物理地址的映射关系,生成对应的重删映射表项;回收所述第一数据块。进一步地,所述方法还包括:将第二区域的第二数据块对应的数据映射表项保存在内存中,将第一区域的第一数据块对应的数据映射表项保存在磁盘中,所述第二区域为写入数据频率达到所述预设频率阈值的区域。本专利技术还提供一种数据重删装置,应用于存储系统,所述装置包括:确定单元,用于确定第一区域,所述第一区域为写入数据频率低于预设的频率阈值的区域,所述区域包含至少一个数据块;计算单元,用于计算所述第一区域的第一数据块的哈希值;判断单元,用于判断所述第一数据块的哈希值是否与重删映射表项中的哈希值相同,所述重删映射表项用于记录哈希值与重删数据块的物理地址的映射关系;获取单元,用于当所述第一数据块的哈希值与重删映射表项中的哈希值相同时,获取所述重删映射表项中重删数据块的物理地址;读取单元,用于根据所述重删数据块的物理地址读取所述重删数据块中的数据;重删单元,用于当所述重删数据块中的数据与所述第一数据块中的数据相同时,将数据映射表项中记录的第一数据块的逻辑地址与第一数据块的物理地址的映射关系,更改为第一数据块的逻辑地址与重删数据块的物理地址的映射关系;回收所述第一数据块。进一步地,所述装置还包括:统计单元,用于在所述确定单元确定第一区域之前,获取预设的统计时长;在所述统计时长内,统计每一个数据块的写入次数;计算同一区域内所有数据块的写入次数的总和;根据所述写入次数的总和以及所述统计时长,得到当前区域的写入数据频率。进一步地,所述重删单元,还用于当所述第一数据块的哈希值与重删映射表项中的哈希值不同时,分配重删数据块;将所述第一数据块的数据写入分配的重删数据块;将数据映射表项中记录的第一数据块的逻辑地址与第一数据块的物理地址的映射关系,更改为第一数据块的逻辑地址与分配的重删数据块的物理地址的映射关系;建立所述第一数据块的哈希值与所述分配的重删数据块的物理地址的映射关系,生成对应的重删映射表项;回收所述第一数据块。进一步地,所述装置还包括:保存单元,用于将第二区域的第二数据块对应的数据映射表项保存在内存中,将第一区域的第一数据块对应的数据映射表项保存在磁盘中,所述第二区域为写入数据频率达到所述预设频率阈值的区域。由以上描述可以看出,本专利技术基于非热点区域(写入数据频率相对较低的区域)执行后台重删处理,从而提高重删效率,同时,降低写入数据延时,提高存储系统的工作效率。附图说明图1是本专利技术实施例示出的数据重删方法流程图;图2是本专利技术实施例示出的一种数据重删中间状态示意图;图3是本专利技术实施例示出的另一种数据重删中间状态示意图;图4是本专利技术实施例示出的另一种数据重删中间状态示意图;图5是本专利技术实施例示出的一种存储系统的结构示意图;图6是本专利技术实施例示出的一种数据重删装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本专利技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本专利技术实施例提出一种数据重删方法,该方法基于非热点区域(写入数据频率相对较低的区域)执行后台重删处理,从而提高重删效率,同时,降低写入数据延时,提高存储系统的工作效率。参见图1,为本专利技术数据重删方法的一个实施例流程图,该实施例对数据重删过程进行描述。步骤101,确定第一区域,所述第一区域为写入数据频率低于预设的频率阈值的区域,所述区域包含至少一个数据块。数据块是用来保存数据的最小单位,数据块的大小可根据具体应用进行划分,例如,4K、8K、16K等。本专利技术实施例将数据写入存储系统时的数据块称为初始数据块。本专利技术实施例基于数据块划分区域,区域的大小为数据块大小的整数倍。在进行重删处理之前,首先识别区域是否为热点区域。具体识别过程为:获取预设的统计时长,例如,一个小时。在该统计时长内,统计每一个数据块的写入次数,然后,计算同一区域内所有数据块的写入次数的总和,根据区域内写入次数的总和以及统计时长,得到当前区域的写入数据频率。将该写入数据频率与预设的频率阈值进比较,当写入数据频率达到预设的频率阈值时,确定当前区域本文档来自技高网...

【技术保护点】
一种数据重删方法,应用于存储系统,其特征在于,所述方法包括:确定第一区域,所述第一区域为写入数据频率低于预设的频率阈值的区域,所述区域包含至少一个数据块;计算所述第一区域的第一数据块的哈希值;判断所述第一数据块的哈希值是否与重删映射表项中的哈希值相同,所述重删映射表项用于记录哈希值与重删数据块的物理地址的映射关系;当所述第一数据块的哈希值与重删映射表项中的哈希值相同时,获取所述重删映射表项中重删数据块的物理地址;根据所述重删数据块的物理地址读取所述重删数据块中的数据;当所述重删数据块中的数据与所述第一数据块中的数据相同时,将数据映射表项中记录的第一数据块的逻辑地址与第一数据块的物理地址的映射关系,更改为第一数据块的逻辑地址与重删数据块的物理地址的映射关系;回收所述第一数据块。

【技术特征摘要】
1.一种数据重删方法,应用于存储系统,其特征在于,所述方法包括:确定第一区域,所述第一区域为写入数据频率低于预设的频率阈值的区域,所述区域包含至少一个数据块;计算所述第一区域的第一数据块的哈希值;判断所述第一数据块的哈希值是否与重删映射表项中的哈希值相同,所述重删映射表项用于记录哈希值与重删数据块的物理地址的映射关系;当所述第一数据块的哈希值与重删映射表项中的哈希值相同时,获取所述重删映射表项中重删数据块的物理地址;根据所述重删数据块的物理地址读取所述重删数据块中的数据;当所述重删数据块中的数据与所述第一数据块中的数据相同时,将数据映射表项中记录的第一数据块的逻辑地址与第一数据块的物理地址的映射关系,更改为第一数据块的逻辑地址与重删数据块的物理地址的映射关系;回收所述第一数据块。2.如权利要求1所述的方法,其特征在于,所述确定第一区域之前,还包括:获取预设的统计时长;在所述统计时长内,统计每一个数据块的写入次数;计算同一区域内所有数据块的写入次数的总和;根据所述写入次数的总和以及所述统计时长,得到当前区域的写入数据频率。3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:当所述第一数据块的哈希值与重删映射表项中的哈希值不同时,分配重删数据块;将所述第一数据块的数据写入分配的重删数据块;将数据映射表项中记录的第一数据块的逻辑地址与第一数据块的物理地址的映射关系,更改为第一数据块的逻辑地址与分配的重删数据块的物理地址的映射关系;建立所述第一数据块的哈希值与所述分配的重删数据块的物理地址的映射关系,生成对应的重删映射表项;回收所述第一数据块。4.如权利要求1所述的方法,其特征在于,所述方法还包括:将第二区域的第二数据块对应的数据映射表项保存在内存中,将第一区域的第一数据块对应的数据映射表项保存在磁盘中,所述第二区域为写入数据频率达到所述预设频率阈值的区域。5.一种数据重删装置,应用于存储系统,其特征在于,所述装置包括:确...

【专利技术属性】
技术研发人员:扈海龙
申请(专利权)人:杭州宏杉科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1