首页> 中国专利> 一种大数据的数据采集方法

一种大数据的数据采集方法

摘要

本发明公开了一种大数据的数据采集方法,包括以下步骤:S1、基于可视化流程编排平台,统一处理不同类型的数据;S11、构建设计态平台;S12、针对不同类型的数据定制不同的接入组件;S13、预置接入组件;S2、基于可视化流程编排平台,统一编排数据对账、数据质量检测公共流程;S21、在能够主动获取源数据和目的数据的节点,编排数据对账组件及流程;S22、在能够主动拉取数据的节点,编排数据质量检测组件及流程。本发明由前置采集处理器屏蔽掉数据源类型的差异,然后可以通过统一的实时流引擎处理数据,处理逻辑较为清晰简单;同时也方便统一编排数据对账、数据质量检测等公共流程,提升了整个系统的质量和效率。

著录项

  • 公开/公告号CN112269902A

    专利类型发明专利

  • 公开/公告日2021-01-26

    原文格式PDF

  • 申请/专利权人 珠海市新德汇信息技术有限公司;

    申请/专利号CN202011244625.4

  • 发明设计人 龚波;苏学武;水军;杨刚;苏文辉;

    申请日2020-11-10

  • 分类号G06F16/835(20190101);G06F16/838(20190101);G06F16/27(20190101);

  • 代理机构

  • 代理人

  • 地址 519000 广东省珠海市高新区唐家湾镇科技三路19号1栋

  • 入库时间 2023-06-19 09:41:38

说明书

技术领域

本发明涉及数据采集技术领域,更具体涉及一种大数据的数据采集方法。

背景技术

数据采集是大数据治理平台比较重要的一个环节。大数据治理平台所面对的数据源种类繁多、形态多样化,在数据采集时,既需要监听接收高速的实时数据流,也需要主动拉取海量的静态数据;既需要处理规整的结构化数据,也需要处理大量的半结构化和非结构化数据。

目前市场上的数据采集方法,在接入时存在如下不足:1)采集及处理流程根据不同场景分别组织,无法进行统一的数据处理,处理逻辑相对复杂;2)不利于数据对账、数据质量监测等公共流程编排。

发明内容

本发明需要解决的技术问题是提供一种大数据的数据采集方法,以解决目前市场上的数据采集方法无法进行统一的数据处理,以及不利于数据对账、数据质量监测等公共流程编排的问题,以实现能够通过统一的实时流引擎处理数据,使得处理逻辑清晰简单,以方便统一编排数据对账、数据质量监测等公共流程。

为解决上述技术问题,本发明所采取的技术方案如下。

一种大数据的数据采集方法,包括以下步骤:

S1、基于可视化流程编排平台,统一处理不同类型的数据;所述步骤S1具体包括以下步骤:

S11、构建设计态平台;

S12、针对不同类型的数据定制不同的接入组件;

S13、预置接入组件;预置的接入组件能够被动监听实时流数据、主动拉取静态数据、对非结构化数据进行转换;

S2、基于可视化流程编排平台,统一编排数据对账、数据质量检测公共流程;所述步骤S2具体包括以下步骤:

S21、在能够主动获取源数据和目的数据的节点,编排数据对账组件及流程;

S22、在能够主动拉取数据的节点,编排数据质量检测组件及流程,重用接入组件的数据获取能力,对数据源进行质量抽取和检测。

进一步优化技术方案,所述设计态平台能够支持设计态与运行态分离。

进一步优化技术方案,所述步骤S12中,设计态平台定义接入组件的定制规范,允许二次扩展接入组件;

步骤S12包括以下步骤:

S121、针对不同场景对做接入组件适配,屏蔽获取模式或通信协议的差异,生成协议中立的报文;

S122、采用系统封装通用机制供各接入组件调用,将获取到的数据,以批量方式统一推送到Kafka集群。

进一步优化技术方案,所述步骤S13中,被动监听实时流数据,是以Syslog或Restful接口接收到高速实时流数据后,去除协议相关的语法,解析成规整的结构化数据,批量提交到kafka集群削峰,然后由实时流处理引擎统一加工处理。

进一步优化技术方案,所述步骤S13中,主动拉取静态数据,是以增量方式从JDBC、kafka数据源批量抽取数据,得到规整的结构化数据,批量提交到Kafka集群,然后由实时流处理引擎统一加工处理。

进一步优化技术方案,所述步骤S13中,对非结构化数据进行转换,是由前置智能分析处理器把非结构化数据转换为规整的结构化数据,推送到Kafka集群,然后由实时流处理引擎统一加工处理。

由于采用了以上技术方案,本发明所取得技术进步如下。

