基于网格的数据移动性的制作方法

文档序号:8003738阅读:198来源:国知局
基于网格的数据移动性的制作方法
【专利摘要】本发明公开了将数据从源服务器迁移到目标服务器的数据迁移系统和方法。该系统包括索引,该索引包含标准化数据模型中的多个数据迁移操作,每个数据迁移操作与属性相关联地存储,且数据移动器可通信地连接到该索引。该数据移动器适于根据索引中包含的数据迁移操作将数据从源服务器移动到目标服务器。数据移动器具有与索引中包含的至少一个数据迁移操作的相关联的属性对应的属性,该属性指示可以由数据移动器进行的数据迁移操作的类型。该索引适于获取数据移动器的属性,并适于从索引中包含的数据迁移操作之中向数据移动器传送具有与数据移动器的属性对应的属性的数据迁移操作。该数据移动器适于根据传送的数据迁移操作从源服务器向目标服务器移动数据。
【专利说明】基于网格的数据移动性
【技术领域】
[0001]本发明涉及用于以更加可扩展和灵活的方式将数据从源服务器移动到目标服务器的系统和过程。
【背景技术】
[0002]不同物理系统和数据模型之间的大量数据的迁移对产业界而言变得越来越重要。这类迁移对于从现在废弃不用的遗留硬件或数据模型移动数据而言是必要的。迁移对于提供数据的备份和将数据移动到更容易访问的物理位置而言也是必要的。
[0003]之前使用劳动力密集的手动收集数据以及必须为每个个别的迁移量身定做的转换过程进行数据迁移。这使得该过程昂贵、缓慢,且易于出错。
[0004]任何类型的数据移动性(mobility)操作都涉及大量的、必须被操纵以最大化数据移动效率并减少操作的总体持续时间的源和目标资源。构建大的数据基础架构以供用户访问数据并在存储基础架构中创建新的数据。
[0005]数据迁移操作与以上的多线程基础架构不同,倾向为单线程。该单线程操作并没有充分最优化源基础架构资产来使能快速且高效的数据移动。

【发明内容】

