CN110543386A - 一种数据存储方法、装置、设备和存储介质 - Google Patents
一种数据存储方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110543386A CN110543386A CN201910870031.5A CN201910870031A CN110543386A CN 110543386 A CN110543386 A CN 110543386A CN 201910870031 A CN201910870031 A CN 201910870031A CN 110543386 A CN110543386 A CN 110543386A
- Authority
- CN
- China
- Prior art keywords
- log
- database
- sequence number
- backup
- 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.)
- Granted
Links
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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储方法、装置、设备和存储介质。其中,该方法包括:向备份数据库发送重做日志,确定所述重做日志的日志序号,以使备份数据库基于所述重做日志进行数据备份;接收备份数据库执行数据备份后的执行反馈信息;根据执行反馈信息将日志序号对应的目标数据页刷盘。本发明实施例的技术方案,通过在备份数据库根据重做日志备份数据后,主数据库将重做日志对应的数据页刷盘,保持读写分离数据库集群中主备数据库的数据存储一致,提高了数据库存储的安全性,可提高读写分离数据库集群的鲁棒性。
Description
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种数据存储方法、装置、设备和存储介质。
背景技术
数据库应用系统中查询等只读操作的执行次数远高于增加、删除、修改等数据修改操作的执行次数。为了提高数据库系统的性能,大量数据库产品推出了读写分离数据库集群,主数据库提供完整的数据库功能,备份数据提供只读的查询操作,通过中间件或者数据库接口,将只读操作自动分发到备份数据执行,利用备份数据的硬件资源降低主数据库的并发访问压力,进而提升数据库的数据吞吐量。
现有读写分离数据库集群中通过重做日志实现主数据库和备份数据库的数据同步,主数据库在将重做日志刷写入日志文件后,将重做日志发送到备份数据库,备份数据库执行重做日志中记录完成主数据库和备份数据库的数据同步。但是当主数据库在将重做日志发送给备份数据库之前发生故障时,由于备份数据库被切换为主数据库,故障数据库的数据未及时同步到备份数据库,当故障主数据库重启时,由于故障主数据库存储有读写分离数据库集群中其他数据库不存在的数据,故障主数据库无法重新加入到读写分离数据库集群中,造成读写分离集群数据库分裂的问题。
发明内容
本发明提供一种数据存储方法、装置、设备和存储介质,以实现读写分离数据库中数据的同步,提高数据同步的准确性,防止数据库故障导致库分裂,提高了读写分离数据库集群的鲁棒性。
第一方面,本发明实施例提供了一种数据存储方法,该方法包括:
向备份数据库发送重做日志,确定所述重做日志的日志序号,以使备份数据库基于所述重做日志进行数据备份;
接收备份数据库执行数据备份后的执行反馈信息;
根据执行反馈信息将日志序号对应的目标数据页刷盘。
第二方面,本发明实施例还提供了一种数据存储装置,该装置包括:
日志发送模块,用于向备份数据库发送重做日志,确定所述重做日志的日志序号,以使备份数据库基于所述重做日志进行数据备份;
信息接收模块,用于接收备份数据库执行数据备份后的执行反馈信息;
数据页刷盘模块,用于根据执行反馈信息将日志序号对应的目标数据页刷盘。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的数据存储方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明实施例中任一所述的数据存储方法。
本发明实施例的技术方案,通过向备份数据库发送重做日志,并确定重做日志的日志序号,备份数据库根据重做日志进行数据备份,接收备份数据库执行数据备份后的执行反馈信息,当执行反馈信息满足刷盘条件时,根据执行反馈信息将日志序号对应的目标数据页刷盘。本发明实施例通过在数据页刷盘之前由备份数据库根据重做日志完成数据备份,实现了读写分离数据库集群的数据存储,可以防止主数据库和备份数据库数据存储不一致的问题,提高了读写分离数据库集群的鲁棒性。
附图说明
图1是本发明实施例一提供的一种数据存储方法的步骤流程图;
图2是本发明实施例二提供的一种数据存储方法的步骤流程图;
图3是本发明实施例二提供的一种重做日志确定的流程图;
图4是本发明实施例二提供的一种数据存储方法的示例图;
图5是本发明实施例三提供的一种数据存储装置的结构示意图;
图6是本发明实施例四提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1是本发明实施例一提供的一种数据存储方法的步骤流程图,本实施例可适用于读写分离数据库集群中数据存储的情况,该方法可以由数据存储装置来执行,该装置可以采用硬件和/或软件的方式来实现,参见图1,本发明实施例具体包括如下步骤:
步骤101、向备份数据库发送重做日志,确定所述重做日志的日志序号,以使备份数据库基于所述重做日志进行数据备份。
其中,备份数据库可以是读写分离数据库集群中的备份数据库,备份数据库可以根据主数据库发送的日志进行备份数据,保持备份数据库与主数据库数据的一致性,重做日志可以是备份数据进行数据备份的日志,重做日志可以包括数据操作记录,例如可以包括增删改查等数据操作和数据对象的记录,重做日志中的每条记录可以对应一条记录日志。日志序号可以是用于表征重做日志内的记录范围,可以具体是记录的记录序号范围。
具体的,主数据库可以向备份数据库发送重做日志,主数据库可以记录发送的重做日志的日志序号,日志序号用于确定备份数据记录的范围,备份数据库在接收到重做日志后,可以根据重做日志内的操作记录对数据进行操作,对备份数据库内存储的数据进行更新以保持与主数据存储数据的一致性。
步骤102、接收备份数据库执行数据备份后的执行反馈信息。
其中,执行反馈信息可以是由备份数据库发送的反馈信息,可以用于表征备份数据库根据重做日志执行数据备份的情况,执行反馈信息可以是文字、字母、或者数字形式的标记,例如,当备份数据库根据重做日志成功数据备份时,执行反馈信息可以为1,当备份数据库根据重做日志未成功数据备份时,可以将执行反馈信息确定为0。
本发明实施例中,主数据库在发送备份日志后,可以等待接收备份数据库发送的执行反馈信息,执行反馈信息可以由备份数据库生成,备份数据库根据重做日志的执行结果确定对应的执行反馈信息。示例性的,主数据库在发送重做日志后,可以启动监听线程对备份数据库发送的执行反馈信息进行监测以获取执行反馈信息。
步骤103、根据执行反馈信息将日志序号对应的目标数据页刷盘。
其中,目标数据页指备份数据库已成功备份的重做日志在主数据库中对应的数据页,目标数据页可以存储在主数据库的缓存中,数据页可以存储有重做日志中操作记录的记录序号,例如,当重做日志的日志序号包括与数据页存储的记录序号时,可以确定数据页为重做日志对应的目标数据页。
具体的,可以确定执行反馈信息的内容,例如,执行反馈信息为TRUE或者备份数据库已执行重做日志的日志记录序号最大值,可以确定执行反馈信息对应的数据页可以进行刷盘;可以获取数据页中的记录序号,通过判断记录序号与日志序号的关系确定目标数据页,可以将日志序号对应的目标数据页刷写到磁盘进行持久化存储。可以理解的是,数据页中存储有记录序号,例如,记录A对应生成的数据存储在数据页b中,数据页b可以存储有记录A的记录序号,当重做日志C的日志序号包括A时,可以确定数据页b为目标数据页。
本发明实施例的技术方案,通过向备份数据库发送重做日志,确定重做日志的日志序号,备份数据库根据重做日志进行数据备份,接受备份数据库执行数据备份后的执行反馈信息,可以根据执行反馈信息将日志序号对应的目标数据页进行刷盘,通过确定备份数据库执行重做日志后,对重做日志对应的数据页进行刷盘,确保主数据库故障时,读写分离数据库集群中主数据库和备份数据库存储的数据一致,可以防止数据库分裂,提高了读写分离数据库集群的鲁棒性。
进一步的,在上述发明实施例的基础上,还包括:
检测到故障恢复时,获取故障主数据库发生故障前生成的最后一批日志作为故障日志;对故障日志进行处理作为重做日志。
其中,故障恢复可以是指发送故障的主数据库在重新加入到读写分离数据库集群时,故障日志可以是主数据库发生故障时生成的操作日志。
在本发明实施例中,读写分离数据库集群中主数据库可以执行读写操作,备份数据库可以执行读操作,当主数据库发生故障时,可以将备份数据库切换为主数据库执行读写操作,当故障主数据库的故障恢复时,可以作为执行读操作的备份数据库重新加入到读写分离数据库集群。由于主数据库发生故障时,重做日志可能尚未发送,备份数据库根据重做日志进行数据备份,导致主数据库可能存储备份数据库不存在的数据,此时,可以对发生故障时的故障日志进行处理,将处理后的故障日志作为重做日志实现与备份数据库的数据同步,例如,可以将备份数据库未收到重做日志的操作记录删除。
实施例二
图2是本发明实施例二提供的一种数据存储方法的步骤流程图,本发明实施例是以上述发明实施例为基础的具体化,参见图2,本发明实施例的方法包括:
步骤201、向备份数据库发送重做日志,获取重做日志内各记录信息的记录序号。
其中,记录信息可以是重做日志中的操作记录的信息,记录信息具体可以是主数据库进行数据操作形成的操作记录,记录序号可以是重做日志中对应操作记录的序号,重做日志中各操作记录可以分别对应各自记录序号。
具体的,读写分离数据库中主数据库可以向备份数据库发送重做日志,可以分别获取重做日志中记录信息对应的记录序号。
步骤202、将各记录序号中最小记录序号作为日志序号。
其中,最小记录序号可以是重做日志中记录序号值最小的记录序号,日志序号可以用于表征重做日志存储的记录信息。
具体的,可以将重做日志中各记录序号中的最小记录序号作为日志序号。示例性的,重做日志中记录信息的记录序号可以随着时间增长,重做日志每多一条记录信息,则记录信息对应的记录序号可以相应增加1,选择记录序号中最小记录序号作为日志序号时,可以直接获取重做日志中最先生成的记录信息对应的记录序号作为日志序号。
步骤203、接收备份数据库执行数据备份后的执行反馈信息。
具体的,主数据库在发送重做日志后,可以监听备份数据库发送的执行反馈信息,当备份数据库在根据重做日志执行数据备份后,可以接收到备份数据库发送的执行反馈信息。
步骤204、若执行反馈信息为日志执行成功,则将日志序号对应的目标数据页刷盘,否则,不对日志序号对应的目标数据页刷盘。
其中,日志执行成功可以是指备份数据库成功根据重做日志执行数据备份,执行反馈信息具体可以为备份数据库已备份日志记录的最大值,当主数据库接收到该反馈信息时,可以确定执行反馈信息为日志执行成功;日志执行失败,可以是指备份数据库未能根据重做日志成功进行数据备份,此时执行反馈信息具体可以为一个约定标记,例如可以为负数、字母或者文字等,当主数据库接收到的执行反馈信息为约定标记时,可以确定执行反馈信息为日志执行不成功。进一步的,备份数据库在数据备份前可以对重做日志进行合法校验,若重做日志未通过合法校验,备份数据库可以向主数据库发送日志执行不成功的执行反馈信息。
具体的,可以对接收到的执行反馈信息进行判断,若执行反馈信息为日志执行成功,可以将日志序号对应的数据页刷写到硬盘进行持久化存储,若接收到的执行反馈信息为日志执行不成功,那么主数据库不能将重做日志序号对应的数据页刷写入硬盘,需要等待备份数据库根据重做日志进行数据备份后再刷写到硬盘进行持久化存储,可以防止主数据持久化存储的数据因为故障问题无法同步到备份数据库,解决了读写分离数据库的库分裂问题。
可选的,将日志序号对应的目标数据页刷盘,包括:
将日志序号的序号值设置为执行反馈信息中已备份日志记录序号的最大值;所述已备份日志为备份数据库实现数据备份使用的重做日志;若数据页的各记录序号小于日志序号,则将数据页作为目标数据页刷盘。
其中,已备份日志可以是备份数据库进行数据备份已经执行过的重做日志,当备份数据库备份数据后可以将已经执行的重做日志的记录序号发送到主数据库。
具体的,当需要将数据页刷盘时,可以将日志序号的序号值设置为已备份日志记录序号最大值,根据日志序号的序号值对数据页进行判断,若数据页中存储数据对应的记录序号小于日志序号,则可以将数据页作为目标数据进行刷盘,若数据页中存储数据对应的记录序号大于或等于日志序号,则该数据页不为日志序号对应的目标数据页,不可以将该数据页进行刷盘。
步骤205、检测到故障恢复时,获取故障主数据库发生故障前生成的最后一批日志记录作为故障日志。
其中,日志记录可以是主数据库对数据操作生成的记录,可以是主数据库在发生故障时生成的记录,日志记录可以还未发送到备份数据库。
具体的,当故障主数据库恢复时,可以获取主数据库在发生故障前的生成的操作记录,可以将获取到的操作记录作为故障日志。
步骤206、提取故障日志内的起始记录序号,并获取读写分离数据库集群中故障切换时的切换记录序号。
其中,起始记录序号可以是故障日志中记录的第一条操作记录对应的记录序号,切换记录序号可以是发生故障时主数据库切换到备份数据库的操作对应的日志记录序号,切换记录序号可以存储在读写分离数据库集群联机日志中。
在本发明实施例中,读写分离数据库集群中负责读写的主数据库发生故障时,需要将负责读操作的备份数据切换为进行读写操作作为新的主数据库,当故障主数据库从故障状态恢复时,需要将故障主数据库重新加入读写分离数据库集群,此时,可以判断故障主数据库是否存储有读写分离数据库集群中未存储的数据,可以获取发生故障时故障主数据库生成的故障日志,以及进行故障切换时对应的切换记录,可以获取故障日志中第一条记录信息的记录序号和切换记录的记录序号。
步骤207、若切换记录序号大于起始记录序号,则将故障日志作为重做日志,并根据重做日志恢复数据。
具体的,将切换记录序号和起始记录序号进行对比,如果切换记录序号大于起始记录序号,可以说明故障主数据库在发生故障时,已经将重做日志发送到备份数据库,主数据库与备份数据库存储的数据一致,不存在库分裂问题,可以根据重做日志进行对应记录信息的数据操作以实现数据恢复。
步骤208、若切换记录序号小于或等于起始记录序号,则丢弃故障日志。
在本发明实施例中,将切换记录序号和起始记录序号对比,如果切换记录序号小于或等于起始记录序,可以确定故障主数据库在发生故障时,还未将故障发生前的最后一批日志(故障日志)发送给备份数据库,若根据故障日志进行数据备份,则导致备份数据库和主数据库的存储数据不一致,此时,可以将故障日志丢弃,故障主数据库不根据故障日志进行数据恢复,进一步的,还可以将读写分离数据库集群联机日志中对应故障日志的部分删除。
示例性的,图3是本发明实施例二提供的一种重做日志确定的流程图,参见图3,当主数据库故障重启时,主数据库可以加载故障时最后一批重做日志,获取故障切换时的日志序号,判断切换记录序号是否大于重做日志的起始记录序号,若是,则根据重做日志进行相应的数据操作以实现数据恢复,若否,则将重做日志丢弃,并截断读写分离数据库集群中联机日志文件。
本发明实施例的技术方案,通过向备份数据库发送重做日志,获取重做日志内记录信息的记录序号,将其中最小记录序号作为日志序号,接收备份数据库执行数据备份后的执行反馈信息,若执行反馈信息为日志执行成功,则将日志序号对应的目标数据页刷盘,否则,不对日志序号对应的目标数据页刷盘,检测到故障恢复时,获取故障发生时的故障日志并获取起始记录序号,获取故障切换时切换记录序号,当切换记录序号大于起始记录序号,则将故障日志作为重做日志,使得备份数据库根据重做日志进行数据备份,否则,丢弃故障日志。本发明实施例通过在确定备份数据库根据重做日志进行数据备份后,主数据库将重做日志对应的目标数据页刷盘,避免主数据库故障导致主数据库存储数据与备份数据库存储不一致,提高了读写分离数据库集群的鲁棒性,提高了数据存储的安全。
示例性的,图4是本发明实施例二提供的一种数据存储方法的示例图,参见图4,本发明实施例中主数据库在向备份数据库发送重做日志前,记录重做日志中的最小记录信息序号,赋给一个临时变量CMP_LSN存储;在备份数据库收到重做日志并响应主数据库前,主数据库不对数据页进行刷盘;主数据库收到备份数据库响应后,若备份数据库响应消息为成功,备份数据库向主数据库发送已备份日志记录序号的最大值,主数据库在接收到备份数据库反馈的信息后,将CMP_LSN改为已备份日志记录序号的最大值,其中,已备份日志可以是备份数据库数据备份时已经执行的重做日志;主数据库通过比较数据页的记录序号LSN和CMP_LSN确定数据页是否能刷盘,记录序号LSN小于CMP_LSN值的数据页才能刷盘。
实施例三
图5是本发明实施例三提供的一种数据存储装置的结构示意图,本发明实施例提供的数据存储装置可执行本发明任意实施例所提供的数据存储方法,具备执行方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:日志发送模块301、信息接收模块302和数据页刷盘模块303。
其中,日志发送模块301,用于向备份数据库发送重做日志,确定所述重做日志的日志序号,以使备份数据库基于所述重做日志进行数据备份。
信息接收模块302,用于接收备份数据库执行数据备份后的执行反馈信息。
数据页刷盘模块303,用于根据执行反馈信息将日志序号对应的目标数据页刷盘。
本发明实施例的技术方案,通过日志发送模块向备份数据库发送重做日志,并确定重做日志的日志序号,备份数据库根据重做日志进行数据备份,信息接收模块接收备份数据库执行数据备份后的执行反馈信息,数据页刷盘模块根据执行反馈信息将日志序号对应的目标数据页刷盘。本发明实施例通过在数据页刷盘之前由备份数据库根据重做日志完成数据备份,实现了读写分离数据库集群的数据存储,可以防止主数据库和备份数据库数据存储不一致的问题,提高了读写分离数据库集群的鲁棒性。
进一步的,在上述发明实施例的基础上,日志发送模块包括:
序号获取单元,用于获取重做日志内各记录信息的记录序号。
日志序号确定单元,用于将各记录序号中最小信息序号作为日志序号。
进一步的,在上述发明实施例的基础上,数据页刷盘模块包括:
刷盘执行单元,用于若执行反馈信息为日志执行成功,则将日志序号对应的目标数据页刷盘,否则,不对日志序号对应的目标数据页刷盘。
进一步的,在上述发明实施例的基础上,刷盘执行单元包括:
序号替换子单元,用于将日志序号的序号值设置为执行反馈信息中已备份日志记录序号的最大值;所述已备份日志为备份数据库实现数据备份使用的重做日志。
数据页确定子单元,用于若数据页的各记录序号小于日志序号,则将数据页作为目标数据页刷盘。
进一步的,在上述发明实施例的基础上,还包括:
故障检测模块,用于检测到故障恢复时,获取故障主数据库发生故障前生成的最后一批日志记录作为故障日志。
日志处理模块,用于对故障日志进行处理作为重做日志。
进一步的,在上述发明实施例的基础上,日志处理模块包括:
序号获取单元,用于提取故障日志内的起始记录序号,并获取读写分离数据库集群中故障切换时的切换记录序号。
第一处理单元,用于若切换记录序号大于起始记录序号,则将故障日志作为重做日志,并根据重做日志恢复数据。
第二处理单元,用于若切换记录序号小于或等于起始记录序号,则丢弃故障日志。
实施例四
图6是本发明实施例四提供的一种设备的结构示意图,如图6所示,该设备包括处理器40、存储器41、输入装置42和输出装置43;设备中处理器40的数量可以是一个或多个,图6中以一个处理器40为例;设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据存储方法对应的程序模块(例如,数据存储装置中的日志发送模块301、信息接收模块302和数据页刷盘模块303)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据存储方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据存储方法,该方法包括:
向备份数据库发送重做日志,确定所述重做日志的日志序号,以使备份数据库基于所述重做日志进行数据备份;
接收备份数据库执行数据备份后的执行反馈信息;
根据执行反馈信息将日志序号对应的目标数据页刷盘。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据存储方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据存储装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据存储方法,其特征在于,应用于读写分离数据库集群的主数据库,所述方法包括:
向备份数据库发送重做日志,确定所述重做日志的日志序号,以使备份数据库基于所述重做日志进行数据备份;
接收备份数据库执行数据备份后的执行反馈信息;
根据执行反馈信息将日志序号对应的目标数据页刷盘。
2.根据权利要求1所述的方法,其特征在于,所述确定所述重做日志的日志序号,包括:
获取重做日志内各记录信息的记录序号;
将各记录序号中最小记录序号作为日志序号。
3.根据权利要求1所述的方法,其特征在于,所述根据执行反馈信息将日志序号对应的目标数据页刷盘,包括:
若执行反馈信息为日志执行成功,则将日志序号对应的目标数据页刷盘,否则,不对日志序号对应的目标数据页刷盘。
4.根据权利要求3所述的方法,其特征在于,所述将日志序号对应的目标数据页刷盘,包括:
将日志序号的序号值设置为执行反馈信息中已备份日志记录序号的最大值;
所述已备份日志为备份数据库实现数据备份使用的重做日志;
若数据页的各记录序号小于日志序号,则将数据页作为目标数据页刷盘。
5.根据权利要求1所述的方法,其特征在于,还包括:
检测到故障恢复时,获取故障主数据库发生故障前生成的最后一批日志记录作为故障日志;
对故障日志进行处理作为重做日志。
6.根据权利要求5所述的方法,其特征在于,所述对故障日志进行处理作为重做日志,包括:
提取故障日志内的起始记录序号,并获取读写分离数据库集群中故障切换时的切换记录序号;
若切换记录序号大于起始记录序号,则将故障日志作为重做日志,并根据重做日志恢复数据;
若切换记录序号小于或等于起始记录序号,则丢弃故障日志。
7.一种数据存储装置,其特征在于,应用于读写分离数据库集群的主数据库,所述装置包括:
日志发送模块,用于向备份数据库发送重做日志,确定所述重做日志的日志序号,以使备份数据库基于所述重做日志进行数据备份;
信息接收模块,用于接收备份数据库执行数据备份后的执行反馈信息;
数据页刷盘模块,用于根据执行反馈信息将日志序号对应的目标数据页刷盘。
8.根据权利要求7所述的装置,其特征在于,所述日志发送模块包括:
序号获取单元,用于获取重做日志内各记录信息的记录序号;
日志序号确定单元,用于将各记录序号中最小信息序号作为日志序号。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的数据存储方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910870031.5A CN110543386B (zh) | 2019-09-16 | 2019-09-16 | 一种数据存储方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910870031.5A CN110543386B (zh) | 2019-09-16 | 2019-09-16 | 一种数据存储方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110543386A true CN110543386A (zh) | 2019-12-06 |
CN110543386B CN110543386B (zh) | 2022-06-10 |
Family
ID=68713677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910870031.5A Active CN110543386B (zh) | 2019-09-16 | 2019-09-16 | 一种数据存储方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543386B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046024A (zh) * | 2019-12-16 | 2020-04-21 | 上海达梦数据库有限公司 | 一种共享存储数据库的数据处理方法、装置、设备及介质 |
CN111158958A (zh) * | 2019-12-31 | 2020-05-15 | 广州鼎甲计算机科技有限公司 | 一种可快速恢复数据的备份方法、系统、装置及存储介质 |
CN112100141A (zh) * | 2020-09-11 | 2020-12-18 | 北京金山云网络技术有限公司 | 一种数据页处理方法、装置及系统 |
CN112182010A (zh) * | 2020-11-30 | 2021-01-05 | 北京金山云网络技术有限公司 | 脏页刷新方法和装置、存储介质和电子设备 |
CN112181722A (zh) * | 2020-09-16 | 2021-01-05 | 济南浪潮数据技术有限公司 | 一种数据备份及恢复方法、装置、设备及可读存储介质 |
CN112596953A (zh) * | 2020-12-25 | 2021-04-02 | 上海达梦数据库有限公司 | 数据库日志重演方法、装置、设备及存储介质 |
CN112612853A (zh) * | 2020-12-28 | 2021-04-06 | 深圳壹账通智能科技有限公司 | 基于数据库集群的数据处理方法、装置及电子设备 |
CN113553382A (zh) * | 2021-08-06 | 2021-10-26 | 上海达梦数据库有限公司 | 数据页的刷盘方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1454349A (zh) * | 2000-06-07 | 2003-11-05 | 处理存储器有限公司 | 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统 |
JP2005018509A (ja) * | 2003-06-27 | 2005-01-20 | Hitachi Ltd | 記憶システム、バックアップシステム及びバックアップ方法 |
CN103838642A (zh) * | 2012-11-26 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种数据恢复方法、装置和系统 |
CN106897338A (zh) * | 2016-07-04 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种针对数据库的数据修改请求处理方法及装置 |
CN107329861A (zh) * | 2017-06-12 | 2017-11-07 | 北京奇安信科技有限公司 | 一种多接口测试方法及装置 |
CN108073656A (zh) * | 2016-11-17 | 2018-05-25 | 杭州华为数字技术有限公司 | 一种数据同步方法及相关设备 |
CN108416040A (zh) * | 2018-03-14 | 2018-08-17 | 上海达梦数据库有限公司 | 一种数据库修复方法、装置、终端设备及存储介质 |
CN109308242A (zh) * | 2018-09-06 | 2019-02-05 | 上海达梦数据库有限公司 | 一种动态监控方法、装置、设备和存储介质 |
-
2019
- 2019-09-16 CN CN201910870031.5A patent/CN110543386B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1454349A (zh) * | 2000-06-07 | 2003-11-05 | 处理存储器有限公司 | 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统 |
JP2005018509A (ja) * | 2003-06-27 | 2005-01-20 | Hitachi Ltd | 記憶システム、バックアップシステム及びバックアップ方法 |
CN103838642A (zh) * | 2012-11-26 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种数据恢复方法、装置和系统 |
CN106897338A (zh) * | 2016-07-04 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种针对数据库的数据修改请求处理方法及装置 |
CN108073656A (zh) * | 2016-11-17 | 2018-05-25 | 杭州华为数字技术有限公司 | 一种数据同步方法及相关设备 |
CN107329861A (zh) * | 2017-06-12 | 2017-11-07 | 北京奇安信科技有限公司 | 一种多接口测试方法及装置 |
CN108416040A (zh) * | 2018-03-14 | 2018-08-17 | 上海达梦数据库有限公司 | 一种数据库修复方法、装置、终端设备及存储介质 |
CN109308242A (zh) * | 2018-09-06 | 2019-02-05 | 上海达梦数据库有限公司 | 一种动态监控方法、装置、设备和存储介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046024A (zh) * | 2019-12-16 | 2020-04-21 | 上海达梦数据库有限公司 | 一种共享存储数据库的数据处理方法、装置、设备及介质 |
CN111046024B (zh) * | 2019-12-16 | 2023-05-23 | 上海达梦数据库有限公司 | 一种共享存储数据库的数据处理方法、装置、设备及介质 |
CN111158958A (zh) * | 2019-12-31 | 2020-05-15 | 广州鼎甲计算机科技有限公司 | 一种可快速恢复数据的备份方法、系统、装置及存储介质 |
CN112100141A (zh) * | 2020-09-11 | 2020-12-18 | 北京金山云网络技术有限公司 | 一种数据页处理方法、装置及系统 |
CN112181722A (zh) * | 2020-09-16 | 2021-01-05 | 济南浪潮数据技术有限公司 | 一种数据备份及恢复方法、装置、设备及可读存储介质 |
CN112182010A (zh) * | 2020-11-30 | 2021-01-05 | 北京金山云网络技术有限公司 | 脏页刷新方法和装置、存储介质和电子设备 |
CN112182010B (zh) * | 2020-11-30 | 2021-03-12 | 北京金山云网络技术有限公司 | 脏页刷新方法和装置、存储介质和电子设备 |
CN112596953A (zh) * | 2020-12-25 | 2021-04-02 | 上海达梦数据库有限公司 | 数据库日志重演方法、装置、设备及存储介质 |
CN112596953B (zh) * | 2020-12-25 | 2023-08-29 | 上海达梦数据库有限公司 | 数据库日志重演方法、装置、设备及存储介质 |
CN112612853A (zh) * | 2020-12-28 | 2021-04-06 | 深圳壹账通智能科技有限公司 | 基于数据库集群的数据处理方法、装置及电子设备 |
CN113553382A (zh) * | 2021-08-06 | 2021-10-26 | 上海达梦数据库有限公司 | 数据页的刷盘方法、装置、设备及存储介质 |
CN113553382B (zh) * | 2021-08-06 | 2023-06-02 | 上海达梦数据库有限公司 | 数据页的刷盘方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110543386B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543386B (zh) | 一种数据存储方法、装置、设备和存储介质 | |
CN109542682B (zh) | 一种数据备份方法、装置、设备和存储介质 | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US7814057B2 (en) | Page recovery using volume snapshots and logs | |
US8127174B1 (en) | Method and apparatus for performing transparent in-memory checkpointing | |
CN109284073B (zh) | 数据存储方法、装置、系统、服务器、控制节点及介质 | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
WO2021226905A1 (zh) | 一种数据存储方法、系统及存储介质 | |
EP3474143B1 (en) | Method and apparatus for incremental recovery of data | |
CN114706661B (zh) | 虚拟机的容灾备份方法、系统、计算机设备及存储介质 | |
US11748215B2 (en) | Log management method, server, and database system | |
CN111046024A (zh) | 一种共享存储数据库的数据处理方法、装置、设备及介质 | |
CN114661816B (zh) | 数据同步方法、装置、电子设备、存储介质 | |
CN108647118B (zh) | 基于存储集群的副本异常恢复方法、装置及计算机设备 | |
US8271454B2 (en) | Circular log amnesia detection | |
CN114721881B (zh) | 一种数据库管理方法、系统、电子设备及存储介质 | |
CN115098299A (zh) | 一种虚拟机的备份方法、容灾方法、装置及设备 | |
CN111880969B (zh) | 存储节点恢复方法、装置、设备和存储介质 | |
WO2018059239A1 (zh) | 一种文件存储方法及装置 | |
WO2017067397A1 (zh) | 一种数据恢复方法和装置 | |
CN106997305B (zh) | 一种事务处理方法与装置 | |
US12045134B2 (en) | Copy data management system and method for modern application | |
CN114756410A (zh) | 一种双机热备系统的数据恢复方法、装置及介质 | |
CN110109934B (zh) | 一种数据库管理方法、装置、服务器及存储介质 | |
CN111400302B (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 |