一种数据处理方法及系统技术方案

技术编号:28035340 阅读:18 留言:0更新日期:2021-04-09 23:17
本发明专利技术提供一种数据处理方法及系统,通过获取待抽取表清单;从待抽取表清单中抽取属于同一逻辑表的多个目标待抽取表;根据每张目标待抽取表对应的Oracle数据库的当前SCN号生成每张目标待抽取表的抽取任务;根据每张目标待抽取表的抽取任务从每张目标待抽取表对应的Oracle数据库中抽取每个目标待抽取表对应的目标数据;根据预先设置的逻辑表对应配置文件对逻辑表中各个目标待抽取表对应的目标数据进行合并,得到当前聚合数据文件;获取与逻辑表的名称一致的最近历史聚合数据文件,并将当前聚合数据文件与历史聚合数据文件进行比对,得到增量数据文件和删除数据文件。基于本发明专利技术,能够准确获取到业务系统的增量数据。

【技术实现步骤摘要】
一种数据处理方法及系统
本专利技术涉及计算机
,更具体地说,涉及一种数据处理方法及系统。
技术介绍
随着各企业的核心业务逐步从主机迁移至开放平台,核心业务系统也从单体系统,逐步分拆为独立模块,并有独立的数据库,为了保证各业务系统的可用性,各业务系统采用数据库集群的方式存储业务数据,并采用分库分表的方式对逻辑表进行拆分。在现有技术中,通过在主机数据库配置一个主机辅助库,并在数据交换中心中为每张数据表设置相应的增量提取规则,将主机数据库中的主句镜像同步到主机辅助库后,结合专用的数据抽取装置根据每张数据表对应的增量提取规则获取每张数据表对应的增量数据,并压缩成相应的数据文件,以便提供给需要的各个应用系统,如图1所示。但是,这种方式过分依赖增量规则,若增量规则的设计有误,或者数据表设计本身也存在一定的问题,就会导致无法获取到准确的增量数据。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据处理方法及系统,以实现获取准确的业务系统的增量数据为目的。本专利技术第一方面公开一种数据处理方法,所述方法包括:获取待抽取表清单,所述待抽取表清单至少包括多张待抽取表;从所述待抽取表清单中抽取属于同一逻辑表的多个目标待抽取表;根据每张所述目标待抽取表对应的Oracle数据库的当前SCN号生成每张所述目标待抽取表的抽取任务;根据每张所述目标待抽取表的抽取任务,从每张所述目标待抽取表对应的Oracle数据库中抽取每个所述目标待抽取表对应的目标数据;根据预先设置的所述逻辑表对应配置文件对所述逻辑表中各个所述目标待抽取表对应的目标数据进行合并,得到当前聚合数据文件;获取与所述逻辑表的名称一致的最近历史聚合数据文件,并将所述当前聚合数据文件与所述历史聚合数据文件进行比对,得到增量数据文件和删除数据文件。可选的,所述根据每张所述目标待抽取表对应的Oracle数据库的当前SCN号生成每张所述目标待抽取表的抽取任务,包括:获取每张所述目标待抽取表预先设置的并发执行任务数,以及每张所述目标待抽取表对应的Oracle数据库的当前SCN号和总数据范围;根据每张所述目标待抽取表的并发执行任务数和对应的Oracle数据库的总数据范围,确定每张所述目标待抽取表的每个任务负责抽取的数据范围;根据每张所述目标待抽取表的每个所述任务负责抽取的数据范围和对应的Oracle数据库的当前SCN号,生成每张所述目标待抽取表的每个所述任务对应的可执行数据抽取任务;其中,每张所述目标待抽取表的各个所述任务对应的可执行数据抽取任务构成每张所述目标待抽取表的抽取任务。可选的,所述根据每张所述目标待抽取表的抽取任务从每张所述目标待抽取表对应的Oracle数据库中抽取每张所述目标待抽取表对应的目标数据,包括:并行执行每张所述目标待抽取表的每个所述数据抽取任务,以便每个所述数据抽取任务根据对应的数据范围从对应的Oracle数据库中抽取相应的数据,得到每张所述目标待抽取表对应的目标数据。可选的,所述根据预先设置的所述逻辑表对应的配置文件对所述逻辑表中各个所述目标待抽取表对应的目标数据进行合并,得到当前聚合数据文件,包括:将各个所述目标待抽取表对应的目标数据聚合到所述逻辑表中,其中,所述目标数据包括所述目标数据所属的文件目录,以及多条业务数据,每条所述业务数据至少包括主键字段;获取预先设置的与所述逻辑表对应的配置文件,所述配置文件至少包括多个去重文件目录以及多个去重主键字段;根据所述多个去重文件目录和所述多个去重主键字段对所述逻辑表中的目标数据进行去重,得到当前聚合数据文件。可选的,所述将所述当前聚合数据文件与所述历史聚合数据文件进行比对,得到增量数据文件和删除数据文件,包括:将所述当前聚合数据文件中的每条业务数据分别与所述历史聚合数据文件中的每条业务数据进行比对;将仅在所述历史聚合数据文件中存在的业务数据标记为删除数据;将仅在所述当前聚合数据文件中存在的业务数据标记为新增数据;将所述当前聚合数据文件中与所述历史聚合数据文件存在相同主键字段不同字段值的业务数据标记为更新数据;根据标记为删除数据的多条业务数据生成删除数据文件,以及根据标记为新增数据的多条业务数据和标记为更新数据的多条业务数据生成增量数据文件。本专利技术第二方面公开一种数据处理系统,所述系统包括:第一获取单元,用于获取待抽取表清单,所述待抽取表清单至少包括多张待抽取表;第一抽取单元,用于从所述待抽取表清单中抽取属于同一逻辑表的多个目标待抽取表;抽取任务生成单元,用于根据每张所述目标待抽取表对应的Oracle数据库的当前SCN号生成每张所述目标待抽取表的抽取任务;第二抽取单元,用于根据每张所述目标待抽取表的抽取任务,从每张所述目标待抽取表对应的Oracle数据库中抽取每个所述目标待抽取表对应的目标数据;合并单元,用于根据预先设置的所述逻辑表对应配置文件对所述逻辑表中各个所述目标待抽取表对应的目标数据进行合并,得到当前聚合数据文件;比对单元,用于获取与所述逻辑表的名称一致的最近历史聚合数据文件,并将所述当前聚合数据文件与所述历史聚合数据文件进行比对,得到增量数据文件和删除数据文件。可选的,所述抽取任务生成单元,包括:第二获取单元,用于获取每张所述目标待抽取表预先设置的并发执行任务数,以及每张所述目标待抽取表对应的Oracle数据库的当前SCN号和总数据范围;确定单元,用于根据每张所述目标待抽取表的并发执行任务数和对应的Oracle数据库的总数据范围,确定每张所述目标待抽取表的每个任务负责抽取的数据范围;抽取任务生成子单元,用于根据每张所述目标待抽取表的每个所述任务负责抽取的数据范围和对应的Oracle数据库的当前SCN号,生成每张所述目标待抽取表的每个所述任务对应的可执行数据抽取任务;其中,每张所述目标待抽取表的各个所述任务对应的可执行数据抽取任务构成每张所述目标待抽取表的抽取任务。可选的,其特征在于,所述第二抽取单元,包括:第三抽取单元,用于并行执行每张所述目标待抽取表的每个所述数据抽取任务,以便每个所述数据抽取任务根据对应的数据范围从对应的Oracle数据库中抽取相应的数据,得到每张所述目标待抽取表对应的目标数据。可选的,所述合并单元,包括:聚合单元,用于将各个所述目标待抽取表对应的目标数据聚合到所述逻辑表中,其中,所述目标数据包括所述目标数据所属的文件目录,以及多条业务数据,每条所述业务数据至少包括主键字段;第三获取单元,用于获取预先设置的与所述逻辑表对应的配置文件,所述配置文件至少包括多个去重文件目录以及多个去重主键字段;去重单元,用于根据所述多个去重文件目录和所述多个去重主键字段对所述逻辑表中的目标数据进行去重,得到当前聚合数据文件。可选的,所述比对单元,包括:比对子单元,用于将所述当前本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:/n获取待抽取表清单,所述待抽取表清单至少包括多张待抽取表;/n从所述待抽取表清单中抽取属于同一逻辑表的多个目标待抽取表;/n根据每张所述目标待抽取表对应的Oracle数据库的当前SCN号生成每张所述目标待抽取表的抽取任务;/n根据每张所述目标待抽取表的抽取任务,从每张所述目标待抽取表对应的Oracle数据库中抽取每个所述目标待抽取表对应的目标数据;/n根据预先设置的所述逻辑表对应配置文件对所述逻辑表中各个所述目标待抽取表对应的目标数据进行合并,得到当前聚合数据文件;/n获取与所述逻辑表的名称一致的最近历史聚合数据文件,并将所述当前聚合数据文件与所述历史聚合数据文件进行比对,得到增量数据文件和删除数据文件。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
获取待抽取表清单,所述待抽取表清单至少包括多张待抽取表;
从所述待抽取表清单中抽取属于同一逻辑表的多个目标待抽取表;
根据每张所述目标待抽取表对应的Oracle数据库的当前SCN号生成每张所述目标待抽取表的抽取任务;
根据每张所述目标待抽取表的抽取任务,从每张所述目标待抽取表对应的Oracle数据库中抽取每个所述目标待抽取表对应的目标数据;
根据预先设置的所述逻辑表对应配置文件对所述逻辑表中各个所述目标待抽取表对应的目标数据进行合并,得到当前聚合数据文件;
获取与所述逻辑表的名称一致的最近历史聚合数据文件,并将所述当前聚合数据文件与所述历史聚合数据文件进行比对,得到增量数据文件和删除数据文件。