[0006]根据本发明的一个方面,提供了一种用于将数据从源服务器迁移到目标服务器的数据迁移系统,其包括:包含标准化数据模型中的多个数据迁移操作的索引,每个数据迁移操作与属性相关联地存储,以及可通信地连接到该索引的数据移动器,该数据移动器适于根据索引中包含的数据迁移操作将数据从源服务器移动到目标服务器;其中:该数据移动器具有与索引中包含的至少一个数据迁移操作的相关联的属性对应的属性,该属性指示可以由数据移动器进行的数据迁移操作的类型;该索引适于获取该数据移动器的属性,并适于从索引中包含的数据迁移操作之中,向数据移动器传送具有与数据移动器的属性对应的属性的数据迁移操作;以及该数据移动器适于根据传送的数据迁移操作从源服务器向目标服务器移动数据。
[0007]本发明提供了一种通过使用中心工作仓库和分离出的(abstracted)数据移动器应用,允许数据移动性和数据移动操作的巨大可扩展性的逻辑机构。
[0008]为了使能数据迁移操作的多个线程,本发明人意识到多个分离出的数据移动器可被用来帮助多个请求到源基础架构。该结构有效地提高聚合吞吐量。然而,可能并不总需要多个数据移动器且数据移动器的适当的数目会在迁移之间改变。本发明的系统允许数据移动器如所需被添加到系统或从系统中移除,从而使得系统的吞吐量可以匹配其工作负荷。
[0009]优选地,所述数据移动器包括数据提取命令生成引擎,其适于从传送的数据迁移操作生成源服务器的源语言的数据提取命令。适当地,所述数据移动器包括数据提交命令生成引擎,其适于从传送的数据迁移操作生成目标服务器的目标语言的数据提交命令。
[0010]优选地,所述数据移动器适于在传送的数据迁移操作完成之后向索引发送完成报生口 O
[0011]适当地,所述索引适于在传送的数据迁移操作完成之后,确定在数据迁移的当前阶段,具有与数据移动器的属性对应的属性的所有数据迁移操作是否已经完成;以及如果在数据迁移的当前阶段中并非具有该属性的所有数据迁移操作都已经完成,则索引适于从索引中包含的数据迁移操作之中,传送具有该属性的另一数据迁移操作;以及如果在数据迁移的当前阶段具有该属性的所有数据迁移操作都已经完成,则索引适于指示数据移动器进入暂停状态。
[0012]更优选地,数据移动器具有多个属性,且每个数据迁移操作与多个属性相关联;数据移动器的属性对应于索引中包含的至少一个数据迁移操作的属性;以及索引适于从索引中包含的数据迁移操作之中,向数据移动器传送具有与数据移动器的属性对应的属性的数据迁移操作。
[0013]适当地,所述系统包括:多个具有不同属性的数据移动器,其中索引将数据迁移操作分发到具有分别匹配所述数据迁移操作的属性的属性的数据移动器。
[0014]本发明人已经发现本发明提供的聚合吞吐量的增加比与使用多个数据移动器相关联的额外的复杂性要重要得多,额外的复杂性是由管理和配置多个元件从而避免冲突和避免重复操作造成的。
[0015]根据本发明的另一方面,提供了一种用于将数据从源服务器迁移到目标服务器的方法,其包括:在索引中存储标准化数据模型中的数据迁移操作的集合,每个数据迁移操作与属性相关联地存储;将属性存储在可通信地连接到该索引的数据移动器中,该属性指示可以由数据移动器进行的数据迁移操作的类型;在索引处获取数据移动器中存储的属性;从索引向数据移动器传送具有与该数据移动器中存储的属性对应的相关联的属性的数据迁移操作;将该数据迁移操作转换为源服务器的源语言的数据提取命令;将该数据提取命令传送到源服务器;将该数据迁移操作转换为目标服务器的目标语言的数据提交命令;将该数据提交命令传送到目标服务器;以及将数据从该源服务器移动到该目标服务器。
[0016]优选地,具有不同属性的多个数据移动器连接到索引,该方法还包括:估计完成将数据从源服务器移动到目标服务器所需的时间;以及如果估计的时间超过预定的上阈值,则将额外的数据移动器连接到索引或激活额外的数据移动器。
[0017]适当地,具有不同属性的多个数据移动器连接到索引,该方法还包括:估计完成将数据从源服务器移动到目标服务器所需的时间;以及如果估计的时间低于预定的下阈值,则将该数据移动器从索引断开或无效该数据移动器。
【专利附图】

