增量数据抽取方法、装置及服务器制造方法及图纸

技术编号:20117653 阅读:30 留言:0更新日期:2019-01-16 12:02
本申请提供一种增量数据抽取方法、装置及服务器,方法包括:从源数据库系统中获取最新产生的增量数据对应的标识;依据获取的标识和本地已抽取的最后一条增量数据的标识,确定待抽取增量数据的标识范围;从源数据库系统中抽取并存储标识范围对应的增量数据。由于本申请不需要在源数据库系统中安装任何代理程序,便可实现增量数据的抽取,从而可以降低增量数据抽取对源数据库正常运行的影响。

Incremental Data Extraction Method, Device and Server

The application provides an incremental data extraction method, device and server, which includes: obtaining the identification corresponding to the latest incremental data generated from the source database system; determining the identification range of the incremental data to be extracted based on the acquired identification and the identification of the last incremental data extracted locally; extracting and storing the incremental corresponding to the identification range from the source database system. Data. Because this application does not need to install any agent program in the source database system, it can realize the extraction of incremental data, thus reducing the impact of incremental data extraction on the normal operation of the source database.

【技术实现步骤摘要】
增量数据抽取方法、装置及服务器
本申请涉及数据处理
,尤其涉及一种增量数据抽取方法、装置及服务器。
技术介绍
数据库同步技术通常应用在数据的容灾备份、业务分担等领域,而无论是同一类型数据库之间的同步,还是不同类型数据库之间的同步,在源数据库中进行的数据抽取是数据库同步技术的基础,常用的数据抽取方式有增量数据抽取。相关技术中的增量数据抽取,通常需要在源数据库系统中安装一个代理程序,由代理程序来完成增量数据的抽取,以及最终的同步。然而这种需要在源数据库系统中安装代理程序的抽取方式,与源数据库耦合比较深,在代理程序出现问题时,会对源数据库的正常运行造成影响。
技术实现思路
有鉴于此,本申请提供一种增量数据抽取方法、装置及服务器,以解决在源数据库系统安装代理程序抽取增量数据的方式,可能会导致源数据库无法正常运行的问题。根据本申请实施例的第一方面,提供一种增量数据抽取方法,所述方法应用于能够访问源数据库系统的服务器,所述方法包括:从所述源数据库系统中获取最新产生的增量数据对应的标识;依据获取的标识和本地已抽取的最后一条增量数据的标识,确定待抽取增量数据的标识范围;从所述源数据库系统中抽取并存储所述标识范围对应的增量数据。根据本申请实施例的第二方面,提供一种增量数据抽取装置,所述装置应用于能够访问源数据库系统的服务器,所述装置包括:获取模块,用于从所述源数据库系统中获取最新产生的增量数据对应的标识;确定模块,用于依据获取的标识和本地已抽取的最后一条增量数据的标识,确定待抽取增量数据的标识范围;抽取模块,用于从所述源数据库系统中抽取并存储所述标识范围对应的增量数据。根据本申请实施例的第三方面,提供一种服务器,所述设备包括可读存储介质和处理器;其中,所述可读存储介质,用于存储机器可执行指令;所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现上述所述的增量数据抽取方法的步骤。应用本申请实施例,通过能够访问源数据库系统的服务器,从源数据库系统中获取最新产生的增量数据对应的标识,并依据获取的标识和本地已抽取的最后一条增量数据的标识,确定待抽取增量数据的标识范围,然后再从源数据库系统中抽取并存储该标识范围对应的增量数据。基于上述描述可知,由于本申请不需要在源数据库系统中安装任何代理程序,便可实现增量数据的抽取,从而可以降低增量数据抽取对源数据库正常运行的影响。附图说明图1为本申请根据一示例性实施例示出的一种增量数据抽取方法的实施例流程图;图2为本申请根据一示例性实施例示出的另一种增量数据抽取方法的实施例流程图;图3为本申请根据一示例性实施例示出的一种服务器的硬件结构图;图4为本申请根据一示例性实施例示出的一种增量数据抽取装置的实施例结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。增量数据指的是数据库以某个时间点为基准,在此时间点之后,对数据库中数据的插入、修改和删除都属于增量数据。增量数据抽取技术,指的是要准确感知捕捉到这些增量数据变化,将这些变化数据提取出来。目前采用的增量数据抽取技术,由于需要在源数据库系统中安装一个代理程序(如oracle数据库的OWB工具、SqlServer数据库的IntegrationServices工具等),以抽取源数据库中变化的增量数据,这样增量数据的抽取过程与源数据库耦合比较深,如果抽取增量数据的代理程序出现问题,很可能对源数据库的正常运行造成影响。基于此,本申请通过能够访问源数据库系统的服务器完成增量数据的抽取和同步,对于增量数据的抽取过程,服务器可以从源数据库系统中获取最新产生的增量数据对应的标识,并依据该标识和本地已抽取的最后一条增量数据的标识,确定待抽取增量数据的标识范围,然后再从源数据库系统中抽取并存储该标识范围对应的增量数据。由于本申请不需要在源数据库系统中安装任何代理程序,便可实现增量数据的抽取,从而可以降低增量数据抽取对源数据库正常运行的影响。下面以具体实施例对本申请技术方案进行详细阐述。图1为本申请根据一示例性实施例示出的一种增量数据抽取方法的实施例流程图,该增量数据抽取方法可以应用在能够访问源数据库系统的服务器上,如图1所示,该增量数据抽取方法包括如下步骤:步骤101:从源数据库系统中获取最新产生的增量数据对应的标识。在一实施例中,由于源数据库系统中的重做日志(redologfile)是LGWR进程从数据库实例中的redologbuffer写入的,一个重做日志中包含多个redologfilegroup(重做日志组),每个redologfilegroup是循环利用的,即一个redologfilegroup写满后,才写下一个redologfilegroup;归档日志(archivelogfile)是当数据库运行在归档模式下时,一个redologfilegroup写满后,由ARCn进程将redologfilegroup记录的增量数据备份到归档日志中,然后再将该redologfilegroup清空,以用于下一次使用。通常归档日志结合全备份,是用于数据库出现问题后的恢复使用。基于上述描述可知,由于重做日志中的增量数据为最近一段时间内生成的增量数据,因此重做日志中的增量数据的实时性高于归档日志中的增量数据。从而服务器可以通过查询源数据库系统中重做日志组最新记录的增量数据对应的标识,并将查询到的标识确定为最新产生的增量数据对应的标识。其中,重做日志对于每条增量数据都标记有一个唯一标识、以用于区分不同增量数据,例如,每条增量数据的标识可以是其SCN值,即重做日志为每条增量数据,按照添加顺序依次为每条增量数据添加一个编号,即SCN值。因此服务器可以查询到每条增量数据的标识。重做日志记录的增量数据可以包括:生成该增量数据的生成时间点、变化数据所在的源表名称、变化数据内容以及操作类型,对于操作类型为插入类型的增量数据,其包含插入时间点、插入数据所在的源表名称、插入的数据内容以及插入标识I;对于操作类型为修改类型的增量数据,其包含修改时间点、修改数据所在的源表名称、修改前的数据内容和修改后的数据内容,以及修改标识U;对于操作类型为删除类型的增量数据,其包含删除时间点、删除数据所在的源本文档来自技高网...

