(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210818945.9
(22)申请日 2022.07.12
(71)申请人 多点生活 (成都) 科技有限公司
地址 610000 四川省成 都市高新区天府大
道中段666号2栋8楼801号
(72)发明人 朱雪刚
(74)专利代理 机构 成都三诚知识产权代理事务
所(普通合伙) 51251
专利代理师 詹丽红
(51)Int.Cl.
G06F 16/242(2019.01)
G06F 16/23(2019.01)
(54)发明名称
一种基于binlog分析无效更新语句的统计
分析方法
(57)摘要
本发明公开了一种基于binlog分析无效更
新语句的统计分析方法, 其特征在于, 包括以下
步骤: 步骤S1: 读取系统数据库中的Binlog, 将
Binlog解析 成纯文本的SQL文件F等步骤。 本发明
通过对数据库binlog 日志文件分析, 将binlog按
照SQL语句切分成若干个小文件, 对每个小文件
的更新语句字符串进行采集, 并通过对更新语句
字符串的更新的字段的单独和组合是否为有效
或无效更新语句的判定和统计, 便可准确的得到
binlog中的无效更新语句的数量, 从而本发明很
好的解决了现有的无效更新语句的统计分析方
法存在无法对无效更新语句进行判定统计的问
题。
权利要求书1页 说明书3页
CN 115185976 A
2022.10.14
CN 115185976 A
1.一种基于bi nlog分析无效更新语句的统计分析 方法, 其特 征在于, 包括以下步骤:
步骤S1: 读取系统数据库中的Bi nlog, 将Binlog解析成纯文本的SQ L文件F;
步骤S2: 将SQL文件F按照SQL语句切分成若干个小文件, 并建立若干个所述小文件的文
件集合;
步骤S3: 读取文件集合中各小文件中的更新语句字符串, 获取到字符串中的数据库表
名称;
步骤S4: 比较更新语句字符串中实际发生了值更新的字段, 并记录下 更新的字段集 合;
步骤S5: 分别判定更新的字段集合中的每个字段的更新对业务是否有意义, 其中, 更新
的字段集合中的每个字段均为否时, 该条更新语句的字 符串对业务无意义, 为无效更新; 更
新的字段集合中的其中一个字段为是时, 该条更新语句的字符串对业务有意义, 为有效更
新;
步骤S6: 对步骤5中得到的有效更新和无效更新进行统计, 并根据统计结果, 得到最终
的无效更新语句数量。
2.根据权利 要求1所述的基于binlog分析无效更新语句的统计分析方法, 其特征在于,
所述步骤S2中的切分成的若干个小文件标注为: f1,f2,f3 ……fn, 其中, 每个小文件有且只
有一条更新SQL语句; n和更新语句的条 数相等, 且n>1;
所述步骤S2中的若干个所述小 文件的文件集 合为Fset;
其中, Fset=f1+f2+f3 ……fn。
3.根据权利 要求2所述的基于binlog分析无效更新语句的统计分析方法, 其特征在于,
所述步骤S4中, 发生了值更新的字段标注为: c1,c2, ……Cy, 根据binglog产生逻辑, 每条更
新SQL语句中实际有值的更新的字段 数大于或等于1, 且y >1;
所述步骤S4中, 更新的字段集 合标注为 Qx, 且Qx=C1、 C2 ……Cy的任一组合。
4.根据权利 要求3所述的基于binlog分析无效更新语句的统计分析方法, 其特征在于,
所述步骤S 5中, 分别判定更新的字段集合中的每个字段C对 更新对业务是否有意义; 该步骤
S5中, 否时存在两中情况, 在所有字段为否, 该条更新语句为无效更新; 只要有一个字段为
是, 该条语句为有效更新。
5.根据权利 要求4所述的基于binlog分析无效更新语句的统计分析方法, 其特征在于,
所述步骤S6中, 统计数据库表名以及对应的更新字段集 合的出现次数的方法如下:
(1)对数据库表名中每个字段单独更新是否有效, 并分别标注有效值, 其中, 单独更新
有效的有效值 为1, 单独更新无效的有效值 为0;
(2)根据单独更新字段标注的有效值计算出每个更新的字段集合值, 其中, 更新的字段
集合值为: 更新字段有效值之和;
(3)根据得到的每组字段集合的值判定每组字段集合是否为无效更新语句, 其中, 更新
的字段集 合值等于0, 为无效更新语句, 更新的字段集 合值大于1, 为有效更新语句;
(4)统计每个更新的字段集 合出现的次数, 便得到最终的无效更新语句数量。权 利 要 求 书 1/1 页
2
CN 115185976 A
2一种基于 binlog分析无 效更新语句的统 计分析方 法
技术领域
[0001]本发明涉及binlog更新语句分析技术领域, 具体是指一种基于binlog分析无效更
新语句的统计分析 方法。
背景技术
[0002]随着现代IT系统越来越复杂, 其所管理的数据量也越来越多, 数据更新也越来越
频繁。 过多的更新量在数据库层面会产生越来越多的更新日志, 如Binlog, 对更新日志的维
护和管理, 将消耗越来越多的人力物力。 同时, 在数据库主从结构的模式下, 在数据库IO能
力一定的情况下, 会发生数据同步延迟, 影响写入与读出的及时性, 进而影响到系统的可用
性, 并且对于IT开发人员, 如果仅是从翻阅代码的角度去分析发生原因, 会花费大量人力。
[0003]由此可见, 现有的无效更新语句的统计分析方法存在无法对无效更新语句进行判
定统计的问题, 导致数据库更新量过大, 致使在更新日志的维护和管理上消 耗大量的人力
物力, 严重的影响了系统数据库管理的效率和稳定性。
发明内容
[0004]本发明的目的在 于解决上述问题, 提供一种可对binlog更新语句中的无 效更新语
句进行准确判定统计的基于bi nlog分析无效更新语句的统计分析 方法。
[0005]本发明的目的通过 下述技术方案实现:
[0006]一种基于bi nlog分析无效更新语句的统计分析 方法, 包括以下步骤:
[0007]步骤S1: 读取系统数据库中的Bi nlog, 将Binlog解析成纯文本的SQ L文件F。
[0008]步骤S2: 将SQL文件F按照S QL语句切分成若干个小文件, 并建立若干个所述小文件
的文件集 合。
[0009]步骤S3: 读取文件集合中各小文件中的更新语句字符串, 获取到字符串中的数据
库表名称。
[0010]步骤S4: 比较更新语句字符串中实际发生了值更新的字段, 并记录下更新的字段
集合。
[0011]步骤S5: 分别判定更新的字段集合中的每个字段的更新对业务是否有意义, 其中,
更新的字段集合中的每个字段均为否时, 该条更新语句的字符串对业务无意义, 为无效更
新; 更新的字段集合中的其中一个字段为是时, 该条更新语句的字 符串对业务有意义, 为有
效更新。
[0012]步骤S6: 对步骤5中得到的有效更新和 无效更新进行统计, 并根据统计结果, 得到
最终的无效更新语句数量。
[0013]进一步的, 所述 步骤S2中的切分成的若干个小 文件标注为:
[0014]f1,f2,f3 ……fn, 其中, 每个小文件有且只有一条更新SQL语句; n和更新语句的条
数相等, 且n>1。
[0015]所述步骤S2中的若干个所述小 文件的文件集 合为Fset。说 明 书 1/3 页
3
CN 115185976 A
3
专利 一种基于binlog分析无效更新语句的统计分析方法
文档预览
中文文档
5 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共5页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:43:18上传分享