[发明专利]一种异构数据库数据交换方法及系统在审
申请号: | 201410683417.2 | 申请日: | 2014-11-24 |
公开(公告)号: | CN104462269A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 张呈宇;张云勇;魏进武;张基恒 | 申请(专利权)人: | 中国联合网络通信集团有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;栗若木 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 数据 交换 方法 系统 | ||
技术领域
本发明涉及数据库数据存储领域,具体涉及一种异构数据库数据交换方法及系统。
背景技术
在各个领域信息数据量越来越大的今天,对数据事务处理和分析处理是数据发展的重要方向。尤其是在数据分析的过程中,比如ETL(Extract-Transform-Load,萃取-转置-加载)经常因为各种数据库独特的优势和特性,应用不同的数据库。比如,关联能力强、稳定的传统关系型数据库,主从集群模式的海量并行处理结构MPP(Massive Parallel Processing,简称MPP)数据库,针对大数据量大文件、扩展性强的Hadoop数据库,针对非结构化的NoSQL(Structured Query Language,结构化查询语言)数据库。
目前主流的异构数据库的数据交换方式主要分为三大类:一是各个数据库自己的成熟的数据导入导出工具,但是只能支持一个或者几个特定的数据库,做不到统一交换,由于工具的差异带来的开销,效率差别非常大,而且如果新增数据库类型则开发量大,需要适配每个已存在数据库;二是运用中间件或者中间数据库技术进行交换,这种方法不仅需要加入新的中间件或数据库,在其中的性能损失也不可忽视;三是把文件当成中间介质,统一转换成文件再入库,这种方法在安全性和磁盘的性能方面都可能会有问题。
发明内容
本发明需要解决的技术问题是提供一种异构数据库数据交换方法及系统,实现了集中统一的数据交换,避免了各厂家数据库工具差异带来的无法识别的问题,而且不需增加新的中间件或数据库,降低了成本,提高了性能。
为了解决上述技术问题,本发明提供了一种异构数据库数据交换方法,包括:
获取配置文件,所述配置文件包括:读写内容、数据格式转换规则、源数据库信息、目标数据库信息和子任务划分个数N,N为正整数;
根据配置文件中的子任务划分个数N将异构数据交换任务切分为N个子任务;
每个子任务独立地根据所述配置文件从源数据库中读取数据并写入目标数据库中。
进一步地,每个子任务包括读线程和写线程;所述读线程包括一个或多个与源数据库类型对应的读取接口,所述写线程包括一个或多个与目标数据库类型对应的写入接口;所述源数据库信息包括源数据库类型,所述目标数据库信息包括目标数据库类型;
所述每个子任务独立地根据所述配置文件读取源数据库中的数据并写入目标数据库,包括:
所述读线程根据所述配置文件通过与源数据库类型对应的读取接口从源数据库读取数据,并将读取的数据进行数据格式转换后放入缓冲区维护的数据队列的尾部;
所述写线程从所述数据队列的头部读出数据,并通过与目标数据库类型对应的写入接口写入所述目标数据库。
进一步地,所述方法还包括:
设置所述数据队列的缓冲容量,如果在所述数据队列放入数据时,所述数据队列的容量达到所述缓冲容量,则阻塞所述读进程;如果所述数据队列无数据则阻塞所述写进程。
进一步地,所述方法还包括:
当源数据库类型为新的类型时,创建与所述源数据库类型对应的读取接口;
当目标数据库类型为新的类型时,创建与所述目标数据库的类型对应的写入接口。
为了解决上述技术问题,本发明还提供了一种异构数据库数据交换系统,包括:
获取模块,用于获取配置文件,所述配置文件包括:读写内容、数据格式转换规则、源数据库信息、目标数据库信息和子任务划分个数;
切分模块,用于根据配置文件中的子任务划分个数将异构数据交换任务切分为一个或多个子任务;
所述一个或多个子任务,用于独立地根据所述配置文件从源数据库中读取数据并写入目标数据库中。
进一步地,每个子任务包括读线程和写线程;所述读线程包括一个或多个与源数据库类型对应的读取接口,所述写线程包括一个或多个与目标数据库类型对应的写入接口;所述源数据库信息包括源数据库类型,所述目标数据库信息包括目标数据库类型;
每个子任务,用于独立地根据所述配置文件读取源数据库中的数据并写入目标数据库,包括:
所述读线程根据所述配置文件通过与源数据库类型对应的读取接口从源数据库读取数据,并将读取的数据进行数据格式转换后放入缓冲区维护的数据队列的尾部;
所述写线程从所述数据队列的头部读出数据,并通过与目标数据库类型对应的写入接口写入所述目标数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国联合网络通信集团有限公司,未经中国联合网络通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410683417.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于社交网络的应用推荐方法
- 下一篇:改进字符串匹配的方法和系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置