[发明专利]用于修复数据库备库数据的方法和设备有效
申请号: | 201510837138.1 | 申请日: | 2015-11-26 |
公开(公告)号: | CN106802895B | 公开(公告)日: | 2020-06-02 |
发明(设计)人: | 刘良友;田英鹤;赵建伟;林晓斌 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F11/14 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 陈贞健;周建华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 修复 数据库 数据 方法 设备 | ||
本申请的目的是提供一种用于修复数据库备库数据的技术,通过实时比较主库的执行日志位点信息和所述备库的执行日志位点信息是否一致,当一致时,对所述主库进行可读不可写的加锁处理;实时比较所述主库在完成加锁处理时执行日志位点信息和所述备库的执行日志位点信息是否一致,当一致时,停止所述备库从所述主库进行的复制工作;请求所述主库备份待修复数据,并在所述待修复数据备份完成后,对所述主库进行解锁处理;获取所述待修复数据,并基于所述待修复数据对所述备库进行修复,在修复完成后,开启所述备库从所述主库进行的复制工作。在云计算场景下达到修复过程控制在数秒内可以不暂停业务就可以修复数据的目的和精确安全的修复效果。
技术领域
本申请涉及计算机领域,尤其涉及一种用于修复数据库备库数据的技术。
背景技术
随着数据库技术的迅猛发展,数据库的应用十分广泛,深入到各个领域。在数据库系统中,无论是出于容灾还是读写分离等目的,往往对一个数据库实例主库建立备库,而由于主机宕机、备库不慎被设置为可写、数据库设计本身缺陷或人为操作失当等原因,可能造成主库和其备库的数据不一致。
目前,为了对不一致的数据片段进行修复,许多用户都有自己的修复方法,一些厂商也提供了用于修复的脚本工具,例如,比对主库与备库的数据块(chunk)中每一行,对找到的主备不一致的行,采用插入数据列表中(repalce into)语句,在主库执行一遍用以生成该行全量的执行日志(binlog),并同步到备库,这会以主库数据为基准来修复备库,对于主库有的行而备库没有的行,采用替代(replace)在主库上插入,对于备库有而主库没有的行,通过在主库执行删除,直到修复该数据块所有不一致的行。
一方面,在整个数据块的修复过程中,需要持有数据块的加锁(for update锁),备库的延迟越大,主库加锁时间越长,对线上影响就越大。在云计算场景下,面对的是大量的不知具体业务场景及使用习惯的用户,如采用此工具,会带来难以弥补的失误。另一方面,还会存在以下风险:如果数据出现乱码,这一修复动作将可能无法完成修复,甚至会修错数据;被修复的表必须有唯一主键,否则会无法准确定位被修复的行,这可能造成修复对象错误,表现为替代(replace into)错误数据或者删除(delete)错误数据,这样的错误是不可挽回的。此外,在云计算情况下,现有脚本工具进行的修复,一旦主备关系发生变化,会直接导致数据源错误。
发明内容
本申请的目的是提供一种用于修复数据库备库数据的方法与设备,要解决的技术问题是在云计算场景下不暂停用户业务时如何精准安全地修复用户数据的问题。
根据本申请的一个方面,提供了一种用于修复数据库备库数据的方法,包括:
实时比较主库的执行日志位点信息和备库的执行日志位点信息是否一致,当一致时,对所述主库进行可读不可写的加锁处理;
实时比较所述主库在完成加锁处理时执行日志位点信息和所述备库的执行日志位点信息是否一致,当一致时,停止所述备库从所述主库进行的复制工作;
请求所述主库备份待修复数据,并在所述待修复数据备份完成后,对所述主库进行解锁处理;
获取所述待修复数据,并基于所述待修复数据对所述备库进行修复,在修复完成后,开启所述备库从所述主库进行的复制工作。
根据本申请的另一方面,还提供了一种用于修复数据库备库数据的设备,包括:
加锁装置,用于实时比较主库的执行日志位点信息和备库的执行日志位点信息是否一致,当一致时,对所述主库进行可读不可写的加锁处理;
备库停止装置,用于实时比较所述主库在完成加锁处理时执行日志位点信息和所述备库的执行日志位点信息是否一致,当一致时,停止所述备库从所述主库进行的复制工作;
解锁装置,用于请求所述主库备份待修复数据,并在所述待修复数据备份完成后,对所述主库进行解锁处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510837138.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置