[发明专利]一种支持不同环境之间的数据迁移方法在审
申请号: | 201610116440.2 | 申请日: | 2016-03-02 |
公开(公告)号: | CN105740462A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 程永新;胡永;刘赞 | 申请(专利权)人: | 上海新炬网络信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 袁亚军;金碎平 |
地址: | 201707 上海市青浦区外青*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 不同 环境 之间 数据 迁移 方法 | ||
技术领域
本发明涉及一种数据迁移方法,尤其涉及一种支持不同环境之间的数据迁移方法。
背景技术
当前互联网已进入数据的时代,面对日益增长的大量数据,需要进行管理、测试、分析。例如:数据从生产库导出测试库、从不同数据库导入某一部分数据,到新的数据库做数据分析,不可避免的需要进行定时、定量、有针对的数据迁移,如何解决不同环境之间的数据高效迁移是重点。
数据存储在不同的数据库,诸如:ORACLE、DB2、MYSQL等等,每个数据库还要考虑具体的版本。例如一个场景,需要在这几种数据源抽取一部分数据,导入到新的MYSQL库进行分析,那么完成这个过程,非常费时、费力,极大地增加了企业的工作成本。
目前数据库的数据迁移,大部分是手动进行的,通过专业的dba人员进行数据梳理、校验,然后利用导出命令进行操作,再在目标源进行导入,这在同一类型的数据库操作还可以使用,但如果涉及到跨库,跨环境的导入一张表的数据,或者千万级别的数据量,整个过程将变的非常复杂,且困难。
另外,这种命令的操作方式,没有日志,也没有界面相关的结果数据,处理完后,不容易管理和展现,也无法验证是否满足结果要求,甚至出现数据混乱无序,错误重复等情况,没有一个有效的迁移机制来管理,质量、效率都无法得到保障。
由上可见,现有数据库的数据迁移技术存在如下缺点:1)迁移效率低,每次要进入不同数据库环境,执行繁琐的命令;2)对于处理人员的水平要求较高;3)没有跟踪记录,无法统计。
发明内容
本发明所要解决的技术问题是提供一种支持不同环境之间的数据迁移方法,能够让数据迁移的工作,更加高效地平稳地运行,减少故障的发生,且操作简单,大大降低入手难的问题,普通人员经过简单培训即可上岗。
本发明为解决上述技术问题而采用的技术方案是提供一种支持不同环境之间的数据迁移方法,包括如下步骤:a)数据抽取存储:利用Java连接数据库的技术,把待迁移数据源用户下表的数据逐个用ETL方式进行抽取,并且临时存储到Java的堆栈内存;b)数据运算分析:利用Java的IO流技术读取临时内存的数据,根据要入库的数据库类型和表的字段列数量,把数据转换成匹配该数据库规范的行记录,并封装成符合ETL可用的数据对象;c)数据入库:利用ETL的数据库写入机制,把已规范好的数据分配到ETL多线程的任务,进行连续快速的写入操作,逐表插入数据,直到行记录完全写入到末尾。
上述的支持不同环境之间的数据迁移方法,其中,所述数据库为ORACLE、DB2或MYSQL,所述步骤a)采用多线程运行支持多张表数据同时抽取。
上述的支持不同环境之间的数据迁移方法,其中,所述步骤c)中ETL多线程采用队列使得迁移数据缓存入库,平均数据插入速率为2~3万行/秒。
上述的支持不同环境之间的数据迁移方法,其中,所述数据迁移方法还包括设置全程跟踪记录,统计迁移的数据量,并根据日志记录采用可视化显示界面进行全程监控。
上述的支持不同环境之间的数据迁移方法,其中,所述数据迁移方法还包括以任务调度的形式设置执行迁移策略,并对数据源、目标源以及用户权限进行设置管理。
本发明对比现有技术有如下的有益效果:本发明提供的支持不同环境之间的数据迁移方法,通过数据抽取存储、数据运算分析以及数据入库能够让数据迁移的工作,更加高效地平稳地运行,减少故障的发生,且操作简单,大大降低入手难的问题,普通人员经过简单培训即可上岗。
附图说明
图1为本发明支持不同环境之间的数据迁移系统架构示意图;
图2为本发明支持不同环境之间的数据迁移流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明支持不同环境之间的数据迁移系统架构示意图;图2为本发明支持不同环境之间的数据迁移流程示意图。
请参见图1和图2,本发明提供的支持不同环境之间的数据迁移方法,包括如下步骤:
a)数据抽取存储:利用Java连接数据库的技术,把待迁移数据源用户下表的数据逐个用ETL(ExtractTransformLoad)方式进行抽取,并且临时存储到Java的堆栈内存;
b)数据运算分析:利用Java的IO流技术读取临时内存的数据,根据要入库的数据库类型和表的字段列数量,把数据转换成匹配该数据库规范的行记录,并封装成符合ETL可用的数据对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络信息技术有限公司,未经上海新炬网络信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610116440.2/2.html,转载请声明来源钻瓜专利网。