本发明由前置采集处理器屏蔽掉数据源类型的差异,然后可以通过统一的实时流引擎处理数据,处理逻辑较为清晰简单;同时也方便统一编排数据对账、数据质量检测等公共流程,提升了整个系统的质量和效率。

附图说明

图1为本发明的流程示意图;

图2为本发明一种大数据的数据采集系统的结构框图;

图3为本发明前置智能分析处理器将非关系型数据转换为规整的结构化数据时的示意图;

图4为本发明分布式实时流处理引擎的处理流程图;

图5为本发明在数据对账时的流程图;

图6为本发明在数据质量检测时的流程图;

图7为本发明接入组件定制时的示意图。

具体实施方式

下面将结合附图和具体实施例对本发明进行进一步详细说明。

一种大数据的数据采集系统,结合图2所示,包括可视化流程编排平台,视化流程编排平台包括:实时数据处理器、批量抽取处理器、前置智能分析处理器、Kafka集群、分布式实时流处理引擎。

实时数据处理器,用于对实时关系型数据(即实时流数据)进行处理。例如被动监听,接收数据源提供方以syslog方式或者restful方式推送过来的实时数据。

批量抽取处理器,用于对静态关系型数据(即静态数据)进行处理。例如主动发起,批量获取数据库或FTP服务器的静态数据。

前置智能分析处理器,用于对非关系型数据(即非结构化数据)进行处理,能够将非关系型数据转换为规整的结构化数据。前置智能分析处理器包括非关系型数据的图像识别匹配、视频识别匹配、音频识别匹配等。以视频识别匹配的具体应用场景为例,可以从车辆的视频文件中,分析出车辆的车牌来。这就是比较规整的关系型数据。

前置智能分析处理器将非关系型数据转换为规整的结构化数据包括以下步骤:

以其中的人脸识别为例,参见图3。

1)终端采集到图像后,以文件方式存储到FTP服务器上。

2)接入组件将文件采集过来。图形文件属于非关系型数据。

3)将文件送入到前置采集处理器,其对数据进行预处理,提取特征向量等,然后就可以与系统中已有的数据进行比对,输出规整的结果。

Kafka集群,是开源的第三方件,用于提供消息的实时处理,性能很好。

分布式实时流处理引擎,结合图4所示,包括了设计面和运行面,图中①-⑤的过程为整个实时流处理引擎。

①各种数据接入组件,从数据源获取到原始数据。

②数据接入组件把原始数据简单处理后,提交到Kafka。

③数据处理组件从Kafka获取到原始数据,依次经过编排流程,对数据进行提取、清洗、规整补齐等各种处理操作。

④数据处理组件把治理好的数据,再提交回Kafka。

⑤各种数据分发组件从Kafka获取数据,并按照数据最终使用目的,分发到各种文件存储系统。

实时数据处理器、批量抽取处理器、前置智能分析处理器与各数据接入组件之间的关系如下:

1、实时数据处理器与批量抽取处理器,都是数据接入组件的接入部分的不同形态。

【数据源:实时上报数据如restful/syslog】—(上报)—>数据接入组件(实时数据处理器)——>(中间环节:如Kafka)——>实时流处理引擎。

【数据源:静态数据如MySQL数据库/FTP文件】<—(获取)—数据接入组件(批量抽取处理器)——>(中间环节:如Kafka)——>实时流处理引擎。

2、前置智能分析处理器的范例:

【数据源:非关系型数据如人脸图片的打包文件】<—(获取)—数据接入组件(FTP处理器)——>前置智能分析处理器——>向量数据处理器——>(中间环节:如Kafka)——>实时流处理引擎。

一种大数据的数据采集方法,结合图1所示,包括以下步骤:

S1、统一编排不同场景的数据采集及处理流程:基于可视化流程编排平台,统一处理不同类型的数据。步骤S1具体包括以下步骤:

S11、构建设计态平台。设计态平台为实现一个可视化的数据治理流程编排平台。设计态平台能够支持设计态与运行态分离。

S12、针对不同类型的数据定制不同的接入组件。步骤S12中,设计态平台定义接入组件的定制规范,允许二次扩展接入组件。接入组件需要完成数据的获取和推送两部分功能。

接入组件定制时,结合图7所示,需要提供:

1、基本信息:名称、图标、单机部署还是分布式多节点部署。

2、输入:允许数据处理的数据流入或允许数据核对等流程主动获取源数据。

3、输出:允许数据处理的数据流入或允许数据核对等流程主动获取目的数据

4、参数:与具体的接入组件相关。例如Kafka接入组件,需要指定kafka服务器的地址(含topic)、认证凭据、采集频率与数据量单次上限等;MySQL接入组件,需要指定MySQL服务器的地址、认证凭据、数据表名、采集频率等。

5、代码:以Java或Python等代码,扩展采集逻辑。其接口方法是已经预定义好的,实现组件逻辑需实现相关接口的逻辑。

