CN108228678B - 一种多副本数据恢复方法及装置 - Google Patents

一种多副本数据恢复方法及装置 Download PDF

Info

Publication number
CN108228678B
CN108228678B CN201611201042.7A CN201611201042A CN108228678B CN 108228678 B CN108228678 B CN 108228678B CN 201611201042 A CN201611201042 A CN 201611201042A CN 108228678 B CN108228678 B CN 108228678B
Authority
CN
China
Prior art keywords
node
data
latest
data page
lsns
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
CN201611201042.7A
Other languages
English (en)
Other versions
CN108228678A (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 Technologies Co Ltd
Original Assignee
Huawei 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 Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201611201042.7A priority Critical patent/CN108228678B/zh
Priority to PCT/CN2017/113212 priority patent/WO2018113484A1/zh
Publication of CN108228678A publication Critical patent/CN108228678A/zh
Priority to US16/448,581 priority patent/US11132265B2/en
Application granted granted Critical
Publication of CN108228678B publication Critical patent/CN108228678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Abstract

本申请实施例提供一种多副本数据恢复方法及装置,涉及数据库技术领域,解决了副本数据发生故障时,数据恢复时间长且效率低的问题。该方法应用于分布式数据库中,包括:若第一节点的副本数据中的第一数据页面发生故障,第一节点获取第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN;第一数据页面为第一节点的副本数据中发生故障的任一数据页面;第二节点为N个节点中未发生故障的节点;第一节点将第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN中最大的LSN对应的节点,确定为第三节点;第一节点根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复。

Description

一种多副本数据恢复方法及装置
技术领域
本申请涉及数据库技术领域,尤其涉及一种多副本数据恢复方法及装置。
背景技术
在分布式数据库中,各个节点的数据可以通过多副本数据的形式进行存储,每个副本数据与主数据保持一致,且每个副本数据可以提供数据只读能力,适用于读多写少的互联网业务等场景中。
目前,当数据库系统检查多副本数据时,若发现多个副本数据中的某个副本数据发生故障,即存储该副本数据的节点发生故障,则数据库系统需要保留记录的数据事务日志。之后,该节点从该副本数据的故障点开始,根据记录的数据事务日志对该副本数据进行日志重放,以实现该副本数据的数据恢复。
但是,当节点的故障时间较长时,会累计大量的数据事务日志,根据该数据事务日志从该故障点开始进行日志重放,也会消耗较长的时间,从而数据恢复的效率较低。此外,保留大量的数据事务日志,会占用数据库系统大量的存储容量,增加存储压力。
发明内容
本申请实施例提供的一种多副本数据恢复方法及装置,解决了现有技术中副本数据发生故障时,数据恢复时间长且效率低的问题,同时本申请无需保留大量的数据事务日志,减小了数据库的存储压力。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供一种多副本数据恢复方法,应用于分布式数据库中,该分布式数据库包括N个节点,每个节点存储有副本数据和数据日志信息;每个节点存储的数据日志信息包括数据页面标识与N个最新日志序列号LSN的对应信息,该N个最新LSN与N个节点一一对应,N为大于等于2的整数;该方法包括:若第一节点的副本数据中的第一数据页面发生故障,则第一节点获取N个节点中未发生故障的第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN;其中,第一数据页面为第一节点的副本数据中发生故障的任一数据页面;第一节点根据第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,将该N个最新LSN中最大的LSN对应的节点确定为第三节点;第一节点根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复。
上述技术方案中,若第一节点的副本数据中的第一数据页面发生故障,第一数据页面为第一节点的副本数据中发生故障的任一数据页面,则第一节点根据未发生故障的第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,确定第三节点,第三节点的副本数据为最新的副本数据;然后,第一节点根据最新的副本数据对第一节点的副本数据中的第一数据页面进行数据恢复,从而减小了数据恢复时间,提高了数据恢复效率。此外,在数据恢复时无需保留相应的数据事务日志,减小了数据库的存储压力。
在第一方面的一种可能的实现方式中,第一节点根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复之后,该方法还包括:第一节点根据第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,更新第一节点的数据日志信息。上述可选的技术方案中,第一节点在数据恢复之后更新第一节点的数据日志信息,可以保证第一节点的数据日志信息的准确性和新鲜性。
在第一方面的一种可能的实现方式中,第一节点根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复之后,该方法还包括:第一节点将恢复后的第一数据页面发送给N个节点中除第一节点之外的其他故障节点,以使其他故障节点中的每个故障节点根据第一数据页面更新故障节点的副本数据。上述可选的技术方案中,其他的故障节点可以通过第一节点发送的第一数据页面进行数据恢复,从而实现了多个故障节点对第一数据页面的快速恢复,进一步提高数据恢复效率。
在第一方面的一种可能的实现方式中,第一节点根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复之后,该方法还包括:第一节点获取第三节点的副本数据中的第二数据页面,并根据该第二数据页面更新第一节点的副本数据;其中,第二数据页面为第一数据页面在故障恢复过程中更新的任一数据页面。上述可选的技术方案中,第一节点可以根据该的第二数据页面更新第一节点的副本数据,从而在故障恢复之后,进一步提高了数据的恢复效率,同时也减小了数据库的存储压力。
在第一方面的一种可能的实现方式中,数据日志信息还包括第三数据页面标识与N个最新LSN的对应信息,该方法还包括:当第三数据页面标识对应的N个最新LSN满足预设删除条件时,第一节点从第一节点的数据日志信息中,删除第三数据页面标识与N个最新LSN的对应信息。上述可选的技术方案中,第一节点从第一节点的数据日志信息中,删除满足预设删除条件的第三数据页面标识与N个最新LSN的对应信息,释放一定的存储空间,减小存储压力。
在第一方面的一种可能的实现方式中,该方法还包括:若第一节点的副本数据未发生故障,则当N个节点的副本数据中的第一数据页面存在更新操作时,第一节点确定第一数据页面标识对应的N个最新LSN;第一节点根据第一数据页面标识和N个最新LSN,更新第一节点的数据日志信息。上述可选的技术方案中,第一节点实时地确定的第一数据页面标识对应的N个最新LSN,并更新数据日志信息,从而可以保证数据日志信息的准确性和新鲜性。
在第一方面的一种可能的实现方式中,若第一节点的副本数据未发生故障,则第一节点检测第一节点的数据日志信息中第四数据页面标识对应的N个最新LSN中,是否存在至少一个最新LSN满足预设故障条件;若确定满足预设故障条件,则第一节点确定至少一个最新LSN对应的节点为故障节点,且故障节点的副本数据中的第四数据页面发生故障。
在第一方面的一种可能的实现方式中,预设故障条件包括:至少一个最新LSN与第四数据页面标识对应的N个最新LSN中其他的最新LSN不同,且至少一个最新LSN与其他的最新LSN之间的差值大于等于预设阈值;或者,第四数据页面标识对应的最新LSN的个数小于N。
上述可选的两个技术方案中,第一节点可以根据第一节点的数据日志信息和预设故障条件确定故障节点,以及故障节点的副本数据中发生故障的数据页面,从而可以提高确定故障节点和确定发生故障的数据页面的效率。
第二方面,提供一种第一节点,应用于分布式数据库中,分布式数据库包括N个节点,每个节点存储有副本数据和数据日志信息;每个节点存储的数据日志信息包括数据页面标识与N个最新日志序列号LSN的对应信息,N个最新LSN与N个节点一一对应,N为大于等于2的整数;第一节点包括:获取单元,若第一节点的副本数据中的第一数据页面发生故障,则获取第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN;其中,第一数据页面为第一节点的副本数据中发生故障的任一数据页面;第二节点为N个节点中未发生故障的节点;确定单元,用于根据第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,确定第三节点;其中,第三节点为N个最新LSN中最大的LSN对应的节点;恢复单元,用于根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复。
在第二方面的一种可能的实现方式中,恢复单元还用于:根据第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,更新第一节点的数据日志信息。
在第二方面的一种可能的实现方式中,第一节点还包括:发送单元,用于将恢复后的第一数据页面发送给N个节点中除第一节点之外的其他故障节点,以使其他故障节点中的每个故障节点根据第一数据页面更新故障节点的副本数据。
在第二方面的一种可能的实现方式中,获取单元,还用于获取第三节点的副本数据中的第二数据页面;恢复单元,还用于根据该第二数据页面更新第一节点的副本数据;其中,第二数据页面为第一数据页面在故障恢复过程中更新的任一数据页面。
在第二方面的一种可能的实现方式中,数据日志信息还包括第三数据页面标识与N个最新LSN的对应信息,第一节点还包括:删除单元,用于当第三数据页面标识对应的N个最新LSN满足预设删除条件时,从第一节点的数据日志信息中,删除第三数据页面标识与N个最新LSN的对应信息。
在第二方面的一种可能的实现方式中,确定单元,还用于若第一节点的副本数据未发生故障,则当N个节点的副本数据中的第一数据页面存在更新操作时,确定第一数据页面标识对应的N个最新LSN;恢复单元,还用于根据第一数据页面标识和N个最新LSN,更新第一节点的数据日志信息。
在第二方面的一种可能的实现方式中,第一节点还包括:检测单元,用于若第一节点的副本数据未发生故障,则检测第一节点的数据日志信息中第四数据页面标识对应的N个最新LSN中,是否存在至少一个最新LSN满足预设故障条件;确定单元,还用于若确定满足预设故障条件,则确定至少一个最新LSN对应的节点为故障节点,且故障节点的副本数据中的第四数据页面发生故障。
在第二方面的一种可能的实现方式中,预设故障条件包括:至少一个最新LSN与第四数据页面标识对应的N个最新LSN中其他的最新LSN不同,且至少一个最新LSN与其他的最新LSN之间的差值大于等于预设阈值;或者,第四数据页面标识对应的最新LSN的个数小于N。
第三方面,提供一种第一节点,该第一节点包括处理器和存储器,存储器中存储代码和数据,处理器可运行存储器中的代码,处理器用于执行上述第一方面或第一方面的任一种可能的实现方式所提供的多副本数据恢复方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述第一方面或第一方面的任一种可能的实现方式所提供的多副本数据恢复方法。
第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或第一方面的任一种可能的实现方式所提供的多副本数据恢复方法。
附图说明
图1为本申请实施例提供的一种分布式数据库的结构示意图;
图2为本申请实施例提供的一种数据中数据的存储示意图;
图3为本申请实施例提供的一种多副本数据恢复方法的流程图;
图4为本申请实施例提供的另一种多副本数据恢复方法的流程图;
图5为本申请实施例提供的又一种多副本数据恢复方法的流程图;
图6为本申请实施例提供的另一种多副本数据恢复方法的流程图;
图7为本申请实施例提供的又一种多副本数据恢复方法的流程图;
图8为本申请实施例提供的一种第一节点的结构示意图;
图9为本申请实施例提供的另一种第一节点的结构示意图;
图10为本申请实施例提供的又一种第一节点的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。符号“/”一般表示前后关联对象是一种“或”的关系。
图1为本申请实施例提供的一种分布式数据库的结构示意图,参见图1,该分布式数据库包括代理层101、SQL层102、存储层103、集群管理器104,以及运行于代理层101之上的应用层105,应用层105包括一个或者多个应用程序(英文:application,简称:APP)。其中,代理层101具有分库分表及透明访问、读写分离、负载均衡的功能。SQL层102可以包括多个SQL节点,每个SQL节点可以包括SQL引擎和存储适配器;SQL引擎具有SQL解析、事务并发控制等功能;存储适配器具有存储层接口适配、以及访问路由等功能。存储层103可以包括多个存储节点,每个存储节点可用于存储副本数据,且多个存储节点中可以包括一个主节点和至少一个从节点。存储层103还具有请求处理分发、日志序列号(英文:log sequencenumber,简称:LSN)保序控制、管理和维护命令处理等功能。存储层103还具有使用复制协议实现各个副本数据之间的数据同异步复制,以及具有数据库状态机维护,处理写节点产生的恢复日志,并提供异步页面以及相应的页面读取服务等功能。集群管理器104具有集群管理、软件启动停止及故障监控处理、多个存储节点选择主节点时的主备仲裁等功能。
图2为本申请实施例提供的一种数据库中数据的存储示意图。参见图2,数据库中的数据最终是以数据页面(英文:page)的形式进行存放的,一个数据库的所有数据可以看作是一定数据的数据页面的集合。具体的,在逻辑存储上,多个数据页面可以组成一个范围(英文:extend),比如,一个范围可以包括1M,即包括64个数据页面,每个数据页面包括16K。一个或者多个范围可以组成一个数据段(英文:segment),数据段动态增长,多个数据段可以组成一个表空间(英文:table space)。在物理存储上,数据页面对应文件块,表空间对应操作系统文件(简称:OS File)。
图3为本申请实施例提供的一种多副本数据恢复方法的流程图,参见图3,该方法应用于分布式数据库中,比如,应用于如图1所示的分布式系统中,该分布式数据库包括N个节点,每个节点存储有副本数据和数据日志信息。每个节点存储的数据日志信息包括数据页面标识与N个最新LSN的对应信息,该N个最新LSN与N个节点一一对应,N为大于等于2的整数,该方法可以包括以下几个步骤。
步骤201:若第一节点的副本数据中的第一数据页面发生故障,则第一节点获取第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN。其中,第一节点的副本数据中的第一数据页面为第一节点的副本数据中发生故障的任一数据页面。第二节点为N个节点中未发生故障的节点。
其中,该分布式数据库包括的N个节点可以是上述图1所示的存储层中的N个存储节点。该N个节点中每个节点存储的副本数据可以包括一个或者多个数据页面。每个节点可以对自身存储的副本数据中的数据页面进行更新操作。当每个节点在进行更新操作时,会记录对应的数据事务日志,每条数据事务日志对应一个LSN。在同一数据页面上,先后进行多次更新操作,多次更新操作对应的数据事务日志的LSN是递增的,本申请中将对一个数据页面上最新的一次更新操作对应的数据事务日志的LSN称为最新LSN。其中,更新操作是指对副本数据进行修改,比如,添加、删除或替换等,数据页面发送变化,即对数据页面进行更新操作。
数据日志信息包括数据页面标识与N个最新LSN的对应信息。N个最新LSN与N个节点一一对应,是指N个最新LSN中的每个最新LSN分别是N个节点中对应的每个节点的最新LSN。其中,数据日志信息可以包括一个或者多个数据页面标识,且每个数据页面标识均对应N个最新LSN。
比如,若N个节点为3个节点且分别为节点1、节点2和节点3,该数据日志信息包括第一数据页面标识且第一数据页面标识为ID1,则该数据日志信息包括的第一数据页面标识与N个最新LSN之间的对应信息可以如下表1所示。表1中,节点1对应的最新LSN表示为LSN(1),节点2对应的最新LSN表示为LSN(2),节点3对应的最新LSN表示为LSN(3)。
表1
Figure BDA0001189080780000081
需要说明的是,上述表1中N个节点对应的最新LSN的排列顺序可以事先进行设置。本申请实施例以上述表1所示的第一数据页面标识与N个最新LSN之间的对应信息为例进行说明,上述表1并不对本申请实施例构成限定。
具体的,当第一节点的副本数据发生故障时,第一节点的数据日志信息不再更新。第二节点为N个节点中未发生故障的节点,第二节点的数据日志信息可以是时刻更新的。因此,当第一节点的副本数据中的第一数据页面发生故障时,第一节点可以获取第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN。
可选的,第二节点可以为N个节点中的主节点,该主节点的数据日志信息是最新的数据日志信息。比如,第二节点可以为RAFT一致性协议中的主节点。
比如,第一节点的副本数据中的第一数据页面发生故障,第一节点可以向第二节点发送信息获取请求,该信息获取请求包括第一数据页面标识ID1。当第二节点接收到该信息获取请求时,第二节点可以根据第一数据页面标识ID1,从如下表2所示的第二节点的数据日志信息中,获取ID1对应的N个最新LSN。第二节点将获取的该N个最新LSN发送给第一节点,以使第一节点获取到第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN。表2中,节点1的最新LSN为LSN-E,节点2的最新LSN为LSN-X,节点2的最新LSN为LSN-Y。
表2
Figure BDA0001189080780000091
需要说明的是,上述表2所示的第一数据页面标识与N个最新LSN之间的对应信息,以及N个最新LSN仅为示例性的,上述表2并不对本申请实施例构成限定。
步骤202:第一节点根据第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,确定第三节点。其中,第三节点为该N个最新LSN中最大的LSN对应的节点。
由于N个节点对各自存储的副本数据中的第一数据页面进行相应的更新操作时,N个节点的操作速度会存在一定的差异性,有的节点操作速度慢,有的节点操作速度快,从而操作速度快的节点对应的最新LSN较大,操作速度慢的节点对应的最新LSN较小。因此,当第一节点获取到第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN时,第一节点可以根据将获取的该N个最新LSN中最大的LSN对应的节点确定为第三节点。
比如,如上述表2所示,当第一节点获取到第二节点的数据日志信息中第一数据页面标识ID1对应的3个节点的最新LSN分别为LSN-E、LSN-X和LSN-Y时,若第一节点确定该3个最新LSN中最大的LSN为LSN-Y,则第一节点可以将节点3确定为第三节点。
需要说明的是,第三节点和第二节点可以为同一节点,也可以为不同节点。当第一节点获取的该N个最新LSN中最大的LSN对应的节点为第二节点时,第三节点和第二节点即为同一节点。当第一节点获取的该N个最新LSN中最大的LSN对应的节点不是第二节点时,第三节点和第二节点为不同的节点。
步骤203:第一节点根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复。
其中,第一节点获取的第一数据页面标识对应的N个最新LSN中,第三节点对应的最新LSN是最大的,即第三节点的副本数据为最新的副本数据,从而第一节点可以根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复。
可选的,第一节点可以向第三节点发送页面获取请求,该页面获取请求包括第一数据页面标识。当第三节点接收到该页面获取请求时,第三节点可以根据第一数据页面标识,获取第三节点的副本数据中的第一数据页面,并将获取的第一数据页面发送给第一节点,从而第一节点可以根据接收到的第一数据页面,替换第一节点的副本数据中的第一数据页面,以实现对第一数据页面的数据恢复。
在本申请实施例中,若第一节点的副本数据中的第一数据页面发生故障,第一数据页面为第一节点的副本数据中发生故障的任一数据页面,则第一节点可以根据未发生故障的第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,确定第三节点,第三节点的副本数据为最新的副本数据,第一节点根据最新的副本数据对第一节点的副本数据中的第一数据页面进行数据恢复。与现有技术中的通过日志重放对故障的副本数据进行数据恢复的方法相比,无需消耗大量的日志重放时间,从而减小了数据恢复时间,提高了数据恢复效率。此外,与现有技术相比,本申请实施例在数据恢复时无需保留相应的数据事务日志,从而减小了数据库的存储压力。
进一步的,参见图4,在步骤203之后,该方法还包括:步骤204。
步骤204:第一节点根据第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,更新第一节点的数据日志信息。
当第一节点对第一节点的副本数据中的第一数据页面进行数据恢复之后,第一节点还可以根据第二节点的数据日志信息中第一数据页面标识对应的N个节点中其他N-1节点的最新LSN,更新第一节点的数据日志信息中第一数据页面标识对应的其他N-1节点的最新LSN,并将第一节点的最新LSN更新为最大的LSN,即第三节点对应的最新LSN,以实现对第一节点的数据日志信息的更新。
比如,第一节点根据上述表2所示的第二节点的数据日志信息中第一数据页面标识与N个最新LSN之间的对应信息,更新第一节点的数据日志信息之后,第一节点的数据日志信息中的第一数据页面标识与N个最新LSN之间的对应信息如下表3所示。
表3
Figure BDA0001189080780000111
在本申请实施例中,第一节点可以根据第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,更新第一节点的数据日志信息,从而可以保证第一节点的数据日志信息的准确性和新鲜性。
进一步的,在步骤203之后,该方法还包括:步骤205。其中,步骤204与步骤205可以不分先后顺序。
步骤205:第一节点将恢复后的第一数据页面发送给N个节点中除第一节点之外的其他故障节点,以使其他故障节点中的每个故障节点根据该第一数据页面更新该故障节点的副本数据。
当N个节点中存在至少两个节点的副本数据中的第一数据页面发生故障,即N个节点中存在至少两个故障节点时,第一节点可以在根据第三节点的副本数据,对第一节点的副本数据中的第一数据页面进行数据恢复之后,将恢复后的第一数据页面发送给至少两个故障节点中的其他每个故障节点,以使每个故障节点根据该第一数据页面更新该故障节点的副本数据中的第一数据页面,从而实现多个故障节点对第一数据页面的快速恢复,进一步提高数据恢复效率。
可选的,在步骤205之后,其他故障节点也可以根据上述步骤204所述的方法,对各自的数据日志信息进行更新,以使每个故障节点在数据恢复之后,保证数据日志信息的准确性和新鲜性。
进一步的,参见图5,在步骤203之后,该方法还包括:步骤206。其中,步骤206与步骤204和步骤205可以不分先后顺序。
步骤206:第一节点获取第三节点的副本数据中的第二数据页面,并根据第二数据页面更新第一节点的副本数据。其中,第二数据页面为该第一数据页面在故障恢复过程中更新的任一数据页面。
其中,第一节点在对第一节点的副本数据中的第一数据页面进行数据恢复的过程中,N个节点中其他未发生故障的节点可以对各自副本数据中的第二数据页面进行更新操作,从而N个节点的副本数据的更新操作进度可能不一致。当其他未发生故障的节点的更新操作进度大于等于一个数据页面时,为了在第一节点完成数据恢复之后,尽快与其他未发生故障的节点保持一致,第一节点可以获取第三节点的副本数据中的第二数据页面,并根据第三节点的副本数据中的第二数据页面更新第一节点的副本数据中的第二数据页面。该第二数据页面为第一节点在对第一数据页面进行数据恢复的过程中,其他未发生故障的节点更新的任一数据页面。
可选的,当第一节点确定其他未发生故障的节点的更新操作进度大于等于一个数据页面时,若第一节点确定第一数据页面的数据恢复时间大于等于一个数据页面的传输时间,则第一节点可以确定其他未发生故障的节点的更新操作进度大于等于一个数据页面。
在本申请实施例中,第一节点在对第一节点的副本数据中的第一数据页面进行数据恢复之后,可以获取第三节点的副本数据中的第二数据页面,并根据该第二数据页面更新第一节点的副本数据,从而在故障恢复之后,进一步提高了第一节点的数据恢复效率,同时也减小了数据库的存储压力。
可选的,在步骤206之后,第一节点也可以根据上述步骤204所述的方法,对第一节点的数据日志信息进行更新,第一节点的数据日志信息保持准确性和新鲜性。
进一步的,参见图6,若数据日志信息还包括第三数据页面标识与N个最新LSN的对应信息,该方法还包括:步骤207。其中,步骤207与上述步骤201-步骤206不分先后顺序。
步骤207:当第三数据页面标识对应的N个最新LSN满足预设删除条件时,第一节点从第一节点的数据日志信息中,删除第三数据页面标识与N个最新LSN的对应信息。
其中,当数据日志信息中第三数据页面标识对应的N个最新LSN一致,且该N个最新LSN与上一次的第三数据页面标识对应的N个最新LSN之间的差值小于等于指定阈值,则可以确定第三数据页面标识对应的N个最新LSN满足预设删除条件,从而第一节点可以从第一节点的数据日志信息中,删除第三数据页面标识与N个最新LSN的对应信息。
需要说明的是,N个节点中的每个节点都可以按照上述步骤207,从各自的数据日志信息中删除第三数据页面标识与N个最新LSN的对应信息。另外。该指定阈值可以事先进行设置,比如,该指定阈值可以100MB。
在本申请实施例中,当第三数据页面标识对应的N个最新LSN满足预设删除条件时,第一节点可以从第一节点的数据日志信息中,删除第三数据页面标识与N个最新LSN的对应信息,从而可以释放一定的存储空间,减小存储压力。
进一步的,参见图7,若第一节点的副本数据未发生故障,即在第一节点的副本数据发生故障之前、或者在故障的数据恢复之后,该方法还包括:步骤200a-步骤200b。图7中以步骤200a-步骤200b位于步骤201之前为例进行说明,即在第一节点的副本数据发生故障之前。
步骤200a:当N个节点的副本数据中的第一数据页面存在更新操作时,第一节点确定第一数据页面标识对应的N个最新LSN。
其中,当N个节点的副本数据中的第一数据页面存在更新操作时,N个节点中的每个节点在各自副本数据的第一数据页面进行更新操作,即产生对应的LSN,第一节点根据第一节点的更新操作,确定第一数据标识对应的第一节点的最新LSN,同时N个节点中的其他节点可以将各自第一数据标识对应的最新LSN发送给第一节点,从而第一节点可以确定第一数据页面标识对应的N个最新LSN。
步骤200b:第一节点根据第一数据页面标识和确定的N个最新LSN,更新第一节点的数据日志信息。
若数据日志信息中包括第一数据页面标识,则第一节点可以根据第一数据页面标识,将第一节点的数据日志信息中第一数据页面标识对应的N个最新LSN,更新为当前确定的N个最新LSN,以更新第一节点的数据日志信息。或者,若数据日志信息中不包括第一数据页面标识,则第一节点将第一数据页面标识与当前确定的N个最新LSN,添加在数据日志信息包括数据页面标识与N个最新LSN之间的对应信息中,以更新第一节点的数据日志信息。
在本申请实施例中,未发生故障的第一节点可以根据确定的第一数据页面标识对应的N个最新LSN,实时地对第一节点的数据日志信息进行更新,N个节点中的其他每个节点也可以对各自的数据日志信息进行更新,从而保证了数据日志信息的准确性和新鲜性。
进一步的,若第一节点的副本数据未发生故障,该方法还包括:步骤200c-步骤200d。其中,步骤200c-步骤200d与上述步骤200a-步骤200b不分先后顺序。图7中以步骤200c-步骤200d位于步骤200a-步骤200b之后,位于步骤201之前为例进行说明。
步骤200c:第一节点检测第一节点的数据日志信息中第四数据页面标识对应的N个最新LSN中,是否存在至少一个最新LSN满足预设故障条件。
其中,预设故障条件包括:至少一个最新LSN与第四数据页面标识对应的N个最新LSN中其他的最新LSN不同,且至少一个最新LSN与其他的最新LSN之间的差值大于等于预设阈值;或者,第四数据页面标识对应的最新LSN的个数小于N。
至少一个最新LSN是指一个或者多个最新LSN,第一节点未发生故障,则至少一个最新LSN对应的节点不包括第一节点,从而第一节点可以检测第一节点的数据日志信息中第四数据页面标识对应的N个最新LSN中,是否存在至少一个最新LSN满足预设故障条件,从而检测N个节点中的至少一个节点是否发生故障。第四数据页面标识是指数据副本中的任一数据页面。
比如,N个节点分别为节点1、节点2和节点3,第四数据页面标识为ID4,第一节点的数据日志信息中第四数据页面标识与N个最新LSN之间的对应信息如下表4所示。其中,表4中ID4对应的最新LSN的个数为2,小于N个节点的个数3,则第一节点确定存在第二节点的最新LSN满足预设故障条件。
表4
Figure BDA0001189080780000151
需要说明的是,上述表4所示的第四数据页面标识与N个最新LSN之间的对应信息,以及N个最新LSN仅为示例性的,上述表4并不对本申请实施例构成限定。
步骤200d:若确定满足预设故障条件,则第一节点确定所述至少一个最新LSN对应的节点为故障节点,且故障节点的副本数据中的第四数据页面发生故障。
当第一节点确定第四数据页面标识对应的N个最新LSN中存在至少一个最新LSN满足预设故障条件时第一节点可以将至少一个最新LSN对应的节点确定为故障节点,并确定故障节点的副本数据中的第四数据页面标识发生故障。
可选的,第一节点还可以将第四数据页面标识与N个最新LSN之间的对应信息存储在分布式数据库中的待恢复区,从而分布式数据库的管理设备可以在待恢复区检测到所有的故障节点和对应的发生故障的数据页面。之后,管理设备可以使故障节点对其副本数据中发生故障的数据页面,进行数据恢复。比如,该管理设备可以为上述图1中的集群管理器。
此外,若第一节点的副本数据未发生故障,第一节点还可以根据第一节点的数据日志信息,对N个节点中未发生故障的节点对于其副本数据的更新操作进度进行监控。可选的,第一节点根据第一节点的数据日志信息中包括的数据页面标识与N个最新LSN之间的对应信息,确定每个数据页面标识对应的未发生故障的节点的最新LSN,并根据最新LSN的大小,确定其更新操作的进度,进而根据不对节点对应的更新操作的进度,对潜在的故障节点进行预测。
在本申请实施例中,第一节点可以根据第一节点的数据日志信息确定故障节点,以及故障节点的副本数据中发生故障的数据页面,从而可以提高确定故障节点和确定发生故障的数据页面的效率,同时还可以监控未发生故障的节点的更新操作的进度,进而对潜在的故障节点进行预测。
上述主要从第一节点的角度对本申请实施例提供的方案进行了介绍。可以理解的是,第一节点为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的网元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对第一节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的第一节点的一种可能的结构示意图,第一节点300包括:获取单元301、确定单元302和恢复单元303。其中,获取单元301用于执行图3-图7中的步骤201,以及图5和图6的步骤206中获取第三节的副本数据中的第二数据页面的过程;确定单元302用于执行图3-图7中的步骤202,以及图7中的步骤200a和步骤200d;恢复单元303用于执行图3-图7中的步骤203,图4和图5中的步骤204,图5和图6的步骤206中更新第一节点的副本数据的过程,以及图7中的步骤200b。进一步的,第一节点300还包括发送单元304,用于执行图4-图6中的步骤205。第一节点300还包括删除单元305,用于执行图6中的步骤207。第一节点300还包括检测单元306,用于执行图7中的步骤200c。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的第一节点310的一种可能的逻辑结构示意图。第一节点310包括:处理模块312和通信模块313。处理模块312用于对第一节点310的动作进行控制管理,例如,处理模块312用于执行图3-图7中的步骤202,图6中的步骤207,以及图7中的步骤200b-步骤200d,和/或用于本文所描述的技术的其他过程。通信模块313用于与第二节点或第三节点之间的通信。第一节点310还可以包括存储模块311,用于存储第一节点310的程序代码和数据。
其中,处理模块312可以是处理器或控制器,例如可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信模块313可以是收发器、收发电路或通信接口等。存储模块311可以是存储器。
当处理模块312为处理器,通信模块313为通信接口,存储模块311为存储器时,本申请实施例所涉及的第一节点可以为图10所示的第一节点。
参阅图10所示,为第一节点的一种硬件结构举例,该第一节点320包括:处理器322、通信接口323、存储器321以及总线324。其中,通信接口323、处理器322以及存储器321通过总线324相互连接;总线324可以是外设部件互连标准(英文:peripheral componentinterconnect,简称:PCI)总线或扩展工业标准结构(英文:extended industry standardarchitecture,简称:EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述图3-图7任一图示所示的多副本数据恢复方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述图3-图7任一图示所示的多副本数据恢复方法。
在本申请的另一实施例中,还提供一种分布式数据库,该分布式数据库包括第一节点。第一节点为图8-图10任一图示所示的第一节点。其中,第一节点用于执行上述图3-图7任一图示所示的多副本数据恢复方法。
在本申请实施例提供的分布式数据库中,若第一节点的副本数据中的第一数据页面发生故障,则第一节点可以根据未发生故障的第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN,确定第三节点,第三节点的副本数据为最新的副本数据,第一节点根据最新的副本数据对第一节点的副本数据中的第一数据页面进行数据恢复,从而减小了数据恢复时间,提高了数据恢复效率,同时也可以减小了数据库的存储压力。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (16)

1.一种多副本数据恢复方法,其特征在于,应用于分布式数据库中,所述分布式数据库包括N个节点,每个节点存储有副本数据和数据日志信息;每个节点存储的数据日志信息包括数据页面标识与N个最新日志序列号LSN的对应信息,所述N个最新LSN与所述N个节点一一对应,所述N为大于等于2的整数;所述方法包括:
若第一节点的副本数据中的第一数据页面发生故障,则所述第一节点获取第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN;其中,所述第一数据页面为所述第一节点的副本数据中发生故障的任一数据页面;所述第二节点为所述N个节点中未发生故障的节点;
所述第一节点根据所述第二节点的数据日志信息中所述第一数据页面标识对应的N个最新LSN,确定第三节点;其中,所述第三节点为所述N个最新LSN中最大的LSN对应的节点;
所述第一节点根据所述第三节点的副本数据,对所述第一节点的副本数据中的所述第一数据页面进行数据恢复。
2.根据权利要求1所述的方法,其特征在于,所述第一节点根据所述第三节点的副本数据,对所述第一节点的副本数据中的所述第一数据页面进行数据恢复之后,所述方法还包括:
所述第一节点根据所述第二节点的数据日志信息中所述第一数据页面标识对应的N个最新LSN,更新所述第一节点的数据日志信息。
3.根据权利要求1所述的方法,其特征在于,所述第一节点根据所述第三节点的副本数据,对所述第一节点的副本数据中的所述第一数据页面进行数据恢复之后,所述方法还包括:
所述第一节点将恢复后的所述第一数据页面发送给所述N个节点中除所述第一节点之外的其他故障节点,以使所述其他故障节点中的每个故障节点根据所述第一数据页面更新所述故障节点的副本数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一节点根据所述第三节点的副本数据,对所述第一节点的副本数据中的所述第一数据页面进行数据恢复之后,所述方法还包括:
所述第一节点获取所述第三节点的副本数据中的第二数据页面,并根据所述第二数据页面更新所述第一节点的副本数据;其中,所述第二数据页面为所述第一数据页面在故障恢复过程中更新的任一数据页面。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述数据日志信息还包括第三数据页面标识与N个最新LSN的对应信息,所述方法还包括:
当所述第三数据页面标识对应的N个最新LSN满足预设删除条件时,所述第一节点从所述第一节点的数据日志信息中,删除所述第三数据页面标识与N个最新LSN的对应信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一节点的副本数据未发生故障,则当所述N个节点的副本数据中的所述第一数据页面存在更新操作时,所述第一节点确定所述第一数据页面标识对应的N个最新LSN;
所述第一节点根据所述第一数据页面标识和所述N个最新LSN,更新所述第一节点的数据日志信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一节点的副本数据未发生故障,则所述第一节点检测所述第一节点的数据日志信息中第四数据页面标识对应的N个最新LSN中,是否存在至少一个最新LSN满足预设故障条件;
若确定满足所述预设故障条件,则所述第一节点确定所述至少一个最新LSN对应的节点为故障节点,且所述故障节点的副本数据中的第四数据页面发生故障。
8.根据权利要求7所述的方法,其特征在于,所述预设故障条件包括:所述至少一个最新LSN与所述第四数据页面标识对应的N个最新LSN中其他的最新LSN不同,且所述至少一个最新LSN与所述其他的最新LSN之间的差值大于等于预设阈值;或者,所述第四数据页面标识对应的最新LSN的个数小于所述N。
9.一种第一节点,其特征在于,应用于分布式数据库中,所述分布式数据库包括N个节点,每个节点存储有副本数据和数据日志信息;每个节点存储的数据日志信息包括数据页面标识与N个最新日志序列号LSN的对应信息,所述N个最新LSN与所述N个节点一一对应,所述N为大于等于2的整数;所述第一节点包括:
获取单元,若所述第一节点的副本数据中的第一数据页面发生故障,则获取第二节点的数据日志信息中第一数据页面标识对应的N个最新LSN;其中,所述第一数据页面为所述第一节点的副本数据中发生故障的任一数据页面;所述第二节点为所述N个节点中未发生故障的节点;
确定单元,用于根据所述第二节点的数据日志信息中所述第一数据页面标识对应的N个最新LSN,确定第三节点;其中,所述第三节点为所述N个最新LSN中最大的LSN对应的节点;
恢复单元,用于根据所述第三节点的副本数据,对所述第一节点的副本数据中的所述第一数据页面进行数据恢复。
10.根据权利要求9所述的第一节点,其特征在于,所述恢复单元,还用于:
根据所述第二节点的数据日志信息中所述第一数据页面标识对应的N个最新LSN,更新所述第一节点的数据日志信息。
11.根据权利要求9所述的第一节点,其特征在于,所述第一节点还包括:
发送单元,用于将恢复后的所述第一数据页面发送给所述N个节点中除所述第一节点之外的其他故障节点,以使所述其他故障节点中的每个故障节点根据所述第一数据页面更新所述故障节点的副本数据。
12.根据权利要求9-11任一项所述的第一节点,其特征在于,
所述获取单元,还用于获取所述第三节点的副本数据中的第二数据页面;
所述恢复单元,还用于根据所述第二数据页面更新所述第一节点的副本数据;其中,所述第二数据页面为所述第一数据页面在故障恢复过程中更新的任一数据页面。
13.根据权利要求9-11任一项所述的第一节点,其特征在于,所述数据日志信息还包括第三数据页面标识与N个最新LSN的对应信息,所述第一节点还包括:
删除单元,用于当所述第三数据页面标识对应的N个最新LSN满足预设删除条件时,从所述第一节点的数据日志信息中,删除所述第三数据页面标识与N个最新LSN的对应信息。
14.根据权利要求9所述的第一节点,其特征在于,
所述确定单元,还用于若所述第一节点的副本数据未发生故障,则当所述N个节点的副本数据中的所述第一数据页面存在更新操作时,确定所述第一数据页面标识对应的N个最新LSN;
所述恢复单元,还用于根据所述第一数据页面标识和所述N个最新LSN,更新所述第一节点的数据日志信息。
15.根据权利要求9所述的第一节点,其特征在于,
所述第一节点还包括:检测单元,用于若所述第一节点的副本数据未发生故障,检测所述第一节点的数据日志信息中第四数据页面标识对应的N个最新LSN中,是否存在至少一个最新LSN满足预设故障条件;
所述确定单元,还用于若确定满足所述预设故障条件,则确定所述至少一个最新LSN对应的节点为故障节点,且所述故障节点的副本数据中的第四数据页面发生故障。
16.根据权利要求15所述的第一节点,其特征在于,所述预设故障条件包括:所述至少一个最新LSN与所述第四数据页面标识对应的N个最新LSN中其他的最新LSN不同,且所述至少一个最新LSN与所述其他的最新LSN之间的差值大于等于预设阈值;或者,所述第四数据页面标识对应的最新LSN的个数小于所述N。
CN201611201042.7A 2016-12-22 2016-12-22 一种多副本数据恢复方法及装置 Active CN108228678B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201611201042.7A CN108228678B (zh) 2016-12-22 2016-12-22 一种多副本数据恢复方法及装置
PCT/CN2017/113212 WO2018113484A1 (zh) 2016-12-22 2017-11-27 一种多副本数据恢复方法及装置
US16/448,581 US11132265B2 (en) 2016-12-22 2019-06-21 Multi-replica data restoration method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611201042.7A CN108228678B (zh) 2016-12-22 2016-12-22 一种多副本数据恢复方法及装置

Publications (2)

Publication Number Publication Date
CN108228678A CN108228678A (zh) 2018-06-29
CN108228678B true CN108228678B (zh) 2020-10-16

Family

ID=62624660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611201042.7A Active CN108228678B (zh) 2016-12-22 2016-12-22 一种多副本数据恢复方法及装置

Country Status (3)

Country Link
US (1) US11132265B2 (zh)
CN (1) CN108228678B (zh)
WO (1) WO2018113484A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309799A (zh) * 2018-12-11 2020-06-19 中兴通讯股份有限公司 数据合并的实现方法、装置、系统及存储介质
US11403179B1 (en) * 2018-12-13 2022-08-02 Amazon Technologies, Inc. Transactionally consistent point-in-time restore
CN111858171B (zh) * 2020-07-10 2024-03-12 上海达梦数据库有限公司 一种数据备份方法、装置、设备及存储介质
CN113535477B (zh) * 2021-07-15 2023-03-21 上海上讯信息技术股份有限公司 一种用于数据容灾恢复的方法与设备
CN113656383A (zh) * 2021-08-31 2021-11-16 上海中通吉网络技术有限公司 提高数据库可用性的系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1454349A (zh) * 2000-06-07 2003-11-05 处理存储器有限公司 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统
CN101243446A (zh) * 2005-08-15 2008-08-13 微软公司 从数据库镜像进行在线页还原
CN102156720A (zh) * 2011-03-28 2011-08-17 中国人民解放军国防科学技术大学 一种数据恢复的方法、装置和系统
CN105190622A (zh) * 2013-03-15 2015-12-23 亚马逊科技公司 用于分布式数据库系统的快速崩溃恢复
CN105183581A (zh) * 2015-07-23 2015-12-23 深圳市沃信科技有限公司 一种数据库容灾系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268659B2 (en) * 2006-01-05 2016-02-23 Emc Corporation Detecting failover in a database mirroring environment
US7921267B1 (en) * 2006-12-20 2011-04-05 Network Appliance, Inc. Method and system for fixing a mirror of a dataset
US8244671B2 (en) * 2007-10-11 2012-08-14 Microsoft Corporation Replica placement and repair strategies in multinode storage systems
US20090157766A1 (en) * 2007-12-18 2009-06-18 Jinmei Shen Method, System, and Computer Program Product for Ensuring Data Consistency of Asynchronously Replicated Data Following a Master Transaction Server Failover Event
US9098676B2 (en) * 2008-04-16 2015-08-04 Safenet, Inc. System and methods for detecting rollback
JP4612715B2 (ja) * 2008-09-05 2011-01-12 株式会社日立製作所 情報処理システム、データ更新方法およびデータ更新プログラム
CN101369283A (zh) * 2008-09-25 2009-02-18 中兴通讯股份有限公司 一种内存数据库与物理数据库间的数据同步方法及系统
US8868487B2 (en) * 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
CN102693324B (zh) * 2012-01-09 2015-03-18 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
US8768891B2 (en) * 2012-04-27 2014-07-01 Sap Ag Ensuring database log recovery consistency
US10346369B2 (en) * 2012-10-11 2019-07-09 Delphix Corp. Retrieving point-in-time copies of a source database for creating virtual databases
CN103795754B (zh) 2012-10-31 2017-08-25 中国电信股份有限公司 多系统间的数据同步方法和系统
US9449040B2 (en) * 2012-11-26 2016-09-20 Amazon Technologies, Inc. Block restore ordering in a streaming restore system
CN103150267B (zh) 2013-02-21 2017-02-08 郑州云海信息技术有限公司 一种多控制器间的缓存同步方法
US10747746B2 (en) * 2013-04-30 2020-08-18 Amazon Technologies, Inc. Efficient read replicas
US9438672B2 (en) * 2014-02-14 2016-09-06 Prakash Khemani Method for client specific database change propagation
CN104281506B (zh) * 2014-07-10 2017-02-15 中国科学院计算技术研究所 一种文件系统的数据维护方法及系统
US10140189B2 (en) * 2015-04-28 2018-11-27 International Business Machines Corporation Database recovery and index rebuilds
CN105550306A (zh) 2015-12-14 2016-05-04 北京奇虎科技有限公司 多副本数据的读写方法及系统
CN105608143A (zh) 2015-12-17 2016-05-25 北京奇虎科技有限公司 多副本数据一致性的检测方法及装置
US10762107B2 (en) * 2016-11-29 2020-09-01 Sap Se Synchronization mechanism for serialized data log replay in database systems
US10642506B2 (en) * 2017-09-08 2020-05-05 Dell Products L. P. High availability transactional replication
US11599557B2 (en) * 2018-06-12 2023-03-07 Open Text Corporation System and method for persistence and replication of changes to a data store
US11106541B2 (en) * 2019-03-15 2021-08-31 Huawei Technologies Co., Ltd System and method for replicating data in distributed database systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1454349A (zh) * 2000-06-07 2003-11-05 处理存储器有限公司 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统
CN101243446A (zh) * 2005-08-15 2008-08-13 微软公司 从数据库镜像进行在线页还原
CN102156720A (zh) * 2011-03-28 2011-08-17 中国人民解放军国防科学技术大学 一种数据恢复的方法、装置和系统
CN105190622A (zh) * 2013-03-15 2015-12-23 亚马逊科技公司 用于分布式数据库系统的快速崩溃恢复
CN105183581A (zh) * 2015-07-23 2015-12-23 深圳市沃信科技有限公司 一种数据库容灾系统

Also Published As

Publication number Publication date
US11132265B2 (en) 2021-09-28
WO2018113484A1 (zh) 2018-06-28
US20190310922A1 (en) 2019-10-10
CN108228678A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
US11461202B2 (en) Remote data replication method and system
CN108228678B (zh) 一种多副本数据恢复方法及装置
US20210004355A1 (en) Distributed storage system, distributed storage system control method, and storage medium
CN108509153B (zh) Osd选择方法、数据写入和读取方法、监控器和服务器集群
US10467246B2 (en) Content-based replication of data in scale out system
US9471590B2 (en) Method and apparatus for replicating virtual machine images using deduplication metadata
US7054960B1 (en) System and method for identifying block-level write operations to be transferred to a secondary site during replication
CN104077380B (zh) 一种重复数据删除方法、装置及系统
US7681001B2 (en) Storage system
US9483504B2 (en) System and method for application aware de-duplication of data blocks in a virtualized storage array
US9069682B1 (en) Accelerating file system recovery by storing file system metadata on fast persistent storage during file system recovery
JP2004334574A (ja) ストレージの運用管理プログラム、運用管理方法及び管理計算機
US9483367B1 (en) Data recovery in distributed storage environments
US8862844B2 (en) Backup apparatus, backup method and computer-readable recording medium in or on which backup program is recorded
US10628298B1 (en) Resumable garbage collection
CN109582213B (zh) 数据重构方法及装置、数据存储系统
CN106155943B (zh) 一种双控存储设备的掉电保护的方法及装置
CN107133132B (zh) 数据发送方法、数据接收方法和存储设备
CN110737924B (zh) 一种数据保护的方法和设备
US9436554B2 (en) Information processing apparatus and data repairing method
CN110058965A (zh) 存储系统中的数据重建方法及设备
CN113885809B (zh) 数据管理系统及方法
CN105550230B (zh) 分布式存储系统节点故障的侦测方法和装置
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
CN108573049B (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
GR01 Patent grant
GR01 Patent grant