[发明专利]一种减小数据丢失的数据库切换方法在审
申请号: | 202111315451.0 | 申请日: | 2021-11-08 |
公开(公告)号: | CN114036129A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 刘小龙;唐军;周文龙 | 申请(专利权)人: | 四川启睿克科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/27;G06F11/34 |
代理公司: | 四川省成都市天策商标专利事务所(有限合伙) 51213 | 代理人: | 刘兴亮 |
地址: | 610000 四川省成都市中国(四川)*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 减小 数据 丢失 数据库 切换 方法 | ||
本发明公开了一种减小数据丢失的数据库切换方法,通过结合半同步复制和MHA集群方案的特点,在一主多从的架构里,要求一个复制集群中必须最少有三台数据库服务器,如果只有一个从节点已经收到了最新的二进制日志,可以将最新的二进制日志应用于其他所有的从服务器上。在此基础上再引入一个第三方的日志服务器,在主库事务提交时,同时写入本地和第三方日志服务器的日志。即使在半同步组件失效,并且主数据库服务器也无法访问的情况下,仍然可以从第三方日志服务器上获取日志,用来保证在整个数据库切换过程中,都不会有因为二进制日志缺失而导致数据丢失的风险。
技术领域
本发明涉及数据库技术领域,尤其涉及一种减小数据丢失的数据库切换方法。
背景技术
可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而言,高可用可能更复杂,对用户的服务可用,不仅仅是能访问,还需要有正确性保证,因此讨论数据库的高可用方案时,一般会同时考虑方案中数据一致性问题。
在目前的MySQL数据库高可用架构中,经常会使用半同步复制来保障数据库切换的数据一致性。在主从架构里,主库提交一个事务时,需要收到从库写入日志的反馈之后才能完成提交。但是在数据同步过程中,可能因为网络问题、大事务问题等导致半同步退化成异步复制。而在异步复制中,主库提交的事务只保证写进主服务器的日志里,主从发生实时切换就可能导致从库上没有跟上主库最新的数据。如果完全依赖于异步复制或者半同步复制组件,数据一致性无法得到保证。而在很多的MHA集群解决方案里,在自动故障切换过程中试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。
发明内容
本发明的目的就在于为了解决上述问题而提供一种减小数据丢失的数据库切换方法,本发明结合了半同步复制和MHA集群方案的特点,在一主多从的架构里,要求一个复制集群中必须最少有三台数据库服务器,如果只有一个从节点已经收到了最新的二进制日志,可以将最新的二进制日志应用于其他所有的从服务器上。在此基础上再引入一个第三方的日志服务器,在主库事务提交时,同时写入本地和第三方日志服务器的日志。即使在半同步组件失效,并且主数据库服务器也无法访问的情况下,仍然可以从第三方日志服务器上获取日志,用来保证在整个数据库切换过程中,都不会有因为二进制日志缺失而导致数据丢失的风险。
本发明通过以下技术方案来实现上述目的:
一种减小数据丢失的数据库切换方法,包括以下步骤:
步骤1,创建基于半同步复制的多节点数据库集群,并加入同步超时机制;
步骤2,接入二进制日志服务器,实时保存主数据库产生的增量数据;
步骤3,创建第三方管理节点监控集群状态,部署数据库切换脚本。
进一步方案为,所述步骤1中,创建一个至少有三个节点的数据库集群,并配置为半同步复制模式,为同步设置一定的超时时间,超时即退步为异步复制模式。
进一步方案为,所述步骤1中,若使用半同步复制导致客户端在主库的事务一直处于等待状态,则需要加入同步超时机制,若在等待过程中,等待时间已经超过了配置的超时时间,没有任何一个从节点通知当前事务,则主库会转换为异步复制,当至少一个半同步从节点赶上来时,主库再转换为半同步方式的复制。
进一步方案为,所述步骤2中,数据库的二进制日志记录了所有的数据修改操作的语句,以事件形式记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川启睿克科技有限公司,未经四川启睿克科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111315451.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置