CN107193683A - 数据库备份的校验方法及装置 - Google Patents
数据库备份的校验方法及装置 Download PDFInfo
- Publication number
- CN107193683A CN107193683A CN201710253680.1A CN201710253680A CN107193683A CN 107193683 A CN107193683 A CN 107193683A CN 201710253680 A CN201710253680 A CN 201710253680A CN 107193683 A CN107193683 A CN 107193683A
- Authority
- CN
- China
- Prior art keywords
- data
- verified
- database instance
- backup
- availability
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- 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
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
本申请实施例提供一种数据库备份的校验方法及装置。其中,方法包括如下的步骤:获取待校验数据,所述待校验数据包括至少一个数据库实例的备份数据;校验至少一个数据库实例的备份数据的MD5值的正确性,以验证待校验数据的完整性;抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性;若完整性和可用性均通过验证,存储待校验数据。本申请实施例提供的方法及装置可以校验备份数据的有效性,以保证备份数据能够还原原始数据。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据库备份的校验方法及装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。数据库经常出现各种故障,数据库备份技术可以在数据库出现故障后,以尽可能小的时间和代价恢复数据库。
无论采用何种数据库备份技术,在数据库备份过程中,仍可能出现错误,例如数据丢失或数据错误等,导致备份数据无法用来还原原始数据。
发明内容
本申请的多个方面提供一种数据库备份的校验方法及装置,用以校验备份数据的有效性,保证备份数据能够还原原始数据。
本申请实施例提供一种数据库备份的校验方法,包括:
获取待校验数据,所述待校验数据包括至少一个数据库实例的备份数据;
校验所述至少一个数据库实例的备份数据的MD5值的正确性,以验证所述待校验数据的完整性;
抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性;
若完整性和可用性均通过验证,存储所述待校验数据。
可选地,获取所述待校验数据之前,所述方法还包括:
确定所述至少一个数据库实例可成功启动。
可选地,所述方法还包括:
若完整性未通过验证,丢弃所述待校验数据;以及,
从原备份源中,重新备份所述至少一个数据库实例的数据。
可选地,所述方法还包括:
若可用性未通过验证,丢弃所述待校验数据;以及,
更新备份源;
从所述更新后的备份源中,重新备份所述至少一个数据库实例的数据。
可选地,所述检测所述至少一个数据库实例的备份数据的MD5值的正确性,以验证所述待校验数据的完整性,包括以下至少一种校验操作:
在数据表层级,校验所述至少一个数据库实例的备份数据的MD5值的正确性;
在数据记录层级,校验所述至少一个数据库实例的备份数据的MD5值的正确性;
在数据项层级,校验所述至少一个数据库实例的备份数据的MD5值的正确性;
若所述至少一种校验操作均通过正确性校验,确定所述待校验数据通过完整性校验。
可选地,所述抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性,包括:
根据所述至少一个数据库实例的重要度,确定所述至少一个数据库实例各自的抽样访问频率;
按照所述至少一个数据库实例各自的抽样访问频率,分别抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性。
可选地,对所述至少一个数据库实例中的第一数据库实例,按照所述第一数据库实例的抽样访问频率,抽样访问所述第一数据库实例的备份数据,包括:
按照所述第一数据库实例的抽样访问频率,对所述第一数据库实例的备份数据进行抽样,以获得抽样数据;
对所述抽样数据进行数据访问操作,以获得数据访问操作结果;
若所述数据访问操作结果正确,确定所述第一数据库实例的备份数据通过可用性验证。
可选地,所述抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性,包括:
从所述至少一个数据库实例中,选择待校验数据库实例;
抽样访问所述待校验数据库实例的备份数据,以验证所述待校验数据的可用性。
本申请实施例还提供了一种数据库备份的校验装置,包括:
获取模块,用于获取待校验数据,所述待校验数据包括至少一个数据库实例的备份数据;
第一校验模块,用于校验所述至少一个数据库实例的备份数据的MD5值的正确性,以验证所述待校验数据的完整性;
第二校验模块,用于抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性;
存储模块,用于在所述第一校验模块校验的完整性和所述第二校验模块校验的可用性均通过验证时,存储所述待校验数据。
可选地,所述装置还包括:
确定模块,用于确定所述至少一个数据库实例可成功启动。
在本申请实施例中,通过校验MD5值的正确性来验证待校验数据的完整性;以及通过抽样访问待校验数据,验证数据的可用性,若完整性与可用性均通过,则存储待校验数据。本申请实施例的双重校验机制能够准确校验备份数据的有效性,保证备份数据能够还原原始数据。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请一实施例提供的数据库备份的校验方法的流程示意图;
图1b为本申请又一实施例提供的数据库备份的校验方法的流程示意图;
图2为本申请又一实施例提供的数据库备份的校验方法中可用性校验的流程示意图;
图3为本申请又一实施例提供的数据库备份的校验方法中可用性校验的流程示意图;
图4为本申请又一实施例提供的数据库备份的校验装置的模块结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1a为本申请一实施例提供的数据库备份的校验方法。如图1a所示,该方法包括以下步骤:
S101:获取待校验数据,待校验数据包括至少一个数据库实例的备份数据。
S102:校验至少一个数据库实例的备份数据的MD5值的正确性,以验证待校验数据的完整性。
S103:抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性。
S104:若完整性和可用性均通过验证,存储待校验数据。
将数据从备份源备份到数据库中时,可能由于备份源中的数据本身存在问题或者备份的过程中出现问题,导致备份数据不具备有效性,无法用来还原原始数据。因此,有必要在备份数据存储到数据库之前对数据进行校验。
首先,获取至少一个数据库实例的备份数据,作为待校验数据。接着,验证待校验数据的完整性和可用性。
其中,在完整性的验证过程中,可以校验至少一个数据库实例的备份数据的MD5值的正确性,以验证待校验数据的完整性。MD5是一种散列函数,用于确保信息传输完整一致。可以计算至少一个数据库实例的备份数据的MD5值,并与预先计算出的备份源中对应数据库实例的数据的MD5值相比,若计算出的MD5值相同,说明MD5值正确,则待校验数据的完整性通过校验。若计算出的MD5值不相同,则待校验数据的完整性未通过验证。
在可用性的验证过程中,可以抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性。可选地,可以从至少一个数据库实例中每一个数据库实例中抽样部分数据,并对所述抽样的数据进行访问操作。若访问操作结果正确,则可以验证待校验数据的可用性;若访问操作结果不正确,则待校验数据的可用性未通过验证。当然,也可以抽样待校验数据中全部的数据库实例的备份数据进行访问操作。
值得说明的是,本申请实施例中可以先验证待校验数据的完整性,若完整性通过验证,再验证可用性;也可以先验证待校验数据的可用性,若可用性通过验证,再验证完整性;也可以同时进行验证待校验数据的完整性和可用性。当待校验数据的完整性和可用性均通过验证时,可以确定待校验数据具有有效性,进而存储待校验数据,以便用来还原原始数据。
在本申请实施例中,通过校验MD5值的正确性来验证待校验数据的完整性;以及通过抽样访问待校验数据,验证数据的可用性,若完整性与可用性均通过,则存储待校验数据。本申请实施例的双重校验机制能够准确校验备份数据的有效性,保证备份数据能够还原原始数据。
图1b为本申请又一实施例提供的数据库备份的校验方法。如图1b所示,该方法包括以下步骤:
S200:开始。
S201:确定至少一个数据库实例是否能够成功启动;若是,执行步骤S202;若否,执行步骤S203。
S202:获取待校验数据,待校验数据包括成功启动的至少一个数据库实例的备份数据,并继续执行步骤S204-S206。
可以启动备份数据库中至少一个数据库实例的数据。如果成功启动,获取启动成功的至少一个数据库实例的备份数据,作为待校验数据。之后验证所述待校验数据的完整性和可用性,如下述步骤S204-S206,此处不再赘述。
S203:丢弃启动失败的数据库实例的数据,并通知数据库管理人员,结束操作。
S204:校验至少一个数据库实例的备份数据的MD5值的正确性,以验证待校验数据的完整性。
S205:抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性。
S206:若完整性和可用性均通过验证,存储待校验数据。
数据库实例启动失败的情况可以包括数据库实例不工作、停止响应或运行中断的情况。当数据库实例启动失败时,意味着数据库实例的数据不完整或者有错误,可以不再进行之后的校验操作。
在本申请实施例中,待校验的数据为启动成功的数据库实例的备份数据,即通过启动数据库实例对备份数据进行初步的校验;初步校验通过后,在验证完整性与可用性,进一步提高了校验的准确性,保证备份数据能够还原原始数据。
在上述实施例或下述实施例中,若至少一个数据库实例的备份数据的MD5值不正确,则待校验数据的完整性未通过验证,可以丢弃待校验数据,例如从备份数据库中删除待校验数据。
备份数据的MD5值不正确,意味着备份数据相比于备份源的数据不够完整,由此推断,可能是数据传输过程中出现问题或者读写过程中出现问题。因此,可以从原备份源中,重新备份至少一个数据库实例的数据。
接着,对重新备份的至少一个数据库实例的数据进行完整性校验和可用性校验。
可选地,若至少一个数据库实例的备份数据的可用性未通过验证,可以丢弃待校验数据。
备份数据的可用性未通过校验,意味着备份数据中可能存在一些错误,导致备份数据不可用。此时,很可能是备份源的数据本身就不具备可用性,导致备份数据也不具备可用性。因此,可以更新备份源;从更新后的备份源中,重新备份至少一个数据库实例的数据。
接着,对重新备份的至少一个数据库实例的数据进行完整性校验和可用性校验。
本实施例中,可以根据待校验数据未通过完整性校验或可用性校验时,从原备份源或者更新后的备份源,重新备份至少一个数据库实例的数据,保证数据库中更多数据的有效性
在上述实施例或下述实施例中,根据数据库中不同的数据组织层级,可以针对待校验数据进行不同层级的完整性校验操作。基于此,检测至少一个数据库实例的备份数据的MD5值的正确性,以验证待校验数据的完整性的步骤,可以包括数据表层级的校验操作、数据记录层级的校验操作以及数据项层级的校验操作中任意一种校验操作。
其中,数据表层级的校验操作为在数据表层级,校验至少一个数据库实例的备份数据的MD5值的正确性。
根据数据库中数据的不同分类,可以将一个数据库划分为至少一个数据表,可选地,一个数据库实例可以对应至少一个数据表。基于此,可以针对每一个数据库实例对应的至少一个数据表进行数据表层级的校验操作。
可选地,计算所述至少一个数据库实例对应的每一个数据表的数据的MD5值,并与预先计算出的备份源中对应数据表的数据的MD5值相比,若计算出的MD5值相同,则待校验数据通过完整性验证;否则,待校验数据未通过完整性验证。
数据记录层级的校验操作为在数据记录层级,校验至少一个数据库实例的备份数据的MD5值的正确性。其中,数据记录为对应于数据库中一行信息的一组完整的相关信息。
可选地,可以校验至少一个数据库实例中每一项数据记录的数据的MD5值,并与预先计算出的备份源中对应数据记录的数据的MD5值相比,若计算出的MD5值相同,则待校验数据通过完整性验证;否则,待校验数据未通过完整性验证。
数据项层级的校验操作为在数据项层级,校验至少一个数据库实例的备份数据的MD5值的正确性。其中,数据项可以是字母、数字或两者的组合,是数据的不可分割的最小单位。
可选地,可以校验至少一个数据库实例中每一项数据项的数据的MD5值,并与预先计算出的备份源中对应数据项的数据的MD5值相比,若计算出的MD5值相同,则待校验数据通过完整性验证;否则,待校验数据未通过完整性验证。
当然,除了采用三种校验操作中的任意一种来校验待校验数据的完整性,还可以采用上述三种校验操作中的任意两种或三种都采用。可选地,若所采用的至少一种校验操作均通过正确性校验,确定待校验数据通过完整性校验;若所采用的任意一种校验操作未通过正确性校验,则待校验数据未通过完整性校验。
本实施例中,通过数据表层级、数据记录层级以及数据项层级的校验操作,全方位、多角度校验待校验数据的完整性,有效保证了待校验数据的完整性。
可选地,抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性的过程,如图2所示,可以包括步骤S201以及步骤S202。
S201:根据至少一个数据库实例的重要度,确定至少一个数据库实例各自的抽样访问频率。
S202:按照至少一个数据库实例各自的抽样访问频率,分别抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性。
本实施例中,数据库实例的重要度指数据库实例中备份数据的重要度。可选地,备份数据的重要度越高,越应保证数据的可用性,则数据库实例的抽样访问频率应越高。在一示例中,数据库实例的重要度分为较重要、重要以及次要三种级别,可以确定较重要的数据库实例的抽样访问频率为间隔12小时一次,重要的数据库实例的抽样访问频率为间隔24小时一次,次要的数据库实例的抽样访问频率为间隔72小时一次。
接着,根据至少一个数据库实例各自的抽样访问频率,分别抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性。
可选地,抽样访问至少一个数据库实例的备份数据,可以是从至少一个数据库实例中的每一个数据库实例的备份数据中抽样部分数据进行访问操作。基于此,对至少一个数据库实例中的第一数据库实例,按照第一数据库实例的抽样访问频率,抽样访问第一数据库实例的备份数据,如图3所示,包括步骤S2021、步骤S2022以及步骤S2023。
S2021:按照第一数据库实例的抽样访问频率,对第一数据库实例的备份数据进行抽样,以获得抽样数据。
S2022:对抽样数据进行数据访问操作,以获得数据访问操作结果。
S2023:若数据访问操作结果正确,确定第一数据库实例的备份数据通过可用性验证。
其中,第一数据库实例可以是至少一个数据库实例中的任意一个。
步骤S2021中,抽样数据可以是从数据库实例的备份数据中抽样的部分数据表的数据。根据抽样访问频率,每次的抽样数据可以相同也可以不同,在一示例中,可以每次都抽样数据库实例中数据表1和数据表2的数据;也可以第一次抽样数据库实例中数据表1的数据,第二次访问数据库实例中数据表2的数据。
接着,对抽样数据进行数据访问操作。其中,数据访问操作包括数据查询操作以及数据统计操作。可选地,可以通过数据库应用提供的select*函数进行数据查询操作,通过数据库应用提供的count(*)函数进行数据统计操作。
select*函数用来查询抽样的数据表中的数据,例如查询数据表中的所有记录,查询列名称等。如果查询的数据与备份源的相应数据表中的数据相同,则数据查询操作结果正确;否则,数据查询操作结果不正确,第一数据库实例的备份数据未通过可用性校验,进而待校验数据未通过可用性校验。
count(*)用来统计抽样的数据表中记录行的数目。如果统计的数目与备份源的相应数据表中的数目之差,在预设误差范围内,则数据统计操作结果正确;否则,数据统计操作结果不正确,第一数据库实例的备份数据未通过可用性校验,进而待校验数据未通过可用性校验。
在一示例中,对数据表1进行count(*)操作,统计的数目为2000,备份源的数据表1中的数目为2010,则统计的数目与备份源中数据表1的数据之差为10,预设误差范围为-50~+50。可见,差值在预设误差范围内,则数据统计操作结果正确。
可选地,可以先进行数据查询操作,再进行数据统计操作;也可以先进行数据统计操作,再进行数据查询操作。若数据统计操作结果与数据查询操作结果均正确时,第一数据库实例的备份数据通过可用性校验。若至少一个数据库实例中的数据库实例均通过可用性校验,待校验数据通过可用性校验。
本实施例中,根据数据库实例的重要度确定数据库实例各自的抽样访问频率,能够保证重要度高的数据库实例的可用性,进一步提高了待校验数据的有效性。
上述实施例中,抽样访问的数据是从至少一个数据库实例中的每一个数据库实例的备份数据中抽样的,但不限于此。当数据库实例的数量较大时,还可以从至少一个数据库实例中,抽样访问部分数据库实例的数据。
可选地,抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性,包括:从至少一个数据库实例中,选择待校验数据库实例;抽样访问待校验数据库实例的备份数据,以验证待校验数据的可用性。
可选地,可以根据数据库实例的重要度,从至少一个数据库实例中选择待校验数据库实例,例如可以选择较重要的数据库实例作为待校验数据库实例。
接着,抽样访问待校验数据库实例的备份数据,可以按照待校验数据库实例各自的抽样访问频率,分别抽样访问数据库实例的备份数据,以验证待校验数据的可用性。其中,待校验数据的可用性校验方法参见步骤S2021、步骤S2022以及步骤S2023,此处不再赘述。
上述实施例是将至少一个数据库实例的备份数据的整体作为待校验数据,可选地,还可以以数据库实例为单位,将一个数据库实例中的备份数据作为待校验数据,进行数据库实例维度的完整性校验和可用性校验。
具体而言,若备份数据库中数据库实例启动成功,获取待校验数据库实例数据,待校验数据库实例数据包括启动成功的数据库实例的备份数据。校验所述数据库实例的备份数据的MD5值的正确性,以验证待校验数据库实例数据的完整性;抽样访问所述数据库实例的备份数据,以验证待校验数据库实例数据的可用性。若待校验数据库实例数据的完整性和可用性均通过验证,存储待校验数据库实例数据。
当然,也可以先验证可用性,再验证完整性;也可以同时验证。
若完整性未通过验证,丢弃待校验数据库实例数据,重新备份所述数据库实例的数据;对重新备份的数据库实例的数据进行完整性校验和可用性校验。
若可用性未通过验证,丢弃待校验数据库实例数据,变更备份源,并从变更后的备份源,重新备份所述数据库实例的数据;对重新备份的数据库实例的数据进行完整性校验和可用性校验。
本实施例中,从数据库实例的维度进行完整性校验和可用性校验,实现了细粒度的校验策略,能够提高数据校验的准确性;以及当校验未通过时,重新备份数据库实例的数据,能够减小重新备份的数据量,节约系统资源。
本申请实施例还提供了一种数据库备份的校验装置300,如图4所示,包括获取模块301、第一校验模块302、第二校验模块303以及存储模块304。
其中,获取模块301,用于获取待校验数据,待校验数据包括至少一个数据库实例的备份数据。
第一校验模块302,用于校验获取模块301获取的至少一个数据库实例的备份数据的MD5值的正确性,以验证待校验数据的完整性。
第二校验模块303,用于抽样访问获取模块301获取的至少一个数据库实例的备份数据,以验证待校验数据的可用性。
存储模块304,用于在所述第一校验模块校验的完整性和所述第二校验模块校验的可用性均通过验证时,存储所述待校验数据。
在本申请实施例中,通过校验MD5值的正确性来验证待校验数据的完整性;以及通过抽样访问待校验数据,验证数据的可用性,若完整性与可用性均通过,则存储待校验数据。本申请实施例的上述校验机制能够准确校验备份数据的有效性,保证备份数据能够还原原始数据。
可选地,数据库备份的校验装置300还包括确定模块。
确定模块,用于在获取模块301获取待校验数据之前,确定所述至少一个数据库实例可成功启动。
在本申请实施例中,待校验的数据为启动成功的数据库实例的备份数据,即通过启动数据库实例对备份数据进行初步的校验;初步校验通过后,在验证完整性与可用性,进一步提高了校验的准确性,保证备份数据能够还原原始数据。
可选地,数据库备份的校验装置300还包括丢弃模块、第一备份模块以及第二备份模块。
其中,丢弃模块,用于若完整性未通过验证,丢弃待校验数据。第一备份模块在至少一个数据库实例的备份数据的完整性未通过验证时,用于从原备份源中,重新备份至少一个数据库实例的数据。
可选地,丢弃模块还用于:若可用性未通过验证,丢弃待校验数据。第二备份模块在至少一个数据库实例的备份数据的可用性未通过验证时,用于更新备份源;从更新后的备份源中,重新备份至少一个数据库实例的数据。
本实施例中,可以根据待校验数据未通过完整性校验或可用性校验时,从原备份源或者更新后的备份源,重新备份至少一个数据库实例的数据,保证数据库中更多数据的有效性。
可选地,第一校验模块302在检测至少一个数据库实例的备份数据的MD5值的正确性,以验证待校验数据的完整性时,用于执行以下至少一种校验操作:
在数据表层级,校验至少一个数据库实例的备份数据的MD5值的正确性;
在数据记录层级,校验至少一个数据库实例的备份数据的MD5值的正确性;
在数据项层级,校验至少一个数据库实例的备份数据的MD5值的正确性;
若至少一种校验操作均通过正确性校验,确定待校验数据通过完整性校验。
本实施例中,通过数据表层级、数据记录层级以及数据项层级的校验操作,全方位、多角度校验待校验数据的完整性,有效保证了待校验数据的完整性。
可选地,第二校验模块303在抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性时,具体用于:根据至少一个数据库实例的重要度,确定至少一个数据库实例各自的抽样访问频率;按照至少一个数据库实例各自的抽样访问频率,分别抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性。
可选地,第二校验模块303在对至少一个数据库实例中的第一数据库实例,按照第一数据库实例的抽样访问频率,抽样访问第一数据库实例的备份数据时,具体用于:按照第一数据库实例的抽样访问频率,对第一数据库实例的备份数据进行抽样,以获得抽样数据;对抽样数据进行数据访问操作,以获得数据访问操作结果;若数据访问操作结果正确,确定第一数据库实例的备份数据通过可用性验证。
本实施例中,根据数据库实例的重要度确定数据库实例各自的抽样访问频率,能够保证重要度高的数据库实例的可用性,进一步提高了待校验数据的有效性。
可选地,当数据库实例的数量较大时,第二校验模块303在抽样访问至少一个数据库实例的备份数据,以验证待校验数据的可用性时,具体用于:从至少一个数据库实例中,选择待校验数据库实例;抽样访问待校验数据库实例的备份数据,以验证待校验数据的可用性。
可选地,获取模块301还用于若备份数据库中数据库实例启动成功,获取待校验数据库实例数据,待校验数据库实例数据包括启动成功的数据库实例的备份数据。
进一步地,第一校验模块302还用于校验所述数据库实例的备份数据的MD5值的正确性,以验证待校验数据库实例数据的完整性。
第二校验模块303还用于抽样访问所述数据库实例的备份数据,以验证待校验数据库实例数据的可用性。
存储模块304,还用于在第一校验模块302校验的完整性和第二校验模块303校验的可用性均通过验证时,存储待校验数据库实例数据。
本实施例中,从数据库实例的维度进行完整性校验和可用性校验,实现了细粒度的校验策略,能够提高数据校验的准确性;以及当校验未通过时,重新备份数据库实例的数据,能够减小重新备份的数据量,节约系统资源。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据库备份的校验方法,其特征在于,包括:
获取待校验数据,所述待校验数据包括至少一个数据库实例的备份数据;
校验所述至少一个数据库实例的备份数据的MD5值的正确性,以验证所述待校验数据的完整性;
抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性;
若完整性和可用性均通过验证,存储所述待校验数据。
2.根据权利要求1所述的方法,其特征在于,获取所述待校验数据之前,所述方法还包括:
确定所述至少一个数据库实例可成功启动。
3.根据权利要求1所述的方法,其特征在于,还包括:
若完整性未通过验证,丢弃所述待校验数据;以及,
从原备份源中,重新备份所述至少一个数据库实例的数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
若可用性未通过验证,丢弃所述待校验数据;以及,
更新备份源;
从所述更新后的备份源中,重新备份所述至少一个数据库实例的数据。
5.根据权利要求1所述的方法,其特征在于,所述检测所述至少一个数据库实例的备份数据的MD5值的正确性,以验证所述待校验数据的完整性,包括以下至少一种校验操作:
在数据表层级,校验所述至少一个数据库实例的备份数据的MD5值的正确性;
在数据记录层级,校验所述至少一个数据库实例的备份数据的MD5值的正确性;
在数据项层级,校验所述至少一个数据库实例的备份数据的MD5值的正确性;
若所述至少一种校验操作均通过正确性校验,确定所述待校验数据通过完整性校验。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性,包括:
根据所述至少一个数据库实例的重要度,确定所述至少一个数据库实例各自的抽样访问频率;
按照所述至少一个数据库实例各自的抽样访问频率,分别抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性。
7.根据权利要求6所述的方法,其特征在于,对所述至少一个数据库实例中的第一数据库实例,按照所述第一数据库实例的抽样访问频率,抽样访问所述第一数据库实例的备份数据,包括:
按照所述第一数据库实例的抽样访问频率,对所述第一数据库实例的备份数据进行抽样,以获得抽样数据;
对所述抽样数据进行数据访问操作,以获得数据访问操作结果;
若所述数据访问操作结果正确,确定所述第一数据库实例的备份数据通过可用性验证。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性,包括:
从所述至少一个数据库实例中,选择待校验数据库实例;
抽样访问所述待校验数据库实例的备份数据,以验证所述待校验数据的可用性。
9.一种数据库备份的校验装置,其特征在于,包括:
获取模块,用于获取待校验数据,所述待校验数据包括至少一个数据库实例的备份数据;
第一校验模块,用于校验所述至少一个数据库实例的备份数据的MD5值的正确性,以验证所述待校验数据的完整性;
第二校验模块,用于抽样访问所述至少一个数据库实例的备份数据,以验证所述待校验数据的可用性;
存储模块,用于在所述第一校验模块校验的完整性和所述第二校验模块校验的可用性均通过验证时,存储所述待校验数据。
10.根据权利要求9所述的装置,其特征在于,还包括:
确定模块,用于确定所述至少一个数据库实例可成功启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710253680.1A CN107193683B (zh) | 2017-04-18 | 2017-04-18 | 数据库备份的校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710253680.1A CN107193683B (zh) | 2017-04-18 | 2017-04-18 | 数据库备份的校验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107193683A true CN107193683A (zh) | 2017-09-22 |
CN107193683B CN107193683B (zh) | 2021-05-25 |
Family
ID=59872018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710253680.1A Active CN107193683B (zh) | 2017-04-18 | 2017-04-18 | 数据库备份的校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107193683B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595290A (zh) * | 2018-03-23 | 2018-09-28 | 上海爱数信息技术股份有限公司 | 一种保证备份数据可靠性的方法及数据备份方法 |
CN109726051A (zh) * | 2018-12-29 | 2019-05-07 | 上海上讯信息技术股份有限公司 | 一种数据库备份数据有效性自动化验证方法 |
CN109766215A (zh) * | 2018-12-06 | 2019-05-17 | 合肥联宝信息技术有限公司 | 一种数据处理方法及装置 |
CN110019363A (zh) * | 2017-12-11 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种校验数据的方法和装置 |
CN110675060A (zh) * | 2019-09-24 | 2020-01-10 | 国网冀北电力有限公司信息通信分公司 | 基于大数据应用的能源供需分析预测平台 |
CN111367886A (zh) * | 2020-03-02 | 2020-07-03 | 中国邮政储蓄银行股份有限公司 | 数据库中数据迁移的方法及装置 |
CN111625396A (zh) * | 2019-02-27 | 2020-09-04 | 阿里巴巴集团控股有限公司 | 备份数据的校验方法、服务器及存储介质 |
CN112214352A (zh) * | 2020-10-16 | 2021-01-12 | 天津七所高科技有限公司 | 一种基于Ethernet/IP的焊机设备数据自动备份方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013187816A1 (en) * | 2012-06-15 | 2013-12-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and a consistency checker for finding data inconsistencies in a data repository |
CN103970638A (zh) * | 2013-02-01 | 2014-08-06 | 国际商业机器公司 | 用于存档和备份存储的选择性监控的系统和方法 |
CN104111937A (zh) * | 2013-04-18 | 2014-10-22 | 中兴通讯股份有限公司 | 主、备数据库及其数据一致性检测、修复方法和装置 |
CN105550073A (zh) * | 2016-03-10 | 2016-05-04 | 世纪龙信息网络有限责任公司 | 数据库备份方法及其系统 |
-
2017
- 2017-04-18 CN CN201710253680.1A patent/CN107193683B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013187816A1 (en) * | 2012-06-15 | 2013-12-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and a consistency checker for finding data inconsistencies in a data repository |
CN103970638A (zh) * | 2013-02-01 | 2014-08-06 | 国际商业机器公司 | 用于存档和备份存储的选择性监控的系统和方法 |
CN104111937A (zh) * | 2013-04-18 | 2014-10-22 | 中兴通讯股份有限公司 | 主、备数据库及其数据一致性检测、修复方法和装置 |
CN105550073A (zh) * | 2016-03-10 | 2016-05-04 | 世纪龙信息网络有限责任公司 | 数据库备份方法及其系统 |
Non-Patent Citations (1)
Title |
---|
张兴竹等: "MD5在数据库中实现数据完整性校验", 《电脑编程技巧与维护》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019363A (zh) * | 2017-12-11 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种校验数据的方法和装置 |
CN108595290A (zh) * | 2018-03-23 | 2018-09-28 | 上海爱数信息技术股份有限公司 | 一种保证备份数据可靠性的方法及数据备份方法 |
CN109766215A (zh) * | 2018-12-06 | 2019-05-17 | 合肥联宝信息技术有限公司 | 一种数据处理方法及装置 |
CN109766215B (zh) * | 2018-12-06 | 2022-03-25 | 合肥联宝信息技术有限公司 | 一种数据处理方法及装置 |
CN109726051A (zh) * | 2018-12-29 | 2019-05-07 | 上海上讯信息技术股份有限公司 | 一种数据库备份数据有效性自动化验证方法 |
CN111625396A (zh) * | 2019-02-27 | 2020-09-04 | 阿里巴巴集团控股有限公司 | 备份数据的校验方法、服务器及存储介质 |
CN111625396B (zh) * | 2019-02-27 | 2023-05-26 | 阿里云计算有限公司 | 备份数据的校验方法、服务器及存储介质 |
CN110675060A (zh) * | 2019-09-24 | 2020-01-10 | 国网冀北电力有限公司信息通信分公司 | 基于大数据应用的能源供需分析预测平台 |
CN111367886A (zh) * | 2020-03-02 | 2020-07-03 | 中国邮政储蓄银行股份有限公司 | 数据库中数据迁移的方法及装置 |
CN111367886B (zh) * | 2020-03-02 | 2024-01-19 | 中国邮政储蓄银行股份有限公司 | 数据库中数据迁移的方法及装置 |
CN112214352A (zh) * | 2020-10-16 | 2021-01-12 | 天津七所高科技有限公司 | 一种基于Ethernet/IP的焊机设备数据自动备份方法及装置 |
CN112214352B (zh) * | 2020-10-16 | 2023-02-17 | 天津七所高科技有限公司 | 一种基于Ethernet/IP的焊机设备数据自动备份方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107193683B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193683A (zh) | 数据库备份的校验方法及装置 | |
CN106201338B (zh) | 数据存储方法及装置 | |
US8838531B2 (en) | Database synchronization and validation | |
KR101921365B1 (ko) | 비휘발성 매체 더티 영역 추적 기법 | |
CN101359335B (zh) | 用于可伸缩文件系统恢复的资源管理 | |
CN109710572B (zh) | 一种基于HBase的文件分片方法 | |
US7827440B1 (en) | Re-synchronizing corrupted data | |
CN111352902A (zh) | 日志处理方法、装置、终端设备及存储介质 | |
US20190121793A1 (en) | Data updating method and device for a distributed database system | |
US9329799B2 (en) | Background checking for lost writes and data corruption | |
CN102981927A (zh) | 分布式独立冗余磁盘阵列存储方法及分布式集群存储系统 | |
CN106897342A (zh) | 一种数据校验方法和设备 | |
CN111176885A (zh) | 一种分布式存储系统的数据校验方法及相关装置 | |
US7774320B1 (en) | Verifying integrity of file system data structures | |
CN108062200A (zh) | 一种磁盘数据读写方法及装置 | |
CN108932249A (zh) | 一种管理文件系统的方法及装置 | |
CN102222033B (zh) | 一种保存小型计算机系统接口访问错误的方法及装置 | |
CN117178265A (zh) | 基于快照的数据损坏检测 | |
CN105956046A (zh) | 一种字典的更新方法、系统和服务器 | |
CN111045858A (zh) | 一种坏道处理方法及系统 | |
CN108280097A (zh) | 一种数据库系统的故障处理方法和装置 | |
CN107402841A (zh) | 大规模分布式文件系统数据修复方法及设备 | |
CN105354149A (zh) | 一种内存数据查找方法和装置 | |
JP4473513B2 (ja) | 原本性検証装置および原本性検証プログラム | |
US20170004030A1 (en) | Method and system for validating data integrity |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210309 Address after: 101300 309, 3rd floor, 60 Fuqian 1st Street, Tianzhu District, Shunyi District, Beijing Applicant after: Beijing longzhixin Technology Co.,Ltd. Address before: 100041 room 120, 4th floor, building 17, yard 30, Shixing street, Shijingshan District, Beijing Applicant before: BEIJING PANDA MUTUAL ENTERTAINMENT TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |