standard library
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211259691.8 (22)申请日 2022.10.14 (71)申请人 四川启睿 克科技有限公司 地址 610000 四川省成 都市中国 (四川) 自 由贸易试验区成都高新区天府四街 199号1栋33层 (72)发明人 张琦  (74)专利代理 机构 四川省成 都市天策商标专利 事务所(有限合 伙) 51213 专利代理师 刘兴亮 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/242(2019.01) G06F 16/2458(2019.01) (54)发明名称 一种快速 定位主从延迟的方法 (57)摘要 本发明公开了一种快速定位主从延迟的方 法, 通过运行脚本, 脚本将实时的查询从库SQL线 程执行到的文件目录和点位, 判断若多次点位未 发生改变, 则记录下的目录位置及点位就是可能 造成主从延 迟的操作的位置, 通过查找日志文件 的相关位置, 解析执行的操作, 排查出问题发生 的具体原因。 通过本发明的方法可准确记录主从 延迟时的文件目录和点位, 可以实现快速并准确 的定位问题操作, 方便后续SQL优化等, 操作 简单 方便。 权利要求书1页 说明书4页 附图1页 CN 115455009 A 2022.12.09 CN 115455009 A 1.一种快速 定位主从延迟的方法, 其特 征在于, 包括以下步骤: 步骤1, 查询主从状态, 获得从库SQ L线程执行到的文件目录和点 位; 步骤2, 不间断查询SQ L线程执行到的文件目录和点 位; 步骤3, 判断是否需要记录查询的文件目录和点 位; 步骤4, 解析 数据库归档二进制日志并确定具体的位置 。 2.如权利要求1所述的一种快速定位主从延迟的方法, 其特征在于, 所述步骤1中, 数据 库的从库中记录下主从之间的状态信息, 包括当前I/O线程正在读取的主服务器二进制日 志文件的名称、 当前I/O线程正在读取的二进制日志的位置、 当前slave  SQL线程正在读取 并执行的relay  log的文件名、 当前slave  SQL线程正在读取并执行的relay  log文件中的 位置、 slave  SQL线程读取并执行的relay  log的文件中多数近期 事件、 slave  SQL线程当前 执行的position等参数。 当发生主从延迟的时候, 通过查找上述slav e SQL线程读取并执行 的relay log的文件中多数近期 事件、 slave  SQL线程当前执行的position这两个参数来确 定SQL线程执行到的文件目录和点 位。 3.如权利要求1所述的一种快速定位主从延迟的方法, 其特征在于, 所述步骤2中, 一旦 发生由事务、 锁、 耗时DDL等导致的主从延迟, 数据库从库状态信息中的文件目录和点位将 会停止更新, 保持不变; 通过将对从库状态信息的查询写入一个脚本, 不间断的对从库的状 态信息进行查询, 记录下查询结果。 4.如权利要求1所述的一种快速定位主从延迟的方法, 其特征在于, 所述步骤3 中, 主从 延迟的接受程度, 跟实际项目情况有关, 设定一个代表主从延迟接受度的阈值, 该阈值为上 述文件目录和 点位保持不变的次数, 若大于阈值次数保持不变, 则代表主从出现了一定的 延迟, 将查询结果记录在相关的文本文件中, 供 数据库管理人员后期使用。 5.如权利要求1所述的一种快速定位主从延迟的方法, 其特征在于, 所述步骤4中, 根据 上述文本文件记录的具体文职, 抽取数据库的归档二进制日志, 形成一个可读的数据库操 作日志, 该操作日志即是导 致主从延迟的具体操作。权 利 要 求 书 1/1 页 2 CN 115455009 A 2一种快速定位主从延迟的方 法 技术领域 [0001]本发明涉及数据库技 术领域, 尤其涉及一种快速 定位主从延迟的方法。 背景技术 [0002]MySQL数据库主从同步是通过主库将写操作顺序写入binlog, 从库的slave  IO线 程去读取主库生 成的binlog, 然后 在本地用slav e SQL线程来执行, 以保证主从数据逻辑上 一致。 产生延迟的原因有可能是主库的TPS并发较高, 产生的大量DDL操作, 超过从库线程所 承受的范围, 还有 可能是由事务、 锁、 耗时DDL等导致, 以及网络传输延迟也可能造成主从延 迟。 [0003]目前的数据库监控平台一般可以通过监控数据库从库落后主库时间这个参数数 值, 记录下延迟发生的时间以及延迟持续的过程, 却无法直接得到问题产生的原因。 [0004]要排查出由事务、 锁、 耗时DDL等导致的主从延迟的具体原因, 目前主要通过监控 到的延迟信息, 在数据库的归档日志里面查找具体的位置, 排查该位置具体在做的操作, 最 后进行后续的优化; 但即使可以通过监控平台记录的出现问题的时间, 来查找日志文件相 关位置的操作, 由于日志文件记录的数量很多, 也将会花费大量的时间, 同时, 监控平台记 录问题发生的时间可能存在延迟, 也存在不能精准定位问题的可能。 发明内容 [0005]为了能够准确并快速的定位导致延迟的原因, 实时的查询并记录下问题的具体位 置很关键。 当发生由事务、 锁、 耗时DDL等导致的主从延迟的操作后, 从库SQL线程执行到的 文件目录和点位将在一段时间内保持不变, 本发明通过运行脚本, 脚本将实时的查询从库 SQL线程执行到的文件目录和点位, 判断若多次点位未发生改变, 则记录下的目录位置及点 位就是可能造成主从延迟的操作的位置, 通过查找日志文件的相关位置, 分析执行的操作, 排查出问题发生的具体原因。 [0006]本发明通过以下技 术方案来实现上述目的: [0007]一种快速 定位主从延迟的方法, 包括以下步骤: [0008]步骤1, 查询主从状态, 获得从库SQ L线程执行到的文件目录和点 位; [0009]步骤2, 不间断查询SQ L线程执行到的文件目录和点 位; [0010]步骤3, 判断是否需要记录查询的文件目录和点 位; [0011]步骤4, 解析 数据库归档二进制日志(即bi nlog文件)并确定具体的位置 。 [0012]进一步方案为, 所述步骤1中, 数据库的从库中记录下主从之间的状态信息, 包括 当前I/O线程正在读取的主服务器二进制日志文件的名称、 当前I/ O线程正在读取的二进制 日志的位置、 当前slave  SQL线程正在读取并执行的relay  log的文件名、 当前slave  SQL线 程正在读取并执行的relay  log文件中的位置、 slave  SQL线程读取并执行的relay  log的 文件中多数近期事件、 slave  SQL线程当前执行的position等参数。 当发生主从延迟的时 候, 通过查找上述slave  SQL线程读取并执行的relay  log的文件中多数近期事件、 slave  说 明 书 1/4 页 3 CN 115455009 A 3

PDF文档 专利 一种快速定位主从延迟的方法

文档预览
中文文档 7 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种快速定位主从延迟的方法 第 1 页 专利 一种快速定位主从延迟的方法 第 2 页 专利 一种快速定位主从延迟的方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:33:10上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。