数据备份方法及装置的制造方法

文档序号:8905146阅读:337来源:国知局
数据备份方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机领域,特别是涉及数据备份方法及装置。
【背景技术】
[0002]MongoDB是一种当前比较常用的分布式数据库,主要用于为业务提供服务或支持。为业务提供的服务或支持需具备实时性,以保持业务的在线状态,因此MongoDB需要一直保持服务/支持的提供状态,而不能关闭。一旦MongoDB关闭,会造成业务中断,影响业务以及用户感受。
[0003]然而,MongoDB在使用过程中需要对数据进行备份,现有的备份方式如下:
[0004]1、关闭MongoDB,中断运行中的业务,拷贝所有数据,待数据拷贝完成后在本地重启 MongoDB ;
[0005]2、为MongoDB提供额外的隐藏数据节点,将数据导入到隐藏数据节点中。
[0006]对于上述方案而言,关闭MongoDB,业务一定会中断报错,影响业务稳定性;而提供额外的隐藏数据节点这一方式,虽然不需要关闭数据库,但是,每个数据节点都需要额外的一台独立服务器实现,费用高,且该独立服务器在不需要进行备份时不承担任何业务,极大地浪费资源。现有技术对此尚未提及存在较好的解决方案。

【发明内容】

[0007]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库的数据备份方法及装置。
[0008]依据本发明的一个方面,提供了一种数据备份方法,包括:
[0009]在数据库为业务提供服务期间,接收所述数据库需进行数据备份的备份指令;
[0010]调用所述数据库自身具备的克隆指令,对所述数据库的数据进行克隆;
[0011 ] 将克隆得到的数据备份至目标库。
[0012]可选地,所述将克隆得到的数据备份至目标库之后,还包括:对所述目标库中的备份数据进行补全操作。
[0013]可选地,其中,对所述目标库中的备份数据进行补全操作,包括:
[0014]在所述数据库的日志文件中读取备份时间内的所有数据操作,其中,所述备份时间是从所述数据库的数据开始备份直至所述数据库的数据备份结束的时间段;
[0015]逐条执行获取的数据操作,以将相关数据备份至所述目标库。
[0016]可选地,其中,所述备份时间内的所有数据操作包括下列至少之一:
[0017]所述数据库中的原有数据从所述数据库写入所述目标库的备份数据操作;
[0018]新的数据写入所述数据库的新数据写入操作。
[0019]可选地,其中,对目标库中的备份数据进行补全操作之后,还包括:
[0020]传递统一的时间标识至所述目标库,以对所述目标库中的本次所有备份数据统一时间标识。
[0021]可选地,所述时间标识利用时间戳实现。
[0022]可选地,所述数据库为MongoDB数据库。
[0023]依据本发明的另一个方面,提供了一种数据备份方法,应用于包括多个数据库的实例,所述方法包括:
[0024]在所述实例为业务提供服务期间,接收所述实例需要进行数据备份的备份指令;
[0025]调用所述实例中的各数据库自身具备的克隆指令,分别对各数据库的数据进行克隆;
[0026]将克隆得到的各数据库的数据备份至目标库。
[0027]可选地,所述将克隆得到的各数据库的数据备份至目标库之后,还包括:对所述目标库中的备份数据进行补全操作。
[0028]可选地,对所述目标库中的备份数据进行补全操作,包括:
[0029]按顺序依次对各数据库的备份数据进行顺序补全操作;或者
[0030]分别对各数据库的备份数据进行并行补全操作。
[0031]可选地,分别对各数据库的备份数据进行补全操作,包括:
[0032]在各数据库的日志文件中读取各自备份时间内的所有数据操作,其中,所述各数据库的备份时间是从该数据库的数据开始备份直至各数据库的数据备份均结束的时间段;
[0033]逐条执行获取的数据操作,以将相关数据备份至所述目标库。
[0034]可选地,若各数据库的数据的克隆顺序为依次克隆,则
[0035]第一个数据库的备份时间为所述第一个数据库备份开始到最后一个数据库备份结束;
[0036]第二个数据库库的备份时间为所述第二个数据库备份开始到所述最后一个数据库备份结束;
[0037]第I个数据库的备份时间为所述第I个数据库备份开始到所述最后一个数据库备份结束,其中,I为自然数,且不大于数据库总数;
[0038]最后一个数据库的备份时间为所述最后一个数据库备份开始到其备份结束。
[0039]可选地,各数据库支持不同的业务。
[0040]可选地,所述数据库为MongoDB数据库。
[0041]依据本发明的又一个方面,提供了一种数据备份装置,包括:
[0042]第一接收模块,适于在数据库为业务提供服务期间,接收所述数据库需进行数据备份的备份指令;
[0043]第一克隆模块,适于调用所述数据库自身具备的克隆指令,对所述数据库数据进行克隆;
[0044]第一备份模块,适于将克隆得到的数据备份至目标库。
[0045]可选地,数据备份装置还包括:
[0046]第一数据补全模块,适于将克隆得到的数据备份至目标库之后,对所述目标库中的备份数据进行补全操作。
[0047]可选地,所述第一数据补全模块还适于:
[0048]在所述数据库的日志文件中读取备份时间内的所有数据操作,其中,所述备份时间是从所述数据库的数据开始备份直至所述数据库的数据备份结束的时间段;
[0049]逐条执行获取的数据操作,以将相关数据备份至所述目标库。
[0050]可选地,所述备份时间内的所有数据操作包括下列至少之一:
[0051]所述数据库中的原有数据从所述数据库写入所述目标库的备份数据操作;
[0052]新的数据写入所述数据库的新数据写入操作。
[0053]可选地,所述第一备份模块还适于:传递统一的时间标识至所述目标库,以对所述目标库中的本次所有备份数据统一时间标识。
[0054]可选地,所述时间标识利用时间戳实现。
[0055]可选地,所述数据库为MongoDB数据库。
[0056]依据本发明的再一个方面,提供了一种数据备份装置,应用于包括多个数据库的实例,所述装置包括:
[0057]第二接收模块,适于在所述实例为业务提供服务期间,接收所述实例需要进行数据备份的备份指令;
[0058]第二克隆模块,适于调用所述实例中的各数据库自身具备的克隆指令,分别对各数据库的数据进行克隆;
[0059]第二备份模块,适于将克隆得到的各数据库的数据备份至目标库。
[0060]可选地,数据备份装置还包括:
[0061]第二数据补全模块,适于所述将克隆得到的各数据库的数据备份至目标库之后,对所述目标库中的备份数据进行补全操作。
[0062]可选地,所述第二数据补全模块还适于:
[0063]按顺序依次对各数据库的备份数据进行顺序补全操作;或者
[0064]分别对各数据库的备份数据进行并行补全操作。
[0065]可选地,所述第二数据补全模块还适于:
[0066]在各数据库的日志文件中读取各自备份时间内的所有数据操作,其中,所述各数据库的备份时间是从该数据库的数据开始备份直至各数据库的数据备份均结束的时间段;
[0067]逐条执行获取的数据操作,以将相关数据备份至所述目标库。
[0068]可选地,若各数据库的数据的克隆顺序为依次克隆,则
[0069]第一个数据库的备份时间为所述第一个数据库备份开始到最后一个数据库备份结束;
[0070]第二个数据库库的备份时间为所述第二个数据库备份开始到所述最后一个数据库备份结束;
[0071]第I个数据库的备份时间为所述第I个数据库备份开始到所述最后一个数据库备份结束,其中,I为自然数,且不大于数据库总数;
[0072]最后一个数据库的备份时间为所述最后一个数据库备份开始到其备份结束。
[0073]可选地,各数据库支持不同的业务。
[0074]可选地,所述数据库为MongoDB数据库。
[0075]在本发明实施例中,数据库为业务提供服务和支持,在此期间,接收到数据库需进行数据备份的备份指令,直接调用数据库自身具备的克隆指令进行数据备份,对于数据库而言,因调用的是自身的克隆指令,不需要中止为业务提供服务,在业务侧就可以继续为用户提供服务,不会出现服务中止或中断的情况,从而
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1