CN111061428B - 一种数据压缩的方法及装置 - Google Patents

一种数据压缩的方法及装置 Download PDF

Info

Publication number
CN111061428B
CN111061428B CN201911054906.0A CN201911054906A CN111061428B CN 111061428 B CN111061428 B CN 111061428B CN 201911054906 A CN201911054906 A CN 201911054906A CN 111061428 B CN111061428 B CN 111061428B
Authority
CN
China
Prior art keywords
data block
data
queue
compression
fingerprint
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
Application number
CN201911054906.0A
Other languages
English (en)
Other versions
CN111061428A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911054906.0A priority Critical patent/CN111061428B/zh
Publication of CN111061428A publication Critical patent/CN111061428A/zh
Priority to PCT/CN2020/120980 priority patent/WO2021082926A1/zh
Application granted granted Critical
Publication of CN111061428B publication Critical patent/CN111061428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据压缩的方法及装置,涉及存储技术领域,解决了的相似数据压缩存储空间的利用率不高,数据压缩的缩减率不高的问题。该方法包括:获取第一数据块的第一指纹和第二指纹;根据第一指纹将第一数据块加入第一数据块队列;其中,第一数据块队列的数据块均包含第一指纹;根据第二指纹将第一数据块加入第二数据块队列;其中,第二数据块队列的数据块均包含第二指纹;当对第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,则从第二数据块队列中获取第二数据块,第二数据块队列包括与第一参考数据块相同指纹的数据块;将第二数据块参考第一参考数据块进行压缩。

Description