2.根据权利要求1所述的方法,其特征在于,所述根据每张所述目标待抽取表对应的Oracle数据库的当前SCN号生成每张所述目标待抽取表的抽取任务,包括:
获取每张所述目标待抽取表预先设置的并发执行任务数,以及每张所述目标待抽取表对应的Oracle数据库的当前SCN号和总数据范围;
根据每张所述目标待抽取表的并发执行任务数和对应的Oracle数据库的总数据范围,确定每张所述目标待抽取表的每个任务负责抽取的数据范围;
根据每张所述目标待抽取表的每个所述任务负责抽取的数据范围和对应的Oracle数据库的当前SCN号,生成每张所述目标待抽取表的每个所述任务对应的可执行数据抽取任务;
其中,每张所述目标待抽取表的各个所述任务对应的可执行数据抽取任务构成每张所述目标待抽取表的抽取任务。


3.根据权利要求2所述的方法,其特征在于,所述根据每张所述目标待抽取表的抽取任务从每张所述目标待抽取表对应的Oracle数据库中抽取每张所述目标待抽取表对应的目标数据,包括:
并行执行每张所述目标待抽取表的每个所述数据抽取任务,以便每个所述数据抽取任务根据对应的数据范围从对应的Oracle数据库中抽取相应的数据,得到每张所述目标待抽取表对应的目标数据。


