CN111291126A - 数据回收方法、装置、设备及存储介质 - Google Patents

数据回收方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111291126A
CN111291126A CN202010130357.7A CN202010130357A CN111291126A CN 111291126 A CN111291126 A CN 111291126A CN 202010130357 A CN202010130357 A CN 202010130357A CN 111291126 A CN111291126 A CN 111291126A
Authority
CN
China
Prior art keywords
fingerprint information
global
information set
bloom filter
verification
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.)
Granted
Application number
CN202010130357.7A
Other languages
English (en)
Other versions
CN111291126B (zh
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202010130357.7A priority Critical patent/CN111291126B/zh
Publication of CN111291126A publication Critical patent/CN111291126A/zh
Application granted granted Critical
Publication of CN111291126B publication Critical patent/CN111291126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据回收方法、装置、设备及存储介质,所述方法包括:获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息,根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证,删除验证不通过的各个全局指纹信息。

Description

数据回收方法、装置、设备及存储介质
技术领域
本申请涉及信息处理领域,涉及但不限于一种数据回收方法、装置、设备及存储介质。
背景技术
在分布式存储系统中,全局去重的元数据服务也是多点接入的。为降低元数据服务的复杂度、提高输入输出效率,对数据块添加指纹信息。在使用数据块时,通过引用指纹信息检索数据块,此时,称该指纹信息为有效的指纹信息。当数据块不再被使用时,数据块的指纹信息也不再引用,称该指纹信息为失效的指纹信息。
现有技术中,通常采用布隆过滤器对指纹信息是否失效进行判断,对确定为失效的指纹信息进行回收。但由于布隆过滤器的误算率,导致已经失效的指纹信息误判为有效的指纹信息,导致已经失效的指纹信息一直无法回收,该失效的指纹信息以及该指纹信息对应的数据块始终占用内存空间,导致内存占用率高,影响数据输入输出效率。
发明内容
有鉴于此,本申请实施例为解决现有技术中存在的问题而提供一种数据回收方法、装置、设备及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种数据回收方法,包括:
获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息;
根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证;
根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证;
删除验证不通过的各个全局指纹信息。
本申请实施例提供一种数据回收装置,包括:
第一获取模块,用于获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息;
第一验证模块,用于根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证;
第二验证模块,用于根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证;
第一删除模块,用于删除验证不通过的各个全局指纹信息。
本申请实施例提供一种数据回收设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。
本申请实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。
在本申请实施例提供的数据回收方法中,数据回收装置获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息,根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证,删除验证不通过的各个全局指纹信息,通过采用不同的随机数初始化布隆过滤器,使得布隆过滤器哈希尽可能随机,以尽可能回收更多的失效指纹信息,释放更多的内存空间,从而降低内存占用率,提高数据输入输出的效率。
附图说明
图1为本申请实施例提供的数据回收方法的一种实现流程示意图;
图2为本申请实施例提供的数据回收方法的另一种实现流程示意图;
图3为本申请实施例提供的数据回收方法的再一种实现流程示意图;
图4为本申请实施例提供的数据回收方法的又一种实现流程示意图;
图5a为本申请实施例提供的全局去重元数据垃圾回收系统的一种实现示意图;
图5b为本申请实施例提供的数据回收方法的又一种实现流程示意图;
图5c为本申请实施例提供的指纹信息插入布隆过滤器的一种实现示意图;
图6为本申请实施例提供的数据回收设备的一种组成结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)数据去重:是一种消减重复数据多份拷贝的技术。在去重的处理过程中,会识别数据块的数据特征,如果系统没有该数据特征,则存储数据块;如果已有该数据特征,则只需生成一个指向对应数据块的引用即可。数据去重具有消除冗余数据,提升存储利用率等优点。
2)元数据:又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。通常使用哈希算法计算的指纹信息作为数据块的数据特征,存储数据块的指纹信息的地方,即为元数据。平常的输入输出(IO,Input&Output)请求只需访问元数据的逻辑地址到物理地址映射表,即可对对应物理块进行IO操作;去重时需要访问元数据的数据块的数据特征到物理地址映射表,以确定相同的物理块是否已经存在。
3)布隆过滤器:实际上是一个很长的二进制向量和一系列随机映射函数,可用于检索一个元素是否在一个集合中。它的优点是在空间和时间方面都有巨大的优势,存储空间和插入/查询时间都是常数,哈希函数之间没有关系,方便由硬件并行实现。缺点是随着存入的元素数量增加,误算率随之增加,并且,一般情况下不能从布隆过滤器中删除元素。
4)指纹信息:用于标识数据,不同的数据具有不同的指纹。信息摘要算法(MD5,Message-Digest Algorithm5)校验码通过散列函数计算而成,可以生成任何数据的标识,因为两个不同的文件几乎不可能拥有相同的MD5哈希值,任何对一个文件的变更都会改变其MD5,基于此,可将MD5作为数据的指纹信息。利用MD5将消息或者数据压缩成摘要,使得数据量变小,便于比较数据的完整性和正确性,也便于识别数据。
5)冷数据:即较长时间之前使用的,无需再实时访问的离线数据,其特点是访问频率低,因此需要最大限度的降低其存储成本,同时要求在一定条件下不能删除。
为了更好地理解本申请实施例,首先对相关技术中的数据回收方法及存在的缺点进行说明。
在相关技术中,采用布隆过滤器对指纹信息是否失效进行验证时,利用布隆过滤器中的多个映射函数对每个指纹信息计算多个哈希值,若多个哈希值对应的比特位不均为1,说明在先引用的指纹信息中不存在该指纹信息,插入该指纹信息至布隆过滤器,将指纹信息的各哈希值对应的比特位置1。正在引用的指纹信息全部插入布隆过滤器后,对全局中所有指纹信息进行验证,利用布隆过滤器中的多个映射函数对待验证的指纹信息计算多个哈希值,比对待验证指纹信息的各哈希值是否已被置1,如果存在一个比特位没有置1,则该待验证的指纹信息一定没有被引用。
在相关技术中,将全局指纹信息集中没有被引用的指纹信息进行回收,认为待验证指纹信息的各哈希值均已置1的指纹信息为正在引用的指纹信息。由于布隆过滤器的误算率,实际上已经失效的指纹信息的各哈希值也已置1,相关技术无法对这类失效的指纹信息进行回收,导致这类失效的指纹信息始终占用内存空间,影响数据输入输出效率。
基于以上问题,在本申请实施例中提供一种数据回收方法,通过采用不同的随机数初始化布隆过滤器,使得布隆过滤器哈希尽可能随机,以尽可能回收更多的失效指纹信息,同时回收失效指纹信息对应的数据块,释放更多的内存空间,从而降低内存占用率,提高数据输入输出的效率。
下面结合附图和具体实施例对本申请的技术方案进一步详细阐述。
图1为本申请实施例提供的数据回收方法的一种实现流程示意图,应用于数据回收装置,如图1所示,本实施例提供的数据回收方法,包括以下步骤:
步骤S101,获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息。
当内存占有率超过设定阈值时,需要对内存中的垃圾数据进行回收,或者用户下发回收内存垃圾数据的指令时,数据回收装置获取与当前输入输出相关的数据块的指纹信息,即正在引用的指纹信息,将所有正在引用的指纹信息作为引用指纹信息集。由于这些数据块是输入输出请求可访问的数据块,存在使用价值,因此,这些数据块不能被删除,即这些数据块以及这些数据块的指纹信息并非垃圾数据,本实施例中不对其进行回收。
用户存储数据时,存在将相同的数据先后存储在内存中不同区域,重复存储会导致内存浪费,可见,数据回收的一部分工作是对内存中的数据去重。另外,内存中存在的冷数据,由于无需再实时访问,这些数据的指纹信息长时间不再重新引用,本实施例中,为了尽可能的实现数据回收,对冷数据的指纹信息(也可称为无效指纹信息或失效指纹信息)进行删除,以释放更多的内存空间,从而降低内存占用率,进而提高数据输入输出的效率。基于此,本实施例中在进行数据回收时,数据回收装置获取全局指纹信息集,即内存中所有指纹信息的集合。
步骤S102,根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证。
如果要判断数据是不是存在于内存中,最直接的方法是将所有数据进行比较,如链表、树等数据结构都是采用这种思路。但是内存中数据量巨大,通过一一对比数据的方式,查找的时间复杂度随着存储空间的增大会越来越慢。对于这一问题,可采用散列表的数据结构进行判断,布隆过滤器就是采用这一思想的。本实施例中,采用后一种判断方式对内存中的指纹信息进行判断。
以判断元素a是否存在于集合A中为例,采用一一对比数据的方式时,将集合A中每一元素与元素a进行比较,若集合A中存在一个元素与a相等,则确定元素a存在于集合A中,否则,确定元素a不存在于集合A。本实施例中,通过一个映射函数,如哈希函数将元素a映射成位阵列中的点,通过判断对应点是否为0即可确定集合A中是否存在元素a,若位阵列中对应点不为0,确定集合A中存在元素a,否则,确定元素a不存在于集合A中,这就是布隆过滤器的基本原理。
根据引用指纹信息集和布隆过滤器,对全局指纹信息集中的各个全局指纹信息进行验证,以判断全局指纹信息集中的各个全局指纹信息是否为正在引用的指纹信息。当判断得到全局指纹信息不为正在引用的指纹信息,此时,确定该全局指纹信息验证不通过;本实施例中,将验证不通过的全局指纹信息确定为失效指纹信息。当判断得到全局指纹信息为正在引用的指纹信息时,此时,确定该全局指纹信息验证通过。由于布隆过滤器存在误算的可能性,对于验证通过的全局指纹信息,存在全局指纹信息不是真正的正在引用的指纹信息的可能性,此时,需要再次对验证通过的全局指纹信息进行验证,以回收更多的失效指纹信息。
步骤S103,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证。
数据回收装置再次验证时,生成不同于第一随机数的第二随机数,利用该第二随机数重新初始化布隆过滤器,继续对步骤S102中验证通过的各个全局指纹信息进行进一步验证。由于采用不同的随机数初始化布隆过滤器,使得布隆过滤器哈希尽可能随机,对验证通过的全局指纹信息继续验证,筛选出其中误算的已失效的全局指纹信息,从而可回收更多的失效指纹信息,释放更多的内存空间,降低内存占用率,提高数据输入输出的效率。
步骤S104,删除验证不通过的各个全局指纹信息。
确定出失效指纹信息后,对其进行删除,以释放该全局指纹信息占用的内存空间。
本实施例提供的数据回收方法中,数据回收装置获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息,根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证,删除验证不通过的各个全局指纹信息,通过采用不同的随机数初始化布隆过滤器,使得布隆过滤器哈希尽可能随机,以尽可能回收更多的失效指纹信息,释放更多的内存空间,从而降低内存占用率,提高数据输入输出的效率。
在一些实施例中,图1所示实施例中的步骤S102“根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证”,可以通过下述的步骤S1021至步骤S1023实现,以下结合各个步骤进行说明:
步骤S1021,根据所述M个映射函数,将所述引用指纹信息集中的各个引用指纹信息插入所述布隆过滤器中。
若引用指纹信息相同,可确定其对应的数据块相同。本实施例中,将引用指纹信息集中的各个引用指纹信息插入布隆过滤器中,对引用指纹信息集中的各个引用指纹信息进行去重操作,避免内存中不同区域存储完全相同的数据块。
本实施例中的布隆过滤器包括M个映射函数,并且,该M个映射函数是相互独立的映射函数。其中,M为大于1的正整数。利用第一随机数初始化的布隆过滤器,是数据回收装置通过获取第一随机数,利用所述第一随机数初始化所述布隆过滤器的M个映射函数得到的。
步骤S1022,根据所述M个映射函数,将所述全局指纹信息集中的各个全局指纹信息映射至所述布隆过滤器中,得到所述各个全局指纹信息的M个映射点。
将引用指纹信息集中的各个引用指纹信息插入布隆过滤器后,开始对所有全局指纹信息进行判断,以确定其是否正在被引用,即确定全局指纹信息对应的数据块是否为冷数据。在实现时,利用布隆过滤器的M个映射函数对全局指纹信息集中的各个全局指纹信息进行映射,计算得到各个全局指纹信息的M个映射点。
步骤S1023,验证所述各个全局指纹信息的M个映射点对应的M个比特位是否均为1。
其中,若全局指纹信息的M个映射点对应的M个比特位均为1,确定所述全局指纹信息验证通过;若全局指纹信息的M个映射点对应的M个比特位中不均为1,确定所述全局指纹信息验证不通过。
比较M个映射点对应的M个比特位是否为1,若比特位为1,表明存在一引用指纹信息,该引用指纹信息的其中一个插入点为该比特位。当全局指纹信息的M个映射点对应的M个比特位均为1时,确定该全局指纹信息验证通过,此时,引用指纹信息集中可能存在一引用指纹信息,该引用指纹信息的M个插入点与该全局指纹信息的M个映射点一一对应,即该全局指纹信息可能存在于引用指纹信息集中。当全局指纹信息的M个映射点对应的M个比特位不均为1,即至少存在一个比特位为0、未置为1,确定该全局指纹信息验证不通过,此时,引用指纹信息集中不存在与该全局指纹信息相同的引用指纹信息,即该全局指纹信息不存在于引用指纹信息集中,该全局指纹信息已不再被引用,确定其为失效指纹信息。
本实施例根据M个映射函数,将引用指纹信息集中的各个引用指纹信息插入布隆过滤器中,然后将全局指纹信息集中的各个全局指纹信息映射至布隆过滤器中,得到各个全局指纹信息的M个映射点,验证各个全局指纹信息的M个映射点对应的M个比特位是否均为1,若全局指纹信息的M个映射点对应的M个比特位均为1,确定全局指纹信息验证通过;若全局指纹信息的M个映射点对应的M个比特位中不均为1,确定全局指纹信息验证不通过,从而从全局指纹信息集中筛选出已不再被引用的全局指纹信息,从而实现了对全局指纹信息是否正在引用的验证,进一步地可对不再被引用的全局指纹信息进行删除,实现内存空间的释放,降低内存占用率。
在一些实施例中,上述步骤S1021“根据所述M个映射函数,将所述引用指纹信息集中的各个引用指纹信息插入所述布隆过滤器中”可通过以下步骤实现:
步骤S1021a,根据所述M个映射函数,确定所述引用指纹信息集中的各个引用指纹信息在所述布隆过滤器中的M个插入点。
根据布隆过滤器的映射函数,对各个引用指纹信息计算其在布隆过滤器中的插入点,由于布隆过滤器包括M个映射函数,因而可计算得到M个映射值,这些映射值即为对应引用指纹信息插入布隆过滤器的插入点。
步骤S1021b,将所述布隆过滤器中M个插入点对应位置的比特位置为1。
利用第一随机数初始化布隆过滤器时,布隆过滤器的所有比特位均已置为0。将引用指纹信息插入布隆过滤器时,通过将其插入点对应位置的比特位置为1实现插入操作。
当插入某一引用指纹信息的M个插入点时,发现该M个插入点对应位置的比特位已为1,表明该引用指纹信息已存在相同的且已插入布隆过滤器的引用指纹信息,无需再次插入。此时,可删除该引用指纹信息,以及该引用指纹信息对应的数据块。
本实施例中,根据M个映射函数,将引用指纹信息集中的各个引用指纹信息插入布隆过滤器中之后,由于对相同引用指纹信息不会再次插入,实现对引用指纹信息集的各个引用指纹信息去重,使得引用指纹信息集中不再存在相同的引用指纹信息,内存中也不再存储相同的引用指纹信息对应的相同数据块,从而可回收重复的引用指纹信息和相同的数据块,释放更多的内存空间,降低内存占用率。
在图1所示实施例的基础上,本申请实施例再提供一种数据回收方法。图2为本申请实施例提供的数据回收方法的另一种实现流程示意图,如图2所示,该方法具体包括以下步骤:
步骤S201,获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息。
本实施例中步骤S201、步骤S202和步骤S208参见图1所示实施例中对应步骤的具体描述,本实施例中不再赘述。
步骤S202,根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证。
本实施例中步骤S203至步骤S207是图1所示实施例中步骤S103“根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证”的一种可能的实现方式,具体如下:
步骤S203,将验证通过的各个全局指纹信息确定为第一指纹信息集。
本实施例中为了回收更多的失效指纹信息,在步骤S202的基础上,继续对验证通过的各个全局指纹信息进行验证操作,以对验证通过的各个全局指纹信息中可能存在于引用指纹信息集中的全局指纹信息进行进一步地验证,筛选出更多的不存在于引用指纹信息集中的全局指纹信息。在具体的实现过程中,数据回收装置首先将验证通过的各个全局指纹信息确定为第一指纹信息集。
步骤S204,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,再次对第一指纹信息集中的各个全局指纹信息进行验证。
本实施例中,利用第二随机数初始化的布隆过滤器,是数据回收装置通过获取第二随机数,利用所述第二随机数初始化所述布隆过滤器的M个映射函数得到的。
将步骤S202中的布隆过滤器采用新的随机数进行更新,再次对第一指纹信息集中的各个全局指纹信息进行验证。验证的具体过程与验证全局指纹信息集中的各个全局指纹信息相同,参见上述步骤S1021至步骤S1023中相应的描述,此处不再赘述。
步骤S205,判断第一指纹信息集中是否存在验证不通过的全局指纹信息。
若第一指纹信息集中存在验证不通过的全局指纹信息,表明连续两次验证结果不同,此时,布隆过滤器的误算率还比较高,进入步骤S206。若第一指纹信息集中不存在验证不通过的全局指纹信息,即第一指纹信息集中的所有全局指纹信息均验证通过,此时,布隆过滤器的误算率已经比较低,进入步骤S207。
步骤S206,更新第二随机数,继续对第一指纹信息集中验证通过的各个全局指纹信息进行下次验证。
对第一指纹信息集中的各个全局指纹信息验证完成后,若存在验证不通过的全局指纹信息,即该全局指纹信息在使用第一随机数初始化的布隆过滤器验证时,验证通过,在使用第二随机数初始化的布隆过滤器验证时,验证不通过,表明该全局指纹信息在第一次验证时出现了误判,通过采用不同的随机数初始化布隆过滤器,使得布隆过滤器哈希尽可能随机,以尽可能回收更多的失效指纹信息,释放更多的内存空间,从而降低内存占用率,提高数据输入输出的效率。
步骤S207,结束验证。
本实施例中,若当前次验证时,存在验证不通过的全局指纹信息,继续对当前次验证通过的全局指纹信息进行下次验证,直至当前次验证的所有全局指纹信息均验证通过,即连续两次验证通过的全局指纹信息没有发生改变,此时布隆过滤器的误算率已经比较低,结束验证。
步骤S208,删除验证不通过的各个全局指纹信息。
本实施例提供的数据回收方法,将验证通过的各个全局指纹信息确定为第一指纹信息集,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,再次对第一指纹信息集中的各个全局指纹信息进行验证,若第一指纹信息集中存在验证不通过的全局指纹信息,更新第二随机数,继续对第一指纹信息集中验证通过的各个全局指纹信息进行下次验证,直至连续两次验证通过的全局指纹信息没有发生改变时结束验证,此时布隆过滤器的误算率已经比较低,视为全局指纹信息中的失效指纹信息可忽略不计,对各次验证不通过的所有全局指纹信息进行删除,释放了更多的内存空间,从而降低内存占用率,提高数据输入输出的效率。
在图1所示实施例的基础上,本申请实施例再提供一种数据回收方法。图3为本申请实施例提供的数据回收方法的再一种实现流程示意图,如图3所示,该方法包括以下步骤:
步骤S301,获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息。
本实施例中步骤S301、步骤S302和步骤S307参见图1所示实施例中对应步骤的具体描述,本实施例中不再赘述。
步骤S302,根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证。
本实施例中步骤S303至步骤S306是图1所示实施例中步骤S103“根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证”的另一种可能的实现方式,具体如下:
步骤S303,将验证通过的各个全局指纹信息确定为第二指纹信息集;
本实施例中为了回收更多的失效指纹信息,在步骤S302的基础上,继续对验证通过的各个全局指纹信息进行验证操作,以对验证通过的各个全局指纹信息中可能存在于引用指纹信息集中的全局指纹信息进行进一步地验证,筛选出更多的不存在于引用指纹信息集中的全局指纹信息。在具体的实现过程中,数据回收装置首先将验证通过的各个全局指纹信息确定为第二指纹信息集。
步骤S304,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,再次对第二指纹信息集中的各个全局指纹信息进行验证。
本实施例中,利用第二随机数初始化的布隆过滤器,是数据回收装置通过获取第二随机数,利用所述第二随机数初始化所述布隆过滤器的M个映射函数得到的。
将步骤S302中的布隆过滤器采用新的随机数进行更新,再次对第一指纹信息集中的各个全局指纹信息进行验证。验证的具体过程与验证全局指纹信息集中的各个全局指纹信息相同,参见上述步骤S1021至步骤S1023中相应的描述,此处不再赘述。
步骤S305,删除第二指纹信息集中验证不通过的全局指纹信息,得到更新后的第二指纹信息集。
对第二指纹信息集中的各个全局指纹信息验证完成后,若存在验证不通过的全局指纹信息,即该全局指纹信息在使用第一随机数初始化的布隆过滤器验证时,验证通过,在使用第二随机数初始化的布隆过滤器验证时,验证不通过,表明该全局指纹信息在第一次验证时出现了误判,对第二指纹信息集中验证不通过的全局指纹信息进行删除,将第二指纹信息集中通过验证的全局指纹信息更新为新的第二指纹信息集,进入步骤S306,以继续进行下一次验证。
步骤S306,更新第二随机数,继续对更新后的第二指纹信息集中的各个全局指纹信息进行验证,直至达到预设的验证次数阈值。
本实施例中,若当前次验证时,存在验证不通过的全局指纹信息,继续对当前次验证通过的全局指纹信息进行下次验证,直至达到预设的验证次数阈值为止,每次验证时将验证不通过的全局指纹信息已经删除,使得剩余的所有全局指纹信息均已验证了预设的验证次数阈值次,即剩余的所有全局指纹信息均已连续验证次数阈值次验证通过,此时布隆过滤器的误算率已经比较低,结束验证。
步骤S307,删除验证不通过的各个全局指纹信息。
本实施例提供的数据回收方法,将验证通过的各个全局指纹信息确定为第二指纹信息集,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,再次对第二指纹信息集中的各个全局指纹信息进行验证,删除第二指纹信息集中验证不通过的全局指纹信息,得到更新后的第二指纹信息集,更新第二随机数,继续对更新后的第二指纹信息集中的各个全局指纹信息进行验证,直至达到预设的验证次数阈值时结束验证,此时布隆过滤器的误算率已经比较低,视为全局指纹信息中的失效指纹信息可忽略不计,对各次验证不通过的所有全局指纹信息进行删除,释放了更多的内存空间,从而降低内存占用率,提高数据输入输出的效率。
在图1所示实施例的基础上,本申请实施例再提供一种数据回收方法。图4为本申请实施例提供的数据回收方法的又一种实现流程示意图,如图4所示,该方法具体包括以下步骤:
步骤S401,获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息。
本实施例中步骤S401至步骤S403,以及步骤S405参见图1所示实施例中对应步骤的具体描述,本实施例中不再赘述。
步骤S402,根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证。
步骤S403,根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证。
步骤S404,删除验证不通过的各个全局指纹信息对应的数据。
若全局指纹信息对应的数据在不使用时无需对其进行存储,删除验证不通过的全局指纹信息之前,先对全局指纹信息对应的数据块进行删除,以释放验证不通过的各个全局指纹信息对应的内存,避免不再使用的数据占用内存空间,从而降低内存占用率,提高数据输入输出的效率。
步骤S405,删除验证不通过的各个全局指纹信息。
本实施例提供的数据回收方法,在图1所示实施例的基础上,删除验证不通过的各个全局指纹信息对应的数据,在回收失效指纹信息的同时,回收失效指纹信息对应的数据,避免不再引用或使用的数据占用内存空间,进一步降低了内存占用率,提高了数据输入输出的效率。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例再提供一种数据回收方法,适用于分布式存储系统的全局去重元数据垃圾回收,但也适用于其他分布式系统的全局垃圾回收。本实施例中,具体应用于分布式存储系统的基于布隆过滤器的全局元数据垃圾回收,通过采用布隆过滤器可以降低全量扫描数据的内存占用率,实现了快速地进行比对查找。
图5a为本申请实施例提供的全局去重元数据垃圾回收系统的一种实现示意图,如图5a所示,全局去重元数据垃圾回收系统包括分布在元数据服务的各个逻辑块寻址(LBA,Logic Block Address)模块、指纹(FP,Fingerprint)模块和协调者(Coordinator)。其中LBA模块中存储的是各个数据块的索引,即所有正在引用的指纹信息;FP模块中存储的是内存中所有数据块的索引,即全局指纹信息,负责对相同特征的数据块进行去重,其中包括可能已经不再引用的数据块的索引,即失效指纹信息;协调者负责指挥集群中全部元数据模块的协同工作,统筹协调整个垃圾回收的执行过程。
图5b为本申请实施例提供的数据回收方法的又一种实现流程示意图,如图5b所示,该方法包括以下步骤:
步骤S501,协调者通知需要进行回收的各个FP模块准备布隆过滤器所需的内存资源。
协调者通知需要进行回收的FP模块准备相关资源,这里,相关资源至少包括布隆过滤器所需的内存资源。
步骤S502,协调者通知所有LBA模块,发送各自的引用指纹信息到对应的FP模块上,FP模块将LBA模块的引用指纹信息依次插入布隆过滤器中。
本实施例中,LBA模块中存储引用指纹信息,这些引用指纹信息为正在引用的指纹信息。根据布隆过滤器中的多个哈希函数对每个引用指纹信息计算多次哈希,得到多个插入点,将引用指纹信息插入布隆过滤器中,即将该引用指纹信息的各插入点对应的比特位置为1。图5c为本申请实施例提供的指纹信息插入布隆过滤器的一种实现示意图,如图5c所示,布隆过滤器包括3个哈希函数,根据3个哈希函数对LBA1、LBA2进行哈希计算,得到3个插入点,将各个插入点对应的比特位置为1。
步骤S503,所有LBA模块的引用指纹信息插入完成后,FP模块开始遍历自身的全局指纹信息,判断各个全局指纹信息是否存在于布隆过滤器中,对不存在于布隆过滤器中的全局指纹信息进行回收。
FP模块将自身的各个全局指纹信息也采用多个哈希函数计算多次哈希,得到多个映射点,比对各个映射点对应比特位的插入点是否为1,如果任意一个比特位没有置1,则该全局指纹信息一定不再被引用,确定该全局指纹信息为垃圾指纹信息,即失效指纹信息,对其进行回收。
对FP中所有的全局指纹信息遍历完成后,生成不同的随机数,根据随机数修改布隆过滤器的各个哈希函数的随机种子,重新返回执行步骤S502和步骤S503,通过采用不同的随机数初始化布隆过滤器,使得布隆过滤器哈希尽可能随机,以尽可能回收更多的失效指纹信息,如图5c中的FP2,释放更多的内存空间,从而降低内存占用率,提高数据输入输出的效率。
下面说明实现本申请实施例的装置的示例性应用,本申请实施例提供的装置可以实施为数据回收装置。本申请实施例提供的装置可以实施为硬件或者软硬件结合的方式,下面说明本申请实施例提供的数据回收装置的各种示例性实施。
根据图6示出的数据回收设备的示例性结构,可以预见数据回收设备100的其他的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。
图6所示的数据回收设备100包括:至少一个处理器110、存储器140、至少一个网络接口120和用户接口130。数据回收设备100中的每个组件通过总线系统150耦合在一起。可理解,总线系统150用于实现这些组件之间的连接通信。总线系统150除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统150。
用户接口130可以包括显示器、键盘、鼠标、触感板和触摸屏等。
存储器140可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)。易失性存储器可以是随机存取存储器(RAM,Random Acces s Memory)。本申请实施例描述的存储器140旨在包括任意适合类型的存储器。
本申请实施例中的存储器140能够存储数据以支持数据回收设备100的操作。这些数据的示例包括:用于在数据回收设备100上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
作为本申请实施例提供的方法采用软件实施的示例,本申请实施例所提供的方法可以直接体现为由处理器110执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器140,处理器110读取存储器140中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器110以及连接到总线150的其他组件)完成本申请实施例提供的方法。
作为示例,处理器110可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
下面继续说明本申请实施例提供的数据回收装置60的实施为软件模块的示例性结构,在一些实施例中,如图6所示,存储在存储器140的数据回收装置60中的软件模块可以包括:
第一获取模块61,用于获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息;
第一验证模块62,用于根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证;
第二验证模块63,用于根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证;
第一删除模块64,用于删除验证不通过的各个全局指纹信息。
在一些实施例中,所述布隆过滤器包括M个映射函数,其中,M为大于1的正整数,相应地,所述数据回收装置60,还可以包括:
第二获取模块,用于获取第一随机数;
初始化模块,用于利用所述第一随机数初始化所述布隆过滤器的M个映射函数,以得到利用第一随机数初始化的布隆过滤器。
在一些实施例中,所述第一验证模块62,进一步包括:
插入单元,用于根据所述M个映射函数,将所述引用指纹信息集中的各个引用指纹信息插入所述布隆过滤器中;
映射单元,用于根据所述M个映射函数,将所述全局指纹信息集中的各个全局指纹信息映射至所述布隆过滤器中,得到所述各个全局指纹信息的M个映射点;
第一验证单元,用于验证所述各个全局指纹信息的M个映射点对应的M个比特位是否均为1,其中,若全局指纹信息的M个映射点对应的M个比特位均为1,确定所述全局指纹信息验证通过;若全局指纹信息的M个映射点对应的M个比特位中不均为1,确定所述全局指纹信息验证不通过。
在一些实施例中,所述第一验证模块63,可以进一步包括:
第一确定单元,用于将验证通过的各个全局指纹信息确定为第一指纹信息集;
第二验证单元,用于根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,再次对第一指纹信息集中的各个全局指纹信息进行验证;
第三验证单元,用于若第一指纹信息集中存在验证不通过的全局指纹信息,更新第二随机数,继续对第一指纹信息集中验证通过的各个全局指纹信息进行下次验证;
结束单元,用于若第一指纹信息集中的所有全局指纹信息验证通过,结束验证。
在一些实施例中,所述第一验证模块63,可以进一步包括:
第二确定单元,用于将验证通过的各个全局指纹信息确定为第二指纹信息集;
第四验证单元,用于根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,再次对第二指纹信息集中的各个全局指纹信息进行验证;
删除单元,用于删除第二指纹信息集中验证不通过的全局指纹信息,得到更新后的第二指纹信息集;
第五验证单元,用于更新第二随机数,继续对更新后的第二指纹信息集中的各个全局指纹信息进行验证,直至达到预设的验证次数阈值。
在一些实施例中,所述插入单元,进一步包括:
确定子单元,用于根据所述M个映射函数,确定所述引用指纹信息集中的各个引用指纹信息在所述布隆过滤器中的M个插入点;
插入子单元,用于将所述布隆过滤器中M个插入点对应位置的比特位置为1。
在一些实施例中,所述数据回收装置60,还可以包括:
第二删除模块,用于删除验证不通过的各个全局指纹信息对应的数据。
这里需要指出的是:以上数据回收装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本申请数据回收装置实施例中未披露的技术细节,本领域的技术人员请参照本申请方法实施例的描述而理解。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图1至图5示出的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (10)

