CN113505173B - 一种数据采集同步系统与同步方法 - Google Patents

一种数据采集同步系统与同步方法 Download PDF

Info

Publication number
CN113505173B
CN113505173B CN202110771203.0A CN202110771203A CN113505173B CN 113505173 B CN113505173 B CN 113505173B CN 202110771203 A CN202110771203 A CN 202110771203A CN 113505173 B CN113505173 B CN 113505173B
Authority
CN
China
Prior art keywords
data
acquisition
module
synchronization
log
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.)
Active
Application number
CN202110771203.0A
Other languages
English (en)
Other versions
CN113505173A (zh
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.)
Shanghai Zhuo Steel Chain Technology Co ltd
Original Assignee
Shanghai Zhuo Steel Chain Technology Co 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 Shanghai Zhuo Steel Chain Technology Co ltd filed Critical Shanghai Zhuo Steel Chain Technology Co ltd
Priority to CN202110771203.0A priority Critical patent/CN113505173B/zh
Publication of CN113505173A publication Critical patent/CN113505173A/zh
Application granted granted Critical
Publication of CN113505173B publication Critical patent/CN113505173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • G06F16/287Visualization; Browsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据采集同步系统与同步方法,同步系统包含用户端、服务端,服务端内置有数据库、审核模块、采集同步模块;用户端用于生成传输至服务端的全量采集同步请求,全量采集同步请求内存储有采集数据;服务端将全量采集同步请求分别传输至数据库、审核模块;审核模块用于接收全量采集同步请求并审核并生成传输至采集同步模块、数据库、用户端的审核数据,审核数据内存储有采集数据;数据库用于接收并存储全量采集同步请求、审核数据;采集同步模块依据审核数据进行采集数据的同步;同步方法包含步骤D1‑D6。

Description