【技术保护点】
1.一种增量数据抽取方法,其特征在于,所述方法应用于能够访问源数据库系统的服务器,所述方法包括:从所述源数据库系统中获取最新产生的增量数据对应的标识;依据获取的标识和本地已抽取的最后一条增量数据的标识,确定待抽取增量数据的标识范围;从所述源数据库系统中抽取并存储所述标识范围对应的增量数据。

【技术特征摘要】
1.一种增量数据抽取方法,其特征在于,所述方法应用于能够访问源数据库系统的服务器,所述方法包括:从所述源数据库系统中获取最新产生的增量数据对应的标识;依据获取的标识和本地已抽取的最后一条增量数据的标识,确定待抽取增量数据的标识范围;从所述源数据库系统中抽取并存储所述标识范围对应的增量数据。2.根据权利要求1所述的方法,其特征在于,从所述源数据库系统中抽取并存储所述标识范围对应的增量数据,包括:将所述标识范围划分为多段标识;通过运行各个抽取线程,并行从源数据库系统中抽取每段标识对应的增量数据;将抽取的增量数据按照标识从小到大进行排序,并将排序后的增量数据存入缓存。3.根据权利要求2所述的方法,其特征在于,并行从源数据库系统中抽取每段标识对应的增量数据,包括从所述源数据库系统中,获取每个重做日志组记录的增量数据的起止标识;针对每段标识,依据所述起止标识判断该段标识中是否存在重做日志组未记录的标识;若存在,则从归档日志中抽取所述重做日志组未记录的标识对应的增量数据,并确定该段标识除所述重做日志组未记录的标识之外其它标识所在的重做日志组,并从确定的重做日志组中抽取其它标识对应的增量数据;若不存在,则直接确定该段标识所在的重做日志组,并从确定的重做日志组中抽取该段标识对应的增量数据。4.根据权利要求2所述的方法,其特征在于,将排序后的增量数据存入缓存之后,所述方法还包括:从所述缓存中读取所述增量数据;通过运行各个处理线程,并行处理读取到的增量数据;其中,每个处理线程每次处理预设数量的增量数据;将处理后的增量数据按照标识从小到大进行排序之后,依次存储到预设消息队列中。5.一种增量数据抽取装置,其特征在于,所述装置应用于能够访问源数据库系统的服务器,所述装置包括:获取模块,用于从所述源数据库系统中获取最新产...

【专利技术属性】
技术研发人员:褚占峰王建毅徐辉王俊皓
申请(专利权)人:杭州数梦工场科技有限公司
类型:发明
国别省市:浙江,33

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

1