CN108153614B - 一种数据库的备份及恢复方法 - Google Patents
一种数据库的备份及恢复方法 Download PDFInfo
- Publication number
- CN108153614B CN108153614B CN201611109683.XA CN201611109683A CN108153614B CN 108153614 B CN108153614 B CN 108153614B CN 201611109683 A CN201611109683 A CN 201611109683A CN 108153614 B CN108153614 B CN 108153614B
- Authority
- CN
- China
- Prior art keywords
- database
- backup
- sub
- server
- distribution
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
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
本发明涉及一种数据库的备份及恢复方法,该方法包括:使用多台分布服务器存储所述数据库,并共同提供数据库服务;将所述数据库的每个子数据库同时备份于t台分布服务器上,所述t是预先设置的数据库的备份冗余度;如果其中的一台分布服务器丢失数据,设该分布服务器上存储了E个子库,则寻找分别存储了该E个子库的另外E个分布服务器,为其恢复数据。
Description
【技术领域】
本发明属于计算机和数据库管理领域,尤其涉及一种数据库的备件及恢复方法。
【背景技术】
近年来,随着大数据时代的到来,数据的使用量在成倍增长,而对于数据的备份和恢复有着越来越高的要求。对于数据库的备份有两种,一种是实时备份,即备份数据库和源数据库是同步的,另一种是每隔一定时间备份一次,在源数据库发生故障而丢失数据后,就可以从备份服务器恢复数据。
然而,现有技术中,备份服务器一般只是用于备份,平时是不起作用的,这浪费备份服务器本身的能力,另一方面,当出现故障需要恢复数据时,源数据库只能暂停服务,等待数据的恢复,这大大影响了数据库的服务能力。
对于现有技术的上述缺点,还没有一种完善的解决方案。
【发明内容】
为了解决现有技术中的上述问题,本发明提出了一种数据库的备份及恢复方法。
本发明采用的技术方案如下:
一种数据库的备份及恢复方法,该方法包括以下步骤:
步骤1:使用多台分布服务器存储所述数据库,并共同提供数据库服务;
步骤2:将所述数据库的每个子数据库同时备份于t台分布服务器上,所述t是预先设置的数据库的备份冗余度。
步骤3:如果其中的一台分布服务器丢失数据,设该分布服务器上存储了E个子库,则寻找分别存储了该E个子库的另外E个分布服务器,为其恢复数据。
进一步地,由所述数据库中的多个数据表构成一个子数据库。
进一步地,各个子数据库的存储数据量基本相同。
进一步地,其特征在于,所述多台分布服务器可以互相传输数据。
进一步地,同一个子数据库在其存储的不同分布服务器上是同步的。
本发明的有益效果包括:备份服务器同时作为提供数据库服务的服务器,提高了备份服务器的资源利用率,并且备份和恢复的过程都不会影响数据库向外提供数据库服务。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明方法所应用的***结构图。
图2是本发明方法的基本步骤图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
参见附图1,其示出了本发明数据库的备份及恢复方法所适用的***结构,该***包括多台分布服务器,用于分布式存储一个数据库。所有的分布服务器都通过网络互相连接,相互之间可以互相传输数据,同时各分布服务器接受管理服务器的管理和调度,并通过管理服务器向外部提供数据库服务。所述网络可以是一个内部的局域网,使用局域网的优点是相互之间传输数据快;但是,考虑到异地容灾,该网络也可以是广域网、互联网。
参见图2,基于上述***结构,本发明数据库的备份及恢复方法的基本步骤如下:
步骤1:使用多台分布服务器存储所述数据库,并共同提供数据库服务;
步骤2:将所述数据库的每个子数据库同时备份于t台分布服务器上,所述t是预先设置的数据库的备份冗余度。
步骤3:如果其中的一台分布服务器丢失数据,设该分布服务器上存储了E个子库,则寻找分别存储了该E个子库的另外E个分布服务器,为其恢复数据。
基于上述基本步骤,下面详细说明本发明的数据库的备份及恢复方法:
(1)将整个数据库切分成多个子数据库。
具体的切分方式取决于数据库内所存储的数据,以及数据库的组织形式。例如,可以基于数据表进行切分,即将多个数据表构成一个子数据库;也可以根据存储的数据量进去切分,使得每个子数据库所存储的数据量基本相同。考虑到分布式存储,子数据库的数量可以根据具体情况所确定,但是一般不少于3个。
(2)设置数据库备份的冗余度t。
所述冗余度,指的是存储同一个子数据库的分布服务器的数量,假设共有n台分布服务器,则每一个子数据库都同时存储于其中的t台分布服务器中,这意味着即使其中有t-1台分布服务器故障,凭借剩余的1台分布服务器,该子数据库也能够得到恢复。为了保证冗余度,一般要求t≥3。另外,优选的,为了使得分布式存储的优势更好地发挥,数据分布平均,应当满足n≥mt/2,其中m是子数据库的数量。
(4)计算每一台分布服务器当前的备份度,具体的计算方法在后面说明。
所述备份度实际上是分布服务器存储数据子数据库所要耗费的代价,其反应了该分布服务器存储数据的效率。
(5)对于集合S中的每个服务器组,计算服务器组的备份度,所述服务器组的备份度是该服务器组中所有分布服务器的备份度之和。
所述备份度之和反映了一个子数据库要存储到该服务器所要花费的总的备份度,通过该备份度和,可以衡量不同服务器组的优劣。
(6)对集合S中的服务器组,按照服务器组的备份度进行排序,将备份度最小的服务器组作为一个备份组,并从集合S中删除。
(7)重复步骤4-6,一直到获取了m个备份组。
通过步骤4-6,选出了一个相对最优解,即将m个子数据库在冗余度t下存储于n台分布服务器的相对最优解,通过这一相对最优解,整个数据库的分布式存储效率得到了保证。
(8)每个备份组分别存储一个子数据库,即将备份组中的每一台分布服务器都存储相应子数据库的一个复制。
m个备份组与m个子数据库一一对应,因此上述步骤实质上将m个子数据库分别存储在m个备份度最小的服务器组中,并且每个子数据库都有t个冗余,即使其中的t-1台服务器故障,也能够继续提供服务,并在故障修复后提供恢复数据。一方面达到了分布式存储的目的,另一方面也达到了冗余备份的目的。
(9)对于不在任何一个备份组中的分布服务器,使用该分布服务器存储所有的子数据库。
可能由于某些分布服务器备份度过大,或者由于分布服务器数量很大,导致有一些分布服务器没有在前面的步骤中被选择存储子数据库,为了不浪费其存储能力,本发明使用这些服务器存储所有的子数据库,作为进一步的分布式存储的备份。
(10)如果其中的一台分布服务器丢失数据,设该分布服务器上存储了E个子库,则寻找分别存储了该E个子库的另外E个分布服务器,为其恢复数据。
通过以上步骤,整个数据库被分布式存储,同时也是分布式地备份,每一台分布服务器既是数据库的服务器,也用作备份服务器,通过管理服务器的管理和调度,各个分布服务器共同向外提供数据库服务,即使其中有少数服务器故障,服务也不会停止,并通过步骤10的方式可以为故障服务器恢复数据。
前述步骤(4)中,需要针对每一台分布服务器计算当前的备份度,备份度可以有多种计算方式,下面是依据本发明的一个实施例的计算方式,但是本领域技术人员可以采用任意一种可行的其他计算方式,本发明对此不作限制。
(4.1)设n台分布服务器为A1,A2,……,An;首先计算Ai(1≤i≤n)的数据代价Di,即Di=W1Ti+W2/Li。其中,Ti是分布服务器Ai到管理服务器的传输延迟时间(单位为秒),Li是分布服务器Ai本身的数据吞吐率(单位为MB/秒)。W1和W2是预先定义的权重系数。
如果各台分布服务器在同一个局域网中,则所述传输延迟时间应该是相同的,这种情况下可以省略该时间的计算,直接用一个固定数值代替。
(4.2)计算分布服务器Ai的备份度Ci=FiDi。
其中,Fi是Ai在已经获取的备份组中出现的次数。例如,已经获取的备份组为S1={A1,A2,A3}和S2={A1,A3,A4},那么当前的F1=2,即A1在已获取的两个备份组中出现2次,同理有F2=1,F3=2。
所述Fi反映了分布服务器Ai中已有的子数据库数量,每个子数据库都会占用存储空间和数据传输带宽,导致分布服务器负载增加,因而导致了备份度的增加。
基于上述数据库的恢复方法,在数据库的管理上,同一个子数据库在不同分布服务器上都是同步的,因此如果n台分布服务器中有一台丢失了数据,可以使用其他的分布服务器为其恢复数据,例如,如果丢失数据的服务器上本来有k个子数据库,那么就可以同时使用另外的相应于k个子数据库的k台分布服务器为其恢复数据。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。
Claims (1)
1.一种数据库的备份及恢复方法,所述数据库的备份及恢复方法所适用的***结构,该***包括多台分布服务器,用于分布式存储一个数据库;所有的分布服务器通过网络互相连接,相互之间可以互相传输数据,同时各分布服务器接受管理服务器的管理和调度,并通过管理服务器向外部提供数据库服务;所述网络为可实现相互之间快速传输数据的内部局域网、具有异地容灾的广域网或互联网;
其特征在于,该方法包括以下步骤:
步骤1:使用多台分布服务器存储所述数据库,并共同提供数据库服务;
步骤2:将所述数据库的每个子数据库同时备份于t台分布服务器上,所述t是预先设置的数据库的备份冗余度;
步骤3:如果其中的一台分布服务器丢失数据,设该分布服务器上存储了E个子库,则寻找分别存储了该E个子库的另外E个分布服务器,为其恢复数据;
由所述数据库中的多个数据表构成一个子数据库;
所述数据库的备份及恢复方法具体包括如下步骤:
(1)将整个数据库切分成多个子数据库;
根据数据库内所存储的数据,以及数据库的组织形式进行切分:
基于数据表进行切分,将多个数据表构成一个子数据库;或根据存储的数据量进去切分,使得每个子数据库所存储的数据量基本相同;所述子数据库的数量不少于3个;
(2)设置数据库备份的冗余度t;
所述冗余度为存储同一个子数据库的分布服务器的数量,在共有n台分布服务器,每一个子数据库都同时存储于其中的t台分布服务器中,以实现t-1台分布服务器出现故障时,该子数据库也能够得到恢复;t≥3;其中,n≥mt/2,其中m是子数据库的数量;
(4)计算每一台分布服务器当前的备份度;
(5)对于集合S中的每个服务器组,计算服务器组的备份度,所述服务器组的备份度是该服务器组中所有分布服务器的备份度之和;
(6)对集合S中的服务器组,按照服务器组的备份度进行排序,将备份度最小的服务器组作为一个备份组,并从集合S中删除;
(7)重复步骤4-6,一直到获取m个备份组;
(8)每个备份组分别存储一个子数据库,以将备份组中的每一台分布服务器都存储相应子数据库的一个复制;
(9)对于不在任何一个备份组中的分布服务器,使用该分布服务器存储所有的子数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611109683.XA CN108153614B (zh) | 2016-12-02 | 2016-12-02 | 一种数据库的备份及恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611109683.XA CN108153614B (zh) | 2016-12-02 | 2016-12-02 | 一种数据库的备份及恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108153614A CN108153614A (zh) | 2018-06-12 |
CN108153614B true CN108153614B (zh) | 2021-08-20 |
Family
ID=62467890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611109683.XA Active CN108153614B (zh) | 2016-12-02 | 2016-12-02 | 一种数据库的备份及恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153614B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053982A (zh) * | 2009-11-02 | 2011-05-11 | 阿里巴巴集团控股有限公司 | 一种数据库信息管理方法和设备 |
CN102158540A (zh) * | 2011-02-18 | 2011-08-17 | 广州从兴电子开发有限公司 | 分布式数据库实现***及方法 |
US8370594B2 (en) * | 2003-01-22 | 2013-02-05 | Falconstor, Inc. | System and method for backing up data |
CN104516794A (zh) * | 2014-12-12 | 2015-04-15 | 国家电网公司 | 数据库文件的备份方法、装置及*** |
CN105517644A (zh) * | 2014-03-05 | 2016-04-20 | 华为技术有限公司 | 一种数据分区方法和设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9251012B2 (en) * | 2008-01-18 | 2016-02-02 | Tivo Inc. | Distributed backup and retrieval system |
CN102033889B (zh) * | 2009-09-29 | 2012-08-22 | 熊凡凡 | 分布式数据库并行处理*** |
CN102467508A (zh) * | 2010-11-04 | 2012-05-23 | 中兴通讯股份有限公司 | 提供数据库服务的方法及数据库*** |
US8954401B2 (en) * | 2011-01-14 | 2015-02-10 | Symantec Corporation | Systems and methods for providing increased scalability in deduplication storage systems |
CN103577407B (zh) * | 2012-07-19 | 2016-10-12 | 国际商业机器公司 | 用于分布式数据库的查询方法及查询装置 |
CN102880531B (zh) * | 2012-09-27 | 2014-04-16 | 新浪网技术(中国)有限公司 | 数据库备份***及其备份方法和从数据库服务器 |
WO2014136172A1 (ja) * | 2013-03-04 | 2014-09-12 | 株式会社東芝 | データベース装置、プログラムおよびデータ処理方法 |
US10108496B2 (en) * | 2014-06-30 | 2018-10-23 | International Business Machines Corporation | Use of replicated copies to improve database backup performance |
-
2016
- 2016-12-02 CN CN201611109683.XA patent/CN108153614B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370594B2 (en) * | 2003-01-22 | 2013-02-05 | Falconstor, Inc. | System and method for backing up data |
CN102053982A (zh) * | 2009-11-02 | 2011-05-11 | 阿里巴巴集团控股有限公司 | 一种数据库信息管理方法和设备 |
CN102158540A (zh) * | 2011-02-18 | 2011-08-17 | 广州从兴电子开发有限公司 | 分布式数据库实现***及方法 |
CN105517644A (zh) * | 2014-03-05 | 2016-04-20 | 华为技术有限公司 | 一种数据分区方法和设备 |
CN104516794A (zh) * | 2014-12-12 | 2015-04-15 | 国家电网公司 | 数据库文件的备份方法、装置及*** |
Non-Patent Citations (2)
Title |
---|
Research on High Availability Mechanism in Distributed Data Stream Management System;Liu Wei等;《2013 10th Web Information System and Application Conference》;IEEE;20140327;第290-293页 * |
分布式异构数据库备份恢复机制研究;梁永利;《信息通信》;20111015(第05期);第24-25页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108153614A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860547B2 (en) | Data mobility, accessibility, and consistency in a data storage system | |
CA2751358C (en) | Distributed storage of recoverable data | |
US10019192B2 (en) | Policy-based hierarchical data protection in distributed storage | |
WO2018028229A1 (zh) | 数据的分片存储方法、装置及*** | |
CN103944981B (zh) | 一种基于纠删码技术改进的云存储***及实现方法 | |
WO2018001110A1 (zh) | 一种基于纠删码的存储数据重构方法和装置、存储节点 | |
US20130290805A1 (en) | Distributed System for Fault-Tolerant Data Storage | |
WO2009048728A1 (en) | Smart access to a dispersed data storage network | |
CN102902600A (zh) | 有效的应用感知的灾难恢复 | |
CN105635252B (zh) | 一种Hadoop分布式文件***HDFS纠删码冗余备份方法 | |
CN112835738B (zh) | 一种条带数据存储结构的构建方法 | |
US8543864B2 (en) | Apparatus and method of performing error recovering process in asymmetric clustering file system | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与*** | |
CN103793296A (zh) | 一种在集群中用于辅助备份复制计算机***的方法 | |
Alouf et al. | Performance analysis of peer-to-peer storage systems | |
CN108153614B (zh) | 一种数据库的备份及恢复方法 | |
JP2017142605A (ja) | バックアップリストアシステム及びリストア方法 | |
CN115686368A (zh) | 区块链网络的节点的存储扩容的方法、***、装置和介质 | |
US20150088826A1 (en) | Enhanced Performance for Data Duplication | |
CN113157715B (zh) | 纠删码数据中心机架协同更新方法 | |
CN114528139A (zh) | 数据处理和节点部署的方法、装置、电子设备及介质 | |
CN106790447B (zh) | 一种基于库复制的分布式存储方法 | |
CN112667443A (zh) | 一种面向用户的可变分布式存储副本容错方法 | |
CN108366217B (zh) | 监控视频采集存储方法 | |
CN108153787B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 101399 No. 2 East Airport Road, Shunyi Airport Economic Core Area, Beijing (1st, 5th and 7th floors of Industrial Park 1A-4) Applicant after: Zhongke Star Map Co., Ltd. Address before: 101399 Building 1A-4, National Geographic Information Technology Industrial Park, Guomen Business District, Shunyi District, Beijing Applicant before: Space Star Technology (Beijing) Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |