用于在不可信存储装置中进行差异去重的方法和系统与流程

文档序号:34733012发布日期:2023-07-08 03:41阅读:402来源:国知局
用于在不可信存储装置中进行差异去重的方法和系统与流程

本公开内容大体涉及数据保护和备份领域,更具体地,涉及用于对不可信存储装置中的一个或更多个数据块进行差异去重的方法和系统。


背景技术:

1、通常,数据备份用于在主存储系统(例如服务器)中发生数据丢失事件时保护和恢复数据。数据丢失事件的示例可以包括但不限于数据损坏、主存储系统中的硬件或软件故障、数据意外删除、黑客攻击或恶意攻击。因此,出于安全原因,单独的备份系统或存储装置被广泛用于存储主存储系统中存在的数据备份。通常,随着时间的推移,由于数据变更或任何新数据会占用传统存储装置中的大量存储空间,存储装置的存储空间被占用。这是不可取的,因为它会导致存储系统性能下降。此外,数据存储成本以及包括存储硬件成本在内的所有相关成本仍然是负担。

2、通常,在许多情况下,例如在云环境中,存储装置可能不受信任(即,不可信存储装置)。在这种情况下,写入不可信存储装置的数据被加密。换言之,使用不可信存储装置时,如果在未经加密的情况下存储数据,则可能存在数据泄露的潜在风险。例如,任何第三方或不可信实体也能够读取不可信存储装置(例如,云环境)中的存储数据,因此,对存储在这种不可信存储装置中的数据进行加密,以减少数据安全方面的危害。然而,如果存储的数据为加密形式,这意味着数据无法进一步压缩,并且使用加密密钥会有限制,这又会限制此类常规存储系统(例如,不可信存储装置或备份系统)中的数据缩减量。此外,在此类传统系统中,存在数据去重的问题,因为只有在使用相同加密密钥的情况下才能对加密数据进行去重。

3、目前,存在可以用于数据缩减的许多技术,例如固定大小的数据去重。在固定大小的数据去重中,给定的存储装置被划分成固定大小对齐的块,例如大小为8kb或16kb。此外,为每个块计算强哈希签名。如果要写入存储装置的块与已写入块具有相同的哈希签名,则认为该块相同,因此仅使用指向该块的指针(或引用)。如果该块不相同,则在写入存储装置之前压缩该块的数据。通过这种方式,数据去重技术解决在存储装置中复制相同数据的问题。此外,目前,差异压缩用于数据缩减。差异压缩是指识别新数据块和先前存储的数据块之间的相似性,并且以压缩形式进一步存储仅不同的数据块。在示例中,为每个新数据块生成并存储相似性哈希值。此后,将新数据块的相似性哈希值与先前存储的数据块的相似性哈希值进行比较。因此,类似块被用作以压缩形式存储新块的参考。然而,除非存储装置与写入存储装置的服务器之间存在信任关系,否则传统技术不允许对已进行去重的数据进行任何压缩。因此,在传统技术中,加密数据的去重率和压缩率要低得多。因此,如何在不可信存储装置中缩减数据仍然是一个技术问题。

4、因此,根据上述讨论,需要克服上述与传统数据存储装置相关的缺点,即不允许在服务器和存储装置之间不存在相互信任关系的情况下对去重数据进行压缩。


技术实现思路

1、本公开内容旨在提供一种用于对不可信存储装置中的一个或更多个数据块进行差异去重的方法和系统。本公开内容旨在为现有问题提供一种解决方案,即如何在没有对去重数据进行压缩的情况下缩减不可信存储装置中的数据。本公开内容的目的是提供如下解决方案,该解决方案至少能够部分解决现有技术中遇到的问题并提供改进方法和系统,与传统系统相比,此类改进方法和系统通过执行差异去重在不可信存储装置处提供有效的数据存储,且具有相对较高的去重率和压缩率。

2、本公开内容的目标是通过所附独立权利要求中提供的解决方案来实现的。从属权利要求中进一步定义了本公开内容的有利实施方式。

