CN111124751B - 数据恢复方法及系统、数据存储节点、数据库管理节点 - Google Patents

数据恢复方法及系统、数据存储节点、数据库管理节点 Download PDF

Info

Publication number
CN111124751B
CN111124751B CN201911099305.1A CN201911099305A CN111124751B CN 111124751 B CN111124751 B CN 111124751B CN 201911099305 A CN201911099305 A CN 201911099305A CN 111124751 B CN111124751 B CN 111124751B
Authority
CN
China
Prior art keywords
data
data storage
storage node
transaction
recovery
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911099305.1A
Other languages
English (en)
Other versions
CN111124751A (zh
Inventor
李健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN201911099305.1A priority Critical patent/CN111124751B/zh
Publication of CN111124751A publication Critical patent/CN111124751A/zh
Priority to PCT/CN2020/096006 priority patent/WO2021093323A1/zh
Application granted granted Critical
Publication of CN111124751B publication Critical patent/CN111124751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据恢复方法,涉及数据库领域。该方法包括:数据库管理节点接收用于请求对分布式数据库系统进行数据恢复的数据恢复请求,并基于该数据恢复请求,向第一数据存储节点发送数据恢复命令。该第一数据存储节点为多个数据存储节点中的任一个。第一数据存储节点在接收到数据恢复命令后,根据该数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对第一数据存储节点的备份数据执行数据操作,以对分布式数据库系统进行数据恢复。本申请简化了数据恢复的流程,有效地提高数据库的恢复速度。本申请用于对数据库进行数据恢复。

Description

数据恢复方法及系统、数据存储节点、数据库管理节点
技术领域
本申请涉及数据库领域,特别涉及一种数据恢复方法及系统、数据存储节点、数据库管理节点。
背景技术
随着大数据时代的到来,数据的使用量成倍增长,对数据库进行数据恢复有着越来越高的要求,且对数据恢复的完整性和恢复点的时间要求也越来越高。其中,对数据库进行数据恢复,是指将数据库从数据库当前所处的状态恢复到之前的某一一致性状态。例如,在数据库出现故障后,将数据库中的数据恢复至数据库出现故障前的某一时间点所处的状态。
由于分布式数据库(例如基于数据分片的分布式数据库)的逻辑日志统一存储在二进制日志文件(binlog)中。在相关技术中,在需要将分布式数据库恢复至某一一致性状态时,数据库管理节点可以根据该二进制日志文件,控制数据存储节点根据二进制日志文件中逻辑日志所记载的逻辑操作执行逻辑操作,并根据逻辑操作的结果对各个数据存储节点的备份数据执行对应的数据操作,实现对该分布式数据库的数据恢复。其中,逻辑日志用于记载对数据库执行的逻辑操作的原始逻辑。
但是,由于该数据恢复过程需要根据逻辑日志记载的原始逻辑执行逻辑操作,导致数据库的恢复速度较慢。
发明内容
本申请提供了一种数据恢复方法及系统、数据存储节点、数据库管理节点,可以解决相关技术中数据库的恢复速度较慢的问题。
第一方面,本申请提供了一种数据恢复方法。该方法应用于分布式数据库系统,该分布式数据库系统包括:数据库管理节点和多个数据存储节点。该方法包括:数据库管理节点接收数据恢复请求,该数据恢复请求用于请求对分布式数据库系统进行数据恢复;数据库管理节点基于数据恢复请求,向第一数据存储节点发送数据恢复命令,该第一数据存储节点为多个数据存储节点中的任一个;第一数据存储节点根据数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对第一数据存储节点的备份数据执行数据操作,以对分布式数据库系统进行数据恢复。
本申请实施例提供的数据恢复方法,通过数据库管理节点向数据存储节点发送数据恢复命令,使得数据存储节点根据该数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作,实现对分布式数据库系统的数据恢复,相较于相关技术,无需根据逻辑日志记载的原始逻辑执行一系列逻辑操作,简化了数据恢复的流程,有效地提高数据库的恢复速度。
可选地,在第一数据存储节点对第一数据存储节点的备份数据执行数据操作之后,该方法还可以包括:在第一数据存储节点存在未完成的分布式事务、且第二数据存储节点已提交分布式事务时,第一数据存储节点提交分布式事务,第二数据存储节点为多个数据存储节点中与第一数据存储节点共同处理分布式事务的任一个;或者,在第一数据存储节点存在未完成的分布式事务、且第二数据存储节点已回滚分布式事务时,第一数据存储节点回滚分布式事务。
其中,在按照第一数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作后,通过对分布式数据库系统中的分布式事务执行清理操作,使得共同处理同一分布式事务的多个数据存储节点对该分布式事务的处理状态相同,能够保证数据恢复的一致性。
在一种可实现方式中,数据库管理节点基于数据恢复请求,向第一数据存储节点发送数据恢复命令的实现过程,可以包括:在数据恢复请求用于请求将分布式数据库系统恢复至目标恢复点时,数据库管理节点基于目标恢复点和多个数据存储节点的物理日志文件记载的事务提交号,确定用于指示分布式数据库系统处于目标恢复点的目标事务提交号;数据库管理节点向第一数据存储节点发送携带有目标事务提交号的数据恢复命令。
当数据恢复请求请求将分布式数据库系统恢复至目标恢复点时,通过根据该数据恢复请求执行本申请实施例提供的数据恢复方法,能够根据用户需求将分布式数据库系统恢复至该目标恢复点。
其中,数据库管理节点基于目标恢复点和多个数据存储节点的物理日志文件记载的事务提交号,确定用于指示分布式数据库系统处于目标恢复点的目标事务提交号的实现过程,可以包括:数据库管理节点基于每个数据存储节点的物理日志文件,为每个数据存储节点分别确定处于目标恢复点的事务提交号;数据库管理节点在多个数据存储节点的处于目标恢复点的事务提交号中,将最大的事务提交号确定为目标事务提交号。
事务提交号的数值越大,表明发送请求分配该事务提交号的时间越晚。相应的,该数值越大的事务提交号所涉及的数据操作的操作时间越接近目标恢复点,根据该数值越大的事务提交号进行数据恢复得到的数据就越完整。因此,将最大的事务提交号确定为目标事务提交号,能够保证将分布式数据库系统有效地恢复至目标恢复点。
在一种可实现方式中,第一数据存储节点根据数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对第一数据存储节点的备份数据执行数据操作的实现过程,可以包括:第一数据存储节点按照第一数据存储节点的物理日志文件中记载的多个事务提交号的提交时间先后顺序,对备份数据依次执行对应事务提交号涉及的数据操作,直到下一次被执行的数据操作的事务提交号大于目标事务提交号。
第二方面,本申请提供了一种数据存储节点,该数据存储节点包括:接收模块,用于接收数据库管理节点发送的数据恢复命令;执行模块,用于根据数据恢复命令的指示,按照数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作,以对分布式数据库系统进行数据恢复,数据存储节点为分布式数据库系统中多个数据存储节点中的任一个。
可选地,执行模块,还用于在数据存储节点存在未完成的分布式事务、且第二数据存储节点已提交分布式事务时,提交分布式事务,第二数据存储节点为多个数据存储节点中与数据存储节点共同处理分布式事务的任一个;或者,执行模块,还用于在数据存储节点存在未完成的分布式事务、且第二数据存储节点已回滚分布式事务时,回滚分布式事务。
可选地,执行模块,具体用于:按照数据存储节点的物理日志文件中记载的多个事务提交号的提交时间先后顺序,对备份数据依次执行对应事务提交号涉及的数据操作,直到下一次被执行的数据操作的事务提交号大于目标事务提交号,目标事务提交号用于指示分布式数据库系统处于目标恢复点,数据恢复请求用于请求将分布式数据库系统恢复至目标恢复点。
第三方面,本申请提供了一种数据库管理节点,该数据库管理节点包括:接收模块,用于接收数据恢复请求,数据恢复请求用于请求对分布式数据库系统进行数据恢复;发送模块,用于基于数据恢复请求,向第一数据存储节点发送数据恢复命令,使得第一数据存储节点根据数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对第一数据存储节点的备份数据执行数据操作,第一数据存储节点为分布式数据库系统中多个数据存储节点中的任一个。
可选地,发送模块,包括:确定子模块,用于在数据恢复请求用于请求将分布式数据库系统恢复至目标恢复点时,基于目标恢复点和多个数据存储节点的物理日志文件记载的事务提交号,确定用于指示分布式数据库系统处于目标恢复点的目标事务提交号;发送子模块,用于向第一数据存储节点发送携带有目标事务提交号的数据恢复命令。
可选地,确定子模块,具体用于:基于每个数据存储节点的物理日志文件,为每个数据存储节点分别确定处于目标恢复点的事务提交号;在多个数据存储节点的处于目标恢复点的事务提交号中,将最大的事务提交号确定为目标事务提交号。
第四方面,本申请提供了一种分布式数据库系统,该系统包括第一方面任一项的数据库管理节点和多个数据存储节点。
第五方面,本申请提供了一种计算设备,该计算设备包括处理器和存储器;处理器执行存储器存储的计算机指令,使得计算设备实现第一方面任一的数据恢复方法中数据库管理节点的功能。
第六方面,本申请提供了一种计算设备,该计算设备包括处理器和存储器;处理器执行存储器存储的计算机指令,使得计算设备实现第一方面任一的数据恢复方法中数据存储节点的功能。
第七方面,本申请提供了一种存储介质,存储介质中的计算机指令,用于实现第一方面任一的数据恢复方法中数据库管理节点的功能。
第八方面,本申请提供了一种存储介质,存储介质中的计算机指令,用于实现第一方面任一的数据恢复方法中数据存储节点的功能。
第九方面,本申请提供了一种包含指令的计算机程序产品,计算机程序产品包括的指令用于实现第一方面任一的数据恢复方法中数据库管理节点的功能。
第十方面,本申请提供了一种包含指令的计算机程序产品,计算机程序产品包括的指令用于实现第一方面任一的数据恢复方法中数据存储节点的功能。
附图说明
图1是本申请实施例提供的一种数据恢复方法涉及的分布式数据库系统的结构示意图;
图2是本申请实施例提供的一种数据恢复方法的流程图;
图3是本申请实施例提供的一种数据库管理节点根据目标恢复点确定目标事务提交号的方法流程图;
图4是本申请实施例提供的一种数据存储节点的结构示意图;
图5是本申请实施例提供的另一种数据库管理节点的结构示意图;
图6是本申请实施例提供的一种发送模块的结构示意图;
图7是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
数据库系统中通常部署有数据存储节点和数据库管理节点。数据存储节点主要用于存储数据。数据库管理节点主要用于对数据库系统进行管理。在数据库系统中,可以采用日志文件记录对数据库系统中的数据执行的操作。相应的,在需要对数据库系统中的数据进行数据恢复时,可以根据日志文件记载的操作对数据库系统中的数据执行恢复操作,以将数据库系统从当前所处的状态恢复至之前的某一状态。
数据库系统中的日志文件包括逻辑日志文件和物理日志文件。逻辑日志文件中的逻辑日志用于记载对数据库系统执行的逻辑操作的原始逻辑。例如,逻辑日志用于记载对数据库系统执行的数据存取、数据删除、数据修改、数据查询、数据库系统升级和数据库系统管理等逻辑操作的原始逻辑。其中,逻辑操作是指根据用户的数据操作命令进行逻辑处理,确定需要对数据执行哪些数据操作的过程。并且,当数据操作命令使用结构化查询语言(structured query language,SQL)表示时,该逻辑操作的原始逻辑可以为使用SQL语句表示的计算机指令。物理日志文件中的物理日志用于记载数据库系统中数据的变化情况(例如记载数据存储节点中数据页的变化)。该物理日志记录的内容可以理解为对数据库系统执行逻辑操作所引起的数据变化。
在不共享存储资源的分布式数据库系统中,逻辑日志统一存储在二进制日志文件(binlog)中。在需要对数据库系统中的数据执行数据恢复操作时,该分布式数据库系统系统中的数据库管理节点可以根据该二进制日志文件,控制数据存储节点根据二进制日志文件中逻辑日志所记载的逻辑操作对各个数据存储节点的备份数据执行数据操作,实现对该分布式数据库系统的数据恢复。
例如,在基于数据分片的分布式架构(shared nothing架构)的数据库系统中,各个数据存储节点均配置有中央处理器(central processing unit,CPU)、内存和硬盘等,各个存储节点之间不共享资源。在该数据库系统中,binlog中统一记载有对所有数据存储节点执行的逻辑操作,数据存储节点中的物理日志中记载有该数据存储节点中数据的变化情况。在进行数据恢复时,数据库管理节点可以控制每个数据存储节点均根据binglog中记载的逻辑操作执行逻辑操作,并根据逻辑操作的结果对各个数据存储节点的备份数据执行对应的数据操作。
但是,在根据逻辑日志进行数据恢复时,由于数据存储节点需要根据逻辑日志记载的原始逻辑执行逻辑操作,导致数据库系统的恢复速度较慢。
本申请实施例提供了一种数据恢复方法,通过数据库管理节点向数据存储节点发送数据恢复命令,使得数据存储节点根据该数据恢复命令的指示,按照数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作,实现对分布式数据库系统的数据恢复,相较于相关技术,无需根据逻辑日志记载的原始逻辑执行一系列逻辑操作,简化了数据恢复的流程,有效地提高数据库的恢复速度。该数据恢复方法可以用于在灾备场景中对数据库进行数据恢复。
本申请实施例提供的数据恢复方法涉及的分布式数据库系统可以包括:数据库管理节点和多个数据存储节点。数据库管理节点和数据存储节点之间,及不同数据存储节点之间均可以通过有线或无线网络连接。示例地,图1是该分布式数据库系统包括数据库管理节点01、数据存储节点02和数据存储节点03的示意图,数据库管理节点01和数据存储节点02之间,数据库管理节点01和数据存储节点03之间,及数据存储节点02和数据存储节点03之间均通过有线或无线网络连接。
其中,数据存储节点主要用于存储数据。数据库管理节点主要用于对分布式数据库系统进行管理。并且,数据库管理节点还用于接收用户通过终端发送的数据恢复请求,并根据该数据恢复请求向数据存储节点发送数据恢复命令。其中,数据恢复请求用于请求对分布式数据库系统进行数据恢复。数据存储节点还用于根据数据库管理节点发送的数据恢复命令的指示,按照该数据存储节点中物理日志所记载的数据操作,对数据存储节点的备份数据执行数据操作,以对分布式数据库系统进行数据恢复。
下面对本申请实施例提供的数据恢复方法的实现过程进行说明。如图2所示,该方法可以包括以下步骤:
步骤201、数据库管理节点接收数据恢复请求。
用户可以通过终端向数据库管理节点发送数据恢复请求,以请求对分布式数据库系统进行数据恢复。例如,在数据库系统出现故障时,用户可以向数据库管理节点发送数据恢复请求,以请求将数据库系统恢复至数据库系统出现故障前的状态。
可选地,该数据恢复请求中还可以携带有目标恢复点,该目标恢复点用于指示将分布式数据库系统恢复到的一致性状态。示例地,该目标恢复点可以为将分布式数据库系统恢复到的时间点。相应的,该数据恢复请求用于请求将分布式数据库系统恢复至分布式数据库系统在该时间点所处的状态,即将分布式数据库系统恢复至该时间点。或者,该目标恢复点可以为将分布式数据库系统恢复到的事务提交号,即将该分布式数据库系统恢复至该事务提交号;相应地,数据恢复请求用于请求将分布式数据库系统恢复至分布式数据库系统提交该事务提交号后所处的状态。
其中,事务提交号用于标识已提交的数据库事务(也称事务,transaction)。事务是数据存储节点执行数据库操作的逻辑单位,由一个数据库操作序列构成。事务处于已提交状态表明该事务已成功执行,且已将该事务涉及的数据写入到数据存储节点中。
步骤202、数据库管理节点基于数据恢复请求,向第一数据存储节点发送数据恢复命令。
数据库管理节点在接收到数据恢复请求后,可以向分布式数据库系统中的所有数据存储节点发送数据恢复命令,以指示所有数据存储节点均对自身的备份数据执行数据恢复操作,实现对分布式数据库系统的数据恢复。其中,第一数据存储节点为分布式数据库系统中多个数据存储节点中的任一个。
可选地,当数据恢复请求中携带有目标恢复点时,数据库管理节点可以根据该目标恢复点,确定用于指示停止数据恢复的停止条件,并将携带有该停止条件的数据恢复命令发送至第一数据存储节点,以指示第一数据存储节点执行数据恢复操作,并在达到该停止条件时停止执行数据恢复操作。
在一种可实现方式中,该停止条件可以使用目标事务提交号表示,即该目标事务提交号用于指示需要将分布式数据库系统恢复到的目标恢复点。也即是,在执行数据恢复的过程中,在执行完该目标事务提交号所涉及的数据操作时,可以确定已将分布式数据库系统恢复至目标恢复点。其中,当目标恢复点为事务提交号时,目标事务提交号即为该事务提交号。当目标恢复点为时间点时,如图3所示,数据库管理节点根据目标恢复点确定目标事务提交号的实现过程可以包括:
步骤2021、数据库管理节点基于每个数据存储节点的物理日志文件,为每个数据存储节点分别确定处于目标恢复点的事务提交号。
由于物理日志文件中记载有所有已提交事务的事务提交号和每个事务提交号的提交时间,因此,数据管理节点可以根据该目标恢复点,查询每个数据存储节点的物理日志,确定每个数据存储节点在该目标恢复点对应的事务提交号,该数据存储节点在目标恢复点对应的事务提交号即为数据存储节点处于目标恢复点的事务提交号。其中,目标恢复点对应的事务提交号可以为在该目标恢复点提交的事务提交号。或者,当某一数据存储节点在该目标恢复点未提交事务提交号时,目标恢复点对应的事务提交号可以为在该目标恢复点之前最晚提交的事务提交号。
示例地,假设目标恢复点为将分布式数据库系统恢复到的时间点,且该时间点为10:00。分布式数据库系统包括数据存储节点01和数据存储节点02。数据存储节点01的物理日志中记载的事务提交号及其提交时间请见表1。根据表1可知,数据存储节点01在10:00提交了事务提交号104,可以确定数据存储节点01处于目标恢复点的事务提交号为104。数据存储节点02的物理日志中记载的事务提交号及其提交时间请见表2。根据表2可知,数据存储节点02在10:00提交了事务提交号103,可以确定数据存储节点02处于目标恢复点的事务提交号为103。
表1
事务提交号 100 104 102 101 105 107
提交时间 9:58 10:00 10:01 10:02 10:03 10:04
表2
事务提交号 100 102 103 106 101 107
提交时间 9:58 9:59 10:00 10:02 10:03 10:04
步骤2022、数据库管理节点在多个数据存储节点的处于目标恢复点的事务提交号中,将最大的事务提交号确定为目标事务提交号。
当数据存储节点执行完事务后,会向数据库管理节点发送请求分配事务提交号的请求。数据库管理节点会根据该请求向数据存储节点分配事务提交号,以便于数据存储节点按照分配的事务提交号提交事务。并且,数据库管理节点是根据发送请求分配事务提交号的请求时间,向数据存储节点分配事务提交号的。当发送请求分配事务提交号的请求的时间越早,数据库管理节点向数据存储节点分配的事务提交号越小。同时,对于分布式事务,数据库管理节点会向共同处理同一分布式事务的多个数据存储节点分配相同的事务提交号。即当多个数据存储节点的物理日志中记载有同一事务提交号时,表示该多个数据存储节点共同处理该事务提交号所指示的事务。
由上可知,事务提交号的数值越大,表明发送请求分配该事务提交号的时间越晚。相应的,该数值越大的事务提交号所涉及的数据操作的操作时间越接近目标恢复点,根据该数值越大的事务提交号进行数据恢复得到的数据就越完整。因此,在确定目标事务提交号时,为保证能够将分布式数据库系统有效地恢复至目标恢复点,可以在多个数据存储节点处于目标恢复点的事务提交号中,将数值最大的事务提交号确定为目标事务提交号。
示例地,继续以步骤2021中的例子为例,数据存储节点01处于目标恢复点的事务提交号为104,数据存储节点02处于目标恢复点的事务提交号为103,此时,为保证能够将分布式数据库有效恢复至目标恢复点,可以确定目标事务提交号为104。
需要说明的是,当数据恢复请求未携带目标恢复点时,表明该数据恢复请求用于请求将分布式数据库系统恢复至一个一致性状态。此时,在接收到数据恢复请求后,数据库管理节点可以根据各个数据存储节点中的物理日志,确定分布式数据库系统处于一致性状态的一个或多个时间点。然后,在该一个或多个时间点中选择一个时间点,并确定该选择的时间点对应的目标事务提交号,再将携带有该目标事务提交号的数据恢复命令发送至多个数据存储节点,以指示该多个数据存储节点将分布式数据库系统恢复至该选择的时间点对应的一致性状态。
步骤203、第一数据存储节点根据数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对第一数据存储节点的备份数据执行数据操作,以对分布式数据库系统进行数据恢复。
由于物理日志文件是按照事务提交号的提交时间先后顺序,记载事务提交号涉及的数据操作使数据发生的变化,因此,在按照物理日志文件记载的数据操作,对第一数据存储节点的备份数据执行数据操作时,可以按照第一数据存储节点的物理日志文件中记载的多个事务提交号的提交时间先后顺序,依次对备份数据依次执行对应事务提交号涉及的数据操作。
并且,若数据恢复命令中携带有用于指示停止数据恢复的停止条件,在执行数据操作的进程达到该停止条件时,可以确定已将分布式数据库系统恢复至指定的一致性点,此时可以停止执行数据恢复操作。示例地,当使用目标事务提交号表示停止条件时,在对备份数据依次执行事务提交号涉及的数据操作的过程中,当下一次被执行的数据操作的事务提交号大于目标事务提交号时,可以确定完成了对第一数据存储节点中存储数据的数据恢复操作,此时,可以停止执行数据恢复操作。
其中,当下一次被执行的数据操作的事务提交号大于目标事务提交号时,停止执行数据恢复操作的情况至少包括以下两种情况:
第一种情况:当该大于目标事务提交号的事务提交号是物理日志中记载在目标事务提交号后,且日志记载时间与目标事务提交号的日志记载时间在时序上相邻的事务提交号时,停止执行数据恢复操作的实质是,在完成目标事务提交号所涉及的数据操作即停止。
示例地,假设目标事务提交号为103,如表2所示,事务提交号106记载在目标事务提交号103后,且该事务提交号106的日志记载时间与目标事务提交号103的日志记载时间在时序上相邻,此时,可以选择在依次执行完事务提交号100、102和103所指示的事务所涉及的数据操作后,即停止执行数据恢复操作。
第二种情况:当该大于目标事务提交号的事务提交号是物理日志中记载在目标事务提交号后的事务提交号,且日志记载时间与目标事务提交号的日志记载时间在时序上不相邻的事务提交号时,停止执行数据恢复操作的实质是,完成该大于目标事务提交号的事务提交号之前的事务提交号所涉及的数据操作后,停止执行数据恢复操作。或者,该停止执行数据恢复操作的实质也可以是,在完成目标事务提交号所涉及的数据操作即停止。
示例地,继续以步骤2022中的例子为例,步骤2022中确定的目标事务提交号为104。对于数据存储节点01,如表1所示,该数据存储节点01的物理日志中记载有目标事务提交号104,事务提交号105为大于且记载在该目标事务提交号104后的事务提交号,且该事务提交号105的日志记载时间与目标事务提交号104的日志记载时间在时序上不相邻。在执行该步骤203的过程中,可以选择在依次执行完事务提交号100、104、102和101所指示的事务所涉及的数据操作后,停止执行数据恢复操作。或者,可以选择在依次执行完事务提交号100和104所指示的事务所涉及的数据操作后,即停止执行数据恢复操作。
如前所述,事务提交号的数值越大,表明发送请求分配该事务提交号的时间越晚,完成该事务提交号所指示的数据操作的时间越晚。因此,若停止执行数据恢复操作的实质是:完成目标事务提交号所涉及的数据操作,且完成该大于目标事务提交号的事务提交号之前的事务提交号所涉及的数据操作后,才停止执行数据恢复操作。这样能够尽量多地对目标恢复点之前的数据进行数据恢复,以提高恢复的数据的完整性。
并且,在第一数据存储节点未参与该目标事务提交号所指示的事务时,该第一数据存储节点的物理日志中不会记载该目标事务提交号,此时,可以在下一次被执行的数据操作的事务提交号大于目标事务提交号时,停止执行数据恢复操作,这样可以尽量多地恢复目标恢复点之前的数据,能够保证恢复的数据的完整性。
示例地,继续以步骤2022中的例子为例,步骤2022中确定的目标事务提交号为104。对于数据存储节点02,该数据存储节点02的物理日志中未记载目标事务提交号104,数据存储节点02处于目标恢复点的事务提交号为103,事务提交号103后第一个大于事务提交号103的事务提交号为106。在执行该步骤203的过程中,在依次执行完事务提交号100、102和103所指示的事务所涉及的数据操作后,下一次需要被执行的数据操作的事务提交号为106,此时,可以确定已完成对数据存储节点02中存储数据的数据恢复操作,则可以停止执行数据恢复操作。
步骤204、第一数据存储节点确定第一数据存储节点是否存在未完成的分布式事务。
在第一数据存储节点对第一数据存储节点的备份数据执行数据恢复操作后,为保证各个数据存储节点中数据恢复的一致性,还可以对分布式数据库系统中的分布式事务执行清理操作。对分布式事务执行清理操作是指:对数据存储节点中未执行完的分布式事务,按照其他数据存储节点对该分布式事务的处理状态,对该分布式事务进行处理,使该数据存储节点和其他数据存储节点对该分布式事务的处理状态相同,以保证共同处理该分布式事务的多个数据存储节点对该分布式事务的处理状态的一致性。
在第一种可实现方式中,第一数据存储节点确定第一数据存储节点是否存在未完成的分布式事务的实现过程可以为:第一数据存储节点查询该第一数据存储节点的物理日志,当物理日志指示某一分布式事务处于未提交且未回滚状态时,确定该分布式事务为未完成的分布式事务。
在第二种可实现方式中,分布式数据库系统中可以部署有用于管理分布式事务的功能模块,该功能模块可以查询各个数据存储节点中是否存在未完成的分布式事务。每个数据存储节点在需要查询自身是否存在未完成的分布式事务时,可以通过调用该功能模块实现查询。其中,由于数据存储节点在执行分布式事务时,需要预先申请内存,并使用申请的内存存储执行分布式事务过程中的相关数据,且在完成分布式事务(如提交分布式事务或回滚分布式事务)后,该申请的内存会被刷新。因此,该功能模块可以查询为每个数据存储节点分配的用于存储分布式事务相关数据的内存,当内存中存储有某一数据存储节点处理某分布式事务的相关数据时,确定该数据存储节点未完成该分布式事务。可选地,该功能模块可以部署在除数据存储节点和数据库管理节点外的物理节点中。
步骤205、在确定第一数据存储节点存在未完成的分布式事务后,第一数据存储节点获取第二数据存储节点对分布式事务的处理状态。
在第一种可实现方式中,在确定第一数据存储节点存在未完成的分布式事务后,第一数据存储节点可以向其他数据存储节点发送处理状态查询请求,以请求其他数据存储节点向其反馈其他数据存储节点对该分布式事务的处理状态。例如,可以向第二数据存储节点发送该处理状态查询请求,该第二数据存储节点为多个数据存储节点中与第一数据存储节点共同处理分布式事务的任一个数据存储节点。第二数据存储节点在接收到处理状态查询请求后,可以根据该处理状态查询请求所指示的未完成的分布式事务,查询该第二数据存储节点的物理日志,以获取该物理日志中记载的该未完成的分布式事务的处理状态。
在第二种可实现方式中,功能模块还可以获取其他数据存储节点对该未完成的分布式事务的处理状态,因此,第一数据存储节点可以调用该功能模块,以获取第二数据存储节点对该未完成的分布式事务的处理状态。其中,功能模块可以查询其他数据存储节点的物理日志,以获取该物理日志中记载的该未完成的分布式事务的处理状态。
需要说明的是,该步骤205也可以由数据库管理节点执行。其实现过程可以为:在第一数据存储节点确定存在未完成的分布式事务后,向数据库管理节点发送指示未完成该分布式事务的通知,数据库管理节点根据该通知向其他数据存储节点发送处理状态查询请求,数据库管理节点在接收到其他数据存储节点向其反馈的对该分布式事务的处理状态后,向该第一数据存储节点发送该处理状态。并且,数据库管理节点也可以通过调用功能模块实现该步骤205。
或者,上述步骤204和步骤205均可以由数据库管理节点执行。且由数据库管理节点执行时,其实现过程请相应参考对应步骤中的描述。
步骤206、在第一数据存储节点存在未完成的分布式事务、且第二数据存储节点已提交该未完成的分布式事务时,第一数据存储节点提交分布式事务。
当其他数据存储节点已提交该分布式事务时,说明该其他数据存储节点已成功执行该分布式事务。此时,该第一数据存储节点可以提交该分布式事务,以保证该分布式事务的处理状态一致保持为提交状态。在一种可实现方式中,该步骤206可以通过第一数据存储节点调用功能模块实现。这样一来,可以减小第一数据存储节点因处理未完成的分布式事务所占用的资源,能够将第一数据存储节点的资源更多地用于数据存储及相关处理。
步骤207、在第一数据存储节点存在未完成的分布式事务、且第二数据存储节点已回滚该未完成的分布式事务时,第一数据存储节点回滚分布式事务。
当其他数据存储节点已回滚该分布式事务时,说明该其他数据存储节点未成功执行该分布式事务。此时,该第一数据存储节点可以回滚该分布式事务,以保证该分布式事务的处理状态一致保持为回滚状态。类似地,该步骤207也可以通过第一数据存储节点调用功能模块实现。
示例地,继续以步骤203中的例子为例,数据存储节点01和数据存储节点02共同处理了事务提交号100、102、101和107所指示的分布式事务。并且,在数据恢复过程中,数据存储节点01提交了事务提交号100、104、102和101,数据存储节点02提交了事务提交号100、102和103。在步骤204中,数据存储节点02根据其物理日志可以确定其存在未完成的分布式事务,分别为事务提交号101指示的分布式事务和事务提交号107指示的分布式事务。在步骤205中,数据存储节点02确定数据存储节点01已提交事务提交号101指示的分布式事务,且已回滚事务提交号107指示的分布式事务。则在该步骤206中,数据存储节点02可以将事务提交号101指示的分布式事务进行提交,在该步骤207中,数据存储节点02可以将事务提交号107指示的分布式事务进行回滚。
综上所述,本申请实施例提供的数据恢复方法,通过数据库管理节点向数据存储节点发送数据恢复命令,使得数据存储节点根据该数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作,实现对分布式数据库系统的数据恢复,相较于相关技术,无需根据逻辑日志记载的原始逻辑执行一系列逻辑操作,简化了数据恢复的流程,有效地提高数据库的恢复速度。
并且,在按照第一数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作后,通过对分布式数据库系统中的分布式事务执行清理操作,使得共同处理同一分布式事务的多个数据存储节点对该分布式事务的处理状态相同,能够保证数据恢复的一致性。
需要说明的是,该数据恢复方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
本申请实施例还提供了一种数据存储节点,该数据存储节点用于执行数据恢复方法中由数据存储节点执行的步骤。
如图4提供了数据存储节点的一种模块划分举例,如图4所示,该数据存储节点40包括:
接收模块401,用于接收数据库管理节点发送的数据恢复命令。
执行模块402,用于根据数据恢复命令的指示,按照数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作,以对分布式数据库系统进行数据恢复,该数据存储节点为分布式数据库系统中多个数据存储节点中的任一个。
可选地,执行模块402,还用于在数据存储节点存在未完成的分布式事务、且第二数据存储节点已提交所述分布式事务时,提交分布式事务,第二数据存储节点为多个数据存储节点中与数据存储节点共同处理分布式事务的任一个。
或者,执行模块402,还用于在数据存储节点存在未完成的分布式事务、且第二数据存储节点已回滚分布式事务时,回滚分布式事务。
可选地,执行模块402,具体用于:按照数据存储节点的物理日志文件中记载的多个事务提交号的提交时间先后顺序,对备份数据依次执行对应事务提交号涉及的数据操作,直到下一次被执行的数据操作的事务提交号大于目标事务提交号,目标事务提交号用于指示分布式数据库系统处于目标恢复点,数据恢复请求用于请求将分布式数据库系统恢复至目标恢复点。
综上所述,本申请实施例提供的数据存储节点,通过接收模块接收数据库管理节点发送的数据恢复命令,执行模块根据数据恢复命令的指示,按照数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作,实现对分布式数据库系统的数据恢复,相较于相关技术,无需根据逻辑日志记载的原始逻辑执行一系列逻辑操作,简化了数据恢复的流程,有效地提高数据库的恢复速度。
并且,在按照第一数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作后,执行模块对分布式数据库系统中的分布式事务执行清理操作,使得共同处理同一分布式事务的多个数据存储节点对该分布式事务的处理状态相同,能够保证数据恢复的一致性。
本申请实施例还提供了一种数据库管理节点,该数据库管理节点用于执行数据恢复方法中由数据库管理节点执行的步骤。
如图5提供数据库管理节点的一种模块划分举例。如图5所示,该数据库管理节点60包括:
接收模块601,用于接收数据恢复请求,数据恢复请求用于请求对分布式数据库系统进行数据恢复。
发送模块602,用于基于数据恢复请求,向第一数据存储节点发送数据恢复命令,使得第一数据存储节点根据数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对第一数据存储节点的备份数据执行数据操作,以对分布式数据库系统进行数据恢复,第一数据存储节点为分布式数据库系统中多个数据存储节点中的任一个。
可选地,如图6所示,发送模块602,包括:
确定子模块6021,用于在数据恢复请求用于请求将分布式数据库系统恢复至目标恢复点时,基于目标恢复点和分布式数据库系统中多个数据存储节点的物理日志文件记载的事务提交号,确定用于指示分布式数据库系统处于目标恢复点的目标事务提交号。
发送子模块6022,用于向第一数据存储节点发送携带有目标事务提交号的数据恢复命令。
可选地,确定子模块6021,具体用于:基于每个数据存储节点的物理日志文件,为每个数据存储节点分别确定处于目标恢复点的事务提交号;在多个数据存储节点处于目标恢复点的事务提交号中,将最大的事务提交号确定为目标事务提交号。
综上所述,本申请实施例提供的数据库管理节点,发送模块基于数据恢复请求,向第一数据存储节点发送数据恢复命令,使得数据存储节点根据该数据恢复命令的指示,按照第一数据存储节点的物理日志文件记载的数据操作,对数据存储节点的备份数据执行数据操作,实现对分布式数据库系统的数据恢复,相较于相关技术,无需根据逻辑日志记载的原始逻辑执行一系列逻辑操作,简化了数据恢复的流程,有效地提高数据库的恢复速度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、模块和子模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种分布式数据库系统,该分布式数据库系统包括数据库管理节点和多个数据存储节点。该数据库管理节点用于实现本申请实施例提供的数据恢复方法中数据库管理节点的功能。该数据存储节点用于实现本申请实施例提供的数据恢复方法中数据存储节点实现的功能。该分布式数据库系统的系统框图请相应参考图1,此处不再赘述。并且,该分布式数据库系统可以为基于数据分片的分布式架构的数据库系统。例如可以为MySQL Cluster数据库。
本申请实施例还提供了一种计算设备。该计算设备可以为服务器或终端等。前述数据库管理节点和/或数据存储节点可以部署在该计算设备中。如图7所示,该计算设备70包括:处理器701,通信接口702和存储器703。处理器701,通信接口702和存储器703之间通过总线704相互连接。
存储器703用于存储计算机指令。处理器701执行存储器703中的计算机指令时,能够实现该计算机指令的功能。例如,处理器701执行存储器703中的计算机指令时,能够实现本申请实施例提供的数据恢复方法。又例如,当数据库管理节点部署在计算机设备中时,处理器701执行存储器703中的计算机指令时,能够实现本申请实施例提供的数据恢复方法中数据库管理节点的功能。再例如,当数据存储节点部署在计算机设备中时,处理器701执行存储器703中的计算机指令时,能够实现本申请实施例提供的数据恢复方法中数据存储节点的功能,如执行步骤203至步骤207。
在图7中,总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在图7中,处理器701可以是硬件芯片,该硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。或者,也可以是通用处理器,例如,中央处理器(central processing unit,CPU),网络处理器(networkprocessor,NP),或者,CPU和NP的组合。
在图7中,存储器703可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD)。还可以包括上述种类的存储器的组合。
本申请实施例还提供了一种存储介质,该存储介质为非易失性计算机可读存储介质,存储介质中的指令用于实现本申请实施例提供的数据恢复方法中由数据库管理节点执行的步骤,或者用于实现数据库管理节点的功能模块。
本申请实施例还提供了一种存储介质,该存储介质为非易失性计算机可读存储介质,存储介质中的指令用于实现本申请实施例提供的数据恢复方法中由数据存储节点执行的步骤,或者用于实现数据存储节点的功能模块。
本申请实施例还提供了一种包含指令的计算机程序产品,计算机程序产品包括的指令用于实现本申请实施例提供的数据恢复方法中由数据库管理节点执行的步骤,或者用于实现数据库管理节点的功能模块。该计算机程序产品可以存储该存储介质上。
本申请实施例还提供了一种包含指令的计算机程序产品,计算机程序产品包括的指令用于实现本申请实施例提供的数据恢复方法中由数据存储节点执行的步骤,或者用于实现数据存储节点的功能模块。该计算机程序产品可以存储该存储介质上。
本申请实施例还提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现本申请实施例提供的数据恢复方法中数据库管理节点的功能。
本申请实施例还提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现本申请实施例提供的数据恢复方法中数据存储节点的功能。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (16)

