数据库数据拷贝方法和装置制造方法

文档序号:6631269阅读:257来源:国知局
数据库数据拷贝方法和装置制造方法
【专利摘要】本发明公开了一种数据库数据拷贝方法和装置。其中,该方法包括:根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立源数据库与目标数据库的连接;根据第一配置参数中的源数据库的第一数据库类型和第二配置参数中的目标数据库的第二数据库类型,获取第一数据库类型与第一数据库类型间的数据库差异对照表;根据源数据库的源数据表与目标数据库的目标数据表,生成包含源数据库与目标数据库间数据表对应关系的数据库关系对照表;根据数据库差异对照表和数据库关系对照表,复制源数据库中的数据内容至目标数据库的相应位置。本发明解决了现有技术中源数据库与目标数据库表间对应关系无法自动匹配的技术问题。
【专利说明】数据库数据拷贝方法和装置

【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种数据库数据拷贝方法和装置。

【背景技术】
[0002]随着计算机网络技术的不断发展,使用计算机数据库的应用越来越广泛,并且容量也随着时间的推移而成倍的增长,例如:社交网络、手机程序、即时聊天软件等。
[0003]目前市场关系型数据库众多,通常会将数据库中的数据内容在常用的关系型数据库间进行数据迁移。但是因为每种关系型数据库的数据类型都有所不同,在进行数据迁移的过程中,对两个数据库表间的对应关系需要手工指定,无法实现自动匹配。并且,数据库拷贝软件通常无法对两种不同数据类型的数据直接进行转换。
[0004]针对现有技术中源数据库与目标数据库表间对应关系无法自动匹配的问题,目前尚未提出有效的解决方案。


【发明内容】

[0005]本发明实施例提供了一种数据库数据拷贝方法和装置,以至少解决现有技术中源数据库与目标数据库表间对应关系无法自动匹配的技术问题。
[0006]根据本发明实施例的一个方面,提供了一种数据库数据拷贝方法,包括:根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立源数据库与目标数据库的连接;根据第一配置参数中的源数据库的第一数据库类型和第二配置参数中的目标数据库的第二数据库类型,获取第一数据库类型与第一数据库类型间的数据库差异对照表;根据源数据库的源数据表与目标数据库的目标数据表,生成包含源数据库与目标数据库间数据表对应关系的数据库关系对照表;根据数据库差异对照表和数据库关系对照表,复制源数据库中的数据内容至目标数据库的相应位置。
[0007]根据本发明实施例的另一方面,还提供了一种数据库数据拷贝装置,包括:连接模块,用于根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立源数据库与目标数据库的连接;第一获取模块,用于根据第一配置参数中的源数据库的第一数据库类型和第二配置参数中的目标数据库的第二数据库类型,获取第一数据库类型与第一数据库类型间的数据库差异对照表;生成模块,用于根据源数据库的源数据表与目标数据库的目标数据表,生成包含源数据库与目标数据库间数据表对应关系的数据库关系对照表;拷贝模块,用于根据数据库差异对照表和数据库关系对照表,复制源数据库中的数据内容至目标数据库的相应位置。
[0008]在本发明实施例中,采用根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立源数据库与目标数据库的连接;根据第一配置参数中的源数据库的第一数据库类型和第二配置参数中的目标数据库的第二数据库类型,获取第一数据库类型与第一数据库类型间的数据库差异对照表;根据源数据库的源数据表与目标数据库的目标数据表,生成包含源数据库与目标数据库间数据表对应关系的数据库关系对照表;根据数据库差异对照表和数据库关系对照表,复制源数据库中的数据内容至目标数据库的相应位置的方式,进而解决了现有技术中源数据库与目标数据库表间对应关系无法自动匹配的技术问题。

【专利附图】

【附图说明】
[0009]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0010]图1是根据本发明实施例一的一种数据库数据拷贝方法的流程图;
[0011]图2是根据本发明实施例一的一种优选的数据库数据拷贝方法的流程图;
[0012]图3是根据本发明实施例二的一种数据库数据拷贝装置结构示意图;以及
[0013]图4是根据本发明实施例二的一种优选的数据库数据拷贝装置结构示意图。

