CN104598525A - 一种应用复制方法、设备及系统 - Google Patents
一种应用复制方法、设备及系统 Download PDFInfo
- Publication number
- CN104598525A CN104598525A CN201410822284.2A CN201410822284A CN104598525A CN 104598525 A CN104598525 A CN 104598525A CN 201410822284 A CN201410822284 A CN 201410822284A CN 104598525 A CN104598525 A CN 104598525A
- Authority
- CN
- China
- Prior art keywords
- data
- template
- equipment
- application data
- application
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例提供一种应用复制方法、设备及系统,涉及通信领域,能够实现私有云之间的应用复制。该方法包括:第一设备获取应用数据的模板和对所述应用数据的模板填充应用数据后的实例,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;所述第一设备对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包生成打包数据;将所述打包数据传输至第二设备。本发明的实施例用于云端应用复制。
Description
技术领域
本发明涉及通信领域,尤其涉及一种应用复制方法、设备及系统。
背景技术
在全球化商业环境下,随着业务不断发展,对于电信业务应用、互联网应用、移动互联网应用等通信系统,需要逐步在全球多地开展业务,由于跨地域的广域网时延因素,这些业务需要部署在离最终用户足够近的位置,以便向用户提供业务应用;目前通常才有下述两种解决方案:1.业务集中运营维护,通过全球部署内容分发网络(英文:Content Delivery Network,简称:CDN)+业务缓存部署业务应用;2.全球各地分别直接部署业务应用。第1种解决方案适用于业务运营维护管理模式简单,全球业务特性统一、无区域个性化要求的场景;第2中解决方案适用范围广,可以按照区域进行个性化特性定制,同时特别适用于对于业务管理运维及权属复杂,需要多个团队进行分别运营管理的场景。
在云环境下,云基础设施通常提供了一些服务能力,以复制业务进行快速部署,如现有技术提供了一种Cloud Formation模板(CloudFormation为一种云资源模板式部署服务),这些服务能力对于在云基础设施内部的简单应用是可以应对的,但是,若需要跨多个私有云环境,应用需要分别在多个地域同时部署,特别需要复制应用配置及初始化等数据时,因此现有技术中的这些服务能力远远达不到要求。
现有主流的云提供商提供的服务,都集中在如何能够快速部署业务,如IaaS(英文:Infrastructure as a Service,基础设施即服务)中的亚马逊云,提供了Cloud Formation及Elastic Beanstalk(自动化部署)服务用于快速部署业务,如Paas(英文:Platform-as-a-Service,平台即服务)层的Cloud Foundry(一种开源PaaS软件)、Cloudify(一种开源云应用编排软件)提供了从开发到部署环境的直接映射。面对纷繁的业务应用种类,目前的云自动部署服务能力只能提供资源供给,无法完成业务本身的配置及业务调测,这些都是需要业务管理人员花费大量时间来完成,如电信应用,短则一两周,长则三五个月。而在多云环境下,随着业务的发展,需要不断在私有云中渐进式部署相同应用,而当前却没有云提供商能够提供从应用安装到应用数据的“应用复制”服务能力。
总之,现有技术仅仅能够做到应用辅助安装部署,但是并没有一种云服务能够提供对于应用在多个私有云之间的复制。
发明内容
本发明的实施例提供一种应用复制方法、设备及系统,能够实现私有云之间的应用复制。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种应用复制方法,
第一设备获取应用数据的模板和对所述应用数据的模板填充应用数据后的实例,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
所述第一设备对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包生成打包数据;
将所述打包数据传输至第二设备。
结合第一方面,在第一种可能的实现方式中,
所述数据模板包括数据库表,所述第一设备获取应用数据的模板包括:
所述第一设备设置所述数据库表的备份配置,所述备份配置至少包括:网际协议IP地址、主机安全外壳SSH登录用户和登录口令、数据库类型、数据库版本、至少一个数据库用户和用户口令、至少一个数据库表名列表;
所述第一设备执行所述数据库表的备份配置备份所述数据库表;
和/或,
所述数据模板包括数据文件,所述第一设备获取应用数据的模板包括:
所述第一设备设置所述数据文件的备份配置,所述备份配置至少包括:IP地址、主机SSH登录用户和登录口令、数据文件路径列表、数据文件名称及目录列表;
所述第一设备执行所述数据文件的备份配置备份所述数据文件。
结合第一方面,在第二种可能的实现方式中,所述数据模板包括:数据文件和/或数据库表;
所述第一设备获取应用数据的模板包括:
所述第一设备获取至少一个备份脚本;
所述第一设备对所述数据模板执行所述至少一个备份脚本,导出执行结果得到备份的数据模板。
结合第一方面,在第三种可能的实现方式中,所述应用模板包括:资源模板和部署模板;
第一设备获取应用数据的模板和对所述模板填充应用数据后的实例,包括:
所述第一设备获取所述应用模板的实例化配置;
所述第一设备根据所述应用模板的实例化配置和预配置的所述应用模板和应用实例的导出参数获取所述应用模板和所述应用实例,所述导出参数包括导出目录。
第二方面,提供一种应用复制方法,
第二设备获取第一设备发送的打包数据,所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据。
结合第二方面在第一种可能的实现方式中,所述数据模板包括:数据文件;所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,之前还包括:
第二设备配置所述数据文件的恢复路径,所述数据文件的恢复路径包括:所述数据文件在所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系、所述数据文件在所述第一设备的数据文件名称及目录列表、所述数据文件在所述第二设备的数据文件名称及目录列表;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,具体为:
所述第二设备按照所述数据文件的恢复路径根据所述数据文件和对所述数据文件填充应用数据后的实例创建应用并恢复所述应用数据。
结合第二方面在第二种可能的实现方式中,所述数据模板包括:数据库表;所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,之前还包括:
第二设备配置所述数据库表的恢复路径,所述数据库表的恢复路径包括:所述数据库表在所述第一设备的IP地址与所述数据库表在所述第二设备的IP地址的映射关系、至少一个数据库用户和用户口令、至少一个数据库表名列表;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,具体为:
所述第二设备按照所述数据库表的恢复路径根据所述数据库表和对所述数据库表填充应用数据后的实例创建应用并恢复所述应用数据。
结合第二方面在第三种可能的实现方式中,所述数据模板包括:数据文件和/或数据库表;所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,之前还包括:
获取应用数据的恢复脚本;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,具体包括:
所述第二设备根据所述恢复脚本对所述数据模板和数据实例创建应用并恢复所述应用数据。
结合第二方面在第四种可能的实现方式中,所述应用模板包括:资源模板和部署模板;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,前还包括:
获取所述应用模板和所述应用实例的导入参数;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,包括:
所述第二设备根据所述应用模板和所述应用实例的导入参数对所述应用模板和应用实例创建应用并恢复所述应用数据。
第三方面,第一设备,包括:
获取单元,用于获取应用数据的模板和对所述应用数据的模板填充应用数据后的实例,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
数据处理单元,用于对所述获取单元获取的所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包生成打包数据;
发送单元,用于将所述数据处理单元生成的所述打包数据传输至第二设备。
结合第三方面,在第一种可能的实现方式中,
所述数据模板包括数据库表,所述获取单元包括:
配置子单元,用于设置所述数据库表的备份配置,所述备份配置至少包括:网际协议IP地址、主机安全外壳SSH登录用户和登录口令、数据库类型、数据库版本、至少一个数据库用户和用户口令、至少一个数据库表名列表;
执行子单元,用于执行所述配置子单元配置的所述数据库表的备份配置备份所述数据库表;
和/或,
所述数据模板包括数据文件,所述获取单元包括:
配置子单元,用于设置所述数据文件的备份配置,所述备份配置至少包括:IP地址、主机SSH登录用户和登录口令、数据文件路径列表、数据文件名称及目录列表;
执行子单元,用于执行所述配置子单元配置的所述数据文件的备份配置备份所述数据文件。
结合第三方面,在第二种可能的实现方式中,所述数据模板包括:数据文件和/或数据库表;
所述获取单元包括:
脚本获取子单元,用于获取至少一个备份脚本;
执行子单元,对所述数据模板执行所述脚本获取子单元获取的所述至少一个备份脚本,导出执行结果得到备份的数据模板。
结合第三方面,在第三种可能的实现方式中,所述应用模板包括:资源模板和部署模板;所述获取单元包括:
配置子单元,用于获取所述应用模板的实例化配置;
导出子单元,用于根据所述配置子单元获取的所述应用模板的实例化配置和预配置的所述应用模板和应用实例的导出参数获取所述应用模板和所述应用实例,所述导出参数包括导出目录。
第四方面,第二设备,包括:
获取单元,用于获取第一设备发送的打包数据,所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
数据处理单元,用于根据所述获取单元获取的所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据。
结合第四方面,在第一种可能的实现方式中,所述数据模板包括:数据文件;所述第二设备还包括:
配置单元,用于配置所述数据文件的恢复路径,所述数据文件的恢复路径包括:所述数据文件在所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系、所述数据文件在所述第一设备的数据文件名称及目录列表、所述数据文件在所述第二设备的数据文件名称及目录列表;
所述数据处理单元,具体用于按照所述配置单元配置的所述数据文件的恢复路径根据所述数据文件和对所述数据文件填充应用数据后的实例创建应用并恢复所述应用数据。
结合第四方面,在第二种可能的实现方式中,所述数据模板包括:数据库表;所述第二设备还包括:
配置单元,用于配置所述数据库表的恢复路径,所述数据库表的恢复路径包括:所述数据库表在所述第一设备的IP地址与所述数据库表在所述第二设备的IP地址的映射关系、至少一个数据库用户和用户口令、至少一个数据库表名列表;
所述数据处理单元,具体用于按照所述配置单元配置的所述数据库表的恢复路径根据所述数据库表和对所述数据库表填充应用数据后的实例创建应用并恢复所述应用数据。
结合第四方面,在第三种可能的实现方式中,所述数据模板包括:数据文件和/或数据库表;所述第二设备还包括:
脚本获取单元用于获取应用数据的恢复脚本;
所述数据处理单元,具体用于根据所述脚本获取单元获取的所述恢复脚本对所述数据模板和数据实例创建应用并恢复所述应用数据。
结合第四方面,在第四种可能的实现方式中,所述应用模板包括:资源模板和部署模板;所述第二设备还包括:
参数获取单元,用于获取所述应用模板和所述应用实例的导入参数;
所述数据处理单元,具体用于根据所述参数获取单元获取的所述应用模板和所述应用实例的导入参数对所述应用模板和应用实例创建应用并恢复所述应用数据。
第五方面,提供一种通信系统,包括上述提供的任一第一设备,及上述提供的任一第二设备。
本发明的实施例提供的应用复制方法、设备及系统,通过第一设备对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包并发送至第二设备,第二设备根据打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的一种通信系统的结构示意图;
图2为本发明的实施例提供的应用复制方法中应用数据所采用的模型示意图;
图3为本发明的实施例提供的一种应用复制方法流程示意图;
图4为本发明的另一实施例提供的一种应用复制方法流程示意图;
图5为本发明的又一实施例提供的一种应用复制方法流程示意图;
图6为本发明的再一实施例提供的一种应用复制方法流程示意图;
图7为本发明的另一实施例提供的一种应用复制方法流程示意图;
图8为本发明的又一实施例提供的一种应用复制方法流程示意图;
图9为本发明的再一实施例提供的一种应用复制方法流程示意图;
图10为本发明的实施例提供的一种出局复制参考界面示意图;
图11为本发明的另一实施例提供的一种应用复制方法流程示意图;
图12为本发明的实施例提供的一种入局复制参考界面示意图;
图13为本发明的又一实施例提供的一种应用复制方法流程示意图;
图14为本发明的再一实施例提供的一种应用复制方法流程示意图;
图15为本发明的另一实施例提供的一种应用复制方法流程示意图;
图16为本发明的又一实施例提供的一种应用复制方法流程示意图;
图17为本发明的实施例提供的一种第一设备的结构示意图;
图18为本发明的另一实施例提供的一种第一设备的结构示意图;
图19为本发明的又一实施例提供的一种第一设备的结构示意图;
图20为本发明的再一实施例提供的一种第一设备的结构示意图;
图21为本发明的实施例提供的一种第二设备的结构示意图;
图22为本发明的另一实施例提供的一种第二设备的结构示意图;
图23为本发明的又一实施例提供的一种第二设备的结构示意图;
图24为本发明的再一实施例提供的一种第二设备的结构示意图;
图25为本发明的另一实施例提供的一种第一设备的结构示意图;
图26为本发明的另一实施例提供的一种第二设备的结构示意图。
具体实施方式
现在参照附图描述多个实施例,其中用相同的附图标记指示本文中的相同元件。在下面的描述中,为便于解释,给出了大量具体细节,以便提供对一个或多个实施例的全面理解。然而,很明显,也可以不用这些具体细节来实现所述实施例。在其它例子中,以方框图形式示出公知结构和设备,以便于描述一个或多个实施例。
其中本发明的实施例应用于云环境向用户终端提供云服务,其中本发明的实施例所涉及的设备为云环境下的数据中心或者云管理平台,本发明的实施例所涉及的应用复制为数据中心间的应用复制,在没有特殊说明的情况下上述的数据中心(英文:Data Center,简称:DC)均为内部单独部署云管理平台的数据中心;其中云管理平台简称云平台,也称作云运维管理平台,其中云平台提供云基础设备的运维管理能力,包括应用生命周期管理,例如:应用部署、复制、监控、自动伸缩、资源分配等;资源生命周期管理,例如:资源分配、监控、调度、回收等。上述应用也可以称作业务应用,是指运行在云基础设置下的程序,能独立或者与其他应用联合提供最终用户设备使用的业务。
本发明的实施例应用于如图1所示的通信系统,其中至少包括第一设备DC-A和第二设备DC-B,其中设备DC-A和DC-B为相同的设备以下均以数据中心或者云平台为例进行说明,其中本发明以下实施例中第一设备和第二设备均通过IaaS(Infrastructure as a service,基础设备即服务)接口对IaaS层的资源管理实现。
结合图2所示,本发明的实施例提供了应用复制方法所采用的应用数据模型,以下对本发明的实施例中所采用的技术术语进行说明,本发明的实施例所公开的应用复制方法将应用的复制分为:对资源、部署和数据三部分内容的复制,本发明的实施例所涉及的方法包括对应用模板、数据模板、应用实例和数据实例的操作,其中应用模板包括资源模板和部署模板,应用实例包括:资源模板对应的资源实例和部署模板对应的部署实例;模板是对应用数据的抽象和分类,实例是应用数据在具体云环境下的模板填充,资源实例、部署实例、数据实例可以将已部署的应用变成可传输、可跨云恢复的文件。具体参照2所示,资源模板为定义应用对于云资源的要求,如镜像类型、虚拟机规格、存储和网络等要求。资源实例为应用在具体云资源下的资源模板数据,如镜像类型为Suse11SP2(Service Pack 2、服务包2)、虚拟机规格为4C16G等等。部署模板为应用对于部署方式的要求,如组网方式,示例性的如:单机、双机、集群;虚拟机亲和性,示例性的如:多台虚拟机是否位于同一台宿主机等。部署实例为应用在云基础设施中的实际部署方式,是部署模板的数据填充,如采用双机部署、虚拟机位于不同宿主机、镜像在虚拟机本地磁盘存储等。数据模板为应用数据的抽象化表示,通常分为数据库表数据和文件数据。数据实例为对应数据模板下的应用具体的数据,如具体的数据表、具体的数据文件。
参照图3所示,本发明的实施例提供一种应用复制方法,应用于第一设备,该方法用于第一设备的出局复制,具体包括以下步骤:
101、第一设备获取应用数据的模板和对所述应用数据的模板填充应用数据后的实例。
步骤101中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例。
102、所述第一设备对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包生成打包数据。
103、所述第一设备将所述打包数据传输至第二设备。
参照图4所示,本发明的实施例提供一种应用复制方法,应用于第二设备,该方法用于第二设备的入局复制,具体包括以下步骤:
201、第二设备获取第一设备发送的打包数据。
步骤201中,打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例。
202、所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据。
本发明的实施例提供的应用复制方法,通过第一设备对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包并发送至第二设备,第二设备根据打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
实例一:对数据模板及数据实例的复制。
具体的,对于数据模板和数据实例的处理,根据云平台能力不同,可以通过框架式复制和平台式复制两种方式实现,其中数据模板主要包括:数据文件和/或数据库表。参照图5所示,以下通过框架式复制对数据库表的复制过程进行详细描述,本发明的实施例提供一种应用复制方法,对于第一设备的出局复制,具体包括以下步骤:
301、所述第一设备设置所述数据库表的备份配置。
在步骤301中,所述备份配置至少包括:网际协议IP地址、主机安全外壳SSH登录用户和登录口令、数据库类型、数据库版本、至少一个数据库用户和用户口令、至少一个数据库表名列表。其中,由于每个数据库中可能包含至少一个以上的数据库表及数据库用户,因此在参数设置上数据库用户和用户口令、数据表名列表应为可循环填设的参数。
302、所述第一设备执行所述数据库表的备份配置备份所述数据库表。
需要说明的是,在步骤302备份数据库表的同时生成数据库表的实例并备份,其中数据库表的实例可以为具体的数据表,例如XXX数据表。
303、所述第一设备对所述数据库表和数据库表的实例进行打包生成打包数据。
304、所述第一设备将所述打包数据传输至第二设备。
对于第二设备的入局复制,参照图6所示,具体包括以下步骤:
401、第二设备获取第一设备发送的打包数据。
所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例。
402、第二设备配置所述数据库表的恢复路径。
所述数据库表的恢复路径包括:所述数据库表在所述第一设备的IP地址与所述数据库表在所述第二设备的IP地址的映射关系、至少一个数据库用户和用户口令、至少一个数据库表名列表。其中,在步骤402的过程中,可以通过显示界面呈现第一设备复制的[数据库用户,表名列表]组合,第二设备通过接收管理员的勾选确定哪些数据库表需要复制,勾选缺省时则默认为全部复制;而哪些数据库表复制到哪个主机上以第一设备的IP地址与所述数据库表在所述第二设备的IP地址的映射关系为准,当然也可以通过接收管理员的指令再调整;显示界面提供输入框,可以让管理员指定建立数据库脚本,或者管理员确认手工已创建数据库;复制执行前,需要确认数据库已启动,否则以入局复制步骤拉起暂不执行。
403、所述第二设备按照所述数据库表的恢复路径根据所述数据库表和对所述数据库表填充应用数据后的实例创建应用并恢复所述应用数据。
可选的,以下通过框架式复制对数据文件的复制过程进行详细描述,参照图7所示,本发明的实施例提供一种应用复制方法,对于第一设备的出局复制,具体包括以下步骤:
501、所述第一设备设置所述数据文件的备份配置。
所述备份配置至少包括:IP地址、主机SSH登录用户和登录口令、数据文件路径列表、数据文件名称及目录列表。
502、所述第一设备执行所述数据文件的备份配置备份所述数据文件。
需要说明的是,在步骤502备份数据文件的同时生成数据文件的实例并备份,其中数据文件的实例可以为具体的数据文件,例如XXX数据文件。
503、所述第一设备对所述数据文件和数据文件的实例进行打包生成打包数据。
504、所述第一设备将所述打包数据传输至第二设备。
对于第二设备的入局复制,参照图8所示,具体包括以下步骤:
601、第二设备获取第一设备发送的打包数据。
所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例。
602、第二设备配置所述数据文件的恢复路径。
所述数据文件的恢复路径包括:所述数据文件在所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系、所述数据文件在所述第一设备的数据文件名称及目录列表、和所述数据文件在所述第二设备的数据文件名称及目录列表。其中在步骤602中所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系为部署模板给出的建议值,该步骤中直接调用部署模板中所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系并在显示界面中呈现,该映射关系可以通过接收管理员的指令进行修改;哪些数据文件复制到第二设备中的哪个主机以该步的IP地址映射关系为准;显示界面中呈现第一设备复制的数据文件名称及目录列表,目录可以为展开状态或非展开状态,第二设备可以通过接收管理员对数据文件或目录的勾选指令确定需要复制的数据文件,勾选缺省时默认为复制第一设备的全部数据文件或目录;同时勾选缺省时,默认数据文件或目录复制到第二设备对应的主机上时保持与第一设备的主机中相同的路径,当然该路径也可以通过接收管理员的指令进行调整。
603、所述第二设备按照所述数据文件的恢复路径根据所述数据文件和对所述数据文件填充应用数据后的实例创建应用并恢复所述应用数据。
在上述的实施例中,通过框架式复制方式,第一设备对所述数据模板和数据实例进行打包并发送至第二设备,第二设备根据打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
可选的,参照图9所示,以下对数据模板进行平台式复制进行详细描述,本发明的实施例提供一种应用复制方法,对于第一设备的出局复制,具体包括以下步骤:
701、所述第一设备获取至少一个备份脚本。
在步骤701中,备份脚本可以为管理员上传的一个或多个备份脚本。
702、所述第一设备对所述数据模板执行所述至少一个备份脚本,导出执行结果得到备份的数据模板。
在步骤702中,第一设备具体可以通过接收管理员的指令,配置运行各个脚本的主机。参照图10所示的出局复制参考界面,管理员上传的脚本包括:脚本1\aaa.txt,脚本2\bbb.txt;第二设备管理的主机包括主机1\10.15.255.230.abcdeg,主机2\10.15.255.231.abffffeg,主机3\10.15.255.232.abfgfgh,主机4\10.15.255.233.bbvcbc;并且通过每个主机标识后的复选框进行运行脚本的设置。
需要说明的是,在步骤702备份数据模板的同时生成数据模板的数据实例并备份。
703、所述第一设备对所述数据模板和数据实例进行打包生成打包数据。
704、所述第一设备将所述打包数据传输至第二设备。
对于第二设备的入局复制,参照图11所示,具体包括以下步骤:
801、第二设备获取第一设备发送的打包数据。
步骤801中,所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例。
802、所述第二设备获取应用数据的恢复脚本。
与备份脚本的获取方式类似,步骤802中,恢复脚本同样可以为管理员上传的一个或多个恢复脚本。
803、所述第二设备根据所述恢复脚本对所述数据模板和数据实例创建应用并恢复所述应用数据。
在步骤803中,第二设备具体可以通过接收管理员的指令,配置运行各个脚本的主机。参照图12所示的入局复制参考界面,管理员上传的脚本包括:脚本1\aaa.txt,脚本2\bbb.txt;第二设备管理的主机包括主机1\10.15.255.230.abcdeg,主机2\10.15.255.231.abffffeg,主机3\10.15.255.232.abfgfgh,主机4\10.15.255.233.bbvcbc;并且通过每个主机标识后的复选框对运行的脚本和待恢复的打包数据进行设置。其中附图11中在显示界面的窗口中用源局点应用数据包表示第一设备发送的打包数据,其中复选框中示出了源局点应用数据包的IP地址为10.255.24.11。
在上述的实施例中,通过平台式复制方式,第一设备对所述数据模板和数据实例进行打包并发送至第二设备,第二设备根据打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
实例二:对应用模板及应用实例的复制
参照图13所示,本发明的实施例提供一种应用复制方法,对于第一设备的出局复制,具体包括以下步骤:
901、所述第一设备获取所述应用模板的实例化配置。
902、所述第一设备根据所述应用模板的实例化配置和预配置的应用模板和应用实例的导出参数获取应用模板和所述应用实例。
其中,导出参数包括导出目录。
903、所述第一设备对所述应用模板和所述应用实例进行打包生成打包数据。
904、所述第一设备将所述打包数据传输至第二设备。
示例性的,参照图14所示,本发明的实施例具体通过设备内部的云平台入口模块、云平台调度模块、云平台应用生命周期管理模块和IaaS层接口模块联合实现上述的应用复制流程,这里云平台应用生命周期管理模块通过导出/导入接口提供应用的资源模板、部署模板及实例的导出和导入,以供本发明中设备模块间的交互。
具体的,上述的第一设备执行的出局复制流程包括以下步骤:
S1、管理员终端向云平台入口模块发送指定复制的应用标识。
S2、云平台入口模块向管理员终端返回响应。
S3、云平台入口模块向云平台调度模块发送触发出局复制流程指令。
S4、云平台调度模块生成出局复制任务。
S5、云平台调度模块向云平台应用生命周期管理模块发送应用实例化配置查询指令,所述应用实例化配置查询指令包含应用ID(英文:Identity,身份标识)。
S6、云平台调度模块接收云平台应用生命周期管理模块返回的应用实例化配置,其中所述应用实例化配置包含应用实例化配置名值对。
S7、云平台调度模块存储所述应用实例化配置信息。
上述步骤S5-S7为通过导出/导入接口获取指定应用进行实例化配置的过程,其中步骤S5的应用实例化配置查询指令包含的输入参数,如表1所示:
表1
步骤S6和S7中应用实例化配置包含的输出参数如下表2所示:
其中,表1和表2中Parameter为参数;Type为参数类型,其中例如string表示字符串类型、Integer表示整数类型、[]表示可重复的列表类型;Range为参数长度,其可以定义为固定的长度,如:64、128Bytes(字节),或者定义为NA不限制;Required为表示参数是否为必选参数,示例性的M指示参数为必选参数、O指示参数为可选参数;Description为参数的描述,本文中下述各表中的元素均按照该说明理解其他部分不再赘述。
S8、云平台调度模块向云平台应用生命周期管理模块发送应用模板及应用实例导出指令。
其中,所述应用模板及应用实例导出指令包含指示待复制的应用的ID和导出参数,示例性的应用实例可以为指定应用的软件包。
S9、云平台调度模块接收云平台应用生命周期管理模块的接口响应。
所述接口响应包含应用ID、工作流(workflow)ID和导出目录路径。
在步骤S8、S9中,平台应用生命周期管理模块可以导出指定应用的全部设计数据,包括应用及其嵌套应用的应用包、应用软件制品、应用镜像、应用实例化配置模板。导出的数据存放在云平台本地文件系统的固定目录下,通过SFTP(英文:Secure File Transfer Protocol,安全文件传送协议)被客户端下载使用。应用及其嵌套应用使用的软件制品、镜像是否同步导出,可以通过应用模板及应用实例导出指令的输入参数进行配置,同时支持根据排除列表进行过滤,其中输入参数的形式参见表3:
表3
并且,该导出/导入接口是异步接口,同时具备返回导出任务的任务ID的功能,以便用户通过任务ID查询导出进度和状态。导出完成后,即可进行导入数据的SFTP下载,如下表4给出了接口响应中包含任务ID及导出进度和状态的输出参数的说明:
表4
S10、云平台应用生命周期管理模块通过循环迁移控制处理向IaaS层接口模块获取应用模板及应用实例。
具体的步骤S10包括:
S01、云平台应用生命周期管理模块存储应用模板及应用实例导出指令。
S02、云平台应用生命周期管理模块向IaaS层接口模块请求应用模板及应用实例;
S03、云平台应用生命周期管理模块接收IaaS层接口模块请求的应用模板及应用实例。
S11、云平台调度模块接收云平台入口模块发送的任务查询指令。
S12、云平台调度模块向云平台应用生命周期管理模块发送任务执行状态查询指令,所述任务执行状态查询指令包含应用ID和工作流(workflow)ID。
S13、云平台应用生命周期管理模块向所述云平台调度模块反馈对所述任务执行状态查询指令的响应,所述对所述任务执行状态查询指令的响应包含任务执行的工作流状态。
S14、云平台调度模块向所述云平台入口模块反馈对所述任务查询指令的响应。
其中步骤S11-S14为对出局复制过程执行状态的查询,其中上述步骤S11和S12所涉及的查询指令所包含的输入参数具体如下表5所示:
表5
上述步骤S13和S14中所涉及的对查询指令的响应所包含的输出参数具体如下表6所示:
表6
S15、云平台调度模块接收云平台应用生命周期管理模块发送的应用模板及应用实例。
S16、云平台调度模块存储所述云平台应用生命周期管理模块发送的应用模板及应用实例。
其中步骤S16为将应用模板及应用实例以导出包的形式存储至云平台指定的目录下,以备后续复制以及应用在其他云端设备恢复使用。
S17、云平台调度模块导出所述应用模板和所述应用实例。
S18、云平台调度模块将所述应用模板和所述应用实例打包。
参照图15所示,本发明的实施例提供一种应用复制方法,对于第二设备的入局复制,具体包括以下步骤:
1001、第二设备获取第一设备发送的打包数据。
所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例。
1002、所述第二设备获取所述应用模板和所述应用实例的导入参数。
1003、所述第二设备根据所述应用模板和所述应用实例的导入参数对所述应用模板和应用实例创建应用并恢复所述应用数据。
其中上述步骤1001和1002不限定执行的先后次序。
示例性的,参照图16所示,本发明的实施例具体通过设备内部的云平台入口模块、云平台调度模块、云平台应用生命周期管理模块和IaaS层接口模块联合实现上述的应用复制流程,这里云平台应用生命周期管理模块通过导出/导入接口提供应用的资源模板、部署模板及实例的导出和导入,以供本发明中设备模块间的交互。
具体的,上述的第二设备执行的入局复制流程包括以下步骤:
S1、云平台调度模块接收管理员终端发送的文件包。
其中,该文件包为云环境cloudview云计算操作系统能够识别的格式,云平台调度模块将该文件包存放至cloudview云计算操作系统指定的目录下,所述文件包包含应用模板和应用实例的导入参数,其中应用模板和应用实例的导入参数至少包含对应的应用ID。
S2、云平台调度模块对文件包进行完整性验证并创建入局复制任务。
S3、云平台调度模块向云平台应用生命周期管理模块发送应用模板和应用实例的导入目录。
S4、云平台调度模块向云平台应用生命周期管理模块发送调用导入应用接口指令。
所述调用导入接口指令包含所述应用模板和应用实例的存放目录。
S5、云平台调度模块接收云平台应用生命周期管理模块发送的对所述调用导入应用接口指令的响应。
其中,对所述调用导入应用接口指令的响应包括:应用ID和workflow ID。
这里步骤S4和S5为将第一设备上传至云平台指定目录的应用导出包导入至第二设备对应的云平台系统,其中步骤S4中导入应用接口指令的输入参数如下表7所示:
表7
其中步骤S5中对所述调用导入应用接口指令的响应的输出参数如下表8所示:
表8
S6、云平台应用生命周期管理模块创建应用模板。
其中,在步骤S6之后,云平台应用生命周期管理模块通过IaaS层接口模块向IssS层上传指定应用的全部设计数据,包括应用及其嵌套应用的应用包、应用软件制品、应用镜像、应用实例化配置模板;并且通过IssS层资源查询请求为应用实例化匹配入局复制的资源。
S7、云平台调度模块接收云平台入口模块发送的创建任务查询指令。
S8、云平台调度模块向云平台应用生命周期管理模块发送查询所述应用模板和应用实例上传进展请求。
S9、云平台调度模块接收云平台应用生命周期管理模块反馈的所述应用模板和应用实例上传进展,并将所述应用模板和应用实例上传进展返回至云平台入口模块。
其中,在步骤S8和S9可以为预设时间段内执行多次,其中在步骤S8和S9的步骤执行过程中,云平台应用生命周期管理模块通过IaaS层接口模块与IaaS层的交互实现IaaS层的资源匹配查询,并上传应用模板和应用实例至IaaS层,具体可以为上传注册镜像及软件包至IaaS层。
S10、云平台调度模块向云平台应用生命周期管理模块发送调用实例化创建接口指令。
其中,所述调用实例化创建接口指令包含应用实例化配置名值对。
S11、云平台调度模块向云平台应用生命周期管理模块反馈的创建结果。
其中,在步骤S11之后,管理员终端可以通过云平台入口模块和云平台调度模块透传查询参数至云平台应用生命周期管理模块,对应用模板和应用实例创建结果及IaaS层资源配置情况的查询,其中透传查询参数包括含应用模板、应用实例及IaaS层资源相关参数;云平台应用生命周期管理模块通过云平台调度模块和云平台入口透传查询结果至管理员终端,其中该查询过程中,查询参数的输入参数同表5所示,查询结果中的输出参数通表6所示,这里不再赘述。
S12、云平台调度模块向云平台应用生命周期管理模块发送执行应用实例化指令。
S13、云平台应用生命周期管理模块进行实例化模型处理。
S14、云平台应用生命周期管理模块向IaaS层接口模块发送实例化应用指令。
S15、云平台应用生命周期管理模块接收IaaS层接口模块反馈的应用实例化结果,并将该应用实例化结果转发至所述云平台调度模块。
S16、平台调度模块执行应用数据恢复。
在上述的实施例中,第一设备对所述数据模板和数据实例进行打包并发送至第二设备,第二设备根据打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
参照图17所示,本发明的实施例提供一种第一设备100,用于实现上述的应用复制方法,包括:
获取单元11,用于获取应用数据的模板和对所述应用数据的模板填充应用数据后的实例,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
数据处理单元12,用于对所述获取单元11获取的所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包生成打包数据;
发送单元13,用于将所述数据处理单元12生成的所述打包数据传输至第二设备。
本发明的实施例提供的第一设备,通过第一设备对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包并发送至第二设备,以便第二设备根据打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
可选的,所述数据模板包括数据库表,参照图18所示,所述获取单元11包括:
配置子单元111a,用于设置所述数据库表的备份配置,所述备份配置至少包括:网际协议IP地址、主机安全外壳SSH登录用户和登录口令、数据库类型、数据库版本、至少一个数据库用户和用户口令、至少一个数据库表名列表;
执行子单元112a,用于执行所述配置子单元配置的所述数据库表的备份配置备份所述数据库表;
和/或,
所述数据模板包括数据文件,参照图18所示,所述获取单元11包括:
配置子单元111a,用于设置所述数据文件的备份配置,所述备份配置至少包括:IP地址、主机SSH登录用户和登录口令、数据文件路径列表、数据文件名称及目录列表;
执行子单元112a,用于执行所述配置子单元配置的所述数据文件的备份配置备份所述数据文件。
可选的,所述数据模板包括:数据文件和/或数据库表;参照图19所示,所述获取单元11包括:
脚本获取子单元111b,用于获取至少一个备份脚本;
执行子单元112b,对所述数据模板执行所述脚本获取子单元获取的所述至少一个备份脚本,导出执行结果得到备份的数据模板。
可选的,所述应用模板包括:资源模板和部署模板;参照图20所示,所述获取单元11包括:
配置子单元111c,用于获取所述应用模板的实例化配置;
导出子单元112c,用于根据所述配置子单元获取的所述应用模板的实例化配置和预配置的所述应用模板和应用实例的导出参数获取所述应用模板和所述应用实例,所述导出参数包括导出目录。
需要说明的是,上述实施例中的获取单元11和数据处理单元12可以为第一设备中单独设立的处理器,或者集成在第一设备中某一处理器中,或者以程序代码的形式存储于第一设备的存储器中,并由第一设备的某一个处理器调用并执行以上各个单元及子单元的功能。以上所述的处理器可以是一个中央处理器(英文:Central ProcessingUnit,简称:CPU),或者是特定集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。发送单元可以通过具有发送功能的接口电路。进一步的,当第一设备与第二设备进行无线通信时,发送单元可以为第一设备的发射机。
参照图21所示,本发明的实施例提供一种第二设备200,包括:
获取单元21,用于获取第一设备发送的打包数据,所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
数据处理单元22,用于根据所述获取单元21获取的所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据。
本发明的实施例提供的第二设备,能够根据第一设备发送的包含有所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例的打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
可选的,所述数据模板包括:数据文件;参照图22所示,所述第二设备还包括:
配置单元23,用于配置所述数据文件的恢复路径,所述数据文件的恢复路径包括:所述数据文件在所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系、所述数据文件在所述第一设备的数据文件名称及目录列表、所述数据文件在所述第二设备的数据文件名称及目录列表;
所述数据处理单元22,具体用于按照所述配置单元23配置的所述数据文件的恢复路径根据所述数据文件和对所述数据文件填充应用数据后的实例创建应用并恢复所述应用数据。
可选的,所述数据模板包括:数据库表;参照图22所示,所述第二设备还包括:
配置单元23,用于配置所述数据库表的恢复路径,所述数据库表的恢复路径包括:所述数据库表在所述第一设备的IP地址与所述数据库表在所述第二设备的IP地址的映射关系、至少一个数据库用户和用户口令、至少一个数据库表名列表;
所述数据处理单元22,具体用于按照所述配置单元23配置的所述数据库表的恢复路径根据所述数据库表和对所述数据库表填充应用数据后的实例创建应用并恢复所述应用数据。
可选的,所述数据模板包括:数据文件和/或数据库表;参照图23所示,所述第二设备还包括:
脚本获取单元24用于获取应用数据的恢复脚本;
所述数据处理单元22,具体用于根据所述脚本获取单元24获取的所述恢复脚本对所述数据模板和数据实例创建应用并恢复所述应用数据。
可选的,所述应用模板包括:资源模板和部署模板;参照图24所示,所述第二设备还包括:
参数获取单元25,用于获取所述应用模板和所述应用实例的导入参数;
所述数据处理单元22,具体用于根据所述参数获取单元25获取的所述应用模板和所述应用实例的导入参数对所述应用模板和应用实例创建应用并恢复所述应用数据。
需要说明的是,获取单元21可以通过具有接收功能的接口电路。进一步的,当第一设备与第二设备进行无线通信时,获取单元21可以为第二设备的接收。上述实施例中的数据处理单元22、配置单元23、脚本获取单元24参数获取单元25可以为第二设备中单独设立的处理器,或者集成在第二设备中某一处理器中,或者以程序代码的形式存储于第二设备的存储器中,并由第二设备的某一个处理器调用并执行以上各个单元及子单元的功能。以上所述的处理器可以是一个中央处理器(英文:Central Processing Unit,简称:CPU),或者是特定集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本发明的实施例提供一种第一设备,具体的,参照图25所示,该设备300包括:存储器301、处理器302、接口电路303及总线304,其中所述存储器301、处理器302及接口电路303通过所述总线304连接实现相互通信,所述存储器301用于存储所述处理器302处理的数据;
该总线304可以是工业标准体系结构(英文:Industry StandardArchitecture,简称为ISA)总线、外部设备互连(英文:PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(英文:ExtendedIndustry Standard Architecture,简称为EISA)总线等,此处并不限定。该总线304可以分为地址总线、数据总线、控制总线等。为便于表示,图25中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器301用于存储数据或可执行程序代码,其中程序代码包括计算机操作指令,具体可以为:操作系统、应用程序等。存储器301可能包含高速RAM存储器,也可能还包括非易失性存储器(英文:non-volatile memory),例如至少一个磁盘存储器。
处理器302可能是一个中央处理器(英文:Central ProcessingUnit,简称为CPU),或者是特定集成电路(英文:Application SpecificIntegrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。例如:一个或多个微处理器(英文:digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(英文:Field Programmable Gate Array,简称:FPGA)
处理器302用于通过执行存储器301中的程序代码实现上述实施例中的技术方案。
处理器302,用于获取应用数据的模板和对所述应用数据的模板填充应用数据后的实例,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包生成打包数据;
接口电路303,用于将所述处理器302生成的所述打包数据传输至第二设备。
本发明的实施例提供的第一设备,通过第一设备对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包并发送至第二设备,以便第二设备根据打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
可选的,所述数据模板包括数据库表,所述处理器302具体用于设置所述数据库表的备份配置,所述备份配置至少包括:网际协议IP地址、主机安全外壳SSH登录用户和登录口令、数据库类型、数据库版本、至少一个数据库用户和用户口令、至少一个数据库表名列表;执行所述数据库表的备份配置备份所述数据库表;
和/或,
所述数据模板包括数据文件,所述处理器302具体用于设置所述数据文件的备份配置,所述备份配置至少包括:IP地址、主机SSH登录用户和登录口令、数据文件路径列表、数据文件名称及目录列表;执行所述数据文件的备份配置备份所述数据文件。
可选的,所述数据模板包括:数据文件和/或数据库表;所述处理器302具体用于获取至少一个备份脚本;对所述数据模板执行所述至少一个备份脚本,导出执行结果得到备份的数据模板。
可选的,所述应用模板包括:资源模板和部署模板;所述处理器302具体用于获取所述应用模板的实例化配置;根据所述应用模板的实例化配置和预配置的所述应用模板和应用实例的导出参数获取所述应用模板和所述应用实例,所述导出参数包括导出目录。
本发明再一实施例提供一种第二设备,具体的,参照图26所示,该设备400包括:存储器401、处理器402、接口电路403和总线404,其中所述存储器401、处理器402及接口电路403通过所述总线504连接实现相互通信,所述存储器401用于存储所述处理器402处理的数据;
该总线404可以是工业标准体系结构(英文:Industry StandardArchitecture,简称为ISA)总线、外部设备互连(英文:PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(英文:ExtendedI ndustry Standard Architecture,简称为EISA)总线等,此处并不限定。该总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图26中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器401用于存储数据或可执行程序代码,其中程序代码包括计算机操作指令,具体可以为:操作系统、应用程序等。存储器401可能包含高速RAM存储器,也可能还包括非易失性存储器(英文:non-volatile memory),例如至少一个磁盘存储器。
处理器402可能是一个中央处理器(英文:Central ProcessingUnit,简称为CPU),或者是特定集成电路(英文:Application SpecificIntegrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。例如:一个或多个微处理器(英文:digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(英文:Field Programmable Gate Array,简称:FPGA)
处理器402用于通过执行存储器401中的程序代码实现上述实施例中的技术方案。
接口电路403用于获取第一设备发送的打包数据,所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
处理器402用于根据所述接口电路403获取的所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据。
本发明的实施例提供的第二设备,能够根据第一设备发送的包含有所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例的打包数据创建应用并恢复所述应用数据,进而实现私有云之间的应用复制。
可选的,所述数据模板包括:数据文件;
处理器402还用于配置所述数据文件的恢复路径,所述数据文件的恢复路径包括:所述数据文件在所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系、所述数据文件在所述第一设备的数据文件名称及目录列表、所述数据文件在所述第二设备的数据文件名称及目录列表;
处理器402具体用于按照所述数据文件的恢复路径根据所述数据文件和对所述数据文件填充应用数据后的实例创建应用并恢复所述应用数据。
可选的,所述数据模板包括:数据库表;
处理器402,还用于配置所述数据库表的恢复路径,所述数据库表的恢复路径包括:所述数据库表在所述第一设备的IP地址与所述数据库表在所述第二设备的IP地址的映射关系、至少一个数据库用户和用户口令、至少一个数据库表名列表;
处理器402,具体用于按照所述数据库表的恢复路径根据所述数据库表和对所述数据库表填充应用数据后的实例创建应用并恢复所述应用数据。
可选的,所述数据模板包括:数据文件和/或数据库表;
处理器402还用于获取应用数据的恢复脚本;
处理器402具体用于根据所述恢复脚本对所述数据模板和数据实例创建应用并恢复所述应用数据。
可选的,所述应用模板包括:资源模板和部署模板;
处理器402还用于获取所述应用模板和所述应用实例的导入参数;
处理器402具体用于根据所述应用模板和所述应用实例的导入参数对所述应用模板和应用实例创建应用并恢复所述应用数据。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (19)
1.一种应用复制方法,其特征在于,
第一设备获取应用数据的模板和对所述应用数据的模板填充应用数据后的实例,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
所述第一设备对所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包生成打包数据;
将所述打包数据传输至第二设备。
2.根据权利要求1所述的方法,其特征在于,
所述数据模板包括数据库表,所述第一设备获取应用数据的模板包括:
所述第一设备设置所述数据库表的备份配置,所述备份配置至少包括:网际协议IP地址、主机安全外壳SSH登录用户和登录口令、数据库类型、数据库版本、至少一个数据库用户和用户口令、至少一个数据库表名列表;
所述第一设备执行所述数据库表的备份配置备份所述数据库表;
和/或,
所述数据模板包括数据文件,所述第一设备获取应用数据的模板包括:
所述第一设备设置所述数据文件的备份配置,所述备份配置至少包括:IP地址、主机SSH登录用户和登录口令、数据文件路径列表、数据文件名称及目录列表;
所述第一设备执行所述数据文件的备份配置备份所述数据文件。
3.根据权利要求1所述的方法,其特征在于,所述数据模板包括:数据文件和/或数据库表;
所述第一设备获取应用数据的模板包括:
所述第一设备获取至少一个备份脚本;
所述第一设备对所述数据模板执行所述至少一个备份脚本,导出执行结果得到备份的数据模板。
4.根据权利要求1所述的方法,其特征在于,所述应用模板包括:资源模板和部署模板;
第一设备获取应用数据的模板和对所述模板填充应用数据后的实例,包括:
所述第一设备获取所述应用模板的实例化配置;
所述第一设备根据所述应用模板的实例化配置和预配置的所述应用模板和应用实例的导出参数获取所述应用模板和所述应用实例,所述导出参数包括导出目录。
5.一种应用复制方法,其特征在于,
第二设备获取第一设备发送的打包数据,所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据。
6.根据权利要求5所述的方法,其特征在于,所述数据模板包括:数据文件;所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,之前还包括:
第二设备配置所述数据文件的恢复路径,所述数据文件的恢复路径包括:所述数据文件在所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系、所述数据文件在所述第一设备的数据文件名称及目录列表、所述数据文件在所述第二设备的数据文件名称及目录列表;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,具体为:
所述第二设备按照所述数据文件的恢复路径根据所述数据文件和对所述数据文件填充应用数据后的实例创建应用并恢复所述应用数据。
7.根据权利要求5所述的方法,其特征在于,所述数据模板包括:数据库表;所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,之前还包括:
第二设备配置所述数据库表的恢复路径,所述数据库表的恢复路径包括:所述数据库表在所述第一设备的IP地址与所述数据库表在所述第二设备的IP地址的映射关系、至少一个数据库用户和用户口令、至少一个数据库表名列表;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,具体为:
所述第二设备按照所述数据库表的恢复路径根据所述数据库表和对所述数据库表填充应用数据后的实例创建应用并恢复所述应用数据。
8.根据权利要求5所述的方法,其特征在于,所述数据模板包括:数据文件和/或数据库表;所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,之前还包括:
获取应用数据的恢复脚本;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,具体包括:
所述第二设备根据所述恢复脚本对所述数据模板和数据实例创建应用并恢复所述应用数据。
9.根据权利要求5所述的方法,其特征在于,所述应用模板包括:资源模板和部署模板;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,前还包括:
获取所述应用模板和所述应用实例的导入参数;
所述第二设备根据所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据,包括:
所述第二设备根据所述应用模板和所述应用实例的导入参数对所述应用模板和应用实例创建应用并恢复所述应用数据。
10.第一设备,其特征在于,包括:
获取单元,用于获取应用数据的模板和对所述应用数据的模板填充应用数据后的实例,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
数据处理单元,用于对所述获取单元获取的所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例进行打包生成打包数据;
发送单元,用于将所述数据处理单元生成的所述打包数据传输至第二设备。
11.根据权利要求10所述的第一设备,其特征在于,
所述数据模板包括数据库表,所述获取单元包括:
配置子单元,用于设置所述数据库表的备份配置,所述备份配置至少包括:网际协议IP地址、主机安全外壳SSH登录用户和登录口令、数据库类型、数据库版本、至少一个数据库用户和用户口令、至少一个数据库表名列表;
执行子单元,用于执行所述配置子单元配置的所述数据库表的备份配置备份所述数据库表;
和/或,
所述数据模板包括数据文件,所述获取单元包括:
配置子单元,用于设置所述数据文件的备份配置,所述备份配置至少包括:IP地址、主机SSH登录用户和登录口令、数据文件路径列表、数据文件名称及目录列表;
执行子单元,用于执行所述配置子单元配置的所述数据文件的备份配置备份所述数据文件。
12.根据权利要求10所述的第一设备,其特征在于,所述数据模板包括:数据文件和/或数据库表;
所述获取单元包括:
脚本获取子单元,用于获取至少一个备份脚本;
执行子单元,对所述数据模板执行所述脚本获取子单元获取的所述至少一个备份脚本,导出执行结果得到备份的数据模板。
13.根据权利要求10所述的第一设备,其特征在于,所述应用模板包括:资源模板和部署模板;所述获取单元包括:
配置子单元,用于获取所述应用模板的实例化配置;
导出子单元,用于根据所述配置子单元获取的所述应用模板的实例化配置和预配置的所述应用模板和应用实例的导出参数获取所述应用模板和所述应用实例,所述导出参数包括导出目录。
14.第二设备,其特征在于,包括:
获取单元,用于获取第一设备发送的打包数据,所述打包数据包含应用数据的模板和对所述应用数据的模板填充应用数据后的实例,其中,所述应用数据的模板包括:应用模板和数据模板,所述对所述应用数据的模板填充应用数据后的实例包括:对应所述应用模板的应用实例和对应所述数据模板的数据实例;
数据处理单元,用于根据所述获取单元获取的所述应用数据的模板和对所述应用数据的模板填充应用数据后的实例创建应用并恢复所述应用数据。
15.根据权利要求14所述的第二设备,其特征在于,所述数据模板包括:数据文件;所述第二设备还包括:
配置单元,用于配置所述数据文件的恢复路径,所述数据文件的恢复路径包括:所述数据文件在所述第一设备的IP地址与所述数据文件在所述第二设备的IP地址的映射关系、所述数据文件在所述第一设备的数据文件名称及目录列表、所述数据文件在所述第二设备的数据文件名称及目录列表;
所述数据处理单元,具体用于按照所述配置单元配置的所述数据文件的恢复路径根据所述数据文件和对所述数据文件填充应用数据后的实例创建应用并恢复所述应用数据。
16.根据权利要求14所述的第二设备,其特征在于,所述数据模板包括:数据库表;所述第二设备还包括:
配置单元,用于配置所述数据库表的恢复路径,所述数据库表的恢复路径包括:所述数据库表在所述第一设备的IP地址与所述数据库表在所述第二设备的IP地址的映射关系、至少一个数据库用户和用户口令、至少一个数据库表名列表;
所述数据处理单元,具体用于按照所述配置单元配置的所述数据库表的恢复路径根据所述数据库表和对所述数据库表填充应用数据后的实例创建应用并恢复所述应用数据。
17.根据权利要求14所述的第二设备,其特征在于,所述数据模板包括:数据文件和/或数据库表;所述第二设备还包括:
脚本获取单元用于获取应用数据的恢复脚本;
所述数据处理单元,具体用于根据所述脚本获取单元获取的所述恢复脚本对所述数据模板和数据实例创建应用并恢复所述应用数据。
18.根据权利要求14所述的第二设备,其特征在于,所述应用模板包括:资源模板和部署模板;所述第二设备还包括:
参数获取单元,用于获取所述应用模板和所述应用实例的导入参数;
所述数据处理单元,具体用于根据所述参数获取单元获取的所述应用模板和所述应用实例的导入参数对所述应用模板和应用实例创建应用并恢复所述应用数据。
19.一种通信系统,其特征在于,包括权利要求10-13任一项所述的第一设备,及权利要求14-18任一项所述的第二设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410822284.2A CN104598525B (zh) | 2014-12-25 | 2014-12-25 | 一种应用复制方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410822284.2A CN104598525B (zh) | 2014-12-25 | 2014-12-25 | 一种应用复制方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598525A true CN104598525A (zh) | 2015-05-06 |
CN104598525B CN104598525B (zh) | 2018-11-20 |
Family
ID=53124311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410822284.2A Active CN104598525B (zh) | 2014-12-25 | 2014-12-25 | 一种应用复制方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598525B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020821A (zh) * | 2016-05-18 | 2016-10-12 | 广东欧珀移动通信有限公司 | 数据处理方法、装置及终端设备 |
CN107124313A (zh) * | 2017-05-12 | 2017-09-01 | 山东浪潮商用系统有限公司 | 一种基于文件系统实现业务数据快速部署的方法 |
CN111459415A (zh) * | 2020-04-15 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 跨云数据迁移方法、装置、设备及存储介质 |
WO2021056949A1 (zh) * | 2019-09-24 | 2021-04-01 | 厦门网宿有限公司 | 一种边缘应用管理方法及系统 |
US11057471B2 (en) | 2019-09-24 | 2021-07-06 | Xiamen Wangsu Co., Ltd. | Edge application management method and system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281461A (zh) * | 2007-04-04 | 2008-10-08 | 国际商业机器公司 | 用于迁移应用所依赖的系统环境的方法和装置 |
US20130007216A1 (en) * | 2011-06-29 | 2013-01-03 | Microsoft Corporation | Virtual machine migration tool |
CN103109271A (zh) * | 2012-08-30 | 2013-05-15 | 华为技术有限公司 | 一种平台间迁移应用的实现方法及系统 |
-
2014
- 2014-12-25 CN CN201410822284.2A patent/CN104598525B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281461A (zh) * | 2007-04-04 | 2008-10-08 | 国际商业机器公司 | 用于迁移应用所依赖的系统环境的方法和装置 |
US20130007216A1 (en) * | 2011-06-29 | 2013-01-03 | Microsoft Corporation | Virtual machine migration tool |
CN103109271A (zh) * | 2012-08-30 | 2013-05-15 | 华为技术有限公司 | 一种平台间迁移应用的实现方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020821A (zh) * | 2016-05-18 | 2016-10-12 | 广东欧珀移动通信有限公司 | 数据处理方法、装置及终端设备 |
CN106020821B (zh) * | 2016-05-18 | 2020-01-10 | 成都欧珀通信科技有限公司 | 数据处理方法、装置及终端设备 |
CN107124313A (zh) * | 2017-05-12 | 2017-09-01 | 山东浪潮商用系统有限公司 | 一种基于文件系统实现业务数据快速部署的方法 |
WO2021056949A1 (zh) * | 2019-09-24 | 2021-04-01 | 厦门网宿有限公司 | 一种边缘应用管理方法及系统 |
US11057471B2 (en) | 2019-09-24 | 2021-07-06 | Xiamen Wangsu Co., Ltd. | Edge application management method and system |
CN111459415A (zh) * | 2020-04-15 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 跨云数据迁移方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104598525B (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11611487B2 (en) | Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure | |
US10778798B2 (en) | Remote service access in a container management system | |
CN106790660B (zh) | 一种实现分布式存储系统的部署方法及装置 | |
CN105554015B (zh) | 多租户容器云计算系统的管理网络及方法 | |
CN107947961B (zh) | 基于SDN的Kubernetes网络管理系统与方法 | |
JP5671022B2 (ja) | 少なくとも1つの仮想ネットワークをオンザフライかつオンデマンドでデプロイする方法及びシステム | |
US11671365B2 (en) | Associating route tables with ingress traffic to logically isolated networks | |
EP3121997B1 (en) | Service provisioning in a communication network | |
WO2023098645A1 (zh) | 容器网络配置方法、装置、计算节点、主节点及存储介质 | |
EP3984201A1 (en) | Systems and methods providing a multi-cloud microservices gateway using a sidecar proxy | |
WO2016155394A1 (zh) | 一种虚拟网络功能间链路建立方法及装置 | |
WO2017035735A1 (zh) | 一种网络服务的部署方法及装置 | |
CN107580083A (zh) | 一种容器ip地址分配的方法和系统 | |
WO2015172362A1 (zh) | 一种网络功能虚拟化网络系统、数据处理方法及装置 | |
CN104598525A (zh) | 一种应用复制方法、设备及系统 | |
Goyal | Enterprise usability of cloud computing environments: issues and challenges | |
US11095716B2 (en) | Data replication for a virtual networking system | |
CN107005471A (zh) | 通用客户驻地设备 | |
CN112202615B (zh) | 一种多cni协同工作系统与方法 | |
JP2023500669A (ja) | クロス・クラウド・オペレーションのためのクラウド・サービス | |
CN107005427A (zh) | 一种资源管理方法及装置 | |
CN103209127A (zh) | 基于Linux系统实现虚拟路由转发方法和装置 | |
KR101740234B1 (ko) | 가상화 환경에서 http/2 프록시 게이트웨이 서버 제공 방법 | |
Elek et al. | Network function chaining in DCs: the unified recurring control approach | |
Janovic | Integrating ACI with Virtualization and Container Platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |