远程存储的制作方法

文档序号:9848264阅读:838来源:国知局
远程存储的制作方法
【专利说明】
【背景技术】
[0001]文件系统可以用来把数据组织成可以使用计算机的操作系统来存储、操作和检索的计算机文件实体,即目录和文件。例如,各种版本的FAT(文件分配表)和NTFS(新技术文件系统)ext(扩展文件系统)与示例操作系统一起使用。文件系统使指定文件的数据与存储装置中的位置相关。存储装置可以包含远程、物理存储设备(诸如像硬盘驱动器、固态存储装置、磁带存储装置和CD-ROM)和/或在这样的物理存储设备上面分层的虚拟化存储装置。
[0002]虚拟磁带库(VTL)例如经由互联网小型计算机系统接口(iSCSI)或光纤通道(FC)被连接到客户端计算机系统。随着压缩技术的到来,可能会出现容纳在VTL上的存储数据量的大幅增加。
【附图说明】
[0003]为了更完整地理解,现在结合附图对接下来的描述进行参考,在所述附图中:
图1是示例计算机系统的简化示意图;
图2是图1的示例的示例客户端计算机系统的简化示意图;
图3是图1的示例的示例控制器的简化示意图;
图4是图1的示例的示例存储设施的简化示意图;
图5是消费者目录树结构的示例;
图6是控制消费者数据的远程存储的方法的示例的流程图;
图7是提供远程文件系统的消费者目录的方法的示例的流程图;
图8是创建根目录的示例的流程图;
图9是创建目录对象的示例的流程图;
图10是更详细地提供图7的远程文件系统的消费者目录的示例的流程图;
图11是在消费者目录树结构内移动对象的示例的流程图;以及图12是为对象设置父目录的示例的流程图。
【具体实施方式】
[0004]参照图1,多个客户端计算机系统IlOj至110_11经由网络130与至少一个控制器120_1至120_m通信。所述网络130例如包含以太网(诸如,千兆位以太网LAN(局域网))或其他类型的网络。所述至少一个控制器120_1至120_m包括各自的大容量储存装置140j至140_m或与其通信。
[0005]图2至图4是客户端计算机系统110、控制器120和大容量存储装置140的功能表示。客户端计算机系统110包括包含诸如CPU(中央处理单元)的处理器或处理器的组合的处理器资源201,以及存储器202,该存储器202例如包含诸如DRAM的易失性存储器、和/或诸如EEPROM的非易失性存储器、和/或以任何方便的形式和物理布置的任何方便的替代类型的存储器/存储装置。客户端计算机系统110进一步包含操作系统203,以执行客户端计算机系统110上的各种消费者应用程序。客户端计算机系统110还包括用户接口 205,例如显示监视器、键盘、鼠标、触摸屏等。
[0006]在客户端计算机系统110中还包括网络接口207,用于通过网络130通信。网络接口207例如可以包含适于网络的适配器,例如NI C(网络接口控制器)。
[0007]客户端计算机系统110进一步包含被执行以提供消费者数据的备份副本的备份应用程序209、用于将要备份的消费者数据划分成块并且为每个块确定哈希函数以用于在消费者数据的备份副本被传送到大容量存储装置140上的备份存储设施之前处理消费者数据用于去重复的去重复引擎211。
[0008]客户端计算机系统110进一步包含文件系统215,用于把消费者数据组织成目录树结构中的文件实体(或对象),例如像图5中所示。例如,目录树结构包含含有第一、第二和第三低级目录503、505、507或与之相关联的顶级(根)目录501。第一低级目录503含有第一、第二和第三叶子目录509、511、513或与之相关联。每个叶子目录509、511、513可以含有文件或与之相关联。
[0009]文件系统215包括用于生成元数据的元数据生成器213,所述元数据包括树结构的对象的信息,该信息包括对象的类型及其与树结构内的其他对象的相对关系。例如,元数据可以包含用于每个对象的唯一通用标识符(UUID),并且如果该对象具有父对象,则用于该对象的元数据也包括父UUID。例如,在图5所示的示例中,根目录501具有空的父UUID和UUID,从而将对象标识为根目录。第一低级目录503具有其自己的UUID和根目录501的父UUID0
[0010]控制器120如图3所示包含处理器资源301、存储器303和操作系统305,以执行包括比较每个块的哈希函数以从消费者数据中移除重复块并继续传送以用于存储去重复数据的控制系统的通用功能和服务。控制器120还包括网络接口 307(例如,NIC)、多个对象存储器309_1至309_k以及连接到各自的大容量存储装置140_1至140_m的对应接口 401以物理存储去重复消费者数据的接口 311。大容量存储装置140包括诸如硬盘驱动器、和/或固态存储装置、和/或磁带之类的物理存储装置,并且在一些示例中包括诸如RAID控制器的虚拟化实体403、405以提供虚拟存储卷。所采用的接口 311、401的类型可以根据大容量存储装置140是与控制器120—起被包括在物理外壳中,还是直接外部附连,还是通过存储网络或LAN附连而适当地改变。
[0011]现在将参考图5至图10更详细地描述系统的操作。客户端计算机系统110的备份应用程序209被启动并且存储在存储器202中的消费者数据被检索用于经由网络130和控制器120在远离客户端计算机系统110的位置拷贝到大容量存储装置140内的备份设施。对消费者数据去重复,601。这一过程通过将消费者数据流划分成多个块由去重复引擎211启动。为每个块确定抗碰撞哈希函数。通过处理器301将所述哈希函数与已经被大容量存储装置140存储的数据的哈希函数相比较。处理器301访问数据块位置的列表或清单或先前去重复的数据块的存储器。已经被存储的块用到先前存储的块的指针来代替。客户端计算机系统的去重复引擎211(在将数据划分成块并应用哈希函数过程中)减少了对控制器的处理器资源301的需求。另外,在替代布置中,仅需要把新的块从客户端计算机系统传送到控制器。
[0012]然后,元数据生成器213基于消费者目录树结构创建元数据,603。这是通过用于每个对象的对象UUID和父UUID(唯一通用标识符)的概念来实现的。这些UUID可以被存储在用于每个对象的当前对象存储模式的“标签”区域313中。尽管这一示例利用对象存储模式,但是可以认识到的是,可以利用不同的唯一存储模式。
[0013]对象的UUID还可以被设置为对象的密钥,而不是增量数据。伴随存储在对象存储器中的具有“父”的对象的增量概念,具有空的父UUID的“根”对象的概念被提供。这提供了一个点来启动导航对象之间的关系,并且因此促进文件系统类型映射。
[0014]伴随每个对象自己的UUID和父UUID,附加的状态可以按照允许指定对象类型的对象被存储在对象存储器中。这样的“类型”信息的存储旨在允许客户端链接等。因此,对象存储器对象的使用仅仅作为存储关于呈现(在最有可能的情况下例如文件系统)的元数据的手段;使用这样的对象容易被用于提供目录(容器对象)、特殊文件(符号链接)等的呈现。
[0015]然后,去重复的数据(或要被进一步处理用于去重复的数据)和元数据通过网络130被传送605到控制器120。所述元数据被存储在对象存储器309_1至309_k其中之一的标签区域313中。去重复的数据位于并被存储在大容量存储装置140上。
[0016]结果,在客户端计算机系统上执行数据的某种处理用于去重复以减少对控制器的处理器资源的需求。此外,用于从客户端计算机系统传送数据的带宽不会被冗余数据的传送所浪费,所述冗余数据当它到达控制器120时,它已经发现被存储,因为消费者数据可以在传送之前去重复(由于控制器120可以仅传送非重复的块)。重复的块的更新计数被增加,以使得没有未引用的块。这一更新被传送到控制器。
[0017]然后,可以使用存储在对象存储器中的元数据由客户端计算机系统110从控制器130检索树结构,701,并且经由用户接口 205呈现给用户,703。
[0018]参考图8,创建801根目录(或根容器对象),例如图5的根目录501。创建UUID并输入到对象存储器中,803 ο如果存储器是可访问的,805,则确定UUID是否存在,807。如果UUID存在,则发出对应的响应,809。如果UUID不存在,则使用空的父UUID创建根目录对象,811,并且如果根目录对象被成功标记,则发出对应的响应,813。如果存储器是不可访问的或者对象未被成功标记,则发出失败响应,815。
[0019]设置对象0(诸如,文件实体)具有父UUID( 1201)在图12中示出。把父容器UUID和对象UUID对象O输入到对象存储器中,1203。如果存储器是不可访问的,1205,并且对象不存在,120
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1