3、在一方面,本公开内容提供了一种用于对不可信存储装置中的一个或更多个数据块进行差异去重的方法,该方法包括通过实现以下步骤来执行计算机可读指令:提供数据块的哈希值、一个或更多个相似性哈希值和加密密钥的keyid;可信服务器对数据块执行第一次压缩和第一次加密;通过执行第一应用编程接口api(application programminginterface,api)的写函数,将已压缩和加密的数据块从可信服务器发送至不可信存储装置;不可信存储装置识别存储的压缩和加密的数据块中具有相同相似性哈希值的类似数据块;通过执行第二应用编程接口api(application programming interface,api),可信服务器执行对来自不可信存储装置的类似数据块的请求;通过执行第二api的读函数,使类似数据块的向量从不可信存储装置返回可信服务器;可信服务器解密和解压接收的已压缩和加密的类似数据块;识别已解压的类似数据块之间的相似性;确定已识别的类似数据块中的要用作参考数据块的第一数据块并且确定已识别的类似数据块中的要使用参考数据块进行压缩的第二数据块;可信服务器执行第二次压缩,以通过使用参考数据块重新压缩第二数据块,并执行第二次加密以重新加密已重新压缩的数据块;通过执行第二api对不可信存储装置执行写函数,并将已重新加密的利用参考数据块压缩的第二数据块、第二数据块的哈希值、参考数据块的哈希值、第二数据块的加密密钥的keyid、参考数据块的加密密钥的keyid从可信服务器发送至所述不可信存储装置;在不可信存储装置中将第一次压缩和第一次加密的数据块替换为第二次压缩和第二次加密的数据块,并获得差异去重数据块。

4、本公开内容的方法使得改进在不可信存储装置中进行的数据去重。该方法识别可信服务器向不可信存储装置提供用于存储的数据块中的类似数据块(已存储在不可信存储装置中)。该方法通过使用类似数据块作为参考来压缩数据块,从而能够存储压缩形式的数据块。与无法在不可信存储装置中对已去重数据进行压缩的传统技术相比,即使在存储装置不受信任的情况下,也能够对已存储数据进行差异压缩和去重。因此,与传统方法相比,本公开内容的方法提高了去重率和压缩率。

5、在实施方式中,该方法还包括定义一组或更多组可信服务器,其中,一组或更多组可信服务器包括一个或更多个可信服务器。

6、对一组或更多组可信服务器中的每组可信服务器执行差异数据压缩和去重。因此,相对于已存储在不可信存储装置中的类似存储块,对给定一组可信服务器中的给定可信服务器存储的数据块进行压缩。

7、在另一实施方式中,该方法还包括通过以下方式对差异去重数据块进行解压:执行对差异去重数据块的解密,执行对已压缩的参考数据块的解密,执行对已解密的参考数据块的解压,通过使用已解压的参考数据块执行对差异去重数据块的解压。

8、在需要时,对差异去重数据块进行解压以接收原始形式的数据,该数据已通过将类似数据块作为参考数据块以压缩形式存储。

9、在另一实施方式中,发送包括发送数据块的大小以及数据块的哈希值、相似性哈希值和加密密钥的keyid。

10、数据块的大小、哈希值、相似性哈希值和加密密钥的keyid使得不可信存储装置能够高效存储数据,从而在需要时能够高效检索数据。此外,相似性哈希值用于识别类似数据块,以执行差异压缩。

11、在另一实施方式中,返回向量包括返回已压缩和加密的数据块的大小以及已压缩和加密的数据块的加密密钥的keyid、哈希值、一个或更多个相似性哈希值。借助于不可信存储装置返回可信服务器的向量,可信服务器对可信服务器接收的类似数据块执行差异压缩。

12、在另一实施方式中,返回包括返回具有最大公共相似性哈希值的类似数据块。借助于返回具有最大公共相似性哈希值的类似数据块,能够对可信服务器接收的类似数据块进行高效差异压缩。因此,在不可信存储装置中用于存储数据块所需的存储空间更少。

13、在另一方面,本公开内容提供了一种用于对不可信存储装置中的一个或更多个数据块进行差异去重的可信服务器,其中,可信服务器包括被配置成存储指令的存储器和被配置成执行指令以进行下列操作的服务器处理器:实现第一应用编程接口,用于在可信服务器与不可信存储装置之间执行写函数和读函数;实现第二应用编程接口,用于在可信服务器与不可信存储装置之间执行请求和替换函数;计算一个或更多个数据块的哈希值和一个或更多个相似性哈希值;在不可信存储装置中执行一个或更多个数据块的差异去重;对已加密的数据块进行解密;以及对不可信存储装置执行数据去重和压缩。

14、本公开内容的可信服务器使得改进在不可信存储装置中进行的数据存储。可信服务器识别从不可信存储装置接收的类似数据块之间的相似性。可信服务器通过使用另一类似数据块作为参考来压缩类似数据块,从而能够存储压缩形式的数据块。即使在存储装置不受信任的情况下,也能够对已存储数据进行差异压缩和去重。