一种数据采集同步系统与同步方法
技术领域
本发明涉及数据采集同步领域,具体涉及一种数据采集同步系统与同步方法。
背景技术
互联网的快速发展,让很多企业从线下转变到线上,同时,也让企业积累了大量的数据,这些数据大都保存在企业的各个业务系统数据库中,如果要使用这些数据,需要去这些业务数据库中将数据抽取出来,然后对数据进行加工处理,完毕之后这些数据就丢弃了,如果再次使用需要去业务数据库中再次抽取;传统的数据采集方法有很多种,例如各个数据使用方在业务低峰期直接抽取所需的各种数据,这种抽取方式简单直接,但是存在重复抽取,效率低下,且数据需要在低峰时期抽取,数据不能够实时的使用;
此外还有数据采集工具,目前比较企业中使用比较广泛的采集框架主要有针对业务数据库的采集框架Sqoop和DataX,以及针对日志文件等的采集框架有Flume、Filebeat、Logstash等;
Sqoop是Java技术栈的一款数据采集框架,依赖于MapReduce作业实现数据才加,比较耗费资源,且采集频率不能够太高,否则有可能导致业务数据库崩溃的可能,因此对于实时性要求比较高的数据采集需求就不能够满足要求了;
Datax是阿里开源的一款离线数据同步工具,能够实现各种异构数据源之间高效的数据同步功能,其本身是python技术栈,目前开源版本不支持分布式,只可以单机部署,因此在性能上就会吃亏,其次DataX也有和Sqoop同样的缺点,就是只能离线采集,无法进行高频数据采集;
这些产品将业务数据统一的抽取到数仓平台,虽然减少了重复抽取,但是sqoop和datax采集数据存在时效性差的问题,一般都是T+1日的时效性,最快也就是小时级别的采集,且抽取频率过快的话回到业务数据库瘫痪,导致生产事故的发生;
还有一种是基于时间戳或者trigger的方式获取增量数据的变更,这种方式能够较大限度的降低采集数据的数量,但是对业务的侵入性比较大,需要trigger配合,在一定程度上带来了性能损失;
Flume是针对日志文件类型的数据进行采集的一款框架,他属于hadoop生态的一个组件,依赖于hadoop生态,不能随意的部署进行数据采集,其次比较耗费资源,使用起来需要配置很多source/channel/sink三个组件,比较麻烦;
Filebeat是ELK生态系统中的一个小组件,它没有任何依赖,是一款轻量级,占用资源少,入侵性小的数据采集框架,但是正是由于是轻量级的,导致其功能相对单一,只能进行简单的文件监控采集,不支持复杂的逻辑操作;
Logstash也是ELK生态系统中的一个组件,但是他的功能相对比较强大,支持多种数据源,但是比较致命的问题就是性能和资源消耗问题,默认占用堆内存是1G;
总的来说,这些数据采集方案都不能说是比较好的,经过了解和考虑了不同数据的实现方式后,要想同时解决数据一致性和实时性,比较合理的方法应该是基于日志的解决方案,同时能够提供消息订阅的方式给下游系统使用。
发明内容
本发明要解决的技术问题是传统的数据采集方法有很多种,例如各个数据使用方在业务低峰期直接抽取所需的各种数据,这种抽取方式简单直接,但是存在重复抽取,效率低下,且数据需要在低峰时期抽取,数据不能够实时的使用,本发明提供一种数据采集同步系统,本发明还提供一种数据采集同步方法,本发明可以集全量业务数据采集同步、增量业务数据采集同步、日志类型数据采集同步于一体,并且可以很方便的查询状态、开启同步任务、停止同步任务以及异常告警等多种功能;并且所有的操作都有可视化界面操作,简单易用,不必再想以前那样需要开发人员花费大量的时间进行配置,运维,而且出现异常需要登录服务器排查问题,用以解决现有技术导致的缺陷。
为解决上述技术问题本发明提供以下的技术方案:
第一方面,一种数据采集同步系统,其中,包含用户端、服务端,所述服务端内置有数据库、审核模块、采集同步模块;
所述用户端用于生成传输至所述服务端的全量采集同步请求,所述全量采集同步请求内存储有采集数据;
所述服务端将所述全量采集同步请求分别传输至所述数据库、所述审核模块;所述审核模块用于接收所述全量采集同步请求并审核并生成传输至所述采集同步模块、所述数据库、所述用户端的审核数据,所述审核数据内存储有所述采集数据;
所述数据库用于接收并存储所述全量采集同步请求、所述审核数据;
所述采集同步模块依据所述审核数据进行采集数据的同步;
所述采集同步模块依据所述审核数据进行采集同步的具体步骤如下:
步骤A1:采集同步模块接收审核数据,审核数据内存储有采集数据,采集同步模块判断采集数据是否指定了分片列;
步骤A2:若没有指定分片列,则判断采集数据中是否包含PK字段、UK字段;
若包含PK字段、UK字段则按照PK字段、UK字段的优先级进行分片;
若未包含PK字段、UK字段则不进行分片,所有采集数据作为一个分片进行采集同步;
若指定分片列,则判断该分片列是否包含索引;
步骤A3:若包含索引,则依据索引进行分片采集同步;
若不包含索引,则不进行分片,所有采集数据作为一个分片进行采集同步;
步骤A4:对采集数据按照步骤A2-A3的分类进行采集同步。
上述的一种数据采集同步系统,其中,所述采集同步模块包含全量采集同步模块、日志采集模块、流量式增量采集转换模块、流式采集清洗模块、可视化管理配置模块;
所述全量采集同步模块依据所述审核数据进行采集同步,所述全量采集同步模块还用于通过Flink内存计算框架对采集数据进行全量数据的采集同步,由于采集数据的binlog只能保存一段的时间,全量采集数据的获取不能够只依赖binlog,因此需要所述全量采集同步模块对历史全量采集数据(业务数据)同步初始化,所述全量采集同步模块利用Flink内存计算框架完成全量数据的采集同步,效率非常高;
所述日志采集模块用于与所述数据库创建连接监控所述数据库内的binlog日志数据并同步投递到kafka中进行保存,所述日志采集模块用于监控所述数据库内的binlog日志数据,可以实时采集所述数据库内产生的binlog日志数据并同步投递到kafka中进行保存,所述日志采集模块采用开源的canal进行集成,通过控制canal的启动和停止,以及canal的可视化配置操作等,大大的降低使用canal和运维canal的难度,也可以查询canal同步的数据的数据量以及canal运行的状态等;
所述流量式增量采集转换模块用于从所述kafka中获取所述binlog日志数据并进行流式处理转换,也就是将binlog日志数据还原成表中一行数据的一个过程,即给binlog日志数据转换增加schema信息;所述流量式增量采集转换模块采用Flink作为流式引擎,从Kafka中实时消费binlog日志数据,不断的进行转换,并将转换的数据一路作为历史数据留存,另外一路可以投递到kafka供其他的下游系统消费;
所述流式采集清洗模块用于从所述kafka中获取所述binlog日志数据并进行清洗,主要是针对日志类型的数据或者是操作日志类型的数据等;所述流式采集清洗模块从所述Kafka中消费日志数据比如binlog日志数据,并按照配置的规则对数据清洗结构化,最后将结构化的数据一路作为历史数据留存,另外一路投递给所述Kafka,供其他的下游系统消费;
所述可视化管理配置模块用于进行采集同步的开始、停止、查询同步状态、状态异常告警、数据流实时规则配置、数据流实时在线清洗、数据流实时结构化、数据量化(包含同步数据量的多少、同步数量等指标),所述可视化管理配置模块是整个数据采集同步系统的核心模块,是整个系统的中枢;
所述流量式增量采集转换模块对所述binlog日志数据进行流式处理转换的具体步骤如下:
步骤B1:由用户端发出增量采集同步请求至采集同步模块;
步骤B2:采集同步模块先判断是否有全量采集同步请求任务在运行;
若有则暂停增量采集同步请求任务,一段时间后再次判断是否有全量采集同步请求任务在运行,直至全量采集同步请求任务完成;
若没有则判断增量采集同步请求是否有分发规则;
步骤B3:若有分发规则则按照该分发规则将binlog日志数据分发到不同的topic中;
若没有分发规则则将binlog日志数据分发到固定的topic中;
步骤B4:将topic中的binlog日志数据与采集数据合并得到全量数据。
上述的一种数据采集同步系统,其中,所述日志采集模块还用于与第三方日志采集组件连接获取日志数据进行同步,具体包含以下步骤;
步骤C1:日志采集模块获取第三方日志采集组件传输的日志数据;
步骤C2:判断该日志数据是否配置清洗规则;
若没有配置清洗规则,则将日志数据加入未知数据中;
若配置了清洗规则,则按照清洗规则进行清洗并进行结构化处理生成结构化日志数据;
步骤C3:将未知数据与结构化日志数据整合并传输至数据库中。
上述的一种数据采集同步系统,其中,所述第三方日志采集组件为Flume日志采集组件或Filebaet日志采集组件。
第二方面,一种数据采集同步方法,其中,包含以下步骤:
步骤D1:由用户端生成全量采集同步请求并传输至服务端,服务端通过审核模块对全量采集同步请求进行审核生成审核数据;
若审核未通过,则服务端将审核数据传输至数据库、用户端;
若审核通过,则服务端将审核数据传输至数据库、采集同步模块;
步骤D2:采集同步模块接收审核数据,审核数据内存储有采集数据,采集同步模块判断采集数据是否指定了分片列;
步骤D3:若没有指定分片列,则判断采集数据中是否包含PK字段、UK字段;
若包含PK字段、UK字段则按照PK字段、UK字段的优先级进行分片;
若未包含PK字段、UK字段则不进行分片,所有采集数据作为一个分片进行采集同步;
若指定分片列,则判断该分片列是否包含索引;
步骤D4:若包含索引,则依据索引进行分片采集同步;
若不包含索引,
则不进行分片,所有采集数据作为一个分片进行采集同步;
步骤D5:对采集数据按照步骤D3-D4的分类进行采集同步;
步骤D6:将同步后的采集数据传输至数据库储存。
上述的一种数据采集同步方法,其中,还包含对binlog日志数据进行流式处理转换,具体步骤如下:
步骤E1:由用户端发出增量采集同步请求至采集同步模块;
步骤E2:采集同步模块先判断是否有全量采集同步请求任务在运行;
若有则暂停增量采集同步请求任务,一段时间后再次判断是否有全量采集同步请求任务在运行,直至全量采集同步请求任务完成;
若没有则判断增量采集同步请求是否有分发规则;
步骤E3:若有分发规则则按照该分发规则将binlog日志数据分发到不同的topic中;
若没有分发规则则将binlog日志数据分发到固定的topic中;
步骤E4:将topic中的binlog日志数据与采集数据合并得到全量数据。
上述的一种数据采集同步方法,其中,还包含与第三方日志采集组件连接获取日志数据进行同步,具体包含以下步骤;
步骤F1:获取第三方日志采集组件传输的日志数据;
步骤F2:判断该日志数据是否配置清洗规则;
若没有配置清洗规则,则将日志数据加入未知数据中;
若配置了清洗规则,则按照清洗规则进行清洗并进行结构化处理生成结构化日志数据;
步骤F3:将未知数据与结构化日志数据整合并传输至数据库中。
上述的一种数据采集同步方法,其中,所述第三方日志采集组件为Flume日志采集组件或Filebaet日志采集组件。
第三方面,一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第二方面中任一项所述的方法的步骤。
本发明提供的技术方案主要基于两个方面的背景:
一是企业积累了大量的线上数据,需要及时的将这些数据进行采集同步到企业数仓平台使用;
二是营销决策的实时性指导,随着互联网的普及,企业运营团队需要及时了解企业的客户数据,这样才能有针对性的进行营销;
因此,本发明就是应这个需求而生的,专注于数据的实时采集同步;
目前,数据采集在搭建企业数据中台的过程有着十分重要的作用,也是搭建企业数据中台的前置步骤,随着技术的不断完善,数据采集同步系统的功能进一步加强,可以同时完成对业务数据全量采集同步、增量采集同步、及日志文件类型的数据的采集同步;
通过本发明提供的技术方案解决了企业数据采集不方便,采集不及时的问题,通过将多种数据源的采集融合在一起,既支持关系型数据库数据的采集,又支持日志类数据源的采集;所有类型的数据源采集只需要对接一些组件,在可视化界面进行规则的配置就可以快速的完成数据的采集和清洗处理;经测试,使用本技术方案数据能够在毫秒级内采集,并且能够在较短时间内被下游系统读取到,极大地的提高了数据采集同步的效率和数据使用的时效性;目前数据采集系统每天可以采集亿级数据,包括业务数据库中的数据和日志数据,并能够及时将这些数据进行清洗处理,并加载进数据仓库,极大地提高了运营对于实时数据的需求以及实时报表的展示。
依据上述本发明一种数据采集同步系统与同步方法提供的技术方案具有以下技术效果:本发明可以集全量业务数据采集同步、增量业务数据采集同步、日志类型数据采集同步于一体,并且可以很方便的查询状态、开启同步任务、停止同步任务以及异常告警等多种功能;并且所有的操作都有可视化界面操作,简单易用,不必再想以前那样需要开发人员花费大量的时间进行配置,运维,而且出现异常需要登录服务器排查问题;本发明简单易用,无需复杂的配置,就能够快速的将业务数据,日志数据同步到数据仓库等平台,解决了当下数据采集同步工具品种繁多,使用和运维比较复杂的情况。
附图说明
图1为本发明一种数据采集同步系统的结构示意图;
图2为采集同步模块依据审核数据进行采集同步的流程图;
图3为流量式增量采集转换模块对binlog日志数据进行流式处理转换的流程图;
图4为日志采集模块与第三方日志采集组件连接获取日志数据的流程图;
图5为本发明一种数据采集同步方法的流程图。
其中,附图标记如下:
用户端101、服务端102、数据库103、审核模块104、采集同步模块105。
具体实施方式
为了使发明实现的技术手段、创造特征、达成目的和功效易于明白了解,下结合具体图示,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明的一较佳实施例是提供一种数据采集同步系统,目的是可以集全量业务数据采集同步、增量业务数据采集同步、日志类型数据采集同步于一体,并且可以很方便的查询状态、开启同步任务、停止同步任务以及异常告警等多种功能;并且所有的操作都有可视化界面操作,简单易用,不必再想以前那样需要开发人员花费大量的时间进行配置,运维,而且出现异常需要登录服务器排查问题;本发明简单易用,无需复杂的配置,就能够快速的将业务数据,日志数据同步到数据仓库等平台,解决了当下数据采集同步工具品种繁多,使用和运维比较复杂的情况。
名词解释:
Flink是一个针对流数据和批数据的分布式处理引擎;
binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息;
Kafka是一个分布式、分区的、多副本的、多订阅者基于zookeeper协调的分布式日志系统(也可以当做MQ系统);
Topic是消息发布(Pub)者和订阅(Sub)者之间的传输中介,设备可通过Topic实现消息的发送和接收,从而实现服务端与设备端的通信;
canal主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。
如图1所示,第一方面,第一实施例,一种数据采集同步系统,其中,包含用户端101、服务端102,服务端102内置有数据库103、审核模块104、采集同步模块105;
用户端101用于生成传输至服务端102的全量采集同步请求,全量采集同步请求内存储有采集数据;
服务端102将全量采集同步请求分别传输至数据库103、审核模块104;审核模块104用于接收全量采集同步请求并审核并生成传输至采集同步模块105、数据库103、用户端101的审核数据,审核数据内存储有采集数据;
数据库103用于接收并存储全量采集同步请求、审核数据;
采集同步模块105依据审核数据进行采集数据的同步;
如图2所示,采集同步模块105依据审核数据进行采集同步的具体步骤如下:
步骤A1:采集同步模块105接收审核数据,审核数据内存储有采集数据,采集同步模块105判断采集数据是否指定了分片列;
步骤A2:若没有指定分片列,则判断采集数据中是否包含PK字段、UK字段;
若包含PK字段、UK字段则按照PK字段、UK字段的优先级进行分片;
若未包含PK字段、UK字段则不进行分片,所有采集数据作为一个分片进行采集同步;
若指定分片列,则判断该分片列是否包含索引;
步骤A3:若包含索引,则依据索引进行分片采集同步;
若不包含索引,则不进行分片,所有采集数据作为一个分片进行采集同步;
步骤A4:对采集数据按照步骤A2-A3的分类进行采集同步。
上述的一种数据采集同步系统,其中,采集同步模块105包含全量采集同步模块、日志采集模块、流量式增量采集转换模块、流式采集清洗模块、可视化管理配置模块;
全量采集同步模块依据审核数据进行采集同步,全量采集同步模块还用于通过Flink内存计算框架对采集数据进行全量数据的采集同步,由于采集数据的binlog只能保存一段的时间,全量采集数据的获取不能够只依赖binlog,因此需要全量采集同步模块对历史全量采集数据(业务数据)同步初始化,全量采集同步模块利用Flink内存计算框架完成全量数据的采集同步,效率非常高;
日志采集模块用于与数据库103创建连接监控数据库103内的binlog日志数据并同步投递到kafka中进行保存,日志采集模块用于监控数据库103内的binlog日志数据,可以实时采集数据库103内产生的binlog日志数据并同步投递到kafka中进行保存,日志采集模块采用开源的canal进行集成,通过控制canal的启动和停止,以及canal的可视化配置操作等,大大的降低使用canal和运维canal的难度,也可以查询canal同步的数据的数据量以及canal运行的状态等;
流量式增量采集转换模块用于从kafka中获取binlog日志数据并进行流式处理转换,也就是将binlog日志数据还原成表中一行数据的一个过程,即给binlog日志数据转换增加schema信息;流量式增量采集转换模块采用Flink作为流式引擎,从Kafka中实时消费binlog日志数据,不断的进行转换,并将转换的数据一路作为历史数据留存,另外一路可以投递到kafka供其他的下游系统消费;
流式采集清洗模块用于从kafka中获取binlog日志数据并进行清洗,主要是针对日志类型的数据或者是操作日志类型的数据等;流式采集清洗模块从Kafka中消费日志数据比如binlog日志数据,并按照配置的规则对数据清洗结构化,最后将结构化的数据一路作为历史数据留存,另外一路投递给Kafka,供其他的下游系统消费;
可视化管理配置模块用于进行采集同步的开始、停止、查询同步状态、状态异常告警、数据流实时规则配置、数据流实时在线清洗、数据流实时结构化、数据量化(包含同步数据量的多少、同步数量等指标),可视化管理配置模块是整个数据采集同步系统的核心模块,是整个系统的中枢;
如图3所示,流量式增量采集转换模块对binlog日志数据进行流式处理转换的具体步骤如下:
步骤B1:由用户端101发出增量采集同步请求至采集同步模块105;
步骤B2:采集同步模块105先判断是否有全量采集同步请求任务在运行;
若有则暂停增量采集同步请求任务,一段时间后再次判断是否有全量采集同步请求任务在运行,直至全量采集同步请求任务完成;
若没有则判断增量采集同步请求是否有分发规则;
步骤B3:若有分发规则则按照该分发规则将binlog日志数据分发到不同的topic中;
若没有分发规则则将binlog日志数据分发到固定的topic中;
步骤B4:将topic中的binlog日志数据与采集数据合并得到全量数据。
如图4所示,上述的一种数据采集同步系统,其中,日志采集模块还用于与第三方日志采集组件连接获取日志数据进行同步,具体包含以下步骤;
步骤C1:日志采集模块获取第三方日志采集组件传输的日志数据;
步骤C2:判断该日志数据是否配置清洗规则;
若没有配置清洗规则,则将日志数据加入未知数据中;
若配置了清洗规则,则按照清洗规则进行清洗并进行结构化处理生成结构化日志数据;
步骤C3:将未知数据与结构化日志数据整合并传输至数据库103中。
上述的一种数据采集同步系统,其中,第三方日志采集组件为Flume日志采集组件或Filebaet日志采集组件。
如图5所示,第二方面,一种数据采集同步方法,其中,包含以下步骤:
步骤D1:由用户端101生成全量采集同步请求并传输至服务端102,服务端102通过审核模块104对全量采集同步请求进行审核生成审核数据;
若审核未通过,则服务端102将审核数据传输至数据库103、用户端101;
若审核通过,则服务端102将审核数据传输至数据库103、采集同步模块105;
步骤D2:采集同步模块105接收审核数据,审核数据内存储有采集数据,采集同步模块105判断采集数据是否指定了分片列;
步骤D3:若没有指定分片列,则判断采集数据中是否包含PK字段、UK字段;
若包含PK字段、UK字段则按照PK字段、UK字段的优先级进行分片;
若未包含PK字段、UK字段则不进行分片,所有采集数据作为一个分片进行采集同步;
若指定分片列,则判断该分片列是否包含索引;
步骤D4:若包含索引,则依据索引进行分片采集同步;
若不包含索引,
则不进行分片,所有采集数据作为一个分片进行采集同步;
步骤D5:对采集数据按照步骤D3-D4的分类进行采集同步;
步骤D6:将同步后的采集数据传输至数据库103储存。
如图3所示,上述的一种数据采集同步方法,其中,还包含对binlog日志数据进行流式处理转换,具体步骤如下:
步骤E1:由用户端101发出增量采集同步请求至采集同步模块105;
步骤E2:采集同步模块105先判断是否有全量采集同步请求任务在运行;
若有则暂停增量采集同步请求任务,一段时间后再次判断是否有全量采集同步请求任务在运行,直至全量采集同步请求任务完成;
若没有则判断增量采集同步请求是否有分发规则;
步骤E3:若有分发规则则按照该分发规则将binlog日志数据分发到不同的topic中;
若没有分发规则则将binlog日志数据分发到固定的topic中;
步骤E4:将topic中的binlog日志数据与采集数据合并得到全量数据。
如图4所示,上述的一种数据采集同步方法,其中,还包含与第三方日志采集组件连接获取日志数据进行同步,具体包含以下步骤;
步骤F1:获取第三方日志采集组件传输的日志数据;
步骤F2:判断该日志数据是否配置清洗规则;
若没有配置清洗规则,则将日志数据加入未知数据中;
若配置了清洗规则,则按照清洗规则进行清洗并进行结构化处理生成结构化日志数据;
步骤F3:将未知数据与结构化日志数据整合并传输至数据库103中。
上述的一种数据采集同步方法,其中,第三方日志采集组件为Flume日志采集组件或Filebaet日志采集组件。
第三方面,一种计算机可读存储介质,其中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第二方面中任一项的方法的步骤。
本发明提供的技术方案主要基于两个方面的背景:
一是企业积累了大量的线上数据,需要及时的将这些数据进行采集同步到企业数仓平台使用;
二是营销决策的实时性指导,随着互联网的普及,企业运营团队需要及时了解企业的客户数据,这样才能有针对性的进行营销;
因此,本发明就是应这个需求而生的,专注于数据的实时采集同步;
目前,数据采集在搭建企业数据中台的过程有着十分重要的作用,也是搭建企业数据中台的前置步骤,随着技术的不断完善,数据采集同步系统的功能进一步加强,可以同时完成对业务数据全量采集同步、增量采集同步、及日志文件类型的数据的采集同步;
通过本发明提供的技术方案解决了企业数据采集不方便,采集不及时的问题,通过将多种数据源的采集融合在一起,既支持关系型数据库103数据的采集,又支持日志类数据源的采集;所有类型的数据源采集只需要对接一些组件,在可视化界面进行规则的配置就可以快速的完成数据的采集和清洗处理;经测试,使用本技术方案数据能够在毫秒级内采集,并且能够在较短时间内被下游系统读取到,极大地的提高了数据采集同步的效率和数据使用的时效性;目前数据采集系统每天可以采集亿级数据,包括业务数据库103中的数据和日志数据,并能够及时将这些数据进行清洗处理,并加载进数据仓库,极大地提高了运营对于实时数据的需求以及实时报表的展示。
例如,存储器可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等;
处理器可以是中央处理器(Central Processing Unit,CPU)等,或者是图像处理器(Graphic Processing Unit,GPU)存储器可以存储可执行指令;
处理器可以执行在存储器中存储的执行指令,从而实现本文描述的各个过程。
可以理解,本实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;
其中,非易失性存储器可以是ROM(Read-OnlyMemory,只读存储器)、PROM(ProgrammableROM,可编程只读存储器)、EPROM(ErasablePROM,可擦除可编程只读存储器)、EEPROM(ElectricallyEPROM,电可擦除可编程只读存储器)或闪存。
易失性存储器可以是RAM(RandomAccessMemory,随机存取存储器),其用作外部高速缓存;
通过示例性但不是限制性说明,许多形式的RAM可用,例如SRAM(StaticRAM,静态随机存取存储器)、DRAM(DynamicRAM,动态随机存取存储器)、SDRAM(SynchronousDRAM,同步动态随机存取存储器)、DDRSDRAM(DoubleDataRate SDRAM,双倍数据速率同步动态随机存取存储器)、ESDRAM(Enhanced SDRAM,增强型同步动态随机存取存储器)、SLDRAM(SynchlinkDRAM,同步连接动态随机存取存储器)和DRRAM(DirectRambusRAM,直接内存总线随机存取存储器)。本文描述的存储器205旨在包括但不限于这些和任意其它适合类型的存储器205。
在一些实施方式中,存储器存储了如下的元素,升级包、可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序;
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
应用程序,包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序中。
本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现;
这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件;
本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本申请的范围。
在本申请实施例中,所公开的系统、装置和方法可以通过其它方式来实现;
例如,单元或模块的划分仅仅为一种逻辑功能划分,在实际实现时还可以有另外的划分方式;
例如,多个单元或模块或组件可以进行组合或者可以集成到另一个系统中;
另外,在本申请实施例中的各功能单元或模块可以集成在一个处理单元或模块中,也可以是单独的物理存在等等。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中;
因此,本申请的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得电子设备执行本申请实施例所描述的技术方案的全部或部分过程;
上述存储介质可以包括ROM、RAM、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
综上,本发明的一种数据采集同步系统与同步方法,可以集全量业务数据采集同步、增量业务数据采集同步、日志类型数据采集同步于一体,并且可以很方便的查询状态、开启同步任务、停止同步任务以及异常告警等多种功能;并且所有的操作都有可视化界面操作,简单易用,不必再想以前那样需要开发人员花费大量的时间进行配置,运维,而且出现异常需要登录服务器排查问题;本发明简单易用,无需复杂的配置,就能够快速的将业务数据,日志数据同步到数据仓库等平台,解决了当下数据采集同步工具品种繁多,使用和运维比较复杂的情况。
以上对发明的具体实施例进行了描述。需要理解的是,发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改做出若干简单推演、变形或替换,这并不影响发明的实质内容。

