快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

基于日志解析技术的PG数据库到Hadoop平台的数据同步复制方法技术

请联系QQ:1793040 索取软件

本发明专利技术属于电力系统数据库技术领域,公开了一种基于日志解析技术的PostgresSQL数据库到Hadoop平台的数据同步复制方法。本发明专利技术开启PostgresSQL数据库的逻辑复制功能,并保证最大日志发送进程数大于设定的次数,修改数据库用户设置使得能直接使用流复制协议,采用日志解析模块对所需要处理的PostgresSQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据;采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中;采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,将数据加载进入Hadoop平台。本发明专利技术提高了数据库同步复制的效率。

全部详细技术资料下载

【技术实现步骤摘要】
基于日志解析技术的PG数据库到Hadoop平台的数据同步复制方法
本专利技术属于电力系统数据库
,具体是涉及一种基于日志解析技术的PostgresSQL数据库到Hadoop平台的数据同步复制方法。
技术介绍
随着国际电网公司的”国网资源计划信息系统”(SG-ERP)工程的建设,公司电网公司在三集五大、两中心、信息平台、综合分析决策等方面都建设了相关的应用系统,信息系统架构更加复杂。为了保证不同业务系统之间的数据一致性,必须解决业务系统间的数据交换的问题,而通过业务系统数据库之间的实时同步便是解决该问题的可行途径之一。但是数据库同步复制软件种类繁多,由于电网数据规模大、数据量庞杂、数据存储分散等特点,而且绝大多数产品主要是大数据库厂商针对自己公司的数据库产品开发出来的,不一定适用于其它数据库管理系统。PostgreSQL是以加州大学伯克利分校计算机系开发的对象关系型数据库管理系统(可简称为PG数据库),Hadoop平台是一个由Apache基金会所开发的分布式系统基础架构,目前两者在电网业务系统中也到了广泛运用。以PG数据库同步复制为例,PG数据库的主从流复制就是从服务器通过TCP流从主服务器中同步相应的数据。这就要求源端、目标端的数据库必须是PG数据库才能使用该主从配置方案,这给业务系统之间的数据交换带来了难题。特别是要把PG数据库的数据同步复制到Hadoop平台中,存在很大困难。
技术实现思路
本专利技术目的是:针对现有技术的不足,提供一种基于日志解析技术的PostgresSQL数据库到Hadoop平台的数据同步复制方法。该方法通过日志解析技术,高效地进行从PostgresSQL数据库到Hadoop平台的数据同步复制,达到异构数据库备份的目的,能够满足业务系统复杂的数据交换需求的问题。具体地说,本专利技术是采用以下技术方案实现的,包括以下步骤:1)开启PostgresSQL数据库的逻辑复制功能,并保证最大日志发送进程数大于设定的次数,修改数据库用户设置使得能直接使用流复制协议;2)采用日志解析模块对所需要处理的PostgresSQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据;3)采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中;4)采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,将数据加载进入Hadoop平台。进一步而言,所述步骤1)中的设定的次数为2。进一步而言,所述步骤2)中,日志解析模块通过对PostgresSQL数据库的逻辑日志的格式分析,按照固定的字节读取方式和解析规则,得到用户对数据库的操作指令和操作结果集,在解析过程中添加事务完整性的检查点设置,对断电及故障情况下数据库重启做到无脏数据和重复数据的读取,主动过滤重复事务以及事务不完整的数据。本专利技术的有益效果如下:本专利技术针对电网数据规模大、存储分散的特点,解决了电力系统网络环境下,PostgresSQL数据库到Hadoop平台的之间的数据同步、数据交换问题。采用日志解析技术,将数据解析成适配的SQL语句,能达到PG数据库与Hadoop平台数据库之间的数据备份功能。采用了以”事务”为单位的日志解析技术,减少了数据的传输量,在保证一致性和完整性的情况下,提高了数据库同步复制的效率。总而言之,本专利技术充分利用了数据库日志特性并通过本地缓存、异步复制的方法,最大限度上减少对数据库在运行过程中造成备份负担,大大加快了数据库对业务的响应时间,并且达到异库备份的目的。附图说明图1是本专利技术实施例的总体架构图。图2是本专利技术实施例的日志解析原理图。图3是本专利技术实施例的消息接收原理图。图4是本专利技术实施例的数据加载原理图。图5是本专利技术在读写分离场景下应用的示意图。图6是本专利技术在容灾场景下应用的示意图。具体实施方式下面结合实施例并参照附图对本专利技术作进一步详细描述。实施例1:本专利技术的一个实施例,公开了一种基于日志解析技术的PostgresSQL数据库到Hadoop平台的数据同步复制方法,其主要架构如图1所示,主要包括日志解析、消息接收、SQL适配几个阶段。开始正式数据同步复制之前,首先要开启PostgresSQL数据库的逻辑复制功能,并保证最大日志发送进程数大于设定的次数(本实施例设定为2),修改数据库用户设置使得能直接使用流复制协议。参见图2,采用日志解析模块对所需要处理的PostgresSQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据。具体而言,日志解析模块通过对PostgresSQL数据库的逻辑日志的格式分析,按照固定的字节读取方式和解析规则,得到用户对数据库的操作指令和操作结果集,在解析过程中添加事务完整性的检查点设置,对断电及故障情况下数据库重启做到无脏数据和重复数据的读取,主动过滤重复事务以及事务不完整的数据。由于在发送时添加了过滤规则,可以有针对性的选择数据进行同步,对不需要发送的数据进行过滤处理,以减小对发送数据量对网络的压力。由于对日志的整合和传输以”事务”为单位,无需处理复杂的”回滚”机制,可以在保证一致性和完整性的情况下高效的进行数据库同步。参见图3,采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中,并记录检查点位置。采用缓存的方式存储接收到的数据主要是为了减少网络压力,增加网络发送接收响应时间,减少目标端数据库阻塞对数据接收的影响,从根本是解决因为数据库数据同步入库造成的源端和目标端之间数据阻塞问题。参见图4,采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,最终以JDBC的方式进行统一加载,将数据加载进入Hadoop平台。本实施可以应用于以下场景。场景1:读写分离场景。参见图5,业务应用的应用程序需要将数据写入到写入数据库中,再从读取数据库读取相关数据。当写入数据库为PG数据库,而读取数据库为Hadoop平台时,就可以采用本实施例的方法,实现读写分离。具体而言,采用本实施例应用在读写分离场景的步骤如下:步骤1:应用程序A将数据写入PG数据库,修改数据库表。步骤2:采用本实施例的方法,通过复制节点将数据从PostgresSQL数据库到Hadoop平台。步骤3:应用程序B读取Hadoop平台的数据内容。场景2:容灾场景。参见图6,在生产中心发生故障的情况下,为了能够在灾备中心接管应用,需要同时设置业务数据库和灾备数据库,并保持两者数据一致,从而尽量减少系统停机时间,提高业务连续性。当业务数据库为PG数据库,而灾备数据库为Hadoop平台时,就可以采用本实施例的方法,实现容灾。具体而言,采用本实施例应用在容灾场景的步骤如下:步骤1:应用程序将数据写入PG数据库,修改数据库表。步骤2:采用本实施例的方法,通过复制节点将数据从PostgresSQL数据库到Hadoop平台,实现灾备数据库与业务数据库数据一致。虽然本专利技术已以较佳实施例公开如上,但实施例并不是用来限定本专利技术的。在不脱离本专利技术之精神和范围内,所做的任何等效变化或润饰,同样属于本专利技术之保护范围。因此本专利技术的保护范围应当以本本文档来自技高网
基于日志解析技术的PG数据库到Hadoop平台的数据同步复制方法

