一种数据同步增量跟踪的方法及系统的制作方法

文档序号:10577331阅读:445来源:国知局
一种数据同步增量跟踪的方法及系统的制作方法
【专利摘要】本发明涉及一种数据同步增量跟踪的方法及系统,其中方法包括以下步骤:步骤1:捕获模块实时采集源数据库的增量数据,并将采集的增量数据发送到至少一个传输模块;步骤2:每个传输模块分别将增量数据传输到一个加载模块;步骤3:每个加载模块将增量数据加载到与所述加载模块对应的目标数据库。本发明通过数据追踪和日志追溯方法,解决了增量数据的提取和分析问题;可以随时通过了解目标数据库中的数据变化,并根据日志跟踪表一目了然的了解数据变化情况,当源数据库中的增量数据变化时,实时进行捕获。
【专利说明】
一种数据同步増量跟踪的方法及系统
技术领域
[0001 ]本发明涉及一种数据同步增量跟踪的方法及系统。
【背景技术】
[0002]目前商用软件需求中,对数据的实时同步处理要求越来越多,对关系型数据库的实时同步需求越来越广泛,Oracle作为传统关系性数据库代表,在商用中使用最多,但由于Oracle本身为甲骨文多年研发产品,其内部逻辑及实现方式并未对外开放,因此对Oracle数据库本身的实时采集成为瓶颈。
[0003]但对于大多数信息化系统而言,数据同步之后,很多系统想针对于同步的数据增量做进一步的分析和验证,但由于数据已经和历史数据溶为一起,很难在提取出来。

【发明内容】

