CN114610532A - 数据库处理方法以及装置 - Google Patents
数据库处理方法以及装置 Download PDFInfo
- Publication number
- CN114610532A CN114610532A CN202210093311.1A CN202210093311A CN114610532A CN 114610532 A CN114610532 A CN 114610532A CN 202210093311 A CN202210093311 A CN 202210093311A CN 114610532 A CN114610532 A CN 114610532A
- Authority
- CN
- China
- Prior art keywords
- backup
- node
- target data
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 35
- 238000013500 data storage Methods 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000003860 storage Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 36
- 230000004048 modification Effects 0.000 claims description 17
- 238000012986 modification Methods 0.000 claims description 17
- 238000011084 recovery Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002253 acid Substances 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, 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
技术领域
本说明书实施例涉及数据处理技术领域,特别涉及一种数据库处理方法。
背景技术
容灾系统是指在同城或异地建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。
对IT企业来说,传统的单数据中心,已不足以保护企业数据的安全。当单数据中心存储故障后,可能会导致业务长时间中断,甚至数据丢失。只做本地的数据冗余保护或容灾建设,已不能规避区域性灾难对企业数据的破坏。因此容灾对于IT企业来说是十分重要的一个高可用能力。远程容灾保护数据成为了企业亟待解决的问题。
发明内容
有鉴于此,本说明书实施例提供了一种数据库处理方法。本说明书一个或者多个实施例同时涉及一种数据库处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据库处理方法,应用于分布式处理系统,所述系统包括主节点、备份节点、第一数据存储节点、第二数据存储节点,该方法包括:
所述主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述第一数据存储节点中;
所述备份节点在检测到所述预写日志更新的情况下,根据所述预写日志对备份目标数据进行处理,并从所述第一数据存储节点,复制所述目标数据文件至所述第二数据存储节点。
根据本说明书实施例的第二方面,提供了一种数据库处理装置,应用于分布式处理系统,所述系统包括主节点、备份节点、第一数据存储节点、第二数据存储节点,该装置包括:
主节点,被配置为根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述第一数据存储节点中;
备份节点,被配置为在检测到所述预写日志更新的情况下,根据所述预写日志对备份目标数据进行处理,并从所述第一数据存储节点,复制所述目标数据文件至所述第二数据存储节点。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据库处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据库处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据库处理方法的步骤。
本说明书实施例公开了一种数据库处理方法,该方法包括:主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,目标数据文件存储在第一数据存储节点中,备份节点在检测到预写日志更新的情况下,根据预写日志对备份目标数据进行处理,并从第一数据存储节点,复制目标数据文件至第二数据存储节点。因此,备份节点在根据预写日志对备份目标数据进行处理的过程中,不会重新对数据存储节点中的物理文件进行重新写入的操作,而是将第一存储节点中的目标数据文件复制到第二存储节点中,可以做到数据存储节点中的物理文件完全复用,降低了数据备份时的延迟,可以远程容灾保护数据,且降低了系统的资源开销。
附图说明
图1是本说明书一个实施例提供的一种数据库处理方法的场景示意图;
图2是本说明书一个实施例提供的一种数据库处理方法的流程图;
图3是本说明书一个实施例提供的一种数据库处理方法的处理过程流程图;
图4是本说明书一个实施例提供的一种数据库处理装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
容灾:容灾系统是指在同城或异地建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。
RPO(Recovery Point Object):灾难发生时允许丢失的数据量。
RTO(Recovery Time Objective):系统恢复的时间。
容灾半径:生产系统和容灾系统之间的距离。
ROI(Return of Investment):容灾系统的投入产出比。
Replication:计算中的副本包括共享信息,以确保冗余资源(如软件或硬件组件)之间的一致性,从而提高可靠性、容错能力或可访问性。
WAL:预写日志是一种用于在数据库系统中提供原子性和持久性(ACID的两个属性)的技术。数据的更改首先记录在预写日志中,然后写入稳定存储,再写入数据库。
故障转移:(英语:failover),即当活动的服务或应用意外终止时,快速启用冗余或备用的服务器、系统、硬件或者网络接替它们工作。
在本说明书中,提供了一种数据库处理方法,本说明书同时涉及一种数据库处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图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,主目标数据2引用主存储硬盘中的目标数据文件2,备份目标数据1引用备存储硬盘中的目标数据文件1,备份目标数据2引用备存储硬盘中的目标数据文件2,元服务用于管理主目标数据和备份目标数据的元数据。
主服务器和主存储硬盘位于C1市,备数据库和备存储硬盘位于C2市,用户U使用客户端访问购物网页的情况下,购物网页是基于主数据库提供服务的,主数据库基于主存储硬盘中的目标数据文件1,向用户U的客户端返回客户端请求的主目标数据1,用户可以浏览商品数据、个人数据等。
在主数据库发生故障的情况下,例如,断电、硬件损坏、漏洞等等,用户U使用客户端访问购物网页的情况下,主数据库无法返回主目标数据1,用户U的客户端显示错误消息,此时,应急管理程序在检测到主数据库无法提供服务的情况下,应急管理程序将用户U使用客户端访问购物网页的地址改为备数据库的地址,备数据库基于备存储硬盘中的目标数据文件1,向用户U的客户端返回客户端请求的备份目标数据1,用户可以浏览商品数据、个人数据等,且备数据库的内存状态和主数据库内存状态完全复用。
参见图2,图2示出了根据本说明书一个实施例提供的一种数据库处理方法的流程图,该数据库处理方法应用于分布式处理系统,该分布式处理系统包括主节点、备份节点、第一数据存储节点和第二数据存储节点,具体包括以下步骤。
步骤202:所述主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述第一数据存储节点中。
其中,主节点可以表示分布式处理系统中提供服务的节点,可以理解为上述实施例中的主数据库;预写日志可以为上述WAL技术中的预写日志;数据处理指令可以为任意形式的语句指令、信号指令,例如,数据库查询指令、数据库请求指令;主目标数据可以表示主节点内存中的数据;第一数据存储节点可以为固态硬盘,机械硬盘等形式的存储节点,例如上述实施例中的主存储硬盘。
在实际应用中,用户在使用数据库产品同时服务于实时场景、分析场景、服务场景、离线加工场景等场景时,对容灾有一定的高可用诉求。为了解决以上场景的容灾高可用性问题,需要将实时场景、分析场景、服务场景、离线加工场景等的容灾需求完美的解决掉,一方面可以大大降低用户做双链路做容灾的人力、资源等成本,另一方面可以提高容灾的RPO、RTO、容灾半径、ROI等主要指标,并且在提高用户的使用体验的同时,也可以为用户节省了较多的资源等成本。
例如,主节点在接收到数据处理指令的情况下,主节点对内存中的主目标数据进行处理,首先生成预写日志,然后根据预写日志处理主目标数据在数据存储节点中映射的目标数据文件,在主节点对目标数据文件进行使用时,也就对内存中的主目标数据进行了修改。
具体地,主节点对内存中的主目标数据进行处理可以包括对已存在的数据进行修改操作,例如,用户的购物数量的数值为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条预写信息对备份目标数据进行处理。
本说明书实施例根据备份预写日志获取预写信息,可以快速与主节点进行同步数据。
在一种可实现的方式中,本说明书实施例还包括:
所述备份节点在重新启动的情况下,读取所述主节点的预写日志,并根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据,并从所述第一数据存储节点,复制所述目标数据文件至所述第二数据存储节点。
在实际应用中,在备份节点故障转移的情况下,备份节点可以无状态重新拉起,实现快速启动;此外,备份节点还可以从主节点预写日志的最新序列开始重新,极大的缩短恢复时间。备份节点故障转移对主节点没有任何影响。
例如,备份节点遇到故障,备份节点需要进行重新启动,在重启之后,备份节点读取所述主节点的预写日志,其中,预写日志和备份预写日志存在差异,根据主节点的预写日志和备份预写日志之间存在的差异恢复所述备份目标数据,并将备份目标数据对应的目标数据文件从第一数据存储节点复制至第二数据存储节点。
本说明书实施例在备份节点重新启动的情况下,不会重新对数据存储节点中的物理文件进行重新写入的操作,而是将第一存储节点中的目标数据文件复制到第二存储节点中,可以做到数据存储节点中的物理文件完全复用,降低了系统的资源开销。
进一步地,所述根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据,包括:
所述备份节点将所述备份预写日志中的预写信息,与所述主节点的预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述备份目标数据。
其中,差异信息可以表示备份预写日志和主节点的预写日志中未同步的预写信息。
沿用上例,主节点的预写日志中存在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,还被配置为:
所述备份节点将所述备份预写日志中的预写信息,与所述主节点的预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述备份目标数据。
本说明书实施例提供一种数据库处理装置,主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,目标数据文件存储在第一数据存储节点中,备份节点在检测到预写日志更新的情况下,根据预写日志对备份目标数据进行处理,并从第一数据存储节点,复制目标数据文件至第二数据存储节点。因此,备份节点在根据预写日志对备份目标数据进行处理的过程中,不会重新对数据存储节点中的物理文件进行重新写入的操作,而是将第一存储节点中的目标数据文件复制到第二存储节点中,可以做到数据存储节点中的物理文件完全复用,降低了数据备份时的延迟,降低了系统的资源开销。
上述为本实施例的一种数据库处理装置的示意性方案。需要说明的是,该数据库处理装置的技术方案与上述的数据库处理方法的技术方案属于同一构思,数据库处理装置的技术方案未详细描述的细节内容,均可以参见上述数据库处理方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据库处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据库处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据库处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据库处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据库处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据库处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据库处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据库处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据库处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种数据库处理方法,应用于分布式处理系统,所述系统包括主节点、备份节点、第一数据存储节点、第二数据存储节点,所述方法包括:
所述主节点根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述第一数据存储节点中;
所述备份节点在检测到所述预写日志更新的情况下,根据所述预写日志对备份目标数据进行处理,并从所述第一数据存储节点,复制所述目标数据文件至所述第二数据存储节点。
2.根据权利要求1所述的方法,还包括:
在所述主节点发生故障的情况下,所述备份节点响应于客户端的数据处理指令,对备份目标数据进行处理,生成备份预写日志,并将处理后的备份目标数据存储至所述第二数据存储节点中对应的目标数据文件中。
3.根据权利要求2所述的方法,还包括:
所述主节点在重新启动的情况下,读取所述备份节点的备份预写日志,并根据所述备份节点的备份预写日志和所述预写日志恢复所述主目标数据,并从所述第二数据存储节点,复制所述目标数据文件至所述第一数据存储节点。
4.根据权利要求3所述的方法,所述根据所述备份节点的备份预写日志和所述预写日志恢复所述主目标数据,包括:
所述主节点将所述备份预写日志中的预写信息,与所述预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述主目标数据。
5.根据权利要求1所述的方法,所述根据数据处理指令对主目标数据进行处理,生成预写日志,包括:
所述主节点对所述数据处理指令进行解析获得修改信息;
根据所述修改信息构造预写信息,并根据所述预写信息生成预写日志且对主目标数据进行修改。
6.根据权利要求1所述的方法,所述根据数据处理指令对主目标数据进行处理,生成预写日志,包括:
所述主节点对所述数据处理指令进行解析获得写入信息;
根据所述写入信息构造预写信息,并根据所述预写信息生成预写日志且生成所述主目标数据。
7.根据权利要求1所述的方法,所述根据所述预写日志对备份目标数据进行处理,包括:
所述备份节点根据所述预写日志生成备份预写日志,并根据所述备份预写日志对备份目标数据进行处理。
8.根据权利要求7所述的方法,所述根据所述备份预写日志对备份目标数据进行处理,包括:
所述备份节点根据所述备份预写日志获取预写信息,并根据所述预写信息对备份目标数据进行处理。
9.根据权利要求7所述的方法,还包括:
所述备份节点在重新启动的情况下,读取所述主节点的预写日志,并根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据,并从所述第一数据存储节点,复制所述目标数据文件至所述第二数据存储节点。
10.根据权利要求9所述的方法,所述根据所述主节点的预写日志和所述备份预写日志恢复所述备份目标数据,包括:
所述备份节点将所述备份预写日志中的预写信息,与所述主节点的预写日志中的预写信息进行对比得到差异信息,根据所述差异信息恢复所述备份目标数据。
11.一种数据库处理装置,应用于分布式处理系统,所述系统包括主节点、备份节点、第一数据存储节点、第二数据存储节点,所述装置包括:
主节点,被配置为根据数据处理指令对主目标数据进行处理,生成预写日志,并根据所述预写日志将修改后的主目标数据存储至对应的目标数据文件中,其中,所述目标数据文件存储在所述第一数据存储节点中;
备份节点,被配置为在检测到所述预写日志更新的情况下,根据所述预写日志对备份目标数据进行处理,并从所述第一数据存储节点,复制所述目标数据文件至所述第二数据存储节点。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述数据库处理方法的步骤。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述数据库处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210093311.1A CN114610532A (zh) | 2022-01-26 | 2022-01-26 | 数据库处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210093311.1A CN114610532A (zh) | 2022-01-26 | 2022-01-26 | 数据库处理方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610532A true CN114610532A (zh) | 2022-06-10 |
Family
ID=81859018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210093311.1A Pending CN114610532A (zh) | 2022-01-26 | 2022-01-26 | 数据库处理方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610532A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202588A (zh) * | 2022-09-14 | 2022-10-18 | 云和恩墨(北京)信息技术有限公司 | 数据存储方法及装置、数据恢复方法及装置 |
WO2024041433A1 (zh) * | 2022-08-24 | 2024-02-29 | 阿里云计算有限公司 | 数据处理方法以及装置 |
CN117666970A (zh) * | 2024-01-30 | 2024-03-08 | 杭州阿里云飞天信息技术有限公司 | 数据存储方法以及数据存储装置 |
WO2024078001A1 (zh) * | 2022-10-13 | 2024-04-18 | 华为技术有限公司 | 数据处理系统、数据处理方法、装置及相关设备 |
-
2022
- 2022-01-26 CN CN202210093311.1A patent/CN114610532A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024041433A1 (zh) * | 2022-08-24 | 2024-02-29 | 阿里云计算有限公司 | 数据处理方法以及装置 |
CN115202588A (zh) * | 2022-09-14 | 2022-10-18 | 云和恩墨(北京)信息技术有限公司 | 数据存储方法及装置、数据恢复方法及装置 |
WO2024078001A1 (zh) * | 2022-10-13 | 2024-04-18 | 华为技术有限公司 | 数据处理系统、数据处理方法、装置及相关设备 |
CN117666970A (zh) * | 2024-01-30 | 2024-03-08 | 杭州阿里云飞天信息技术有限公司 | 数据存储方法以及数据存储装置 |
CN117666970B (zh) * | 2024-01-30 | 2024-05-07 | 杭州阿里云飞天信息技术有限公司 | 数据存储方法以及数据存储装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114610532A (zh) | 数据库处理方法以及装置 | |
US11429305B2 (en) | Performing backup operations using replicas | |
US20150213100A1 (en) | Data synchronization method and system | |
CN107003890B (zh) | 高效地提供虚拟机参考点 | |
US9275060B1 (en) | Method and system for using high availability attributes to define data protection plans | |
CN114610533A (zh) | 数据库处理方法以及装置 | |
CN111078667A (zh) | 一种数据迁移的方法以及相关装置 | |
CN114661248B (zh) | 数据处理方法及装置 | |
JP2019527883A (ja) | データベースのデータ変更要求処理方法及び装置 | |
CN114415984B (zh) | 数据处理方法及装置 | |
CN113297173B (zh) | 分布式数据库集群管理方法及装置、电子设备 | |
CN116389233B (zh) | 容器云管理平台主备切换系统、方法、装置和计算机设备 | |
CN113297007A (zh) | 数据处理方法及装置 | |
CN113297159A (zh) | 数据存储方法以及装置 | |
CN111752892B (zh) | 分布式文件系统及其实现方法、管理系统、设备及介质 | |
US11042454B1 (en) | Restoration of a data source | |
CN113297168B (zh) | 分布式系统中数据迁移方法及装置 | |
WO2023019953A1 (zh) | 数据同步方法、系统、服务器及存储介质 | |
US7831782B1 (en) | Roll-back log to provide data consistency | |
CN111737043A (zh) | 数据库容灾方法、设备、服务器和存储介质 | |
CN114968656A (zh) | 一种数据回滚方法、装置、设备及介质 | |
CN114518978A (zh) | 数据处理方法及装置 | |
CN113467717B (zh) | 一种双机卷镜像管理方法、装置、设备及可读存储介质 | |
CN115114260B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN117032791A (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 |