一种数据压缩的方法及装置
技术领域
本申请涉及存储技术领域,尤其涉及一种数据压缩的方法及装置。
背景技术
随着大数据的快速发展,海量数据呈爆发式增长,给数据存储管理带来了巨大的挑战。为了提高存储空间的利用率,数据缩减技术是存储***中必不可少的关键技术,具体可以通过数据压缩、重复数据删除、相似数据压缩等实现方式减少存储***中使用的存储容量,从而提升存储空间的利用率。其中,衡量存储***性能的重要指标可以为缩减效率、缩减率,或者压缩比。
目前的基于相同数据的不同版本进行压缩存储的技术方案中,每次数据更新后,参考原始数据进行压缩得到增量值,在存储空间中存放每一次数据更新的增量值。但是由于存储数据的物理页面是定长的,对于更新较少的数据,则会造成该物理页面的浪费,存储空间的利用率不高。
发明内容
本申请提供一种数据压缩的方法及装置,解决了现有技术的相似数据压缩存储空间的利用率不高,数据压缩的缩减率不高的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据压缩的方法,所述方法包括:获取第一数据块的第一指纹和第二指纹;根据所述第一指纹将所述第一数据块加入第一数据块队列;其中,所述第一数据块队列的数据块均包含所述第一指纹;根据所述第二指纹将所述第一数据块加入第二数据块队列;其中,所述第二数据块队列的数据块均包含所述第二指纹;当对所述第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,从所述第二数据块队列中获取第二数据块,所述第二数据块队列包括与所述第一参考数据块的指纹相同的数据块,所述第一参考数据块选自所述第一数据块队列;对所述第二数据块参考所述第一参考数据块进行压缩。
上述技术方案中,根据多个数据块提取的多个指纹得到多个数据块队列,将包括相同指纹的数据块队列中的数据块进行参考压缩,当第一数据块队列中的数据块参考第一参考数据块进行压缩后仍有剩余的存储空间,则将第二数据队列中与第一参考数据块包括相同指纹的数据块参考第一参考数据块进行压缩,从而能提升存储空间的利用率,避免存储资源的浪费。
在一种可能的设计方式中,所述方法还包括:在所述第二数据块队列未压缩处理的数据块中确定第二参考数据块;对所述第二数据块队列中未压缩处理的数据块参考所述第二参考数据块进行压缩。
在一种可能的设计方式中,所述方法还包括:确定所述第一参考数据块,所述第一参考数据块为所述第一数据块队列中相似度最高的数据块中的一个。
第二方面,提供一种数据压缩的方法,该方法包括:根据多个数据块中每个数据块对应的多个指纹,得到多个数据块队列,每个数据块队列中的数据块之间存在相同的指纹;若对第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,则从第二数据块队列中获取至少一个数据块,该第二数据块队列包括与该第一参考数据块相同指纹的数据块,所述第一参考数据块选自所述第一数据块队列;将该至少一个数据块参考该第一参考数据块进行压缩。
在一种可能的设计方式中,该方法还包括:在该第二数据块队列未压缩处理的数据块中确定第二参考数据块;对该第二数据块队列中未压缩处理的数据块参考该第二参考数据块进行压缩。
在一种可能的设计方式中,该根据多个数据块中每个数据块对应的多个指纹,得到多个数据块队列包括:根据多个数据块中每个数据块对应的多个指纹,确定数据块之间的相似度,其中,至少两个数据块的相同指纹的数量越多,该至少两个数据块的相似度越高;根据数据块之间的相似度从高到低的顺序确定该多个数据块队列,其中,多个指纹相同且相似度最高的多个数据块在相同的数据块队列中,该多个数据块队列包括该第一数据块队列。上述可能的实现方式中,进行数据块参考压缩的时候,首先参考数据块之间的相似度进行相似数据的数据块队列分组,根据数据块之间的相似度从高到低的顺序确定不同的数据块队列分组,将相似度最高的数据块参考同一个参考块进行相似压缩,从而将相似度高的数据块放在同一个压缩组参考压缩,提高相似数据压缩的缩减率,从而提升存储空间的利用率。
在一种可能的设计方式中,该根据多个数据块中每个数据块对应的多个指纹,确定数据块之间的相似度包括:根据多个数据块中每个数据块对应的多个指纹,获取与每个数据块对应的至少一个全局指纹,根据该全局指纹确定数据块之间的相似度。上述可能的实现方式中,根据全局指纹确定数据块之间的相似度,能够减少由于大量的数据块指纹所产生的存储空间,还能减少由于统计数据块之间相同的指纹二产生的读写和计算开销,从而有效提高查询效率和存储空间的利用率。
在一种可能的设计方式中,对第一数据块队列中的数据块参考该第一参考数据块进行压缩之前,该方法还包括:确定该第一参考数据块,该第一参考数据块为该第一数据块队列中相似度最高的数据块中的一个。上述可能的实现方式中,将相似度最高的数据块放在同一个压缩组,并且参考其中一个数据块进行相似,从而有效提高相似数据块的缩减率,提升存储空间的利用率。
在一种可能的设计方式中,对第一数据块队列中的数据块参考该第一参考数据块进行压缩之前,该方法还包括:确定该第一参考数据块,该第一参考数据块为该第一数据队列中其他数据块参考该第一参考数据块进行压缩后占用的存储空间最小的数据块。上述可能的实现方式中,将数据块队列中压缩收益最高的数据块作为参考数据块,将其他数据块参考该参考数据块进行压缩,能够有效提高数据块的缩减率。
第三方面,提供一种数据压缩的装置,该装置包括:获取模块,用于获取第一数据块的第一指纹和第二指纹;根据所述第一指纹将所述第一数据块加入第一数据块队列;其中,所述第一数据块队列的数据块均包含所述第一指纹;根据所述第二指纹将所述第一数据块加入第二数据块队列;其中,所述第二数据块队列的数据块均包含所述第二指纹;压缩模块,用于判断当对所述第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,从所述第二数据块队列中获取第二数据块,所述第二数据块队列包括与所述第一参考数据块的指纹相同的数据块,所述第一参考数据块选自所述第一数据块队列;对所述第二数据块参考所述第一参考数据块进行压缩。
在一种可能的设计方式中,所述压缩模块,还用于在所述第二数据块队列未压缩处理的数据块中确定第二参考数据块;对所述第二数据块队列中未压缩处理的数据块参考所述第二参考数据块进行压缩。
在一种可能的设计方式中,所述压缩模块,还用于确定所述第一参考数据块,所述第一参考数据块为所述第一数据块队列中相似度最高的数据块中的一个。
第四方面,提供一种数据压缩的装置,该装置包括:获取模块,用于根据多个数据块中每个数据块对应的多个指纹,得到多个数据块队列,每个数据块队列中的数据块之间存在相同的指纹;压缩模块,用于判断若对第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,则该压缩模块,用于从第二数据块队列中获取至少一个数据块,并将该至少一个数据块参考该第一参考数据块进行压缩;其中,该第二数据块队列包括与该第一参考数据块相同指纹的数据块,所述第一参考数据块选自所述第一数据块队列。
在一种可能的设计方式中,压缩模块还用于在该第二数据块队列未压缩处理的数据块中确定第二参考数据块,对该第二数据块队列中未压缩处理的数据块参考该第二参考数据块进行压缩。
在一种可能的设计方式中,获取模块,具体用于根据多个数据块中每个数据块对应的多个指纹,确定数据块之间的相似度,其中,至少两个数据块的相同指纹的数量越多,该至少两个数据块的相似度越高;根据数据块之间的相似度从高到低的顺序确定该多个数据块队列,其中,多个指纹相同且相似度最高的多个数据块在相同的数据块队列中,该多个数据块队列包括该第一数据块队列。
在一种可能的设计方式中,获取模块具体用于根据多个数据块中每个数据块对应的多个指纹,获取与每个数据块对应的至少一个全局指纹,根据该全局指纹确定数据块之间的相似度。
在一种可能的设计方式中,压缩模块,还用于确定该第一参考数据块,该第一参考数据块为该第一数据块队列中相似度最高的数据块中的一个。
在一种可能的设计方式中,压缩模块,还用于确定该第一参考数据块,该第一参考数据块为该第一数据队列中其他数据块参考该第一参考数据块进行压缩后占用的存储空间最小的数据块。
第五方面,提供一种芯片***,该芯片***应用于电子设备;该芯片***包括一个或多个接口电路和一个或多个处理器;该接口电路和该处理器通过线路互联;该接口电路用于从该电子设备的存储器接收信号,并向该处理器发送该信号,该信号包括该存储器中存储的计算机指令;当该处理器执行该计算机指令时,该电子设备执行如上述第一方面或第二方面中任一项所述的数据压缩的方法。
第六方面,提供一种可读存储介质,所述可读存储介质中存储有指令,当所述可读存储介质在电子设备上运行时,使得所述电子设备执行如上述第一方面或第二方面中任一项所述的数据压缩的方法。
第七方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述第一方面或第二方面中任一项所述的数据压缩的方法。
可以理解地,上述提供的任一种数据压缩的装置、芯片***、可读存储介质和计算机程序产品,均可以根据上文所提供的对应的数据压缩的方法来实现,因此,其所能达到的有益效果可参考上文所提供的数据压缩的方法的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种相似数据压缩的方法示意图;
图2为本申请实施例提供的一种数据压缩的方法的流程示意图;
图3为本申请实施例提供的一种数据压缩的方法的示例一;
图4为本申请实施例提供的一种数据压缩的方法的示例二;
图5为本申请实施例提供的一种数据压缩的方法的示例三;
图6为本申请实施例提供的一种数据压缩的方法的示例四;
图7为本申请实施例提供的一种数据压缩的方法的流程和模块示意图;
图8为本申请实施例提供的一种数据压缩的装置示意图。
具体实施方式
本申请的说明书和权利要求书及附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在数据存储管理中,数据缩减技术可以有效的提高存储空间的利用率。其中,数据缩减是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率;或者,按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。
因此,缩减率就成为了衡量存储***存储性能的重要指标。数据缩减技术的缩减率可以为压缩前数据量除以压缩后的数据量计算的值,可以用来表示数据压缩的压缩效率,该缩减率越大,表示数据压缩的效率越高,为存储***节约的存储空间越大,则存储***性能越好。
目前数据缩减技术主要有以下三种实现方式:
(1)数据压缩:通过处理将数据中的冗余信息删除,从而节省存储空间。数据压缩可分为无损压缩和有损压缩,无损压缩是指使用压缩后的数据进行解压缩,得到的数据与原来的数据完全相同。有损压缩是指使用压缩后的数据进行解压缩,得到的数据与原来的数据有所不同,主要适用于图像或者视频压缩领域。
(2)重复数据删除:数据压缩技术只能消除文件内部的冗余信息,而重复数据删除技术通过消除分布存储***中的相同文件或者数据块,可以有效地缩减数据占据物理存储空间,该技术大量应用于存储备份和归档***中。例如,将文件分割成相应大小的数据块,计算每个数据块指纹,相同指纹的数据代表数据块内容相同,因此对于相同指纹的数据块只需存储一次原始数据。
(3)相似数据压缩(Delta压缩):根据对数据块提取的的特征进行对比,将根据与该数据块包括相似或者相同数据特征的数据块,也就是参考数据块进行数据压缩,相对于参考数据块存储参考增量。相对于重复数据删除技术,要求数据块必须完全相同才能实现冗余数据消除,相似数据压缩技术对于并非完全重复、但具有一定相似度的数据块之间具有显著缩减效果。
例如,数据块1与数据块2由于部分内容不同,无法进行重复数据删除,但数据块1与数据块2之间的相似度极高。例如图1所示,将数据块1与数据块2的提取的特征进行对比,部分特征相同,部分特征不同。此时可以将数据块1作为参考块存储,将数据块2参考数据块1采用Delta压缩算法后,只需要存储数据块2与数据块1不同的部分,也就是数据块2相对于数据块1的参考增量即可,从而极大的缩减了数据块2的存储容量。
本申请提出一种基于相似数据压缩的技术方案,通过相似指纹分析数据块之间的相似性,以根据数据的相似性进行分组,将相似数据块相对参考数据块进行联合压缩,从而可以消除相似数据块之间更多的重复字段,提高数据压缩的缩减率,并且提高存储空间的利用率。如图2所示,该方法包括以下步骤:
201:获取多个数据块中每个数据块对应的多个指纹。
其中,数据块为待压缩的数据块,每个数据块包括至少一个指纹,用于标识不同的数据块。
指纹,也称为相似指纹(Similar Fingerprint,SFP),是指数据块的指纹特征,是一种可以用于表征不同的数据块之间具有一定程度的相似性的特征。
每个数据块可能包括一个相似指纹,也可能包括多个相似指纹。
同一批待压缩的数据块的数据量大小可以是相同的,例如,文件数据被切分成为相同大小的数据块进行数据压缩,也可以是不同大小的数据块进行数据压缩,多个数据块之间存在相同的指纹,即可以参考压缩。
获得数据块的相似指纹可以通过特征提取算法提取。示例性的,可以通过哈希(Hash)算法或其它指纹计算方法。其中,哈希算法具体是把任意长度的输入数据通过散列算法变换成固定长度的输出数据,该输出数据就是散列值。本申请的实施例中,可以按照一定字节为窗口,通过哈希算法提取该数据块的特征作为指纹特征,也就是相似指纹。
例如,本申请实施例中待压缩的数据块为数据块A和数据块B,按照一定字节为窗口通过哈希算法提取该数据块A的相似指纹,可以提取三个相似指纹,例如数据块A的相似指纹可以为SFP1,SFP2和SFP3,数据块B的相似指纹为SFP1,SFP4和SFP5。则数据块A和数据块B都包括相同的相似指纹为SFP1,因此,数据块A和数据块B是相似数据块,可以放在同一个数据压缩组中进行相似数据压缩。
202:根据多个数据块中每个数据块对应的多个指纹,得到多个数据块队列。
其中,每个数据块队列中的数据块之间存在相同的指纹。
具体可以为,针对上述数据块提取的多个相似指纹SFP,将具有相同SFP的数据块归为一个队列,因此,每个数据块会分别出现在该数据块包括的多个SFP队列中。针对每个SFP,数据块队列中的数据块至少有一个共同的SFP指纹,即说明数据块之间有一定的相似程度。
示例性的,有以下数据块A、B、C、D、E和F,每个数据块对应的三个相似指纹如下所示:
A(SFP1,SFP2,SFP3);B(SFP1,SFP4,SPF5);C(SFP3,SFP5,SFP1);D(SFP1,SFP7,SPF2);E(SFP4,SFP5,SFP6);F(SFP1,SFP6,SPF4);
根据相似指纹建立相似指纹表,每个数据块会被记录在对应的三个SFP队列中,则得到每个相似指纹对应的数据块队列如下所示:
SFP1:A、B、C、D、F
SFP2:A、D
SFP3:A、C
SFP4:B、E、F
SFP5:B、C、E
SFP6:E、F
SFP7:D
接下来,根据相似指纹的数据块队列,将数据块划分联合压缩组进行相似数据压缩。其中,联合压缩组也叫数据压缩组,是对不同的数据块做相似数据压缩的分组,一个联合压缩组压缩处理后的数据,被存储在存储器的一个存储单元中,例如,存储于一个物理页面中。
对数据块划分联合压缩组的整体思路可以为,按照不同的相似指纹的数据块队列进行联合压缩组的分组。也就是说,根据上述步骤得到的相似指纹的数据块队列,将至少包括同一个相似指纹的数据块划分到一个联合压缩组中。
同一联合压缩组中的相似数据块参考该联合压缩组中的参考数据块进行相似数据压缩,将压缩后的相似数据块的增量数据与参考数据块一并写入存储单元。
在一种实施方式中,对数据块划分联合压缩组进行数据压缩的具体方法包括如下步骤:
203:确定第一数据块队列中的第一参考数据块,对第一数据块队列中的数据块参考第一参考数据块进行压缩。
首先,可以按照相似指纹对应的数据块队列进行联合压缩组的划分,将一个数据块队列中的所有数据块划分到一个联合压缩组。
例如,将第一相似指纹SFP1对应的第一数据块队列划分到第一联合压缩组,按照上述示例,即将数据块A、B、C、D、F划分到第一联合压缩组。
接下来,确定联合压缩组中的参考数据块。则该联合压缩组中除参考数据块之外的其他数据块可以称为该参考数据块的相似数据块。则将联合压缩组中的相似数据块可以参考参考数据块进行压缩。
示例性的,根据上述的相似指纹队列,可以将数据块A、B、C、D、F分为一个联合压缩组,并将A设置为该联合压缩组中的参考数据块,其他数据块B、C、D、F为相似数据块,相对于数据块A做压缩。
在本申请的实施例中,一个联合压缩组内,为了减少解压缩的读写数据量,相似数据块可以只参考参考数据块进行压缩,而不做相似数据块之间的互相参考压缩。从而数据解压缩的时候,读出参考数据块和该相似数据块的增量数据,并进行相应的解压缩数据处理,即可以还原得到原来的相似数据块。需要说明的是,本申请并不限于这种方式,在解压缩处理性能允许的情况下,联合压缩组中的相似数据块之间也可以参考压缩,例如,相似数据块可以参考参考数据块和另一个相似数据块进行压缩。
具体的,选取联合压缩组中的一个数据块作为参考数据块,该参考数据块可以是划分到联合压缩组中的第一个数据块,例如,该数据块队列SFP1:A、B、C、D、F中的数据块A。或者,选择相似压缩收益最高的数据块,或者其他选取方法,本申请对此不作具体限定。
其中,压缩收益用来指示多个相似数据块参考参考数据块进行压缩后,存储数据块所占用的存储空间节省的大小,也就是对存储容量利用率的提升的大小。
例如,第一联合压缩组中的数据块A、B、C、D、F,如果将数据块A作为参考数据块,将数据块B、C、D、F参考数据块A进行压缩,将对参考数据块A根据压缩算法进行自压缩为A',数据块B相对于数据块A的参考增量ΔB,还有ΔC,ΔD和ΔF。参考数据块A的压缩收益即为存储数据块A、ΔB、ΔC、ΔD和ΔF的数据量比存储数据块A、B、C、D、F所节省的存储资源占比。
因此,选择相似压缩收益最高的数据块作为参考数据块,就是选择该联合压缩组中某一个数据块,将其他所有数据块参考该数据块进行压缩后,存储压缩数据所占用的存储空间最小的数据块。相似压缩收益最高的数据块的确定方法,具体可以通过对相似数据块进行预压缩处理,或者根据其他压缩算法确定。
在一种可能的实现方式中,一个联合压缩组中的数据块可以按照一定的数据块数量限制,或者压缩后的数据总大小限制,或者数据块数量和压缩后的数据总大小同时限制,进行联合压缩。
也就是说,联合压缩组的划分可以按照数据块数量限制进行划分和压缩,例如,根据***设置,一个联合压缩组最多可以同时压缩8个数据块,则该联合压缩组的数据块数量的预设阈值为8。或者,一个联合压缩组按照压缩后的数据存储容量的总大小限制为16KB,也就是存储数据量进行限制,则该联合压缩组的存储数据大小的预设阈值为16KB。或者两个条件同时进行限制联合压缩组,一个联合压缩组最多可以同时压缩8个数据块,并且压缩后的数据量总大小限制为16KB。
示例性的,如图3所示,第一数据块队列为SFP1:A、B、C、D、E,则可以确定第一数据块队列中的第一参考数据块为A,对第一数据块队列中的数据块B、C、D、E参考第一参考数据块A进行压缩并存储在第一联合压缩组中。也就得到了第一联合压缩组如图3所示的。
其中,联合压缩组中的参考数据块可以通过压缩算法直接进行自压缩,或者采用其他压缩策略对参考数据块单独进行压缩。示例性的,本申请的实施例中,仅以参考数据块通过压缩算法直接进行自压缩为例进行说明。例如,对参考数据块A进行自压缩后为A'。
204:若第一联合压缩组的数据块数量或者存储数据大小未达到预设阈值,则从第二数据块队列中获取至少一个数据块;将至少一个数据块参考第一参考数据块进行压缩。
其中,第二数据块队列包括与第一参考数据块相同指纹的数据块,至少一个数据块为第二数据块队列中除第一参考数据块以外的数据块,且为还没有进行数据压缩处理的数据块。
若对第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,也就是第一联合压缩组存在剩余空间,或者第一联合压缩组的最多可以压缩的数据块数量未达到上限,则可以将第二数据块队列中的相似数据块划分到第一联合压缩组进行压缩。其中,相似数据块必须是参考第一联合压缩组中的第一参考数据块具有相同的相似指纹的数据块。
示例性的,第二数据块队列为SFP2:A、F、H、I,其中数据块A已经作为第一联合压缩组中的参考数据块进行自压缩并存储A',因此,无需再次压缩数据块A,而数据块F、H、I都是与数据块A存在相同的相似指纹SFP2的,因此,确定数据块F、H、I是可以参考数据块A进行压缩的,则可以将数据块F、H、I也放入第一联合压缩组中进行相似数据压缩。
在一种实施方式中,需要根据第一存储空间所剩余的空间大小或者第一联合压缩组预设的数据压缩的数据块数量限制,或者两个条件的同时限制,选择将第二数据块队列中可以根据第一参考数据块进行压缩的数据块。
例如,第一联合压缩组预设的数据压缩的数据块数量限制为8,可以将数据块F、H、I也放入第一联合压缩组中进行压缩。如第一联合压缩组预设的数据压缩的数据块数量限制为6,只能选择一个数据块放入,则可以将数据块F放入第一联合压缩组中进行压缩存储,将第二数据块队列中的其他数据块作为第二联合压缩组,可以确定数据块H为第二联合压缩组的参考数据块,将数据块I参考数据块H进行压缩,则如图4所示。
205:在第二数据块队列中未压缩处理的数据块中确定第二参考数据块,对第二数据块队列中的数据块参考第二参考数据块进行压缩。
对于第二数据块队列中,有些数据块已经划分到第一联合压缩组,经过压缩处理存储在第一联合压缩组中,则不需要再次压缩。则第二数据块队列中未压缩处理的数据块划分为第二联合压缩组,从中确定第二参考数据块,第二联合压缩组中的其他数据块参考第二参考数据块进行相似数据压缩即可。
进一步的,若第二联合压缩组中存在剩余空间,则从第三数据块队列中获取至少一个数据块;将至少一个数据块参考第二参考数据块进行压缩后存储在第二联合压缩组。
206:重复以上步骤203-205,直到将数据块队列中的所有待压缩的数据块都进行压缩并存储。
以上实施例,也就是,先对第一数据块队列进行联合压缩组的划分,确定第一联合压缩组的第一参考数据块,将与第一参考数据块包括相同的数据指纹的数据块参考第一参考数据块进行压缩,存储到第一联合压缩组,直到第一联合压缩组的预设数据块数量或者预设的存储数据量大小不足以存储下一个数据块,或者,没有与第一参考块包括相同的数据指纹的数据块;
接着,确定第二联合压缩组的第二参考块,将与第二参考块包括相同的数据指纹的数据块参考第二参考块进行压缩,存储到第二联合压缩组,直到第二联合压缩组的预设数据块数量或者预设的存储数据量大小不足以存储下一个数据块,或者,没有与第二参考块包括相同的数据指纹的数据块;
重复上述步骤,直到没有待压缩的数据块。
在一种实施方式中,需要根据压缩后的数据大小限制和/或数据压缩的数据块数量限制划分联合压缩组。对于每个SFP的数据块队列,对应的联合压缩组可能未塞满,当一个联合压缩组还有剩余空间,将另一个SFP2对应的数据块队列中的所有数据块加入压缩时又会超过联合压缩组的限制,所以需要另建一个联合压缩组,此时就会造成多个联合压缩组都未塞满,从而造成空间浪费。
另外,由于每个联合压缩组都有一个参考数据块,如上述示例中的参考数据块A,则创建每一个联合压缩组,都将增加参考数据块的数量,如上述实施例中的数据块F。而参考数据块是通过直接压缩算法进行压缩的,只能减少数据块中的冗余数据,其压缩率不如相似数据块参考参考数据块进行的压缩。
因此,上述本申请的实施例,通过将不同的相似指纹对应的数据块队列中的相似数据块,参考同一个公共的参考数据块进行联合压缩,也就是跨指纹的公共参考数据块进行联合压缩的方式,可以提高联合压缩组的存储空间利用率,还能减少参考数据块的数量,尽可能将参考数据块转化为相似数据块的增加,从而提升整体的缩减率。
在一种可能的实施方式中,联合压缩组中的参考数据块,存储的位置可以在存储单元的第一个位置,或者中间位置,或者,可以将参考数据块与相似数据块分离存放。
其中,将联合压缩组中的参考数据块存放在存储单元的第一个位置,则其在存储单元的位置偏移为0,方便在数据解压缩的时候,***根据参考数据块存储的位置索引来读取参考数据块。
将联合压缩组中的参考数据块存放在存储单元的中间位置,则在***执行数据解压缩的时候,需要解压缩某一个相似数据块只需要读取存储单元前半部分数据或者后半部分数据,而不用读取整个存储单元的数据。因为数据读取是按照一定的步长,顺序读取的,当***需要解压缩数据块B时,可以根据参考数据块A在存储单元中的存储位置的偏移开始读取,即可以读取数据A'和ΔB,从而根据解压缩的算法恢复得到数据块B。
或者,还可以将参考数据块与相似数据块分离存放,也就是将参考数据块单独存放在存储单元1,将相似数据块存放在存储单元2。如此可以方便***对于参考数据块的频繁读取,以便单独对所有的参考数据块集中管理。例如,可以将所有的或者部分参考数据块集中存储在内存,将相似数据块存放在外存。
在另一种可能的实现方式,***对相似的数据块进行联合压缩,可以首先按照多个数据块之间的相似程度由高到低的顺序,进行相似数据块的划分,得到多个数据块队列;再将同一个数据块队列中的数据块参考同一个参考数据块进行压缩,存储数据增量到联合压缩组中。
其中,多个数据块之间的相同指纹的数量越多,则多个数据块的相似度越高;可以根据多个数据块中每个数据块对应的多个指纹,确定数据块之间的相似度。还可以根据其他方式,例如全局指纹进行数据块之间的相似度的判断,本申请对此不做具体限定,后续将对其他的判断数据块相似程度的方法做简单介绍,此处不再赘述。
也就是说,可以首先按照多个数据块之间的相似程度由高到低的顺序,将多个数据块进行联合压缩组的划分。先将相似程度最高的、也就是包括相同的相似指纹数量最多的多个数据块确定为同一个数据块队列,对同一个数据块队列中的数据块进行联合压缩,存储到同一个联合压缩组中。确定其中一个数据块为第一联合压缩组的第一参考数据块,并存储相似数据块的增量数据到第一联合压缩组。
再将包括相同的相似指纹数量第二多的多个数据块放入第二联合压缩组中,确定其中一个数据块为第二联合压缩组的第二参考数据块。第二联合压缩组中的相似数据块参考第二参考数据块进行压缩。
进一步的,上述步骤203中的,根据多个数据块中每个数据块对应的多个指纹,得到多个数据块队列包括:
根据多个数据块中每个数据块对应的多个指纹,确定数据块之间的相似度,其中,至少两个数据块的相同指纹的数量越多,所述至少两个数据块的相似度越高;
根据数据块之间的相似度从高到低的顺序确定多个数据块队列。按照每个指纹关联的数据块队列中,将数据块中相似度最高的多个数据块中的一个数据块,确定为第一参考数据块;示例性的,至少两个数据块包括的相似指纹中,相同的相似指纹数量越多,表示所述至少两个数据块的相似度越高。
需要说明的是,已经划分到某一联合压缩组中的数据块即不再进行第二次联合压缩组的划分和数据压缩。
示例性的,根据待压缩的数据块提取的相似指纹,获得每个相似指纹对应的多个数据块如下所示:
SFP1:A、B、D、H、I、J、K、L、C、M、E
SFP2:A、Y、H、E、M
SFP3:A、C、E、O、P、Q
SFP4:H、M、J
对上述数据块进行相似指纹的分析,可以得到,相似程度最高的、也就是包括相同的相似指纹数量最多的数据块为数据块A和E,还有数据块H和M。因为数据块A和E包括相同的三个相似指纹SFP1、SFP2和SFP3,而数据块H和M包括相同的三个相似指纹SFP1、SFP2和SFP4。相似程度第二高的数据块为A和C、H和J,包括两个相同的相似指纹。其余的数据块之间相同的相似指纹个数最多为一个。
则根据上述的,按照多个数据块之间的相似程度由高到低的顺序进行数据块队列的划分策略,可以先将数据块A和E划分到第一数据块队列Group1中,确定数据块A为Group1中的参考数据块。将数据块H和M划分到第二数据块队列Group2中,确定数据块H为Group2中的参考数据块。
接下来,在相似程度第二高的数据块A和C中,数据块A是Group1中的参考数据块,则将数据块C也放入Group1中参考数据块A进行压缩。而数据块H和J中,数据块H为Group2中的参考数据块,则将数据块J也放入Group2中参考数据块H进行压缩。
接下来,将其余的数据块根据相同的相似指纹进行划分。可以将SFP1对应的多个数据块中数据块B、D、I、K、L划分到Group1中,参考数据块A进行压缩。如图5所示。而SFP2对应的多个数据块中数据块Y与数据块Group2中的参考数据块H有相同的相似指纹SFP2,则将数据块Y也放入Group2中,参考数据块H进行压缩。
SFP3对应的数据块队列中其余的数据块O、P、Q可以参考数据块A进行压缩,但是由于Group1没有多余的存储空间,需要重新建立新的联合压缩组,可以将数据块O、P、Q放入Group3中,并确定数据块O为Group3的参考数据块,将数据块P、Q参考数据块O进行压缩。而SFP4对应的数据块队列中的数据块全部压缩过了,不需要建立新的联合压缩组和确定新的参考数据块。具体的联合压缩的示意请参照图5所示。
在一种可能的实施方式中,如果不考虑数据块之间的相似程度、而只是按照相似指纹对应的数据块队列进行联合压缩组的划分,例如,对上述示例中的数据块进行联合压缩组的划分,若联合压缩组的数据块个数限制为8个,对于SFP1对应的多个数据块,将数据块A确定为Group11的参考数据块,将数据块B、D、H、I、J、K、L都放入联合压缩组Group11中,参考数据块A进行压缩;将其余的数据块C、M、N、E组成联合压缩组Group22,可以确定数据块C为Group22的参考数据块,将数据块M、N、E参考数据块C进行压缩。对于SFP2的数据块队列,数据块A、H、E已经压缩过了,则将数据块Y划分为一个联合压缩组Group33;对于SFP3,A、C、E已经压缩过了,则将数据块O、P、Q划分为一个联合压缩组Group44,如图6所示。
对比在上述的两种不同的划分联合压缩组的方式下,第一联合压缩组和第二联合压缩组的压缩情况对比。第一联合压缩组Group1中的数据块都是参考数据块A进行的相似数据压缩,且数据块E有三个相似指纹都与数据块A是相同的,而数据块C也有两个相似指纹与数据块A是相同的,即表示数据块E、C都与数据块A是强相似的,参考数据块A进行压缩,会得到较高的缩减率。类似的,第二联合压缩组Group2中的数据块H、J与参考数据块H是强相似的,因此参考数据块H做压缩会得到较高的缩减率。
而第一联合压缩组Group11中的数据块并未按照数据块之间的相似程度进行划分,只按照相似指纹队列对数据块进行划分,则数据块B、D、I、J、K都是与数据块A只有一个相同的相似指纹,参考压缩的缩减率不会很高。
因此,在对数据块队列中的数据块进行划分联合压缩组的划分时,先将强相似的数据块划分到同一个联合压缩组,可以提高数据压缩的缩减率,提供存储空间的利用效率。
并且,对于相似程度比较强的多个数据块,如果选择其一作为参考数据块,将相似程度比较强的其他数据块参照该参考数据块压缩,其压缩效率是比较高的。如果不考虑相似的数据块之间的相似程度,就不能很好的发挥相似参考压缩的意义。因此,通过识别相似度,区分数据块之间的相似程度,将相似度更高的数据块优先联合压缩,并选用其一作为参考块,其他作为相似块,可得到更高的相似压缩比,进而节省空间。
本申请的上述实施例,基于数据块的相似指纹进行识别和分组的相似压缩方案,主要涉及的模块和处理流程可以如图7所示,新写入的或者更新的数据块通过获取相似指纹模块,计算数据块包括的多个相似指纹SFP;根据相似指纹SFP建立相似指纹对应的数据块队列,并保存相似指纹表;指纹分析模块对数据块队列进行相似指纹分析,根据数据块之间的相似指纹相同的个数,判断多个数据块与已有数据块的相似程度,从而进行分组;相似数据块压缩模块优先将相似程度更高的数据块划分到一个联合压缩组,进行相似数据压缩,将相似数据块参考参考数据块联合压缩;最后底层的存储模块将经过相似压缩后的数据写入磁盘中。
在一种可能的实施方式中,上述实施例中的多个相似指纹,还可以是对至少两个相似指纹之间进行特征提取或者其他运算生成的全局指纹,也可以称为超级指纹。其中,全局指纹可以用于表示数据块的特征,也可以用于表征数据块的相似指纹之间的特征。
因此,上述实施例中的判断数据块之间的相似程度,还可以通过对数据块的全局指纹的对比来判断。因为,对多个数据块对应的的多个相似指纹,查找数据块之间相同的相似指纹的数量,***需要进行大量的比较运算。而通过全局指纹比较多个数据块之间的相似程度,***可以进行快速识别,有效的减少了计算量。
全局指纹可以通过局部敏感哈希(Locality-Sensitive Hashing,LSH)算法、汉明距离等算法,提取数据块的特征生成。也可以通过提取多个相似指纹之间的数据特征生成全局指纹,或者对多个相似指纹通过或一些简单的运算,例如,异或运算,得到全局指纹。例如,对数据块提取了六个相似指纹,为了减少存储大量相似指纹的空间占用,可以对六个相似指纹两两之间做异或运算,生成三个全局指纹,进行存储,并以全局指纹作为对数据块之间的相似程度的比较,从而减小***的查找比较的运算量。
本申请的上述实施例,按照多个数据块之间的相似程度由高到低的顺序进行联合压缩组的划分,通过区分数据块之间的相似程度而进行的联合压缩,使得相似度高的数据块参考同一个数据块压缩,从而可以提高数据压缩的缩减率,并且有效的节省数据压缩的存储空间。
本申请另一些实施例提供了一种数据压缩的装置,可以应用于具有数据存储能力的电子设备。如图8所示,该装置包括获取模块801和压缩模块802。
其中,获取模块801用于根据多个数据块中每个数据块对应的多个指纹,得到多个数据块队列,每个数据块队列中的数据块之间存在相同的指纹。
压缩模块802用于判断若对第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,则该压缩模块,用于从第二数据块队列中获取至少一个数据块,并将该至少一个数据块参考该第一参考数据块进行压缩;其中,该第二数据块队列包括与该第一参考数据块相同指纹的数据块。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供一种芯片***,该芯片***可以应用于上述实施例中的电子设备,该芯片***包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;接口电路用于从电子设备的存储器接收信号,并向处理器发送所述信号,所述信号包括存储器中存储的计算机指令;当处理器执行所述计算机指令时,电子设备执行如上述实施例中的任一种可能的数据压缩的方法中的各个功能或者步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中电子设备执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种数据压缩的方法,其特征在于,所述方法包括:
获取第一数据块的第一指纹和第二指纹;
根据所述第一指纹将所述第一数据块加入第一数据块队列;其中,所述第一数据块队列的数据块均包含所述第一指纹;
根据所述第二指纹将所述第一数据块加入第二数据块队列;其中,所述第二数据块队列的数据块均包含所述第二指纹;
当对所述第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,从所述第二数据块队列中获取第二数据块,所述第二数据块队列包括与所述第一参考数据块的指纹相同的数据块,所述第一参考数据块选自所述第一数据块队列;
对所述第二数据块参考所述第一参考数据块进行压缩。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第二数据块队列未压缩处理的数据块中确定第二参考数据块;
对所述第二数据块队列中未压缩处理的数据块参考所述第二参考数据块进行压缩。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
确定所述第一参考数据块,所述第一参考数据块为所述第一数据块队列中相似度最高的数据块中的一个。
4.一种数据压缩的装置,其特征在于,所述装置包括:
获取模块,用于获取第一数据块的第一指纹和第二指纹;根据所述第一指纹将所述第一数据块加入第一数据块队列;其中,所述第一数据块队列的数据块均包含所述第一指纹;根据所述第二指纹将所述第一数据块加入第二数据块队列;其中,所述第二数据块队列的数据块均包含所述第二指纹;
压缩模块,用于判断当对所述第一数据块队列中的数据块参考第一参考数据块进行压缩后的数据大小未达到预设阈值,从所述第二数据块队列中获取第二数据块,所述第二数据块队列包括与所述第一参考数据块的指纹相同的数据块,所述第一参考数据块选自所述第一数据块队列;对所述第二数据块参考所述第一参考数据块进行压缩。
5.根据权利要求4所述的装置,其特征在于,所述压缩模块,还用于在所述第二数据块队列未压缩处理的数据块中确定第二参考数据块;对所述第二数据块队列中未压缩处理的数据块参考所述第二参考数据块进行压缩。
6.根据权利要求4或5所述的装置,其特征在于,所述压缩模块,还用于确定所述第一参考数据块,所述第一参考数据块为所述第一数据块队列中相似度最高的数据块中的一个。
7.一种芯片***,其特征在于,所述芯片***应用于电子设备;所述芯片***包括一个或多个接口电路和一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如权利要求1-3中任一项所述的数据压缩的方法。
8.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有指令,当所述可读存储介质在电子设备上运行时,使得所述电子设备执行权利要求1-3任一项所述的数据压缩的方法。
9.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行权利要求1-3任一项所述的数据压缩的方法。
CN201911054906.0A 2019-10-31 2019-10-31 一种数据压缩的方法及装置 Active CN111061428B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911054906.0A CN111061428B (zh) 2019-10-31 2019-10-31 一种数据压缩的方法及装置
PCT/CN2020/120980 WO2021082926A1 (zh) 2019-10-31 2020-10-14 一种数据压缩的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911054906.0A CN111061428B (zh) 2019-10-31 2019-10-31 一种数据压缩的方法及装置

