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

文档序号:9767842阅读:来源:国知局
文件 系统将源存储系统中的数据块迁移至目标存储系统中,其中源存储系统和目标存储系统是 不同类型的存储系统。
[0060] 图5示意性示出了根据本发明一个实施方式的用于数据迁移的技术方案的框图 500。如图5所示,源存储系统410可以类似于现有技术中的源存储系统。不同于传统的数 据迁移技术,根据本发明的一个实施方式,可以建立用于读取源存储系统中的数据块的虚 拟文件系统。例如,可以在目标存储系统520中建立虚拟文件系统526,来直接从源存储系 统410中读取数据块,而不需要经由第三方的迁移控制器来递送数据。以此方式,可以大大 降低数据迁移所需要的时间开销。在本发明的上下文中,数据块可以表示一个数据文件,或 者还可以表示包括多个数据文件的文件夹。因而在本发明的上下文中,可以针对每个数据 块来执行本发明所述的技术方案。
[0061] 通常而言,在存储系统内部的数据传输速率远远高于经由存储系统外部的数据网 络进行传输的速率。采用本发明的技术方案,当由虚拟文件系统526直接读取源存储系统 410中的数据块时,可以尽可能地利用各个存储系统内部的高效数据传输路径,而消除了需 要经由第三方设备中转数据的需要。
[0062] 图6示意性示出了根据本发明一个实施方式的用于数据迁移的方法的流程图 600。如图6所示,在步骤S602中,接收从源存储系统向目标存储系统进行数据迁移的迁移 请求,其中源存储系统和目标存储系统是不同类型的存储系统。当源存储系统和目标存储 系统是不同类型的存储系统时,两者所支持的文件系统的格式将有所区别,因而在执行数 据迁移时,需要考虑文件系统格式的兼容性问题。
[0063] 在步骤S604中,建立用于读取源存储系统中的数据块的虚拟文件系统。建立虚拟 文件系统的目的在于,可以由虚拟文件系统来直接从源存储系统中读取数据块。例如,可以 基于源存储系统向外部提供的用于数据访问的源文件系统的接口来建立虚拟文件系统。具 体地,在源存储系统的运行期间,源存储系统的客户端上的数据访问应用可以访问源存储 系统中存储的数据块,本领域技术人员可以以与实现数据访问应用类似的方式来设计虚拟 文件系统。
[0064] 在步骤S606中,经由虚拟文件系统将源存储系统中的数据块迁移至目标存储系 统中。在已经实现了虚拟文件系统的情况下,可以直接经由虚拟文件系统来从源存储系统 中读取数据,并将所读取的数据块存储至目标存储系统中。
[0065] 在本发明的一个实施方式中,建立用于读取源存储系统中的数据块的虚拟文件系 统包括:分别获取源存储系统的源文件系统描述、以及目标存储系统支持的目标文件系统 描述;以及基于源文件系统描述和目标文件系统描述建立虚拟文件系统。
[0066] 具体而言,可以基于源存储系统和目标存储系统的文件系统描述来实现虚拟文件 系统的功能。在此实施方式中,可以将源存储系统作为目标存储系统的外部存储连接至目 标存储系统,例如,可以以"映像模式(image mode)"访问源存储系统。在映像模式中,源存 储系统中所存储的数据块可以按照源存储系统的源文件系统的原始格式来呈现。
[0067] 在此实施方式中,可以读取源文件系统描述中的各种属性信息,例如,属性信息可 以描述源存储系统中的文件/文件夹的基本信息,例如可以包括文件/文件夹的ID、名称、 仓键时间、最后修改时间、大小、版本号等诸多信息。
[0068] 通过使用上述信息,可以得到文件/文件夹的相关属性,可以找到文件/文件夹在 源存储系统中的位置,进而建立虚拟文件系统。在虚拟文件系统中,每个文件/文件夹具有 唯一的虚拟路径,虚拟文件系统实现了从文件/文件夹的实际存储位置到虚拟路径的映射 关系,使得目标存储系统可以读取源存储系统中的数据块。
[0069] 在本发明的一个实施方式中,虚拟文件系统在目标存储系统中实现。具体地,图 7示意性示出了根据本发明一个实施方式的用于数据迁移的技术方案的详细框图700。如 图7所示,类似于现有技术,目标存储系统720中可以包括存储设备1422、…、存储设备m 424、协议层730以及访问接口 1732、…、访问接口 k734。
[0070] 不同于使用迁移控制器实现的现有技术方案,在本发明的一个实施方式中,可以 在目标存储系统720中建立虚拟文件系统726,该虚拟文件系统726可以技照源存储系统 410所支持的文件格式,来从文件系统接口 724获取在源存储系统410中存储的数据块。在 此实施方式中,存储接口 722是指将源存储系统410作为外部存储连接至目标存储系统720 的接口,例如,可以使用前文所述的映像模式来读取源存储系统410中的数据块。
[0071] 备选地,虚拟文件系统726还可以部署在其他位置。例如,在云计算环境中,可以 由专门提供数据接口服务的提供者来提供虚拟文件系统726。此时,可以经由该虚拟文件系 统726将源存储系统中的数据块迁移至目标存储系统中。
[0072] 在本发明的一个实施方式中,可以在目标存储系统720和源存储系统410之间建 立连接(如标记A所示),以便由目标存储系统720中的虚拟文件系统726来访问源存储系 统410中的数据块。在执行数据迁移期间,虚拟文件系统726可以经由如标记A-B-C所示 的路径来读取源存储系统410中的待迁移数据块,并且经由标记D所示的连接来将所读取 的数据块存储至存储设备1422、…、存储设备m 424中,以实现数据迁移。
[0073] 采用本发明的技术方案,源存储系统410可以成为目标存储系统720的外部存储, 并且由目标存储系统720来向客户端提供数据存储服务。因而,此时可以认为正在进行的 数据迁移操作是目标存储系统内的数据操作。
[0074] 在执行常规的数据迁移的技术方案时,为了确保数据一致性,源存储系统410必 须在较长时间段内停止数据存储服务。而根据本发明的技术方案,由目标存储系统720对 外提供数据存储服务,因而在数据迁移期间客户端仍然能够进行数据访问。
[0075] 具体地,图8示意性示出了根据本发明的一个实施方式的在数据迁移期间访问存 储系统中的数据的技术方案的框图800。图8中的源存储系统410和目标存储系统720与 图7中所示的内容相同,不同之处在于还示出了客户端810。客户端810可以包括应用812 和文件系统接口 814,该文件系统接口 814是支持从源存储系统410访问数据的接口。在源 存储系统410正常运行期间,客户端810直接连接至源存储系统410,并且应用812经由该 文件系统接口 814来访问源存储系统410中的数据块。
[0076] 在本发明的一个实施方式中,进一步包括:响应于检测到客户端对源存储系统的 访问请求,将访问请求引导至目标存储系统;以及由目标存储系统提供访问请求所请求的 数据块。
[0077] 在此实施方式中,可以响应于检测到客户端对源存储系统的访问请求,在客户端 810与目标存储系统720之间建立连接(如标记Η所示),并且由目标存储系统720来向客 户端810提供所访问的数据块。在此实施方式中,可以认为源存储系统410是目标存储系 统720的外部存储。
[0078] 在本发明的上下文中,还可以记录数据迁移的进度,以便掌握源存储系统410中 的哪些数据块已经完成了迁移、哪些正在迁移中、以及哪些还没有被迁移。具体地,在本发 明的一个实施方式中,经由虚拟文件系统将源存储系统中的数据块迁移至目标存储系统中 包括:针对源存储系统中的数据块,基于将数据块从源存储系统拷贝至目标存储系统的进 度,设置描述数据块的迁移状态的元数据,元数据包括"未迁移"、"迁移中"以及"已迁移"中 的至少任一项。
[0079] 本领域技术人员可以设计多种数据格式来表示元数据,例如,可以针对源存储系 统中的每个数据块设置状态指示符,并且以如下文表1所示的方式存储元数据。
[0080] 表1数据迁移的状态
[0081]

