掌桥专利:专业的专利平台
掌桥专利
首页

一种基于第三方辅助的数据库数据备份方法及系统

文献发布时间:2023-06-19 10:24:22


一种基于第三方辅助的数据库数据备份方法及系统

技术领域

本发明涉及领域,尤其涉及一种基于第三方辅助的数据库数据备份方法及系统。

背景技术

随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。因此,有必要对数据库进行备份。这样,在数据库出现故障遭到损坏后,可以通过备份的数据库进行恢复。

数据库备份研究属于需求驱动型领域,在这方面各大公司较早开始相关研究,有些备份技术已经在各类应用环境下使用相当长时间。国外对备份软件的研究开始于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中也采用同样的基于多线程结构的主动对象模式,由于采用了多线程结构,系统可以在硬件许可的情况下大幅度地提高系统响应速度。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由所附的权利要求书及其等效物界定。

相关技术
  • 一种基于第三方辅助的数据库数据备份方法及系统
  • 主备数据库数据一致性核查备份方法及其系统
技术分类

06120112533578