一种数据库数据迁移方法、装置、终端及系统与流程

文档序号:11930741阅读:167来源:国知局
本发明涉及数据库领域,尤其涉及一种数据库数据迁移方法、装置、终端及系统。
背景技术
::目前,基于现有的云服务器即可实现在云端为用户保存数据,因此,越来越多的用户希望将用户端的数据上传至云服务器进行保存;尤其是数据量庞大,数据关系复杂的数据库数据,在云服务器保存可显著节省存储成本。然而,为保证云端数据的安全,云服务器与用户所在的网络不能够直接连通,需要进行网络复杂中转才能够实现用户端与云服务器的数据互通。伴随着云技术和互联网技术的发展,出现了越来越多不同的网络环境。网络环境的多样性和复杂度的提升导致了用户端与云服务器数据互通越来越困难,相应地,将用户端数据库迁移至云服务器也变得较为困难。技术实现要素:本发明提出了一种数据库数据迁移方法、装置、终端及系统。本发明具体是以如下技术方案实现的:一种数据库数据迁移方法,其特征在于,所述方法包括:获取迁移任务和待迁移数据,所述迁移任务包括源数据库信息和目标数据库信息;根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略;根据所述目标数据库信息和所述网络连通策略在所述源数据库与所述目标数据库之间建立通信链路;沿所述通信链路在所述源数据库与所述目标数据库之间进行通信,并将所述待迁移数据从所述源数据库迁移至所述目标数据库。相应的,一种数据库数据迁移装置,包括:一种数据库数据迁移装置,所述装置包括:信息获取模块,用于获取迁移任务和待迁移数据,所述迁移任务包括源数据库信息和目标数据库信息;网络类型得到模块,用于根据所述源数据库信息得到源数据库所处的网络类型;策略选择模块,用于根据所述网络类型得到网络连通策略;连通模块,用于根据所述目标数据库信息和所述网络连通策略在所述源数据库与所述目标数据库之间建立通信链路;数据迁移模块,用于沿所述通信链路在所述源数据库与所述目标数据库之间进行通信,并将所述待迁移数据从所述源数据库迁移至所述目标数据库。一种数据库数据迁移的终端,所述终端包括上述的一种数据库数据迁移装置。一种数据库数据迁移系统,所述系统包括第一终端、第二终端和数据迁移装置;所述第一终端为源数据库所在的终端;所述第二终端为目标数据库所在的终端;所述数据迁移装置上述的装置。本发明的一种数据库数据迁移方法、装置、终端及系统,具有如下有益效果:(1)对于各种复杂的网络环境提出了相应的进行网络连通的策略,从而可以为用户提供具有普适性的数据库数据迁移服务。(2)在适应各种复杂的网络环境的同时,能够将用户端的数据库数据快速准确的迁移到目标数据库,减少人工干预,提高迁移效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1是本发明实施例提供的数据库数据迁移方法的流程图;图2是本发明实施例提供的源数据库部署于云环境中私有网络时属性配置示意图;图3是本发明实施例提供的源数据库部署于云环境外的公共网络时属性配置示意图;图4是本发明实施例提供的云环境中的网络关系示意图;图5是本发明实施例提供的云环境外的网络关系示意图;图6是本发明实施例提供的第二网络连通策略实现方法流程图;图7是本发明实施例提供的代理服务器分布示意图;图8是本发明实施例提供的代理服务器集群分布示意图;图9是本发明实施例提供的私有网络环境下建立通信链路方法的流程图;图10是本发明实施例数据包封装方法流程图;图11是本发明实施例提供的NAT网关分布示意图;图12是本发明实施例提供源数据库处于与云环境中的私有网络互连的IDC网络环境下网络通信链路方法流程图;图13是本发明实施例提供的源数据库处于与云环境中的私有网络通过公网互连的IDC网络环境下的网络分布示意图;图14是本发明实施例提供的源数据库处于与云环境中的私有网络通过专线互连的IDC网络环境下的网络分布示意图;图15是本发明实施例提供的创建数据迁移任务方法流程图;图16是本发明实施例提供的可行性校验方法流程图;图17是本发明实施例提供的待迁移数据获取方法流程图;图18是本发明实施例提供的数据库数据迁移装置的框图;图19是本发明实施例提供的用于实施第二网络连通策略的相关模块框图;图20是本发明实施例提供的用于对路由管理表进行管理的相关模块的框图;图21是本发明实施例提供的用于实施第三网络连通策略的相关模块框图;图22是本发明实施例提供的用于对变更后的数据包进行二次转发的相关模块的框图;图23是本发明实施例提供的系统的框图;图24是本发明实施例提供的终端的结构框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了一种数据库数据迁移方法,如图1所示,所述方法包括:S101.获取迁移任务和待迁移数据。本发明实施例中所述迁移任务可以创建于源数据终端,所述源数据终端可以为所述源数据库所在的终端,所述任务包括任务标识、源数据库信息和目标数据库信息,所述目标数据库信息包括目标数据库标识。本发明实施例中的目标数据库与源数据库可以为同一种数据库,也可以为不同的数据库,所述目标数据库与所述源数据库的种类均包括但不限于关系型数据库。本发明实施例中所述目标数据库可以部署于云环境即为云数据库(CloudDataBase,CDB),具体地,可以部署于位于云环境的服务器、终端或虚拟机上。本发明实施例中源数据库与位于云环境的目标数据库不能直接连通。具体地,在本发明实施例中,所述源数据库信息包括源数据库类型以及与所述源数据库类型相应的属性参数,根据所述源数据库类型可以得到源数据库所处的网络类型。不同的源数据库类型需要获取不同的属性参数。若源数据库为部署于云环境私有网络(VirtualPrivateCloud,VPC)的云服务器(CloudVirtualMachine,CVM)的数据库,则如图2所示,所述属性参数包括源数据库的标识、源数据库IP地址、端口号和授权信息。部署于云环境的实体设备或虚拟设备的源数据库有其唯一标识。进一步地,图2中还需要提供账号和密码作为授权信息,只有获取合法的账号和密码,目标数据库才能够访问源数据库,从而将源数据库中的数据迁移至目标数据库。所述云环境私有网络VPC为在云环境中的独立的网络空间,所述私有网络中,用户可以自定义网段划分、IP地址以及自定义路由策略。进一步地,用户也可以通过公网或专线建立将所述私有网络与云环境中的其它资源连通,构建混合云;所述云服务器CVM是高性能高稳定的云虚拟机,可用于在云中提供大小可调的计算容量,降低用户对计算规模预估的难度,还可以并根据实际需要使用镜像进行快速的扩容。若源数据库为部署于处于云环境外的公共网络的终端的数据库,则如图3所示,所述属性参数包括源数据库IP地址和端口号,本发明实施例还提供了账号和密码作为授权信息。所述公共网络可以为处于互联网数据中心IDC(InternetDataCenter)的网络,所述互联网数据中心IDC为电信部门利用已有的互联网通信线路、带宽资源,建立标准化的电信专业级机房环境,为企业、政府提供服务器托管、租用以及相关增值等方面的全方位服务。S102.根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略。本发明实施例中,所述源数据库可以处于多种网络类型,所述网络类型包括但不限于云环境中的基础网络、云环境中的私有网络、与云环境中的私有网络互连的IDC网络以及云环境外的公共网络,所述IDC网络为云环境外的处于互联网数据中心IDC的网络。具体地,所述云环境中的基础网络和云环境中的私有网络均处于云环境,所述云环境为能够为企业和个人的提供计算与存储能力的公有云平台。如图4所示,所述云环境中的基础网络即为所述公有云平台中的公有网络,所述云环境中的私有网络为在所述公有云平台中独立的网络空间,其网段划分、IP地址、和路由策略均可由用户自行定制。处于云环境中的基础网络和云环境中的私有网络的源数据库均不能与目标数据库CDB直接连通。如图5所示,所述与云环境中的私有网络互连的IDC网络以及云环境外的公共网络均为云环境外的网络。其中所述云环境外的公共网络即是因特网上的非保留地址构建的网络空间;IDC为互联网数据中心,旨在互联网内容提供商(ICP)、企业、媒体和各类网站提供大规模、高质量、安全可靠的专业化服务器托管、空间租用、网络批发带宽以及ASP、EC等业务,通过公网方式或专线方式IDC网络可以与云环境中的私有网络进行互通。处于与云环境中的私有网络互连的IDC网络以及云环境外的公共网络的源数据库均不能与目标数据库CDB直接连通。S103.根据所述目标数据库信息和所述网络连通策略在所述源数据库与所述目标数据库之间建立通信链路。S104.沿所述通信链路在所述源数据库与所述目标数据库之间进行通信,并将所述待迁移数据从所述源数据库迁移至所述目标数据库。具体地,可以通过两种方式进行数据迁移:(1)通过在源数据库和目标数据库之间传输数据包的形式完成数据迁移;(2)通过在源数据库和目标数据库之间传输数据包的形式进行源数据库与目标数据库的通信,并依托与目标服务器处于同一网络环境的中转服务器获取源数据库中的待迁移数据,并将所述待迁移数据灌入所述目标数据库。本发明实施例中,所述中转服务器与目标数据库可以直接进行通信,所述中转服务器与所述源数据库之间的通信链路的建立方式与所述源数据库与所述目标数据库之间的通信链路的建立方式相同。中转服务器相对于目标数据库具有更大的存储容量和更优质的性能,因此,能够提升获取源数据库中待迁移数据的速度,在获得待迁移数据后再将所述带迁移数据输入目标数据库的过程在云环境完成,从而节省用户在数据迁移过程中的等待时间。进一步地,若目标数据库的容量与源数据库的容量相差不大时,第一种数据迁移方式有可能失败,这种情况下使用第二种方式进行数据迁移更为合理。本发明实施例提供的数据库数据迁移方法,覆盖到用户各种数据库环境,支持的网络类型覆盖了基础网络、VPC网络、IDC环境和公网,显著降低了用户进行数据迁移的难度。在本发明的一个实施例中,根据网络类型得到网络连通策略的方法包括:若所述网络类型为云环境中的基础网络,则得到第一网络连通策略;在所述第一网络连通策略中,通过配置防火墙在所述源数据库与所述目标数据库之间建立通信链路。若所述网络类型为云环境中的基础网络,则源数据库也处于云环境,具体地,所述源数据库可以部署于云环境的网络服务器或者部署于云环境中的某个虚拟机;源数据库与目标数据库的通信被设置于源数据库一侧的防火墙阻断,不能直接进行数据互通,因此,通过修改源数据库一侧防火墙的配置,能够快速地实现源数据库与目标数据库之间的网络互通。若所述网络类型为云环境外的公共网络,则得到第二网络连通策略;在所述第二网络连通策略中,通过基于路由管理的访问代理在所述源数据库与所述目标数据库之间建立通信链路。若所述网络类型为云环境中的私有网络或与云环境中的私有网络互连的IDC网络,则得到第三网络连通策略;在所述第三网络连通策略中,通过基于双向网络地址转换的访问代理在所述源数据库与所述目标数据库之间建立通信链路。第三网络连通策略相对于第二网络连通策略适应性更强,因此,适用于拓扑环境较为复杂的云环境中的私有网络或与云环境中的私有网络互连的IDC网络。本发明实施例通过对网络类型分类,并综合考虑不同网络类型的网络拓扑特点,采用适宜的网络连通策略,以达到较好的连通效果。在本发明的一个实施例中,若所述网络类型为云环境外的公共网络,则按照所述第二网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,如图6所示,包括:S110.获取数据包;所述数据包来自于源数据库或目标数据库。S120.根据所述数据包查询路由管理表中的路由记录。S130.若所述路由记录存在,则根据所述路由记录对所述数据包的源地址和目的地址进行变更。具体地,所述路由记录作为目的地址转换(DestinationNetworkAddressTranslation,DNAT)的依据,记录了转换前的第一网络地址和转换后的第二网络地址的一一对应关系。在查询过程中,若存在路由记录,所述路由记录中的第一网络地址与所述数据包的目的地址一致,则在目的地址转换(DNAT)过程中,按照所述路由记录,将所述目的地址转换为与所述第一网络地址一致的第二网络地址。本发明实施例中,根据预设的源地址获取算法,在源地址转换(SNAT)中,得到替代源地址,并将所述数据包中的源地址转换为所述替代源地址。本发明实施例进行目的地址转换(DNAT)的目的为将处于第一网络空间的网络地址映射到第二网络空间,从而对数据包进行转发,以解决源数据库与目标数据库之间不能进行数据互通的问题。进行源地址转换(SourceNetworkAddressTranslation,SNAT)的原因在于,在数据被发送至第二网络空间后,原数据包的源地址为第一网络空间的合法地址,但是在第二网络空间所述数据包的源地址可能成为非法地址,因此需要进行源地址转换(SNAT)。具体地,所述替代源地址的生成算法可以有多种,本实施例中,通过在第二网络空间随机得到空闲的网络地址,并将所述网络地址作为替代源地址应用于源地址转换(SNAT)。S140.转发变更后的数据包。具体地,以转发来自目标数据库的数据包为例,所述目标数据库的网络地址为10.238.158.161;所述数据包最终将被发送至源数据库,所述源数据所在的网络地址为119.1.3.6。首先获取数据包,所述数据包的源地址即为10.238.158.161,目的地址为10.0.0.3。当获取所述数据包后,查询路由记录,若查询到的路由管理表中存在第一网络地址为10.0.0.3的路由记录,所述路由记录中对应的第二网络地址为即119.1.3.6,则进行目的地址转换(DNAT)将数据包中的目的地址变更为119.1.3.6。根据预设的源地址生成算法算法得到替代源地址119.1.2.2,进行源地址转换(SNAT)将数据包中的源地址变更为119.1.2.2。转发源地址为119.1.2.2,目的地址为119.1.3.6的数据包。进一步地,在根据所述数据包查询路由管理表中的路由记录之前,还包括:获取来自策略服务平台的路由添加请求,所述路由添加请求由所述策略服务平台根据所述迁移任务生成;根据所述路由添加请求向所述路由管理表添加路由记录。具体地,迁移任务生成之后可以被发送至策略服务平台,所述任务包括任务标识、源数据库信息和目标数据库标识。所述策略服务平台OSS(TheOfficeofStrategicServices)用于根据获取的迁移任务对代理服务器(ProxyServer)的路由规则进行管理,代理服务器通过路由管理表管理所述代理服务器中的全量路由记录,通过路由的方式在所述源数据库与所述目标数据库之间建立通信链路。具体地,所述策略服务平台OSS可以以基于超文本传输协议(HyperTextTransferProtocol,HTTP)向代理服务器(ProxyServer)发送路由添加请求、路由删除请求和/或路由查询请求的方式对代理服务器(ProxyServer)进行路由管理,通过代理服务器对数据包进行转发。进一步地,在策略服务平台OSS中还可以设置策略服务数据库,所述策略服务数据库可以被用于记录所述策略服务平台发送至代理服务器(ProxyServer)的路由添加请求、路由删除请求和/或路由查询请求,还可以被用于记录获取的迁移任务。具体地,本发明实施例中,所述代理服务器具有同时访问源网络地址与目标网络地址的权限。在所述代理服务器中运行有HTTP服务,所述HTTP为超文本传输协议,并通过HTTP服务与所述策略服务平台OSS进行通讯,以获取来自于所述策略服务平台OSS的路由添加请求、路由删除请求和/或路由查询请求。根据请求的具体内容对路由管理表进行管理,并进行相应地iptables操作。iptables是与最新的3.5版本Linux内核集成的IP信息包过滤系统。如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好地控制IP信息包过滤和防火墙配置。为提供稳定的代理服务,本发明实施例如图7所示,使用主备模式的代理服务器,即通过主代理服务器提供代理服务,并在主代理服务器出现故障时,启用备用代理服务器。进一步地,如图8所示,在另一个实施例中,还可以使用主备集群模式的代理服务器,即通过主代理服务器集群提供代理服务,并在主代理服务器集群出现故障时,启用备用代理服务器集群继续提供代理服务。本发明实施例中通过采用路由的方式实现第二网络连通策略,通过设置主备模式的访问代理器提升第二网络连通策略的稳定性,实现源数据库与目标数据库之间稳定的数据通信。在本发明的一个实施例中,若所述网络类型为云环境中的私有网络,则按照所述第三网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,如图9所示,包括:S210.获取数据包;所述数据包来自于处于云环境的目标数据库或处于云环境中的私有网络的源数据库。S220.解析所述数据包得到源地址和目的地址。S230.获取第一目的地址,通过目的地址转换将所述数据包中的目的地址变更为所述第一目的地址。本发明实施例进行目的地址转换(DNAT)的目的为将处于第一网络空间的目的地址映射到第二网络空间中的第一目的地址。S240.获取第一源地址,通过源地址转换将所述数据包中的源地址变更为所述第一源地址。进行源地址转换(SNAT)的原因在于,在数据被发送至第二网络空间后,原数据包的源地址为第一网络空间的合法地址,但是在第二网络空间所述数据包的源地址可能成为非法地址,因此需要进行源地址转换(SNAT)。具体地,替代源地址的生成算法可以有多种,本实施例中,通过在第二网络空间随机得到空闲的网络地址,并将所述网络地址作为第一源地址应用于源地址转换(SNAT)。S250.转发所述变更后数据包。具体地,本发明实施例中基于双向网络地址转换的NAT网关(NetworkAddressTranslation,网络地址转换)对得到的数据包进行变更,并转发变更后的所述数据包。具体地,以NAT网关转发来自目标数据库的数据包为例,所述目标数据库的网络地址为10.238.158.161;所述数据包最终将被发送至源数据库,所述源数据所在的网络地址为10.192.133.2。首先在S210过程中获取数据包。在S220过程中,解析所述数据包。所述数据包的源地址即为10.238.158.161,目的地址为10.238.158.163。其中,10.238.158.163为NAT网关的IP地址,NAT网关中的端口与数据包的目的地址具有对应关系,本发明实施例中NAT网关中50001号端口用于接收发送至10.192.133.2的数据包。即本发明实施例中,在NAT网关中,由某个端口接收到的数据包将被发送至与所述端口对应的目的地址。在另一个实施例中,端口号与数据包的目的地址的对应关系可以根据数据迁移的需要进行动态设置。为便于进行S230和S240过程的地址转换,可以先将IP地址为10.238.158.163的NAT网关50001号端口接收到的数据包进行标记。在S230过程中,对于进行标记数据包进行目的地址转换,根据NAT网关中端口号与数据包的目的地址的对应关系,得到第一目的地址为10.192.133.2,将数据包的目的地址变更为10.192.133.2。在S240过程中,根据预设的源地址获取算法得到可用第一源地址。具体地,本发明实施例中,可以通过获取与第一目的地址处于同一个网络空间的空闲IP地址10.192.133.10,并将所述空闲IP地址10.192.133.10作为第一源地址,将数据包的源地址变更为10.192.133.10。在S250过程中,将变更后的数据包进行转发,转发至10.192.133.2,10.192.133.2即为源数据库所在的IP地址。进一步地,由于源数据库部署于云环境中的私有网络,为提升安全性,防止来自其它网络地址的恶意攻击,可以在NAT网关转发数据包之前对于数据包使用通用路由封装协议进行封装。通用路由封装协议(GenericRoutingEncapsulation,GRE)可以用于对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在IPv4网络中传输。因此,在S240之后,S250执行之前,如图10所示,还包括下述步骤:S241.创建GRE接口。若目标数据库部署于处于云环境中的私有网络中的实体设备,则不同的实体设备需要对应不同的GRE接口,若目标数据库部署于云环境中的私有网络中的虚拟机,则只有当虚报设备的母机不同,才需要创建不同的GRE接口;所述母机为运行所述虚拟机的实体设备。若目标数据库部署于云环境中的私有网络中的虚拟机,则由母机获取数据包,并将数据包发送至部署有所述目标数据库的所述虚拟机。S242.将变更后的数据包路由至所述GRE接口。GRE接口的网络地址可以按照预设的分配策略进行分配,也可以动态设置。S243.由所述GRE接口为所述变更后的数据包添加GRE数据头,并转发添加了GRE数据头的所述数据包。进一步地,为提升源数据库与目标数据库的通信效率,提升数据包的传输速度,在经过NAT网关之后,本发明实施例还提供使用管道进行数据包的发送的方法,即在NAT网关与变更后的数据包的目的地址之间创建管道,通过管道进行数据包的传输,在数据包成功发送后,若需要回传成功发送的响应,也使用管道回传所述响应。为提供稳定的代理服务,本发明实施例如图11所示,使用主备模式的NAT网关,所述NAT网关可以以单个服务器形式,也可以以集群的形式提供服务,VPC(VirtualPrivateCloud)即为云环境私有网络,源数据所处的网络环境。本发明实施例中通过基于NAT网关实现第三网络连通策略,通过设置主备模式的NAT网关提升第三网络连通策略的稳定性,进一步地,还通过使用GRE封装的方式提升了数据通信的安全性,并使用管道加快数据传输速度。在本发明的一个实施例中,若所述网络类型为与云环境中的私有网络互连的IDC网络,则按照所述第三网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,如图12所示,包括:S310.获取数据包。S320.解析所述数据包得到源地址和目的地址。S330.获取第一目的地址,通过目的地址转换将所述数据包中的目的地址变更为所述第一目的地址。S340.获取第一源地址,通过源地址转换将所述数据包中的源地址变更为所述第一源地址。S350.转发所述变更后数据包。源数据库处于与云环境中的私有网络互连的IDC网络,因此,源数据库与目标数据库的通信需要经由云环境中的私有网络才能够实现。S310-S350与S210-S250中的步骤一致,基于NAT网关将变更后的数据包转发至处于私有网络的第一目的地址,转发具体过程不再赘述。S360.获取第二目的地址。S370.根据所述第二目的地址对所述变更后的数据包进行二次转发。为将处于私有网络的变更后的数据包发送至处于IDC网络的云数据库,还需要通过网关对变更后的数据包进行二次转发。S360-S370可以通过配置网关实现,这种情况下,所述第一目的地址可以为所述网关的地址。具体地,若源数据库所处的网络类型为通过公网与云环境中的私有网络互连的IDC网络,则通过基于虚拟专用网络的VPN(VirtualPrivateNetwork)网关得到第二目的地址并根据所述第二目的地址对所述变更后的数据包进行二次转发,如图13所示,使用主备模式的NAT网关,所述NAT网关可以以单个服务器的形式,也可以以集群的形式提供服务,IDC为源数据库所述的网络环境,源数据库与CDB需通过公网使用VPN网关经由VPC(VirtualPrivateCloud)进行通讯,VPC即为云环境私有网络。若源数据库所处的网络类型为通过专线与云环境中的私有网络互连的IDC网络,则通过专线网关得到第二目的地址并根据所述第二目的地址对所述变更后的数据包进行二次转发。如图14所示,使用主备模式的NAT网关,所述NAT网关可以以单个服务器的形式,也可以以集群的形式提供服务,IDC为源数据库所述的网络环境,源数据库与CDB需通过专线使用专线网关经由VPC(VirtualPrivateCloud)进行通讯,VPC即为云环境私有网络。在所述专线网关中,通过在私有网络与源数据库之间建立保密性高的专线将数据包转发至第二目的地址,相较于VPN网关,保密性更好。本发明实施例中通过基于NAT网关和其它网关配合实现第三网络连通策略,适用于更为复杂的网络拓扑结构。在本发明的一个实施例中,在进行数据迁移之前,为获取迁移任务和待迁移数据,可以由源数据库所在的终端创建迁移任务,并对所述迁移任务进行可行性校验;若校验通过,则获取待迁移数据并准备迁移环境;否则,不进行数据迁移。具体地,如图15所示,所述创建数据迁移任务包括:S410.获得目标数据库标识。S420.获得源数据库类型。S430.根据所述源数据库类型获取与所述源数据库类型相应的属性参数。S440.获得所述属性参数对应的值并对所述配置项的值进行合法性检查。S450.若检查通过,则根据所述标识号和所述属性参数的值创建数据迁移任务。具体地,如图16所示,所述源数据终端进行可行性校验包括:S510.根据所述目标数据库信息判断所述目标数据库是否可用。具体地,所述目标数据库标识应满足非空要求,即目标数据库标识对应的目标数据库的实例应为非空实例,并且所述目标数据库需满足数据迁移的空置要求,即目标数据库为空数据库,没有已经存入的数据库数据,所述数据库数据包括已经创建的库或者表结构,以及存储所述结构的相关数据。满足空置要求和非空要求的目标数据库为可用的目标数据库。在另一个实施例中,还可以要求所述目标数据库保证容量要求,即要求目标数据库的容量大于源数据库。若达不到容量要求,视为目标数据库不可用。S520.若否,则校验不通过。S530.否则,获取源数据库的当前状态。S540.根据所述状态判断所述源数据库是否允许进行数据迁移。S550.若否,则校验不通过。S560.否则,校验通过。具体地,如图17所示,所述获取待迁移数据包括:S610.获取迁移类型,所述迁移类型包括结构迁移和/或内容迁移。结构迁移为迁移数据库中的结构,比如迁移数据库表的结构而并不迁移其中的具体数据。内容迁移为将结构以及内容一起迁移,对于数据库表,不只迁移其结构,也迁移其中的具体数据。进一步地,在另一个实施例中,所述迁移类型还包括增量迁移,若为增量迁移,则在源数据库中配置所述源数据库与所述目标数据库的主从关系,使目标数据库中的数据能够与源数据库中的数据同步变化,直至用户主动断开所述主从关系。增量迁移与所述结构迁移或内容迁移可以进行组合。S620.获取迁移对象,所述迁移对象包括数据表和/或数据库,根据用户进行的相关设置得到。S630.根据所述迁移类型和所述迁移对象得到待迁移数据。进一步地,在另一个实施例中,为保证源数据库中的数据在迁移过程中不被破坏,在获取待迁移数据后,对所述待迁移数据进行备份,并将所述备份作为待迁移数据被迁移至目标数据库。本发明实施例中通过获取信息完备的迁移任务保证了数据迁移的成功率,进一步地,通过提供结构迁移、内容迁移和增量迁移等多种迁移方式,满足了用户的多种数据迁移需求,提升了用户体验。本发明实施例提供一种数据库数据迁移装置,如图18所述,所述装置包括:信息获取模块201,用于获取迁移任务和待迁移数据,所述迁移任务包括源数据库信息和目标数据库信息;网络类型得到模块202,用于根据所述源数据库信息得到源数据库所处的网络类型;策略选择模块203,用于根据所述网络类型得到网络连通策略;连通模块204,用于根据所述目标数据库信息和所述网络连通策略在所述源数据库与所述目标数据库之间建立通信链路;数据迁移模块205,用于沿所述通信链路在所述源数据库与所述目标数据库之间进行通信,并将所述待迁移数据从所述源数据库迁移至所述目标数据库。基于信息获取模块201得到的源数据库信息,网络类型得到模块202得到所述源数据库所处的网络类型,并由策略选择模块203得到对应的网络连通策略,连通模块204根据连通策略实现源数据库与目标数据库之间的网络连通,在网络连通的基础上,由数据迁移模块205进行数据迁移。本发明实施例根据不同的网络类型使用不同的网络连通策略。为实施第一网络连通策略,使用防火墙配置模块206,所述防火墙配置模块206通过修改防火墙的配置连通源数据库与目标数据库。为实施第二网络连通策略,所述装置如图19所示,还包括:数据包第一获取模块207,用于获取数据包;所述数据包来自于源数据库或目标数据库;路由记录查询模块208,用于根据所述数据包查询路由管理表中的路由记录;变更模块209,用于根据所述路由记录对所述数据包的源地址和目的地址进行变更;第一转发模块210,用于转发变更后的数据包。在数据包第一获取模块207获取数据包的基础上,由路由记录查询模块208查询对应的路由记录,并根据所述路由记录由变更模块209对于数据包的源地址和目的地址进行变更,并将变更后的数据包由第一转发模块210转发出去。进一步地,为对路由管理表进行管理,所述装置如图20所示,还包括:添加请求获取模块211,用于获取来自策略服务平台的路由添加请求;添加模块212,用于根据所述路由添加请求向所述路由管理表添加路由记录。删除请求获取模块213,用于获取来自策略服务平台的路由删除请求;查询请求获取模块214,用于获取来自策略服务平台的路由查询请求。为实施第三网络连通策略,如图21所示,所述装置还包括:数据包第二获取模块216,用于获取数据包;解析模块217,用于解析所述数据包得到源地址和目的地址;第一转换模块218,用于获取第一目的地址,通过目的地址转换将所述数据包中的目的地址变更为所述第一目的地址;第二转换模块219,用于获取第一源地址,通过源地址转换将所述数据包中的源地址变更为所述第一源地址;第二转发模块220,用于转发所述变更后数据包。在数据包第二获取模块216获取数据包的基础上,由解析模块217得到数据包的源地址和目的地址。通过第一转换模块217和第二转换模块218对数据包的目标地址和源地址进行变更,并由第二转发模块220将变更后的数据包转发出去。进一步地,所述装置如图22所示,还包括:第二目的地址获取模块221,用于获取第二目的地址;第三转发模块222,用于根据所述第二目的地址对所述变更后的数据包进行二次转发。本实施例基于同样地发明构思,提供了一种数据库数据迁移装置,本实施例能够用于实现上述实施例中提供的数据库数据迁移方法。本发明实施例还提供一种数据迁移系统,如图23所示,所述系统包括:第一终端301、第二终端302和数据迁移装置303;所述第一终端301为源数据库所在源数据终端;所述第二终端302为目标数据库所在的终端;所述数据迁移装置303可以为上述实施例中提供的装置。本实施例基于同样地发明构思,提供了一种数据库数据迁移系统,本实施例能够用于实现上述实施例中提供的数据库数据迁移方法。本发明实施例提供的数据库数据迁移方法,覆盖到用户各种数据库环境,支持的网络类型覆盖了基础网络、VPC网络、IDC环境和公网,显著降低了用户进行数据迁移的难度。本发明实施例还提供了一种终端,如图24所示,该终端可以用于实施上述实施例中提供的数据库数据迁移方法。具体来讲:所述终端可以包括RF(RadioFrequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图24中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(LowNoiseAmplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystemofMobilecommunication,全球移动通讯系统)、GPRS(GeneralPacketRadioService,通用分组无线服务)、CDMA(CodeDivisionMultipleAccess,码分多址)、WCDMA(WidebandCodeDivisionMultipleAccess,宽带码分多址)、LTE(LongTermEvolution,长期演进)、电子邮件、SMS(ShortMessagingService,短消息服务)等。存储器120可用于存储软件程序、数据以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述终端的使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元140可用于显示由用户输入的信息或提供给用户的信息以及所述终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图14中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。所述终端还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在所述终端移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于所述终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。音频电路160、扬声器161,传声器162可提供用户与所述终端之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与所述终端的通信。WiFi属于短距离无线传输技术,所述终端通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图24示出了WiFi模块170,但是可以理解的是,其并不属于所述终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。处理器180是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行所述终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器以及其它路由装置,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。所述终端还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。尽管未示出,所述终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:获取迁移任务和待迁移数据,所述迁移任务包括源数据库信息和目标数据库信息;根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略;按照所述网络连通策略在所述源数据库与所述目标数据库之间建立通信链路;沿所述通信链路在所述源数据库与所述目标数据库之间进行通信,并将所述待迁移数据从所述源数据库迁移至所述目标数据库。进一步地,还包含用于进行以下操作的指令:所述根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略包括:若所述网络类型为云环境中的基础网络,则得到第一网络连通策略;在所述第一网络连通策略中,通过配置防火墙在所述源数据库与所述目标数据库之间建立通信链路。进一步地,还包含用于进行以下操作的指令:所述根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略包括:若所述网络类型为云环境外的公共网络,则得到第二网络连通策略;在所述第二网络连通策略中,通过基于路由管理的访问代理在所述源数据库与所述目标数据库之间建立通信链路。进一步地,还包含用于进行以下操作的指令:若所述网络类型为云环境外的公共网络,则按照所述第二网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,包括:获取数据包;所述数据包来自于源数据库或目标数据库;根据所述数据包查询路由管理表中的路由记录;若所述路由记录存在,则根据所述路由记录对所述数据包的源地址和目的地址进行变更;转发变更后的数据包。进一步地,还包含用于进行以下操作的指令:在所述根据所述数据包查询路由管理表中的路由记录之前,还包括:获取来自策略服务平台的路由添加请求,所述路由添加请求由所述策略服务平台根据所述迁移任务生成;根据所述路由添加请求向所述路由管理表添加路由记录。进一步地,还包含用于进行以下操作的指令:通过代理服务器在所述源数据库与所述目标数据库之间建立通信链路,所述代理服务器具有同时访问源网络地址与目标网络地址的权限。进一步地,还包含用于进行以下操作的指令:所述代理服务器基于超文本传输协议获取来自于所述策略服务平台的路由添加请求、路由删除请求和/或路由查询请求。进一步地,还包含用于进行以下操作的指令:所述代理服务器包括主代理服务器和备用代理服务器。进一步地,还包含用于进行以下操作的指令:所述根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略包括:若所述网络类型为云环境中的私有网络或与云环境中的私有网络互连的IDC网络,则得到第三网络连通策略;在所述第三网络连通策略中,通过基于双向网络地址转换的访问代理在所述源数据库与所述目标数据库之间建立通信链路。进一步地,还包含用于进行以下操作的指令:若所述网络类型为云环境中的私有网络,则按照所述第三网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,包括:获取数据包;解析所述数据包得到源地址和目的地址;获取第一目的地址,通过目的地址转换将所述数据包中的目的地址变更为所述第一目的地址;获取第一源地址,通过源地址转换将所述数据包中的源地址变更为所述第一源地址;转发所述变更后数据包。进一步地,还包含用于进行以下操作的指令:若所述网络类型为与云环境中的私有网络互连的IDC网络,则按照所述第三网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,包括:获取数据包;解析所述数据包得到源地址和目的地址;获取第一目的地址,通过目的地址转换将所述数据包中的目的地址变更为所述第一目的地址;获取第一源地址,通过源地址转换将所述数据包中的源地址变更为所述第一源地址;转发所述变更后数据包;获取第二目的地址;根据所述第二目的地址对所述变更后的数据包进行二次转发。进一步地,还包含用于进行以下操作的指令:若源数据库所处的网络类型为通过公网与云环境中的私有网络互连的IDC网络,则通过基于虚拟专用网络的网关得到第二目的地址并根据所述第二目的地址对所述变更后的数据包进行二次转发。进一步地,还包含用于进行以下操作的指令:若源数据库所处的网络类型为通过专线与云环境中的私有网络互连的IDC网络,则通过专线网关得到第二目的地址并将根据所述第二目的地址对所述变更后的数据包进行二次转发。进一步地,还包含用于进行以下操作的指令:基于双向网络地址转换网关对得到的数据包进行变更,并将变更后的所述数据包转发至所述第一目的地址,所述双向网络地址转换网关包括主网关和备用网关。综上,本发明实施例提供的终端能够用于实现一种数据库数据迁移方法。本发明实施例提供的数据库数据迁移方法,覆盖到用户各种数据库环境,支持的网络类型覆盖了基础网络、VPC网络、IDC环境和公网,显著降低了用户进行数据迁移的难度。本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,一个或者一个以上程序被一个或者一个以上的处理器用来执行防止信息泄露的方法,所述方法包括:获取迁移任务和待迁移数据,所述迁移任务包括源数据库信息和目标数据库信息;根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略;按照所述网络连通策略在所述源数据库与所述目标数据库之间建立通信链路;沿所述通信链路在所述源数据库与所述目标数据库之间进行通信,并将所述待迁移数据从所述源数据库迁移至所述目标数据库。进一步地,所述方法还包括:所述根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略包括:若所述网络类型为云环境中的基础网络,则得到第一网络连通策略;在所述第一网络连通策略中,通过配置防火墙在所述源数据库与所述目标数据库之间建立通信链路。进一步地,所述方法还包括:所述根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略包括:若所述网络类型为云环境外的公共网络,则得到第二网络连通策略;在所述第二网络连通策略中,通过基于路由管理的访问代理在所述源数据库与所述目标数据库之间建立通信链路。进一步地,所述方法还包括:若所述网络类型为云环境外的公共网络,则按照所述第二网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,包括:获取数据包;所述数据包来自于源数据库或目标数据库;根据所述数据包查询路由管理表中的路由记录;若所述路由记录存在,则根据所述路由记录对所述数据包的源地址和目的地址进行变更;转发变更后的数据包。进一步地,所述方法还包括:在所述根据所述数据包查询路由管理表中的路由记录之前,还包括:获取来自策略服务平台的路由添加请求,所述路由添加请求由所述策略服务平台根据所述迁移任务生成;根据所述路由添加请求向所述路由管理表添加路由记录。进一步地,所述方法还包括:通过代理服务器在所述源数据库与所述目标数据库之间建立通信链路,所述代理服务器具有同时访问源网络地址与目标网络地址的权限。进一步地,所述方法还包括:所述代理服务器基于超文本传输协议获取来自于所述策略服务平台的路由添加请求、路由删除请求和/或路由查询请求。进一步地,所述方法还包括:所述代理服务器包括主代理服务器和备用代理服务器。进一步地,所述方法还包括:所述根据所述源数据库信息得到源数据库所处的网络类型,并根据所述网络类型得到网络连通策略包括:若所述网络类型为云环境中的私有网络或与云环境中的私有网络互连的IDC网络,则得到第三网络连通策略;在所述第三网络连通策略中,通过基于双向网络地址转换的访问代理在所述源数据库与所述目标数据库之间建立通信链路。进一步地,所述方法还包括:若所述网络类型为云环境中的私有网络,则按照所述第三网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,包括:获取数据包;解析所述数据包得到源地址和目的地址;获取第一目的地址,通过目的地址转换将所述数据包中的目的地址变更为所述第一目的地址;获取第一源地址,通过源地址转换将所述数据包中的源地址变更为所述第一源地址;转发所述变更后数据包。进一步地,所述方法还包括:若所述网络类型为与云环境中的私有网络互连的IDC网络,则按照所述第三网络连通策略在所述源数据库与所述目标数据库之间建立通信链路,包括:获取数据包;解析所述数据包得到源地址和目的地址;获取第一目的地址,通过目的地址转换将所述数据包中的目的地址变更为所述第一目的地址;获取第一源地址,通过源地址转换将所述数据包中的源地址变更为所述第一源地址;转发所述变更后数据包;获取第二目的地址;根据所述第二目的地址对所述变更后的数据包进行二次转发。进一步地,所述方法还包括:若源数据库所处的网络类型为通过公网与云环境中的私有网络互连的IDC网络,则通过基于虚拟专用网络的网关得到第二目的地址并根据所述第二目的地址对所述变更后的数据包进行二次转发。进一步地,所述方法还包括:若源数据库所处的网络类型为通过专线与云环境中的私有网络互连的IDC网络,则通过专线网关得到第二目的地址并根据所述第二目的地址对所述变更后的数据包进行二次转发。进一步地,所述方法还包括:基于双向网络地址转换网关对得到的数据包进行变更,并将变更后的所述数据包转发至所述第一目的地址,所述双向网络地址转换网关包括主网关和备用网关。综上所述,本发明实施例提供的计算机可读存储介质,能够用于实现数据库数据迁移方法。本发明实施例提供的数据库数据迁移方法,覆盖到用户各种数据库环境,支持的网络类型覆盖了基础网络、VPC网络、IDC环境和公网,显著降低了用户进行数据迁移的难度。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的终端,可通过其它的方式实现。其中,以上所描述的系统实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1