【技术保护点】
1.基于日志解析技术的PostgresSQL数据库到Hadoop平台的数据同步复制方法,其特征在于,包括以下步骤:1)开启PostgresSQL数据库的逻辑复制功能,并保证最大日志发送进程数大于设定的次数,修改数据库用户设置使得能直接使用流复制协议;2)采用日志解析模块对所需要处理的PostgresSQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据;3)采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中;4)采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,将数据加载进入Hadoop平台。

【技术特征摘要】
1.基于日志解析技术的PostgresSQL数据库到Hadoop平台的数据同步复制方法,其特征在于,包括以下步骤:1)开启PostgresSQL数据库的逻辑复制功能,并保证最大日志发送进程数大于设定的次数,修改数据库用户设置使得能直接使用流复制协议;2)采用日志解析模块对所需要处理的PostgresSQL数据库的逻辑日志进行规则过滤,并按照事务完整性发送完整的数据;3)采用消息接收模块根据配置的接收信息,接收来自日志解析模块的数据,并按照本地规则写入到本地用于数据加载的缓存数据文件中;4)采用SQL适配模块读取缓存数据文件,并根据Hadoop平台的类型,转换成通用标准SQL数据语句格式,将数…

【专利技术属性】
技术研发人员:蒋元晨,徐增荣,李贤慧,何阳,黄伟,
申请(专利权)人:江苏瑞中数据股份有限公司,南瑞集团有限公司,
类型:发明
国别省市:江苏,32

全部详细技术资料下载 我是这个专利的主人

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040