步骤S12包括以下步骤:

S121、数据获取:大数据平台获取数据有被动监听与主动拉取两种模式;此外大数据平台需支持多种通讯协议与不同数据源交互。

接入组件的数据获取部分,需针对不同场景对做接入组件适配,屏蔽获取模式或通信协议的差异,生成协议中立的报文。

S122、数据推送:采用系统封装通用机制供各接入组件调用,将获取到的数据,以批量方式统一推送到Kafka集群,以方便开发,并提升性能。

批量方式,例如:kafkacat或自定义方式。

系统通用封装机制,指提供SDK,支持批量推送数据到系统中的Kafka中间件。封装的逻辑,有可能采用kafkacat等提升性能,也可能直接采用kafka原生接口。系统通用封装机制不对各业务组件开放,而避免各业务组件自行实现相关逻辑,性能与预期存在差距。

S13、预置接入组件;系统中会预置一批通用的接入组件,适配结构化数据(如JDBC、Restful、Kafka、AMQP、CSV文件、JSON文件)、半结构化数据(如syslog、HDFS、HBase、Elasticsearch、S3)、非结构化数据(如文本、音频、视频、图片)等多种数据源。

预置的接入组件能够被动监听实时流数据、主动拉取静态数据、对非结构化数据进行转换。

被动监听实时流数据,是以Syslog或Restful等接口接收到高速实时流数据后,去除协议相关的语法,解析成规整的结构化数据,批量提交到kafka集群削峰,然后由实时流处理引擎统一加工处理。

主动拉取静态数据,是以增量方式从JDBC、kafka数据源批量抽取数据,得到规整的结构化数据,批量提交到Kafka集群,然后由实时流处理引擎统一加工处理。

对非结构化数据进行转换,是由前置智能分析处理器把非结构化数据转换为规整的结构化数据,推送到Kafka集群,然后由实时流处理引擎统一加工处理。前置智能分析处理器与OCR引擎、语音识别引擎、人脸识别引擎等对接。

S2、统一编排数据对账、数据质量监测等公共流程:基于可视化流程编排平台,统一编排数据对账、数据质量检测公共流程。步骤S2具体包括以下步骤:

S21、数据对账:在能够主动获取源数据和目的数据的节点,编排数据对账组件及流程。

图1中,有3个数据接入组件,第二个通过JDBC主动拉取数据,第三个通过FTP主动拉取数据,可以认定为能够主动获取源数据;数据接入组件把数据发送到Kafka中,由于Kafka可以支持持久化数据,若是持久化了,则可以认为能够主动获取到目的数据。

第1个数据接入组件的源数据,当前的restful推送是由数据方发起的,不能认定为可以主动获取。但数据方提供其他的访问方式,如把推送的数据打包放在文件服务器供下载,则也可认定为支持了主动获取的元数据。

结合图5所示,在设计面的界面上,允许拖拽编排各种流程:

1、数据处理流程:以“Restful接入”组件为例,它的组件有两个出口,上面右侧的代表允许数据流出,在界面上操作时,从这个出口到“数据清洗”的入口连一条线,代表数据可从“Restful接入”流转到“数据清洗”组件。

2、数据对账流程:仍以“Restful接入”组件为例,它有一个入口,表示其入口数据可以主动获取到(如数据源方提供了FTP文件,地址及用户凭证等在“Restful接入”组件的属性中配置);有一个出口,代表其出口数据可以主动获取到(例如发送到了Kafka中,数据持久化,其Topic在组件参数中有配置)。在界面上操作时,把“Restful接入”组件的出入口分别连线到“数据源核对”组件的出入口,再配置好各组件的参数,相当于编排好数据对账流程。

S22、数据质量检测:在能够主动拉取数据的节点,编排数据质量检测组件及流程,重用接入组件的数据获取能力,对数据源进行质量抽取和检测。

结合图6所示,“PostgreSQL接入”组件,其输入是一个PostgreSQL数据源,可以主动获取;其输出是一个KafkaTopic队列,也可以主动获取。

例1:拖拽一个“数据质量探查”组件,可以设置获取有限的源数据(如1000条)进行分析,检测其表所选字段是否主键、是否为空等,也可以扩展探查规则等,最后生成一份探查报告,对数据源的质量作出评价。

例2:拖拽一个“数据质量检测”组件,对推送到Kafka中的数据进行检测分析,配置上相应的规则(例如:加载具体行业的数据标准),检测数据是否符合行业标准,并生成相应的数据质量报告。

本发明由前置采集处理器屏蔽掉数据源类型的差异,然后可以通过统一的实时流引擎处理数据,处理逻辑较为清晰简单;同时也方便统一编排数据对账、数据质量检测等公共流程,提升了整个系统的质量和效率。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号