System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理领域,特别涉及一种数据流处理方法、装置、设备及存储介质。
技术介绍
1、apache flink是由apache软件基金会开发的开源流处理框架,其核心是用java和scala编写的分布式流数据流引擎。flink以数据并行和流水线方式执行任意流数据程序,运行时系统可以执行批处理和流处理程序,并且flink是一个长久的实时运行的流任务,数据一般要经过三个步骤:source、transform、sink。如果要创建一个统计模型,一般要经过以下几种算子,读取kafka>数据转换>创建key>创建keyby算子>数据统计>数据输出适配>数据输出。此时如果需要做规则模型、关联模型、统计模型等多个功能联系在一起,那么算子将会很多,用户拖拽算子需要拖拽十几个甚至二十多个,那么对客户来说这是极其繁琐和复杂的。
2、目前可以实现多个子算子供客户选择,比如字节转json算子,json转实体类算子,数据过滤算子,数据类型转换算子,数据去重算子、统计算子,自定义函数等,以此将各个功能特别细分,交给客户自由选择,但是这种情况下用户需要精细化操作每一个步骤,然后合理的组合在一起,比较的耗时,而且需要对底层技术有一定的了解才可以。另一种方案可以使用sql化编程,每个节点都是一个sql(structured query language,结构化查询语言),然后每个节点都是生成了一个临时的表,然后下个算子是对这个表进行再次的操作,但是这种方案只能使用sql操作,而且flink上面的sql操作是绑
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种数据流处理方法、装置、设备及存储介质,通过采用算子组加拓扑图的方式定义流结构,利用算子组将多个操作封装在一起作为独立单元,将数据复杂的处理屏蔽起来,可以在界面上清晰地展示业务操作,并且使用算子组规划业务的流计算拓扑图,简单明了。其具体方案如下:
2、第一方面,本申请提供了一种数据流处理方法,包括:
3、确定基于流处理框架执行流数据处理任务时的任务处理节点,并确定所述任务处理节点对应的任务处理操作;
4、根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,并根据所述预设算子组构建规则基于同一目标数据输出格式配置所述算子组;
5、获取用户的待处理任务的业务需求,并根据所述业务需求确定所述待处理任务对应的所述算子组,以及根据所述待处理任务对应的所述算子组构建对应的流计算拓扑图,以便利用所述流计算拓扑图执行所述待处理任务。
6、可选的,所述构建所述任务处理节点对应的算子组,包括:
7、基于yaml数据格式将所述任务处理节点对应的所述任务处理操作的算子构建对应的kafka系统中的所述算子组。
8、可选的,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
9、确定用于获取数据的若干数据源,并分别构建所述数据源对应的数据读取操作;
10、分别确定所述数据源对应的数据处理操作,并构建数据转换操作将经过所述数据处理操作得到的处理后数据转换为所述目标数据输出格式;所述数据处理操作包括空数据过滤和表数据转换;
11、根据所述数据读取操作、所述数据处理操作和所述数据转换操作构建每个所述数据源对应的算子,并将每个所述数据源对应的算子进行组合得到数据源算子组。
12、可选的,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
13、获取预设数据字典,根据所述预设数据字典确定数据过滤规则,并根据所述数据过滤规则构建对应的字典过滤算子;
14、根据预设数据格式构建数据过滤表达式,并根据所述数据过滤表达式构建数据过滤算子;
15、根据预设数据计算规则构建数据计算算子,并根据所述数据转换操作构建对应的转换输出算子,以根据所述字典过滤算子、所述数据过滤算子、所述数据计算算子和所述转换输出算子构建规则模型算子组。
16、可选的,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
17、根据所述预设数据格式确定对应的数据统计操作,并基于所述数据统计操作和所述数据过滤表达式构建统计过滤算子;
18、根据预设数据分组规则确定分组关键词,以根据所述分组关键词构建关键词产生算子;
19、根据所述预设数据计算规则确定数据统计的第一时间窗口,并根据所述第一时间窗口构建时间窗口计算算子;
20、根据所述字典过滤算子、所述统计过滤算子、所述关键词产生算子、所述时间窗口计算算子和所述转换输出算子构建统计模型算子组。
21、可选的,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
22、构建用于连接当前模型的上游模型节点的虚拟节点,并基于所述虚拟节点构建数据连结点算子;
23、基于预设数据标签构建对应的数据打标算子;
24、构建用于将若干数据进行链接的数据链接算子;
25、根据所述预设数据计算规则确定数据链接操作的第二时间窗口,并根据所述第二时间窗口构建关联计算算子;
26、基于所述数据连结点算子、所述数据打标算子、所述数据链接算子、所述关键词产生算子、所述关联计算算子和所述转换输出算子构建关联模型算子组。
27、可选的,所述根据所述待处理任务对应的所述算子组构建对应的流计算拓扑图,包括:
28、确定单个第一数据源,并将基于所述待处理任务对应的所述数据源算子组从所述第一数据源读取的数据输入至相应的所述规则模型算子组,以及将所述规则模型算子组输出的数据通过相应的所述统计模型算子组进行统计得到第一数据;
29、确定多个第二数据源,并利用所述待处理任务对应的所述关联模型算子组对所述多个第二数据源的数据进行关联,以及将进行关联后的第二数据和所述第一数据通过相应的所述规则模型算子组进行处理后输出对应的目标数据。
30、第二方面,本申请提供了一种数据流处理装置,包括:
31、操作确定模块,用于确定基于流处理框架执行流数据处理任务时的任务处理节点,并确定所述任务处理节点对应的任务处理操作;
32、算子组构建模块,用于根据预设本文档来自技高网...
【技术保护点】
1.一种数据流处理方法,其特征在于,包括:
2.根据权利要求1所述的数据流处理方法,其特征在于,所述构建所述任务处理节点对应的算子组,包括:
3.根据权利要求1或2所述的数据流处理方法,其特征在于,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
4.根据权利要求3所述的数据流处理方法,其特征在于,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
5.根据权利要求4所述的数据流处理方法,其特征在于,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
6.根据权利要求5所述的数据流处理方法,其特征在于,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
7.根据权利要求6所述的数据流处理方法,其特征在于,所述根据所述待处理任
8.一种数据流处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的数据流处理方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据流处理方法。
...【技术特征摘要】
1.一种数据流处理方法,其特征在于,包括:
2.根据权利要求1所述的数据流处理方法,其特征在于,所述构建所述任务处理节点对应的算子组,包括:
3.根据权利要求1或2所述的数据流处理方法,其特征在于,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
4.根据权利要求3所述的数据流处理方法,其特征在于,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
5.根据权利要求4所述的数据流处理方法,其特征在于,所述根据预设算子组构建规则将所述任务处理节点对应的若干所述任务处理操作进行封装,以构建所述任务处理节点对应的算子组,包括:
【专利技术属性】
技术研发人员:梁川川,汤乐奇,
申请(专利权)人:杭州安恒信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。