Claims (7)

1.一种数据采集同步系统,其特征在于,包含用户端、服务端,所述服务端内置有数据库、审核模块、采集同步模块;
所述用户端用于生成传输至所述服务端的全量采集同步请求,所述全量采集同步请求内存储有采集数据;
所述服务端将所述全量采集同步请求分别传输至所述数据库、所述审核模块;所述审核模块用于接收所述全量采集同步请求并审核并生成传输至所述采集同步模块、所述数据库、所述用户端的审核数据,所述审核数据内存储有所述采集数据;
所述数据库用于接收并存储所述全量采集同步请求、所述审核数据;
所述采集同步模块依据所述审核数据进行采集数据的同步;
所述采集同步模块依据所述审核数据进行采集同步的具体步骤如下:
步骤A1:采集同步模块接收审核数据,审核数据内存储有采集数据,采集同步模块判断采集数据是否指定了分片列;
步骤A2:若没有指定分片列,则判断采集数据中是否包含PK字段、UK字段;
若包含PK字段、UK字段则按照PK字段、UK字段的优先级进行分片;
若未包含PK字段、UK字段则不进行分片,所有采集数据作为一个分片进行采集同步;
若指定分片列,则判断该分片列是否包含索引;
步骤A3:若包含索引,则依据索引进行分片采集同步;
若不包含索引,则不进行分片,所有采集数据作为一个分片进行采集同步;
步骤A4:对采集数据按照步骤A2-A3的分类进行采集同步;
所述采集同步模块包含全量采集同步模块、日志采集模块、流量式增量采集转换模块、流式采集清洗模块、可视化管理配置模块;
所述全量采集同步模块依据所述审核数据进行采集同步,所述全量采集同步模块还用于通过Flink内存计算框架对采集数据进行全量数据的采集同步;
所述日志采集模块用于与所述数据库创建连接监控所述数据库内的binlog日志数据并同步投递到kafka中进行保存;
所述流量式增量采集转换模块用于从所述kafka中获取所述binlog日志数据并进行流式处理转换;
所述流式采集清洗模块用于从所述kafka中获取所述binlog日志数据并进行清洗;
所述可视化管理配置模块用于进行采集同步的开始、停止、查询同步状态、状态异常告警、数据流实时规则配置、数据流实时在线清洗、数据流实时结构化、数据量化;
所述流量式增量采集转换模块对所述binlog日志数据进行流式处理转换的具体步骤如下:
步骤B1:由用户端发出增量采集同步请求至采集同步模块;
步骤B2:采集同步模块先判断是否有全量采集同步请求任务在运行;
若有则暂停增量采集同步请求任务,一段时间后再次判断是否有全量采集同步请求任务在运行,直至全量采集同步请求任务完成;
若没有则判断增量采集同步请求是否有分发规则;
步骤B3:若有分发规则则按照该分发规则将binlog日志数据分发到不同的topic中;
若没有分发规则则将binlog日志数据分发到固定的topic中;
步骤B4:将topic中的binlog日志数据与采集数据合并得到全量数据。
2.如权利要求1所述的一种数据采集同步系统,其特征在于,所述日志采集模块还用于与第三方日志采集组件连接获取日志数据进行同步,具体包含以下步骤:
步骤C1:日志采集模块获取第三方日志采集组件传输的日志数据;
步骤C2:判断该日志数据是否配置清洗规则;
若没有配置清洗规则,则将日志数据加入未知数据中;
若配置了清洗规则,则按照清洗规则进行清洗并进行结构化处理生成结构化日志数据;
步骤C3:将未知数据与结构化日志数据整合并传输至数据库中。
3.如权利要求2所述的一种数据采集同步系统,其特征在于,所述第三方日志采集组件为Flume日志采集组件或Filebeat日志采集组件。
4.一种数据采集同步方法,其特征在于,包含以下步骤:
步骤D1:由用户端生成全量采集同步请求并传输至服务端,服务端通过审核模块对全量采集同步请求进行审核生成审核数据;
若审核未通过,则服务端将审核数据传输至数据库、用户端;
若审核通过,则服务端将审核数据传输至数据库、采集同步模块;
步骤D2:采集同步模块接收审核数据,审核数据内存储有采集数据,采集同步模块判断采集数据是否指定了分片列;
步骤D3:若没有指定分片列,则判断采集数据中是否包含PK字段、UK字段;
若包含PK字段、UK字段则按照PK字段、UK字段的优先级进行分片;
若未包含PK字段、UK字段则不进行分片,所有采集数据作为一个分片进行采集同步;
若指定分片列,则判断该分片列是否包含索引;
步骤D4:若包含索引,则依据索引进行分片采集同步;
若不包含索引,则不进行分片,所有采集数据作为一个分片进行采集同步;
步骤D5:对采集数据按照步骤D3-D4的分类进行采集同步;
步骤D6:将同步后的采集数据传输至数据库储存;
所述采集同步模块包含全量采集同步模块、日志采集模块、流量式增量采集转换模块、流式采集清洗模块、可视化管理配置模块;
所述全量采集同步模块依据所述审核数据进行采集同步,所述全量采集同步模块还用于通过Flink内存计算框架对采集数据进行全量数据的采集同步;
所述日志采集模块用于与所述数据库创建连接监控所述数据库内的binlog日志数据并同步投递到kafka中进行保存;
所述流量式增量采集转换模块用于从所述kafka中获取所述binlog日志数据并进行流式处理转换;
所述流式采集清洗模块用于从所述kafka中获取所述binlog日志数据并进行清洗;
所述可视化管理配置模块用于进行采集同步的开始、停止、查询同步状态、状态异常告警、数据流实时规则配置、数据流实时在线清洗、数据流实时结构化、数据量化;
还包含对binlog日志数据进行流式处理转换,具体步骤如下:
步骤E1:由用户端发出增量采集同步请求至采集同步模块;
步骤E2:采集同步模块先判断是否有全量采集同步请求任务在运行;
若有则暂停增量采集同步请求任务,一段时间后再次判断是否有全量采集同步请求任务在运行,直至全量采集同步请求任务完成;
若没有则判断增量采集同步请求是否有分发规则;
步骤E3:若有分发规则则按照该分发规则将binlog日志数据分发到不同的topic中;
若没有分发规则则将binlog日志数据分发到固定的topic中;
步骤E4:将topic中的binlog日志数据与采集数据合并得到全量数据。
5.如权利要求4所述的一种数据采集同步方法,其特征在于,还包含与第三方日志采集组件连接获取日志数据进行同步,具体包含以下步骤:
步骤F1:获取第三方日志采集组件传输的日志数据;
步骤F2:判断该日志数据是否配置清洗规则;
若没有配置清洗规则,则将日志数据加入未知数据中;
若配置了清洗规则,则按照清洗规则进行清洗并进行结构化处理生成结构化日志数据;
步骤F3:将未知数据与结构化日志数据整合并传输至数据库中。
6.如权利要求5所述的一种数据采集同步方法,其特征在于,所述第三方日志采集组件为Flume日志采集组件或Filebeat日志采集组件。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求4至6中任一项所述的方法的步骤。
CN202110771203.0A 2021-07-08 2021-07-08 一种数据采集同步系统与同步方法 Active CN113505173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110771203.0A CN113505173B (zh) 2021-07-08 2021-07-08 一种数据采集同步系统与同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110771203.0A CN113505173B (zh) 2021-07-08 2021-07-08 一种数据采集同步系统与同步方法

