[发明专利]一种基于MongoDB的慢SQL聚合展示方法和系统在审
申请号: | 201910010505.9 | 申请日: | 2019-01-07 |
公开(公告)号: | CN111414382A | 公开(公告)日: | 2020-07-14 |
发明(设计)人: | 刘运朋 | 申请(专利权)人: | 北京智融网络科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/248 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100086 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mongodb sql 聚合 展示 方法 系统 | ||
本发明公开了一种基于MongoDB的慢SQL聚合展示方法和系统,方法包括:数据采集步骤,包括:每隔T1时间在所有MongoDB主机扫描最近T1时间的MongoDB日志,且过滤出慢SQL并存储到第一存储数据库中;数据处理步骤,包括:每隔T2时间向第一存储数据库查询,并获取所有主机在T2时间内的慢SQL,并导入第二存储数据库中;数据合并步骤,包括:将第二存储数据中的慢SQL合并清理,并更新单个时间段慢SQL数量、以及本类慢SQL第一次出现的时间和最后一次出现的时间,对首次出现的慢SQL归并记录;其中,所述慢SQL是指超过50ms的增删改查SQL语句,且T2的时间大于T1的时间。
技术领域
本发明属于一种基于MongoDB的慢SQL聚合展示方法和系统。
背景技术
现有主流技术仅通过mtools工具对MongoDB中慢日志进行单项分析,在MongoDB数据库出现性能问题时,通过工具分析日志中存在的慢SQL类别集数量,并不能整体的去观察数据库中每个副本集慢SQL的变化趋势、某个时间段慢SQL数量、以及慢SQL第一次出现的时间和最后一次出现的时间。
发明内容
本发明所要解决的技术问题是提供一种基于MongoDB的慢SQL聚合展示方法和系统。
本发明解决上述技术问题所采取的技术方案如下:
一种基于MongoDB的慢SQL聚合展示方法,包括:
数据采集步骤,包括:每隔T1时间在所有MongoDB主机扫描最近T1时间的MongoDB日志,且过滤出慢SQL并存储到第一存储数据库中;
数据处理步骤,包括:每隔T2时间向第一存储数据库查询,并获取所有主机在T2时间内的慢SQL,并导入第二存储数据库中;
数据合并步骤,包括:将第二存储数据中的慢SQL合并清理,并更新单个时间段慢SQL数量、以及本类慢SQL第一次出现的时间和最后一次出现的时间,对首次出现的慢SQL归并记录;
其中,所述慢SQL是指超过50ms的增删改查SQL语句,且T2的时间大于T1的时间。
优选的是,还包括:
数据清理步骤,即清理整个过程中出现的临时文件和数据;
数据展示步骤,包括:
在网页展示所有副本集慢SQL趋势图和详细SQL;
和/或,根据时间、副本集名称、表名和操作类型查询符合条件的慢SQL,同时展示SQL详细信息和趋势图,标记慢SQL是否为不需要处理的慢SQL及确认人。
优选的是,所述数据收集步骤中,具体包括:
每5分钟从所有的MongoDB的日志中获取最近5分钟的日志信息,排除连接信息、验证信息、元数据接受信息;
所述数据处理步骤中,具体包括:
每30分钟从第一存储数据库中查询所有日志数据,并且按照主机名称保存为临时文件通过mtools工具获取日志数据中慢SQL的各项信息,并存入数据库的慢日志详细表。
优选的是,所述数据合并步骤中,具体包括:
把多个相同时间段内副本集名称、表名、操作、模式都相同的SQL合并为一类SQL并且更新慢SQL出现的次数、最小查询时间、最大查询时间、平均查询时间、总时间;
其中,同一类慢SQL合并后,只需要保留其中一条信息,清理慢日志详细表中多余的记录。
优选的是,所述数据合并步骤中,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智融网络科技有限公司,未经北京智融网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910010505.9/2.html,转载请声明来源钻瓜专利网。