[go: up one dir, main page]

CN101697169A - 源数据库和目的数据库之间数据同步的方法、装置及系统 - Google Patents

源数据库和目的数据库之间数据同步的方法、装置及系统 Download PDF

Info

Publication number
CN101697169A
CN101697169A CN200910236502A CN200910236502A CN101697169A CN 101697169 A CN101697169 A CN 101697169A CN 200910236502 A CN200910236502 A CN 200910236502A CN 200910236502 A CN200910236502 A CN 200910236502A CN 101697169 A CN101697169 A CN 101697169A
Authority
CN
China
Prior art keywords
lcr
synchronous device
action type
data storehouse
destination data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200910236502A
Other languages
English (en)
Inventor
丁奇鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN200910236502A priority Critical patent/CN101697169A/zh
Priority to US13/258,244 priority patent/US8655836B2/en
Priority to BR112012008917-0A priority patent/BR112012008917A2/pt
Priority to PCT/CN2010/071725 priority patent/WO2010145277A1/zh
Priority to EP10788673.1A priority patent/EP2472415A4/en
Publication of CN101697169A publication Critical patent/CN101697169A/zh
Priority to IN2888DEN2012 priority patent/IN2012DN02888A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Numerical Control (AREA)

Abstract

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

Description

源数据库和目的数据库之间数据同步的方法、装置及系统
技术领域
本发明涉及数据库领域,特别是指一种源数据库和目的数据库之间数据同步的方法、装置及系统。
背景技术
自从1970年E.F.Codd博士提出最初的理论模型以来,关系型数据库已经成为所有信息系统中必不可少的基础设施之一,其重要性仅次于操作系统,如今已经没有哪个大型的系统能够脱离数据库而存在。
在实际应用中,由于业务逻辑的复杂性和功能的模块化设计,往往一个信息系统中会部署有多套数据库,而且这多套数据库之间需要协同合作共享数据,这就要求各数据库之间能够实现数据同步。为了实现这个目标,各主流数据库厂商都推出了自己的数据同步技术,如Oracle(甲骨文系统有限公司)的Streams、Sybase(赛贝斯软件有限公司)的Replication Server等,其基本原理如图1所示,抓取源数据库的redo log(数据库日志)中的LCR(Logical ChangeRecord,逻辑变化记录),然后到目的数据库上按照LCR发生的顺序一条条进行应用,从而实现目的库数据与源库数据一致。
LCR是数据库界对数据库变动记录的通称。一条LCR体现了源数据库中一条特定记录上的一次特定DML(数据库操作语言)操作,其中内容包含了:操作类型、变动字段列表、字段变化前值、字段变化后值、主键字段名、主键字段值等,依据这些信息,就可以将这个DML操作复现。
当前数据同步技术有以下缺点:
源数据库将所有变动的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的类型改为更新,并将第一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的关键字为所述第一LCD的主键或者标识。
另一方面,本发明提供一种同步装置,其特征在于,包括:
获取单元,用于从源数据库获取至少一个第一逻辑变化记录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的工作量变小。
附图说明
图1是传统的数据同步过程示意图;
图2是本发明所述的源数据库和目的数据库之间数据同步的方法的流程示意图;
图3是本发明所述的同步装置的结构示意图;
图4是本发明所述的同步系统的结构示意图;
图5是本发明所述的源数据库和目的数据库之间数据同步方法的过程示意图;
图6是本发明所述的源数据库和目的数据库之间数据同步方法的的实施例的过程示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例针对现有技术中源数据库和目的数据库之间数据同步时,传输LCR的工作量大的问题,提供一种源数据库和目的数据库之间数据同步的方法、装置及系统。
如图2所示,为本发明所述的源数据库和目的数据库之间数据同步的方法,包括:
步骤21,同步装置从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字;
步骤22,所述同步装置判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一LCR的关键字相同,生成判断结果;
步骤23,所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR,使得所述同步装置仅存储一条包含所述第一LCR的关键字的LCR;
步骤24,所述同步装置将所述处理后的LCR发送给目的数据库。
上述方案中,当源数据库和目的数据库之间数据同步时,并不是将所有变动的LCR都一条不少地传往目的数据库,而是先在同步装置进行缓冲,这样即使当源数据库变动很频繁时,每次同步装置从源数据库获取到第一LCR时,先在同步装置内部进行处理,即,所述同步装置判断其自身是否存在包含所述第一LCR的关键字的第二LCR,生成判断结果;所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR,使得所述同步装置仅存储一条包含所述第一LCR的关键字的LCR,然后将所述处理后LCR传输给LCR,与现有技术相比,传输LCR的工作量变小。
其中,所述步骤23包括:
当所述判断结果为是时,所述同步装置根据所述第一LCR的操作类型和所述第二LCR的操作类型,对所述第一LCR和所述第二LCR进行归并,生成处理后的LCR;
当所述判断结果为否时,所述同步装置在其自身存储所述第一LCR,作为处理后的LCR。
其中,所述同步装置根据所述第一LCR的操作类型和所述第二LCR的操作类型,对所述第一LCR和所述第二LCR进行归并,生成处理后的LCR的步骤具体为:
当所述第一LCR的操作类型为插入insert,并且所述第二LCR的操作类型为insert或者更新update时,将所述第二LCR作为所述处理后LCR;
当所述第一LCR的操作类型为插入insert,并且所述第二LCR的操作类型为delete时,将所述第二LCR的类型改为update,并将第一LCR的各字段值覆盖到第二LCR的相应字段值上,生成所述处理后LCR;
当所述第一LCR的操作类型为update类型,并且所述第二LCR的操作类型为insert或update时,将所述第一LCR中的各字段值覆盖到所述第二LCR的相应字段值上,生成所述处理后LCR;
当所述第一LCR的操作类型为update或delete,并且所述第二LCR的操作类型为delete类型时,将所述第二LCR作为所述处理后LCR;
当所述第一LCR的操作类型为delete,并且所述第二LCR的操作类型为insert时,则将所述第一LCR作为所述处理后LCR;
当所述第一LCR的操作类型为delete,并且所述第二LCR的操作类型为update时,则将所述第二LCR类型修改为delete,作为所述处理后LCR。
步骤24可以为:所述同步装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库。
所述同步装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库的步骤为:
当所述处理后的LCR的数量达到预定阈值时,所述同步装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库;或
所述同步装置每隔固定时间周期,以批量绑定的方式,将所述处理后的LCR发送给目的数据库。
所述第一LCR的关键字为所述第一LCD的主键或者标识。
如图3所示,为本发明所述的一种同步装置30,包括:
获取单元31,用于从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字;
判断单元32,用于判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一LCR的关键字相同,生成判断结果;
处理单元33,用于根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR;
发送单元34,用于将所述处理后的LCR发送给目的数据库。
上述方案中,当源数据库和目的数据库之间数据同步时,并不是将所有变动的LCR都一条不少地传往目的数据库,而是先在同步装置进行缓冲,这样即使当源数据库变动很频繁时,每次同步装置从源数据库获取到第一LCR时,先在同步装置内部进行处理,即,所述同步装置判断其自身是否存在包含所述第一LCR的关键字的第二LCR,生成判断结果;所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR,使得所述同步装置仅存储一条包含所述第一LCR的关键字的LCR,然后将所述处理后LCR传输给LCR,与现有技术相比,传输LCR的工作量变小。
所述处理单元33包括:
归并单元,用于当所述判断结果为是时,所述同步装置根据所述第一LCR的操作类型和所述第二LCR的操作类型,对所述第一LCR和所述第二LCR进行归并,生成处理后的LCR;
存储单元,用于当所述判断结果为否时,所述同步装置在其自身存储所述第一LCR,作为处理后的LCR。
归并单元具体为:
当所述第一LCR的操作类型为插入insert,并且所述第二LCR的操作类型为insert或者更新update时,将所述第二LCR作为所述处理后LCR;
当所述第一LCR的操作类型为插入insert,并且所述第二LCR的操作类型为delete时,将所述第二LCR的类型改为update,并将第一LCR的各字段值覆盖到第二LCR的相应字段值上,生成所述处理后LCR;
当所述第一LCR的操作类型为update类型,并且所述第二LCR的操作类型为insert或update时,将所述第一LCR中的字段值各覆盖到所述第二LCR的相应字段值上,生成所述处理后LCR;
当所述第一LCR的操作类型为update或delete,并且所述第二LCR的操作类型为delete类型时,将所述第二LCR作为所述处理后LCR;
当所述第一LCR的操作类型为delete,并且所述第二LCR的操作类型为insert时,则将所述第一LCR作为所述处理后LCR;
当所述第一LCR的操作类型为delete,并且所述第二LCR的操作类型为update时,则将所述第二LCR类型修改为delete,作为所述处理后LCR。
其中,发送单元34为:以批量绑定的方式,将所述处理后的LCR发送给目的数据库。进一步,发送单元34为:当所述处理后的LCR的数量达到预定阈值时,所述同步装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库;或所述同步装置每隔固定时间周期,以批量绑定的方式,将所述处理后的LCR发送给目的数据库。所述第一LCR的关键字为所述第一LCD的主键或者标识。
如图4所示,本发明所述的同步系统,包括同步装置30、源数据库40以及目的数据库50,所述同步装置30包括:
获取单元31,用于从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字;
判断单元32,用于判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一LCR的关键字相同,生成判断结果;
处理单元33,用于根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR;
发送单元34,用于将所述处理后的LCR发送给所述目的数据库。
上述方案中,当源数据库和目的数据库之间数据同步时,并不是将所有变动的LCR都一条不少地传往目的数据库,而是先在同步装置进行缓冲,这样即使当源数据库变动很频繁时,每次同步装置从源数据库获取到第一LCR时,先在同步装置内部进行处理,即,所述同步装置判断其自身是否存在包含所述第一LCR的关键字的第二LCR,生成判断结果;所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR,使得所述同步装置仅存储一条包含所述第一LCR的关键字的LCR,然后将所述处理后LCR传输给LCR,与现有技术相比,传输LCR的工作量变小。
所述同步装置设置在所述源数据库或者所述目的数据库上,或者独立于所述源数据库和所述目的数据库。
如图5所示,为本发明所述的基于失步镜像机制的数据高速同步方法的示意图,将源数据库的LCR先缓存到缓冲池中,缓冲池为同步装置,如果某记录的LCR已经存在,则进行LCR归并,m为归并过程中被合并的LCR数目,使缓冲池中由某一特定关键字值确定的LCR只有一条,经过一段时间后,再将归并过的LCR向目的库入库,这种模式看起来就好像同步过程中“丢失”了若干LCR,而且实际上缓冲池中存在的LCR就是原始记录的以特殊形式存在的镜像,因此这种同步模式被称之为“失步镜像”。这种模式减少需要传送到目的库中去执行的LCR的数量,节约了系统资源,减小了对目的数据库主业务的影响。同时,由于缓存池中针对同一记录的LCR只存在一次,因此可以采取批量绑定技术实现批量入库,这样提高了入库速度。本方法针对不同类型的DML在缓冲池中合并时的情况建立一套合并规则、并对池中最终归并好的LCR进行定时或定量的批量绑定入库来实现以上目标。
以下描述本发明所述的源数据库和目的数据库之间数据同步的方法的实施例,包括以下步骤:
步骤一,在一台同时连接源数据库和目的数据库的机器上,该机器为上述的同步装置,分配一个适当大小的缓冲池,该缓冲池可以完全驻留在系统内存中,当系统内存不足以容纳缓冲池大小时,也应当可以以扩展存储到磁盘上。
步骤二,在该缓冲池中建立一套数据管理机制,该机制可以实现:
将一条LCR存储下来;
根据关键字值判定符合条件的LCR是否存在;也就是说,判断包含新的LCR的关键字的LCR是否存储在;关键字可以为新的LCR的主键;
根据新的LCR的关键字值从池内查找到符合条件的LCR;
根据关键字值定位到符合条件的LCR并对其进行更新;
根据关键字值快速定位到符合条件的LCR并对其进行删除。
步骤三,从源数据库的redo log(数据库日志)中获取LCR,并发送到缓冲池。
步骤四,缓冲池接收到LCR后,利用其自身具有的处理LCR功能,对LCR进行存储或者归并动作。
步骤五,为保证同步过程的及时性,设定两种阀值。
第一种为数量阀值,即当缓冲池内缓存的LCR达到一定数量时,就将这些数据发送到目的库进行应用;
第二种为时间阀值,即从上一次将数据发送到目的库进行应用后已经经过了时间阀值设定的时长,那么就将这些数据发送到目的库进行应用。
步骤六,当第五条所涉及的两种阀值中的任一种满足条件时,将数据以批量绑定执行的方式应用到目的库中。
本方法需要设立一个缓冲池,并且缓冲池中需要建立一套管理LCR的机制,并且LCR存在于缓冲池期间,如果遇到关键字重复的LCR,进行归并,减少了LCR的总量;LCR先缓存在缓冲池中一段时间,然后才被应用到目的库中;有定时和定量两种入库触发条件,保证了LCR应用的及时性;使用批量绑定技术,实现了高速入库。
如图6所示,以下描述本发明所述的源数据库和目的数据库之间数据同步的方法的另一实施例,具体步骤如下:
步骤一,确认主机可以同时连通源数据库和目的数据库,并具备操作源库和目的库所需的基础软件,如oci库,ct-lib库等,该主机为同步装置。
步骤二,分配一个适当大小的缓冲池,该缓冲池可以完全驻留在系统内存中,当系统内存有限不足以容纳缓冲池大小时,可以扩展存储到磁盘上。
步骤三,在缓冲池中建立一套基于hash或b-tree或rbt等技术的快速索引机制,利用此机制,可以快速增加、删除、修改、查找LCR记录。
步骤四,在池中建立一套LCR归并机制,具体如下:
情况1、新来一条insert类型的LCR,如果发现此时缓冲池中:
1.1没有已存在的关键字重复的LCR,则将此新LCR存入缓冲池;
1.2已经存在一条关键字重复的insert LCR,则丢弃新来的LCR,并记录此异常情况;
1.3已经存在一条关键字重复的update LCR,则丢弃新来的LCR,并记录此异常情况;
1.4已经存在一条关键字重复的delete LCR,则将原LCR的类型改为update,并将新insert LCR的各字段新值覆盖到原LCR相应字段值上。
情况2、新来一条update类型的LCR,如果发现此时缓冲池中:
2.1没有已存在的关键字重复的LCR,则将此新LCR存入缓冲池;
2.2已经存在一条关键字重复的insert LCR,则将新来的LCR中的各字段新值覆盖到原LCR相应字段值上,原LCR类型维持insert不变;
2.3已经存在一条关键字重复的update LCR,则将新来的LCR中的各字段新值覆盖到原LCR相应字段值上,原LCR类型维持update不变;
2.4已经存在一条关键字重复的delete LCR,则丢弃新来的LCR,并记录此异常情况。
情况3、新来一条delete类型的LCR,如果发现此时缓冲池中:
3.1没有已存在的关键字重复的LCR,则将此新LCR存入缓冲池;
3.2已经存在一条关键字重复的insert LCR,则将原有的LCR删除;
3.3已经存在一条关键字重复的update LCR,则将原有的LCR类型修改为delete;
3.4已经存在一条关键字重复的delete LCR,则丢弃新来的LCR,并记录此异常情况。
步骤五,为缓冲池设定数量阀值和时间阀值;
步骤六,检测缓冲池内LCR数量,如果未达到数量阀值,则跳转到步骤七,如果已经达到数量阀值,则锁定缓冲池,禁止新的LCR入池,然后动用批量入库机制,将池内所有LCR应用到目的数据库,批量入库过程中遇到的错误,应记录下来。当入库动作完成后,将时间点记录下来。回到步骤七。
步骤七,检测当前时间距上次入库动作完成的时间点是否已经超过了时间阀值,如果没有,则回到步骤六执行,如果达到了,则动用批量入库机制,将池内所有LCR应用到目的数据库,记录批量入库过程中遇到的错误。当入库动作完成后,将时间点记录下来。回到步骤六。
下面描述本发明所述的源数据库和目的数据库之间数据同步的方法的第一应用场景。该应用场景中,一个LCR在缓冲池中未遇到重复关键字的情况下,经数量条件触发并被应用到目的库。包括以下步骤:
步骤一,假定源数据库和目的数据库中都存在表DEMO_TAB,定义如下:
CREATE TABLE DEMO_TAB(
FLD_A NUMBER PRIMARY KEY,
FLD_B CHAR(100),
FLD_C VARCHAR(100))。
该表四个字段代表了三种最常用的数据类型,其中FLD_A为主键。
步骤二,在源数据库中执行N次INSERT动作:
INSERT INTO DEMO_TAB VALUES(1,’CHAR1’,’VARCHAR1’);
INSERT INTO DEMO_TAB VALUES(2,’CHAR2’,’VARCHAR2’);
INSERT INTO DEMO_TAB VALUES(N,’CHARN’,’VARCHARN’);
步骤三,通过LCR抓捕机制,抓取到这N次INSERT动作,抓到的LCR内容为:
LCR1内容:
表名:DEMO_TAB  操作类型:INSERT
字段原值列表:无(INSERT动作无原值列表)
字段新值列表:
字段1名字:FLD_A字段1类型:NUMBER  字段1值:1
字段2名字:FLD_B字段2类型:CHAR    字段2值:CHAR1
字段3名字:FLD_C字段3类型:VARCHAR 字段3值:VARCHAR1
(后续LCR内容与LCR1类似,仅字段值不同)
步骤四,这N个LCR被发送到缓冲池。
步骤五,经查找,池内不查找关键字与这些新来LCR关键字重复的LCR。
步骤六,这N个LCR被存储入缓冲池。
步骤七,对池内LCR数量进行检测,发现总LCR数量已经超过数量阀值。
步骤八,锁定缓冲池,禁止新的LCR入池。
步骤九,利用批量绑定技术,将池内LCR一次性高速入库。
步骤十,对缓冲池解锁。
下面描述本发明所述的源数据库和目的数据库之间数据同步的方法的第二应用场景。该应用场景中,一个新的LCR在缓冲池中遇到关键字重复的LCR情况下,经时间条件触发并被应用到目的库的过程。包括以下步骤:
步骤一,表结构沿用上一应用场景中步骤一表,并且往其中插入一条记录:
INSERT INTO DEMO_TAB VALUES(1,’CHAR1’,’VARCHAR1’);
步骤二,在源数据库中针对这一条记录执行N次UPDATE动作:
UPDATE DEMO_TAB SET FLD_B=’NEWCHAR1’,
FLD_C=’NEWVARCHAR1’WHERE FLD_A=1;
UPDATE DEMO_TAB SET FLD_B=’NEWCHAR2’,
FLD_C=’NEWVARCHAR2’WHERE FLD_A=1;
UPDATE DEMO_TAB SET FLD_B=’NEWCHARN’,
FLD_C=’NEWVARCHARN’WHERE FLD_A=1;
步骤三,通过LCR抓捕机制,抓取到这N次UPDATE动作,抓到的LCR内容为:
LCR1内容:
表名:DEMO_TAB  操作类型:UPDATE
字段原值列表:
字段2名字:FLD_B字段2类型:CHAR    字段2值:CHAR1
字段3名字:FLD_C字段3类型:VARCHAR 字段3值:VARCHAR1
字段新值列表:
字段2名字:FLD_B字段2类型:CHAR    字段2值:NEWCHAR1
字段3名字:FLD_C字段3类型:VARCHAR 字段3值:NEWVARCHAR1
关键字信息:
字段1名字:FLD_A字段1类型:NUMBER  字段1值:1
(后续LCR内容与LCR1类似,仅新值列表中字段值不同)
步骤四,这N个LCR被依次发送到缓冲池。
步骤五,经查找,池内无任何关键字与LCR1关键字重复的LCR。
步骤六,LCR1被存储入缓冲池。
步骤七,LCR2入池检测时,发现已有关键字重复的LCR1存在,因此按照归并原则进行归并:将池内LCR1的新值列表中每个字段的值替换为LCR2中新值列表中的相应字段值,然后将LCR2丢弃。然后针对后续来到的每一个LCR,一直重复此过程,直到LCRN被丢弃。
步骤八,对池内LCR数量进行检测,发现总LCR数量未超过数量阀值。
步骤九,检测从上次入库动作完成开始到现在的时间是否已经超过了时间阀值,发现已经超过。
步骤十,锁定缓冲池,禁止新的LCR入池。
步骤十一,利用批量绑定技术,将池内LCR一次性高速入库。
步骤十二,对缓冲池解锁。
本发明所述的利用失步镜像机制实现数据高速同步的方法、装置、系统,能通过批量绑定技术进行优化快速入库,目的数据库不需要将源库传来的所有LCR逐一应用,提高了同步速度。
所述方法实施例是与所述装置实施例相对应的,在方法实施例中未详细描述的部分参照装置实施例中相关部分的描述即可,在装置实施例中未详细描述的部分参照方法实施例中相关部分的描述即可。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储介质,如:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,对各步骤的先后变化也在本发明的保护范围之内。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种源数据库和目的数据库之间数据同步的方法,其特征在于,包括:
同步装置从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字;
所述同步装置判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一LCR的关键字相同,生成判断结果;
所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR,使得所述同步装置仅存储一条包含所述第一LCR的关键字的LCR;
所述同步装置将所述处理后的LCR发送给目的数据库。
2.根据权利要求1所述的源数据库和目的数据库进行数据同步的方法,其特征在于,所述同步装置根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR的步骤包括:
当所述判断结果为是时,所述同步装置根据所述第一LCR的操作类型和所述第二LCR的操作类型,对所述第一LCR和所述第二LCR进行归并,生成处理后的LCR;
当所述判断结果为否时,所述同步装置在其自身存储所述第一LCR,作为处理后的LCR。
3.根据权利要求1所述的源数据库和目的数据库之间数据同步的方法,其特征在于,所述同步装置根据所述第一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.根据权利要求1所述的源数据库和目的数据库之间数据同步的方法,其特征在于,所述同步装置将所述处理后的LCR发送给目的数据库的步骤为:
所述同步装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库。
5.根据权利要求1所述的源数据库和目的数据库之间数据同步的方法,其特征在于,所述同步装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库的步骤为:
当所述处理后的LCR的数量达到预定阈值时,所述同步装置以批量绑定的方式,将所述处理后的LCR发送给目的数据库;或
所述同步装置以批量绑定的方式,以固定时间周期,将所述处理后的LCR发送给目的数据库。
6.根据权利要求1所述的源数据库和目的数据库进行数据同步的方法,其特征在于,所述第一LCR的关键字为所述第一LCD的主键或者标识。
7.一种同步装置,其特征在于,包括:
获取单元,用于从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字;
判断单元,用于判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一LCR的关键字相同,生成判断结果;
处理单元,用于根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR;
发送单元,用于将所述处理后的LCR发送给目的数据库。
8.根据权利要求7所述的同步装置,其特征在于,所述处理单元包括:
归并单元,用于当所述判断结果为是时,所述同步装置根据所述第一LCR的操作类型和所述第二LCR的操作类型,对所述第一LCR和所述第二LCR进行归并,生成处理后的LCR;
存储单元,用于当所述判断结果为否时,所述同步装置在其自身存储所述第一LCR,作为处理后的LCR。
9.一种同步系统,包括同步装置、源数据库以及目的数据库,其特征在于,所述同步装置包括:,
获取单元,用于从源数据库获取至少一个第一逻辑变化记录LCR及所述第一逻辑变化记录的关键字;
判断单元,用于判断其自身是否存在第二LCR,所述第二LCR的关键字与所述第一LCR的关键字相同,生成判断结果;
处理单元,用于根据所述判断结果,对所述第一LCR进行处理,生成处理后的LCR;
发送单元,用于将所述处理后的LCR发送给所述目的数据库。
10.根据权利要求9所述的同步系统,其特征在于,所述同步装置设置在所述源数据库或者所述目的数据库上,或者独立于所述源数据库和所述目的数据库。
CN200910236502A 2009-10-23 2009-10-23 源数据库和目的数据库之间数据同步的方法、装置及系统 Pending CN101697169A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN200910236502A CN101697169A (zh) 2009-10-23 2009-10-23 源数据库和目的数据库之间数据同步的方法、装置及系统
US13/258,244 US8655836B2 (en) 2009-10-23 2010-04-13 Method, device and system for implementing data synchronization between source database and target database
BR112012008917-0A BR112012008917A2 (pt) 2009-10-23 2010-04-13 método para implementar sincronização de dados entre um banco de dados fonte e um banco de dados alvo, dispositivo de sincronização e sistema de sincronização
PCT/CN2010/071725 WO2010145277A1 (zh) 2009-10-23 2010-04-13 源数据库和目的数据库之间数据同步的方法、装置及系统
EP10788673.1A EP2472415A4 (en) 2009-10-23 2010-04-13 METHOD, DEVICE AND SYSTEM FOR IMPLEMENTING DATA SYNCHRONIZATION BETWEEN AN ORIGINAL DATABASE AND A DESTINATION DATABASE
IN2888DEN2012 IN2012DN02888A (zh) 2009-10-23 2012-04-03

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910236502A CN101697169A (zh) 2009-10-23 2009-10-23 源数据库和目的数据库之间数据同步的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN101697169A true CN101697169A (zh) 2010-04-21

