CN114610533A - 数据库处理方法以及装置 - Google Patents

数据库处理方法以及装置 Download PDF

Info

Publication number
CN114610533A
CN114610533A CN202210095838.8A CN202210095838A CN114610533A CN 114610533 A CN114610533 A CN 114610533A CN 202210095838 A CN202210095838 A CN 202210095838A CN 114610533 A CN114610533 A CN 114610533A
Authority
CN
China
Prior art keywords
backup
target data
node
log
written
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
CN202210095838.8A
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 Cloud Computing Ltd
Original Assignee
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 Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210095838.8A priority Critical patent/CN114610533A/zh
Publication of CN114610533A publication Critical patent/CN114610533A/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
    • 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/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/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种数据库处理方法以及装置,其中所述数据库处理方法包括:主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,目标数据文件存储在数据存储节点中,备份节点在检测到预写日志更新的情况下,根据预写日志对备份目标数据进行处理,并将备份目标数据与目标数据文件进行关联。因此,备份节点在根据预写日志对备份目标数据进行处理的过程中,不会重新对数据存储节点中的物理文件进行复制操作,而是将根据预写日志将备份目标数据与目标数据文件进行关联,可以做到数据存储节点中的物理文件完全复用,降低了数据备份时的延迟。

Description

数据库处理方法以及装置
技术领域
本说明书实施例涉及数据处理技术领域,特别涉及一种数据库处理方法。
背景技术
随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。为此数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性。数据库的备份是一个长期的过程,而恢复只在发生事故后进行,恢复可以看作是备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况。此外,数据库管理员在恢复时采取的步骤正确与否也直接影响最终的恢复结果。
目前在数据库备份中,硬盘中的文件数据也要进行一次备份,也就是将主数据库的硬盘中的文件数据写入到备份数据库的硬盘中,这样使得备份的延迟较大。
发明内容
有鉴于此,本说明书实施例提供了一种数据库处理方法。本说明书一个或者多个实施例同时涉及一种数据库处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据库处理方法,应用于分布式处理系统,所述系统包括主节点、备份节点和数据存储节点,该数据库处理方法包括:
主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述数据存储节点中;
备份节点在检测到所述预写日志更新的情况下,根据所述预写日志对备份目标数据进行处理,并将所述备份目标数据与所述目标数据文件进行关联。
根据本说明书实施例的第二方面,提供了一种数据库处理装置,包括:
主节点,被配置为根据数据处理指令对主目标数据进行修改,生成预写日志,并将修改后的主目标数据存储至所述数据存储节点对应的目标数据文件中;
备份节点,被配置为在检测到所述预写日志更新的情况下,根据所述预写日志修改备份目标数据,并将所述备份目标数据与所述目标数据文件进行关联。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据库处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据库处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据库处理方法的步骤。
本说明书实施例公开了一种数据库处理方法,该方法包括:主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,目标数据文件存储在数据存储节点中,备份节点在检测到预写日志更新的情况下,根据预写日志对备份目标数据进行处理,并将备份目标数据与目标数据文件进行关联。因此,备份节点在根据预写日志对备份目标数据进行处理的过程中,不会重新对数据存储节点中的物理文件进行复制操作,而是将根据预写日志将备份目标数据与目标数据文件进行关联,可以做到数据存储节点中的物理文件完全复用,降低了数据备份时的延迟。
附图说明
图1是本说明书一个实施例提供的一种数据库处理方法的场景示意图;
图2是本说明书一个实施例提供的一种数据库处理方法的流程图;
图3是本说明书一个实施例提供的一种数据库处理方法的处理过程流程图;
图4是本说明书一个实施例提供的一种数据库处理装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”可以表示并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
Rep l icat ion:计算中的副本包括共享信息,以确保冗余资源(如软件或硬件组件)之间的一致性,从而提高可靠性、容错能力或可访问性。
WAL:预写日志是一种用于在数据库系统中提供原子性和持久性(ACI D的两个属性)的技术。数据的更改首先记录在预写日志中,然后写入稳定存储,再写入数据库。
故障转移:(英语:fai lover),即当活动的服务或应用意外终止时,快速启用冗余或备用的服务器、系统、硬件或者网络接替它们工作。
在本说明书中,提供了一种数据库处理方法,本说明书同时涉及一种数据库处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1是本说明书一个实施例提供的一种数据库处理方法的场景示意图。该应用场景可以包括主数据库、备数据库和存储硬盘。
其中,主服务器中包括元服务、主目标数据1、主目标数据2、主目标数据3、主目标数据4,备数据库包括元服务、备份目标数据1、备份目标数据2、备份目标数据3、备份目标数据4,备数据库中的备份目标数据1、备份目标数据2、备份目标数据3、备份目标数据4通过预写日志同步主服务器中的主目标数据1、主目标数据2、主目标数据3、主目标数据4,存储硬盘中包括目标数据文件1、目标数据文件2、目标数据文件3、目标数据文件4,主数据库和备数据库共同使用存储硬盘,相应地,主数据库中的主目标数据和备数据库中的备份目标数据都引用存储硬盘中的目标数据文件,如图1所示,主目标数据1和备份目标数据1均引用目标数据文件1,主目标数据2和备份目标数据2均引用目标数据文件2,元服务用于管理主目标数据和备份目标数据的元数据。
用户U使用客户端访问购物网页的情况下,购物网页是基于主数据库提供服务的,主数据库基于存储硬盘中的目标数据文件1,向用户U的客户端返回客户端请求的主目标数据1,用户可以浏览商品数据、个人数据等。
在主数据库发生故障的情况下,例如,断电、硬件损坏、漏洞等等,用户U使用客户端访问购物网页的情况下,主数据库无法返回主目标数据1,用户U的客户端显示错误消息,此时,应急管理程序在检测到主数据库无法提供服务的情况下,应急管理程序将用户U使用客户端访问购物网页的地址改为备数据库的地址,备数据库同样基于存储硬盘中的目标数据文件1,向用户U的客户端返回客户端请求的备份目标数据1,用户可以浏览商品数据、个人数据等,且备数据库的内存状态和主数据库内存状态完全复用。
参见图2,图2示出了根据本说明书一个实施例提供的一种数据库处理方法的流程图,该数据库处理方法应用于分布式处理系统,该分布式处理系统包括主节点、备份节点和数据存储节点,具体包括以下步骤。
步骤202:主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述数据存储节点中。
其中,主节点可以表示分布式处理系统中提供服务的节点,可以理解为上述实施例中的主数据库;预写日志可以为上述WAL技术中的预写日志;数据处理指令可以为任意形式的语句指令、信号指令,例如,数据库查询指令、数据库请求指令;主目标数据可以表示主节点内存中的数据;数据存储节点可以为固态硬盘,机械硬盘等形式的存储节点,例如上述实施例中的存储硬盘。
在实际应用中,用户在使用数据库产品同时服务于实时场景、分析场景、服务场景、离线加工场景等一个以上场景时,遇到了不同场景的系统负载冲突的问题,进而影响用户服务的高可用性。为了解决以上场景的高可用性问题,可以使用读写分离的架构方案,将实时场景、分析场景、服务场景、离线加工场景等的服务完全分离开,甚至类似的多个同场景也可以完全分离开,实现高吞吐写入和灵活查询互不干扰,服务每秒查询率(QPS,Queries-per-second)增长的同时,查询抖动可明显减少,有效的解决不同场景的系统负载冲突的问题,大大减少可能出现的不可控风险,实现服务的高可用性,但是在主数据库和备数据库之间的同步的延迟也是一个需要重视的问题,使用WAL技术可以降低主节点和备份节点同步的延迟。
例如,主节点在接收到数据处理指令的情况下,主节点对内存中的主目标数据进行处理,首先生成预写日志,然后根据预写日志处理主目标数据在数据存储节点中映射的目标数据文件,在主节点对目标数据文件进行使用时,也就对内存中的主目标数据进行了修改。
具体地,主节点对内存中的主目标数据进行处理可以包括对已存在的数据进行修改操作,例如,用户的购物数量的数值为5,将用户的购物数量的数值修改为6。对已存在的数据进行修改操作的具体实现方式如下所述。
在一种可实现的方式中,根据数据处理指令对主目标数据进行处理,生成预写日志,包括:
主节点对所述数据处理指令进行解析获得修改信息;
根据所述修改信息构造预写信息,并根据所述预写信息生成预写日志且对主目标数据进行修改。
其中,修改信息可以为对数据进行增加、删减的信息,例如,对购物数量的数值的增加,和减少;预写信息可以为预写日志格式的信息。
例如,用户的购物数量的数值为5,用户购买了一件新物品,用户的购物数量的数值需要修改为6,则修改信息为:将用户的购物数量的数值修改为6,根据修改信息:将用户的购物数量的数值修改为6,构造符合预写日志语句规则的预写信息M,将预写信息M添加至预写日志中生成新的预写日志,根据预写日志中的预写信息M对用户的购物数量的数值进行修改,并在数据存储节点修改购物数量的数值。
另外,主节点对内存中的主目标数据进行处理可以包括对不存在的数据进行写入操作,例如,用户从未购买过物品A,在用户购买了物品A之后,增加新的购买记录的数据。对不存在的数据进行写入操作的具体实现方式如下所述。
在一种可实现的方式中,根据数据处理指令对主目标数据进行处理,生成预写日志,包括:
主节点对所述数据处理指令进行解析获得写入信息;
根据所述写入信息构造预写信息,并根据所述预写信息生成预写日志且生成所述主目标数据。
其中,写入信息可以为对数据进行生成的信息,例如,添加用户的操作。
例如,有新加入的用户U,需要在数据库中写入用户U的信息,则写入信息为用户U的信息,根据写入信息:用户U的信息,构造符合预写日志语句规则的预写信息M,将预写信息M添加至预写日志中生成新的预写日志,并根据预写日志中的预写信息M对用户U的信息进行写入,且写入用户U的信息至数据存储节点。
本说明书实施例使用WAL技术,在还未对主目标数据进行处理的情况下,先生成并同步预写日志,可以降低主节点和备份节点数据同步的延迟。
步骤204:备份节点在检测到所述预写日志更新的情况下,根据所述预写日志对备份目标数据进行处理,并将所述备份目标数据与所述目标数据文件进行关联。
其中,备份节点可以表示分布式处理系统中没有提供服务的节点;预写日志更新可以理解为预写日志增加了新的信息,例如,预写日志从9条增加至10条,则可以视为预写日志更新;备份目标数据可以表示备份节点中内存中的数据。
在实际应用中,备份节点需要在主节点的预写日志改动之后就进行同步,以保证备份节点的实时性。
例如,主节点的内存中的预写日志从9条增加至10条,即,在预写日志更新的情况下,根据预写日志增加的第10条对备份目标数据D进行处理,也就是说将备份目标数据D变更为与主目标数据一致的数据,并且将备份目标数据D指向主目标数据在硬盘中关联的数据。
本说明书实施例根据预写日志对备份节点中的数据进行处理,可以降低主节点和备份节点数据的同步延迟。
具体地,所述根据所述预写日志修改备份目标数据,包括:
所述备份节点根据所述预写日志生成备份预写日志,并根据所述备份预写日志修改备份目标数据。
其中,备份预写日志可以表示备份节点中的预写日志。
在实际应用中,在主节点存在预写日志,同样地,在备份节点中也存在备份预写日志,这样可以使主节点和备份节点互相支持,在任何一方出现故障的情况下,都可以根据对方的预写日志恢复数据。
例如,在备份节点中的备份预写日志D2为9条,主节点的内存中的预写日志D1从9条增加至10条,备份节点检测到主节点的预写日志D1更新,则将预写日志D1更新的第10条预写信息同步至备份预写日志D2中,根据备份预写日志D2修改备份目标数据。
本说明书实施例在任何一方出现故障的情况下,都可以根据对方的预写日志恢复数据,提高了系统的稳定性。
进一步地,所述根据所述备份预写日志修改备份目标数据,包括:
所述备份节点根据所述备份预写日志获取预写信息,并根据所述预写信息对备份目标数据进行修改。
沿用上例,从备份预写日志D2中获取第10条预写信息,根据第10条预写信息对备份目标数据进行修改。
本说明书实施例根据备份预写日志获取预写信息,可以快速与主节点进行同步数据。
具体地,所述将所述备份目标数据与所述目标数据文件进行关联,包括:
将所述备份目标数据引用所述目标数据文件。
在实际应用中,备份节点在根据预写信息更新备份目标数据的过程中,对预写日志中指向的数据文件只进行引用,不会进行真正的复制。在物理文件的生命周期管理上,可以实现基于备份节点的根据预写信息更新备份目标数据进度上,对物理文件的保护(比如删除等),以及主节点反向查询备份节点对文件的引用,实现主节点和备份节点对物理文件的一致性,由此可以做到数据存储节点内的物理文件的完全复用。
沿用上例,在备份节点中的备份目标数据根据备份预写日志进行更改之后,将备份目标数据指向数据存储节点中的对应的目标数据文件的地址,具体地,主节点的主目标数据A1引用了数据存储节点中目标数据文件A,在备份节点中的备份目标数据A2与主目标数据A1同步之后,使备份目标数据A2也指向目标数据文件A。
在一种可实现的方式中,本说明书实施例还包括:
所述备份节点在重新启动的情况下,读取所述主节点的预写日志,并根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据。
在实际应用中,在备份节点故障转移的情况下,备份节点可以无状态重新拉起,实现快速启动;此外,备份节点还可以从主节点预写日志的最新序列开始重新,极大的缩短恢复时间。备份节点故障转移对主节点没有任何影响。
例如,备份节点遇到故障,备份节点需要进行重新启动,在重启之后,备份节点读取所述主节点的预写日志,其中,预写日志和备份预写日志存在差异,根据主节点的预写日志和备份预写日志之间存在的差异恢复所述备份目标数据。
进一步地,所述根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据,包括:
所述备份节点将所述备份预写日志中的预写信息,与所述主节点的预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述备份目标数据。
其中,差异信息可以表示备份预写日志和主节点的预写日志中未同步的预写信息。
沿用上例,主节点的预写日志中存在100条预写信息,备份节点的备份预写日志中的预写信息为80条,则主节点的预写日志中的第81条预写信息至100条预写信息为差异信息,根据主节点的预写日志中的第81条预写信息至100条预写信息更新备份目标数据。
在一种可实现的方式中,本说明书实施例还包括:
在所述主节点发生故障的情况下,所述备份节点响应于客户端的数据处理指令,对备份目标数据进行修改,生成备份预写日志。
在实际应用中,故障转移是分布式系统不可避免的,本说明书实施例可以做到快速地故障转移,使得本说明书实施例的可用性进一步增强。在主节点故障转移后,备份节点可以重新获取新的主节点的地址,然后从当前的预写日志的中的预写信息继续添加预写信息,这样备份节点的内存状态的完全复用,可以实现备份节点不受任何影响。即主节点故障转移时,备份节点服务不中断。
例如,主节点发生故障,用户U使用客户端访问购物网页的情况下,主节点无法返回数据,用户U的客户端显示错误消息,此时,将用户U使用客户端访问购物网页的地址改为备份节点的地址,备份节点响应于客户端的数据处理指令,同样基于硬盘存储,向用户U的客户端返回客户端请求的数据,用户可以浏览商品数据、个人数据等。
本说明书实施例在主节点发生故障的情况下,使备份节点响应用户的请求,备份节点的内存状态和主节点内存状态完全复用,以使服务不中断。
进一步地,在所述主节点发生故障之后,还可以包括:
所述主节点在重新启动的情况下,读取所述备份节点的备份预写日志,并根据所述备份节点的备份预写日志和所述预写日志恢复所述目标数据。
在实际应用中,主节点发生故障之后,同样需要重新启动,在主节点重启之后,主节点的预写日志中的预写信息与备份节点的备份预写日志也存在差异,所以需要根据备份节点的备份预写日志和预写日志恢复所述目标数据。
例如,主节点遇到故障,主节点需要进行重新启动,在重启之后,主节点读取所述备份节点的备份预写日志,其中,预写日志和备份预写日志存在差异,根据备份节点的备份预写日志和预写日志之间存在的差异恢复所述备份目标数据。
进一步地,所述根据所述备份节点的备份预写日志和所述预写日志恢复所述目标数据,包括:
所述主节点将所述备份预写日志中的预写信息,与所述预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述备份目标数据。
沿用上例,备份节点的备份预写日志中存在100条预写信息,主节点的预写日志中的预写信息为80条,则备份节点的备份预写日志中的第81条预写信息至100条预写信息为差异信息,根据备份节点的备份预写日志中的第81条预写信息至100条预写信息更新主节点中的主目标数据。
本说明书实施例在主节点发生故障后从新启动的情况下,可以从备份节点同步内存状态,以使主节点快速启动,极大地缩短恢复时间。
本说明书实施例公开了一种数据库处理方法,该方法包括:主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,目标数据文件存储在数据存储节点中,备份节点在检测到预写日志更新的情况下,根据预写日志对备份目标数据进行处理,并将备份目标数据与目标数据文件进行关联。因此,备份节点在根据预写日志对备份目标数据进行处理的过程中,不会重新对数据存储节点中的物理文件进行复制操作,而是将根据预写日志将备份目标数据与目标数据文件进行关联,可以做到数据存储节点中的物理文件完全复用,降低了数据备份时的延迟。
参见图3,图3示出了本说明书一个实施例提供的一种数据库处理方法的处理过程流程图,具体包括以下步骤。
步骤302:主节点对数据处理指令进行解析获得修改信息。
其中,修改信息可以为对数据进行增加、删减的信息,例如,对购物数量的数值的增加,和减少;数据处理指令可以为任意形式的语句指令、信号指令。
例如,用户的购物数量的数值为5,用户购买了一件新物品,用户的购物数量的数值需要修改为6,则修改信息为:将用户的购物数量的数值修改为6。
步骤304:主节点根据修改信息构造预写信息,并根据预写信息生成预写日志。
其中,预写信息可以表示适合预写日志格式的信息,预写日志可以为上述WAL技术中的预写日志。
沿用上例,根据修改信息:将用户的购物数量的数值修改为6,构造符合预写日志语句规则的预写信息M,将预写信息M添加至预写日志中生成新的预写日志。
步骤306:主节点根据预写日志对主目标数据进行修改,且将修改后的主目标数据存储至对应的目标数据文件中。
其中,主目标数据可以表示主节点内存中的数据。
例如,根据预写日志中的预写信息M将用户的购物数量的数值修改为6,并在数据存储节点修改对应的目标数据文件F中的购物数量的数值为6。
步骤308:备份节点在检测到预写日志更新的情况下,备份节点根据预写日志生成备份预写日志。
其中,预写日志更新可以理解为预写日志增加了新的信息,例如,预写日志从9条增加至10条,则可以视为预写日志更新;备份目标数据可以表示备份节点中内存中的数据。
例如,在备份节点中的备份预写日志D2为9条,主节点的内存中的预写日志D1从9条增加至10条,第10条预写信息为:预写信息M,备份节点检测到主节点的预写日志D1更新,则将预写日志D1更新的第10条预写信息:预写信息M,同步至备份预写日志D2中。
步骤310:备份节点根据备份预写日志获取预写信息,并根据预写信息对备份目标数据进行修改。
例如,备份节点从备份预写日志D2中获取预写信息M,根据预写信息M修改备份节点中的购物数量的数值为6。
步骤312:备份节点将备份目标数据引用目标数据文件。
例如,备份节点中的购物数量的数值修改为6后,将备份节点中的购物数量的引用指向目标数据文件F。
本说明书实施例的备份节点在根据预写日志对备份目标数据进行处理的过程中,不会重新对数据存储节点中的物理文件进行复制操作,而是将根据预写日志将备份目标数据与目标数据文件进行关联,可以做到数据存储节点中的物理文件完全复用,降低了数据备份时的延迟。
与上述方法实施例相对应,本说明书还提供了数据库处理装置实施例,图4示出了本说明书一个实施例提供的一种数据库处理装置的结构示意图。如图4所示,该装置包括:
主节点402,被配置为根据数据处理指令对主目标数据进行修改,生成预写日志,并将修改后的主目标数据存储至所述数据存储节点对应的目标数据文件中;
备份节点404,被配置为在检测到所述预写日志更新的情况下,根据所述预写日志修改备份目标数据,并将所述备份目标数据与所述目标数据文件进行关联。
可选地,所述备份节点404,还被配置为:
在所述主节点发生故障的情况下,所述备份节点响应于客户端的数据处理指令,对备份目标数据进行修改,生成备份预写日志。
可选地,所述主节点402,还被配置为:
所述主节点在重新启动的情况下,读取所述备份节点的备份预写日志,并根据所述备份节点的备份预写日志和所述预写日志恢复所述目标数据。
可选地,所述主节点402,还被配置为:
所述主节点将所述备份预写日志中的预写信息,与所述预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述备份目标数据。
可选地,所述主节点402,还被配置为:
主节点对所述数据处理指令进行解析获得修改信息;
根据所述修改信息构造预写信息,并根据所述预写信息生成预写日志且对主目标数据进行修改。
可选地,所述主节点402,还被配置为:
主节点对所述数据处理指令进行解析获得写入信息;
根据所述写入信息构造预写信息,并根据所述预写信息生成预写日志且生成所述主目标数据。
可选地,所述备份节点404,还被配置为:
所述备份节点根据所述预写日志生成备份预写日志,并根据所述备份预写日志修改备份目标数据。
可选地,所述备份节点404,还被配置为:
所述备份节点根据所述备份预写日志获取预写信息,并根据所述预写信息对备份目标数据进行修改。
可选地,所述备份节点404,还被配置为:
所述备份节点在重新启动的情况下,读取所述主节点的预写日志,并根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据。
可选地,所述备份节点404,还被配置为:
所述备份节点将所述备份预写日志中的预写信息,与所述主节点的预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述备份目标数据。
可选地,所述备份节点404,还被配置为:
所述备份节点将所述备份目标数据引用所述目标数据文件。
本说明书实施例提供一种数据库处理装置,主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,目标数据文件存储在数据存储节点中,备份节点在检测到预写日志更新的情况下,根据预写日志对备份目标数据进行处理,并将备份目标数据与目标数据文件进行关联。因此,备份节点在根据预写日志对备份目标数据进行处理的过程中,不会重新对数据存储节点中的物理文件进行复制操作,而是将根据预写日志将备份目标数据与目标数据文件进行关联,可以做到数据存储节点中的物理文件完全复用,降低了数据备份时的延迟。
上述为本实施例的一种数据库处理装置的示意性方案。需要说明的是,该数据库处理装置的技术方案与上述的数据库处理方法的技术方案属于同一构思,数据库处理装置的技术方案未详细描述的细节内容,均可以参见上述数据库处理方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如I EEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据库处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据库处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据库处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据库处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据库处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据库处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据库处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据库处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据库处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-On ly Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种数据库处理方法,应用于分布式处理系统,所述系统包括主节点、备份节点和数据存储节点,所述方法包括:
主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述数据存储节点中;
备份节点在检测到所述预写日志更新的情况下,根据所述预写日志对备份目标数据进行处理,并将所述备份目标数据与所述目标数据文件进行关联。
2.根据权利要求1所述的方法,还包括:
在所述主节点发生故障的情况下,所述备份节点响应于客户端的数据处理指令,对备份目标数据进行修改,生成备份预写日志。
3.根据权利要求2所述的方法,还包括:
所述主节点在重新启动的情况下,读取所述备份节点的备份预写日志,并根据所述备份节点的备份预写日志和所述预写日志恢复所述主目标数据。
4.根据权利要求3所述的方法,所述根据所述备份节点的备份预写日志和所述预写日志恢复所述主目标数据,包括:
所述主节点将所述备份预写日志中的预写信息,与所述预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述主目标数据。
5.根据权利要求1所述的方法,所述根据数据处理指令对主目标数据进行处理,生成预写日志,包括:
主节点对所述数据处理指令进行解析获得修改信息;
根据所述修改信息构造预写信息,并根据所述预写信息生成预写日志且对主目标数据进行修改。
6.根据权利要求1所述的方法,所述根据数据处理指令对主目标数据进行处理,生成预写日志,包括:
主节点对所述数据处理指令进行解析获得写入信息;
根据所述写入信息构造预写信息,并根据所述预写信息生成预写日志且生成所述主目标数据。
7.根据权利要求1所述的方法,所述根据所述预写日志处理备份目标数据,包括:
所述备份节点根据所述预写日志生成备份预写日志,并根据所述备份预写日志修改备份目标数据。
8.根据权利要求7所述的方法,所述根据所述备份预写日志修改备份目标数据,包括:
所述备份节点根据所述备份预写日志获取预写信息,并根据所述预写信息对备份目标数据进行修改。
9.根据权利要求7所述的方法,还包括:
所述备份节点在重新启动的情况下,读取所述主节点的预写日志,并根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据。
10.根据权利要求9所述的方法,所述根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据,包括:
所述备份节点将所述备份预写日志中的预写信息,与所述主节点的预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述备份目标数据。
11.根据权利要求1所述的方法,所述将所述备份目标数据与所述目标数据文件进行关联,包括:
所述备份节点将所述备份目标数据引用所述目标数据文件。
12.一种数据库处理装置,包括:
主节点,被配置为主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述数据存储节点中;
备份节点,被配置为备份节点在检测到所述预写日志更新的情况下,根据所述预写日志对备份目标数据进行处理,并将所述备份目标数据与所述目标数据文件进行关联。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述数据库处理方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述数据库处理方法的步骤。
CN202210095838.8A 2022-01-26 2022-01-26 数据库处理方法以及装置 Pending CN114610533A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210095838.8A CN114610533A (zh) 2022-01-26 2022-01-26 数据库处理方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210095838.8A CN114610533A (zh) 2022-01-26 2022-01-26 数据库处理方法以及装置