[0004]Go I denGate作为甲骨文的附属产品运应而生;该产品可通过捕获Orac I e的日志增量,并解密转换为数据库操作语言,实时捕获增量数据进行数据同步。
[0005]本发明所要解决的技术问题是提供一种通过GoldenGate的数据追溯实现数据同步增量跟踪的数据同步增量跟踪的方法及系统。
[0006]本发明解决上述技术问题的技术方案如下:一种数据同步增量跟踪的方法,具体包括以下步骤:
[0007]步骤1:捕获模块实时采集源数据库的增量数据,并将采集的增量数据发送到至少一个传输模块;
[0008]步骤2:每个传输模块分别将增量数据传输到一个加载模块;
[0009]步骤3:每个加载模块将增量数据加载到与所述加载模块对应的目标数据库。
[0010]本发明的有益效果是:通过数据追踪和日志追溯方法,解决了增量数据的提取和分析问题;可以随时通过了解目标数据库中的数据变化,并根据日志跟踪表一目了然的了解数据变化情况,当源数据库中的增量数据变化时,实时进行捕获,使源数据库和目标数据库中的数据通过传输模块实现平衡,通过传输模块将增量数据压人通道,并在传输过程中进行类型转换,使增量数据更快速的加载到目标数据库中。
[0011]在上述技术方案的基础上,本发明还可以做如下改进。
[0012]进一步,每个所述传输模块在传输增量数据的过程中,根据对应的目标数据库的类型对增量数据进行类型转换。
[0013]采用上述进一步方案的有益效果是,在传输过程中对数据进行类型转换,可以实现数据存入目标数据库,不会出现无法存入的问题。
[0014]进一步,所述步骤3中每个加载模块将增量数据加载到目标数据库的同时,根据增量数据的类型确定一个对应的日志跟踪表,记录目标数据库中的数据变化。
[0015]进一步,所述日志跟踪表的确定方法包括:首先根据目标数据库确定日志跟踪表的名称,根据名称建立日志表,并将日志表中的字段对应增量数据的消息报文头信息,实现目标数据库中的数据变化自动加载到日志跟踪表中。
[0016]进一步,所述步骤I中捕获模块还配置有用于修改数据类型的配置信息。
[0017]进一步,所述配置信息包括目标数据库的登录用户名信息、登录密码信息、目标数据库类型信息和目标数据库的位置信息。
[0018]本发明解决上述技术问题的技术方案如下:一种数据同步增量跟踪的系统,包括捕获模块、至少一个传输模块和与传输模块数量对应的加载模块;
[0019]所述捕获模块实时采集源数据库的增量数据,并将采集的增量数据发送到至少一个传输模块;
[0020]每个所述传输模块分别将增量数据传输到一个加载模块;
[0021 ]每个所述加载模块将增量数据加载到与所述加载模块对应的目标数据库。
[0022]本发明的有益效果是:通过数据追踪和日志追溯方法,解决了增量数据的提取和分析问题;可以随时通过了解目标数据库中的数据变化,并根据日志跟踪表一目了然的了解数据变化情况,当源数据库中的增量数据变化时,实时进行捕获,使源数据库和目标数据库中的数据通过传输模块实现平衡,通过传输模块将增量数据压人通道,并在传输过程中进行类型转换,使增量数据更快速的加载到目标数据库中。
[0023]在上述技术方案的基础上,本发明还可以做如下改进。
[0024]进一步,每个所述传输模块在传输增量数据的过程中,根据对应的目标数据库的类型对增量数据进行类型转换。
[0025]采用上述进一步方案的有益效果是,在传输过程中对数据进行类型转换,可以实现数据存入目标数据库,不会出现无法存入的问题。
[0026]进一步,所述加载模块中每个加载模块将增量数据加载到目标数据库的同时,根据增量数据的类型确定一个对应的日志跟踪表,记录目标数据库中的数据变化。
[0027]进一步,所述捕获模块中还配置有用于修改数据类型的配置信息。
【附图说明】
[0028]图1为本发明实施例1所述的一种数据同步增量跟踪的方法流程图;
[0029]图2为本发明实施例1所述的一种数据同步增量跟踪的系统结构框图。
[0030]附图中,各标号所代表的部件列表如下:
[0031]1、捕获模块,2、传输模块,3、加载模块。
【具体实施方式】
[0032]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0033]如图1所示,为本发明实施例1所述的一种数据同步增量跟踪的方法,具体包括以下步骤:
[0034]步骤1:捕获模块实时采集源数据库的增量数据,并将采集的增量数据发送到至少一个传输模块;
[0035]步骤2:每个传输模块分别将增量数据传输到一个加载模块;
[0036]步骤3:每个加载模块将增量数据加载到与所述加载模块对应的目标数据库。
[0037]实施例2所述的一种数据同步增量跟踪的方法,在实施例1的基础上,每个所述传输模块在传输增量数据的过程中,根据对应的目标数据库的类型对增量数据进行类型转换。
[0038]实施例3所述的一种数据同步增量跟踪的方法,在实施例1或2的基础上,所述步骤3中每个加载模块将增量数据加载到目标数据库的同时,根据增量数据的类型确定一个对应的日志跟踪表,记录目标数据库中的数据变化。
[0039]实施例4所述的一种数据同步增量跟踪的方法,在实施例3的基础上,所述日志跟踪表的确定方法包括:首先根据目标数据库确定日志跟踪表的名称,根据名称建立日志表,并将日志表中的字段对应增量数据的消息报文头信息,实现目标数据库中的数据变化自动加载到日志跟踪表中。
[0040]实施例5所述的一种数据同步增量跟踪的方法,在实施例1-4任一项的基础上,所述步骤I中捕获模块还配置有用于修改数据类型的配置信息。
[0041]实施例6所述的一种数据同步增量跟踪的方法,在实施例5的基础上,所述配置信息包括目标数据库的登录用户名信息、登录密码信息、目标数据库类型信息和目标数据库的位置信息。
[0042]如图2所示,为本发明实施例1所述的一种数据同步增量跟踪的系统,包括捕获模块1、至少一个传输模块2和与传输模块2数量对应的加载模块3;
[0043]所述捕获模块I实时采集源数据库的增量数据,并将采集的增量数据发送到至少一个传输模块2 ;
[0044]每个所述传输模块2分别将增量数据传输到一个加载模块3;
[0045]每个所述加载模块3将增量数据加载到与所述加载模块3对应的目标数据库。
[0046]实施例2所述的一种数据同步增量跟踪的系统,在实施例1的基础上,每个所述传输模块在传输增量数据的过程中,根据对应的目标数据库的类型对增量数据进行类型转换。
[0047]实施例3所述的一种数据同步增量跟踪的系统,在实施例1或2的基础上,所述加载模块中每个加载模块将增量数据加载到目标数据库的同时,根据增量数据的类型确定一个对应的日志跟踪表,记录目标数据库中的数据变化。
[0048]实施例4所述的一种数据同步增量跟踪的系统,在实施例1-3任一项的基础上,所述捕获模块中还配置有用于修改数据类型的配置信息。
[0049]本技术方案核心包括三部分:I)源端捕获进程时,增加修改数据捕获器配置信息;2)数据传输进程时,配置传输过程增量数据转换器3)数据入库进程,指定日志跟踪表,将数据变化信息记录。
[0050]三个部分之间为串行执行,源端所在数据库服务器上安装OGG的客户端,在上面启动源端捕获进程和传输进程;捕获进程将实时采集源数据库数据,并传送给传输进程,传输进程又将数据最终传给数据加载进程,数据加载入库进程配置在目标端数据库所在服务器。
[0051 ]本发明具体示例所述的方法包括以下步骤:
[0052]I)配置源端捕获器
[0053]GGSCI>edit params eoral
[0054]EXTRACT eoral
[0055]SETENV(0RACLE_SID = orcI)
[0056]SETENV(NLS_LANG = ZHS16GBK)
[0057]USERID goldengate,PASSWORD oraclel23
[0058]EXTTRAIL./dirdat/cc
[0059]DBOPT1NS ALLOWUNUSEDCOLUMN
[0060]tranlogopt1ns convertucs2clobs
[0061]getupdatebefores
[0062]nocompressdeletes
[0063]tabIe hr.lookup;
[0064]在源端已有的数据抽取进程中,插入“getupdatebefores”,“nocompr essdeletes“捕获器,G0LDENGATE则将增量数据记录在通道中;
[0065]2)数据传输进程
[0066]GGSCI>edit params pp
[0067]EXTRACT pp
[0068]PASSTHRU
[0069]RMTH0ST target,MGRPORT 7809,COMPRESS
[0070]RMTTRAIL./dirdat/cc[0071 ]GETUPDATEBEFORES
[0072]tabIe hr.lookup;
[0073]数据传输进程将源端捕获增量数据压入通道中,传递给数据加载进程。
[0074]3)数据加载进程
[0075]REPLICAT rep2
[0076]USERID goldengate,PASSWORD oraclel23
[0077]ASSUMETARGETDEFS
[0078]INSERTALLRECORDS
[0079]DISCARDFILE./dirrpt/rep2, PURGE,MEGABYTES 100
[0080]map hr.lookup, target hr.1ookup_history,
[0081]C0LMAP(usedefaults,
[0082]BEF0RE_AFTER = @getenv("GGHEADER","BEFOREAFTERINDICATOR"),
[0083]DEAL_DATE = @getenv(〃GGHEADER","COMMITHMESTAMP"),
[0084]0P_FLAG = @getenv( "GGHEADER","0ΡΤΥΡΕ")
[0085]);
[0086]数据加载进程是将源数据最终放入到目标数据库,因此以上配置需目标数据库的登陆用户名、密码(USERID goldengate,PASSWORD oraclel23);同时(DISCARDFILE./dirrpt/rep2 , PURGE , MEGABYTES 100)为取得数据文件的位置信息;BEF0RE_AFTER、DEALDATE、0P_FLAG为日志表的三个字段,记录了日志的关键字内容是操作前还是操作后的,操作时间,以及是什么样的操作等;
[0087]数据加载进程需要指明数据变化日志记录的表名称,同时建立日志表,并将日志表中的字段(修改表名称,动作前后标志,动作时间,动作类型,变化内容,相应ORACLE的R0WID)全部对应GOLDENGATE的消息报文头信息,则变化数据自动加载入日志表。
[0088]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种数据同步增量跟踪的方法,其特征在于,具体包括以下步骤: 步骤1:捕获模块实时采集源数据库的增量数据,并将采集的增量数据发送到至少一个传输模块; 步骤2:每个传输模块分别将增量数据传输到一个加载模块; 步骤3:每个加载模块将增量数据加载到与所述加载模块对应的目标数据库。2.根据权利要求1所述的一种数据同步增量跟踪的方法,其特征在于,每个所述传输模块在传输增量数据的过程中,根据对应的目标数据库的类型对增量数据进行类型转换。3.根据权利要求1或2所述的一种数据同步增量跟踪的方法,其特征在于,所述步骤3中每个加载模块将增量数据加载到目标数据库的同时,根据增量数据的类型确定一个对应的日志跟踪表,记录目标数据库中的数据变化。4.根据权利要求3所述的一种数据同步增量跟踪的方法,其特征在于,所述日志跟踪表的确定方法包括:首先根据目标数据库确定日志跟踪表的名称,根据名称建立日志表,并将日志表中的字段对应增量数据的消息报文头信息,实现目标数据库中的数据变化自动加载到日志跟踪表中。5.根据权利要求2所述的一种数据同步增量跟踪的方法,其特征在于,所述步骤I中捕获模块还配置有用于修改数据类型的配置信息。6.根据权利要求5所述的一种数据同步增量跟踪的方法,其特征在于,所述配置信息包括目标数据库的登录用户名信息、登录密码信息、目标数据库类型信息和目标数据库的位置信息。7.—种数据同步增量跟踪的系统,其特征在于,包括捕获模块、至少一个传输模块和与传输模块数量对应的加载模块; 所述捕获模块实时采集源数据库的增量数据,并将采集的增量数据发送到至少一个传输模块; 每个所述传输模块分别将增量数据传输到一个加载模块; 每个所述加载模块将增量数据加载到与所述加载模块对应的目标数据库。8.根据权利要求7所述的一种数据同步增量跟踪的系统,其特征在于,每个所述传输模块在传输增量数据的过程中,根据对应的目标数据库的类型对增量数据进行类型转换。9.根据权利要求7或8所述的一种数据同步增量跟踪的系统,其特征在于,所述加载模块中每个加载模块将增量数据加载到目标数据库的同时,根据增量数据的类型确定一个对应的日志跟踪表,记录目标数据库中的数据变化。10.根据权利要求8所述的一种数据同步增量跟踪的系统,其特征在于,所述捕获模块中还配置有用于修改数据类型的配置信息。
【文档编号】G06F17/30GK105938492SQ201610232614
【公开日】2016年9月14日
【申请日】2016年4月14日
【发明人】穆亮
【申请人】北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1