一种流数据的实时分析处理方法及系统与流程

文档序号:11230540阅读:667来源:国知局
一种流数据的实时分析处理方法及系统与流程

本发明涉及数据分析领域,尤其涉及一种流数据的实时分析处理方法及系统。



背景技术:

随着移动互联网的迅猛发展,大数据时代的到来,需要实时分析处理的数据也越来越多,现有的处理数据的方法包括以下几个步骤:数据接入、数据汇聚、数据沉淀和数据可视化展现,现有的数据处理平台通常是根据业务需求将流数据处理方法结合实时分析脚本搭建的数据处理平台,这种数据处理平台需要大量的人力成本去解读业务需求、开发分析脚本,具有开发成本高、开发难度大的缺点。现有的数据处理平台在面临大规模的数据处理和复杂多样的业务场景时,具有以下的问题:

1、流数据实时分析处理平台开发难度大,需要熟悉各种技术组件的接口及编程规范,每个业务脚本都需要进行大量的编码和测试。

2、通过提交业务规则文档给技术人员进行业务配置的流程长,比较繁琐,需要技术人员再进行业务规则的二次解读,无法高效的进行业务的配置。

3、无法对数据进行及时地数据可视化展现。



技术实现要素:

本发明所要解决的技术问题是针对数据处理系统开发成本高、开发难度大、业务配置效率低且无法对数据进行及时地数据可视化展现的问题,提供一种流数据的实时分析处理方法及系统。

本发明解决上述技术问题的技术方案如下:

一种流数据的实时分析处理方法,包括以下步骤:

步骤1,获取通过图形化配置工具配置的图形化处理规则,将所述处理规则转换成sql语句;

步骤2,获取需要进行实时分析处理的流数据;

步骤3,从所述流数据中提取关键字段;

步骤4,根据所述关键字段绘制宽表;

步骤5,根据所述sql语句和所述宽表对所述流数据进行实时分析处理。

本发明的有益效果是:本发明提供的一种流数据的实时分析处理方法,通过获取通过图形化配置工具配置的处理规则,将处理规则转换为sql语言,再获取流数据,根据流数据绘制宽表,结合sql化的规则和宽表对流数据进行处理,解决了当前数据实时分析处理系统脚本编程复杂、资源无法高效使用、业务配置繁琐的问题,可以有效地提高开发效率,通过图形化配置工具配置处理规则,无需通过技术人员确认口径是否准确、如何转化成专业的技术语言,提高了业务配置的效率,解决了业务人员一直存在的不能够自主配置业务口径的问题。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步地,所述处理规则由预先设置好的运算符号、逻辑符号和业务原子指标根据实际业务需求组合而成,其中,所述运算符号为用于进行数学运算的符号,所述逻辑符号为用于进行逻辑运算的符号,所述业务原子指标为通过对流数据中的与业务相关的业务指标进行分解得到的底层元数据。

进一步地,步骤2还包括:

步骤21,从所述流数据中提取多个业务指标的单表增量数据;

步骤22,将多个所述业务指标的单表增量数据与对应的存量数据存放在相同的位置中,得到多个所述业务指标的单表增存数据;

步骤23,将多个所述业务指标的单表增存数据进行整合,使整合后的所有业务指标的单表增存数据有共同的唯一主键。

采用上述进一步方案的有益效果是:通过对原始的流数据进行数据汇聚和数据整合,再对处理过的数据进行实时分析,能够提高实时分析处理的效率,同时便于处理过程中数据的可视化显示。

进一步地,步骤5中,通过hive平台对所述流数据进行实时分析处理。

进一步地,步骤5具体包括:

步骤5.1,获取hive源表;

步骤5.2,根据业务需求对所述hive源表进行整合;

步骤5.3,将所述宽表加载到所述hive源表中;

步骤5.4,通过python脚本加载所述sql语句;

步骤5.5,根据所述hive源表加载所述流数据;

