CN112559247A - 一种基于第三方辅助的数据库数据备份方法及*** - Google Patents
一种基于第三方辅助的数据库数据备份方法及*** Download PDFInfo
- Publication number
- CN112559247A CN112559247A CN202011510557.1A CN202011510557A CN112559247A CN 112559247 A CN112559247 A CN 112559247A CN 202011510557 A CN202011510557 A CN 202011510557A CN 112559247 A CN112559247 A CN 112559247A
- Authority
- CN
- China
- Prior art keywords
- binary
- log
- server
- backup
- database
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000899 pressurised-fluid extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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/1464—Management of the backup or restore process for networked environments
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
本发明公开了一种基于第三方辅助的数据库数据备份方法及***,方法包括以下步骤:一:从服务器启动I/O线程,并配置用户信息与主服务器连接;二:从服务器读取主服务器的二进制日志,并将读取的二进制日志写入本地的中继日志;三:从服务器启动SQL线程定时检查中继日志,若发现中继日志中有新的二进制日志则本地数据库立即执行新二进制内容,将新二进制内容备份到本地的数据库。本发明能在新建信息***做好自有知识产权数据库支撑的同时,还需要面向已建信息***,提供不过度依赖国外数据库实施备份的能力,确保数据的安全性和可用性。
Description
技术领域
本发明涉及领域,尤其涉及一种基于第三方辅助的数据库数据备份方法及***。
背景技术
随着办公自动化和电子商务的飞速发展,企业对信息***的依赖性越来越高,数据库作为信息***的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。因此,有必要对数据库进行备份。这样,在数据库出现故障遭到损坏后,可以通过备份的数据库进行恢复。
数据库备份研究属于需求驱动型领域,在这方面各大公司较早开始相关研究,有些备份技术已经在各类应用环境下使用相当长时间。国外对备份软件的研究开始于20世纪80年代中期,到目前为止成熟的商用备份产品包括:EMC公司的Tivoli、BakBone公司的NetVault、CA公司的BrightStor等。
目前国内数据库的备份能力多数依赖于国外数据实施数据备份,不能实现自主备份,且存储量与流量不均衡,导致数据库备份过程中存储空间利用效率低、浪费存储空间。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于第三方辅助的数据库数据备份方法及***。
本发明的目的是通过以下技术方案来实现的:
一种基于第三方辅助的数据库数据备份方法,其特征在于,包括以下步骤:
步骤一:从服务器启动I/O线程,并配置用户信息与主服务器连接;
步骤二:从服务器读取主服务器的二进制日志,并将读取的二进制日志写入本地的中继日志;
步骤三:从服务器启动SQL线程定时检查中继日志,若发现中继日志中有新的二进制日志则本地数据库立即执行新二进制内容,将新二进制内容备份到本地的数据库。
具体的,所述步骤三中还包括每个从服务器执行新二进制内容时 都会记录二进制坐标,二进制日志坐标包括二进制文件名和当前从服务器在主服务器二进制文件中的已读取和处理的位置。
具体的,所述步骤二中将新二进制内容备份到本地数据库中还包括对新二进制日志内容进行压缩作为备份结果。
一种基于第三方辅助的数据库数据备份***,包括:主服务器和从服务器,其中:
主服务器,用于维护数据库数据,并将所有维护信息存储至主服务器的二进制日志中;
从服务器,用于读取主服务器的二进制日志并根据读取内容在本地数据库执行备份,将备份后的数据进行压缩作为备份结果存储至本地数据中。
具体的,所述从服务器包括:
备份模块,用于读取主服务器的二进制日志,根据读取内容在本地数据库执行备份;
压缩模块,用于对执行后的二进制日志进行压缩打包编号作为备份结果,并将备份结果存储至本地数据库。
本发明的有益效果:本发明能在新建信息***做好自有知识产权数据库支撑的同时,还需要面向已建信息***,提供不过度依赖国外数据库实施备份的能力,确保数据的安全性和可用性。
附图说明
图1是本发明的方法流程图。
图2是本发明的设备原理框图。
图3是本发明的网关模式体系结构图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
本实施例中,如图1所示,一种基于第三方辅助的数据库数据备份方法,其特征在于,包括以下步骤:
步骤一:从服务器启动I/O线程,并配置用户信息与主服务器连接;
步骤二:从服务器读取主服务器的二进制日志,并将读取的二进制日志写入本地的中继日志;
步骤三:从服务器启动SQL线程定时检查中继日志,若发现中继日志中有新的二进制日志则本地数据库立即执行新二进制内容,将新二进制内容备份到本地的数据库。
具体的,所述步骤三中还包括每个从服务器执行新二进制内容时 都会记录二进制坐标,二进制日志坐标包括二进制文件名和当前从服务器在主服务器二进制文件中的已读取和处理的位置。
具体的,所述步骤二中将新二进制内容备份到本地数据库中还包括对新二进制日志内容进行压缩作为备份结果。
本发明中,如图2所示,一种基于第三方辅助的数据库数据备份***,包括:主服务器和从服务器,其中:
主服务器,用于维护数据库数据,并将所有维护信息存储至主服务器的二进制日志中;
从服务器,用于读取主服务器的二进制日志并根据读取内容在本地数据库执行备份,将备份后的数据进行压缩作为备份结果存储至本地数据中。
具体的,所述从服务器包括:
备份模块,用于读取主服务器的二进制日志,根据读取内容在本地数据库执行备份;
压缩模块,用于对执行后的二进制日志进行压缩打包编号作为备份结果,并将备份结果存储至本地数据库。
本发明的数据库数据备份***的运行流程包括;
1.主服务器上面的任何修改都会通过自己的 I/O tread(I/O 线程)保存在二进制日志 Binary log 里面。
2.从服务器上面也启动一个 I/O thread,通过配置好的用户名和密码, 连接到主服务器上面请求读取二进制日志,然后把读取到的二进制日志写到本地的一个Realylog(中继日志)里面。
3.从服务器上面同时开启一个 SQL thread 定时检查 Realy log(这个文件也是二进制的),如果发现有更新立即把更新的内容在本机的数据库上面执行一遍。
每个从服务器都会收到主服务器二进制日志的全部内容的副本。从服务器设备负责决定应该执行二进制日志中的哪些语句。除非另行指定,否则主从二进制日志中的所有事件都在从站上执行。此外,可以将从服务器配置为仅处理一些特定数据库或表的事件。每个从站(从服务器)都会记录二进制日志坐标,包括:文件名和文件中从服务器已经从主站读取和处理的位置。由于每个从服务器都分别记录了自己当前处理二进制日志中的位置,因此可以断开从服务器的连接,重新连接然后恢复继续处理。
网关是使网络上相互协作的对端去耦合,并使它们进行交互,而又不直接相互依赖的中介者。根据数据库的数据完整性要求,提出了网关模式的概念以用于实现数据库中各个节点数据的完整性。
如图3所示,网关模式中主要封装了以下三个模式来确保网络中各节点数据的完整性。非阻塞缓冲式I/O(No n-blocking Buffered I/O) 模式: 该模式使输入机制与输出机制去耦合,以正确、可靠地路由数据,而又不会过度地阻塞应用处理。主动对象(ActiveObject):该模式使方法执行与方法调用去耦合,以增强并发、并简化对驻留在它们自己的线程控制中的对象的同步访问。确保在某节点上的阻塞式读写操作不会降低其他节点的传输效率。接收器—连接器( Accepto r-Co nnector): 该模式使网络***中的连接建立及服务初始化与服务处理去耦合。网关模式中组合了多个ACE已提供的组件,下面简单介绍其中重要的组件。消息多路分离组件: Map Manager(映射管理器)高效地将外部id(比如对端路由地址)映射到内部id(比如Consumer Handler)。网关模式使用Map Manager来实现Routing Table(路由表 ),后者在内部处理发给网关的消息的多路分离和路由。消息排队组件: Message Queue (消息队列)提供一种通用的排队机制,由网关用于在消息等待被路由给对端时,在Consumer Handler中对它们进行缓冲。
在运用网关模式实现DB的通信模块时,采用了多线程来实现主动对象网关,并使用非阻塞缓冲式I/O模式来提高更新数据在主副本节点之间的传输效率。同时消息排队组件中的Message Queue采用Monitor Object(管程对象) 模式来实现,使得通信模块可以在多线程环境中高效而健壮的运行。
(1)Supplier Handler: 负责将DB中传递来的更新数据作为到来的外部消息路由给它们的目的地 (即与该主副本节点相关的各个副本节点 )。当主动对象中的Scheduler在连接的通信端点上检测到事件时,它就会通知Supplier Handler。在Supplier Handler从该端点上接收完整的路由消息之后,它查询Routing Table,以确定消息的ConsumerHandler目的地集,随后它请求选中的Consumer Handler转发消息给适当的对端目的地。
(2)Consumer Handler: 负责将路由消息(DB中传递来的更新数据 )可靠地递送给它们的目的地(即与该主副本节点相关的各个副本节点 )。Consumer Handler采用非阻塞缓冲式I/O模式来实现以防止在与某个节点通信时发生阻塞而影响整个***的通信。组件内部使用Message Queue来串联因通信线路上出现暂时阻塞的现象而未发送的数据,其排列顺序为这些消息在流控制机制允许时所必须遵循的递送顺序。在被流控制的连接重又开放后,ACE构架通过Consumer Handler,后者就开始通过发送消息给对端来排空MessageQueue。
(3)Consumer Handler采用多线程结构的主动对象模式来实现,同时在SupplierHandler中也采用同样的基于多线程结构的主动对象模式,由于采用了多线程结构,***可以在硬件许可的情况下大幅度地提高***响应速度。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由所附的权利要求书及其等效物界定。
Claims (5)
1.一种基于第三方辅助的数据库数据备份方法,其特征在于,包括以下步骤:
步骤一:从服务器启动I/O线程,并配置用户信息与主服务器连接;
步骤二:从服务器读取主服务器的二进制日志,并将读取的二进制日志写入本地的中继日志;
步骤三:从服务器启动SQL线程定时检查中继日志,若发现中继日志中有新的二进制日志则本地数据库立即执行新二进制内容,将新二进制内容备份到本地的数据库。
2. 根据权利要求1所述的一种基于第三方辅助的数据库数据备份方法,其特征在于,所述步骤三中还包括每个从服务器执行新二进制内容时 都会记录二进制坐标,二进制日志坐标包括二进制文件名和当前从服务器在主服务器二进制文件中的已读取和处理的位置。
3.根据权利要求1所述的一种基于第三方辅助的数据库数据备份方法,其特征在于,所述步骤二中将新二进制内容备份到本地数据库中还包括对新二进制日志内容进行压缩作为备份结果。
4.一种基于第三方辅助的数据库数据备份***,其特征在于,包括:
主服务器,用于维护数据库数据,并将所有维护信息存储至主服务器的二进制日志中;
从服务器,用于读取主服务器的二进制日志并根据读取内容在本地数据库执行备份,将备份后的数据进行压缩作为备份结果存储至本地数据中。
5.根据权利要求4所述的一种基于第三方辅助的数据库数据备份***,其特征在于,所述从服务器包括:
备份模块,用于读取主服务器的二进制日志,根据读取内容在本地数据库执行备份;
压缩模块,用于对执行后的二进制日志进行压缩打包编号作为备份结果,并将备份结果存储至本地数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011510557.1A CN112559247A (zh) | 2020-12-18 | 2020-12-18 | 一种基于第三方辅助的数据库数据备份方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011510557.1A CN112559247A (zh) | 2020-12-18 | 2020-12-18 | 一种基于第三方辅助的数据库数据备份方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112559247A true CN112559247A (zh) | 2021-03-26 |
Family
ID=75030465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011510557.1A Pending CN112559247A (zh) | 2020-12-18 | 2020-12-18 | 一种基于第三方辅助的数据库数据备份方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559247A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110004586A1 (en) * | 2009-07-15 | 2011-01-06 | Lon Jones Cherryholmes | System, method, and computer program product for creating a virtual database |
CN104657382A (zh) * | 2013-11-21 | 2015-05-27 | 阿里巴巴集团控股有限公司 | 用于MySQL主从服务器数据一致性检测的方法和装置 |
CN106407356A (zh) * | 2016-09-07 | 2017-02-15 | 网易(杭州)网络有限公司 | 一种数据备份方法及装置 |
CN106933703A (zh) * | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种数据库数据备份的方法、装置及电子设备 |
CN112084161A (zh) * | 2020-09-16 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 基于数据库的数据处理方法、装置以及可读存储介质 |
-
2020
- 2020-12-18 CN CN202011510557.1A patent/CN112559247A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110004586A1 (en) * | 2009-07-15 | 2011-01-06 | Lon Jones Cherryholmes | System, method, and computer program product for creating a virtual database |
CN104657382A (zh) * | 2013-11-21 | 2015-05-27 | 阿里巴巴集团控股有限公司 | 用于MySQL主从服务器数据一致性检测的方法和装置 |
CN106933703A (zh) * | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种数据库数据备份的方法、装置及电子设备 |
CN106407356A (zh) * | 2016-09-07 | 2017-02-15 | 网易(杭州)网络有限公司 | 一种数据备份方法及装置 |
CN112084161A (zh) * | 2020-09-16 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 基于数据库的数据处理方法、装置以及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
尹燕敏;高春雷: "基于网关模式的数据同步复制的研究与应用", 《电脑开发与应用》, vol. 17, no. 10, 31 October 2004 (2004-10-31), pages 31 - 33 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8676760B2 (en) | Maintaining data integrity in data servers across data centers | |
CA2543493C (en) | System and method for failover | |
US8886796B2 (en) | Load balancing when replicating account data | |
US6735717B1 (en) | Distributed computing system clustering model providing soft real-time responsiveness and continuous availability | |
US20040068479A1 (en) | Exploiting asynchronous access to database operations | |
CN113641511B (zh) | 一种消息通信方法和装置 | |
CN102411639B (zh) | 元数据的多副本存储管理方法和*** | |
CN105493474B (zh) | 用于支持用于同步分布式数据网格中的数据的分区级别日志的***及方法 | |
JP2002522845A (ja) | フォールトトレラント・コンピュータシステム | |
US20070118840A1 (en) | Remote copy storage device system and a remote copy method | |
EP3680787B1 (en) | Method for synchronization between primary database and standby database, database system and device | |
WO2019210580A1 (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
CN101079896A (zh) | 一种并行存储***的多可用性机制共存架构 | |
CN110113406B (zh) | 基于分布式的计算服务集群*** | |
US7093163B2 (en) | Processing takeover method in multiple computer system | |
US8301750B2 (en) | Apparatus, system, and method for facilitating communication between an enterprise information system and a client | |
CN112559247A (zh) | 一种基于第三方辅助的数据库数据备份方法及*** | |
CN101471955A (zh) | 一种双控制器网络储存环境下的设备数据写入方法 | |
CN111629111B (zh) | 一种呼叫管理的***及方法 | |
JP2002149439A (ja) | 分散処理システムにおけるサーバ切替え方法及びサーバ装置 | |
CN117857572A (zh) | 一种支持秒级精准禁推的高可用架构 | |
CN116541424A (zh) | 一种联机小批量可疑记录处理方法及装置 | |
CN115914241A (zh) | 一种基于opensips的注册中心*** | |
CN115632947A (zh) | 一种配置下发方法及装置 | |
CN118296074A (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 |