CN108984123A - 一种重复数据删除方法和装置 - Google Patents

一种重复数据删除方法和装置 Download PDF

Info

Publication number
CN108984123A
CN108984123A CN201810765218.4A CN201810765218A CN108984123A CN 108984123 A CN108984123 A CN 108984123A CN 201810765218 A CN201810765218 A CN 201810765218A CN 108984123 A CN108984123 A CN 108984123A
Authority
CN
China
Prior art keywords
data
fingerprint
byte
target
pending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810765218.4A
Other languages
English (en)
Inventor
何孝金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810765218.4A priority Critical patent/CN108984123A/zh
Publication of CN108984123A publication Critical patent/CN108984123A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请实施例公开了一种重复数据删除方法和装置,在确定是否需要对待处理数据进行重复数据删除时,高速缓冲存储器中存储数据指纹与存储数据的缓存块的对应关系,若获取到待处理数据,计算待处理数据的第一数据指纹;若已存储的数据指纹中存在与第一数据指纹匹配的第二数据指纹,优先判断高速缓冲存储器中第二数据指纹对应的缓存块中是否存在目标数据;若存在,从第二数据指纹对应的缓存块中读取目标数据,无需从磁盘中读取目标数据,并将待处理数据与目标数据逐字节比较,以便在确定待处理数据与目标数据字节完全相同时删除待处理数据。该方法优先从高速缓冲存储器中读取目标数据,减少了读盘次数,提高数据读取速度,提升重复数据删除的效率。

Description