Publications (2)

Publication Number Publication Date
CN113505173A CN113505173A (zh) 2021-10-15
CN113505173B true CN113505173B (zh) 2024-03-19

Family

ID=78011619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110771203.0A Active CN113505173B (zh) 2021-07-08 2021-07-08 一种数据采集同步系统与同步方法

Country Status (1)

Country Link
CN (1) CN113505173B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115203336A (zh) * 2022-09-19 2022-10-18 平安银行股份有限公司 数据库数据实时同步方法、系统、计算机终端及存储介质
CN116361389B (zh) * 2023-03-17 2024-03-08 国网江苏省电力有限公司营销服务中心 一种基于国网营销采集系统的数据同步链路方法及系统

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881494A (zh) * 2015-06-12 2015-09-02 北京奇虎科技有限公司 与Redis服务器进行数据同步的方法、装置和系统
CN107409126A (zh) * 2015-02-24 2017-11-28 思科技术公司 用于保护企业计算环境安全的系统和方法
CN108200117A (zh) * 2017-12-04 2018-06-22 中国船舶重工集团公司第七〇九研究所 智能手持终端数据同步系统及方法
CN110175213A (zh) * 2019-05-27 2019-08-27 浪潮软件集团有限公司 一种基于SCN方式的Oracle数据库同步系统及方法
CN110334152A (zh) * 2019-06-28 2019-10-15 浙江吉利控股集团有限公司 一种数据同步方法、装置及服务器
WO2020147392A1 (zh) * 2019-01-16 2020-07-23 平安科技(深圳)有限公司 数据库之间的数据同步方法和系统
CN112100275A (zh) * 2020-09-02 2020-12-18 上海微亿智造科技有限公司 一种数据同步方法、系统及电子设备
CN112231402A (zh) * 2020-10-14 2021-01-15 广东亿迅科技有限公司 一种异构数据实时同步方法、装置、设备和存储介质
CN112328702A (zh) * 2020-12-04 2021-02-05 中信银行股份有限公司 数据同步方法及系统
CN112395360A (zh) * 2020-12-01 2021-02-23 中国联合网络通信集团有限公司 基于非关系型数据库的数据同步方法、设备、装置和介质
CN112491965A (zh) * 2020-11-03 2021-03-12 南方电网数字电网研究院有限公司 一种基于Kafka及Netty框架的监控数据传输方法
CN112667698A (zh) * 2021-01-04 2021-04-16 山西云媒体发展有限公司 一种基于融媒体平台的MongoDB数据同步方法
CN112817687A (zh) * 2019-11-15 2021-05-18 北京京东尚科信息技术有限公司 一种数据同步方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200341855A1 (en) * 2019-04-28 2020-10-29 Synamedia Object store specialized backup and point-in-time recovery architecture
US11163792B2 (en) * 2019-05-29 2021-11-02 International Business Machines Corporation Work assignment in parallelized database synchronization

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107409126A (zh) * 2015-02-24 2017-11-28 思科技术公司 用于保护企业计算环境安全的系统和方法
CN104881494A (zh) * 2015-06-12 2015-09-02 北京奇虎科技有限公司 与Redis服务器进行数据同步的方法、装置和系统
CN108200117A (zh) * 2017-12-04 2018-06-22 中国船舶重工集团公司第七〇九研究所 智能手持终端数据同步系统及方法
WO2020147392A1 (zh) * 2019-01-16 2020-07-23 平安科技(深圳)有限公司 数据库之间的数据同步方法和系统
CN110175213A (zh) * 2019-05-27 2019-08-27 浪潮软件集团有限公司 一种基于SCN方式的Oracle数据库同步系统及方法
CN110334152A (zh) * 2019-06-28 2019-10-15 浙江吉利控股集团有限公司 一种数据同步方法、装置及服务器
CN112817687A (zh) * 2019-11-15 2021-05-18 北京京东尚科信息技术有限公司 一种数据同步方法和装置
CN112100275A (zh) * 2020-09-02 2020-12-18 上海微亿智造科技有限公司 一种数据同步方法、系统及电子设备
CN112231402A (zh) * 2020-10-14 2021-01-15 广东亿迅科技有限公司 一种异构数据实时同步方法、装置、设备和存储介质
CN112491965A (zh) * 2020-11-03 2021-03-12 南方电网数字电网研究院有限公司 一种基于Kafka及Netty框架的监控数据传输方法
CN112395360A (zh) * 2020-12-01 2021-02-23 中国联合网络通信集团有限公司 基于非关系型数据库的数据同步方法、设备、装置和介质
CN112328702A (zh) * 2020-12-04 2021-02-05 中信银行股份有限公司 数据同步方法及系统
CN112667698A (zh) * 2021-01-04 2021-04-16 山西云媒体发展有限公司 一种基于融媒体平台的MongoDB数据同步方法

