事务备份处理方法及装置的制造方法_3

文档序号:9865351阅读:来源:国知局
验,确保文件一致没有损坏。
[0065]步骤S1004,恢复单节点数据,使用成功导入并校验正常的数据恢复到DB节点。
[0066]步骤S1006,回滚事务,对全局事务日志进行处理,强制回滚局部成功但全局不成功的事务,并分析提交失败的事务根据情况进行回滚。图11是根据本发明优选实施例的全局事务备份的示意图,如图11所示,全局事务Tl,每个DB节点上的事务均在全局备份完成时间前成功提交,则数据预恢复的时候不需要回滚操作。全局事务T2,每个DB节点上的事务均在全局备份完成时间前提交,但事务T2.Node2提交失败。这种情况下,可能已经强制回滚事务T2.NodeU T2.Node2和T2.Node3,需要先查看全局事务日志,若没有强制回滚事务T2.NodeU T2.Node2和T2.Node3,再执行强制回滚。全局事务T3,事务T3.NodeUT3.Node3均在全局备份完成时间前成功提交,但事务T3.Node2在全局备份完成时刻t0尚未提交。此时需要强制回滚事务T3.Nodel和T3.Node3。而对于Node2节点,事务T3.Node2可能已经被自动回滚,也可能没有被自动回滚,需要结合Node2备份完成时间点来进一步判断是否需要回滚。为保证将来事务T3.Node2成功提交后,全局事务T3不丢失,需要根据数据库日志记录的每一行数据的变化,还原出所执行的SQL语句,还要按提交顺序记录下事务T3.Nodel和T3.Node3 (可能包括T3.Node2)所执行的所有SQL语句。
[0067]步骤S1008,前滚,如果需要恢复到最新状态则需要进一步前滚,根据备份时记录的数据库日志序列号(LSN)信息,从数据库日志的该序列号的下一个日志开始,根据数据库日志记录的每一行数据的变化,还原出所执行的SQL语句,把数据库前滚到最新状态。
[0068]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0069]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种事务备份处理方法,其特征在于,包括: 获取全局事务包括的数据库DB节点上的事务备份的日志提交时间; 依据所述日志提交时间,以及预定的数据库全局备份完成时间和数据库全局事务日志备份截止时间中至少之一,对所述全局事务进行备份处理。2.根据权利要求1所述的方法,其特征在于,依据所述日志提交时间,以及预定的数据库全局备份完成时间和数据库全局事务日志备份截止时间,对所述全局事务进行备份处理包括: 判断全局事务包括的数据库DB节点上的事务备份的所述日志提交时间是否均先于所述预定的数据库全局备份完成时间; 在判断结果为是的情况下,确定所述全局事务上所包括的DB节点上的事务备份成功。3.根据权利要求1所述的方法,其特征在于,依据所述日志提交时间,以及预定的数据库全局备份完成时间和数据库全局事务日志备份截止时间,对所述全局事务进行备份处理包括: 判断全局事务包括的数据库DB节点上的事务备份的所述日志提交时间是否均先于所述预定的数据库全局备份完成时间; 在判断结果为否的情况下,判断日志提交时间晚于所述预定的数据库全局备份完成时间的DB节点的所述日志提交时间是否先于所述数据库全局事务日志备份截止时间; 在判断结果为是的情况下,对所述日志提交时间晚于所述预定的数据库全局备份完成时间,先于所述数据库全局事务日志备份截止时间DB节点上的备份事务进行前滚操作。4.根据权利要求1所述的方法,其特征在于,依据所述日志提交时间,以及预定的数据库全局备份完成时间和数据库全局事务日志备份截止时间,对所述全局事务进行备份处理包括: 依据所述日志提交时间判断所述全局事务包括的数据库DB节点上的事务备份在所述预定的数据库全局备份完成时间或数据库全局事务日志备份截止时间是否均提交成功;在判断结果为否的情况下,对所述全局事务上的备份事务进行回滚操作。5.根据权利要求1所述的方法,其特征在于,在获取全局事务包括的数据库DB节点上的事务备份的日志提交时间之前,还包括: 向DB节点代理发送指示信息,其中,所述指示信息用于指示所述DBAgent对所述备份事务的完整性进行校验。6.一种事务备份处理装置,其特征在于,包括: 获取模块,用于获取全局事务包括的数据库DB节点上的事务备份的日志提交时间;备份处理模块,用于依据所述日志提交时间,以及预定的数据库全局备份完成时间和数据库全局事务日志备份截止时间中至少之一,对所述全局事务进行备份处理。7.根据权利要求6所述的装置,其特征在于,所述备份处理模块包括: 第一判断单元,用于判断全局事务包括的数据库DB节点上的事务备份的所述日志提交时间是否均先于所述预定的数据库全局备份完成时间; 确定单元,用于在判断结果为是的情况下,确定所述全局事务上所包括的DB节点上的事务备份成功。8.根据权利要求6所述的装置,其特征在于,所述备份处理模块包括: 第二判断单元,用于判断全局事务包括的数据库DB节点上的事务备份的所述日志提交时间是否均先于所述预定的数据库全局备份完成时间; 第三判断单元,用于在判断结果为否的情况下,判断日志提交时间晚于所述预定的数据库全局备份完成时间的DB节点的所述日志提交时间是否先于所述数据库全局事务日志备份截止时间; 前滚操作单元,用于在判断结果为是的情况下,对所述日志提交时间晚于所述预定的数据库全局备份完成时间,先于所述数据库全局事务日志备份截止时间DB节点上的备份事务进行前滚操作。9.根据权利要求6所述的装置,其特征在于,所述备份处理模块包括: 第四判断单元,用于依据所述日志提交时间判断所述全局事务包括的数据库DB节点上的事务备份在所述预定的数据库全局备份完成时间或数据库全局事务日志备份截止时间是否均提交成功; 回滚操作单元,用于在判断结果为否的情况下,对所述全局事务上的备份事务进行回滚操作。10.根据权利要求6所述的装置,其特征在于,所述装置还包括: 校验模块,用于向DB节点代理发送指示信息,其中,所述指示信息用于指示所述DBAgent对所述备份事务的完整性进行校验。
【专利摘要】本发明公开了一种事务备份处理方法及装置,其中,该方法包括:获取全局事务包括的数据库DB节点上的事务备份的日志提交时间;依据该日志提交时间,以及预定的数据库全局备份完成时间和数据库全局事务日志备份截止时间中至少之一,对该全局事务进行备份处理。通过本发明,解决了相关技术中分布式数据库备份处理方案复杂、可靠性低的问题,从而提高了备份数据可靠性。
【IPC分类】G06F11/34, G06F11/14
【公开号】CN105630626
【申请号】CN201410614050
【发明人】彭继平
【申请人】中兴通讯股份有限公司
【公开日】2016年6月1日
【申请日】2014年11月3日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1