[发明专利]用于对MySQL数据库的并发操作进行控制的方法及装置有效
| 申请号: | 201410727590.8 | 申请日: | 2014-12-03 |
| 公开(公告)号: | CN105718474B | 公开(公告)日: | 2019-10-18 |
| 发明(设计)人: | 黄欢欢 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F9/46;G06F5/06 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 mysql 数据库 并发 操作 进行 控制 方法 装置 | ||
本申请公开了一种用于对MySQL数据库的并发操作进行控制的方法,所述方法包括:接收针对MySQL数据库的数据库操作请求;判断表征MySQL数据库负载压力的指标值是否小于预先设置的第一阈值;若是,继续处理所述数据库操作请求并交由存储引擎执行;若否,结束对所述数据库操作请求的处理。本申请同时提供一种用于对MySQL数据库的并发操作进行控制的装置。采用本申请提供的方法,能够对MySQL数据库的负载压力进行精细控制,将针对数据库操作请求的响应时间维持在应用能接受的范围之内,提高了MySQL数据库整体的可用性。
技术领域
本申请涉及数据库领域,具体涉及一种用于对MySQL数据库的并发操作进行控制的方法。本申请同时提供一种用于对MySQL数据库的并发操作进行控制的装置。
背景技术
MySQL是一个开放源码的关系型数据库管理系统,通过将数据保存在不同的相互关联的数据表中,而不是将所有数据放在一个大仓库内,加快了数据访问速度并提高了灵活性。MySQL支持插件式的多种数据库引擎,其主流是支持事务机制的InnoDB存储引擎,此外还支持MyISAM、BDB、Memory等存储引擎。
MySQL数据库的体系结构通常包括两层,第一层为MySQL server层,在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括:客户端身份验证、连接管理、以及针对客户端的数据库操作请求进行解析、优化、查询高速缓存等操作;第二层就是存储引擎层(Storage Engine Layer),也就是底层数据存取操作实现部分,由多种存储引擎共同组成,负责执行数据的存储,读取,索引的建立等操作。
通常情况下,来自客户端(例如:上层应用)的数据库操作请求是随机的,因此可能会出现大量请求并发的情况,现有技术针对这种情况通常采用两种方式来保障MySQL数据库的可用性:
1)依赖上层应用限流进行保护,例如:当上层应用发现MySQl数据库的响应时间超过预先设置的阈值,则暂停或者减缓与MySQL数据库建立连接并发送数据库操作请求的动作;
2)依赖底层存储引擎自身的并发控制机制。以存储引擎InnoDB为例,当线程进入InnoDB执行时,如果发现InnoDB内部并发执行的线程数目超过了预先设置的并发数后,该线程会在InnoDB的FIFO队列中等待,而不会进入InnoDB内部直接执行,直到有线程执行完毕从InnoDB退出,在FIFO队列中等待的线程才会被唤醒并进入InnoDB内部执行。
上述两种方式在一定程度上可以对MySQL数据库起到保护的作用,但是在实际应用中,都存在一定的缺陷:采用方式1),由于需要经过上层应用的反馈,通常处理时间比较长,不能及时缓解MySQL数据库的负载压力,可能会出现限流尚未发挥效果而MySQL数据库已经崩溃的情况;采用方式2),在MySQL数据库的负载压力大到一定程度的情况下,虽然存储引擎本身具有并发控制机制,但是由于MySQL server层缺乏有效的自我保护能力,如果并发操作的规模超过MySQL Server层的处理能力,可能导致MySQL数据库无法稳定地提供服务,对上层应用的响应时间出现较大范围的波动、甚至无法响应,MySQL数据库的可用性得不到有效的保障。
发明内容
本申请提供一种用于对MySQL数据库的并发操作进行控制的方法,以解决MySQL数据库在大量并发操作的情况下可能无法稳定地提供服务的问题。本申请另外提供一种用于对MySQL数据库的并发操作进行控制的装置。
本申请提供一种用于对MySQL数据库的并发操作进行控制的方法,包括:
接收针对MySQL数据库的数据库操作请求;
判断表征MySQL数据库负载压力的指标值是否小于预先设置的第一阈值;
若是,继续处理所述数据库操作请求并交由存储引擎执行;若否,结束对所述数据库操作请求的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410727590.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:网络地图混合加载的方法和装置
- 下一篇:一种数据建模的方法