Family

ID=42142274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910236502A Pending CN101697169A (zh) 2009-10-23 2009-10-23 源数据库和目的数据库之间数据同步的方法、装置及系统

Country Status (6)

Country Link
US (1) US8655836B2 (zh)
EP (1) EP2472415A4 (zh)
CN (1) CN101697169A (zh)
BR (1) BR112012008917A2 (zh)
IN (1) IN2012DN02888A (zh)
WO (1) WO2010145277A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807210A (zh) * 2010-04-26 2010-08-18 中兴通讯股份有限公司 一种数据库间数据同步的方法、系统及设备
CN102426611A (zh) * 2012-01-13 2012-04-25 广州从兴电子开发有限公司 一种数据库同步方法及装置
CN102662946A (zh) * 2012-02-20 2012-09-12 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和系统
CN103186614A (zh) * 2011-12-30 2013-07-03 鼎捷软件股份有限公司 电子数据同步方法及电子数据同步处理系统
CN104834700A (zh) * 2015-04-27 2015-08-12 南京邮电大学 一种基于轨迹变更的移动数据增量捕获方法
CN105447054A (zh) * 2014-09-25 2016-03-30 中兴通讯股份有限公司 一种数据库的数据同步方法、装置及系统
CN105989192A (zh) * 2015-03-17 2016-10-05 日本电气株式会社 列存储数据库管理系统
CN106708891A (zh) * 2015-11-17 2017-05-24 中兴通讯股份有限公司 一种网管数据同步方法及装置
CN107679232A (zh) * 2017-10-24 2018-02-09 安徽马钢自动化信息技术有限公司 一种sap hana源数据库与其他数据库的同步方法
CN109033186A (zh) * 2018-06-27 2018-12-18 东软集团股份有限公司 数据一致性检测方法、装置、存储介质及电子设备
CN109408565A (zh) * 2018-10-19 2019-03-01 浪潮软件集团有限公司 一种数据同步交互方法、系统和数据交互平台
CN112463786A (zh) * 2020-12-10 2021-03-09 上海携宁计算机科技股份有限公司 数据同步方法、系统、服务器及存储介质
CN113531795A (zh) * 2018-10-11 2021-10-22 富士通将军股份有限公司 空调机、数据发送方法以及空调系统

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697169A (zh) * 2009-10-23 2010-04-21 中兴通讯股份有限公司 源数据库和目的数据库之间数据同步的方法、装置及系统
US20120253864A1 (en) * 2011-03-31 2012-10-04 Infosys Technologies, Ltd. Methods for recording and tracking projects and devices thereof
US8935207B2 (en) 2013-02-14 2015-01-13 Sap Se Inspecting replicated data
US10027728B2 (en) * 2015-03-06 2018-07-17 Ebay Inc. Systems and methods of streaming data
CN107273051B (zh) * 2017-05-15 2018-07-03 北京华云网际科技有限公司 Io数据的读写方法和装置
US10824643B2 (en) * 2017-11-15 2020-11-03 International Business Machines Corporation Data replication in a database environment
US11120047B1 (en) * 2018-08-22 2021-09-14 Gravic, Inc. Method and apparatus for continuously comparing two databases which are actively being kept synchronized
US11061926B2 (en) 2018-10-02 2021-07-13 Target Brands, Inc. Data warehouse management and synchronization systems and methods
KR102119258B1 (ko) * 2018-11-14 2020-06-05 주식회사 실크로드소프트 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
CN112346647B (zh) * 2019-08-06 2024-03-29 浙江宇视科技有限公司 数据存储方法、装置、设备和介质
CN111459954A (zh) * 2020-03-04 2020-07-28 深圳壹账通智能科技有限公司 分布式数据同步方法、装置、设备及介质
CN112862579B (zh) * 2021-01-21 2024-10-29 金蝶软件(中国)有限公司 一种物料明细数据的调整方法及其相关设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1262481A (zh) 1999-01-27 2000-08-09 电话通有限公司 多个数据库的同步方法及装置
SE515459C2 (sv) 1999-02-10 2001-08-06 Ericsson Telefon Ab L M Metod för att synkronisera en värddatabas och en fjärrdatabas
US6798191B1 (en) * 1999-08-09 2004-09-28 Power Measurement Ltd. Revenue meter with a graphic user interface being operative to display scalable objects
US7685183B2 (en) * 2000-09-01 2010-03-23 OP40, Inc System and method for synchronizing assets on multi-tiered networks
US6980988B1 (en) * 2001-10-01 2005-12-27 Oracle International Corporation Method of applying changes to a standby database system
US7031974B1 (en) * 2002-08-01 2006-04-18 Oracle International Corporation Replicating DDL changes using streams
US6889231B1 (en) * 2002-08-01 2005-05-03 Oracle International Corporation Asynchronous information sharing system
US20040193952A1 (en) * 2003-03-27 2004-09-30 Charumathy Narayanan Consistency unit replication in application-defined systems
US7962481B2 (en) * 2003-09-04 2011-06-14 Oracle International Corporation Query based invalidation subscription
US20050076068A1 (en) * 2003-09-22 2005-04-07 Fowler Paul C. System and method of synchronizing data in multi-user computer network
US20060004838A1 (en) * 2004-05-14 2006-01-05 Oracle International Corporation Sharing large objects in distributed systems
US20060047713A1 (en) * 2004-08-03 2006-03-02 Wisdomforce Technologies, Inc. System and method for database replication by interception of in memory transactional change records
US20070038642A1 (en) * 2004-09-15 2007-02-15 Scott Durgin Method for providing extensible software components within a distributed synchronization system
CN100445995C (zh) 2005-03-29 2008-12-24 威盛电子股份有限公司 数据库同步系统与方法
US7657574B2 (en) 2005-06-03 2010-02-02 Microsoft Corporation Persistent storage file change tracking
AU2006297023B2 (en) 2005-09-29 2010-09-09 Blackberry Limited Efficient database synchronization by comparing representative information
US20070255763A1 (en) * 2006-04-27 2007-11-01 International Business Machines Corporation Database replication method and system
EP2098010A1 (en) * 2006-11-30 2009-09-09 WANLESS, James Andrew A method and system for providing automated real-time contact information
US8880480B2 (en) * 2007-01-03 2014-11-04 Oracle International Corporation Method and apparatus for data rollback
US20110282706A1 (en) * 2007-08-20 2011-11-17 Timemaker Llc Organization management tool
US8086564B2 (en) * 2007-12-12 2011-12-27 Oracle International Corporation Techniques for the logical replication of high-level procedures
CN101551801B (zh) 2008-03-31 2013-05-22 国际商业机器公司 数据同步的方法和系统
US8037040B2 (en) * 2008-08-08 2011-10-11 Oracle International Corporation Generating continuous query notifications
CN101369283A (zh) * 2008-09-25 2009-02-18 中兴通讯股份有限公司 一种内存数据库与物理数据库间的数据同步方法及系统
US9230002B2 (en) * 2009-01-30 2016-01-05 Oracle International Corporation High performant information sharing and replication for single-publisher and multiple-subscriber configuration
CN101697169A (zh) * 2009-10-23 2010-04-21 中兴通讯股份有限公司 源数据库和目的数据库之间数据同步的方法、装置及系统
JP5593841B2 (ja) * 2010-05-28 2014-09-24 富士通株式会社 データベース装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807210A (zh) * 2010-04-26 2010-08-18 中兴通讯股份有限公司 一种数据库间数据同步的方法、系统及设备
CN103186614A (zh) * 2011-12-30 2013-07-03 鼎捷软件股份有限公司 电子数据同步方法及电子数据同步处理系统
CN103186614B (zh) * 2011-12-30 2016-04-13 鼎捷软件股份有限公司 电子数据同步方法及电子数据同步处理系统
CN102426611A (zh) * 2012-01-13 2012-04-25 广州从兴电子开发有限公司 一种数据库同步方法及装置
CN102662946A (zh) * 2012-02-20 2012-09-12 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和系统
CN102662946B (zh) * 2012-02-20 2015-10-07 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和系统
CN105447054A (zh) * 2014-09-25 2016-03-30 中兴通讯股份有限公司 一种数据库的数据同步方法、装置及系统
WO2016045285A1 (zh) * 2014-09-25 2016-03-31 中兴通讯股份有限公司 一种数据库的数据同步方法、装置及系统
CN105989192A (zh) * 2015-03-17 2016-10-05 日本电气株式会社 列存储数据库管理系统
CN104834700A (zh) * 2015-04-27 2015-08-12 南京邮电大学 一种基于轨迹变更的移动数据增量捕获方法
CN106708891A (zh) * 2015-11-17 2017-05-24 中兴通讯股份有限公司 一种网管数据同步方法及装置
CN107679232A (zh) * 2017-10-24 2018-02-09 安徽马钢自动化信息技术有限公司 一种sap hana源数据库与其他数据库的同步方法
CN109033186A (zh) * 2018-06-27 2018-12-18 东软集团股份有限公司 数据一致性检测方法、装置、存储介质及电子设备
CN109033186B (zh) * 2018-06-27 2020-11-27 东软集团股份有限公司 数据一致性检测方法、装置、存储介质及电子设备
CN113531795A (zh) * 2018-10-11 2021-10-22 富士通将军股份有限公司 空调机、数据发送方法以及空调系统
CN109408565A (zh) * 2018-10-19 2019-03-01 浪潮软件集团有限公司 一种数据同步交互方法、系统和数据交互平台
CN109408565B (zh) * 2018-10-19 2021-09-28 浪潮软件科技有限公司 一种数据同步交互方法、系统和数据交互平台
CN112463786A (zh) * 2020-12-10 2021-03-09 上海携宁计算机科技股份有限公司 数据同步方法、系统、服务器及存储介质
CN112463786B (zh) * 2020-12-10 2021-08-13 上海携宁计算机科技股份有限公司 数据同步方法、系统、服务器及存储介质

