CN110019495A - 基于事务日志分析的单导***中mysql数据库同步技术 - Google Patents

基于事务日志分析的单导***中mysql数据库同步技术 Download PDF

Info

Publication number
CN110019495A
CN110019495A CN201710625015.0A CN201710625015A CN110019495A CN 110019495 A CN110019495 A CN 110019495A CN 201710625015 A CN201710625015 A CN 201710625015A CN 110019495 A CN110019495 A CN 110019495A
Authority
CN
China
Prior art keywords
guiding systems
single guiding
mysql
module
mysql 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
Application number
CN201710625015.0A
Other languages
English (en)
Inventor
杨育斌
黄家俊
曹土光
柯宗贵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Blue Shield Of Guangdong Mobile Internet Mdt Infotech Ltd
Original Assignee
Blue Shield Of Guangdong Mobile Internet Mdt Infotech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Blue Shield Of Guangdong Mobile Internet Mdt Infotech Ltd filed Critical Blue Shield Of Guangdong Mobile Internet Mdt Infotech Ltd
Priority to CN201710625015.0A priority Critical patent/CN110019495A/zh
Publication of CN110019495A publication Critical patent/CN110019495A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于事务日志分析的单导***中mysql数据库同步技术,该发明使用分析mysql数据库事务日志binlog的方法,先把单导***模拟成源mysql数据库的从库,读取二进制日志流,然后结合mysql提供的binlog格式文档,对日志流进行解析,实现单导***中内外端mysql数据库同步。

Description

