[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN117149785A - 一种实现Oracle数据库日志变更处理的方法及装置 - Google Patents

一种实现Oracle数据库日志变更处理的方法及装置 Download PDF

Info

Publication number
CN117149785A
CN117149785A CN202311009812.8A CN202311009812A CN117149785A CN 117149785 A CN117149785 A CN 117149785A CN 202311009812 A CN202311009812 A CN 202311009812A CN 117149785 A CN117149785 A CN 117149785A
Authority
CN
China
Prior art keywords
data
oracle
cdc
log
database
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
CN202311009812.8A
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.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
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 Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN202311009812.8A priority Critical patent/CN117149785A/zh
Publication of CN117149785A publication Critical patent/CN117149785A/zh
Pending legal-status Critical Current

Links

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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

本发明涉及数据实时采集处理领域,具体提供了一种实现Oracle数据库日志变更处理的方法及装置,包括OracleCDC捕获器、OracleCDC解析器、OracleCDC配置器、OracleCDC状态视图存储器和实时数据同步处理服务;OracleCDC捕获器进行数据库日志变更数据的采集;OracleCDC解析器进行捕获数据的转换解析;OracleCDC配置器进行所述OracleCDC捕获器的可视化配置;OracleCDC状态视图存储器记录变更日志采集位置,实现断点续读功能;所述实时数据同步处理服务进行采集数据的流式处理,实现数据转换、清洗、入库操作。与现有技术相比,本发明能够将Oracle数据实时捕获集成配置流式数据服务,实现数据的实时变化更新和处理计算,进行可视化配置。

Description

一种实现Oracle数据库日志变更处理的方法及装置
技术领域
本发明涉及数据实时采集处理领域,具体提供一种实现Oracle数据库日志变更处理的方法及装置。
背景技术
实时数据流处理工具NiFi是一个用于构建可扩展、弹性的数据流处理系统的软件。它支持从不同的数据源/目标中传输、转换和加工数据,并且具有良好的可视化界面和管理能力。但NiFi目前对各类关系型数据库日志变更捕获的能力较弱。
数据库日志数据变更捕获是另一个重要的技术,它可以实时监测数据库变更事件,并将其捕获内容输出。Debezium是一个专门用于从数据库中捕获变更事件并转换为事件流的工具,支持多种关系型数据库和部分非关系型数据库,包括MySQL、Oracle、PostgreSQL、SQL Server、MongoDB。但缺少良好的可视化界面、管理能力和数据处理能力。
发明内容
本发明是针对上述现有技术的不足,提供一种实用性强的实现Oracle数据库日志变更处理的方法,
本发明进一步的技术任务是提供一种设计合理,安全适用的实现Oracle数据库日志变更处理的装置。
本发明解决其技术问题所采用的技术方案是:
一种实现Oracle数据库日志变更处理的方法,包括OracleCDC捕获器、OracleCDC解析器、OracleCDC配置器、OracleCDC状态视图存储器和实时数据同步处理服务;
所述OracleCDC捕获器进行数据库日志变更数据的采集;
所述OracleCDC解析器进行捕获数据的转换解析;
所述OracleCDC配置器进行所述OracleCDC捕获器的可视化配置;
所述OracleCDC状态视图存储器记录变更日志采集位置,实现断点续读功能;
所述实时数据同步处理服务进行采集数据的流式处理,实现数据转换、清洗、入库操作。
进一步的,所述OracleCDC捕获器通过内置Debezium引擎实现监听数据库变化事件,所述Debezium启动时读取OracleCDC配置器参数,判断当前任务是否存在快照文件,如果存在快照文件,引擎读取快照文件信息,从之前停止的地方恢复流式传输;
如果不存在快照文件,根据配置器参数确定捕获数据表列表,获取当前归档日志中的SCN编号,捕获已确定捕获数据表结构,对变更数据所在日志偏移量SCN进行记录并生成快照文件,生成快照文件成功后执行变更数据捕获处理。
进一步的,当停止OracleCDC捕获器时,内置引擎停止捕获事件,并记录变更数据所在日志偏移量SCN进行更新并写入到快照文件中。
进一步的,所述OracleCDC解析器支持JSON和AVRO两种格式的捕获事件信息输出,OracleCDC解析器通过将采集的数据格式与JAVA数据格式做映射转换,满足NiFi各种JSON处理器的使用,适配后续数据处理和不同类型的数据库入库;
转换后的数据类型依据不同的数据库可能存在一定差异,针对DATE数据会统一转换为国际时区东八时区标准时间;
针对BLOB数据类型会转换为BASE64编码使用;
针对CLOB、NCLOB、BLOB和LONG数据类型,统一数据类型转换进行差异抹除;
OracleCDC解析器还支持AVRO数据格式的输出,支持自动拉取配置表数据库数据元信息,进行AVRO Schema的转换映射。
进一步的,所述OracleCDC配置器通过NiFi提取Debezium捕获Oracle数据库变更日志的相关参数,将配置可视化,实现WEB在线参数配置,页面进行数据库连接信息和CDC应用信息的配置;
结合OracleCDC捕获器运行过程中的异常运行信息实时显示到处理器界面,并将Debezium引擎的启动和停止与NiFi处理器的启动和停止结合。
进一步的,所述OracleCDC状态视图存储器进行CDC事件断点续读,依据处理器中存储的Offset偏移量信息,再次启动后处理器会从Offset断点处开始并依次读取日志捕获历史发生的事件。
进一步的,所述实时数据同步处理服务将OracleCDC处理器和OracleCDC解析器输出的DDL和DML数据实时同步到其他数据源,实现全增量一体化读取的数据集成框架。
进一步的,在实现全增量一体化读取的数据集成框架中,具体操作为将JSON数据转换为相对应的SQL语句并将各个字段的值存储到FlowFile的属性中,将ConvertJSONToSQL转换的SQL与数据进行入库,实现数据实时同步处理。
一种实现Oracle数据库日志变更处理的装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行一种实现Oracle数据库日志变更处理的方法。
本发明的一种实现Oracle数据库日志变更处理的方法及装置和现有技术相比,具有以下突出的有益效果:
本发明依据NiFi实现Oracle数据库实时捕获变更CDC功能和后续数据解析处理,实现了全增量一体化读取的数据实时集成和流式处理框架。NiFi可以通过不同的CDC捕获配置快速搭建Oracle数据库CDC实现,捕获到数据并解析后,能够将Oracle数据实时捕获集成配置流式数据服务,实现数据的实时变化更新和处理计算。
底层架构灵活、易扩展,在Oracle数据捕获基础上,可方便扩展其他数据库类型的接入,扩展了流式数据处理工具NIFI的数据库日志捕获的数据来源,扩展了流式数据处理的应用场景。
改变了数据库日志变更数据捕获的开发模式,使用易用的可视化配置界面,使非专业的数据开发人员也可进行数据采集捕获的配置,降低了数据库变更日志捕获技术的使用门槛,提高了该技术的推广使用范围。
结合流式数据处理的稳定框架、丰富处理组件及高安全性保障,提高了数据库日志变更数据捕获技术的稳定性、性能及功能的延伸性。流式数据处理分布式集群的处理架构,较单独使用数据采集捕获技术并进行数据清洗处理,性能大幅提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1是一种实现Oracle数据库日志变更处理的方法的流程示意图;
附图2是一种实现Oracle数据库日志变更处理的方法中OracleCDC捕获器执行流程图;
附图3是一种实现Oracle数据库日志变更处理的方法中OracleCDC解析器流程示意图;
附图4是一种实现Oracle数据库日志变更处理的方法中OracleCDC状态视图存储信息界面图。
具体实施方式
为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
下面给出一个最佳实施例:
如图1所示,本实施例中的一种实现Oracle数据库日志变更处理的方法,包括OracleCDC捕获器、OracleCDC解析器、OracleCDC配置器、OracleCDC状态视图存储器和实时数据同步处理服务;
所述OracleCDC捕获器进行数据库日志变更数据的采集;
所述OracleCDC解析器进行捕获数据的转换解析;
所述OracleCDC配置器进行所述OracleCDC捕获器的可视化配置;
所述OracleCDC状态视图存储器记录变更日志采集位置,实现断点续读功能;
所述实时数据同步处理服务进行采集数据的流式处理,依托NiFi强大的数据处理能力,实现数据转换、清洗、入库操作。
如图2所示,OracleCDC捕获器通过内置Debezium引擎实现监听数据库变化事件。Debezium启动时读取OracleCDC配置器参数,判断当前任务是否存在快照文件,如果存在快照文件,引擎读取快照文件信息,从之前停止的地方恢复流式传输;
如果不存在快照文件,根据配置器参数确定捕获数据表列表,获取当前归档日志中的SCN编号,捕获已确定捕获数据表结构,对变更数据所在日志偏移量SCN进行记录并生成快照文件,生成快照文件成功后执行变更数据捕获处理。
当停止OracleCDC捕获器时,内置引擎停止捕获事件,并记录变更数据所在日志偏移量SCN进行更新并写入到快照文件中。
如图3所示,OracleCDC解析器支持JSON和AVRO两种格式的捕获事件信息输出。JSON轻量易用,解析器通过将采集的数据格式与JAVA数据格式做映射转换,以满足NiFi各种JSON处理器的使用,适配后续数据处理和不同类型的数据库入库。
转换后的数据类型依据不同的数据库可能存在一定差异,针对DATE数据会统一转换为国际时区东八时区标准时间;针对BLOB数据类型会将其转换为BASE64编码使用;针对CLOB、NCLOB、BLOB、LONG数据类型,统一数据类型转换进行了差异抹除,方便后续实时数据同步处理中DML和DDL数据处理。
解析器还支持AVRO数据格式的输出,支持自动拉取配置表数据库数据元信息,进行AVRO Schema的转换映射。AVRO数据具有丰富的数据结构、紧凑的二进制数据格式、简单的动态语言集成,适合大数据集。JSON在大数据集上不如AVRO高效,解析器支持两种数据类型的转换,用户可根据实际项目需要选择合适数据格式。
OracleCDC配置器通过NiFi提取Debezium捕获Oracle数据库变更日志的相关参数,将配置可视化,实现WEB在线参数配置,页面可进行数据库连接信息和CDC应用信息的配置,从而实现更加灵活、高效和可扩展的进行CDC数据采集的管理。
结合OracleCDC捕获器运行过程中的异常运行信息实时显示到处理器界面,并将Debezium引擎的启动和停止与NiFi处理器的启动和停止结合,方便运维开发人员进行任务管理。本发明配置OracleCDC配置器支持多种CDC捕获模式配置。包括全量捕获、增量捕获;模式支持支持单个模式、多个模式和正则匹配;数据表支持单表、多表、正则匹配。可以灵活配置捕获表信息,高效便捷。
如图4所示,OracleCDC状态视图存储器支持CDC事件断点续读功能。OracleCDC处理器停止也不会错过中断期间数据库发生的事件,依据处理器中存储的Offset偏移量信息,再次启动后处理器会从Offset断点处开始并依次读取日志捕获历史发生的事件。
实时数据同步处理服务将OracleCDC处理器和OracleCDC解析器输出的DDL和DML数据实时同步到其他数据源,实现全增量一体化读取的数据集成框架。
具体操作为通过配置ConvertJSONToSQL中的数据库连接池、Statement Type(支持INSERT、UPDATE、DELETE)、目标库模式名称、Table Schema Cache Size等属性配置将JSON数据转换为相对应的SQL语句并将各个字段的值存储到FlowFile的属性中;通过配置PutSQL处理其中的数据库连接池,Batch Size等属性配置,可以将ConvertJSONToSQL转换的SQL与数据进行入库,实现数据实时同步处理。
基于上述方法,本实施例中的一种实现Oracle数据库日志变更处理的装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行一种实现Oracle数据库日志变更处理的方法。
上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明权利要求书记载的技术方案且任何所属技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (9)

1.一种实现Oracle数据库日志变更处理的方法,其特征在于,包括OracleCDC捕获器、OracleCDC解析器、OracleCDC配置器、OracleCDC状态视图存储器和实时数据同步处理服务;
所述OracleCDC捕获器进行数据库日志变更数据的采集;
所述OracleCDC解析器进行捕获数据的转换解析;
所述OracleCDC配置器进行所述OracleCDC捕获器的可视化配置;
所述OracleCDC状态视图存储器记录变更日志采集位置,实现断点续读功能;
所述实时数据同步处理服务进行采集数据的流式处理,实现数据转换、清洗、入库操作。
2.根据权利要求1所述的一种实现Oracle数据库日志变更处理的方法,其特征在于,所述OracleCDC捕获器通过内置Debezium引擎实现监听数据库变化事件,所述Debezium启动时读取OracleCDC配置器参数,判断当前任务是否存在快照文件,如果存在快照文件,引擎读取快照文件信息,从之前停止的地方恢复流式传输;
如果不存在快照文件,根据配置器参数确定捕获数据表列表,获取当前归档日志中的SCN编号,捕获已确定捕获数据表结构,对变更数据所在日志偏移量SCN进行记录并生成快照文件,生成快照文件成功后执行变更数据捕获处理。
3.根据权利要求2所述的一种实现Oracle数据库日志变更处理的方法,其特征在于,当停止OracleCDC捕获器时,内置引擎停止捕获事件,并记录变更数据所在日志偏移量SCN进行更新并写入到快照文件中。
4.根据权利要求3所述的一种实现Oracle数据库日志变更处理的方法,其特征在于,所述OracleCDC解析器支持JSON和AVRO两种格式的捕获事件信息输出,OracleCDC解析器通过将采集的数据格式与JAVA数据格式做映射转换,满足NiFi各种JSON处理器的使用,适配后续数据处理和不同类型的数据库入库;
转换后的数据类型依据不同的数据库可能存在一定差异,针对DATE数据会统一转换为国际时区东八时区标准时间;
针对BLOB数据类型会转换为BASE64编码使用;
针对CLOB、NCLOB、BLOB和LONG数据类型,统一数据类型转换进行差异抹除;
OracleCDC解析器还支持AVRO数据格式的输出,支持自动拉取配置表数据库数据元信息,进行AVRO Schema的转换映射。
5.根据权利要求4所述的一种实现Oracle数据库日志变更处理的方法,其特征在于,所述OracleCDC配置器通过NiFi提取Debezium捕获Oracle数据库变更日志的相关参数,将配置可视化,实现WEB在线参数配置,页面进行数据库连接信息和CDC应用信息的配置;
结合OracleCDC捕获器运行过程中的异常运行信息实时显示到处理器界面,并将Debezium引擎的启动和停止与NiFi处理器的启动和停止结合。
6.根据权利要求5所述的一种实现Oracle数据库日志变更处理的方法,其特征在于,所述OracleCDC状态视图存储器进行CDC事件断点续读,依据处理器中存储的Offset偏移量信息,再次启动后处理器会从Offset断点处开始并依次读取日志捕获历史发生的事件。
7.根据权利要求6所述的一种实现Oracle数据库日志变更处理的方法,其特征在于,所述实时数据同步处理服务将OracleCDC处理器和OracleCDC解析器输出的DDL和DML数据实时同步到其他数据源,实现全增量一体化读取的数据集成框架。
8.根据权利要求7所述的一种实现Oracle数据库日志变更处理的方法,其特征在于,在实现全增量一体化读取的数据集成框架中,具体操作为将JSON数据转换为相对应的SQL语句并将各个字段的值存储到FlowFile的属性中,将ConvertJSONToSQL转换的SQL与数据进行入库,实现数据实时同步处理。
9.一种实现Oracle数据库日志变更处理的装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至8中任一所述的方法。
CN202311009812.8A 2023-08-11 2023-08-11 一种实现Oracle数据库日志变更处理的方法及装置 Pending CN117149785A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311009812.8A CN117149785A (zh) 2023-08-11 2023-08-11 一种实现Oracle数据库日志变更处理的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311009812.8A CN117149785A (zh) 2023-08-11 2023-08-11 一种实现Oracle数据库日志变更处理的方法及装置

Publications (1)

Publication Number Publication Date
CN117149785A true CN117149785A (zh) 2023-12-01

Family

ID=88903573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311009812.8A Pending CN117149785A (zh) 2023-08-11 2023-08-11 一种实现Oracle数据库日志变更处理的方法及装置

Country Status (1)

Country Link
CN (1) CN117149785A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117493385A (zh) * 2023-12-29 2024-02-02 江西云擎科技有限公司 数据处理方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117493385A (zh) * 2023-12-29 2024-02-02 江西云擎科技有限公司 数据处理方法、装置、设备及存储介质
CN117493385B (zh) * 2023-12-29 2024-05-14 江西云擎科技有限公司 数据处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112445863B (zh) 一种数据实时同步方法及系统
CN107506451B (zh) 用于数据交互的异常信息监控方法及装置
US7287034B2 (en) On-demand multi-version data dictionary to support distributed applications
CN108027763B (zh) 关系型数据库的调整装置和方法
US6389430B1 (en) Real-time database object statistics collection
Wang et al. Apache IoTDB: A time series database for IoT applications
CN117149785A (zh) 一种实现Oracle数据库日志变更处理的方法及装置
CN113946627B (zh) 数据实时同步场景下的数据准确性检测预警系统及方法
Zhou et al. An ETL strategy for real-time data warehouse
CN112598142B (zh) 一种风电机组检修工作质量审查辅助方法与系统
CN111414355A (zh) 一种海上风电场数据监测存储系统及方法、装置
CN111259082A (zh) 大数据环境下实现全量数据同步的方法
Zhao et al. T-SQL: A lightweight implementation to enable built-in temporal support in mvcc-based rdbmss
CN115658815A (zh) 基于cdc实现的数据同步的方法
CN115098486A (zh) 基于海关业务大数据的实时数据采集方法
CN117520459B (zh) 一种基于CDC方式的Db2增量同步实现方法
CN118468194B (zh) 一种基于数据源到日志交叉比对的异常定位方法和装置
Thiem et al. An integrated approach to performance monitoring for autonomous tuning
CN112925697B (zh) 作业差异监控方法、装置、设备及介质
CN116049284A (zh) 一种面向工业互联网平台的实时etl系统及方法
CN113553320B (zh) 数据质量监控方法及装置
CN118857665A (zh) 面向风洞任务的模型数据管理系统
CN118822089A (zh) 一种冶金产线过程自动化控制系统告警日志分析方法
Liu et al. Research and Application of Power Grid Data Blood Relationship Analysis
CN116910148A (zh) 一种基于Spark的同步Oracle历史数据数据至Hudi表的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination