详情
[0001] 本发明涉及大数据处理描述 ,特别是一种基于数据加工中心的数据流式处理
方法 。
背景
[0002] 无论用海量数据还是大数据来表征这个时代 ,数据规模庞大、增长迅速、类型繁 多、结构各异已成为无法回避的现实问题 。如何把繁杂的大数据变成j9九游会平台能应付的、有效的 “小”数据 ,即针对特定问题而构建一个千净、完备的数据集 ,这一过程变得尤为重要 。
[0003] 大数据治理和分析是在大数据处理过程中非常棘手的问题 ,如何做到处理的及时 性、灵活性和准确性尤为重要 。目前在互联网行业中通常采用牺牲灵活型和准确性(甚至允 许丢失部分数据)的方式来换取数据处理的及时性 ,但是在某些行业中 ,数据处理的准确性 是非常重要的 ,同时又要确保其及时性和稳定性 。针对这种需求就生出的内存池 ,共享内存 以及管道等技术拼装出数据加工中心 ,数据处理规则可以在数据加工中心中灵活配置 ,数 据流在加工中心“流”过后 ,加工中心就会根据配置业务规则提供相应的组件对数据进行实 时处理 ,经过加工中心处理后的数据可以通过统一源管理对外提供数据 。
[0004] 传统的数据处理中心 ,数据处理步骤过程中数据落地 ,数据处理如排序 ,剔重 ,过 滤等等功能固化 ,增加特性化数据处理难 ,功能可扩展性差 ,数据处理流向无法灵活控制 。 目前许多的大数据应用平台不能够灵活的配置各种数据源之间的互通 ,只能单一的从一种 数据源同步到另外一种数据源 。同时大多数的大数据应用平台不能够支持流式处理 ,即在 一个数据加工治理流程中需要多次的对数据进行读写 ,这样不仅使得机器的10负载过高 , 而且整个数据加工和治理的速度将大打折扣 ,在很多时候都不能满足数据的及时性要求 。 也有一些大数据应用平台不能够支持很多种数据的加工方法 ,也不能够灵活的配置加工方 法 ,只能够单一的满足一些业务要求 。
[0005] 阿里大数据应用平台是阿里公司旗下产品的数据管理与分析平台 ,其灵活的配置 任意数据源互通 ,具备统一的数据交换协议 ,可插件化开发数据处理功能 ,具有功能全面的 流式计算集群 。该应用平台处理来自云梯和飞天以及HBase和OceanBase等系统数据 ,但 是就该平台而言目前在系统处理中应用相对独立 ,没有将数据流串联起来 。
[0006] 相关术语:
ETL: ETL是Extract-Transform-Load的缩写 ,中文名称为数据提取、转换和加载 。是 构建数据仓库的重要一环 ,用户从数据源抽取出所需的数据 ,经过数据清洗 ,最终按照预 先定义好的数据仓库模型 ,将数据加载到数据仓库中去 。
[0007] 流式处理:流式处理利用管道模式使海量数据在生产线中流动 ,加工组件实现对 数据清洗 ,转化 ,拆分 ,入库等操作 。
[0008] 数据加工中心:一套完备的数据处理中心,可以对海量数据排重 ,维度替换 ,加密
去隐私化 ,数据分类 ,聚类等等 。
内容
[0009] 本发明要解决的技术问题为:通过利用大数据平台采用数据流式处理 ,提高大数 据处理速度 ,扩大可支持的数据加工方法种类范围 ,同时在大数据处理过程中能够灵活的 配置各种数据源之间的互通 。
[0010] 本发明采取的技术手段具体为:一种基于数据加工中心的数据流式处理方法 ,所 述数据加工中心中预定义有包括数据校验、排序、聚合和分组的加工方法步骤 ,以及两个不 同加工方法步骤之间的连接关系;数据加工中心还设置有用于连接数据源的数据源接入端 口、用于连接用户界面的数据加工方法及流程定义接入端口、目标数据输出端口以及用于 连接流程监控单元的加工流程监控接口;
基于上述数据加工中心的数据流式处理方法包括以下步骤:
1) 数据获取:通过数据源接入端口获取数据源;数据源接入端口连接的数据源类型包 括传统 oracle、db2、mysql 数据库 ,MPP 数据库 Greenplum、teradata ,以及 hdfs、HBASE、 HIVE数据库;
2) 流式处理配置:为已获取的数据配置“管道”节点 ,利用共享内存存储已获取到的数 据;
3) 数据加工方法配置:根据用户通过数据加工方法及流程定义接入端口配置的数据加 工方法及数据加工流程 ,选择和配置相应的加工方法及多个加工方法的流程排序;为已保 存在共享内存中的数据配置“转换计算”节点 ,各“转换计算”节点分别对应一种加工方法; 同时在相邻“转换计算”节点之间配置“管道”节点 ,使得数据通过管道在依次连接的转换 计算节点之间流转同时被处理;
4) 目标数据源的获得:将步骤3)中最后一个转换计算节点输出的数据通过目标数据 输出端口输出至目标数据源中 。
[〇〇11] 步骤1)中 ,本发明支持多种数据源的数据获取 。数据获取 ,即在加工配置系统中 配置“抽取”节点 ,如数据源为DB2,则配置“DB2抽取” ,同时配置抽取的详细规则 ,如抽取的 表名规则等 。本发明对数据源中数据的获取为现有技术 。步骤2)利用共享内存对数据进 行存储 ,可使得数据从数据源如DB2中抽取出来后不会落地 。经过步骤3)后 ,数据即已根 据用户定义的加工方法进行加工 ,并得到了相应的目标数据源 ,此时如果还要将数据同步 到其他的数据源中 ,可以配置“装载”节点 ,如要将加工完成的数据同步到HDFS中 ,则在步 骤4中的“管道”节点后面配置“HDFS装载”节点 ,来完成数据同步 。
[0012] 本发明在应用时 ,用户可通过可视化的用户界面配置数据加工方法和定义数据加 工流程 ,如果缺少想要的数据加工方法,可以以插件的方式添加组件 ,也就是添加加工方 法 。用户通过对不同加工方法的组合得到想到的加工流程 。数据加工中心将用户定义的加 工方法和流程保存起来 ,生成加工计划 ,并对其中的加工任务进行解析 。在进行流式处理加 工时 ,首先要从数据源中采集相关数据 ,数据源可以是不同类型的数据库也可以是文件 ,然 后根据加工任务的解析结果 ,对所获取的数据源提供的数据进行逐步加工 。
[0013] 本发明的流式数据加工处理方法中仅存在唯一一次读取数据源中数据的操作 ,后 续便以共享内存的方式储存数据 ,以便让数据流向一个或者是多个不同的数据加工方法 。 将加工完成的数据写入到目标数据源中 ,也是整个数据加工流程中的唯一一次写入操作 。
[0014] 数据在加工过程中 ,用户可以通过流程监控单元实现实时的监控流程 ,流程监控单元可将获取到的监控信息输出至可视化的用户界面中 ,例如当前运行到了哪个加工方 法 ,运行了多长时间等等 。
[0015] 有益效果
本发明通过利用流式处理方式 ,采集不同源的数据到加工中心 ,将任意数据源数据互 通 ,并对数据做各种各样的加工或处理 ,保证整个过程只读取和写入一次数据 ,提高了数据 处理的速度 。且本发明可以支持非常丰富的加工方法 ,包括数据校验 ,数据清洗 ,库外计算 , 对结构化数据中的某些字段做空值 ,长度 ,类型等等校验 ,对数据进行排序 ,剔重 ,过滤等 , 对数据进行分组和聚合等 ,这些方法全部都可以由用户通过用户界面灵活的配置或定制 。 同时本发明的加工中心设置有用于连接流程监控单元的加工流程监控接口 ,能够很直观的 监控整个数据加工流程 ,方便统一管控 。
附图说明
[0016] 图1所示为本发明数据流式加工系统原理示意图;
图2所示为本发明的数据处理流程示意图;
图3所示为本发明的数据流式处理流程示意图 。
实施
[0017] 以下结合附图和具体实施例进一步说明 。
[0018] 如图1所示 ,本发明的一种基于数据加工中心的数据流式处理方法 ,所述数据加 工中心中预定义有包括数据校验、排序、聚合和分组的加工方法步骤 ,以及两个不同加工方 法步骤之间的连接关系;数据加工中心还设置有用于连接数据源的数据源接入端口、用于 连接用户界面的数据加工方法及流程定义接入端口、目标数据输出端口以及用于连接流程 监控单兀的加工流程监控接口;
结合图1至图3,基于上述数据加工中心的数据流式处理方法包括以下步骤:
1) 数据获取:通过数据源接入端口获取数据源;数据源接入端口连接的数据源类型包 括传统 oracle、db2、mysql 数据库 ,MPP 数据库 Greenplum、teradata ,以及 hdfs、HBASE、 HIVE数据库;
2) 流式处理配置:为已获取的数据配置“管道”节点 ,利用共享内存存储已获取到的数 据;
3) 数据加工方法配置:根据用户通过数据加工方法及流程定义接入端口配置的数据加 工方法及数据加工流程 ,选择和配置相应的加工方法及多个加工方法的流程排序;为已保 存在共享内存中的数据配置“转换计算”节点 ,各“转换计算”节点分别对应一种加工方法; 同时在相邻“转换计算”节点之间配置“管道”节点 ,使得数据通过管道在依次连接的转换 计算节点之间流转同时被处理;
4) 目标数据源的获得:将步骤3)中最后一个转换计算节点输出的数据通过目标数据 输出端口输出至目标数据源中 。
[〇〇19] 步骤1)中 ,本发明支持多种数据源的数据获取 。数据获取即在加工配置系统中配
置“抽取”节点 ,如数据源为DB2,则配置“DB2抽取” ,同时配置抽取的详细规则 ,如抽取的表 名规则等 。本发明对数据源中数据的获取为现有技术 。步骤2)利用共享内存对数据进行存储 ,可使得数据从数据源如DB2中抽取出来后不会落地 。经过步骤3)后 ,数据即已根据 用户定义的加工方法进行加工 ,并得到了相应的目标数据源 ,此时如果还要将数据同步到 其他的数据源中 ,可以配置“装载”节点 ,如要将加工完成的数据同步到HDFS中 ,则在步骤 4中的“管道”节点后面配置“HDFS装载”节点 ,来完成数据同步 。
[0020] 本发明在应用时 ,用户可通过可视化的用户界面配置数据加工方法和定义数据加 工流程 ,如图1所示实施例中的数据校验、排序、聚合和分组等现有的或自行通过现有软件 技术定义数据加工方法 。如果缺少想要的数据加工方法 ,可以以插件的方式添加组件 ,也就 是添加加工方法 。用户通过对不同加工方法的组合得到想到的加工流程 。数据加工中心将 用户定义的加工方法和流程保存起来 ,生成加工计划 ,并对其中的加工任务进行解析 。在进 行流式处理加工时 ,首先要从数据源中采集相关数据 ,数据源可以是不同类型的数据库也 可以是文件 ,然后根据加工任务的解析结果 ,对所获取的数据源提供的数据进行逐步加工 。
[0021] 参考图3,本发明的流式数据加工处理方法中仅存在唯一一次读取数据源中数据 的操作 ,后续便以共享内存的方式储存数据 ,以便让数据流向一个或者是多个不同的数据 加工方法 。将加工完成的数据写入到目标数据源中 ,也是整个数据加工流程中的唯一一次 写入操作 。
[0022] 数据在加工过程中 ,用户可以通过流程监控单元实现实时的监控流程 ,流程监控 单元可将获取到的监控信息输出至可视化的用户界面中 ,例如当前运行到了哪个加工方 法 ,运行了多长时间等等 。
实施例
[0023] 如将本发明应用于某电信公司省级经分系统 ,要求对GPRS流量接口数据从MPP数 据库(GP)同步到Hadoop中 ,并且对MSISDN (手机号码)字段做隐私化处理 ,并且做空值校 验 ,同时对CALL_DUR(通话时长)字段做运算(将字段值加一) 。
[0024] 对上述数据处理任务的要求 ,可以在数据加工中心通过如下步骤来完成:
配置数据加工流程为:表扫描6GP数据源抽取d!管道流d!转换计算d!管道6HDFS装载 ,
该流程也是一个数据流;
在数据加工中心中配置数据加工方法 ,即在以上流程的“转换计算”中配置 ,对手机号 码字段做隐私化和空值校验方法 ,对通话时长字段做运算;
数据加工中心按照已经配置的加工方法和管道流向进行方法的解析和实施 。
[0025] 上述步骤从GP数据抽取到HDFS装载流程中配置了管道 ,也是实现“流式处理”的 关键 。在整个数据流式处理的过程中 ,流程监控单元可以监控整个数据流的运行状态 。
[0026] 本发明通过利用流式处理方式 ,采集不同源的数据到加工中心 ,将任意数据源数 据互通 ,并对数据做各种各样的加工或处理 ,保证整个过程只读取和写入一次数据 ,提高了 数据处理的速度 。且本发明可以支持非常丰富的加工方法 ,包括数据校验 ,数据清洗 ,库外 计算 ,对结构化数据中的某些字段做空值 ,长度 ,类型等等校验 ,对数据进行排序 ,剔重 ,过 滤等 ,对数据进行分组和聚合等 ,这些方法全部都可以由用户通过用户界面灵活的配置或 定制 。同时本发明的加工中心设置有用于连接流程监控单元的加工流程监控接口 ,能够很 直观的监控整个数据加工流程 ,方便统一管控 ,简化加工的繁杂性 ,对一批海量的数据进行 清洗或分组聚合等等操作都可以交给一个数据加工中心 ,从数据加工中心流出的数据即是用户想要的数据 。
的提示:因为导出不便引起图片集尚未展示及全篇的齐全、完整性性或普遍存在损坏!
从文中由伯特利机械收拾收录稿件均来于手机网络仅限于深造考虑 ,引用转载请署名!