具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行介绍说明之前,先对本申请涉及的一些名词进行定义和解释。
1、云技术(cloud technology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
2、云存储(cloud storage):是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,Identity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
3、对象存储(object storage):也叫做基于对象的存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。就像文件一样,对象包含数据,但是和文件不同的是,对象在一个层结构中不会再有层级结构。每个对象都在一个被称作存储池的扁平地址空间的同一级别里,一个对象不会属于另一个对象的下一级。文件和对象都有与它们所包含的数据相关的元数据,但是对象是以扩展元数据为特征的。每个对象都被分配一个唯一的标识符,允许一个服务器或者最终用户来检索对象,而不必知道数据的物理地址。这种方法对于在云计算环境中自动化和简化数据存储有帮助。一些主流的云厂商均提供类似产品,比如AWS S3(由亚马逊公司提供的对象存储产品)、Azure Blob(由微软公司提供的对象存储产品)、Aliyun OSS(由阿里巴巴公司提供的对象存储产品)和Tencent COS(由腾讯公司提供的对象存储产品)。
一些云服务厂商提供的对象存储产品,提供无目录层次结构、无数据格式限制,可容纳海量数据且支持HTTP(HyperText Transfer Protocol,超文本传输协议)/HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,超文本传输安全协议)访问的分布式存储服务。存储桶空间无容量上限,无需分区管理,适用于CDN(ContentDelivery Network,内容分发网络)数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。并且,提供网页端管理界面、多种主流开发语言的SDK(Software DevelopmentKit,软件开发工具包)、API(Application Programming Interface,应用程序接口)以及命令行和图形化工具,并且兼容其它云存储厂商的API接口,方便用户直接使用社区工具和插件。
4、IaC(Infrastructure as Code,基础设施即代码):这一理念随着云技术的普及以及多云时代的到来而被广泛接受和认可,特别是众多生态工具产品的涌现使得IaC由概念逐渐成为现实。目前,常见的IaC工具主要分为两类:一类是配置管理类,如Chef,Puppet等,该类产品主要优势在于底层的单服务器、单服务的配置管理;另一类是资源编排类,如Terraform、Pulumi等,该类产品主要优势在于更高层面的资源编排,根据资源描述文件创建具有相互依赖关系的云资源或服务并进行配置。值得注意的是,在Terraform里资源的相互依赖关系并不需要被明确指出,Terraform会根据资源之间的互相引用情况自行判断依赖关系,并据此决定资源的先后创建顺序。
一些云服务厂商提供的IaC开放平台,提供资源编排、配置管理和合规检查三大功能模块,通过IaC的方式解决用户在云基础设施管理中面临的效率、成本和安全问题。
5、SCF(Serverless Cloud Function,云函数):是云服务厂商为企业和开发者们提供的无服务器执行环境,帮助用户在无需购买和管理服务器的情况下运行代码。用户只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在企业云基础设施上弹性、安全地运行代码。SCF是实时文件处理和数据处理等场景下理想的计算平台。
6、MSP(Migration Service Platform,迁移服务平台):整合了各种迁移工具,并提供统一监控。用户在迁移时可选择云服务厂商的官方迁移工具,也可选择官方认证的第三方迁移工具。迁移服务平台帮助用户方便快捷的将系统迁移上云,并清晰掌握迁移进度。MSP不收取任何额外费用,用户只需为使用的迁移工具及资源付费。
7、专线接入(Direct Connect,DC):为用户提供了一种便捷的连接企业数据中心与企业云的方法,用户可通过专线接入建立与公网完全隔离的私有连接服务,相比公网,专线接入具备更安全、更稳定、更低时延、更大带宽等特性。用户只需要一条运营商物理专线一点接入企业云,便可快速创建多条专用通道打通部署于企业云的计算资源,实现灵活可靠的混合云部署。另外,专用通道多样的计费模式能为用户在不同情况下节省专线使用成本。
8、CCN(Cloud Connect Network,云联网):为用户提供云上私有网络间(VPC)、VPC与本地IDC(Internet Data Center,互联网数据中心)间内网互联的服务,具备全网多点互联、路由自学习、链路选优及故障快速收敛等能力。云联网覆盖全球20+地域,支持100+Gbps带宽以及99.99%高可用性,为用户轻松构建极速、稳定、安全、灵活的全球互联网络。
9、VPC(Virtual Private Cloud,虚拟私有云):是基于企业云构建的专属云上网络空间,为用户在企业云上的资源提供网络服务,不同私有网络间完全逻辑隔离。用户可以自定义网络环境、路由表、安全策略等;同时,私有网络支持多种方式连接Internet(互联网)、连接其他VPC、连接用户的本地数据中心,助力用户轻松部署云上网络。
请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以是一个跨云数据迁移系统,该实施环境可以包括:用户终端11、跨云管理平台12、第一云存储平台13和第二云存储平台14。
用户终端11可以是诸如PC(Personal Computer,个人计算机)、平板电脑等电子设备。用户终端11中可以安装运行有跨云管理平台12对应的客户端,用户通过该客户端可以访问跨云管理平台12。该客户端可以是网页形式的客户端,也可以是应用程序客户端,本申请实施例对此不作限定。
跨云管理平台12也称为云基础设施管理平台,例如其可以是IaC平台,用于向用户提供资源编排、配置管理和合规检查等功能。在本申请实施例中,跨云管理平台12向用户提供模板配置功能,通过该模板配置功能,用户可以在用户终端11的客户端上配置数据迁移模板,并将该数据迁移模板提交给跨云管理平台12运行,以实现跨云数据迁移。跨云管理平台12可以包括一个服务器,也可以包括由多个服务器组成的服务器集群。
第一云存储平台13和第二云存储平台14是两个不同的云存储平台,例如可以是两个不同厂商(或称为“云存储服务提供商”、“云服务提供商”或“企业”等)提供的云存储平台。云存储平台用于提供云存储服务,如基于云的对象存储服务、基于云的文件存储服务等,本申请实施例对此不作限定。
用户终端11和跨云管理平台12之间可以通过网络进行通信,跨云管理平台12也可以通过网络分别与第一云存储平台13和第二云存储平台14进行通信。
请参考图2,其示出了本申请一个实施例提供的跨云数据迁移方法的流程图。该方法可应用于图1所示实施环境的用户终端11中,如各步骤的执行主体可以是客户端。该方法可以包括如下几个步骤(201~204):
步骤201,显示跨云管理平台的模板配置页面。
模板配置页面是跨云管理平台提供的用于配置数据迁移模板的显示界面。在本申请实施例中,数据迁移模板是用于实现跨云数据迁移的通用模型,用于将数据从一个云存储平台迁移到另一个云存储平台。数据迁移模板中可以封装用于实现跨云数据迁移的执行逻辑和配置参数,通过运行该数据迁移模板即可执行跨云数据迁移任务,实现跨云数据迁移。
另外,针对不同的数据迁移场景,可以配置不同的数据迁移模板。其中,数据迁移场景由移出的云存储平台和移入的云存储平台共同决定。当移出的云存储平台和移入的云存储平台中的任一项发生改变时,数据迁移场景即会相应发生改变。例如,数据迁移场景1可以是将数据从云存储平台1迁移到云存储平台2,数据迁移场景2可以是将数据从云存储平台1迁移到云存储平台3,数据迁移场景3可以是将数据从云存储平台2迁移到云存储平台1,数据迁移场景4可以是将数据从云存储平台2迁移到云存储平台3,等等。
客户端在显示跨云管理平台的模板配置页面之后,还可以获取在模板配置页面中选择的数据迁移模板。例如,模板配置页面中可以提供一个或多个候选的数据迁移模板供用户选择,用户可以从这些候选的数据迁移模板中,选择与当前的数据迁移场景相匹配的数据迁移模板,然后再通过下述步骤对该选择的数据迁移模板进行配置。例如,候选的数据迁移模板包括数据迁移模板1、数据迁移模板2和数据迁移模板3,其中,数据迁移模板1对应于上述数据迁移场景1,数据迁移模板2对应于上述数据迁移场景2,数据迁移模板3对应于上述数据迁移场景3,假设当前的数据迁移场景为数据迁移场景1,那么用户可以从上述候选的数据迁移模板中选择数据迁移模板1进行后续的配置。
另外,如果候选的数据迁移模板中没有与当前的数据迁移场景相匹配的数据迁移模板,那么用户可以先创建与当前的数据迁移场景相匹配的数据迁移模板。例如,跨云管理平台还提供有模板创建页面,客户端显示该模板创建页面,根据接收到的模板创建指令,创建新的数据迁移模板。创建完成的数据迁移模板即可作为候选的数据迁移模板进行配置。例如,当前的数据迁移场景为数据迁移场景4,但是候选的数据迁移模板中没有与数据迁移场景4相匹配的数据迁移模板,那么用户可以先创建一个与该数据迁移场景4相匹配的数据迁移模板4。
另外,候选的数据迁移模板可以属于私有模板,也可以属于公共模板。其中,私有模板是指供个人使用的未对外公开的数据迁移模板,公共模板是指对外公开的数据迁移模板。用户可以选择将私有模板对外公开,从而将私有模板变为公共模板。
如图3所示,跨云管理平台的模板管理页面31中,包括新建、配置和删除等选项。用户点击新建按钮可以创建新的数据迁移模板,点击配置按钮可以对选择的数据迁移模板进行配置,点击删除按钮可以对选择的数据迁移模板进行删除。
步骤202,获取在模板配置页面中输入的针对数据迁移模板的配置参数,该配置参数用于指示将第一云存储平台中的数据迁移至第二云存储平台。
用户可以在模板配置页面中对其选择的数据迁移模板进行配置。例如,用户可以对数据迁移模板的配置参数进行配置。
可选地,配置参数包括以下至少一项:第一云存储平台中的账户密钥、第二云存储平台中的账户密钥、源迁移地址、目的迁移地址、迁移服务器数量、数据传输方式。第一云存储平台中的账户密钥是用户在第一云存储平台中的账户信息,用于登录第一云存储平台并获取第一云存储平台提供的相关服务。第二云存储平台中的账户密钥是用户在第二云存储平台中的账户信息,用于登录第二云存储平台并获取第二云存储平台提供的相关服务。源迁移地址是指待迁移的数据在第一云存储平台中的存储地址,也称为源地址。目的迁移地址是指待迁移的数据在第二云存储平台中的存储地址,也称为目的地址。迁移服务器数量是指用于对待迁移的数据进行迁移的服务器数量。数据传输方式是指对待迁移的数据进行迁移时所采用的数据传输方式,如互联网传输方式或者专线传输方式。上述这些配置参数都可以由用户根据当前的数据迁移场景的需求,进行按需配置。
可选地,模板配置页面中包括数据迁移模板的参数配置文件,该参数配置文件用于配置数据迁移任务的配置参数。上述步骤202可以包括如下子步骤:
1、接收对应于参数配置文件的选择信号,显示参数配置子页面;
2、获取在参数配置子页面中输入的配置参数。
该选择信号可以是对应于参数配置文件的点击操作信号,或者其它形式的操作信号,本申请实施例对此不作限定。在接收对应于参数配置文件的选择信号之后,客户端在模板配置页面中显示参数配置子页面,例如可以采用嵌入式或者弹窗形式显示参数配置子页面,用户可以在该参数配置子页面中输入其自定义的配置参数。
可选地,模板配置页面中还包括数据迁移模板的逻辑配置文件,该逻辑配置文件用于配置数据迁移任务的执行逻辑。在一般情况下,该执行逻辑不需要用户去修改和配置,在数据迁移模板的移出和移入的云存储平台确定之后,跨云管理平台可以根据该移出和移入的云存储平台,自动化地生成相应的执行逻辑,以满足将数据从移出的云存储平台迁移至移入的云存储平台的功能需求。在必要时,用户也可以根据自身需求,自定义地对该逻辑配置文件进行修改,该过程可以包括如下步骤:
1、接收对应于逻辑配置文件的选择信号,显示逻辑配置子页面;
2、获取在逻辑配置子页面中输入的执行逻辑。
该选择信号可以是对应于逻辑配置文件的点击操作信号,或者其它形式的操作信号,本申请实施例对此不作限定。在接收对应于逻辑配置文件的选择信号之后,客户端在模板配置页面中显示逻辑配置子页面,例如可以采用嵌入式或者弹窗形式显示逻辑配置子页面,用户可以在该逻辑配置子页面中输入其自定义的执行逻辑。
如图3所示,在跨云管理平台的模板配置页面32中,用户可以选择待配置的数据迁移模板(如选择“模板1”)。数据迁移模板的配置文件可以包括参数配置文件(如记为conf.tf文件)和逻辑配置文件(如记为main.tf文件)。用户选择参数配置文件触发显示参数配置子页面33,用户可以在参数配置子页面33中输入配置参数,如用户在云存储平台的账户密钥、源迁移地址、目的迁移地址等配置参数。
步骤203,根据配置参数生成数据迁移模板。
用户在完成模板配置之后,可以触发模板生成指令。相应地,客户端响应于接收到该模板生成指令,对数据迁移模板的配置文件进行编译,生成数据迁移模板。其中,配置文件包括上文介绍的参数配置文件和逻辑配置文件,参数配置文件中包括上述配置参数。
步骤204,运行数据迁移模板,将第一云存储平台中的数据迁移至第二云存储平台。
在成功生成数据迁移模板之后,客户端可以运行该数据迁移模板,如向跨云管理平台提交该数据迁移模板,以便于跨云管理平台根据该数据迁移模板,将第一云存储平台中的数据迁移至第二云存储平台。
如图3所示,在配置参数配置完成之后,用户可以点击“下一步”按钮,触发对数据迁移模板的配置文件进行编译,生成数据迁移模板;数据迁移模板成功生成之后,用户可以点击“提交”按钮,将数据迁移模板提交给跨云管理平台运行。另外,如图3所示,客户端的结果展示区域34中可以显示数据迁移模板的编译结果或者提交结果,以此告知用户是否编译成功或者是否提交成功。
综上所述,本申请实施例提供的技术方案,针对跨云数据迁移场景,通过配置生成数据迁移模板,运行该数据迁移模板即可实现跨云数据迁移,从而将复杂的配置要求转换为简单的模板配置,用户仅需在数据迁移模板中配置与场景相匹配的配置参数,即可完成整个跨云数据迁移的配置方案,降低了跨云数据迁移的方案配置难度和实施门槛。
请参考图4,其示出了本申请另一个实施例提供的跨云数据迁移方法的流程图。该方法可应用于图1所示实施环境的跨云管理平台12中。该方法可以包括如下几个步骤(401~404):
步骤401,获取客户端提交的数据迁移模板,该数据迁移模板用于将第一云存储平台中的数据迁移至第二云存储平台。
跨云管理平台可以获取客户端提交的该数据迁移模板的配置文件,包括上文介绍的参数配置文件和逻辑配置文件。其中,数据迁移模板的配置和提交过程,可参见上文实施例,此处不再赘述。
可选地,跨云管理平台获取客户端提交的数据迁移模板之后,可以执行如下步骤:
1、从数据迁移模板的配置参数中,获取第一云存储平台中的账户密钥、第二云存储平台中的账户密钥、源迁移地址和目的迁移地址;
2、向第一云存储平台发送第一校验请求,该第一校验请求用于请求对第一云存储平台中的账户密钥和源迁移地址进行校验;
可选地,第一校验请求中包括第一云存储平台中的账户密钥和源迁移地址。第一云存储平台接收到上述第一校验请求之后,一方面可以对该账户密钥进行鉴权验证,另一方面,对源迁移地址进行存在性和合法性验证。例如,检测源迁移地址是否存在存储桶,如果存在则该源迁移地址通过存在性验证,否则该源迁移地址不通过存在性验证。又例如,检测源迁移地址是否合法(如是否有权限对该源迁移地址进行访问),如果该源迁移地址合法则通过合法性验证,否则不通过合法性验证。
需要说明的是,对第一云存储平台中的账户密钥和源迁移地址进行校验的请求,可以是一个请求,也可以是两个独立的请求。如果是两个独立的请求,则其中一个请求用于请求对第一云存储平台中的账户密钥进行校验,另一个请求用于对源迁移地址进行校验。
3、向第二云存储平台发送第二校验请求,该第二校验请求用于请求对第二云存储平台中的账户密钥和目的迁移地址进行校验。
可选地,第二校验请求中包括第二云存储平台中的账户密钥和目的迁移地址。第二云存储平台接收到上述第二校验请求之后,一方面可以对该账户密钥进行鉴权验证,另一方面,对目的迁移地址进行存在性和合法性验证。例如,检测目的迁移地址是否存在存储桶,如果存在则该目的迁移地址通过存在性验证,否则该目的迁移地址不通过存在性验证。又例如,检测目的迁移地址是否合法(如是否有权限对该目的迁移地址进行访问),如果该目的迁移地址合法则通过合法性验证,否则不通过合法性验证。另外,如果目的迁移地址的存储桶不存在,可以根据配置文件中提供的存储桶名称,在该目的迁移地址自动完成创建相应的存储桶。
需要说明的是,对第二云存储平台中的账户密钥和目的迁移地址进行校验的请求,可以是一个请求,也可以是两个独立的请求。如果是两个独立的请求,则其中一个请求用于请求对第二云存储平台中的账户密钥进行校验,另一个请求用于对目的迁移地址进行校验。
可选地,跨云管理平台获取客户端提交的数据迁移模板之后,可以先对该数据迁移模板进行模板规则检查,如检查该数据迁移模板的配置文件中的语法,是否符合跨云管理平台的规范;如果符合规范,则进一步执行上述校验流程;如果不符合规范,则可以反馈给客户端,且不需要执行上述校验流程。
步骤402,根据数据迁移模板中的配置参数,创建用于对上述数据进行迁移的服务器集群。
跨云管理平台可以根据配置参数中包括的源迁移地址和目的迁移地址,创建用于对上述数据进行迁移的服务器集群,该服务器集群可称为迁移服务器集群。其中,迁移服务器集群中可以包括至少一个迁移服务器,该迁移服务器可以是云服务器。
另外,跨云管理平台可以在源迁移地址的内网中创建迁移服务器集群,也可以在目的迁移地址的内网中创建迁移服务器集群。其中,源迁移地址的内网是指该源迁移地址对应的存储设备所处的局域网,源迁移地址的数据存储在该源迁移地址对应的存储设备中。如果在源迁移地址的内网中创建迁移服务器集群,那么迁移服务器和该源迁移地址对应的存储设备位于同一个局域网之内,数据从存储设备传输到迁移服务器通常不会存在流量成本,因为同一个局域网内的数据传输通常不需要消耗流量成本。类似地,目的迁移地址的内网是指该目的迁移地址对应的存储设备所处的局域网,目的迁移地址的数据存储在该目的迁移地址对应的存储设备中。如果在目的迁移地址的内网中创建迁移服务器集群,那么迁移服务器和该目的迁移地址对应的存储设备位于同一个局域网之内,数据从迁移服务器传输到存储设备通常不会存在流量成本,因为同一个局域网内的数据传输通常不需要消耗流量成本。如果数据从一个局域网传输到另一个局域网中,跨局域网间的数据传输通常需要消耗流量成本。
可选地,跨云管理平台根据数据迁移模板中的配置参数,确定源迁移地址和目的迁移地址;响应于源迁移地址的数据迁出成本大于目的迁移地址的数据迁入成本,在源迁移地址的内网中创建迁移服务器集群;响应于源迁移地址的数据迁出成本小于目的迁移地址的数据迁入成本,在目的迁移地址的内网中创建迁移服务器集群。上述源迁移地址的数据迁出成本,可以是指从源迁移地址下载数据所需要消耗的流量成本;上述目的迁移地址的数据迁入成本,可以是指向目的迁移地址上传数据所需要消耗的流量成本。如果源迁移地址的数据迁出成本大于目的迁移地址的数据迁入成本,则可以在源迁移地址的内网中创建迁移服务器集群,这样利用迁移服务器和源迁移地址(也即第一云存储平台)内网通信的特点,可以节约流量成本。如果源迁移地址的数据迁出成本小于目的迁移地址的数据迁入成本,则可以在目的迁移地址的内网中创建迁移服务器集群,这样利用迁移服务器和目的迁移地址(也即第二云存储平台)内网通信的特点,可以节约流量成本。
另外,所创建的迁移服务器数量可以包括在配置参数中。例如,当数据传输方式为互联网传输方式时,迁移服务器数量由传输总带宽和单个迁移服务器的传输带宽共同决定。比如,期望的传输总带宽为10Gbps,单个迁移服务器的传输带宽为100Mbps,则需要创建的迁移服务器数量为100个。又例如,当数据传输方式为专线传输方式时,迁移服务器数量需要匹配专线带宽。比如,专线带宽为10Gbps,单个迁移服务器的传输带宽为1Gbps,则需要创建的迁移服务器数量为10个。
步骤403,在服务器集群中安装迁移服务平台代理,该迁移服务平台代理用于执行数据迁移任务。
迁移服务平台代理是对接迁移服务平台的代理端,能够从迁移服务平台获取数据迁移任务,并执行该数据迁移任务。数据迁移任务是指根据上述数据迁移模板生成的,用于实现将第一云存储平台中的数据迁移至第二云存储平台的任务。
可选地,跨云管理平台向迁移服务器集群中的各迁移服务器发送初始化脚本,该初始化脚本用于被迁移服务器执行以安装迁移服务平台代理。跨云管理平台可以将初始化脚本存储在数据迁移模板中,然后在创建完成迁移服务器集群之后,将该初始化脚本分发到每一个迁移服务器。
可选地,迁移服务器集群中存在主迁移服务器,该主迁移服务器用于从迁移服务平台获取数据迁移任务,并协调其它迁移服务器执行数据迁移任务。可选地,主迁移服务器可以是首个完成安装迁移服务平台代理的迁移服务器,或者也可以采用其它方式确定主迁移服务器,本申请实施例对此不作限定。
通过上述方式,向迁移服务器集群中的各迁移服务器发送初始化脚本,迁移服务器执行该初始化脚本即可安装迁移服务平台代理,使得迁移服务平台代理的安装过程更加简单、高效。
步骤404,根据数据迁移模板中的配置参数,向迁移服务平台代理提交数据迁移任务,迁移服务平台代理用于执行数据迁移任务,将第一云存储平台中的数据迁移至第二云存储平台。
可选地,跨云管理平台根据数据迁移模板中的配置参数,向第一云存储平台或第二云存储平台提交预处理任务,该预处理任务是指执行数据迁移任务前的预处理操作。第一云存储平台或第二云存储平台用于执行预处理任务,在迁移服务平台中创建数据迁移任务。迁移服务平台用于将数据迁移任务发送给迁移服务平台代理进行执行。
可选地,跨云管理平台通过集成的云函数接口实现数据迁移前的预处理,预处理过程主要包含MSP数据迁移接口的封装和调用。跨云管理平台利用SCF提供的环境变量机制,将配置中的相关参数传递到预处理逻辑中执行;利用SCF提供的触发器机制,实现定时触发、事件触发等多种执行方式,满足一次性存量数据迁移或每日增量数据迁移场景。预处理程序托管在云存储上,开放公共读权限,模板用户可以自由使用。用户还可以基于预处理代码做二次开发,并托管在自己的云存储之中,以满足定制化的开发需求。
以每日增量数据迁移为例,SCF通过定时触发器每天执行一次预处理程序。新的数据迁移任务创建后,MSP会将任务信息下发到主迁移服务器,主迁移服务器会根据跨云管理平台的配置信息,选择互联网或专线完成数据传输。用户通过MSP控制台管理数据迁移任务,并查看任务的实时状态。
可选地,跨云管理平台在迁移服务器集群中安装迁移服务平台代理之后,还可以执行如下步骤:
1、根据数据迁移模板中的配置参数,确定数据传输方式;
2、响应于数据传输方式为专线传输方式,通过集成的直连接口创建专线网关和路由实例,用于打通第一云存储平台和第二云存储平台之间的VPC网络。
待迁移的数据可以通过互联网传输方式或者专线传输方式进行传输。两种方式的适用场景不在本申请的讨论范围之内,用户可以在配置参数中数据传输方式进行配置。当选择通过专线传输方式时,跨云管理平台通过集成的Direct Connect(直连)接口创建专线网关和路由实例,通过这两者来打通第一云存储平台和第二云存储平台之间的VPC网络,以此实现专线传输。另外,与专线传输方式相关的配置参数,如IP(Internet Protocol,互联网协议)段、线路(route)等信息,同样可以在数据迁移模板的配置参数中进行配置。
综上所述,本申请实施例提供的技术方案,针对跨云数据迁移场景,通过配置生成数据迁移模板,运行该数据迁移模板即可实现跨云数据迁移,从而将复杂的配置要求转换为简单的模板配置,用户仅需在数据迁移模板中配置与场景相匹配的配置参数,即可完成整个跨云数据迁移的配置方案,降低了跨云数据迁移的方案配置难度和实施门槛。
另外,本申请实施例提供的技术方案,利用跨云管理平台(如IaC平台)统一管理跨云资源和配置,屏蔽跨云资源的差异和繁多的参数配置,仅需用户配置账户密钥、源迁移地址和目的迁移地址这些简单参数,即可完成整个跨云数据迁移的配置方案。通过针对不同的数据迁移场景,创建不同的数据迁移模板,可以做到最优成本、极简配置和自动运行,助力企业高效快速低成本地完成跨云数据迁移。最优成本,即根据不同云存储平台的计费规则优化方案,比如通过内网通信来解决流量成本,在海量数据迁移场景下效果十分明显;极简配置,即用户仅需关心和迁移有关的参数和接口,大大降低了云产品使用的技术门槛;自动运行,通过云产品的模块化组合,形成完整的全托管方案,减少人工的干预。
在一个示例中,如图5所示,本申请实施例提供的跨云数据迁移方法可以包括如下几个步骤(501~512):
步骤501,跨云管理平台获取客户端提交的数据迁移模板,该数据迁移模板用于将第一云存储平台中的数据迁移至第二云存储平台;
步骤502,跨云管理平台对数据迁移模板进行模板规则检查;
步骤503,响应于数据迁移模板通过模板规则检查,跨云管理平台向第一云存储平台发送第一校验请求,该第一校验请求用于请求对第一云存储平台中的账户密钥和源迁移地址进行校验;
步骤504,跨云管理平台向第二云存储平台发送第二校验请求,该第二校验请求用于请求对第二云存储平台中的账户密钥和目的迁移地址进行校验;
步骤505,跨云管理平台根据数据迁移模板中的配置参数,在第一云存储平台的内网中创建迁移服务器集群;
步骤506,第一云存储平台在迁移服务器集群中安装迁移服务平台代理,该迁移服务平台代理用于执行数据迁移任务;
步骤507,跨云管理平台根据数据迁移模板中的配置参数,确定数据传输方式;
步骤508,响应于数据传输方式为专线传输方式,跨云管理平台通过集成的直连接口创建专线网关和路由实例,用于打通第一云存储平台和第二云存储平台之间的VPC网络;
步骤509,跨云管理平台根据数据迁移模板中的配置参数,向第二云存储平台提交预处理任务,该预处理任务是指执行数据迁移任务前的预处理操作;
步骤510,第二云存储平台执行预处理任务,在迁移服务平台中创建数据迁移任务;
步骤511,迁移服务平台将数据迁移任务发送给迁移服务平台代理进行执行;
步骤512,迁移服务平台代理执行数据迁移任务,将第一云存储平台中的数据迁移至第二云存储平台。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图6,其示出了本申请一个实施例提供的跨云数据迁移装置的框图。该装置具有实现上述迁移服务平台侧的方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的迁移服务平台中的服务器,也可以设置在迁移服务平台的服务器上。该装置600可以包括:模板获取模块610、服务器创建模块620、代理安装模块630和任务提交模块640。
模板获取模块610,用于获取客户端提交的数据迁移模板,所述数据迁移模板用于将第一云存储平台中的数据迁移至第二云存储平台。
服务器创建模块620,用于根据所述数据迁移模板中的配置参数,创建用于对所述数据进行迁移的服务器集群。
代理安装模块630,用于在所述服务器集群中安装迁移服务平台代理,所述迁移服务平台代理用于执行数据迁移任务。
任务提交模块640,用于根据所述数据迁移模板中的配置参数,向所述迁移服务平台代理提交所述数据迁移任务,所述迁移服务平台代理用于执行所述数据迁移任务,将所述第一云存储平台中的所述数据迁移至所述第二云存储平台。
在示例性实施例中,所述服务器创建模块620,用于:
根据所述数据迁移模板中的配置参数,确定源迁移地址和目的迁移地址;
响应于所述源迁移地址的数据迁出成本大于所述目的迁移地址的数据迁入成本,在所述源迁移地址的内网中创建用于对所述数据进行迁移的服务器集群;
响应于所述源迁移地址的数据迁出成本小于所述目的迁移地址的数据迁入成本,在所述目的迁移地址的内网中创建用于对所述数据进行迁移的服务器集群。
在示例性实施例中,所述代理安装模块630,用于:
向所述服务器集群中的各服务器发送初始化脚本,所述初始化脚本用于被所述服务器执行以安装所述迁移服务平台代理;
其中,所述服务器集群中的主服务器,用于从迁移服务平台获取所述数据迁移任务,并协调其它服务器执行所述数据迁移任务。
在示例性实施例中,所述任务提交模块640,用于:
根据所述数据迁移模板中的配置参数,向所述第一云存储平台或所述第二云存储平台提交预处理任务,所述预处理任务是指执行所述数据迁移任务前的预处理操作;
其中,所述第一云存储平台或所述第二云存储平台用于执行所述预处理任务,在迁移服务平台中创建所述数据迁移任务;所述迁移服务平台用于将所述数据迁移任务发送给所述迁移服务平台代理进行执行。
在示例性实施例中,如图7所示,所述装置600还包括:传输方式确定模块650和专线建立模块660。
传输方式确定模块650,用于根据所述数据迁移模板中的配置参数,确定数据传输方式。
专线建立模块660,用于响应于所述数据传输方式为专线传输方式,通过集成的直连接口创建专线网关和路由实例,用于打通所述第一云存储平台和所述第二云存储平台之间的VPC网络。
在示例性实施例中,如图7所示,所述装置600还包括:信息校验模块670,用于:
从所述数据迁移模板的配置参数中,获取所述第一云存储平台中的账户密钥、所述第二云存储平台中的账户密钥、源迁移地址和目的迁移地址;
向所述第一云存储平台发送第一校验请求,所述第一校验请求用于请求对所述第一云存储平台中的账户密钥和所述源迁移地址进行校验;
向所述第二云存储平台发送第二校验请求,所述第二校验请求用于请求对所述第二云存储平台中的账户密钥和所述目的迁移地址进行校验。
综上所述,本申请实施例提供的技术方案,针对跨云数据迁移场景,通过配置生成数据迁移模板,运行该数据迁移模板即可实现跨云数据迁移,从而将复杂的配置要求转换为简单的模板配置,用户仅需在数据迁移模板中配置与场景相匹配的配置参数,即可完成整个跨云数据迁移的配置方案,降低了跨云数据迁移的方案配置难度和实施门槛。
请参考图8,其示出了本申请另一个实施例提供的跨云数据迁移装置的框图。该装置具有实现上述用户终端侧的方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的用户终端,也可以设置在用户终端上。该装置800可以包括:页面显示模块810、参数获取模块820、模板生成模块830和模板运行模块840。
页面显示模块810,用于显示跨云管理平台的模板配置页面。
参数获取模块820,用于获取在所述模板配置页面中输入的针对数据迁移模板的配置参数,所述配置参数用于指示将第一云存储平台中的数据迁移至第二云存储平台。
模板生成模块830,用于根据所述配置参数生成所述数据迁移模板。
模板运行模块840,用于运行所述数据迁移模板,将所述第一云存储平台中的所述数据迁移至所述第二云存储平台。
在示例性实施例中,所述模板配置页面中包括所述数据迁移模板的参数配置文件,所述参数配置文件用于配置数据迁移任务的配置参数;
所述参数获取模块820,用于:
接收对应于所述参数配置文件的选择信号,显示参数配置子页面;
获取在所述参数配置子页面中输入的所述配置参数;
其中,所述配置参数包括以下至少一项:所述第一云存储平台中的账户密钥、所述第二云存储平台中的账户密钥、源迁移地址、目的迁移地址、迁移服务器数量、数据传输方式。
在示例性实施例中,所述模板配置页面中还包括所述数据迁移模板的逻辑配置文件,所述逻辑配置文件用于配置所述数据迁移任务的执行逻辑;
所述装置800还包括逻辑配置模块,用于:
接收对应于所述逻辑配置文件的选择信号,显示逻辑配置子页面;
获取在所述逻辑配置子页面中输入的所述执行逻辑。
在示例性实施例中,所述模板生成模块830,用于响应于接收到模板生成指令,对所述数据迁移模板的配置文件进行编译,生成所述数据迁移模板;其中,所述配置文件中包括所述配置参数。
在示例性实施例中,所述装置800还包括模板选择模块,用于:
获取在所述模板配置页面中选择的所述数据迁移模板;
其中,所述数据迁移模板属于私有模板或者公共模板,所述私有模板是指供个人使用的未对外公开的数据迁移模板,所述公共模板是指对外公开的数据迁移模板。
综上所述,本申请实施例提供的技术方案,针对跨云数据迁移场景,通过配置生成数据迁移模板,运行该数据迁移模板即可实现跨云数据迁移,从而将复杂的配置要求转换为简单的模板配置,用户仅需在数据迁移模板中配置与场景相匹配的配置参数,即可完成整个跨云数据迁移的配置方案,降低了跨云数据迁移的方案配置难度和实施门槛。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图9,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以是服务器以用于执行上述跨云管理平台侧的跨云数据迁移方法,或者,该计算机设备也可以是用户终端以用于执行上述用户终端侧的跨云数据迁移方法。具体来讲:
计算机设备900包括中央处理单元(Central Processing Unit,CPU)901、包括随机存取存储器(Random Access Memory,RAM)902和只读存储器(Read Only Memory,ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O(Input/Output)系统)906,和用于存储操作系统913、应用程序914和其他程序模块912的大容量存储设备907。
基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。大容量存储设备907及其相关联的计算机可读介质为计算机设备900提供非易失性存储。也就是说,大容量存储设备907可以包括诸如硬盘或者CD-ROM(CompactDisc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
根据本申请的各种实施例,计算机设备900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备900可以通过连接在系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述跨云数据迁移方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时以实现上述跨云数据迁移方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述跨云数据迁移方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。