1.一种数据恢复方法,其特征在于,所述方法应用于分布式数据库系统,所述分布式数据库系统包括:数据库管理节点和多个数据存储节点,所述方法包括:
所述数据库管理节点接收数据恢复请求,所述数据恢复请求用于请求对所述分布式数据库系统进行数据恢复,在所述数据恢复请求用于请求将所述分布式数据库系统恢复至目标恢复点时,所述目标恢复点的事务提交号为所述数据库管理节点在所述多个数据存储节点的处于所述目标恢复点的事务提交号中的最大的事务提交号;
所述数据库管理节点基于所述数据恢复请求,向第一数据存储节点发送数据恢复命令,所述第一数据存储节点为所述多个数据存储节点中的任一个;
所述第一数据存储节点根据所述数据恢复命令的指示,按照所述第一数据存储节点的物理日志文件记载的数据操作,对所述第一数据存储节点的备份数据执行数据操作,以对所述分布式数据库系统进行数据恢复。
2.根据权利要求1所述的方法,其特征在于,在所述第一数据存储节点对所述第一数据存储节点的备份数据执行数据操作之后,所述方法还包括:
在所述第一数据存储节点存在未完成的分布式事务、且第二数据存储节点已提交所述分布式事务时,所述第一数据存储节点提交所述分布式事务,所述第二数据存储节点为所述多个数据存储节点中与所述第一数据存储节点共同处理所述分布式事务的任一个;或者,
在所述第一数据存储节点存在未完成的分布式事务、且所述第二数据存储节点已回滚所述分布式事务时,所述第一数据存储节点回滚所述分布式事务。
3.根据权利要求1或2所述的方法,其特征在于,所述数据库管理节点基于所述数据恢复请求,向第一数据存储节点发送数据恢复命令,包括:
在所述数据恢复请求用于请求将所述分布式数据库系统恢复至目标恢复点时,所述数据库管理节点基于所述目标恢复点和所述多个数据存储节点的物理日志文件记载的事务提交号,确定用于指示所述分布式数据库系统处于所述目标恢复点的目标事务提交号;
所述数据库管理节点向所述第一数据存储节点发送携带有所述目标事务提交号的数据恢复命令。
4.根据权利要求3所述的方法,其特征在于,所述数据库管理节点基于所述目标恢复点和所述多个数据存储节点的物理日志文件记载的事务提交号,确定用于指示所述分布式数据库系统处于所述目标恢复点的目标事务提交号,包括:
所述数据库管理节点基于每个数据存储节点的物理日志文件,为每个数据存储节点分别确定处于所述目标恢复点的事务提交号;
所述数据库管理节点在所述多个数据存储节点的处于所述目标恢复点的事务提交号中,将最大的事务提交号确定为所述目标事务提交号。
5.根据权利要求3所述的方法,其特征在于,所述第一数据存储节点根据所述数据恢复命令的指示,按照所述第一数据存储节点的物理日志文件记载的数据操作,对所述第一数据存储节点的备份数据执行数据操作,包括:
所述第一数据存储节点按照所述第一数据存储节点的物理日志文件中记载的多个事务提交号的提交时间先后顺序,对所述备份数据依次执行对应事务提交号涉及的数据操作,直到下一次被执行的数据操作的事务提交号大于所述目标事务提交号。
6.一种数据存储节点,其特征在于,所述数据存储节点包括:
接收模块,用于接收数据库管理节点发送的数据恢复命令,所述数据恢复命令携带有用于指示停止数据恢复的停止条件,所述停止条件用于指示需要将分布式数据库系统恢复到的目标恢复点,所述目标恢复点的事务提交号为所述数据库管理节点在所述分布式数据库系统的多个数据存储节点的处于所述目标恢复点的事务提交号中的最大的事务提交号;
执行模块,用于根据所述数据恢复命令的指示,按照所述数据存储节点的物理日志文件记载的数据操作,对所述数据存储节点的备份数据执行数据操作,以对分布式数据库系统进行数据恢复,并在达到所述停止条件时停止执行数据恢复操作,所述数据存储节点为所述分布式数据库系统中多个数据存储节点中的任一个。
7.根据权利要求6所述的数据存储节点,其特征在于,
所述执行模块,还用于在所述数据存储节点存在未完成的分布式事务、且第二数据存储节点已提交所述分布式事务时,提交所述分布式事务,所述第二数据存储节点为所述多个数据存储节点中与所述数据存储节点共同处理所述分布式事务的任一个;或者,
所述执行模块,还用于在所述数据存储节点存在未完成的分布式事务、且所述第二数据存储节点已回滚所述分布式事务时,回滚所述分布式事务。
8.根据权利要求6或7所述的数据存储节点,其特征在于,
所述执行模块,具体用于:按照所述数据存储节点的物理日志文件中记载的多个事务提交号的提交时间先后顺序,对所述备份数据依次执行对应事务提交号涉及的数据操作,直到下一次被执行的数据操作的事务提交号大于目标事务提交号,所述目标事务提交号用于指示所述分布式数据库系统处于目标恢复点。
9.一种数据库管理节点,其特征在于,所述数据库管理节点包括:
接收模块,用于接收数据恢复请求,所述数据恢复请求用于请求对分布式数据库系统进行数据恢复,在所述数据恢复请求用于请求将所述分布式数据库系统恢复至目标恢复点时,所述目标恢复点的事务提交号为所述数据库管理节点在所述分布式数据库系统的多个数据存储节点的处于所述目标恢复点的事务提交号中的最大的事务提交号;
发送模块,用于基于所述数据恢复请求,向第一数据存储节点发送数据恢复命令,使得所述第一数据存储节点根据所述数据恢复命令的指示,按照所述第一数据存储节点的物理日志文件记载的数据操作,对所述第一数据存储节点的备份数据执行数据操作,所述第一数据存储节点为所述分布式数据库系统中多个数据存储节点中的任一个。
10.根据权利要求9所述的数据库管理节点,所述发送模块,包括:
确定子模块,用于在所述数据恢复请求用于请求将所述分布式数据库系统恢复至目标恢复点时,基于所述目标恢复点和所述多个数据存储节点的物理日志文件记载的事务提交号,确定用于指示所述分布式数据库系统处于所述目标恢复点的目标事务提交号;
发送子模块,用于向所述第一数据存储节点发送携带有所述目标事务提交号的数据恢复命令。
11.根据权利要求10所述的数据库管理节点,其特征在于,所述确定子模块,具体用于:
基于每个数据存储节点的物理日志文件,为每个数据存储节点分别确定处于所述目标恢复点的事务提交号;
在所述多个数据存储节点的处于所述目标恢复点的事务提交号中,将最大的事务提交号确定为所述目标事务提交号。
12.一种分布式数据库系统,其特征在于,所述系统包括权利要求1至5任一项所述的数据库管理节点和多个数据存储节点。
13.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;
所述处理器执行所述存储器存储的计算机指令,使得所述计算设备实现权利要求1至5任一所述的数据恢复方法中数据库管理节点的功能。
14.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;
所述处理器执行所述存储器存储的计算机指令,使得所述计算设备实现权利要求1至5任一所述的数据恢复方法中数据存储节点的功能。
15.一种存储介质,其特征在于,所述存储介质中的计算机指令,用于实现权利要求1至5任一所述的数据恢复方法中数据库管理节点的功能。
16.一种存储介质,其特征在于,所述存储介质中的计算机指令,用于实现权利要求1至5任一所述的数据恢复方法中数据存储节点的功能。
CN201911099305.1A 2019-11-12 2019-11-12 数据恢复方法及系统、数据存储节点、数据库管理节点 Active CN111124751B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911099305.1A CN111124751B (zh) 2019-11-12 2019-11-12 数据恢复方法及系统、数据存储节点、数据库管理节点
PCT/CN2020/096006 WO2021093323A1 (zh) 2019-11-12 2020-06-14 数据恢复方法及系统、数据存储节点、数据库管理节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911099305.1A CN111124751B (zh) 2019-11-12 2019-11-12 数据恢复方法及系统、数据存储节点、数据库管理节点