Also Published As

Publication number Publication date
CN113505173A (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
CN113505173B (zh) 一种数据采集同步系统与同步方法
CN109063196B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN104486107A (zh) 一种日志采集装置及方法
CN103699580A (zh) 数据库同步方法及装置
WO2016123042A1 (en) Data factory platform and operating system
CN105677842A (zh) 基于Hadoop大数据处理技术的日志分析系统
CN103401934A (zh) 获取日志数据的方法和系统
CN109669976B (zh) 基于etl的数据服务方法及设备
CN104809199A (zh) 一种数据库同步的方法和装置
CN111949633A (zh) 一种基于并行流处理的ict系统运行日志分析方法
CN110858197A (zh) 一种同步数据的方法和装置
CN104994139A (zh) 一种对高并发网络请求发快速响应的系统
CN111147560B (zh) 基于http协议以及断点续传的数据同步方法
CN105989065B (zh) 一种闪拍数据处理方法及系统
CN112988897A (zh) 系统升级场景下的数据双向同步方法及装置
CN112069264A (zh) 异构数据源采集方法、装置、电子设备及存储介质
CN110019131B (zh) 一种复盘业务的方法和装置
CN113157790B (zh) 一种核聚变曲线编辑方法、系统、终端及介质
CN114401207A (zh) 一种通讯异常终端设备定位方法、装置及电子设备
US20210149709A1 (en) Method and apparatus for processing transaction
CN106919574B (zh) 一种实时处理远程同步文件的方法
CN116644136A (zh) 一种增量和全量数据的数据采集方法、装置、设备及介质
CN115757642A (zh) 一种基于归档日志文件的数据同步方法及装置
CN112800064B (zh) 一种基于Confluent社区开源版的实时大数据应用开发方法及系统
CN103678521A (zh) 一种基于Hadoop框架的分布式文件监控系统

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
GR01 Patent grant
GR01 Patent grant