CN111656326B - 用于执行用于无修复恢复的数据库备份的系统和方法 - Google Patents

用于执行用于无修复恢复的数据库备份的系统和方法 Download PDF

Info

Publication number
CN111656326B
CN111656326B CN201980010602.6A CN201980010602A CN111656326B CN 111656326 B CN111656326 B CN 111656326B CN 201980010602 A CN201980010602 A CN 201980010602A CN 111656326 B CN111656326 B CN 111656326B
Authority
CN
China
Prior art keywords
database
data
cluster
data records
updated
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
CN201980010602.6A
Other languages
English (en)
Other versions
CN111656326A (zh
Inventor
C·达拉尔
V·巴拉德瓦杰
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.)
Veritas Technologies LLC
Original Assignee
Veritas Technologies LLC
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 Veritas Technologies LLC filed Critical Veritas Technologies LLC
Publication of CN111656326A publication Critical patent/CN111656326A/zh
Application granted granted Critical
Publication of CN111656326B publication Critical patent/CN111656326B/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/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/1448Management of the data involved in backup or backup restore
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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

本发明公开了一种用于执行用于无修复恢复的数据库备份的计算机实现的方法,该方法可包括(1)从生产集群中的一组数据存储节点中的每个接收表示数据库的副本的副本数据记录,(2)并行处理副本数据记录,而不在数据存储节点之间进行节点间通信,(3)将更新合并到副本数据记录,(4)在已更新复本数据记录中识别陈旧或冗余数据记录,(5)从已更新复本数据记录中丢弃陈旧或冗余数据记录,以创建已更新数据记录的单个副本,以及(6)通过将已更新数据记录复制到数据存储节点来将已更新数据记录的副本恢复到生产集群,使得已更新数据记录中的每个是一致的,从而避免后续修复。本发明还公开了各种其他方法、系统和计算机可读介质。

Description