Publications (2)

Publication Number Publication Date
CN111124751A CN111124751A (zh) 2020-05-08
CN111124751B true CN111124751B (zh) 2023-11-17

Family

ID=70495367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911099305.1A Active CN111124751B (zh) 2019-11-12 2019-11-12 数据恢复方法及系统、数据存储节点、数据库管理节点

Country Status (2)

Country Link
CN (1) CN111124751B (zh)
WO (1) WO2021093323A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124751B (zh) * 2019-11-12 2023-11-17 华为云计算技术有限公司 数据恢复方法及系统、数据存储节点、数据库管理节点
CN114090332A (zh) * 2021-10-14 2022-02-25 阿里云计算有限公司 数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845292A (en) * 1996-12-16 1998-12-01 Lucent Technologies Inc. System and method for restoring a distributed checkpointed database
CN105159818A (zh) * 2015-08-28 2015-12-16 东北大学 内存数据管理中日志恢复方法及其仿真系统
CN106610876A (zh) * 2015-10-23 2017-05-03 中兴通讯股份有限公司 数据快照的恢复方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334002B2 (en) * 2004-02-27 2008-02-19 Microsoft Corporation System and method for recovery units in databases
CN103412803B (zh) * 2013-08-15 2016-08-10 华为技术有限公司 数据恢复的方法及装置
CN108874588A (zh) * 2018-06-08 2018-11-23 郑州云海信息技术有限公司 一种数据库实例恢复方法和装置
CN111124751B (zh) * 2019-11-12 2023-11-17 华为云计算技术有限公司 数据恢复方法及系统、数据存储节点、数据库管理节点

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845292A (en) * 1996-12-16 1998-12-01 Lucent Technologies Inc. System and method for restoring a distributed checkpointed database
CN105159818A (zh) * 2015-08-28 2015-12-16 东北大学 内存数据管理中日志恢复方法及其仿真系统
CN106610876A (zh) * 2015-10-23 2017-05-03 中兴通讯股份有限公司 数据快照的恢复方法及装置

