源数据库和目的数据库之间数据同步的方法、装置及系统制造方法及图纸

技术编号:4250158 阅读:287 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种源数据库和目的数据库之间数据同步的方法、装置及系统,涉及数据库领域,为解决现有源数据库和目的数据库之间数据同步时,传输LCR的工作量大的问题而发明专利技术。所述方法包括:同步装置从源数据库获取至少一个第一逻辑变化记录LCR及第一逻辑变化记录的关键字;所述同步装置判断其自身是否存在第二LCR,第二LCR的关键字与第一LCR的关键字相同,生成判断结果;所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR,使得同步装置仅存储一条包含所述第一LCR的关键字的LCR;所述同步装置将所述处理后的LCR发送给目的数据库。本发明专利技术在源数据库和目的数据库进行同步时,减少数据传输量。

【技术实现步骤摘要】

本专利技术涉及数据库领域,特别是指-一种源数据库和目的数据库之间数据同歩的方法、装置及系统。
技术介绍
自从1970年E, F. Codd博士提出最初的理论模型以来,关系型数据库己经成为所 有信息系统巾必不可少的基础设施之一,其重要性仅次于操作系统,如今已经没有哪个大 型的系统能够脱离数据库而存在。 在实际应用屮,由于业务逻辑的复杂性和功能的模块化设计,往往一个信息系统 中会部署W多套数据库,而且这多套数据库之间需要协同合作共亨数据,这就要求各数据 库之间能够实现数据同步。为了实现这个目标,各主流数据库j -商都推出了自—己的数据同 歩技术,如Oracle (甲骨文系统有限公司)的SLreams、 Sybase (赛贝斯软件有限公司)的 R印I i cation Server等,其基本原理如图1所示,抓取源数据库的redo log(数据库日志) 中的LCR (Logical ChangoRccord,逻辑变化记录),然后到目的数据库上按照LCR发生的顺 序一条条进行应用,从而实现目的库数据与源库数据一致。 LCR是数据库界对数据库变动记录的通称。--条LCR体现了源数据库中--条特定 记录上的一次特定DML(数据库操作语言)操作,其屮内容包含了 操作类型、变动字段列 表、字段变化前值、字段变化后值、主键字段名、主键字段值等,依据这些信息,就可以将这 个I)ML操作复现。 当甜数据同歩技术有以下缺点 源数据库将所有变动的LCR都一条不少地传往目的数据库,当源数据库变动很频 繁时,传输LCR的工作量比较大。
技术实现思路
本专利技术要解决的技术问题是提供一种源数据库和目的数据库之间数据同步的方 法、装置及系统,能够节省目的数据库的资源。 为解决上述技术问题,本专利技术的实施例提供技术方案如K :-—方面,提供--种源数据库和目的数据库之间数据同歩的方法,包括 同步装置从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字; 所述同步装置判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一 LCR的关键字相同,生成判断结果; 所述同步装置根据所述判断结果,对所述第一 LCR进行处理,生成处理后的LC:R, 使得所述同歩装置仅存储-一条包含所述第一 LCR的关键字的LCR ; 所述同步装置将所述处理后的LCR发送给目的数据库。 可选的,所述同歩装置根据所述判断结果,对所述第-一LCR进行处理,牛成处理后4的LCR的歩骤包括 当所述判断结果为是时,所述同步装置根据所述第一 LCR的操作类型和所述第二LCR的操作类型,对所述第一 LCR和所述第二 LCR进行归并,牛成处理后的LCR ; 当所述判断结果为否时,所述同步装置在其自身存储所述第一LCR,作为处理后的LCR。 所述同步装置根据所述第一 LCR的操作类型和所述第二 LCR的操作类型,对所述 第-一 LCR和所述第二 LCR进行U————|并,生成处理后的LCR的步骤具体为 当所述第一 LCR的操作类型为插入,并且所述第二 LCR的操作类型为插入或者更 新时,将所述第二 LCR作为所述处理后LCR ;或者 当所述第一 LCR的操作类型为插入,并且所述第二 LCR的操作类型为删除时,将所 述第二 LCR的类型改为更新,并将第一 LCR的各字段值覆盖到第二 LCR的相应字段值上,牛 成所述处理后LCR ;或者 当所述第. LCR的操作类型为更新类型,并且所述第二 LCR的操作类型为插入或 更新时,将所述第一 LCR中的各字段值覆盖到所述第二 LCR的相应字段值匕生成所述处理 后LCR ;或者 当所述第一 LCR的操作类型为更新或删除,并且所述第二 LCR的操作类型为删除 类型时,将所述第二 LCR作为所述处理后LCR ;或者 当所述第一 LCR的操作类型为删除,并且所述第二 LCR的操作类型为插入时,则将 所述第一 LCR作为所述处理后LCR ;或者 当所述第一 LCR的操作类型为删除,并且所述第二 LCR的操作类型为更新时,则将所述第二 LCR类型修改为删除,作为所述处理后LCR。 所述同步装置将所述处理后的LC:R发送给目的数据库的步骤为 所述同步装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库。 所述同歩装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库的步骤为 当所述处理后的LCR的数量达到预定阈值时,所述同步装置以批量绑定的方式, 将所述处理后的LCR发送给目的数据库;或 所述同步装置以批量绑定的方式,以固定时间周期,将所述处理后的LCR发送给 目的数据库。 所述第一 LCR的关键字为所述第一 LCI)的主键或者标识。 另-一方面,本专利技术提供一种同步装置,其特征在于,包括 获取单元,用于从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑 变化记录的关键字; 判断单兀,用f判断其自身是否存在第二 LCR,所述第二 LCR的关键字与所述第一 LCR的关键字相同,牛成判断结果; 处理单元,用于根据所述判断结果,对所述第一 LCR进行处理,生成处理后的LCR ; 发送单元,用丁'将所述处理后的LCR发送给目的数据库。 所述处理单元包括 归并单元,用于当所述判断结果为是时,所述同步装置根据所述第-一 LCR的操作类型和所述第二 LCR的操作类型,对所述第一 LCR和所述第二 LCR进行归并,生成处理后的i丄:R; 存储单元,用于当所述判断结果为否时,所述同歩装置在其自身存储所述第--liX作为处理后的LCR。 另-力面,本专利技术提供-^巾NJ步系统,包括NJ步装置、源数据库以及目的数据库, 其特征在于,所述同步装置包括 获取单元,用于从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑 变化记录的关键字; 判断单元,用于判断其自身是否存在第二 LCR,所述第二 LCR的关键字与所述第-一 LCR的关键字相同,生成判断结果; 处理单元,用于根据所述判断结果,对所述第--LCR进行处理,牛成处理后的LCR; 发送单元,用于将所述处理后的LCR发送给所述目的数据库。 所述的NJ步系统,其特征在T,所述M步装置设置在所述源数据库或者所述目的 数据库匕或者独立于所述源数据库和所述目的数据库。 本专利技术的实施例具有以下有益效果 上述方案屮,当源数据库和目的数据库之间数据同歩时,并不是将所有变动的LCR 都- 一条不少地传往目的数据库,而是先在同歩装置进行缓冲,这样即使当源数据库变动很 频繁时,每次同步装置从源数据库获取到第一 LCR时,先在同步装置内部进行处理,即,所 述同歩装置判断其自身是否存在包含所述第一 LCR的关键字的第二 LCR,牛成判断结果;所 述同步装置根据所述判断结果,对所述第一 LCR进行处理,生成处理后的LCR,使得所述同 步装置仅存储.'条包含所述第-'LCR的关键字的LCR,然后将所述处理后LCR传输给LCR, 与现有技术相比,传输LCR的工作量变小。附图说明 图1是传统的数据同歩过程示意图; 图2是本专利技术所述的源数据库和目的数据库之间数据同步的方法的流程不意图; 图3是本专利技术所述的同歩装置的结构示意图; 图4是本专利技术所述的同步系统的结构示意图; 图5是本专利技术所述的本文档来自技高网...