[0082] 在上文表1中仅仅示意性示出了描述数据迁移的状态的一个具体示例,本领域技 术人员还可以以其他方式来记录数据迁移的状态。例如,可以设置三个列表来分别用于保 存未迁移、迁移中和已迁移的数据块的ID。数据迁移的状态信息可以作为虚拟文件系统 726的一部分,或者还可以存储在虚拟文件系统726可以访问的存储装置中。
[0083] 在本发明的一个实施方式中,由目标存储系统提供访问请求所请求的数据块包 括:基于元数据确定所请求的数据块的迁移状态;以及基于所请求的数据块的迁移状态提 供所请求的数据块。具体而言,可以基于如上文表1中所记载的迁移状态,来确定从哪个存 储设备中提供所请求的数据块。应当注意,来自客户端的访问请求可以涉及一个或者多个 数据块,因而可以针对所请求的一个或者多个中数据块的每个数据块进行处理。
[0084] 在本发明的一个实施方式中,基于所请求的数据块的迁移状态提供所请求的数据 块包括:响应于迁移状态为"未迁移",从源存储系统的数据存储中提供所请求的数据块。
[0085] "未迁移"表示尚未将所请求的数据块从源存储系统410迁移至目标存储系统 720,由于此时源存储系统410已经成为目标存储系统720的外部存储,因而可以经由目标 存储系统720从源存储系统410中访问该所请求的数据块,并且将其提供至客户端810。
[0086] 具体操作过程请参见图8,类似于参见图7示出的方法,虚拟文件系统726可以经 由标记A-B-C所示的路径来访问源存储系统410中的数据块;继而,可以经由标记E-F-H所 示路径来向客户端810提供所请求的数据块。在此实施方
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1