用于数据迁移的方法和装置的制造方法_4

文档序号:9767842阅读:来源:国知局
式中,协议层730可以支持多种 文件系统的格式,以便经由访问接口 1732、···、访问接口 k 734向目标存储系统720外部的 客户端提供数据存储服务。
[0087] 在本发明的一个实施方式中,基于所请求的数据块的迁移状态提供所请求的数据 块包括:响应于迁移状态为"已迁移",从目标存储系统的数据存储中提供所请求的数据块。
[0088] 上文已经参见图7描述了虚拟文件系统726可以经由路径A-B-C-D来将数据从源 存储系统410迁移至目标存储系统720,继而协议层730可以经由连接G来访问存储设备 1422、…、存储设备m424中的数据块,因而当发现客户端810请求的数据块已经被迁移至 目标存储系统720时,可以经由访问接口 1732、···、访问接口 k 734中的任一项来向客户端 810提供所请求的数据块。
[0089] 在本发明的一个实施方式中,基于所请求的数据块的迁移状态提供所请求的数据 块包括:响应于迁移状态为"迁移中",确定所请求的数据块中未迁移部分的大小;以及响 应于大小大于预定阈值,退出数据迁移以及从源存储系统的数据存储中提供所请求的数据 块;否则延迟访问请求直到数据迁移完成,以及从目标存储系统的数据存储中提供所请求 的数据块。
[0090] 在本发明的一个实施方式中,当发现客户端所请求的数据块正在"迁移中"时,可 以进一步判断所请求的数据块中尚未迁移的部分的大小,如果尚未迁移的部分较大(例 如,超过预定阈值100M,或者其他预定阈值),则认为还需要较长时间才能完成数据迁移。 因而可以退出针对所请求的数据块的迁移,并且从源存储系统410中提供所请求的数据 块。当已经向客户端810返回了所请求的数据块后,可以继续执行针对所请求的数据块的 迁移。
[0091] 如果尚未迁移的部分较小(例如,小于或等于预定阈值),则表示可以在较短时间 内完成数据迁移,因而可以延迟访问请求并且在数据迁移完成之后向客户端提供所请求的 数据。
[0092] 在本发明的一个实施方式中,源存储系统是存储区域网络以及网络附加存储系统 中的任一项,以及目标存储系统是存储区域网络以及网络附加存储系统中的另一项。
[0093] 例如,源存储系统可以是存储区域网络,并且目标存储系统可以是网络附加存储 系统。在此实施方式中,由于目标存储系统中的虚拟文件系统可以直接地读取存储区域网 络中的数据块,因而可以基于存储区域网络内的光纤通道来传输数据,数据迁移期间的数 据传输率极高。或者,还可以从网络附加存储系统向存储区域网络进行数据迁移,本领域技 术人员可以基于上文所述的原理来自行设计迁移细节,在此不再赘述。
[0094] 应当注意,尽管在本发明的上下文中使用存储区域网络和网络附加存储系统来作 为源存储系统和目标存储系统的具体示例,本领域技术人员应当理解,本发明的技术方案 还可以应用于在其他类型的存储系统之间进行数据迁移。
[0095] 在本发明的一个实施方式中,在数据迁移完成之后可以将源存储系统中的数据存 储设备附加至目标存储系统中,以作为目标存储系统内部的数据存储设备。在此实施方式 中,在已经完成了数据迁移之后,还可以将源存储系统中的存储设备作为目标存储系统中 的一部分存储设备,并且由目标存储系统的存储管理器来统一调度。以此方式,一方面可 以重用源存储系统中的存储容量,另一方面还可以解决目标存储系统中存储容量不足的问 题。
[0096] 前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可 以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬 件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结 合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使 该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表 现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中所述 设备包括若干装置或模块,所述装置或模块被配置为执行相应步骤。本领域的所述技术人 员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设 备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对 应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再 进行赘述。
[0097] 图9示意性示出了根据本发明一个实施方式的用于数据迁移的装置的框图900。 如图9所示,提供了一种用于数据迁移的装置,包括:接收模块910,配置用于接收从源存储 系统向目标存储系统进行数据迁移的迁移请求;建立模块920,配置用于建立用于读取源 存储系统中的数据块的虚拟文件系统;以及迁移模块930,配置用于经由虚拟文件系统将 源存储系统中的数据块迁移至目标存储系统中,其中源存储系统和目标存储系统是不同类 型的存储系统。
[0098] 在本发明的一个实施方式中,建立模块920包括:获取模块,配置用于分别获取源 存储系统的源文件系统描述、以及目标存储系统支持的目标文件系统描述;以及虚拟文件 系统建立模块,配置用于基于源文件系统描述和目标文件系统描述建立虚拟文件系统。
[0099] 在本发明的一个实施方式中,装置在目标存储系统中实现。
[0100] 在本发明的一个实施方式中,迁移模块930包括:设置模块,配置用于针对源存储 系统中的数据块,基于将数据块从源存储系统拷贝至目标存储系统的进度,设置描述数据 块的迁移状态的元数据,元数据包括"未迁移"、"迁移中"以及"已迁移"中的至少任一项。 [0101] 在本发明的一个实施方式中,进一步包括:引导模块,配置用于响应于检测到客户 端对源存储系统的访问请求,将访问请求引导至目标存储系统;以及提供模块,配置用于由 目标存储系统提供访问请求所请求的数据块。
[0102] 在本发明的一个实施方式中,提供模块包括:确定模块,配置用于基于元数据确定 所请求的数据块的迁移状态;以及数据提供模块,配置用于基于所请求的数据块的迁移状 态提供所请求的数据块。
[0103] 在本发明的一个实施方式中,数据提供模块包括:第一提供模块,配置用于响应于 迁移状态为"未迁移",从源存储系统的数据存储中提供所请求的数据块。
[0104] 在本发明的一个实施方式中,数据提供模块包括:第二提供模块,配置用于响应于 迁移状态为"已迁移",从目标存储系统的数据存储中提供所请求的数据块。
[0105] 在本发明的一个实施方式中,数据提供模块包括:度量模块,配置用于响应于迁移 状态为"迁移中",确定所请求的数据块中未迁移部分的大小;以及第三提供模块,配置用于 响应于大小大于预定阈值,退出数据迁移以及从源存储系统的数据存储中提供所请求的数 据块;否则延迟访问请求直到数据迁移完成,以及从目标存储系统的数据存储中提供所请 求的数据块。
[0106] 在本发明的一个实施方式中,源存储系统是存储区域网络以及网络附加存储系统 中的任一项,以及目标存储系统是存储区域网络以及网络附加存储系统中的另一项。
[0107] 采用本发明所述的方法和装置,可以在尽可能不改变现有数据存储系统的架构的 情况下,提供更为便捷和高效的数据迁移。并且期望访问数据存储系统的客户端可以在数 据迁移期间仍然对数据存储系统进行访问。
[0108] 本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算 机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0109] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形 设备。计算机可读存储介质例如可以是一一但不限于一一电存储设备、磁存储设备、光存储 设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质 的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只 读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、 便携式压缩盘只读存储器(⑶-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例 如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用 的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁 波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电 线传输的电信号。
[0110] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/ 处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或 外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网 关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接 收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备 中的计算机可读存储介质中。
[0111] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指 令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语 言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如 Smalltalk、C++等,以及常规的过程式编程语目一诸如"C"语目或类似的编程语目。计算机 可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独 立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1