CN105468475A - 数据库的备份方法及备份装置 - Google Patents
数据库的备份方法及备份装置 Download PDFInfo
- Publication number
- CN105468475A CN105468475A CN201510783847.6A CN201510783847A CN105468475A CN 105468475 A CN105468475 A CN 105468475A CN 201510783847 A CN201510783847 A CN 201510783847A CN 105468475 A CN105468475 A CN 105468475A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- operation commands
- log
- backup
- 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
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
Abstract
本发明提供了一种数据库的备份方法,当接收到主数据库的数据同步请求时,解析数据同步请求中的数据操作命令,执行数据操作命令并在同步日志中记录所述数据操作命令对应的信息,并以预定的备份频率,将从数据库的同步日志备份至本地磁盘中,以生成备份日志。本发明中,通过建立从数据库中数据的落盘备份方式,在从数据库发生故障的情况下,可通过本地磁盘的备份日志实现从库的快速数据恢复,大大提高了数据恢复效率,从而保证了从数据库的持续数据稳定性,能够为前端业务提供了连续性服务。
Description
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种数据库的备份方法及备份装置。
背景技术
随着网络应用的迅速发展,人们对获取信息的正确性和及时性的要求也越来越高。数据库系统是目前存储数据、检索信息最为方便高效的手段,绝大多数企业都将信息存储在数据库中。目前数据库系统的趋势是由小型化向大型化、集中式向分布式发展,在分布式数据库中,数据同步技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
但是,数据库在任何时间点都有可能发生数据丢失或崩溃,现有主从数据库构架的数据库系统中,包括一个主数据库及多个从数据库,当从数据库服务器发生故障时,需要将主数据库中的全部数据重新传输至从数据库中进行数据恢复,数据恢复过程耗时较长,增加服务端运维成本。
因此,需要实现一种主从数据库架构方案,确保当从数据库发生故障后能够在不影响前端数据业务的情况下将故障数据库的数据快速修复,在不增加数据库服务器维护成本的同时,达到数据库的高稳定性和高业务连续性的设计目的。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出了一种数据库的备份方法,应用于主-从结构数据库系统的从数据库,所述方法包括:
当接收到主数据库的数据同步请求时,解析所述数据同步请求中的数据操作命令,执行所述数据操作命令并在同步日志中记录所述数据操作命令对应的信息;
以预定的备份频率,将所述从数据库的同步日志备份至本地磁盘中,以生成备份日志。
其中,所述数据操作命令对应的信息包括所述数据操作命令及与所述数据同步请求相应的标识信息。
其中,与所述数据同步请求相应的标识信息,包括但不限于:
所述数据同步请求的时间信息;
所述数据同步请求的请求ID;
在所述从数据库中执行所述数据操作命令的时间信息;
在所述从数据库中执行所述数据操作命令的执行ID。
优选地,以预定的备份频率,将所述从数据库的同步日志备份至本地磁盘中,具体包括但不限于以下任一项情形:
依据预定的时间间隔,将所述从数据库的同步日志备份至本地磁盘中;或
依据预定的数据操作的条目数,将所述从数据库的同步日志备份至本地磁盘中。
优选地,当所述从数据库重新加载时,该方法还包括:
基于所述备份日志,对所述从数据库进行数据恢复;
将所述备份日志中记录的最后一条数据操作命令对应的标识信息,与所述主数据库中数据操作命令的标识信息进行对比,确定同步偏移量;
将所述主数据中与所述同步偏移量对应的数据操作命令同步至所述从数据库中。
优选地,所述同步日志是二进制日志binlog。
优选地,所述从数据库为内存型数据库。
本发明的另一实施例提出了一种数据库的备份装置,应用于主-从结构数据库系统的从数据库,所述备份装置包括:
操作执行模块,用于当接收到主数据库的数据同步请求时,解析所述数据同步请求中的数据操作命令,执行所述数据操作命令并在同步日志中记录所述数据操作命令对应的信息;
备份模块,用于以预定的备份频率,将所述从数据库的同步日志备份至本地磁盘中,以生成备份日志。
其中,所述数据操作命令对应的信息包括所述数据操作命令及与所述数据同步请求相应的标识信息。
其中,与所述数据同步请求相应的标识信息,包括但不限于:
所述数据同步请求的时间信息;
所述数据同步请求的请求ID;
在所述从数据库中执行所述数据操作命令的时间信息;
在所述从数据库中执行所述数据操作命令的执行ID。
优选地,所述备份模块具体用于包括但不限于以下任一项情形:
依据预定的时间间隔,将所述从数据库的同步日志备份至本地磁盘中;或
依据预定的数据操作的条目数,将所述从数据库的同步日志备份至本地磁盘中。
优选地,当所述从数据库重新加载时,该备份装置还包括:
恢复模块,用于基于所述备份日志,对所述从数据库进行数据恢复;
偏移量确定模块,用于将所述备份日志中记录的最后一条数据操作命令对应的标识信息,与所述主数据库中数据操作命令的标识信息进行对比,确定同步偏移量;
同步模块,用于将所述主数据中与所述同步偏移量对应的数据操作命令同步至所述从数据库中。
优选地,所述同步日志是二进制日志binlog。
优选地,所述从数据库为内存型数据库。
本发明的实施例中,提出了一种数据库的备份方案,通过建立从数据库中数据的落盘备份方式,在从数据库发生故障的情况下,可通过本地磁盘的备份日志实现从库的快速数据恢复,大大提高了数据恢复效率,从而保证了从数据库的持续数据稳定性,为在主数据库发生故障时由与其同步运行的其它从数据库服务器代替该故障主数据库服务器提供读写访问服务,以满足数据库系统向前端业务提供连续性服务提供有力保障。本发明的实施例中,通过从数据库数据的落盘备份、从数据库数据重新加载时通过落盘的备份日志快速恢复备份数据以及基于备份日志中的相应标识通过主数据库实现快速数据补齐,可确保当从数据库发生故障后能够将故障从数据库的数据快速修复,避免了数据意外丢失,最终实现主从数据库系统的数据高稳定性和高业务连续性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明中一个实施例的数据库的备份方法的流程图;
图2为本发明中一个优选实施例的数据库的备份方法的流程图;
图3为本发明中另一实施例的数据库的备份装置的结构示意图;
图4为本发明中另一优选实施例的数据库的备份装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领
域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明实施例中涉及的数据库的类型为NoSQL,即非关系型的数据库,NoSQL类型的数据库可存储大规模数据集合多重数据种类,尤其是大数据规模的存储。NoSQL类型的数据库支持键值(Key-Value)的数据类型。
图1为本发明中一个实施例的数据库的备份方法的流程图。
步骤S110:当接收到主数据库的数据同步请求时,解析数据同步请求中的数据操作命令,执行数据操作命令并在同步日志中记录数据操作命令对应的信息;步骤S120:以预定的备份频率,将从数据库的同步日志备份至本地磁盘中,以生成备份日志。
本发明的实施例中,提出了一种数据库的备份方案,通过建立从数据库中数据的落盘备份方式,在从数据库发生故障的情况下,可通过备份至本地磁盘的备份日志实现从库的快速数据恢复,大大提高了数据恢复效率,从而保证了从数据库的持续数据稳定性,为在主数据库发生故障时由与其同步运行的其它从数据库服务器代替该故障主数据库服务器提供读写访问服务,以满足数据库系统向前端业务提供连续性服务提供有力保障。本发明的实施例中,通过从数据库数据的落盘备份、从数据库数据重新加载时通过落盘的备份日志快速恢复备份数据以及基于备份日志中的相应标识通过主数据库实现快速数据补齐,可确保当从数据库发生故障后能够将故障从数据库的数据快速修复,避免了数据意外丢失,最终实现主从数据库系统的数据高稳定性和高业务连续性。
步骤S110:当接收到主数据库的数据同步请求时,解析数据同步请求中的数据操作命令,执行数据操作命令并在同步日志中记录数据操作命令对应的信息。
其中,数据操作命令对应的信息包括数据操作命令及与数据同步请求相应的标识信息。
其中,数据同步请求相应的标识信息,包括但不限于:
数据同步请求的时间信息;
数据同步请求的请求ID;
在从数据库中执行数据操作命令的时间信息;
在从数据库中执行数据操作命令的执行ID。
例如,在包括一个主数据库DB1和至少一个从数据库DB2的数据系统中,DB1和DB2通过TCP(TransmissionControlProtocol,传输控制协议)协议建立通信链接,当主数据库DB1接收来自外部的数据操作命令时,如添加一条key-value数据存储格式的新数据“K1+1”,其中key数据单元为“K1”,value数据单元为“1”,在DB1中执行该数据操作命令,即执行添加“K1+1”数据的操作,随后向DB2发送包括该数据操作命令的数据同步请求,DB2接收到主数据库的数据同步请求时,DB2解析来自DB1的数据同步请求为添加“K1+1”的数据操作命令,随后执行添加“K1+1”的操作,并在从DB2的同步日志中记录添加“K1+1”的数据操作命令以及与数据同步请求相应的标识信息,如在DB2中接收到添加“K1+1”数据操作请求的时间信息“2015-05-0612:20:00”或DB2中执行添加“K1+1”数据操作命令的时间信息“2015-05-0612:20:10”或数据同步请求ID“01”或DB2中执行添加“K1+1”数据操作命令的执行ID“K1-01”。
步骤S120:以预定的备份频率,将从数据库的同步日志备份至本地磁盘中,以生成备份日志。
其中,以预定的备份频率,将从数据库的同步日志备份至本地磁盘中,具体包括但不限于以下任一项情形:
依据预定的时间间隔,将从数据库的同步日志备份至本地磁盘中;或
依据预定的数据操作的条目数,将从数据库的同步日志备份至本地磁盘中。
例如,从数据库DB2接收到来自主数据库DB1的数据同步请求生成的同步日志,首先缓存在DB2的缓存区域中,并以预定的备份频率如每小时一次,将缓存区域中的同步日志备份至本地磁盘中,以生成备份日志。
又例如,预定的数据操作的条目数如10条数据操作条目,从数据库DB2接收到来自主数据库DB1的数据同步请求生成的同步日志,首先缓存在DB2的缓存区域中,当缓存区域中缓存的同步日志中包括的数据操作命令对应的信息的条目数达到10条时,将包括10条数据操作命令对应的信息的同步日志备份至本地磁盘中,以生成备份日志。
其中,同步日志至是二进制日志binlog。
例如,从数据库DB2中的同步日志为二进制日志binlog,从数据库DB2中存储的数据操作命令及数据同步请求相应的标识信息以二进制形式存储至DB2的二进制日志binlog中。
其中,从数据库为内存型数据库。
本发明的实施例中,主从数据库均为内存型数据库。内存型数据库可与本地磁盘之间实现高效的数据传输及读写操作,从而为实现数据高效存储及备份提供了有力保障。
在一优选实施例中,如图2所示,当从数据库重新加载时,该方法还包括步骤S210、步骤S220和步骤S230。步骤S210:基于备份日志,对从数据库进行数据恢复;步骤S220:将备份日志中记录的最后一条数据操作命令对应的标识信息,与主数据库中数据操作命令的标识信息进行对比,确定同步偏移量;步骤S230:将主数据中与同步偏移量对应的数据操作命令同步至从数据库中。
例如,预定义数据同步请求ID值以自增长整数型方式进行记录,当从数据库DB2中的同步日志丢失时,通过执行本地磁盘中备份日志所记载的数据操作命令对从数据库进行数据恢复,同时,备份日志中记录的最后一条数据操作命令对应的标识信息,如数据同步请求的请求ID“01”与主数据库中同步日志中记录的最后一条数据操作命令的标识信息,如数据同步请求的请求ID“06”进行对比,确定同步偏移量为数据同步请求的请求ID“02”至数据同步请求的请求ID“06”,随后,将主数据DB1中与数据同步请求的请求ID“02”至数据同步请求的请求ID“06”对应的数据操作命令同步至DB2中。
又例如,接上例,当DB1主数据库由于数据库崩溃或数据库所在设备发生物理性损坏等导致DB1主数据库数据丢失的情况下,可获取DB2从数据库的同步日志,在重新初始化建立DB1主数据库后,将DB2从数据库的数据全部同步至DB1主数据库中,具体为通过执行DB2从数据库的同步日志中的记录重新恢复DB2从数据库中的数据。
在另一优选实施例中,当主数据库DB1接收到来自外部的数据操作命令,即修改主数据库DB1中的数据“K1+add”为“K1+addition”,可通过key值“K1”查找到相应的数据为“K1+add”并修改为“K1+addition”,主数据库DB1将“K1+add”修改为“K1+addition”的操作信息以二进制形式存储至DB1的二进制日志binlog中,并发送包括该数据操作命令的数据同步请求至从数据库DB2,从数据库DB2对接收到的该数据同步请求进行解析并执行“K1+add”修改为“K1+addition”的数据操作命令,且从数据库DB2中将“K1+add”修改为“K1+addition”的数据操作命令、在DB2中接收到将“K1+add”修改为“K1+addition”数据操作请求的时间信息“2015-10-1007:10:00”相关联地存储至DB2的二进制日志binlog中。如当前时间为“2015-10-1007:10:01”,从数据库DB2由于设备停电导致服务中断,在时间“2015-10-1008:40:00”时设备通电重新加载从数据库DB2中的数据,通过执行本地磁盘中备份日志所记载的数据操作命令对从数据库进行数据恢复,备份日志中记录的最后一条数据操作命令对应的时间信息“2015-10-1007:10:00”,即从数据库DB2可根据备份日志将数据恢复至“2015-10-1007:10:00”时刻;随后,通过比较备份日志中记录的最后一条数据操作命令对应的时间信息“2015-10-1007:10:00”,与主数据库中发送同步数据操作命令的时间信息“2015-10-1009:10:00”进行对比,确定同步偏移量为在时间“2015-10-1007:10:01”至时间“2015-10-1008:40:00”期间主数据库DB1中新增的数据,若新增了10条数据记录,随后,将主数据DB1中新增的10条数据记录同步至DB2中,DB2执行相应的数据操作命令并在DB2同步日志中记录数据操作命令对应的信息,从而实现了从数据库的快速数据补齐。
图3为本发明中另一实施例的数据库的备份装置的结构示意图。
当接收到主数据库的数据同步请求时,操作执行模块310解析数据同步请求中的数据操作命令,执行数据操作命令并在同步日志中记录数据操作命令对应的信息;备份模块320以预定的备份频率,将从数据库的同步日志备份至本地磁盘中,以生成备份日志。
本发明的实施例中,提出了一种数据库的备份方案,通过建立从数据库中数据的落盘备份方式,在从数据库发生故障的情况下,可通过备份至本地磁盘的备份日志实现从库的快速数据恢复,大大提高了数据恢复效率,从而保证了从数据库的持续数据稳定性,为在主数据库发生故障时由与其同步运行的其它从数据库服务器代替该故障主数据库服务器提供读写访问服务,以满足数据库系统向前端业务提供连续性服务提供有力保障。本发明的实施例中,通过从数据库数据的落盘备份、从数据库数据重新加载时通过落盘的备份日志快速恢复备份数据以及基于备份日志中的相应标识通过主数据库实现快速数据补齐,可确保当从数据库发生故障后能够将故障从数据库的数据快速修复,避免了数据意外丢失,最终实现主从数据库系统的数据高稳定性和高业务连续性。
当接收到主数据库的数据同步请求时,操作执行模块310解析数据同步请求中的数据操作命令,执行数据操作命令并在同步日志中记录数据操作命令对应的信息。
其中,数据操作命令对应的信息包括数据操作命令及与数据同步请求相应的标识信息。
其中,数据同步请求相应的标识信息,包括但不限于:
数据同步请求的时间信息;
数据同步请求的请求ID;
在从数据库中执行数据操作命令的时间信息;
在从数据库中执行数据操作命令的执行ID。
例如,在包括一个主数据库DB1和至少一个从数据库DB2的数据系统中,DB1和DB2通过TCP(TransmissionControlProtocol,传输控制协议)协议建立通信链接,当主数据库DB1接收来自外部的数据操作命令时,如添加一条key-value数据存储格式的新数据“K1+1”,其中key数据单元为“K1”,value数据单元为“1”,在DB1中执行该数据操作命令,即执行添加“K1+1”数据的操作,随后向DB2发送包括该数据操作命令的数据同步请求,DB2接收到主数据库的数据同步请求时,DB2解析来自DB1的数据同步请求为添加“K1+1”的数据操作命令,随后执行添加“K1+1”的操作,并在从DB2的同步日志中记录添加“K1+1”的数据操作命令以及与数据同步请求相应的标识信息,如在DB2中接收到添加“K1+1”数据操作请求的时间信息“2015-05-0612:20:00”或DB2中执行添加“K1+1”数据操作命令的时间信息“2015-05-0612:20:10”或数据同步请求ID“01”或DB2中执行添加“K1+1”数据操作命令的执行ID“K1-01”。
备份模块320以预定的备份频率,将从数据库的同步日志备份至本地磁盘中,以生成备份日志。
其中,备份模块320具体包括但不限于以下任一项情形:
依据预定的时间间隔,将从数据库的同步日志备份至本地磁盘中;或
依据预定的数据操作的条目数,将从数据库的同步日志备份至本地磁盘中。
例如,从数据库DB2接收到来自主数据库DB1的数据同步请求生成的同步日志,首先缓存在DB2的缓存区域中,并以预定的备份频率如每小时一次,将缓存区域中的同步日志备份至本地磁盘中,以生成备份日志。
又例如,预定的数据操作的条目数如10条数据操作条目,从数据库DB2接收到来自主数据库DB1的数据同步请求生成的同步日志,首先缓存在DB2的缓存区域中,当缓存区域中缓存的同步日志中包括的数据操作命令对应的信息的条目数达到10条时,将包括10条数据操作命令对应的信息的同步日志备份至本地磁盘中,以生成备份日志。
其中,同步日志至是二进制日志binlog。
例如,从数据库DB2中的同步日志为二进制日志binlog,从数据库DB2中存储的数据操作命令及数据同步请求相应的标识信息以二进制形式存储至DB2的二进制日志binlog中。
其中,从数据库为内存型数据库。
本发明的实施例中,主从数据库均为内存型数据库。内存型数据库可与本地磁盘之间实现高效的数据传输及读写操作,从而为实现数据高效存储及备份提供了有力保障。
在一优选实施例中,如图2所示,当从数据库重新加载时,该装置还包括恢复模块410、偏移量确定模块420和同步模块430。基于备份日志,恢复模块410对从数据库进行数据恢复;偏移量确定模块420将备份日志中记录的最后一条数据操作命令对应的标识信息,与主数据库中数据操作命令的标识信息进行对比,确定同步偏移量;同步模块430将主数据中与同步偏移量对应的数据操作命令同步至从数据库中。
例如,预定义数据同步请求ID值以自增长整数型方式进行记录,当从数据库DB2中的同步日志丢失时,通过执行本地磁盘中备份日志所记载的数据操作命令对从数据库进行数据恢复,同时,备份日志中记录的最后一条数据操作命令对应的标识信息,如数据同步请求的请求ID“01”与主数据库中同步日志中记录的最后一条数据操作命令的标识信息,如数据同步请求的请求ID“06”进行对比,确定同步偏移量为数据同步请求的请求ID“02”至数据同步请求的请求ID“06”,随后,将主数据DB1中与数据同步请求的请求ID“02”至数据同步请求的请求ID“06”对应的数据操作命令同步至DB2中。
又例如,接上例,当DB1主数据库由于数据库崩溃或数据库所在设备发生物理性损坏等导致DB1主数据库数据丢失的情况下,可获取DB2从数据库的同步日志,在重新初始化建立DB1主数据库后,将DB2从数据库的数据全部同步至DB1主数据库中,具体为通过执行DB2从数据库的同步日志中的记录重新恢复DB2从数据库中的数据。
在另一优选实施例中,当主数据库DB1接收到来自外部的数据操作命令,即修改主数据库DB1中的数据“K1+add”为“K1+addition”,可通过key值“K1”查找到相应的数据为“K1+add”并修改为“K1+addition”,主数据库DB1将“K1+add”修改为“K1+addition”的操作信息以二进制形式存储至DB1的二进制日志binlog中,并发送包括该数据操作命令的数据同步请求至从数据库DB2,从数据库DB2对接收到的该数据同步请求进行解析并执行“K1+add”修改为“K1+addition”的数据操作命令,且从数据库DB2中将“K1+add”修改为“K1+addition”的数据操作命令、在DB2中接收到将“K1+add”修改为“K1+addition”数据操作请求的时间信息“2015-10-1007:10:00”相关联地存储至DB2的二进制日志binlog中。如当前时间为“2015-10-1007:10:01”,从数据库DB2由于设备停电导致服务中断,在时间“2015-10-1008:40:00”时设备通电重新加载从数据库DB2中的数据,通过执行本地磁盘中备份日志所记载的数据操作命令对从数据库进行数据恢复,备份日志中记录的最后一条数据操作命令对应的时间信息“2015-10-1007:10:00”,即从数据库DB2可根据备份日志将数据恢复至“2015-10-1007:10:00”时刻;随后,通过比较备份日志中记录的最后一条数据操作命令对应的时间信息“2015-10-1007:10:00”,与主数据库中发送同步数据操作命令的时间信息“2015-10-1009:10:00”进行对比,确定同步偏移量为在时间“2015-10-1007:10:01”至时间“2015-10-1008:40:00”期间主数据库DB1中新增的数据,若新增了10条数据记录,随后,将主数据DB1中新增的10条数据记录同步至DB2中,DB2执行相应的数据操作命令并在DB2同步日志中记录数据操作命令对应的信息,从而实现了从数据库的快速数据补齐。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-OnlyMemory,只读存储器)、RAM(RandomAccessMemory,随即存储器)、EPROM(ErasableProgrammableRead-OnlyMemory,可擦写可编程只读存储器)、EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据库的备份方法,应用于主-从结构数据库系统的从数据库,所述方法包括:
当接收到主数据库的数据同步请求时,解析所述数据同步请求中的数据操作命令,执行所述数据操作命令并在同步日志中记录所述数据操作命令对应的信息;
以预定的备份频率,将所述从数据库的同步日志备份至本地磁盘中,以生成备份日志。
2.根据权利要求1所述的数据库的备份方法,其特征在于,所述数据操作命令对应的信息包括所述数据操作命令及与所述数据同步请求相应的标识信息。
3.根据权利要求2所述的数据库的备份方法,其特征在于,与所述数据同步请求相应的标识信息,包括以下任一项:
所述数据同步请求的时间信息;
所述数据同步请求的请求ID;
在所述从数据库中执行所述数据操作命令的时间信息;
在所述从数据库中执行所述数据操作命令的执行ID。
4.根据权利要求1所述的数据库的备份方法,其特征在于,以预定的备份频率,将所述从数据库的同步日志备份至本地磁盘中,具体包括以下任一项情形:
依据预定的时间间隔,将所述从数据库的同步日志备份至本地磁盘中;或
依据预定的数据操作的条目数,将所述从数据库的同步日志备份至本地磁盘中。
5.根据权利要求1所述的数据库的备份方法,其特征在于,当所述从数据库重新加载时,该方法还包括:
基于所述备份日志,对所述从数据库进行数据恢复;
将所述备份日志中记录的最后一条数据操作命令对应的标识信息,与所述主数据库中数据操作命令的标识信息进行对比,确定同步偏移量;
将所述主数据中与所述同步偏移量对应的数据操作命令同步至所述从数据库中。
6.一种数据库的备份装置,应用于主-从结构数据库系统的从数据库,所述备份装置包括:
操作执行模块,用于当接收到主数据库的数据同步请求时,解析所述数据同步请求中的数据操作命令,执行所述数据操作命令并在同步日志中记录所述数据操作命令对应的信息;
备份模块,用于以预定的备份频率,将所述从数据库的同步日志备份至本地磁盘中,以生成备份日志。
7.根据权利要求6所述的数据库的备份装置,其特征在于,所述数据操作命令对应的信息包括所述数据操作命令及与所述数据同步请求相应的标识信息。
8.根据权利要求7所述的数据库的备份装置,其特征在于,与所述数据同步请求相应的标识信息,包括以下任一项:
所述数据同步请求的时间信息;
所述数据同步请求的请求ID;
在所述从数据库中执行所述数据操作命令的时间信息;
在所述从数据库中执行所述数据操作命令的执行ID。
9.根据权利要求6所述的数据库的备份装置,其特征在于,所述备份模块具体用于包括以下任一项情形:
依据预定的时间间隔,将所述从数据库的同步日志备份至本地磁盘中;或
依据预定的数据操作的条目数,将所述从数据库的同步日志备份至本地磁盘中。
10.根据权利要求6所述的数据库的备份装置,其特征在于,当所述从数据库重新加载时,该备份装置还包括:
恢复模块,用于基于所述备份日志,对所述从数据库进行数据恢复;
偏移量确定模块,用于将所述备份日志中记录的最后一条数据操作命令对应的标识信息,与所述主数据库中数据操作命令的标识信息进行对比,确定同步偏移量;
同步模块,用于将所述主数据中与所述同步偏移量对应的数据操作命令同步至所述从数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510783847.6A CN105468475A (zh) | 2015-11-16 | 2015-11-16 | 数据库的备份方法及备份装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510783847.6A CN105468475A (zh) | 2015-11-16 | 2015-11-16 | 数据库的备份方法及备份装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105468475A true CN105468475A (zh) | 2016-04-06 |
Family
ID=55606209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510783847.6A Pending CN105468475A (zh) | 2015-11-16 | 2015-11-16 | 数据库的备份方法及备份装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468475A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021030A (zh) * | 2016-05-30 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种数据库的系统、一种处理数据库故障的方法及装置 |
CN106101167A (zh) * | 2016-04-29 | 2016-11-09 | 乐视控股(北京)有限公司 | 信息同步方法及系统 |
CN106383755A (zh) * | 2016-09-23 | 2017-02-08 | 北京奇虎科技有限公司 | 在主从式数据库系统中恢复从库的方法、装置和系统 |
CN106484568A (zh) * | 2016-09-30 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种数据灾难备份方法及其系统 |
CN107451013A (zh) * | 2017-06-30 | 2017-12-08 | 北京奇虎科技有限公司 | 基于分布式系统的数据恢复方法、装置及系统 |
CN109614439A (zh) * | 2018-10-24 | 2019-04-12 | 平安科技(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN110147355A (zh) * | 2017-09-21 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置及服务器 |
CN110377577A (zh) * | 2018-04-11 | 2019-10-25 | 北京嘀嘀无限科技发展有限公司 | 数据同步方法、装置、系统和计算机可读存储介质 |
WO2019242115A1 (zh) * | 2018-06-20 | 2019-12-26 | 平安科技(深圳)有限公司 | 一种数据同步系统及方法 |
CN110851528A (zh) * | 2019-10-09 | 2020-02-28 | 网联清算有限公司 | 数据库同步方法、装置、存储介质及计算机设备 |
CN112579394A (zh) * | 2020-12-24 | 2021-03-30 | 罗婷 | 应用于互联网金融的日志处理系统、方法及计算机设备 |
CN113609104A (zh) * | 2021-08-19 | 2021-11-05 | 京东科技信息技术有限公司 | 一种部分故障的键值对分布式存储系统访问方法及装置 |
CN113885780A (zh) * | 2021-02-10 | 2022-01-04 | 京东科技控股股份有限公司 | 数据同步方法、装置、电子设备、系统和存储介质 |
CN115277382A (zh) * | 2022-07-27 | 2022-11-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 日志获取方法、日志平台和计算机程序产品 |
CN109614439B (zh) * | 2018-10-24 | 2024-05-03 | 平安科技(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120669A1 (en) * | 2001-12-26 | 2003-06-26 | Han Mi Kyoung | Duplex structure of main-memory DBMS using log information in diskless environment and method for controlling consistency of data of main-memory DBMS |
CN1561022A (zh) * | 2004-03-04 | 2005-01-05 | 中兴通讯股份有限公司 | 一种内存数据库主备同步的方法 |
CN101034364A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种实现内存数据备份的方法、装置和系统 |
CN101118509A (zh) * | 2007-09-12 | 2008-02-06 | 华为技术有限公司 | 内存数据库远程容灾的方法、装置和系统 |
CN103197988A (zh) * | 2012-01-05 | 2013-07-10 | 中国移动通信集团湖南有限公司 | 一种数据备份、恢复的方法、设备和数据库系统 |
-
2015
- 2015-11-16 CN CN201510783847.6A patent/CN105468475A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120669A1 (en) * | 2001-12-26 | 2003-06-26 | Han Mi Kyoung | Duplex structure of main-memory DBMS using log information in diskless environment and method for controlling consistency of data of main-memory DBMS |
CN1561022A (zh) * | 2004-03-04 | 2005-01-05 | 中兴通讯股份有限公司 | 一种内存数据库主备同步的方法 |
CN101034364A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种实现内存数据备份的方法、装置和系统 |
CN101118509A (zh) * | 2007-09-12 | 2008-02-06 | 华为技术有限公司 | 内存数据库远程容灾的方法、装置和系统 |
CN103197988A (zh) * | 2012-01-05 | 2013-07-10 | 中国移动通信集团湖南有限公司 | 一种数据备份、恢复的方法、设备和数据库系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101167A (zh) * | 2016-04-29 | 2016-11-09 | 乐视控股(北京)有限公司 | 信息同步方法及系统 |
CN106021030A (zh) * | 2016-05-30 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种数据库的系统、一种处理数据库故障的方法及装置 |
CN106383755A (zh) * | 2016-09-23 | 2017-02-08 | 北京奇虎科技有限公司 | 在主从式数据库系统中恢复从库的方法、装置和系统 |
CN106484568A (zh) * | 2016-09-30 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种数据灾难备份方法及其系统 |
CN107451013B (zh) * | 2017-06-30 | 2020-12-25 | 北京奇虎科技有限公司 | 基于分布式系统的数据恢复方法、装置及系统 |
CN107451013A (zh) * | 2017-06-30 | 2017-12-08 | 北京奇虎科技有限公司 | 基于分布式系统的数据恢复方法、装置及系统 |
CN110147355A (zh) * | 2017-09-21 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置及服务器 |
CN110377577B (zh) * | 2018-04-11 | 2022-03-04 | 北京嘀嘀无限科技发展有限公司 | 数据同步方法、装置、系统和计算机可读存储介质 |
CN110377577A (zh) * | 2018-04-11 | 2019-10-25 | 北京嘀嘀无限科技发展有限公司 | 数据同步方法、装置、系统和计算机可读存储介质 |
WO2019242115A1 (zh) * | 2018-06-20 | 2019-12-26 | 平安科技(深圳)有限公司 | 一种数据同步系统及方法 |
CN109614439A (zh) * | 2018-10-24 | 2019-04-12 | 平安科技(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN109614439B (zh) * | 2018-10-24 | 2024-05-03 | 平安科技(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN110851528A (zh) * | 2019-10-09 | 2020-02-28 | 网联清算有限公司 | 数据库同步方法、装置、存储介质及计算机设备 |
CN110851528B (zh) * | 2019-10-09 | 2022-09-02 | 网联清算有限公司 | 数据库同步方法、装置、存储介质及计算机设备 |
CN112579394A (zh) * | 2020-12-24 | 2021-03-30 | 罗婷 | 应用于互联网金融的日志处理系统、方法及计算机设备 |
CN113885780A (zh) * | 2021-02-10 | 2022-01-04 | 京东科技控股股份有限公司 | 数据同步方法、装置、电子设备、系统和存储介质 |
CN113609104A (zh) * | 2021-08-19 | 2021-11-05 | 京东科技信息技术有限公司 | 一种部分故障的键值对分布式存储系统访问方法及装置 |
CN113609104B (zh) * | 2021-08-19 | 2023-11-03 | 京东科技信息技术有限公司 | 一种部分故障的键值对分布式存储系统访问方法及装置 |
CN115277382A (zh) * | 2022-07-27 | 2022-11-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 日志获取方法、日志平台和计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468475A (zh) | 数据库的备份方法及备份装置 | |
CN106407356B (zh) | 一种数据备份方法及装置 | |
CN101739313B (zh) | 一种连续数据保护和恢复方法 | |
CN103064763B (zh) | 一种数据备份方法及相关设备、系统 | |
CN109542682B (zh) | 一种数据备份方法、装置、设备和存储介质 | |
CN102681917B (zh) | 一种操作系统及其修复方法 | |
US9836361B2 (en) | Data replicating system, data replicating method, node device, management device and computer readable medium | |
CN105512171A (zh) | 数据库同步的方法及装置 | |
CN103488494A (zh) | 一种刀片服务器多固件同步更新升级方法 | |
CN110543386B (zh) | 一种数据存储方法、装置、设备和存储介质 | |
CN109189860A (zh) | 一种基于Kubernetes系统的MySQL主备增量同步方法 | |
US9342390B2 (en) | Cluster management in a shared nothing cluster | |
CN107329859B (zh) | 一种数据保护方法及存储设备 | |
CN106469069B (zh) | 一种版本升级方法及系统 | |
US9525733B2 (en) | Method and system for data synchronization | |
US20190317872A1 (en) | Database cluster architecture based on dual port solid state disk | |
CN103713925A (zh) | 避免存储阵列在升级过程的业务中断方法和装置 | |
CN112579354B (zh) | 一种边云协同软件备份恢复的方法 | |
EP3974973A1 (en) | Virtual machine backup method and device based on cloud platform data center | |
CN108762984B (zh) | 一种连续性数据备份的方法及装置 | |
CN104461773A (zh) | 一种虚拟机备份去重的方法 | |
CN103970834A (zh) | 一种异构数据库同步系统中增量数据同步故障的恢复方法 | |
CN102902561A (zh) | 数据存储方法及数据存储系统 | |
CN104750738A (zh) | 一种更新数据信息的方法、数据节点、管理节点及系统 | |
CN105487940A (zh) | 灾备端、生产端及两者之间的数据恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160406 |