一种增量数据捕获方法和系统技术方案

技术编号:2830457 阅读:270 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种增量数据捕获方法,包括:根据目标表的结构信息创建与目标表对应的关系数据库快照表;利用所述创建的快照表完成指定时间点目标表的快照抽取;根据所述不同时间点的快照进行快照比对,捕获增量数据。采用快照表存储快照,不需要维护增量数据的元数据信息,增强了通用性。进一步,本发明专利技术通过创建快照表的聚集索引,降低了快照记录比对的时间,减少了计算机系统的运算量,节省了计算机系统资源,提高了捕获增量数据的效率。本发明专利技术还公开了一种增量数据捕获系统。

【技术实现步骤摘要】

本专利技术涉及数据库
,特别是涉及数据库数据集成
中的一 种增量数据捕获方法和系统
技术介绍
增量数据捕获(Change Data Capture, CDC )是指捕获数据源中产生的增 量数据,并提供给其他企业应用软件的过程。CDC是数据集成中ETL( Extract Transform Load)过程所要解决的主要问题之一。CDC用于捕获业务数据库中 数据插入、删除、更新操作,为OLAP数据库、报表数据库、数据仓库、商业 智能数据库等企业应用数据库数据的同步提供增量数据捕获服务。快照(Snapshot)比对方式是现有技术中增量数据捕获主要方式之一,通 过比对两个时间点的快照来获取增量数据。这种方式通用性强,在获得数据源 数据读取权限条件下即可完成增量数据捕获过程。但现有技术中的快照比对方 法是以文件为基础存储快照,并通过设计快照比对算法比对两张快照文件得到 增量数据。这种方式存在的问题主要有1 、基于文件的快照比对算法的时间和空间复杂度较高。基于文件的快照比对算法不可避免地需要遍历两张快照文件内的所有记 录,当快照数据量较大的情况下这种算法将很耗时。假设有两张快照A和B, 快照A中存在nl条记录,快照B中存在n2条记录,两条记录比对时间为t(ms), 则完成所有快照记录比对的时间就需要nl*n2*t(ms)。算法中还包含大量的 IO操作,使耗时更为严重;而如果降低IO操作次数减少耗时的话,就需要占 用大量内存空间。在内存有限、快照数据量较大的情况下,算法执行效率会受 到很大影响。2、需要维护数据库元数据信息, 一定程度上限制了算法的通用性。 将关系数据库内结构化格式的数据抽取到文件这种非结构或半结构化格 式的数据必将造成描述数据的数据也就是元数据(数据类型、主外键等)的丢 失。因此,以文件为快照的增量数据捕获必定需要额外维护这部分丟失的元数 据,增加了快照比对增量抽取的复杂度。并且,不同类型数据库之间对元数据的定义存在偏差,对不同类型的数据库提供支持就需要扩展算法,因此在一定 程度上限刮了算法的通用性。3、不提供对目的数据库增量更新后的恢复功能。在对目的数据库增量更新后,不提供将数据库恢复到指定增量更新时间点 的功能。这种功能将对目的数据库中数据的增量更新历史查询和数据恢复提供 帮助。
技术实现思路
本专利技术所要解决的技术问题是提供一种增量数据捕获方法和系统,不需要 维护元数据信息,并且提高基于快照方式增量数据捕获的效率,以及提供增量 数据的恢复功能。为了解决上述问题,本专利技术公开了一种增量数据捕获方法,包括 根据目标表的结构信息创建与目标表对应的关系数据库快照表; 利用所述创建的快照表完成指定时间点目标表的快照抽取; 根据所述不同时间点的快照进行快照比对,捕获增量数据。 进一步,还包括 创建历史快照的聚集索引。并且,利用所述历史快照的聚集索引与当前快照进行比对,捕获增量数据。 进一步,还包括发送所述捕获的增量数据至目标数据库,增量更新目标数据库。 进一步,还包括创建CDC队列和CDC表,所述CDC队列用于记录当前捕获的增量数据 集,所述CDC表用于记录所有时间点捕获的增量数据集; 才艮据CDC队列的数据生成CDC表的数据。 进一步,还包括从CDC表中获取指定时间段内的增量恢复数据; 发送所述获取的增量恢复数据至目标数据库; 根据所述增量恢复数据生成相应的SQL语句;执行所述SQL语句,完成对目标数据库指定时间点的增量数据恢复。 其中,利用关系数据库内全连接和条件查询的方式实现凄t据库快照比对和增量数据的捕获。其中,所述快照表是与目标表相同或能够完全兼容目标表中所有数据的关 系数据库表结构。其中,所述增量更新目标数据库的步骤包括目标数据库接收所述增量捕获数据; 根据增量捕获数据的操作类型生成相应的SQL语句; 执行所述SQL语句更新目标数据库。 本专利技术还公开了一种增量数据捕获系统,包括快照表创建单元,用于根据目标表的结构信息创建与目标表对应的关系数 据库快照表;快照抽取单元,用于利用快照表完成指定时间点目标表的快照抽取; 捕获单元,用于根据不同时间点的快照进行快照比对,捕获增量数据。 进一步,还包括索引创建单元,用于创建快照的聚集索引。所述捕获单元根据历史快照的聚集索引与当前快照进行比对,捕获增量数据。进一步,还包括第一发送单元,用于发送所述捕获的增量数据至目标数据库; 更新单元,用于增量更新目标数据库。 进一步,还包括队列创建单元,用于创建CDC队列,所述CDC队列用于记录当前捕获的 增量数据集;CDC表生成单元,用于生成CDC表,所述CDC表用于记录所有时间点 捕获的增量数据集。 进一步,还包括获取单元,用于从CDC表中获取指定时间段内的增量恢复数据; 第二发送单元,用于发送所述获取的增量恢复数据至目标数据库; 语句生成单元,用于根据所述增量恢复数据生成相应的SQL语句; 恢复单元,用于执行所述SQL语句,完成对目标数据库指定时间点的增200710195982.4说明书第4/ll页量数据恢复。与现有技术相比,本专利技术具有以下优点由于本专利技术没有釆用文件存储快照,而是采用快照表存储快照,所述快照 表是与目标表相同或能够完全兼容目标表中所有数据的关系数据库表结构,因 此不存在元数据信息丢失的问题,不需要维护增量数据的元数据信息。并且由 于采用了关系数据库表结构的快照表存储快照,因此可以通过关系数据库内的 全连接方式避免定义高效快照比对算法的过程,增强了所述方法的通用性。采 用关系数据库表结构存储快照,降低了时间和空间复杂度。进一步,本专利技术通过创建快照表的聚集索引,降低了快照记录比对的时间, 减少了计算机系统的运算量,节省了计算机系统资源,提高了捕获增量数据的 效率。进一步,本专利技术通过CDC表获取增量恢复数据,并将增量恢复数据发送 至目标数据库执行的方式,实现了增量数据的维护和对目标数据库的增量恢复 功能。附图说明图1是本专利技术一种增量数据捕获方法第一实施例的流程图2是本专利技术 一种增量数据捕获方法第二实施例的流程图3是本专利技术第二实施例中增量更新目标数据库步骤的流程图4是本专利技术一种增量数据捕获方法第三实施例增量数据恢复的流程图5是本专利技术一种增量数据捕获系统第一实施例的结构框图6是本专利技术一种增量数据捕获系统第二实施例的结构框图7是本专利技术一种增量数据捕获系统第三实施例增量数据恢复的结构框图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。参照图1,示出了本专利技术一种增量数据捕获方法第一实施例的流程图,包 括步骤步骤101、根据目标表的结构信息创建与目标表对应的关系数据库快照 表。 .所述快照表是与目标表相同或能够完全兼容目标表中所有数据的关系数 据库表结构。创建所述快照表的具体过程为首先获取增量捕获目标表的结构信息,然 后根据所述结构信息构造关系数据库表的SQL CREATE TABLE语句,最后在 数据库中执行所述SQL语句,完成所述关系数据库快照表的创建。步骤102、利用所述创建的快照表完成指定时间点目标表的快照抽取。为了完成对不同时间点的快照比对,需要对目标表多个不同时间点的数据 进行快照抽取,将所述不同时间点抽取的数据分本文档来自技高网
...

