一种数据关联分析的方法和装置与流程

文档序号:24131144发布日期:2021-03-02 17:59阅读:131来源:国知局
[0001]本发明涉及大数据
技术领域
:,尤其涉及一种数据关联分析的方法和装置。
背景技术
::[0002]随着信息时代的来临,网络数据呈现爆炸式的增长,大量的数据已经成为了信息时代最具价值的资产。[0003]目前传统数据处理主要以关系型数据库为基础,然而,在面对海量数据的情况下,传统数据处理方法的处理能力有限,在面对异构数据,多维数据的情况下,传统数据处理方法的采集、分析和处理方面存在高延迟,低吞吐的问题。因此,无法满足海量数据的情况下,数据的关联分析。技术实现要素:[0004]本发明的目的是提供一种数据关联分析的方法和装置。该数据关联分析的方法可独立封装核心算子,实现算子的自定义配置。[0005]为了实现上述目的,本发明的第一方面公开了一种数据关联分析的方法,基于flink引擎实现数据的关联分析,所述flink引擎包括多个核心算子;[0006]所述方法包括:[0007]将输入的原始数据流进行处理,生成分布式的数据流;[0008]将所述数据流分别通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。[0009]进一步地,所述核心算子包括:转换算子、过滤算子、聚合算子、集合分解算子、连接算子、拼接算子、维表关联算子和分流算子中的至少一个;[0010]其中,转换算子的转换规则包括映射规则、新增规则、拼接规则、截取规则、运算规则中的至少一个;[0011]过滤算子包括:过滤规则;[0012]集合分解算子包括:集合分解规则;[0013]连接算子包括:连接规则;[0014]聚合算子包括:褶皱属性和普通属性,所述褶皱属性包括:数量、总和、平均值、最大值、最小值和字符串连接,所述普通属性包括:四则运算、数据拼接和数据截取;[0015]拼接算子包括:拼接规则;[0016]维表关联算子包括:维表关联规则;[0017]分流算子包括:分流逻辑树。[0018]进一步地,将所述数据流分别通过单个核心算子进行关联分析,输出关联分析结果,包括:[0019]根据所述转换算子的转换规则,将所述第一数据流经由所述转换算子转换,得到第二数据流,其中,所述第一数据流的属性与所述第二数据流的属性相同;和/或[0020]根据所述过滤规则,将所述第三数据流经由所述过滤算子转换为第四数据流;[0021]其中,所述过滤规则为根据所述第三数据流的属性的逻辑树进行逻辑运算,若所得运算结果为真,则将所述第三数据流转换为第四数据流,所述逻辑运算为支持单个或者多个与或非逻辑的组合运算。[0022]进一步地,将所述数据流分别通过单个核心算子进行关联分析,输出关联分析结果,包括:[0023]将若干待聚合的数据流经由所述聚合算子合并为第五数据流;和/或[0024]将第六数据流和第七数据流经由所述拼接算子合并为第八数据流,其中,所述第六数据流的数据类型和所述第七数据流的数据类型相同;和/或[0025]将第九数据流经由所述分流算子的逻辑树进行数据过滤,通过匹配逻辑树,将过滤所得的数据加入到相应的数据流。[0026]进一步地,将所述数据流分别通过单个核心算子进行关联分析,输出关联分析结果,包括:[0027]根据属性分流,将所述第十数据流经由所述集合分解算子分解为若干子数据流,将多层级复杂的数据流结构转换为单层级的数据流结构,有利于数据的分析和使用;和/或[0028]根据关键字匹配,将所述多个待连接数据流经由所述连接算子连接为第十一数据流;和/或[0029]根据所述第十二数据流的字段属性关键字和所述第十三数据流的关键字匹配,将所述第十二数据流和所述第十三数据流经由所述维表关联算子进行关联匹配,获得分析数据;[0030]其中,所述第十二数据流为实时数据流,所述第十三数据流为静态数据流。[0031]进一步地,将所述数据流通过核心算子组合进行关联分析,输出关联分析结果,包括:[0032]将所述数据流依次通过核心算子组合中的多个核心算子进行处理,得到目标数据流作为关联分析结果。[0033]进一步地,关联分析的方法还包括:采用图形界面进行核心算子的操作,以配置关联分析规则,输出多个数据和/或对应业务数据输出;[0034]所述操作为采用图形化箭头表示所述核心算子,完成对数据进行关联分析操作;[0035]所述原始数据包括多种原始数据源和多层级数据结构原始数据;所述图形界面包括多个可操作的数据附件,所述数据附件包括数据过滤组件以及每个核心算子对应的核心算子附件;[0036]所述数据附件可添加至处理数据,所述数据附件包括:窗口附件、关键词附件和维表附件,用于算子操作进行数据转换;[0037]所述数据过滤组件,可实现多个复杂过滤组件的拼接,用于条件表达式的筛选,资源引用表达式的筛选和维表条件筛选。[0038]本发明公开了一种数据关联分析的装置,基于flink引擎实现数据的关联分析,所述flink引擎包括多个核心算子,所述装置包括:[0039]处理模块,用于将输入的原始数据流进行处理,生成分布式的数据流;[0040]分析模块,用于将所述数据流分别通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。[0041]本发明公开了一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;[0042]所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执如上述任一种所述的数据关联分析的方法。[0043]本发明公开了一种计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,如上述任一种所述的数据关联分析的方法。[0044]本发明的数据关联分析的方法和装置,能够同时采集多种不同类型的原始数据,利用flink处理引擎获得分布式的数据流,独立封装核心算子,实现了自定义组合算子配置的方案,通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。该方法提升了关联分析过程当中关联分析数据能力和数据分析的效率,关能够适用各种关联分析数据业务的需要。附图说明[0045]图1为本发明提供的数据关联分析的方法的流程示意图;[0046]图2为本发明提供的算子状态示意图;[0047]图3为本发明提供的关联分析规则图形化界面配置的示意图;[0048]图4为本发明提供的数据关联分析的装置的结构框图;[0049]图5为本发明提供的电子设备的结构框图。具体实施方式[0050]下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例是用于说明本发明,但不能用来限制本发明的范围。[0051]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。[0052]以下结合附图描述根据本发明实施例的一种数据关联分析的方法。[0053]图1是根据本发明一个实施例的一种数据关联分析的方法的原理框图。如图1所示,根据本发明一个实施例的一种数据关联分析的方法,基于flink引擎实现数据的关联分析,所述flink引擎包括多个核心算子;所述方法包括:[0054]s101、将输入的原始数据流进行处理,生成分布式的数据流;[0055]s102、将所述数据流分别通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。[0056]具体的说,本发明实施例采用flink引擎实现数据的关联分析,flink引擎作为新一代流计算处理引擎,flink的架构体系同样也遵行分层架构设计的理念,基本上分为三层,api&libraries层、runtime核心层以及物理部署层。其中,api&libraries层提供了支撑流计算和批计算的接口,同时在此基础之上抽象出不同的应用类型的组件库。runtime核心层:负责对上层不同接口提供基础服务,支持分布式stream作业的执行、jobgraph到executiongraph的映射转换、任务调度等,将datastream和dataset转成统一的可执行的taskoperator。物理部署层:flink支持多种部署模式,本机,集群(standalone/yarn)、云(gce/ec2)、kubenetes。在流处理引擎之上,flink有以下机制:检查点机制和状态机制:用于实现容错、有状态的处理;水印机制:用于实现事件时钟;窗口和触发器:用于限制计算范围,并定义呈现结果的时间。在同一个流处理引擎之上,flink还存在另一套机制,用于实现高效的批处理。用于调度和恢复的回溯法:由microsoftdryad引入;用于散列和排序的特殊内存数据结构:可以在需要时,将一部分数据从内存溢出到硬盘上;优化器:尽可能地缩短生成结果的时间。两套机制分别对应各自的api(datastreamapi和datasetapi)。[0057]基于上述架构和机制的flink引擎拥有对静态数据进行批处理操作,将静态数据抽象成分布式的数据集,用户可以方便地使用flink提供的各种操作符对分布式数据集进行处理,支持java、scala和python。对数据流进行流处理操作,将流式的数据抽象成分布式的数据流,用户可以方便地对分布式数据流进行各种操作,支持java和scala。对结构化数据进行查询操作,将结构化数据抽象成关系表,并通过类sql的dsl对关系表进行各种查询操作,支持java和scala。支持高吞吐、低延迟、高性能的流处理。支持有状态计算的exactly-once语义。支持带有事件时间的窗口(window)操作和高度灵活的窗口(window)操作,支持基于time、count、session以及data-driven的窗口操作。支持具有backpressure功能的持续流模型。支持基于轻量级分布式快照(snapshot)实现的容错。一个运行时同时支持batchonstreaming处理和streaming处理。flink在jvm内部实现了自己的内存管理。本发明实施例的flink引擎包括多个核心算子,大幅度提升对数据关联分析的能力,能够实现对数据多重算子分析计算能力。由于采用flink引擎,因此,本发明实施例能够同时采集多种格式的数据,包括不同形式的数据,如:静态存储数据,流式实时数据,并可以将异构数据格式,复杂数据格式按照对应规则进行抽取,传输和格式化。采集的数据经flink引擎处理后,得到分布式的数据流,便于用户对分布式数据流进行操作,本发明实施例中将得到的分布式的数据流通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。[0058]本发明实施例的数据关联分析的方法,采用flink引擎实现数据的关联分析,能够完成分布式,高吞吐、低延迟、高性能的流处理,提升了关联分析过程当中数据计算和数据分析的效率。[0059]本发明实施例还包括一种数据关联分析的方法,基于flink引擎实现数据的关联分析,所述flink引擎包括多个核心算子;所述方法包括:将输入的原始数据流进行处理,生成分布式的数据流;将所述数据流分别通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。对于前述特征的详细解释,可以参见前述实施例,在此便不再赘述。[0060]可选的,本发明实施例的数据关联分析的方法的核心算子包括:转换算子(mapoperator)201、过滤算子(filteroperator)202、聚合算子(aggregationoperator)203、拼接算子(spliceoperator)204、分流算子(diversionoperator)205、集合分解算子(flatmapoperator)206、连接算子(joinoperator)207和维表关联算子(dimensiontableoperator)208中的至少一个;其中,转换算子(mapoperator)201的转换规则包括映射规则、新增规则、拼接规则、截取规则、运算规则中的至少一个;过滤算子(filteroperator)202包括:过滤规则;集合分解算子(flatmapoperator)206包括:集合分解规则;连接算子(joinoperator)207包括:连接规则;聚合算子(aggregationoperator)203包括:褶皱属性和普通属性,所述褶皱属性包括:数量、总和、平均值、最大值、最小值和字符串连接,所述普通属性包括:四则运算、数据拼接和数据截取;拼接算子(spliceoperator)204包括:拼接规则;维表关联算子(dimensiontableoperator)208包括:维表关联规则;分流算子(diversionoperator)205包括:分流逻辑树。根据所述转换算子(mapoperator)201的转换规则,将所述第一数据流经由所述转换算子(mapoperator)201转换,得到第二数据流,其中,所述第一数据流的属性与所述第二数据流的属性相同;和/或根据所述过滤规则,将所述第三数据流经由所述过滤算子(filteroperator)202转换为第四数据流;其中,所述过滤规则为根据所述第三数据流的属性的逻辑树进行逻辑运算,若所得运算结果为真,则将所述第三数据流转换为第四数据流,所述逻辑运算为支持单个或者多个与或非逻辑的组合运算。将若干待聚合的数据流经由所述聚合算子(aggregationoperator)203合并为第五数据流;和/或将第六数据流和第七数据流经由所述拼接算子(spliceoperator)204合并为第八数据流,其中,所述第六数据流的数据类型和所述第七数据流的数据类型相同;和/或将第九数据流经由所述分流算子(diversionoperator)205的逻辑树进行数据过滤,通过匹配逻辑树,将过滤所得的数据加入到相应的数据流。根据属性分流,将所述第十数据流经由所述集合分解算子(flatmapoperator)206分解为若干子数据流,将多层级复杂的数据流结构转换为单层级的数据流结构,有利于数据的分析和使用;和/或根据关键字匹配,将所述多个待连接数据流经由所述连接算子(joinoperator)207连接为第十一数据流;和/或根据所述第十二数据流的字段属性关键字和所述第十三数据流的关键字匹配,将所述第十二数据流和所述第十三数据流经由所述维表关联算子(dimensiontableoperator)208进行关联匹配,获得分析数据;其中,所述第十二数据流为实时数据流,所述第十三数据流为静态数据流。将所述数据流依次通过核心算子组合中的多个核心算子进行处理,得到目标数据流作为关联分析结果。[0061]具体的,如图2所示,本发明实施例的核心算子包括:转换算子(mapoperator)201、过滤算子(filteroperator)202、集合分解算子(flatmapoperator)206、连接算子(joinoperator)207、聚合算子(aggregationoperator)203、拼接算子(spliceoperator)204、维表关联算子(dimensiontableoperator)208和分流算子(diversionoperator)205中的至少一个;本发明实施例采用单个核心算子进行关联分析,输出关联分析结果,具体包括如下情况:采用转换算子(mapoperator)201进行关联分析,转换算子(mapoperator)201的转换规则包括映射规则、新增规则、拼接规则、截取规则、运算规则中的至少一个;利用转换算子(mapoperator)201将第一数据流转换为第二数据流,其中,第二数据流的属性根据第一数据流的属性获得;采用过滤算子(filteroperator)202进行关联分析,过滤算子(filteroperator)202包括过滤规则;本发明实施例利用过滤算子(filteroperator)202的过滤规则,本发明实施例可以将第三数据流的属性的逻辑树逻辑运算,其中逻辑运算包括:与运算、非运算和或运算,当逻辑运算的结果为真时,将第三数据流加入到第四数据流;采用聚合算子(aggregationoperator)203进行关联分析,聚合算子(aggregationoperator)203包括:褶皱属性和普通属性,所述褶皱属性包括:数量、总和、平均值、最大值、最小值和字符串连接,所述普通属性包括:四则运算、数据拼接和数据截取;本发明实施例支持将逻辑分组或者窗口内的若干待聚合的数据流经由所述聚合算子(aggregationoperator)203合并为第五数据流;采用拼接算子(spliceoperator)204进行关联分析,拼接算子(spliceoperator)204包括:拼接规则,本发明实施例可以将第六数据流和第七数据流经由所述拼接算子(spliceoperator)204合并为第八数据流,所述第六数据流的数据类型和所述第七数据流的数据类型相同;采用分流算子进行关联分析,分流算子(diversionoperator)205包括:分流逻辑树,本发明实施例用于添加分流,在分流中,应用逻辑树对第九数据进行数据过滤,将与逻辑树匹配的数据加入到对应分流;采用集合分解算子(flatmapoperator)206进行关联分析,采用集合分解算子(flatmapoperator)206进行关联分析,集合分解算子(flatmapoperator)206包括集合分解规则,当第十数据流中的某个属性是n个集合属性,选中这个属性后,可以根据属性进行分解流,将第十数据流分解为n个数据流,对多层级复杂数据结构拆解成平级数据结构,可以采用属性映射,属性映射支持时第九数据流的属性和集合属性内对象的属性;采用连接算子(joinoperator)207进行关联分析,连接算子(joinoperator)207包括连接规则,用于将两个或多个流在窗口内进行连接的操作,连接通过关键词进行匹配。本实施例中将多个待连接数据流经由所述连接算子(joinoperator)207连接为第十一数据流,其中待连接数据流的个数至少为两个,此处不做具体限定。采用维表关联算子(dimensiontableoperator)208进行关联分析,维表关联算子(dimensiontableoperator)208包括维表关联算子(dimensiontableoperator)208规则,根据第十二数据流的字段属性关键字和所述第十三数据流的关键字匹配,将所述第十二数据流和所述第十三数据流经由所述维表关联算子(dimensiontableoperator)208获得分析数据;其中,所述第十二数据流为实时数据流,所述第十三数据流为静态数据流。[0062]可以将所述数据流依次通过上述核心算子组合中的多个核心算子进行处理,得到目标数据流作为关联分析结果。其中,根据采用的核心算子个数不同,核心算子的组合方式包括多种,本发明实施例仅以其中的一种方式为例。本实施例采用转换算子(mapoperator)201和过滤算子(filteroperator)202组合,可以分别将第一数据流转换为第二数据流,将第三数据流加入到第四数据流。[0063]本发明实施例的数据关联分析的方法,通过单个核心算子或者核心算子组合进行关联分析,提升了关联分析数据能力,能够适用各种关联分析数据业务的需要。[0064]本发明实施例还包括一种数据关联分析的方法,基于flink引擎实现数据的关联分析,所述flink引擎包括多个核心算子;所述方法包括:将输入的原始数据流进行处理,生成分布式的数据流;将所述数据流分别通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。对于前述特征的详细解释,可以参见前述实施例,在此便不再赘述。[0065]可选的,采用图形界面进行核心算子的操作,以配置关联分析规则,输出多个数据和/或对应业务数据输出;所述操作为采用图形化箭头表示所述核心算子,完成对数据进行关联分析操作;所述原始数据包括多种原始数据源和多层级数据结构原始数据;所述图形界面包括多个可操作的数据附件,所述数据附件包括数据过滤组件以及每个核心算子对应的核心算子附件;所述数据附件可添加至处理数据,所述数据附件包括:窗口附件、关键词附件和维表附件,用于算子操作进行数据转换;所述数据过滤组件,可实现多个复杂过滤组件的拼接,用于条件表达式的筛选,资源引用表达式的筛选和维表条件筛选。[0066]具体的,为了简化了配置流程,本发明实施例提供图形化配置界面,通过接入对应原始数据源,配置界面支持配置各种原始数据源;支持多层级数据结构原始数据,上述实施例的8个核心算子采用图形化箭头表示,完成对数据进行关联分析操作。同时,配置界面支持在处理数据上面添加对应的数据附件(dataattach),本发明实施例的附件包括窗口附件(滚动窗口附件,滑动窗口附件,数量附件,session窗口附件),关键词附件,维表附件,通过这些附件对数据在进行算子操作的时候进行数据转换,配置界面还包括过滤数据组件,过滤数据组件支持多个复杂过滤组件的拼接;支持条件表达式的筛选;支持资源引用表达式的筛选;支持维表条件筛选。经上述处理后的业务数据,配置界面支持多个数据输出,支持对应业务数据输出。具体的,本实施例可以实现交换机的性能监控规则语义,在规定时间内,如果交换机端口异常总数超过预设阈值,则触发规则,产生告警。告警数据中要求包含异常端口总数,哪些端口发生异常,且包含异常端口的流量(switchport:flowvalue),利用本实施例实现关联分析配置方法如图3所示。通过图形化配置,集合分解算子、转换算子、拼接算子和过滤算子,完成了关联分析规则的配置。[0067]本实施例的数据关联分析的方法,通过图形化自定义界面配置关联分析规则来分析数据,提升关联分析能力,满足各种关联分析数据结果需求。[0068]进一步的,本发明的实施例提供了一种数据关联分析的装置,所述装置基于flink引擎实现数据的关联分析,所述flink引擎包括多个核心算子,图4是本发明的实施例提供的数据关联分析的装置结构框图,所述装置包括:处理模块401,用于将输入的原始数据流进行处理,生成分布式的数据流。分析模块402,用于将所述数据流分别通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。[0069]具体的,处理模块401同时采集多种格式的数据,包括不同形式的数据,如:静态存储数据,流式实时数据,并可以将异构数据格式,复杂数据格式按照对应规则进行抽取,传输和格式化。采集的数据经flink引擎处理后,得到分布式的数据流,便于用户对分布式数据流进行操作。分析模块402中将处理模块得到的分布式的数据流通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。[0070]本发明实施例的数据关联分析的装置采用flink引擎实现数据的关联分析,能够完成分布式,高吞吐、低延迟、高性能的流处理,提升了关联分析过程当中数据计算和数据分析的效率。[0071]基于相同的发明构思,本发明又一个实施例提供了一种电子设备,参见图5,所述电子设备具体包括如下内容:处理器501、存储器502、通信接口503和通信总线504;[0072]其中,所述处理器501、存储器502、通信接口503通过所述通信总线504完成相互间的通信;所述通信接口503用于实现各设备之间的信息传输;[0073]所述处理器501用于调用所述存储器502中的计算机程序,所述处理器执行所述计算机程序时实现上述三维网格面上的曲线生成方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:将输入的原始数据流进行处理,生成分布式的数据流;将所述数据流分别通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。[0074]另外,根据本发明实施例的电子设备的其它构成以及作用对于本领域的普通技术人员而言都是已知的,此处不做赘述。[0075]基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述三维网格面上的曲线生成方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:将输入的原始数据流进行处理,生成分布式的数据流;将所述数据流分别通过单个核心算子或者核心算子组合进行关联分析,输出关联分析结果。[0076]此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0077]虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1