一种重复数据删除方法和装置
技术领域
本申请涉及数据处理领域,特别是涉及一种重复数据删除方法和装置。
背景技术
在当今的大数据时代,海量的数据存储占用大量的存储空间,其中,可能包括大量的冗余数据,例如重复数据。在这种情况下,重复数据删除(Data Deduplication,简称DDP)是一种可减少数据占用存储空间的核心技术。
目前使用的DDP算法可以包括强哈希(HASH)算法,以及弱HASH算法结合数据逐字节比较的方式。其中,弱HASH算法结合数据逐字节比较的方式是常用的DDP算法,其主要是将新写入的数据计算一个数据指纹,然后将该数据指纹与已存储的数据指纹对比,如果二者匹配成功,再读取已存储的数据指纹对应的数据,将其与新写入的数据逐字节比较来确定数据是否完全相同,如果相同,则新写入的数据不写入磁盘。
由于在采用弱HASH算法结合数据逐字节比较的方式进行重复数据删除时,需要从磁盘中读取已存储的数据指纹对应的数据,而从磁盘读取数据具有读取速度慢、读取时延较长的特点,因此,传统的重复数据删除方法效率低。
发明内容
为了解决上述技术问题,本申请提供了一种重复数据删除方法和装置,该方法可以优先从高速缓冲存储器中读取目标数据,从而减少从磁盘中读取目标数据的次数,提高数据读取速度,提升重复数据删除的效率。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供了一种重复数据删除方法,高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,所述方法包括:
计算待处理数据对应的第一数据指纹;
若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据;
若存在,从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
可选的,若判断所述高速缓冲存储器中所述第二数据指纹对应的缓存区域中不存在目标数据,所述方法还包括:
从磁盘中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
可选的,所述高速缓冲存储器包括第一缓存区域和第二缓存区域,所述第一缓存区域中的缓冲块所缓存的数据是根据高速缓冲存储器确定的,所述第二缓存区域中的缓冲块所缓存的数据是由重复数据删除模块确定的。
可选的,所述第二缓存区域中的缓冲块所缓存的数据是重复数据删除率满足预设条件的数据。
可选的,所述高速缓冲存储器数据指纹与存储数据的缓存块的对应关系是由所述重复数据删除模块建立的。
第二方面,本申请实施例提供了一种重复数据删除装置,其特征在于,高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,所述装置包括计算单元、判断单元和第一比较单元:
所述计算单元,用于计算待处理数据对应的第一数据指纹;
所述判断单元,用于若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据;
所述第一比较单元,用于若所述判断单元判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中存在所述目标数据,从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
可选的,若所述判断单元判断所述高速缓冲存储器中所述第二数据指纹对应的缓存区域中不存在目标数据,所述装置还包括第二比较单元:
所述第二比较单元,用于从磁盘中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
可选的,所述高速缓冲存储器包括第一缓存区域和第二缓存区域,所述第一缓存区域中的缓冲块所缓存的数据是根据高速缓冲存储器确定的,所述第二缓存区域中的缓冲块所缓存的数据是由重复数据删除模块确定的。
可选的,所述第二缓存区域中的缓冲块所缓存的数据是重复数据删除率满足预设条件的数据。
可选的,所述高速缓冲存储器数据指纹与存储数据的缓存块的对应关系是由所述重复数据删除模块建立的。
由上述技术方案可以看出,本申请实施例具有以下优点:
在确定是否需要对待处理数据进行重复数据删除时,可以在高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,当获取到待处理数据时,计算待处理数据对应的第一数据指纹;若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,可以优先判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据;若存在,则从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据,无需从磁盘中读取目标数据与待处理数据进行比较。可见,与传统的方法相比,该方法可以优先从高速缓冲存储器中读取目标数据,从而减少从磁盘中读取目标数据的次数,由于从高速缓冲存储器读取目标数据的速度明显高于从磁盘中读取目标数据的速度,因此,该方法可以提高数据读取速度,提升重复数据删除的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种重复数据删除方法的流程图;
图2为本申请实施例提供的一种高速缓冲存储器的示例图;
图3为本申请实施例提供的一种重复数据删除方法的流程图;
图4为本申请实施例提供的一种重复数据删除装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
DDP技术对于减少存储空间的占用,特别是针对存储空间成本较高的全闪存存储阵列(All Flash Array,简称AFA)是非常重要的。在传统的采用弱HASH算法结合数据逐字节比较的方式进行重复数据删除时,需要从磁盘中读取已存储的数据指纹对应的数据,而从磁盘读取数据具有读取速度慢、读取时延较长的特点,因此,传统的重复数据删除方法效率低。
为此,本申请实施例提供一种重复数据删除方法,该方法在进行数据逐字节比较时,可以优先从高速缓冲存储器中读取目标数据,从而减少从磁盘中读取目标数据的次数,由于从高速缓冲存储器读取目标数据的速度明显高于从磁盘中读取目标数据的速度,因此,该方法可以提高数据读取速度,提升重复数据删除的效率。
下面结合附图,详细说明本申请实施例提供的关系标签的推荐方法。
参见图1,图1为本申请实施例提供的一种重复数据删除方法的流程图,在该方法中,高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,在此基础上,该方法包括:
S101、计算待处理数据对应的第一数据指纹。
在本实施例中,待处理数据可以是需要确定是否为已经写入磁盘的数据,即待处理数据可以是需要确定是否为可以被删除、是否需要写入磁盘的数据。
数据指纹可以是用于标识不同数据的。计算数据指纹的算法可以包括多种,根据算法自身的特点,一般情况下,针对不同的数据,使用有些算法计算数据指纹时,不同数据对应的数据指纹可能相同的概率比较小,例如强HASH算法;然而,使用有些算法计算数据指纹时,不同数据对应的数据指纹可能相同的概率比较大,例如弱HASH算法。
当新写入一个数据时,需要判断该新写入的数据是否需要写入磁盘,该新写入的数据可以作为待处理数据。当获取到待处理数据后,可以计算该待处理数据对应的数据指纹,例如为第一数据指纹。
具体的,在本实施例中,可以利用弱HASH算法计算待处理数据对应的第一数据指纹。
S102、若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据。
在得到待处理数据对应的第一数据指纹后,可以将第一数据指纹与已存储的数据指纹比对,若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,还需继续判断高速缓冲存储器(CACHE)中所述第二数据指纹对应的缓存块中是否存在目标数据。
需要说明的是,由于本实施例采用的是若HASH算法计算第一数据指纹,使得不同数据对应相同数据指纹的概率比较大,也就是说,即使第一数据指纹与第二数据指纹相同,也不能说明待处理数据与第二数据指纹对应的数据完全相同,不能确定待处理数据是否应该被删除。因此,还需要进一步将待处理数据与第二数据指纹对应的数据逐字节比较。
在本实施例中,由于CACHE中可能缓存有第二数据指纹对应的数据,且CACHE具有读取数据速度快的特点,为了尽量避免从磁盘中读取第二数据指纹对应的数据,减少读取磁盘的次数,本实施例将重复数据删除与CACHE相结合,即在需要将待处理数据与第二数据指纹对应的数据逐字节比较的情况下,优先从CACHE中读取第二数据指纹对应的数据,仅在CACHE中未缓存有第二数据指纹对应的数据时才会从磁盘中读取,从而减少读取磁盘的次数,提高重复数据删除的效率。
由于CACHE中存储有数据指纹与存储数据的缓存块的对应关系,这样,可以根据该对应关系确定第二数据指纹对应的缓存块,进而确定该缓存块中是否存在目标数据,若存在则执行S103。
其中,CACHE中数据指纹与存储数据的缓存块的对应关系如图2所示,CACHE中数据指纹与存储数据的缓存块的对应关系是由重复数据删除(DDP)模块建立的。
S103、若存在,从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
若CACHE中第二数据指纹对应的缓存块中存在目标数据,则从该缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,若待处理数据与目标数据的字节完全相同,则说明磁盘中已经写入了与该待处理数据完全相同的数据,该待处理数据是重复数据,该待处理数据不会被写入磁盘,需要将该待处理数据删除。
若CACHE中第二数据指纹对应的缓存块中不存在目标数据,则从磁盘中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
由上述技术方案可以看出,在确定是否需要对待处理数据进行重复数据删除时,可以在高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,当获取到待处理数据时,计算待处理数据对应的第一数据指纹;若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,可以优先判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据;若存在,则从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据,无需从磁盘中读取目标数据与待处理数据进行比较。可见,与传统的方法相比,该方法可以优先从高速缓冲存储器中读取目标数据,从而可以减少从磁盘中读取目标数据的次数,由于从高速缓冲存储器读取目标数据的速度明显高于从磁盘中读取目标数据的速度,因此,该方法可以提高数据读取速度,提升重复数据删除的效率。
接下来将对如何建立CACHE中数据指纹与存储数据的缓存块的对应关系,以将CACHE用于重复数据删除进行介绍。
待处理数据是重复数据说明磁盘中已经写入了与待处理数据完全相同的数据,而磁盘中与待处理数据完全相同的数据可能已经被读取过,也可能未被读取过。由于CACHE本身具有缓存数据的功能,CACHE利用自身缓存功能所缓存的数据是存储在磁盘中被读取过的数据,从而实现待处理数据优先与CACHE中缓存的这些数据比较。
另外,在一些情况下,有一些数据虽然已经被写入磁盘,但是并没有被读取过,而CACHE利用自身缓存功能能够缓存的数据是被读取过的数据,因此,依靠CACHE自身缓存功能难以将这些未被读取过的数据缓存至CACHE,从而难以实现待处理数据优先与CACHE中缓存的这些数据比较,在这种情况下,可以利用DDP模块对CACHE进行管理,以便将已经被写入磁盘且未被读取的数据缓存至CACHE。
为此,在本实施例中,CACHE可以被划分为两个缓存区域,例如,第一缓存区域和第二缓存区域,其中,第一缓存区域中的缓冲块所缓存的数据是根据CACHE自身的缓存功能确定的,例如依赖CACHE本来的预取、缓存、淘汰策略来确定缓存哪些数据,如图2中右侧所示。一般情况下,第一缓存区域可以占用CACHE中较大存储空间,例如可以占用CACHE的80%以上。
第二缓存区域中的缓冲块所缓存的数据是由DDP模块确定的,如图2中左侧所示。DDP模块可以将多次被写入的数据即DDP率满足预设条件的数据放入第二缓存区域,所述第二预设条件可以是DDP率大于阈值,这些数据即DDP率较高的数据,可以作为热点数据,这种热点数据再次被写入的概率也非常高,因此,将热点数据放入CACHE的第二缓存区域,可以大幅提升主机读热点数据的命中率,提高重复数据删除速度。
需要说明的是,在本实施例中,将数据放入CACHE中相应的缓存块中后,无论针对CACHE中的哪个缓存区域,CACHE中缓存数据的缓存块与数据指纹建立对应关系都可以是由DDP模块建立的。
具体的,可以利用DDP模块确定缓存块中的数据对应的数据指纹,进而将缓存数据的缓存块与数据指纹建立对应关系,这样,在S102之后如果有第一数据指纹需要与第二数据指纹对应的目标数据进行逐字节比较,可以从CACHE中读取第二数据指纹对应的目标数据,从而减少读盘次数,甚至针对DDP率较高的待处理数据可以大幅提升主机读热点数据的命中率,达到提高重复数据删除速度的目的。
下面结合具体应用场景对本申请实施例的重复数据删除方法进行详细介绍。在该场景中,主机请求新写入数据,该数据可以作为待处理数据,DDP模块在接收到主机请求后,执行图1对应的重复数据删除方法,参见图3,该重复数据删除流程包括:
S301、DDP模块接收主机请求。
S302、利用弱HASH算法计算待处理数据对应的第一数据指纹。
S303、判断已存储的数据指纹中是否存在与所述第一数据指纹匹配的第二数据指纹,若存在,执行S304。
S304、判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据,若存在,则执行S305,若不存在,则执行S306。
S305、从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
S306、从磁盘中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
与传统的方法相比,该方法可以优先从高速缓冲存储器中读取目标数据,从而减少从磁盘中读取目标数据的次数,由于从高速缓冲存储器读取目标数据的速度明显高于从磁盘中读取目标数据的速度,因此,该方法可以提高数据读取速度,提升重复数据删除的效率。
基于前述实施例提供的重复数据删除方法,本申请实施例提供了一种重复数据删除装置400,高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,所述装置400包括计算单元401、判断单元402和第一比较单元403:
所述计算单元401,用于计算待处理数据对应的第一数据指纹;
所述判断单元402,用于若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据;
所述第一比较单元403,用于若所述判断单元判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中存在所述目标数据,从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
可选的,若所述判断单元判断所述高速缓冲存储器中所述第二数据指纹对应的缓存区域中不存在目标数据,所述装置还包括第二比较单元:
所述第二比较单元,用于从磁盘中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
可选的,所述高速缓冲存储器包括第一缓存区域和第二缓存区域,所述第一缓存区域中的缓冲块所缓存的数据是根据高速缓冲存储器确定的,所述第二缓存区域中的缓冲块所缓存的数据是由重复数据删除模块确定的。
可选的,所述第二缓存区域中的缓冲块所缓存的数据是重复数据删除率满足预设条件的数据。
可选的,所述高速缓冲存储器数据指纹与存储数据的缓存块的对应关系是由所述重复数据删除模块建立的。
由上述技术方案可以看出,本申请实施例具有以下优点:
在确定是否需要对待处理数据进行重复数据删除时,可以在高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,当获取到待处理数据时,计算待处理数据对应的第一数据指纹;若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,可以优先判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据;若存在,则从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据,无需从磁盘中读取目标数据与待处理数据进行比较。可见,与传统的方法相比,该方法可以优先从高速缓冲存储器中读取目标数据,从而减少从磁盘中读取目标数据的次数,由于从高速缓冲存储器读取目标数据的速度明显高于从磁盘中读取目标数据的速度,因此,该方法可以提高数据读取速度,提升重复数据删除的效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种重复数据删除方法,其特征在于,高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,所述方法包括:
计算待处理数据对应的第一数据指纹;
若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据;
若存在,从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
2.根据权利要求1所述的方法,其特征在于,若判断所述高速缓冲存储器中所述第二数据指纹对应的缓存区域中不存在目标数据,所述方法还包括:
从磁盘中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
3.根据权利要求1所述的方法,其特征在于,所述高速缓冲存储器包括第一缓存区域和第二缓存区域,所述第一缓存区域中的缓冲块所缓存的数据是根据高速缓冲存储器确定的,所述第二缓存区域中的缓冲块所缓存的数据是由重复数据删除模块确定的。
4.根据权利要求3所述的方法,其特征在于,所述第二缓存区域中的缓冲块所缓存的数据是重复数据删除率满足预设条件的数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述高速缓冲存储器数据指纹与存储数据的缓存块的对应关系是由所述重复数据删除模块建立的。
6.一种重复数据删除装置,其特征在于,高速缓冲存储器中存储有数据指纹与存储数据的缓存块的对应关系,所述装置包括计算单元、判断单元和第一比较单元:
所述计算单元,用于计算待处理数据对应的第一数据指纹;
所述判断单元,用于若已存储的数据指纹中存在与所述第一数据指纹匹配的第二数据指纹,判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中是否存在目标数据;
所述第一比较单元,用于若所述判断单元判断所述高速缓冲存储器中所述第二数据指纹对应的缓存块中存在所述目标数据,从所述第二数据指纹对应的缓存块中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
7.根据权利要求6所述的装置,其特征在于,若所述判断单元判断所述高速缓冲存储器中所述第二数据指纹对应的缓存区域中不存在目标数据,所述装置还包括第二比较单元:
所述第二比较单元,用于从磁盘中读取所述目标数据并将所述待处理数据与所述目标数据逐字节比较,以便在确定所述待处理数据与所述目标数据字节完全相同时删除所述待处理数据。
8.根据权利要求6所述的装置,其特征在于,所述高速缓冲存储器包括第一缓存区域和第二缓存区域,所述第一缓存区域中的缓冲块所缓存的数据是根据高速缓冲存储器确定的,所述第二缓存区域中的缓冲块所缓存的数据是由重复数据删除模块确定的。
9.根据权利要求8所述的装置,其特征在于,所述第二缓存区域中的缓冲块所缓存的数据是重复数据删除率满足预设条件的数据。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述高速缓冲存储器数据指纹与存储数据的缓存块的对应关系是由所述重复数据删除模块建立的。
CN201810765218.4A 2018-07-12 2018-07-12 一种重复数据删除方法和装置 Pending CN108984123A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810765218.4A CN108984123A (zh) 2018-07-12 2018-07-12 一种重复数据删除方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810765218.4A CN108984123A (zh) 2018-07-12 2018-07-12 一种重复数据删除方法和装置