Also Published As

Publication number Publication date
CN111124751A (zh) 2020-05-08
WO2021093323A1 (zh) 2021-05-20

Similar Documents

Publication Publication Date Title
CN108363806B (zh) 数据库的多版本并发控制方法、装置、服务器及存储介质
US11301433B2 (en) Metadata journal in a distributed storage system
CN103729442B (zh) 记录事务日志的方法和数据库引擎
US11334422B2 (en) System and method for data redistribution in a database
CN110473100B (zh) 一种基于区块链系统的交易处理方法及装置
US20130198133A1 (en) Parallel processing apparatus and method in database management system for synchronous replication
EP2474919A1 (en) System and method for data replication between heterogeneous databases
US20090063807A1 (en) Data redistribution in shared nothing architecture
US11928089B2 (en) Data processing method and device for distributed database, storage medium, and electronic device
CN110807062B (zh) 一种数据同步的方法、装置和数据库主机
CN111124751B (zh) 数据恢复方法及系统、数据存储节点、数据库管理节点
US10055445B2 (en) Transaction processing method and apparatus
US11061889B2 (en) Systems and methods of managing manifest refresh in a database
CN113568716A (zh) 一种事务处理方法、装置、电子设备及存储介质
US10241856B2 (en) Memory quarantine
CN109325026B (zh) 基于大数据平台的数据处理方法、装置、设备及介质
CN115408411A (zh) 数据写入方法、装置、电子设备及存储介质
CN111046004B (zh) 一种数据文件存储方法、装置、设备及存储介质
US20220004664A1 (en) Data integrity procedure
CN111930528A (zh) 消息中间件的消息写入方法、装置、设备及可读存储介质
CN114756408A (zh) 元数据备份恢复方法、装置、电子设备及存储介质
CN113778975A (zh) 基于分布式数据库的数据处理方法及装置
CN114661690A (zh) 多版本并发控制和日志清除方法、节点、设备和介质
CN109857523B (zh) 一种用于实现数据库高可用性的方法及装置
CN117785900A (zh) 数据更新方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220211

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant