CN113448555A - 关联分析方法、装置、设备及存储介质 - Google Patents
关联分析方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113448555A CN113448555A CN202110740051.8A CN202110740051A CN113448555A CN 113448555 A CN113448555 A CN 113448555A CN 202110740051 A CN202110740051 A CN 202110740051A CN 113448555 A CN113448555 A CN 113448555A
- Authority
- CN
- China
- Prior art keywords
- model
- real
- intermediate file
- analysis program
- correlation analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012097 association analysis method Methods 0.000 title claims description 12
- 238000012545 processing Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims abstract description 54
- 238000012098 association analyses Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000010219 correlation analysis Methods 0.000 claims abstract description 37
- 238000013507 mapping Methods 0.000 claims description 31
- 238000013519 translation Methods 0.000 claims description 28
- 230000000007 visual effect Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000012800 visualization Methods 0.000 claims description 7
- 238000005094 computer simulation Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 8
- 238000007405 data analysis Methods 0.000 abstract description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 241000256836 Apis Species 0.000 description 4
- 239000010410 layer Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 229910021532 Calcite Inorganic materials 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- OYPRJOBELJOOCE-UHFFFAOYSA-N Calcium Chemical compound [Ca] OYPRJOBELJOOCE-UHFFFAOYSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 229910052791 calcium Inorganic materials 0.000 description 1
- 239000011575 calcium Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及数据分析技术领域,公开了一种关联分析方法、装置、设备及存储介质,该方法包括获取实时计算模型,根据实时计算模型生成中间文件;根据中间文件判断实时计算模型的模型类型;根据模型类型选取应用程序编程接口翻译中间文件中描述的复杂事件处理逻辑;根据复杂事件处理逻辑构建关联分析程序,根据关联分析程序生成结果表。由于本发明是根据实时计算模型生成中间文件,根据中间文件判断实时计算模型的类型并选取相应的应用编程接口翻译中间文件中描述的复杂事件处理逻辑,根据复杂事件逻辑构建关联分析程序完成关联分析,解决了现有技术中关联分析开发复杂且无法支持复杂语义的技术问题,实现了简单易用的关联分析。
Description
技术领域
本发明涉及数据分析技术领域,尤其涉及一种关联分析方法、装置、设备及存储介质。
背景技术
目前基于Flink进行关联分析的任务开发的方式主要有两种,第一种是通过编写Flink SQL来进行数据的处理,第二种是通过编写代码的方式来调用Flink DataStreamAPI的方式开发;而且只能支持next、FollowBy等CEP语义,无法支持复杂语义。
现有技术中Flink SQL编程方式的缺点:无法覆盖所有场景,譬如不支持基于计数的窗口操作;对于较复杂场景,开发过程也相对复杂。
Flink代码编程方式的缺点:需要手动打Jar包才能部署运行,内部处理逻辑不够直观,不易修改运维;需要编写代码,运营人员需要掌握Java/Scala/Python语言并熟悉Flink框架,门槛较高;随着版本的不断更新,Flink DataStream API也出现了很多不兼容的地方。
Flink原生CEP支持的语义有限:只支持基本的CEP语义,如next、followBy等,无法支持orFollowBy、notOccur等复杂语义;部分复杂语义的实现需要修改Calcite解析Pattern的方式。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种关联分析方法、装置、设备及存储介质,旨在解决现有技术中关联分析开发复杂且无法支持复杂语义的技术问题。
为实现上述目的,本发明提供了一种关联分析方法,所述方法包括以下步骤:
获取实时计算模型,并根据所述实时计算模型生成中间文件;
根据所述中间文件判断所述实时计算模型的模型类型;
根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑;
根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表。
可选地,所述根据所述中间文件判断所述实时计算模型的模型类型,包括:
按照预设格式对所述中间文件进行解析,并根据解析的结果提取所述中间文件中的字段;
根据模型特征参数对所述字段进行校验,确定所述实时计算模型的模型类型。
可选地,所述根据模型特征参数对所述字段进行校验,确定所述实时计算模型的模型类型,包括:
根据模型特征参数对所述字段中描述的公共参数的合法性进行校验;
在公共参数的合法性校验通过时,根据模型特征参数对所述字段中描述的模板参数进行校验;
根据校验的结果确定所述实时计算模型的模型类型。
可选地,所述获取实时计算模型,并根据所述实时计算模型生成中间文件之前,所述方法还包括:
提供可视化窗口,所述可视化窗口包括针对不同的应用场景为用户提供的可编辑组件;
获取所述可视化窗口中用户选择的可编辑组件,并将所述可编辑组件组装成实时计算模型。
可选地,所述根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表,包括:
根据所述复杂事件处理逻辑构建关联分析程序,并将所述关联分析程序提交至Flink引擎,以通过所述Flink引擎生成结果表;
将所述结果表转为数据流,并将所述数据流传至下一算子进行处理。
可选地,所述根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表,包括:
在所述模型类型为FollowBy模型时,根据所述FollowBy模型对应的复杂事件处理逻辑构建FollowBy关联分析程序;
获取数据源,并根据所述FollowBy关联分析程序处理所述数据源生成弱邻接结果表。
可选地,所述获取实时计算模型,并根据所述实时计算模型生成中间文件之前,所述方法还包括:
获取初始标识符的初始翻译规则和初始映射规则;
获取目标标识符的目标翻译规则和目标映射规则;
根据所述目标翻译规则和所述目标映射规则更新所述初始翻译规则和所述初始映射规则,以扩展所述初始标识符,得到扩展后的标识符;
根据扩展后的标识符扩展原始计算模型的种类,以得到实时计算模型。
此外,为实现上述目的,本发明还提出一种关联分析装置,所述装置包括:
获取模块,用于获取实时计算模型,并根据所述实时计算模型生成中间文件;
判断模块,用于根据所述中间文件判断所述实时计算模型的模型类型;
选取模块,用于根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑;
构建模块,用于根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表。
此外,为实现上述目的,本发明还提出一种关联分析设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的关联分析程序,所述关联分析程序配置为实现如上文所述的关联分析方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有关联分析程序,所述关联分析程序被处理器执行时实现如上文所述的关联分析方法的步骤。
本发明通过获取实时计算模型,并根据所述实时计算模型生成中间文件;根据所述中间文件判断所述实时计算模型的模型类型;根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑;根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表,由于本发明是根据实时计算模型生成中间文件,根据中间文件判断实时计算模型的类型并选取相应的应用编程接口翻译中间文件中描述的复杂事件处理逻辑,从而根据复杂事件逻辑构建关联分析程序完成关联分析,解决了现有技术中关联分析开发复杂且无法支持复杂语义的技术问题,实现了简单易用的关联分析。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的关联分析设备的结构示意图;
图2为本发明关联分析方法第一实施例的流程示意图;
图3为本发明关联分析方法一实施例涉及的Flink引擎框架示意图;
图4为本发明关联分析方法第二实施例的流程示意图;
图5为本发明关联分析方法一实施例涉及的基于普通模板的实时计算模型示意图;
图6为本发明关联分析方法一实施例涉及的基于计数不去重模板的实时计算模型示意图;
图7为本发明关联分析方法一实施例涉及的基于FollowBy模板的实时计算模型示意图;
图8为本发明关联分析方法第三实施例的流程示意图;
图9为本发明关联分析方法一实施例涉及的Calcite解析流程图;
图10为本发明关联分析装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的关联分析设备结构示意图。
如图1所示,该关联分析设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对关联分析设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及关联分析程序。
在图1所示的关联分析设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明关联分析设备中的处理器1001、存储器1005可以设置在关联分析设备中,所述关联分析设备通过处理器1001调用存储器1005中存储的关联分析程序,并执行本发明实施例提供的关联分析方法。
本发明实施例提供了一种关联分析方法,参照图2,图2为本发明关联分析方法第一实施例的流程示意图。
本实施例中,所述关联分析方法包括以下步骤:
步骤S10:获取实时计算模型,并根据所述实时计算模型生成中间文件。
需要说明的是,本实施例的执行主体是关联分析系统,实时计算模型是用户根据关联分析系统提供的模板及组件创建和编辑的模型。
应理解的是,中间文件是一种与开发语言无关的,轻量级的数据交换格式文件,例如中间文件可以是Json格式的中间文件,关联分析系统采用Json格式的中间文件作为中间数据的传输格式,关联分析系统包括前端和后端,前端和后端是分离架构,前端按照约定的格式将用户创建和编辑的实时计算模型封装成Json格式的中间文件,传输至后端,后端在接收到该文件后,按照约定格式可将Json格式的中间文件中的数据提取出。
在具体实现中,用户在编辑和创建完实时计算模型后,关联分析系统获取到该实时计算模型,并根据约定格式和实时计算模型生成Json格式的中间文件。
步骤S20:根据所述中间文件判断所述实时计算模型的模型类型。
可以理解的是,中间文件可以是Json格式的中间文件,根据不同类型的实时计算模型生成的Json格式的中间文件中存储的字段是不同的,因此可根据Json格式的中间文件中存储的字段的差异判断实时计算模型的类型,例如实时计算模型的类型可以是普通模板、去重计数模板或去重不计数模板等。
应理解的是,关联分析系统对常用的过滤、统计、计算、关联分析等功能进行抽象和封装,提供了普通模板、去重计数模板、去重不计数模板、求和模板和FollowBy模板,用户选择并编辑模板和组件后,可以创建相应的实时计算模型。
步骤S30:根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑。
可以理解的是,应用程序编程接口简称API,又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。
应理解的是,复杂事件处理(Complex Event Processing,CEP)是一种基于流处理的技术,将系统数据看作不同类型的事件,通过分析事件之间的关系,建立不同的事件关系序列库,并利用过滤、关联、聚合等技术最终由简单事件产生高级事件,并通过模式匹配规则的方式对重要信息进行跟踪和分析的处理,复杂事件处理逻辑为进行上述复杂事件处理时所遵循的逻辑,参照图3,不同的模型类型需要选用相应的应用程序编程接口来翻译Json格式的中间文件中描述的复杂事件处理逻辑,例如使用SQL、PatternStream、ProcessFunction等API翻译JSON中间文件中描述的CEP逻辑。
步骤S40:根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表。
可以理解的是,关联分析程序是可以在底层引擎上运行的程序,在得到复杂事件处理逻辑后,需要用底层引擎的API将该复杂事件处理逻辑封装成能在该底层引擎运行的关联分析程序,底层引擎根据该关联分析程序处理数据源生成结果表。
进一步地,为了实现简单易用的关联分析,所述步骤S20包括:按照预设格式对所述中间文件进行解析,并根据解析的结果提取所述中间文件中的字段;根据模型特征参数对所述字段进行校验,确定所述实时计算模型的模型类型。
可以理解的是,在用户编辑和创建完实时计算模型后,关联分析系统的前端会按照预设格式即和关联分析系统后端约定的格式把该实时计算模型封装成Json格式的中间文件,关联分析系统的后端在接收到Json格式的中间文件后,按照和关联分析系统的前端约定的格式对Json格式的中间文件进行解析,然后提取Json格式中间文件中的字段。
应理解的是,模型特征参数是能确定实时计算模型类型的参数,不同类型的实时计算模型生成的Json格式的中间文件中的字段是不同的,根据每种实时计算模型的模型特征参数对从Json格式的中间文件中提取出的字段进行校验,就可以确定该实时计算模型的模型类型。
进一步地,为了实现简单易用的关联分析,所述根据模型特征参数对所述字段进行校验,确定所述实时计算模型的模型类型,包括:根据模型特征参数对所述字段中描述的公共参数的合法性进行校验;在公共参数的合法性校验通过时,根据模型特征参数对所述字段中描述的模板参数进行校验;根据校验的结果确定所述实时计算模型的模型类型。
应理解的是,模型特征参数包括公共参数和模板特征参数,其中公共参数是不同类型的实时计算模型都具有的参数,模板特征参数是不同类型的实时计算模型所特有的参数。
可以理解的是,公共参数是不同类型的实时计算模型都具有的参数,不同类型的实时计算模型包含的公共参数有:数据源组件、关联分析模板和数据存储组件,若想利用一个实时计算模型完成数据分析,则需要先校验该实时计算模型是否包含上述源组件、模板和数据存储组件,因此在进行参数校验时,先对字段中描述的公共参数进行校验,以确保实时计算模型的完整性。
应理解的是,在公共参数的合法性校验通过时,说明该模型是一个完整的实时计算模型,此时根据模板特征参数对每种模板需要的参数进行校验,在校验通过时,即可根据模板特征参数确定实时计算模型的模型类型。
进一步地,为了实现简单易用的关联分析,所述步骤S40包括:根据所述复杂事件处理逻辑构建关联分析程序,并将所述关联分析程序提交至Flink引擎,以通过所述Flink引擎生成结果表;将所述结果表转为数据流,并将所述数据流传至下一算子进行处理。
应理解的是,参考图3,图3为本实施例Flink引擎框架,其中Deploy层:Flink框架和作业的部署方式,主要包括Local模式(本地部署)、Cluster模式(Standalone、YARN部署)和Cloud模式(K8S、EC2部署);Core层:Flink框架的运行时,提供分布式作业的任务调度、数据转发等功能;APIs层:Flink框架编程的原生API;Libraries层:在原生API上封装的面向各类业务场景的编程库;Application CEP层:基于原生API以及各类编程库提供的API实现的CEP库。
可以理解的是,本实施例的关联分析系统可以是基于Flink引擎的关联分析系统,在关联分析程序构建完成后,将关联分析程序提交至Flink引擎,处理输入的数据源生成结果表,并将该结果表转为数据流,其中结果表为FlinkSQL中的Table,数据流为Flink的DataStream。
应理解的是,在将结果表转换为数据流后,关联分析系统将该数据流传输至下一个算子进行后续处理。
进一步地,为了实现弱邻接分析,所述步骤S40还包括:在所述模型类型为FollowBy模型时,根据所述FollowBy模型对应的复杂事件处理逻辑构建FollowBy关联分析程序;获取数据源,并根据所述FollowBy关联分析程序处理所述数据源生成弱邻接结果表。
可以理解的是,FollowBy是表示在一定的时间窗口内,一个事件发生,另一个事件会接着发生。
应理解的是,在实时计算模型的模型类型为FollowBy模型时,关联分析系统会根据该FollowBy模型对应的复杂事件处理逻辑构建FollowBy关联分析程序。
可以理解的是,弱邻接结果表是结果数据是宽松连续的结果表,传统的FollowBy无法表达宽松连续性,而且无法设置NoSkip策略,不允许模式之间的组合,要求事件之间是强邻接,本实施例提供的FollowBy模型通过修改Calcite的标识符翻译规则以及Flink CEP的映射规则,扩展Flink SQL所支持的标识符,能够支持弱邻接。
在具体实现中,传统的FollowBy无法表达宽松连续性,而且无法设置NoSkip策略,不允许模式之间进行组合,将表1中的数据示例分别输入传统的FollowBy和优化的FollowBy,对传统的FollowBy和优化的FollowBy的输出数据进行对比得到表4;传统的FollowBy根据表2中的规则示例1只能输出(1,2)、(4,5),无法输出(1,5),根据表3中的规则示例2则没有输出;本实施的FollowBy模型即优化的FollowBy根据表2中的规则示例1可以输出(1,2)、(4,5)和(1,5),根据表3中的规则示例2可以输出(1,3)、(4,6)和(1,6)。
表1-数据示例
id | 1 | 2 | 3 | 4 | 5 | 6 |
name | A | B | C | A | B | C |
表2-规则示例1
模式 | 条件 | 输出 |
A | A.name=‘A’ | A.id |
B | B.name=‘B’ | B.id |
表3-规则示例2
模式 | 条件 | 输出 |
A | A.name=‘A’ | A.id |
C | B.name=‘C’ | C.id |
表4-传统的FollowBy和优化的FollowBy输出对比
输出 | 传统FollowBy | 优化的FollowBy |
规则示例1 | (1,2)、(4,5) | (1,2)、(4,5)、(1,5) |
规则示例2 | 无 | (1,3)、(4,6)、(1,6) |
本实施例通过获取实时计算模型,并根据所述实时计算模型生成中间文件;根据所述中间文件判断所述实时计算模型的模型类型;根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑;根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表,由于本实施例是根据实时计算模型生成中间文件,根据中间文件判断实时计算模型的类型并选取相应的应用编程接口翻译中间文件中描述的复杂事件处理逻辑,从而根据复杂事件逻辑构建关联分析程序完成关联分析,解决了现有技术中进行关联分析开发复杂且无法支持复杂语义的技术问题,实现了简单易用的关联分析。
参考图4,图4为本发明关联分析方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S10之前,所述方法还包括:
步骤S01:提供可视化窗口,所述可视化窗口包括针对不同的应用场景为用户提供的可编辑组件。
应理解的是,可视化窗口是关联分析系统提供的与用户交互的窗口,用户能够通过该可视化窗口编辑和创建实时计算模型。
可以理解的是,参考图5至图7,可编辑组件是关联分析系统通过可视化窗口为用户提供的可拖拽编辑的组件,针对不同的应用场景,关联分析系统提供了普通模板、计数不去重模板、计数去重模板、求和模板和FollowBy模板等模板组件,还提供了关系符/条件组件、功能组件等通用组件。
在具体实现中,关联分析系统提供了一个可视化、支持算子拖拽、灵活配置参数的编辑复杂事件处理逻辑以实现简单易用的关联分析,用户可根据不同的使用场景,拖拽相应可编辑组件,创建实时计算模型以完成数据处理。
步骤S02:获取所述可视化窗口中用户选择的可编辑组件,并将所述可编辑组件组装成实时计算模型。
应理解的是,用户选择可视化窗口中的可编辑组件以创建实时计算模型,实时计算模型一般包括数据源组件、关联分析模板和数据存储组件,在用户选择万相应组件后,关联分析系统会将用户选择的各个可编辑组件组装生成实时计算模型。
本实施例通过提供可视化窗口,所述可视化窗口包括针对不同的应用场景为用户提供的可编辑组件;获取所述可视化窗口中用户选择的可编辑组件,并将所述可编辑组件组装成实时计算模型。由于本实施例是通过可视化窗口为用户提供针对不同应用场景的可编辑组件,并将用户选择的可编辑组件组装成实时计算模型以实现数据处理,解决了现有技术中构建关联分析程序复杂且门槛高的技术问题,通过可视化编程的方式构建实时计算模型从而实现简单易用的关联分析。
参考图8,图8为本发明关联分析方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S10之前,所述方法还包括:
步骤S101:获取初始标识符的初始翻译规则和初始映射规则。
可以理解的是,初始标识符是未经优化的Calcite标识符,初始翻译规则是未经优化的Calcite标识符的翻译规则,初始映射规则是Flink CEP的映射规则。
步骤S102:获取目标标识符的目标翻译规则和目标映射规则。
应理解的是,目标标识符是扩展后的Calcite标识符,目标映射规则是扩展后的Flink CEP的映射规则。
步骤S103:根据所述目标翻译规则和所述目标映射规则更新所述初始翻译规则和所述初始映射规则,以扩展所述初始标识符,得到扩展后的标识符。
可以理解的是,根据目标翻译规则更新初始翻译规则,根据目标映射规则更新初始映射规则,即可扩展初始标识符,参考图9,SQL Match_Recognize类似分析函数的功能,可以在行间进行匹配判断并进行计算;Calcite是Flink SQL中作为SQL语法解析、校验、优化的工具。本实施例通过扩展SQL2016标准,提供原标准之外的语义,以支持NoSkip策略、箭头标识符和宽松连续性等;根据目标翻译规则对Calcite标识符的解析规则进行扩展得到扩展后的Calcite标识符,以支持SQL初始标识符之外的标识符,例如箭头标识符等;根据目标映射规则对Flink CEP模式的映射规则进行扩展得到扩展后的Flink CEP的映射规则,从而支持丰富的规则模板,例如普通模板、计数不去重模板和计数去重模板等。
步骤S104:根据扩展后的标识符扩展原始计算模型的种类,以得到实时计算模型。
应理解的是,继续参照图3,根据扩展后的标识符,可以扩展原始计算模型的种类,例如扩展后的计算模型包括与原Flink CEP保持一致的关联分析模板,比如next、notNext;原Flink CEP有的关联分析模板,本实施例扩展后的实时计算模型Application CEP使用其他更为高效的方式重新实现,但功能仍保持一致的,比如normal、having sum、havingcount(DISTINCT)等使用SQL方式实现;原Flink CEP有的关联分析模板,本实施例扩展后的实时计算模型Application CEP使用其他更为高效的方式重新实现,功能有所增强的,比如followBy、notFollowBy使用PatterStream API以及SQL_Match_Recognize实现,支持弱邻接匹配;原Flink CEP没有的关联分析模板,本实施例扩展后的实时计算模型ApplicationCEP新增的功能,比如orFollowBy通过修改NFA以及PatternStream API实现,notOccur使用ProcessFunction实现等。
本实施例通过获取初始标识符的初始翻译规则和初始映射规则;获取目标标识符的目标翻译规则和目标映射规则;根据所述目标翻译规则和所述目标映射规则更新所述初始翻译规则和所述初始映射规则,以扩展所述初始标识符,得到扩展后的标识符;根据扩展后的标识符扩展原始计算模型的种类,以得到实时计算模型。由于本实施例是通过目标标识符的翻译规则和映射规则更新初始标识符的翻译规则和映射规则,从而扩展原始计算模型的种类得到实时计算模型,能够扩展Flink SQL所支持的标识符,提供更多种类的关联分析模板,从而提供种类丰富的实时计算模型。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有关联分析程序,所述关联分析程序被处理器执行时实现如上文所述的关联分析方法的步骤。
参照图10,图10为本发明关联分析装置第一实施例的结构框图。
如图10所示,本发明实施例提出的关联分析装置包括:获取模块10、判断模块20、选取模块30、构建模块40。
获取模块10,用于获取实时计算模型,并根据所述实时计算模型生成中间文件;
判断模块20,用于根据所述中间文件判断所述实时计算模型的模型类型;
选取模块30,用于根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑;
构建模块40,用于根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表。
本实施例通过获取模块10获取实时计算模型,并根据所述实时计算模型生成中间文件;判断模块20根据所述中间文件判断所述实时计算模型的模型类型;选取模块30根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑;构建模块40根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表,由于本实施例是根据实时计算模型生成中间文件,根据中间文件判断实时计算模型的类型并选取相应的应用编程接口翻译中间文件中描述的复杂事件处理逻辑,从而根据复杂事件逻辑构建关联分析程序完成关联分析,解决了现有技术中基于Flink进行关联分析开发复杂且无法支持复杂语义的技术问题,实现了简单易用的关联分析。
基于本发明上述关联分析装置第一实施例,提出本发明关联分析装置的第二实施例。
在本实施例中,进一步地,为了实现简单易用的关联分析,所述判断模块20还用于按照预设格式对所述中间文件进行解析,并根据解析的结果提取所述中间文件中的字段;根据模型特征参数对所述字段进行校验,确定所述实时计算模型的模型类型。
进一步地,为了实现简单易用的关联分析,所述判断模块20还用于根据模型特征参数对所述字段中描述的公共参数的合法性进行校验;在公共参数的合法性校验通过时,根据模型特征参数对所述字段中描述的模板参数进行校验;根据校验的结果确定所述实时计算模型的模型类型。
进一步地,为了通过可视化编程的方式构建实时计算模型从而实现简单易用的关联分析,所述获取模块10还用于提供可视化窗口,所述可视化窗口包括针对不同的应用场景为用户提供的可编辑组件;获取所述可视化窗口中用户选择的可编辑组件,并将所述可编辑组件组装成实时计算模型。
进一步地,为了实现简单易用的关联分析,所述构建模块40还用于根据所述复杂事件处理逻辑构建关联分析程序,并将所述关联分析程序提交至Flink引擎,以通过所述Flink引擎生成结果表;将所述结果表转为数据流,并将所述数据流传至下一算子进行处理。
进一步地,为了若邻接分析,所述构建模块40还用于在所述模型类型为FollowBy模型时,根据所述FollowBy模型对应的复杂事件处理逻辑构建FollowBy关联分析程序;获取数据源,并根据所述FollowBy关联分析程序处理所述数据源生成弱邻接结果表。
进一步地,为了扩展实时计算模型的类型,所述获取模块10还用于获取初始标识符的初始翻译规则和初始映射规则;获取目标标识符的目标翻译规则和目标映射规则;
根据所述目标翻译规则和所述目标映射规则更新所述初始翻译规则和所述初始映射规则,以扩展所述初始标识符,得到扩展后的标识符;根据扩展后的标识符扩展原始计算模型的种类,以得到实时计算模型。
本发明关联分析装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种关联分析方法,其特征在于,所述方法包括:
获取实时计算模型,并根据所述实时计算模型生成中间文件;
根据所述中间文件判断所述实时计算模型的模型类型;
根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑;
根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表。
2.如权利要求1所述的方法,其特征在于,所述根据所述中间文件判断所述实时计算模型的模型类型,包括:
按照预设格式对所述中间文件进行解析,并根据解析的结果提取所述中间文件中的字段;
根据模型特征参数对所述字段进行校验,确定所述实时计算模型的模型类型。
3.如权利要求2所述的方法,其特征在于,所述根据模型特征参数对所述字段进行校验,确定所述实时计算模型的模型类型,包括:
根据模型特征参数对所述字段中描述的公共参数的合法性进行校验;
在公共参数的合法性校验通过时,根据模型特征参数对所述字段中描述的模板参数进行校验;
根据校验的结果确定所述实时计算模型的模型类型。
4.如权利要求1所述的方法,其特征在于,所述获取实时计算模型,并根据所述实时计算模型生成中间文件之前,所述方法还包括:
提供可视化窗口,所述可视化窗口包括针对不同的应用场景为用户提供的可编辑组件;
获取所述可视化窗口中用户选择的可编辑组件,并将所述可编辑组件组装成实时计算模型。
5.如权利要求1所述的方法,其特征在于,所述根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表,包括:
根据所述复杂事件处理逻辑构建关联分析程序,并将所述关联分析程序提交至Flink引擎,以通过所述Flink引擎生成结果表;
将所述结果表转为数据流,并将所述数据流传至下一算子进行处理。
6.如权利要求1至5任一项所述的方法,其特征在于,所述根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表,包括:
在所述模型类型为FollowBy模型时,根据所述FollowBy模型对应的复杂事件处理逻辑构建FollowBy关联分析程序;
获取数据源,并根据所述FollowBy关联分析程序处理所述数据源生成弱邻接结果表。
7.如权利要求1所述的方法,其特征在于,所述获取实时计算模型,并根据所述实时计算模型生成中间文件之前,所述方法还包括:
获取初始标识符的初始翻译规则和初始映射规则;
获取目标标识符的目标翻译规则和目标映射规则;
根据所述目标翻译规则和所述目标映射规则更新所述初始翻译规则和所述初始映射规则,以扩展所述初始标识符,得到扩展后的标识符;
根据扩展后的标识符扩展原始计算模型的种类,以得到实时计算模型。
8.一种关联分析装置,其特征在于,所述装置包括:
获取模块,用于获取实时计算模型,并根据所述实时计算模型生成中间文件;
判断模块,用于根据所述中间文件判断所述实时计算模型的模型类型;
选取模块,用于根据所述模型类型选取对应的应用程序编程接口,以通过所述应用程序编程接口翻译所述中间文件中描述的复杂事件处理逻辑;
构建模块,用于根据所述复杂事件处理逻辑构建关联分析程序,并根据所述关联分析程序生成结果表。
9.一种关联分析设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的关联分析程序,所述关联分析程序配置为实现如权利要求1至7中任一项所述的关联分析方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有关联分析程序,所述关联分析程序被处理器执行时实现如权利要求1至7任一项所述的关联分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110740051.8A CN113448555B (zh) | 2021-06-30 | 2021-06-30 | 关联分析方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110740051.8A CN113448555B (zh) | 2021-06-30 | 2021-06-30 | 关联分析方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448555A true CN113448555A (zh) | 2021-09-28 |
CN113448555B CN113448555B (zh) | 2024-04-09 |
Family
ID=77814536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110740051.8A Active CN113448555B (zh) | 2021-06-30 | 2021-06-30 | 关联分析方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448555B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070255529A1 (en) * | 2006-05-01 | 2007-11-01 | International Business Machines Corporation | Method and system for processing multiple heterogeneous event types in a complex event processing engine |
US20120084788A1 (en) * | 2010-10-05 | 2012-04-05 | Fujitsu Limited | Complex event distributing apparatus, complex event distributing method, and complex event distributing program |
US20160004578A1 (en) * | 2014-07-03 | 2016-01-07 | FishEye Products, LLC | Realtime processing of streaming data |
US20160373476A1 (en) * | 2015-06-17 | 2016-12-22 | Accenture Global Services Limited | Data acceleration |
WO2017118597A1 (en) * | 2016-01-04 | 2017-07-13 | Groundlion Nv | Computer-implemented method for complex dynamic case management |
CN107147639A (zh) * | 2017-05-08 | 2017-09-08 | 国家电网公司 | 一种基于复杂事件处理的实时安全预警方法 |
US10673880B1 (en) * | 2016-09-26 | 2020-06-02 | Splunk Inc. | Anomaly detection to identify security threats |
CN111431926A (zh) * | 2020-04-02 | 2020-07-17 | 深信服科技股份有限公司 | 一种数据关联分析的方法、系统、设备及可读存储介质 |
CN111427915A (zh) * | 2020-03-25 | 2020-07-17 | 京东数字科技控股有限公司 | 信息处理方法及装置、存储介质、电子设备 |
CN112653749A (zh) * | 2020-12-18 | 2021-04-13 | 北京工商大学 | 用于物联网的基于边缘计算的复杂事件处理系统及方法 |
CN112738016A (zh) * | 2020-11-16 | 2021-04-30 | 中国南方电网有限责任公司 | 一种面向威胁场景的智能化安全事件关联分析系统 |
-
2021
- 2021-06-30 CN CN202110740051.8A patent/CN113448555B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070255529A1 (en) * | 2006-05-01 | 2007-11-01 | International Business Machines Corporation | Method and system for processing multiple heterogeneous event types in a complex event processing engine |
US20120084788A1 (en) * | 2010-10-05 | 2012-04-05 | Fujitsu Limited | Complex event distributing apparatus, complex event distributing method, and complex event distributing program |
US20160004578A1 (en) * | 2014-07-03 | 2016-01-07 | FishEye Products, LLC | Realtime processing of streaming data |
US20160373476A1 (en) * | 2015-06-17 | 2016-12-22 | Accenture Global Services Limited | Data acceleration |
WO2017118597A1 (en) * | 2016-01-04 | 2017-07-13 | Groundlion Nv | Computer-implemented method for complex dynamic case management |
US10673880B1 (en) * | 2016-09-26 | 2020-06-02 | Splunk Inc. | Anomaly detection to identify security threats |
CN107147639A (zh) * | 2017-05-08 | 2017-09-08 | 国家电网公司 | 一种基于复杂事件处理的实时安全预警方法 |
CN111427915A (zh) * | 2020-03-25 | 2020-07-17 | 京东数字科技控股有限公司 | 信息处理方法及装置、存储介质、电子设备 |
CN111431926A (zh) * | 2020-04-02 | 2020-07-17 | 深信服科技股份有限公司 | 一种数据关联分析的方法、系统、设备及可读存储介质 |
CN112738016A (zh) * | 2020-11-16 | 2021-04-30 | 中国南方电网有限责任公司 | 一种面向威胁场景的智能化安全事件关联分析系统 |
CN112653749A (zh) * | 2020-12-18 | 2021-04-13 | 北京工商大学 | 用于物联网的基于边缘计算的复杂事件处理系统及方法 |
Non-Patent Citations (6)
Title |
---|
VINOYANG: "Flink 之 CEP-API简介", Retrieved from the Internet <URL:《www.blog.csdn.net/yanghua_kobe/article/details/58714692》> * |
余成: "基于复杂事件处理的分布式监控系统", 《中国优秀硕士论文 信息科技》 * |
孙鑫斌等: "基于实时关联分析算法及CEP的大数据安全分析模块研究与实现", 《电力信息与通信技术》 * |
白玉辛;刘晓燕;: "Hadoop与Flink应用场景研究", 通信技术, no. 06 * |
闫蕾: "基于正规树模式匹配的并行复杂事件检测方法", 《中国优秀硕士论文 信息科技》 * |
闲鱼技术: "闲鱼如何打造高效CEP系统及DSL编程语言", Retrieved from the Internet <URL:《www.juejin.cn/post/6844903967655198734》> * |
Also Published As
Publication number | Publication date |
---|---|
CN113448555B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8332509B2 (en) | Parameterized computer monitoring system | |
CN111045655A (zh) | 一种页面渲染的方法、装置、渲染服务器和存储介质 | |
US9015685B2 (en) | Code analysis for simulation efficiency improvement | |
CN111158674B (zh) | 组件管理方法、系统、设备及存储介质 | |
US20120266131A1 (en) | Automatic program generation device, method, and computer program | |
CN110244942B (zh) | 一种页面生成方法、装置及系统 | |
CN111427561A (zh) | 业务代码的生成方法、装置、计算机设备和存储介质 | |
JPWO2013073504A1 (ja) | プログラム解析・検証サービス提供システム、その制御方法、制御プログラム、コンピュータを機能させるための制御プログラム、プログラム解析・検証装置、プログラム解析・検証ツール管理装置 | |
CN111104106A (zh) | 集成业务流程与通讯报文的可视化开发方法、系统及介质 | |
CN111068328A (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
CN109101410B (zh) | 一种风险驱动测试方法和装置以及计算机可读存储介质 | |
US20150261505A1 (en) | Method and system for generating stateflow models from software requirements | |
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
CN112947914A (zh) | 一种基于模型的代码生成方法、装置、计算机设备及介质 | |
CN113868120A (zh) | 工业软件调试方法、装置、计算机设备和存储介质 | |
CN115934097A (zh) | 生成可执行语句的方法、装置、存储介质及电子装置 | |
CN114138254B (zh) | 一种代码自动生成方法、介质、设备和系统 | |
CN115048104A (zh) | 基于语法树的代码生成方法及其装置、电子设备 | |
CN113448555A (zh) | 关联分析方法、装置、设备及存储介质 | |
CN113688134B (zh) | 基于多维数据的可视化变量管理方法、系统及设备 | |
CN112256978B (zh) | 一种基于数据模型的数据处理方法、装置、介质 | |
US9405514B1 (en) | Process fragment management | |
CN113672509A (zh) | 自动化测试方法、装置、测试平台及存储介质 | |
CN114356430A (zh) | 一种基于airflow调度系统的DAG依赖配置工具 | |
CN112949061A (zh) | 基于可复用算子的村镇发展模型构建方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |