CN107179879A - 用于存储设备的数据迁移的方法和装置 - Google Patents

用于存储设备的数据迁移的方法和装置 Download PDF

Info

Publication number
CN107179879A
CN107179879A CN201610141843.2A CN201610141843A CN107179879A CN 107179879 A CN107179879 A CN 107179879A CN 201610141843 A CN201610141843 A CN 201610141843A CN 107179879 A CN107179879 A CN 107179879A
Authority
CN
China
Prior art keywords
data migration
execution unit
data
user
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610141843.2A
Other languages
English (en)
Other versions
CN107179879B (zh
Inventor
赵军平
彭麟
曹逾
李三平
董哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Priority to CN201610141843.2A priority Critical patent/CN107179879B/zh
Priority to US15/455,709 priority patent/US10678464B2/en
Publication of CN107179879A publication Critical patent/CN107179879A/zh
Application granted granted Critical
Publication of CN107179879B publication Critical patent/CN107179879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例提供用于存储设备的数据迁移的方法和装置。方法包括一种用于数据迁移的方法,包括对用于数据迁移的至少一个执行单元进行注册,所述至少一个执行单元中的每个执行单元具有对应的描述文件;提取并存储所述至少一个执行单元中的每个执行单元对应的描述文件所包含的信息;接收来自用户的数据迁移请求;响应于来自用户的所述数据迁移请求,至少基于所存储的所述描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元;以及调度所选择的执行单元的实例以执行所述用户的数据迁移。根据本公开的实施例的方法或装置,能够以统一的可扩展的方式实现针对具有各种格式、各种性能要求、以及应用场景的数据迁移。

Description

用于存储设备的数据迁移的方法和装置
技术领域
本公开的实施例涉及存储系统,并且更具体地涉及用于存储设备的数据迁移的方法和装置。
背景技术
在存储系统中,出于各种原因,用户经常会希望进行数据迁移,即将数据从一个存储设备迁移到另一存储设备。例如,可能由于数据迁移、数据备份(DB)、容灾(DC)、基于服务等级协定(SLA)进行的重新调度、数据分发、数据聚合等而进行数据迁移。
目前已有一些用于数据迁移的产品或者技术方案,这些产品和技术方案主要适用于中小规模数据环境或者单一应用场景中,并且存在以下弊端。
首先,这些解决方案通常只适用于某些特定的应用场景、迁移目标和迁移需求。例如,实际应用中数据格式是多种多样的,诸如,文件、文件系统、磁盘、数据库、虚拟机甚至容器,而现有解决方案在数据迁移格式方面,通常只支持一种或有限的几种。在迁移模式方面,现有技术基本不能全部支持以下常见模式,如同步、异步、分层、数据流等。在迁移目标方面,现有技术对源端和目标端往往有较严苛的限制,例如,要求目标端和源端必须具有同样的硬件类型和配置等。
其次,这些现有解决方案在技术实现方面,采用紧耦合的架构设计,且多基于特定的硬件装置(Appliance)。导致通用性差,难以快速扩展。
在大规模数据中心或者云计算环境下,以上弊端会带来严峻挑战。因此,期望能够提供一种统一的、可扩展的数据迁移解决方案。
在本公开的实施例中,提供了方法和装置,以解决以上问题中的至少一些问题。
发明内容
本公开的实施例提出了用于存储系统中的数据迁移的方法和装置。下面给出了对各实施例的简要概述,以提供对各种实施例的一些方面的基本理解。该概述不旨在标识关键元素的要点或描述各种实施例的范围。其唯一目的在于以简化形式呈现一些概念,作为对后述更具体描述的前序。
本公开的第一方面提供了一种用于数据迁移的方法,包括对用于数据迁移的至少一个执行单元进行注册,所述至少一个执行单元中的每个执行单元具有对应的描述文件,所述描述文件具有预先定义的格式;提取并存储所述至少一个执行单元中的每个执行单元对应的描述文件所包含的信息;接收来自用户的数据迁移请求;响应于来自用户的所述数据迁移请求,至少基于所存储的所述描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元;以及调度所选择的执行单元的实例以执行所述用户的数据迁移。
在一个实施例中,所述至少一个执行单元中的每一个执行单元被封装成为了容器。
在另一实施例中,所述描述文件可以指示以下中的至少一项:对应的执行单元的类型、能力、配置、所支持的数据格式、运行要求;以及能够提供的性能。
在又一实施例中,所述数据迁移请求可以包括数据迁移的源地址和目标地址的指示,以及关于以下中的至少一项的信息:对所述数据迁移的性能要求、在所述数据迁移中是否要求删除重复、在所述数据迁移中是否执行压缩和/或所支持的压缩格式;以及在所述数据迁移中是否执行加密和/或所支持的加密方式。
在一个实施例中,该至少一个执行单元中的一个执行单元可以进一步被配置为执行以下中的至少一项:汲取数据、数据缓存、数据校验、重复数据删除、数据压缩、数据加密、数据传输。
在另一实施例中,其中至少基于所存储的所述描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元可以包括:分析来自所述用户的数据迁移请求;以及基于所述分析和所存储的描述文件的部分信息,确定与所述数据迁移请求匹配的执行单元。
在又一实施例中,该方法可以进一步包括:将与所述数据迁移请求匹配的执行单元中的、正在运行的执行单元的实例确定为最匹配的执行单元。在另一个实施例中,基于所存储的所述描述文件所包含的信息来选择用于所述用户的数据迁移的执行单元可以进一步包括:评估执行单元的运行需要的资源;以及进一步基于所述评估来确定与所述数据迁移请求匹配的执行单元。
在一个实施例中,该方法可以进一步包括以下中的至少一项:向所述用户发送数据迁移响应;接收所述用户对于数据迁移的运行状态和/或运行日志的查询;响应于所述用户的查询而显示所述用户的数据迁移的运行状态和/或运行日志;以及从用户接收要被迁移的数据。
在另一实施例中,该方法可以进一步包括:对被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项进行更新。在又一实施例中,该方法可以进一步包括:监测被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项;以及基于所述监测来增加、减少、或者改变被调度的执行单元的实例。
本公开的第二方面提供了另一种用于数据迁移的方法,包括:向数据迁移设备发送数据迁移请求,以促使所述数据迁移设备根据本公开的第一方面所述的方法执行数据迁移。
在一个实施例中,所述数据迁移请求包括数据迁移的源地址和目标地址的指示,以及关于以下中的至少一项的信息:对所述数据迁移的性能要求、在所述数据迁移中是否要求删除重复、在所述数据迁移中是否执行压缩和/或所支持的压缩格式、以及在所述数据迁移中是否执行加密和/或所支持的加密方式。
在一个实施例中,该方法可以进一步包括向所述数据迁移设备发送以下中的至少一项:对数据迁移的运行状态和/或运行日志的查询;以及要被迁移的数据。
在另一实施例中,该方法可以进一步包括从所述数据迁移设备接收数据迁移的运行状态和/或运行日志.
本公开的第三方面提供了一种用于数据迁移的装置,包括注册单元、存储单元、第一接收单元、调度单元以及至少一个执行单元,其中:所述至少一个执行单元中的每个执行单元具有对应的描述文件,所述描述文件具有预先定义的格式;并且每个执行单元被配置为在被所述调度单元调度时执行数据迁移;所述注册单元被配置为对所述至少一个执行单元进行注册;所述存储单元被配置为提取并存储所述至少一个执行单元中的每个执行单元对应的描述文件所包含的信息;所述第一接收单元被配置为接收来自用户的数据迁移请求;并且所述调度单元被配置为响应于来自用户的所述数据迁移请求,至少基于所存储的描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元;并且调度所选择的执行单元的实例以执行所述用户的数据迁移。
本公开的第四方面提供了另一种用于数据迁移的装置,包括第一发送单元,被配置为向数据迁移设备发送数据迁移请求;其中数据迁移设备包括如本公开的第三方面所述的装置。
本公开的第五方面提供了一种装置,该装置包括至少一个处理器;以及包括计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为:与所述至少一个处理器一起,促使所述装置执行根据本公开的第一方面的方法。
本公开的第六方面提供了一种装置,该装置包括至少一个处理器;以及包括计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为:与所述至少一个处理器一起,促使所述装置执行根据本公开的第二方面的方法。
根据本公开的实施例的方法或装置,能够以统一的可扩展的方式实现针对具有各种格式、各种性能要求、以及应用场景的数据迁移,提供用于数据迁移的易于部署和管理的解决方案。
尽管在附图中通过示例的方式示出了特定的实施例,然而,应当理解,本文的具体实施例的描述不意在将实施例限制为所公开的具体形式。
附图说明
从下文的公开内容和权利要求中,本公开的目标、优点和其他特征将变得更加明显。这里仅出于示例的目的,参考附图来给出优选实施例的非限制性描述,在附图中:
图1a示出了根据本公开的实施例的用于数据迁移的框架的示意图;
图1b-1c示出了根据本公开的实施例的用于数据迁移的方法的示例性流程图;
图2a-2c示出了根据本公开的实施例的用于数据迁移的方法的另一示例性流程图;
图3示出了根据本公开的实施例的用于数据迁移的另一方法的示例性流程图;
图4示出了根据本公开的实施例的用于数据迁移的装置的示例性结构图;
图5示出了根据本公开的实施例的用于数据迁移的装置和运行环境的另一示例性结构图;
图6示出了根据本公开的实施例的执行单元的功能子模块的示例性结构图;
图7示出了根据本公开的实施例的用于数据迁移的另一装置的示例性结构图;以及
图8示出可以用来实施本公开的实施例的示例设备的示意性框图。
具体实施方式
在以下描述中,出于说明的目的而阐述许多细节。然而,本领域普通技术人员将认识到可以在不使用这些具体细节的情况下实现本公开的实施例。因此,本公开不旨在于受限于所示实施例、而是将被赋予与本文描述的原理和特征一致的最宽的范围。
应当理解,术语“第一”、“第二”等仅被用来将一个元素与另一个元素区分开来。而实际上第一元素也能够被称为第二元素,反之亦然。另外还应当理解“包括”,“包含”仅被用来说明所陈述的特征、元素、功能或者部件的存在,然而并不排除存在一个或者多个其他的特征、元素、功能或者部件。
如上所述,用于数据迁移的现有解决方案通常只适用于某些特定的应用场景、迁移目标和迁移需求。另外,在技术实现方面,现有技术往往采用紧耦合的架构设计、基于特定的硬件(Appliance),从而导致通用性差,难以快速扩展。
在大规模数据中心或者云计算环境下,数据迁移解决方案的设计将面临如下挑战:
1)以单一融合架构满足多种应用场景需求,包括支持多种数据源/格式和常见迁移模式。从而避免为每个特定的应用或者需求各自部署一套迁移系统。
2)具有自动化与可管理性。在现有技术中,每套迁移系统各自具有其安装、配置、监控和维护方式,同时有些管理功能也需要额外的硬件。这导致当多个类似系统存在时,管理和维护成本大大增加。因此,在上述融合架构下,需要一个单一管理系统和自动化辅助设施来协调硬件资源发现、申请、配置、任务提交和生命周期管理等。
3)具有可扩展并满足服务水平质量标准(SLA)。当数据流增加、任务变化时,数据迁移系统需要做到水平可扩展,能够灵活地快速部署,以满足约定的SLA,例如性能指标(MB/s,IOPS),迁移指标(RTO,RPO)和成本控制(TCO)。
为了解决以上问题中的至少一些问题,和/或实现以上要求中的至少一部分,本公开的实施例提出了用于存储系统中的数据迁移的方法和装置。
本公开的实施例提供如图1a所示的统一的、可扩展的、易于使用的数据迁移框架110。该框架110可以支持各种数据从设备120到设备130的迁移。设备120和设备130可以是本地存储设备或者云存储设备。该框架110包括集中控制平面和可插拔的数据平面。该数据平面能够充分利用现有的数据迁移技术(例如,vRPA,CloudBoost,TwinStrata等),同时对于未来开发的新的数据迁移技术也是开放的。这些不同的数据迁移技术可根据需要被插入到本公开的实施例的装置中,例如每种数据迁移技术可以作为一个容器或者VIC(VMWare Integrated Container)容器插入到装置中公共的可插拔引擎层。在控制平面,本公开的实施例建立了具有自动匹配和自动扩展能力的层堆栈。该实施例能够根据存储的知识和输入的任务信息、和/或SLA等,找到最匹配的数据迁移技术来执行数据迁移。因此,本公开的实施例能够将内部的复杂度(例如资源评估和选择)隐藏,以提供更加易于使用的解决方案;另外,其能够通过插入新的数据迁移技术而进行迅速地扩展。
图1b-1c中示出了用于数据迁移的方法100的示例性流程图。方法100例如可以在图1a中的数据迁移框架110中使用。该数据迁移可以在相同或者不同的存储设备之间进行,即数据迁移的源设备和目标设备可以具有相同或者不同的类型。例如,可以在本地存储设备和云存储系统之间进行所述数据迁移,或者在云存储设备之间进行所述数据迁移。本公开的实施例不限于任何特定类型的源存储设备和目标存储设备。
如图1b所示,该方法100包括,在S101,对用于数据迁移的至少一个执行单元进行注册,该至少一个执行单元中的每个执行单元具有对应的描述文件;在S102,提取并存储所述至少一个执行单元中的每个执行单元对应的描述文件所包含的信息;在块S103,接收来自用户的数据迁移请求;在块S104,响应于来自用户的所述数据迁移请求,至少基于所存储的所述描述文件所包含的部分信息来选择用于该用户的数据迁移的执行单元;以及在块S105,调度所选择的执行单元的实例以执行所述用户的数据迁移。
在S101中注册的执行单元可以是利用任何现有数据迁移技术的执行单元,例如,RPA、CloudBoost、TwinStrata等,也可以是利用新开发的数据迁移技术的执行单元。本公开的实施例并不限于该执行单元所具体使用的技术。
在一个实施例中,S101中的注册可以包括通过REST应用程序接口(API)对所述至少一个执行单元进行注册。但是本公开的实施例与限于此,而是可以通过任何合适的方式进行注册。
在一个实施例中,该至少一个执行单元中的每一个执行单元可以被封装成容器,从而在S101,对容器进行注册。一种典型的容器是Docker,然而本公开的实施例并不限于此。
在另一个实施例中,执行单元的描述文件指示以下中的至少一项:对应的执行单元的类型、能力、配置、所支持的数据格式、运行要求、以及能够提供的性能。这使得能够针对特定的数据迁移任务选择最匹配的执行单元。
本公开的实施例并不限于任何特定的描述文件格式。仅作为示例,该文件格式,可以是JSON文件格式。例如,描述文件中可以用以下格式描述执行单元的能力:
.format=container RPO=1Min Mode=online|asynccompression=Yes,Lz4,checksum=FarmHash;
并且/或者,可以用以下格式描述执行单元的部署和资源要求:
staging=.cpu=1,.mem=2GB..net=10Gb.disk=100GB;processing.cpu=4.mme=2GB.net=10Gb..disk=10GB
APIs={start,show-status,add-instance,stop}。
以下是描述文件的一个示例:
在S102,可以读取描述文件,提取其中的信息,并且以与描述文件相同或者不同的格式将该信息进行存储。例如,可以将信息存储在文件、数据库、或者查找表中。本公开的实施例不限于任何具体的存储形式。
在一个实施例中,S103中接收的来自用户的数据迁移请求包括数据迁移的源地址和目标地址的指示。例如可以是源和目标存储设备的IP地址,或者账号、或者路径、volID、或者CID等。
在另一实施例中,数据迁移请求中还可以包括关于以下中的至少一项的信息:对所述数据迁移的性能要求、在所述数据迁移中是否要求删除重复、在所述数据迁移中是否执行压缩和/或所支持的压缩格式;以及在所述数据迁移中是否执行加密和/或所支持的加密方式。其中第一项使得方法100能够选择与用户要求的性能最匹配的执行单元,而第二到四项使得方法100能够针对数据迁移过程中是否需要额外的数据处理来选择具有相应处理能力的执行单元。仅作为示例,性能要求可以是带宽,时延、每秒的输入输出(IOPS)等。
在一个实施例中,该至少一个执行单元可以具有不同的处理能力。例如,其中的某些执行单元还可以被配置为执行以下中的至少一项:汲取数据、数据缓存、数据校验、重复数据删除、数据压缩、数据加密、数据传输。因此,方法100能够允许用户提供关于数据处理的要求,并为其选择合适的执行单元。
在一个实施例中,在S104,至少基于所存储的所述描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元可以包括:分析来自所述用户的数据迁移请求;以及基于所述分析和所存储的描述文件的部分信息,确定与所述数据迁移请求匹配的执行单元。
在一个示例中,在S104可以包括基于描述文件来评估执行单元所需要的资源,并且进一步基于所述评估来确定与所述数据迁移请求相匹配的执行单元。
在另一示例中,所述匹配的执行单元可以是能够满足用户的数据迁移请求中指示的性能要求的执行单元,或者是具有数据迁移请求中所指示的处理能力的执行单元。在一个优选实施例中,S104可以进一步包括:优先选择正在运行的执行单元的实例,也就是说,将与所述数据迁移请求相匹配的执行单元中、正在运行的执行单元的实例确定为最匹配的执行单元。这使得能够重用正在运行的资源。
在另一个实施例中,在S105,调度所选择的执行单元的实例以执行所述用户的数据迁移可以包括:向运行环境发送运行所述执行单元的请求,从该运行环境获得用于运行该执行单元的资源,并在所述资源上运行选择的执行单元的实例。
如图1c所示,可选地,在本公开的一个实施例中,方法100还可以进一步包括:在S106,对被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项进行更新。该更新结果可以,例如,被用户查询、显示、或者在调度中被使用。
在另一实施例中,方法100还可以包括:在S107监测被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项;以及在S108基于所述监测来增加、减少、或者改变被调度的执行单元的实例。例如,可以将当前的性能与SLA比较以确定单元执行单元的实例是否满足要求,并且例如,可以在某些性能参数的值低于预定阈值时运行新的执行单元的实例。例如,当存储器容量只有30%可用,并且/或者,当IOPS下降50%时,可以运行新的实例。这使得方法100能够适应于变化的运行环境,并且满足用户的性能需求。
同样可选地,在另一实施例中,方法100还可以包括与用户的其他交互S109,例如,可以包括以下中的至少一项:向所述用户发送数据迁移响应、接收所述用户对于数据迁移的运行状态和/或运行日志的查询、响应于所述用户的查询而显示所述用户的数据迁移的运行状态和/或运行日志、以及从用户接收要被迁移的数据。
例如,在一个实施例中,该方法100可以从用户接收要被迁移的数据,并根据数据迁移请求中的指示,将该数据迁移到目标存储设备。在另一实施例中,方法100也可以根据数据迁移请求中指示的源存储地址,去读取数据并将数据存储到目标存储设备。也就是说,从数据源汲取数据可以有两种方式:推(把数据写入迁移系统)和拉(迁移系统主动从数据源读取数据)。在具体实现方面,有些迁移的执行可能需要特定的客户端配合(可以称为代理,被安装在数据源或者数据目标端),该客户端可以用于:1)持续监控数据的变化,并保持和迁移系统的控制通信2)为了性能或者可靠性,客户端可能以多线程并发运行,还可能会执行必要的预处理,例如在发送给迁移系统之前就执行数据校验,数据压缩,重复数据删除等等。即把部分迁移执行模块里的功能前移。应该注意,客户端不是必须的,这取决于各个执行模块的具体实现。本公开的实施例对此没有限制。
在图2a-2c中示出了用于数据迁移的另一方法200的示意性流程图。其中图2a示出了该方法包括注册流程210和任务处理流程220。在图2b中示出用于注册新的执行单元的流程210的示例操作。如图2b所示,在S2101,将数据迁移执行单元封装成容器,例如Docker。在S2102,提取执行单元的描述文件,该描述文件例如可以是.JSON文件。在S2103,将该执行单元在可插拔引擎层注册。该可插拔引擎层是用于各个执行单元的注册的公共层。注册信息和描述文件的信息可以在S2104被存储到数据库(或者查找表/文件)中。
能够理解的是,当该方法中使用的执行单元已经被预先封装成容器时,S2101的操作可以被省略。
在一个实施例中,S2102和S2104的操作可以与方法100的块S102相同。而S2103的操作可以与方法100的块S101相同。
在图2c中示出了该方法中用于处理用户请求的任务的示意性流程220。如图2c所示,在S2201,接收用户提交的数据迁移任务/请求。该请求可以与结合方法100所述的类似,因此不再详述。
在S2202,查找和确定与该任务/请求匹配的执行单元;并且在S2203评估确定的执行单元的资源需求。在S2204从运行环境/系统资源池获取需要的资源。在一个实施例中,系统资源池提供运行所需的硬件/软件环境,例如虚拟机实例和CPU,存储器,磁盘,网络,以及操作系统,并且在S2204,数据迁移装置能够从运行环境/系统资源池获知访问该资源的接口,例如IP地址,账号信息等。在S2205,利用获取的资源运行执行单元的实例。例如,数据迁移装置的迁移调度层在S2205把选中的执行单元(迁移模块)安装在运行环境中,然后按要求(例如顺序、设置环境变量等)启动实例并初始化。
在一个实施例中,S2203的操作也可以在S2202中执行,即在确定执行单元时考虑对资源的评估。在另一实施例中,在S2202和S2203的操作可以与方法100中的S104相同,或者是其一部分。在又一实施例中,S2204和S2205的操作与方法100中的S105的操作相同、或者是其的一部分。
如图2c所示,该示例方法还可以进一步包括S2206,其中对执行单元的实例状态进行更新,例如可以包括更新其运行状态、性能、日志、资源使用等中的一项或者多项。在一个实施例中,在S2206,可以向迁移系统注册该执行单元的实例,记录其信息,包括哪个迁移模块对应哪个虚拟机、有多少个实例被成功启动、对外可访问的接口(通常为IP地址加端口)各自是什么等。这些信息会被更新到数据库中,供后续查询和持续的状态更新。在一个实施例中,该操作可以与S106的操作相同。
在另一实施例中,该示例方法还可以包括S2207,其中,对执行单元的资源使用和性能进行监测,以及S2208,根据该监测对执行单元的实例进行调整,包括增加新的或者更多的实例。例如,可以在S2207持续地定期(例如每5秒)监控实例的运行状况,主要包括运行状态(正常、失败、局部故障等)、性能指标(MB/s,读写延迟等)和资源消耗(CPU、存储器、磁盘、网络)等,并把这些信息汇总,导入到数据库或者直接导出显示在管理界面。当发现异常情况会导致服务水平难以保证时,可以在S2208做干预处理。例如:
1)实例失效,即外界无法访问。此时可以预定义两种策略。一是重启该实例;二是杀掉该实例,重新申请一个新的资源来代替该失效的实例。
2)实例性能异常:例如由于导入数据量激增,或者资源消耗过快,或者二者同时发生,最终导致性能指标出现降级。则采用的策略可以是依据降级程度来依次提高响应级别。例如,当性能下降20%且持续3分钟,尝试在现有的资源(如虚拟机)上启动更多的实例;当性能下降50%时,且持续10分钟,则向资源池申请更多的运行资源;并在其上增加实例。申请资源的多少取决与下降的幅度。
在一个实施例中,S2207和S2208的操作可以与方法100的S107和S108相同。
在图3中示出了用于数据迁移的方法300。如图3所示,该方法300包括S301,其中用户向数据迁移设备发送数据迁移请求,以促使所述数据迁移设备根据方法100或者200中的任一方法执行数据迁移。
如上结合图1和方法100所述的,在一个实施例中,数据迁移请求可以包括数据迁移的源地址和目标地址的指示,以及关于以下中的至少一项的信息:对所述数据迁移的性能要求、在所述数据迁移中是否要求删除重复、在所述数据迁移中是否执行压缩和/或所支持的压缩格式;以及在所述数据迁移中是否执行加密和/或所支持的加密方式。
在另一实施例中,可选地,方法300还可以包括S302,其中用户向数据迁移设备发送对数据迁移的运行状态和/或运行日志的查询;以及/或者向该设备发送要被迁移的数据;以及/或者对要迁移的数据进行预处理。
可选地,在另一实施例中,方法300还可以包括S303,其中用户从数据迁移设备接收数据迁移的运行状态和/或运行日志。
以下参考附图4描述用于数据迁移的装置400的结构。装置400适用于在任何存储设备之间进行各种格式的数据迁移。例如,存储设备可以是本地存储设备或者云存储设备。并且源存储设备和目标存储设备可以具有不同的类型。
装置400可以执行参考图1所述的方法100或者参考图2a-2c所述的方法200,但是不限于执行该方法100或者200。同样,该方法100或者200可以由装置400执行,但是不限于由装置400执行。例如方法100或者200的至少一些操作可以由其它的装置来执行。
如图4所示,装置400包括注册单元401、存储单元402、第一接收单元403、调度单元404以及至少一个执行单元405。其中,至少一个执行单元(例如405-1,405-2,405-3)中的每个执行单元具有对应的描述文件;并且每个执行单元被配置为在被所述调度单元调度时执行数据迁移。注册单元401被配置为对所述至少一个执行单元进行注册;存储单元402被配置为提取并存储所述至少一个执行单元中的每个执行单元对应的描述文件所包含的信息;第一接收单元403被配置为接收来自用户的数据迁移请求;并且调度单元404被配置为响应于来自用户的所述数据迁移请求,至少基于所存储的描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元;并且调度所选择的执行单元的实例以执行所述用户的数据迁移。
在一个实施例中,装置400的注册单元401、存储单元402、第一接收单元403、调度单元404以及至少一个执行单元405可以分别执行方法100的块S101-S105的功能。因此,以上结合图1和方法100所述的相应操作和特征在此同样适用,并因此不再详述。
例如,至少一个执行单元405中的每一个执行单元(例如405-1,405-2,405-3)可以被封装成容器,诸如Docker或者VIC。
在一个实施例中,某些执行单元可以进一步被配置为执行以下中的至少一项:汲取数据、数据缓存、数据校验、重复数据删除、数据压缩、数据加密、数据传输。
在另一个实施例中,执行单元405的描述文件可以指示以下中的至少一项:该执行单元的类型、能力、配置、所支持的数据格式、运行要求;以及能够提供的性能。已经结合方法100给出了描述文件的格式的示例,在此不再重复。
在另一实施例中,数据迁移请求可以包括数据迁移的源地址和目标地址的指示,以及关于以下中的至少一项的信息:对所述数据迁移的性能要求、在所述数据迁移中是否要求删除重复、在所述数据迁移中是否执行压缩和/或所支持的压缩格式、以及在所述数据迁移中是否执行加密和/或所支持的加密方式。
在一个实施例中,调度单元404可以进一步被配置为分析来自用户的数据迁移请求,基于所述分析和所存储的描述文件,确定与所述数据迁移请求匹配的执行单元,以及调度所确定的执行单元的实例来执行所述数据迁移。在进一步的实施例中,调度单元304还可以进一步被配置为:将与所述数据迁移请求匹配的执行单元中、正在运行的执行单元的实例确定为最匹配的执行单元。在另一实施例中,调度单元404又可以被配置为评估执行单元的运行需要的资源,以及进一步基于所述评估来确定与所述数据迁移请求匹配的执行单元。
在一些实施例中,装置400可以进一步包括更新单元406,其被配置为对被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项进行更新。
在另一些实施例中,装置400还可以包括监测单元407,其被配置为监测被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项;以及调整单元408,其被配置为基于所述监测来增加、减少、或者改变被调度的执行单元的实例。
在一个实施例中,更新单元406、监测单元407和调整单元408可以分别被配置为执行方法100的S106-S108的操作,因此,结合S106-S108进行的描述在此同样适用,并不再重复。
可选地,装置400可以进一步包括与用户的其它交互单元409,例如其它交互单元409可以包括以下中的至少一项:第一发送单元,被配置为向所述用户发送数据迁移响应、第二接收单元,被配置为接收所述用户对于数据迁移的运行状态和/或运行日志的查询、显示单元,被配置为响应于所述用户的查询而显示所述用户的数据迁移的运行状态和/或运行日志;以及第三接收单元,被配置为从用户接收要被迁移的数据。
图5示出了用于数据迁移的装置500的另一示例性结构以及示例性的应用场景。图左侧的存储设备510和右侧的存储设备520可以是用于数据迁移的源存储设备或者目标存储设备。如图所示,源存储设备和目标存储设备均可以包括各种类型的数据。图下部的530是装置500的运行环境与系统资源池的示例。典型的运行环境可以是IaaS(IT基础设施即服务)或者是PaaS(平台即服务)。这些“即服务”都提供了按需访问的接口API。由这些IaaS/PaaS类提供系统运行所需的主机/VM(虚拟机),包括CPU、内存、磁盘、网络以及操作系统等。根据本公开的实施例,执行模块能够以Docker容器方式打包运行,兼容性很好,可以支持目前市面上主流的IaaS如Amazon AWS,Microsoft Azure,Google Cloud Engine,EMC VirtuStream,VMWarevCloud Air,OpenStack等或者PaaS如CloudFoundry,Mesos,Kubernetes等。
如图5所示该装置500适用于在任何存储设备之间进行各种格式的数据迁移。例如,存储设备可以是本地存储设备或者云存储设备。并且源存储设备和目标存储设备可以具有不同的类型。
如图5所示,装置500包括可插拔引擎层501、匹配与调度层502、配置与管理层503和执行单元504。在该图中示出了4个利用现有技术的不同种类的执行单元504-1,504-2,504-3和504-4,但是本公开的实施例不限于图中所示的执行单元的数目和类型。如图所示,不同的执行单元分别可以被封装成容器,例如Docker或者VIC。
该可插拔引擎层层501对多个执行单元进行注册。该可插拔引擎层是服务提取层,其可以作为调度单元与可执行单元之间的桥梁。例如,该可插拔引擎层可以通过RESRAPI来注册每个执行单元,记录其能力和API。在一个实施例中,可插拔引擎层501的功能可以与装置400中的注册单元401相同。
在一个实施例中,该匹配与调度层502可以进行执行单元的自动匹配、自动调度以及自动的调整(例如,自动扩展)。在又一实施例中,该匹配与调度层502可以基于用户输入数据分析用户的需求、或者获知源/存储设备的类型、运行环境等,并至少基于此来执行自动匹配。例如,调度单元可以考虑用户请求中指示的数据格式、PRO需求、同步/非同步、或其组合。在另一示例中,匹配与调度层502可以检测源/目标/平台的环境,例如,操作系统、Docker环境、硬件资源、产品厂商和/或型号。在又一示例中,调度单元可以进行资源评估。
在另一实施例中,该匹配与调度层502可以通过调用执行单元来运行API以启动相应的执行单元的容器或者VIC。该调度可能需要,但不是必须,在源和/或目标存储设备中安装代理。
在又一实施例中,匹配与调度层502还可以监测执行单元的状态、进展、日志等,并对调度结果进行调整。该监测例如可以通过调用执行单元的API来进行。该调整可以包括根据对资源使用和/或性能的监测结果而扩展调度的执行单元的实例。
在另一实施例中,该匹配与调度层502可以执行与装置400的调度单元404相同的功能。
配置与管理层503可以提供集中式的管理接口,例如可以包括仪表板,可以显示运行状态、日志等。例如,该接口可以允许用户提交任务请求、任务进展查询等,并且/或者可以提供认证信息。
在一个实施例中,在一个执行单元504内部,可以存在多个功能子模块,每个子模块均可以以容器方式打包和运行,并各自独立扩展(即多个运行实例)。典型的功能子模包括,但不限于:
-数据汲取,从数据源导入数据(拉pull或者推push的方式);
-数据缓存:暂存数据,例如保存在内存,磁盘或者多副本镜像;
-数据校验(通常对汲取数据以定长方式产生校验值并保存,防止数据在传输或者处理过程中,由于软件/硬件故障出现损坏而影响数据的完整性);
-重复数据删除(如发现有数据内容相同,则不保存或者传输那些重复的数据块);
-数据压缩;
-数据加密;
-数据传输/发送。
子模块之间可以存在特定的数据流依赖关系。在图6中示出多个子模块及其之间的数据流的示例。但是如本领域技术人员能够理解的,在其他实施例中,可以在执行单元504中实施比图6中所示的更少或者更多的或者不同的子模块,并且其中的数据流可以与图6示出的不同。
图7是用于数据迁移的另一装置700的示意性结构图。该装置可以实施于,例如源存储设备中,也可以实施于与源存储设备分离的设备。
如图7所示,该装置700包括第一发送单元701,其被配置为向数据迁移设备发送数据迁移请求;该数据迁移设备包括如结合图4或者图5所述的任一装置400或者500。
在一个实施例中,如结合图4或者5所述的,该数据迁移请求可以包括数据迁移的源地址和目标地址的指示,以及关于以下中的至少一项的信息:对所述数据迁移的性能要求、在所述数据迁移中是否要求删除重复、在所述数据迁移中是否执行压缩和/或所支持的压缩格式;以及在所述数据迁移中是否执行加密和/或所支持的加密方式。
在另一实施例中,该装置700可以进一步包括:第二发送单元702,其被配置为向所述数据迁移设备发送对数据迁移的运行状态和/或运行日志的查询和/或要被迁移的数据。
在另一实施例中,该装置700可以进一步包括接收单元703,其被配置为从所述数据迁移设备接收数据迁移的运行状态和/或运行日志
如本领域技术人员能够理解的,装置400、500、700还可以包括图4、5、7中未示出的其它单元;并且/或者,在一些实施例中,图4、5、7中的某些单元可以被省略。
在提出本公开的实施例的方法和装置之前,不存在针对各种数据格式和应用场景或者处理要求的统一的数据迁移的解决方案。而本公开的实施例提供了具有集中控制平面和可插拔的数据平面的灵活架构,使得该数据迁移解决方案易于使用、易于扩展、并对新的数据迁移技术开放。并且,本公开的实施例,还能够为数据迁移任务自动匹配数据迁移执行单元,从而将复杂的内部操作对用户隐藏,从而能够减少差错并适应于不同的用户需求和应用场景。
本领域技术人员将容易地认识到,各种上述各种方法中的块或者步骤可以通过编程的计算机来执行。在本公开中,一些实施例还意在涵盖一种包括指令的计算机程序,所述指令在至少一个处理器中执行时,促使所述至少一个处理器执行方法100、200或者300中的任一方法。在本公开中,一些实施例还意在涵盖程序存储系统,例如,数字数据存储介质,这是机器或计算机可读的并且编码机器可执行或计算机可执行的指令程序,其中,所述指令执行上述方法100、200或者300中的一些或所有步骤。程序存储系统可以是,例如,数字存储器、诸如磁盘和磁带的磁存储介质、硬盘驱动器或光学可读数字数据存储介质。该实施例还意在涵盖编程为执行所述上述方法的步骤的计算机。一些实施例还意在涵盖一种装置,该装置包括至少一个处理器;以及至少一个包括计算机程序代码的存储器,其中所述至少一个存储器和所述计算机程序代码被配置为:与所述至少一个处理器一起,促使所述装置执行方法100、200或者300中的任一方法。
图8示出了一个可以用来实施本公开的实施例的设备800的示意性框图。如图所示,设备800包括处理单元(例如但不限于CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令、或者来自存储单元808的计算机程序指令(例如,从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令),来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。处理单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元506,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法100、200或者300,可由处理单元801执行。例如,在一些实施例中,方法100、200或者300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由处理单元801执行时,可以执行上文描述的方法100、200或者300的一个或多个步骤。
因此,本公开的解决方案可以利用各种方式来提供。例如,在一些实施例中,可以将实施例的方法/装置实现为硬件盒子或者软件和硬件结合的封装设备;在另一些实施例中,可以将实施例的方法/装置实现为能够在商业硬件上运行的软件产品;在又一些实施例中,还可以将实施例的方法/装置在云环境中最为服务向用户提供。
在附图中示出的装置的各种元件的功能,可以通过使用软件、专用硬件以及与适当软件相关联的能够执行软件的硬件、或者固件、或者其结合来提供。当由处理器提供时,该功能可以由单个专用处理器、由单个共享处理器或由多个单独的处理器来提供。此外,术语“处理器”可以包括但不限于,数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA),用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储装置。还可以包括其他常规和/或定制的硬件。
本领域技术人员应当理解,说明书和附图仅仅说明本公开的实施例的原理。因此,应当理解,本领域的技术人员将能够设计出各种布置,虽然这里没有明确地描述或示出,但是该布置体现本公开的实施例的原理并且被包括在本公开的实施例的精神和范围内。此外,这里阐述的所有示例主要旨在明确仅用于教学目的,以帮助读者理解本公开的实施例的原理和发明人贡献的用于促进本领域的概念,并且应被解释为不限于这些具体阐释的示例和条件。而且,这里阐述本公开的实施例的原理、方面和实施例的所有阐述及其具体示例也意在包含其等同物。