Also Published As

Publication number Publication date
EP2472415A1 (en) 2012-07-04
WO2010145277A1 (zh) 2010-12-23
US8655836B2 (en) 2014-02-18
EP2472415A4 (en) 2016-04-13
BR112012008917A2 (pt) 2020-07-07
IN2012DN02888A (zh) 2015-07-24
US20120185432A1 (en) 2012-07-19

Similar Documents

Publication Publication Date Title
CN101697169A (zh) 源数据库和目的数据库之间数据同步的方法、装置及系统
US11768739B2 (en) Manifest-based snapshots in distributed computing environments
CN112997167B (zh) 数据库系统中的任务调度
EP2429134B1 (en) Method and apparatus for checking and synchronizing data block in distributed file system
KR102025934B1 (ko) 분산형 시스템에서의 범위들의 분할 및 이동
CN107835983B (zh) 使用一致的数据库快照在分布式数据库中进行备份和还原
US10459917B2 (en) Pluggable storage system for distributed file systems
Lublinsky et al. Professional hadoop solutions
CN104040481B (zh) 用于融合、存储和检索增量式备份数据的方法和系统
JP2021513715A (ja) 分散データベースクラスタシステム、及びデータ同期方法
CN111324610A (zh) 一种数据同步的方法及装置
US7761412B2 (en) Synchronization move support systems and methods
CN102402596A (zh) 一种主从分离数据库的读写方法和系统
CN102214205A (zh) 带有自适应克隆的经聚类的数据库系统中的逻辑复制
US10650027B2 (en) Access accelerator for active HBase database regions
CN102122289A (zh) 分派冲突的数据变更
JP2005322250A5 (zh)
US10671565B2 (en) Partitioning target data to improve data replication performance
CN116881261B (zh) 一种基于Flink的实时整库入湖方法
KR20200056990A (ko) 분산형 데이터베이스에서의 인덱스 분할
CN112699118B (zh) 数据同步方法及相应的装置、系统、存储介质
US20240289329A1 (en) Technique for Parallel Recovery on Read Replica
WO2015187187A1 (en) Journal events in a file system and a database
WO2024177779A1 (en) Technique for parallel recovery on read replica
US10242025B2 (en) Efficient differential techniques for metafiles

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100421