【技术实现步骤摘要】
一种解析数据库日志中事务分布的方法、系统及装置
[0001]本专利技术涉及数据库性能优化领域,特别是涉及一种解析数据库日志中事务分布的方法、系统及装置。
技术介绍
[0002]MySQL binlog是一种不可读的二进制日志文件,主要用于记录MySQL(一种大型数据库)内部的增删改查等更新数据库内容的操作。目前,对binlog中的事务进行分析对MySQL性能起着重要的作用,主要是binlog中的大事务(指的是在MySQL中运行时间较长、长时间未提交的事务),这是因为大事务的运行会长时间占用系统资源,导致事务大量阻塞,严重影响数据库的性能;且在主从数据库同步过程中,大事务也是造成主从延迟最常见的一个原因。
[0003]现有技术中,分析MySQL binlog中事务的方法为:利用MySQL自带的mysqlbinlog工具或第三方的开发工具(binlog2sql、myflash等工具),将binlog解析成可读的文本文件,供用户查看,以通过人工分析可读的文本文件得到binlog中事务的分布情况,并从中确定出大事务的分布情况及相关信息,从而为优化大事务的处理提供依据,有助于提高数据库性能。但是,人工分析文本文件所花费的时间较长,导致日志分析效率较低。
[0004]因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
技术实现思路
[0005]本专利技术的目的是提供一种解析数据库日志中事务分布的方法、系统及装置,可自动解析数据库对应的二进制日志文件,并自动分析出日志文件
【技术保护点】
【技术特征摘要】
1.一种解析数据库日志中事务分布的方法,其特征在于,包括:获取数据库对应的二进制日志文件,并将所述二进制日志文件的二进制内容进行自主解析,得到所述二进制日志文件的解析文本;在对所述二进制内容进行解析的过程中,根据表征各事务分布情况的关键字,自主得到所述二进制日志文件对应的各事务的分布信息;按照预设大事务区分规则,从各事务的分布信息中自主区分出大事务的分布信息,以便基于所述大事务的分布信息优化所述数据库中大事务的处理。2.如权利要求1所述的解析数据库日志中事务分布的方法,其特征在于,获取数据库对应的二进制日志文件的过程,包括:监控数据库对应的二进制日志文件的索引文件是否发生改变;若是,则触发发生改变前的索引文件对应的本地二进制日志文件的备份,并将备份的二进制日志文件传输至远端,以便在远端获取数据库对应的二进制日志文件,而后在远端执行解析获取的二进制日志文件中事务分布的操作。3.如权利要求2所述的解析数据库日志中事务分布的方法,其特征在于,将备份的二进制日志文件传输至远端的过程,包括:将备份的二进制日志文件以数据块为单位传输至远端;且所述解析数据库日志中事务分布的方法还包括:根据哈希算法计算未传输至远端的目标数据块的第一哈希值;其中,所述目标数据块为任一数据块;在所述目标数据块传输至远端后,根据哈希算法计算远端接收的目标数据块的第二哈希值;在备份的二进制日志文件对应的最后一个数据块传输至远端后,判断所述目标数据块的第一哈希值与其第二哈希值是否一致;若所有数据块均一致,则确定备份的二进制日志文件在传输过程中未损坏;否则,则确定备份的二进制日志文件在传输过程中损坏。4.如权利要求1所述的解析数据库日志中事务分布的方法,其特征在于,将所述二进制日志文件的二进制内容进行自主解析,得到所述二进制日志文件的解析文本的过程,包括:将所述二进制日志文件分解成多个二进制文件,并将各二进制文件均转换为可读二进制文件,以读取各可读二进制文件的二进制内容;根据二进制文本对应关系,对各可读二进制文件的二进制内容进行翻译,得到各可读二进制文件的翻译文本;将各可读二进制文件的翻译文本进行合并,得到所述二进制日志文件的解析文本。5.如权利要求1所述的解析数据库日志中事务分布的方法,其特征在于,根据表征各事务分布情况的关键字,自主得到所述二进制日志文件对应的各事务的分布信息的过程,包括:根据表征各事务开始的关键字及表征各事务结束的关键字,相应计算各事务的大小;根据表征各事务开始时间的关键字及表征各事务结束时间的关键字,相应计算各事务的开始时间及结束时间;根据表征各事务id信息的GTID号,计算事务的总数量;
根据表征各事务开始位置的关键字及表征各事务结束位置的关键字,相应计算各事务的开始位置及结束位置;将各事务计算得到的信息进行汇总,得到各事务的分布信息。6.如权利要求5所述的解析数据库日志中事务分布的方法,其特征在于,所述解析数据库日志中事务分布的方法还包括:根据大事务的开始位置及结束位置,从所述解析文本中摘取出所述大事务对应的SQL内容;将事务的总数量、大事务的总数量、大事务...
【专利技术属性】
技术研发人员:王绍晖,
申请(专利权)人:山东英信计算机技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。