[发明专利]一种数据库读写分离架构下读取数据延迟问题的解决方法有效
申请号: | 201910797611.6 | 申请日: | 2019-08-27 |
公开(公告)号: | CN110489092B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 叶丁辉;陈波;龚致;常清雪 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F16/28;G06F16/27;G06F16/25;G06F16/2458;G06F16/23 |
代理公司: | 四川省成都市天策商标专利事务所(有限合伙) 51213 | 代理人: | 郭会 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 读写 分离 架构 读取 数据 延迟 问题 解决方法 | ||
本发明公开了一种数据库读写分离架构下读取数据延迟问题的解决方法,包括以下步骤:A.向原系统添加中间层组件,B.通过中间层组件分析写入语句,并创建写入操作数据表档案;C.记录从库同步完成标识;D.根据数据读取语句分析,选取读取的数据库。本发明的方法能保证在MYSQL数据库读写分离的架构条件下,不会发生因为数据同步带来的读取数据延迟的问题,有助于在提高读写性能的情况下,又能满足读取数据的实时一致性。
技术领域
本发明涉及软件技术领域,特别涉及一种数据库读写分离架构下读取数据延迟问题的解决方法。
背景技术
随着公司系统的数据量的不断增大,为了提高数据库的读写性能,引入了数据库读写分离架构。数据库读写分离是将对数据库的读操作和写操作分离到不同的数据库进行,读写操作的数据库可能是在同一台服务器的不同数据库中,也可能是在不同服务器的数据库中,其中写操作数据库为主库,读操作数据库为从库。读写分离的数据同步机制是先将数据写入到主库,当数据写入完毕后,再由主库将需要同步的数据的数据日志(binlog)复制到从库,从库再执行数据日志来创建数据。因为主从库并不是同一个数据库,并且MySQL复制数据日志和创建数据需要时间,所以数据写入到主库后,如果从从库读取数据,就会有一定的延迟才能读取到写入到主库的数据。当发生延迟时,会对数据实时一致性造成影响,即发生写入的数据在一定时间内无法读取的问题,从而影响公司业务数据的正常使用。在此背景下,需要一种方案来解决数据库读写分离架构下读取数据延迟的问题。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种数据库读写分离架构下读取数据延迟问题的解决方法,能保证在MYSQL数据库读写分离的架构条件下,不会发生因为数据同步带来的读取数据延迟的问题,有助于在提高读写性能的情况下,又能满足读取数据的实时一致性。
为了达到上述的技术效果,本发明采取以下技术方案:
一种数据库读写分离架构下读取数据延迟问题的解决方法,包括以下步骤:
A.向原系统添加中间层组件,所述中间层组件通过切面方法的形式拦截读写操作,并用于分析读写操作的SQL、获取和记录主库同步数据到从库的完成情况,以及将读取数据的请求分发到数据同步完成了的从库;
B.通过中间层组件分析写入语句,并创建写入操作数据表档案;
C.记录从库同步完成标识;
D.根据数据读取语句分析,选取读取的数据库。
进一步地,所述中间层组件具体添加于web应用和MySQL服务器之间。
进一步地,所述步骤B具体包括:
B1.当有数据写入时,中间层组件拦截写入语句,并将语句转存到中间层的语句解析队列中,然后放行数据写入操作,开始数据写入;
B2.中间层组件从队列中取出写入语句,通过SQL分析程序对语句进行拆解分析,提取出要写入的数据表名,并建立本次写入操作的数据表档案;
B3.数据写入完成后,会将数据日志偏移位置存入步骤B2中创建的数据表档案中;
B4.在数据表档案创建及更新后,中间层均将数据表档案纳入统计数据,统计出所有正在做同步数据的数据表在哪些从库中已经完成同步操作。
进一步地,所述数据表档案是存储在内存中的一个对象,包括档案id、写入的数据表名、主库数据日志的偏移位置、从库id列表、从库是否同步完毕完成的标识。
进一步地,所述步骤C包括:
C1.主库数据写入完成后,MySQL将数据日志复制到从库,从库从上次同步完后的偏移位置开始读取新的数据日志,并创建数据,当数据创建完成后更新同步完成到的偏移位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910797611.6/2.html,转载请声明来源钻瓜专利网。