Publications (1)

Publication Number Publication Date
CN114610533A true CN114610533A (zh) 2022-06-10

Family

ID=81858597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210095838.8A Pending CN114610533A (zh) 2022-01-26 2022-01-26 数据库处理方法以及装置

Country Status (1)

Country Link
CN (1) CN114610533A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202588A (zh) * 2022-09-14 2022-10-18 云和恩墨(北京)信息技术有限公司 数据存储方法及装置、数据恢复方法及装置
WO2024078001A1 (zh) * 2022-10-13 2024-04-18 华为技术有限公司 数据处理系统、数据处理方法、装置及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202588A (zh) * 2022-09-14 2022-10-18 云和恩墨(北京)信息技术有限公司 数据存储方法及装置、数据恢复方法及装置
WO2024078001A1 (zh) * 2022-10-13 2024-04-18 华为技术有限公司 数据处理系统、数据处理方法、装置及相关设备

Similar Documents

Publication Publication Date Title
CN114610532A (zh) 数据库处理方法以及装置
CN102891849B (zh) 业务数据同步方法、恢复方法及装置和网络设备
CN114610533A (zh) 数据库处理方法以及装置
US20150213100A1 (en) Data synchronization method and system
CN107003890B (zh) 高效地提供虚拟机参考点
EP3435604A1 (en) Service processing method, device, and system
CN111078667B (zh) 一种数据迁移的方法以及相关装置
JP2008217306A (ja) レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム
CN114415984B (zh) 数据处理方法及装置
JP2019527883A (ja) データベースのデータ変更要求処理方法及び装置
CN116680256B (zh) 数据库节点升级方法、装置和计算机设备
CN106873902B (zh) 一种文件存储系统、数据调度方法及数据节点
CN114238495A (zh) 数据库主备集群切换方法、装置、计算机设备及存储介质
CN113297173B (zh) 分布式数据库集群管理方法及装置、电子设备
CN112929438B (zh) 一种双站点分布式数据库的业务处理方法及装置
CN106445746A (zh) 一种面向应急接替的容灾备份方法及装置
WO2021082925A1 (zh) 一种交易处理的方法及装置
CN113297159A (zh) 数据存储方法以及装置
CN115955488B (zh) 基于副本冗余的分布式存储副本跨机房放置方法与装置
CN113297201A (zh) 索引数据同步方法、系统及装置
CN116389233A (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备
US7831782B1 (en) Roll-back log to provide data consistency
CN113297168B (zh) 分布式系统中数据迁移方法及装置
CN112000282A (zh) 一种存储双活方法、装置及相关组件
CN114518978A (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