[发明专利]一种关于业务SQL的分析方法及装置在审
申请号: | 201710552107.0 | 申请日: | 2017-07-07 |
公开(公告)号: | CN109213789A | 公开(公告)日: | 2019-01-15 |
发明(设计)人: | 王梓晨 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;陆锦华 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分析方法及装置 持久层 方法执行 分析规则 技术手段 业务请求 用户发起 拦截器 预设 数据库 分析 拦截 统计 | ||
本发明提供一种关于业务SQL语句的分析方法及装置,其中在接收到用户发起的业务请求之后,所述分析方法执行如下步骤:在数据持久层增加SQLSession的拦截器,获取执行业务的SQL语句;对获取的所述SQL语句根据预设分析规则执行分析逻辑,生成分析结果。本发明采用在数据库持久层对业务SQL进行精确拦截并收集的技术手段,同时还可以直接生成想要的SQL统计情况报表。
技术领域
本发明涉及计算机领域,具体涉及一种关于业务SQL语句的分析方法及装置。
背景技术
面向服务的体系结构(Service-oriented Architecture,简称SOA)是应用程序体系结构,通过它发布的接口可被其它应用程序调用。在SOA中,所有功能都封装为独立的服务,外部应用程序并不知道该服务功能是怎样实现的,而只关心是否能返回期望的结果。基于业务场景的差异化与技术架构的选型,数据持久化使用关系型数据库成了首要选择,例如ORACLE、SQLSERVER、MYSQL、DB2等,特别是对于基于SOA架构的系统,数据持久化更是实现数据落地的必要环节。
在现有技术中,为了实现对业务系统和统一优化数据库持久层的优化,比如针对不同的业务场景需要对数据库的类型进行切换、数据库关系进行改造升级等操作,都需要从每一处执行业务的逻辑处理层下的数据访问层拦截所有业务SQL语句,以获取数据库访问层的业务SQL语句,并对数据库持久层的业务SQL语句进行统计分析。需要分析的业务SQL主要分为DML和DDL两种。对于只关心数据变化的场景,只需分析DDL就可以满足需求。
值得一提的是,拦截SQL语句需要注意两点:
1、保证每一条执行过的SQL语句都被成功的记录;
2、不能影响现有的业务正常运行。
由此可知,为了实现拦截和分析SQL语句,我们需要在每条SQL语句被执行时,还需要同时记录一条日志,然后对所有的日志逐个进行分析,生成满足特定需求的数据报表,比如每条SQL语句被执行了多少次,哪种参数作为SQL语句的输入条件最常出现等。
然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有技术是无法直接提取SQL语句,而是需要借助第三方工具通过日志的形式记录SQL语句,这种方式导致分析SQL语句的方法不够直观,并且这些日志中存在丢失SQL语句的风险,因此分析业务SQL语句的精确度较低,效果较差。
发明内容
有鉴于此,本发明实施例提供一种关于业务SQL语句的分析方法及装置,能够在不影响原有业务逻辑的情况下,在数据库持久层对业务SQL语句进行精确拦截,并且能够直接生成满足特定需求的SQL统计情况报表。
为实现上述目的,根据本发明的一个方面,提供了一种关于业务SQL语句的分析方法,其中在接收到用户发起的业务请求之后,所述分析方法执行如下步骤:
在数据持久层增加SQLSession的拦截器,获取执行业务的SQL语句;
对获取的所述SQL语句根据预设分析规则执行分析逻辑,生成分析结果。
可选地,所述SQLSession的拦截器是使用SqlsessionFactory接口的OpenSession方法创建的。
可选地,所述分级结果包括:所述业务对应的所述SQL语句的类型、参数、声明以及执行频率。
可选地,该方法还包括:采用Cassandra数据库将获取的所述SQL语句和所述分析结果进行存储,生成数据报表。
可选地,该方法还包括:在获取执行业务的SQL语句之后,对与所述SQL语句对应的数据库和数据连接情况进行异常监控。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710552107.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于大数据的环境监控平台
- 下一篇:一种基于区块链的数据流通分析方法和系统