《从源服务器向目标服务器复制数据对象.pdf》由会员分享,可在线阅读,更多相关《从源服务器向目标服务器复制数据对象.pdf(30页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103765817 A (43)申请公布日 2014.04.30 CN 103765817 A (21)申请号 201280041913.7 (22)申请日 2012.08.28 13/221,670 2011.08.30 US H04L 12/24(2006.01) G06F 12/16(2006.01) G06F 17/30(2006.01) (71)申请人 国际商业机器公司 地址 美国纽约阿芒克 (72)发明人 MJ安格林 DM卡农 CS道森 B弗鲁赫特曼 MA海 HN马丁 (74)专利代理机构 北京市金杜律师事务所 11256 代理人 王茂华 (54) 发明名。
2、称 从源服务器向目标服务器复制数据对象 (57) 摘要 从源服务器所管理的源存储装置向目标服务 器所管理的目标存储装置复制对象。由在源服务 器处的、 将向目标服务器复制的对象构建源列表。 查询目标服务器以获得在目标服务器处的对象的 目标列表。 构建复制列表, 该复制列表指示在源列 表上的、 未在目标列表上包括的、 将向目标服务器 传送的对象。 对于复制列表中的每个对象, 向目标 服务器发送用于尚未在目标存储装置处的对象的 数据, 并且向目标服务器发送关于对象的元数据, 以使目标服务器在目标服务器复制数据库中的用 于该对象的条目中包括元数据。向源服务器复制 数据库添加用于该对象的条目。 (30)。
3、优先权数据 (85)PCT国际申请进入国家阶段日 2014.02.27 (86)PCT国际申请的申请数据 PCT/CA2012/050593 2012.08.28 (87)PCT国际申请的公布数据 WO2013/029173 EN 2013.03.07 (51)Int.Cl. 权利要求书 7 页 说明书 13 页 附图 9 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书7页 说明书13页 附图9页 (10)申请公布号 CN 103765817 A CN 103765817 A 1/7 页 2 1. 一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置。
4、复 制对象的计算机程序产品, 所述计算机程序产品包括计算机可读存储介质, 所述计算机可 读存储介质具有在其中体现的计算机可读程序代码, 所述计算机可读程序代码执行以使所 述源服务器执行操作, 所述操作包括 : 构建在所述源服务器处的、 将向所述目标服务器复制的对象的源列表 ; 查询所述目标服务器以获得在所述目标服务器处的对象的目标列表 ; 构建复制列表, 所述复制列表指示在所述源列表上的、 未在所述目标列表上包括的、 将 向所述目标服务器传送的对象 ; 对于在所述复制列表中的每个对象, 执行 : 向所述目标服务器发送用于尚未在所述目标存储装置处的所述对象的数据 ; 向所述目标服务器发送关于所述。
5、对象的元数据以使所述目标服务器在目标服务器复 制数据库中的、 用于所述对象的条目中包括所述元数据 ; 向源服务器复制数据库添加用于所述对象的条目。 2. 根据权利要求 1 所述的计算机程序产品, 其中所述操作还包括 : 对于在所述复制列表中的每个对象, 在所述源服务器复制数据库中的、 用于所述对象 的所述条目中包括在所述源服务器处的所述对象的标识符和在所述目标服务器处的所述 对象的标识符。 3. 根据权利要求 1 所述的计算机程序产品, 其中所述操作还包括 : 对于在所述源列表和所述目标列表二者上的每个对象, 执行 : 向所述目标服务器发送用于所述对象的元数据, 以使所述目标服务器在所述目标服。
6、务 器复制数据库中的、 用于所述对象的条目中包括所述元数据 ; 以及 向所述源服务器复制数据库添加用于所述对象的条目。 4. 根据权利要求 1 所述的计算机程序产品, 其中每个对象由组块组成, 其中对于在所 述复制列表上的每个对象执行的所述操作还包括 : 确定所述对象中的组块 ; 以及 确定所述对象中的、 未在所述目标存储装置处存储的第一组块集合, 其中向所述目标 服务器发送用于所述数据对象的所述数据包括向所述目标服务器发送所确定的组块集合 以在所述目标存储装置中存储 ; 以及 确定所述对象中的、 当前在所述目标存储装置处存储的第二组块集合 ; 以及 向所述目标服务器发送在所述第二组块集合中的。
7、组块的组块标识符。 5. 根据权利要求 1 所述的计算机程序产品, 其中所述操作还包括 : 向所述目标服务器查询在所述目标服务器处的、 满足第一准则的对象的清单 ; 从所述目标服务器接收所述对象的所述清单 ; 确定在所述源服务器中的、 与来自所述目标服务器的所述清单中列举的对象匹配的对 象 ; 向所述目标服务器发送用于所确定的与所述清单中列举的对象匹配的对象的元数据, 以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述 元数据 ; 以及 向所述源服务器复制数据库添加用于所述对象的条目, 其中所构建的源列表包括在所 权 利 要 求 书 CN 103765817 A 2 。
8、2/7 页 3 述源服务器处的、 满足第二准则的待复制的对象。 6. 根据权利要求 5 所述的计算机程序产品, 其中所述第一准则包括始发待复制的所述 对象的客户端节点, 并且其中所述第二准则包括在所述客户端节点处的对象的数据类型和 文件空间中的至少一项。 7. 根据权利要求 1 所述的计算机程序产品, 其中所述操作还包括 : 确定在所述目标列表上的、 但是未在所述源列表上的待删除的对象 ; 以及 与所述目标服务器通信, 以使所述目标服务器从所述目标服务器和目标存储装置删除 所确定的待删除的对象。 8. 根据权利要求 1 所述的计算机程序产品, 其中所述源服务器和所述目标服务器提供 如下各项中的。
9、至少一项 : 分离的和独立操作的硬件和操作系统 ; 使所述目标服务器针对所 述源服务器提供热待机模式 ; 以及异质硬件和操作系统。 9. 一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复 制对象的计算机程序产品, 所述计算机程序产品包括计算机可读存储介质, 所述计算机可 读存储介质具有在其中体现的计算机可读程序代码, 所述计算机可读程序代码执行以使所 述目标服务器执行操作, 所述操作包括 : 从所述源服务器接收对于在所述目标服务器处的对象的目标列表的查询 ; 向所述源服务器发送在所述目标服务器处的所述对象的所述目标列表 ; 从所述源服务器接收用于将在所述目标存储装置中存储。
10、的对象的数据 ; 从所述源服务器接收用于针对待复制的所述对象接收的所述数据的元数据 ; 以及 对于针对其接收到数据的每个对象, 向目标服务器复制数据库添加条目, 所述条目包 括针对所述对象接收的所述元数据。 10. 根据权利要求 9 所述的计算机程序产品, 其中所述操作还包括 : 对于在所述目标服务器复制数据库中的、 用于每个对象的所述条目包括 : 在所述源服 务器处的所述对象的标识符和在所述目标服务器处的所述对象的标识符。 11. 根据权利要求 9 所述的计算机程序产品, 其中所述操作还包括 : 对于已经在所述目标存储装置中存储的、 待复制的每个对象从所述源服务器接收元数 据 ; 以及 向所。
11、述目标服务器复制数据库添加用于已经在所述目标存储装置中存储的、 待复制的 每个对象的条目, 所述条目包括所接收的用于所述对象的元数据。 12. 根据权利要求 9 所述的计算机程序产品, 其中每个对象由组块组成, 其中接收用于 至少一个对象的所述数据包括 : 仅从所述源服务器接收用于所述对象的、 尚未在所述目标 存储装置中存储的那些组块, 其中所述操作还包括 : 从所述源服务器接收所述对象中的、 当前在所述目标存储装置中存储的组块的列表 ; 以及 对于每个如下对象, 针对该对象从所述目标服务器接收到少于所述对象中的所有组块 的组块, 在所述目标服务器复制数据库中的、 用于所述对象的所述条目中指示。
12、指向所述组 块的列表中的、 已经在所述目标存储装置中存储的所述组块的链接。 13. 根据权利要求 9 所述的计算机程序产品, 其中所述操作还包括 : 从所述源服务器接收对于在所述目标服务器处的、 满足第一准则的对象的清单的查 权 利 要 求 书 CN 103765817 A 3 3/7 页 4 询 ; 向所述源服务器发送在所述目标服务器处的、 满足所述第一准则的所述对象的所述清 单 ; 接收用于在所述源服务器处的、 与所述清单中列举的对象匹配的对象的元数据 ; 以及 针对与所述清单中列举的对象匹配的所述对象、 对于针对其接收到元数据的每个对 象, 向所述目标服务器复制数据库添加条目, 其中所述。
13、条目包括用于所述对象的所述元数 据, 其中所述目标列表包括在所述目标服务器处的、 满足第二准则的对象。 14. 根据权利要求 9 所述的计算机程序产品, 其中多个源服务器被复制到所述目标服 务器。 15. 根据权利要求 9 所述的计算机程序产品, 其中所述操作还包括 : 维护在所述目标存储装置中存储的对象的组 ; 以及 响应于确定已经在所述目标服务器处接收到所述对象的组中的并非所有对象, 而将所 述对象的组指示为不完整, 其中在恢复操作期间不使被指示为不完整的所述对象的组可用 于客户端节点。 16. 根据权利要求 15 所述的计算机程序产品, 其中所述操作还包括 : 接收用于被指示为不完整的所。
14、述对象的组的对象 ; 以及 响应于已经接收到所述对象的组中的所有对象, 而将所述对象的组指示为完整, 其中 在恢复操作期间使被指示为完整的所述组中的对象可用于所述客户端节点。 17. 一种用于从源存储装置向目标服务器所管理的目标存储装置复制对象的系统, 所 述系统包括 : 处理器 ; 以及 具有代码的计算机可读存储介质, 所述代码由所述处理器执行以执行操作, 所述操作 包括 : 构建在所述源存储装置处的、 将向所述目标服务器复制的对象的源列表 ; 查询所述目标服务器以获得在所述目标服务器处的对象的目标列表 ; 构建复制列表, 所述复制列表指示在所述源列表上的、 未在所述目标列表上包括的、 将 。
15、向所述目标服务器传送的对象 ; 对于在所述复制列表中的每个对象, 执行 : 向所述目标服务器发送用于尚未在所述目标存储装置处的所述对象的数据 ; 向所述目标服务器发送关于所述对象的元数据, 以使所述目标服务器在目标服务器复 制数据库中的用于所述对象的条目中包括所述元数据 ; 向源服务器复制数据库添加用于所述对象的条目。 18. 根据权利要求 17 所述的系统, 其中所述操作还包括 : 对于在所述源列表和所述目标列表二者上的每个对象, 执行 : 向所述目标服务器发送用于所述对象的元数据, 以使所述目标服务器在所述目标服务 器复制数据库中的用于所述对象的条目中包括所述元数据 ; 以及 向所述源服务。
16、器复制数据库添加用于所述对象的条目。 19. 根据权利要求 17 所述的系统, 其中每个对象由组块组成, 其中对于所述复制列表 上的每个对象执行的所述操作还包括 : 确定所述对象中的组块 ; 以及 权 利 要 求 书 CN 103765817 A 4 4/7 页 5 确定所述对象中的、 未在所述目标存储装置处存储的第一组块集合, 其中向所述目标 服务器发送用于所述数据对象的所述数据包括 : 向所述目标服务器发送所确定的组块集合 以在所述目标存储装置中存储 ; 以及 确定所述对象中的、 当前在所述目标存储装置处存储的第二组块集合 ; 以及 向所述目标服务器发送在所述第二组块集合中的组块的组块标识。
17、符。 20. 根据权利要求 17 所述的系统, 其中所述操作还包括 : 向所述目标服务器查询在所述目标服务器处的、 满足第一准则的对象的清单 ; 从所述目标服务器接收所述对象的所述清单 ; 确定在所述源服务器中的、 与来自所述目标服务器的所述清单中列举的对象匹配的对 象 ; 向所述目标服务器发送用于所确定的与所述清单中列举的对象匹配的对象的元数据, 以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述 元数据 ; 以及 向所述源服务器复制数据库添加用于所述对象的条目, 其中所构建的源列表包括在所 述源服务器处的、 满足第二准则的待复制的对象。 21. 根据权利要求 17。
18、 所述的系统, 其中所述操作还包括 : 确定在所述目标列表上的、 但是未在所述源列表上的待删除的对象 ; 以及 与所述目标服务器通信, 以使所述目标服务器从所述目标服务器和目标存储装置删除 所确定的待删除的对象。 22. 一种用于从源服务器所管理的源存储装置向目标存储装置复制对象的系统, 所述 系统包括 : 处理器 ; 以及 具有代码的计算机可读存储介质, 所述代码由所述处理器执行以执行操作, 所述操作 包括 : 从所述源服务器接收对于在所述目标服务器处的对象的目标列表的查询 ; 向所述源服务器发送在所述目标服务器处的所述对象的所述目标列表 ; 从所述源服务器接收用于将在所述目标存储装置中存储。
19、的对象的数据 ; 从所述源服务器接收用于针对待复制的所述对象接收的所述数据的元数据 ; 以及 对于针对其接收到数据的每个对象向目标服务器复制数据库添加条目, 所述条目包括 针对所述对象接收的所述元数据。 23. 根据权利要求 22 所述的系统, 其中所述操作还包括 : 对于已经在所述目标存储装置中存储的待复制的每个对象, 从所述源服务器接收元数 据 ; 以及 向所述目标服务器复制数据库添加用于已经在所述目标存储装置中存储的待复制的 每个对象的条目, 所述条目包括所接收的用于所述对象的元数据。 24. 根据权利要求 22 所述的系统, 其中每个对象由组块组成, 其中接收用于至少一个 对象的所述数。
20、据包括 : 仅从所述源服务器接收用于所述对象的、 尚未在所述目标存储装置 中存储的那些组块, 其中所述操作还包括 : 从所述源服务器接收所述对象中的、 当前在所述目标存储装置中存储的组块的列表 ; 权 利 要 求 书 CN 103765817 A 5 5/7 页 6 以及 对于每个如下对象, 针对该对象从所述目标服务器接收到少于所述对象中的所有组块 的组块, 在所述目标服务器复制数据库中的用于所述对象的所述条目中指示指向所述组块 列表中的、 已经在所述目标存储装置中存储的所述组块的链接。 25. 根据权利要求 22 所述的系统, 其中所述操作还包括 : 从所述源服务器接收对于在所述目标服务器处。
21、的、 满足第一准则的对象的清单的查 询 ; 向所述源服务器发送在所述目标服务器处的、 满足所述第一准则的所述对象的所述清 单 ; 接收用于在所述源服务器处的、 与所述清单中列举的对象匹配的对象的元数据 ; 以及 针对与所述清单中列举的对象匹配的所述对象、 对于针对其接收到元数据的每个对 象, 向所述目标服务器复制数据库添加条目, 其中所述条目包括用于所述对象的所述元数 据, 其中所述目标列表包括在所述目标服务器处的、 满足第二准则的对象。 26. 根据权利要求 22 所述的系统, 其中所述操作还包括 : 维护在所述目标存储装置中存储的对象的组 ; 以及 响应于确定已经在所述目标服务器处接收到所。
22、述对象的组中的并非所有对象, 而将所 述对象的组指示为不完整, 其中在恢复操作期间不使被指示为不完整的所述对象的组可用 于客户端节点。 27. 一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复 制对象的方法, 包括 : 构建在所述源服务器处的、 将向所述目标服务器复制的对象的源列表 ; 查询所述目标服务器以获得在所述目标服务器处的对象的目标列表 ; 构建复制列表, 所述复制列表指示在所述源列表上的、 未在所述目标列表上包括的、 将 向所述目标服务器传送的对象 ; 对于在所述复制列表中的每个对象, 执行 : 向所述目标服务器发送用于尚未在所述目标存储装置处的所述对象的数据 。
23、; 向所述目标服务器发送关于所述对象的元数据, 以使所述目标服务器在目标服务器复 制数据库中的用于所述对象的条目中包括所述元数据 ; 向源服务器复制数据库添加用于所述对象的条目。 28. 根据权利要求 27 所述的方法, 还包括 : 对于在所述源列表和所述目标列表二者上的每个对象, 执行 : 向所述目标服务器发送用于所述对象的元数据, 以使所述目标服务器在所述目标服务 器复制数据库中的用于所述对象的条目中包括所述元数据 ; 以及 向所述源服务器复制数据库添加用于所述对象的条目。 29. 根据权利要求 27 所述的方法, 其中每个对象由组块组成, 其中对于在所述复制列 表上的每个对象执行的所述操。
24、作还包括 : 确定所述对象中的组块 ; 以及 确定所述对象中的、 未在所述目标存储装置处存储的第一组块集合, 其中向所述目标 服务器发送用于所述数据对象的所述数据包括 : 向所述目标服务器发送所确定的组块集合 权 利 要 求 书 CN 103765817 A 6 6/7 页 7 以在所述目标存储装置中存储 ; 以及 确定所述对象中的、 当前在所述目标存储装置处存储的第二组块集合 ; 以及 向所述目标服务器发送在所述第二组块集合中的组块的组块标识符。 30. 根据权利要求 27 所述的方法, 还包括 : 向所述目标服务器查询在所述目标服务器处的、 满足第一准则的对象的清单 ; 从所述目标服务器接。
25、收所述对象的所述清单 ; 确定在所述源服务器中的、 与来自所述目标服务器的所述清单中列举的对象匹配的对 象 ; 向所述目标服务器发送用于所确定的与所述清单中列举的对象匹配的对象的元数据, 以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述 元数据 ; 以及 向所述源服务器复制数据库添加用于所述对象的条目, 其中所构建的源列表包括在所 述源服务器处的、 满足第二准则的待复制的对象。 31. 根据权利要求 27 所述的方法, 还包括 : 确定在所述目标列表上的、 但是未在所述源列表上的待删除的对象 ; 以及 与所述目标服务器通信以使所述目标服务器从所述目标服务器和目标存储。
26、装置删除 所确定的待删除的对象。 32. 一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复 制对象的方法, 包括 : 从所述源服务器接收对于在所述目标服务器处的对象的目标列表的查询 ; 向所述源服务器发送在所述目标服务器处的所述对象的所述目标列表 ; 从所述源服务器接收用于将在所述目标存储装置中存储的对象的数据 ; 从所述源服务器接收用于针对待复制的所述对象接收的所述数据的元数据 ; 以及 对于针对其接收到数据的每个对象, 向目标服务器复制数据库添加条目, 所述条目包 括针对所述对象接收的所述元数据。 33. 根据权利要求 32 所述的方法, 还包括 : 对于已经在所述目。
27、标存储装置中存储的待复制的每个对象, 从所述源服务器接收元数 据 ; 以及 向所述目标服务器复制数据库添加用于已经在所述目标存储装置中存储的待复制的 每个对象的条目, 所述条目包括所接收的用于所述对象的元数据。 34. 根据权利要求 32 所述的方法, 其中每个对象由组块组成, 其中接收用于至少一个 对象的所述数据包括 : 仅从所述源服务器接收用于所述对象的、 尚未在所述目标存储装置 中存储的那些组块, 所述方法还包括 : 从所述源服务器接收所述对象中的、 当前在所述目标存储装置中存储的组块的列表 ; 以及 对于每个如下对象, 针对该对象从所述目标服务器接收到少于所述对象中的所有组块 的组块,。
28、 在所述目标服务器复制数据库中的用于所述对象的所述条目中指示指向所述组块 列表中的、 已经在所述目标存储装置中存储的所述组块的链接。 35. 根据权利要求 32 所述的方法, 还包括 : 权 利 要 求 书 CN 103765817 A 7 7/7 页 8 从所述源服务器接收对于在所述目标服务器处的、 满足第一准则的对象的清单的查 询 ; 向所述源服务器发送在所述目标服务器处的、 满足所述第一准则的所述对象的所述清 单 ; 接收用于在所述源服务器处的、 与所述清单中列举的对象匹配的对象的元数据 ; 以及 针对与所述清单中列举的对象匹配的所述对象、 对于针对其接收到元数据的每个对 象, 向所述目。
29、标服务器复制数据库添加条目, 其中所述条目包括用于所述对象的所述元数 据, 其中所述目标列表包括在所述目标服务器处的、 满足第二准则的对象。 36. 根据权利要求 32 所述的方法, 还包括 : 维护在所述目标存储装置中存储的对象的组 ; 以及 响应于确定已经在所述目标服务器处接收到所述对象的组中的并非所有对象, 而将所 述对象的组指示为不完整, 其中在恢复操作期间不使被指示为不完整的所述对象的组可用 于客户端节点。 权 利 要 求 书 CN 103765817 A 8 1/13 页 9 从源服务器向目标服务器复制数据对象 技术领域 0001 本发明涉及一种用于从源服务器向目标服务器复制数据对。
30、象的计算机程序产品、 系统和方法。 背景技术 0002 数据复制被用来从一个服务器向另一服务器复制属于多个节点的数据, 使得如果 数据正在被备份到的主源服务器停用, 则客户端可以从复制站点恢复他们的数据。存储管 理服务器、 诸如存储管理器 (TSM) 在一个或者多个存储池中存储数据对象并且使 用数据库来跟踪关于存储的对象的元数据。 (Tivoli 是国际商业机器公司的全球商标) 。存 储管理服务器可以出于灾难恢复目的而向远程位置复制数据对象。用来向远程位置传送 数据的方法中的一些方法包括从源站点向灾难恢复站点物理地传输包含数据的副本的带 (tape) 、 电子传送数据 (TSM 导出 / 导入。
31、) 或者使用源站点盘存储装置的硬件复制以创建数 据的镜像。可用复制硬件设备包括使用去重复 (deduplication) 硬件来执行块级复制的虚 拟带库 (VTL) 产品。 0003 数据去重复是一种用于消除冗余数据以提高存储利用率的数据压缩技术。 去重复 减少所需存储容量, 这是因为仅唯一数据单元 (也被称为组块或者区段 (extent) ) 的一个副 本被存储。基于盘的存储系统、 诸如存储管理服务器和虚拟带库 (VTL) 可以实施去重复技 术以检测冗余数据组块并且通过避免这样的组块的冗余存储来减少重复。 0004 去重复系统通过将文件划分成一系列组块或者区段来进行操作。 去重复系统确定 是。
32、否已经存储了组块中的任何组块、 然后继续仅存储那些非冗余组块。可以关于正被存储 的文件中的组块或者已经存储于系统中的组块来检查冗余性。 0005 在本领域中需要用于从一个服务器向另一服务器复制对象的改进的技术。 发明内容 0006 提供了一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存 储装置复制数据对象的计算机程序产品、 系统和方法。 源列表由在源服务器处的、 将向目标 服务器复制的对象构建。查询目标服务器以获得在目标服务器处的对象的目标列表。构建 复制列表, 该复制列表指示在源列表上的、 未被包括在目标列表上的、 将向目标服务器传送 的对象。对于在复制列表中的每个对象, 向目。
33、标服务器发送用于尚未在目标存储装置处的 对象的数据, 并且向目标服务器发送关于该对象的元数据, 以使目标服务器在目标服务器 复制数据库中的用于该对象的条目中包括该元数据。 向源服务器复制数据库添加用于该对 象的条目。 0007 在又一实施例中, 从源服务器接收对于在目标服务器处的对象的目标列表的查 询。向源服务器发送在目标服务器处的对象的目标列表。从源服务器接收用于在目标存 储装置中存储的对象的数据。 从源服务器接收用于针对待复制的对象而接收的数据的元数 据。 对于针对其接收到数据的每个对象, 向目标服务器复制数据库添加条目, 该条目包括针 说 明 书 CN 103765817 A 9 2/1。
34、3 页 10 对该对象接收到的元数据。 附图说明 0008 图 1 图示其中对实施例进行实施的计算环境。 0009 图 2 图示对象信息的一个实施例。 0010 图 3 图示源和目标复制数据库条目的一个实施例。 0011 图 4 图示组块存储信息条目的一个实施例。 0012 图 5 图示组块索引条目的一个实施例。 0013 图 6、 图 7a 和图 7b 图示用于处理复制请求的操作的一个实施例。 0014 图 8 图示用于使用去重复来复制对象的操作的一个实施例。 0015 图 9 图示在网络计算实施例中的节点的实现方式。 0016 图 10 图示云计算环境的一个实施例。 0017 图 11 图。
35、示云计算环境的抽象模型层的一个实施例。 具体实施方式 0018 所描述的实施例以通过避免传输已经在目标服务器中可用的数据来更优地利用 传输带宽的方式, 从源服务器向目标服务器复制数据对象。源服务器还发送关于具有已经 在目标服务器处可用的数据或者组块的对象的元数据, 以使目标服务器对于已经在目标服 务器处可用的对象, 向复制数据库添加条目并且保证数据和元数据的一致性。所描述的实 施例允许用户提供复制准则, 以允许在对象级选择和过滤待复制的对象。更多实施例还采 用去重复以避免额外发送正在被复制的对象中已经在目标服务器上存储的组块。 0019 图 1 图示具有源服务器 4a 和目标服务器 4b 的计。
36、算环境 2 的一个实施例, 该源服 务器和该目标服务器分别包括用于向目标存储装置8b复制用于源存储装置8a处的对象的 数据的源复制管理器 6a 和目标复制管理器 6b。任一服务器 4a、 4b 设备可以作为源服务器 和目标服务器工作。可以代表连接到源服务器 4a 的客户端节点执行复制以复制客户端节 点所拥有的对象。源服务器 4a 和目标服务器 4b 维护如分别在对象信息 10a 和 10b 中定义 的数据对象。分别在源存储装置 8a 和目标存储装置 8b 中维护用于数据对象的数据, 其可 以具有被称为组块 12a、 12b 的、 分离数据单元的形式。每个服务器 4a、 4b 维护组块存储信 息。
37、 14a、 14b, 该组块存储信息指示在对象信息 10a、 10b 中定义的数据对象的组块在存储装 置 8a、 8b 中所处的位置。对象信息 10a、 10b 包括用于每个定义的数据对象的元数据或者条 目, 这些元数据或者条目包括向每个对象指配的数据的组块 12a、 12b 的有序列表。 0020 源服务器4a和目标服务器4b分别维护源复制数据库16a和目标复制数据库16b, 其具有关于代表客户端节点向目标服务器4b复制的、 在源服务器4a处的数据对象的信息。 源服务器 4a 还维护和使用 : 具有在源服务器 4a 上的待复制的对象的源列表 30, 这些对象 满足复制准则, 诸如拥有客户端节。
38、点、 在客户端节点处的文件空间和数据类型 ; 具有在目标 服务器 4b 上的、 满足复制准则的对象的目标列表 32 ; 在目标服务器 4b 中的对象的目标清 单 34, 包括用于唯一地标识对象的唯一标识符或者属性 ; 以及在源列表 30 上的、 未在目标 列表 32 上的、 将向目标服务器 4b 复制的文件的复制列表 36。用来构建目标清单 34 的准则 可以比复制准则更宽泛或者与复制准则相同。 说 明 书 CN 103765817 A 10 3/13 页 11 0021 去重复部件 24 提供去重复服务用于源服务器 4a 和目标 4b 服务器以保证在源服 务器 4a 或者目标服务器 4b 发。
39、送对象数据时, 不重新发送已经在接收服务器 4a、 4b 中存在 的重复组块。去重复部件 24 包括用于执行去重复操作的去重复管理器 26 和提供关于已经 被指配给对象的组块12a、 12b的信息的组块索引28, 诸如去重复索引。 去重复管理器26保 证在源4a服务器与目标4b服务器之间传送数据对象时、 在源8a存储装置和目标8b存储装 置中仅维护每个组块的一个副本, 尽管可以在针对管理一个存储装置 8a、 8b 的服务器 4a、 4b 定义的多个数据对象中包括该存储装置中的一个组块。去重复管理器 26 也可以维护对 象信息10c, 该对象信息具有关于向源4a服务器和目标4b服务器中的对象的组。
40、块指配的信 息。 0022 为了执行去重复, 在数据对象中具有新的或者未改变的组块时, 源复制管理器 6a 或者其它部件可以从数据库获得用于该组块的哈希, 诸如组块存储信息 14a、 14b。在一个 备选实施例中, 源复制管理器 6a 可以计算该哈希。源复制管理器 6a 向去重复管理器 26 传 递用于组块的被访问的哈希以确定组块索引 28 是否具有匹配哈希。如果否, 则去重复管理 器 26 向源复制管理器 6a 通知组块是新的, 并且源复制管理器 6a 向目标服务器 4b 发送数 据对象中的新的或者改变的组块的完全副本以在目标存储装置 8b 中存储。否则, 如果组块 索引 28 具有哈希的匹。
41、配副本, 则源复制管理器 6a 无需传送该组块的完全副本。取而代之, 源复制管理器 6a 可以传送用于该组块的摘要 (digest) 及其在对象中的位置。备选地, 源 复制管理器 6a 可以与去重复部件 24 交互以确定它是否需要向目标服务器 4b 发送组块。 0023 在一个源侧去重复实施例中, 源复制管理器 6a 与去重复管理器 26 通信以确定是 否需要向目标服务器 4b 发送组块, 从而向目标服务器 4b 仅发送如在目标存储装置 8b 中的 组块索引 28 中尚未指示的新组块。在一个目标侧去重复实施例中, 源服务器 4a 向目标服 务器 4b 发送待复制的数据对象的所有组块, 并且目标。
42、复制管理器 6b 请求去重复部件 24 确 定哪些组块是需要在目标存储装置 8a 中存储的新组块。 0024 可以在通过网络、 诸如局域网 (LAN) 、 存储区域网络 (SAN) 、 广域网 (WAN) 等通信的 分离计算机设备中实施源服务器 4a、 目标服务器 4b 和去重复部件 24。在更多实施例中, 可 以在一个或者两个计算机系统上实施源服务器4a、 目标服务器4b和/或去重复部件24。 如 果源服务器4a、 目标服务器4b和/或去重复部件24在相同系统中, 则它们可以通过总线或 者经由存储器通信。 0025 可以在本领域已知的一个或者多个存储设备、 诸如互连的硬盘驱动 (例如, 配置。
43、为 DASD、 RAID、 JBOD 等) 、 固态存储设备 (例如, EEPROM (电可擦除可编程只读存储器) ) 、 闪存、 闪 速盘、 存储类存储器 (SCM) 、 电子存储器、 磁带介质、 带盒等中配置源 8a 存储装置和目标 8b 存储装置。 0026 源复制管理器 6a、 目标复制管理器 6b 和去重复管理器 26 可以在存储器中包括处 理器所执行的软件程序。在一个备选实施例中, 可以在硬件部件, 诸如专用集成电路、 例如 专用集成电路 (ASIC) 、 扩展卡等中实施程序 6a、 6b 和 26 的一些部分或者全部。 0027 虽然将源复制管理器6a、 目标复制管理器6b和去重。
44、复管理器26示出为分离部件, 但是在备选实现方式中, 可以在单个计算机系统中的单个程序部件中或者在多于两个计算 机设备中的多于两个程序部件中实施这些部件 6a、 6b 和 26 所执行的功能。例如, 可以在源 服务器 4a 和目标服务器 4b 或者源复制管理器 6a 或者目标复制管理器 6b 部件的部分处分 说 明 书 CN 103765817 A 11 4/13 页 12 离地实施去重复部件 24。在其中在每个服务器 4a、 4b 中分离地实施去重复部件 24 的实施 例中, 每个服务器 4a、 4b 可以具有它自己的去重复部件 24 并且维护对象信息 10c 和组块索 引 28。 0028。
45、 源6a复制管理器和目标6b复制管理器可以由客户端节点用来恢复对象以作为恢 复操作的一部分。 0029 图 2 图示在对象信息 10a、 10b、 10c 中维护的用于一个对象的对象信息 50 的一个 实施例。用于一个对象的对象信息 50 包括对象的标识符 (ID) 52 和用于向对象 52 指配的 数据的一个或者多个组块 54a、 54b.54n 的标识信息。对象信息 50 可以维护对组块的引 用的有序列表 (C1.Cn) , 该列表指示组块在数据对象中出现的顺序 1.n。对于每个组块 (Ci) , 对象信息 54i 维护组块的摘要 (di) 和组块的长度 (li) 。以该方式, 对象信息 。
46、50 提供 对在数据对象中包括的组块的引用, 诸如摘要和长度、 但是并非实际数据。 可以通过处理组 块以生成用于该组块的唯一值来计算摘要 (d) 。例如, 在一个实施例中, 摘要可以包括密码 摘要, 诸如 MD5(消息摘要算法 5) 或者 SHA-1(安全哈希算法 1) , 该密码摘要计算数据对象 中的每个组块的密码哈希。 0030 图 3 图示源 16a 复制数据库和目标 16b 复制数据库中的用于正从源服务器 4a 向 目标服务器 4b 复制的每个对象的条目 60 的一个实施例。条目 60 包括对象标识符 (ID) 62 ; 对象唯一属性 64, 该对象唯一属性提供对象的唯一标识符, 诸如。
47、签名、 哈希值或者唯一命名 约定 ; 服务器标识符 (ID) 66, 该服务器标识符包括维护对象 62 的服务器 4a、 4b 的标识符 ; 复制服务器 ID68, 该复制服务器 ID 标识复制关系中的另一服务器 4a、 4b(例如, 在源复制 数据库 16a 中的条目 60 对于字段 68 具有目标服务器 4b 的标识符, 并且在目标复制数据库 16b 中的条目 60 对于字段 68 具有源服务器 4a 的标识符) ; 复制的对象 ID70, 该复制的对象 ID标识向复制服务器68中的对象指配的标识符 ; 服务器节点标识符 (ID) 72, 该服务器节点 标识符提供拥有对象60的客户端节点的。
48、源服务器4a标识符 ; 文件空间ID74的源服务器4a 标识符, 该文件空间 ID 标识包括对象 60 的文件空间 ; 复制服务器节点 ID76, 该复制服务器 节点 ID 包括目标服务器 4b、 即复制服务器向拥有对象 60 的客户端节点指配的标识符 ; 复 制服务器文件空间 ID78, 该复制服务器文件空间 ID 包括目标服务器 4b(复制服务器) 向包 括对象 60 的文件空间指配的标识符 ; 以及数据类型 ID80, 该数据类型 ID 标识对象 60 的数 据类型。 0031 因此, 在某些实施例中, 每个服务器 4a、 4b 分别指配它自己的用于节点 72 和 76 以 及文件空间 。
49、74 和 78 的 ID。 0032 图 4 图示源服务器 4a 和目标服务器 4b 在它们各自的组块存储信息 14a、 14b 中维 护的、 用于在它们所管理的相应存储装置 8a、 8b 中被维护的每个组块 12a、 12b 的组块存储 信息条目 81 的一个实施例。组块存储条目信息 81 包括组块 ID82 ; 标识的组块在存储装置 8a、 8b中的存储位置84, 诸如逻辑或者物理地址, 该存储位置标识组块在存储装置8a、 8b中 存储于何处 ; 以及引用计数 86, 该引用计数指示在源 4a 服务器或者目标 4b 服务器处引用 组块的对象的数目。未在任何对象中被引用的、 取消引用的组块 12a、 12b 具有为零的引用 计数 86 并且如果在存储装置 8a、 8b 中需要空间则可以有资格删除该取消引用的组块。 0033 图 5 图示去重复管理器 26 在用于在存储装置 8a、 8b 中存储的每个组块 12a、 12b 的组块索引 28 中维护的去重复索引条目 90 的一个实施例。索引条目 90 包括存储装置 8a、 说 明 书 CN 103765817 A 12 5/13 页 13 8b 中的组块的组块标识符 (ID)。