步骤5.6,根据所述sql语句对所述流数据进行处理。

进一步地,还包括:

步骤6,对进行实时分析处理的所述流数据进行实时的可视化显示。

本发明解决上述技术问题的另一种技术方案如下:

一种流数据的实时分析处理系统,包括:

规则配置模块,用于获取通过图形化配置工具配置的图形化处理规则;

规则转换模块,用于将所述处理规则转换成sql语句;

数据处理模块,用于获取需要进行实时分析处理的流数据;

宽表生成模块,用于从所述流数据中提取关键字段,并根据所述关键字段绘制宽表;

实时分析处理模块,用于根据所述sql语句和所述宽表对所述流数据进行实时分析处理。

进一步地,所述处理规则由预先设置好的运算符号、逻辑符号和业务原子指标根据实际业务需求组合而成,其中,所述运算符号为用于进行数学运算的符号,所述逻辑符号为用于进行逻辑运算的符号,所述业务原子指标为通过对流数据中的与业务相关的业务指标进行分解得到的底层元数据。

进一步地,所述数据处理模块还用于从所述流数据中提取多个业务指标的单表增量数据,将多个所述业务指标的单表增量数据与对应的存量数据存放在相同的位置中,得到多个所述业务指标的单表增存数据,并将多个所述业务指标的单表增存数据进行整合,使整合后的所有业务指标的单表增存数据有共同的唯一主键。

进一步地,实时分析处理模块具体用于通过hive平台对所述流数据进行实时分析处理。

进一步地,实时分析处理模块包括:

源表获取单元,用于获取hive源表;

源表整合单元,用于根据业务需求对所述hive源表进行整合;

源表加载单元,用于将所述宽表加载到所述hive源表中,并通过python脚本加载所述sql语句;

数据处理单元,用于根据所述sql语句对所述流数据进行处理。

进一步地,所述规则配置模块还用于对进行实时分析处理的所述流数据进行实时的可视化显示。

本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

图1为本发明实施例提供的一种流数据的实时分析处理方法的流程示意图;

图2为本发明另一实施例提供的一种流数据的实时分析处理系统的结构框架图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,为本发明实施例提供的一种流数据的实时分析处理方法的流程示意图,该方法包括:

s101,获取通过图形化配置工具配置的图形化处理规则,将处理规则转换成sql语句;

s102,获取需要进行实时分析处理的流数据;

s103,从流数据中提取关键字段;

s104,根据关键字段绘制宽表;

s105,根据sql语句和宽表对流数据进行实时分析处理。

上述实施例中提供的一种流数据的实时分析处理方法,通过获取通过图形化配置工具配置的处理规则,将处理规则转换为sql语言,再获取流数据,根据流数据绘制宽表,结合sql化的规则和宽表对流数据进行处理,解决了当前数据实时分析处理系统脚本编程复杂、资源无法高效使用、业务配置繁琐的问题,可以有效地提高开发效率,通过图形化配置工具配置处理规则,无需通过技术人员确认口径是否准确、如何转化成专业的技术语言,提高了业务配置的效率,解决了业务人员一直存在的不能够自主配置业务口径的问题。

在另一实施例中,以移动业务为例,提供的一种流数据的实时分析处理方法的流程,该方法包括以下步骤:

获取通过图形化配置工具配置的图形化处理规则,其中,图形化处理规则指的是由图形化配置工具配置的,进行图形化、可视化、可解读展示的业务规则,可以将业务规则中的各元素通过图形的形式展示出来,由预先设置好的运算符号、逻辑符号和业务原子指标根据实际业务需求组合而成,运算符号为用于进行数学运算的符号,包含加、减、乘、除、括号等运算符号,逻辑符号为用于进行逻辑运算的符号,包含和、或等逻辑比较符号,业务原子指标为通过对流数据中的与业务相关的业务指标进行分解得到的底层元数据,包含销售品原子指标、产品原子指标、订单属性原子指标等,例如,销售品原子指标就是一个单独的元素,使用者通过拖拽等操作,与运算符号、逻辑符号等进行排列和组合,形成一条完整的业务规则;

