CN108228755A - 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 - Google Patents
基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 Download PDFInfo
- Publication number
- CN108228755A CN108228755A CN201711397461.7A CN201711397461A CN108228755A CN 108228755 A CN108228755 A CN 108228755A CN 201711397461 A CN201711397461 A CN 201711397461A CN 108228755 A CN108228755 A CN 108228755A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- hadoop platform
- log
- mysql
- 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
Classifications
-
- 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
Abstract
本发明属于电力系统数据库技术领域,公开了一种基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法。本发明开启MySQL的二进制日志记录功能,并修改为基于行的复制模式,采用日志解析模块对所需要处理的MySQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据;采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中;采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,将数据加载进入Hadoop平台。本发明提高了数据库同步复制的效率。
Description
技术领域
本发明属于电力系统数据库技术领域,具体是涉及一种基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法。
背景技术
随着国际电网公司的“国网资源计划信息系统”(SG-ERP)工程的建设,国家电网公司在三集五大、两中心、信息平台、综合分析决策等方面都建设了相关的应用系统,信息系统架构更加复杂。为了保证不同业务系统之间的数据一致性,必须解决业务系统间的数据交换的问题,而通过业务系统数据库之间的实时同步便是解决该问题的可行途径之一。
但是数据库同步复制软件种类繁多,由于电网数据规模大、数据量庞杂、数据存储分散等特点,而且绝大多数产品主要是大数据库厂商针对自己公司的数据库产品开发出来的,不一定适用于其它数据库管理系统。
MySQL是一种常用的数据库,Hadoop平台是一个由Apache基金会所开发的分布式系统基础架构,目前两者在电网业务系统中也到了广泛运用。以MySQL数据库同步复制为例,MySQL的主从复制集群依靠主服务器将更新写入二进制日志文件,并维护文件的索引以跟踪日志循环,同时将这些日志发送到从服务器,以便从服务器更新。这就要求源端、目标端的数据库必须是MySQL数据库才能使用该主从配置方案,这给业务系统之间的数据交换带来了难题。特别是要把MySQL数据库的数据同步复制到Hadoop平台中,存在很大困难。
发明内容
本发明目的是:针对现有技术的不足,提供一种基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法。该方法通过日志解析技术,高效地进行从MySQL数据库到Hadoop平台的数据同步复制,达到异构数据库备份的目的,能够满足业务系统复杂的数据交换需求的问题。
具体地说,本发明是采用以下技术方案实现的,包括以下步骤:
1)开启MySQL的二进制日志记录功能,并修改为基于行的复制模式;
2)采用日志解析模块对所需要处理的MySQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据;
3)采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中;
4)采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,将数据加载进入Hadoop平台。
进一步而言,所述步骤2)中,日志解析模块通过对MySQL数据库的逻辑日志的格式分析,按照固定的字节读取方式和解析规则,得到用户对数据库的操作指令和操作结果集,在解析过程中添加事务完整性的检查点设置,对断电及故障情况下数据库重启做到无脏数据和重复数据的读取,主动过滤重复事务以及事务不完整的数据。
本发明的有益效果如下:本发明针对电网数据规模大、存储分散的特点,解决了电力系统网络环境下,MySQL数据库到Hadoop平台的之间的数据同步、数据交换问题。采用日志解析技术,将数据解析成适配的SQL语句,能达到MySQL数据库与Hadoop平台数据库之间的数据备份功能。采用了以“事务”为单位的日志解析技术,减少了数据的传输量,在保证一致性和完整性的情况下,提高了数据库同步复制的效率。总而言之,本发明充分利用了数据库日志特性并通过本地缓存、异步复制的方法,最大限度上减少对数据库在运行过程中造成备份负担,大大加快了数据库对业务的响应时间,并且达到异库备份的目的。
附图说明
图1 是本发明实施例的总体架构图。
图2是本发明实施例的日志解析原理图。
图3是本发明实施例的消息接收原理图。
图4是本发明实施例的数据加载原理图。
图5是本发明在读写分离场景下应用的示意图。
图6是本发明在容灾场景下应用的示意图。
具体实施方式
下面结合实施例并参照附图对本发明作进一步详细描述。
实施例1:
本发明的一个实施例,公开了一种基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法,其主要架构如图1所示,主要包括日志解析、消息接收、SQL适配几个阶段。
开始正式数据同步复制之前,首先要开启MySQL的二进制日志记录功能,并修改为基于行(row)的复制模式。
参见图2,采用日志解析模块对所需要处理的MySQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据。具体而言,日志解析模块通过对MySQL数据库的逻辑日志的格式分析,按照固定的字节读取方式和解析规则,得到用户对数据库的操作指令和操作结果集,在解析过程中添加事务完整性的检查点设置,对断电及故障情况下数据库重启做到无脏数据和重复数据的读取,主动过滤重复事务以及事务不完整的数据。由于在发送时添加了过滤规则,可以有针对性的选择数据进行同步,对不需要发送的数据进行过滤处理,以减小对发送数据量对网络的压力。由于对日志的整合和传输以“事务”为单位,无需处理复杂的“回滚”机制,可以在保证一致性和完整性的情况下高效的进行数据库同步。
参见图3,采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中,并记录检查点位置。采用缓存的方式存储接收到的数据主要是为了减少网络压力,增加网络发送接收响应时间,减少目标端数据库阻塞对数据接收的影响,从根本是解决因为数据库数据同步入库造成的源端和目标端之间数据阻塞问题。
参见图4,采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,最终以JDBC的方式进行统一加载,将数据加载进入Hadoop平台。
本实施可以应用于以下场景。
场景1:读写分离场景。
参见图5,业务应用的应用程序需要将数据写入到写入数据库中,再从读取数据库读取相关数据。当写入数据库为MySQL数据库,而读取数据库为Hadoop平台时,就可以采用本实施例的方法,实现读写分离。
具体而言,采用本实施例应用在读写分离场景的步骤如下:
步骤1:应用程序A将数据写入MySQL数据库,修改数据库表。
步骤2:采用本实施例的方法,通过复制节点将数据从MySQL数据库到Hadoop平台。
步骤3:应用程序B读取Hadoop平台的数据内容。
场景2:容灾场景。
参见图6,在生产中心发生故障的情况下,为了能够在灾备中心接管应用,需要同时设置业务数据库和灾备数据库,并保持两者数据一致,从而尽量减少系统停机时间,提高业务连续性。当业务数据库为MySQL数据库,而灾备数据库为Hadoop平台时,就可以采用本实施例的方法,实现容灾。
具体而言,采用本实施例应用在容灾场景的步骤如下:
步骤1:应用程序将数据写入MySQL数据库,修改数据库表。
步骤2:采用本实施例的方法,通过复制节点将数据从MySQL数据库到Hadoop平台,实现灾备数据库与业务数据库数据一致。
虽然本发明已以较佳实施例公开如上,但实施例并不是用来限定本发明的。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。
Claims (2)
1.基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法,其特征在于,包括以下步骤:
1)开启MySQL的二进制日志记录功能,并修改为基于行的复制模式;
2)采用日志解析模块对所需要处理的MySQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据;
3)采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中;
4)采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,将数据加载进入Hadoop平台。
2.根据权利要求1中所述的基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法,其特征在于:所述步骤2)中,日志解析模块通过对MySQL数据库的逻辑日志的格式分析,按照固定的字节读取方式和解析规则,得到用户对数据库的操作指令和操作结果集,在解析过程中添加事务完整性的检查点设置,对断电及故障情况下数据库重启做到无脏数据和重复数据的读取,主动过滤重复事务以及事务不完整的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711397461.7A CN108228755A (zh) | 2017-12-21 | 2017-12-21 | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711397461.7A CN108228755A (zh) | 2017-12-21 | 2017-12-21 | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108228755A true CN108228755A (zh) | 2018-06-29 |
Family
ID=62648332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711397461.7A Pending CN108228755A (zh) | 2017-12-21 | 2017-12-21 | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228755A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635038A (zh) * | 2018-11-20 | 2019-04-16 | 福建亿榕信息技术有限公司 | 一种结构化数据异地双读写方法 |
CN109739931A (zh) * | 2018-12-21 | 2019-05-10 | 浪潮软件股份有限公司 | 一种基于CMSP的MySQLBinlog日志解析的增量同步方法 |
CN109902070A (zh) * | 2019-01-22 | 2019-06-18 | 华中师范大学 | 一种面向WiFi日志数据的解析存储搜索方法 |
CN111209251A (zh) * | 2019-12-27 | 2020-05-29 | 山大地纬软件股份有限公司 | 一种用于数据归档系统的数据增量同步系统及方法 |
CN111666331A (zh) * | 2019-03-06 | 2020-09-15 | 华为技术有限公司 | 复制数据的方法、装置及系统 |
CN113792094A (zh) * | 2021-08-26 | 2021-12-14 | 广东电网有限责任公司 | 一种数据同步系统、方法、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN105243067A (zh) * | 2014-07-07 | 2016-01-13 | 北京明略软件系统有限公司 | 一种实现实时增量同步数据的方法及装置 |
CN106709043A (zh) * | 2016-12-30 | 2017-05-24 | 江苏瑞中数据股份有限公司 | 一种基于数据库日志的数据同步加载方法 |
CN107330003A (zh) * | 2017-06-12 | 2017-11-07 | 上海藤榕网络科技有限公司 | 数据同步方法、系统、存储器及数据同步设备 |
-
2017
- 2017-12-21 CN CN201711397461.7A patent/CN108228755A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN105243067A (zh) * | 2014-07-07 | 2016-01-13 | 北京明略软件系统有限公司 | 一种实现实时增量同步数据的方法及装置 |
CN106709043A (zh) * | 2016-12-30 | 2017-05-24 | 江苏瑞中数据股份有限公司 | 一种基于数据库日志的数据同步加载方法 |
CN107330003A (zh) * | 2017-06-12 | 2017-11-07 | 上海藤榕网络科技有限公司 | 数据同步方法、系统、存储器及数据同步设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635038A (zh) * | 2018-11-20 | 2019-04-16 | 福建亿榕信息技术有限公司 | 一种结构化数据异地双读写方法 |
CN109739931A (zh) * | 2018-12-21 | 2019-05-10 | 浪潮软件股份有限公司 | 一种基于CMSP的MySQLBinlog日志解析的增量同步方法 |
CN109739931B (zh) * | 2018-12-21 | 2023-03-24 | 浪潮软件股份有限公司 | 一种基于CMSP的MySQLBinlog日志解析的增量同步方法 |
CN109902070A (zh) * | 2019-01-22 | 2019-06-18 | 华中师范大学 | 一种面向WiFi日志数据的解析存储搜索方法 |
CN109902070B (zh) * | 2019-01-22 | 2023-12-12 | 华中师范大学 | 一种面向WiFi日志数据的解析存储搜索方法 |
CN111666331A (zh) * | 2019-03-06 | 2020-09-15 | 华为技术有限公司 | 复制数据的方法、装置及系统 |
CN111209251A (zh) * | 2019-12-27 | 2020-05-29 | 山大地纬软件股份有限公司 | 一种用于数据归档系统的数据增量同步系统及方法 |
CN113792094A (zh) * | 2021-08-26 | 2021-12-14 | 广东电网有限责任公司 | 一种数据同步系统、方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228755A (zh) | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 | |
CN102970158B (zh) | 日志存储与处理的方法及日志服务器 | |
CN102508908B (zh) | 一种下级财政业务数据的采集方法和系统 | |
US11042503B1 (en) | Continuous data protection and restoration | |
CN103560906B (zh) | 数据复制的方法及装置 | |
US11860741B2 (en) | Continuous data protection | |
CN103605698A (zh) | 一种用于分布异构数据资源整合的云数据库系统 | |
CN102508886B (zh) | 一种基于xml的空间数据增量同步更新方法 | |
US10726042B2 (en) | Replication control using eventually consistent meta-data | |
CN103581332B (zh) | HDFS架构及HDFS架构中NameNode节点的压力分解方法 | |
CN104156832A (zh) | 系统间数据核对方法及装置 | |
CN104679841A (zh) | 一种消费端数据流复制方法及系统 | |
CN107423452A (zh) | 一种电网异构数据库同步复制迁移方法 | |
CN111177161A (zh) | 数据处理方法、装置、计算设备和存储介质 | |
CN105205175A (zh) | 分布式数据库集群的数据操作方法及系统 | |
CN115374102A (zh) | 数据处理方法及系统 | |
CN109325077A (zh) | 一种基于canal和kafka实现实时数仓的系统 | |
CN112948492A (zh) | 一种数据处理系统、方法、装置、电子设备及存储介质 | |
CN114048217A (zh) | 增量数据的同步方法和装置、电子设备和存储介质 | |
CN108228756A (zh) | 基于日志解析技术的PG数据库到Hadoop平台的数据同步复制方法 | |
CN112765272A (zh) | 多源数据同步方法、系统及其应用的模型中枢 | |
CN111913933B (zh) | 基于统一支撑平台的电网历史数据管理方法及系统 | |
CN105022779A (zh) | 一种利用Filesystem API实现HDFS文件存取方法 | |
CN115982133A (zh) | 数据处理方法及装置 | |
CN106855877A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180629 |
|
RJ01 | Rejection of invention patent application after publication |