CN113791934A - 数据的恢复方法、计算设备及存储介质 - Google Patents

数据的恢复方法、计算设备及存储介质 Download PDF

Info

Publication number
CN113791934A
CN113791934A CN202110932895.2A CN202110932895A CN113791934A CN 113791934 A CN113791934 A CN 113791934A CN 202110932895 A CN202110932895 A CN 202110932895A CN 113791934 A CN113791934 A CN 113791934A
Authority
CN
China
Prior art keywords
data
memory node
written
positioning information
write
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.)
Pending
Application number
CN202110932895.2A
Other languages
English (en)
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.)
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba China Co Ltd
Alibaba Cloud Computing 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 Alibaba China Co Ltd, Alibaba Cloud Computing Ltd filed Critical Alibaba China Co Ltd
Priority to CN202110932895.2A priority Critical patent/CN113791934A/zh
Publication of CN113791934A publication Critical patent/CN113791934A/zh
Pending legal-status Critical Current

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请实施例提供一种数据的恢复方法、计算设备及存储介质,在本申请实施例中,对本地内存节点进行数据写入,根据写入数据对应的写入操作,生成并存储用于记录写入操作的记录信息;将本地内存节点中的写入数据写入到远程内存节点中;生成并存储第一定位信息,第一定位信息用于定位已写入到远程内存节点中写入数据;在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。使得无需再对远程内存节点中已经写入的数据进行恢复,从而保留了远程内存节点中的写入数据,维持了远程内存节点的生命周期。有效利用了远程内存节点的生命周期,减少了数据的恢复量。

Description

