一种应用数据库操作日志的方法与流程

文档序号:38027014发布日期:2024-05-17 13:02阅读:11来源:国知局
一种应用数据库操作日志的方法与流程

本发明涉及数据库操作日志,具体为一种应用数据库操作日志的方法。


背景技术:

1、数据库操作日志是记录数据库管理系统中所有对数据库进行的操作的记录。它可以用于追踪和审计数据库中的变更,以及帮助恢复数据和排查问题。

2、数据库操作日志是一种记录对数据库执行的操作的文件或数据结构,它包含了对数据库进行插入、更新、删除等操作的详细信息,例如执行时间、执行者、执行语句以及影响的数据行数等,但现有数据库操作日志在使用时,异地备份,抽数等操作的时间长和成本大,网络开销和网络流量所产生的费用多。


技术实现思路

1、本发明的目的在于提供一种应用数据库操作日志的方法,以解决上述背景技术中提出的异地备份,抽数等操作的时间长和成本大,网络开销和网络流量所产生的费用多的问题。

2、为实现上述目的,本发明提供如下技术方案,一种应用数据库操作日志的方法,包括:

3、判断数据源类型模块,所述判断数据源类型包括华为云rds数据库,阿里云polardb数据库和mysql数据库通用回放,所述判断数据源类型模块下连接有检查数据库参数模块,所述检查数据库参数模块包括华为云:获取tar文件列表,检查是否有新的tar文件生成,并验证tar文件连续性;阿里云和mysql通用:检查是否有增量binlog数据并检查是否有新的binlog文件。

4、优选的,所述华为云rds数据库:华为云rds自己备份数据库日志文件到它的内部对象存储桶中,线下通过桶下载工具可通过专线将日志文件下载到数据中心,然后将此数据中心目录挂载到线下数据库服务器所在地;华为云每5分钟刷新一次日志文件,并将老的日志文件打包成tar文件上传到内部桶中。通过此内部桶下载日志文件华为云不额外收取费用;后面通过可以直接在线下数据库服务器本地通过linux的“cp”命令将日志文件复制到特定目录。

5、优选的,所述阿里云polardb数据库:可以在阿里云同区的ecs服务器将日志文件上传到其对象存储桶中,在线下数据库服务器通过阿里云的对象存储桶的sdk下载相应的日志文件到本地。

6、优选的,所述mysql数据库通用回放:云上或者自建数据库可通过相应工具将日志文件上传至对象存储桶或者共享目录中;在线下数据库服务器中通过复制工具将日志文件同步到对应目录。

7、优选的,所述gtid_mode:开启数据库gtid,保持和源数据库一致;relay_log_purge:on,设置为“on”数据库会自动清理执行完成的relaylog。

8、优选的,所述检查tar文件连续性,如果连续性验证通过则将文件解压到relaylog所在目录;如果有中间文件验证不通过,则将前面验证通过的tar文件解压到relaylog所在的目录;如果所有文件都验证不通过,则告警提示没有新文件生成。

9、优选的,所述是否有增量binlog数据并检查是否有新的binlog文件,获取文件列表,检查上次执行的最后一个binlog文件是否有增量数据进来。如果有则将增量数据通过oss2的sdk(mysql通用回放使用rsync)传输到相应的relaylog文件中,如果没有则等待下次检查;所述检查是否有新的binlog文件生成,如果有则在增量文件拷贝之后,将新文件放到relaylog目录中。

10、与现有技术相比,本发明的有益效果是:

11、1、通过检查主库存放的binlog是否有变动或者新增文件,检查binlog文件连续性情况,备库下载主库的binlog到本地并改写为relaylog,刷新relaylog的index文件列表,借用mysql的sql线程回放relaylog,主要涉及mysql数据库,该方法主要取代传统主备架构中备库的io线程,以此来实现主备复制的方案,低成本实现线上数据库冗余异地备库,缩短异地备份,抽数等操作的时间和成本,缓解异地抽数带来的网络及资源压力,利用桶将binlog传递到线下可以有效的降低网络开销和网络流量所产生的费用。



技术特征:

1.一种应用数据库操作日志的方法,其特征在于,包括:

2.根据权利要求1所述的一种应用数据库操作日志的方法,其特征在于:所述华为云rds数据库:华为云rds自己备份数据库日志文件到它的内部对象存储桶中,线下通过桶下载工具可通过专线将日志文件下载到数据中心,然后将此数据中心目录挂载到线下数据库服务器所在地;华为云每5分钟刷新一次日志文件,并将老的日志文件打包成tar文件上传到内部桶中。通过此内部桶下载日志文件华为云不额外收取费用;后面通过可以直接在线下数据库服务器本地通过linux的“cp”命令将日志文件复制到特定目录。

3.根据权利要求1所述的一种应用数据库操作日志的方法,其特征在于:所述阿里云polardb数据库:可以在阿里云同区的ecs服务器将日志文件上传到其对象存储桶中,在线下数据库服务器通过阿里云的对象存储桶的sdk下载相应的日志文件到本地。

4.根据权利要求1所述的一种应用数据库操作日志的方法,其特征在于:所述mysql数据库通用回放:云上或者自建数据库可通过相应工具将日志文件上传至对象存储桶或者共享目录中;在线下数据库服务器中通过复制工具将日志文件同步到对应目录。

5.根据权利要求1所述的一种应用数据库操作日志的方法,其特征在于:所述gtid_mode:开启数据库gtid,保持和源数据库一致;relay_log_purge:on,设置为“on”数据库会自动清理执行完成的relaylog。

6.根据权利要求1所述的一种应用数据库操作日志的方法,其特征在于:所述检查tar文件连续性,如果连续性验证通过则将文件解压到relaylog所在目录;如果有中间文件验证不通过,则将前面验证通过的tar文件解压到relaylog所在的目录;如果所有文件都验证不通过,则告警提示没有新文件生成。

7.根据权利要求1所述的一种应用数据库操作日志的方法,其特征在于:所述是否有增量binlog数据并检查是否有新的binlog文件,获取文件列表,检查上次执行的最后一个binlog文件是否有增量数据进来。如果有则将增量数据通过oss2的sdk(mysql通用回放使用rsync)传输到相应的relaylog文件中,如果没有则等待下次检查;所述检查是否有新的binlog文件生成,如果有则在增量文件拷贝之后,将新文件放到relaylog目录中。


技术总结
本发明涉及数据库操作日志技术领域,具体为一种应用数据库操作日志的方法,包括:判断数据源类型模块,所述判断数据源类型包括华为云RDS数据库,阿里云PolarDB数据库和MySQL数据库通用回放,所述判断数据源类型模块下连接有检查数据库参数模块,所述检查数据库参数模块包括华为云:获取tar文件列表,检查是否有新的tar文件生成,并验证tar文件连续性;阿里云和MySQL通用:检查是否有增量binlog数据并检查是否有新的binlog文件。本发明低成本实现线上数据库冗余异地备库,缩短异地备份,抽数等操作的时间和成本,缓解异地抽数带来的网络及资源压力,利用桶将binlog传递到线下可以有效的降低网络开销和网络流量所产生的费用。

技术研发人员:周帅
受保护的技术使用者:九州通健康科技集团有限公司
技术研发日:
技术公布日:2024/5/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1