1.一种数据回收方法,其特征在于,包括:
获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息;
根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证;
根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证;
删除验证不通过的各个全局指纹信息。
2.根据权利要求1所述的方法,其特征在于,所述布隆过滤器包括M个映射函数,其中,M为大于1的正整数;相应地,所述方法还包括:
获取第一随机数;
利用所述第一随机数初始化所述布隆过滤器的M个映射函数,以得到利用第一随机数初始化的布隆过滤器。
3.根据权利要求2所述的方法,其特征在于,所述根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证,包括:
根据所述M个映射函数,将所述引用指纹信息集中的各个引用指纹信息插入所述布隆过滤器中;
根据所述M个映射函数,将所述全局指纹信息集中的各个全局指纹信息映射至所述布隆过滤器中,得到所述各个全局指纹信息的M个映射点;
验证所述各个全局指纹信息的M个映射点对应的M个比特位是否均为1,其中,若全局指纹信息的M个映射点对应的M个比特位均为1,确定所述全局指纹信息验证通过;若全局指纹信息的M个映射点对应的M个比特位中不均为1,确定所述全局指纹信息验证不通过。
4.根据权利要求2所述的方法,其特征在于,所述根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证,包括:
将验证通过的各个全局指纹信息确定为第一指纹信息集;
根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,再次对第一指纹信息集中的各个全局指纹信息进行验证;
若第一指纹信息集中存在验证不通过的全局指纹信息,更新第二随机数,继续对第一指纹信息集中验证通过的各个全局指纹信息进行下次验证;
若第一指纹信息集中的所有全局指纹信息验证通过,结束验证。
5.根据权利要求2所述的方法,其特征在于,所述根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证,包括:
将验证通过的各个全局指纹信息确定为第二指纹信息集;
根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,再次对第二指纹信息集中的各个全局指纹信息进行验证;
删除第二指纹信息集中验证不通过的全局指纹信息,得到更新后的第二指纹信息集;
更新第二随机数,继续对更新后的第二指纹信息集中的各个全局指纹信息进行验证,直至达到预设的验证次数阈值。
6.根据权利要求3所述的方法,其特征在于,所述根据所述M个映射函数,将所述引用指纹信息集中的各个引用指纹信息插入所述布隆过滤器中,包括:
根据所述M个映射函数,确定所述引用指纹信息集中的各个引用指纹信息在所述布隆过滤器中的M个插入点;
将所述布隆过滤器中M个插入点对应位置的比特位置为1。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述删除验证不通过的各个全局指纹信息之前,还包括:
删除验证不通过的各个全局指纹信息对应的数据。
8.一种数据回收装置,其特征在于,包括:
第一获取模块,用于获取引用指纹信息集和全局指纹信息集,所述引用指纹信息集为正在引用的指纹信息;
第一验证模块,用于根据所述引用指纹信息集和利用第一随机数初始化的布隆过滤器,对所述全局指纹信息集中的各个全局指纹信息进行验证;
第二验证模块,用于根据所述引用指纹信息集和利用第二随机数初始化的布隆过滤器,对验证通过的各个全局指纹信息进行至少一次验证;
第一删除模块,用于删除验证不通过的各个全局指纹信息。
9.一种数据回收设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的方法。
10.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至7任一项所述的方法。
CN202010130357.7A 2020-02-28 2020-02-28 数据回收方法、装置、设备及存储介质 Active CN111291126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010130357.7A CN111291126B (zh) 2020-02-28 2020-02-28 数据回收方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010130357.7A CN111291126B (zh) 2020-02-28 2020-02-28 数据回收方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111291126A true CN111291126A (zh) 2020-06-16
CN111291126B CN111291126B (zh) 2023-09-05

