[发明专利]MongoDB数据库的备份、恢复方法、装置、电子设备及存储介质有效
| 申请号: | 202010196551.5 | 申请日: | 2020-03-19 |
| 公开(公告)号: | CN111488243B | 公开(公告)日: | 2023-07-07 |
| 发明(设计)人: | 陈青松;李晓静;宫伯钊 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/17;G06F16/18;G06F16/182 |
| 代理公司: | 北京博遵律师事务所 11761 | 代理人: | 马佑平 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | mongodb 数据库 备份 恢复 方法 装置 电子设备 存储 介质 | ||
1.一种对MongoDB数据库的备份方法,其特征在于,包括:
获取第一时间戳;
以所述第一时间戳作为起始时间从MongoDB数据库中依次拉取多条数据库操作日志;
将拉取的多条所述数据库操作日志分类,得到数据定义语言操作日志和数据操纵语言操作日志,所述数据定义语言操作日志用于记录所述MongoDB数据库对应数据结构的变更,所述数据操纵语言操作日志用于记录所述MongoDB数据库对应数据的变更;以及
将所述数据定义语言操作日志依次写入第一临时文件,生成第一文件;
将所述数据操纵语言操作日志和所述数据定义语言操作日志依次写入第二临时文件,生成第二文件;
其中,所述获取第一时间戳包括:
在初次启动所述MongoDB数据库操作日志的拉取操作时,指定的初始化时间为所述第一时间戳并记录到配置文件中;从所述配置文件中获取所述第一时间戳;和/或,
在所述MongoDB数据库操作日志的拉取操作停止后再次启动时,以停止时已经写入到所述第一临时文件或所述第二临时文件中的最后一条数据库操作日志的时间戳为所述第一时间戳并记录到断点文件中;再次启动时从所述断点文件中获取所述第一时间戳。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在将拉取的多条所述数据库操作日志分类得到数据定义语言操作日志和数据操纵语言操作日志之后,将数据定义语言操作日志发送到一个第一队列;
将数据操纵语言操作日志分发给多个第二队列;以及
将所述数据定义语言操作日志发送到所述多个第二队列。
3.根据权利要求2所述的方法,其中,生成所述第一文件包括:
从所述第一队列中拉取数据定义语言操作日志并写入第一临时文件;
根据预定时间间隔或者预定文件大小停止向所述第一临时文件写入数据定义语言操作日志;
记录写入到所述第一临时文件的第一条数据定义语言操作日志对应的第二时间戳和最后一条数据定义语言操作日志对应的第三时间戳;以及
根据所述第一临时文件、所述第二时间戳和所述第三时间戳生成所述第一文件。
4.根据权利要求3所述的方法,其中,生成所述第二文件包括:
从所述多个第二队列中分别拉取数据操纵语言操作日志和数据定义语言操作日志并分别对应写入与所述多个第二队列一一对应的多个第二临时文件;
根据预定时间间隔或者预定文件大小停止向每个所述第二临时文件写入数据操纵语言操作日志和数据定义语言操作日志;
记录写入到每个所述第二临时文件的第一条数据库操作日志对应的第四时间戳和最后一条数据库操作日志对应的第五时间戳;以及
根据每个所述第二临时文件及其对应的第四时间戳和第五时间戳生成对应的所述第二文件。
5.一种对MongoDB数据库的恢复方法,其特征在于,包括:
读取第二文件中的数据操纵语言操作日志或数据定义语言操作日志,其中,通过将MongoDB数据库的数据操纵语言操作日志和数据定义语言操作日志依次写入第二临时文件生成所述第二文件,所述数据定义语言操作日志用于记录所述MongoDB数据库对应数据结构的变更,所述数据操纵语言操作日志用于记录所述MongoDB数据库对应数据的变更;
在当前读取到所述第二文件中的数据操纵语言操作日志时,对当前读取的数据操纵语言操作日志执行数据操纵语言语句并还原到目标数据库;
在当前读取到所述第二文件中的数据定义语言操作日志时,发送第一通知,所述第一通知表示当前读取到与第一文件中写入的数据定义语言操作日志相同的数据定义语言操作日志,以使所述第一文件中对应的数据定义语言操作日志还原到目标数据库,其中通过将所述MongoDB数据库的数据定义语言操作日志依次写入第一临时文件生成所述第一文件;以及
在收到对所述第一文件中对应的数据定义语言操作日志还原完成的第二通知后,继续读取所述第二文件中的数据操纵语言操作日志或数据定义语言操作日志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010196551.5/1.html,转载请声明来源钻瓜专利网。





