一种基于分布式实时计算框架的数据分析计算系统的制作方法

未命名 10-09 阅读:170 评论:0


1.本发明涉及业务数据处理技术领域,尤其涉及一种基于分布式实时计算框架的数据分析计算系统。


背景技术:

2.目前,数据分析计算系统大多采用spark、flink等分布式计算框架来完成数据分析、计算的任务。在使用分布式计算框架的过程中,数据分析计算系统进行大数据任务开发,编写分布式计算任务,在spark或flink等分布式计算框架中执行计算任务,并将计算结果写入到数据库中,以供业务系统使用。针对安全数据分析,现有的数据分析计算系统需要部署庞大的运算架构,同时针对业务应用中实时流式数据的计算需要主动发起,因此需要配置额外的调度服务连接,因此数据计算过程中的运算开销以及计算量都很大。


技术实现要素:

3.针对现有技术存在的不足,本发明的目的在于提供一种基于分布式实时计算框架的数据分析计算系统,用于降低计算开销,提升计算速度。
4.为实现上述目的,本发明提供了如下技术方案:一种基于分布式实时计算框架的数据分析计算系统,包括分布式实时计算框架和业务应用,所述分布式实时计算框架连接所述业务应用,并包括:请求模块,用于根据业务应用的流式数据生成写入请求和读取请求;过滤模块,连接所述请求模块,用于在所述写入请求满足预设的写入条件时生成写入指令,以及在所述读取请求满足预设的读取条件时生成读取指令;计算模块,连接所述过滤模块,包括:提取单元,用于在接收到所述写入指令后,根据所述聚合字段的类型从所述流式数据中提取得到若干计算参数;第一计算单元,连接所述提取单元,用于将各所述计算参数代入算子模板中的初次计算公式得到若干初次数据,并按照细粒度将各所述初次数据分为若干中间数据;第二计算单元,连接所述第一计算单元,用于在接收到所述读取指令后,根据所述算子模板中预设的筛选条件筛选各所述中间数据得到若干筛选数据,再将各所述筛选数据代入预设的汇聚公式中得到最终数据。
5.进一步地,所述写入请求中包含有所述流式数据的聚合字段和计算目标,所述读取请求中包含有所述聚合字段,所述写入条件包括字段条件和限定条件,所述读取条件包括字段条件;所述过滤模块包括:解析单元,用于对所述写入请求解析得到所述聚合字段和所述数据内容,以及对所述读取请求解析得到所述聚合字段;生成单元,连接所述解析单元,用于在所写入请求中的所述聚合字段满足所述字
段条件且所述计算目标满足所述限定条件时生成所述写入指令,以及在所述读取请求中的所述聚合字段满足所述字段条件时生成所述读取指令。
6.进一步地,分布式实时计算框架与所述业务应用集成在节点上运行,若干所述节点连接节点任务平衡模块,所述节点任务平衡模块包括:节点统计单元,用于统计各所述节点的数量,并在所述节点的数量发生变化时,生成一任务调整指令;任务均衡单元,连接所述节点统计单元,用于根据所述任务调整指令将当前各所述节点上的任务汇总为任务总量,并按照当前各所述节点的数量重新分配所述任务总量。
7.进一步地,所述计算模块还包括:存储单元,保存有若干所述算子模板,各所述算子模板与相应的所述聚合字段的类型相适配;匹配单元,分别连接所述存储单元和所述第一计算单元,用于根据所述聚合字段的类型在所述存储单元中匹配得到相应的所述算子模板。
8.进一步地,所述细粒度为时间粒度。
9.进一步地,分布式实时计算框架上配置有读取接口与写入接口,所述分布式实时计算框架通过所述读取接口获取所述读取请求,以及通过所述写入接口获取所述写入请求。
10.本发明的有益效果:本发明针对安全数据分析场景下业务应用产生的流式数据,通过接口直接获取读取请求和写入请求,无需配置额外的调度服务连接,实现对流式数据进行分析计算,降低了分布式计算的使用成本;同时本发明中流式数据在写入时利用初次计算公式进行初次计算,并在需要读取调用时再根据汇聚公式进行汇聚计算,区别于现有技术中需要主动发起的计算,从整体上降低了计算开销,节约了大量实时计算的计算开销、存储成本,使得业务应用能够快速方便地完成实时计算任务,达成业务应用的目标。
附图说明
11.图1是本发明中基于分布式实时计算框架的数据分析计算系统的结构示意图。
12.附图标记:1、分布式实时计算框架;2、业务应用;3、请求模块;4、过滤模块;41、解析单元;42、生成单元;5、计算模块;51、提取单元;52、第一计算单元;53、第二计算单元;54、存储单元;55、匹配单元;6、节点任务平衡模块;61、节点统计单元;62、任务均衡单元。
具体实施方式
13.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
14.需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直
的”、
ꢀ“ꢀ
水平的”、
“ꢀ
左”、
“ꢀ
右”以及类似的表述只是为了说明的目的。
15.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
16.请同时参见图1,本实施例提供了一种基于分布式实时计算框架的数据分析计算系统,包括分布式实时计算框架1和业务应用2,分布式实时计算框架1连接业务应用2,并包括:请求模块3,用于根据业务应用2的流式数据生成写入请求和读取请求;过滤模块4,连接请求模块3,用于在写入请求满足预设的写入条件时生成写入指令,以及在读取请求满足预设的读取条件时生成读取指令;计算模块5,连接过滤模块4,包括:提取单元51,用于在接收到写入指令后,根据聚合字段的类型从流式数据中提取得到若干计算参数;第一计算单元52,连接提取单元51,用于将各计算参数代入算子模板中的初次计算公式得到若干初次数据,并按照细粒度将各初次数据分为若干中间数据;第二计算单元53,连接第一计算单元52,用于在接收到读取指令后,根据算子模板中预设的筛选条件筛选各中间数据得到若干筛选数据,再将各筛选数据代入预设的汇聚公式中得到最终数据。
17.具体地,本实施例中,在业务数据需要向分布式实时计算框架1写入或读取数据时,请求模块3根据流式数据生成写入请求或读取请求,并发送给过滤模块4。过滤模块4用于判断写入请求是否满足写入条件,以及判断读取请求是否满足读取条件,在写入请求满足写入条件时生成写入指令,在读取指令满足读取条件时生成读取指令。其中写入指令和读取指令中均包含有计算任务,计算任务与算子模板相适配,提取单元51接收到写入指令后,先根据写入指令中的计算任务匹配得到相应的算子模板,然后提取单元51根据聚合字段的类型从流式数据中提取若干计算参数,代入算子模板中的初次计算公式中,计算得到初次数据,再把初次数据聚合到细粒度的中间结果上形成中间数据。第二计算单元53在接收到读取指令后根据读取指令中包含的计算任务匹配得到相应的算子模板,然后第二计算单元53根据算子模板中的筛选条件先对各中间数据进行筛选,再将筛选后得到的筛选数据代入汇聚公式进行汇聚运算,得到最终数据。
18.本技术方案针对安全数据分析场景下业务应用2产生的流式数据,通过接口直接获取读取请求和写入请求,无需配置额外的调度服务连接,实现对流式数据进行分析计算,降低了分布式计算的使用成本;同时本技术方案中流式数据在写入时利用初次计算公式进行初次计算,并在需要读取调用时再根据汇聚公式进行汇聚计算,区别于现有技术中需要主动发起的计算,从整体上降低了计算开销,节约了大量实时计算的计算开销、存储成本,使得业务应用2能够快速方便地完成实时计算任务,达成业务应用2的目标。
19.本发明实现的功能还包括:1.构建了轻量级的分布式实时计算框架1:本发明为满足时序流式数据的实时分析业务的场景需求,进行设计封装形成的计
算框架。不同于市面上传统实时计算框架的功能庞大,模块众多,本发明中的分布式实时计算框架1解决了流式数据的多值实时计算问题,并采用固定的计算模式与流程。因此,业务人员对分布式实时计算框架1能够快速的理解,轻松上手使用。实时计算开发人员亦能按照限定模式,快速的完成本框架下的设计开发工作。同时,采用固定的计算模式与流程,使得分布式实时计算框架1能够进行更深层次的性能优化与特性支持,在此中计算模式上达到通用实时计算模块5无法具备的先进性。
20.2.支持算子模板封装本发明使用中,基于数据分析师的行业经验,将二十多种实时计算算子设计封装为算子模板,在使用时仅需配置相应的计算参数即可。在一个实施例中使用标准差计算算子,在使用该算子时,配置计算纬度字段a,需要进行标准差计算的字段b(需要为数字值)即可,额外的,可以通过过滤模块4配置过滤条件从流式数据中筛选参与计算的数据集。配置完成后,分布式实时计算框架1会根据配置,将满足过滤条件的流数据,按照字段a的维度进行分割,然后根据字段b的值累计进行方差计算,计算结果实时存储在数据库中。
21.由于分布式实时计算框架1的轻量性,灵活性,使用者可以方便快速的完成在此框架上的二次开发,通用能力封装等工作。封装后的算子能将算法模式,通过简单的配置,快速应用在多个业务场景中。通过算子模板能力,能够实现大多数场景下可以仅通过配置完成业务目的,有效提升了配置的便携性与灵活度。
22.本发明中的数据分析计算系统,可快速完成实时计算的应用,无论在小规模服务节点还是大规模分布式集群下都能发挥良好的作用效果。
23.小规模服务节点的表现如:在8线程16gb内存虚拟机下,在约1000万差异值规模下,可以完成每秒15000次以上的实时计算,并且保证99%的计算响应时间在50毫秒内完成。
24.大规模分布式集群的表现如:在21台32线程64gb虚拟机下,在约4亿差异值规模下,可以完成每秒20万次以上的实时计算,并且保证99%的计算响应时间在50毫秒内完成。
25.由于每次调用的算子模板不同,因此每个计算任务所引用的初次计算公式和汇聚公式各不相同。
26.实施例一:计算任务为配置“最近5分钟登录失败次数”,该计算任务的计算过程包括:过滤模块4对业务应用2传入的写入指令中的数据筛选,如果无“登录成功标记”字段,或者“登录成功标记”的值为“失败”,则判定不满足计算条件,终止流程并返回。反之则进行后续流程。
27.提取单元51根据写入指令从完整的流式数据中,提取必要的写入数据字段,如登录账号,登录成功标记,登录时间作为计算参数。
28.第一计算单元52按照求次数的算子模板执行以下流程,读取当前分钟的中间计算数据,将本次结果累计增加后,写入存储中,即完成写入计算流程,在该流程中细粒度为分钟。
29.读取时,第二计算单元53查询根据计算任务中的最近5分钟生成查询条件,查询最近5分钟内所有中间数据,进行最终聚合累加,最终值即为所配置“最近5分钟登录失败次数”的值,即最终数据。
30.实施例二:
计算任务为配置“最近24小时交易金额方差”,该计算任务的计算过程包括:过滤模块4对业务应用2传入的写入指令中的数据进行筛选,若按数据类型不为“交易”类型,或无“交易金额”字段,或“交易金额”的值不为数字类型,则判定不满足计算条件,终止流程并返回。反之则进行后续流程。
31.提取单元51根据写入指令从完整的流式数据中,提取“交易类型”,“交易金额”作为计算参数。
32.第一计算单元52采用增加计算模式完成计算,以避免每次都需要获取所有值计算。每次计算时根据当前值与前值方差与平均值,得到当此累积方差结果后进行存储,替代为总的方差结果,方差结果即为中间数据,在该流程中细粒度为小时。
33.读取时,第二计算单元53查询最近24小时内的所有方差结果值,然后按照增量方差类似原理将所有方差按照公式汇总,得到总的方差结果。
34.本实施方案中,参照图1所示,写入请求中包含有流式数据的聚合字段和计算目标,读取请求中包含有聚合字段,写入条件包括字段条件和限定条件,读取条件包括字段条件;过滤模块4包括:解析单元41,用于对写入请求解析得到聚合字段和数据内容,以及对读取请求解析得到聚合字段;生成单元42,连接解析单元41,用于在所写入请求中的聚合字段满足字段条件且计算目标满足限定条件时生成写入指令,以及在读取请求中的聚合字段满足字段条件时生成读取指令。
35.在实施例一中,聚合条件为聚合字段中包含有“登录成功标记”字段,而限定条件为“登录成功标记”的值不为“失败”;在实施例二中,聚合条件为聚合字段中包含有“交易金额”字段,限定条件为“交易金额”的值为数字类型且数据类型为“交易”类型。
36.分布式实时计算框架1与业务应用2集成在节点上运行,若干节点连接节点任务平衡模块6,节点任务平衡模块6包括:节点统计单元61,用于统计各节点的数量,并在节点的数量发生变化时,生成一任务调整指令;任务均衡单元62,连接节点统计单元61,用于根据任务调整指令将当前各节点上的任务汇总为任务总量,并按照当前各节点的数量重新分配任务总量。
37.具体地,本实施例中,构建了轻量的无中心分布式集群架构。无中心分布式集群架构可以由若干节点组成,其中本实施例中的分布式实时计算框架1和业务应用2集成在节点上运行。在该分布式集群架构中没有明确的中心节点,所有节点都是平等的。利用节点任务平衡模块6实现各节点上任务分配平衡,过程为:节点统计单元61通过网络互通感知到分布式集群架构中节点数量的变化,当节点数量增加时,表明有新节点加入分布式集群架构,此时节点统计单元61生成任务调整指令,并发送给任务均衡单元62,任务均衡单元62根据任务均衡指令将当前各节点上的任务汇总为任务总量,并按照当前各节点的数量重新分配任务总量;同理,当节点数量减少时,表明有节点从分布式集群架构离线,此时节点统计单元61生成任务调整指令,并发送给任务均衡单元62,任务均衡单元62根据任务均衡指令将当前各节点上的任务汇总为任务总量,并按照当前各节点的数量重新分配任务总量。
38.本实施方案中,参照图1所示,计算模块5还包括:存储单元54,保存有若干算子模板,各算子模板与相应的聚合字段的类型相适配;匹配单元55,分别连接存储单元54和第一计算单元52,用于根据聚合字段的类型在存储单元54中匹配得到相应的算子模板。
39.优选的,细粒度为时间粒度。
40.优选的,分布式实时计算框架1上配置有读取接口与写入接口,分布式实时计算框架1通过读取接口获取读取请求,以及通过写入接口获取写入请求。
41.具体地,本实施例中,通过读取接口与写入接口直接实现分布式实时计算框架1与业务应用2的数据交互,无需额外配置调度服务,降低了分布式计算的部署成本。
42.以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:
1.一种基于分布式实时计算框架的数据分析计算系统,其特征在于,包括分布式实时计算框架和业务应用,所述分布式实时计算框架连接所述业务应用,并包括:请求模块,用于根据业务应用的流式数据生成写入请求和读取请求;过滤模块,连接所述请求模块,用于在所述写入请求满足预设的写入条件时生成写入指令,以及在所述读取请求满足预设的读取条件时生成读取指令;计算模块,连接所述过滤模块,包括:提取单元,用于在接收到所述写入指令后,根据聚合字段的类型从所述流式数据中提取得到若干计算参数;第一计算单元,连接所述提取单元,用于将各所述计算参数代入算子模板中的初次计算公式得到若干初次数据,并按照细粒度将各所述初次数据分为若干中间数据;第二计算单元,连接所述第一计算单元,用于在接收到所述读取指令后,根据所述算子模板中预设的筛选条件筛选各所述中间数据得到若干筛选数据,再将各所述筛选数据代入预设的汇聚公式中得到最终数据。2.根据权利要求1所述的基于分布式实时计算框架的数据分析计算系统,其特征在于:所述写入请求中包含有所述流式数据的聚合字段和计算目标,所述读取请求中包含有所述聚合字段,所述写入条件包括字段条件和限定条件,所述读取条件包括字段条件;所述过滤模块包括:解析单元,用于对所述写入请求解析得到所述聚合字段和所述数据内容,以及对所述读取请求解析得到所述聚合字段;生成单元,连接所述解析单元,用于在所述写入请求中的所述聚合字段满足所述字段条件且所述计算目标满足所述限定条件时生成所述写入指令,以及在所述读取请求中的所述聚合字段满足所述字段条件时生成所述读取指令。3.根据权利要求1所述的基于分布式实时计算框架的数据分析计算系统,其特征在于:分布式实时计算框架与所述业务应用集成在节点上运行,若干所述节点连接节点任务平衡模块,所述节点任务平衡模块包括:节点统计单元,用于统计各所述节点的数量,并在所述节点的数量发生变化时,生成一任务调整指令;任务均衡单元,连接所述节点统计单元,用于根据所述任务调整指令将当前各所述节点上的任务汇总为任务总量,并按照当前各所述节点的数量重新分配所述任务总量。4.根据权利要求1所述的基于分布式实时计算框架的数据分析计算系统,其特征在于:所述计算模块还包括:存储单元,保存有若干所述算子模板,各所述算子模板与相应的所述聚合字段的类型相适配;匹配单元,分别连接所述存储单元和所述第一计算单元,用于根据所述聚合字段的类型在所述存储单元中匹配得到相应的所述算子模板。5.根据权利要求1所述的基于分布式实时计算框架的数据分析计算系统,其特征在于:所述细粒度为时间粒度。6.根据权利要求1所述的基于分布式实时计算框架的数据分析计算系统,其特征在于:分布式实时计算框架上配置有读取接口与写入接口,所述分布式实时计算框架通过所述读取接口获取所述读取请求,以及通过所述写入接口获取所述写入请求。

技术总结
本发明公开了一种基于分布式实时计算框架的数据分析计算系统,包括:分布式实时计算框架和业务应用,分布式实时计算框架包括:请求模块根据流式数据生成写入请求和读取请求;过滤模块在写入请求满足预设的写入条件时生成写入指令,在读取请求满足预设的读取条件时生成读取指令;计算模块包括:提取单元根据聚合字段的类型从流式数据中提取得到若干计算参数;第一计算单元将各计算参数代入算子模板中的初次计算公式得到若干初次数据,并按照细粒度将各初次数据分为若干中间数据;第二计算单元在接收到读取指令后,筛选各中间数据得到若干筛选数据,再将各筛选数据代入汇聚公式中得到最终数据。本发明降低计算开销,提升计算速度。速度。速度。


技术研发人员:张文博 李平 陈昌龙
受保护的技术使用者:杭州瞬安信息科技有限公司
技术研发日:2023.08.31
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