Family

ID=71018109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010130357.7A Active CN111291126B (zh) 2020-02-28 2020-02-28 数据回收方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111291126B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130036097A1 (en) * 2011-08-01 2013-02-07 Actifio, Inc. Data fingerprinting for copy accuracy assurance
CN103164698A (zh) * 2013-03-29 2013-06-19 华为技术有限公司 指纹库生成方法及装置、待测文本指纹匹配方法及装置
CN103944988A (zh) * 2014-04-22 2014-07-23 南京邮电大学 一种适用于云存储的重复数据删除系统和方法
CN103970744A (zh) * 2013-01-25 2014-08-06 华中科技大学 一种可扩展的重复数据检测方法
CN105897921A (zh) * 2016-05-27 2016-08-24 重庆大学 一种结合指纹抽样和减少数据碎片的数据块路由方法
CN106446263A (zh) * 2016-10-18 2017-02-22 北京航空航天大学 一种多媒体文件云存储平台及使用该云存储平台去冗的方法
CN106649346A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据重复性校验方法及装置
CN107329903A (zh) * 2017-06-28 2017-11-07 郑州云海信息技术有限公司 一种内存垃圾回收方法及系统
CN108089816A (zh) * 2017-11-14 2018-05-29 西北工业大学 一种基于负载均衡的查询式重复数据删除方法及装置
CN108090125A (zh) * 2017-11-14 2018-05-29 西北工业大学 一种非查询式的重复数据删除方法及装置
CN108710581A (zh) * 2018-05-23 2018-10-26 中国人民解放军陆军工程大学 基于布隆过滤器的pcm存储介质磨损均衡方法
CN109145158A (zh) * 2017-06-13 2019-01-04 华为技术有限公司 一种布隆过滤器中数据的处理方法以及布隆过滤器
US20190026042A1 (en) * 2017-07-18 2019-01-24 Vmware, Inc. Deduplication-Aware Load Balancing in Distributed Storage Systems
CN110046164A (zh) * 2019-04-16 2019-07-23 中国人民解放军国防科技大学 索引独立布谷过滤器、一致性布谷过滤器及操作方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130036097A1 (en) * 2011-08-01 2013-02-07 Actifio, Inc. Data fingerprinting for copy accuracy assurance
CN103970744A (zh) * 2013-01-25 2014-08-06 华中科技大学 一种可扩展的重复数据检测方法
CN103164698A (zh) * 2013-03-29 2013-06-19 华为技术有限公司 指纹库生成方法及装置、待测文本指纹匹配方法及装置
CN103944988A (zh) * 2014-04-22 2014-07-23 南京邮电大学 一种适用于云存储的重复数据删除系统和方法
CN106649346A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据重复性校验方法及装置
CN105897921A (zh) * 2016-05-27 2016-08-24 重庆大学 一种结合指纹抽样和减少数据碎片的数据块路由方法
CN106446263A (zh) * 2016-10-18 2017-02-22 北京航空航天大学 一种多媒体文件云存储平台及使用该云存储平台去冗的方法
CN109145158A (zh) * 2017-06-13 2019-01-04 华为技术有限公司 一种布隆过滤器中数据的处理方法以及布隆过滤器
CN107329903A (zh) * 2017-06-28 2017-11-07 郑州云海信息技术有限公司 一种内存垃圾回收方法及系统
US20190026042A1 (en) * 2017-07-18 2019-01-24 Vmware, Inc. Deduplication-Aware Load Balancing in Distributed Storage Systems
CN108089816A (zh) * 2017-11-14 2018-05-29 西北工业大学 一种基于负载均衡的查询式重复数据删除方法及装置
CN108090125A (zh) * 2017-11-14 2018-05-29 西北工业大学 一种非查询式的重复数据删除方法及装置
CN108710581A (zh) * 2018-05-23 2018-10-26 中国人民解放军陆军工程大学 基于布隆过滤器的pcm存储介质磨损均衡方法
CN110046164A (zh) * 2019-04-16 2019-07-23 中国人民解放军国防科技大学 索引独立布谷过滤器、一致性布谷过滤器及操作方法

