CN104317970B - 一种基于数据加工中心的数据流式处理方法 - Google Patents
一种基于数据加工中心的数据流式处理方法 Download PDFInfo
- Publication number
- CN104317970B CN104317970B CN201410661945.8A CN201410661945A CN104317970B CN 104317970 B CN104317970 B CN 104317970B CN 201410661945 A CN201410661945 A CN 201410661945A CN 104317970 B CN104317970 B CN 104317970B
- Authority
- CN
- China
- Prior art keywords
- data
- processing method
- processing
- flow
- mart modeling
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于数据加工中心的数据流式处理方法,所述数据加工中心中预定义有包括数据校验、排序、聚合和分组的加工方法步骤,以及两个不同加工方法步骤之间的连接关系;数据加工中心还设置有用于连接数据源的数据源接入端口、用于连接用户界面的数据加工方法及流程定义接入端口、目标数据输出端口以及用于连接流程监控单元的加工流程监控接口;数据流式处理方法包括数据获取、流式处理配置、数据加工方法配置以及目标数据源的获得等步骤,用户可通过用户界面配置数据加工方法和定义数据加工流程,从而得到相应的目标数据源。本发明利用大数据平台采用数据流式处理,可提高大数据处理速度,扩大可支持的数据加工方法种类范围。
Description
技术领域
本发明涉及大数据处理技术领域,特别是一种基于数据加工中心的数据流式处理方法。
背景技术
无论用海量数据还是大数据来表征这个时代,数据规模庞大、增长迅速、类型繁多、结构各异已成为无法回避的现实问题。如何把繁杂的大数据变成我们能应付的、有效的“小”数据,即针对特定问题而构建一个干净、完备的数据集,这一过程变得尤为重要。
大数据治理和分析是在大数据处理过程中非常棘手的问题,如何做到处理的及时性、灵活性和准确性尤为重要。目前在互联网行业中通常采用牺牲灵活型和准确性(甚至允许丢失部分数据)的方式来换取数据处理的及时性,但是在某些行业中,数据处理的准确性是非常重要的,同时又要确保其及时性和稳定性。针对这种需求就生出的内存池,共享内存以及管道等技术拼装出数据加工中心,数据处理规则可以在数据加工中心中灵活配置,数据流在加工中心“流”过后,加工中心就会根据配置业务规则提供相应的组件对数据进行实时处理,经过加工中心处理后的数据可以通过统一源管理对外提供数据。
传统的数据处理中心,数据处理步骤过程中数据落地,数据处理如排序,剔重,过滤等等功能固化,增加特性化数据处理难,功能可扩展性差,数据处理流向无法灵活控制。目前许多的大数据应用平台不能够灵活的配置各种数据源之间的互通,只能单一的从一种数据源同步到另外一种数据源。同时大多数的大数据应用平台不能够支持流式处理,即在一个数据加工治理流程中需要多次的对数据进行读写,这样不仅使得机器的IO负载过高,而且整个数据加工和治理的速度将大打折扣,在很多时候都不能满足数据的及时性要求。也有一些大数据应用平台不能够支持很多种数据的加工方法,也不能够灵活的配置加工方法,只能够单一的满足一些业务要求。
阿里大数据应用平台是阿里公司旗下产品的数据管理与分析平台,其灵活的配置任意数据源互通,具备统一的数据交换协议,可插件化开发数据处理功能,具有功能全面的流式计算集群。该应用平台处理来自云梯和飞天以及HBase和OceanBase等系统数据,但是就该平台而言目前在系统处理中应用相对独立,没有将数据流串联起来。
相关术语:
ETL: ETL是Extract-Transform-Load的缩写,中文名称为数据提取、转换和加载。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
流式处理: 流式处理利用管道模式使海量数据在生产线中流动,加工组件实现对数据清洗,转化,拆分,入库等操作。
数据加工中心: 一套完备的数据处理中心,可以对海量数据排重,维度替换,加密去隐私化,数据分类,聚类等等。
发明内容
本发明要解决的技术问题为:通过利用大数据平台采用数据流式处理,提高大数据处理速度,扩大可支持的数据加工方法种类范围,同时在大数据处理过程中能够灵活的配置各种数据源之间的互通。
本发明采取的技术手段具体为:一种基于数据加工中心的数据流式处理方法,所述数据加工中心中预定义有包括数据校验、排序、聚合和分组的加工方法步骤,以及两个不同加工方法步骤之间的连接关系;数据加工中心还设置有用于连接数据源的数据源接入端口、用于连接用户界面的数据加工方法及流程定义接入端口、目标数据输出端口以及用于连接流程监控单元的加工流程监控接口;
基于上述数据加工中心的数据流式处理方法包括以下步骤:
1)数据获取:通过数据源接入端口获取数据源;数据源接入端口连接的数据源类型包括传统oracle、db2、mysql数据库,MPP数据库Greenplum、teradata,以及hdfs、HBASE、HIVE数据库;
2)流式处理配置:为已获取的数据配置 “管道”节点,利用共享内存存储已获取到的数据;
3)数据加工方法配置:根据用户通过数据加工方法及流程定义接入端口配置的数据加工方法及数据加工流程,选择和配置相应的加工方法及多个加工方法的流程排序;为已保存在共享内存中的数据配置“转换计算”节点,各“转换计算”节点分别对应一种加工方法;同时在相邻“转换计算”节点之间配置“管道”节点,使得数据通过管道在依次连接的转换计算节点之间流转同时被处理;
4)目标数据源的获得:将步骤3)中最后一个转换计算节点输出的数据通过目标数据输出端口输出至目标数据源中。
步骤1)中,本发明支持多种数据源的数据获取。数据获取,即在加工配置系统中配置“抽取”节点,如数据源为DB2,则配置“DB2抽取”,同时配置抽取的详细规则,如抽取的表名规则等。本发明对数据源中数据的获取为现有技术。步骤2)利用共享内存对数据进行存储,可使得数据从数据源如DB2中抽取出来后不会落地。经过步骤3)后,数据即已根据用户定义的加工方法进行加工,并得到了相应的目标数据源,此时如果还要将数据同步到其他的数据源中,可以配置“装载”节点,如要将加工完成的数据同步到HDFS中,则在步骤4中的“管道”节点后面配置“HDFS装载”节点,来完成数据同步。
本发明在应用时,用户可通过可视化的用户界面配置数据加工方法和定义数据加工流程,如果缺少想要的数据加工方法,可以以插件的方式添加组件,也就是添加加工方法。用户通过对不同加工方法的组合得到想到的加工流程。数据加工中心将用户定义的加工方法和流程保存起来,生成加工计划,并对其中的加工任务进行解析。在进行流式处理加工时,首先要从数据源中采集相关数据,数据源可以是不同类型的数据库也可以是文件,然后根据加工任务的解析结果,对所获取的数据源提供的数据进行逐步加工。
本发明的流式数据加工处理方法中仅存在唯一一次读取数据源中数据的操作,后续便以共享内存的方式储存数据,以便让数据流向一个或者是多个不同的数据加工方法。将加工完成的数据写入到目标数据源中,也是整个数据加工流程中的唯一一次写入操作。
数据在加工过程中,用户可以通过流程监控单元实现实时的监控流程,流程监控单元可将获取到的监控信息输出至可视化的用户界面中,例如当前运行到了哪个加工方法,运行了多长时间等等。
有益效果
本发明通过利用流式处理方式,采集不同源的数据到加工中心,将任意数据源数据互通,并对数据做各种各样的加工或处理,保证整个过程只读取和写入一次数据,提高了数据处理的速度。且本发明可以支持非常丰富的加工方法,包括数据校验,数据清洗,库外计算,对结构化数据中的某些字段做空值,长度,类型等等校验,对数据进行排序,剔重,过滤等,对数据进行分组和聚合等,这些方法全部都可以由用户通过用户界面灵活的配置或定制。同时本发明的加工中心设置有用于连接流程监控单元的加工流程监控接口,能够很直观的监控整个数据加工流程,方便统一管控。
附图说明
图1所示为本发明数据流式加工系统原理示意图;
图2所示为本发明的数据处理流程示意图;
图3所示为本发明的数据流式处理流程示意图。
具体实施方式
以下结合附图和具体实施例进一步说明。
如图1所示,本发明的一种基于数据加工中心的数据流式处理方法,所述数据加工中心中预定义有包括数据校验、排序、聚合和分组的加工方法步骤,以及两个不同加工方法步骤之间的连接关系;数据加工中心还设置有用于连接数据源的数据源接入端口、用于连接用户界面的数据加工方法及流程定义接入端口、目标数据输出端口以及用于连接流程监控单元的加工流程监控接口;
结合图1至图3,基于上述数据加工中心的数据流式处理方法包括以下步骤:
1)数据获取:通过数据源接入端口获取数据源;数据源接入端口连接的数据源类型包括传统oracle、db2、mysql数据库,MPP数据库Greenplum、teradata,以及hdfs、HBASE、HIVE数据库;
2)流式处理配置:为已获取的数据配置 “管道”节点,利用共享内存存储已获取到的数据;
3)数据加工方法配置:根据用户通过数据加工方法及流程定义接入端口配置的数据加工方法及数据加工流程,选择和配置相应的加工方法及多个加工方法的流程排序;为已保存在共享内存中的数据配置“转换计算”节点,各“转换计算”节点分别对应一种加工方法;同时在相邻“转换计算”节点之间配置“管道”节点,使得数据通过管道在依次连接的转换计算节点之间流转同时被处理;
4)目标数据源的获得:将步骤3)中最后一个转换计算节点输出的数据通过目标数据输出端口输出至目标数据源中。
步骤1)中,本发明支持多种数据源的数据获取。数据获取即在加工配置系统中配置“抽取”节点,如数据源为DB2,则配置“DB2抽取”,同时配置抽取的详细规则,如抽取的表名规则等。本发明对数据源中数据的获取为现有技术。步骤2)利用共享内存对数据进行存储,可使得数据从数据源如DB2中抽取出来后不会落地。经过步骤3)后,数据即已根据用户定义的加工方法进行加工,并得到了相应的目标数据源,此时如果还要将数据同步到其他的数据源中,可以配置“装载”节点,如要将加工完成的数据同步到HDFS中,则在步骤4中的“管道”节点后面配置“HDFS装载”节点,来完成数据同步。
本发明在应用时,用户可通过可视化的用户界面配置数据加工方法和定义数据加工流程,如图1所示实施例中的数据校验、排序、聚合和分组等现有的或自行通过现有软件技术定义数据加工方法。如果缺少想要的数据加工方法,可以以插件的方式添加组件,也就是添加加工方法。用户通过对不同加工方法的组合得到想到的加工流程。数据加工中心将用户定义的加工方法和流程保存起来,生成加工计划,并对其中的加工任务进行解析。在进行流式处理加工时,首先要从数据源中采集相关数据,数据源可以是不同类型的数据库也可以是文件,然后根据加工任务的解析结果,对所获取的数据源提供的数据进行逐步加工。
参考图3,本发明的流式数据加工处理方法中仅存在唯一一次读取数据源中数据的操作,后续便以共享内存的方式储存数据,以便让数据流向一个或者是多个不同的数据加工方法。将加工完成的数据写入到目标数据源中,也是整个数据加工流程中的唯一一次写入操作。
数据在加工过程中,用户可以通过流程监控单元实现实时的监控流程,流程监控单元可将获取到的监控信息输出至可视化的用户界面中,例如当前运行到了哪个加工方法,运行了多长时间等等。
实施例
如将本发明应用于某电信公司省级经分系统,要求对GPRS流量接口数据从MPP数据库(GP)同步到Hadoop中,并且对MSISDN(手机号码)字段做隐私化处理,并且做空值校验,同时对CALL_DUR(通话时长)字段做运算(将字段值加一)。
对上述数据处理任务的要求,可以在数据加工中心通过如下步骤来完成:
配置数据加工流程为:表扫描àGP数据源抽取à管道流à转换计算à管道àHDFS装载,该流程也是一个数据流;
在数据加工中心中配置数据加工方法,即在以上流程的“转换计算”中配置,对手机号码字段做隐私化和空值校验方法,对通话时长字段做运算;
数据加工中心按照已经配置的加工方法和管道流向进行方法的解析和实施。
上述步骤从GP数据抽取到HDFS装载流程中配置了管道,也是实现“流式处理”的关键。在整个数据流式处理的过程中,流程监控单元可以监控整个数据流的运行状态。
本发明通过利用流式处理方式,采集不同源的数据到加工中心,将任意数据源数据互通,并对数据做各种各样的加工或处理,保证整个过程只读取和写入一次数据,提高了数据处理的速度。且本发明可以支持非常丰富的加工方法,包括数据校验,数据清洗,库外计算,对结构化数据中的某些字段做空值,长度,类型等等校验,对数据进行排序,剔重,过滤等,对数据进行分组和聚合等,这些方法全部都可以由用户通过用户界面灵活的配置或定制。同时本发明的加工中心设置有用于连接流程监控单元的加工流程监控接口,能够很直观的监控整个数据加工流程,方便统一管控,简化加工的繁杂性,对一批海量的数据进行清洗或分组聚合等等操作都可以交给一个数据加工中心,从数据加工中心流出的数据即是用户想要的数据。
Claims (1)
1.一种基于数据加工中心的数据流式处理方法,其特征是,所述数据加工中心中预定义有包括数据校验、排序、聚合和分组的加工方法步骤,以及两个不同加工方法步骤之间的连接关系;数据加工中心还设置有用于连接数据源的数据源接入端口、用于连接用户界面的数据加工方法及流程定义接入端口、目标数据输出端口以及用于连接流程监控单元的加工流程监控接口;
基于上述数据加工中心的数据流式处理方法包括以下步骤:
1)数据获取:通过数据源接入端口获取数据源;数据源接入端口连接的数据源类型包括传统oracle、db2、mysql数据库,MPP数据库Greenplum、teradata,以及hdfs、HBASE、HIVE数据库;
2)流式处理配置:为已获取的数据配置 “管道”节点,利用共享内存存储已获取到的数据;
3)数据加工方法配置:根据用户通过数据加工方法及流程定义接入端口配置的数据加工方法及数据加工流程,选择和配置相应的加工方法及多个加工方法的流程排序;为已保存在共享内存中的数据配置“转换计算”节点,各“转换计算”节点分别对应一种加工方法;同时在相邻“转换计算”节点之间配置“管道”节点,使得数据通过管道在依次连接的转换计算节点之间流转同时被处理;
4)目标数据源的获得:将步骤3)中最后一个转换计算节点输出的数据通过目标数据输出端口输出至目标数据源中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410661945.8A CN104317970B (zh) | 2014-11-19 | 2014-11-19 | 一种基于数据加工中心的数据流式处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410661945.8A CN104317970B (zh) | 2014-11-19 | 2014-11-19 | 一种基于数据加工中心的数据流式处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317970A CN104317970A (zh) | 2015-01-28 |
CN104317970B true CN104317970B (zh) | 2018-08-28 |
Family
ID=52373202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410661945.8A Active CN104317970B (zh) | 2014-11-19 | 2014-11-19 | 一种基于数据加工中心的数据流式处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317970B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156043A (zh) * | 2015-03-26 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种离线数据处理方法及装置 |
CN106484725B (zh) * | 2015-08-31 | 2019-08-20 | 华为技术有限公司 | 一种数据处理方法、装置和系统 |
CN105630964A (zh) * | 2015-12-25 | 2016-06-01 | 甘肃万维信息技术有限责任公司 | 一种数据交互分析系统 |
CN108614820B (zh) * | 2016-12-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 实现流式源数据解析的方法和装置 |
CN106709016B (zh) * | 2016-12-27 | 2018-03-27 | 山东麦港数据系统有限公司 | 一种基于服务总线的数据交换方法 |
CN108491440B (zh) * | 2018-02-12 | 2020-07-17 | 中国科学院光电研究院 | 一种gnss非实时数据溯源可视化方法和系统 |
CN109246073A (zh) * | 2018-07-04 | 2019-01-18 | 杭州数云信息技术有限公司 | 一种数据流处理系统及其方法 |
CN109284088B (zh) * | 2018-08-02 | 2022-04-26 | 北京天元创新科技有限公司 | 一种信令大数据处理方法及电子设备 |
CN109918437A (zh) * | 2019-03-08 | 2019-06-21 | 北京中油瑞飞信息技术有限责任公司 | 分布式数据处理方法、装置及数据资产管理系统 |
CN111949680A (zh) * | 2019-05-17 | 2020-11-17 | 杭州海康威视数字技术股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN111770182B (zh) * | 2020-06-30 | 2022-05-31 | 北京百度网讯科技有限公司 | 数据推送方法和装置 |
CN112286918B (zh) * | 2020-10-23 | 2023-07-14 | 佳都科技集团股份有限公司 | 数据快速接入转换的方法、装置、电子设备及存储介质 |
CN113111109A (zh) * | 2021-04-06 | 2021-07-13 | 创意信息技术股份有限公司 | 数据源的接口入库解析接入方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722355A (zh) * | 2012-06-04 | 2012-10-10 | 南京中兴软创科技股份有限公司 | 基于工作流机制的并发式etl转换方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6208990B1 (en) * | 1998-07-15 | 2001-03-27 | Informatica Corporation | Method and architecture for automated optimization of ETL throughput in data warehousing applications |
CN101201816B (zh) * | 2007-12-20 | 2010-10-13 | 北大方正集团有限公司 | 将数据流中的数据输出到xml文件中的适配器及方法 |
US8744994B2 (en) * | 2008-12-23 | 2014-06-03 | International Business Machines Corporation | Data filtering and optimization for ETL (extract, transform, load) processes |
-
2014
- 2014-11-19 CN CN201410661945.8A patent/CN104317970B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722355A (zh) * | 2012-06-04 | 2012-10-10 | 南京中兴软创科技股份有限公司 | 基于工作流机制的并发式etl转换方法 |
Non-Patent Citations (1)
Title |
---|
面向大数据的ETL设计与实现;王晓伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140515;正文第12-15页、18-19页、25页,32-33页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104317970A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317970B (zh) | 一种基于数据加工中心的数据流式处理方法 | |
CN104572895B (zh) | MPP数据库与Hadoop集群数据互通方法、工具及实现方法 | |
CN105589874B (zh) | Etl任务依赖关系的检测方法、装置及etl工具 | |
CN104123374B (zh) | 分布式数据库中聚合查询的方法及装置 | |
CN103902653B (zh) | 一种构建数据仓库表血缘关系图的方法和装置 | |
CN104331435B (zh) | 一种基于Hadoop大数据平台的低影响高效率的海量数据抽取方法 | |
CN106951552A (zh) | 一种基于Hadoop的用户行为数据处理方法 | |
CN106528898A (zh) | 将非关系型数据库数据转换到关系型数据库的方法及装置 | |
CN107733696A (zh) | 一种机器学习和人工智能应用一体机部署方法 | |
US9992269B1 (en) | Distributed complex event processing | |
CN104778540A (zh) | 一种建材装备制造bom管理方法及管理系统 | |
CN104391970B (zh) | 一种属性子空间加权的随机森林数据处理方法 | |
CN105071994B (zh) | 一种海量数据监控系统 | |
CN106874482A (zh) | 一种基于大数据技术的图形化的数据预处理的装置及方法 | |
CN107784026A (zh) | 一种etl数据处理方法及装置 | |
CN106708917A (zh) | 一种数据处理方法、装置以及olap系统 | |
CN106209989A (zh) | 基于spark平台的空间数据并行计算系统及其方法 | |
CN107301214A (zh) | 在hive中数据迁移方法、装置及终端设备 | |
CN103761189A (zh) | 一种测试用例管理方法及系统 | |
CN104504010B (zh) | 一种多对多的数据采集系统及其采集方法 | |
CN105279138B (zh) | 一种资讯研究报告自动生成系统 | |
CN110457320A (zh) | 数据的实时存储方法与装置、存储介质及计算机设备 | |
CN107870949A (zh) | 数据分析作业依赖关系生成方法和系统 | |
CN106126522A (zh) | 一种会计报表的处理系统 | |
CN102819616B (zh) | 云端线上即时多维度分析系统与方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Huang Xuedong Inventor after: Wu Jun Inventor before: Huang Xuedong |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |