[发明专利]数据库系统锁操作分析方法及装置在审
申请号: | 201810342398.5 | 申请日: | 2018-04-17 |
公开(公告)号: | CN110399378A | 公开(公告)日: | 2019-11-01 |
发明(设计)人: | 丁超 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/242 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 方亮 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库系统 事务性操作 操作分析 语句 数据库 数据库技术 事务信息 数据资源 有效减少 运行效率 时序 公有云 时长 回溯 应用 优化 存储 分析 关联 监控 保证 服务 | ||
本公开提供了一种数据库系统锁操作分析方法及装置,涉及数据库技术领域,其中方法包括:获取数据库系统的事务性操作的事务信息以及与此事务性操作相关联的锁信息并存储,获得对于数据资源进行的锁操作的锁操作分析结果,根据锁操作分析结果对数据库系统的事务性操作进行监控并对事务性操作进行调优处理。本公开的数据库系统锁操作分析方法及装置,通过回溯或实时得到事务性操作中的锁时序、锁等待时长等,分析锁操作是否发生异常,并能够对于SQL执行语句进行分析、优化,可应用于对数据库系统进行调优,也可以应用于公有云的数据库调优服务,能够保证SQL执行语句的优化效果,有效减少执行时间,提高数据库的运行效率。
技术领域
本公开涉及数据库技术领域,尤其涉及一种数据库系统锁操作分析方法及装置。
背景技术
在互联网发展的多个阶段中,数据库的作用都是很重要的,数据库是网络应用中必不可少的持久化组件。数据库需要支持大规模的并发读写,为了对共享资源进行互斥管理,设计了锁机制。根据场景和资源粒度不同,设计了表锁,行锁,间隙锁等。数据库中锁的应用,保证了共享访问的正确性,但是,锁的使用不当必然会降低数据库的运行效率,甚至导致错误。例如:数据库的表设计不当、SQL编写问题导致不必要的锁等待;各事务(线程)循环等待而产生死锁等。
在现有的数据库系统使用中,需要监控锁操作是否出现问题,以及对数据操作进行优化处理。目前,只能通过数据库提供的命令行查询运行时信息,对锁操作进行人工分析。例如,开源数据库软件MySQL,开放SQL命令,通过在MySQL用户控制台中执行SQL命令得到运行时锁操作的信息以及事务信息。但是,以此方式获得锁操作的信息以及事务信息,需要较强的专业技能,对于例如业务研发、测试、运维等角色则较难掌握。并且,现有的数据库提供的锁操作命令行查询功能有限,加锁时间、等待时间等都没有提供。而且,当死锁发生时/或者锁释放时,数据库中提供的锁和事务信息已经清空,无法追溯,不利于定位、分析锁操作出现的问题。因此,需要一种新的对数据库系统的锁操作进行分析的技术方案。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种数据库系统锁操作分析方法及装置。
根据本公开的一个方面,提供一种数据库系统锁操作分析方法,包括:获取数据库系统的事务性操作的事务信息以及与此事务性操作相关联的锁信息;存储所述事务信息和所述锁信息并根据所述事务性操作的处理状态更新所述事务信息和所述锁信息;基于存储的所述事务信息和所述锁信息获得事务性操作中对于数据资源进行的锁操作的锁操作分析结果;根据所述锁操作分析结果对所述数据库系统的事务性操作进行监控并对所述事务性操作进行调优处理。
可选地,所述获取数据库系统的事务性操作的事务信息以及与此事务性操作相关联的锁信息包括:设置与所述数据库系统对应的事务及锁信息数据库,其中,所述数据库系统与所述事务及锁信息数据库为主从模式,所述事务及锁信息数据库为从数据库;获取所述数据库系统同步到所述事务及锁信息数据库的事务性操作数据;根据所述事务性操作数据获得所述事务信息和所述锁信息。
可选地,所述存储所述事务信息和所述锁信息并根据所述事务性操作的处理状态更新所述事务信息和所述锁信息包括:在所述事务及锁信息数据库中建立数据表,将所述事务信息、所述锁信息存储在所述数据表中;其中,所述锁信息包括:锁操作信息、锁与事务关联信息;根据所述事务性操作数据更新已存储在所述数据表中的所述事务信息、所述锁信息。
可选地,所述事务信息包括:事务ID、事务状态、等待的锁ID、等待开始的时间、等待结束的时间、SQL语句;所述锁操作信息包括:锁ID、锁类型、事务ID、锁是否有效;所述锁与事务关联信息包括:申请锁资源的事务ID、申请的锁ID、阻塞的事务ID、阻塞的锁ID。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810342398.5/2.html,转载请声明来源钻瓜专利网。