4.根据权利要求1所述的方法,其特征在于,所述根据预先设置的所述逻辑表对应的配置文件对所述逻辑表中各个所述目标待抽取表对应的目标数据进行合并,得到当前聚合数据文件,包括:
将各个所述目标待抽取表对应的目标数据聚合到所述逻辑表中,其中,所述目标数据包括所述目标数据所属的文件目录,以及多条业务数据,每条所述业务数据至少包括主键字段;
获取预先设置的与所述逻辑表对应的配置文件,所述配置文件至少包括多个去重文件目录以及多个去重主键字段;
根据所述多个去重文件目录和所述多个去重主键字段对所述逻辑表中的目标数据进行去重,得到当前聚合数据文件。


5.根据权利要求1所述的方法,其特征在于,所述将所述当前聚合数据文件与所述历史聚合数据文件进行比对,得到增量数据文件和删除数据文件,包括:
将所述当前聚合数据文件中的每条业务数据分别与所述历史聚合数据文件中的每条业务数据进行比对;
将仅在所述历史聚合数据文件中存在的业务数据标记为删除数据;
将仅在所述当前聚合数据文件中存在的业务数据标记为新增数据;
将所述当前聚合数据文件中与所述历史聚合数据文件存在相同主键字段不同字段值的业务数据标记为更新数据;
根据标记为删除数据的多条业务数据生成删除数据文件,以及根据标记为新增数据的多条业务数据和标记为更新数据的多条业务数据...

【专利技术属性】
技术研发人员:魏巍李萌
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:北京;11

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

1