数据的恢复方法、计算设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据的恢复方法、计算设备及存储介质。
背景技术
数据库内存分离架构是在云原生数据库存储计算分离的基础上演进的云原生架构。在该数据库内存分离架构中,逻辑管理上本地内存和分离内存还是统一管理的,那么在计算节点崩溃以后,由于计算节点的重启会导致本地内存也随之清空,从而使得分离内存中的状态也不再完整,需要分离内存随计算节点一起重启,依赖存储的状态进行崩溃恢复。但这种方式的恢复浪费了分离内存的独立生命周期,且数据恢复过程较慢。
发明内容
本申请的多个方面提供一种数据的恢复方法、计算设备及存储介质,用以能够有效利用分离内存中的数据,较为快速地进行数据恢复。
本申请实施例提供一种数据的恢复方法,包括:对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录所述写入操作的记录信息;将本地内存节点中的写入数据写入到远程内存节点中;生成并存储第一定位信息,第一定位信息用于定位已写入到所述远程内存节点中写入数据;在计算节点异常的情况下,根据所述第一定位信息以及所述记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
本申请实施例还提供一种计算设备,包括:存储器、处理器;所述存储器,用于存储计算机程序;所述处理器,执行所述计算机程序,以用于:对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录所述写入操作的记录信息;将本地内存节点中的写入数据写入到远程内存节点中;生成并存储第一定位信息,第一定位信息用于定位已写入到所述远程内存节点中写入数据;在计算节点异常的情况下,根据所述第一定位信息以及所述记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,其中,当计算机程序被处理器执行时,致使处理器实现上述方法中的步骤。
本申请实施例还提供一种数据的恢复系统,包括:第一设备以及第二设备;所述第一设备,发送数据写入请求至第二设备;所述第二设备,根据接收到的写入请求,对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录所述写入操作的记录信息;将本地内存节点中的写入数据写入到远程内存节点中;生成并存储第一定位信息,第一定位信息用于定位已写入到所述远程内存节点中写入数据;在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
在本申请实施例中,对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录写入操作的记录信息;将本地内存节点中的写入数据写入到远程内存节点中;生成并存储第一定位信息,第一定位信息用于定位已写入到远程内存节点中写入数据;在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
其中,在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复,使得无需再对远程内存节点中已经写入的数据进行恢复,从而保留了远程内存节点中的写入数据,维持了远程内存节点的生命周期。有效利用了远程内存节点的生命周期,减少了数据的恢复量,大大提高了数据恢复效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例的数据的恢复方法的流程示意图;
图2为本申请一示例性实施例的数据恢复的示意图;
图3为本申请一示例性实施例的数据的恢复系统的结构示意图;
图4为本申请一示例性实施例的数据的恢复方法的流程示意图;
图5为本申请一示例性实施例提供的数据的恢复装置的结构示意图;
图6为本申请一示例性实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
根据前文所述可知,计算节点,如CPU(中央处理器,central processing unit),崩溃时,重启该计算节点的同时,其本地内存和分离内存由于重启而被清空,然后依赖现有技术进行数据恢复虽然可以使得将数据恢复到一个一致状态。但这种方式应用在分离内存架构中时,不能有效的利用分离内存中的已存储数据进行加速数据恢复,且分离内存中的数据需要重置。
基于此,本申请实施例提供了一种数据的恢复方法、计算设备及存储介质,可以能够有效利用分离内存中的数据,较为快速地进行数据恢复。
下面结合方法实施例,针对数据的恢复过程进行详细说明。
图1为本申请一示例性实施例的一种数据的恢复方法的流程示意图。本申请实施例提供的该方法100由计算设备执行,如,服务器等。该方法100包括以下步骤:
101:对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录写入操作的记录信息。
102:将本地内存节点中的写入数据写入到远程内存节点中。
103:生成并存储第一定位信息。
其中,第一定位信息用于定位已写入到远程内存节点中写入数据。
104:在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
需要说明的是,本申请实施例的执行主体更具体的可以是云服务器的物理主机等。其对应的架构可以是存储分离以及内存分离的架构。其中,特别是对于内存分离而言,其在不同的物理主机上部署了对应的内存。对于本地内存节点而言,其它物理主机上的内存可以视为远程内存节点。此外,对于本地内存节点而言,其本地还有对应的计算节点,如CPU。该计算节点并没有进行分离。基于此,可以实现对应的内存分离的数据库。
以下针对上述步骤进行详细地阐述:
101:对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录写入操作的记录信息。
其中,本地内存节点是指部署在本地物理主机上的内存。且该本地物理主机上还部署了对应计算节点,如GPU,也可以成为本地计算节点。
写入操作可以是指写入的具体执行动作,如,将数据(或事物)A修改为数据(或事物)B的一个执行动作。该写入操作可以包括数据修改操作,数据存储或写入操作等。
例如,用户可以通过终端,如电脑,发送SQL(结构化查询语言,Structured QueryLanguage)语句至数据库服务器,用于进行数据修改。数据库服务器接收到该语句后,可以根据对该语句的解析调用对应的执行引擎进行数据修改。对应的执行引擎可以通过本地物理主机上的事务管理器(Transaction Manager)去对本地内存中的数据进行修改。然后记录下该修改过程,即对应的记录信息,用于记录对应的修改操作,如数据A修改为数据B。
具体的,对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录写入操作的记录信息,包括:接收数据修改请求,根据修改请求,对本地内存节点中对应内存页中的对应数据进行修改;针对对应数据的修改操作,生成修改操作日志,并将修改操作日志进行存储。
例如,根据前文所述,用户可以通过电脑发送数据修改请求,该请求中可以携带上述用于数据修改的SQL语句,或者,该SQL语句即是数据修改请求。根据前文所述的方式,如图2所示,本地物理主机上的事务管理器204接收到该数据修改的指令,根据该指令,修改本地内存中对应内存页内的数据,即执行步骤210:修改内存页中的数据。然后生成对应的redo(重做)日志,从而在该日志中记录对应的修改操作。并将该日志进行存储。其中,多个内存页2011存储于本地计算节点201中的本地缓存池2012(Local Buffer Pool,PUB,即本地内存或本地内存节点)内。
需要说明的是,对于本申请实施例的数据库而言,其可以是关系型数据库。此外,内存页是指一段地址所对应的数据。
其中,将修改操作日志进行存储,包括:将修改操作日志存储至日志缓存中,并通过日志缓存,将修改操作日志存储至存储设备中。
例如,根据前文所述,如图2所示,本地物理主机上,将生成的redo日志存储在本地计算节点201中的日志缓存(Log buffer)2014中,即执行步骤211:写入修改操作日志,至日志缓存2014中。然后通过日志缓存2014,将redo日志写入到存储设备203(PersistentShared Storage,持久化共享存储)中,完成事务递交,即执行步骤213:事务递交,至存储设备203,更具体的是可以是写入存储设备203中的预写日志2031(Write-Ahead Log,预写日志)中。
此外,存储设备203在成功存储了上述日志后,可以返回确认消息至日志缓存2014,以确保日志成功写入到存储设备203中。
102:将本地内存节点中的写入数据写入到远程内存节点中。
其中,远程内存节点可以是指部署在其它物理主机上的内存。如图2所示中的远程内存节点202。
例如,根据前文所述,如图2所示,将本地缓存池2012中的已修改的内存页2011(可以是多个内存页)写入到远程内存节点202中对应的缓存池内。
具体的,将本地内存节点中的写入数据写入到远程内存节点中,包括:将写入数据所在本地内存节点中的对应内存页写入到本地链表中;通过本地链表,将对应内存页写入到远程内存节点中。
其中,本地链表是位于如图2所示的本地计算节点201中的。
例如,根据前文所述,如图2所示,通过本地缓存池2012将修改后的内存页挂到本地计算节点201中的本地链表(FLUSH_LBP,也可以称为本地脏页链表)2013中,即执行步骤212:写入修改后的内存页,至本地链表2013。通过本地链表2013将修改后的内存页2011写入到远程内存节点202中,更具体的可以是远程内存节点202中的远程缓存池(RemoteBuffer Pool)2021中。
此外,可以通过本地中间组件(LFT Daemon)进行触发,使得写入到远程内存节点。如图2所示,根据前文所述,通过本地链表2013执行步骤214:触发组件,即触发本地中间组件2015来将修改后的内存页2011写入到远程内存节点202中的远程缓存池2021中。即执行步骤215:写入远程内存节点,至远程缓存池2021中。
需要说明的是,即使没有中间组件也是可以进行远程内存节点的数据写入的。
另,如图2所示,还可以通过本地链表2013向事务管理器204执行步骤223:发送事务结果,即修改事务确认。并通过事务管理器204返回至用户的电脑,告知用户修改事务确认。此时,日志缓存2014已经完成了事务递交。
103:生成并存储第一定位信息。
其中,第一定位信息是指用于定位已写入到远程内存节点中写入数据的信息,如checkpoint(检查点)。该检查点表示为该位点以前的数据,均已进行了存储。
例如,根据前文所述,在本地物理主机上,在将本地内存节点中修改后的内存页写入至远程内存节点中的时候,可以在预置数量的内存页已写入到远程内存节点中后,进行设置L1 checkpoint,表示为该位点以前的数据,均已经进行了远程内存节点的存储。该L1checkpoint可以随着写入过程的推进而更新,直至数据库异常需要进行数据恢复。
具体的,生成并存储用于定位已写入到远程内存节点中写入数据的第一定位信息,包括:根据已写入到远程内存节点中的内存页,确定第一定位信息;将第一定位信息存储至远程内存节点中。
例如,根据前文所述,在将本地内存节点中修改后的内存页写入至远程内存节点中的远程缓存池中的时候,可以在预置数量的内存页已写入到远程内存节点中的远程缓存池后,进行设置L1 checkpoint,表示为该位点以前的数据,均已经进行了远程内存节点的存储。该L1 checkpoint可以随着写入过程的推进而更新,直至数据库异常需要进行数据恢复。如图2所示,可以通过本地链表2013设置L1 checkpoint,然后存储至远程内存节点202中的第一定位信息缓存(checkpoints)2022中。或者,通过本地链表2013触发本地中间组件2015设置L1 checkpoint,然后存储至远程内存节点202中的第一定位信息缓存(checkpoints)2022中。即执行步骤216:存储第一定位信息,至第一定位信息缓存(checkpoints)2022中。
104:在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
其中,计算节点位于本地,即本地计算节点:本地物理主机上部署了该本地计算节点。
计算节点异常是指本地计算节点异常,如本地计算节点断电或者CPU对应软件崩溃。
例如,根据前文所述,当本地的CPU崩溃时,如断电后,重新上电进行重启。CPU重启后,获取远程内存节点中的L1 checkpoint,以及获取存储的redo日志。然后根据L1checkpoint确定出已经写入到远程内存节点的内存页,然后根据redo日志查找后续未写入到远程内存节点中的内存页对应的操作,进行数据恢复。具体的恢复过程与前文所述的方式相似,就不再赘述,仅说明,在恢复的过程也是如图2所示从步骤210开始,修改内存页中的数据。
应理解,对于存储数据其恢复过程也是相似的,就不再赘述。
需要说明的是,为了更好地进行数据恢复,对于内存页是具有对应标识的,如ID。日志也可以具有对应的标识,如ID。且日志的标识与内存页的标识可以相对应。由此,可以根据checkpoint确定内存页的ID,然后查找该ID后续的redo日志进行数据恢复。
具体的,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复,包括:读取远程内存节点中的第一定位信息以及读取存储设备中的修改操作日志;根据第一定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待写入至远程内存节点。
例如,根据前文所述,如图2所示,当本地的CPU崩溃时,如断电后,重新上电进行重启。CPU重启后,读取远程内存节点202中第一定位信息缓存2022中存储的L1checkpoint,以及读取存储设备203中的redo日志,具体的可以是从存储设备203中的预写日志2031中读取redo日志。然后根据L1 checkpoint确定出已经写入到远程内存节点202的内存页2011的ID,然后查找该ID后续的redo日志。根据redo日志查找后续未写入到远程内存节点202中的内存页2011对应的操作,进行数据恢复。具体的恢复过程与前文所述的方式相似,就不再赘述,仅说明,在恢复的过程也是如图2所示从步骤210开始,修改内存页2011中的数据,直至存储到远程内存节点202中的远程缓存池2021中。
需要说明的是,通过L1 checkpoint可以使得分离内存(即远程内存节点)具有独立的恢复能力,分离内存可以独立崩溃恢复crash recovery,并且继续使用。极大的加速了崩溃恢复crash recovery和性能恢复的过程。
由于后续会将远程缓存池中的内存页对应的数据存储至存储设备中,所以如果数据已经开始往存储设备处进行存储,且本地计算节点异常,则通过上述方式不但可以恢复到未写入远程内存节点中的数据,也是恢复到未写入存储设备中的数据。
在远程内存节点内,数据已经开始往存储设备处进行存储,如果远程内存节点异常,则也需要进行数据恢复,具体的恢复方式如下:
具体的,该方法100还包括:将远程内存节点中的写入数据存储至存储设备;生成并存储第二定位信息,第二定位信息用于定位已存储到存储设备中写入数据;在远程内存节点异常的情况下,根据记录信息以及第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复。
其中,第二定位信息是指用于定位已存储到存储设备中写入数据的信息。如checkpoint,与第一定位信息相似,就不再过多赘述了。
例如,根据前文所述,通过远程内存节点将已存储的内存页写入到存储设备中。在存储到存储设备的过程中,设置L2 checkpoint表示为该位点以前的数据,均已经进行了设备存储。该L2 checkpoint可以随着写入过程的推进而更新,直至数据库中远程内存节点异常需要进行数据恢复。恢复的时候,需要本地计算节点获取对应的redo日志以及L2checkpoint,对远程内存节点中未写入存储设备中的写入数据进行恢复。
其中,将远程内存节点中的写入数据存储至存储设备,包括:将写入数据所在远程内存节点中的对应内存页写入到远程链表中;通过远程链表,将对应内存页存储至存储设备。
例如,根据前文所述,如图2所示,可以通过远程内存节点202中的远程缓存池2021将其中的内存页挂到远程链表(FLUSH_RBP,远程脏页链表)2023中。或者,通过触发本地中间组件2015将内存页2011挂到远程链表2023中,即执行步骤217:写入远程内存节点中的内存页2011,至远程链表2023。由于本地中间组件2015还执行了步骤215,所以该组件是知晓内存页2011在远程缓存池中的信息的,如地址以及数据等,所以可以通过该组件执行步骤217。就不再赘述。通过远程链表2023将内存页2011中的数据存储至存储设备203中数据2033中。从而完成数据的持久化存储。
或,如图2所示,也可以通过触发远程内存节点202中的远程中间组件(HFTDaemon)2024进行数据存储至存储设备203。通过远程链表2023,触发远程中间组件2024写入内存页2011对应的数据至存储设备203,即执行步骤218:触发组件写入数据。通过远程中间组件2024将对应的数据写入到存储设备203中的数据2033中,即通过远程中间组件执行步骤219:写入数据,至存储设备203中的数据2033。
其中,生成并存储第二定位信息,包括:根据已写入到存储设备中的内存页,确定第二定位信息;将第二定位信息存储至存储设备中。
例如,根据前文所述,如图2所示,通过在将远程内存节点202中的内存页2011写入至存储设备203的时候,可以在预置数量的内存页2011已写入到存储设备203后,进行设置L2 checkpoint,表示为该位点以前的数据,均已经进行了设备存储。该L2checkpoint可以随着写入过程的推进而更新,直至数据库中远程内存节点异常需要进行数据恢复。可以通过远程链表2024设置L2 checkpoint,然后存储至存储设备203中的第二定位信息(checkpoints)2032中。或者,通过远程链表2024触发远程中间组件2024设置L2checkpoint,然后存储至存储设备203中的第二定位信息(checkpoints)2032中。即执行步骤220:存储第二定位信息,至存储设备203中的第二定位信息(checkpoints)2032中。
其中,根据记录信息以及第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复,包括:读取存储设备中的修改操作日志以及第二定位信息;根据第二定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待存储至存储设备。
其中,远程内存节点异常可以是指单独的远程内存节点异常(如,断电等)或,本地计算节点异常+远程内存节点异常,即两者同时异常。
例如,根据前文所述,如图2所示,当远程内存节点崩溃时,如断电后,重新上电进行重启。重启后,本地CPU读取存储设备203中第二定位信息2032中存储的L2 checkpoint,以及读取存储设备203中的redo日志,具体的可以是从存储设备203中的预写日志2031中读取redo日志。然后根据L2 checkpoint确定出已经写入到存储设备203的内存页2011的ID,然后查找该ID后续的redo日志。根据redo日志查找后续未写入到存储设备203中的内存页2011对应的操作,进行数据恢复。具体的恢复过程与前文所述的方式相似,就不再赘述,仅说明,在恢复的过程也是如图2所示从步骤210开始,修改内存页2011中的数据,直至存储到存储设备203的数据2033中。
需要说明的是,当成功将数据写入存储设备203后,可以删除掉存储设备203中对应的日志。如,如图2所示,通过远程中间组件2024触发本地中间组件2015删除存储设备203中的预写日志2031中的对应日志,如redo日志。然后,通过本地中间组件2015对存储设备203中的预写日志2031中的对应日志删除。即执行了步骤221:触发组件删除预写日志,以及步骤222:删除预置日志。
由此,通过上述L2 checkpoint可以在远程内存节点异常的时候,进行数据恢复。
图3为本申请一示例性实施例提供的一种数据的恢复系统的结构示意图。如图3所示,该系统300可以包括:第一设备301以及第二设备302。
其中,第一设备301可以是有一定计算能力的设备,可以实现向第二设备302发送数据的功能,也可以接收第二设备302发送的数据。第一设备301的基本结构可以包括:至少一个处理器。处理器的数量可以取决于具有一定计算能力装置的配置和类型。具有一定计算能力装置也可以包括存储器,该存储器可以为易失性的,例如RAM,也可以为非易失性的,例如只读存储器(Read-Only Memory,ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(Operating System,OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,具有一定计算能力装置还包括一些基本配置,例如网卡芯片、IO总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、输入笔等。其它外围设备在本领域中是众所周知的,在此不做赘述。可选地,第一设备301可以为智能终端,例如,手机、台式电脑、笔记本、平板电脑等。
第二设备302是指可以在网络虚拟环境中提供计算处理服务的设备,可以是指利用网络进行数据恢复的设备。在物理实现上,第二设备302可以是任何能够提供计算服务,响应服务请求,并进行数据获取,还可以进行数据恢复的设备,例如可以是云服务器、云主机、虚拟中心、常规服务器等等。第二设备302的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
具体的,第一设备301,发送数据写入请求至第二设备。
具体的,第二设备302,根据接收到的写入请求,对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录写入操作的记录信息;将本地内存节点中的写入数据写入到远程内存节点中;生成并存储第一定位信息,第一定位信息用于定位已写入到远程内存节点中写入数据;在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
其中,计算节点位于本地。
具体的,第二设备302,接收数据修改请求,根据修改请求,对本地内存节点中对应内存页中的对应数据进行修改;针对对应数据的修改操作,生成修改操作日志,并将修改操作日志进行存储。
第一设备301,发送数据修改请求至第二设备302。
具体的,第二设备302,将修改操作日志存储至日志缓存中,并通过日志缓存,将修改操作日志存储至存储设备中。
具体的,第二设备302,根据已写入到所述远程内存节点中的内存页,确定第一定位信息;将第一定位信息存储至所述远程内存节点中。
具体的,第二设备302,读取远程内存节点中的第一定位信息以及读取存储设备中的修改操作日志;根据第一定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待写入至远程内存节点。
此外,第二设备302,将远程内存节点中的写入数据存储至存储设备;生成并存储第二定位信息,第二定位信息用于定位已存储到存储设备中写入数据;在远程内存节点异常的情况下,根据记录信息以及第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复。
具体的,第二设备302,根据已写入到存储设备中的内存页,确定第二定位信息;将第二定位信息存储至存储设备中。
具体的,第二设备302,读取存储设备中的修改操作日志以及第二定位信息;根据第二定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待存储至存储设备。
需要说明的是,在系统300中未能完全阐述的内容请参见前文方法100中的内容,其具体的实施方式也请参见前文所述的方法100的具体实施方式,此处就不再赘述。
在本申请实施例的数据恢复的场景中,如图3所示,用户可以通过第一设备301,如电脑,执行步骤310:发送数据修改请求至第二设备302,如数据库服务器,该请求中可以携带上述用于数据修改的SQL语句,或者,该SQL语句即是数据修改请求。数据库服务器接收到该请求后,可以根据对该请求中的SQL语句的解析调用对应的执行引擎进行数据修改。对应的执行引擎可以通过本地物理主机上的事务管理器204(Transaction Manager)去对本地内存中的数据进行修改。然后记录下该修改过程,即对应的修改操作,如数据A修改为数据B。
数据库服务器的本地物理主机上的事务管理器204接收到该数据修改的指令,根据该指令,修改本地内存中对应内存页内的数据,即执行步骤210:修改内存页中的数据。然后生成对应的redo(重做)日志,从而在该日志中记录对应的修改操作。将生成的redo日志存储在本地计算节点201中的日志缓存(Log buffer)2014中,即执行步骤211:写入修改操作日志,至日志缓存2014中。然后通过日志缓存2014,将redo日志写入到存储设备203中,完成事务递交,即执行步骤213:事务递交,至存储设备203,更具体的是可以是写入存储设备203中的预写日志2031中。
通过本地缓存池2012将修改后的内存页挂到本地计算节点201中的本地链表2013中,即执行步骤212:写入修改后的内存页,至本地链表2013。通过本地链表2013执行步骤214:触发组件,即触发本地中间组件2015来将修改后的内存页2011写入到远程内存节点202中的远程缓存池2021中。即执行步骤215:写入远程内存节点,至远程缓存池2021中。还可以通过本地链表2013向事务管理器204执行步骤223:发送事务结果,即修改事务确认。并通过事务管理器204返回至用户的电脑,告知用户修改事务确认,即执行步骤311:发送修改确认结果。此时,日志缓存2014已经完成了事务递交。
在将本地内存节点中修改后的内存页写入至远程内存节点中的远程缓存池中的时候,可以通过本地链表2013触发本地中间组件2015设置L1 checkpoint,然后存储至远程内存节点202中的第一定位信息缓存(checkpoints)2022中。即执行步骤216:存储第一定位信息,至第一定位信息缓存(checkpoints)2022中。
当本地的CPU崩溃时,如断电后,重新上电进行重启。CPU重启后,读取远程内存节点202中第一定位信息缓存2022中存储的L1 checkpoint,以及读取存储设备203中的redo日志,具体的可以是从存储设备203中的预写日志2031中读取redo日志。然后根据L1checkpoint确定出已经写入到远程内存节点202的内存页2011的ID,然后查找该ID后续的redo日志。根据redo日志查找后续未写入到远程内存节点202中的内存页2011对应的操作,进行数据恢复。
通过触发本地中间组件2015将内存页2011挂到远程链表2023中,即执行步骤217:写入远程内存节点中的内存页2011,至远程链表2023。通过远程链表2023,触发远程中间组件2024写入内存页2011对应的数据至存储设备203,即执行步骤218:触发组件写入数据。通过远程中间组件2024将对应的数据写入到存储设备203中的数据2033中,即通过远程中间组件执行步骤219:写入数据,至存储设备203中的数据2033。
通过在将远程内存节点202中的内存页2011写入至存储设备203的时候,可以在预置数量的内存页2011已写入到存储设备203后,进行设置L2 checkpoint。可以通过远程链表2024触发远程中间组件2024设置L2 checkpoint,然后存储至存储设备203中的第二定位信息(checkpoints)2032中。即执行步骤220:存储第二定位信息,至存储设备203中的第二定位信息(checkpoints)2032中。
当远程内存节点崩溃时,如断电后,重新上电进行重启。重启后,本地CPU读取存储设备203中第二定位信息2032中存储的L2 checkpoint,以及读取存储设备203中的redo日志。根据redo日志查找后续未写入到存储设备203中的内存页2011对应的操作,进行数据恢复。
此处未详细记载的内容可以参考前文所述的内容,就不再赘述。
在上述本实施例中,第一设备301、第二设备302进行网络连接。若第一设备301、第二设备302是通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax、5G等中的任意一种。
根据相似的发明构思,本申请一示例性实施例的一种数据的恢复方法。本申请实施例提供的该方法由计算设备执行,如,服务器等。如图4所示,该方法400包括以下步骤:
401:将远程内存节点中的写入数据存储至存储设备。
402:生成并存储第二定位信息。
其中,第二定位信息用于定位已存储到存储设备中写入数据。
403:在远程内存节点异常的情况下,根据记录信息以及第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复。
具体的,将远程本地内存中的写入数据存储至存储设备,包括:将写入数据所在远程内存节点中的对应内存页写入到远程链表中;通过远程链表,将对应内存页存储至存储设备。
具体的,生成并存储第二定位信息,包括:根据已写入到存储设备中的内存页,确定第二定位信息;将第二定位信息存储至存储设备中。
具体的,根据记录信息以及第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复,包括:读取存储设备中的修改操作日志以及第二定位信息;根据第二定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待存储至存储设备。
需要说明的是,由于步骤401-403的具体实施方式与前文阐述的方法200的具体实施方式相似,这里就不再赘述。
该方法400未能详尽的内容请参考前文,就不再赘述。
图5为本申请一示例性实施例提供的一种数据的恢复装置的结构框架示意图。该装置500可以应用于服务器。该装置500包括:生成模块501、写入模块502、恢复模块503;以下针对各个模块的功能进行详细的阐述:
生成模块501,用于对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录写入操作的记录信息。
写入模块502,用于将本地内存节点中的写入数据写入到远程内存节点中。
生成模块501,用于生成并存储第一定位信息,第一定位信息用于定位已写入到远程内存节点中写入数据。
恢复模块503,用于在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
其中,计算节点位于本地。
具体的,生成模块501,包括:修改单元,用于接收数据修改请求,根据修改请求,对本地内存节点中对应内存页中的对应数据进行修改;生成单元,用于针对对应数据的修改操作,生成修改操作日志,并将修改操作日志进行存储。
具体的,生成单元,用于将修改操作日志存储至日志缓存中,并通过日志缓存,将修改操作日志存储至存储设备中。
具体的,写入模块502,包括:写入单元,用于将写入数据所在本地内存节点中的对应内存页写入到本地链表中;第一写入单元,用于通过本地链表,将对应内存页写入到远程内存节点中。
具体的,生成模块501,包括:确定单元,用于根据已写入到远程内存节点中的内存页,确定第一定位信息;第一存储单元,用于将第一定位信息存储至远程内存节点中。
具体的,恢复模块503,包括:读取单元,用于读取远程内存节点中的所述第一定位信息以及读取存储设备中的修改操作日志;恢复单元,用于根据第一定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待写入至远程内存节点。
此外,该装置500还包括:存储模块,用于将远程内存节点中的写入数据存储至存储设备;生成模块501,用于生成并存储第二定位信息,第二定位信息用于定位已存储到存储设备中写入数据;恢复模块503,用于在远程内存节点异常的情况下,根据记录信息以及第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复。
具体的,存储模块,包括:第二写入单元,用于将写入数据所在远程内存节点中的对应内存页写入到远程链表中;第二存储单元,用于通过远程链表,将对应内存页存储至存储设备。
具体的,确定单元,用于根据已写入到所述存储设备中的内存页,确定第二定位信息;第一存储单元,用于将第二定位信息存储至存储设备中。
具体的,读取单元,用于读取存储设备中的修改操作日志以及第二定位信息;恢复单元,用于根据第二定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待存储至存储设备。
本装置500中未能详尽的内容请参考前文所述,就不再赘述。
以上描述了图5所示的装置500的内部功能和结构,在一个可能的设计中,图5所示的装置500的结构可实现为计算设备,如,服务器。如图6所示,该设备600可以包括:存储器601、处理器602;
存储器601,用于存储计算机程序。
处理器602,用于执行计算机程序,以用于:对本地内存节点进行数据写入,对应的写入操作,生成并存储用于记录写入操作的记录信息;生成并存储第一定位信息,第一定位信息用于定位已写入到远程内存节点中写入数据;在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
具体的,处理器602,具体用于:接收数据修改请求,根据修改请求,对本地内存节点中对应内存页中的对应数据进行修改;针对对应数据的修改操作,生成修改操作日志,并将修改操作日志进行存储。
具体的,处理器602,具体用于:将修改操作日志存储至日志缓存中,并通过日志缓存,将修改操作日志存储至存储设备中。
具体的,处理器602,具体用于:将写入数据所在本地内存节点中的对应内存页写入到本地链表中;通过本地链表,将对应内存页写入到远程内存节点中。
具体的,处理器602,具体用于:根据已写入到远程内存节点中的内存页,确定第一定位信息;将第一定位信息存储至远程内存节点中。
具体的,处理器602,具体用于:读取远程内存节点中的所述第一定位信息以及读取存储设备中的修改操作日志;根据第一定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待写入至远程内存节点。
此外,处理器602,还用于:将远程内存节点中的写入数据存储至存储设备;生成并存储第二定位信息,第二定位信息用于定位已存储到存储设备中写入数据;在远程内存节点异常的情况下,根据记录信息以及第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复。
具体的,处理器602,具体用于:将写入数据所在远程内存节点中的对应内存页写入到远程链表中;通过远程链表,将对应内存页存储至存储设备。
具体的,处理器602,具体用于:根据已写入到存储设备中的内存页,确定第二定位信息;将第二定位信息存储至存储设备中。
具体的,处理器602,具体用于:读取存储设备中的修改操作日志以及第二定位信息;根据第二定位信息确定未写入的写入数据,并根据修改操作日志在本地内存节点中的对应内存页中对未写入数据进行恢复,以使恢复后的写入数据等待存储至存储设备。
另外,本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现图1-2方法实施例中一种数据的恢复方法的步骤。
另外,本发明实施例提供了一种计算机程序产品,包括计算机程序或指令,其中,当计算机程序被处理器执行时,致使处理器实现图1-2方法实施例中一种数据的恢复方法的步骤。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102、103等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程多媒体数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程多媒体数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程多媒体数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程多媒体数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种数据的恢复方法,包括:
对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录所述写入操作的记录信息;
将本地内存节点中的写入数据写入到远程内存节点中;
生成并存储第一定位信息,所述第一定位信息用于定位已写入到所述远程内存节点中写入数据;
在计算节点异常的情况下,根据所述第一定位信息以及所述记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
2.根据权利要求1所述的方法,所述对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录所述写入操作的记录信息,包括:
接收数据修改请求,根据所述修改请求,对本地内存节点中对应内存页中的对应数据进行修改;
针对对应数据的修改操作,生成修改操作日志,并将所述修改操作日志进行存储。
3.根据权利要求2所述的方法,所述将所述修改操作日志进行存储,包括:
将修改操作日志存储至日志缓存中,并通过日志缓存,将所述修改操作日志存储至存储设备中。
4.根据权利要求1所述的方法,所述将本地内存节点中的写入数据写入到远程内存节点中,包括:
将写入数据所在本地内存节点中的对应内存页写入到本地链表中;
通过所述本地链表,将对应内存页写入到远程内存节点中。
5.根据权利要求1所述的方法,所述生成并存储第一定位信息,包括:
根据已写入到所述远程内存节点中的内存页,确定所述第一定位信息;
将所述第一定位信息存储至所述远程内存节点中。
6.根据权利要求1所述的方法,所述根据所述第一定位信息以及所述记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复,包括:
读取远程内存节点中的所述第一定位信息以及读取存储设备中的修改操作日志;
根据所述第一定位信息确定未写入的写入数据,并根据所述修改操作日志在所述本地内存节点中的对应内存页中对所述未写入数据进行恢复,以使恢复后的写入数据等待写入至远程内存节点。
7.根据权利要求1或6所述的方法,所述方法还包括:
将远程内存节点中的写入数据存储至存储设备;
生成并存储第二定位信息,所述第二定位信息用于定位已存储到所述存储设备中写入数据;
在远程内存节点异常的情况下,根据所述记录信息以及所述第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复。
8.根据权利要求7所述的方法,所述将远程本地内存中的写入数据存储至存储设备,包括:
将写入数据所在远程内存节点中的对应内存页写入到远程链表中;
通过所述远程链表,将对应内存页存储至存储设备。
9.根据权利要求7所述的方法,所述生成并存储第二定位信息,包括:
根据已写入到所述存储设备中的内存页,确定所述第二定位信息;
将所述第二定位信息存储至所述存储设备中。
10.根据权利要求7所述的方法,所述根据所述记录信息以及所述第二定位信息,对远程内存节点中未写入存储设备中的写入数据进行恢复,包括:
读取存储设备中的修改操作日志以及所述第二定位信息;
根据所述第二定位信息确定未写入的写入数据,并根据所述修改操作日志在所述本地内存节点中的对应内存页中对所述未写入数据进行恢复,以使恢复后的写入数据等待存储至存储设备。
11.一种计算设备,包括:存储器、处理器;
所述存储器,用于存储计算机程序;
所述处理器,执行所述计算机程序,以用于:
对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录所述写入操作的记录信息;
将本地内存节点中的写入数据写入到远程内存节点中;
生成并存储第一定位信息,第一定位信息用于定位已写入到所述远程内存节点中写入数据;
在计算节点异常的情况下,根据所述第一定位信息以及所述记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
12.一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现权利要求1-10任一项所述方法中的步骤。
13.一种计算机程序产品,包括计算机程序或指令,其中,当计算机程序被处理器执行时,致使处理器实现权利要求1-10任一项所述方法中的步骤。
14.一种数据的恢复系统,包括:第一设备以及第二设备;
所述第一设备,发送数据写入请求至第二设备;
所述第二设备,根据接收到的写入请求,对本地内存节点进行数据写入,根据对应的写入操作,生成并存储用于记录所述写入操作的记录信息;将本地内存节点中的写入数据写入到远程内存节点中;生成并存储第一定位信息,第一定位信息用于定位已写入到远程内存节点中写入数据;在计算节点异常的情况下,根据第一定位信息以及记录信息,对本地内存节点中未写入到远程内存节点中的写入数据进行恢复。
CN202110932895.2A 2021-08-13 2021-08-13 数据的恢复方法、计算设备及存储介质 Pending CN113791934A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110932895.2A CN113791934A (zh) 2021-08-13 2021-08-13 数据的恢复方法、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110932895.2A CN113791934A (zh) 2021-08-13 2021-08-13 数据的恢复方法、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN113791934A true CN113791934A (zh) 2021-12-14

Family

ID=79181861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110932895.2A Pending CN113791934A (zh) 2021-08-13 2021-08-13 数据的恢复方法、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN113791934A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443364A (zh) * 2021-12-27 2022-05-06 天翼云科技有限公司 一种分布式块存储数据处理方法、装置、设备及存储介质
CN115202588A (zh) * 2022-09-14 2022-10-18 云和恩墨(北京)信息技术有限公司 数据存储方法及装置、数据恢复方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443364A (zh) * 2021-12-27 2022-05-06 天翼云科技有限公司 一种分布式块存储数据处理方法、装置、设备及存储介质
CN115202588A (zh) * 2022-09-14 2022-10-18 云和恩墨(北京)信息技术有限公司 数据存储方法及装置、数据恢复方法及装置
CN115202588B (zh) * 2022-09-14 2022-12-27 本原数据(北京)信息技术有限公司 数据存储方法及装置、数据恢复方法及装置

Similar Documents

Publication Publication Date Title
US8250033B1 (en) Replication of a data set using differential snapshots
US8032707B2 (en) Managing cache data and metadata
EP2329360B1 (en) Managing cache data and metadata
CN108431783B (zh) 访问请求处理方法、装置及计算机系统
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
US20150213100A1 (en) Data synchronization method and system
EP3724764A1 (en) Write-ahead style logging in a persistent memory device
JP2016522514A (ja) オンライン・ホット・スタンバイ・データベースのためのレプリケーション方法、プログラム、および装置
CN111506253B (zh) 一种分布式存储系统及其存储方法
CN111258666B (zh) 计算机文件的读取方法、装置、计算机系统及存储介质
US11748215B2 (en) Log management method, server, and database system
CN113076220B (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN115098299A (zh) 一种虚拟机的备份方法、容灾方法、装置及设备
CN113791934A (zh) 数据的恢复方法、计算设备及存储介质
CN116483284B (zh) 一种读写虚拟硬盘的方法、装置、介质及电子设备
CN108369549B (zh) 版本化记录管理计算系统、方法和计算机可读介质
CN111078359B (zh) 一种通过目录映射实现虚机即时恢复的方法及系统
CN110928890B (zh) 数据存储方法、装置、电子设备及计算机可读存储介质
CN114756355B (zh) 一种计算机操作系统的进程自动快速恢复的方法和装置
CN114328018A (zh) 快照的创建方法、计算设备及存储介质
CN109271277B (zh) 数据库宕机后的访问方法、装置和系统
CN108509252B (zh) 虚拟机启动装置、方法及主机
KR100365891B1 (ko) 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법
CN117271221A (zh) 数据库数据的恢复方法、存储介质与设备
CN118152409A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40063998

Country of ref document: HK