
数据块迁移的制作方法.docx
5页数据块迁移的制作方法专利名称:数据块迁移的制作方法技术领域:本公开涉及数据块迁移背景技术:保持庞大的数据量在物理硬件成本以及系统管理和基础架构成本方面都会占用大量的资源一些机制提供了数据压缩来节约资源举例来说,某些文件格式是经过压缩的,例如便携文档格式(PDF)此外,一些其他的实用工具允许在单个文件级上以相对低效的方式执行压缩数据去重指的是系统通过消除文件中的数据重复来提高存储、传输和/或处理效 率的能力引入去重技术的存储系统包括多个文件共同的存储数据分段的单个实例在一些实例中,发送到存储系统的数据被分成了固定或可变大小的分段每一个分段都配备了一个分段标识符(ID),例如数字签名或实际数据的散列值一旦生成了分段ID,则可以使用该ID来确定系统中是否已经存在该数据分段如果存在该数据分段,则没有必要再次存储该分段在很多常规的实施方式中,有可能需要围绕某个群集来迁移数据块但是,用于迁移数据块的机制是有限的因此,在这里提供了用于改善数据块迁移的机制通过参考以下结合附图的描述,可以最佳地理解本公开,其中所述附图示出了本发明的特定实施例图I示出的是可以使用本发明的技术和机制的系统的特定示例图2示出的是锁定器的一个示例。
图3A示出的是添加节点的一个示例图3B示出的是执行数据访问的一个示例图4A示出的是文件映射的一个示例图4B示出的是数据存储箱体(suitcase)图5示出的是去重字段的特定示例图6A示出的是具有单个数据分段的文件的特定示例图6B示出的是具有多个数据分段和成分的文件的特定示例图7示出的是计算机系统的特定示例具体实施例方式现在将会详细参考本发明的某些具体示例,这些示例包括发明人设想的用于执行本发明的最佳模式在附图中示出了这些具体实施例的示例虽然本发明是结合这些具体实施例描述的,但是应该理解,这并不是为了将本发明局限于所描述的实施例与此相反,其旨在覆盖可能包含在附加权利要求定义的发明实质和范围以内的替换、修改和等价物例如,本发明的技术和机制是在数据块的上下文中描述的然而应该指出的是,本发明的技术和机制适用于于各种不同的数据结构,这其中包含了数据块的变体在以下描述中阐述了众多具体的细节,以便提供关于本发明的全面理解本发明的特定例示实施例可以在没有一些或所有这些具体细节的情况下实施在其他实例中并未详细描述众所周知的处理操作,以免不必要地与本发明混淆为了清楚起见,有时会以单数形式描述本发明的不同技术和机制。
但应该指出的是,除非以别的方式加以注解,否则一些实施例包含了某种技术的多次迭代或是某种机制的多次实例化例如,系统在多种上下文中使用处理器但应该预料到的是,除非以别的方式加以注释,否则系统可以使用多个处理器,同时保持处于本发明的范围以内此 外,本发明的技术和机制有时会描述两个实体之间的连接应该指出的是,两个实体之间的连接未必意味着直接无阻碍的连接,因为在两个实体之间有可能驻留了多种其他实体例如,处理器可以连接到存储器,但应该预料到的是,多种桥接器和控制器可以驻留在处理器与存储器之间因此,除非以别的方式加以注解,否则连接未必意味着直接无阻碍的连接鐘述在这里提供的是用于在节点添加和节点删除过程中围绕群集迁移数据块的技术和机制所述迁移不需要停机时间,因为新添加的节点会在数据块被移动的同时立刻工作块映射文件和去重字典没有必要更新例示实施例保持、管理、传送和/或处理大量数据的成本有可能会很高这些成本不但包括供电和冷却成本,而且还包括系统维护、网络带宽以及硬件成本目前业已作出了一些努力来减少文件服务器保持的数据的占位(footprint),以及减小相关联的网络业务量在将数据写入文件服务器之前,有多种实用工具可对单个文件进行压缩。
压缩算法是比较完善且非常普及的一些压缩算法的目标是特定类型的数据或特定类型的文件压缩算法采用多种方式工作,但是很多压缩算法会通过分析数据来确定数据中可以映射成较短码字的源序列在很多实施方式中,最频繁出现的源序列或是最频繁出现的长源序列会被最短的可能码字所取代通过减少冗余数据量,数据去重处理减少了存储占位去重处理可以包括识别可变或固定大小的分段根据不同的实施例,数据的每一个分段都是用散列算法处理的,例如MD5或SHA-1该处理为每一个分段产生了唯一的ID、散列值或引用换言之,如果仅仅改变了文档或演示的少量字节,那么所存储的仅仅是发生变化的部分在在一些实例中,去重系统使用固定或滑动窗口来搜索匹配序列,并且使用引用来识别匹配序列,而不是再次存储匹配序列在数据去重系统中,与备份代理协作的备份服务器识别用于备份的候选文件,创建备份流,并且将数据发送到去重系统去重系统中的典型的目标系统会在接收到数据分段时对数据进行去重具有已经保存在去重系统上的副本的块没有必要被再次存储但是,诸如引用和引用计数之类的其他信息有可能需要更新通过揭示可供用户操作来备份和归档文件的NAS驱动器,一些实施方式允许在不使用备份软件的情况下将候选数据移动到去重系统。
在一个活动文件系统中,在系统操作过程中有可能需要添加或删除节点通常,较为理想的是能够面对节点添加和节点删除而围绕群集迁移数据根据不同的实施例,群集中的每一个块映射和数据存储箱体都具有箱体ID或SCIDSCID标识的是节点和块映射或是数据存储箱体,因此,SCID可以全局识别一个位于群集内部的文件根据不同的实施例,本发明的技术和机制顾及了根据节点添加和删除来将节点映射到SCID的处理在限制或避免数据拷贝的同时,节点映射有可能发生变化在特定实施例中,其中不必通过扫描每一个SCID来更新每一个块映射,从而修改SCID本发明的技术可以应用于具有任意数量的节点的任何群集环境当添加新节点时,数据可以在节点上被重新平衡同样,在调度删除某个节点的时候,这时只要从所要删除的节点拷贝数据即可从该节点重新分发数据现有的很多映射函数都存在多个缺陷很多映射函数是难以计算的,并且有可能需要众多的处理器周期映射函数有可能需要在映射函数发生变化的时候改写键值,并且有可能在添加节点的时候需要在现有节点之间执行额外的数据拷贝处理在向具有两个节 点的群集添加新节点时,效率较低的解决方案有可能需要将数据拷贝至新节点,以及将数据从节点I拷贝节点2并且从节点2拷贝到节点I。
根据本发明的不同实施例,数据只被拷贝到新节点根据不同的实施例,节点编号可以使用一个函数而从SCID中获取,例如#defineget_the_node_number_from_the_scid(_scid_)\scid_to_node_array[_scid_ % MAX_CLUSTER_SIZE]映射函数允许使用一个键值来定义保持数据的节点根据不同的实施例,在生成新键值的时候,映射函数有可能发生变化键值自身可以包含节点编号,因此,键值可以是在节点之间未进行通信的情况下在每个节点上独立分配的在特定实施例中,在节点添加或删除过程中不必通过改写键值来将数据块重新分配到不同的节点当添加节点时,这时可以将任意数量的数据从每个节点拷贝至新节点,以便在群集上重新平衡数据图I显示的是多租户按需式基础架构包括与虚拟图像101、103、105、107和109相对应的虚拟机在内的多个虚拟机在共享了多个处理器核心的服务器平台141上运行根据不同的实施例,虚拟图像A 101运行的是服务器操作系统,数据库服务器以及一个或多个定制应用虚拟图像103和105是虚拟图像A 101的克隆体根据不同的实施例,虚拟图像B 107运行的是服务器操作系统、数据库服务器、web服务器和/或一个或多个定制应用。
虚拟图像109是虚拟图像B 107的克隆体在特定实施例中,用户111连接到虚拟图像A 101用户113、115和117连接到虚拟图像A的克隆体103用户119和121连接到虚拟图像A的克隆体105用户123、125和127连接到虚拟图像B 107用户129和131则连接到虚拟图像B的克隆体109计算云服务供应商允许用户根据需要来创建虚拟图像的新实例这些新实例可以是已有虚拟机图像的克隆体对象优化系统提供了应用编程接口(API),所述接口可以用于即时克隆某个文件当使用该API时,这时会将新的存根放入用户命名空间,并且将会克隆一个块映射文件在特定实施例中,对象优化系统中包含的每一个文件都是用块映射表示的,所述块映射代表的则是在该文件中发现的所有对象块映射文件包括每一个对象的偏移和大小然后,块映射文件中的每一个条目都指向数据箱体内部的某个偏移根据不同的实施例,很多块映射文件将会指向较少的数据箱体,由此导致多个文件共享相同的数据块根据不同的实施例,块映射文件保持与初始文件的块映射相同的所有偏移和位置指针,因此不必拷贝用户文件数据在特定实施例中,如果稍后修改了被克隆的文件,那么该行为与修改已去重文件时发生的处理是相同的。
图2示出的是经过优化的文件结构的一个示例根据不同的实施例,优化系统将被告知将其数据结构存储在哪里,数据输入流来源于何处,优化的范围是什么,将那些优化操作应用于所述流,以及如何将数据标记成已被优化然后,数据将别优化在特定实施例中,经过优化的数据被保存在锁定器221中该锁定器221可以是目录、卷、分区或是永久性对象存储器的接口在锁定器221内部,经过优化的数据被保存在容器或结构中,例如箱体271在文件系统中,每一个箱体271都可以是一个文件在块或对象存储器中,其他格式也是可以使用的用户可视的命名空间201包括多个存根文件211根据不同的实施例,存根文件211对应于虚拟图像A 213以及虚拟图像B 215虚拟图像A 213与包括文件大 小数据和/或其他元数据在内的扩展属性信息217相关联虚拟图像B 215则与包括文件大小数据和/或其他元数据在内的扩展属性信息219相关联根据不同的实施例,经过优化的数据被保存在锁定器221中块映射文件261包括用于在数据存储箱体271中定位恰当数据分段的偏移、长度以及位置标识符多个块映射文件可以指向数据存储箱体中的相同数据分段每一个块映射文件还具有与目录句柄虚拟图像A 233以及目录句柄虚拟图像B243相对应的相应的扩展属性信息231和241。
图3A示出的是用于在群集中添加节点的技术的一个示例虽然该技术是在节点添加上下文中描述的,但应该认识到的是,不同的技术也可以应用于节点删除或修改在301,检测到数据不平衡性根据不同的实施例,多群集系统可以确定某些节点正被大量使用,而其他节点使用的则比较少在其他示例中,系统可以根据存储器使用情况而检测出需要附加节点在其他示例中,即便没有确定数据不平衡性,也可以添加或删除节点在303,接收一个添加节点的请求添加节点的处理可以对应于在存储群集中连接附加的存储阵列或存储设备在305,生成多个键值在特定实施例中,映射函数会在307被改写在特定实施例中,所述多个键值可以是箱体标识符和/或对应于特定的块映射文件根据不同的实施例,映射函数规定所述键值标识或者对应于特定节点该映射函数有可能在生成多个键值的时候被改写在309,数据被从节点拷贝纸新节点,以便在数据存储群集中重新平衡数据根据不同的实施例,在节点、添加、删除或修改过程中不必扫描、访问、分析或修改块映射文件在特定实施例中,块映射文件保持不变图3B示出的是用于在数据迁移之后执行数据访问的技术的一个示例在351,访问存根文件该存根文件对应于经过优化的文件的虚拟图像,并且包括元数据之类的扩展属性信息。
根据不同的实施例,存根文件提供了一个箱体标识符(SCID)在特定实施例中,该箱体标识符规定了一个节点在特定实施例中,在353,在用户空间中可以即时访问扩展属性信息和元数据在355,SCID指定的节点将被确定根据不同的实施例,SCID指定的节点将被确定在特定实施例中,节点编号是通过使用SCID的模数以及。





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






