本公开的实施例涉及用于管理数据块的方法、电子设备和计算机程序产品。一种管理数据块的方法包括基于第一哈希算法,针对要存储到存储设备的第一数据块生成第一指纹。该方法还包括如果确定指纹数据库中存在基于第一哈希算法针对第二数据块生成的第二指纹与第一指纹匹配,确定指纹数据库中是否存在基于第二哈希算法针对第二数据块生成的第三指纹,其中该指纹数据库记录存储在存储设备中的数据块的指纹。该方法还包括如果确定指纹数据库中存在第三指纹,基于第二哈希算法针对第一数据块生成第四指纹;以及通过比较第三指纹和第四指纹来确定第一数据块与第二数据块是否重复。本公开的实施例能够有效降低数据去重中识别重复数据块的开销。数据块的开销。数据块的开销。
【技术实现步骤摘要】
管理数据块的方法、电子设备和计算机程序产品
[0001]本公开的实施例总体涉及数据存储领域,具体涉及用于管理数据块的方法、电子设备和计算机程序产品。
技术介绍
[0002]通常,在将数据块存储到存储设备之前,可以执行去重(deduplication)操作来避免将重复数据块存储到存储设备中。去重操作通常按照如下流程进行。首先确定待存储数据块的指纹(例如,哈希值),然后将所确定的指纹与已存储到存储设备的数据块的指纹进行比较。如果所确定的指纹与已存储数据块的指纹都不匹配,则表明待存储数据块不是重复数据块。如果所确定的指纹与已存储数据块的指纹匹配,为了避免由于哈希算法碰撞导致的误判,可以从存储设备中读取已存储数据块并对其进行解压缩。通过将解压缩后的数据块与待存储数据块进行逐比特比较来确定两者是否为重复数据块。如果确定待存储数据块不是重复数据块,则对待存储数据块进行压缩,然后将压缩后的数据块存储到存储设备中。
技术实现思路
[0003]本公开的实施例提供了用于管理数据块的方法、电子设备和计算机程序产品。
[0004]在本公开的第一方面,提供了一种管理数据块的方法。该方法包括:基于第一哈希算法,针对要存储到存储设备的第一数据块生成第一指纹;如果确定指纹数据库中存在基于第一哈希算法针对第二数据块生成的第二指纹与第一指纹匹配,确定指纹数据库中是否存在基于第二哈希算法针对第二数据块生成的第三指纹,其中该指纹数据库记录存储在存储设备中的数据块的指纹;如果确定指纹数据库中存在第三指纹,基于第二哈希算法针对第一数据块生成第四指纹;以及通过比较第三指纹和第四指纹来确定第一数据块与第二数据块是否重复。
[0005]在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得装置执行动作,动作包括:基于第一哈希算法,针对要存储到存储设备的第一数据块生成第一指纹;如果确定指纹数据库中存在基于第一哈希算法针对第二数据块生成的第二指纹与第一指纹匹配,确定指纹数据库中是否存在基于第二哈希算法针对第二数据块生成的第三指纹,其中该指纹数据库记录存储在存储设备中的数据块的指纹;如果确定指纹数据库中存在第三指纹,基于第二哈希算法针对第一数据块生成第四指纹;以及通过比较第三指纹和第四指纹来确定第一数据块与第二数据块是否重复。
[0006]在本公开的第三方面,提供了一种计算机可读存储介质,其上存储有机器可执行指令,机器可执行指令在由设备执行时使设备执行根据上述第一方面所描述的方法的任意步骤。
[0007]在本公开的第四方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。
[0008]提供
技术实现思路
部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
[0009]通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
[0010]图1示出了本公开的实施例能够在其中被实施的示例系统的示意图;
[0011]图2示出了根据本公开的实施例的用于管理数据块的示例方法的流程图;以及
[0012]图3示出了可以用来实施本公开的实施例的示例设备的示意性框图。
[0013]在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
[0014]下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0015]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0016]如上所述,在将数据存储到存储设备之前,通常可以执行去重操作来避免将重复数据块存储到存储设备中。去重操作通常按照如下流程进行。首先确定待存储数据块的指纹(例如,哈希值),然后将所确定的指纹与已存储到存储设备的数据块的指纹进行比较。如果所确定的指纹与已存储数据块的指纹都不匹配,则表明待存储数据块不是重复数据块。如果所确定的指纹与已存储数据块的指纹匹配,为了避免由于哈希算法碰撞导致的误判,可以从存储设备中读取已存储数据块并对其进行解压缩。通过将解压缩后的数据块与待存储数据块进行逐比特比较来确定两者是否为重复数据块。如果确定待存储数据块不是重复数据块,则对待存储数据块进行压缩,然后将压缩后的数据块存储到存储设备中。
[0017]在上述传统方案中,当所确定的指纹与已存储数据块的指纹匹配时,为了避免由于哈希算法碰撞导致的误判,需要执行一系列开销较大的操作来识别待存储数据块是否为重复数据块,从而导致系统性能降低。
[0018]本公开的实施例提出了一种用于管理数据块的方案,以解决上述问题和其他潜在问题中的一个或多个。在该方案中,基于第一哈希算法,针对要存储到存储设备的第一数据
块生成第一指纹。如果确定指纹数据库中存在基于第一哈希算法针对第二数据块生成的第二指纹与第一指纹匹配,确定指纹数据库中是否存在基于第二哈希算法针对第二数据块生成的第三指纹,其中该指纹数据库记录存储在存储设备中的数据块的指纹。如果确定指纹数据库中存在第三指纹,基于第二哈希算法针对第一数据块生成第四指纹。然后,通过比较第三指纹和第四指纹来确定第一数据块与第二数据块是否重复。以此方式,本公开的实施例能够有效降低数据去重中识别重复数据块的开销。
[0019]图1示出了本公开的实施例能够在其中被实现的示例系统100的框图。如图1所示,系统100包括主机110、存储管理器120以及存储设备130。应当理解,仅出于示例性的目的描述系统100的结构和功能,而不暗示对于本公开的范围的任何限制。例如,本公开的实施例还可以被应用到与系统100不同的系统中。
[0020]在系统100中,主机110可以例如是运行用户应用的任何物理计算机、虚拟机、服务器等等。主机110可以向存储管理器120发送输入/输出(I/O)请求,例如用于从存储设备130读取数据和/或向存储设备130写入数据等。响应于接收到来自主机110的读请求,存储管理器120可以从存储设备本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种管理数据块的方法,包括:基于第一哈希算法,针对要存储到存储设备的第一数据块生成第一指纹;如果确定指纹数据库中存在基于所述第一哈希算法针对第二数据块生成的第二指纹与所述第一指纹匹配,确定所述指纹数据库中是否存在基于第二哈希算法针对所述第二数据块生成的第三指纹,其中所述指纹数据库记录存储在所述存储设备中的数据块的指纹;如果确定所述指纹数据库中存在所述第三指纹,基于所述第二哈希算法针对所述第一数据块生成第四指纹;以及通过比较所述第三指纹和所述第四指纹来确定所述第一数据块与所述第二数据块是否重复。2.根据权利要求1所述的方法,还包括:如果确定所述指纹数据库中不存在与所述第一指纹匹配的指纹,将所述第一数据块存储在所述存储设备中;以及将所述第一指纹存储在所述指纹数据库中。3.根据权利要求1所述的方法,还包括:如果确定所述指纹数据库中不存在所述第三指纹,从所述存储设备中获取所述第二数据块;以及通过比较所述第一数据块和所述第二数据块来确定所述第一数据块与所述第二数据块是否重复。4.根据权利要求3所述的方法,还包括:如果确定所述第一数据块与所述第二数据块重复,基于所述第二哈希算法针对所述第二数据块生成所述第三指纹;以及将所述第三指纹存储在所述指纹数据库中。5.根据权利要求3所述的方法,还包括:如果确定所述第一数据块与所述第二数据块不重复,将所述第一数据块存储在所述存储设备中;以及将所述第一指纹存储在所述指纹数据库中。6.根据权利要求1所述的方法,其中确定所述第一数据块与所述第二数据块是否重复包括:如果所述第三指纹与所述第四指纹匹配,确定所述第一数据块与所述第二数据块重复;以及如果所述第三指纹与所述第四指纹不匹配,确定所述第一数据块与所述第二数据块不重复。7.根据权利要求6所述的方法,还包括:如果确定所述第一数据块与所述第二数据块不重复,将所述第一数据块存储在所述存储设备中;以及将所述第一指纹和所述第四指纹存储在所述指纹数据库中。8.根据权利要求1所述的方法,其中所述第二哈希算法的碰撞概率低于所述第一哈希算法的碰撞概率。9.根据权利要求1所述的方法,其中所述第一哈希算法是Murmur3哈希算法,并且所述
第二哈希算法是SHA
‑
1哈希算法。10.一种电子设备,包括:至少一个处理单元;至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述电子设备执行动作,所述动作包括:基于第一哈希算法,针对要存储到存储设备的第一数...
【专利技术属性】
技术研发人员:韩耕,徐鑫磊,刘友生,贾瑞勇,
申请(专利权)人:伊姆西IP控股有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。