用于执行用于无修复恢复的数据库备份的系统和方法
背景技术
现代企业通常需要大型数据库配置来存储用于提供多种客户服务和产品(诸如电子商务、计算机硬件和软件、在线搜索引擎和流媒体)的大量数据。例如,软件服务公司可能部署具有数千个节点的数据库以用于存储太字节(或甚至拍字节)的客户、产品和/或服务数据的平板电脑。为了确保数据可靠性,企业可能部署具有高度容错和高读取性能的非关系数据库,诸如非结构化查询语言(NoSQL)数据库。
传统上,NoSQL数据库系统将数据库中的每条数据记录在集群的各个节点上复制多次,以保证可靠性。然而,在提供该功能时,这些系统可生成大量冗余或过时的数据记录。因此,当执行数据库的备份时,来自不同节点的数据记录(包括冗余或过时的数据记录)被单独地备份,从而在执行数据恢复操作时产生不一致。为了解决这些不一致,传统系统利用修复操作,该修复操作通过读取数据记录并在节点之间交换数据普及水平(以更新任何冗余或过时的数据记录)来协调整个系统集群的数据。对于具有大量数据的大型集群,该修复操作是一个昂贵的过程,该过程可能需要数天才能完成,完成前系统集群不可进行常规输入/输出操作。因此,本公开识别并解决了对用于执行用于无修复恢复的数据库备份的系统和方法的需求。
发明内容
如下文将更详细描述的,本公开描述了用于执行数据库备份以进行无修复恢复的各种系统和方法。
在一个示例中,用于执行用于无修复恢复的数据库备份的计算机实现的方法包括(1)在由备份集群中的协调节点进行的数据库备份操作期间从生产集群中的多个数据存储节点中的每个接收表示数据库的副本的副本数据记录,使得单个密钥的所有副本由单个节点接收,(2)并行处理所述副本数据记录,而不在所述数据存储节点之间进行节点间通信,(3)将更新合并到所述副本数据记录,(4)在所述已更新复本数据记录中识别陈旧或冗余数据记录,(5)从所述已更新复本数据记录中丢弃所述陈旧或冗余数据记录,以创建已更新数据记录的单个副本,以及(6)通过将所述已更新数据记录复制到所述数据存储节点中的每个来将所述已更新数据记录的副本恢复到所述生产集群,使得所述已更新数据记录中的每个是一致的,从而避免后续修复。
在一些示例中,可通过在所述备份集群中的一组所述协调节点中的每个内本地处理所述副本数据记录来并行处理所述副本数据记录而无需节点间通信。在一些示例中,将更新合并到所述副本数据记录可包括将更新合并到在多个时间段内制作的副本数据记录中的一个或多个数据列。
在一些示例中,所述已更新数据记录可以包括所述数据库的重新创建。在一些示例中,所述副本数据记录可以在所述数据存储节点中的每个上共享数据库密钥。在一些示例中,所述生产集群可以包括非关系数据库集群。在一些示例中,所述备份集群可包括所述非关系数据库集群的实例。
在一个实施方案中,用于实施上述方法的系统可包括(1)接收模块,所述接收模块存储在存储器中,所述接收模块在由备份集群中的协调节点进行的数据库备份操作期间从生产集群中的多个数据存储节点中的每个接收表示数据库的副本的副本数据记录,使得单个密钥的所有副本均由单个节点接收,(2)处理模块,所述处理模块存储在存储器中,所述处理模块并行处理所述副本数据记录,而不在所述数据存储节点之间进行节点间通信,(3)合并模块,所述合并模块存储在存储器中,所述合并模块将更新合并到所述副本数据记录,(4)识别模块,所述识别模块存储在存储器中,所述识别模块识别所述已更新副本数据记录中的陈旧或冗余数据记录,(5)丢弃模块,所述丢弃模块存储在存储器中,所述丢弃模块从所述已更新副本数据记录中丢弃所述陈旧或冗余数据记录,以创建已更新数据记录的单个副本,(6)恢复模块,所述恢复模块存储在存储器中,所述恢复模块通过将所述已更新数据记录复制到所述数据存储节点中的每个来将所述已更新数据记录的所述副本恢复到所述生产集群,其中所述已更新数据记录中的每个是一致的,从而避免了后续修复,以及(7)至少一个物理处理器,所述至少一个物理处理器被配置为执行所述接收模块、所述处理模块、所述合并模块、所述识别模块、所述丢弃模块和所述恢复模块。
在一些示例中,上述方法可被编码为非暂态计算机可读介质上的计算机可读指令。例如,计算机可读介质可包括一个或多个计算机可执行指令,所述指令在由计算设备的至少一个处理器执行时可使得计算设备(1)在由备份集群中的协调节点进行的数据库备份操作期间从生产集群中的多个数据存储节点中的每个接收表示数据库的副本的副本数据记录,使得单个密钥的所有副本由单个节点接收,(2)并行处理所述副本数据记录,而不在所述数据存储节点之间进行节点间通信,(3)将更新合并到所述副本数据记录,(4)在所述已更新复本数据记录中识别陈旧或冗余数据记录,(5)通过所述协调节点从所述已更新复本数据记录中丢弃所述陈旧或冗余数据记录,以创建已更新数据记录的单个副本,以及(6)通过将所述已更新数据记录复制到所述数据存储节点中的每个来将所述已更新数据记录的所述副本恢复到所述生产集群,使得所述已更新数据记录中的每个是一致的,从而避免后续修复。
来自任意上述实施方案的特征可根据本文所述的一般原理彼此结合使用。在结合附图和权利要求阅读以下详细描述后,将更全面地理解这些以及其他实施方案、特征和优点。
附图说明
附图示出多个示例性实施方案,并且是说明书的一部分。这些附图与以下描述一起展示并说明本公开的各种原理。
图1是用于执行用于无修复恢复的数据库备份的示例系统的框图。
图2是用于执行用于无修复恢复的数据库备份的附加示例系统的框图。
图3是用于执行用于无修复恢复的数据库备份的示例方法的流程图。
图4是用于执行用于无修复恢复的数据库备份的示例性系统的数据流程图。
图5是在用于执行用于无修复恢复的数据库备份的示例性系统中使用的副本数据记录的框图。
在整个附图中,相同的参考字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施方案易存在各种修改形式和另选形式,但是附图中以举例的方式示出了具体实施方案,这些实施方案将在本文中详细描述。然而,本文所述的示例性实施方案并非旨在限于所公开的特定形式。相反,本公开涵盖落在所附权利要求范围内的所有修改形式、等同形式和替代形式。
具体实施方式
本公开整体涉及用于执行用于无修复恢复的数据库备份的系统和方法。如将在下文更详细地解释,通过执行协调,其中对数据库记录的处理在备份集群上并行执行并且合并更新以消除陈旧或冗余数据库记录,本文所述的各种系统和方法能够生成数据库的单个一致副本,用于恢复回到生产集群以在NoSQL或非关系数据库系统中复制,而无需所述数据库系统经历耗时的修复过程以协调所述数据库记录以确保一致性,从而可能从备份中更快地恢复操作。
此外,本文所述的系统和方法可通过减小数据库的大小来改善计算设备的功能和/或性能,从而减少计算设备在执行数据库备份和恢复操作中利用的处理资源和存储器资源。这些系统和方法还可通过从NoSQL数据库备份提供更快的恢复操作来改进集群计算和/或备份系统的字段。
参考图1-2,下文将提供用于执行用于无修复恢复的数据库备份的示例系统的详细描述。还将结合图3提供对应的计算机实现的方法的详细描述。此外,还将结合图4提供用于执行数据库的无修复备份的示例性数据流程图的详细描述。此外,还将结合图5提供在用于执行数据库的无修复备份的示例性系统中使用的副本数据记录的详细描述。
图1是用于执行数据库的无修复备份的示例系统100的框图。如该图所示,示例性系统100可以包括用于执行一个或多个任务的一个或多个模块102。例如,并且如将在下文更详细地解释,示例性系统100可包括接收模块104,该接收模块在由备份集群120中的协调节点122进行的数据库备份操作期间接收表示数据库124的副本的副本数据记录126。示例性系统100可附加包括处理模块106,该处理模块并行处理副本数据记录126,而不在生产集群托管数据库124中的数据存储节点之间节点间通信。示例性系统100还可以包括合并模块108,该合并模块将更新合并到副本数据记录126。示例性系统100可附加包括识别模块110,该识别模块识别已更新副本数据记录128中的陈旧或冗余数据记录。示例性系统100还可以包括丢弃模块112,该丢弃模块从已更新副本数据记录128丢弃陈旧或冗余数据记录127,以创建已更新数据记录132的单个副本。示例性系统100可附加包括恢复模块114,该恢复模块将已更新数据记录132恢复到生产集群。虽然示出为单独元件,但图1的模块102中的一个或多个可表示单个模块或应用程序的若干部分。
如本文所用,术语“集群”通常是指可包括NoSQL数据库的非关系数据库管理系统(例如,NoSQL数据库管理系统)。NoSQL数据库管理系统的示例是来自Apache软件基金会(APACHE SOFTWARE FOUNDATION)的CASSANDRA数据库管理系统。非关系(或NoSQL)数据库管理系统中的数据是“无模式的”,并且作为键值对存储在多个节点上。集群中的每个节点具有相同的角色,使得不存在单个故障点。数据可分布在整个集群上(使得每个节点包含不同的数据),但不存在主设备,因为每个节点可服务于任何请求。在一些示例中,集群可包括生产集群,该生产集群包括用于存储数据库的数据记录和副本数据记录的多个节点。在一些示例中,集群可以包括备份集群,该备份集群是生产集群的实例并且用于备份来自生产集群的数据记录。
如本文所用,术语“协调节点”通常是指数据存储设备,其位于备份集群中、用于备份来自生产集群的数据库数据记录、将任何更新结合到数据库数据记录、以及将已更新数据库数据记录恢复到生产集群。在一些示例中,一个或多个协调节点可用于备份和恢复NoSQL数据库管理系统的数据记录。在一些示例中,协调节点可以是直接附接的存储设备。
如本文所用,术语“数据存储节点”通常是指数据存储设备,其位于用于存储数据库的数据记录和副本数据记录的生产集群中。在一些示例中,多个数据存储节点中的每个可用于将数据记录和多个副本数据记录存储在NoSQL数据库管理系统中。在一些示例中,数据存储节点可以是直接附接的存储设备。
如本文所用,术语“副本数据记录”通常是指集群中数据库的数据记录的副本。在一些示例中,副本数据记录可包括具有表示NoSQL数据库管理系统中的数据库数据的列的密钥空间(例如,数据库表)。
在某些实施方案中,图1中的模块102中的一个或多个可表示一个或多个软件应用程序或程序,其在由计算设备执行时可使计算设备执行一个或多个任务。例如,并且如下文将更详细地描述的,模块102中的一个或多个可以表示被存储并且被配置为在一个或多个计算设备上运行的模块,这些计算设备诸如为图2中所示的设备(例如,计算设备202)。图1中的模块102中的一个或多个还可表示被配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。
如图1所示,示例性系统100还可以包括一个或多个存储器设备,诸如存储器140。存储器140通常表示能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器140可以存储、加载和/或维护模块102中的一个或多个。存储器140的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、高速缓存、上述一者或多者的变体或组合、或任何其他合适的存储器。
如图1所示,示例性系统100还可以包括一个或多个物理处理器,诸如物理处理器134。物理处理器134通常表示能够解释和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器134可以访问和/或修改存储在存储器140中的模块102中的一个或多个模块。附加地或替代地,物理处理器134可以执行模块102中一个或多个模块,以便于执行用于无修复恢复的数据库备份。物理处理器134的示例包括但不限于微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、上述一者或多者的部分、上述一者或多者的变体或组合、或任何其他合适的物理处理器。
图1中的示例性系统100能够以各种方式实现。例如,示例性系统100的全部或一部分可以表示图2中的示例性系统200的部分。如图2所示,系统200可以包括通过网络204与生产集群206通信的备份集群202。在一个示例中,模块102的全部或部分功能可以由备份集群202和/或任何其他合适的计算系统来执行。如下文将更详细描述的,当由备份集群202的至少一个处理器执行时,图1中的模块102的一个或多个模块可以使备份集群202能够执行数据库的无修复备份。
备份集群202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。例如,备份集群202可包括多个服务器计算机,其彼此配合工作和/或操作,表示了NoSQL数据库管理系统的一个实例。备份集群202的附加示例包括但不限于存储服务器、数据库服务器、应用程序服务器和/或web服务器,其被配置为运行某些软件应用程序和/或提供各种存储、数据库和/或web服务。
生产集群206通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。例如,生产集群206可包括多个服务器计算机,其彼此配合作和/或操作,表示了一个NoSQL数据库管理系统。生产集群206的附加示例包括但不限于存储服务器、数据库服务器、应用程序服务器和/或web服务器,其被配置为运行某些软件应用程序和/或提供各种存储、数据库和/或web服务。
网络204通常表示能够促进通信或数据传送的任何介质或架构。在一个示例中,网络204可以促进备份集群202和生产集群206之间的通信。在该示例中,网络204可使用无线和/或有线连接促进通信或数据传送。网络204的示例包括但不限于:内联网、广域网(WAN)、局域网(LAN)、个人区域网(PAN)、互联网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络)、上述一者或多者的部分、上述一者或多者的变体或组合、或任何其他合适的网络。
备份集群202还可包括一个或多个协调节点,诸如协调节点122A和122N。协调节点122A和122N中的每个还可以分别包括副本数据记录226A和226N、已更新副本数据记录228A和228N、已丢弃副本数据记录230A和230N以及已更新数据记录232A和232N。生产集群206还可包括一个或多个数据存储节点,诸如数据存储节点222A和222N。数据存储节点222A和222N中的每一者还可包括数据库224的副本。存储在数据存储节点222A和222N上的数据库224的副本中的每个副本可分别包括副本数据记录226A和226N。
许多其他设备或子系统可以连接到图1中的系统100和/或图2中的系统200。相反,图1和图2中所示的所有部件和设备不必都存在来实践本文描述和/或示出的实施方案。上文提及的设备和子系统也可以按照与图2所示不同的方式互连。系统100和200也可以采用任何数量的软件配置、固件配置和/或硬件配置。例如,本文所公开的示例性实施方案中的一个或多个可以被编码为计算机可读介质上的计算机程序(也被称为计算机软件、软件应用程序、计算机可读指令和/或计算机控制逻辑)。
如本文所用,术语“计算机可读介质”通常是指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质,诸如载波,和非暂态型介质,诸如磁存储介质(例如,硬盘驱动器、磁带驱动器和软盘)、光存储介质(例如,光盘(CD)、数字视频盘(DVD)、BLU-RAY磁盘)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。
图3是用于执行用于无修复恢复的数据库备份的示例计算机实现的方法300的流程图。图3中所示的步骤可由任何合适的计算机可执行代码和/或计算系统执行,包括图1中的系统100、图2中的系统200和/或上述一者或多者的变体或组合。在一个示例中,图3中示出的每个步骤可以表示其结构包括和/或由多个子步骤表示的算法,其示例将在下文更详细地提供。
如图3所示,在步骤302处,本文所述的系统中的一者或多者可在由备份集群中的协调节点进行的数据库备份操作期间从生产集群中的多个数据存储节点中的每个接收表示数据库的副本的副本数据记录,使得单个密钥的所有副本均由单个节点接收。例如,接收模块104可作为图2中的备份集群222的一部分从协调节点122A上的数据存储节点222A(在生产节点206中)接收副本数据记录226A,并且从协调节点122N上的数据存储节点222N(在生产节点206中)接收副本数据记录226N。在一些示例中,副本数据记录226A和226N中的每个可以在数据存储节点222A和222N中的每个上共享数据库密钥。
接收模块104可以多种方式接收副本数据记录226A和226N。在一个示例中,接收模块104可在备份操作期间从生产集群206上的数据存储节点222A和222N接收副本数据记录226A和226N以备份数据库224。
在图3的步骤304处,本文所述系统中的一者或多者可在备份集群上并行处理副本数据记录,而无需生产集群上的数据存储节点之间的节点间通信。例如,处理模块106可作为备份集群202的一部分处理副本数据记录226A和226N,而不与生产集群206上的数据存储节点122A和122N通信。处理模块106可以多种方式处理副本数据记录226A和226N。在一个示例中,处理模块106可以在备份集群202中的协调节点122A和122N内本地处理副本数据记录226A和226N。
在图3的步骤306处,本文所述的系统中的一者或多者可在备份集群上将更新合并到副本数据记录。例如,合并模块108可作为备份集群202的一部分将更新合并到副本数据记录226A和226N,以在协调节点122A和122N上创建已更新副本数据记录228A和228N。
合并模块108可以多种方式将更新合并到副本数据记录226A和226N。在一个示例中,合并模块108可合并在多个时间段内对副本数据记录226A和226N中的一个或多个数据列进行的更新。例如,合并模块108可与生产集群206通信并执行记录合成操作,该记录合成操作在不同时间将更新合并到不同列以重新创建用于副本数据记录226A和226N的完整数据记录。重新创建的数据记录可以由已更新副本数据记录228A和228N表示。
现在返回图3,在步骤308处,本文所述的系统中的一者或多者可在备份集群上识别已更新副本数据记录中的陈旧或冗余数据记录。例如,识别模块110可作为备份集群202的一部分识别已更新副本数据记录228A和228N中的陈旧或冗余数据记录。
识别模块110可以多种方式识别陈旧或冗余数据记录。在一些示例中,在步骤306执行合并操作之后,识别模块110可以基于与已更新副本数据记录228A和/或228N中的数据记录相关联的时间戳来识别陈旧数据或冗余记录。在一个示例中,可以识别具有不同时间戳的相同数据记录,其中旧数据记录被标记为陈旧。在另一个示例中,可以识别具有相同时间戳的多个相同数据记录,其中除了一个数据记录之外的所有数据记录被标记为冗余。
在图3的步骤310处,本文所述的系统中的一者或多者可在备份集群上丢弃在步骤308处识别的陈旧或冗余数据记录。例如,丢弃模块112可作为备份集群202的一部分丢弃来自已更新副本数据记录228A和228N的陈旧或冗余数据记录(例如,已丢弃副本数据记录230A和230N)。丢弃模块112可以多种方式丢弃陈旧或冗余数据记录。在一个示例中,丢弃模块112可以删除被识别为陈旧和/或冗余的已丢弃副本数据记录230A和230N。在丢弃来自已更新副本数据记录228A和228N的陈旧和/或冗余数据记录之后,可以在协调节点122A和122N中的每个上创建已更新数据记录232A和232N的单个副本。在一些示例中,已更新数据记录232A和232N可表示在生产集群206上重新创建数据库224。
在图3的步骤312处,本文所述的系统中的一个或多个可通过将已更新数据记录复制到生产集群上的每个数据存储节点来从备份集群将已更新数据记录的副本恢复到生产集群。例如,恢复模块114可作为备份集群202的一部分将已更新数据记录232A和232N复制回到生产集群206上的数据存储节点222A和222N,作为数据库224备份之后的恢复操作的一部分。
恢复模块114可以各种方式将已更新数据记录232A和232N复制回到生产集群206上的数据存储节点222A和222N。在一个示例中,恢复模块114可将已更新数据记录232A和232N分别从备份集群202上的协调节点122A和122N复制到数据存储节点222A和222N。在恢复操作之后,已更新数据记录232A和232N中的每个在生产集群206上的所有副本上是一致的(例如,恢复操作是不需修复的)。因此,不再需要生产集群206来协调数据库中的所有数据记录和副本数据记录以使它们在数据库恢复操作之后保持一致。
图4是用于执行用于无修复恢复的数据库备份的示例性系统的数据流程图400。如图4所示,生产集群(例如,图2的生产集群206)可包括数据存储节点210A、210B、210C、210D、210E、210F和210N。同样如图4所示,备份集群(例如,图2的备份集群202)可包括协调节点122A和122N。
在一个示例中,协调节点122A可以从数据存储节点210A-210N中的每个接收副本数据记录,并且协调节点122N还可以从数据存储节点210A-210N中的每个接收副本数据记录。在该示例中,生产集群中的数据存储节点210A至210N中的每个上的数据记录可与相同的密钥相关联,并且传输到备份集群中的单个协调节点(例如,协调节点122A和/或协调节点122N)。作为传输的结果,数据协调可并行发生在协调节点122A和/或协调节点122N中的每个内,而无需任何节点间通信。在该示例中,协调节点122A和122N还可以通过合并来自不同数据库表(例如,已分类字符串(SS)表)的相同密钥的列来执行记录合成,同时对数据记录进行迭代。在该示例中,协调节点122A和122N还可以通过识别和移除陈旧和重复数据记录(例如,副本数据)来执行数据去重。
图5是在用于执行用于无修复恢复的数据库备份的示例性系统中使用的副本数据记录的框图。如图5所示,副本数据记录524可包括数据列526和已更新数据列528。在一些示例中,数据列526可由图2的合并模块108更新以创建已更新数据列528。
在一个示例中,合并模块108可合并在多个时间段内对生产集群206上的数据列526进行的更新。可通过与存储在图2所示的生产集群206中的一个或多个数据存储节点222A和/或222N上的副本数据记录524中的数据列526中的每个相关联的时间戳来识别多个时间段。
如上文结合附图1至5所述,NoSQL数据库管理系统集群(例如,备份集群)的实例可用于在数据库备份期间对备份集群中的存储节点上的数据执行协调。将来自NoSQL数据库生产集群中的多个节点的不同副本数据带到备份集群中的相同节点。因此,在协调期间,备份集群本地处理备份集群中的节点内的所有数据。因此,数据库数据可在备份集群上并行处理而无需节点间通信。在执行协调时,备份集群还可执行数据库记录合成以在不同时间将更新合并至数据库数据的不同列,使得重新创建数据库的完整记录。在执行数据记录合成之后,备份集群随后能够识别陈旧或冗余副本数据记录并丢弃这些副本。
通过执行协调,其中在备份集群上并行执行数据库记录的处理并合并更新以消除陈旧或冗余数据库记录,备份集群可能能够生成数据库的单个一致副本,用于恢复回到生产集群以在NoSQL数据库管理系统中复制,而无需所述数据库管理系统经历耗时的修复过程以协调所述数据库记录以确保一致性,从而可能从备份中更快地恢复操作。
虽然上述公开使用特定框图、流程图和示例阐述了各种实施方案,但每个框图部件、流程图步骤、操作和/或本文描述和/或示出的部件可使用多种硬件、软件或固件(或它们的任意组合)配置单独和/或共同地实施。此外,包含在其他部件内的部件的任何公开应当被视为在本质上是示例的,因为可实施许多其他体系结构来实现相同的功能。
在一些示例中,图1中的示例性系统100的全部或一部分可以表示基于云计算或网络的环境的部分。云计算环境可经由互联网提供各种服务和应用程序。这些基于云的服务(例如,软件即服务、平台即服务、基础设施即服务等)可通过网页浏览器或其它远程接口访问。本文所述的各种功能可通过远程桌面环境或任何其他基于云的计算环境提供。
在各种实施方案中,图1中的示例性系统100的全部或一部分可促进基于云的计算环境内的多重租赁。换句话讲,本文所述的模块可配置计算系统(例如,服务器)以促进本文所述的功能中的一种或多种的多重租赁。例如,本文所述的模块中的一个或多个可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作系统、处理系统和/或存储系统。本文所述的模块中的一个或多个还可为每个顾客分割多租户应用程序的数据和/或配置信息以使得一个顾客不能访问另一个顾客的数据和/或配置信息。
根据各种实施方案,图1中的示例性系统100的全部或一部分可以在虚拟环境内实现。例如,本文所述的模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常是指由虚拟机管理器(例如,超级管理程序)从计算硬件中提取出来的任何操作系统环境。
在一些示例中,图1中的示例性系统100的全部或一部分可以表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实施,所述移动计算设备包括移动电话、平板电脑、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等)、上述一者或多者的变体或组合、或任何其他合适的移动计算设备。在一些示例中,移动计算环境可具有一个或多个显著特征,包括例如依赖电池供电、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、(例如,由全球定位系统、陀螺仪、加速计等提供的)位置和移动数据、用于限制对系统级配置的修改和/或限制第三方软件检查其他应用程序的行为的能力的受限平台、用于限制应用程序的安装(例如,仅限于安装来源于经批准的应用程序商店的应用程序)的控件,等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。
本文描述和/或示出的过程参数和步骤序列仅以举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不必以示出或讨论的顺序来执行。本文描述和/或示出的各种示例方法也可省略本文描述或示出的步骤中的一个或多个,或除了所公开的那些步骤之外还包括另外的步骤。
虽然本文已经在全功能计算系统的上下文中描述和/或示出了各种实施方案,但是这些示例性实施方案中的一个或多个可以作为各种形式的程序产品来分配,而不考虑用于实际进行分配的计算机可读介质的特定类型。本文所公开的实施方案还可以使用执行某些任务的模块来实现。这些模块可以包括脚本文件、批文件或可存储在计算机可读存储介质上或计算系统中的其他可执行文件。在一些实施方案中,这些模块可以将计算系统配置为执行本文所公开的示例性实施方案中的一个或多个。
前文的描述旨在使本领域的其他技术人员能够最好地利用本文所公开的示例实施方案的各个方面。该示例性描述并非旨在是详尽的或限于所公开的任何确切形式。在不脱离本公开的实质和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应参考所附权利要求及其等同形式来确定本公开的范围。
除非另有说明,否则本说明书和权利要求中所用的术语“连接到”和“联接到”(以及它们的衍生形式)应被理解为既允许直接的连接,又允许间接(即,经由其他元件或部件)的连接。此外,本说明书和权利要求中所用的术语“一”或“一个”应被理解为意指“至少一个......”。最后,为了便于使用,本说明书和权利要求中所用的术语“包括”和“具有”(以及它们的衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。

Claims (14)

1.一种用于执行用于无修复恢复的数据库备份的计算机实现的方法,所述方法的至少一部分由包括至少一个处理器的计算设备执行,所述方法包括:
在由备份集群中的协调节点进行的数据库备份操作期间从生产集群中的多个数据存储节点中的每个接收表示数据库的数据记录的经复制的副本的副本数据记录,使得所述数据库的第一数据库密钥的所有副本数据记录由第一协调节点接收,并且使得所述数据库的第二数据库密钥的所有副本数据记录由第二协调节点接收,其中,所述生产集群包括所述多个数据存储节点,每个数据存储节点包括所述数据库的副本,其中,所述备份集群包括多个协调节点;
在所述多个协调节点上并行处理所述副本数据记录,而不在所述数据存储节点之间进行节点间通信;
将更新合并到所述副本数据记录;
识别已更新副本数据记录中的陈旧或冗余数据记录;
丢弃来自所述已更新副本数据记录的所述陈旧或冗余数据记录,以创建已更新数据记录的单个副本;以及
由备份集群,通过将所述已更新数据记录复制到所述数据存储节点中的每个来将所述已更新数据记录的所述副本恢复到所述生产集群,其中所述已更新数据记录中的每个是一致的,从而避免了后续修复。
2.根据权利要求1所述的方法,其中并行处理所述副本数据记录而不在所述数据存储节点之间进行节点间通信包括在所述备份集群中的多个所述协调节点中的每个内本地处理所述副本数据记录。
3.根据权利要求1所述的方法,其中将更新合并到所述副本数据记录包括将更新合并到在多个时间段内制作的所述副本数据记录中的一个或多个数据列。
4.根据权利要求1所述的方法,其中所述已更新数据记录包括所述数据库的重新创建。
5.根据权利要求1所述的方法,其中所述副本数据记录在所述数据存储节点中的每个上共享数据库密钥。
6.根据权利要求1所述的方法,其中所述生产集群包括非关系数据库集群。
7.根据权利要求6所述的方法,其中备份集群包括所述非关系数据库集群的实例。
8.一种用于执行用于无修复恢复的数据库备份的系统,所述系统包括:
接收装置,所述接收装置在由备份集群中的协调节点进行的数据库备份操作期间从生产集群中的多个数据存储节点中的每个接收表示数据库的数据记录的经复制的副本的副本数据记录,使得所述数据库的第一数据库密钥的所有副本数据记录由第一协调节点接收,并且使得数据库的第二数据库密钥的所有副本数据记录由第二协调节点接收,其中,所述生产集群包括所述多个数据存储节点,每个数据存储节点包括所述数据库的副本,其中,所述备份集群包括多个协调节点;
处理装置,所述处理装置在所述多个协调节点上并行处理所述副本数据记录,而不在所述数据存储节点之间进行节点间通信;
合并装置,所述合并装置将更新合并到所述副本数据记录;
识别装置,所述识别装置识别已更新副本数据记录中的陈旧或冗余数据记录;
丢弃装置,所述丢弃装置从所述已更新副本数据记录中丢弃所述陈旧或冗余数据记录,以创建已更新数据记录的单个副本;
恢复装置,所述恢复装置由备份集群,通过将所述已更新数据记录复制到所述数据存储节点中的每个来将所述已更新数据记录的所述副本恢复到所述生产集群,其中所述已更新数据记录中的每个是一致的,从而避免了后续修复;和
至少一个物理处理器,所述至少一个物理处理器被配置为执行所述接收装置、所述处理装置、所述合并装置、所述识别装置、所述丢弃装置和所述恢复装置。
9.根据权利要求8所述的系统,其中所述处理装置通过在所述备份集群中的多个所述协调节点中的每个内本地处理所述副本数据记录来并行处理所述副本数据记录,而不在所述数据存储节点之间进行节点间通信。
10.根据权利要求8所述的系统,其中合并装置通过将更新合并到在多个时间段内制作的所述副本数据记录中的一个或多个数据列,来将更新合并到所述副本数据记录。
11.根据权利要求8所述的系统,其中所述已更新数据记录包括所述数据库的重新创建。
12.根据权利要求8所述的系统,其中所述副本数据记录在所述数据存储节点中的每个上共享数据库密钥。
13.根据权利要求8所述的系统,其中所述生产集群包括非关系数据库集群。
14.根据权利要求13所述的系统,其中所述备份集群包括所述非关系数据库集群的实例。
CN201980010602.6A 2018-02-27 2019-02-26 用于执行用于无修复恢复的数据库备份的系统和方法 Active CN111656326B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/905,855 US10884876B2 (en) 2018-02-27 2018-02-27 Systems and methods for performing a database backup for repairless restore
US15/905855 2018-02-27
PCT/US2019/019624 WO2019168859A2 (en) 2018-02-27 2019-02-26 Systems and methods for performing a database backup for repairless restore

Publications (2)

Publication Number Publication Date
CN111656326A CN111656326A (zh) 2020-09-11
CN111656326B true CN111656326B (zh) 2023-08-08

Family

ID=65724578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980010602.6A Active CN111656326B (zh) 2018-02-27 2019-02-26 用于执行用于无修复恢复的数据库备份的系统和方法

Country Status (5)

Country Link
US (1) US10884876B2 (zh)
EP (1) EP3759604B1 (zh)
JP (1) JP2021513168A (zh)
CN (1) CN111656326B (zh)
WO (1) WO2019168859A2 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884876B2 (en) 2018-02-27 2021-01-05 Veritas Technologies Llc Systems and methods for performing a database backup for repairless restore
US10866864B2 (en) * 2018-03-23 2020-12-15 Veritas Technologies Llc Systems and methods for backing-up an eventually-consistent database in a production cluster
US11132225B2 (en) * 2019-03-29 2021-09-28 Innoplexus Ag System and method for management of processing task across plurality of processors
CN110704245B (zh) * 2019-09-29 2023-02-24 苏州浪潮智能科技有限公司 一种服务集群实现方法、装置、设备及可读存储介质
CN110716984B (zh) * 2019-10-10 2023-06-20 北京字节跳动网络技术有限公司 数据处理方法、装置、电子设备及存储介质
CN111078676A (zh) * 2019-10-14 2020-04-28 梁剑 一种基于数据分析的智能机器人的纠错逻辑判断系统
US11372818B2 (en) * 2020-01-07 2022-06-28 Samsung Electronics Co., Ltd. Scaling performance for large scale replica sets for a strongly consistent distributed system
CN111581185B (zh) * 2020-05-12 2022-04-15 四川大学 基于规则的数据相对时效修复与异常检测方法
US11513914B2 (en) * 2020-06-30 2022-11-29 Nutanix, Inc. Computing an unbroken snapshot sequence
CN111858628A (zh) 2020-06-30 2020-10-30 北京百度网讯科技有限公司 基于数据库的管理方法、平台、电子设备及存储介质
CN112150102A (zh) * 2020-08-28 2020-12-29 北京来也网络科技有限公司 结合rpa和ai的智能电网信息系统台帐更新方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014669A (en) * 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
US7596570B1 (en) * 2003-11-04 2009-09-29 Emigh Aaron T Data sharing
CN102024022A (zh) * 2010-11-04 2011-04-20 曙光信息产业(北京)有限公司 一种分布式文件系统复制元数据的方法
CN102436490A (zh) * 2010-10-28 2012-05-02 微软公司 多功能存储器内数据库恢复
US8554762B1 (en) * 2010-12-28 2013-10-08 Amazon Technologies, Inc. Data replication framework
US8983952B1 (en) * 2010-07-29 2015-03-17 Symantec Corporation System and method for partitioning backup data streams in a deduplication based storage system
CN104813276A (zh) * 2012-11-26 2015-07-29 亚马逊科技公司 从备份系统流式恢复数据库

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536424B2 (en) * 2004-05-02 2009-05-19 Yoram Barzilai System and methods for efficiently managing incremental data backup revisions
US20080147821A1 (en) * 2006-12-19 2008-06-19 Dietrich Bradley W Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes
JP5000457B2 (ja) * 2007-10-31 2012-08-15 株式会社日立製作所 ファイル共有システム及びファイル共有方法
US8055668B2 (en) * 2008-02-13 2011-11-08 Camouflage Software, Inc. Method and system for masking data in a consistent manner across multiple data sources
US20100145807A1 (en) * 2008-12-05 2010-06-10 Kobres Erick C Device for management of personal data
WO2012066595A1 (en) * 2010-11-17 2012-05-24 Hitachi, Ltd. File storage apparatus and access control method
US8478726B2 (en) * 2011-03-03 2013-07-02 Microsoft Corporation Parallel database backup and restore
US8671085B2 (en) * 2011-12-09 2014-03-11 Microsoft Corporation Consistent database recovery across constituent segments
JP2013178685A (ja) * 2012-02-29 2013-09-09 Nec Corp 非同期バックアップ機能を有するデータ処理システム、フロントシステム、バックアップ方法、及びそのためのプログラム
GB2502768A (en) * 2012-04-12 2013-12-11 Qatar Foundation Correcting database errors
US9632878B1 (en) * 2013-09-20 2017-04-25 Amazon Technologies, Inc. Verification of database table partitions during backup
US10025673B1 (en) * 2013-09-20 2018-07-17 Amazon Technologies, Inc. Restoring partitioned database tables from backup
US9633051B1 (en) * 2013-09-20 2017-04-25 Amazon Technologies, Inc. Backup of partitioned database tables
US9535856B2 (en) * 2014-02-21 2017-01-03 International Business Machines Corporation Data access to a storage tier on a client in a multi-tiered storage system
US10255304B2 (en) * 2014-09-30 2019-04-09 International Business Machines Corporation Removal of garbage data from a database
US9792454B2 (en) * 2015-01-16 2017-10-17 Protegrity Corporation Record level data security
US10042626B2 (en) * 2015-06-29 2018-08-07 Verizon Patent And Licensing Inc. Software updates using client self-reporting and a hierarchical data structure
US20170262345A1 (en) * 2016-03-12 2017-09-14 Jenlong Wang Backup, Archive and Disaster Recovery Solution with Distributed Storage over Multiple Clouds
US10417098B2 (en) * 2016-06-28 2019-09-17 International Business Machines Corporation File level access to block level incremental backups of a virtual disk
US10585760B2 (en) * 2016-10-19 2020-03-10 International Business Machines Corporation File name level based file search and restoration from block level backups of virtual machines
US10235244B2 (en) * 2016-10-19 2019-03-19 International Business Machines Corporation Block level backup of virtual machines for file name level based file search and restoration
US10496498B1 (en) * 2017-03-31 2019-12-03 Levyx, Inc. Systems and methods for rapid recovery from failure in distributed systems based on zoning pairs
US10613944B2 (en) * 2017-04-18 2020-04-07 Netapp, Inc. Systems and methods for backup and restore of distributed master-slave database clusters
US10984134B2 (en) * 2017-07-14 2021-04-20 Microsoft Technology Licensing, Llc Blockchain system for leveraging member nodes to achieve consensus
US10884876B2 (en) 2018-02-27 2021-01-05 Veritas Technologies Llc Systems and methods for performing a database backup for repairless restore

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014669A (en) * 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
US7596570B1 (en) * 2003-11-04 2009-09-29 Emigh Aaron T Data sharing
US8983952B1 (en) * 2010-07-29 2015-03-17 Symantec Corporation System and method for partitioning backup data streams in a deduplication based storage system
CN102436490A (zh) * 2010-10-28 2012-05-02 微软公司 多功能存储器内数据库恢复
CN102024022A (zh) * 2010-11-04 2011-04-20 曙光信息产业(北京)有限公司 一种分布式文件系统复制元数据的方法
US8554762B1 (en) * 2010-12-28 2013-10-08 Amazon Technologies, Inc. Data replication framework
CN104813276A (zh) * 2012-11-26 2015-07-29 亚马逊科技公司 从备份系统流式恢复数据库

Also Published As

Publication number Publication date
CN111656326A (zh) 2020-09-11
US10884876B2 (en) 2021-01-05
US20190266057A1 (en) 2019-08-29
EP3759604A2 (en) 2021-01-06
JP2021513168A (ja) 2021-05-20
WO2019168859A3 (en) 2019-12-19
EP3759604B1 (en) 2022-07-06
WO2019168859A2 (en) 2019-09-06

Similar Documents

Publication Publication Date Title
CN111656326B (zh) 用于执行用于无修复恢复的数据库备份的系统和方法
US11947809B2 (en) Data management system
US11609825B1 (en) Systems and methods for backing-up an eventually-consistent database in a production cluster
JP6854885B2 (ja) 重複排除ストレージ内のイメージを修復するためのシステム及び方法
US9582524B1 (en) Transformative migration of static data
US20220269445A1 (en) Restoring an archive authorized by an authenticated user
US10817382B2 (en) Concurrent upgrade of primary and standby databases
US11726743B2 (en) Merging multiple sorted lists in a distributed computing system
US9251020B1 (en) Systems and methods for file-level replication
EP3625683B1 (en) System and method for load balancing backup data
US10664361B1 (en) Transactionally consistent backup of partitioned storage
US10210013B1 (en) Systems and methods for making snapshots available
US11093333B1 (en) Efficient recovery of multiple virtual machines
US11544156B1 (en) Incremental restore for volumes using object-based snapshots
CN115658391A (zh) 基于QianBase MPP数据库的WAL机制的备份恢复方法
US11263237B2 (en) Systems and methods for storage block replication in a hybrid storage environment
EP4035011A1 (en) Systems and methods for efficiently backing up large datasets
US11586375B1 (en) Incremental restore for volumes using object-based snapshots
US10817193B2 (en) Multi-layer encoding for distributed container-based storage of smaller data objects
US10324628B2 (en) Systems and methods for reducing data fragmentation
US10379962B1 (en) De-duplicating backup files based on data evolution
Zhang et al. Research on the Method of Massive Data Storage Management
CN116775373A (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