CN104636480B - 重建备机数据库的方法及其装置 - Google Patents
重建备机数据库的方法及其装置 Download PDFInfo
- Publication number
- CN104636480B CN104636480B CN201510082880.6A CN201510082880A CN104636480B CN 104636480 B CN104636480 B CN 104636480B CN 201510082880 A CN201510082880 A CN 201510082880A CN 104636480 B CN104636480 B CN 104636480B
- Authority
- CN
- China
- Prior art keywords
- page
- file
- fileinfo
- structured file
- standby host
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 230000010076 replication Effects 0.000 claims description 32
- 238000010586 diagram Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000006854 communication Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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/1464—Management of the backup or restore process for networked environments
-
- 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
-
- 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
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
-
- 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/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
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)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种重建备机数据库的方法和装置。该方法包括:获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息,其中,第一页式结构文件与第二页式结构文件为存在对应关系的数据文件,对第一页式结构文件的文件信息和第二页式结构文件的文件信息进行比较,得到文件信息是否相同的比较结果,根据文件信息是否相同的比较结果对备机数据库进行重建。本发明实施例通过采用增量重建备机数据库,能够缩短重建备机数据库的时间。
Description
技术领域
本发明涉及通信领域,并且更具体地,涉及一种重建备机数据库的方法及其装置。
背景技术
数据库(Data Base)是在计算机的存储设备上合理存放的相关联的有结构的数据集合。数据库进行双机热备时,通常采用重做(redo)日志流复制技术来实现:主机数据库将持续产生的重做日志流发送到备机数据库中,备机数据库进行回放以恢复数据,从而实现热备。然而,主机数据库中保留的日志文件是有限的,当备机数据库复制速度过慢、回放过慢或网络断裂等时,导致备机数据库无法从主机数据库复制所需日志文件,流复制机制停止。此时,需要重建备机数据库以继续进行流复制。
现有重建备机数据库的方法就是把主机数据库中的全部数据文件和全部日志文件一次性复制到备机数据库中,这样,在备机数据库重启后可以继续进行流复制。但是,当主机数据库数据量很大时,这种重建备机数据库的方法可能耗时很长,并且带来很大的网络资源损耗。
发明内容
本发明实施例提供一种重建备机数据库的方法及其装置,能够缩短重建备机数据库的时间。
第一方面,提供了一种重建备机数据库的方法,包括获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息,其中,所述第一页式结构文件与所述第二页式结构文件为存在对应关系的数据文件;对所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息进行比较,得到文件信息是否相同的比较结果;根据所述文件信息是否相同的比较结果对所述备机数据库进行重建。
结合第一方面,在第一方面的一种实现方式中,所述根据所述文件信息是否相同的比较结果对所述备机数据库进行重建包括:当所述文件信息是否相同的比较结果为所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息不同时,用所述第一页式结构文件替换所述第二页式结构文件。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述根据所述文件信息是否相同的比较结果对所述备机数据库进行重建包括:当所述文件信息是否相同的比较结果为所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息不同时,用所述第一页式结构文件替换所述第二页式结构文件。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述文件信息包括文件大小;所述对所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息进行比较具体为:对所述第一页式结构文件的文件大小和所述第二页式结构文件的文件大小进行比较。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,当所述文件大小的比较结果为不同时,所述对所述备机数据库进行重建具体为:将所述第一页式结构文件的所有页替换所述第二页式结构文件的所有页。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述文件信息包括页的个数;所述对所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息进行比较具体为:对所述第一页式结构文件中页的个数和所述第二页式结构文件中页的个数进行比较。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,当所述文件页的个数的比较结果为不同时,所述对所述备机数据库进行重建具体为:将所述第一页式结构文件的所有页替换所述第二页式结构文件的所有页。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,当所述文件信息的比较结果相同时,所述对所述备机数据库进行重建具体为:对所述第一页式结构文件中每一页的版本信息和所述第二页式结构文件中页的每一页的版本信息逐个进行比较;对于页的版本信息不同的页,用所述第一页式结构文件的页替换所述第二页式结构文件的相应的页。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述页的版本信息包括日志文件的位置或逻辑系统时间戳。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述根据所述文件信息是否相同的比较结果对所述备机数据库进行重建之前,还要确定所述主机数据库支持复制关系并且所述备机数据库的进程已经正常关闭。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,当所述文件信息是否相同的比较结果为相同,且页的版本信息的比较结果也相同时,对所述第二页式结构文件不做修改。
第二方面,提供了一种重建备机数据库的装置,所述装置包括:获取单元,用于获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息,其中,所述第一页式结构文件与所述第二页式结构文件为存在对应关系的数据文件;比较单元,用于对所述获取单元获取的所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息进行比较,得到文件信息是否相同的比较结果;重建单元,用于根据所述比较单元得到的所述文本信息是否相同的比较结果对所述备机数据库进行重建。
结合第二方面,在第二方面的一种实现方式中,所述重建单元具体用于:当所述文件信息是否相同的比较结果为所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息不同时,用所述第一页式结构文件替换所述第二页式结构文件。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述文件信息包括文件大小;所述比较单元具体用于对所述第一页式结构文件的文件大小和所述第二页式结构文件的文件大小进行比较。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,当所述比较单元得到的所述文件大小的比较结果为不同时,所述重建单元具体用于将所述第一页式结构文件的所有页替换所述第二页式结构文件的所有页。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述文件信息包括页的个数;所述比较单元具体用于对所述第一页式结构文件中页的个数和所述第二页式结构文件中页的个数进行比较。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,当所述比较单元得到的所述文件页的个数的比较结果为不同时,所述重建单元具体用于将所述第一页式结构文件的所有页替换所述第二页式结构文件的所有页。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,当所述文件信息的比较结果相同时,所述重建单元具体用于:对所述第一页式结构文件中每一页的版本信息和所述第二页式结构文件中页的每一页的版本信息逐个进行比较;对于页的版本信息不同的页,用所述第一页式结构文件的页替换所述第二页式结构文件的相应的页。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述页的版本信息包括日志文件的位置或逻辑系统时间戳。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述装置还包括确定单元,所述确定单元用于在所述重建单元根据所述文件信息是否相同的比较结果对所述备机数据库进行重建之前,还要确定所述主机数据库支持复制关系并且所述备机数据库的进程已经正常关闭。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,当所述比较单元得到的文件信息是否相同的比较结果为相同,且页的版本信息的比较结果也相同时,所述重建单元用于对所述第二页式结构文件不做修改。
本发明实施例在重建备机数据库时,通过获取并比较主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息是否相同,根据比较结果对备机数据库进行重建,这样可以避免主机数据库数据量很大时采用全量重建备机数据库的带来很大的网络资源损耗,能够缩短重建备机数据库的时间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的重建备机数据库的方法的示意性流程图。
图2是本发明另一实施例的重建备机数据库的方法的示意性流程图。
图3是本发明一个实施例的基于主机数据库中页版本信息和备机数据库中的页版本信息对备机数据库进行重建的原理图。
图4是本发明一个实施例的重建备机数据库的装置的框图。
图5是本发明另一实施例的重建备机数据库的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是本发明一个实施例的重建备机数据库的方法的示意性流程图。
步骤101,获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息,其中,第一页式结构文件与第二页式结构文件为存在对应关系的数据文件。
步骤102,对第一页式结构文件的文件信息和第二页式结构文件的文件信息进行比较,得到文件信息是否相同的比较结果。
步骤103,根据文件信息是否相同的比较结果对备机数据库进行重建。
本发明实施例在重建备机数据库时,通过获取并比较主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息是否相同,根据比较结果对备机数据库进行重建,这样可以避免主机数据库数据量很大时采用全量重建备机数据库的带来很大的网络资源损耗,能够缩短重建备机数据库的时间。
备机数据库可以获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息。其中,第一页式结构文件与第二页式结构文件为存在对应关系的数据文件。第一页式结构文件可以为主机数据库的数据文件中的任意一个页式结构文件。具体地,主机数据库可以从本地数据文件中读取页式结构文件的版本信息,然后将页式结构文件的文件信息发送给备机数据库。备机数据库还可以读取备机数据库的数据文件中与主机数据库的数据文件中第一页式结构文件的位置对应的第二页式结构文件的版本信息。这里的位置对应可以是文件的位置相同,例如,第一页式结构文件在主机数据库中的位置和第二页式结构文件在备机数据库中的位置相同。
数据库中的文件包括数据文件和日志文件。重建备机数据库时,要完成对数据文件和日志文件的重建。当主机数据库中数据文件和日志文件两部分均完成复制时,表示完成对备机数据库的重建。日志文件对结构化查询语言(Structured Query Language,SQL)每次执行的记录进行跟踪,以记录数据库的更新操作。日志文件包括恢复数据库中的所有事务所需的信息。
主机数据库或备机数据库中的数据文件可能既包括页式结构文件,还包括非页式结构文件。页式结构文件以页为最小单位来存储管理。
应理解,本发明实施例中的文件信息可以为文件大小、文件中页的个数或者文件中页的版本信息。本发明实施例对文件信息不做限定。
当第一页式结构文件的文件信息和第二页式结构文件的文件信息不同时,可以用第一页式结构文件替换第二页式结构文件。即可以用主机数据库中的一个页式结构文件来替换备机数据库中与之相应位置的文件。应理解,当备机数据库中没有与主机数据库中的页式结构文件对应的文件时,可以直接将主机数据库中的该文件复制到备机数据库的相应位置,这种情形也在本发明的保护范围之内。
具体地,数据库中每个文件大小可以相同。可以通过比较文件大小来比价文件是否相同。也可以通过比较文件中页的个数来比较文件是否相同。或者,更具体地,比较文件中页的版本信息来比较文件是否相同。
当文件信息为文件大小时,对第一页式结构文件的文件信息和第二页式结构文件的文件信息进行比较具体为对第一页式结构文件的文件大小和第二页式结构文件的文件大小进行比较。例如,当主机数据库中的文件和备机数据库中的文件大小相同(比如,都为8k)时,可以认为这两个文件相同,在这种情况下,对备机数据库中的该文件不做修改。当主机数据库中的文件和备机数据库中的文件大小不同时,可以认为这两个文件不同,可以用主机数据库中的文件替换备机数据库中的对应文件,即用主机数据库中的文件的所有页替换备机数据库中对应的文件的所有页。
当文件信息为页的个数时,对第一页式结构文件的文件信息和第二页式结构文件的文件信息进行比较具体为对第一页式结构文件中页的个数和第二页式结构文件中页的个数进行比较。例如,当主机数据库中的文件中页的个数和备机数据库中的文件中页的个数相同(比如,主机数据库的第一文件包括六页,备机数据库的第二文件包括四页。其中,第一文件与第二文件在两个数据库中的位置相同)时,可以认为这两个文件相同,在这种情况下,对备机数据库中的该文件不做修改。当主机数据库中的文件和备机数据库中的页的个数不同时,可以认为这两个文件不同,可以用主机数据库中的文件替换备机数据库中的文件,即用主机数据库中的全部页替换备机数据库的全部页。
当文件信息为页的版本信息时,对第一页式结构文件的文件信息和第二页式结构文件的文件信息进行比较具体为对第一页式结构文件中页的版本信息和第二页式结构文件中页的版本信息进行比较。可以对主机数据库中的页式结构文件和备机数据库中的对应位置的页式结构文件,这两个文件中的每一页的页的版本信息进行比较。当主机数据库中的文件中每一页的版本信息和对应的备机数据库中的文件中每一页的版本信息相同时,可以认为这两个文件相同,在这种情况下,对备机数据库中的该文件不做修改。当主机数据库中的页的版本信息和对应的备机数据库中的文件中页的版本信息不同时,可以用主机数据库中的该页替换备机数据库中的该页。应理解,当页的个数相同时,可以对不同页用主机数据库中的页替换备机数据库中的页。当页的个数不同时,例如,主机数据库中的页在备机数据库中没有对应页时,可以将主机数据库的该页复制到备机数据库的对应位置上,这种情形仍在本发明的保护范围之内。
应理解,上述三种文件信息文件大小、文件中页的个数和文件中页的版本信息可以任意组合来判断主机数据库中的页式结构文件和对应备机数据库中的页式结构文件是否相同。在此不再一一赘述。
当第一页式结构文件的文件信息和第二页式结构文件的文件信息相同时,可以认为第一页式结构文件的内容和第二页式结构文件的内容相同。当第一页式结构文件的文件信息和第二页式结构文件的文件信息不同时,可以认为第一页式结构文件的内容和第二页式结构文件的内容不同。
根据文件信息是否相同的比较结果对备机数据库进行重建包括:当文件信息是否相同的比较结果为第一页式结构文件的文件信息和第二页式结构文件的文件信息不同时,用第一页式结构文件替换第二页式结构文件。当文件信息是否相同的比较结果为第一页式结构文件的文件信息和第二页式结构文件的文件信息相同时,对第二页式结构文件不做修改,即保留备机数据库中的第二页式结构文件。
用第一文件替换第二文件可以为将第一文件全部复制,用第一文件的全部内容替换第二文件的全部内容。第一文件中页的个数和第二文件中页的个数不同时,页可以这样进行文件的整体替换。
用第一文件替换第二文件还可以包括用第一文件的第一页与第二文件中的替换第二文件中的第一页比较,当第一文件的第一页和第二文件的第一页相同时,对第二文件的第一页不做修改。当第一文件的第一页和第二文件的第一页不同时,用第一文件的第一页替换第二文件的第一页。对第一文件和第二文件两个文件中的每一页都进行比较,这样可以在页相同时,不再对该页进行复制,这样可以减小重建备机数据库对网络资源的损耗。
具体地,第一文件的第一页为主机数据库的数据文件中页式结构文件的一页,第二文件的第一页为备机数据库中页式结构文件的一页。第一文件的第一页和第二文件的第一页在两个数据库的数据文件中的位置相同。数据库中的数据文件包括至少一个文件,数据文件可以为页式结构文件,也可以为非页式结构文件。页式结构文件是以页为最小单位来进行存储管理的。页式结构文件的页上包括版本信息,通常,版本信息为页变化历史中的位置或时刻标识。版本信息可以随着的页的更新而不断增大。一般地,页的版本信息相同,可以认为页的内容相同。页的版本信息不同,可以认为页的内容不同。当第一文件的第一页内容和第二文件的第一页内容不同时,可以用第一文件的第一页替换第二文件的第一页,例如,可以通过复制主机文件的第一页来替换第二文件的第一页。当第一文件的第一页内容和第二文件的第一页内容相同时,可以对第二文件的第一页不做修改,可以不再通过复制第一文件的第一页,也不再用主机文件的第一页替换第二文件的第二页。
例如,当主机数据库中的文件中的页的版本号码和对应备机数据库中对应文件中的对应页的版本号码相同时,对备机数据库中的文件中的该页不做修改。当主机数据库中的文件中的页的版本号码和对应备机数据库中对应文件中的对应页的版本号码不同时,用主机数据库中的文件中的该页替换备机数据库中的文件中的该页。
本发明实施例对判断页是否相同不做限定。例如,可以通过页的版本号码来判断,但本发明并不限定于此。
应理解,本发明实施例中的替换还可以包括增加或删除。当备机数据库中不存在第二文件,(比如,双机热备过程中,备机跟不上主机,未能复制主机中的第一文件)时,在备机数据库中与主机数据库中的第一文件相同的位置上增加第一文件。当备机数据库比主机数据库中多出文件时,删除该多余的文件。上述情况都在本发明实施例中的覆盖范围之内。
本发明实施例采用增量式对备机数据库进行重建,通过比较数据文件的页式结构文件的文件信息对备机数据库进行重建,仅需要复制主机数据库和备机数据库上有变化的文件,而不再复制相同的文件。这样可以缩短重建备机数据库的时间,能够降低网络资源损耗。
本发明实施例采用增量式重建备机数据库,主机数据库不再需要向备机数据库传输全部数据,在缩短重建备机数据库的时间的同时,还可以减少对主机网络资源的消耗。
可选地,作为本发明的一个实施例,页的版本信息可以包括下列信息中的至少一种:日志文件的位置和逻辑系统时间戳。
可选地,作为本发明的一个实施例,根据文件信息是否相同的比较结果对备机数据库进行重建之前,还要确定主机数据库支持复制关系并且备机数据库的进程已经正常关闭。
可选地,作为本发明的一个实施例,当主机数据库不支持复制关系或备机数据库的进程异常关闭时,用主机数据库的数据文件覆盖备机数据库的数据文件。
在重建备机数据库之前,可以判断主机数据库是否支持复制关系。在重建备机数据库之前,还可以判断备机数据库的进程是否正常关闭。当主机数据库支持复制关系时,或者,当备机数据库的进程正常关闭时,可以根据第一页式结构文件的文件信息和第二页式结构文件的文件信息对备机数据库进行重建,这样可以提高重建备机数据库的准确率。当主机数据库支持复制关系且备机数据库正常关闭时,根据第一页式结构文件的文件信息和第二页式结构文件的文件信息对备机数据库进行重建可以进一步提高重建备机数据库的准确率。当主机数据库不支持复制关系或备机数据库的异常关闭时,采用全量式重建备机数据库,用主机数据库的数据文件覆盖备机数据库的数据文件,用主机数据库的日志文件覆盖备机数据库的日志文件。
当主机数据库启用不记录日志(Nologging)模式或者备机数据库的数据文件不是源自所述主机数据库时,确定主机数据库不支持复制关系。备机数据库的数据文件不是源自主机数据库,可以认为是备机数据库与主机数据库不匹配,那么主机数据库不支持复制关系。例如,主机数据库的标识符与备机数据库的标识符不一致。
应理解,本发明实施例对如何确定主机数据库不支持复制关系不做限制。例如,当主机数据库与备机数据库不匹配时,都可以认为主机数据库不支持复制关系。
主机数据库可能启用Nologging模式进行应用数据库的升级,这样,备机数据库便无法得知主机数据库是否有修改或进行了哪些修改,这时,无法使用增量式重建备机数据库。当主机数据库启用过Nologging模式时,可以认为主机数据库不支持复制关系。
当主机数据库不支持复制关系时,不能采用增量式对备机数据库进行重建,而需要采用全量式对备机数据库进行重建,将主机数据库中的全部数据文件和全部日志文件复制到备机数据库中,即用主机数据库的数据文件覆盖备机数据库的数据文件,用主机数据库的日志文件覆盖备机数据库的日志文件。
备机数据库还包括控制文件,备机数据库的控制文件可以记载备机数据库的状态信息。备机数据库可以根据该状态信息得知备机数据库是否正常关闭。本发明实施例对如何判断备机数据库是否正常关闭不做限制。
当备机数据库异常关闭时,可能存在只写了一部分(partial write)的页,此时比较页的版本信息无法判断主机数据库中的页与对应备机数据库中的页的内容是否相同。所以当备机数据库异常关闭时,不能采用增量式对备机数据库进行重建,而需要采用全量式对备机数据库进行重建,将主机数据库中的全部数据文件和全部日志文件复制到备机数据库中,即用主机数据库的数据文件覆盖备机数据库的数据文件,用主机数据库的日志文件覆盖备机数据库的日志文件。
主机数据库是否支持复制关系和备机数据库是否正常关闭这两个判断步骤的先后顺序可以互换。本发明实施例对判断主机数据库是否支持复制关系和判断备机数据库是否正常关闭的先后顺序不做限定。当主机数据库不支持复制关系或者备机数据库异常关闭时,可以采用全量式对备机数据库进行重建。当主机数据库支持复制关系时,或者当备机数据库正常关闭时,或者当主机数据库支持复制关系,并且备机数据库正常关闭时,可以采用增量式重建备机数据库。
主机数据库或备机数据库中的数据文件可能既包括页式结构文件,还包括非页式结构文件。对于数据文件中的非页式结构文件,无法通过比较页的版本信息对备机数据库进行重建,而直接将主机数据库的数据文件中的非页式结构文件替换对应备机数据库的数据文件中的对应位置的非页式结构文件。
可选地,作为本发明的一个实施例,主机数据库的数据文件中包括非页式结构文件时,用主机数据库的数据文件中的非页式结构文件替换备机数据库的数据文件的非页式结构文件。主机数据库还包括日志文件,在进行备机数据库重建时,可以用主机数据库的日志文件替换备机数据库的日志文件。
本发明实施例提供了一种高性能的备机数据库的重建方法,通过比较主机数据库的数据文件的第一页式结构文件的文件信息和备机数据库的数据文件的第二页式结构文件的文件信息,第一页式结构文件的文件信息和第二页式结构文件的文件信息相同时,可以认为这两个文件信息的内容相同,对备机数据库的数据文件的页式结构中的该页不做修改,从而可以减少需要传输的数据量,这样可以缩短重建备机数据库的时间,从而提高数据库系统的可用性,进而能够提升备机数据库的重建性能。
重建备机数据库时,当主机数据库中数据文件和日志文件两部分均完成复制时,表示完成对备机数据库的重建。日志文件对结构化查询语言(Structured QueryLanguage,SQL)每次执行的记录进行跟踪,以记录数据库的更新操作。日志文件包括恢复数据库中的所有事务所需的信息。
完成重建备机数据库时,可以将备机数据库拉起,并重新建立主机数据库和备机数据库之间的复制关系,以继续进行数据库双机热备等通信过程。
图2是本发明另一个实施例的重建备机数据库的方法的示意性流程图。
步骤201,关闭备机数据库的进程,开始重建备机数据库。
数据库双机热备过程中,主机数据库保存的日志文件是有限的。当备机数据库复制速度过慢、备机数据库回放过慢或者网络断裂等时,备机数据库无法从主机数据库复制所需日志文件。这时,日志流复制机制停止,此时备机数据库需要进行重建。首先关闭备机数据库的进程,以开始进行重建的数据库。
步骤202,判断主机数据库是否支持复制关系。
主机数据库不支持复制关系包括主机数据库启用过Nologging模式、备机数据库与主机数据库不匹配。主机数据库可能启用Nologging模式进行应用数据库的升级,这样,备机数据库便无法得知主机数据库是否有修改或进行了哪些修改,这时,无法使用增量式对备机数据库进行重建。当主机数据库启用过Nologging模式时,可以认为主机数据库不支持复制关系。另外,主机数据库与备机数据库可能存在不匹配的情况,例如,备机数据库中的数据不是源自主机数据库,或者主机数据库的标识符与备机数据库的标识符(例如,ID)不一致。
步骤203,全量式重建备机数据库。
当步骤202的判断结果为主机数据库不支持复制关系时,不能采用增量式对备机数据库进行重建,可以采用全量式对备机数据库进行重建。备机数据库可以用主机数据库的全部数据文件和全部日志文件替换在备机数据库对应位置上,以对备机数据库进行重建。
步骤204,判断备机数据库的进程是否正常关闭。
当步骤202的判断结果为主机数据库支持复制关系时,继续判断备机数据库是否正常关闭。
步骤202和步骤204两个判断步骤的先后顺序可以互换。本发明实施例对判断主机数据库是否支持复制关系和判断备机数据库的进程是否正常关闭的先后顺序不做限定。例如,还可以先判断备机数据库的进程是否正常关闭,当判断结果为备机数据库的进程正常关闭时,继续判断主机数据库是否支持复制关系。当判断结果为备机数据库的进程异常关闭时,采用全量式重建备机数据库,即用主机数据库中的数据文件和日志文件替换备机数据库中对应位置的数据文件和日志文件,或者重新拉起备机数据库,然后正常关闭备机数据库的进程,进而重新判断备机数据库是否正常关闭和主机数据库是否支持复制关系。
步骤205,采用全量式重建机数据库。
当备机数据库的进程异常关闭时,可能存在只写了一部分(partial write)的页,此时比较文件信息无法判断主机数据库的数据文件中页式结构文件与备机数据库的数据文件中页式结构文件的对应位置的文件的内容是否相同。所以当步骤204的判断结果为备机数据库的进程异常关闭时,采用全量式重建机数据库,即用主机数据库的数据文件替换备机数据库的数据文件,用主机数据库日志文件替换备机数据库的日志文件。
步骤206,重新拉起备机数据库,正常关闭备机数据库的进程。
当步骤204的判断结果为备机数据库异常关闭时,还可以重新拉起备机数据库,然后正常关闭备机数据库的进程,进而重新返回步骤202判断主机数据库是否支持复制关系,以继续执行后续流程。
步骤205和步骤206是当步骤204的判断结果为备机数据库异常关闭时所采用的不同方法。当判断备机数据库异常关闭时,步骤205和步骤206不会同时执行,而可以择一选择执行步骤205或步骤206。
步骤207,备机数据库与主机数据库连接。
备机数据库和主机数据库相连接,以开启数据文件和日志文件两条复制流程进行重建备机数据库。下面从步骤208是开启日志文件重建流程。从步骤209开启数据文件重建流程。
应理解,数据文件和日志文件两条重建流程同时进行,互不干扰。步骤208的日志文件重建可以在整个备机数据库重建完成前都在进行,以实时用主机数据库的日志文件覆盖备机数据库的日志文件。例如,将主机数据库中的日志文件复制到备机数据库中,并替换备机数据库中的日志文件。
步骤208,重建日志文件。
重建日志文件,用主机数据库中的日志文件覆盖备机数据库中的日志文件。
步骤209,判断是否还有未重建的数据文件。
数据库中的数据文件包括至少一个文件。当步骤209的判断结果为还有未重建的页时,遍历当前所有的数据文件,继续执行步骤210,继续对其他文件进行重建,对其他文件继续执行不做修改或用主机数据库的文件替换备机数据库中的对应文件。当步骤209的判断结果为没有未重建的数据文件时,即主机数据库中的所有数据文件都已经完成重建,则执行步骤215,结束整个流程。
步骤210,判断第一文件是否为页式结构文件。
当步骤209判断结果为主机数据库中存在未进行备机数据库重建的数据文件时,执行步骤210,判断第一文件是否为页式结构文件,其中,第一文件可以为主机数据库的数据文件中的任意一个文件。
步骤211,判断文件信息是否相同。
当步骤210的判断结果为第一文件为页式结构文件时,执行步骤211,判断文件信息是否相同。假设第二文件为备机数据库中与主机数据库中第一文件对应的文件,那么步骤211判断第一文件的文件信息和第二文件的文件信息是否相同。
本发明实施例对如何比较文件信息判断得到文件内容是否相同不做限定。本发明实施例中的文件信息可以为文件大小、文件中页的个数或文件中页的版本信息。文件信息还可以为其他的相关信息,本发明实施例对此不做限定。
步骤212,对第二文件不做修改。
当步骤211的判断结果为第一文件的文件信息和第二文件的文件信息相同时,可以认为第一文件的文件内容和第二文件的文件内容相同。此时,可以对第二文件不做修改,即备机数据库中保留第二文件。
步骤211之后,执行步骤209,判断是否还有未重建的文件。
步骤213,用第一文件替换第二文件。
当步骤211的判断结果为第一文件的文件信息和第二文件的文件信息不同时,可以认为第一文件的文件内容和第二文件的文件内容不同。此时,可以用第一文件替换第二文件。
应理解,用第一文件替换第二文件可以为将第一文件全部复制,用第一文件的全部内容替换第二文件的全部内容。
用第一文件替换第二文件还可以包括用第一文件的第一页与第二文件中的替换第二文件中的第一页比较,当第一文件的第一页和第二文件的第一页相同时,对第二文件的第一页不做修改。当第一文件的第一页和第二文件的第一页不同时,用第一文件的第一页替换第二文件的第一页。对第一文件和第二文件两个文件中的每一页都进行比较,这样可以在页相同时,不再对该页进行复制,这样可以减小重建备机数据库对网络资源的损耗。
应理解,替换还包括增加或删除。例如,当第一文件和第二文件内容不同时,可以用第一文件替换第二文件。当备机数据库中不存在第二文件,(比如,双机热备过程中,备机跟不上主机,未能复制主机中的第一文件)时,在备机数据库中与主机数据库中的第一文件相同的位置上增加第一文件。当备机数据库比主机数据库中多出文件时,删除该多余的文件。上述情况都在本发明实施例中的覆盖范围之内。
步骤213之后,执行步骤209,判断是否还有未重建的文件。
步骤214,复制第一文件到备机数据库。
当判断步骤210得到第一文件为非页式结构文件时,采用将第一文件复制到备机数据库的对应位置上。
步骤215,结束。
当步骤209判断结果为没有为未重建的数据文件时,且已完成步骤208时,执行步骤215,结束整个流程。
流程进行到215时,表示已完成整个重建备机数据库的过程。
图3是本发明一个实施例的基于主机数据库中页版本信息和备机数据库中的页版本信息对备机数据库进行重建的原理图。
图3中301为主机数据库的数据文件中的页式结构的文件,302为原备机数据库中的数据文件中页式结构的文件,303为重建后的备机数据库中的数据文件中页式结构的文件。其中,一个长方形小格表示一页,连续的连在一起的几页表示一个文件。例如,图中301-1,301-2,302-1,302-2,303-1,303-2都表示一页。301-1,301-2和后面连续两个小格表示一个文件。301和302中的空白小格表示主机数据库的数据文件和备机数据库的数据文件的相同位置的页的版本信息相同,例如,图3中页301-1和页302-1的版本信息相同。301和302中的阴影小格表示主机数据库的数据文件和备机数据库的数据文件的相同位置的页的版本信息不同,例如,图3中页301-2和页302-2的版本信息相同。
图3中301中的文件与302中对应位置的文件对应。301中的每个文件与302中的每个文件对应。例如,301中第一行包括两个文件,第一个文件包括四页,第二个文件包括两个,第二行包括一个七页的文件,第三行包括一个两页的文件和一个四页的文件。302中的每一个文件都与301中的每个文件对应。
图3中301每个文件中每一页与302每个文件中每一页对应。例如,页301-1与页302-1对应。
本发明实施例中,可以通过比较主机数据库的数据文件和备机数据库的数据文件相同位置的页的版本信息,来对备机数据库进行重建。如果主机数据库的数据文件和备机数据库的数据文件的相同位置的页的版本信息相同,则可以认为该页的关键内容相同,重建备机数据库时,无需对该页进行处理,即对该页不做处理。如果主机数据库的数据文件和备机数据库的数据文件相同位置的页的版本信息不同,则可以认为该页的关键内容不同,重建备机数据库时,可以用主机数据库的数据文件中的该页替换备机数据库的数据文件中的页。
例如,比较页301-1和页302-1的版本信息可以得到页301-1和页302-1的版本信息相同,备机数据库不再复制页301-1来替换302-1,而对页302-1不做处理,即备机数据库的数据文件中保留页302-1,将页302-1作为重建后的备机数据库中的页式结构文件的页303-1。比较页301-2和页302-2的版本信息可以得到页301-2和页302-2的版本信息不同,备机数据库用页301-1覆盖原备机数据库的页式结构文件的页303-2,即用页301-1作为重建后的备机数据库的页式结构文件的页303-2。
如此遍历页式结构文件中的每一页,将主机数据库的页式结构文件和对应备机数据库的页式结构文件相比较。如果页的版本信息相同,则对备机数据库的数据文件中的该页不做修改。如果页的版本信息不同,则用主机数据库的数据文件中的页替换备机数据库的数据文件中的页。
如果主机数据库的数据文件中存在非页式结构的文件,则用该非页式结构的文件替换备机数据库的数据文件中的非页式结构文件。
最后,复制所有的日志文件到备机数据库中,即用主机数据库中的日志文件覆盖备机数据库的日志文件,这样,即可以完成对备机数据库的重建。
重建备机数据库完成时,可以将备机数据库拉起,并重新建立主机数据库与备机数据库之间的复制关系,以继续进行数据库双机热备等通信过程。
上面结合图1、图2和图3详细描述了重建备机数据库的方法和原理,下面结合图4和图5详细描述重建备机数据库的装置。
图4是本发明一个实施例的重建备机数据库的装置的框图。图4的装置40包括获取单元41和重建单元42。
获取单元41用于获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息,其中,第一页式结构文件与第二页式结构文件为存在对应关系的数据文件。
比较单元42用于对获取单元获取的第一页式结构文件的文件信息和第二页式结构文件的文件信息进行比较,得到文件信息是否相同的比较结果.
重建单元43用于根据比较单元得到的文本信息是否相同的比较结果对备机数据库进行重建。
本发明实施例在重建备机数据库时,通过获取并比较主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息是否相同,根据比较结果对备机数据库进行重建,这样可以避免主机数据库数据量很大时采用全量重建备机数据库的带来很大的网络资源损耗,能够缩短重建备机数据库的时间。
可选地,作为本发明的一个实施例,重建单元具体用于:当文件信息是否相同的比较结果为第一页式结构文件的文件信息和第二页式结构文件的文件信息不同时,用第一页式结构文件替换第二页式结构文件。
可选地,作为本发明的一个实施例,文件信息包括文件大小。比较单元具体用于对第一页式结构文件的文件大小和第二页式结构文件的文件大小进行比较。
可选地,作为本发明的一个实施例,当比较单元得到的文件大小的比较结果为不同时,重建单元具体用于将第一页式结构文件的所有页替换第二页式结构文件的所有页。
可选地,作为本发明的一个实施例,文件信息包括页的个数。比较单元具体用于述第一页式结构文件中页的个数和第二页式结构文件中页的个数进行比较。
可选地,作为本发明的一个实施例,当比较单元得到的文件页的个数的比较结果为不同时,重建单元具体用于将第一页式结构文件的所有页替换第二页式结构文件的所有页。
可选地,作为本发明的一个实施例,当比较单元得到的文件信息的比较结果相同时,重建单元具体用于:对第一页式结构文件中每一页的版本信息和第二页式结构文件中页的每一页的版本信息逐个进行比较。对于页的版本信息不同的页,用第一页式结构文件的页替换第二页式结构文件的相应的页。
可选地,作为本发明的一个实施例,页的版本信息包括日志文件的位置或逻辑系统时间戳。
可选地,作为本发明的一个实施例,装置还包括确定单元,用于在重建单元根据文件信息是否相同的比较结果对备机数据库进行重建之前,还要确定主机数据库支持复制关系并且备机数据库的进程已经正常关闭。
可选地,作为本发明的一个实施例,当比较单元得到的文件信息是否相同的比较结果为相同,且页的版本信息的比较结果也相同时,重建单元用于对第二页式结构文件不做修改。
图4的装置40可以执行图1、图2、和图3所示的方法的各个流程,为避免重复,在此不再详细描述。
图5是根据本发明另一实施例的重建备机数据库的装置的框图。该装置50包括处理器51、存储器52和总线系统53。其中,处理器51和存储器52通过总线系统53相连,该存储器52用于存储指令,该处理器51用于执行该存储器52存储的指令和数据。存储器52的一部分还可以包括非易失行随机存取存储器(NVRAM,Non-Volatile Random Access Memory)。装置的各个组件通过总线系统53耦合在一起,其中总线系统53除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统53。
上述本发明实施例揭示的方法可以应用于处理器51中,或者由处理器51实现。在实现过程中,上述方法的各步骤可以通过处理器51中的硬件的集成逻辑电路或者软件形式的指令完成。处理器51可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器52,处理器51读取存储器52中的信息,结合其硬件完成上述方法的步骤。
具体地,处理器51可以获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息,其中,第一页式结构文件与第二页式结构文件为存在对应关系的数据文件。对获取单元获取的第一页式结构文件的文件信息和第二页式结构文件的文件信息进行比较,得到文件信息是否相同的比较结果。根据文本信息是否相同的比较结果对备机数据库进行重建。
本发明实施例在重建备机数据库时,通过获取并比较主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息是否相同,根据比较结果对备机数据库进行重建,这样可以避免主机数据库数据量很大时采用全量重建备机数据库的带来很大的网络资源损耗,能够缩短重建备机数据库的时间。
可选地,作为本发明的一个实施例,处理器51用于当文件信息是否相同的比较结果为第一页式结构文件的文件信息和第二页式结构文件的文件信息不同时,用第一页式结构文件替换第二页式结构文件。
可选地,作为本发明的一个实施例,处理器51用于当文件信息包括文件大小时,对第一页式结构文件的文件大小和第二页式结构文件的文件大小进行比较。
可选地,作为本发明的一个实施例,处理器51用于当比较单元得到的文件大小的比较结果为不同时,将第一页式结构文件的所有页替换第二页式结构文件的所有页。
可选地,作为本发明的一个实施例,处理器51用于当文件信息包括页的个数时,对第一页式结构文件中页的个数和第二页式结构文件中页的个数进行比较。
可选地,作为本发明的一个实施例,处理器51用于当比较单元得到的文件页的个数的比较结果为不同时,用于将第一页式结构文件的所有页替换第二页式结构文件的所有页。
可选地,作为本发明的一个实施例,处理器51用于当比较单元得到的文件信息的比较结果相同时,具体用于对第一页式结构文件中每一页的版本信息和第二页式结构文件中页的每一页的版本信息逐个进行比较。对于页的版本信息不同的页,用第一页式结构文件的页替换第二页式结构文件的相应的页。
可选地,作为本发明的一个实施例,页的版本信息包括日志文件的位置或逻辑系统时间戳。
可选地,作为本发明的一个实施例,处理器51用于在重建单元执行根据第一比较单元得到的文本信息是否相同的比较结果对备机数据库进行重建之前确定主机数据库支持复制关系并且备机数据库的进程已经正常关闭。
可选地,作为本发明的一个实施例,处理器51用于当比较单元得到的文件信息是否相同的比较结果为相同,且页的版本信息的比较结果也相同时,重建单元用于对第二页式结构文件不做修改。
装置50能够实现前述方法实施例中的步骤,为避免重复,不再详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或步骤可以用硬件、处理器执行的软件程序,或者二者的结合来实施。软件程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。
Claims (20)
1.一种重建备机数据库的方法,其特征在于,包括:
获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息,其中,所述第一页式结构文件与所述第二页式结构文件为存在对应关系的数据文件;
对所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息进行比较,得到文件信息是否相同的比较结果;
根据所述文件信息是否相同的比较结果对所述备机数据库进行重建。
2.如权利要求1所述的方法,其特征在于,所述根据所述文件信息是否相同的比较结果对所述备机数据库进行重建包括:
当所述文件信息是否相同的比较结果为所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息不同时,用所述第一页式结构文件替换所述第二页式结构文件。
3.如权利要求1或2所述的方法,其特征在于,所述文件信息包括文件大小;
所述对所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息进行比较具体为:
对所述第一页式结构文件的文件大小和所述第二页式结构文件的文件大小进行比较。
4.如权利要求3所述的方法,其特征在于,
当所述文件大小的比较结果为不同时,所述对所述备机数据库进行重建具体为:将所述第一页式结构文件的所有页替换所述第二页式结构文件的所有页。
5.如权利要求1或2所述的方法,其特征在于,所述文件信息包括页的个数;
所述对所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息进行比较具体为:
对所述第一页式结构文件中页的个数和所述第二页式结构文件中页的个数进行比较。
6.如权利要求5所述的方法,其特征在于,
当所述文件页的个数的比较结果为不同时,所述对所述备机数据库进行重建具体为:将所述第一页式结构文件的所有页替换所述第二页式结构文件的所有页。
7.如权利要求1或2所述的方法,其特征在于,当所述文件信息的比较结果相同时,所述对所述备机数据库进行重建具体为:
对所述第一页式结构文件中每一页的版本信息和所述第二页式结构文件中页的每一页的版本信息逐个进行比较;
对于页的版本信息不同的页,用所述第一页式结构文件的页替换所述第二页式结构文件的相应的页。
8.如权利要求7所述的方法,其特征在于,所述页的版本信息包括日志文件的位置或逻辑系统时间戳。
9.如权利要求1或2所述的方法,其特征在于,所述根据所述文件信息是否相同的比较结果对所述备机数据库进行重建之前,还要确定所述主机数据库支持复制关系并且所述备机数据库的进程已经正常关闭。
10.如权利要求7所述的方法,其特征在于,
当所述文件信息是否相同的比较结果相同,且页的版本信息的比较结果相同时,对所述第二页式结构文件不做修改。
11.一种重建备机数据库的装置,其特征在于,包括:
获取单元,用于获取主机数据库的第一页式结构文件的文件信息和备机数据库中第二页式结构文件的文件信息,其中,所述第一页式结构文件与所述第二页式结构文件为存在对应关系的数据文件;
比较单元,用于对所述获取单元获取的所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息进行比较,得到文件信息是否相同的比较结果;
重建单元,用于根据所述比较单元得到的所述文件信息是否相同的比较结果对所述备机数据库进行重建。
12.如权利要求11所述的装置,其特征在于,所述重建单元具体用于:
当所述比较单元得到的所述文件信息是否相同的比较结果为所述第一页式结构文件的文件信息和所述第二页式结构文件的文件信息不同时,用所述第一页式结构文件替换所述第二页式结构文件。
13.如权利要求11或12所述的装置,其特征在于,所述文件信息包括文件大小;
所述比较单元具体用于对所述第一页式结构文件的文件大小和所述第二页式结构文件的文件大小进行比较。
14.如权利要求13所述的装置,其特征在于,
当所述比较单元得到的所述文件大小的比较结果为不同时,所述重建单元具体用于将所述第一页式结构文件的所有页替换所述第二页式结构文件的所有页。
15.如权利要求11或12所述的装置,其特征在于,所述文件信息包括页的个数;
所述比较单元具体用于对所述第一页式结构文件中页的个数和所述第二页式结构文件中页的个数进行比较。
16.如权利要求15所述的装置,其特征在于,
当所述比较单元得到的所述文件页的个数的比较结果为不同时,所述重建单元具体用于将所述第一页式结构文件的所有页替换所述第二页式结构文件的所有页。
17.如权利要求11或12所述的装置,其特征在于,当所述比较单元得到的所述文件信息的比较结果相同时,所述重建单元具体用于:
对所述第一页式结构文件中每一页的版本信息和所述第二页式结构文件中页的每一页的版本信息逐个进行比较;
对于页的版本信息不同的页,用所述第一页式结构文件的页替换所述第二页式结构文件的相应的页。
18.如权利要求17所述的装置,其特征在于,所述页的版本信息包括日志文件的位置或逻辑系统时间戳。
19.如权利要求11或12所述的装置,其特征在于,所述装置还包括确定单元,所述确定单元用于在所述重建单元根据所述文件信息是否相同的比较结果对所述备机数据库进行重建之前,还要确定所述主机数据库支持复制关系并且所述备机数据库的进程已经正常关闭。
20.如权利要求17所述的装置,其特征在于,
当所述比较单元得到的所述文件信息是否相同的比较结果相同,且页的版本信息的比较结果相同时,所述重建单元用于对所述第二页式结构文件不做修改。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510082880.6A CN104636480B (zh) | 2015-02-13 | 2015-02-13 | 重建备机数据库的方法及其装置 |
PCT/CN2015/083536 WO2016127557A1 (zh) | 2015-02-13 | 2015-07-08 | 重建备机数据库的方法及其装置 |
RU2017102476A RU2665884C2 (ru) | 2015-02-13 | 2015-07-08 | Способ и устройство для восстановления базы данных резервного узла |
JP2017501381A JP6470391B2 (ja) | 2015-02-13 | 2015-07-08 | スタンバイノードデータベースを再構築するための方法及び装置 |
EP15881718.9A EP3147789B1 (en) | 2015-02-13 | 2015-07-08 | Method for re-establishing standby database, and apparatus thereof |
US15/377,683 US10585895B2 (en) | 2015-02-13 | 2016-12-13 | Method and apparatus for reconstructing standby node database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510082880.6A CN104636480B (zh) | 2015-02-13 | 2015-02-13 | 重建备机数据库的方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636480A CN104636480A (zh) | 2015-05-20 |
CN104636480B true CN104636480B (zh) | 2018-09-28 |
Family
ID=53215226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510082880.6A Active CN104636480B (zh) | 2015-02-13 | 2015-02-13 | 重建备机数据库的方法及其装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10585895B2 (zh) |
EP (1) | EP3147789B1 (zh) |
JP (1) | JP6470391B2 (zh) |
CN (1) | CN104636480B (zh) |
RU (1) | RU2665884C2 (zh) |
WO (1) | WO2016127557A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636480B (zh) | 2015-02-13 | 2018-09-28 | 华为技术有限公司 | 重建备机数据库的方法及其装置 |
CN106484869A (zh) * | 2016-10-12 | 2017-03-08 | 北京集奥聚合科技有限公司 | 一种基于mysql binlog的分布式缓存方法及系统 |
CN107368392A (zh) * | 2017-07-25 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种从数据库的重建方法、主数据库及从数据库 |
CN107547648A (zh) * | 2017-08-31 | 2018-01-05 | 郑州云海信息技术有限公司 | 一种内部数据复制方法及装置 |
CN111651173B (zh) * | 2020-06-11 | 2024-03-26 | 深圳创维-Rgb电子有限公司 | key码数据烧录方法、装置、终端设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649196A (en) * | 1993-07-01 | 1997-07-15 | Legent Corporation | System and method for distributed storage management on networked computer systems using binary object identifiers |
CN101231652A (zh) * | 2007-01-24 | 2008-07-30 | 国际商业机器公司 | 用于数据存储再同步的系统和方法 |
CN101246535A (zh) * | 2008-03-25 | 2008-08-20 | 深圳市迅雷网络技术有限公司 | 一种修复异常文件的方法、系统和装置 |
CN102054035A (zh) * | 2010-12-29 | 2011-05-11 | 北京播思软件技术有限公司 | 一种基于数据范围的数据库数据同步方法 |
CN104111937A (zh) * | 2013-04-18 | 2014-10-22 | 中兴通讯股份有限公司 | 主、备数据库及其数据一致性检测、修复方法和装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07234812A (ja) * | 1994-02-23 | 1995-09-05 | Mitsubishi Electric Corp | 分散システムにおけるデータコンペア方式 |
US5907849A (en) | 1997-05-29 | 1999-05-25 | International Business Machines Corporation | Method and system for recovery in a partitioned shared nothing database system using virtual share disks |
US6049853A (en) * | 1997-08-29 | 2000-04-11 | Sequent Computer Systems, Inc. | Data replication across nodes of a multiprocessor computer system |
US6289357B1 (en) * | 1998-04-24 | 2001-09-11 | Platinum Technology Ip, Inc. | Method of automatically synchronizing mirrored database objects |
JP4374093B2 (ja) * | 1999-06-14 | 2009-12-02 | 株式会社ジャストシステム | 情報処理装置、情報処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6526418B1 (en) * | 1999-12-16 | 2003-02-25 | Livevault Corporation | Systems and methods for backing up data files |
JP2001325107A (ja) * | 2000-05-17 | 2001-11-22 | Ntt Comware Corp | 情報更新方法 |
JP2002149465A (ja) * | 2000-11-09 | 2002-05-24 | Nec Informatec Systems Ltd | 情報共有システム |
US7010553B2 (en) * | 2002-03-19 | 2006-03-07 | Network Appliance, Inc. | System and method for redirecting access to a remote mirrored snapshot |
US7051053B2 (en) * | 2002-09-30 | 2006-05-23 | Dinesh Sinha | Method of lazily replicating files and monitoring log in backup file system |
US8682844B2 (en) * | 2005-01-28 | 2014-03-25 | Sap Ag | Method and apparatus for collision resolution in an asynchronous database system |
US7698318B2 (en) * | 2006-02-10 | 2010-04-13 | Microsoft Corporation | Automatically determining file replication mechanisms |
JP2007233671A (ja) * | 2006-03-01 | 2007-09-13 | Fuji Xerox Co Ltd | 画像処理装置、画像処理方法および画像処理プログラム |
JP2008257444A (ja) * | 2007-04-04 | 2008-10-23 | Nec Corp | 類似ファイル管理装置、その方法及びそのプログラム |
EP2003579B1 (en) * | 2007-06-15 | 2015-08-19 | Hitachi, Ltd. | Method and system for data processing with database update for the same |
US7865475B1 (en) * | 2007-09-12 | 2011-01-04 | Netapp, Inc. | Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data |
CN101477486B (zh) * | 2009-01-22 | 2010-08-04 | 中国人民解放军国防科学技术大学 | 一种基于扇区重组的文件备份恢复方法 |
US8402071B2 (en) * | 2009-06-19 | 2013-03-19 | Aptare, Inc. | Catalog that stores file system metadata in an optimized manner |
US8219768B2 (en) * | 2010-01-05 | 2012-07-10 | Hitachi, Ltd. | System and method for establishing a copy pair relationship between source and destination volumes |
CN101894137A (zh) * | 2010-06-23 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式数据库中数据恢复的方法和装置 |
CN103077242B (zh) * | 2013-01-11 | 2016-03-09 | 北京佳讯飞鸿电气股份有限公司 | 一种实现数据库服务器双机热备的方法 |
US9336226B2 (en) * | 2013-01-11 | 2016-05-10 | Commvault Systems, Inc. | Criteria-based data synchronization management |
US9892153B2 (en) * | 2014-12-19 | 2018-02-13 | Oracle International Corporation | Detecting lost writes |
CN104636480B (zh) * | 2015-02-13 | 2018-09-28 | 华为技术有限公司 | 重建备机数据库的方法及其装置 |
-
2015
- 2015-02-13 CN CN201510082880.6A patent/CN104636480B/zh active Active
- 2015-07-08 JP JP2017501381A patent/JP6470391B2/ja active Active
- 2015-07-08 RU RU2017102476A patent/RU2665884C2/ru active
- 2015-07-08 EP EP15881718.9A patent/EP3147789B1/en active Active
- 2015-07-08 WO PCT/CN2015/083536 patent/WO2016127557A1/zh active Application Filing
-
2016
- 2016-12-13 US US15/377,683 patent/US10585895B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649196A (en) * | 1993-07-01 | 1997-07-15 | Legent Corporation | System and method for distributed storage management on networked computer systems using binary object identifiers |
CN101231652A (zh) * | 2007-01-24 | 2008-07-30 | 国际商业机器公司 | 用于数据存储再同步的系统和方法 |
CN101246535A (zh) * | 2008-03-25 | 2008-08-20 | 深圳市迅雷网络技术有限公司 | 一种修复异常文件的方法、系统和装置 |
CN102054035A (zh) * | 2010-12-29 | 2011-05-11 | 北京播思软件技术有限公司 | 一种基于数据范围的数据库数据同步方法 |
CN104111937A (zh) * | 2013-04-18 | 2014-10-22 | 中兴通讯股份有限公司 | 主、备数据库及其数据一致性检测、修复方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2017521791A (ja) | 2017-08-03 |
US10585895B2 (en) | 2020-03-10 |
CN104636480A (zh) | 2015-05-20 |
RU2017102476A (ru) | 2018-07-26 |
JP6470391B2 (ja) | 2019-02-13 |
EP3147789B1 (en) | 2019-04-10 |
US20170091280A1 (en) | 2017-03-30 |
EP3147789A1 (en) | 2017-03-29 |
WO2016127557A1 (zh) | 2016-08-18 |
EP3147789A4 (en) | 2017-07-19 |
RU2665884C2 (ru) | 2018-09-04 |
RU2017102476A3 (zh) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104636480B (zh) | 重建备机数据库的方法及其装置 | |
US10372559B2 (en) | Managing a redundant computerized database using a replicated database cache | |
CN105159818B (zh) | 内存数据管理中日志恢复方法及其仿真系统 | |
US6766471B2 (en) | User-level checkpoint and restart for groups of processes | |
JP5235357B2 (ja) | データ・セットを複製し、マスタ・データ・セットと同期させる方法およびプログラム | |
DE102018003221A1 (de) | Unterstützung gelernter Sprungprädiktoren | |
TW201019149A (en) | Method and apparatus for merging EDA coverage logs of coverage data | |
US7487385B2 (en) | Apparatus and method for recovering destroyed data volumes | |
CN107545015A (zh) | 一种查询故障的处理方法及处理装置 | |
US10503601B2 (en) | Method and apparatus for tracking objects in a first memory | |
JP2000242672A (ja) | 形式的論理検証装置および形式的論理検証方法 | |
CN116909488B (zh) | 访问磁盘阵列的方法、系统、介质、设备及磁盘阵列卡 | |
US20150120252A1 (en) | Cax model synchronization | |
CN114817012A (zh) | 一种自动化测试数据管理方法及系统 | |
DE112017000530T5 (de) | Konsistentes Speichern von Daten in einem verstreuten Speichernetzwerk | |
CN108959604B (zh) | 维护数据库集群的方法、装置及计算机可读存储介质 | |
US7743244B2 (en) | Computer system model generation with tracking of actual computer system configuration | |
US7742909B2 (en) | Reconstruction of data from simulation models | |
JP4099359B2 (ja) | テストパターンデータベースを再利用する順序回路自動テストパターン生成システム | |
CN113282566B (zh) | 数据库生成方法、装置、设备及存储介质 | |
CN110263303A (zh) | 文本修改历史的追溯方法及装置 | |
CN109213739A (zh) | 一种共享文件的信息处理方法 | |
CN110147355B (zh) | 数据同步方法、装置及服务器 | |
WO2023006168A1 (en) | Method to parallelize the restoration of continuous data protection (cdp) replication using delta compression | |
JP2001229062A (ja) | 分散ファイル管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |