CN114595096A - 数据库热备份的方法、装置、电子设备及存储介质 - Google Patents
数据库热备份的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114595096A CN114595096A CN202111154896.5A CN202111154896A CN114595096A CN 114595096 A CN114595096 A CN 114595096A CN 202111154896 A CN202111154896 A CN 202111154896A CN 114595096 A CN114595096 A CN 114595096A
- Authority
- CN
- China
- Prior art keywords
- data block
- database
- target
- data blocks
- target data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 111
- 230000008569 process Effects 0.000 claims abstract description 73
- 238000004806 packaging method and process Methods 0.000 claims description 20
- 238000012856 packing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 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/1448—Management of the data involved in backup or backup restore
-
- 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据库热备份的方法、装置、电子设备及存储介质,涉及数据库备份技术领域。该方法包括:方获取第一拷贝过程中待备份数据库中更新的数据块,并将所述数据块打包,获得至少一个目标数据块;获取第二拷贝过程中所述待备份数据库中的重做日志和归档日志;根据所述目标数据块、所述重做日志以及所述归档日志,更新所述目标数据库中的数据块,以使得所述目标数据库与所述待备份数据库中的数据块相同。本申请实施例通过在目标数据块拷贝过程中使用重做日志和归档日志,大量减少重做日志和归档日志的数量,缩短了归档日志应用的时间,相较于全程使用重做日志和归档日志,提高了备份的效率。
Description
技术领域
本申请涉及数据库备份技术领域,具体而言,本申请涉及一种数据库热备份的方法、装置、电子设备及存储介质。
背景技术
随着信息时代的来临,数据安全越来越受到人们的重视,数据备份可以说是保护数据安全的一种有效手段,目前数据库常见的数据备份方式包括逻辑备份和物理备份。
物理备份分为冷备份和热备份,冷备份是中在数据库关闭或静止的状态下进行文件复制,而热备份是在数据库运行时对数据库进行的备份。在数据库运行时,发生变更的数据会先写入缓冲区中,然后刷新到磁盘更新数据,同时会循环使用重做日志以及归档日志记录数据库的变更操作,在数据库热备份时基于重做日志以及归档日志进行数据备份。
当数据库中的事务量较大时,如在白天业务高峰时段,数据库中发生变更的数据较多,产生的重做日志以及归档日志的量很大,若要进行数据库备份,备份原数据库中的数据时所需要的时间较长,导致新数据库长时间不能就绪,影响数据库的使用,降低用户体验。
发明内容
本申请实施例提供了一种数据库热备份的方法、装置、电子设备及存储介质,可以解决上述问题。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种数据库热备份的方法,该方法包括:
获取第一拷贝过程中待备份数据库中更新的数据块,并将数据块打包,获得至少一个目标数据块;
获取第二拷贝过程中待备份数据库中的重做日志和归档日志;
根据目标数据块、重做日志以及归档日志,更新目标数据库中的数据块,以使得目标数据库与待备份数据库中的数据块相同;
第一拷贝过程为将待备份数据库中的预先确定的数据块拷贝至目标数据库;
第二拷贝过程为将目标数据块拷贝至目标数据库。
在一个可能的实现方式中,获取第一拷贝过程中待备份数据库中更新的数据块,并将数据块打包,获得至少一个目标数据块,包括:
在第一拷贝过程中记录更新的数据块的唯一标识;
在第一拷贝过程结束时,将已记录的唯一标识按更新的时间顺序排列,获得第一标识列表;
若确定第一标识列表不为空,则根据第一标识列表打包第一标识列表中记录的唯一标识对应的更新的数据块,获得至少一个目标数据块。
在另一个可能的实现方式中,根据第一标识列表打包第一标识列表中记录的唯一标识对应的更新的数据块,获得至少一个目标数据块,包括:
从第一标识列表中确定预设数量的唯一标识,根据确定的预设数量的唯一标识,确定待打包的数据块;
将待打包的数据块打包,获得目标数据块。
在又一个可能的实现方式中,将待打包的数据块打包,获得目标数据块,包括:
根据预设数量的唯一标识确定目标数据块的块头;
根据预设数量的唯一标识在第一标识列表中的排列顺序,将待打包的数据块排列在块头后,获得目标数据块。
在又一个可能的实现方式中,目标数据块的块头包括目标数据块的唯一标识、目标数据块的顺序号、目标数据块的块头长度、目标数据块打包的数据块的个数以及目标数据块打包的数据块的标识列表;
根据预设数量的唯一标识确定目标数据块的块头,包括:
将预设数量作为目标数据块打包的数据块的个数;
将预设数量的数据块的唯一标识按预设数量的数据块更新的时间顺序排列,获得第二标识列表,作为目标数据块打包的数据块的标识列表。
在又一个可能的实现方式中,根据目标数据块、重做日志以及归档日志,更新目标数据库中的数据块,包括:
根据目标数据块的块头,确定目标数据库中待更新的数据块;
将目标数据块中打包的数据块替换待更新的数据块,获得替换后的数据块;
根据重做日志以及归档日志,更新替换后的数据块。
根据本申请实施例的另一个方面,提供了一种数据库热备份的装置,该装置包括:
第一获取模块,用于获取第一拷贝过程中待备份数据库中更新的数据块,并将数据块打包,获得至少一个目标数据块;
第二获取模块,用于获取第二拷贝过程中待备份数据库中的重做日志和归档日志;
备份模块,用于根据目标数据块、重做日志以及归档日志,更新目标数据库中的数据块,以使得目标数据库与待备份数据库中的数据块相同;
第一拷贝过程为将待备份数据库中的预先确定的数据块拷贝至目标数据库;
第二拷贝过程为将目标数据块拷贝至目标数据库。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现上述数据库热备份的方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据库热备份的方法的步骤。
本申请实施例中通过获取待备份数据库中发生更新的数据块,并将更新的数据块打包获得目标数据块,将目标数据块拷贝至目标数据库中,可以非常快速的更新目标数据库中的数据块;通过在目标数据块拷贝过程中使用重做日志和归档日志,大量减少重做日志和归档日志的数量,缩短了归档日志应用的时间,相较于全程使用重做日志和归档日志,提高了备份的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的实现数据库热备份的系统架构示意图;
图2为本申请实施例提供的一种数据库热备份的流程示意图;
图3为本申请实施例提供的一种打包数据块的流程示意图;
图4为本申请实施例提供的一种第二拷贝过程的流程示意图;
图5为本申请实施例提供的一种数据块的结构示意图;
图6为本申请实施例提供的一种更新数据块的流程示意图;
图7为本申请实施例提供的一种数据库热备份的总流程示意图;
图8为本申请实施例提供的一种数据库热备份的装置的结构示意图;
图9为本申请实施例提供的一种数据库热备份的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“A”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合,也可以说是“按照数据结构来组合、存储和管理数据的仓库”。
数据块是数据库中分配、读取I/O的最小单元,由一个或多个操作系统块逻辑上组成的,是一个逻辑概念,本申请实施例中的数据块具体是指构成数据库文件的固定大小的数据块,大小一般为8KB或16KB等。
重做日志(Redo log),是物理格式的日志,记录的是物理数据页面发生修改的信息,即记录了对数据库的物理变更操作,以循环模式使用。
归档日志(Archive Log)是非活动的重做日志的备份,通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG归档模式时,会将重做日志的内容保存到归档日志中,在数据文件备份时,归档日志和重做日志可以完全恢复数据库。
数据库备份一般包括逻辑备份和物理备份,逻辑备份是指使用备份SQL语句,实现数据库数据的重现;物理备份是指将实际组成数据库的数据库文件从一处拷贝到另一处的备份过程。
物理备份可以分为冷备份和热备份,冷备份是中在数据库关闭或静止的状态下进行文件复制,而热备份是在数据库运行时对数据库进行的备份。
本申请实施例的应用场景是数据库热备份的过程中,现有技术中在数据库运行时,发生变更的数据块会先写入缓冲区中,然后刷新到磁盘来更新数据,同时会循环使用重做日志记录这些变更操作,并将重做日志的内容写入归档日志,在备份时通过重做日志和归档日志进行数据备份。
然而当数据库中的事务较多时,如在白天业务高峰时间段,数据库中发生变更的数据较多,产生的重做日志以及归档日志的量很大,若要进行数据库备份,备份原数据库中的数据时所需要的时间较长,导致新数据库长时间不能就绪,影响数据库的使用,降低用户体验。
本申请提供的数据库热备份的方法、装置、电子设备及存储介质,旨在解决现有技术的如上技术问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1为本申请实施例提供的实现数据库热备份的系统架构示意图,其中,执行引擎是数据库用于存储、处理和保护数据的核心服务,执行引擎处理相应事务后,会先将数据块存入中数据缓冲区,然后再刷新到数据库文件中。
在数据库备份时,执行引擎可以访问日志与恢复管理功能模块,日志与恢复管理访问Redo日志缓冲区,创建多个Redo日志文件和Redo日志归档文件,也即重做日志和归档日志。
本申请实施例新增数据块变更追踪模块,获取更新的数据块的唯一标识,并存入数据块变更索引文件中,本申请实施例提供的数据库热备份的方法即是对本部分内容的具体描述。
本申请实施例中提供了一种数据库热备份的方法,如图2所示,该方法包括:
S101、获取第一拷贝过程中待备份数据库中更新的数据块,并将数据块打包,获得至少一个目标数据块。
第一拷贝过程是指将待备份数据库中预先确定的数据块拷贝至目标数据库中,预先确定的数据块是指拷贝时确定的数据块,而因待备份数据库处于运行状态,且待备份数据库中的数据块是非常繁多的,拷贝需要一定时间,在这段时间内,已拷贝完成的数据块可能会因用户操作等原因发生更新,这些数据块即更新的数据块,获取第一拷贝过程中待备份数据库中更新的数据块,并将这些数据块打包,获得至少一个目标数据块,便于后续备份的过程。
S102、获取第二拷贝过程中待备份数据库中的重做日志和归档日志。
第二拷贝过程是将打包获得的目标数据块拷贝至目标数据库中,在此过程中,应用重做日志和归档日志记录在第二拷贝过程中发生更新的数据块,即在第二拷贝过程中获取重做日志和归档日志,而不是数据库热备份的全程使用重做日志和归档日志。
S103、根据目标数据块、重做日志以及归档日志,更新目标数据库中的数据块,以使得目标数据库与待备份数据库中的数据块相同。
将打包好的目标数据块拷贝至目标数据库后,可以根据目标数据块更新目标数据库中目标数据块打包的数据块,具体的过程在后续的实施例中进行描述。当然,获取到的重做日志以及归档日志当然也需要拷贝至目标数据库中,在目标数据库中应用归档日志将目标数据库中恢复数据,使得目标数据库中的数据块与待备份数据库中的数据块相同,目标数据库与待备份数据库处于一致状态,完成数据库的热备份,具体的过程为现有技术,本申请实施例不作具体限定。
本申请实施例通过获取待备份数据库中发生更新的数据块,并将更新的数据块打包获得目标数据块,将目标数据块拷贝至目标数据库中,可以非常快速的更新目标数据库中的数据块;通过在目标数据块拷贝过程中使用重做日志和归档日志,大量减少重做日志和归档日志的数量,缩短了归档日志应用的时间,相较于全程使用重做日志和归档日志,提高了备份的效率。
本申请实施例中提供了一种可能的实现方式,如图3所示,获取第一拷贝过程中待备份数据库中更新的数据块,并将数据块打包,获得目标数据块,包括:
S201、在第一拷贝过程中记录更新的数据块的唯一标识。
在数据库的存储引擎层,为了保证数据的可靠性,以及数据写入的速度,一般会引入数据缓冲区,即数据是先缓存于数据缓冲区中,再刷新到磁盘中,因此,本申请实施例在第一拷贝过程中可以在数据缓冲区中获取到更新的数据块的唯一标识。
数据块的唯一标识可以包括该数据块所在数据库文件中的顺序标号、文件编号等,可以标识该数据块在数据库中的位置,根据唯一标识可以快速准确的确定该数据块。
S202、在第一拷贝过程结束时,将已记录的唯一标识按更新的时间顺序排列,获得第一标识列表。
应当理解,在第一拷贝过程中是不断获取并记录更新的数据块的唯一标识的,在第一拷贝过程结束时,可以将已记录的唯一标识按照更新的时间顺序进行排列,获得第一标识列表,具体地,例如可以设置数据块变更跟踪接口getBlockIdIdsByNum获取标识列表<fileId,blockId>,本申请实施例不作具体限定。
S203、若确定第一标识列表不为空,则根据第一标识列表打包第一标识列表中记录的唯一标识对应的更新的数据块,获得至少一个目标数据块。
若确定第一标识列表不为空,即<fileId,blockId>列表长度不为0,其中记录了更新的数据块的唯一标识,则可以根据<fileId,blockId>列表,将<fileId,blockId>列表中记录的唯一标识对应的更新的数据块打包,获得至少一个目标数据块。
图4为本申请实施例提供的一种第二拷贝过程的流程示意图,如图4所示,先调用数据块变更追踪接口getBlockIdIdsByNum获取<fileId,blockId>列表,然后判断获取到的<fileId,blockId>列表的长度是否为0,若是表示没有数据块发生变更,则结束;若否,则构建目标数据块Chunk的块头Chunk头,然后循环调用数据库接口函数读取<fileId,blockId>列表中记录的数据块,追加到Chunk头排列,最后将Chunk传输至目标数据库中。
本申请实施例通过记录第一拷贝过程中更新的数据块的唯一标识,并按更新的时间顺序构成标识列表,可以准确确定并打包更新的数据块,避免遗漏某些数据块,导致数据错乱的问题。
本申请实施例中还提供了一种可能的实现方式,根据第一标识列表打包第一标识列表中记录的唯一标识对应的更新的数据块,获得至少一个目标数据块,包括:
从第一标识列表中确定预设数量的唯一标识,根据确定的预设数量的唯一标识,确定待打包的数据块;
将待打包的数据块打包,获得目标数据块。
应当理解,若发生更新的数据块较少,即第一标识列表中记录的更新的数据块的唯一标识较少,可以将第一标识列表中记录的唯一标识都取出,根据取出的唯一标识确定待打包的数据块;若记录的更新的数据块的唯一标识较多,即待打包的数据块较多,此时可以每次取出预设数量的唯一标识,根据预设数量的唯一标识确定待打包的数据块,预设数量可以根据实际情况确定,本申请实施例不作具体限定。
具体地,可以调用预设的数据库接口,根据取出的唯一标识读取唯一标识对应的数据块,例如从<fileId,blockId>列表中取出<1,2>、<1,3>、<2,2>、<3,2>等唯一标识,根据这些唯一标识确定对应的数据块的位置,读取对应的数据块。然后可以将这些数据块进行打包,获得目标数据块,具体的过程在后续的实施例中进行描述。
本申请实施例通过从第一标识列表中确定预设数量的唯一标识,确定待打包的数据块,可以结合实际情况中更新的数据块的数量,确定目标数据块的数量,并可以实时调整,提高了数据块打包的效率。
本申请实施例中还提供了一种可能的实现方式,将待打包的数据块打包,获得目标数据块,包括:
根据预设数量的唯一标识确定目标数据块的块头;
根据预设数量的唯一标识在第一标识列表中的排列顺序,将预设数量的数据块排列在块头后,获得目标数据块。
图5为本申请实施例提供的一种数据块的结构示意图,如图4所示,目标数据块包括块头和连续的待打包的数据块组成,即目标数据块Chunk的块头为Chunk头,连接在Chunk头后的数据块包括BlockId1 Data、BlockId2 Data、BlockId3 Data、……、BlockIdn Data。
目标数据块的块头也可以说是目标数据块的唯一标识,可以根据该目标数据块打包的数据块的唯一标识来确定,具体如何确定的在后续的实施例中进行描述。
在确定目标数据块的块头后,可以将待打包的数据块按照待打包的数据块的唯一标识在第一标识列表中相应的排列顺序,排列在开头后,构成目标数据块。
本申请实施例通过待打包的数据块的唯一标识,确定目标数据块的块头,并按照待打包的数据块的唯一标识在第一标识列表中的排列顺序排列在块头后构成目标数据块,可以非常快速的打包数据块,并且有序排列,便于后续更新目标数据库中的数据块。
本申请实施例中还提供了一种可能的实现方式,目标数据块的块头包括目标数据块的唯一标识、目标数据块的顺序号、目标数据块打包的数据块的个数以及目标数据块打包的数据块的标识列表;
根据预设数量的唯一标识确定目标数据块的块头,包括:
将预设数量作为目标数据块打包的数据块的个数;
将预设数量的数据块的唯一标识按预设数量的数据块更新的时间顺序排列,获得第二标识列表,作为目标数据块打包的数据块的标识列表。
例如,如下所示为目标数据块Chunk的块头Chunk头所包含的内容:
(1)Chunk头关键字,是预设的固定值,如0xFEFEFEFE,目的是整齐排列多个目标数据块,占4字节。
(2)Chunk头长度,具体值为打包的数据块个数*8+16,占4字节。
(3)Chunk头顺序号,为从1开始递增的常数,目的是顺序排列多个目标数据块,占4字节。
(4)Chunk中打包的数据块的个数,占4字节。
(5)Chunk中打包的数据块的标识列表,其中每个<fileId,blockIdId>按照更新顺序排列。
本申请实施例中通过待打包的数据块的唯一标识的个数、排列顺序等确定目标数据块的块头,可以唯一的标识目标数据块,并便于后续更新目标数据库中的数据块。
本申请实施例中还提供了一种可能的实现方式,如图6所示,根据目标数据块、重做日志以及归档日志,更新目标数据库中的数据块,包括:
S301、根据目标数据块的块头,确定目标数据库中待更新的数据块;
S302、将目标数据块中打包的数据块替换待更新的数据块,获得替换后的数据块;
S303、根据重做日志以及归档日志,更新替换后的数据块。
具体地,可以根据目标数据块的块头中包含的该目标数据块打包的数据块的标识列表,确定待更新的数据块在目标数据库中位置,然后将目标数据块中打包的数据块替换对应的待更新的数据块,获得替换后的数据块。
应当注意的是,还需根据重做日志以及归档日志,更新替换后的数据块,因为将目标数据块从待备份数据库拷贝至目标数据库的过程中,随着待备份数据块的运行,已打包的数据块也可能发生变更,所以可以根据重做日志以及归档日志更新替换后的数据块,使得目标数据库与待备份数据块中所有的数据块保持一致。
本申请实施例中还提供了一种可能的实现方式,图7为本申请实施例提供的一种数据库热备份的总流程示意图,如图7所示,待备份数据库与目标数据库之间相互交互实现数据库热备份的过程。
具体地,目标数据库向待备份数据库请求备份;
待备份数据块启动数据变更追踪,然后拷贝预先确定的数据块至目标数据库中,也即第一拷贝过程;在第一拷贝过程结束后,停止数据块变更追踪,然后启动Redo日志归档;拷贝目标数据块至目标数据库中,即第二拷贝过程;
目标数据库可以根据目标数据块替换对应的数据块,也即更新目标数据库中的数据块;
待备份数据库中第二拷贝过程结束后,停止Redo日志归档,然后将重做日志以及归档日志拷贝至目标数据库中;
目标数据库可以应用重做日志和归档日志,恢复成语待备份数据库相同的状态。
本申请实施例提供了一种数据库热备份的装置,如图8所示,该装置可以包括:第一获取模块110、第二获取模块120以及备份模块130,其中:
第一获取模块110,用于获取第一拷贝过程中待备份数据库中更新的数据块,并将数据块打包,获得至少一个目标数据块;
第二获取模块120,用于获取第二拷贝过程中待备份数据库中的重做日志和归档日志;
备份模块130,用于根据目标数据块、重做日志以及归档日志,更新目标数据库中的数据块,以使得目标数据库与待备份数据库中的数据块相同;
第一拷贝过程为将待备份数据库中的预先确定的数据块拷贝至目标数据库;
第二拷贝过程为将目标数据块拷贝至目标数据库。
本申请实施例提供的数据库热备份的装置,具体执行上述方法实施例流程,具体请详见上述数据库热备份的方法实施例的内容,在此不再赘述。本申请实施例提供的数据库热备份的装置,通过获取待备份数据库中发生更新的数据块,并将更新的数据块打包获得目标数据块,将目标数据块拷贝至目标数据库中,可以非常快速的更新目标数据库中的数据块;通过在目标数据块拷贝过程中使用重做日志和归档日志,大量减少重做日志和归档日志的数量,缩短了归档日志应用的时间,相较于全程使用重做日志和归档日志,提高了备份的效率。
在一个可能的实现方式中,第一获取模块110包括:
记录模块,用于在第一拷贝过程中记录更新的数据块的唯一标识;
排列模块,用于在第一拷贝过程结束时,将已记录的唯一标识按更新的时间顺序排列,获得第一标识列表;
打包模块,用于若确定第一标识列表不为空,则根据第一标识列表打包第一标识列表中记录的唯一标识对应的更新的数据块,获得至少一个目标数据块。
在另一个可能的实现方式中,打包模块包括:
确定子单元,用于从第一标识列表中确定预设数量的唯一标识,根据确定的预设数量的唯一标识,确定待打包的数据块;
将待打包的数据块打包,获得目标数据块。
在又一个可能的实现方式中,确定子单元包括:
打包子单元,用于根据预设数量的唯一标识确定目标数据块的块头;
根据预设数量的唯一标识在第一标识列表中的排列顺序,将待打包的数据块排列在块头后,获得目标数据块。
在又一个可能的实现方式中,目标数据块的块头包括目标数据块的唯一标识、目标数据块的顺序号、目标数据块的块头长度、目标数据块打包的数据块的个数以及目标数据块打包的数据块的标识列表,打包子单元包括:
块头子单元,用于将预设数量作为目标数据块打包的数据块的个数;
将预设数量的数据块的唯一标识按预设数量的数据块更新的时间顺序排列,获得第二标识列表,作为目标数据块打包的数据块的标识列表。
在又一个可能的实现方式中,备份模块130包括:
替换模块,用于根据目标数据块的块头,确定目标数据库中待更新的数据块;
将目标数据块中打包的数据块替换待更新的数据块,获得替换后的数据块;
根据重做日志以及归档日志,更新替换后的数据块。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现数据库热备份的方法的步骤,与现有技术相比可实现:通过获取待备份数据库中发生更新的数据块,并将更新的数据块打包获得目标数据块,将目标数据块拷贝至目标数据库中,可以非常快速的更新目标数据库中的数据块;通过在目标数据块拷贝过程中使用重做日志和归档日志,大量减少重做日志和归档日志的数量,缩短了归档日志应用的时间,相较于全程使用重做日志和归档日志,提高了备份的效率。
在一个可选实施例中提供了一种电子设备,如图9所示,图9所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (9)
1.一种数据库热备份的方法,其特征在于,所述方法包括:
获取第一拷贝过程中待备份数据库中更新的数据块,并将所述数据块打包,获得至少一个目标数据块;
获取第二拷贝过程中所述待备份数据库中的重做日志和归档日志;
根据所述目标数据块、所述重做日志以及所述归档日志,更新所述目标数据库中的数据块,以使得所述目标数据库与所述待备份数据库中的数据块相同;
所述第一拷贝过程为将所述待备份数据库中的预先确定的数据块拷贝至所述目标数据库;
所述第二拷贝过程为将所述目标数据块拷贝至所述目标数据库。
2.根据权利要求1所述的数据库热备份的方法,其特征在于,所述获取第一拷贝过程中待备份数据库中更新的数据块,并将所述数据块打包,获得至少一个目标数据块,包括:
在所述第一拷贝过程中记录所述更新的数据块的唯一标识;
在所述第一拷贝过程结束时,将已记录的唯一标识按更新的时间顺序排列,获得第一标识列表;
若确定所述第一标识列表不为空,则根据所述第一标识列表打包所述第一标识列表中记录的唯一标识对应的所述更新的数据块,获得所述至少一个目标数据块。
3.根据权利要求2所述的数据库热备份的方法,其特征在于,所述根据所述第一标识列表打包所述第一标识列表中记录的唯一标识对应的所述更新的数据块,获得所述至少一个目标数据块,包括:
从所述第一标识列表中确定预设数量的唯一标识,根据所述确定的预设数量的唯一标识,确定待打包的数据块;
将所述待打包的数据块打包,获得所述目标数据块。
4.根据权利要求3所述的数据库热备份的方法,其特征在于,所述将所述待打包的数据块打包,获得所述目标数据块,包括:
根据所述预设数量的唯一标识确定所述目标数据块的块头;
根据所述预设数量的唯一标识在所述第一标识列表中的排列顺序,将所述待打包的数据块排列在所述块头后,获得所述目标数据块。
5.根据权利要求4所述的数据库热备份的方法,其特征在于,所述目标数据块的块头包括所述目标数据块的唯一标识、所述目标数据块的顺序号、所述目标数据块的块头长度、所述目标数据块打包的数据块的个数以及所述目标数据块打包的数据块的标识列表;
根据所述预设数量的唯一标识确定所述目标数据块的块头,包括:
将所述预设数量作为所述目标数据块打包的数据块的个数;
将所述预设数量的数据块的唯一标识按所述预设数量的数据块更新的时间顺序排列,获得第二标识列表,作为所述目标数据块打包的数据块的标识列表。
6.根据权利要求1或5所述的数据库热备份的方法,其特征在于,所述根据所述目标数据块、所述重做日志以及所述归档日志,更新所述目标数据库中的数据块,包括:
根据所述目标数据块的块头,确定所述目标数据库中待更新的数据块;
将所述目标数据块中打包的数据块替换所述待更新的数据块,获得替换后的数据块;
根据所述重做日志以及归档日志,更新所述替换后的数据块。
7.一种数据库热备份的装置,其特征在于,所述装置包括:
第一获取模块,用于获取第一拷贝过程中待备份数据库中更新的数据块,并将所述数据块打包,获得至少一个目标数据块;
第二获取模块,用于获取第二拷贝过程中所述待备份数据库中的重做日志和归档日志;
备份模块,用于根据所述目标数据块、所述重做日志以及所述归档日志,更新所述目标数据库中的数据块,以使得所述目标数据库与所述待备份数据库中的数据块相同;
所述第一拷贝过程为将所述待备份数据库中的预先确定的数据块拷贝至所述目标数据库;
所述第二拷贝过程为将所述目标数据块拷贝至所述目标数据库。
8.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-6任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的数据库热备份的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154896.5A CN114595096A (zh) | 2021-09-29 | 2021-09-29 | 数据库热备份的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154896.5A CN114595096A (zh) | 2021-09-29 | 2021-09-29 | 数据库热备份的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114595096A true CN114595096A (zh) | 2022-06-07 |
Family
ID=81813869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111154896.5A Pending CN114595096A (zh) | 2021-09-29 | 2021-09-29 | 数据库热备份的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114595096A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454717A (zh) * | 2022-09-16 | 2022-12-09 | 广州鼎甲计算机科技有限公司 | 数据库实时备份方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080235291A1 (en) * | 2007-01-29 | 2008-09-25 | Tirthankar Lahiri | Readable physical storage replica and standby database system |
CN105955843A (zh) * | 2016-04-21 | 2016-09-21 | 久盈世纪(北京)科技有限公司 | 一种用于数据库恢复的方法与设备 |
CN107454161A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种数据备份方法及装置 |
US20190095297A1 (en) * | 2017-09-22 | 2019-03-28 | Oracle International Corporation | Method and system for automatic maintenance of standby databases for non-logged workloads |
-
2021
- 2021-09-29 CN CN202111154896.5A patent/CN114595096A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080235291A1 (en) * | 2007-01-29 | 2008-09-25 | Tirthankar Lahiri | Readable physical storage replica and standby database system |
CN105955843A (zh) * | 2016-04-21 | 2016-09-21 | 久盈世纪(北京)科技有限公司 | 一种用于数据库恢复的方法与设备 |
CN107454161A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种数据备份方法及装置 |
US20190095297A1 (en) * | 2017-09-22 | 2019-03-28 | Oracle International Corporation | Method and system for automatic maintenance of standby databases for non-logged workloads |
Non-Patent Citations (1)
Title |
---|
"Oracle 数据库的备份与恢复", 网络与信息工程, no. 23, 31 December 2013 (2013-12-31) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454717A (zh) * | 2022-09-16 | 2022-12-09 | 广州鼎甲计算机科技有限公司 | 数据库实时备份方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11385840B2 (en) | Multi-tiered data storage with archival blockchains | |
US7421551B2 (en) | Fast verification of computer backup data | |
KR101769448B1 (ko) | 주석이 달린 극소 기록 작동을 수행하기 위한 방법 및 장치 | |
US20170083412A1 (en) | System and method for generating backups of a protected system from a recovery system | |
EP3101545B1 (en) | System and method for generating backups of a protected system from a recovery system | |
US20140325115A1 (en) | Conditional Iteration for a Non-Volatile Device | |
CN108733306B (zh) | 一种文件合并方法及装置 | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
CN109284066B (zh) | 一种数据处理方法、装置、设备及系统 | |
CN111506253A (zh) | 一种分布式存储系统及其存储方法 | |
CN110019063B (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
CN111158858B (zh) | 一种虚拟机的克隆方法和装置,及计算机可读存储介质 | |
CN114595096A (zh) | 数据库热备份的方法、装置、电子设备及存储介质 | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
CN102495838B (zh) | 数据处理方法及装置 | |
US20120144136A1 (en) | Restoration of data from a backup storage volume | |
CN114780489B (zh) | 一种实现分布式块存储底层gc的方法及装置 | |
CN103064762B (zh) | 重删备份数据的恢复方法和装置 | |
JPH033046A (ja) | ログ記録管理方式 | |
CN115878580A (zh) | 一种日志管理方法及装置 | |
US20030033440A1 (en) | Method of logging message activity | |
CN114442919B (zh) | 将容器索引写入持久性存储装置 | |
CN114442917B (zh) | 用于存储系统的方法、可读介质以及存储系统 | |
CN114880277B (zh) | 块设备快照方法、系统和存储介质 | |
CN113868016A (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 |