基于事务日志分析的单导***中mysql数据库同步技术
技术领域
本发明涉及一种互联网通信技术领域,特别涉及基于事务日志分析的单导***中mysql数据库同步技术。
背景技术
单导***是一种数据信息网络安全隔离***,具有数据信息的单向导入功能。单导***由内端和外端组成,外端模块TX只发送数据,内端模块RX只接收数据,数据信息只能从单导外端导入到单导内端。
单导***的mysql数据库同步要实现两个安全隔离的网络的跨平台的数据库信息单向同步,实现过程是单导的数据库同步模块从外端mysql数据库获取数据生成数据文档,由单导***发送模块将文档传入单导内端,再由单导内端的数据库同步模块把数据同步到目标数据库。
由于单向隔离特性不能使用数据库自带外部连接功能来传递数据库数据,现在常用的技术大多是通过触发器或select查询获取数据,本方案综合考虑各中实现方式优劣,采用解析mysql事务日志binlog的方式,分析操作数据,生成的数据写入文档,再由单导***进行同步。
发明内容
为克服上述现有技术的不足,解决现有技术中单导***中mysql数据库同步采用触发器或选择数据同步方案会对源数据库造成巨大负担和压力的缺点,采用了分析mysql事务日志binlog,解析出操作数据,再组装成sql语句同步到目标数据库的方案,实现单导***获取mysql数据库数据时不占用源数据库资源和不对源数据库造成压力和负担的目的。根据单导***的特点,该发明分成单导外端和单导内端部分。
单导外端部分包括:
1.日志读取模块:通过对mysql数据库事务日志binlog进行读取,并接收读取到的二进制日志流。
2.日志分析模块:把日志读取模块获取的二进制日志流进行解析,并转换成json格式。
3.外端数据发送模块:用于把数据发送到单导内端。
单导内端部分包括:
1.内端数据接收模块:用于接收单导外端发送过来的数据。
2.数据格式转换模块:把从外端接收到的json格式数据转换成sql格式。
3.数据库同步模块:把转换模块得到的sql格式语句同步到目标数据库。
本发明技术方案带来的有益效果:
本发明中使用的事务日志解析法进行单导***的数据库同步,能够避免占用源数据库资源,由于绕过了对源数据库的操作,纯粹对二进制的日志流进行解析,获取数据的速度极快,完全能够满足当前各种mysql大型生产环境数据库的同步要求,而且具有时延短、高吞吐量的特点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明提出的实施流程图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
该发明实施流程如下:
1、本发明方案使用的是解析mysql数据库的binlog日志来达到单导内外端数据库同步的效果,要使用binlog,必须要开启InnoDB引擎和启用binlog。如果mysql引擎不是InnoDB,可用如下方法开启:
1)关闭mysql的服务
2)修改my.ini或my.cnf文件:
将default-storage-engine=INNODB前的注释(#)去掉
将skip-innodb这行注释(加上#)
server_id=自定义不冲突的ID号
log-bin=mysql-bin
3)保存后重启mysql服务
2.日志读取模块先发送一个COM_BINLOG_DUMP类型的消息到源mysql数据库,把单导外端模拟成源mysql数据库的从机,然后调用mysql库函数cli_safe_read从源数据库获取binlog消息,并存储在缓冲区;
3.单导外端日志分析模块从日志缓冲区读取二进制日志流,根据mysql提供的日志格式说明,确定字段的值,结合mysql***表information_schema.columns确定字段的顺序和字段名,再转换成字段名-值键值对json的格式;
4.把json数据通过单导***外端的发送模块发送到单导内端;
5.单导内端接收从外端发送过来的json格式数据;
6.数据格式转换模块把接收到的json格式数据重组成sql语句;
7.通过数据库同步模块把转换模块得到的sql格式语句同步到目标数据库。
代码举例说明:
1.读取mysql事务日志需要先发送COM_BINLOG_DUMP类型消息到源数据库,把单导外端模拟成源数据库的从库,部分的代码如下:
2.经过上面的代码,即可进行下一步读取binlog的操作了,部分代码如下:
3.通过上面代码get_next_even函数,即可读取binlog的日志流,并保存在buf_len_pair缓冲区中,再通过日志分析模块,根据mysql提供的binlog格式说明文档,就能解析出里面的操作数据,然后再转换成json格式数据。可见,基于事务日志分析的单导***的mysql数据库同步是可行且高效的。
以上对本发明实施例所提供的基于事务日志分析的单导***中mysql数据库同步技术进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (4)

1.基于事务日志分析的单导***中mysql数据库同步技术,该发明在于单导***的mysql同步的事务日志解析,并把解析出来的操作数据转换成通用的Json格式,由单导***发送到隔离网络的另一端,再由单导***内端的数据库同步模块进行同步。
2.根据权利要求1所述的基于事务日志分析的单导***中mysql数据库同步技术,其特征在于:由单导外端和单导内端组成,使用单导***模拟成源mysql数据库的从库,读取二进制日志流,然后结合mysql提供的binlog格式文档,对日志流进行解析,实现单导***中内外端mysql数据库同步。
3.根据权利要求1所述的基于事务日志分析的单导***中mysql数据库同步技术,其特征在于:单导外端部分由以下模块组成,
s1.日志读取模块:通过对mysql数据库事务日志binlog进行读取,并接收读取到的二进制日志流;
s2.日志分析模块:把日志读取模块获取的二进制日志流进行解析,并转换成json格式;
s3.外端数据发送模块:用于把数据发送到单导内端。
4.根据权利要求1所述的基于事务日志分析的单导***中mysql数据库同步技术,其特征在于:单导内端部分由以下模块组成,
f1.内端数据接收模块:用于接收单导外端发送过来的数据;
f2.数据格式转换模块:把从外端接收到的json格式数据转换成sql格式;
f3.数据库同步模块:把转换模块得到的sql格式语句同步到目标数据库。
CN201710625015.0A 2017-07-27 2017-07-27 基于事务日志分析的单导***中mysql数据库同步技术 Pending CN110019495A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710625015.0A CN110019495A (zh) 2017-07-27 2017-07-27 基于事务日志分析的单导***中mysql数据库同步技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710625015.0A CN110019495A (zh) 2017-07-27 2017-07-27 基于事务日志分析的单导***中mysql数据库同步技术

Publications (1)

Publication Number Publication Date
CN110019495A true CN110019495A (zh) 2019-07-16

Family

ID=67186005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710625015.0A Pending CN110019495A (zh) 2017-07-27 2017-07-27 基于事务日志分析的单导***中mysql数据库同步技术

Country Status (1)

Country Link
CN (1) CN110019495A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866022A (zh) * 2019-10-24 2020-03-06 贝壳技术有限公司 基于日志文件的数据解析方法、***及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761318A (zh) * 2014-01-27 2014-04-30 中国工商银行股份有限公司 一种关系型异构数据库数据同步的方法及***
EP2891994A1 (en) * 2013-11-04 2015-07-08 Guangdong Electronics Industry Institute Ltd. Method for achieving automatic synchronization of multisource heterogeneous data resources
CN106709043A (zh) * 2016-12-30 2017-05-24 江苏瑞中数据股份有限公司 一种基于数据库日志的数据同步加载方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2891994A1 (en) * 2013-11-04 2015-07-08 Guangdong Electronics Industry Institute Ltd. Method for achieving automatic synchronization of multisource heterogeneous data resources
CN103761318A (zh) * 2014-01-27 2014-04-30 中国工商银行股份有限公司 一种关系型异构数据库数据同步的方法及***
CN106709043A (zh) * 2016-12-30 2017-05-24 江苏瑞中数据股份有限公司 一种基于数据库日志的数据同步加载方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张旭刚等: "基于zookeeper和强一致性复制实现MySQL分布式数据库集群", 《微型电脑应用》 *
蒋敏等: "一种基于Agent的数据同步方法", 《江南大学学报(自然科学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866022A (zh) * 2019-10-24 2020-03-06 贝壳技术有限公司 基于日志文件的数据解析方法、***及装置

Similar Documents

Publication Publication Date Title
CN110245951B (zh) 一种基于树形结构的联盟链主从多链共识方法
CN109325072A (zh) 一种基于CMSP实现跨网闸Oracle数据库同步的方法及装置
CN108337236A (zh) 一种基于Protobuf和HTTP/1.1的gRPC调用方法及装置
US20150319238A1 (en) Method, device and storage medium for data processing
CN108304473A (zh) 数据源之间的数据传输方法和***
CN105574109A (zh) 一种数据库同步方法、同步设备及***
CN112100265A (zh) 面向大数据架构与区块链的多源数据处理方法及装置
CN105005549A (zh) 一种自定义链式日志解析装置及方法
CN109818930A (zh) 一种基于tcp协议的通讯文本数据传输方法
CN105868364B (zh) 一种基于字节流的结构化数据表示方法
CN107423452A (zh) 一种电网异构数据库同步复制迁移方法
WO2021036684A1 (zh) 分布式数据同步方法、装置、设备及可读存储介质
CN106790347A (zh) 一种基于netty的大规模并发数据转发方法
CN110019495A (zh) 基于事务日志分析的单导***中mysql数据库同步技术
CN110069566A (zh) 一种单向导入***中异构数据库同步方法
CN105843663B (zh) 适用于asn.1递归解析数据结构描述的编解码方法
CN104462996B (zh) 实现对远程取证目标终端进行协同取证分析的方法及***
Wang et al. Providing research graph data in JSON-LD using Schema. org
MX2020008833A (es) Metodo de transmision de informacion de control de enlace descendente, dispositivo terminal y dispositivo de red.
CN109947841A (zh) 基于事务日志分析的单导***中oracle数据库同步技术
CN109947726A (zh) 基于事务日志分析的单导***中db2数据库同步技术
CN110362624A (zh) 一种基于安全隔离网闸***的异构数据库同步方法
CN105224319B (zh) 基于dom4j实现XBRL实例文档预览的方法
CN103631983A (zh) 一种战术数据报文模拟方法及***
CN113342890A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190716