【技术保护点】
一种源数据库和目的数据库之间数据同步的方法,其特征在于,包括:    同步装置从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字;    所述同步装置判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一LCR的关键字相同,生成判断结果;    所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR,使得所述同步装置仅存储一条包含所述第一LCR的关键字的LCR;    所述同步装置将所述处理后的LCR发送给目的数据库。

【技术特征摘要】
一种源数据库和目的数据库之间数据同步的方法,其特征在于,包括同步装置从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字;所述同步装置判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一LCR的关键字相同,生成判断结果;所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR,使得所述同步装置仅存储一条包含所述第一LCR的关键字的LCR;所述同步装置将所述处理后的LCR发送给目的数据库。2. 根据权利要求l所述的源数据库和目的数据库进行数据同步的方法,其特征在于,所述M步装置根据所述判断结果,对所述第- LCR进行处理,生成处理后的LCR的步骤包括当所述判断结果为是时,所述同步装置根据所述第-- LCR的操作类型和所述第二 LCR的操作类型,对所述第一 LCR和所述第二 LCR进行归并,生成处理后的LCR ;当所述判断结果为否时,所述同歩装置在其自身存储所述第-一LCR,作为处理后的LCR。3. 根据权利要求i所述的源数据库和目的数据库之间数据同歩的方法,其特征在于,所述同步装置根据所述第一 LCR的操作类型和所述第二 LCR的操作类型,对所述第一 LCR和所述第二 LCR进行归并,生成处理后的LCR的步骤具体为当所述第一 LCR的操作类型为插入,并且所述第二 LCR的操作类型为插入或者更新时,将所述第二 LCR作为所述处理后LCR ;或者当所述第一 LCR的操作类型为插入,并且所述第二 LCR的操作类型为删除时,将所述第二 LCR的类型改为更新,并将第一 LCR的各字段值覆盖到第二 LCR的相应字段值上,生成所述处理后LCR ;或者当所述第-一 LCR的操作类型为更新类型,并目.所述第二 LCR的操作类型为插入或更新时,将所述第一 LCR中的各字段值覆盖到所述第二 LCR的相应字段值上,生成所述处理后LCR ;或者当所述第一 LCR的操作类型为更新或删除,并且所述第二 LCR的操作类型为删除类型时,将所述第二 LCR作为所述处理后LCR ;或者当所述第一 LCR的操作类型为删除,并且所述第二 LCR的操作类型为插入时,则将所述第-一 LCR作为所述处理后LCR ;或者当所述第一 LCR的操作类型为删除,并且所述第二 LCR的操作类型为更新时,则将所述第一 LCR类型修改为删除,作为所述处理后LCR。4. 根据权...

【专利技术属性】
技术研发人员:丁奇鹏
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1