Publications (2)

Publication Number Publication Date
CN111061428A CN111061428A (zh) 2020-04-24
CN111061428B true CN111061428B (zh) 2021-05-18

Family

ID=70297596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911054906.0A Active CN111061428B (zh) 2019-10-31 2019-10-31 一种数据压缩的方法及装置

Country Status (2)

Country Link
CN (1) CN111061428B (zh)
WO (1) WO2021082926A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061428B (zh) * 2019-10-31 2021-05-18 华为技术有限公司 一种数据压缩的方法及装置
JP2022099948A (ja) * 2020-12-23 2022-07-05 株式会社日立製作所 ストレージシステムおよびストレージシステムにおけるデータ量削減方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408154A (zh) * 2014-12-04 2015-03-11 华为技术有限公司 重复数据删除方法及装置
CN105743509A (zh) * 2016-01-26 2016-07-06 华为技术有限公司 数据压缩装置及方法
CN107888197A (zh) * 2017-10-31 2018-04-06 华为技术有限公司 一种数据压缩方法和装置
CN108415669A (zh) * 2018-03-15 2018-08-17 深信服科技股份有限公司 存储***的数据去重方法及装置、计算机装置及存储介质
US10135462B1 (en) * 2012-06-13 2018-11-20 EMC IP Holding Company LLC Deduplication using sub-chunk fingerprints
CN109697025A (zh) * 2017-10-20 2019-04-30 株式会社日立制作所 存储装置、数据管理方法和数据管理程序的存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246132B2 (en) * 2004-05-13 2007-07-17 Destiny Technology Corporation Method of storing compressed data
CN111061428B (zh) * 2019-10-31 2021-05-18 华为技术有限公司 一种数据压缩的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135462B1 (en) * 2012-06-13 2018-11-20 EMC IP Holding Company LLC Deduplication using sub-chunk fingerprints
CN104408154A (zh) * 2014-12-04 2015-03-11 华为技术有限公司 重复数据删除方法及装置
CN105743509A (zh) * 2016-01-26 2016-07-06 华为技术有限公司 数据压缩装置及方法
CN109697025A (zh) * 2017-10-20 2019-04-30 株式会社日立制作所 存储装置、数据管理方法和数据管理程序的存储介质
CN107888197A (zh) * 2017-10-31 2018-04-06 华为技术有限公司 一种数据压缩方法和装置
CN108415669A (zh) * 2018-03-15 2018-08-17 深信服科技股份有限公司 存储***的数据去重方法及装置、计算机装置及存储介质

