一种CDC数据分发方法和装置制造方法及图纸

技术编号:7759195 阅读:198 留言:0更新日期:2012-09-14 01:15
本发明专利技术涉及一种CDC数据分发方法和装置,其特征在于,它包括以下步骤:①配置抽取信息:通过配置界面配置用于抽取数据库中数据的抽取信息;②抽取进程:读取配置的抽取信息,把源数据库中的数据从与业务相关的系统的数据库中抽取出来生成文本文件;③配置装载信息:通过配置界面配置用于装载数据库中数据的装载信息;④装载进程:读取所述装载信息,并把抽取进程导出的文本文件装载到用于存放抽取的文本文件的目标数据库中。本发明专利技术具有图形化灵活开放的配置模式,数据抽取快,完全基于源数据API实现,流水化作业方式的抽取和转载。

【技术实现步骤摘要】

本专利技术涉及数据仓库领域,特别涉及数据仓库领域的数据整合。
技术介绍
CDC数据分发中心系统是专门针对数据仓库领域做数据整合的一个产品,它是ELT模式的,而不是ETL模式。ELT就是先抽取再装载最后清洗转换;ETL就是先抽取再清洗最后装载,目前该领域大部分还是ETL模式,而IS/BI-CDC数据分发中心系统是ELT模式的,通过快速抽取和装载数据,从而在数据仓库中进行数据转换工作。它主要是用来做数据的抽取和装载,抽取是把数据从业务系统的数据库导出成文本文件;装载是把抽取出来的文本文件导入到数据仓库中进行清洗转换处理。现有技术对数据抽取是通过数据库的JDBC,ODBC接口抽取,抽取效率不高;处理逻辑复杂,体系结构庞大,不轻量,安装维护麻烦;0raCle数据库只能单个进程抽取,抽取速度不高;不支持分布式抽取和装载。
技术实现思路
本专利技术所要解决的技术问题是提供一种图形化灵活开放的数据抽取快、完全基于源数据API实现、体系架构简单、支持分布式并行抽取装载的CDC数据分发方法。本专利技术解决上述技术问题的技术方案如下一种CDC数据分发方法,它包括以下步骤①配置抽取信息通过配置界面配置用于抽取数据库中数据的抽取信息;②抽取进程读取配置的抽取信息,把源数据库中的数据从与业务相关的系统的数据库中抽取出来生成文本文件;③配置装载信息通过配置界面配置用于装载数据库中数据的装载信息;④装载进程读取所述装载信息,并把抽取进程导出的文本文件装载到用于存放抽取的文本文件的目标数据库中①配置抽取信息配置抽取进程所需要的抽取信息;在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,所述抽取进程包括Mysql抽取、Sql server抽取、greenplum抽取、Oracle抽取、db2抽取和/或组抽取。进一步,所述其中,所述Mysql抽取包括以下步骤①Mysql抽取进程向Mysql数据库发起一个连接,②读取配置的抽取信息,判断当时系统时间是否在Mysql连接的时间窗口内,③如果在时间窗口范围内,连接Mysql数据库,利用Mysql API接口将数据导出生成文本文件,④如果不在时间窗口范围内,直接结束抽取工作;所述Sql server抽取包括以下步骤①Sql server抽取进程向Sql server数据库发起一个连接,②读取配置的抽取信息,判断当时系统时间是否在Sql server连接的时间窗口内,③如果在时间窗口范围内,连接Sql server数据库,利用freetds API接口将数据导出生成文本文件,④如果不在时间窗口范围内,直接结束抽取工作;所述greenplum抽取包括以下步骤①greenplum抽取进程向greenplum分布式数据仓库发起一个连接,②读取配置的抽取信息,判断当时系统时间是否在greenplum连接的时间窗口内,③如果在时间窗口范围内,连接gree nplum数据库,利用copy命令接口将数据导出生成文本文件,④如果不在时间窗口范围内,直接结束抽取工作;所述Oracle抽取包括以下步骤①Oracle抽取进程向Oracle数据库发起一个连接,②读取配置的抽取信息,判断当时系统时间是否在Oracle连接的时间窗口内,③如果在时间窗口范围内,连接Oracle数据库,通过记录的数据块地址,抽取进程对一张数据源表进行抽取,最终将数据导出生成文本文件,④如果不在时间窗口范围内,直接结束抽取工作;所述db2抽取包括以下步骤①db2抽取进程向db2数据库发起一个连接,②读取配置的抽取信息,判断当时系统时间是否在db2连接的时间窗口内,③如果在时间窗口范围内,连接db2数据库,在db2多分区数据中自动在所有分区开启多个对应的分区抽取进程,分布式导出数据生成文本文件,④如果不在时间窗口范围内,直接结束抽取工作;所述组抽取包括以下步骤①组抽取进程向两个或两个以上相同或者不同类型的数据库发起一个连接,②读取配置的抽取信息,判断当时系统时间是否在组抽取下抽取连接的时间窗口内,③如果在时间窗口范围内,连接相对应的数据库,当组抽取下所有的抽取完成后,整个组抽取结束,否则为失败,④如果不在时间窗口范围内,直接结束抽取工作。进一步,所述装载数据进程包括数据装载、db2装载、Oracle装载、和/或greenplum 装载。进一步,所述在进行所述装载进程中读取配置的装载信息时,根据对应的抽取信息,把抽取出来的文本文件装载到目标数据库,如果装载失败,重新读取装载配置信息再进行装载。进一步,所述数据装载包括以下步骤①装载进程Mysql数据库发起一个连接,②读取配置的装载信息,判断当时系统时间是否在装载连接的时间窗口内,③如果在时间窗口范围内,调用Mysql数据库的loaddata装载接口,把文件装载到Mysql数据库中,④如果不在时间窗口范围内,直接结束抽取工作;所述db2装载包括以下步骤①db2装载进程向db2数据库发起一个连接,②读取配置的装载信息,判断当时系统时间是否在db2装载连接的时间窗口内,③如果在时间窗口范围内,调用db2装载接口,把文件装载到db2数据库中,④如果不在时间窗口范围内,直接结束抽取工作;所述Oracle装载包括以下步骤①Oracle装载进程向Oracle数据库发起一个连接,②读取配置的装载信息,判断当时系统时间是否在Oracle数据库装载连接的时间窗口内,③如果在时间窗口范围内,调用Oracle装载接口,在Oracle装载接口调用sqlloader接口把文本文件装载到Oracle数据库中,④如果不在时间窗口范围 内,直接结束抽取工作;所述greenplum装载包括以下步骤①greenplum装载进程向greenplum数据库发起一个连接,②读取配置的装载信息,判断当时系统时间是否在greenpIum装载连接的时间窗口内,③如果在时间窗口范围内,调用greenplum装载接口连接greenplum数据库,④连接greenplum数据库后,装载进程在greenplum数据库中创建外部表和目标表,⑤装载进程在greenplum分布式数据仓库中执行insert into select操作,把文件装载到greenplum分布式数据仓库中,⑥如果不在时间窗口范围内,直接结束抽取工作。另外,本专利技术还提供了一种⑶C数据分发装置,该装置包括配置抽取信息模块,抽取模块,配置装载信息模块,装载数据模块,其中配置抽取信息模块,用于通过配置界面配置用于抽取数据库中数据的抽取信息;抽取模块,用于读取配置的抽取信息,把源数据库中的数据从与业务相关的系统的数据库中抽取出来生成文本文件;配置装载信息模块,用于通过配置界面配置用于装载数据库中数据的装载信息;装载模块,用于读取所述装载信息,并把抽取进程导出的文本文件装载到用于存放抽取的文本文件的目标数据库中进一步,所述抽取模块包括Mysql抽取子模块、Sql server抽取子模块、greenplum抽取子模块、Oracle抽取子模块、db2抽取子模块和/或组抽取子模块。进一步,所述Mysql抽取子模块,用于把Mysql数据库的数据通过指定的SQL语句把数据从Mysql数据库中导出成文本文件;所述Sql server抽取子模块,用于把数据整合到数据仓库平台中;所述greenplum抽取子模块本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:官辉文彦峰齐科军李俊冯志强
申请(专利权)人:北京英孚斯迈特信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1