从源服务器向目标服务器复制数据对象制造技术

技术编号:9995549 阅读:125 留言:0更新日期:2014-05-02 20:54
从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复制对象。由在源服务器处的、将向目标服务器复制的对象构建源列表。查询目标服务器以获得在目标服务器处的对象的目标列表。构建复制列表,该复制列表指示在源列表上的、未在目标列表上包括的、将向目标服务器传送的对象。对于复制列表中的每个对象,向目标服务器发送用于尚未在目标存储装置处的对象的数据,并且向目标服务器发送关于对象的元数据,以使目标服务器在目标服务器复制数据库中的用于该对象的条目中包括元数据。向源服务器复制数据库添加用于该对象的条目。

【技术实现步骤摘要】
【国外来华专利技术】从源服务器向目标服务器复制数据对象的系统和方法
本专利技术涉及一种用于从源服务器向目标服务器复制数据对象的计算机程序产品、系统和方法。
技术介绍
数据复制被用来从一个服务器向另一服务器复制属于多个节点的数据,使得如果数据正在被备份到的主源服务器停用,则客户端可以从复制站点恢复他们的数据。存储管理服务器、诸如存储管理器(TSM)在一个或者多个存储池中存储数据对象并且使用数据库来跟踪关于存储的对象的元数据。(Tivoli是国际商业机器公司的全球商标)。存储管理服务器可以出于灾难恢复目的而向远程位置复制数据对象。用来向远程位置传送数据的方法中的一些方法包括从源站点向灾难恢复站点物理地传输包含数据的副本的带(tape)、电子传送数据(TSM导出/导入)或者使用源站点盘存储装置的硬件复制以创建数据的镜像。可用复制硬件设备包括使用去重复(deduplication)硬件来执行块级复制的虚拟带库(VTL)产品。数据去重复是一种用于消除冗余数据以提高存储利用率的数据压缩技术。去重复减少所需存储容量,这是因为仅唯一数据单元(也被称为组块或者区段(extent))的一个副本被存储。基于盘的存储系统、诸如存储管理服务器和虚拟带库(VTL)可以实施去重复技术以检测冗余数据组块并且通过避免这样的组块的冗余存储来减少重复。去重复系统通过将文件划分成一系列组块或者区段来进行操作。去重复系统确定是否已经存储了组块中的任何组块、然后继续仅存储那些非冗余组块。可以关于正被存储的文件中的组块或者已经存储于系统中的组块来检查冗余性。在本领域中需要用于从一个服务器向另一服务器复制对象的改进的技术。
技术实现思路
提供了一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复制数据对象的计算机程序产品、系统和方法。源列表由在源服务器处的、将向目标服务器复制的对象构建。查询目标服务器以获得在目标服务器处的对象的目标列表。构建复制列表,该复制列表指示在源列表上的、未被包括在目标列表上的、将向目标服务器传送的对象。对于在复制列表中的每个对象,向目标服务器发送用于尚未在目标存储装置处的对象的数据,并且向目标服务器发送关于该对象的元数据,以使目标服务器在目标服务器复制数据库中的用于该对象的条目中包括该元数据。向源服务器复制数据库添加用于该对象的条目。在又一实施例中,从源服务器接收对于在目标服务器处的对象的目标列表的查询。向源服务器发送在目标服务器处的对象的目标列表。从源服务器接收用于在目标存储装置中存储的对象的数据。从源服务器接收用于针对待复制的对象而接收的数据的元数据。对于针对其接收到数据的每个对象,向目标服务器复制数据库添加条目,该条目包括针对该对象接收到的元数据。附图说明图1图示其中对实施例进行实施的计算环境。图2图示对象信息的一个实施例。图3图示源和目标复制数据库条目的一个实施例。图4图示组块存储信息条目的一个实施例。图5图示组块索引条目的一个实施例。图6、图7a和图7b图示用于处理复制请求的操作的一个实施例。图8图示用于使用去重复来复制对象的操作的一个实施例。图9图示在网络计算实施例中的节点的实现方式。图10图示云计算环境的一个实施例。图11图示云计算环境的抽象模型层的一个实施例。具体实施方式所描述的实施例以通过避免传输已经在目标服务器中可用的数据来更优地利用传输带宽的方式,从源服务器向目标服务器复制数据对象。源服务器还发送关于具有已经在目标服务器处可用的数据或者组块的对象的元数据,以使目标服务器对于已经在目标服务器处可用的对象,向复制数据库添加条目并且保证数据和元数据的一致性。所描述的实施例允许用户提供复制准则,以允许在对象级选择和过滤待复制的对象。更多实施例还采用去重复以避免额外发送正在被复制的对象中已经在目标服务器上存储的组块。图1图示具有源服务器4a和目标服务器4b的计算环境2的一个实施例,该源服务器和该目标服务器分别包括用于向目标存储装置8b复制用于源存储装置8a处的对象的数据的源复制管理器6a和目标复制管理器6b。任一服务器4a、4b设备可以作为源服务器和目标服务器工作。可以代表连接到源服务器4a的客户端节点执行复制以复制客户端节点所拥有的对象。源服务器4a和目标服务器4b维护如分别在对象信息10a和10b中定义的数据对象。分别在源存储装置8a和目标存储装置8b中维护用于数据对象的数据,其可以具有被称为组块12a、12b的、分离数据单元的形式。每个服务器4a、4b维护组块存储信息14a、14b,该组块存储信息指示在对象信息10a、10b中定义的数据对象的组块在存储装置8a、8b中所处的位置。对象信息10a、10b包括用于每个定义的数据对象的元数据或者条目,这些元数据或者条目包括向每个对象指配的数据的组块12a、12b的有序列表。源服务器4a和目标服务器4b分别维护源复制数据库16a和目标复制数据库16b,其具有关于代表客户端节点向目标服务器4b复制的、在源服务器4a处的数据对象的信息。源服务器4a还维护和使用:具有在源服务器4a上的待复制的对象的源列表30,这些对象满足复制准则,诸如拥有客户端节点、在客户端节点处的文件空间和数据类型;具有在目标服务器4b上的、满足复制准则的对象的目标列表32;在目标服务器4b中的对象的目标清单34,包括用于唯一地标识对象的唯一标识符或者属性;以及在源列表30上的、未在目标列表32上的、将向目标服务器4b复制的文件的复制列表36。用来构建目标清单34的准则可以比复制准则更宽泛或者与复制准则相同。去重复部件24提供去重复服务用于源服务器4a和目标4b服务器以保证在源服务器4a或者目标服务器4b发送对象数据时,不重新发送已经在接收服务器4a、4b中存在的重复组块。去重复部件24包括用于执行去重复操作的去重复管理器26和提供关于已经被指配给对象的组块12a、12b的信息的组块索引28,诸如去重复索引。去重复管理器26保证在源4a服务器与目标4b服务器之间传送数据对象时、在源8a存储装置和目标8b存储装置中仅维护每个组块的一个副本,尽管可以在针对管理一个存储装置8a、8b的服务器4a、4b定义的多个数据对象中包括该存储装置中的一个组块。去重复管理器26也可以维护对象信息10c,该对象信息具有关于向源4a服务器和目标4b服务器中的对象的组块指配的信息。为了执行去重复,在数据对象中具有新的或者未改变的组块时,源复制管理器6a或者其它部件可以从数据库获得用于该组块的哈希,诸如组块存储信息14a、14b。在一个备选实施例中,源复制管理器6a可以计算该哈希。源复制管理器6a向去重复管理器26传递用于组块的被访问的哈希以确定组块索引28是否具有匹配哈希。如果否,则去重复管理器26向源复制管理器6a通知组块是新的,并且源复制管理器6a向目标服务器4b发送数据对象中的新的或者改变的组块的完全副本以在目标存储装置8b中存储。否则,如果组块索引28具有哈希的匹配副本,则源复制管理器6a无需传送该组块的完全副本。取而代之,源复制管理器6a可以传送用于该组块的摘要(digest)及其在对象中的位置。备选地,源复制管理器6a可以与去重复部件24交互以确定它是否需要向目标服务器4b发送组块。在一个源侧去重复实施例中,本文档来自技高网
...
从源服务器向目标服务器复制数据对象

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2011.08.30 US 13/221,6701.一种用于从源存储装置向目标服务器所管理的目标存储装置复制对象的系统,所述系统包括:处理器;以及被配置为构建在所述源存储装置处的、将向所述目标服务器复制的对象的源列表的模块;被配置为查询所述目标服务器以获得在所述目标服务器处的对象的满足复制准则的目标列表的模块;被配置为构建复制列表的模块,所述复制列表指示在所述源列表上的、未在所述目标列表上包括的、将向所述目标服务器传送的对象;被配置为对于在所述复制列表中的每个对象,执行如下操作的模块:向所述目标服务器发送用于尚未在所述目标存储装置处的所述对象的数据;向所述目标服务器发送关于所述对象的元数据,以使所述目标服务器在目标服务器复制数据库中的用于所述对象的条目中包括所述元数据;向源服务器复制数据库添加用于所述对象的条目。2.根据权利要求1所述的系统,还包括:被配置为对于在所述复制列表中的每个对象,在所述源服务器复制数据库中的、用于所述对象的所述条目中包括在所述源服务器处的所述对象的标识符和在所述目标服务器处的所述对象的标识符的模块。3.根据权利要求1所述的系统,还包括:被配置为对于在所述源列表和所述目标列表二者上的每个对象,执行如下步骤的模块:向所述目标服务器发送用于所述对象的元数据,以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述元数据;以及向所述源服务器复制数据库添加用于所述对象的条目。4.根据权利要求1所述的系统,其中每个对象由组块组成,其中所述被配置为对于在所述复制列表中的每个对象执行操作的模块所执行的所述操作还包括:确定所述对象中的组块;以及确定所述对象中的、未在所述目标存储装置处存储的第一组块集合,其中向所述目标服务器发送用于所述数据对象的所述数据包括:向所述目标服务器发送所确定的组块集合以在所述目标存储装置中存储;以及确定所述对象中的、当前在所述目标存储装置处存储的第二组块集合;以及向所述目标服务器发送在所述第二组块集合中的组块的组块标识符。5.根据权利要求1所述的系统,还包括:被配置为向所述目标服务器查询在所述目标服务器处的、满足第一准则的对象的清单的模块;被配置为从所述目标服务器接收所述对象的所述清单的模块;被配置为确定在所述源服务器中的、与来自所述目标服务器的所述清单中列举的对象匹配的对象的模块;被配置为向所述目标服务器发送用于所确定的与所述清单中列举的对象匹配的对象的元数据,以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述元数据的模块;以及被配置为向所述源服务器复制数据库添加用于所述对象的条目,其中所构建的源列表包括在所述源服务器处的、满足第二准则的待复制的对象的模块。6.根据权利要求5所述的系统,其中所述第一准则包括始发待复制的所述对象的客户端节点,并且其中所述第二准则包括在所述客户端节点处的对象的数据类型和文件空间中的至少一项。7.根据权利要求1所述的系统,还包括:被配置为确定在所述目标列表上的、但是未在所述源列表上的待删除的对象的模块;以及被配置为与所述目标服务器通信,以使所述目标服务器从所述目标服务器和目标存储装置删除所确定的待删除的对象的模块。8.根据权利要求1所述的系统,其中所述源服务器和所述目标服务器提供如下各项中的至少一项:分离的和独立操作的硬件和操作系统;使所述目标服务器针对所述源服务器提供热待机模式;以及异质硬件和操作系统。9.一种用于从源服务器所管理的源存储装置向目标存储装置复制对象的系统,所述系统包括:处理器;以及被配置为从所述源服务器接收对于在所述目标服务器处的对象的目标列表的查询的模块;被配置为向所述源服务器发送在所述目标服务器处的满足复制准则的所述对象的所述目标列表的模块;被配置为从所述源服务器接收用于将在所述目标存储装置中存储的对象的数据的模块;被配置为从所述源服务器接收用于针对待复制的所述对象接收的所述数据的元数据的模块;以及被配置为对于针对其接收到数据的每个对象向目标服务器复制数据库添加条目的模块,所述条目包括针对所述对象接收的所述元数据。10.根据权利要求9所述的系统,其中:对于在所述目标服务器复制数据库中的、用于每个对象的所述条目包括:在所述源服务器处的所述对象的标识符和在所述目标服务器处的所述对象的标识符。11.根据权利要求9所述的系统,还包括:被配置为对于已经在所述目标存储装置中存储的待复制的每个对象,从所述源服务器接收元数据的模块;以及被配置为向所述目标服务器复制数据库添加用于已经在所述目标存储装置中存储的待复制的每个对象的条目的模块,所述条目包括所接收的用于所述对象的元数据。12.根据权利要求9所述的系统,其中每个对象由组块组成,其中接收用于至少一个对象的所述数据包括:仅从所述源服务器接收用于所述对象的、尚未在所述目标存储装置中存储的那些组块,其中所述系统还包括:被配置为从所述源服务器接收所述对象中的、当前在所述目标存储装置中存储的组块的列表的模块;以及被配置为对于每个如下对象,针对该对象从所述目标服务器接收到少于所述对象中的所有组块的组块,在所述目标服务器复制数据库中的用于所述对象的所述条目中指示指向所述组块列表中的、已经在所述目标存储装置中存储的所述组块的链接的模块。13.根据权利要求9所述的系统,还包括:被配置为从所述源服务器接收对于在所述目标服务器处的、满足第一准则的对象的清单的查询的模块;被配置为向所述源服务器发送在所述目标服务器处的、满足所述第一准则的所述对象的所述清单的模块;被配置为接收用于在所述源服务器处的、与所述清单中列举的对象匹配的对象的元数据的模块;以及被配置为针对与所述清单中列举的对象匹配的所述对象、对于针对其接收到元数据的每个对象,向所述目标服务器复制数据库添加条目的模块,其中所述条目包括用于所述对象的所述元数据,其中所述目标列表包括在所述目标服务器处的、满足第二准则的对象。14.根据权利要求9所述的系统,还包括:被配置为维护在所述目标存储装置中存储的对象的组的模块;以及被配置为响应于确定已经在所述目标服务器处接收到所述对象的组中的并非所有对象,而将所述对象的组指示为不完整的模块,其中在恢复操作期间不使被指示为不完整的所述对象的组可用于客户端...

【专利技术属性】
技术研发人员:M·J·安格林D·M·卡农C·S·道森B·弗鲁赫特曼M·A·海H·N·马丁
申请(专利权)人:国际商业机器公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1