Also Published As

Publication number Publication date
WO2021082926A1 (zh) 2021-05-06
CN111061428A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
EP2940598B1 (en) Data object processing method and device
CN108427538B (zh) 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
US8751462B2 (en) Delta compression after identity deduplication
CN107682016B (zh) 一种数据压缩方法、数据解压方法及相关***
CN109716658B (zh) 一种基于相似性的重复数据删除方法和***
CN107046812B (zh) 一种数据保存方法和装置
US10936228B2 (en) Providing data deduplication in a data storage system with parallelized computation of crypto-digests for blocks of host I/O data
CN111125033B (zh) 一种基于全闪存阵列的空间回收方法及***
CN112544038B (zh) 存储***数据压缩的方法、装置、设备及可读存储介质
US20190065519A1 (en) Information processing apparatus, information processing method, and recording medium
CN111061428B (zh) 一种数据压缩的方法及装置
CN112104725A (zh) 容器镜像去重方法、***、计算机设备及存储介质
CN111124940B (zh) 一种基于全闪存阵列的空间回收方法及***
CN111124939A (zh) 一种基于全闪存阵列的数据压缩方法及***
CN111124259A (zh) 一种基于全闪存阵列的数据压缩方法及***
CN113366463A (zh) 用于消除计算机存储器中的副本和值冗余的***、方法和设备
CN111625186B (zh) 数据处理方法、装置、电子设备及存储介质
CN110311687A (zh) 一种基于集成算法的时序数据无损压缩方法
US20240248626A1 (en) Method, device, and computer program product for data deduplication
CN114138552B (zh) 数据动态重删方法、***、终端及存储介质
US20240020005A1 (en) Data Compression Method and Apparatus
CN112988041A (zh) 存储***中的数据存储方法及相关设备
CN115809013A (zh) 一种数据重删方法及相关装置
JP2020108045A (ja) データ圧縮方法
CN117687977A (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