将处理规则转换成sql语句,例如,通过图形化配置工具配置了以下业务规则:“销售品=飞young19套餐(集团网厅专用)(仅迁移)_zj和产品=移动电话和(订单属性=订单状态(新建)或订单属性=订单子行为(新增))”,其中,“销售品、产品、订单属性”都是业务原子指标,“括号”为运算符号,“等号、或、和”为逻辑符号,转化为sql语句:“(prom_row_id='zl2012061980686'andprod_id='1-8gf4jtw'and(status_cd='新建'orx_action_type='新增'))andprod_name='产品新增'”;

获取需要进行实时分析处理的流数据,由于流数据是不断增加的,因此,以当前的存量数据为基础,获取需要处理的业务原子指标的单表增量数据,将多个业务指标的单表增量数据与对应的存量数据存放在相同的位置中,例如,以订单子行为(新增)为例,对应的存量数据存放在a表中,在获得新的订单子行为(新增)数据后,存放在a表的相应位置中,得到多个业务指标的单表增存数据,将多个业务指标的单表增存数据进行整合,使整合后的所有业务指标的单表增存数据有共同的唯一主键,例如,a表和b表有唯一的主键,b表为销售品的数据,则将a表与b表整合成为一张表;

从流数据中提取关键字段,例如,当处理产品新增订单的数据时,关键字段可以为产品、订单子行为(新增)等;

根据关键字段绘制宽表,宽表是流数据处理的基础,数据源;

根据sql语句和宽表,通过hive平台对流数据进行实时分析处理,具体包括:获取hive源表,根据业务需求对hive源表进行整合,将宽表加载到hive源表中,通过python脚本加载sql语句,根据hive源表加载流数据,根据sql语句对流数据进行处理;

对进行实时分析处理的流数据进行实时的可视化显示,获取进行实时分析处理的流数据,实时地将分析结果和数据通过可视化配置工具进行显示。

进一步,业务指标通过以下两种方式分解为业务原子指标:

通过维表提取相同类的业务指标;

或,通过原子指标分析模块对业务指标进行分析得到业务原子指标。

在另一实施例中,如图2所示,为本发明另一实施例提供的一种流数据的实时分析处理系统的结构框架图,该系统包括:

规则配置模块210,用于获取通过图形化配置工具配置的图形化处理规则;

规则转换模块220,用于将处理规则转换成sql语句;

数据处理模块230,用于获取需要进行实时分析处理的流数据;

宽表生成模块240,用于从流数据中提取关键字段,并根据关键字段绘制宽表;

实时分析处理模块250,用于根据sql语句和宽表对流数据进行实时分析处理。

进一步,处理规则由预先设置好的运算符号、逻辑符号和业务原子指标根据实际业务需求组合而成,其中,运算符号为用于进行数学运算的符号,逻辑符号为用于进行逻辑运算的符号,业务原子指标为通过对流数据中的与业务相关的业务指标进行分解得到的底层元数据。

进一步,数据处理模块230还用于从流数据中提取多个业务指标的单表增量数据,将多个业务指标的单表增量数据与对应的存量数据存放在相同的位置中,得到多个业务指标的单表增存数据,并将多个业务指标的单表增存数据进行整合,使整合后的所有业务指标的单表增存数据有共同的唯一主键。

进一步,实时分析处理模块250具体用于通过hive平台对流数据进行实时分析处理。

进一步,实时分析处理模块250包括:

源表获取单元251,用于获取hive源表;

源表整合单元252,用于根据业务需求对hive源表进行整合;

源表加载单元253,用于将宽表加载到hive源表中,并通过python脚本加载sql语句;

数据处理单元254,用于根据sql语句对流数据进行处理。

进一步,规则配置模块210还用于对进行实时分析处理的流数据进行实时的可视化显示。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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