【附图说明】
[0018]将通过更多仅是示例的例子参照附图描述本发明的实施例,在附图中:
[0019]图1示出根据本发明的一个实施例的数据迁移系统;
[0020]图2是示出在本发明的一个实施例中用于进行数据迁移操作的数据移动器的操作的流程图;
[0021]图3是示出在本发明的一个实施例用于进行数据迁移操作的索引的操作的流程图;
[0022]图4示出数据移动器的主要部件的示意图;以及[0023]图5示出可以在上面实现本发明的数据迁移系统的示例性计算机体系架构1100。【具体实施方式】
[0024]图1提供了根据本发明的一个实施例的索引-数据移动器关系的概述。参照图1,源服务器300包含源数据,所述源数据将被迁移到目标服务器400中的目标数据。
[0025]索引200包含源服务器300中的源数据的索引。所述索引200使用独立于源服务器300中数据实际被保存的格式的标准化数据模型。所述索引200使用自动化数据收集器和导入器(importer)生成。
[0026]数据移动器100是基于有关索引200总包含的源数据的信息将数据从源服务器300移动到目标服务器400的部件。系统可以包含任意数目(any number of)的数据移动器100。数据移动器100从索引200取走标准化的工作负荷。术语“标准化”意味着索引200中的所有数据符合数据移动器100理解的单一的标准数据模型。换言之,索引200对源和目标服务器中保存的数据的格式和类型是不可知的(agnostic)。在数据移动器100上进行所有产品-特定的翻译(translation)和管理。
[0027]在本发明的该实施例中,索引200是存储所有需要的数据移动操作的中心索引(central index)。这些操作已经被数学地创建并处理,其每个具有诸如源位置、目标目的地、平台类型和数据类型的若干属性。用这些属性对每个迁移操作加标签,意味着存在控制每个数据操作的元数据。然后输入所述迁移操作作为中心索引200上的符合条件的操作,从而有效地将每个迁移操作标记为应该完成的一件工作,如果数据移动器100与该特定的迁移操作所要求的属性一致的话。
[0028]例如,数据迁移操作可以存储在索引200中,具有以下属性:源A、目标B、类型C和平台D。可以提供许多数据移动器100,仅其子集具有属性源A、目标B、类型C和平台D。数据移动器的该子集中的任何一个可以进行该数据迁移操作。可以用控制文件中的属性预配置数据移动器100,或可由中心索引200完成数据移动器100的属性的配置。
[0029]这允许许多数据移动器对一个索引200的关系。当新的数据移动器与中心索弓I 200通信并使其自身可用于工作时,迁移操作被分配给数据移动器100。连接中的(onconnection)数据移动器100自动地自身登记有相关联的属性,如果这些属性与具有等效属性的迁移操作匹配,则使得这些迁移操作可用于分配给数据移动器100。
[0030]一旦迁移操作被分配给数据移动器100,数据移动器除了向索引200推送进程和成功报告以确保中心索引200知晓所有操作的完成,就不再依赖于中心索引200。数据移动器100保障源和目标点与相关联的基础架构的关系,即数据移动器100和源服务器300之间的连接,以及数据移动器100和目标服务器400之间的连接。数据移动器100还处理所需的操作到源服务器和目标服务器的语言的所有翻译,所述源服务器的语言和目标服务器的语言的被称作源服务器语言和目标服务器语言。
[0031]换言之,中心索引200在标准化数据模型中存储迁移操作的阵列。每个数据移动器取决于其属性,将具有匹配其自己属性的属性的迁移操作转换为适当的源语言和目标语言。例如,以上描述的数据移动器100会基于索引200中的数据迁移操作的条目,产生源A的语言的用于获取(retrieve)数据的请求,并将该请求发送给数据移动器100连接的、适当的源服务器A。由此数据移动器100从源服务器300获取相关的数据。[0032]随后,数据移动器100将同样基于索引200中的数据迁移操作的条目,生成目标B的语言的用于提交(commit),即上载数据的请求。该请求被发送到数据移动器100连接的目标服务器B,并且由此以对于目标服务器B适当的格式提交相关的数据。
[0033]典型地,每个数据移动器100具有翻译逻辑,用于将索引200的标准化数据模型(即语言)中的数据迁移操作分别转换为一个或多个特定的源服务器的语言的请求或一个或多个特定的目标服务器的语言的请求。该翻译逻辑构成数据提取命令生成和数据提交命令生成引擎。作为结果,索引仅需确保数据迁移操作被发送到适当的数据移动器,从而确保操作被翻译为正确的语言。
[0034]一旦每个数据移动器100已经完成了当前的迁移操作,随后其可以或者取走额外的工作负荷,或者暂停其操作并被从激活的(active)配置中去除。数据移动器的该可选择的暂停确保当源环境通过数据迁移减少时,聚合能力可以得以伸缩(flexed)。
[0035]由于中心索引200对每个迁移操作保存标准化、共有的属性,因此数据移动器的向外扩展能力是各个属性简况的数目和索引200中迁移操作的数目。
[0036]本实施例系统的加强的可伸缩性是由于数据移动器都是具有明确定义的属性的独立的自动化部件。这意味着可以向系统添加额外的数据移动器从而增加吞吐量(throughput)而不会干扰系统的操作。新数据移动器仅仅以与已经存在的数据移动器同样的方式从索引200接收工作,由此减轻已经存在的数据移动器上的负荷而不干扰其操作。索引200通过将可用的数据迁移操作的属性与新数据移动器的属性匹配而立即知道如何向新的数据移动器分配工作。
[0037]图1示出数据移动器层的可扩展性。该图示出具有特定属性的可用的迁移操作,以及符合最优化聚合数据传输带宽和减少总持续时间的数据移动器的缩放(scaling)。本实施例的解决方案确保数据移动性层总是超过源环境的聚合带宽能力,这意味着数据移动性层对于数据移动操作决不是瓶颈。数据移动器可以如需要被调整为不同的身份。数据移动器还可以如需要动态添加或移除。这允许如以上讨论的迁移能力的缩放。
[0038]根据本发明的一个实施例的数据迁移的过程描述如下,并且在图2和3中示出。图2示出数据移动器100的操作,而图3示出索引200的操作。
[0039]一旦已经完成对中心索引的迁移操作设置和配置,工作负荷列表对于迁移操作可用。将所有符合条件的数据打包(package)到所需操作的标准化工作负荷列表中。一旦完成该列表,则可以配置并启动数据移动器。
[0040]当数据移动器已经在步骤SlO连接到中心索引之后,在步骤S30和S32,定义并相对工作负荷列表上的每个数据迁移操作的属性检查数据移动器的属性。可以开启数据移动器,即其数据迁移功能被激活,并且当这个完成时,适当的工作负荷,即数据迁移操作将在步骤S34被分配给数据移动器。在步骤S12由数据移动器接收该工作负荷。该工作负荷本质上是以索引的标准化语言由索引提供的、驻留在源服务器中数据对象的列表。随后在步骤S14和S16,该数据移动器将该标准化内容翻译为用于源环境的提取命令和用于目标环境的提交命令。随后数据移动器在步骤S18根据提取命令和提交命令协调(orchestrate)移动数据的过程,并向中心索引发回报告,从而维持操作的中心日志。
[0041]一旦完成迁移操作,在步骤S20数据移动器向索引报告数据迁移操作的完成。该索引在步骤S36从数据移动器接收操作完成报告,并在步骤S38记录操作的完成。[0042]如果剩余有任何这类操作,数据移动器会进行到迁移的特定阶段中的所有其它操作。假定还没有完成当前阶段中的所有数据迁移操作,则索引返回到步骤S32并将更多的工作分配给数据移动器。一旦当前阶段中的所有数据迁移操作完成,索引指示数据移动器在步骤S40移动到暂停状态,此时数据移动器在等待获取下一个符合条件的迁移操作。这确保中心索引关于源环境中存储的每一个迁移对象的状态得以更新。在迁移程序自始至终,如需要可以跟踪并且重新运行操作。
[0043]图4示出数据移动器100的主要部件。通信接口 110与源服务器300、目标服务器400和索引200通信。数据提取命令生成引擎106基于经通信接口 110从索引200接收的数据迁移操作,生成源服务器300的语言的数据提取命令。数据提交命令生成引擎108基于从索引200接收的数据迁移操作,生成目标服务器400的语言的数据提交命令。
[0044]数据存储器102存储在源服务器300和目标服务器400之间移动的数据。属性存储器104存储与索引200中数据迁移操作的属性比较的数据移动器100的属性。
[0045]可以在任何时间点启动额外的数据移动器,从而增加迁移流和聚合可用移动性带宽。此外,一旦数据移动器完成迁移操作之后已经返回到暂停状态,就可以将该数据移动器从激活的(active)配置中移除。可以从中心索引200安排这些操作,从而确保可以基于策略而动态地使能和禁用数据移动器。
[0046]在一个实施例中,数据迁移系统估计完成当前从源服务器300到目标服务器400的数据迁移中涉及的所有数据的移动所需的时间。这可以通过以下实现:从数据移动器获得从数据迁移开始通过每个数据移动器100的数据传输的平均速率,并且相加这些平均吞吐量以获得数据迁移系统的总平均吞吐量。将剩余要迁移的数据量除以总平均吞吐量,然后得出估计的完成时间。
[0047]数据迁移系统将估计的完成时间与事先输入到系统中的期望的数据迁移完成时间相比较。如果估计的完成时间大于期望的时间,则该系统激活当前无效的(deactivated)数据移动器或将额外的数据移动器连接到系统。这使得总体数据传输速率增加,并且确保迁移的及时完成。
[0048]相反地,如果估计的完成时间比期望的时间小超过某现有的量,则系统无效一个或多个数据移动器或将一个或多个数据移动器从索引断开连接。这在当不需要能量和系统资源时保留能量和系统资源。
[0049]在以上的实施例中,索引200可以向数据移动器100发送对属性的请求,且数据移动器100可以响应该请求向索引200传送其属性。然而,数据移动器100也能够在与索引200连接时未被提示地或以固定的间隔向索引200传送其属性。索引200还可以存储连接到索引的所有数据移动器100的列表及其属性。
[0050]在以上的实施例中,索引200向数据移动器100分配并发送数据迁移操作。然而,索引200可以在向数据移动器100分配数据迁移操作之前,首先等待从该数据移动器100发送工作请求。
[0051]以上的方法允许较大规模数据移动性的灵活能力被缩放(scale)到任何源基础结构的大小和能力。该基于网格的数据移动的灵活形式意味着超出现有技术中可能的能力的具有更复杂数据类型和平台的更大量的数据能够被迁移。本发明中使用的数据移动器的数目不受限制,且可以根据迁移项目的大小和计划的持续时间来自由地选择。[0052]根据该实施例的本系统的设计允许单个的中心索引或仓库来保持迁移项目的所有相关联的元数据。这允许用于管理所有数据移动器的管理和控制的单个点。
[0053]在该实施例中,数据移动器与用于源和目标软件的客户端模型交互。这允许将该过程应用到要求可扩展的数据移动性的其它应用。本发明可能的应用包括提供数据内容的有索引的备份/归档、较大规模物理-虚拟服务器环境的迁移以及存储资产向更现代技术的移动性。
[0054]图5示出示例性计算机体系架构1100,通过其可实现根据本发明的数据迁移系统,特别是索引或数据移动器。计算机体系架构1100可以是或形成台式计算机或膝上型计算机、服务器或任何类似的计算机设备的部分,但是索引优选地实现为独立的服务器。
[0055]计算机体系架构1100可以通过调制解调器或网络接口 1102(诸如模拟调制解调器、ISDN调制解调器、缆线调制解调器、令牌环接口或卫星传输接口)与外部设备(诸如源服务器300或目标服务器400)相接口。如图5所示,计算机体系架构1100包括处理单元1104、其可以是传统的微处理器,诸如Intel Pentium微处理器、Intel Core Duo微处理器或Motorola Power PC微处理器,其为计算机【技术领域】的普通技术人员所知。系统存储器1106通过系统总线1108耦接到处理单元1104。系统存储器1106可以是DRAM、RAM、静态RAM(SRAM)或其任意组合。总线1108将处理单元1104耦接到系统存储器1106,到非易失性存储器1110、到图形子系统1112以及到输入/输出(1/0)控制器1114。图形子系统1112控制显示设备1116,诸如液晶显示器,其可以是图形子系统1112的部分。1/0设备1118可以包括计算机【技术领域】的普通技术人员所知的键盘、盘驱动、打印机、鼠标、触摸屏等中的一个或多个。
[0056]索引或数据移动器控制软件将通常存储在非易失性存储器1110上。因此,其可以存储在机器的硬驱或可能存储在外部可连接的存储介质上,诸如USB记忆棒或⑶。这两个设备然后将构成如图5中示出为1118的1/0设备的部分。非易失性存储器还可以存储形成部分索引的索引数据。
[0057]仅仅通过示例给出了以上描述,且本领域的技术人员应当理解在不偏离本发明的范围内可以进行修改。
【权利要求】
1.一种用于将数据从源服务器迁移到目标服务器的数据迁移系统,该系统包括: 包含标准化数据模型中的多个数据迁移操作的索引,每个数据迁移操作与属性相关联地存储,以及 可通信地连接到该索引的数据移动器,该数据移动器适于根据索引中包含的数据迁移操作将数据从源服务器移动到目 标服务器;其中: 该数据移动器具有与索引中包含的至少一个数据迁移操作的相关联的属性对应的属性,该属性指示能够由数据移动器进行的数据迁移操作的类型; 该索引适于获取该数据移动器的属性,并适于从索引中包含的数据迁移操作之中,向数据移动器传送具有与数据移动器的属性对应的属性的数据迁移操作;以及 该数据移动器适于根据传送的数据迁移操作从源服务器向目标服务器移动数据。
2.根据权利要求1所述的数据迁移系统,其中数据移动器包括数据提取命令生成引擎,其适于从传送的数据迁移操作生成源服务器的源语言的数据提取命令。
3.根据权利要求1或2所述的数据迁移系统,其中数据移动器包括数据提交命令生成引擎,其适于从传送的数据迁移操作生成目标服务器的目标语言的数据提交命令。
4.根据权利要求1至3中任一所述的数据迁移系统,其中数据移动器适于在传送的数据迁移操作完成之后向索引发送完成报告。
5.根据权利要求1至4中任一所述的数据迁移系统,其中索引适于在传送的数据迁移操作完成之后,确定在数据迁移的当前阶段,具有与数据移动器的属性对应的属性的所有数据迁移操作是否已经完成;以及 如果在数据迁移的当前阶段中并非具有该属性的所有数据迁移操作都已经完成,则索引适于从索引中包含的数据迁移操作之中,传送具有该属性的另一数据迁移操作;以及如果在数据迁移的当前阶段具有该属性的所有数据迁移操作都已经完成,则索引适于指示数据移动器进入暂停状态。
6.根据权利要求1至5中任一所述的数据迁移系统,其中: 数据移动器具有多个属性,且每个数据迁移操作与多个属性相关联; 数据移动器的属性对应于索引中包含的至少一个数据迁移操作的属性;以及索引适于从索引中包含的数据迁移操作之中,向数据移动器传送具有与数据移动器的属性对应的属性的数据迁移操作。
7.根据权利要求1至6中任一所述的数据迁移系统,包括:多个具有不同属性的数据移动器,其中索引将数据迁移操作分发到具有分别匹配所述数据迁移操作的属性的属性的数据移动器。
8.一种用于将数据从源服务器迁移到目标服务器的方法,该方法包括: 在索引中存储标准化数据模型中的数据迁移操作的集合,每个数据迁移操作与属性相关联地存储; 将属性存储在可通信地连接到该索引的数据移动器中,该属性指示可以由数据移动器进行的数据迁移操作的类型; 在索引处获取数据移动器中存储的属性; 从索引向数据移动器传送具有与该数据移动器中存储的属性对应的相关联的属性的数据迁移操作;将该数据迁移操作转换为源服务器的源语言的数据提取命令; 将该数据提取命令传送到源服务器; 将该数据迁移操作转换为目标服务器的目标语言的数据提交命令; 将该数据提交命令传送到目标服务器;以及 将数据从该源服务器移动到该目标服务器。
9.根据权利要求8所述的方法,其中具有不同属性的多个数据移动器连接到索引,该方法还包括: 估计完成将数据从源服务器移动到目标服务器所需的时间;以及如果估计的时间超过预定的上阈值,则将额外的数据移动器连接到索引或激活额外的数据移动器。
10.根据权利要求8或权利要求9所述的方法,其中具有不同属性的多个数据移动器连接到索引,该方法还包括: 估计完成将数据从源服务器移动到目标服务器所需的时间;以及 如果估计的时间低于预定的下阈值,则将该数据移动器从索引断开或无效该数据移动 器。
【文档编号】H04L29/08GK103957226SQ201310341785
【公开日】2014年7月30日 申请日期:2013年8月7日 优先权日:2012年8月7日
【发明者】I.T.史密斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1