一种基于CDC方式实现增量抽取数据的方法技术

技术编号:13781467 阅读:339 留言:0更新日期:2016-10-04 18:16
本发明专利技术公开了一种基于CDC方式实现增量抽取数据的方法,属于计算机网络及数据库技术应用领域,提供供了一套完整可行的从源端数据库表到目标数据库表进行增量数据同步的解决方案;其次,使用了CDC技术来进行增量抽取,不需要修改源表数据结构,在提高系统运行性能的同时减少了数据传输量,减轻了网络负载。

【技术实现步骤摘要】

本专利技术属于计算机网络及数据库技术应用领域,主要涉及Oracle数据库的增量抽取与数据同步方法,具体涉及到一种基于CDC方式实现增量抽取数据的方法
技术介绍
CDC(Change Data Capture改变数据捕获)是一种数据增量处理技术,它能够帮助你识别从上次提取之后发生变化的数据。利用CDC技术,在对源表进行INSERT、UPDATE或DELETE等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的方式提供给目标系统。而传统的增量抽取技术,大致上有在原表中加时间戳与全表比对等方式,需要修改原表结构或者使用大量的算法实现,同时需要传输更多的数据,造成更高的网络负载,和直接与数据库引擎直接集成的CDC技术相比,性能上也有着一定的差距。
技术实现思路
有鉴于此,本专利技术提供了一种一种基于CDC方式实现增量抽取数据的方法,基于Oracle数据库的变化监控器CDC表进行增量数据抽取,主要包括数据操作日志缓存表的建立,设置以数据操作日志缓存表中的时间戳为依据来定期或者手工进行数据抽取,做相应的增量加工处理将抽取的变化数据提供给目标数据库,在源表和目标表端都会建立数据交换节点来完成相应的操作,由统一的数据交换平台进行管理;本专利技术提供的这种方法目的是实现高性能的自动抽取数据库中的增量数据来完成源表与目标表的数据同步,同时尽量减轻网络负载。本专利技术的技术方案是:一种基于CDC方式实现增量抽取数据的方法,包括以下步骤:步骤一,根据业务场景在数据源与数据目标的数据库中创建相同表结构的数据库表,再在源端数据库中创建数据操作日志缓存表;步骤二,创建动态SQL规则,实现从源端的CDC表中,将表中的[TIMESTAMP$]字段作为增量依据,抽取增量数据;步骤三,创建数据整合服务,将数据操作日志缓存表数据按照增量依据及数据变化方式更新到目标中;数据交换平台的数据整合服务中数据源为数据操作日志缓存表,设定变化监控规则;步骤四,将创建好的数据整合服务部署到源表所在的节点上,定时抽取数据;当数据库源表数据发送变化时,数据操作日志缓存表中自动存储源表变化数据;数据交换平台的定时任务开始时候会调用创建好的数据整合服务,数据操作日志缓存表中存储新的变化数据时,会读取配置文件中的时间信息作为依据将数据操作日志缓存表中的变化数据抽取出来,并存储本次操作时间来作为下次抽取的依据;步骤五,将抽取出来的数据通过数据交换平台的批量数据总线传输到目标节点,目标节点将相应变化信息更新到目标表中并存储。进一步地,所述步骤二中,抽取增量数据之后,还包括设定增量依据,且每次抽取的数据不重复。进一步地,所述步骤三种设定变化监控规则即根据数据操作日志缓存表中的数据变化种类来区分数据操作种别,同时根据设定的动态SQL规则,指定依据字段及起始值。进一步地,所述根据数据操作日志缓存表中的数据变化种类来区分数据操作种别中,所述数据变化种类包括I:插入,UU:修改旧值,UN:修改新值,D:删除。进一步地,所述步骤四中的数据整合服务中,定时抽取数据的方式为设定定时运行任务定时抽取数据或按需手工触发运行来抽取数据。进一步地,所述步骤一中所述数据操作日志缓存表的建立是在保证源表和目标表的结构相同,在源表端建立源表对应的数据操作日志缓存表,在数据操作日志缓存表中加入timestamp字段作为抽取的依据。本专利技术的有益效果为:本专利技术的这种方法提供了一套完整可行的从源端数
据库表到目标数据库表进行增量数据同步的解决方案;其次,使用了CDC技术来进行增量抽取,不需要修改源表数据结构,在提高了系统运行性能的同时减少了数据传输量,减轻了网络负载。附图说明图1是本专利技术的CDC方式实现增量抽取数据方法的组成架构图;图2是本专利技术提供的这种方法在抽取增量数据时的界面示意图;图3是本专利技术提供的这种方法在创建数据整合服务的界面示意图一;图4是本专利技术提供的这种方法在创建数据整合服务的界面示意图二。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,是本专利技术提供的CDC方式实现增量抽取数据方法的组成架构图,本专利技术提供的这种方法包括以下步骤:第一步,根据业务场景在数据源与数据目标的数据库中创建相同表结构的数据库表,再在源端数据库中创建数据操作日志缓存表。数据源数据库表结构如下:CREATE TABLE INCR_TRANS_A(SNUM int NOT NULL PRIMARY KEY,DATA_1 varchar(255),DATA_2 varchar(255),DATA_3 varchar(255),DATA_4 varchar(255),DATA_5 varchar(255),DATE_F date NOT NULL创建数据库CDC监控表如下:a.为数据源INCR_TRANS_A创建CHANGE_SET,源代码如下:b.为数据源INCR_TRANS_A创建CHANGE_TABLE,源代码如下:数据库源表(INCR_TRANS_A)、目标表(INCR_TRANS_B)、数据操作日志缓存表(INCR_TRANS_A_CDC)创建完成之后,当数据库源表(INCR_TRANS_A)表中数据发生变化后,Oracel数据库会将变化数据存储到数据操作日志缓存表(INCR_TRANS_A_CDC)中,同时CDC表中会记录数据变化时间和数据变化种类(I:插入,UU:修改旧值,UN:修改新值,D:删除)等信息。第二步,如图2所示,创建动态SQL规则,实现从源端的CDC表中,将表中的[TIMESTAMP$]字段作为增量依据,抽取增量数据,设定增量依据之后,保证每次抽取的数据不重复抽取;变量表达式为:TIMESTAMP$>to_date(′#′,′yyyy-mm-dd hh24miss′)and TIMESTAMP$<=to_date(′#′,′yyyy-mm-dd hh24miss′)第三步,如图3和图4所示,创建数据整合服务,将数据操作日志缓存表数据按照增量依据及数据变化方式更新到目标中。数据交换平台的数据整合服
务中数据源为数据操作日志缓存表,设定变化监控规则,即根据数据操作日志缓存表中的数据变化种类(I:插入,UU:修改旧值,UN:修改新值,D:删除)来区分数据操作种别,同时根据设定的动态SQL规则,指定依据字段(timestamp)及起始值。第四步,将创建好的数据整合服务部署到源表所在的节点上,并设定定时运行任务来定时抽取数据。当数据库源表(INCR_TRANS_A)数据发送变化时,数据操作日志缓存表中自动存储源表变化数据。数据交换平台的定时任务开始时候会调用创建好的数据整合服务,数据操作日志缓存表中存储新的变化数据时,会读取配置文件中的时间信息作为依据将数据操作日志缓存表中的变化数据抽取出来,并存储本次操作时间来作为下次抽取的依据。此步骤中的数据整合服务也可以按需手工触发运行来抽取数据。第本文档来自技高网
...

【技术保护点】
一种基于CDC方式实现增量抽取数据的方法,其特征在于,包括以下步骤:步骤一,根据业务场景在数据源与数据目标的数据库中创建相同表结构的数据库表,再在源端数据库中创建数据操作日志缓存表;步骤二,创建动态SQL规则,实现从源端的CDC表中,将表中的[TIMESTAMP$]字段作为增量依据,抽取增量数据;步骤三,创建数据整合服务,将数据操作日志缓存表数据按照增量依据及数据变化方式更新到目标中;数据交换平台的数据整合服务中数据源为数据操作日志缓存表,设定变化监控规则;步骤四,将创建好的数据整合服务部署到源表所在的节点上,定时抽取数据;当数据库源表数据发送变化时,数据操作日志缓存表中自动存储源表变化数据;数据交换平台的定时任务开始时候会调用创建好的数据整合服务,数据操作日志缓存表中存储新的变化数据时,会读取配置文件中的时间信息作为依据将数据操作日志缓存表中的变化数据抽取出来,并存储本次操作时间来作为下次抽取的依据;步骤五,将抽取出来的数据通过数据交换平台的批量数据总线传输到目标节点,目标节点将相应变化信息更新到目标表中并存储。

【技术特征摘要】
1.一种基于CDC方式实现增量抽取数据的方法,其特征在于,包括以下步骤:步骤一,根据业务场景在数据源与数据目标的数据库中创建相同表结构的数据库表,再在源端数据库中创建数据操作日志缓存表;步骤二,创建动态SQL规则,实现从源端的CDC表中,将表中的[TIMESTAMP$]字段作为增量依据,抽取增量数据;步骤三,创建数据整合服务,将数据操作日志缓存表数据按照增量依据及数据变化方式更新到目标中;数据交换平台的数据整合服务中数据源为数据操作日志缓存表,设定变化监控规则;步骤四,将创建好的数据整合服务部署到源表所在的节点上,定时抽取数据;当数据库源表数据发送变化时,数据操作日志缓存表中自动存储源表变化数据;数据交换平台的定时任务开始时候会调用创建好的数据整合服务,数据操作日志缓存表中存储新的变化数据时,会读取配置文件中的时间信息作为依据将数据操作日志缓存表中的变化数据抽取出来,并存储本次操作时间来作为下次抽取的依据;步骤五,将抽取出来的数据通过数据交换平台的批量数据总线传输到目标节点,目标节点将相应变化信息更新到目标表中并存储。2.如权利要求1所述的一种基于CDC方式实...

【专利技术属性】
技术研发人员:游辉敏
申请(专利权)人:南京优测信息科技有限公司
类型:发明
国别省市:江苏;32

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

1