书签 分享 收藏 举报 版权申诉 / 30

从源服务器向目标服务器复制数据对象.pdf

  • 上传人:三**
  • 文档编号:6226499
  • 上传时间:2019-05-22
  • 格式:PDF
  • 页数:30
  • 大小:6.80MB
  • 摘要
    申请专利号:

    CN201280041913.7

    申请日:

    2012.08.28

    公开号:

    CN103765817A

    公开日:

    2014.04.30

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 12/24申请日:20120828|||公开

    IPC分类号:

    H04L12/24; G06F12/16; G06F17/30

    主分类号:

    H04L12/24

    申请人:

    国际商业机器公司

    发明人:

    M·J·安格林; D·M·卡农; C·S·道森; B·弗鲁赫特曼; M·A·海; H·N·马丁

    地址:

    美国纽约阿芒克

    优先权:

    2011.08.30 US 13/221,670

    专利代理机构:

    北京市金杜律师事务所 11256

    代理人:

    王茂华

    PDF完整版下载: PDF下载
    内容摘要

    从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复制对象。由在源服务器处的、将向目标服务器复制的对象构建源列表。查询目标服务器以获得在目标服务器处的对象的目标列表。构建复制列表,该复制列表指示在源列表上的、未在目标列表上包括的、将向目标服务器传送的对象。对于复制列表中的每个对象,向目标服务器发送用于尚未在目标存储装置处的对象的数据,并且向目标服务器发送关于对象的元数据,以使目标服务器在目标服务器复制数据库中的用于该对象的条目中包括元数据。向源服务器复制数据库添加用于该对象的条目。

    权利要求书

    权利要求书
    1.  一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复制对象的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有在其中体现的计算机可读程序代码,所述计算机可读程序代码执行以使所述源服务器执行操作,所述操作包括:
    构建在所述源服务器处的、将向所述目标服务器复制的对象的源列表;
    查询所述目标服务器以获得在所述目标服务器处的对象的目标列表;
    构建复制列表,所述复制列表指示在所述源列表上的、未在所述目标列表上包括的、将向所述目标服务器传送的对象;
    对于在所述复制列表中的每个对象,执行:
    向所述目标服务器发送用于尚未在所述目标存储装置处的所述对象的数据;
    向所述目标服务器发送关于所述对象的元数据以使所述目标服务器在目标服务器复制数据库中的、用于所述对象的条目中包括所述元数据;
    向源服务器复制数据库添加用于所述对象的条目。

    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所述的计算机程序产品,其中多个源服务器被复制到所述目标服务器。

    15.  根据权利要求9所述的计算机程序产品,其中所述操作还包括:
    维护在所述目标存储装置中存储的对象的组;以及
    响应于确定已经在所述目标服务器处接收到所述对象的组中的并非所有对象,而将所述对象的组指示为不完整,其中在恢复操作期间不使被指示为不完整的所述对象的组可用于客户端节点。

    16.  根据权利要求15所述的计算机程序产品,其中所述操作还包括:
    接收用于被指示为不完整的所述对象的组的对象;以及
    响应于已经接收到所述对象的组中的所有对象,而将所述对象的组指示为完整,其中在恢复操作期间使被指示为完整的所述组中的对象可用于所述客户端节点。

    17.  一种用于从源存储装置向目标服务器所管理的目标存储装置复制对象的系统,所述系统包括:
    处理器;以及
    具有代码的计算机可读存储介质,所述代码由所述处理器执行以执行操作,所述操作包括:
    构建在所述源存储装置处的、将向所述目标服务器复制的对象的源列表;
    查询所述目标服务器以获得在所述目标服务器处的对象的目标列表;
    构建复制列表,所述复制列表指示在所述源列表上的、未在所述目标列表上包括的、将向所述目标服务器传送的对象; 对于在所述复制列表中的每个对象,执行:
    向所述目标服务器发送用于尚未在所述目标存储装置处的所述对象的数据;
    向所述目标服务器发送关于所述对象的元数据,以使所述目标服务器在目标服务器复制数据库中的用于所述对象的条目中包括所述元数据;
    向源服务器复制数据库添加用于所述对象的条目。

    18.  根据权利要求17所述的系统,其中所述操作还包括:
    对于在所述源列表和所述目标列表二者上的每个对象,执行:
    向所述目标服务器发送用于所述对象的元数据,以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述元数据;以及
    向所述源服务器复制数据库添加用于所述对象的条目。

    19.  根据权利要求17所述的系统,其中每个对象由组块组成,其中对于所述复制列表上的每个对象执行的所述操作还包括:
    确定所述对象中的组块;以及
    确定所述对象中的、未在所述目标存储装置处存储的第一组块集合,其中向所述目标服务器发送用于所述数据对象的所述数据包括:向所述目标服务器发送所确定的组块集合以在所述目标存储装置中存储;以及
    确定所述对象中的、当前在所述目标存储装置处存储的第二组块集合;以及
    向所述目标服务器发送在所述第二组块集合中的组块的组块标识符。

    20.  根据权利要求17所述的系统,其中所述操作还包括:
    向所述目标服务器查询在所述目标服务器处的、满足第一准则的对象的清单;
    从所述目标服务器接收所述对象的所述清单;
    确定在所述源服务器中的、与来自所述目标服务器的所述清单 中列举的对象匹配的对象;
    向所述目标服务器发送用于所确定的与所述清单中列举的对象匹配的对象的元数据,以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述元数据;以及
    向所述源服务器复制数据库添加用于所述对象的条目,其中所构建的源列表包括在所述源服务器处的、满足第二准则的待复制的对象。

    21.  根据权利要求17所述的系统,其中所述操作还包括:
    确定在所述目标列表上的、但是未在所述源列表上的待删除的对象;以及
    与所述目标服务器通信,以使所述目标服务器从所述目标服务器和目标存储装置删除所确定的待删除的对象。

    22.  一种用于从源服务器所管理的源存储装置向目标存储装置复制对象的系统,所述系统包括:
    处理器;以及
    具有代码的计算机可读存储介质,所述代码由所述处理器执行以执行操作,所述操作包括:
    从所述源服务器接收对于在所述目标服务器处的对象的目标列表的查询;
    向所述源服务器发送在所述目标服务器处的所述对象的所述目标列表;
    从所述源服务器接收用于将在所述目标存储装置中存储的对象的数据;
    从所述源服务器接收用于针对待复制的所述对象接收的所述数据的元数据;以及
    对于针对其接收到数据的每个对象向目标服务器复制数据库添加条目,所述条目包括针对所述对象接收的所述元数据。

    23.  根据权利要求22所述的系统,其中所述操作还包括:
    对于已经在所述目标存储装置中存储的待复制的每个对象,从 所述源服务器接收元数据;以及
    向所述目标服务器复制数据库添加用于已经在所述目标存储装置中存储的待复制的每个对象的条目,所述条目包括所接收的用于所述对象的元数据。

    24.  根据权利要求22所述的系统,其中每个对象由组块组成,其中接收用于至少一个对象的所述数据包括:仅从所述源服务器接收用于所述对象的、尚未在所述目标存储装置中存储的那些组块,其中所述操作还包括:
    从所述源服务器接收所述对象中的、当前在所述目标存储装置中存储的组块的列表;以及
    对于每个如下对象,针对该对象从所述目标服务器接收到少于所述对象中的所有组块的组块,在所述目标服务器复制数据库中的用于所述对象的所述条目中指示指向所述组块列表中的、已经在所述目标存储装置中存储的所述组块的链接。

    25.  根据权利要求22所述的系统,其中所述操作还包括:
    从所述源服务器接收对于在所述目标服务器处的、满足第一准则的对象的清单的查询;
    向所述源服务器发送在所述目标服务器处的、满足所述第一准则的所述对象的所述清单;
    接收用于在所述源服务器处的、与所述清单中列举的对象匹配的对象的元数据;以及
    针对与所述清单中列举的对象匹配的所述对象、对于针对其接收到元数据的每个对象,向所述目标服务器复制数据库添加条目,其中所述条目包括用于所述对象的所述元数据,其中所述目标列表包括在所述目标服务器处的、满足第二准则的对象。

    26.  根据权利要求22所述的系统,其中所述操作还包括:
    维护在所述目标存储装置中存储的对象的组;以及
    响应于确定已经在所述目标服务器处接收到所述对象的组中的并非所有对象,而将所述对象的组指示为不完整,其中在恢复操作 期间不使被指示为不完整的所述对象的组可用于客户端节点。

    27.  一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复制对象的方法,包括:
    构建在所述源服务器处的、将向所述目标服务器复制的对象的源列表;
    查询所述目标服务器以获得在所述目标服务器处的对象的目标列表;
    构建复制列表,所述复制列表指示在所述源列表上的、未在所述目标列表上包括的、将向所述目标服务器传送的对象;
    对于在所述复制列表中的每个对象,执行:
    向所述目标服务器发送用于尚未在所述目标存储装置处的所述对象的数据;
    向所述目标服务器发送关于所述对象的元数据,以使所述目标服务器在目标服务器复制数据库中的用于所述对象的条目中包括所述元数据;
    向源服务器复制数据库添加用于所述对象的条目。

    28.  根据权利要求27所述的方法,还包括:
    对于在所述源列表和所述目标列表二者上的每个对象,执行:
    向所述目标服务器发送用于所述对象的元数据,以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述元数据;以及
    向所述源服务器复制数据库添加用于所述对象的条目。

    29.  根据权利要求27所述的方法,其中每个对象由组块组成,其中对于在所述复制列表上的每个对象执行的所述操作还包括:
    确定所述对象中的组块;以及
    确定所述对象中的、未在所述目标存储装置处存储的第一组块集合,其中向所述目标服务器发送用于所述数据对象的所述数据包括:向所述目标服务器发送所确定的组块集合以在所述目标存储装置中存储;以及
    确定所述对象中的、当前在所述目标存储装置处存储的第二组块集合;以及
    向所述目标服务器发送在所述第二组块集合中的组块的组块标识符。

    30.  根据权利要求27所述的方法,还包括:
    向所述目标服务器查询在所述目标服务器处的、满足第一准则的对象的清单;
    从所述目标服务器接收所述对象的所述清单;
    确定在所述源服务器中的、与来自所述目标服务器的所述清单中列举的对象匹配的对象;
    向所述目标服务器发送用于所确定的与所述清单中列举的对象匹配的对象的元数据,以使所述目标服务器在所述目标服务器复制数据库中的用于所述对象的条目中包括所述元数据;以及
    向所述源服务器复制数据库添加用于所述对象的条目,其中所构建的源列表包括在所述源服务器处的、满足第二准则的待复制的对象。

    31.  根据权利要求27所述的方法,还包括:
    确定在所述目标列表上的、但是未在所述源列表上的待删除的对象;以及
    与所述目标服务器通信以使所述目标服务器从所述目标服务器和目标存储装置删除所确定的待删除的对象。

    32.  一种用于从源服务器所管理的源存储装置向目标服务器所管理的目标存储装置复制对象的方法,包括:
    从所述源服务器接收对于在所述目标服务器处的对象的目标列表的查询;
    向所述源服务器发送在所述目标服务器处的所述对象的所述目标列表;
    从所述源服务器接收用于将在所述目标存储装置中存储的对象的数据;
    从所述源服务器接收用于针对待复制的所述对象接收的所述数据的元数据;以及
    对于针对其接收到数据的每个对象,向目标服务器复制数据库添加条目,所述条目包括针对所述对象接收的所述元数据。

    33.  根据权利要求32所述的方法,还包括:
    对于已经在所述目标存储装置中存储的待复制的每个对象,从所述源服务器接收元数据;以及
    向所述目标服务器复制数据库添加用于已经在所述目标存储装置中存储的待复制的每个对象的条目,所述条目包括所接收的用于所述对象的元数据。

    34.  根据权利要求32所述的方法,其中每个对象由组块组成,其中接收用于至少一个对象的所述数据包括:仅从所述源服务器接收用于所述对象的、尚未在所述目标存储装置中存储的那些组块,所述方法还包括:
    从所述源服务器接收所述对象中的、当前在所述目标存储装置中存储的组块的列表;以及
    对于每个如下对象,针对该对象从所述目标服务器接收到少于所述对象中的所有组块的组块,在所述目标服务器复制数据库中的用于所述对象的所述条目中指示指向所述组块列表中的、已经在所述目标存储装置中存储的所述组块的链接。

    35.  根据权利要求32所述的方法,还包括:
    从所述源服务器接收对于在所述目标服务器处的、满足第一准则的对象的清单的查询;
    向所述源服务器发送在所述目标服务器处的、满足所述第一准则的所述对象的所述清单;
    接收用于在所述源服务器处的、与所述清单中列举的对象匹配的对象的元数据;以及
    针对与所述清单中列举的对象匹配的所述对象、对于针对其接收到元数据的每个对象,向所述目标服务器复制数据库添加条目, 其中所述条目包括用于所述对象的所述元数据,其中所述目标列表包括在所述目标服务器处的、满足第二准则的对象。

    36.  根据权利要求32所述的方法,还包括:
    维护在所述目标存储装置中存储的对象的组;以及
    响应于确定已经在所述目标服务器处接收到所述对象的组中的并非所有对象,而将所述对象的组指示为不完整,其中在恢复操作期间不使被指示为不完整的所述对象的组可用于客户端节点。

    说明书

    说明书从源服务器向目标服务器复制数据对象
    技术领域
    本发明涉及一种用于从源服务器向目标服务器复制数据对象的计算机程序产品、系统和方法。
    背景技术
    数据复制被用来从一个服务器向另一服务器复制属于多个节点的数据,使得如果数据正在被备份到的主源服务器停用,则客户端可以从复制站点恢复他们的数据。存储管理服务器、诸如存储管理器(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发送组块。
    在一个源侧去重复实施例中,源复制管理器6a与去重复管理器26通信以确定是否需要向目标服务器4b发送组块,从而向目标服务器4b仅发送如在目标存储装置8b中的组块索引28中尚未指示的新组块。在一个目标侧去重复实施例中,源服务器4a向目标服务器4b发送待复制的数据对象的所有组块,并且目标复制管理器6b请求去重复部件24确定哪些组块是需要在目标存储装置8a中存储的新组块。
    可以在通过网络、诸如局域网(LAN)、存储区域网络(SAN)、广域网(WAN)等通信的分离计算机设备中实施源服务器4a、目标服务器4b和去重复部件24。在更多实施例中,可以在一个或者两个计算机系统上实施源服务器4a、目标服务器4b和/或去重复部件24。如果源服务器4a、目标服务器4b和/或去重复部件24在相同系统中,则它们可以通过总线或者经由存储器通信。
    可以在本领域已知的一个或者多个存储设备、诸如互连的硬盘驱动(例如,配置为DASD、RAID、JBOD等)、固态存储设备(例如,EEPROM(电可擦除可编程只读存储器))、闪存、闪速盘、存储类存储器(SCM)、电子存储器、磁带介质、带盒等中配置源8a存储装置和目标8b存储装置。
    源复制管理器6a、目标复制管理器6b和去重复管理器26可以在存储器中包括处理器所执行的软件程序。在一个备选实施例中,可以在硬件部件,诸如专用集成电路、例如专用集成电路(ASIC)、扩展卡等中实施程序6a、6b和26的一些部分或者全部。
    虽然将源复制管理器6a、目标复制管理器6b和去重复管理器26示出为分离部件,但是在备选实现方式中,可以在单个计算机系 统中的单个程序部件中或者在多于两个计算机设备中的多于两个程序部件中实施这些部件6a、6b和26所执行的功能。例如,可以在源服务器4a和目标服务器4b或者源复制管理器6a或者目标复制管理器6b部件的部分处分离地实施去重复部件24。在其中在每个服务器4a、4b中分离地实施去重复部件24的实施例中,每个服务器4a、4b可以具有它自己的去重复部件24并且维护对象信息10c和组块索引28。
    源6a复制管理器和目标6b复制管理器可以由客户端节点用来恢复对象以作为恢复操作的一部分。
    图2图示在对象信息10a、10b、10c中维护的用于一个对象的对象信息50的一个实施例。用于一个对象的对象信息50包括对象的标识符(ID)52和用于向对象52指配的数据的一个或者多个组块54a、54b….54n的标识信息。对象信息50可以维护对组块的引用的有序列表(C1….Cn),该列表指示组块在数据对象中出现的顺序1….n。对于每个组块(Ci),对象信息54i维护组块的摘要(di)和组块的长度(li)。以该方式,对象信息50提供对在数据对象中包括的组块的引用,诸如摘要和长度、但是并非实际数据。可以通过处理组块以生成用于该组块的唯一值来计算摘要(d)。例如,在一个实施例中,摘要可以包括密码摘要,诸如MD5(消息摘要算法5)或者SHA-1(安全哈希算法1),该密码摘要计算数据对象中的每个组块的密码哈希。
    图3图示源16a复制数据库和目标16b复制数据库中的用于正从源服务器4a向目标服务器4b复制的每个对象的条目60的一个实施例。条目60包括对象标识符(ID)62;对象唯一属性64,该对象唯一属性提供对象的唯一标识符,诸如签名、哈希值或者唯一命名约定;服务器标识符(ID)66,该服务器标识符包括维护对象62的服务器4a、4b的标识符;复制服务器ID68,该复制服务器ID标识复制关系中的另一服务器4a、4b(例如,在源复制数据库16a中的条目60对于字段68具有目标服务器4b的标识符,并且在目标复制 数据库16b中的条目60对于字段68具有源服务器4a的标识符);复制的对象ID70,该复制的对象ID标识向复制服务器68中的对象指配的标识符;服务器节点标识符(ID)72,该服务器节点标识符提供拥有对象60的客户端节点的源服务器4a标识符;文件空间ID74的源服务器4a标识符,该文件空间ID标识包括对象60的文件空间;复制服务器节点ID76,该复制服务器节点ID包括目标服务器4b、即复制服务器向拥有对象60的客户端节点指配的标识符;复制服务器文件空间ID78,该复制服务器文件空间ID包括目标服务器4b(复制服务器)向包括对象60的文件空间指配的标识符;以及数据类型ID80,该数据类型ID标识对象60的数据类型。
    因此,在某些实施例中,每个服务器4a、4b分别指配它自己的用于节点72和76以及文件空间74和78的ID。
    图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中需要空间则可以有资格删除该取消引用的组块。
    图5图示去重复管理器26在用于在存储装置8a、8b中存储的每个组块12a、12b的组块索引28中维护的去重复索引条目90的一个实施例。索引条目90包括存储装置8a、8b中的组块的组块标识符(ID)92、根据组块ID92代表的组块计算的哈希值94和组块的长度96。在确定是否向目标服务器4b发送组块12a的副本时,源复制管理器14a可以向去重复部件24提供该组块的哈希和长度,并且去重复管理器26可以确定组块索引28中的一个条目90是否具有与 用于源复制管理器6a发送的组块12a的那些值匹配的哈希值94和长度96以确定源复制管理器6a是否需要发送组块12a或者仅发送组块12a的标识符,例如摘要和长度。组块索引条目90还可以包括用于管理存储装置8a、8b中的组块12a、12b的附加信息。
    以该方式,数据对象的子部件(这里被称为组块)与在其中包括它们的对象分离地存储。组块12a、12b可以包括轨道区段、数据块或者可以向对象指配的任何其它可定义的数据子单元。这些组块12a、12b可以具有固定或者可变长度。对象可以包括任何数据单元的分组,诸如文件、对象、数据库等。
    图6图示源6a复制管理器和目标6b复制管理器执行的操作的一个实施例,这些操作用于向目标服务器4b复制在源服务器4a处的对象。控制始于源复制管理器6a接收(在块100)对基于一个或者多个准则复制对象的复制请求,该一个或者多个准则诸如是客户端节点拥有对象、在包括对象的客户端节点内的文件空间和对象的数据类型。响应于该请求,源复制管理器6a验证目标服务器4b配置(在块102)以确定目标服务器4b是否支持复制。如果(在块104)目标服务器4b未通过验证,则复制操作失败(在块106)。否则,如果目标服务器4b是复制兼容的,那么如果这是复制第一次在服务器4a、4b之间发生,则服务器4a、4b交换(在块108)唯一标识符。服务器4a、4b可以在复制数据库16a、16b中维护可用于复制的服务器的服务器唯一标识符。
    管理员可以请求应当在源服务器4a与目标服务器4b之间执行同步以更新源16a复制数据库和目标16b复制数据库从而反映已经向目标服务器4b导入的对象是复制的,以便对于已经在目标服务器4b处的那些对象不执行冗余复制。如果(在块109)需要同步,则控制前进至块110以进行同步,否则如果未请求或者需要同步,则控制前进(在块130)至图7a以执行复制。
    如果(在块109)需要同步,则源复制管理器6a查询目标服务器4b(在块110)以获得在目标服务器4b处的满足第一准则(例 如,用于复制的客户端节点)的文件的目标清单34。在接收到(在块112)查询时,目标复制管理器6b向源服务器4a发送(在块114)在目标服务器4b处的满足第一准则的对象的清单34。响应于接收到(在块116)文件的目标清单34,源复制管理器6a确定(在块118)在源服务器4a处的、与来自目标服务器4b的目标清单34中列举的对象匹配的对象。可以比较在源4a服务器和目标4b服务器处的对象的唯一属性64(图3)以确定目标4b是否具有与源4a处的对象匹配的对象,诸如签名、唯一文件标识符、哈希值等。
    源复制管理器6a向目标服务器4b发送(在块120)用于所确定的与清单36中列举的对象匹配的对象的元数据。源复制管理器6a对于确定的对象向源复制数据库16a添加(在块122)条目60(图3),该条目包括源复制管理器6a具有的可用信息。
    响应于接收到(在块124)元数据,目标复制管理器6b针对与清单36中列举的对象匹配的对象、对于针对其接收到元数据的每个对象,向目标服务器复制数据库16b添加(在块126)条目60。以该方式,无需传送目标服务器4b已经具有的那些对象作为复制的一部分,并且同步更新目标复制数据库16b以将那些对象反映为被复制的。目标复制管理器6b向源复制管理器6a返回(在块128)添加的对象的对象ID以包括在源复制数据库16a中的用于对象的条目60中的复制的对象ID70。目标复制管理器6b也可以向复制管理器6a返回复制服务器节点ID76和复制服务器文件空间ID78以包括在源服务器复制数据库16a中的用于对象的条目中。
    在执行用于添加条目的操作以同步源16a复制数据库和目标16b复制数据库以包括用于已经在源4a服务器和目标4b服务器二者上的、满足某个准则的所有对象的条目之后,控制前进(在块130)至图7a中的块150以开始复制。图6的同步操作允许客户同步复制数据库16a、16b以使目标服务器4b上存在的、在源服务器4a上具有匹配对象的对象表现为如同它们是被复制的一样。
    图7a和图7b图示用于执行复制操作的源6a复制管理器和目 标6b复制管理器执行的操作的一个实施例。在发起(在块150)复制后,源复制管理器6a构建(在块152)在源服务器4a处的、将向目标服务器4b复制的对象的源列表30,这些对象满足复制准则(例如,客户端节点、文件空间、数据类型),其中用来确定用于复制的文件的复制准则可以比用来确定目标服务器4b处的目标清单34的准则(例如,单独的客户端节点)更宽泛。源复制管理器6a查询(在块154)目标服务器4b以获得在目标服务器4b处的、满足第二准则的对象的目标列表32。响应于该查询,目标复制管理器6b向源服务器4a发送(在块158)在目标服务器4b处的、满足复制准则的对象的目标列表32。在接收到目标列表32时,源复制管理器6a构建(在块160)复制列表36,该复制列表指示在源列表30上的、未被包括在目标列表32上的、将向目标服务器4b传送的对象。
    对于源列表30中的每个对象,源复制管理器6a执行(在块162至174)在块164至172处的操作以向目标服务器4b复制对象。块162至174的循环可以在处理源列表30中的所有对象之后结束并且前进至块184,或者可以在出现某个其它条件时结束。如果(在块164)对象在复制列表36上,则源复制管理器6a向目标复制管理器6b发送用于对象的数据。在一个实施例中,源复制管理器6a可以仅发送用于尚未在目标存储装置8b中的对象的数据或者组块12a。备选地,源复制管理器6a无论目标存储装置8b是否具有与在被复制的对象中的组块匹配的组块12b,都可以发送整个对象。在发送用于待复制的对象的数据(从块168)之后或者如果对象未在复制列表36上,这指示目标服务器4b已经具有该对象,则源复制管理器6a向目标服务器4b发送(在块170)关于对象的元数据,诸如在条目60(图3)中的信息。源复制管理器6a对于该对象向源复制数据库16a添加(在块172)条目60,其包括在图3中所示字段中的信息。
    在接收到(在块176)元数据和数据时(如果在块168对于在复制列表36中的对象发送了任何数据),目标复制管理器6a在目标存储装置8a中存储(在块178)用于该对象的任何接收的数据(如 果目标存储装置8b已经具有用于该对象的组块12b,则可能接收不到数据)并且对于针对其接收到元数据的对象,向目标服务器复制数据库16b添加(在块180)条目60,其包括在源4a服务器和目标4b服务器中的ID62、70、72、74、76和78以及在条目60(图3)中的其它信息。目标复制管理器6b还可以向源服务器4a返回(在块182)在目标服务器4b处的添加的对象的、复制的对象ID70、复制服务器节点ID76和复制服务器文件空间ID78以包括在源复制数据库16a中的用于该对象的条目中。
    在对于用于复制的所有条目向源16a复制数据库和目标16b复制数据库添加条目之后,控制前进至(在块184)图7b中的块186,其中源复制管理器6a确定(在块186)在目标列表32上、但是未在源列表30上的待删除的对象或者在目标服务器4b处的如下对象,这些对象不是源服务器4a中经受复制的对象的一部分。源复制管理器6a与目标服务器4b通信(在块188)以使目标服务器4b删除所确定的用于从目标服务器4b删除的对象。响应于该通信,目标复制管理器6b从目标服务器复制数据库16b删除(在块190)用于待删除的对象的条目。取消引用(在块194)未被任何其它对象引用的、删除的对象中的任何组块12b。在删除对象时,递减用于对象中的组块12b的条目82(图4)中的引用计数86,并且将具有零引用计数的任何组块82指示为被取消引用并且适合在某点移除。
    图8图示使用去重复来复制对象的源6a复制管理器和目标6b复制管理器执行的操作的一个实施例。在源复制管理器6a在图7a中的块168向目标服务器4b发送用于对象的数据时执行图8的操作。在发送对象时,源复制管理器6a调用去重复管理器26以确定(在块202)对象中的用于发送的组块、然后使用去重复(在块204)以确定对象中的未在目标存储装置8b中存储的组块12a的集合。去重复管理器26可以使用组块索引28以进行该确定。去重复管理器26或者源复制管理器6a向目标服务器4b发送(在块206)确定的组块集合以在目标存储装置8b中存储并且发送对象中的已经在目标存储 装置8b中的组块12a的组块标识符、诸如摘要(di)和长度(li)的列表。在接收到(在块208)用于数据对象的组块时,目标复制管理器6b在目标存储装置8b中存储(块210)所接收的组块。目标复制管理器6b在目标服务器复制数据库16b中的用于对象的条目60中指示(在块212)指向对象中的、已经在目标存储装置中存储的如下组块的链接,对于这些组块提供了标识信息、例如摘要(di)和长度(li),并且指示指向被添加到目标存储装置8b的组块的链接。
    在描述的实施例中,源复制管理器6a可以加密向目标服务器4b发送的数据,该数据在目标服务器4b处被解密。另外,对象级复制允许管理员/用户指定将复制什么数据对象并且提供仅增量复制尚未在目标服务器4b和存储装置8a处存储的待复制的那些对象组块。
    在某些实施例中,在源4a服务器和目标4b服务器处提供分离硬件和操作系统以允许硬件和操作系统的独立性。另外,可以用异构硬件和操作系统来实施源4a服务器和目标4b服务器。
    在某些实施例中,复制目标服务器4b可以在相对于源服务器4a的远程位置处提供热待机。如果源服务器4a失败,则客户端的操作、诸如备份和恢复可以被重定向到已经操作用于复制的目标服务器4b。
    在更多实施例中,可以向单个目标服务器4b(例如,在中央数据中心处)复制多个源服务器4a(例如,在远程办公室处)。
    更多实施例可以提供不同对象集合的逻辑分组,从而使得在目标服务器4b上的、不完整对象组对于客户端节点不可见,直至该组完整。在目标服务器4b上维护部分组以防止对象的重发。例如,可以在复制期间向目标服务器4b发送形成逻辑组的对象。在某些情形中,可能由于错误或者取消过程而未发送组中的对象中的一些对象。在该情形中,复制的对象在目标服务器处保持,并且目标服务器将不具有所有对象的组标记为不完整。在恢复期间不使这些不完整组可用于客户端节点。在以后的时间,在复制已经传送了遗漏文件之后,该组被标记为完成并且使该组可用于客户端节点。
    利用描述的实施例,在源与目标之间的复制通过在对象级对已经在目标服务器4b处的对象进行检查、然后在发送对象时进行去重复以避免发送用于已经在目标服务器4b处可用的数据对象的组块来寻求最小化针对向目标服务器发送的对象传送的数据量。另外,利用描述的实施例,源复制管理器16a向目标复制管理器16b发送关于已经在目标服务器4b处存储的待复制的对象的元数据,以使目标复制管理器6b对于已经在目标服务器4b处的、待复制的对象向目标复制数据库16b添加条目。
    云计算实施例
    图1的计算环境可以是云计算服务交付模型的部分,该模型用于对共享的可配置计算资源(例如网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)池进行方便、按需的网络访问,能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放这些计算资源。关于图9-1描述云计算实现方式。这种云模型可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
    特征如下:
    按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
    广泛的网络接入:能力可以通过标准机制在网络上可用和获取,这种标准机制促进了通过不同种类的瘦或厚源平台(例如移动电话、膝上型电脑和PDA)对云的使用。
    资源池:提供者的计算资源被归入资源池以使用多租户(multi-tenant)模型来服务于多个消费者而按需将不同的实体和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
    迅速弹性:能够迅速、有弹性地、在一些情况下自动地部署能 力以实现快速扩展并且迅速释放来快速缩小。在消费者看来,用于部署的可用能力往往显得无限并且能在任意时候以任意数量获取。
    测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户账户)的某种抽象程度的计量能力来自动地控制和优化资源效用。可以监测、控制和报告资源使用从而为利用的服务的提供者和消费者双方提供透明度。
    服务模型如下:
    软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。通过诸如网络浏览器的瘦源接口(例如基于网络的电子邮件)从各种源设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储装置、乃至单个应用能力等的底层云基础架构。
    平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具来创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储装置的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
    基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储装置、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储装置和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
    部署模型如下:
    私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
    共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
    公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
    混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
    云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意互操作性。在云计算的核心是包含互连节点网络的基础架构。
    图9显示了云计算节点300的一个实施例,该云计算节点可以包括源服务器4a、目标服务器4b和去重复24部件的实现方式,其中可以在节点300中的一个或者多个节点中实施部件。云计算节点300仅仅是适合的云计算节点的一个示例,不应对这里描述的本发明实施例的功能或使用范围带来任何限制。总之,云计算节点300能够被实现和/或执行以上所述的任何功能。
    云计算节点300具有计算机系统/服务器302,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,可以适于与计算机系统/服务器302一起使用的计算系统、环境和/或配置的示例包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统或者设备的分布式云计算环境等。
    计算机系统/服务器302可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器302可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储 设备的本地和远程计算系统存储介质二者上。
    如图9所示,云计算节点300中的计算机系统/服务器302以通用计算设备的形式表现。计算机系统/服务器302的组件可以包括但不限于一个或者多个处理器或者处理单元306、系统存储器308和连接不同系统组件(包括系统存储器308到处理器304)的总线308。
    总线308表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MAC)总线、增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
    计算机系统/服务器302典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器302可访问的任意可获得的介质,包括易失性和非易失性介质、可移动的和不可移动的介质。
    系统存储器308可以包括易失性存储器形式的一个或者多个计算机系统可读介质、例如随机存取存储器(RAM)310和/或高速缓存存储器312。计算机系统/服务器302可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统313可以用于读写不可移动的、非易失性磁介质(未显示,通常称为“硬盘驱动器”)。尽管未示出,但是可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器以及对可移动非易失性光盘(例如CD-ROM、DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线308相连。如以下将进一步描绘和描述的那样,存储器306可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
    具有一组(至少一个)程序模块316的程序/实用工具314可 以存储在系统存储器306中,这样的程序模块包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据。操作系统、一个或者多个应用程序、其它程序模块和程序数据中的每项或者其某个组合可能包括网络环境的实现。程序模块316通常执行如这里描述的本发明实施例的功能和/或方法。
    计算机系统/服务器302也可以与一个或多个外部设备318(例如键盘、指向设备、显示器320等)通信;还可与一个或者多个使得用户能与该计算机系统/服务器302交互的设备通信;和/或与使得该计算机系统/服务器302能与一个或多个其它计算设备进行通信的任何设备(例如网卡、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口322进行。备选地,计算机系统/服务器302可以通过网络适配器324与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络、例如因特网)通信。如图所示,网络适配器324通过总线308与计算机系统/服务器302的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器302结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
    现在参考图10,其中显示了示例性的云计算环境350。如图所示,云计算环境350包括云消费者使用的本地计算设备可以与其通信的一个或者多个云计算节点300,本地计算设备例如可以是个人数字助理(PDA)或蜂窝电话354A、台式电脑354B、膝上型电脑354C和/或汽车计算机系统354N。节点300可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者其组合的一个或者多个网络中将云计算节点300进行物理或虚拟分组。这允许云计算环境350赋予基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS),消费者无需为这些服务在本地计算设备上维护资源就能请求云计算环境350提供的。应当理解,图10显示的各类计算设备354A-N仅仅是示意性的,并且计算节点300以及云 计算环境350可以与任意类型网络和/或网络可寻址连接上的任意类型的计算设备(例如使用网络浏览器)通信。
    另外,图10示出单个云。然而某些云实施例可以提供部署模型,该部署模型除了具有客户/生产数据的云织之外还包括分离的“备份”或者“数据保护”云。提供分离和不同的附加云作为数据保护云以便从数据保护云分离无论任何主要云模型(提供、共同体、混合等)可以防止单个故障点并且在分离的备份云中提供客户数据的更大程度的保护。
    现在参考图11,其中显示了云计算环境350(图12)提供的一组功能抽象化层。先应当理解,图11所示组件、层以及功能都仅仅是示意性的,并且本发明的实施例不限于此。如图所示,提供下列层和对应功能:
    硬件和软件层360包括硬件和软件组件。硬件组件的示例包括:主机、例如系统;基于RISC(精简指令集计算机)体系结构的服务器、例如IBM系统;IBM系统;IBM系统;存储装置;网络和网络组件。软件组件的示例包括:网络应用服务器软件、例如IBM应用服务器软件;以及数据库软件、例如IBM数据库软件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
    虚拟化层362提供抽象化层,该层可以提供下列虚拟实体的示例:虚拟服务器;虚拟存储;虚拟网络(包括虚拟私有网络);虚拟应用和操作系统;以及虚拟源。
    在一个示例中,管理层364可以提供下述功能。资源供应功能提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。计量和定价功能在云计算环境内对资源的使用进行成本跟踪并且为这些资源的消耗提供帐单和发票。在一个示例中,该资源可以包括应用软件许可。安全功能为云的消费者和任务提供身份认证以及为数据和其它资源提供保护。用户门户功能为消费者和系统管理 员提供对云计算环境的访问。服务水平管理功能提供云计算资源分配和管理,从而满足必需的服务水平。服务水平协议(SLA)计划和履行功能为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
    工作负载层366提供云计算环境可能实现的功能的示例。在该层中可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及比如以上关于图1-8描述的复制服务。
    描述的操作可以使用标准编程和/或工程技术来实现为方法、装置或计算机程序产品以产生软件、固件、硬件或者其任何组合。因此,实施例的方面可以采用以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,实施例的方面还可以采用在一个或多个计算机可读介质中实现的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
    可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
    计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播 的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
    计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
    可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
    以上参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
    也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现 流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
    也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
    术语“一实施例”、“实施例”、“各实施例”、“该实施例”、“这些实施例”、“一个或者多个实施例”、“一些实施例”和“一个实施例”除非另有指明则意味着“本发明的一个或者多个(但是并非所有)实施例”。
    术语“包括”、“具有”及其变化除非另有指明则意味着“包括但不限于”。
    项目的枚举列举除非另有指明则不意味着项目中的任何或者所有项目互斥。
    术语“一”和“该”除非另有指明则意味着“一个或者多个”。
    相互通信的设备除非另有指明则无需相互连续通信。此外,相互通信的设备可以直接或者通过一个或者多个中介间接通信。
    有若干部件相互通信的一个实施例的描述不意味着需要所有这样的部件。恰好相反,描述多种可选部件以举例说明本发明的广泛多种可能实施例。
    另外,虽然可以按照依次顺序描述过程步骤、方法步骤、算法等,但是这样的过程、方法和算法可以被配置用于按照备选顺序工作。换而言之,可以被描述的任何步骤序列或者顺序未必指示要求按照该顺序执行这些步骤。可以按照任何其它实用顺序执行这里描述的过程的步骤。另外,可以同时执行一些步骤。
    在这里描述了单个设备或者物品时,将容易地想到可以使用多于一个设备/物品(无论它们是否协作)来取代单个设备/物品。相似地,在这里描述了多于一个设备或者物品(无论它们是否相互协作) 时,将容易地想到可以使用单个设备/物品取代多于一个设备或者物品或者可以使用不同数目的设备/物品取代所示数目的设备或者程序。设备的功能和/或特征可以备选地由未显式地描述为具有这样的功能/特征的一个或者多个其它设备体现。因此,本发明的其它实施例无需包括设备本身。
    图6、图7a、图7b和图8的所示操作示出按照某个顺序出现的某些事件。在备选实施例中,可以按照不同顺序执行、修改或者删除某些操作。另外,步骤可以被添加到以上描述的逻辑而仍然符合描述的实施例。另外,这里描述的操作可以依次出现或者可以并行地处理某些操作。另外,操作可以由单个处理单元或者由分布式处理单元执行。
    已经出于示例和描述的目的而呈现了本发明的各种实施例的前文描述。不旨在于穷举或者限制本发明为公开的精确形式。许多修改和变化按照以上教导是可能的。旨在于本发明的范围不受该具体描述的限制而实际上由所附权利要求限制。以上说明书、示例和数据提供本发明的组成的制造和使用的完整描述。由于可以实现本发明的许多实施例而未脱离本发明的精神实质和范围,所以本发明存在于所附权利要求中。

    关 键  词:
    服务器 目标 复制 数据 对象
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:从源服务器向目标服务器复制数据对象.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6226499.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1