【技术实现步骤摘要】
云规模处的ZFS块级去重
[0001]本申请是申请日为2018年7月12日、题为“云规模处的ZFS块级去重”的专利技术专利申请201780080037.1的分案申请。
[0002]对相关申请的交叉引用
[0003]本申请是于2017年1月6日提交的标题为“FILE SYSTEM HIERARCHIES AND FUNCTIONALITY WITH CLOUD OBJECT STORAGE”的美国临时申请No.62/443,391的非临时申请,并援引35U.S.C.119(e)要求其权益和优先权,其全部内容通过引用并入本文,用于所有目的。
[0004]本公开一般而言涉及数据存储的系统和方法,并且更具体地涉及在对象接口上将文件系统功能分层。
技术介绍
[0005]互联网的不断扩展,以及计算网络和系统的扩展和复杂化,已经导致通过互联网存储和可访问的内容的激增。这进而推动了对大型复杂数据存储系统的需求。随着对数据存储的需求不断增加,正在设计和部署更大和更复杂的存储系统。许多大规模数据存储系统利用包括物理存储介质阵列的存储器件。这些存储器件能够存储大量数据。例如,在这个时候,Oracle的SUN ZFS Storage ZS5
‑
4装备可以存储高达6.9PB的数据。而且,多个存储装备可以联网在一起以形成存储池,这可以进一步增加存储的数据的体量。
[0006]通常,诸如这些之类的大型存储系统可以包括用于存储和访问文件的文件系统。除了存储系统文件(操作系统文件、设备驱动器文件等)之 ...
【技术保护点】
【技术特征摘要】
1.一种方法,包括:在块存储系统的应用层处,通过所述块存储系统的系统调用接口接收第一请求,所述第一请求包括要对文件系统执行的操作的标识;由所述块存储系统基于所述操作的所述标识生成第一组数据块,所述第一组数据块中的每个数据块对应于文件的数据的第一部分;执行写时复制处理以促进对所述文件系统的所述操作,所述写时复制处理包括:识别与所述文件的所述数据的所述第一部分对应的逻辑树的一部分,所述逻辑树的所述一部分包括多个节点,其中所述多个节点包括一个或多个叶子节点,所述一个或多个叶子节点存储所述文件的所述数据的所述第一部分的散列;基于所述第一组数据块生成一个或多个新叶子节点,其中所述一个或多个新叶子节点存储所述第一组数据块的数据的散列;生成所述逻辑树的所述一部分的新根节点,所述新根节点包括:从所述新根节点指向所述一个或多个新叶子节点或指向包括对所述一个或多个新叶子节点的引用的节点的地址指针;指向所述逻辑树的剩余部分的地址指针;和部分地基于所述一个或多个新叶子节点的散列值;由数据管理单元确定所述第一组数据块中的第一数据块与存储在云对象存储库中的现有数据块匹配;由所述块存储系统定义第二组数据块以包括排除所述第一数据块的所述第一组数据块的子集,其中所述块存储系统在所述写时复制处理的执行期间生成所述第二组数据块;和将所述第二组数据块传输到混合云存储系统,所述混合云存储系统管理所述云对象存储库中的数据存储,其中所述混合云存储系统被配置为基于所述第二组数据块生成一组云存储块。2.根据权利要求1所述的方法,其中,所述逻辑树的非叶子节点包括校验和,所述校验和是基于所述非叶子节点的地址指针所引用的所述逻辑树的另一节点生成的。3.根据权利要求2所述的方法,其中,所述校验和由校验和函数生成,所述检验和函数是SHA256或fletcher4。4.根据权利要求1所述的方法,其中,所述一组云存储块中的每个云存储块在被存储在所述云对象存储库中之前先被压缩和/或加密。5.根据权利要求1所述的方法,其中,所述现有数据块对应于不同的文件。6.根据权利要求1所述的方法,其中,由所述逻辑树表示的数据被存储在第一存储池中,并且其中,所述现有数据块被存储在不同的存储池中。7.根据权利要求1所述的方法,其中,所述现有数据块对应于所述云对象存储库的不同用户。8.一种或多种存储用于对远离计算系统上的块存储系统的云对象存储库上的数据块进行去重的计算机可执行指令的非暂时性有形计算机可读存储介质,所述计算机可执行指令当由一个或多个处理器执行时,执行包括以下各项的操作:在所述块存储系统的应用层处通过所述块存储系统的系统调用接口接收第一请求,所
述第一请求包括要对文件系统执行的操作的标识;由所述块存储系统基于所述操作的所述标识生成第一组数据块,所述第一组数据块中的每个数据块对应于文件的数据的第一部分;执行写时复制处理以促进对所述文件系统的所述操作,所述写时复制处理包括:识别与所述文件的所述数据的所述第一部分对应的逻辑树的一部分,所述逻辑树的所述一部分包括多个节点,其中所述多个节点包括一个或多个叶子节点,所述一个或多个叶子节点存储所述文件的所述数据的所述第一部分的散列;基于所述第一组数据块生成一个或多个新叶子节点,其中所述一个或多个新叶子节点存储所述第一组数据块的数据的散列;生成所述逻辑树的所述一部分的新根节点,所述新根节点包括:从所述新根节点指向所述一个或多个新叶子节点或指向包括对所述一个或多个新叶子节点的引用的节点的地址指针;指向所述逻辑树的剩余部分的地址指针;和部分地基于所述一个或多个新叶子节点的散列值;由数据管理单元确定所述第一组数据块中的第一数据块与存储在云对象存储库中的现有数据块匹配;由所述块存储系统定义第二组数据块以包括排除所述第一数据块的所述第一组数据块的子集,其中所述块存储系统在所述写时复制处理的执行期间生成所述第二组数据块;和将所述第二组数据块传输到混合云存储系统,所述混合云存储系统管理所述云对象存储库中的数据存储,其中所述混合云存储系统被配置为基于所述第二组数据块...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。