【具体实施方式】
[0014]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0015]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0016]实施例1
[0017]根据本发明实施例,提供了一种数据库数据拷贝方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0018]本申请实施例一所提供的方法实施例可以在对数据库数据在两个相同类型或不同类型的关系数据库间进行数据迁移的过程当中使用,图1是根据本发明实施例一的一种数据库数据拷贝方法的流程图。如图1所示,该数据库数据拷贝方法可以如下实施步骤:
[0019]步骤S10,根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立源数据库与目标数据库的连接。
[0020]具体的,上述步骤S10,根据第一配置参数和第二配置参数中的数据库所在主机的网络IP地址,分别与源数据库和目标数据库所在的主机建立网络连接。并且,根据与源数据库和目标数据库对应的登陆账号和登录密码,通过访问权限的认证,建立源数据库与目标数据库间的访问关系。
[0021]步骤S12,根据第一配置参数中的源数据库的第一数据库类型和第二配置参数中的目标数据库的第二数据库类型,获取第一数据库类型与第一数据库类型间的数据库差异对照表。
[0022]具体的,上述步骤S12,根据源数据库和目标数据库的类型,获取预先设置好的与两种数据库类型对应的数据库类型的差异对照表。
[0023]在实际应用中,可以根据不同的数据库类型,分别设置包含不同数据类型间的数据转换规则的数据库类型的差异对照表。例如,MySQL数据库向Oracle数据库转换的转换规则。
[0024]步骤S14,根据源数据库的源数据表与目标数据库的目标数据表,生成包含源数据库与目标数据库间数据表对应关系的数据库关系对照表。
[0025]具体的,上述步骤S14,根据源数据库中的源数据库表,通过手动指定或者根据源数据表名称自动匹配的方式,确定源数据库中源数据表与目标数据库中目标数据表间的对应关系。根据对应关系,生成数据库关系对照表。
[0026]步骤S16,根据数据库差异对照表和数据库关系对照表,复制源数据库中的数据内容至目标数据库的相应位置。
[0027]具体的,上述步骤S16,依次读取源数据库源数据表中的字段内容,将字段内容依照数据库差异对照表和数据库关系对照表,转化为相应的数据类型存入相应的目标数据表中。
[0028]本申请上述实施例提供的方案,通过上述步骤SlO至步骤S16,根据两个数据库间的差异对照表和数据表间的对应关系,完成数据库间的数据拷贝转换与拷贝过程。
[0029]在具体实施过程中,以在操作Iinux数据库服务器上完成异同数据库间的数据迁移的工具为例,数据库服务器的Iinux系统中需要安装有JDK环境,用户需要通过该工具完成数据库类型选择和账号设置。
[0030]在操作时,构建表间(Table)映射,确认源数据表及目的数据表数据传送规则,规则保证目的数据表大于等于源数据表,从而保证目的数据表100 %成功接收传送数据。
[0031]第一步:在启动命令后,首先通过选择的方式选择源/目的数据库类型,完成驱动程序的加载。并依次完成账号及密码访问权限的认证,建立访问关系。
[0032]第二步:按提示键入源数据表名称和目标数据表名称,系统自动按源数据表字段顺序和目的数据表字段顺序展现字段映射关系,提示用户手动进行字段映射关系的指定。同时也可采用“set auto”命令,由系统以精度优先算法(完全匹配《字段名,类型,长度》,名称匹配《字段名》,模糊匹配)自动完成映射关系。
[0033]第三步:使用send命令,完成数据的传送。
[0034]优选的,本申请上述实施例中,在第一配置参数和第二配置参数至少包括数据库类型、主机IP地址、登录账号和登录密码时,步骤SlO根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立源数据库与目标数据库的连接的步骤包括:
[0035]步骤S101,根据源数据库的第一主机IP地址和目标数据库的第二主机IP地址,建立源数据库和目标数据库的通讯连接。
[0036]步骤S103,根据源数据库的第一登陆账号和第一登录密码,获得访问源数据库的访问权限。
[0037]步骤S105,根据目标数据库的第二登录账号和第二登录密码,获得访问目标数据库的访问权限。
[0038]本申请上述实施例提供的方案,通过上述步骤SlOl至步骤S105,通过读取预先设置的第一配置参数和第二配置参数,获取参数中的各个参数信息,依次完成与两个数据库所在的主机建立通讯连接、分别获取源数据库和目标数据库的访问权限的步骤,实现建立源数据库与目标数据库的连接的目的。
[0039]优选的,本申请上述实施例中,步骤S14根据源数据库的源数据表与目标数据库的目标数据表,生成包含源数据库与目标数据库间数据表对应关系的数据库关系对照表的步骤包括:
[0040]步骤S141,获取源数据库的源数据表名称和目标数据库的目标数据表名称。
[0041]步骤S143,根据源数据表名称和目标数据表名称,对源数据表与目标数据表进行匹配。
[0042]步骤S145,根据源数据表与目标数据表的匹配结果,生成数据库关系对照表。
[0043]本申请上述实施例提供的方案,通过上述步骤S141至步骤S145,通过获取源数据库与目标数据库的数据表名称,对源数据表和目标数据表进行匹配,根据匹配结果,生成数据库关系对照表。其中,对源数据表和目标数据表进行匹配的匹配方式可以包括两种,一种是通过提示用户手动进行数据表关系的指定。另一种是系统通过精度优先算法自动完成映射关系的指定。
[0044]优选的,本申请上述实施例中,步骤S16根据数据库差异对照表和数据库关系对照表,复制源数据库中的数据内容至目标数据库相应的位置的步骤包括:
[0045]步骤S161,读取数据库关系对照表,获得源数据表与目标数据表的对应关系。
[0046]步骤S163,读取差异对照表,获得源数据库和目标数据库的数据类型对照关系。
[0047]步骤S165,读取源数据表中的字段内容。
[0048]步骤S167,根据源数据表与目标数据表的对应关系,将源数据表中的字段内容按照数据类型对照关系转换为与目标数据库对应的数据类型。
[0049]步骤S169,将字段内容写入到目标数据表中。
[0050]本申请上述实施例提供的方案,通过上述步骤S161至步骤S169,首先,分别读取数据库关系对照表和差异对照表,分别获得源数据表与目标数据表的对应关系以及源数据库和目标数据库的数据类型对照关系。然后对源数据表中的字段内容进行读取,根据源数据表与目标数据表的对应关系,将源数据表中的字段内容按照数据类型对照关系转换为与目标数据库对应的数据类型。最后,将字段内容写入到目标数据库中。
[0051]在实际应用中,以在操作Iinux数据库服务器上完成异同数据库间的数据迁移的工具为例,当采用DBSend命令,数据迁移的工具可以分两步完成数据的传送,即初始化数据库连接和下达传送指令。
[0052]同时,传输数据给接收端之前,系统会自动进行匹配度检测,并以列表的形式展示预警结果,如果在匹配时出现“ERROR”错误字样,系统会自动引导数据迁移的工具进入字段匹配子系统,并可采用自动匹配模式和手动匹配模式来完成“ERROR”错误的消除;如果在匹配时出现“WARNING”警告字样或无任何提示时,可直接键入“Y”继续完成数据的传送,也可键入“N”进入字段匹配子系统。
[0053]优选的,如图2所示,本申请上述实施例中,在步骤S14根据源数据库的源数据表与目标数据库的目标数据表,生成包含源数据库与目标数据库间数据表对应关系的数据库关系对照表之后,方法还包括:
[0054]步骤S151,读取数据库关系对照表中源数据表与目标数据表的对应关系。
[0055]步骤S153,根据源数据表中源字段和目标数据表中目标字段的字段信息,计算源字段与目标字段间的字段匹配度,其中,字段信息至少包括:字段名称、字段类型、字段长度。
[0056]步骤S155,对字段匹配度与预先设置的阈值进行比对,确定源字段与目标字段的对应关系;
[0057]其中,当字段匹配度大于等于预先设置的阈值时,确定源字段与目标字段的对应关系;
[0058]当字段匹配度小于预先设置的阈值时,对源字段与未进行匹配目标字段进行提
/Jn ο
[0059]本申请上述实施例提供的方案,通过上述步骤S151至步骤S155,对源数据表和目标数据表中的字段信息进行自动匹配,首先至少获取字段信息中的字段名称、字段类型和字段长度。根据这些条件,对源字段与目标字段进行匹配度计算。通过匹配度与预先设置的用于验证匹配度的阈值进行比较。当字段匹配度大于等于预先设置的阈值时,确定源字段与目标字段的对应关系;当字段匹配度小于预先设置的阈值时,将源字段与未进行匹配目标字段进行提示,提示用户进行手动指定。
[0060]当然,也可以通过按照排列顺序对源数据表中源字段与目标数据表中各个目标字段逐一进行匹配度计算。选择出匹配度最高的字段选为目标字段,确定源字段与目标字段的对应关系。
[0061]优选的,本申请上述实施例中,在步骤S16根据数据库差异对照表和数据库关系对照表,复制源数据库中的数据内容至目标数据库的相应位置的方法包括:
[0062]步骤S160,根据源数据库中的数据表,创建至少一个与源数据库中数据表单独对应的数据迁移任务进程。
[0063]本申请上述实施例提供的方案,通过上述步骤S160,在复制过程中,为每个表单创建单独的数据迁移进程,实现多个表单并行处理的多线程并行处理以提高迁移效率。
[0064]具体的,本方法采用命令行模式,以低消耗多通道传输模块,对小数量数据快速迁移。以安全警告,高亮显示视觉提醒等显著的特点来协助用户来高效的完成数据的基本关系映射及转存工作。同时也是一种数据库间数据转存利器。
[0065]其中,初始化数据库连接过程:第一步,选择源数据库类型,这里包括常用的数据库,比如=Oracle ;键入host主机IP、账号和密码,完成源数据库的连接;第二步,选择目标数据库类型;键入host主机IP、账号和密码,完成目标数据库的连接。
[0066]数据传送的处理过程:第一步,用SEND命令开始数据的传送,并采用源数据库与目标数据库的类型差异关系参照表完成数据的转换及处理,并将源数据表数据以页式的读取方式依次读入(默认缓存条数是10000条/页),批量写入目标数据库中。
[0067]格式:Send〈源表X目标表〉
[0068]字段匹配处理过程:主键匹配可以分为几种情况,按源表数据直接写入、采用MAX+1和GUID,自动编号可直接设置忽略。自动模式以精度优先算法(完全匹配《字段名,类型,长度》,名称匹配《字段名》,模糊匹配)自动完成映射关系。手动匹配通过set命令完成映射。
[0069]实施例2
[0070]根据本发明实施例,还提供了一种用于实施上述方法实施例的装置实施例。图3是根据本发明实施例二的一种数据库数据拷贝装置的示意图。
[0071]如图3所示,该数据库数据拷贝装置可以包括:连接模块21、第一获取模块23、生成模块25和拷贝模块27。
[0072]其中,连接模块21,用于根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立源数据库与目标数据库的连接。
[0073]具体的,通过上述连接模块21,根据第一配置参数和第二配置参数中的数据库所在主机的网络IP地址,分别与源数据库和目标数据库所在的主机建立网络连接。并且,根据与源数据库和目标数据库对应的登陆账号和登录密码,通过访问权限的认证,建立源数据库与目标数据库间的访问关系。
[0074]第一获取模块23,用于根据第一配置参数中的源数据库的第一数据库类型和第二配置参数中的目标数据库的第二数据库类型,获取第一数据库类型与第一数据库类型间的数据库差异对照表。
[0075]具体的,通过上述第一获取模块23,根据源数据库和目标数据库的类型,获取预先设置好的与两种数据库类型对应的数据库类型的差异对照表。
[0076]在实际应用中,可以根据不同的数据库类型,分别设置包含不同数据类型间的数据转换规则的数据库类型的差异对照表。例如,MySQL数据库向Oracle数据库转换的转换规则。
[0077]生成模块25,用于根据源数据库的源数据表与目标数据库的目标数据表,生成包含源数据库与目标数据库间数据表对应关系的数据库关系对照表。
[0078]具体的,通过上述生成模块25,根据源数据库中的源数据库表,通过手动指定或者根据源数据表名称自动匹配的方式,确定源数据库中源数据表与目标数据库中目标数据表间的对应关系。根据对应关系,生成数据库关系对照表。
[0079]拷贝模块27,用于根据数据库差异对照表和数据库关系对照表,复制源数据库中的数据内容至目标数据库的相应位置。
[0080]具体的,通过上述拷贝模块27,依次读取源数据库源数据表中的字段内容,将字段内容依照数据库差异对照表和数据库关系对照表,转化为相应的数据类型存入相应的目标数据表中。
[0081]本申请上述实施例提供的方案,通过上述连接模块21、第一获取模块23、生成模块25和拷贝模块27,根据两个数据库间的差异对照表和数据表间的对应关系,完成数据库间的数据拷贝转换与拷贝过程。
[0082]在具体实施过程中,以在操作Iinux数据库服务器上完成异同数据库间的数据迁移的工具为例,数据库服务器的Iinux系统中需要安装有JDK环境,用户需要通过该工具完成数据库类型选择和账号设置。
[0083]在操作时,构建表间(Table)映射,确认源数据表及目的数据表数据传送规则,规则保证目的数据表大于等于源数据表,从而保证目的数据表100 %成功接收传送数据。
[0084]第一步:在启动命令后,首先通过选择的方式选择源/目的数据库类型,完成驱动程序的加载。并依次完成账号及密码访问权限的认证,建立访问关系。
[0085]第二步:按提示键入源数据表名称和目标数据表名称,系统自动按源数据表字段顺序和目的数据表字段顺序展现字段映射关系,提示用户手动进行字段映射关系的指定。同时也可采用“set auto”命令,由系统以精度优先算法(完全匹配《字段名,类型,长度》,名称匹配《字段名》,模糊匹配)自动完成映射关系。
[0086]第三步:使用send命令,完成数据的传送。
[0087]优选的,本申请上述实施例中,在第一配置参数和第二配置参数至少包括数据库类型、主机IP地址、登录账号和登录密码时,连接模块21包括:子连接模块211、第一子获取模块213和第二子获取模块215。
[0088]其中,子连接模块211,用于根据源数据库的第一主机IP地址和目标数据库的第二主机IP地址,建立源数据库和目标数据库的通讯连接。
[0089]第一子获取模块213,用于根据源数据库的第一登陆账号和第一登录密码,获得访问源数据库的访问权限。
[0090]第二子获取模块215,用于根据目标数据库的第二登录账号和第二登录密码,获得访问目标数据库的访问权限。
[0091]本申请上述实施例提供的方案,上述子连接模块211、第一子获取模块213和第二子获取模块215,通过读取预先设置的第一配置参数和第二配置参数,获取参数中的各个参数信息,依次完成与两个数据库所在的主机建立通讯连接、分别获取源数据库和目标数据库的访问权限的步骤,实现建立源数据库与目标数据库的连接的目的。
[0092]优选的,本申请上述实施例中,生成模块25包括:第三子获取模块251、子匹配模块253和子生成模块255。
[0093]其中,第三子获取模块251,用于获取源数据库的源数据表名称和目标数据库的目标数据表名称。
[0094]子匹配模块253,用于根据源数据表名称和目标数据表名称,对源数据表与目标数据表进行匹配。
[0095]子生成模块255,用于根据源数据表与目标数据表的匹配结果,生成数据库关系对照表。
[0096]本申请上述实施例提供的方案,上述第三子获取模块251、子匹配模块253和子生成模块255,通过获取源数据库与目标数据库的数据表名称,对源数据表和目标数据表进行匹配,根据匹配结果,生成数据库关系对照表。其中,对源数据表和目标数据表进行匹配的匹配方式可以包括两种,一种是通过提示用户手动进行数据表关系的指定。另一种是系统通过精度优先算法自动完成映射关系的指定。
[0097]优选的,本申请上述实施例中,拷贝模块27包括:第四子获取模块271、第五子获取模块273、子缓存模块275、子处理模块277和子写入模块279。
[0098]其中,第四子获取模块271,用于读取数据库关系对照表,获得源数据表与目标数据表的对应关系。
[0099]第五子获取模块273,用于读取差异对照表,获得源数据库和目标数据库的数据类型对照关系。
[0100]子缓存模块275,用于读取源数据表中的字段内容。
[0101]子处理模块277,用于根据源数据表与目标数据表的对应关系,将源数据表中的字段内容按照数据类型对照关系转换为与目标数据库对应的数据类型。
[0102]子写入模块279,用于将字段内容写入到目标数据表中。
[0103]本申请上述实施例提供的方案,通过上述第四子获取模块271、第五子获取模块273、子缓存模块275、子处理模块277和子写入模块279,首先,分别读取数据库关系对照表和差异对照表,分别获得源数据表与目标数据表的对应关系以及源数据库和目标数据库的数据类型对照关系。然后对源数据表中的字段内容进行读取,根据源数据表与目标数据表的对应关系,将源数据表中的字段内容按照数据类型对照关系转换为与目标数据库对应的数据类型。最后,将字段内容写入到目标数据库中。
[0104]在实际应用中,以在操作Iinux数据库服务器上完成异同数据库间的数据迁移的工具为例,当采用DBSend命令,数据迁移的工具可以分两步完成数据的传送,即初始化数据库连接和下达传送指令。
[0105]同时,传输数据给接收端之前,系统会自动进行匹配度检测,并以列表的形式展示预警结果,如果在匹配时出现“ERROR”错误字样,系统会自动引导数据迁移的工具进入字段匹配子系统,并可采用自动匹配模式和手动匹配模式来完成“ERROR”错误的消除;如果在匹配时出现“WARNING”警告字样或无任何提示时,可直接键入“Y”继续完成数据的传送,也可键入“N”进入字段匹配子系统。
[0106]优选的,如图4所示,本申请上述实施例中,装置还包括:第二获取模块261、处理模块263和确定模块265。
[0107]其中,第二获取模块261,用于读取数据库关系对照表中源数据表与目标数据表的对应关系。
[0108]处理模块263,用于根据源数据表中源字段和目标数据表中目标字段的字段信息,计算源字段与目标字段间的字段匹配度,其中,字段信息至少包括:字段名称、字段类型、字段长度。
[0109]确定模块265,用于对字段匹配度与预先设置的阈值进行比对,确定源字段与目标字段的对应关系。
[0110]其中,当字段匹配度大于等于预先设置的阈值时,确定源字段与目标字段的对应关系;
[0111]当字段匹配度小于预先设置的阈值时,对源字段与未进行匹配目标字段进行提
/Jn ο
[0112]本申请上述实施例提供的方案,通过上述第二获取模块261、处理模块263和确定模块265,对源数据表和目标数据表中的字段信息进行自动匹配,首先至少获取字段信息中的字段名称、字段类型和字段长度。根据这些条件,对源字段与目标字段进行匹配度计算。通过匹配度与预先设置的用于验证匹配度的阈值进行比较。当字段匹配度大于等于预先设置的阈值时,确定源字段与目标字段的对应关系;当字段匹配度小于预先设置的阈值时,将源字段与未进行匹配目标字段进行提示,提示用户进行手动指定。
[0113]当然,也可以通过按照排列顺序对源数据表中源字段与目标数据表中各个目标字段逐一进行匹配度计算。选择出匹配度最高的字段选为目标字段,确定源字段与目标字段的对应关系。
[0114]优选的,本申请上述实施例中,拷贝模块27还包括:创建模块270。
[0115]创建模块270,用于根据源数据库中的数据表,创建至少一个与源数据库中数据表单独对应的数据迁移任务进程。
[0116]本申请上述实施例提供的方案,通过上述创建模块270,在复制过程中,为每个表单创建单独的数据迁移进程,实现多个表单并行处理的多线程并行处理以提高迁移效率。
[0117]具体的,本方法采用命令行模式,以低消耗多通道传输模块,对小数量数据快速迁移。以安全警告,高亮显示视觉提醒等显著的特点来协助用户来高效的完成数据的基本关系映射及转存工作。同时也是一种数据库间数据转存利器。
[0118]其中,初始化数据库连接过程:第一步,选择源数据库类型,这里包括常用的数据库,比如=Oracle ;键入host主机IP、账号和密码,完成源数据库的连接;第二步,选择目标数据库类型;键入host主机IP、账号和密码,完成目标数据库的连接。
[0119]数据传送的处理过程:第一步,用SEND命令开始数据的传送,并采用源数据库与目标数据库的类型差异关系参照表完成数据的转换及处理,并将源数据表数据以页式的读取方式依次读入(默认缓存条数是10000条/页),批量写入目标数据库中。
[0120]格式:Send〈源表X目标表〉
[0121]字段匹配处理过程:主键匹配可以分为几种情况,按源表数据直接写入、采用MAX+1和GUID,自动编号可直接设置忽略。自动模式以精度优先算法(完全匹配《字段名,类型,长度》,名称匹配《字段名》,模糊匹配)自动完成映射关系。手动匹配通过set命令完成映射。
[0122]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0123]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0124]在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0125]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0126]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0127]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0128]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据库数据拷贝方法,其特征在于,包括: 根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立所述源数据库与所述目标数据库的连接; 根据所述第一配置参数中的所述源数据库的第一数据库类型和所述第二配置参数中的所述目标数据库的第二数据库类型,获取所述第一数据库类型与所述第一数据库类型间的数据库差异对照表; 根据所述源数据库的源数据表与所述目标数据库的目标数据表,生成包含所述源数据库与所述目标数据库间数据表对应关系的数据库关系对照表; 根据所述数据库差异对照表和所述数据库关系对照表,复制所述源数据库中的数据内容至所述目标数据库的相应位置。
2.根据权利要求1所述方法,其特征在于,所述第一配置参数和所述第二配置参数至少包括数据库类型、主机IP地址、登录账号和登录密码时,所述根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立所述源数据库与所述目标数据库的连接的步骤包括: 根据所述源数据库的第一主机IP地址和所述目标数据库的第二主机IP地址,建立所述源数据库和所述目标数据库的通讯连接; 根据所述源数据库的第一登陆账号和第一登录密码,获得访问所述源数据库的访问权限; 根据所述目标数据库的第二登录账号和第二登录密码,获得访问所述目标数据库的访问权限。
3.根据权利要求1所述方法,其特征在于,所述根据所述源数据库的源数据表与所述目标数据库的所述目标数据表,生成包含所述源数据库与所述目标数据库间数据表对应关系的数据库关系对照表的步骤包括: 获取所述源数据库的源数据表名称和所述目标数据库的所述目标数据表名称; 根据所述源数据表名称和所述目标数据表名称,对所述源数据表与所述目标数据表进行匹配; 根据所述源数据表与所述目标数据表的匹配结果,生成所述数据库关系对照表。
4.根据权利要求1所述方法,其特征在于,根据所述数据库差异对照表和所述数据库关系对照表,复制所述源数据库中的数据内容至所述目标数据库相应的位置的步骤包括: 读取所述数据库关系对照表,获得所述源数据表与所述目标数据表的对应关系; 读取所述差异对照表,获得所述源数据库和所述目标数据库的数据类型对照关系; 读取所述源数据表中的字段内容; 根据所述源数据表与所述目标数据表的对应关系,将所述源数据表中的字段内容按照所述数据类型对照关系转换为与所述目标数据库对应的数据类型; 将所述字段内容写入到所述目标数据表中。
5.根据权利要求1所述方法,其特征在于,在所述根据所述源数据库的源数据表与所述目标数据库的所述目标数据表,生成包含所述源数据库与所述目标数据库间数据表对应关系的数据库关系对照表之后,所述方法还包括: 读取所述数据库关系对照表中所述源数据表与所述目标数据表的对应关系; 根据所述源数据表中源字段和所述目标数据表中目标字段的字段信息,计算所述源字段与所述目标字段间的字段匹配度,其中,所述字段信息至少包括:字段名称、字段类型、字段长度; 对所述字段匹配度与预先设置的阈值进行比对,确定所述源字段与所述目标字段的对应关系; 其中,当所述字段匹配度大于等于所述预先设置的阈值时,确定所述源字段与所述目标字段的对应关系; 当所述字段匹配度小于所述预先设置的阈值时,对所述源字段与未进行匹配目标字段进行提示。
6.根据权利要求1至5中任意一项所述方法,其特征在于,根据所述数据库差异对照表和所述数据库关系对照表,复制所述源数据库中的数据内容至所述目标数据库的相应位置的方法包括: 根据所述源数据库中的数据表,创建至少一个与所述源数据库中数据表单独对应的数据迁移任务进程。
7.一种数据库数据拷贝装置,其特征在于,包括: 连接模块,用于根据预先设置的源数据库的第一配置参数和目标数据库的第二配置参数,建立所述源数据库与所述目标数据库的连接; 第一获取模块,用于根据所述第一配置参数中的所述源数据库的第一数据库类型和所述第二配置参数中的所述目标数据库的第二数据库类型,获取所述第一数据库类型与所述第一数据库类型间的数据库差异对照表; 生成模块,用于根据所述源数据库的源数据表与所述目标数据库的目标数据表,生成包含所述源数据库与所述目标数据库间数据表对应关系的数据库关系对照表; 拷贝模块,用于根据所述数据库差异对照表和所述数据库关系对照表,复制所述源数据库中的数据内容至所述目标数据库的相应位置。
8.根据权利要求7所述装置,其特征在于,在所述第一配置参数和所述第二配置参数至少包括数据库类型、主机IP地址、登录账号和登录密码时,所述连接模块包括: 子连接模块,用于根据所述源数据库的第一主机IP地址和所述目标数据库的第二主机IP地址,建立所述源数据库和所述目标数据库的通讯连接; 第一子获取模块,用于根据所述源数据库的第一登陆账号和第一登录密码,获得访问所述源数据库的访问权限; 第二子获取模块,用于根据所述目标数据库的第二登录账号和第二登录密码,获得访问所述目标数据库的访问权限。
9.根据权利要求7所述装置,其特征在于,所述生成模块包括: 第三子获取模块,用于获取所述源数据库的源数据表名称和所述目标数据库的所述目标数据表名称; 子匹配模块,用于根据所述源数据表名称和所述目标数据表名称,对所述源数据表与所述目标数据表进行匹配; 子生成模块,用于根据所述源数据表与所述目标数据表的匹配结果,生成所述数据库关系对照表。
10.根据权利要求7所述装置,其特征在于,所述拷贝模块包括: 第四子获取模块,用于读取所述数据库关系对照表,获得所述源数据表与所述目标数据表的对应关系; 第五子获取模块,用于读取所述差异对照表,获得所述源数据库和所述目标数据库的数据类型对照关系; 子缓存模块,用于读取所述源数据表中的字段内容; 子处理模块,用于根据所述源数据表与所述目标数据表的对应关系,将所述源数据表中的字段内容按照所述数据类型对照关系转换为与所述目标数据库对应的数据类型;子写入模块,用于将所述字段内容写入到所述目标数据表中。
11.根据权利要求7所述装置,其特征在于,所述装置还包括: 第二获取模块,用于读取所述数据库关系对照表中所述源数据表与所述目标数据表的对应关系; 处理模块,用于根据所述源数据表中源字段和所述目标数据表中目标字段的字段信息,计算所述源字段与所述目标字段间的字段匹配度,其中,所述字段信息至少包括:字段名称、字段类型、字段长度; 确定模块,用于对所述字段匹配度与预先设置的阈值进行比对,确定所述源字段与所述目标字段的对应关系; 其中,当所述字段匹配度大于等于所述预先设置的阈值时,确定所述源字段与所述目标字段的对应关系; 当所述字段匹配度小于所述预先设置的阈值时,对所述源字段与未进行匹配目标字段进行提示。
12.根据权利要求7至11中任意一项所述装置,其特征在于,所述拷贝模块还包括: 创建模块,用于根据所述源数据库中的数据表,创建至少一个与所述源数据库中数据表单独对应的数据迁移任务进程。
【文档编号】G06F11/14GK104281704SQ201410568969
【公开日】2015年1月14日 申请日期:2014年10月22日 优先权日:2014年10月22日
【发明者】李燕飞, 宋立新, 耿利达 申请人:新华瑞德(北京)网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1