Also Published As

Publication number Publication date
CN111291126B (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
US10977124B2 (en) Distributed storage system, data storage method, and software program
US7873683B2 (en) File system having transaction record coalescing
US10789062B1 (en) System and method for dynamic data deduplication for firmware updates
US9043334B2 (en) Method and system for accessing files on a storage system
US8086810B2 (en) Rapid defragmentation of storage volumes
US7155464B2 (en) Recovering and checking large file systems in an object-based data storage system
US8140537B2 (en) Block level tagging with file level information
JP2007012054A (ja) ファイルシステム保全の最適化されたスタートアップ認証
JP2007012056A (ja) データ保全の先送りされた認証を有するファイルシステム
US20010051954A1 (en) Data updating apparatus that performs quick restoration processing
JP2007012058A (ja) フラッシュ様媒体におけるトランザクションレコードを格納するファイルシステム
CN111031096A (zh) 一种基于拟态防御的分布式存储系统构建方法
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
US8862844B2 (en) Backup apparatus, backup method and computer-readable recording medium in or on which backup program is recorded
CN109496292A (zh) 一种磁盘管理方法、磁盘管理装置及电子设备
CN112612576B (zh) 虚拟机备份方法、装置、电子设备及存储介质
CN111522502B (zh) 数据去重方法、装置、电子设备及计算机可读存储介质
CN107798063B (zh) 快照处理方法和快照处理装置
CN112800007B (zh) 适用于fat32文件系统的目录项扩展方法和系统
CN113609090A (zh) 数据存储方法及装置、计算机可读存储介质、电子设备
CN110780814B (zh) 一种存储数据整理方法与装置
CN111291126B (zh) 数据回收方法、装置、设备及存储介质
CN112783698A (zh) 一种存储系统中的元数据的管理方法及装置
US11163642B2 (en) Methods, devices and computer readable medium for managing a redundant array of independent disks
US20090271579A1 (en) Storage subsystem and storage system

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
GR01 Patent grant
GR01 Patent grant