一种基于离线分析数据库Log的通用数据库表监控方法技术

技术编号:33928283 阅读:22 留言:0更新日期:2022-06-25 22:04
本发明专利技术公开了一种基于离线分析数据库Log的通用数据库表监控方法,包括首先伪装应用模拟数据库的交互协议;伪装的应用向主数据库发送dump协议,通知主数据库推送log日志;主数据库接收到dump协议后,推送log日志给伪装的应用;从节点解析主数据库推送的log日志,将解析结果发至消息队列中保存;消费消息队列中的解析结果,并生成数据库表的操作记录;将操作记录存储至监控数据库,并根据DDL和DML进行分类,记录变更信息;最后监控和追溯所述监控数据库表中的变更记录。本发明专利技术通过根据模拟数据库之间的交互协议,和获取主数据库的日志数据并进行解析、记录,可以快速找到有问题的操作和操作记录影响的范围,减少人工遍历日志产生的工作量。的工作量。的工作量。

【技术实现步骤摘要】
一种基于离线分析数据库Log的通用数据库表监控方法


[0001]本专利技术涉及数据库监控
,具体来说,涉及一种基于离线分析数据库Log的通用数据库表监控方法。

技术介绍

[0002]离线分析数据库Log的通用数据库表监控是对数据库表变更记录的一种有效的监控方案,数据库维护经常忽略表的相关监控,表数据的丢失和误操作很难直接定位到相关的操作记录,需要人工花费大量的时间去检索数据库日志,数据库日志占用空间也远超于一条数据记录的大小,数据量越大的数据库日志对应也会增加,更大的增加了遍历数据库日志的工作量。针对相关技术中的问题,目前尚未提出有效的解决方案。

技术实现思路

[0003]针对相关技术中的上述技术问题,本专利技术提出一种基于离线分析数据库Log的通用数据库表监控方法,能够克服现有技术方法的上述不足。
[0004]为实现上述技术目的,本专利技术的技术方案是这样实现的:一种基于离线分析数据库Log的通用数据库表监控方法,包括以下步骤:S1:首先伪装应用模拟数据库的交互协议;S2:伪装的应用向主数据库发送dump协议,通知主数据库推送log日志;S3:主数据库接收到dump协议后,推送log日志给伪装的应用;S4:从节点解析主数据库推送的log日志,将解析结果发至消息队列中保存;S5:消费消息队列中的解析结果,并生成数据库表的操作记录;S6:将操作记录存储至监控数据库,并根据DDL和DML进行分类,记录变更信息;S7:最后监控和追溯所述监控数据库表中的变更记录。
[0005]2 根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,所述伪装应用需伪装成数据库的从节点来进行交互。
[0006]3 根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,所述主数据库推送的log日志为主数据库中表发生的变更日志。
[0007]4. 根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,操作记录根据DDL和DML进行分类,区分DDL和DML两个类和操作事项。
[0008]5. 根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,监控和分析监控数据库包括了解数据库表的操作记录和执行情况;若监控时,出现DML类型为update的记录时,则发起告警。
[0009]本专利技术的有益效果:通过根据模拟数据库之间的交互协议,伪装成数据库的从节点,然后获取主数据库的日志数据,进行解析记录,可以对数据库表的历史操作记录进行详细的查看,快速找到有问题的操作和操作记录影响的范围,减少人工遍历日志的工作量。
附图说明
[0010]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1是根据本专利技术实施例所述的基于离线分析数据库Log的通用数据库表监控方法的流程框图。
[0012]图2是根据本专利技术实施例所述的基于离线分析数据库Log的通用数据库表监控方法的流程框图。
具体实施方式
[0013]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。为了方便理解本专利技术的上述技术方案,以下通过具体使用方式上对本专利技术的上述技术方案进行详细说明。
[0014]如图1

2所示,根据本专利技术实施例所述的基于离线分析数据库Log的通用数据库表监控方法,首先伪装数据库 (或应用)模拟数据库的交互协议,伪装成数据库的从节点进行交互。例如:当前数据库(192.168.51.128)模拟与主数据库(192.168.51.127)的数据库之间交互协议,从而达到伪装的前提,伪装当前数据库为主数据库的从节点,从而建立起来和主数据库之间的连接,通过建立的交互连接,向主数据库发送dump协议,来触发主数据库日志流的传输。
[0015]伪装成功后,当前数据库向主数据库发送dump协议,来获取主数据库的日志数据,例如:日志数据记录为:# at 404#210509 3:07:57 server id 1 end_log_pos 575 Query thread_id=2609800 exec_time=0 error_code=0use `airflow`/*!*/;SET TIMESTAMP=1620500877/*!*/;SET @@session.pseudo_thread_id=2609800/*!*/;SET@@session.foreign_key_checks=1,@@session.sql_auto_is_null=0,@@session.unique_checks=1, @@session.autocommit=1/*!*/;SET @@session.sql_mode=2097152/*!*/;SET@@session.auto_increment_increment=1,@@session.auto_increment_offset=1/*!*/;/*!\C utf8 *//*!*/;SET@@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;insert_intoOG(ID,SERIES_ID,CONTENT_ID,EPISODE_INDEX, CONTENT_CODE,SERIES_CODE,STATUS,TITLE,ISSUE_NO, EXCUTE_TIME)values (945615,31955,2246375,25, '55853ae324304a64a1c51342fd02eaa3','f2490c8f0ee2c2ff826128b4812a1818',1,null,null, null)/*!*/;然后伪装的应用向主数据库发送dump协议,通知主数据库推送log日志, 主数据库收到dump协议后,会向应用发送日志数据,例如:日志为:BINLOG 'ke2cYBOYAAAAOwAAAPhp+AEAAFoXAAAAAAEABnphYmJpeAAHaGlzdG9yeQAECAMFAwEIAAEBgJjQv+k=ke2cYB6YAAAA0gAAAMpq+AEAAFoXAAAAAAEAAgAE/wDMnwAAAAAAAJHtnGDsUbgehesQQKEoQgIARK本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于离线分析数据库Log的通用数据库表监控方法,其特征在于,包括以下步骤:S1:首先伪装应用模拟数据库的交互协议;S2:伪装的应用向主数据库发送dump协议,通知主数据库推送log日志;S3:主数据库接收到dump协议后,推送log日志给伪装的应用;S4:从节点解析主数据库推送的log日志,将解析结果发至消息队列中保存;S5:消费消息队列中的解析结果,并生成数据库表的操作记录;S6:将操作记录存储至监控数据库,并根据DDL和DML进行分类,记录变更信息;S7:最后监控和追溯所述监控数据库表中的变更记录。2.根据权利要求1所述的基于离线分析数据库Log的通用数据库表监...

【专利技术属性】
技术研发人员:于伟靳雯赵洲洋石江枫王全修
申请(专利权)人:日照睿安信息科技有限公司
类型:发明
国别省市:

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

1