一种实现制造技术

技术编号:39642844 阅读:15 留言:0更新日期:2023-12-09 11:10
本发明专利技术涉及数据实时采集处理领域,具体提供了一种实现

【技术实现步骤摘要】
一种实现Oracle数据库日志变更处理的方法及装置


[0001]本专利技术涉及数据实时采集处理领域,具体提供一种实现
Oracle
数据库日志变更处理的方法及装置


技术介绍

[0002]实时数据流处理工具
NiFi
是一个用于构建可扩展

弹性的数据流处理系统的软件

它支持从不同的数据源
/
目标中传输

转换和加工数据,并且具有良好的可视化界面和管理能力


NiFi
目前对各类关系型数据库日志变更捕获的能力较弱

[0003]数据库日志数据变更捕获是另一个重要的技术,它可以实时监测数据库变更事件,并将其捕获内容输出
。Debezium
是一个专门用于从数据库中捕获变更事件并转换为事件流的工具,支持多种关系型数据库和部分非关系型数据库,包括
MySQL、Oracle、PostgreSQL、SQL Server、MongoDB。
但缺少良好的可视化界面

管理能力和数据处理能力


技术实现思路

[0004]本专利技术是针对上述现有技术的不足,提供一种实用性强的实现
Oracle
数据库日志变更处理的方法,
[0005]本专利技术进一步的技术任务是提供一种设计合理,安全适用的实现
Oracle
数据库日志变更处理的装置

>[0006]本专利技术解决其技术问题所采用的技术方案是:
[0007]一种实现
Oracle
数据库日志变更处理的方法,包括
OracleCDC
捕获器
、OracleCDC
解析器
、OracleCDC
配置器
、OracleCDC
状态视图存储器和实时数据同步处理服务;
[0008]所述
OracleCDC
捕获器进行数据库日志变更数据的采集;
[0009]所述
OracleCDC
解析器进行捕获数据的转换解析;
[0010]所述
OracleCDC
配置器进行所述
OracleCDC
捕获器的可视化配置;
[0011]所述
OracleCDC
状态视图存储器记录变更日志采集位置,实现断点续读功能;
[0012]所述实时数据同步处理服务进行采集数据的流式处理,实现数据转换

清洗

入库操作

[0013]进一步的,所述
OracleCDC
捕获器通过内置
Debezium
引擎实现监听数据库变化事件,所述
Debezium
启动时读取
OracleCDC
配置器参数,判断当前任务是否存在快照文件,如果存在快照文件,引擎读取快照文件信息
,
从之前停止的地方恢复流式传输;
[0014]如果不存在快照文件,根据配置器参数确定捕获数据表列表,获取当前归档日志中的
SCN
编号,捕获已确定捕获数据表结构,对变更数据所在日志偏移量
SCN
进行记录并生成快照文件,生成快照文件成功后执行变更数据捕获处理

[0015]进一步的,当停止
OracleCDC
捕获器时,内置引擎停止捕获事件,并记录变更数据所在日志偏移量
SCN
进行更新并写入到快照文件中

[0016]进一步的,所述
OracleCDC
解析器支持
JSON

AVRO
两种格式的捕获事件信息输出,
OracleCDC
解析器通过将采集的数据格式与
JAVA
数据格式做映射转换,满足
NiFi
各种
JSON
处理器的使用,适配后续数据处理和不同类型的数据库入库;
[0017]转换后的数据类型依据不同的数据库可能存在一定差异,针对
DATE
数据会统一转换为国际时区东八时区标准时间;
[0018]针对
BLOB
数据类型会转换为
BASE64
编码使用;
[0019]针对
CLOB、NCLOB、BLOB

LONG
数据类型,统一数据类型转换进行差异抹除;
[0020]OracleCDC
解析器还支持
AVRO
数据格式的输出,支持自动拉取配置表数据库数据元信息,进行
AVRO Schema
的转换映射

[0021]进一步的,所述
OracleCDC
配置器通过
NiFi
提取
Debezium
捕获
Oracle
数据库变更日志的相关参数,将配置可视化,实现
WEB
在线参数配置,页面进行数据库连接信息和
CDC
应用信息的配置;
[0022]结合
OracleCDC
捕获器运行过程中的异常运行信息实时显示到处理器界面,并将
Debezium
引擎的启动和停止与
NiFi
处理器的启动和停止结合

[0023]进一步的,所述
OracleCDC
状态视图存储器进行
CDC
事件断点续读,依据处理器中存储的
Offset
偏移量信息,再次启动后处理器会从
Offset
断点处开始并依次读取日志捕获历史发生的事件

[0024]进一步的,所述实时数据同步处理服务将
OracleCDC
处理器和
OracleCDC
解析器输出的
DDL

DML
数据实时同步到其他数据源,实现全增量一体化读取的数据集成框架

[0025]进一步的,在实现全增量一体化读取的数据集成框架中,具体操作为将
JSON
数据转换为相对应的
SQL
语句并将各个字段的值存储到
FlowFile
的属性中,将
ConvertJSONToSQL
转换的
SQL
与数据进行入库,实现数据实时同步处理

[0026]一种实现
Oracle
数据库日志变更处理的装置,包括:至少一个存储器和至少一个处理器;
[0027]所述至少一个存储器,用于存储机器可读程序;
[0028]所述至少一个处理器,用于调用所述机器可读程序,执行一种实现
Oracle<本文档来自技高网...

【技术保护点】

【技术特征摘要】
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
数据类型会转换为
BASE...

【专利技术属性】
技术研发人员:季子祥陈晏鹏周双司衍芹
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:

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

1