CN112544038B - 存储系统数据压缩的方法、装置、设备及可读存储介质 - Google Patents
存储系统数据压缩的方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112544038B CN112544038B CN201980008298.1A CN201980008298A CN112544038B CN 112544038 B CN112544038 B CN 112544038B CN 201980008298 A CN201980008298 A CN 201980008298A CN 112544038 B CN112544038 B CN 112544038B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- target
- block
- blocks
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013144 data compression Methods 0.000 title claims abstract description 20
- 238000007906 compression Methods 0.000 claims abstract description 70
- 230000006835 compression Effects 0.000 claims abstract description 69
- 238000012217 deletion Methods 0.000 claims abstract description 36
- 230000037430 deletion Effects 0.000 claims abstract description 36
- 230000009467 reduction Effects 0.000 abstract description 20
- 238000012545 processing Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000013523 data management Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3091—Data deduplication
-
- 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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- 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
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
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
技术领域
本申请涉及存储技术领域,特别涉及一种存储系统数据压缩的方法、装置、设备及可读存储介质。
背景技术
随着大数据、云计算、人工智能的飞速发展,企业对数据存储的需求呈现爆炸式的增长,若对这些数据直接进行存储,会占用较大的存储空间,成本开销比较高,为了提高存储空间的利用率,通常会采用数据缩减技术对数据进行压缩。
相关技术中,为了提高存储空间的利用率,一般是使用重复数据删除技术,即将文件分割成相同大小的数据块,计算每个数据块的重删指纹,由于相同的重删指纹表示数据块的内容完全相同,所以对于相同重删指纹的数据块可以仅存储一次。
由于使用重复数据删除技术时,要求数据块的内容必须完全相同才能实现冗余数据的删除,但是实际存储数据时,很难存在完全相同的数据块,所以数据缩减的效果并不好。
发明内容
本申请实施例提供了一种存储系统数据压缩的方法、装置、设备及可读存储介质,以克服相关技术中存在的数据缩减效果不好的问题。
一方面,本申请提供一种存储系统数据压缩的方法,该方法包括:
确定目标数据块能否进行重复数据删除,当所述目标数据块不能进行重复数据删除时,获取所述目标数据块的相似指纹,根据所述相似指纹,确定所述目标数据块所属的合并数据块组,基于所述合并数据块组中的参考块,对所述目标数据块进行相似压缩。
本申请实施例所示的方案,存储系统在批量存储数据块时,对于其中的任一数据块,可以称为是目标数据块,确定该目标数据块是否能够进行重复数据删除,在确定目标数据块不能进行重复数据删除时,可以获取目标数据块的相似指纹,目标数据块的相似指纹可以是在确定目标数据块能否进行重复数据删除之前确定,也可以是在确定目标数据块不能进行重复数据删除时确定,确定方式可以是:将目标数据块拆为等大小的数据单元,将每个数据单元分别输入到预设的哈希函数中,得到的输出结果即为目标数据块的相似指纹,可以看出目标数据块的相似指纹不是一个数值,而是由一组数值组成。
在获取到目标数据块的相似指纹之后,可以确定目标数据块所属的合并数据块组,合并数据块组包括的数据块可以进行一起压缩,可以进一步确定合并数据块组中的参考块,若目标数据块不是合并数据块组中的参考块,则可以确定目标数据块与参考块之间的差异数据,将差异数据进行压缩,若目标数据块是合并数据块组中的参考块,则可以使用常规的压缩方式进行压缩处理,合并数据块组中的其他数据块,参考目标数据块进行相似压缩处理。这样,将相似压缩和重复数据删除进行结合,在不能进行重复数据删除时,可以使用相似压缩进一步压缩一部分数据,可以提升缩减率。
在一种可能的实现方式中,所述确定目标数据块能否进行重复数据删除,包括:生成所述目标数据块的重删指纹,查询所述存储系统是否有与所述重删指纹相同的指纹以确定所述目标数据块能否进行重复数据删除。
本申请实施例所示的方案,存储系统中记录有重删指纹表,在重删指纹表中,包括已经进行压缩存储,以及接收到且未进行压缩处理的数据块的重删指纹、以及对应的数据块的元数据信息。存储系统可以将目标数据块输入到指纹提取函数中,得到的输出结果即为目标数据块的重删指纹,指纹提取函数可以是哈希函数。然后使用该重删指纹在重删指纹表中,确定接收到且未进行压缩处理的数据块是否存在该重删指纹。若存在该重删指纹,可以说明已经有相同的数据块,则可以确定该目标数据块可以进行重复数据删除,若不存在该重删指纹,可以说明不存在该目标数据块,则不可以对该目标数据块进行重复数据删除,应该直接使用常规的方式(可以是Huffman编码等),对该目标数据块进行压缩,将压缩后的数据块进行存储。这样可以准确的确定出目标数据块是否可以进行重复数据删除。
在一种可能的实现方式中,所述确定目标数据块能否进行重复数据删除,包括:确定所述存储系统的负载以确定所述目标数据块能否进行重复数据删除。
本申请实施例所示的方案,存储系统的负载直接影响数据块的存储效率,存储系统可以确定自身的负载,负载可以通过中央处理单元(central processing unit,cpu)、存储空间占用率和当前所处的时间段反映,可以确定负载是否满足负载超出条件,若满足负载超出条件,则要进行重复数据删除,以提高存储系统的处理效率,若不满足负载超出条件,则说明存储系统的处理效率还比较高,可以不进行重复数据压缩。这样,通过负载的判断,可以提升存储系统的处理效率。
在一种可能的实现方式中,所述方法还包括:将所述数据块进行相似压缩后的压缩数据与所述合并数据块组中的其他数据块的压缩数据连续存储在同一存储块。
本申请实施例所示的方案,在存储目标数据块进行相似压缩的压缩数据时,可以确定合并数据块组中的其他数据块的压缩数据所存储的存储块,以及在该存储块中的存储位置,然后将目标数据块进行相似压缩的压缩数据与合并数据块组中的其他数据块的压缩数据连续存储在一起。这样,在读取数据时,一次性就可以读取到差异数据和参考块的数据,可以提升数据的读取效率。
在一种可能的实现方式中,在所述合并数据块组中除参考块之外的数据块为多个的情况下,所述参考块的数据之前有m个数据块的压缩数据,所述参考块之后有n个数据块的压缩数据,其中,m与n的差值等于0、1或-1中的任意一个,m、n均大于或等于1。
本申请实施例所示的方案,在合并数据块组中除参考块之外的数据块为多个的情况下,假设除参考块之外的数据块有m+n个,参考块的数据之前可以设置m个数据块的压缩数据,参考块的数据之后可以设置n个数据块的压缩数据,若m+n为奇数,m和n的关系可以是m-n等于1或-1,若m+n为偶数,m和n的关系可以是m-n等于0。这样,在读取数据时,若要读取参考块之后的数据块的差异数据,则直接可以从参考块开始读取,读取至该数据块的差异数据,而不需要读取全部数据块的差异数据,若要读取参考块之前的数据块的差异数据,则直接可以从该数据块的差异数据开始读取,读取至参考块的数据结束,而不需要读取全部的数据,可以使读取的数据比较少,提高读取效率。
在一种可能的实现方式中,所述根据所述相似指纹,确定所述目标数据块所属的合并数据块组,包括:根据相似指纹数目,确定所述目标数据块对应的数据块组,其中,所述相似指纹数目为一个数据块组中任意两个数据块的相似指纹相同的数目;在所述目标数据块对应的数据块组,将第一数目个与所述目标数据块具有相同目标指纹的数据块,组成所述目标数据块所属的合并数据块组,其中,所述目标数据块与存在所述目标指纹的数据块的差异数据的数据量小于所述目标数据块与不存在所述目标指纹的数据块的差异数据的数据量。
本申请实施例所示的方案,存储系统中建立有相似指纹表,相似指纹表中包括每个相似指纹与数据块的元数据信息的对应关系,存储系统可以基于相似指纹表,确定出目标数据块的相似指纹中各个指纹所对应的未压缩的数据块。然后使用相似指纹数目,将存在相似指纹数目个相同指纹的数据块划分为一组,这样,即可得到目标数据块所对应的数据块组。对于目标数据块,在目标数据块对应数据块组中,可以在依次在各数据块组中,选取出与目标数据块存在目标指纹,且未与其他数据块组成合并数据块组的数据块,将选取出的数据块,组成目标数据块所属的合并数据块组。这样,对于任一数据块都按照此方式,即可确定出所属的合并数据块组。由于目标数据块与存在目标指纹的数据块的差异数据的数据量,要小于目标数据块与不存在目标指纹的数据块的差异数据的数据量,所以选取存在目标指纹的数据块与目标数据块组成合并数据块组,一起进行压缩,可以提升缩减率。
在一种可能的实现方式中,所述根据所述相似指纹,确定所述目标数据块所属的合并数据块组,包括:根据相似指纹数目,确定所述目标数据块对应的数据块组,其中,所述相似指纹数目为一个数据块组中任意两个数据块的相似指纹相同的数目,确定所述目标数据块与所述各数据块组中的数据块相似指纹相同的数目,在所述目标数据块对应的数据块组,将第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块,组成所述目标数据块所属的合并数据块组。
本申请实施例所示的方案,存储系统中建立有相似指纹表,相似指纹表中包括每个相似指纹与数据块的元数据信息的对应关系,存储系统可以基于相似指纹表,确定出目标数据块的相似指纹中各个指纹所对应的未压缩的数据块。然后使用相似指纹数目,将存在相似指纹数目个相同指纹的数据块划分为一组,这样,即可得到目标数据块所对应的数据块组。对于目标数据块,在目标数据块对应的数据块组中,确定还未与其他数据块组成合并数据块组的数据块,确定这些数据块与目标数据块的相似指纹相同的数目,然后按照从大到小的顺序进行排序,从最前面开始选择,依照顺序,连续选取出第一数目个数据块,组成目标数据块所属的合并数据块组。这样,对于存在越多相同的相似指纹,说明数据块之间越相似,可以选择相似指纹相同的数目比较多的数据块,组成合并数据块组,可以提升数据缩减率。
一方面,提供了一种存储系统数据压缩的装置,该装置包括一个或多个模块,用于执行上述存储系统数据压缩的方法。
一方面,提供了一种存储设备,该存储设备包括接口和处理器,接口和处理器相配合执行上述存储系统数据压缩的方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述计算机可读存储介质在存储系统上运行时,使得所述存储系统执行上述存储系统数据压缩的方法。
一方面,一种包含指令的计算机程序产品,当所述计算机程序产品在存储系统上运行时,使得所述存储系统执行上述存储系统数据压缩的方法。
本申请提供的技术方案至少包括以下有益效果:
本申请实施例中,在存储数据块时,确定目标数据块能否进行重复数据删除,当目标数据块不能进行重复数据删除时,获取目标数据块的相似指纹,根据相似指纹,确定目标数据块所属的合并数据块组,基于合并数据块组中的参考块,对目标数据块进行相似压缩。这样,将相似压缩与重复数据删除进行结合,在不能进行重复数据删除时,可以使用相似压缩进一步压缩一部分数据,可以提升缩减率。
附图说明
图1是本申请一个示例性实施例提供的存储系统的架构图;
图2是本申请一个示例性实施例提供的存储系统的结构图;
图3是本申请一个示例性实施例提供的存储系统数据压缩的方法流程图;
图4是本申请一个示例性实施例提供的数据块的存储示意图;
图5是本申请一个示例性实施例提供的数据块的存储示意图;
图6是本申请一个示例性实施例提供的存储块的存储示意图;
图7是本申请一个示例性实施例提供的压缩块的示意图;
图8是本申请一个示例性实施例提供的读取数据的方法流程图;
图9是本申请一个示例性实施例提供的存储系统数据压缩的装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于对本申请实施例的理解,下面首先介绍本申请实施例涉及的系统架构、以及所涉及到名词的概念。
本申请实施例可以适用于存储领域中的存储系统,存储系统可以是带有存储功能的服务器、带有存储功能的服务器集群、存储阵列、分布式存储系统等。存储系统的架构可以如图1所示,存储系统可以包括空间管理层、数据管理层和底层存储层,空间管理层可以包括多个执行模块,底层存储层也可以包括多个执行模块,空间管理层可以用于与上层连接,接收数据,发送至数据管理层,数据管理层可以用于将输入的数据块进行压缩,得到压缩后的数据块,发送至底层存储层进行存储。例如,数据管理层的输入为数据块A1、B、A2......X、B,数据管理层的输出为数据块A1、A2、B......X,由于仅存储一个B,所以存储的数据量会减少。
压缩,压缩技术可以分为无损压缩和有损压缩,无损压缩是指使用压缩后的数据进行解压缩,得到的数据与原来的数据完全相同,存储系统主要采用的压缩算法有Huffman编码、串表压缩算法(lempel ziv zelch,lzw)、deflaft等,有损压缩是指使用压缩后的数据进行解压缩,得到的数据与原来的数据有所不同,主要适用于图像或者视频压缩领域。
重复数据删除,通过消除分布式存储系统中的相同文件或者数据块,可以有效的缩减数据占据的物理存储空间,该技术可以应用于存储备份和归档系统中,一般是将文件分割成多个数据块,计算每个数据块的重删指纹,相同指纹的数据代表数据块内容相同,所以对于相同指纹的数据块可以仅存储一次原始数据,达到数据量缩减的目的。
本申请实施例提供了一种存储系统数据压缩的方法,该方法的执行主体可以是存储系统。
图2示出了本申请实施例中存储系统的结构框图,该存储系统至少可以包括接口201和处理器202。其中,接口201可以用于实现数据的接收,具体实现,接口201可以为硬件接口,如网络接口卡(network interface card,nic)或主机总线适配器(host busadaptor,hba)等,也可以为程序接口模块等。处理器202可以是中央处理单元和存储器的组合,还可以是现场可编程逻辑门阵列(field programmable gate array,fpga)或其他硬件,处理器202也可以是中央处理单元与其他硬件的组合,如中央处理单元与fpga的组合等。处理器202可以是存储系统的控制中心,利用各种接口和线路连接整个存储系统的各个部分,作为一种可能的实施方式,处理器202可以包括一个或多个处理核心。进一步的,存储系统还包括硬盘,用于为存储系统提供存储空间。
本申请实施例提供了一种存储系统数据压缩的方法,如图3所示,该方法的执行流程可以如下:
步骤301,确定目标数据块能否进行重复数据删除。
在实施中,在存储系统上线之后,上层应用有数据要进行存储,可以将数据发送至存储系统,存储系统则会接收到数据,若数据的数据量比较大,可以将数据划分为数据块,每个数据块的大小可以是4kB或8kB,也可以是其他数值。若数据的数据量比一个数据块的数据量要少,可以直接将数据确定为数据块。然后存储系统周期性,或者接收到的数据块的数据量达到一定数值时,可以批量对数据块进行处理,本次批量处理的数据块中的任一数据块可以是目标数据块,可以基于存储系统目前的状态,或者是否存储有目标数据块的重删指纹等,确定目标数据块能否进行重复数据删除。
在步骤301中,有多种方式可以确定目标数据块能否进行重复数据删除,以下给出两种可行的实施方式:
方式一:生成数据块的重删指纹,查询存储系统是否有与重删指纹相同的指纹以确定数据块能否进行重复数据删除。
在实施中,存储系统中记录有重删指纹表,在重删指纹表中,包括已经进行压缩存储,以及接收到且未进行压缩处理的数据块的重删指纹、以及对应的数据块的元数据信息,每次存储系统确定数据块的重删指纹后,会将重删指纹以及对应的元数据信息,对应的添加至重删指纹表中,数据块的元数据信息包括该数据块是参考块还是重复块的标识(若已经确定,对于未确定的该位置可以不填写,后续确定后进行添加)、存储位置(若已经存储,则会有存储位置)等信息。
存储系统可以将目标数据块输入到指纹提取函数中,得到的输出结果即为目标数据块的重删指纹,指纹提取函数可以是哈希函数。然后使用该重删指纹在重删指纹表中,确定接收到且未进行压缩处理的数据块是否存在该重删指纹。若存在该重删指纹,可以说明已经有相同的数据块,则可以确定该目标数据块可以进行重复数据删除,若不存在该重删指纹,可以说明不存在该目标数据块,则不可以对该目标数据块进行重复数据删除。
方式二,确定存储系统的负载以确定数据块能否进行重复数据删除。
在实施中,存储系统可以确定自身的负载,负载可以通过cpu利用率、存储空间占用率和当前所处的时间段反映,判断当前的cpu利用率是否超过第一数值,若超过第一数值,则可以确定负载满足负载超出条件,可以进行重复数据删除,并判断当前的存储空间占用率是否超过第二数值,若超过第二数值,则可以确定负载满足负载超出条件,可以进行重复数据删除,并判断当前的时间点,确定当前的时间点所处的时间段,若当前的时间点所处的时间段为目标时间段,目标时间段可以是7时至24时,则可以确定负载满足负载超出条件,可以使用上述的任意一种或多种确定负载满足负载超出条件。若不满足上述任意一种,则可以确定不满足负载超出条件。在判断当前的cpu利用率是否超过第一数值、当前的存储空间占用率是否超过第二数值、以及当前所处的时间段可以并行执行,只要判断出其中一个满足负载超出条件,其余可以结束判断。
若确定存储系统的负载满足负载超出条件,则可以确定数据块能进行重复数据删除,若确定存储系统的负载不满足负载超出条件,则可以确定数据块不用进行重复数据删除。
需要说明的是,由于每次压缩数据块需要占用cpu,所以要考虑cpu,由于存储重复数据也会占用存储空间,所以也要考虑存储空间,由于某些时间段,上层应用存储的数据比较多,而其他时间段存储的数据则比较少,所以在业务繁忙的时间段,要进行重复数据删除,在业务不繁忙的时候,则可以不进行重复数据删除。
步骤302,当目标数据块不能进行重复数据删除时,获取目标数据块的相似指纹。
其中,相似指纹可以包括一个或者多个指纹。
在实施中,在目标数据块不能进行重复数据删除时,存储系统可以获取目标数据块的相似指纹。将目标数据块的相似指纹可以添加至相似指纹表中,存储系统中存储有相似指纹表,相似指纹表中包括每个相似指纹与数据块的元数据信息的对应关系,相似指纹表中包括的相似指纹为已经确定出相似指纹的数据块的相似指纹(包括未压缩数据的相似指纹和已压缩的数据块的相似指纹),对于任一数据块,相似指纹表中的元数据信息包括该数据块是参考块还是相似块的标识(若已经确定,对于未确定的位置可以不填写,后续确定后进行添加)、存储位置(若已经存储,则会有存储位置)等信息,另外,元数据信息中还可以记录有强相似指纹,如后续提到目标指纹标识。对于某个数据块,强相似指纹是基于该数据块的所有相似指纹确定,可以是进行加权等处理得到(如相似指纹有3个,指纹1、指纹2和指纹3,每个对应一个权值,分别为a、b、c,a、b、c之和等于1,强相似指纹等于a*指纹1+b*指纹2+c*指纹3),可以反映出相似指纹中的所有指纹。相似指纹表可以按照表格的形式进行存储,如表一所示,相似指纹为指纹1、指纹2、......、指纹n,指纹1对应数据块1的元数据信息、数据块2的元数据信息、数据块3的元数据信息等,指纹2对应数据块2的元数据信息、数据块3的元数据信息、数据块5的元数据信息等,指纹n对应数据块1的元数据信息、数据块4的元数据信息等。
表一
需要说明的是,本申请实施例中可以在确定目标数据块不能进行重复数据删除时,确定目标数据块的相似指纹,也可以是在确定是否能进行重复数据删除时,确定目标数据块的相似指纹。在确定相似指纹时,可以使用哈希算法,确定目标数据块的相似指纹,处理可以是:可以将目标数据块中划分为多个小的数据单元(每个数据单元的长度相同),通过预设的哈希函数为每个数据单元计算一个哈希值,即为目标数据块的相似指纹。
需要说明的是,在存储系统刚上线时,相似指纹表是空白的,随着时间的推移,存储的数据块越来越多,相似指纹表也越来越庞大。
还需要说明的是,上述确定重删指纹与相似指纹的哈希函数是不相同的函数。
另外,上述在目标数据块不能进行重复数据删除时,直接确定目标数据块的相似指纹,在目标数据块不能进行重复数据删除时,也可以不直接确定目标数据块的相似指纹,而是先判断存储系统的负载有没有满足负载超出条件(判断处理见前面的方式二),若满足负载超出条件,则可以生成目标数据块的相似指纹,若没有满足负载超出条件,则也可以不进行后续的相似压缩处理,也即不确定目标数据块的相似指纹,以及后续步骤303至步骤304。
步骤303,根据相似指纹,确定目标数据块所属的合并数据块组。
在实施中,存储系统可以使用目标数据块的相似指纹,在相似指纹表中,确定目标数据块的相似指纹中各指纹对应的数据块组,然后在这些数据块组中,确定目标数据块所属的合并数据块组。
作为一种可选的实现方式,有多种方式可以确定出目标数据块所属的合并数据块组,以下给出两种可行的方式:
方式一:根据相似指纹数目,确定所述目标数据块对应的数据块组,其中,所述相似指纹数目为一个数据块组中任意两个数据块的相似指纹相同的数目,在所述目标数据块对应的数据块组,将第一个数目个与所述目标数据块具有相同目标指纹的数据块,组成所述目标数据块所属的合并数据块组。
其中,相似指纹数目可以提前进行设置,并且存储在存储系统中。例如,相似指纹数目可以是2个。相似指纹数目与每个数据块提取的相似指纹的数目有关系,一般相似指纹包括的指纹的数目越多,相似指纹数目也就比较大,而相似指纹包括的指纹的数目越少,相似指纹数目也就比较小。存在目标指纹(也可以称为是强相似指纹)的数据块之间的差异数据的数据量最小,可以使数据块的压缩数据的数据量最少。第一数目可以预设,如8等。
在实施中,存储系统中建立有上述相似指纹表,可以在相似指纹表中,确定出目标数据块的相似指纹中各个指纹所对应的未压缩的数据块。然后使用相似指纹数目,将存在相似指纹数目个相同指纹的数据块划分为一组,确定目标数据块所处的数据块组,即为目标数据块所对应的数据块组。
对于目标数据块,还未被其他参考块选取作为组员时,在目标数据块对应数据块组中,可以在依次在各数据块组中,选取出与目标数据块存在目标指纹,且未与其他数据块组成合并数据块组的数据块,将选取出的数据块,组成目标数据块所属的合并数据块组。这样,对于任一数据块都按照此方式,即可确定出每个数据块所属的合并数据块组。
对于目标数据块,在其他参考块选取组员时,某个参考块与该目标数据块均存在目标指纹,则可以将该参考块所属的合并数据块组,确定为目标数据块所属的合并数据块组。
需要说明的是,若对数据块组中数据块的数目有限制,可以在合并数据块组中数据块达到第一数目后,不再往合并数据块组中添加数据块。例如,对于目标数据块,该目标数据块对应有三个数据块组,在前两个数据块组中存在该数据块的目标指纹的数据块的数目已经达到第一数目,将这些数据块组成合并数据块组,至此目标数据块所属的合并数据块组已经确定。
例如,目标数据块C3的相似指纹为指纹1、指纹2和指纹3,C3的目标指纹为指纹4,相似指纹数目为1,对于数据块的相似指纹的指纹1,对应的数据块有C0、C1、C2、C3、C4、C5、C6,对于指纹2,对应的数据块有C0、D1、C3、D3、C5、C7,对于指纹3,对应的数据块有C0、C3、C5、C7、D5、D6,由于目标数据块的相似指纹中包括指纹1、指纹2和指纹3,所以指纹1对应的数据块,组成的数据块组即为目标数据块对应的数据块组,指纹2对应的数据块,组成的数据块组即为目标数据块对应的数据块组,指纹3对应的数据块,组成的数据块组即为目标数据块对应的数据块组。对于指纹1,选择了C0为参考块,若C3与C0均具有相同的强相似指纹(即目标指纹),则可以将C3留在C0作为参考块的数据块组,那么以该C0作为参考块的数据块组,即为目标数据块C3所属的合并数据块组,对于指纹1中C5、C6也存在目标指纹,则也可以将C5、C6添加至C0作为参考块的数据块组,对于指纹2中C7也存在目标指纹,也可以将C7添加至C0作为参考块的数据块组,由于选取的数据块均存在目标指纹,所以合并数据块组中的数据块均存在目标指纹。
方式二,根据相似指纹数目,确定所述目标数据块对应的数据块组,其中,所述相似指纹数目为一个数据块组中任意两个数据块的相似指纹相同的数目,确定所述目标数据块与所述各数据块组中的数据块相似指纹相同的数目,在所述目标数据块对应的数据块组,将第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块,组成所述目标数据块所属的合并数据块组。
在实施中,存储系统中建立有上述相似指纹表,可以在相似指纹表中,确定出目标数据块中的相似指纹中各个指纹所对应的未压缩的数据块。然后使用相似指纹数目,将存在相似指纹数目个相同指纹的数据块划分为一组,确定目标数据块所处的数据块组,即为目标数据块所对应的数据块组。
对于目标数据块,还未被其他参考块选取作为组员时,确定目标数据块对应的数据块组中还未与其他数据块组成合并数据块组的数据块,确定这些数据块与目标数据块的相似指纹相同的数目,然后按照从大到小的顺序进行排序,选取出第一数目个数据块,组成目标数据块所属的合并数据块组。
对于目标数据块,在其他参考块选取组员时,某个参考块要选取第一数目个组员,该参考块与该参考块对应的数据块组中未进行压缩的数据块存在相同相似指纹的数目的排名中(从大到小的排名),目标数据块属于最前面的第一数目内,则可以将该参考块所属的合并数据块组,确定为目标数据块所属的合并数据块组。
例如,目标数据块E3的相似指纹为指纹1、指纹2和指纹3,相似指纹数目为1,对于数据块的相似指纹的指纹1,对应的数据块有E0、E1、E2、E3、E4、E5、E6,对于指纹2,对应的数据块有E0、F1、E3、F3、E5、E7,对于指纹3,对应的数据块有E0、E3、E5、E7、F5、F6,由于目标数据块的相似指纹中包括指纹1、指纹2和指纹3,所以指纹1对应的数据块,组成的数据块组即为目标数据块对应的数据块组,指纹2对应的数据块,组成的数据块组即为目标数据块对应的数据块组,指纹3对应的数据块,组成的数据块组即为目标数据块对应的数据块组。目前还未压缩的数据块有E2、E4、E5、E6、F5、F6,相似指纹相同的数目从大到小排序为E4、E5、F5、F6、E2、E6,第一数目为6,可以选取E4、E5、F5、F6、E2与E3组成合并数据块组。
需要说明的是,若对数据块组中数据块的数目有限制,可以在合并数据块组中数据块达到第一数目后,不再往合并数据块组中添加数据块。
另外,对于某些数据块经过第二数目个批量处理的周期时(如第二数目可以为2等),还没有找到相似的数据块或重复的数据块,则直接可以将该数据块进行常规的压缩存储。或者,对于某些数据块经过第二数目个批量处理的过程时,还没有找到相似的数据块或重复的数据块,则直接可以将该数据块进行常规的压缩存储。
另外,本申请实施例中,也可以不基于相似指纹数目,确定目标数据块对应的数据块组,将这批处理的数据块的第一个数据块作为参考块,在其余的数据块中,选取存在相同的强相似指纹的第一数目个数据块,组成该第一个数据块所属的数据块组,或者在其余的数据块中,选取与第一个数据块的相似指纹相同的数目最大的第一数目个数据块,组成该第一个数据块所属的数据块组。接下来在没有组成数据块组的数据块中,选取出第一个数据块作为参考块,然后继续执行在其余的数据块选取数据块的处理,得到该第一数据块所属的数据块组。按照这样的方式,即可得到目标数据块所属的合并数据块组。另外,若对于第一个数据块,选取不到存在相同的强相似指纹的第一数目个数据块,则可以等这次选取结束后选择相似指纹数目超过一定数值的数据块,添加至以第一个数据块为参考块的数据块组中。
对于上述合并数据块组,本申请实施例中,还提供了确定参考块的方式:
方式一、在合并数据块组中,将第一个添加的数据块确定为参考块。
在实施中,在合并数据块组中,可以确定每个数据块的添入顺序,将最早的添加的数据块,确定为合并数据块组的参考块。例如,在上述的例子中,C0是第一个添加的,则将C0确定为参考块。
方式二、在合并数据块组中,将使合并数据块组的数据缩减率最高的数据块确定为参考块。
在实施中,在对合并数据块组中的数据块进行压缩时,将任一数据块作为参考块,对合并数据块组中的各数据块进行压缩,得到合并数据块组的各数据块的压缩数据,然后将合并数据块组在压缩前的数据量与合并数据块组的压缩数据的数据量相比,得到该参考块对应的缩减率,对于任一参考块,均可以使用该方式,确定参考块对应的缩减率。选择缩减率最大的数据块,确定为参考块。
例如,合并数据块组中包括3个数据块,A1、A2和A3,使用A1作为参考块时,合并数据块组的整体缩减率为77%,使用A2作为参考块时,合并数据块组的整体缩减率为65%,使用A3作为参考块时,合并数据块组的整体缩减率为50%,这样,可以得到使用A1作为参考块时合并数据块组的整体缩减率最高,在合并数据块组中,可以将A1作为参考块。
需要说明的是,上述确定参考块的方式一的确定效率比较高,但是不一定会选取到缩减率最高的数据块。而上述确定参考块的方式二,虽然能确定出高缩减率的压缩块,但是选取过程复杂,效率比较低,所以在合并数据块组中的数据块的数目比较多时,可以选取确定参考块的方式一,以提高选取效率,而在合并数据块组中的数据块的数目比较少时,可以选取确定参考块的方式二,以提供高缩减率。
步骤304,基于合并数据块组中的参考块,对目标数据块进行相似压缩。
在实施中,存储系统可以确定目标数据块与合并数据块组中的参考块的差异数据,若已经对参考块进行压缩,则直接可以压缩差异数据,得到目标数据块的压缩数据,若还未对参考块进行压缩,可以压缩参考块,并压缩差异数据。后续可以使用参考块的数据和差异数据,恢复出目标数据块的数据。
作为一种可选的实现方式,在存储系统中,可以将同一合并数据块组中的数据存储在存储块中,可以是存储在同一存储块,也可以是存储在不同的存储块,本申请实施例不做限定。在存储在不同的存储块时,若参考块与当前要读取的数据块的差异数据在同一存储块,可以直接在该存储块中一次性读取(若参考块在前,可以从参考块一直读取到要读取的数据块的差异数据,若参考块在后,可以从要读取的数据块的差异数据一直读取到参考块),若参考块与当前要读取的数据块的差异数据不在同一存储块,可以在不同的存储块中分别进行读取。
作为一种可选的实现方式,在存储系统中,是使用存储块存储压缩后的数据,在存储时,对于同一合并数据块组的压缩数据要存储在一个存储块中,且连续存储,处理可以如下:
将数据块进行相似压缩后的压缩数据与合并数据块组中的其他数据块的压缩数据连续存储在同一存储块。
在实施中,在存储目标数据块进行相似压缩的压缩数据时,可以确定合并数据块组中的其他数据块的压缩数据所存储的存储块,以及在该存储块中的存储位置,然后将目标数据块进行相似压缩的压缩数据与合并数据块组中的其他数据块的压缩数据连续存储在一起。
例如,如图4所示,数据块为A1、A2,A0为参考块,dA1为A1与A0的差异数据,dA2为A2与A0的差异数据,可以将A0、dA1、dA2存储在同一个存储块中,且连续存储,A0与dA1相邻,dA1与dA2相邻。
需要说明的是,由于每次读取数据都需要耗费处理资源,为了节约处理资源,一般是将参考块和差异数据一次性读取,而不会分两次进行读取,所以通过将上述一个合并数据块组中的压缩数据存储在一个存储块中,且连续存储,在读取时,可以一次性读取到参考块、其他数据块与参考块的差异数据。
作为一种可选的实现方式,为了使一次性读取的数据比较少,可以配置参考块的数据所存储的位置,处理可以如下:
在合并数据块组中除参考块之外的数据块为多个的情况下,参考块的数据之前有m个数据块的压缩数据,参考块之后有n个数据块的压缩数据,其中,m与n的差值等于0、1或-1中的任意一个,m、n均大于或等于1。
在实施中,在合并数据块组中除参考块之外的数据块为多个的情况下,除参考块之外的数据块有m+n个,参考块的数据之前可以设置m个数据块的压缩数据,参考块的数据之后可以设置n个数据块的压缩数据,若m+n为奇数,m和n的关系可以是m-n等于1或-1,若m+n为偶数,m和n的关系可以是m-n等于0。这样,在读取数据时,若要读取参考块之后的数据块的差异数据,则直接可以从参考块开始读取,读取至该数据块的差异数据,而不需要读取全部数据块的差异数据,若要读取参考块之前的数据块的差异数据,则直接可以从该数据块的差异数据开始读取,读取至参考块的数据结束,而不需要读取全部的数据,可以使读取的数据比较少,提高读取效率。
例如,如图5所示,对应图4,合并数据块组中除参考块之外,还有两个数据块A1和A2,将A0存储在dA1、dA2之间,这样,在读取A2的数据时,可以直接从A0开始读取,读取完dA2结束,而不需要读取dA1,可以加快读取速度。在读取A1的数据时,可以从dA1开始读取,读取完A0结束,而不需要读取dA2,可以加快读取速度。
另外,在合并数据块组中除参考块之外的数据块为一个的情况下,参考块的数据的位置可以位于合并数据块组的其他数据块的压缩数据之前,也可以位于合并数据块组的其他数据块的压缩数据之后。
另外,存储块的长度一般都是固定的,在存储块中一个合并数据块组的数据没有存储满时,可以存储其他合并数据块组的数据,但是要使同一合并数据块组的数据存储在同一存储块中,以方便后续读取。
为了更清楚的表述存储块的结构,本申请实施例还提供了存储块的结构,如图6所示,原来的存储块的结构下,存储块0用于存储X、Y、Z、G数据块,存储块1用于存储A0、B0、A1和D1数据块,存储块2用于存储A2、D0、A0和B1数据块,X、Y、Z、G数据块为未进行重复数据删除或相似压缩的数据块,可以不进行更改,由于存储块1和存储块2中均有A0,可以进行重复数据删除,删除一个A0,由于A1、A2均与A0相似,可以进行相似压缩,得到A1与A0的差异数据dA1,得到A2与A0的差异数据dA2,可以将dA1、dA2和A0放在一个存储块,存储在存储块1,B0与B1相似,B0为参考块,可以进行相似压缩,得到B1与B0的差异数据dB1,D1与D0相似,D0为参考块,可以进行相似压缩,得到D1与D0的差异数据dD1,可以将B0与dB1存储在同一个存储块中,并且可以将D0与dD1存储在同一个存储块,均存储在存储块2。也就是说存储块分为了两类存储块,一类存储块用于存储未进行重复数据删除和/或相似压缩的数据块,另一类存储块用于存储进行重复数据删除和/或相似压缩的数据块。
另外,对于上述步骤304,对于同一合并数据块组的压缩数据可以存储在同一压缩块中,处理可以如下:
若合并数据块组所属的压缩块中有剩余容量,则将数据块与参考块的差异数据进行压缩,将压缩后的数据存放至压缩块,若合并数据块组所属的压缩块中没有剩余容量,则新建压缩块,重新确定数据块所属的数据块组,在重新确定的数据块组中,选择参考块,将数据块与重新选择的参考块的差异数据进行压缩,将压缩后的数据存放至新建的压缩块。
其中,每个压缩块用于存放一个合并数据块组的压缩数据,压缩块所能存放数据的数据量是一个固定值,可以是16kB或者32kB,也可以是其他数值。
在实施中,在对合并数据块组中的目标数据块进行相似压缩处理时,在合并数据块组所属的压缩块中有剩余容量时,且剩余容量的大小大于或等于目标数据块与合并数据块组中的参考块的差异数据的数据量,可以将目标数据块与合并数据块组中的参考块的差异数据进行压缩,然后将压缩后差异数据,存放在该压缩块中。
若合并数据块组所属的压缩块中没有剩余容量,能够存储目标数据块相对参考块的差异数据,则可以新建一个压缩块,若合并数据块组中还有其他数据块也未进行压缩,则可以将目标数据块与合并数据块组中的其他数据块形成一个新的合并数据块组,然后在该新的合并数据块组中确定参考块,可以将最先添加的一个数据块确定为参考块,也可以将使该新的合并数据块组缩减率最高的一个数据块确定为参考块(在这种情况下目标数据块也可能被选择为参考块)。若目标数据块不是参考块,将目标数据块与重新选择的参考块的差异数据进行压缩,将压缩后的数据存放至新建的压缩块,并可以对这个新的合并数据块组中的参考块进行存储,若目标数据块为参考块,则直接可以进行常规的压缩存储,其他数据块参考目标数据块进行相似压缩处理。这样,就可以实现对目标数据块的压缩处理。
例如,如图7所示,数据块所属的合并数据块组中包括5个数据块。即参考块、a、b、c、d,第一个数据块为参考块,参考块的数据进行无损压缩,其他数据块相对于参考块进行相似压缩,存储在一个数据块中,依次为da、db、dc、dd。
需要说明的是,上述压缩块所能存放数据的数据量一般比较小,这是为了方便读取,若压缩块所能存放数据的数据量比较多,则在读取数据时,读取压缩块最后面的数据,需要从参考块读取到最后面,一次性读取的数据比较多,浪费较多的资源。
通过本申请的实施例,对于一套全新的存储系统,直接可以结合重复数据删除与相似压缩,得到一个新的压缩技术的系统,对于一个已经上线的系统,若没有重复数据删除和相似压缩,可以嵌套使用,增加一个独立的处理机制即可。
本申请实施例中,在存储数据块时,确定目标数据块能否进行重复数据删除,当目标数据块不能进行重复数据删除时,获取目标数据块的相似指纹,根据相似指纹,确定目标数据块所属的合并数据块组,基于合并数据块组中的参考块,对目标数据块进行相似压缩。这样,将相似压缩和重复数据删除进行结合,在不能进行重复数据删除时,可以使用相似压缩进一步压缩一部分数据,可以提升缩减率。
基于上述压缩数据的处理,本申请实施例还对应给出了读取压缩数据的过程,以合并数据块组中的压缩数据存储在同一存储块为例,读取步骤如图8所示。
步骤801,接收待读取数据块的读取请求。
在实施中,将数据块存储至存储系统后,后续想要读取数据块,可以向存储系统发送读取请求,并在其中携带待读取数据块的标识。
步骤802,获取待读取数据块的元数据信息。
在实施中,存储系统可以在存储块中(一般元数据信息存储在第一个存储块上),使用待读取数据块的标识,读取待读取数据块的元数据信息,可以包括待读取数据块的参考块所在的存储块、该参考块在该存储块的位置、待读取数据块相对参考块的偏移位置(该偏移位置可以是偏移的数据量,也可以是偏移的数据块的数目等)。例如,在参考块的位置向右偏移8个数据块等。
步骤803,基于元数据信息,在待读取数据块的参考块所属的存储块中,读取待读取数据块的参考块以及待读取数据块与参考块的差异数据。
在实施中,存储系统获取到元数据信息之后,可以使用元数据信息,确定参考块在存储块中的位置,以及待读取数据块相对于参考块的偏移位置,若参考块在待读取数据块的差异数据之前,可以从参考块开始读取,一直读取到待读取数据块与参考块的差异数据,若参考块在待读取数据块的差异数据之后,可以从待读取数据块开始读取,一直读取到参考块,从读取出的数据中,获取参考块的数据、待读取数据块与参考块的差异数据。
此处需要说明的是,在参考块所在的存储块中,还包括参考块的头部(head),用于描述存储块中包括的数据块的数目、存储块的数据量等。
步骤804,根据参考块和差异数据,恢复待读取数据块的数据。
在实施中,存储系统可以将参考块的数据与差异数据叠加,得到待读取数据块的全部数据。
步骤805,将待读取数据块的数据发送至请求方。
这样,对于一次在磁盘中读出数据的过程,在元数据信息存储在内存中的情况下,由于在存储块中可以从参考块开始读取,直到读取到待读取数据块的差异数据,所以在参考块与待读取数据块的差异数据之间有其他数据块的差异数据时,也会读取到其他数据块的差异数据,在这种情况下,虽然会读取到其他数据块的差异数据,但是相比较先读取参考块的数据,再一次读取待读取数据块的差异数据所占用的处理资源要少。可见本申请仅需一次就可以将待读取数据块全部读取完毕。
在元数据信息存储在磁盘中的情况下,在磁盘中读取待读取数据块的元数据信息,再在存储块中一次性读取参考块与待读取数据块的差异数据,所以本申请仅需两次就可以将待读取数据块全部读取完毕。
图9是本申请实施例提供的存储系统数据压缩的装置的结构图。该装置可以通过软件、硬件或者两者的结合实现成为装置中的部分或者全部。本申请实施例提供的装置可以实现本申请实施例图3所述的流程,该装置包括:确定模块910、获取模块920和压缩模块930,其中:
确定模块910,用于确定目标数据块能否进行重复数据删除,具体可以用于执行步骤301以及其包含的隐含步骤;
获取模块920,用于当所述目标数据块不能进行重复数据删除时,获取所述目标数据块的相似指纹,具体可以用于执行步骤302以及其包含的隐含步骤;
所述确定模块910,还用于根据所述相似指纹,确定所述目标数据块所属的合并数据块组,具体可以用于执行步骤303以及其包含的隐含步骤;
压缩模块930,用于基于所述合并数据块组中的参考块,对所述数据块进行相似压缩,具体可以用于执行步骤304以及其包含的隐含步骤。
作为一种可选的实现方式,所述确定模块910,用于:
生成所述目标数据块的重删指纹;
查询所述存储系统是否有与所述重删指纹相同的指纹以确定所述目标数据块能否进行重复数据删除。
作为一种可选的实现方式,所述确定模块910,用于:
确定所述存储系统的负载以确定所述目标数据块能否进行重复数据删除。
作为一种可选的实现方式,所述压缩模块930,还用于:
将所述目标数据块进行相似压缩后的压缩数据与所述合并数据块组中的其他数据块的压缩数据连续存储在同一存储块。
作为一种可选的实现方式,在所述合并数据块组中除参考块之外的数据块为多个的情况下,所述参考块的数据之前有m个数据块的压缩数据,所述参考块之后有n个数据块的压缩数据,其中,m与n的差值等于0、1或-1中的任意一个,m、n均大于或等于1。
作为一种可选的实现方式,所述确定模块910,还用于:
根据相似指纹数目,确定所述目标数据块对应的数据块组,其中,所述相似指纹数目为一个数据块组中任意两个数据块的相似指纹相同的数目;
在所述目标数据块对应的数据块组,将第一数目个与所述目标数据块具有相同目标指纹的数据块,组成所述目标数据块所属的合并数据块组,其中,所述目标数据块与存在所述目标指纹的数据块的差异数据的数据量小于所述目标数据块与不存在所述目标指纹的数据块的差异数据的数据量。
作为一种可选的实现方式,所述确定模块910,还用于:
根据相似指纹数目,确定所述目标数据块对应的数据块组,其中,所述相似指纹数目为一个数据块组中任意两个数据块的相似指纹相同的数目;
确定所述目标数据块与所述各数据块组中的数据块相似指纹相同的数目;
在所述目标数据块对应的数据块组,将第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块,组成所述目标数据块所属的合并数据块组。
本申请实施例中,在存储数据块时,确定目标数据块能否进行重复数据删除,当目标数据块不能进行重复数据删除时,获取目标数据块的相似指纹,根据相似指纹,确定目标数据块所属的合并数据块组,基于合并数据块组中的参考块,对目标数据块进行相似压缩。这样,将相似压缩和重复数据删除进行结合,在不能进行重复数据删除时,可以使用相似压缩进一步压缩一部分数据,可以提升缩减率。
需要说明的是:上述实施例提供的存储系统数据压缩的装置在压缩数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储系统数据压缩的装置与存储系统数据压缩的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
作为一种可选的实现方式,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述计算机可读存储介质在存储系统上运行时,使得所述存储系统执行上述存储系统数据压缩的方法。
作为一种可选的实现方式,本申请实施例还提供了一种包含指令的计算机程序产品,当所述计算机程序产品在存储系统上运行时,使得所述存储系统执行上述存储系统数据压缩的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (22)
1.一种存储系统数据压缩的方法,其特征在于,所述方法包括:
确定目标数据块能否进行重复数据删除;
当所述目标数据块不能进行重复数据删除时,获取所述目标数据块的多个相似指纹;
确定所述目标数据块对应的数据块组,其中,一个数据块组中任意两个数据块包含预设数量个相同的相似指纹;
基于合并数据块组中的参考块,对所述目标数据块进行相似压缩;所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有相同目标指纹的数据块组成,或者,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块组成;
其中,所述目标数据块与存在所述目标指纹的数据块的差异数据的数据量小于所述目标数据块与不存在所述目标指纹的数据块的差异数据的数据量。
2.根据权利要求1所述的方法,其特征在于,所述确定目标数据块能否进行重复数据删除,包括:
生成所述目标数据块的重删指纹;
查询所述存储系统是否有与所述重删指纹相同的指纹以确定所述目标数据块能否进行重复数据删除。
3.根据权利要求1所述的方法,其特征在于,所述确定目标数据块能否进行重复数据删除,包括:
确定所述存储系统的负载以确定所述目标数据块能否进行重复数据删除。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
将所述目标数据块进行相似压缩后的压缩数据与所述合并数据块组中的其他数据块的压缩数据连续存储在同一存储块。
5.根据权利要求4所述的方法,其特征在于,在所述合并数据块组中除参考块之外的数据块为多个的情况下,所述参考块的数据之前有m个数据块的压缩数据,所述参考块之后有n个数据块的压缩数据,其中,m与n的差值等于0、1或-1中的任意一个,m、n均大于或等于1。
6.根据权利要求1至3任一所述的方法,其特征在于,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有相同目标指纹的数据块组成,所述方法还包括:
在所述数据块组中,选择所述第一数目个与所述目标数据块具有相同目标指纹的数据块,以组成所述合并数据块组。
7.根据权利要求1至3任一所述的方法,其特征在于,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块组成,所述方法还包括:
确定所述目标数据块与所述各数据块组中的数据块相似指纹相同的数目;
在所述数据块组中,选择所述第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块,以组成所述合并数据块组。
8.一种存储系统数据压缩的装置,其特征在于,所述装置包括:
确定模块,用于确定目标数据块能否进行重复数据删除;
获取模块,用于当所述目标数据块不能进行重复数据删除时,获取所述目标数据块的多个相似指纹;
所述确定模块,还用于确定所述目标数据块对应的数据块组,其中,一个数据块组中任意两个数据块包含预设数量个相同的相似指纹;
压缩模块,用于基于合并数据块组中的参考块,对所述数据块进行相似压缩;所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有相同目标指纹的数据块组成,或者,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块组成;
其中,所述目标数据块与存在所述目标指纹的数据块的差异数据的数据量小于所述目标数据块与不存在所述目标指纹的数据块的差异数据的数据量。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,用于:
生成所述目标数据块的重删指纹;
查询所述存储系统是否有与所述重删指纹相同的指纹以确定所述目标数据块能否进行重复数据删除。
10.根据权利要求8所述的装置,其特征在于,所述确定模块,用于:
确定所述存储系统的负载以确定所述目标数据块能否进行重复数据删除。
11.根据权利要求8至10任一所述的装置,其特征在于,所述压缩模块,还用于:
将所述目标数据块进行相似压缩后的压缩数据与所述合并数据块组中的其他数据块的压缩数据连续存储在同一存储块。
12.根据权利要求11所述的装置,其特征在于,在所述合并数据块组中除参考块之外的数据块为多个的情况下,所述参考块的数据之前有m个数据块的压缩数据,所述参考块之后有n个数据块的压缩数据,其中,m与n的差值等于0、1或-1中的任意一个,m、n均大于或等于1。
13.根据权利要求8至10任一所述的装置,其特征在于,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有相同目标指纹的数据块组成,所述确定模块,还用于:
在所述数据块组中,选择所述第一数目个与所述目标数据块具有相同目标指纹的数据块,以组成所述合并数据块组。
14.根据权利要求8至10任一所述的装置,其特征在于,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块组成,所述确定模块,还用于:
确定所述目标数据块与所述各数据块组中的数据块相似指纹相同的数目;
在所述数据块组中,选择所述第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块,以组成所述合并数据块组。
15.一种数据压缩的存储系统,其特征在于,所述存储系统包括接口和处理器,其中:
所述处理器,用于:
确定目标数据块能否进行重复数据删除;
当所述目标数据块不能进行重复数据删除时,获取所述目标数据块的多个相似指纹;
确定所述目标数据块对应的数据块组,其中,一个数据块组中任意两个数据块包含预设数量个相同的相似指纹;
基于合并数据块组中的参考块,对所述目标数据块进行相似压缩;所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有相同目标指纹的数据块组成,或者,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块组成;
其中,所述目标数据块与存在所述目标指纹的数据块的差异数据的数据量小于所述目标数据块与不存在所述目标指纹的数据块的差异数据的数据量。
16.根据权利要求15所述的存储系统,其特征在于,所述处理器,用于:
生成所述目标数据块的重删指纹;
查询所述存储系统是否有与所述重删指纹相同的指纹以确定所述目标数据块能否进行重复数据删除。
17.根据权利要求15所述的存储系统,其特征在于,所述处理器,用于:
确定所述存储系统的负载以确定所述目标数据块能否进行重复数据删除。
18.根据权利要求15至17任一所述的存储系统,其特征在于,所述存储系统还包括:存储器,用于:
将所述目标数据块进行相似压缩后的压缩数据与所述合并数据块组中的其他数据块的压缩数据连续存储在同一存储块。
19.根据权利要求18所述的存储系统,其特征在于,在所述合并数据块组中除参考块之外的数据块为多个的情况下,所述参考块的数据之前有m个数据块的压缩数据,所述参考块之后有n个数据块的压缩数据,其中,m与n的差值等于0、1或-1中的任意一个,m、n均大于或等于1。
20.根据权利要求15至17任一所述的存储系统,其特征在于,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有相同目标指纹的数据块组成,所述处理器,用于:
在所述数据块组中,选择所述第一数目个与所述目标数据块具有相同目标指纹的数据块,以组成所述合并数据块组。
21.根据权利要求15至17任一所述的存储系统,其特征在于,所述合并数据块组由所述数据块组中第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块组成,所述处理器,用于:
确定所述目标数据块与所述各数据块组中的数据块相似指纹相同的数目;
在所述数据块组中,选择所述第一数目个与所述目标数据块具有最多相似指纹相同的数目的数据块,以组成所述合并数据块组。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述计算机可读存储介质在存储系统上运行时,使得所述存储系统执行所述权利要求1至7中任一权利要求所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/097144 WO2021012162A1 (zh) | 2019-07-22 | 2019-07-22 | 存储系统数据压缩的方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112544038A CN112544038A (zh) | 2021-03-23 |
CN112544038B true CN112544038B (zh) | 2024-07-05 |
Family
ID=74192766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980008298.1A Active CN112544038B (zh) | 2019-07-22 | 2019-07-22 | 存储系统数据压缩的方法、装置、设备及可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20220147255A1 (zh) |
EP (1) | EP3993273A4 (zh) |
CN (1) | CN112544038B (zh) |
WO (1) | WO2021012162A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021016728A1 (zh) * | 2019-07-26 | 2021-02-04 | 华为技术有限公司 | 存储系统中数据处理方法、装置及计算机存储可读存储介质 |
CN115145884A (zh) * | 2021-03-30 | 2022-10-04 | 华为技术有限公司 | 一种数据压缩方法及装置 |
EP4357900A4 (en) * | 2021-07-08 | 2024-09-25 | Huawei Tech Co Ltd | METHOD AND APPARATUS FOR PROCESSING DATA |
CN117369731B (zh) * | 2023-12-07 | 2024-02-27 | 苏州元脑智能科技有限公司 | 一种数据的缩减处理方法、装置、设备及介质 |
CN117762336B (zh) * | 2023-12-22 | 2024-07-26 | 柏域信息科技(上海)有限公司 | 针对Ceph对象的定期删除方法、装置及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831222A (zh) * | 2012-08-24 | 2012-12-19 | 华中科技大学 | 一种基于重复数据删除的差量压缩方法 |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6348881B1 (en) * | 2000-08-29 | 2002-02-19 | Philips Electronics No. America Corp. | Efficient hardware implementation of a compression algorithm |
US7079051B2 (en) * | 2004-03-18 | 2006-07-18 | James Andrew Storer | In-place differential compression |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7464216B2 (en) * | 2006-09-29 | 2008-12-09 | Sandisk Corporation | Method for phased garbage collection with state indicators |
US8635194B2 (en) * | 2006-10-19 | 2014-01-21 | Oracle International Corporation | System and method for data compression |
US8214517B2 (en) * | 2006-12-01 | 2012-07-03 | Nec Laboratories America, Inc. | Methods and systems for quick and efficient data management and/or processing |
JP4912174B2 (ja) * | 2007-02-07 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及び記憶管理方法 |
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 |
US20150010143A1 (en) | 2009-04-30 | 2015-01-08 | HGST Netherlands B.V. | Systems and methods for signature computation in a content locality based cache |
US8412848B2 (en) * | 2009-05-29 | 2013-04-02 | Exagrid Systems, Inc. | Method and apparatus for content-aware and adaptive deduplication |
US20100333116A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Cloud gateway system for managing data storage to cloud storage sites |
US8285918B2 (en) * | 2009-12-11 | 2012-10-09 | Nimble Storage, Inc. | Flash memory cache for data storage device |
US8443263B2 (en) * | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
WO2012025974A1 (ja) * | 2010-08-23 | 2012-03-01 | 富士通株式会社 | データ記憶装置およびデータ記憶装置制御方法 |
WO2012029258A1 (en) * | 2010-08-31 | 2012-03-08 | Nec Corporation | Storage system |
US10498356B2 (en) | 2011-09-13 | 2019-12-03 | Exagrid Systems, Inc. | Systems and methods for version chain clustering |
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 |
US8732403B1 (en) * | 2012-03-14 | 2014-05-20 | Netapp, Inc. | Deduplication of data blocks on storage devices |
US9348538B2 (en) * | 2012-10-18 | 2016-05-24 | Netapp, Inc. | Selective deduplication |
US9176858B2 (en) * | 2012-11-19 | 2015-11-03 | Hitachi, Ltd. | Storage system configured to selectively utilize data compression based on real pool usage rates |
US9348746B2 (en) * | 2012-12-31 | 2016-05-24 | Sandisk Technologies | Method and system for managing block reclaim operations in a multi-layer memory |
US8873284B2 (en) * | 2012-12-31 | 2014-10-28 | Sandisk Technologies Inc. | Method and system for program scheduling in a multi-layer memory |
US9734050B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US9223693B2 (en) * | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9465731B2 (en) * | 2012-12-31 | 2016-10-11 | Sandisk Technologies Llc | Multi-layer non-volatile memory system having multiple partitions in a layer |
US9734911B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile memory |
US9336133B2 (en) * | 2012-12-31 | 2016-05-10 | Sandisk Technologies Inc. | Method and system for managing program cycles including maintenance programming operations in a multi-layer memory |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
KR102053865B1 (ko) * | 2013-03-15 | 2019-12-09 | 삼성전자주식회사 | 호스트-주도 가비지 컬렉션 방법과 상기 방법을 수행할 수 있는 시스템 |
US20140325148A1 (en) * | 2013-04-29 | 2014-10-30 | Sang Hoon Choi | Data storage devices which supply host with data processing latency information, and related data processing methods |
US9514146B1 (en) * | 2013-09-26 | 2016-12-06 | Emc Corporation | System and method for improving data compression of a storage system in an online manner |
US20150227600A1 (en) * | 2014-02-13 | 2015-08-13 | Actifio, Inc. | Virtual data backup |
US10380072B2 (en) * | 2014-03-17 | 2019-08-13 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
US9753666B2 (en) * | 2015-03-27 | 2017-09-05 | Intel Corporation | Efficient data compression for solid-state memory |
US9940337B2 (en) * | 2015-05-31 | 2018-04-10 | Vmware, Inc. | Predictive probabilistic deduplication of storage |
US20170038978A1 (en) * | 2015-08-05 | 2017-02-09 | HGST Netherlands B.V. | Delta Compression Engine for Similarity Based Data Deduplication |
US10120613B2 (en) * | 2015-10-30 | 2018-11-06 | Sandisk Technologies Llc | System and method for rescheduling host and maintenance operations in a non-volatile memory |
US10133490B2 (en) * | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
US9778855B2 (en) * | 2015-10-30 | 2017-10-03 | Sandisk Technologies Llc | System and method for precision interleaving of data writes in a non-volatile memory |
US20170123676A1 (en) * | 2015-11-04 | 2017-05-04 | HGST Netherlands B.V. | Reference Block Aggregating into a Reference Set for Deduplication in Memory Management |
CN105743509B (zh) * | 2016-01-26 | 2019-05-24 | 华为技术有限公司 | 数据压缩装置及方法 |
US10185658B2 (en) * | 2016-02-23 | 2019-01-22 | Sandisk Technologies Llc | Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes |
US20170293450A1 (en) * | 2016-04-11 | 2017-10-12 | HGST Netherlands B.V. | Integrated Flash Management and Deduplication with Marker Based Reference Set Handling |
US10739996B1 (en) * | 2016-07-18 | 2020-08-11 | Seagate Technology Llc | Enhanced garbage collection |
US11599505B2 (en) * | 2016-07-19 | 2023-03-07 | Western Digital Technologies, Inc. | Reference set construction for data deduplication |
US10108544B1 (en) * | 2016-09-26 | 2018-10-23 | EMC IP Holding Company LLC | Dynamic duplication estimation for garbage collection |
US20180095674A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Selective data compression/decompression for intermemory transfer interface |
WO2018111133A1 (en) * | 2016-12-15 | 2018-06-21 | Huawei Technologies Co., Ltd | Method and system of similarity-based deduplication |
CN106844479B (zh) * | 2016-12-23 | 2020-07-07 | 光锐恒宇(北京)科技有限公司 | 文件的压缩、解压方法及装置 |
US10255179B2 (en) * | 2016-12-30 | 2019-04-09 | Western Digital Technologies, Inc. | Garbage collection read throttling |
US10430279B1 (en) * | 2017-02-27 | 2019-10-01 | Tintri By Ddn, Inc. | Dynamic raid expansion |
US10558646B2 (en) * | 2017-04-30 | 2020-02-11 | International Business Machines Corporation | Cognitive deduplication-aware data placement in large scale storage systems |
US10809928B2 (en) * | 2017-06-02 | 2020-10-20 | Western Digital Technologies, Inc. | Efficient data deduplication leveraging sequential chunks or auxiliary databases |
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 |
US11461027B2 (en) * | 2017-07-18 | 2022-10-04 | Vmware, Inc. | Deduplication-aware load balancing in distributed storage systems |
CN108134775B (zh) * | 2017-11-21 | 2020-10-09 | 华为技术有限公司 | 一种数据处理方法和设备 |
US10983715B2 (en) * | 2018-09-19 | 2021-04-20 | Western Digital Technologies, Inc. | Expandable memory for use with solid state systems and devices |
KR20200064499A (ko) * | 2018-11-29 | 2020-06-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200073017A (ko) * | 2018-12-13 | 2020-06-23 | 에스케이하이닉스 주식회사 | 데이터 저장 장치와, 그것의 동작 방법 |
KR20200086472A (ko) * | 2019-01-09 | 2020-07-17 | 에스케이하이닉스 주식회사 | 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 |
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 |
US11514075B2 (en) * | 2020-04-29 | 2022-11-29 | EMC IP Holding Company, LLC | System and method for prioritizing replication copy activity |
US11687424B2 (en) * | 2020-05-28 | 2023-06-27 | Commvault Systems, Inc. | Automated media agent state management |
-
2019
- 2019-07-22 EP EP19938453.8A patent/EP3993273A4/en active Pending
- 2019-07-22 CN CN201980008298.1A patent/CN112544038B/zh active Active
- 2019-07-22 WO PCT/CN2019/097144 patent/WO2021012162A1/zh unknown
-
2022
- 2022-01-20 US US17/579,904 patent/US20220147255A1/en not_active Abandoned
-
2023
- 2023-06-24 US US18/340,853 patent/US12073102B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831222A (zh) * | 2012-08-24 | 2012-12-19 | 华中科技大学 | 一种基于重复数据删除的差量压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3993273A4 (en) | 2022-07-27 |
CN112544038A (zh) | 2021-03-23 |
EP3993273A1 (en) | 2022-05-04 |
US20220147255A1 (en) | 2022-05-12 |
US12073102B2 (en) | 2024-08-27 |
US20230333764A1 (en) | 2023-10-19 |
WO2021012162A1 (zh) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112544038B (zh) | 存储系统数据压缩的方法、装置、设备及可读存储介质 | |
KR101653692B1 (ko) | 데이터 오브젝트 처리 방법 및 장치 | |
CN107682016B (zh) | 一种数据压缩方法、数据解压方法及相关系统 | |
US11030050B2 (en) | Method and device of archiving database and method and device of retrieving archived database | |
CN107850983B (zh) | 计算机系统、存储装置和数据的管理方法 | |
CN106156037B (zh) | 数据处理方法、装置及系统 | |
US11030172B2 (en) | Database archiving method and device for creating index information and method and device of retrieving archived database including index information | |
CN111083933B (zh) | 数据存储及获取方法和装置 | |
CN115438114B (zh) | 存储格式转换方法、系统、装置、电子设备及存储介质 | |
CN111611250A (zh) | 数据存储设备、数据查询方法、装置、服务器及存储介质 | |
CN113268459A (zh) | 基于fastq基因大数据的批量分布式压缩方法 | |
CN111061428B (zh) | 一种数据压缩的方法及装置 | |
CN115168319A (zh) | 一种数据库系统、数据处理方法及电子设备 | |
WO2019127926A1 (zh) | 一种稀疏神经网络的计算方法及计算装置、电子装置、计算机可读存储介质以及计算机程序产品 | |
CN112783417A (zh) | 数据缩减的方法、装置、计算设备和存储介质 | |
CN112054805B (zh) | 一种模型数据压缩方法、系统及相关设备 | |
US20210157485A1 (en) | Pattern-based cache block compression | |
WO2024187947A1 (zh) | 一种数据处理方法及相关设备 | |
CN116383290B (zh) | 一种数据泛化解析方法 | |
CN113726342B (zh) | 面向大规模图迭代计算的分段差值压缩与惰性解压方法 | |
CN114640357B (zh) | 数据编码方法、设备及存储介质 | |
US20240080478A1 (en) | Point cloud encoding and decoding method and apparatus, computer, and storage medium | |
JP7534239B2 (ja) | 演算装置、圧縮方法 | |
US20240020005A1 (en) | Data Compression Method and Apparatus | |
CN117992422A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |