一种大数据的同步复制的方法与流程

文档序号:12612281阅读:781来源:国知局
一种大数据的同步复制的方法与流程

本发明涉及大数据应用领域,特别是指一种大数据的同步复制的方法。



背景技术:

信息技术飞速发展导致数据规模极大增加,而且这些数据来源非常丰富,包括:批量日志数据,实时数据,流式数据;数据类型多样,包括:结构化数据,半结构化数据和非结构化数据,如何采集、存储和分析这些海量数据?

传统的数据采集技术,因为数据来源比较单一,主要是数据库和文件方式进行存储,且数据量较小,大多采用比较单一的工具甚至程序脚本就可以完成数据采集工作。传统的并行数据库技术追求高度一致性和容错性,根据CAP理论,难以保证其可用性、扩展性和高性能。而分布式大数据的采集数据来源广,包括批量采集,实时数据采集,流式数据采集;数据量巨大,通常都达到TB、PB级别;数据处理的性能和实时性要求高。因此,传统的集中采集和存储数据的处理方法,已经不能适应大数据的需求。

目前在数据采集方面,主要存在的问题为:

1)由于在海量数据采集过程中,往往数据源类型多、数据的生成规则复杂多样,海量数据的格式转换太大,传统的数据采集工具很容易失效,即对于同一数据对象,由于采用的编码规范、命名方法的差异等数据差异或者冲突使得在数据采集过程中容易产生不一致;另外一方面则是因为在企业海量数据采集中由于并发任务高、采集数据量大等造成CPU使用率过高或者内存不足,从而导致数据处理变慢以及数据库主机自动重启等问题,无法满足海量数据的采集需求;

2)目前电网公司的业务系统基本采用的都是关系型数据库,要在数据源头改变数据产生和存储的方式很难,无法用大数据平台去替代关系库,只能是把平台所需的数据从关系库同步过来。现有方法都是采用定制周期性ETL等方式,实时性不够,性能也差,因此如何解决关系库和大数据平台的数据复制问题,提高实时性和复制性能,都是非常直接的需求。



技术实现要素:

有鉴于此,本发明的目的在于提出一种大数据分布式采集技术来解决数据同步问题的大数据的同步复制的方法。

基于上述目的本发明提供的一种大数据的同步复制的方法,基于Tungsten Repilicator的同步复制架构,包括:

步骤1:在MySQL中打开BinLog,开启行级变更日志;

步骤2:通过抽取变更信息,过滤原始数据,并存入THL中,并采集主键信息;

步骤3:读取THL信息,并将其写入到批量的character-separated格式文件中;

步骤4:对当前的数据及发生数据变更的信息进行合并归集,形成数据视图。

进一步的,所述步骤1具体包括:

在MySQL中打开BinLog,开启行级变更日志,主要的作用是将MySQL中的数据变更记录保存在Binlog中。

进一步的,所述步骤2具体包括:

通过Host1的Tungsten Replicator标准采集器抽取BinLog的变更信息,并通过Tungsten Replicator中的colname过滤器过滤原始数据,使得抽取的行级变更信息被打上唯一的标记,并存入THL中,通过Tungsten Replicator中的pk过滤器从采集到的原始表中采集主键信息。

进一步的,所述步骤3具体包括:

从节点Host2d Tungsten Replicator远程读取THL信息,并将其写入到批量的character-separated格式文件中。写入的THL信息不仅包含了原始的数据信息,还记录了多源数据的操作记录信息,如Insert、update、delete等操作变更记录信息。

进一步的,所述步骤4具体包括:

通过Tungsten Replicator在大数据平台存入基于行级的CSV文件信息后,可以通过调用大数据平台的CSV组件、MapReduce组件等模块对当前的CSV数据及发生数据变更的信息进行合并归集,形成数据视图,数据视图使用了自定义的特殊格式。

从上面所述可以看出,本发明提供的本发明公开了一种大数据的同步复制的方法,基于Tungsten Repilicator的同步复制架构,包括:步骤1:在MySQL中打开BinLog,开启行级变更日志;步骤2:通过抽取变更信息,过滤原始数据,并存入THL中,并采集主键信息;步骤3:读取THL信息,并将其写入到批量的character-separated格式文件中;步骤4:对当前的数据及发生数据变更的信息进行合并归集,形成数据视图。本发明的大数据的同步复制的方法,解决了大数据平台的数据复制问题,提高实时性和复制性能。

附图说明

图1为本发明大数据的同步复制的方法的一个实施例的总体技术构架示意图;

图2为本发明大数据的同步复制的方法的一个实施例同步复制过程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明提供一种大数据的同步复制的方法,基于Tungsten Repilicator的同步复制架构,包括:

