[发明专利]一种用于不同类型数据库间在线数据迁移的方法在审
申请号: | 201710660596.1 | 申请日: | 2017-08-04 |
公开(公告)号: | CN107423436A | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 马国良 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 刘继枝 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 不同类型 数据库 在线 数据 迁移 方法 | ||
技术领域
本发明涉及计算机软件数据库技术领域,具体地说是一种用于不同类型数据库间在线数据迁移的方法。
背景技术
目前数据库间进行数据迁移大概有如下一些方法:
方法一:生成DMP二进制文件的方式。该方式一般用于同类型数据库间进行数据迁移,在源数据库将数据导出成DMP二进制文件,然后再在目标数据库进行导入。该方法优点是导出导入操作比较简单,缺点是只能在同类型数据库间进行数据迁移。
方法二:通过将源数据库表导出成平滑文件(文本文件),然后使用该平滑文件将表数据导入到目标数据库。该方法优点是可以在不同类型数据库间进行数据迁移,缺点是操作比较繁琐,需要针对不同表生成平滑文件,然后再分别导入,迁移时间过长,迁移过程中会有很多错误数据需要手动处理。
方法三:使用工具进行迁移。有些第三方工具和ETL工具可以用于在不同数据库间进行数据迁移,这些工具一般使用ODBC或JDBC方式连接数据库,将数据不加处理的抽取到工具中,然后再向目标数据库进行插入。这种方法优点是通过简单的配置也可以在不同数据库间进行数据迁移。缺点是通过ODBC或JDBC方式抽取的数据要先经过工具所在主机然后再转发到目标数据库,受网络带宽限制效率较低,抽取过程会占用较多工具所在主机内存,造成迁移过程很长。
以上迁移方式具有导出导入效率低、操作非常繁琐、数据出错率高、业务停机时间长、迁移消耗时间长等缺点,给异构数据库间的数据迁移带来很大困难。
发明内容
本发明的技术任务是提供一种用于不同类型数据库间在线数据迁移的方法。
本发明的技术任务是按以下方式实现的,该用于不同类型数据库间在线数据迁移的方法,包括,
创建客户端软件,客户端软件安装于数据库主机,实现与数据库的直接交互,以及对数据库中数据的抽取、转换、插入更新,并且完成不同客户端间数据传输及交互;
创建服务端软件,服务端软件安装于管理端主机,配置迁移信息、对不同客户端表HASH数据进行比对、实时监控迁移进度及资源占用情况;
通过客户端软件和服务端软件实现异常数据库间全量和增量数据的快速同步,以及同步完毕后两个异常数据库的数据一致性的校验。
所述的数据库主机包括源数据库主机与目标数据库主机;
所述的源数据库主机中源数据库与目标数据库主机中目标数据库的表数据类型不同,客户端软件抽取数据后自动进行数据类型转换;
所述的客户端软件自动检测到源数据库和目标数据库的类型及版本,对于两种数据库存在的不同类型的数据,所述的客户端软件自动将抽取的数据转换成适用于目标数据库的数据,然后在目标数据库进行插入。
所述的客户端软件抽取的数据被客户端软件压缩后直接传输到目标客户端,目标客户端收到发送的数据首先会存储到本地文件中,然后再由目标客户端软件读取本地文件并将数据插入数据库。
所述的服务端软件安装后,通过服务端软件提供的管理界面连接到源数据库主机和目标数据库主机的客户端软件。
所述的服务端软件连接到源数据库主机的客户端软件后,选择需要迁移的表,如果选中某个用户则默认迁移该用户下全部表。
所述的全量数据的快速同步,包括,
把源数据库中选择的表数据迁移到目标数据库中,全量数据迁移过程通过监控界面查看正在迁移的表、已经完成迁移的表、网络带宽使用情况、迁移中的错误信息、主机I/O和CPU使用情况。
所述的全量数据迁移过程通过监控界面查看正在迁移的表、已经完成迁移的表、网络带宽使用情况、迁移中的错误信息、主机I/O和CPU使用情况,包括,
根据主机和网络带使用情况在线调整同步的并发量,以充分利用CPU、I/O、网络的资源。
所述的增量数据的快速同步,包括,
比对源数据库与目标数据库表中数据的HASH值,根据HASH值比对情况对目标数据库表数据进行不同操作:
1)当源数据库与目标数据库表某行记录的HASH值相同时,表明该记录在全量同步后没有做过变更,对该记录不进行处理;
2)当源数据库与目标数据库表某行记录的HASH值不同时,表明该记录在全量同步后做过变更,需要从源数据库读取该记录并更新到目标数据库;
3)当源数据库中某行记录的HASH值在目标数据库不存在时,表明该记录是全量同步后新增的,需要从源数据库读取该记录并插入到目标数据库;
4)当目标数据库中某行记录的HASH值在源数据库不存在时,表明该记录是全量同步后删除的,需要从目标数据库将该记录删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710660596.1/2.html,转载请声明来源钻瓜专利网。