Publications (1)

Publication Number Publication Date
CN108984123A true CN108984123A (zh) 2018-12-11

Family

ID=64537938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810765218.4A Pending CN108984123A (zh) 2018-07-12 2018-07-12 一种重复数据删除方法和装置

Country Status (1)

Country Link
CN (1) CN108984123A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021121042A1 (zh) * 2019-12-18 2021-06-24 华为技术有限公司 存储系统中的数据存储方法及相关设备
WO2023041141A1 (en) * 2021-09-14 2023-03-23 Huawei Technologies Co., Ltd. Deduplication using cache eviction for strong and weak hashes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810075A (zh) * 2011-06-01 2012-12-05 英业达股份有限公司 事务型系统处理方法
CN103870514A (zh) * 2012-12-18 2014-06-18 华为技术有限公司 重复数据删除方法和装置
CN106406981A (zh) * 2016-09-18 2017-02-15 深圳市深信服电子科技有限公司 一种读、写磁盘数据的方法及虚拟机监视器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810075A (zh) * 2011-06-01 2012-12-05 英业达股份有限公司 事务型系统处理方法
CN103870514A (zh) * 2012-12-18 2014-06-18 华为技术有限公司 重复数据删除方法和装置
CN106406981A (zh) * 2016-09-18 2017-02-15 深圳市深信服电子科技有限公司 一种读、写磁盘数据的方法及虚拟机监视器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021121042A1 (zh) * 2019-12-18 2021-06-24 华为技术有限公司 存储系统中的数据存储方法及相关设备
US11755207B2 (en) 2019-12-18 2023-09-12 Huawei Technologies Co., Ltd. Data storage method in storage system and related device
WO2023041141A1 (en) * 2021-09-14 2023-03-23 Huawei Technologies Co., Ltd. Deduplication using cache eviction for strong and weak hashes

