CN112783417A - 数据缩减的方法、装置、计算设备和存储介质 - Google Patents
数据缩减的方法、装置、计算设备和存储介质 Download PDFInfo
- Publication number
- CN112783417A CN112783417A CN201911061340.4A CN201911061340A CN112783417A CN 112783417 A CN112783417 A CN 112783417A CN 201911061340 A CN201911061340 A CN 201911061340A CN 112783417 A CN112783417 A CN 112783417A
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- fingerprint
- index information
- reduced
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 133
- 238000010586 diagram Methods 0.000 description 16
- 238000012217 deletion Methods 0.000 description 13
- 230000037430 deletion Effects 0.000 description 13
- 101150003216 SFP1 gene Proteins 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 101100171666 Arabidopsis thaliana SFP2 gene Proteins 0.000 description 4
- 101100422767 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL1 gene Proteins 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 3
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
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)
Abstract
本申请提供了一种数据缩减的方法、装置、计算设备和存储介质,所属的技术领域为大数据技术领域,该方法包括:在对待缩减的数据块进行缩减时,可以获取待缩减的数据块的指纹。根据待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合,在待缩减的数据块中,根据待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理。采用本申请,可以提升数据缩减的效率。
Description
技术领域
本申请涉及大数据技术领域,特别涉及一种数据缩减的方法、装置、计算设备和存储介质。
背景技术
随着大数据、云计算和人工智能的飞速发展,企业对数据存储的需求呈现爆炸式的增长,如果对这些数据直接进行存储,会占用较大的存储空间。所以如何提高存储空间的利用率,以有限的存储容量满足飞速增长的数据是当下应当解决的重要问题。
相关技术中,为了提高存储空间的利用率,通常会采用数据缩减技术对数据进行压缩。具体处理为:存储系统在接收到要进行存储的数据时,对数据进行分割处理,得到待缩减的数据块,获取该数据块的重删指纹,基于重删指纹(Fingerprint,FP),在全部数据块的重删指纹中,确定该数据块是否可以进行重复删除。若该数据块不可以重复删除,则获取该数据块的相似指纹,基于相似指纹,在全部数据块的相似指纹(Similar Fingerprint,SFP)中,确定该数据块是否可以进行相似删除。若该数据块可以相似删除,则进行相似删除处理,若该数据块不可以相似删除处理,则将该数据块整个存储至磁盘中。
在相关技术中,每次在判断数据是否可以进行数据缩减时,需要在全部数据块的指纹中,确定是否可以进行数据缩减,在全部数据块的数目比较多时,会花费大量的时间,造成存储系统的资源浪费。
发明内容
本申请提供了一种数据缩减的方法、装置、计算设备和存储介质,以减少存储资源的浪费。
第一方面,提供了一种数据缩减的方法,该方法包括:
获取待缩减的数据块的指纹;根据所述待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合;在所述待缩减的数据块中,根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理。
本申请所示的方案,在存在待缩减的数据块时,获取该待缩减的数据块的指纹。然后确定待缩减的数据块的指纹中的相同指纹,将具有相同指纹的数据块的索引信息,组成索引集合。对于任一索引集合,确定该索引集合的索引信息所属的数据块,将该索引集合的索引信息所属的数据块,进行数据缩减处理。这样,由于将具有相同指纹的索引信息组成一个索引集合,所以后续在搜索相同指纹的数据块时,可以直接获取一个索引集合,而不需要在全部的指纹中进行搜索,所以可以提高数据缩减效率。
在一种可能的实施方式中,该将所述指纹中具有相同指纹的数据块的索引信息组成索引集合,包括:基于日志结构合并(Log-Structured Merge,LSM)树和/或键值对(KeyValue,K-V)树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合。
本申请所示的方案,在仅有LSM树的情况下,LSM树的结构中包括多层存储结构,即L0层至Ln层,在数据块的索引信息最开始存储在LSM树中时,会首先被存储在第L0层。在第L0层与第L1层满足合并条件时,将第L0层的索引信息存储至第L1层,即在第Ln层和第Ln+1层满足合并条件时,将第Ln层的索引信息存储至第Ln+1层(第Ln层的容量小于第Ln+1层的容量)。可以使用LSM树,在待缩减的数据块中,确定具有相同的指纹的数据块,然后将这些数据块的索引信息,组成索引集合。在仅有K-V树的情况下,K-V树是按照键值对的形式进行存储,一个键值对包括一个键和一个值。可以使用K-V树,在待缩减的数据块中,确定具有相同的指纹的数据块,然后将这些数据块的索引信息,组成索引集合。在有LSM树和L-V树的情况下,分别使用这两种树,组成索引集合。这样,由于使用这两种树,所以可以使确定索引集合的效率更高。
在一种可能的实施方式中,数据块的指纹为相似指纹或重删指纹,该指纹为相似指纹时,该索引信息包括数据块的地址,或者数据块的地址、重删指纹,该指纹为重删指纹时,该索引信息包括数据块的地址。
在一种可能的实施方式中,数据块的指纹包括相似指纹和重删指纹;该将具有相同指纹的索引信息组成索引集合,包括:将具有相同相似指纹的第一索引信息组成第一索引集合,将具有相同重删指纹的第二索引信息组成第二索引集合;其中,所述第一索引信息包括数据块的地址,所述第二索引信息包括数据块的地址;或者,将具有相同相似指纹的第三索引信息组成第三索引集合;其中,所述第三索引信息包括数据块的地址、重删指纹。
本申请所示的方案,在数据块的指纹包括相似指纹和重删指纹时,可以确定具有相同相似指纹的数据块的第一索引信息,将第一索引信息组成第一索引集合,确定具有相同重删指纹的数据块的第二索引信息,将第二索引信息组成第二索引集合。这样,既可以确定出能进行重复数据删除的数据块,也能确定出进行相似数据删除的数据块。或者,确定具有相同相似指纹的数据块的第三索引信息,将第三索引信息组成第三索引集合,第三索引信息包括数据块的地址、重删指纹。这样,同时可以确定出进行重复数据删除的数据块和相似数据删除的数据块。
在一种可能的实施方式中,该基于LSM树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合,包括:当达到所述LSM树的第Ln层与第Ln+1层的合并条件时,在所述待缩减的数据块中,将所述第Ln层与所述第Ln+1层具有相同指纹的索引信息合并至所述第Ln+1层,且在合并至所述第Ln+1层后,将具有相同指纹的索引信息组成索引集合,其中,n为自然数。
其中,合并条件为Ln层的容量达到Ln层规定的最大容量,或者文件的分布满足一定条件等,文件的分布满足一定条件指文件中存在多个相同相似指纹的数据块和/或多个相同重删指纹的数据块。当然合并条件也可以是其他,不限于上述列出的内容。
本申请所示的方案,在使用LSM,将具有相同指纹的数据块的索引信息组成索引集合时,可以周期性检测第Ln层的数据的数据量,判断第Ln层的数据量是否达到第Ln层规定的最大容量,还可以周期性检测文件的分布是否满足一定条件。若达到规定的最大容量或者文件的分布达到一定条件,则确定满足合并条件,可以将第Ln层上存储的数据块的索引信息合并至第Ln+1层,且在合并至第Ln+1层后,将具有相同指纹的数据块的索引信息组成索引集合。这样,在进行合并的时候相同指纹的索引信息会相邻存储,更方便组成索引集合。
在一种可能的实施方式中,在基于LSM树和K-V树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合的情况下,所述根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理,包括:在执行所述方法的处理设备的负载量大于或等于第一数值的情况下,根据所述LSM树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;在处理设备的负载量小于所述第一数值的情况下或者所述待缩减的数据块对应目标标识的情况下,根据所述K-V树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;所述目标标识用于指示实时对数据块进行缩减处理。
本申请所示的方案,可以判断待缩减的数据块是否对应有目标标识,目标标识用于指示实时对数据块进行缩减处理,实时缩减处理指只要在处理设备的存储系统写入数据,就进行数据的缩减处理。在待缩减的数据块对应有目标标识时,可以确定要对待缩减的数据块进行实时缩减处理。处理设备可以使用K-V树中待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据的缩减处理。在待缩减的数据块未对应有目标标识时,可以周期性获取处理设备的负载量,处理设备判断负载量与第一数值的大小。若负载量大于或等于第一数值,则可以使用LSM树中待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据的缩减处理。若负载量小于第一数值,则可以使用K-V树中待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据的缩减处理。这样,使用LSM树时,通过合并才能得到索引集合,然而合并处理并不是实时进行,所以在负载量比较大或者要求对数据的缩减处理不是实时时,可以采用LSM树。而在负载量比较小时,由于处理设备的资源足以支撑进行数据的缩减处理,所以可以使用K-V树的实时缩减处理,或者要求对数据的缩减处理是实时时,由于K-V树可以直接确定出索引集合,所以可以达到实时性的要求。
在一种可能的实施方式中,该方法还包括:获取执行所述方法的处理设备的负载量;该根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理,包括:根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务;在所述处理设备的负载量小于第二数值的情况下,执行所述缩减任务;或者,在所述处理设备的负载量小于第二数值的情况下,根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务,执行所述缩减任务。
本申请所示的方案,在将第Ln层的索引信息与第Ln+1层的索引信息进行合并后,可以搜索第Ln+1层中的索引集合。根据索引集合中各索引信息的指纹,生成缩减任务。将当前生成的缩减任务排列在缩减任务队列的最后面,其中,在缩减任务队列中排列的位置越靠后,缩减任务越晚被执行。在缩减任务队列中存在缩减任务时,可以周期性判断处理设备的负载量与第二数值的大小。若处理设备的负载量小于第二数值,则从缩减任务队列中,获取缩减任务进行执行。这样,在负载量小于一定数值时,执行数据的缩减任务,不会影响其他业务。
或者,可以获取处理设备的负载量,确定该负载量是否大于第二数值。若该负载量大于或等于第二数值,则确定不生成待缩减的数据块的缩减任务,若该负载量小于第二数值,则确定生成待缩减的数据块的缩减任务(如何生成缩减任务在上文中有描述此处不再赘述)。这样,在负载量较小的时候,才会生成数据的缩减任务,执行缩减任务,不会影响其他业务。
第二方面,提供了一种数据缩减的装置,所述装置包括:
获取模块,用于获取待缩减的数据块的指纹;
确定模块,用于根据所述待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合;
缩减模块,用于在所述待缩减的数据块中,根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理。
在一种可能的实施方式中,所述确定模块,用于:
基于LSM树和/或K-V树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合。
在一种可能的实施方式中,所述指纹为相似指纹或重删指纹,所述指纹为相似指纹时,所述索引信息包括数据块的地址,或者数据块的地址、重删指纹,所述指纹为重删指纹时,所述索引信息包括数据块的地址。
在一种可能的实施方式中,所述指纹包括相似指纹和重删指纹;
所述确定模块,用于:
将具有相同相似指纹的第一索引信息组成第一索引集合,将具有相同重删指纹的第二索引信息组成第二索引集合;其中,所述第一索引信息包括数据块的地址,所述第二索引信息包括数据块的地址;或者,
将具有相同相似指纹的第三索引信息组成第三索引集合;其中,所述第三索引信息包括数据块的地址、重删指纹。
在一种可能的实施方式中,所述确定模块,用于:
当达到所述LSM树的第Ln层与第Ln+1层的合并条件时,在所述待缩减的数据块中,将所述第Ln层与所述第Ln+1层具有相同指纹的索引信息合并至所述第Ln+1层,且在合并至所述第Ln+1层后,将具有相同指纹的索引信息组成索引集合,其中,n为自然数。
在一种可能的实施方式中,所述确定模块,用于:
在部署所述装置的处理设备的负载量大于或等于第一数值的情况下,根据所述LSM树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;
在处理设备的负载量小于所述第一数值的情况下或者所述待缩减的数据块对应目标标识的情况下,根据所述K-V树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;所述目标标识用于指示实时对数据块进行缩减处理。
在一种可能的实施方式中,所述获取模块,还用于:
获取部署所述装置的处理设备的负载量;
所述缩减模块,用于:
根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务;在所述处理设备的负载量小于第二数值的情况下,执行所述缩减任务;或者,
在所述处理设备的负载量小于第二数值的情况下,根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务,执行所述缩减任务。
第三方面,提供了一种数据缩减的装置,所述装置包括接口和处理器,其中:所述处理器,用于实现上述第一方面所述的数据缩减的方法。
第四方面,提供了一种数据缩减的计算设备,所述计算设备包括处理器和存储器,其中:
所述存储器中存储有计算机指令;
所述处理器执行所述计算机指令,以实现上述第一方面所述的数据缩减的方法。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机可读存储介质中的计算机指令被计算设备执行时,使得所述计算设备实现上述第一方面所述的数据缩减的方法。
附图说明
图1是本申请实施例提供的一种计算设备的结构示意图;
图2是本申请实施例提供的一种数据缩减的方法的流程示意图;
图3是本申请实施例提供的一种LSM树的结构示意图;
图4是本申请实施例提供的一种LSM树中第Ln层和第Ln+1层的合并结构示意图;
图5是本申请实施例提供的一种LSM树中第Ln层和第Ln+1层的合并结构示意图;
图6是本申请实施例提供的一种LSM树中第Ln层和第Ln+1层的合并结构示意图;
图7是本申请实施例提供的一种K-V树的结构示意图;
图8是本申请实施例提供的一种K-V树的结构示意图;
图9是本申请实施例提供的一种生成缩减任务的示意图;
图10是本申请实施例提供的一种生成缩减任务的示意图;
图11是本申请实施例提供的一种生成缩减任务的示意图;
图12是本申请实施例提供的一种生成缩减任务的示意图;
图13是本申请实施例提供的一种生成缩减任务的示意图;
图14是本申请实施例提供的一种数据缩减的装置的结构示意图;
图15是本申请实施例提供的一种数据缩减的装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于对本申请实施例的理解,下面首先介绍所涉及到的名词的概念:
重复数据删除,存在多个相同的数据块时,仅存储多个相同的数据块中的一个数据块。例如,一个文件被分割成多个数据块,计算多个数据块中每个数据块的重删指纹,将相同重删指纹的数据块仅存储一个。
相似数据删除,将具有一定相似度的数据块进行缩减。例如,数据块1与数据块2由于部分内容不同,无法进行重复数据删除,但是数据块1与数据块2之间的相似度极高,此时将数据块1作为参考块,数据块2参考数据块1进行相似数据删除,仅保留数据块2中与数据块1不相同的部分。
本申请实施例中数据缩减的方法的处理设备,可以由数据缩减的装置执行,数据缩减的装置可以是一个硬件装置,如计算设备、主机、存储阵列等,也可以是一个软件装置(如可以运行在硬件装置上的一套软件程序)。
在数据缩减的方法由计算设备执行时,图1示出了本申请实施例中计算设备的结构框图,该计算设备至少可以包括接口101和处理器102。其中,接口101可以用于实现数据的接收,具体实现,接口101可以为硬件接口,如网络接口卡(Network Interface Card,NIC)或计算设备总线适配器(Host Bus Adaptor,HBA)等,也可以为程序接口模块等。处理器102可以是中央处理单元和存储器的组合,还可以是现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)或其他硬件,处理器102也可以是中央处理单元与其他硬件的组合,如中央处理单元与FPGA的组合等。处理器102可以是计算设备的控制中心,利用各种接口和线路连接整个计算设备的各个部分,作为一种可能的实施方式,处理器102可以包括一个或多个处理核心。进一步的,计算设备还包括硬盘,用于为计算设备提供存储空间。
本申请提供了一种数据缩减的方法,如图2所示,该方法的执行流程可以如下:
步骤201,数据缩减的装置获取待缩减的数据块的指纹。
本实施例中,数据缩减的装置在存储的数据中,确定未进行数据缩减的数据(未进行数据缩减的数据指未进行重复数据删除处理或相似数据删除处理的数据),将未进行数据缩减的数据,分割为数据块,分割得到的数据块即为待缩减的数据块。数据缩减的装置可以获取待缩减的数据块的指纹。
需要说明的是,数据缩减的装置获取待缩减的数据块的指纹可以为数据缩减的装置当前确定数据块的指纹,也可以是数据缩减的装置获取存储的数据块的指纹。
在一种可能的实施方式下,将未进行数据缩减的数据分割为数据块的方式包括但是不限于以下几种:
1)、定长分割方式,即按照分割得到的每个数据块具有相同数据量的方式,将未进行数据缩减的数据分割为数据块,这样,分割得到的每个数据块的数据量相同。
2)、变长分割方式,即分割得到的数据块中存在一个或多个数据块与其他数据块的数据量不相同。
3)、数据内容的变长分割方式,即分析数据内容,基于数据内容进行数据块的分割。如将连续的相同类型的数据内容的数据划分到同一数据块等。
4)、数据块重合的分割方式,即分割好的相邻的数据块中后一个数据块包含前一个数据块的部分内容。如数据为123456789,分割好的数据块为123、345、567、789。
5)、数据块不重合的分割方式,即分割好的相邻的数据块中后一个数据块不包含前一个数据块的部分内容。如数据为123456789,分割好的数据块为123、456、789。
在一种可能的实施方式下,指纹可以包括重删指纹和/或相似指纹,相应的待缩减的数据块的指纹的获取方式可以使用以下方式:
确定待缩减的数据块的重删指纹:对于待缩减的任一数据块,将该数据块的部分内容或者全部内容,采用包括但不限于信息摘要算法(Message-Digest Algorithm,md5)、安全散列算法(Secure Hash Algorithm 1,sha-1)、xxhash中任一方式进行处理,得到该数据块的重删指纹。
确定待缩减的数据块的相似指纹:对于待缩减的任一数据块,数据缩减的装置使用滑动窗口截取该数据块的内容(如滑动窗口为8比特,滑动窗口第一次截取数据块的1至8比特,滑动窗口第二次截取2至9比特等),并计算拉宾(Rabin)哈希,获得Rabin哈希值,再选择随机素数mi与ai对Rabin哈希值进行再次置换映射,以最大值(或者最小值)作为该随机素数对应的特征值,该特征值即为该数据块的一个相似指纹。例如,具体公式可以为:特征值i为:{(mi*Rabin(Wj)+ai)mod232},其中,N表示滑动窗口滑动截取数据块的内容的次数,Wj为第j次截取的内容,Rabin(Wj)为数据块中截取的Wj内容的Rabin哈希值,表示取N次截取的内容经过{}中的方法进行处理的最大值,“*”表示相乘,mi与ai为随机素数,mod232表示以232为模。该方式仅为一种可以实现的方式,但是并不限于该方式。
需要说明的是,Rabin哈希为一种哈希方式,其中的Rabin为发明该哈希方式的人的名称。
在一种可能的实施方式中,数据缩减的装置可以使用多组随机素数,确定出多个特征值。数据缩减的装置可以将多个特征值合并成超级指纹,将该超级指纹,确定为该数据块的相似指纹,具体公式为:超级指纹为:Rabin(特征值1,特征值2,…,特征值n)。由于超级指纹是由多个特征值得到,所以可以提升寻找相似的数据块的准确性。
步骤202,数据缩减的装置根据待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合。
本实施例中,数据缩减的装置可以在待缩减的数据块中,确定出具有相同指纹的数据块,将具有相同指纹的数据块的索引信息,组成索引集合,索引信息可以包括数据块当前的地址,该地址用于指示数据块当前存储的位置,该地址可以是逻辑区块地址(LogicalBlock Address,LBA)。
步骤203,数据缩减的装置在待缩减的数据块中,根据待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理。
本实施例中,数据缩减的装置可以在待缩减的数据块中,根据待缩减的数据块的指纹,确定同一索引集合的索引信息所属的数据块。然后数据缩减的装置对同一索引集合的索引信息所属的数据块,进行数据缩减处理。
需要说明的是,步骤202确定出的索引集合有可能存在多个,对于每个索引集合,该索引集合包括的各索引信息所属的数据块的指纹相同。这样在步骤203中,同一索引集合指属于同一个索引集合,那么同一索引集合的索引信息指属于同一个索引集合的索引信息。
在一种可能的实施方式中,在实现上述步骤202时,数据缩减的装置可以使用LSM树和/或K-V树,在待缩减的数据块中,将具有相同指纹的数据块的索引信息组成索引集合。如下进行说明:
1)、在仅有LSM树的情况下,如图3所示,LSM树的结构中包括多层存储结构(如一共7层等),即L0层至Lk层等,在数据块的索引信息最开始存储在LSM树中时,会首先被存储在第L0层。在第L0层与第L1层满足合并条件时,数据缩减的装置将第L0层的索引信息存储至第L1层,即在第Ln(n小于k)层和第Ln+1层满足合并条件时,数据缩减的装置将第Ln层的索引信息存储至第Ln+1层(第Ln层的容量小于第Ln+1层的容量)。
数据缩减的装置可以使用LSM树,在待缩减的数据块中,确定具有相同的指纹的数据块,然后将这些数据块的索引信息,组成索引集合。
2)、在仅有K-V树的情况下,K-V树是按照键值对的形式进行存储,一个键值对包括一个键和一个值。数据缩减的装置可以使用K-V树,在待缩减的数据块中,确定具有相同的指纹的数据块,然后将这些数据块的索引信息,组成索引集合。
3)、在有LSM树和K-V树的情况下,可以同时使用LSM树和K-V树,将具有相同指纹的数据块的索引信息组成索引集合,使用LSM树的方式可参见上述1)的描述,使用K-V树的方式可参见上述2)的描述。
需要说明的是,在使用LSM树和/或K-V树时,数据块的指纹为相似指纹或重删指纹,在指纹为相似指纹时,索引信息可以使用键值对表示,键为数据块的相似指纹,值为数据块的地址,或者,键为数据块的相似指纹,值为数据块的地址和重删指纹。在指纹为重删指纹时,索引信息也可以使用键值对表示,键为数据块的重删指纹,值为数据块的地址。
在一种可能的实施方式中,在实现上述步骤202时,在数据块的指纹包括相似指纹和重删指纹时,将具有相同指纹的数据块的索引信息组成索引集合的处理为:
方式一:将具有相同相似指纹的数据块的第一索引信息组成第一索引集合,将具有相同重删指纹的数据块的第二索引信息组成第二索引集合;其中,第一索引信息包括数据块的地址,第二索引信息包括数据块的地址。
本实施例中,在数据块的指纹包括相似指纹和重删指纹时,数据缩减的装置确定具有相同相似指纹的数据块,将这些数据块的第一索引信息组成第一索引集合,第一索引信息使用键值对表示,键为数据块的相似指纹,值为数据块的地址,或者键为数据块的相似指纹,值为数据块的地址和重删指纹。
数据缩减的装置确定具有相同重删指纹的数据块,将这些数据块的第二索引信息组成第二索引集合。第二索引信息使用键值对表示,键为数据块的重删指纹,值为数据块的地址。
方式二:将具有相同相似指纹的第三索引信息组成第三索引集合;其中,所述第三索引信息包括数据块的地址、重删指纹。
本实施例中,在数据块的指纹包括相似指纹和重删指纹时,数据缩减的装置确定具有相同相似指纹的数据块,将这些数据块的第三索引信息组成第三索引集合,第三索引信息使用键值对表示,键为数据块的相似指纹,值为数据块的地址和重删指纹。能组成第三索引集合的原因为:在任两个数据块的重删指纹相同时,其相似指纹一定相同,所以可以将相同相似指纹的第三索引信息组成第三索引集合,在第三索引集合中既包括相似指纹相同的数据块,也包括相同重删指纹的数据块。
在一种可能的实施方式中,在上述基于LSM树,在待缩减的数据块的指纹中,将具有相同指纹的索引信息组成索引集合的处理可以为:
当达到LSM树的第Ln层与第Ln+1层的合并条件时,在待缩减的数据块的索引中,将第Ln层与第Ln+1层具有相同指纹的数据块的索引信息合并至第Ln+1层,且在合并至第Ln+1层后,将具有相同指纹的数据块的索引信息组成索引集合,其中,n为自然数。
其中,合并条件为Ln层的容量达到Ln层规定的最大容量,或者文件的分布满足一定条件等,文件的分布满足一定条件指文件中存在多个相同相似指纹的数据块和/或多个相同重删指纹的数据块。当然合并条件也可以是其他,不限于上述列出的内容。
本实施例中,数据缩减的装置可以周期性检测第Ln层的数据的数据量和第Ln层和第Ln+1层是否存在相同相似指纹的数据块和/或多个相同重删指纹的数据块,判断第Ln层的数据量是否达到第Ln层规定的最大容量。若达到规定的最大容量,和/或,第Ln层和第Ln+1层是否存在相同相似指纹的数据块和/或多个相同重删指纹的数据块(即文件的分布满足一定条件),则数据缩减的装置可以将第Ln层上存储的数据块的索引信息合并至第Ln+1层。
具体的,数据块的指纹包括相似指纹和/或相同指纹。在数据块的指纹包括相似指纹时,数据缩减的装置可以确定第Ln层是否存在与第Ln+1层中具有相同相似指纹的数据块的第一索引信息,若存在具有相同相似指纹的数据块的第一索引信息,则将第Ln层中这些数据块的第一索引信息与第Ln+1层中具有相同相似指纹的数据块的第一索引信息进行合并,组成索引集合,可以称为是第一索引集合。如图4所示,第一索引信息使用键值对表示,键为数据块的相似指纹,值为数据块的地址,第Ln存在SFP1=LBA1,SFP2=LBA2,第Ln+1层存在SFP1=LBA3,SFP2=LBA4,SFP3=LBA6,第Ln层合并至第Ln+1层时,SFP1=LBA1和SFP1=LBA3组成一个索引集合,SFP2=LBA2和SFP2=LBA4组成一个索引集合。如图5所示,第一索引信息使用键值对表示,键为数据块的相似指纹,值为数据块的地址和重删指纹,第Ln层存在SFP1=LBA1+FP1,SFP2=LBA2+FP2,第Ln+1层存在SFP1=LBA3+FP3,SFP2=LBA4+FP4,SFP3=LBA6+FP6,第Ln层合并至第Ln+1层时,SFP1=LBA1+FP1和SFP1=LBA3+FP3组成一个索引集合,SFP2=LBA2+FP2和SFP2=LBA4+FP4组成一个索引集合。
在数据块的指纹包括重删指纹时,数据缩减的装置可以确定第Ln层是否存在与第Ln+1层中具有相同重删指纹的数据块的第二索引信息,若存在具有相同重删指纹的数据块的第二索引信息,则将第Ln层中这些数据块的第二索引信息与第Ln+1层中具有相同重删指纹的数据块的第二索引信息进行合并,组成索引集合,可以称为是第二索引集合。如图6所示,第二索引信息使用键值对表示,键为数据块的重删指纹,值为数据块的地址,第Ln存在FP1=LBA1,FP2=LBA2,第Ln+1层存在FP1=LBA3,FP2=LBA4,FP3=LBA6,第Ln层合并至第Ln+1层时,FP1=LBA1和FP1=LBA3组成一个索引集合,FP2=LBA2和FP2=LBA4组成一个索引集合。
在数据块的指纹包括相似指纹和重删指纹时,数据缩减的装置在将第Ln层合并至第Ln+1层时,数据块的索引信息使用键值对表示,键为数据块的相似指纹时,值为数据块的地址(索引信息为第一索引信息),键为重删指纹时,值为数据块的地址(索引信息为第二索引信息)。这样,数据缩减的装置在将第Ln层的数据块的索引信息合并至第Ln+1层时,会将第Ln层中这些数据块的第一索引信息与第Ln+1层中具有相同相似指纹的数据块的第一索引信息进行合并,组成索引集合,可以称为是第一索引集合,并会将第Ln层中这些数据块的第二索引信息与第Ln+1层中具有相同重删指纹的数据块的第二索引信息进行合并,组成索引集合,可以称为是第二索引集合。这样,将相同相似指纹的数据块的索引信息组成一个索引集合,便于寻找到相同相似指纹的数据块。将相同重删指纹的数据块的索引信息组成一个索引集合,便于寻找到相同重删指纹的数据块。
或者在数据块的指纹包括相似指纹和重删指纹时,数据块的索引信息(该索引信息可以是第三索引信息)使用键值对表示,键为数据块的相似指纹,值为数据块的地址和重删指纹。数据缩减的装置可以确定第Ln层是否存在与第Ln+1层中具有相同相似指纹的数据块的第三索引信息,若存在具有相同相似指纹的数据块的第三索引信息,则将第Ln层中这些数据块的第三索引信息与第Ln+1层中具有相同相似指纹的数据块的第三索引信息进行合并,组成索引集合,可以称为是第三索引集合。这样,使用一条索引信息就能既包括相似指纹,也包括重删指纹。而且由于在重删指纹相同的两个数据块,这两个数据块的相似指纹必定相同,所以可以使用数据块的相似指纹作为键,数据块的地址和重删指纹作为值。这样,将相同相似指纹的数据块的索引信息组成一个索引集合,便于寻找到相同相似指纹的数据块,而且其中索引信息中包括重删指纹,所以也可以快速的寻找到相同重删指纹的数据块。
需要说明的是,在将第Ln层的索引信息合并至第Ln+1层时,可以将第Ln层的索引信息全部合并至第Ln+1层,也可以是仅将具有相同指纹的数据块的索引信息,合并至第Ln+1层,本申请实施例不做限定。
还需要说明的是,上述第一索引信息中的“第一”、第二索引信息中的“第二”和第三索引信息中的“第三”仅是用于区分数据块的不同索引信息。
在一种可能的实施方式中,在上述基于K-V树,在待缩减的数据块的指纹中,将具有相同指纹的索引信息组成索引集合的处理可以为:
在待缩减的数据块中,将数据块的相似指纹作为K-V树的节点的唯一标识,或者将数据块的重删指纹作为K-V树的节点的唯一标识,具体在使用K-V树存储索引信息时,可以以不限于二叉树的方式进行存储。
将数据块的相似指纹作为K-V树的节点的唯一标识时,每个节点包括待缩减的数据块中任一数据块的索引信息,索引信息使用键值对表示,键值对的键为该数据块的相似指纹,键值对的值为该数据块的地址和重删指纹,或者键值对的值为该数据块的地址。
将数据块的重删指纹作为K-V树的节点的唯一标识时,每个节点包括待缩减的数据块中任一数据块的索引信息,索引信息使用键值对表示,键值对的键为该数据块的重删指纹,键值对的值为该数据块的地址。
需要说明的是,在数据块的指纹包括重删指纹和相似指纹时,可以建立两个K-V树,一个用于建立相似指纹的K-V树,另一个用于建立重删指纹的K-V树。当然也可以建立一个K-V树,仅建立相似指纹的K-V树,只不过索引信息的键值对的值包括数据块的重删指纹和地址。
还需要说明的是,K-V树实际上是存储了数据块的索引信息。例如,如图7所示,索引信息的键值对的键为数据块的相似指纹,键值对的值包括数据块的重删指纹和地址,相似指纹为50时,值为数据块1和数据块2的重删指纹和地址,相似指纹为25时,值为数据块5和数据块8的重删指纹和地址。在建立K-V树时,数据缩减的装置可以使用二叉树的方式建立。例如,如图8所示,数据缩减的装置取待缩减的数据块中任一数据块的相似指纹等于50(相似指纹等于50的数据块为数据块1、数据块2),二叉树的第二层的左侧为相似指纹小于50,二叉树的右侧为相似指纹大于50,二叉树的第三层与第二层的分布方式相同。当然,在建立K-V树时,也可以按照其他方式建立,本申请实施例不做限定。
在一种可能的实施方式中,在步骤203中,在同时存在LSM树和K-V树时,数据缩减的装置可以根据当前的负载情况或者其他条件,判断是使用LSM树或者K-V树,相应的处理可以如下:
在执行方法的处理设备的负载量大于或等于第一数值的情况下,根据LSM树中待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理。在处理设备的负载量小于第一数值的情况下或者待缩减的数据块对应目标标识的情况下,根据K-V树中待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;目标标识用于指示实时对数据块进行缩减处理。
本实施例中,数据缩减的装置可以判断待缩减的数据块是否对应有目标标识,目标标识用于指示实时对数据块进行缩减处理,实时缩减处理指只要在处理设备的存储系统写入数据,就进行数据的缩减处理。在待缩减的数据块对应有目标标识时,可以确定要对待缩减的数据块进行实时缩减处理。数据缩减的装置可以使用K-V树中待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据的缩减处理。
在待缩减的数据块未对应有目标标识时,数据缩减的装置中设置有获取处理设备的负载量的模块(数据缩减的装置为硬件装置时,数据缩减的装置即为处理设备,数据缩减的装置为软件装置时,数据缩减的装置部署在处理设备上),数据缩减的装置可以周期性获取处理设备的负载量,判断负载量与第一数值的大小。若负载量大于或等于第一数值,则数据缩减的装置可以使用LSM树中待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据的缩减处理。
若负载量小于第一数值,则数据缩减的装置可以使用K-V树中待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据的缩减处理。
需要说明的是,上述出现这种情况的原因是,使用LSM树时,通过合并才能得到索引集合,然而合并处理并不是实时进行,所以在负载量比较大或者要求对数据的缩减处理不是实时时,可以采用LSM树。而在负载量比较小时,由于处理设备的资源足以支撑进行数据的缩减处理,所以可以使用K-V树的实时缩减处理,或者要求对数据的缩减处理是实时时,由于K-V树可以直接确定出索引集合,所以可以达到实时性的要求。
还需要说明的是,上述处理设备的负载量可以分为两种情况,一种情况为:应用与存储系统运行于同一处理设备,那么在计算处理设备的负载量时,要获取处理设备当前的CPU占用率、内存占用率、输入/输出队列数或线程等待的数目中的一种或多种。输入/输出队列数可以指写入存储系统的数据的队列数和从存储系统读取数据的队列数之和,线程等待的数目指应用等待执行的线程数目与存储系统等待执行的线程的数目之和。另一种情况为:应用与存储系统运行于不同的处理设备,当前存储系统运行于处理设备上,那么在计算处理设备的负载量时,要获取处理设备当前的CPU占用率、内存占用率、输入/输出队列数或线程等待的数目中的一种或多种。输入/输出队列数可以指写入存储系统的数据的队列数和从存储系统读取数据的队列数之和,线程等待的数目指存储系统等待执行的线程的数目。
然后数据缩减的装置可以将CPU占用率、内存占用率、输入/输出队列数和线程等待的数目进行加权处理,得到处理设备的负载量。具体公式可以为处理设备的负载量=a*x+b*y+c*z+d*r,a、b、c、d分别为CPU占用率、内存占用率、输入/输出队列数和线程等待的数目的权值,a、b、c、d之和等于1,x、y、z、r分别为CPU占用率、内存占用率、输入/输出队列数和线程等待的数目。当然也可以使用其他方式计算处理设备的负载量。
在一种可能的实施方式中,在上述步骤203中,数据缩减的装置可以将数据缩减的处理生成缩减任务,基于处理设备的负载量,确定是否执行缩减任务。处理方式可以如下:
数据缩减的装置获取执行方法的处理设备的负载量。根据待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务。在处理设备的负载量小于第二数值的情况下,执行缩减任务。
本实施例中,数据缩减的装置可以获取处理设备的负载量,获取负载量的过程在前面已经进行描述,此处不再赘述。
数据缩减的装置在将第Ln层的索引信息与第Ln+1层的索引信息进行合并后,可以搜索第Ln+1层中的索引集合。根据索引集合中各索引信息的指纹,生成缩减任务。数据缩减的装置将当前生成的缩减任务排列在缩减任务队列的最后面,其中,在缩减任务队列中排列的位置越靠后,缩减任务越晚被执行。
在缩减任务队列中存在缩减任务时,数据缩减的装置可以周期性判断处理设备的负载量与第二数值的大小。若处理设备的负载量小于第二数值,则数据缩减的装置从缩减任务队列中,获取缩减任务进行执行。在一个缩减任务中既包括重复数据删除和相似数据删除时,可以优先进行重复数据删除,在重复数据删除完毕后,再进行相似数据删除,以达到更大的缩减收益。当然在一个缩减任务中既包括重复数据删除和相似数据删除时,可以同时进行重复数据删除和相似数据删除。这样,通过判断处理设备的负载量确定是否进行缩减任务,可以基于处理设备的负载自适应的调整数据缩减策略。另外,在存储系统和应用部署在同一处理设备上时,由于会判断处理设备的负载量,所以在应用业务量比较大时(如处理设备的负载量超过第二数值),不会执行缩减任务,进而不会影响业务。
需要说明的是,上述生成缩减任务时,可以按照如下的方式生成缩减任务(以下以在索引信息的键值对中键为相似指纹,值为数据块的地址和重删指纹为例进行说明):
数据缩减的装置在将第Ln层的索引信息与第Ln+1层的索引信息进行合并后,可以搜索第Ln+1层中的索引集合。若第Ln+1层中的索引集合中每个索引集合中仅有一个索引信息,则不会生成缩减任务。例如,如图9所示,第Ln+1层的索引信息包括SFP5=LBA5+FP1,SFP6=LBA1+FP2,SFP7=LBA4+FP3(等号前面为键(即相似指纹),等号后面为值(即为地址和重删指纹)),由于每个索引集合中仅包括一个索引信息,所以不会生成缩减任务。
若第Ln+1层中的索引集合中存在索引集合不是仅包括一个索引信息,可以生成缩减任务。例如,如图10所示,在第Ln+1层某个索引集合包括三个索引信息,这三个索引信息分别为:SFP5=LBA5+FP1,SFP5=LBA4+FP2,SFP5=LBA3+FP9,将这三个索引信息生成缩减任务为:SFP5=FP1(LBA5)+FP2(LBA4)+FP9(LBA3),生成两个相似数据删除的缩减任务,表示FP2(LBA4)、FP9(LBA3)所属的数据块在进行数据缩减(即相似数据删除)时,会参考FP1(LBA5)所属的数据块。
例如,如图11所示,在第Ln+1层某个索引集合包括三个索引信息,这三个索引信息分别为:SFP5=LBA5+FP1,SFP5=LBA8+FP1,SFP5=LBA0+FP1,将这三个索引信息生成缩减任务为:SFP5=FP1(3),生成两个重复数据删除的缩减任务,FP1(3)表示进行2(即(3-1))次重复数据删除处理,LBA8所属的数据块和LBA0所属的数据块在进行数据缩减(即重复数据删除)时,会参考FP1(LBA5)所属的数据块。
再例如,如图12所示,在第Ln+1层某个索引集合包括三个索引信息,这三个索引信息分别为:SFP5=LBA5+FP1,SFP5=LBA8+FP1,SFP5=LBA6+FP7,将这三个索引信息生成缩减任务为:SFP5=FP1(2)+FP7(LBA6),生成一个相似数据删除的缩减任务和一个重复数据删除的缩减任务,FP1(2)表示进行1(即(2-1))次重复数据删除处理,LBA8+FP1所属的数据块在进行数据缩减(即重复数据删除)时,会参考FP1(LBA5)所属的数据块,LBA6+FP7所属的数据块在进行数据缩减(即相似数据删除)时,会参考FP1(LBA5)所属的数据块。
再例如,如图13所示,在第Ln+1层某个索引集合包括三个索引信息,这三个索引信息分别为:SFP5=LBA5+FP1,SFP5=FP2(LBA2)+FP3(LBA3)+FP4(LBA4),SFP5=LBA6+FP2,将这三个索引信息生成缩减任务为:SFP1=FP2(2)+FP3(LBA3)+FP4(LBA4)+FP1(LBA5),生成两个(一个相似重删的缩减任务与一个重删的缩减任务)缩减任务,FP2(2)表示进行1(即(2-1))次重复数据删除处理,FP1(LBA5)所属的数据块在进行数据缩减(即相似数据删除)时,会参考FP2(LBA2)所属的数据块,FP2(LBA6)所属的数据块在进行数据缩减时(即重复数据删除),会参考FP2(LBA2)所属的数据块。采用这种方式,可以减少参考块的个数,这是由于优先重复利用已有的合并记录,生成缩减任务。
这里的FP3(LBA3)和FP4(LBA4)已经在之前的数据的缩减任务中做过数据缩减了,不会再次参与后续的数据缩减,此处在SFP1=FP2(2)+FP3(LBA3)+FP4(LBA4)+FP1(LBA5)中列出来主要是为了说明被参考的数据块(FP2(LBA2)),在后续的任务中还可以继续被参考。
在一种可能的实施方式中,在上述还可以是基于处理设备的负载量确定是否生成待缩减的数据块的缩减任务。处理方式可以如下:
数据缩减的装置可以获取处理设备的负载量,确定该负载量是否大于第二数值。若该负载量大于或等于第二数值,则确定不生成待缩减的数据块的缩减任务,若该负载量小于第二数值,则确定生成待缩减的数据块的缩减任务(如何生成缩减任务在上文中有描述此处不再赘述)。
上述需要说明的是,本申请实施例中使用SFP=LBA的格式表示一个数据块的索引信息,等号的左边为键(相似指纹),等号的右边为值(地址)。本申请实施例中使用FP=LBA的格式表示一个数据块的索引信息,等号的左边为键(重删指纹),等号的右边为值(地址)。本申请实施例中使用SFP=LBA+FP的格式表示一个数据块的索引信息,等号的左边为键(相似指纹),等号的右边为值(地址和重删指纹)。
本申请实施例中,数据缩减的装置获取待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合。在待缩减的数据块中,数据缩减的装置可以根据待缩减的数据块的指纹,对同一索引集合中的索引信息所属的数据块,进行数据缩减处理。这样,由于是将具有相同指纹的数据块的索引信息组成索引集合,后续在搜索相同指纹的数据块时,可以直接获取一个索引集合,而不需要在全部的指纹中进行搜索,所以可以提高数据缩减效率。
另外,对于上述实施例中,如图14所示,数据缩减的装置可以划分为负载监控模块、存储模块、分析模块和数据缩减模块等,负载监控模块与数据缩减模块之间有连接。负载监控模块用于获取处理设备的负载量,存储模块用于存储索引信息,分析模块用于确定数据的缩减任务,数据缩减模块用于执行数据的缩减任务,负载监控模块,用于将负载量通知给数据缩减模块,指示是否执行数据的缩减任务等。当然负载监控模块还可以与分析模块建立连接,负载监控模块,用于将负载量通知给分析模块,指示是否执行生成数据的缩减任务等。另外,数据缩减的装置还可以包括指纹计算模块,用于计算数据块的指纹。
图15是本申请实施例提供的数据缩减的装置的结构图。该装置可以通过软件、硬件或者两者的结合实现成为装置中的部分或者全部。本申请实施例提供的装置可以实现本申请实施例图2所述的流程,该装置包括:获取模块1510、确定模块1520和缩减模块1530,其中:
获取模块1510,用于获取待缩减的数据块的指纹,具体可以用于实现步骤201获取功能以及执行步骤201包含的隐含步骤;
确定模块1520,用于根据所述待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合,具体可以用于实现步骤202确定功能以及执行步骤202包含的隐含步骤;
缩减模块1530,用于在所述待缩减的数据块中,根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理,具体可以用于实现步骤203缩减功能以及执行步骤203包含的隐含步骤。
在一种可能的实施方式中,所述确定模块1520,用于:
基于LSM树和/或K-V树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合。
在一种可能的实施方式中,所述指纹为相似指纹或重删指纹,所述指纹为相似指纹时,所述索引信息包括数据块的地址,或者数据块的地址、重删指纹,所述指纹为重删指纹时,所述索引信息包括数据块的地址。
在一种可能的实施方式中,所述指纹包括相似指纹和重删指纹;
所述确定模块1520,用于:
将具有相同相似指纹的第一索引信息组成第一索引集合,将具有相同重删指纹的第二索引信息组成第二索引集合;其中,所述第一索引信息包括数据块的地址,所述第二索引信息包括数据块的地址;或者,
将具有相同相似指纹的第三索引信息组成第三索引集合;其中,所述第三索引信息包括数据块的地址、重删指纹。
在一种可能的实施方式中,所述确定模块1520,用于:
当达到所述LSM树的第Ln层与第Ln+1层的合并条件时,在所述待缩减的数据块中,将所述第Ln层与所述第Ln+1层具有相同指纹的索引信息合并至所述第Ln+1层,且在合并至所述第Ln+1层后,将具有相同指纹的索引信息组成索引集合,其中,n为自然数。
在一种可能的实施方式中,所述确定模块1520,用于:
在部署所述装置的处理设备的负载量大于或等于第一数值的情况下,根据所述LSM树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;
在所述处理设备的负载量小于所述第一数值的情况下或者所述待缩减的数据块对应目标标识的情况下,根据所述K-V树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;所述目标标识用于指示实时对数据块进行缩减处理。
在一种可能的实施方式中,所述获取模块1510,还用于:
获取部署所述装置的处理设备的负载量;
所述缩减模块1530,用于:
根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务;在所述处理设备的负载量小于第二数值的情况下,执行所述缩减任务;或者,
在所述处理设备的负载量小于第二数值的情况下,根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务,执行所述缩减任务。
本申请实施例中,数据缩减的装置获取待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合。在待缩减的数据块中,数据缩减的装置可以根据待缩减的数据块的指纹,对同一索引集合中的索引信息所属的数据块,进行数据缩减处理。这样,由于是将具有相同指纹的数据块的索引信息组成索引集合,后续在搜索相同指纹的数据块时,可以直接获取一个索引集合,而不需要在全部的指纹中进行搜索,所以可以提高数据缩减效率。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成为一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中存储的计算机指令被计算设备执行时,使得计算设备执行上述所提供的数据缩减的方法。
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述所提供的数据缩减的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。
Claims (17)
1.一种数据缩减的方法,其特征在于,所述方法包括:
获取待缩减的数据块的指纹;
根据所述待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合;
在所述待缩减的数据块中,根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理。
2.根据权利要求1所述的方法,其特征在于,所述将具有相同指纹的数据块的索引信息组成索引集合,包括:
基于日志结构合并LSM树和/或键值对K-V树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合。
3.根据权利要求2所述的方法,其特征在于,所述指纹为相似指纹或重删指纹,所述指纹为相似指纹时,所述索引信息包括数据块的地址,或者数据块的地址、重删指纹,所述指纹为重删指纹时,所述索引信息包括数据块的地址。
4.根据权利要求2所述的方法,其特征在于,所述指纹包括相似指纹和重删指纹;
所述将具有相同指纹的索引信息组成索引集合,包括:
将具有相同相似指纹的第一索引信息组成第一索引集合,将具有相同重删指纹的第二索引信息组成第二索引集合;其中,所述第一索引信息包括数据块的地址,所述第二索引信息包括数据块的地址;或者,
将具有相同相似指纹的第三索引信息组成第三索引集合;其中,所述第三索引信息包括数据块的地址、重删指纹。
5.根据权利要求2所述的方法,其特征在于,所述基于LSM树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合,包括:
当达到所述LSM树的第Ln层与第Ln+1层的合并条件时,在所述待缩减的数据块中,将所述第Ln层与所述第Ln+1层具有相同指纹的索引信息合并至所述第Ln+1层,且在合并至所述第Ln+1层后,将具有相同指纹的索引信息组成索引集合,其中,n为自然数。
6.根据权利要求2所述的方法,其特征在于,在基于LSM树和K-V树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合的情况下,所述根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理,包括:
在执行所述方法的处理设备的负载量大于或等于第一数值的情况下,根据所述LSM树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;
在所述处理设备的负载量小于所述第一数值的情况下或者所述待缩减的数据块对应目标标识的情况下,根据所述K-V树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;所述目标标识用于指示实时对数据块进行缩减处理。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取执行所述方法的处理设备的负载量;
所述根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理,包括:
根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务;在所述处理设备的负载量小于第二数值的情况下,执行所述缩减任务;或者,
在所述处理设备的负载量小于第二数值的情况下,根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务,执行所述缩减任务。
8.一种数据缩减的装置,其特征在于,所述装置包括:
获取模块,用于获取待缩减的数据块的指纹;
确定模块,用于根据所述待缩减的数据块的指纹,将具有相同指纹的数据块的索引信息组成索引集合;
缩减模块,用于在所述待缩减的数据块中,根据所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,用于:
基于日志结构合并LSM树和/或键值对K-V树,在所述待缩减的数据块中,将具有相同指纹的索引信息组成索引集合。
10.根据权利要求8所述的装置,其特征在于,所述指纹为相似指纹或重删指纹,所述指纹为相似指纹时,所述索引信息包括数据块的地址,或者数据块的地址、重删指纹,所述指纹为重删指纹时,所述索引信息包括数据块的地址。
11.根据权利要求9所述的装置,其特征在于,所述指纹包括相似指纹和重删指纹;
所述确定模块,用于:
将具有相同相似指纹的第一索引信息组成第一索引集合,将具有相同重删指纹的第二索引信息组成第二索引集合;其中,所述第一索引信息包括数据块的地址,所述第二索引信息包括数据块的地址;或者,
将具有相同相似指纹的第三索引信息组成第三索引集合;其中,所述第三索引信息包括数据块的地址、重删指纹。
12.根据权利要求9所述的装置,其特征在于,所述确定模块,用于:
当达到所述LSM树的第Ln层与第Ln+1层的合并条件时,在所述待缩减的数据块中,将所述第Ln层与所述第Ln+1层具有相同指纹的索引信息合并至所述第Ln+1层,且在合并至所述第Ln+1层后,将具有相同指纹的索引信息组成索引集合,其中,n为自然数。
13.根据权利要求9所述的装置,其特征在于,所述确定模块,用于:
在部署所述装置的处理设备的负载量大于或等于第一数值的情况下,根据所述LSM树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;
在所述处理设备的负载量小于所述第一数值的情况下或者所述待缩减的数据块对应目标标识的情况下,根据所述K-V树中所述待缩减的数据块的指纹,对同一索引集合的索引信息所属的数据块,进行数据缩减处理;所述目标标识用于指示实时对数据块进行缩减处理。
14.根据权利要求12所述的装置,其特征在于,所述获取模块,还用于:
获取部署所述装置的处理设备的负载量;
所述缩减模块,用于:
根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务;在所述处理设备的负载量小于第二数值的情况下,执行所述缩减任务;或者,
在所述处理设备的负载量小于第二数值的情况下,根据所述待缩减的数据块的指纹,建立同一索引集合的索引信息所属的数据块的缩减任务,执行所述缩减任务。
15.一种数据缩减的装置,其特征在于,所述装置包括接口和处理器,其中:
所述处理器,用于执行上述权利要求1至7任一权利要求所述的数据缩减的方法。
16.一种数据缩减的计算设备,其特征在于,所述计算设备包括处理器和存储器,其中:
所述存储器中存储有计算机指令;
所述处理器执行所述计算机指令,以实现所述权利要求1-7中任一权利要求所述的数据缩减的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机可读存储介质中的计算机指令被计算设备执行时,使得所述计算设备执行所述权利要求1-7中任一权利要求所述的数据缩减的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911061340.4A CN112783417A (zh) | 2019-11-01 | 2019-11-01 | 数据缩减的方法、装置、计算设备和存储介质 |
EP20881668.6A EP4044014A4 (en) | 2019-11-01 | 2020-10-14 | DATA REDUCTION METHOD AND APPARATUS, COMPUTER DEVICE AND STORAGE MEDIA |
PCT/CN2020/120990 WO2021082928A1 (zh) | 2019-11-01 | 2020-10-14 | 数据缩减的方法、装置、计算设备和存储介质 |
US17/732,675 US12079472B2 (en) | 2019-11-01 | 2022-04-29 | Data reduction method, apparatus, computing device, and storage medium for forming index information based on fingerprints |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911061340.4A CN112783417A (zh) | 2019-11-01 | 2019-11-01 | 数据缩减的方法、装置、计算设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783417A true CN112783417A (zh) | 2021-05-11 |
Family
ID=75715790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911061340.4A Pending CN112783417A (zh) | 2019-11-01 | 2019-11-01 | 数据缩减的方法、装置、计算设备和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12079472B2 (zh) |
EP (1) | EP4044014A4 (zh) |
CN (1) | CN112783417A (zh) |
WO (1) | WO2021082928A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115734A (zh) * | 2021-11-18 | 2022-03-01 | 新华三大数据技术有限公司 | 一种数据重删方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114063882B (zh) * | 2020-07-31 | 2024-09-03 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
US20220075552A1 (en) * | 2020-09-07 | 2022-03-10 | Pliops Ltd. | Managing a lsm tree of key value pairs that is stored in a non-volatile memory |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8635194B2 (en) * | 2006-10-19 | 2014-01-21 | Oracle International Corporation | System and method for data compression |
US10642794B2 (en) * | 2008-09-11 | 2020-05-05 | Vmware, Inc. | Computer storage deduplication |
US20100088296A1 (en) * | 2008-10-03 | 2010-04-08 | Netapp, Inc. | System and method for organizing data to facilitate data deduplication |
US8751462B2 (en) * | 2008-11-14 | 2014-06-10 | Emc Corporation | Delta compression after identity deduplication |
US8161255B2 (en) * | 2009-01-06 | 2012-04-17 | International Business Machines Corporation | Optimized simultaneous storing of data into deduplicated and non-deduplicated storage pools |
US8195636B2 (en) * | 2009-04-29 | 2012-06-05 | Netapp, Inc. | Predicting space reclamation in deduplicated datasets |
US8285681B2 (en) * | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
JP5303038B2 (ja) * | 2009-09-18 | 2013-10-02 | 株式会社日立製作所 | 重複したデータを排除するストレージシステム |
US8612699B2 (en) * | 2010-06-25 | 2013-12-17 | International Business Machines Corporation | Deduplication in a hybrid storage environment |
CN101963982B (zh) * | 2010-09-27 | 2012-07-25 | 清华大学 | 基于位置敏感哈希的删冗存储系统元数据管理方法 |
CN102479245B (zh) * | 2010-11-30 | 2013-07-17 | 英业达集团(天津)电子技术有限公司 | 数据区块的切分方法 |
US8396841B1 (en) * | 2010-11-30 | 2013-03-12 | Symantec Corporation | Method and system of multi-level and multi-mode cloud-based deduplication |
CN102222085B (zh) * | 2011-05-17 | 2012-08-22 | 华中科技大学 | 一种基于相似性与局部性结合的重复数据删除方法 |
US9715434B1 (en) * | 2011-09-30 | 2017-07-25 | EMC IP Holding Company LLC | System and method for estimating storage space needed to store data migrated from a source storage to a target storage |
US20130311434A1 (en) * | 2011-11-17 | 2013-11-21 | Marc T. Jones | Method, apparatus and system for data deduplication |
CN102629258B (zh) * | 2012-02-29 | 2013-12-18 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法和装置 |
US8732403B1 (en) * | 2012-03-14 | 2014-05-20 | Netapp, Inc. | Deduplication of data blocks on storage devices |
US20130282672A1 (en) * | 2012-04-18 | 2013-10-24 | Hitachi Computer Peripherals Co., Ltd. | Storage apparatus and storage control method |
US8930648B1 (en) * | 2012-05-23 | 2015-01-06 | Netapp, Inc. | Distributed deduplication using global chunk data structure and epochs |
US9348538B2 (en) * | 2012-10-18 | 2016-05-24 | Netapp, Inc. | Selective deduplication |
US9720619B1 (en) * | 2012-12-19 | 2017-08-01 | Springpath, Inc. | System and methods for efficient snapshots in a distributed system of hybrid storage and compute nodes |
US9116941B2 (en) * | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Reducing digest storage consumption by tracking similarity elements in a data deduplication system |
CN104142958B (zh) * | 2013-05-10 | 2018-03-13 | 华为技术有限公司 | 一种键值对系统中数据的存储方法和相关装置 |
US9201918B2 (en) * | 2013-11-19 | 2015-12-01 | Netapp, Inc. | Dense tree volume metadata update logging and checkpointing |
CN103617260B (zh) * | 2013-11-29 | 2017-01-11 | 华为技术有限公司 | 重复数据删除的索引生成方法及装置 |
US10380072B2 (en) * | 2014-03-17 | 2019-08-13 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
US10069906B2 (en) * | 2014-04-29 | 2018-09-04 | Hitachi, Ltd. | Method and apparatus to deploy applications in cloud environments |
US10303673B2 (en) * | 2015-05-11 | 2019-05-28 | Apple Inc. | Hierarchical data storage |
US9940337B2 (en) * | 2015-05-31 | 2018-04-10 | Vmware, Inc. | Predictive probabilistic deduplication of storage |
US10235044B2 (en) * | 2015-07-27 | 2019-03-19 | Datrium, Inc. | System and methods for storage data deduplication |
US10394660B2 (en) * | 2015-07-31 | 2019-08-27 | Netapp, Inc. | Snapshot restore workflow |
US20170038978A1 (en) * | 2015-08-05 | 2017-02-09 | HGST Netherlands B.V. | Delta Compression Engine for Similarity Based Data Deduplication |
US20170123676A1 (en) * | 2015-11-04 | 2017-05-04 | HGST Netherlands B.V. | Reference Block Aggregating into a Reference Set for Deduplication in Memory Management |
US10031937B2 (en) * | 2015-11-25 | 2018-07-24 | International Business Machines Corporation | Similarity based data deduplication of initial snapshots of data sets |
EP3264285A4 (en) * | 2015-12-29 | 2018-05-30 | Huawei Technologies Co., Ltd. | Data deduplication method and storage device |
WO2017149592A1 (ja) * | 2016-02-29 | 2017-09-08 | 株式会社日立製作所 | ストレージ装置 |
US20170293450A1 (en) * | 2016-04-11 | 2017-10-12 | HGST Netherlands B.V. | Integrated Flash Management and Deduplication with Marker Based Reference Set Handling |
CN105897921B (zh) * | 2016-05-27 | 2019-02-26 | 重庆大学 | 一种结合指纹抽样和减少数据碎片的数据块路由方法 |
US10108544B1 (en) * | 2016-09-26 | 2018-10-23 | EMC IP Holding Company LLC | Dynamic duplication estimation for garbage collection |
US10303363B2 (en) * | 2016-10-19 | 2019-05-28 | Acronis International Gmbh | System and method for data storage using log-structured merge trees |
JP6781377B2 (ja) * | 2016-11-21 | 2020-11-04 | 富士通株式会社 | 情報処理装置、情報処理方法およびプログラム |
EP3539218B1 (en) * | 2016-12-15 | 2021-04-07 | Huawei Technologies Co., Ltd. | Method and system of similarity-based deduplication |
US10656859B2 (en) * | 2017-03-01 | 2020-05-19 | Tintri By Ddn, Inc. | Efficient deduplication for storage systems |
US10558646B2 (en) * | 2017-04-30 | 2020-02-11 | International Business Machines Corporation | Cognitive deduplication-aware data placement in large scale storage systems |
US10795812B1 (en) * | 2017-06-30 | 2020-10-06 | EMC IP Holding Company LLC | Virtual copy forward method and system for garbage collection in cloud computing networks |
US10346076B1 (en) * | 2017-07-03 | 2019-07-09 | EMC IP Holding Company LLC | Method and system for data deduplication based on load information associated with different phases in a data deduplication pipeline |
US11144227B2 (en) * | 2017-09-07 | 2021-10-12 | Vmware, Inc. | Content-based post-process data deduplication |
US10613759B2 (en) * | 2017-10-30 | 2020-04-07 | Coder Technologies, Inc. | Cloud-based development environment with deduplication engine improving storage efficiency |
US11474724B2 (en) * | 2018-01-25 | 2022-10-18 | Vmware, Inc. | System and method for speed up data rebuild in a distributed storage system with local deduplication |
US10719251B2 (en) * | 2018-01-31 | 2020-07-21 | Nutanix, Inc. | System and method for recursive de-duplication |
US20190310788A1 (en) * | 2018-04-06 | 2019-10-10 | ScaleFlux, Inc. | Similarity-based data deduplication on solid-state storage devices with embedded nonvolatile memory |
US10445022B1 (en) * | 2018-04-26 | 2019-10-15 | Alibaba Group Holding Limited | Optimization of log-structured merge (LSM) tree-based databases using object solid state drive (SSD) devices |
US11507305B2 (en) * | 2019-03-29 | 2022-11-22 | EMC IP Holding Company LLC | Concurrently performing normal system operations and garbage collection |
US10664165B1 (en) * | 2019-05-10 | 2020-05-26 | EMC IP Holding Company LLC | Managing inline data compression and deduplication in storage systems |
US11533063B2 (en) * | 2019-08-01 | 2022-12-20 | EMC IP Holding Company LLC | Techniques for determining compression tiers and using collected compression hints |
US20210117441A1 (en) * | 2019-10-17 | 2021-04-22 | Dell Products L.P. | Data replication system |
US11687424B2 (en) * | 2020-05-28 | 2023-06-27 | Commvault Systems, Inc. | Automated media agent state management |
-
2019
- 2019-11-01 CN CN201911061340.4A patent/CN112783417A/zh active Pending
-
2020
- 2020-10-14 EP EP20881668.6A patent/EP4044014A4/en active Pending
- 2020-10-14 WO PCT/CN2020/120990 patent/WO2021082928A1/zh unknown
-
2022
- 2022-04-29 US US17/732,675 patent/US12079472B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115734A (zh) * | 2021-11-18 | 2022-03-01 | 新华三大数据技术有限公司 | 一种数据重删方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220253222A1 (en) | 2022-08-11 |
US12079472B2 (en) | 2024-09-03 |
EP4044014A1 (en) | 2022-08-17 |
EP4044014A4 (en) | 2022-12-21 |
WO2021082928A1 (zh) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102782643B (zh) | 使用布隆过滤器的索引搜索 | |
US8666955B2 (en) | Data management method and data management system | |
EP3217298B1 (en) | Data processing method and apparatus in cluster system | |
US9501562B2 (en) | Identification of complementary data objects | |
US12079472B2 (en) | Data reduction method, apparatus, computing device, and storage medium for forming index information based on fingerprints | |
WO2017124713A1 (zh) | 一种数据模型的确定方法及装置 | |
WO2014184857A1 (ja) | 重複排除システム及びその方法 | |
CN109189995A (zh) | 基于mpi的云存储中数据消冗方法 | |
US10929239B2 (en) | Storage system with snapshot group merge functionality | |
WO2021012162A1 (zh) | 存储系统数据压缩的方法、装置、设备及可读存储介质 | |
CN111522502A (zh) | 数据去重方法、装置、电子设备及计算机可读存储介质 | |
US20240095260A1 (en) | Multi-subgraph matching method and apparatus, and device | |
US9213759B2 (en) | System, apparatus, and method for executing a query including boolean and conditional expressions | |
CN108090186A (zh) | 一种大数据平台上的电力数据去重方法 | |
CN117369731B (zh) | 一种数据的缩减处理方法、装置、设备及介质 | |
CN110609924A (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN113868434A (zh) | 图数据库的数据处理方法、设备和存储介质 | |
WO2021082926A1 (zh) | 一种数据压缩的方法及装置 | |
CN114077690A (zh) | 向量数据处理方法、装置、设备及存储介质 | |
CN111767287A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN114253936A (zh) | 分布式数据库的缩容方法、装置、设备和介质 | |
Yin et al. | Content‐Based Image Retrial Based on Hadoop | |
CN115454344A (zh) | 一种数据存储方法、装置、电子设备及存储介质 | |
US20220405187A1 (en) | Dynamic Selective Filtering of Persistent Tracing | |
CN113190551A (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 |