Claims (32)

1.一种用于数据迁移的方法,包括
对用于数据迁移的至少一个执行单元进行注册,所述至少一个执行单元中的每个执行单元具有对应的描述文件;
提取并存储所述至少一个执行单元中的每个执行单元对应的描述文件所包含的信息;
接收来自用户的数据迁移请求;
响应于来自用户的所述数据迁移请求,至少基于所存储的所述描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元;以及
调度所选择的执行单元的实例以执行所述用户的数据迁移。
2.根据权利要求1所述的方法,其中所述至少一个执行单元中的每一个执行单元被封装成容器。
3.根据权利要求1所述的方法,其中所述描述文件指示对应执行单元的以下信息中的至少一项:
类型;
能力;
配置;
所支持的数据格式;
运行要求;以及
能够提供的性能。
4.根据权利要求1所述的方法,其中所述数据迁移请求包括数据迁移的源地址和目的地址的指示,以及以下信息中的至少一项:
对所述数据迁移的性能要求;
在所述数据迁移中是否要求删除重复;
在所述数据迁移中是否执行压缩和/或所支持的压缩格式;以及
在所述数据迁移中是否执行加密和/或所支持的加密方式。
5.根据权利要求1所述的方法,其中所述至少一个执行单元中的一个执行单元进一步被配置为执行汲取数据、数据缓存、数据校验、重复数据删除、数据压缩、数据加密、以及数据传输中的至少一项。
6.根据权利要求1所述的方法,其中至少基于所存储的所述描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元包括:
分析来自所述用户的数据迁移请求;以及
基于所述分析和所存储的描述文件的部分信息,确定与所述数据迁移请求匹配的执行单元。
7.根据权利要求6所述的方法,其中至少基于所存储的所述描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元进一步包括:
将与所述数据迁移请求匹配的执行单元中的、正在运行的执行单元的实例确定为最匹配的执行单元。
8.根据权利要求6所述的方法,其中基于所存储的所述描述文件所包含的信息来选择用于所述用户的数据迁移的执行单元进一步包括:
评估执行单元的运行需要的资源;以及
进一步基于所述评估来确定与所述数据迁移请求匹配的执行单元。
9.根据权利要求1所述的方法,进一步包括以下中的至少一项:
向所述用户发送数据迁移响应;
接收所述用户对于数据迁移的运行状态和/或运行日志的查询;
响应于所述用户的查询而显示所述用户的数据迁移的运行状态和/或运行日志;以及
从用户接收要被迁移的数据。
10.根据权利要求1-9中的任一权利要求所述的方法,进一步包括:
对被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项进行更新。
11.根据权利要求10所述的方法,进一步包括:
监测被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项;以及
基于所述监测来增加、减少、或者改变被调度的执行单元的实例。
12.一种用于数据迁移的方法,包括:
向数据迁移设备发送数据迁移请求,以促使所述数据迁移设备根据权利要求1-11中任一权利要求所述的方法执行数据迁移;
其中所述数据迁移请求包括数据迁移的源地址和目的地址的指示,以及以下信息中的至少一项:
对所述数据迁移的性能要求;
在所述数据迁移中是否要求删除重复;
在所述数据迁移中是否执行压缩和/或所支持的压缩格式;以及
在所述数据迁移中是否执行加密和/或所支持的加密方式。
13.根据权利要求12所述的方法,进一步包括向所述数据迁移设备发送以下中的至少一项:
对数据迁移的运行状态和/或运行日志的查询;以及
要被迁移的数据。
14.根据权利要求12所述的方法,进一步包括:
从所述数据迁移设备接收数据迁移的运行状态和/或运行日志。
15.一种用于数据迁移的装置,包括注册单元、存储单元、第一接收单元、调度单元以及至少一个执行单元,其中:
所述至少一个执行单元中的每个执行单元具有对应的描述文件,所述描述文件具有预先定义的格式;并且每个执行单元被配置为在被所述调度单元调度时执行数据迁移,
所述注册单元被配置为对所述至少一个执行单元进行注册;
所述存储单元被配置为提取并存储所述至少一个执行单元中的每个执行单元对应的描述文件所包含的信息;
所述第一接收单元被配置为接收来自用户的数据迁移请求;并且
所述调度单元被配置为响应于来自用户的所述数据迁移请求,至少基于所存储的描述文件所包含的部分信息来选择用于所述用户的数据迁移的执行单元;并且调度所选择的执行单元的实例以执行所述用户的数据迁移。
16.根据权利要求15所述的装置,其中所述至少一个执行单元中的每一个执行单元被封装成容器。
17.根据权利要求15所述的装置,其中所述描述文件指示对应执行单元的以下信息中的至少一项:
类型;
能力;
配置;
所支持的数据格式;
运行要求;以及
能够提供的性能。
18.根据权利要求15所述的装置,其中所述数据迁移请求包括数据迁移的源地址和目的地址的指示,以及以下信息中的至少一项:
对所述数据迁移的性能要求;
在所述数据迁移中是否要求删除重复;
在所述数据迁移中是否执行压缩和/或所支持的压缩格式;以及
在所述数据迁移中是否执行加密和/或所支持的加密方式。
19.根据权利要求15所述的装置,其中所述至少一个执行单元中的一个执行单元进一步被配置为执行汲取数据、数据缓存、数据校验、重复数据删除、数据压缩、数据加密、以及数据传输中的至少一项。
20.根据权利要求15所述的装置,其中所述调度单元进一步被配置为分析来自所述用户的数据迁移请求,基于所述分析和所存储的描述文件的部分信息,确定与所述数据迁移请求匹配的执行单元,以及调度所确定的执行单元的实例来执行所述数据迁移。
21.根据权利要求20所述的装置,其中所述调度单元进一步被配置为:
将与所述数据迁移请求匹配的执行单元中的、正在运行的执行单元的实例确定为最匹配的执行单元。
22.根据权利要求20所述的装置,其中所述调度单元进一步被配置为:
评估执行单元的运行需要的资源;以及
进一步基于所述评估来确定与所述数据迁移请求匹配的执行单元。
23.根据权利要求15所述的装置,其中所述装置进一步包括以下中的至少一项:
第一发送单元,被配置为向所述用户发送数据迁移响应;
第二接收单元,被配置为接收所述用户对于数据迁移的运行状态和/或运行日志的查询;
显示单元,被配置为响应于所述用户的查询而显示所述用户的数据迁移的运行状态和/或运行日志;
第三接收单元,被配置为从用户接收要被迁移的数据。
24.根据权利要求15-23中的任一权利要求所述的装置,进一步包括:
更新单元,被配置为对被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项进行更新。
25.根据权利要求24所述的装置,进一步包括:
监测单元,被配置为监测被调度的执行单元的实例的进展、状态、日志、资源使用、以及性能中的至少一项;以及
调整单元,被配置为基于所述监测来增加、减少、或者改变被调度的执行单元的实例。
26.一种用于数据迁移的装置,所述装置包括:
第一发送单元,被配置为向数据迁移设备发送数据迁移请求;
其中数据迁移设备包括如权利要求15-25中任一权利要求所述的装置;
其中所述数据迁移请求包括数据迁移的源地址和目的地址的指示,以及以下信息中的至少一项:
对所述数据迁移的性能要求;
在所述数据迁移中是否要求删除重复;
在所述数据迁移中是否执行压缩和/或所支持的压缩格式;以及
在所述数据迁移中是否执行加密和/或所支持的加密方式。
27.根据权利要求26所述的装置,进一步包括第二发送单元,被配置为向所述数据迁移设备发送以下中的至少一项:
对数据迁移的运行状态和/或运行日志的查询;以及
要被迁移的数据。
28.根据权利要求26所述的装置,进一步包括:
接收单元,被配置为从所述数据迁移设备接收数据迁移的运行状态和/或运行日志。
29.一种装置,包括至少一个处理器以及包括计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为:利用所述至少一个处理器,促使所述装置执行根据权利要求1-11中任一权利要求所述的方法。
30.一种装置,包括至少一个处理器以及包括计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为:利用所述至少一个处理器,促使所述装置执行根据权利要求12-14中任一权利要求所述的方法。
31.一种包括指令的计算机程序,所述指令在至少一个处理器中执行时,促使所述至少一个处理器执行根据权利要求1-11中任一权利要求所述的方法。
32.一种包括指令的计算机程序,所述指令在至少一个处理器中执行时,促使所述至少一个处理器执行根据权利要求12-14中任一权利要求所述的方法。
CN201610141843.2A 2016-03-11 2016-03-11 用于存储设备的数据迁移的方法和装置 Active CN107179879B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610141843.2A CN107179879B (zh) 2016-03-11 2016-03-11 用于存储设备的数据迁移的方法和装置
US15/455,709 US10678464B2 (en) 2016-03-11 2017-03-10 Methods and apparatuses for data migration of a storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610141843.2A CN107179879B (zh) 2016-03-11 2016-03-11 用于存储设备的数据迁移的方法和装置