15、在实施方式中,可信服务器被配置成执行对数据块的第一次压缩和第一次加密;将已压缩和加密的数据块发送至不可信存储装置;执行对来自不可信存储装置的类似数据块的请求;从不可信存储装置接收类似数据块的向量;解压已接收的类似数据块;确定已接收类似数据块中的要用作参考数据块的第一数据块并且确定已识别的类似数据块中的要使用参考数据块进行压缩的第二数据块;通过使用参考数据块重新压缩第二数据块,并执行第二次加密以重新加密已重新压缩的数据块;将已重新加密的利用参考数据块压缩的第二数据块、第二数据块的哈希值、参考数据块的哈希值、第二数据块和参考数据块的加密密钥的keyid、参考数据块的加密密钥的keyid发送至不可信存储装置。

16、借助于可信服务器接收的类似数据块,可信服务器通过使用另一类似数据块作为参考来压缩一个类似数据块。因此,执行差异压缩。此外,可信存储装置将已存储在不可信存储装置中的数据块替换为已经过差异压缩的数据块。因此,不可信存储装置的存储空间得到有效利用。

17、在另一方面,本公开内容提供了一种用于对不可信存储装置中的一个或更多个数据块进行差异去重的系统,该系统包括:不可信存储装置,被配置成接收已压缩和加密的数据块,识别存储的已压缩和加密的数据块中的类似数据块,解密已压缩的参考数据块;一组或更多组可信服务器,其中,一组或更多组可信服务器包括一个或更多个可信服务器,一个或更多个可信服务器被配置成计算一个或更多个可信服务器的一个或更多个数据块的哈希值和一个或更多个相似性哈希值,在不可信存储装置中执行一个或更多个数据块的差异去重,对已加密的数据块进行解密,对不可信存储装置执行数据去重和压缩;第一应用编程接口,用于在可信服务器与不可信存储装置之间执行写函数和读函数;第二应用编程接口,用于在可信服务器与不可信存储装置之间执行请求和替换函数。

18、本公开内容的系统使得改进在不可信存储装置中进行的数据存储。该系统能够识别可信服务器向不可信存储装置提供用于存储的数据块中的类似数据块(已存储在不可信存储装置中)。该系统还通过使用类似数据块作为参考来压缩数据块,从而能够存储压缩形式的数据块。与无法在不可信存储装置中对已去重数据进行压缩的传统系统相比,即使在存储装置不受信任的情况下,也能够对已存储数据进行差异压缩和去重。因此,与传统系统相比,本公开内容的系统提高了去重率和压缩率。

19、在实施方式中,该系统还包括在处理器中运行的密钥管理器,该密钥管理器被配置成为一个或更多个可信服务器生成一个或更多个加密密钥。密钥管理器能够向给定一组可信服务器提供唯一的加密密钥,这能够增强存储在不可信存储装置中的已加密的数据块的安全性。

20、在另一实施方式中,可信服务器还被配置成在同一组可信服务器中的可信服务器之间共享一个或更多个加密密钥、哈希值和一个或更多个相似性哈希值。

21、在同一组可信服务器中共享一个或更多个加密密钥、哈希值和一个或更多个相似性哈希值,以防止该组可信服务器中的可信服务器利用相同的加密密钥加密两个或更多个数据块。因此,当已加密的数据块存储在不可信存储装置中时,安全性得到增强。

22、在另一方面,本公开内容提供了一种包括计算机可读指令的计算机可读介质,计算机可读指令用于实现第一应用编程接口和第二应用编程接口,以根据前述方面的方法对不可信存储装置中的一个或更多个数据块进行差异去重。本公开内容的计算机可读介质使得改进在不可信存储装置中进行的数据存储。计算机可读介质通过使用类似数据块作为参考来压缩数据块,从而能够存储压缩形式的数据块。与无法在不可信存储装置中对已去重数据进行压缩的传统计算机可读介质相比,即使在存储装置不受信任的情况下,也能够对已存储数据进行差异压缩和去重。因此,与传统方法相比,本公开内容的计算机可读介质提高了去重率和压缩率。

23、应当理解的是,所有上述实施方式可以组合在一起。应当注意的是,本技术中描述的设备、元件、电路、单元和装置都可以通过软件或硬件元件或其任意组合实现。本技术中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或被配置成执行各自的步骤和功能。虽然在以下具体实施方式的描述中,由外部实体执行的特定功能或步骤没有在执行特定步骤或功能的该实体的具体元件的描述中反映,但是技术人员应该清楚的是这些方法和功能可以在各自的硬件或软件元件或其任意组合中实现。应当理解的是,在不脱离所附权利要求书限定的本公开内容的范围的情况下,本公开内容的特征易于以各种组合的形式加以组合。

24、附图以及结合所附权利要求解释的说明性实施方式的详细描述将使得本公开内容的其他方面、优点、特征和目的变得明显。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1