【技术保护点】
一种增量数据捕获方法,其特征在于,包括:根据目标表的结构信息创建与目标表对应的关系数据库快照表;利用所述创建的快照表完成指定时间点目标表的快照抽取;根据所述不同时间点的快照进行快照比对,捕获增量数据。

【技术特征摘要】
1、一种增量数据捕获方法,其特征在于,包括根据目标表的结构信息创建与目标表对应的关系数据库快照表;利用所述创建的快照表完成指定时间点目标表的快照抽取;根据所述不同时间点的快照进行快照比对,捕获增量数据。2、 如权利要求1所述的增量数据捕获方法,其特征在于,还包括 创建历史快照的聚集索引。3、 如权利要求2所述的增量数据捕获方法,其特征在于 利用所述历史快照的聚集索引与当前快照进行比对,捕获增量数据。4、 如权利要求3所述的增量数据捕获方法,其特征在于,还包括 发送所述捕获的增量数据至目标数据库,增量更新目标数据库。5、 如权利要求4所述的增量数据捕获方法,其特征在于,还包括 创建CDC队列和CDC表,所述CDC队列用于记录当前捕获的增量数据集,所述CDC表用于记录所有时间点捕获的增量数据集; 根据CDC队列的数据生成CDC表的数据。6、 如权利要求5所述的增量数据捕获方法,其特征在于,还包括 从CDC表中获取指定时间段内的增量恢复数据; 发送所述获取的增量恢复数据至目标数据库; 根据所述增量恢复数据生成相应的SQL语句;执行所述SQL语句,完成对目标数据库指定时间点的增量数据恢复。7、 如权利要求1至6任一所述的增量数据捕获方法,其特征在于利用关系数据库内全连接和条件查询的方式实现数据库快照比对和增量 数据的捕获。8、 如权利要求1至6任一所述的增量数据捕获方法,其特征在于 所述快照表是与目标表相同或能够完全兼容目标表中所有数据的关系数据库表结构。9、 如权利要求4所述的增量数据捕获方法,其特征在于,所述增量更新 目标数据库的步骤包括目标数据库接收所述增量捕获数据; 根据增量捕获数据的操作类型生成相应的SQL语句; 执行所述SQL语句更新目标数据库。10、 一种增...

【专利技术属性】
技术研发人员:许力牟晓光
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:89[中国|沈阳]

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

1