步骤1:在MySQL中打开BinLog,开启行级变更日志;

步骤2:通过抽取变更信息,过滤原始数据,并存入THL中,并采集主键信息;

步骤3:读取THL信息,并将其写入到批量的character-separated格式文件中;

步骤4:对当前的数据及发生数据变更的信息进行合并归集,形成数据视图。

本发明的大数据的同步复制的方法,解决了大数据平台的数据复制问题,提高实时性和复制性能。

在本发明的一些实施例中,进一步的,所述步骤1具体包括:

在MySQL中打开BinLog,开启行级变更日志,主要的作用是将MySQL中的数据变更记录保存在Binlog中。

在本发明的一些实施例中,进一步的,所述步骤2具体包括:

通过Host1的Tungsten Replicator标准采集器抽取BinLog的变更信息,并通过Tungsten Replicator中的colname过滤器过滤原始数据,使得抽取的行级变更信息被打上唯一的标记,并存入THL中,通过Tungsten Replicator中的pk过滤器从采集到的原始表中采集主键信息。

在本发明的一些实施例中,进一步的,所述步骤3具体包括:

从节点Host2d Tungsten Replicator远程读取THL信息,并将其写入到批量的character-separated格式文件中。写入的THL信息不仅包含了原始的数据信息,还记录了多源数据的操作记录信息,如Insert、update、delete等操作变更记录信息。

在本发明的一些实施例中,进一步的,所述步骤4具体包括:

通过Tungsten Replicator在大数据平台存入基于行级的CSV文件信息后,可以通过调用大数据平台的CSV组件、MapReduce组件等模块对当前的CSV数据及发生数据变更的信息进行合并归集,形成数据视图,数据视图使用了自定义的特殊格式。

如图1所示,为本发明大数据的同步复制的方法的一个实施例的总体技术构架示意图。Tungsten Replicator是一个高性能、开源的数据复制引擎,这是Continuent最先进的集群解决方案的核心组件之一,可以实现跨平台、跨版本、异种数据库之间的复制,实时同步、支持故障转移的全局事务IDs,灵活的事务过滤,可扩展的事务元数据,分区,每个进程的多复制服务。其核心组件包括:

Extractor:用于采集组件负责从mysql、oracle中采集数据,将数据写入到thl中。其中采集的关系型数据库日志信息中,Mysql是基于binlog,而oracle数据库则是基于cdc。

Applier:通过Applier传输器将thl信息读取并输出到目标库,基于sql或行级数据进行工作模式,行级工作模式可实现异构库的数据交换。Transaction History Log(THL)

Transaction History Log,简称“THL”,包含了从服务器采集来的数据和被分割的事务信息,是Tungsten-Replicator的核心组成部分。THL数据附加了额外的信息,比如元数据信息和采集信息,并别被分配了全局事务id。

如图2所示,为本发明大数据的同步复制的方法的一个实施例同步复制过程示意图。在本项目中主要对MySQL、Oracle数据库向Hadoop大数据平台复制进行验证,在上述总体框图中主要采用基于Tungsten Repilicator的同步复制架构,即通过TungstenRepilicator的Extractor组件读取部署在Host1(主节点)MySQL Binlog(二进制日志),解析成Repilicator自身的日志格式THL,通过Service alpha(服务)远程将主节点的THL数据信息同步复制至host2的Hadoop大数据平台。整个数据同步复制过程经历了以下步骤:1)在MySQL中打开BinLog,开启行级变更日志,主要的作用是将MySQL中的数据变更记录保存在Binlog中;

2)通过Host1的Tungsten Replicator标准采集器抽取BinLog的变更信息,并通过Tungsten Replicator中的colname过滤器过滤原始数据,使得抽取的行级变更信息被打上唯一的标记,并存入THL中,通过Tungsten Replicator中的pk过滤器从采集到的原始表中采集主键信息;

3)从节点Host2d Tungsten Replicator远程读取THL信息,并将其写入到批量的character-separated格式文件中。写入的THL信息不仅包含了原始的数据信息,还记录了多源数据的操作记录信息,如Insert、update、delete等操作变更记录信息;

4)通过Tungsten Replicator在大数据平台存入基于行级的CSV文件信息后,可以通过调用大数据平台的CSV组件、MapReduce组件等模块对当前的CSV数据及发生数据变更的信息进行合并归集,形成数据视图,数据视图使用了自定义的特殊格式。

本发明的大数据的同步复制的方法,解决了大数据平台的数据复制问题,提高实时性和复制性能。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。

本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1