本发明专利技术涉及互联网技术领域,特别涉及一种数据库同步的方法、装置及系统。其中,同步方法,包括:设置一独立于主数据库和备数据库的同步装置,并使同步装置分别与主数据库和备数据库通讯;同步装置向主数据库发送同步请求;主数据库响应同步请求并将主数据库的同步日志发送给同步装置;同步装置解析同步日志并捕获主数据库的数据变化信息;同步装置将捕获的数据变化信息传送给备数据库,并根据数据变化信息将主备数据库进行数据同步。通过本发明专利技术的同步装置,即使主数据库在同步过程中发生崩溃,由于记录其数据变化信息的同步日志已经保存于同步装置,从而数据备份不依赖于主数据库的运行状态,备数据库能够根据该同步日志零损失的进行数据同步。
【技术实现步骤摘要】
【专利摘要】本专利技术涉及互联网
,特别涉及一种数据库同步的方法、装置及系统。其中,同步方法,包括:设置一独立于主数据库和备数据库的同步装置,并使同步装置分别与主数据库和备数据库通讯;同步装置向主数据库发送同步请求;主数据库响应同步请求并将主数据库的同步日志发送给同步装置;同步装置解析同步日志并捕获主数据库的数据变化信息;同步装置将捕获的数据变化信息传送给备数据库,并根据数据变化信息将主备数据库进行数据同步。通过本专利技术的同步装置,即使主数据库在同步过程中发生崩溃,由于记录其数据变化信息的同步日志已经保存于同步装置,从而数据备份不依赖于主数据库的运行状态,备数据库能够根据该同步日志零损失的进行数据同步。【专利说明】一种数据库同步的方法、装置及系统
本专利技术涉及互联网
,特别涉及一种数据库同步的方法、装置及系统。
技术介绍
越来越多的企业使用诸如MySql开源数据库之类的数据库产品进行数据存储和应用。在磁盘出现故障的情况下,MySql数据库的数据将会丢失。为了避免上述情况的发生,一般通过搭建MySql复制的方式异步的将数据同步到另外的服务器,这种办法一定程度上能够保证数据不完全丢失,但其缺陷在于:由于重做日志或者二进制日志数据还在内存中,MySql数据库在崩溃的时候,无法将这些数据持久化,异步的复制无法保证MySql的数据完整的全部同步到了另外一台服务器,不能做到零丢失。
技术实现思路
本专利技术的专利技术目的在于提供一种数据库同步的方法、装置及系统,使数据备份不依赖于主数据库的运行状态,来达到同步过程中数据的零损失。 根据本专利技术的一个方面,本专利技术提供一种数据库的同步方法,包括: 设置一独立于主数据库和备数据库的同步装置,并使所述同步装置分别与所述主数据库和所述备数据库通讯; 所述同步装置向所述主数据库发送同步请求; 所述主数据库响应所述同步请求并将主数据库的同步日志发送给所述同步装置,所述同步日志记载所述主数据库的数据变化信息; 所述同步装置解析所述同步日志并捕获所述主数据库的所述数据变化信息; 所述同步装置将捕获的所述数据变化信息传送给所述备数据库,并根据所述数据变化信息将所述备数据库与所述主数据库进行数据同步。 优选地,在所述同步装置解析所述同步日志的步骤中: 若所述同步装置初次解析所述同步日志,则获取所述同步日志的初始位置; 若所述同步装置再次解析所述同步日志,则获取上一次解析所述同步日志成功的位置。 优选地,在所述数据同步过程中,所述备数据进行阻塞操作直到数据库同步成功。 优选地,在所述数据同步完成后,更新所述备数据库的同步日志。 优选地,当所述主数据库和所述备数据库为不同通讯协议的数据库时,所述同步装置与所述主数据库和所述备数据库分别通讯来实现所述主数据库和所述备数据库的通讯连接。 根据本专利技术的另一个方面,本专利技术提供一种同步装置,包括: 通讯模块,与所述主数据库和所述备数据库分别连接并通讯; 控制模块,与所述通讯模块通讯并控制所述通讯模块向所述主数据库发送同步请求; 协议解析模块,与所述通讯模块通讯并接收所述主数据库发送给所述同步装置的同步日志并进行解析,所述协议解析模块将捕获的所述同步日志反映的数据变化信息发送给数据存储模块; 数据存储模块,根据所述数据变化信息将所述备数据库与所述主数据库进行数据同步。 优选地,同步装置还包括: 判断模块,判断所述同步装置是否是初次解析所述同步日志,若是则获取所述同步日志的初始位置;若否则获取上一次解析所述同步日志成功的位置 优选地,同步装置还包括: 阻塞操作模块,在所述数据同步过程中,所述阻塞操作模块对所述备数据库进行阻塞操作来使数据库同步成功。 优选地,同步装置还包括: 同步日志更新模块,在所述数据同步完成后,所述同步日志更新模块更新所述备数据库的同步日志。 优选地,同步装置还包括: 通讯协议转换模块,与所述通讯模块连接,当所述主数据库和所述备数据库为不同通讯协议的数据库时,所述通讯协议转换模块与所述主数据库和所述备数据库分别通讯来实现所述主数据库和所述备数据库的通讯连接。 根据本专利技术的再一个方面,本专利技术提供一种数据库的同步系统,包括主数据库、备数据库以及上述技术方案之一所述的与所述主数据库、所述备数据库分别连接的同步装置。 本专利技术具有以下技术效果: 本专利技术数据库同步的方法、装置及系统具有独立于主数据库和备数据库的同步装置,同步装置接收主数据库的同步日志并根据该同步日志捕获主数据库的数据变化信息。同步装置将捕获的数据变化信息传送给备数据库,并根据数据变化信息将备数据库与主数据库进行数据同步。通过本专利技术的同步装置,即使主数据库在同步过程中发生崩溃,由于记录其数据变化信息的同步日志已经保存于同步装置,从而数据备份不依赖于主数据库的运行状态,备数据库能够根据该同步日志零损失的进行数据同步。 本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。 下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。 【专利附图】【附图说明】 附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中: 图1为本专利技术一个实施例的数据库的同步方法的步骤流程图; 图2为本专利技术一个实施例的同步装置的系统组成图,该图还表示了同步装置与主数据库和备数据库的连接关系。 图3为本专利技术一个实施例的数据库的同步系统的系统组成图。 【具体实施方式】 以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。 图1为本专利技术一个实施例的数据库的同步方法的步骤流程图,如图1所示,本专利技术的数据库的同步方法包括如下步骤: 步骤100,设置独立的同步装置。在该步骤中,设置一独立于主数据库10和备数据库20的同步装置,并使该同步装置分别与主数据库10和备数据库20通讯。 步骤200,同步装置发出同步请求。在该步骤中,同步装置向主数据库10发送同步请求。 步骤300,主数据库10的同步日志发送给同步装置。在该步骤中,主数据库10响应同步请求并将主数据库10的同步日志发送给同步装置,该同步日志记载主数据库10的数据变化信息。 步骤400,解析主数据库10的同步日志。在该步骤中,同步装置解析该同步日志并捕获主数据库10的数据变化信息。 步骤500,数据库同步。在该步骤中,同步装置将捕获的数据变化信息传送给备数据库20,并根据数据变化信息将备数据库20与主数据库10进行数据同步。 在本专利技术的数据库的同步方法中,由于设置了独立于主数据库10和备数据库20的同步装置,即使主数据库10在同步过程中发生崩溃,由于记录其数据变化信息的同步日志已经保存于同步装置,从而数据备份不依赖于主数据库10的运行状态,备数据库20能够根据该同步日志零损失的进行数据同步。 在一个优选实施例中,在同步装置解析主数据库10的同步日本文档来自技高网...
【技术保护点】
一种数据库的同步方法,其特征在于,包括: 设置一独立于主数据库和备数据库的同步装置,并使所述同步装置分别与所述主数据库和所述备数据库通讯; 所述同步装置向所述主数据库发送同步请求; 所述主数据库响应所述同步请求并将主数据库的同步日志发送给所述同步装置,所述同步日志记载所述主数据库的数据变化信息; 所述同步装置解析所述同步日志并捕获所述主数据库的所述数据变化信息; 所述同步装置将捕获的所述数据变化信息传送给所述备数据库,并根据所述数据变化信息将所述备数据库与所述主数据库进行数据同步。
【技术特征摘要】
【专利技术属性】
技术研发人员:郭建辉,
申请(专利权)人:上海天脉聚源文化传媒有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。