一种基于配置的通用流式指标计算方法及系统技术方案

技术编号:30331741 阅读:20 留言:0更新日期:2021-10-10 00:41
本发明专利技术是关于一种基于配置的通用流式指标计算方法及系统。该方法包括:从kafka中接入数据;根据sql配置文件中的sql来进行数据计算处理,得到指标结果;根据指标配置文件将所述指标结果补到redis中补数;将补数完的结果取出,作为最终结果输出到kafka的topic中。本发明专利技术提供的方案,可通过配置的方式来实现不同应用场景的指标计算,不用针对于不同的场景去重复的编码,降低了开发人员的工作负担,避免了重复劳动。重复劳动。重复劳动。

【技术实现步骤摘要】
一种基于配置的通用流式指标计算方法及系统


[0001]本专利技术涉及数据库领域,尤其涉及一种基于配置的通用流式指标计算方法及系统。

技术介绍

[0002]指标计算指的是对应用的一些指标做统计,可以是多种多样的,比如网站的PV、UV,或者是员工之间在某个协作区间的聊天次数,再或者是对线上机器做一些性能上的指标监控,比如CPU的利用率、内存占用率,诸如此类等等。
[0003]流式指标计算指的是提高指标计算结果的实时性,使得用户可以在相对较短的时间内可以看到指标结果。通常可以使用spark streaming或flink等流式计算框架来实现。
[0004]现有技术只是针对某个特定应用场景来实现对应的指标的实时计算,不具备通用性。

技术实现思路

[0005]为克服相关技术中存在的问题,本专利技术提供一种基于配置的通用流式指标计算方法及系统。
[0006]根据本专利技术实施例的第一方面,提供一种基于配置的通用流式指标计算方法,包括:
[0007]从kafka中接入数据;
[0008]根据sql配置文件中的sql来进行数据计算处理,得到指标结果;
[0009]根据指标配置文件将所述指标结果补到redis中补数;
[0010]将补数完的结果取出,作为最终结果输出到kafka的topic中。
[0011]进一步,所述sql配置文件配置了输入表名称key、输入表的字段名称列表schema、输入表作用的输出表列表tables,其中,所述输出表列表定义了输出表的名称table、所述输出表对应的主键字段列表primary和计算逻辑sql;sql执行完的结果包含维度列和指标列。
[0012]进一步,所述指标配置文件配置了输出表名称table中的指标列的指标列表metrics,其中,所述指标列表定义了指标名称name和指标的计算方式operator。
[0013]进一步,所述指标的计算方式operator包括求和、最小值、最大值、求并集和拼接中的至少一种。
[0014]进一步,实现所述的方法所采用的计算框架为spark streaming、flink或structure streaming。
[0015]根据本专利技术实施例的第二方面,提供一种基于配置的通用流式指标计算系统,包括:
[0016]接入模块,用于从kafka中接入数据;
[0017]计算模块,用于根据sql配置文件中的sql来进行数据计算处理,得到指标结果;
[0018]补数模块,用于根据指标配置文件将所述指标结果补到redis中补数;
[0019]输出模块,用于将补数完的结果取出,作为最终结果输出到kafka的topic中。
[0020]进一步,所述sql配置文件配置了输入表名称key、输入表的字段名称列表schema、输入表作用的输出表列表tables,其中,所述输出表列表定义了输出表的名称table、所述输出表对应的主键字段列表primary和计算逻辑sql;sql执行完的结果包含维度列和指标列。
[0021]进一步,所述指标配置文件配置了输出表名称table中的指标列的指标列表metrics,其中,所述指标列表定义了指标名称name和指标的计算方式operator。
[0022]进一步,所述指标的计算方式operator包括求和、最小值、最大值、求并集和拼接中的至少一种。
[0023]进一步,实现所述的系统所采用的计算框架为spark streaming、flink或structure streaming。
[0024]本专利技术的实施例提供的技术方案可以包括以下有益效果:
[0025]可通过配置的方式来实现不同应用场景的指标计算,不用针对于不同的场景去重复的编码,降低了开发人员的工作负担,避免了重复劳动。
[0026]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。
附图说明
[0027]通过结合附图对本专利技术示例性实施方式进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本专利技术示例性实施方式中,相同的参考标号通常代表相同部件。
[0028]图1是根据本专利技术一示例性实施例示出的一种基于配置的通用流式指标计算方法的原理框架图;
[0029]图2是本专利技术一示例性实施例示出的一种基于配置的通用流式指标计算方法的数据处理流程图。
具体实施方式
[0030]下面将参照附图更详细地描述本专利技术的优选实施方式。虽然附图中显示了本专利技术的优选实施方式,然而应该理解,可以以各种形式实现本专利技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本专利技术更加透彻和完整,并且能够将本专利技术的范围完整地传达给本领域的技术人员。
[0031]在本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0032]应当理解,尽管在本专利技术可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以
被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0033]以下结合附图详细描述本专利技术实施例的技术方案。
[0034]本专利技术实施例提供一种基于配置的通用流式指标计算方法,包括:
[0035]S1、从kafka中接入数据;
[0036]S2、根据sql配置文件中的sql来进行数据计算处理,得到指标结果;
[0037]S3、根据指标配置文件将所述指标结果补到redis中补数;
[0038]S4、将补数完的结果取出,作为最终结果输出到kafka的topic中。
[0039]具体的,图1是根据本专利技术一示例性实施例示出的一种基于配置的通用流式指标计算方法的原理框架图,如图1所示,数据从kafka中接入,经过Spark streaming程序处理,Spark streaming程序在处理的过程中需要根据配置文件中的sql来进行数据计算处理,由于redis中存的是一段区间内的指标数据,如半小时内的沟通次数,如果sql计算出的指标结果属于这一段区间,就需要将计算的指标结果补到redis中,并将补数完的结果取出,作为最终结果输出到kafka的topic中。
[0040]本实施例中,使用spark streaming计算框架来实现流式计算,也可根据需要使用其他的计算框架,如flink、st本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于配置的通用流式指标计算方法,其特征在于,包括:从kafka中接入数据;根据sql配置文件中的sql来进行数据计算处理,得到指标结果;根据指标配置文件将所述指标结果补到redis中补数;将补数完的结果取出,作为最终结果输出到kafka的topic中。2.根据权利要求1所述的方法,其特征在于,所述sql配置文件配置了输入表名称key、输入表的字段名称列表schema、输入表作用的输出表列表tables,其中,所述输出表列表定义了输出表的名称table、所述输出表对应的主键字段列表primary和计算逻辑sql;sql执行完的结果包含维度列和指标列。3.根据权利要求1所述的方法,其特征在于,所述指标配置文件配置了输出表名称table中的指标列的指标列表metrics,其中,所述指标列表定义了指标名称name和指标的计算方式operator。4.根据权利要求3所述的方法,其特征在于,所述指标的计算方式operator包括求和、最小值、最大值、求并集和拼接中的至少一种。5.根据权利要求1至4任一项所述的方法,其特征在于,实现所述的方法所采用的计算框架为spark streaming、flink或structure streaming。6.一种基于配置的通用流式指标计算系...

【专利技术属性】
技术研发人员:陈瑞
申请(专利权)人:北京明略软件系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1