[发明专利]用于数据库进行物理热备及数据恢复的方法和设备有效
申请号: | 201510881424.8 | 申请日: | 2015-12-03 |
公开(公告)号: | CN106844363B | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 王波 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F11/14 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 陈贞健;周建华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 数据库 进行 物理 数据 恢复 方法 设备 | ||
1.一种用于数据库进行物理热备的方法,其中,所述方法包括:
实时将二进制日志拷贝至备份集中,直至备份结束;
依次对数据库的每一数据表进行加锁后备份至所述备份集中;
基于每一所述数据表在加锁时已存储数据对应在所述二进制日志中所执行到的执行位点生成日志位点信息文件并保存至所述备份集中;
其中,依次对数据库的每一数据表进行加锁后备份至所述备份集中,包括循环执行:对其中一数据表进行加锁;获取所述数据表加锁时所述二进制日志的执行位点;备份所加锁的数据表至所述备份集中;备份完成后对所加锁的数据表进行解锁;直至所有所述数据表完成备份。
2.根据权利要求1所述的方法,其中,所述实时将二进制日志拷贝至备份集中,直至备份结束包括:
利用一个独立线程实时拷贝所述二进制日志;
当所有所述数据表备份完成后,停止所述独立线程。
3.根据权利要求1所述的方法,其中,所述备份所加锁的数据表包括:
备份所加锁的数据表的数据索引、数据结构及数据内容。
4.一种用于数据库进行数据恢复的方法,其中,所述方法包括:
获取在物理热备阶段生成的备份集,其中,所述备份集采用如下方式生成:实时将二进制日志拷贝至备份集中,直至备份结束;依次对数据库的每一数据表进行加锁后备份至所述备份集中;基于每一所述数据表在加锁时已存储数据对应在所述二进制日志中所执行到的执行位点生成日志位点信息文件并保存至所述备份集中;其中,依次对数据库的每一数据表进行加锁后备份至所述备份集中,包括循环执行:对其中一数据表进行加锁;获取所述数据表加锁时所述二进制日志的执行位点;备份所加锁的数据表至所述备份集中;备份完成后对所加锁的数据表进行解锁;直至所有所述数据表完成备份;
将所述备份集中的所有所述数据表拷贝至恢复目标路径;
基于所述二进制日志及所述日志位点信息文件,对所述恢复目标路径中所有所述数据表进行更新。
5.根据权利要求4所述的方法,其中,所述基于所述二进制日志及所述日志位点信息文件,对所述恢复目标路径中所有所述数据表进行更新包括,循环执行:
基于所述日志位点信息文件中一所述数据表在加锁时已存储的数据对应在所述二进制日志中所执行到的执行位点,确定相应所述数据表在所拷贝的二进制日志的恢复执行位点;
基于所拷贝的二进制日志获取从所述恢复执行位点到目标执行位点之间的所有执行事件,并执行其中与相应所述数据表相关的执行事件,以更新所述恢复目标路径中的相应所述数据表;
直至完成对所述恢复目标路径中所有所述数据表的更新。
6.根据权利要求5所述的方法,所述基于所拷贝的二进制日志获取从所述恢复执行位点到目标执行位点之间的所有执行事件,并执行其中与相应所述数据表相关的执行事件,以更新所述恢复目标路径中的相应所述数据表包括:
获取所拷贝的二进制日志中从所述恢复执行位点到所述目标执行位点之间的所有执行事件,其中,所述执行事件具有与所述数据表的对应标识;
循环执行读取其中一所述执行事件,根据其具有的所述对应标识,判断是否关于相应所述数据表,若是,则根据该执行事件对所述恢复目标路径中的相应所述数据表进行更新,若否,则读取下一所述执行事件,直至读取完从所述恢复执行位点到所述目标执行位点之间的所有执行事件。
7.根据权利要求6所述的方法,其中,所述执行事件还包括:
执行事件类型、执行数据信息和执行位点。
8.根据权利要求5至7任一项所述的方法,其中,所述目标执行位点为:
所有所述数据表完成备份时所述二进制日志的执行位点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510881424.8/1.html,转载请声明来源钻瓜专利网。