Publications (2)

Publication Number Publication Date
CN107179879A true CN107179879A (zh) 2017-09-19
CN107179879B CN107179879B (zh) 2020-04-03

Family

ID=59788612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610141843.2A Active CN107179879B (zh) 2016-03-11 2016-03-11 用于存储设备的数据迁移的方法和装置

Country Status (2)

Country Link
US (1) US10678464B2 (zh)
CN (1) CN107179879B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111513A (zh) * 2017-12-21 2018-06-01 泰康保险集团股份有限公司 应用于前置装置的数据管理方法、装置、介质及电子设备
CN109697120A (zh) * 2017-10-20 2019-04-30 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
CN109802934A (zh) * 2018-12-13 2019-05-24 中国电子科技网络信息安全有限公司 一种基于容器云平台的mec系统
CN109933287A (zh) * 2019-03-05 2019-06-25 中国联合网络通信集团有限公司 基于物联网的数据迁移方法、装置及设备
CN110058937A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于调度专用处理资源的方法、设备和计算机程序产品
CN111240580A (zh) * 2018-11-29 2020-06-05 浙江宇视科技有限公司 数据迁移方法及装置
CN112099972A (zh) * 2020-09-08 2020-12-18 中国平安人寿保险股份有限公司 基于rpa机器人的办公文件处理方法、装置、设备和存储介质
CN113407603A (zh) * 2021-05-13 2021-09-17 北京鼎轩科技有限责任公司 数据导出方法及系统
CN113448697A (zh) * 2020-03-25 2021-09-28 伊姆西Ip控股有限责任公司 管理备份任务的调度的方法、设备和计算机程序产品
CN113468140A (zh) * 2021-06-30 2021-10-01 上海掌门科技有限公司 数据迁移处理方法、电子设备及计算机可读存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173164A1 (ja) * 2017-03-22 2018-09-27 株式会社日立製作所 データ処理システム
CN107332909B (zh) * 2017-07-03 2020-03-31 中兴通讯股份有限公司 一种实现数据传输的方法及装置
US10705880B2 (en) * 2017-09-22 2020-07-07 Vmware, Inc. Cluster updating using temporary update-monitor pod
US10747464B2 (en) * 2018-10-25 2020-08-18 EMC IP Holding Company LLC Efficient data transmission techniques
CN109800055A (zh) * 2018-12-27 2019-05-24 北京航天智造科技发展有限公司 容器调度编排方法和系统
US11803309B2 (en) 2019-07-09 2023-10-31 International Business Machines Corporation Selective compression and encryption for data replication
CN112395267B (zh) * 2020-10-23 2023-06-13 四川新网银行股份有限公司 一种不停服务用户数据迁移切换方法
CN117411875A (zh) * 2023-12-14 2024-01-16 国网浙江省电力有限公司 一种电力数据传输系统、方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251802A1 (en) * 2004-05-08 2005-11-10 Bozek James J Dynamic migration of virtual machine computer programs upon satisfaction of conditions
CN101907989A (zh) * 2010-06-01 2010-12-08 南京大学 一种基于移动代理的应用无缝迁移方法
US20120089726A1 (en) * 2010-10-06 2012-04-12 Infosys Technologies Ltd. Automated service level management of applications in cloud computing environment
US20120278801A1 (en) * 2011-04-28 2012-11-01 Vmware, Inc. Maintaining high availability of a group of virtual machines using heartbeat messages
CN102917025A (zh) * 2012-09-21 2013-02-06 江苏乐买到网络科技有限公司 一种云计算平台的业务迁移方法
CN104424283A (zh) * 2013-08-30 2015-03-18 阿里巴巴集团控股有限公司 一种数据迁移的系统和数据迁移的方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080225B1 (en) * 2002-12-10 2006-07-18 Emc Corporation Method and apparatus for managing migration of data in a computer system
US7653902B2 (en) * 2004-12-13 2010-01-26 Sap Ag Determining software deployment parameters
CN1917515B (zh) * 2006-09-04 2010-05-12 华为技术有限公司 多业务进程管理系统及管理方法
US8495573B2 (en) * 2007-10-04 2013-07-23 International Business Machines Corporation Checkpoint and restartable applications and system services
US8244827B2 (en) * 2007-12-19 2012-08-14 International Business Machines Corporation Transferring a logical partition (‘LPAR’) between two server computing devices based on LPAR customer requirements
US20100146033A1 (en) * 2008-12-10 2010-06-10 International Business Machines Corporation Selection of transaction managers based on runtime data
CN101424283A (zh) 2008-12-12 2009-05-06 北京联合大学 超高压工具的液压动力源系统
US20110202640A1 (en) * 2010-02-12 2011-08-18 Computer Associates Think, Inc. Identification of a destination server for virtual machine migration
CN102316126A (zh) * 2010-06-30 2012-01-11 伊姆西公司 监视压缩和迁移状态的系统与设备
US8880477B2 (en) * 2011-10-04 2014-11-04 Nec Laboratories America, Inc. Latency-aware live migration for multitenant database platforms
US9003141B2 (en) * 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
WO2013110966A1 (en) * 2012-01-27 2013-08-01 Empire Technology Development Llc Parameterized dynamic model for cloud migration
US9183032B2 (en) * 2012-10-18 2015-11-10 Hcl Technologies Limited Method and system for migration of multi-tier virtual application across different clouds hypervisor platforms
US9619258B2 (en) * 2013-01-21 2017-04-11 International Business Machines Corporation Live virtual machine migration quality of service
US9477506B2 (en) * 2013-02-12 2016-10-25 Futurewei Technologies, Inc. Dynamic virtual machines migration over information centric networks
US9613116B2 (en) * 2013-11-15 2017-04-04 Workday, Inc. Identifying and formatting data for data migration
US9507845B1 (en) * 2014-03-27 2016-11-29 EMC IP Holding Company, LLC Virtual splitter
WO2015186248A1 (ja) * 2014-06-06 2015-12-10 株式会社日立製作所 ストレージシステム、計算機システム及びデータ移行方法
US9438534B2 (en) * 2014-10-14 2016-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for data set migration over a circuit switching network
US9986031B2 (en) * 2015-05-06 2018-05-29 International Business Machines Corporation Container provisioning based on communications patterns between software components

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251802A1 (en) * 2004-05-08 2005-11-10 Bozek James J Dynamic migration of virtual machine computer programs upon satisfaction of conditions
CN101907989A (zh) * 2010-06-01 2010-12-08 南京大学 一种基于移动代理的应用无缝迁移方法
US20120089726A1 (en) * 2010-10-06 2012-04-12 Infosys Technologies Ltd. Automated service level management of applications in cloud computing environment
US20120278801A1 (en) * 2011-04-28 2012-11-01 Vmware, Inc. Maintaining high availability of a group of virtual machines using heartbeat messages
CN102917025A (zh) * 2012-09-21 2013-02-06 江苏乐买到网络科技有限公司 一种云计算平台的业务迁移方法
CN104424283A (zh) * 2013-08-30 2015-03-18 阿里巴巴集团控股有限公司 一种数据迁移的系统和数据迁移的方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109697120A (zh) * 2017-10-20 2019-04-30 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
CN108111513A (zh) * 2017-12-21 2018-06-01 泰康保险集团股份有限公司 应用于前置装置的数据管理方法、装置、介质及电子设备
CN108111513B (zh) * 2017-12-21 2020-10-27 泰康保险集团股份有限公司 应用于前置装置的数据管理方法、装置、介质及电子设备
CN110058937A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于调度专用处理资源的方法、设备和计算机程序产品
CN111240580B (zh) * 2018-11-29 2022-04-12 浙江宇视科技有限公司 数据迁移方法及装置
CN111240580A (zh) * 2018-11-29 2020-06-05 浙江宇视科技有限公司 数据迁移方法及装置
CN109802934A (zh) * 2018-12-13 2019-05-24 中国电子科技网络信息安全有限公司 一种基于容器云平台的mec系统
CN109933287A (zh) * 2019-03-05 2019-06-25 中国联合网络通信集团有限公司 基于物联网的数据迁移方法、装置及设备
CN113448697A (zh) * 2020-03-25 2021-09-28 伊姆西Ip控股有限责任公司 管理备份任务的调度的方法、设备和计算机程序产品
CN112099972A (zh) * 2020-09-08 2020-12-18 中国平安人寿保险股份有限公司 基于rpa机器人的办公文件处理方法、装置、设备和存储介质
CN112099972B (zh) * 2020-09-08 2023-10-20 中国平安人寿保险股份有限公司 基于rpa机器人的办公文件处理方法、装置和设备
CN113407603A (zh) * 2021-05-13 2021-09-17 北京鼎轩科技有限责任公司 数据导出方法及系统
CN113407603B (zh) * 2021-05-13 2022-10-04 北京鼎轩科技有限责任公司 数据导出方法及系统
CN113468140A (zh) * 2021-06-30 2021-10-01 上海掌门科技有限公司 数据迁移处理方法、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN107179879B (zh) 2020-04-03
US20170262221A1 (en) 2017-09-14
US10678464B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
CN107179879A (zh) 用于存储设备的数据迁移的方法和装置
CN105740048B (zh) 一种镜像管理方法、装置及系统
US8458284B2 (en) Systems and methods for efficient live application migration within bandwidth constrained networks
CN104067257B (zh) 自动化事件管理系统,管理事件方法及事件管理系统
US11943291B2 (en) Hosted file sync with stateless sync nodes
US9639589B1 (en) Chained replication techniques for large-scale data streams
CN105357273B (zh) 异步通信模式下socket通信与进程管理通用平台及方法
US11392873B2 (en) Systems and methods for simulating orders and workflows in an order entry and management system to test order scenarios
US10313282B1 (en) Flexible middleware messaging system
TW201434300A (zh) 跨越叢集邊界的服務遷移
JP6972796B2 (ja) ソフトウェアサービス実行装置、システム、及び方法
CN111124589B (zh) 一种服务发现系统、方法、装置及设备
US9262241B2 (en) Computer system, computer-implemented method and computer program product for sequencing incoming messages for processing at an application
CN109067733A (zh) 发送数据的方法和装置,以及接收数据的方法和装置
US20160241649A1 (en) Directory service discovery and/or learning
CN112882792B (zh) 信息加载方法、计算机设备及存储介质
JP2012146226A (ja) アプリケーションサーバ管理システム、アプリケーションサーバ管理方法、管理装置、アプリケーションサーバ、および、コンピュータ・プログラム
JP2015180991A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
CN113626002A (zh) 一种服务执行方法及装置
CN109800081A (zh) 一种大数据任务的管理方法及相关设备
US9860119B2 (en) Dynamic management of restful endpoints
CN108696559A (zh) 流处理方法及装置
US11571618B1 (en) Multi-region game server fleets
US20190228078A1 (en) Methods for automated artifact storage management and devices thereof
CN114090242A (zh) 模型训练方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200218

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Massachusetts, USA

Applicant before: EMC Corp.

GR01 Patent grant
GR01 Patent grant