Similar Documents

Publication Publication Date Title
US10133679B2 (en) Read cache management method and apparatus based on solid state drive
US9921955B1 (en) Flash write amplification reduction
US8290994B2 (en) Obtaining file system view in block-level data storage systems
CN106911743B (zh) 小文件的写聚合、读聚合方法及系统和客户端
CN106503051B (zh) 一种基于元数据分类的贪婪预取型数据恢复系统及恢复方法
EP3316150B1 (en) Method and apparatus for file compaction in key-value storage system
US20170052723A1 (en) Replicating data using remote direct memory access (rdma)
US20170004082A1 (en) Methods for host-side caching and application consistent writeback restore and devices thereof
CN103473150A (zh) 一种用于数据去重系统中的碎片重写方法
CN111061690B (zh) 一种基于rac的数据库日志文件读取方法和装置
CN110737388A (zh) 数据预读方法、客户端、服务器以及文件系统
CN105095495B (zh) 一种分布式文件系统缓存管理方法和系统
CN106528451A (zh) 针对小文件的二级缓存预取的云存储框架及构建方法
WO2022048358A1 (zh) 数据处理方法、装置及存储介质
CN106294211B (zh) 一种多路顺序流的检测方法及装置
US12130742B1 (en) Request processing method and apparatus, and device and non-transitory readable storage medium
CN108984123A (zh) 一种重复数据删除方法和装置
US11093404B2 (en) Efficient pre-fetching on a storage system
US11169923B2 (en) Method for performing read-ahead in data storage systems
CN105574008A (zh) 应用于分布式文件系统的任务调度方法和设备
CN103077099A (zh) 一种块级快照系统及基于该系统的用户读写方法
CN108733584B (zh) 用于优化数据缓存的方法和设备
US11347645B2 (en) Lifetime adaptive efficient pre-fetching on a storage system
KR20220079493A (ko) 페이지-레벨로 추적되는 로드 순서화 큐를 이용하는 추측 실행
CN103279562B (zh) 一种用于数据库二级缓存的方法、装置及数据库存储系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181211

RJ01 Rejection of invention patent application after publication