[发明专利]基于流批一体的大数据批量计算的优化计算方法及装置有效
申请号: | 202211012966.8 | 申请日: | 2022-08-23 |
公开(公告)号: | CN115080156B | 公开(公告)日: | 2022-11-11 |
发明(设计)人: | 李雪峰;杨敏;孙开翠;刘广东 | 申请(专利权)人: | 卓望数码技术(深圳)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/50 |
代理公司: | 深圳市恒和大知识产权代理有限公司 44479 | 代理人: | 林大超 |
地址: | 518000 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 一体 数据 批量 计算 优化 计算方法 装置 | ||
本发明公开了一种基于流批一体的大数据批量计算的优化计算方法、装置、计算机设备及存储介质,其方法实现包括:根据业务诉求确定字段组合;将数据流按照所述字段组合进行分组,以形成多组不同的数据流;将所述多组不同的数据流分别KeyedProcessFunction中按照呈阶梯递减的时间窗口进行计算,以处理数据逻辑;当计算完成时,输出符合所述业务诉求的数据子集。本申请实施例中,通过时间阶梯缩减和多次数据变化试探的方式优化批量计算的集群资源和计算时间,可以一次性完成数据的计算,并输出符合业务诉求的数据子集,无需进行多次迭代计算,可以有效节省大量的计算资源,并使得计算时间呈阶梯式递减,有效减少了计算时间。
技术领域
本发明涉及大数据批量计算技术领域,尤其涉及一种基于流批一体的大数据批量计算的优化计算方法、装置、计算机设备及存储介质。
背景技术
flink是一个计算框架和分布式处理引擎,支持实时流式无界的大数据计算,同时也支持有界的批量大数据计算。
目前,标准的flink的基于流式计算的批量数据计算过程具体为将数据流进行分区,输入到窗口流WindowStream中,按照某个时间窗口吐出数据,在时间窗口中处理数据逻辑。由于数据流不能保证输入的时间有序性,导致在一个窗口期无法完整处理完备的数据子集,例如,当同组的数据流的某个时间范围区间的数据在window1窗口期已经到期,此时会将这个时间范围区间的数据吐出,如果同组数据流在window2窗口期到期时,触发时间窗口处理数据逻辑,导致属于同一组的数据流有多个处理后的数据子集。
如果只需要一个完备的符合distinct的唯一约束的数据子集,则需要迭代多次上述的计算过程,导致计算资源消耗大,计算时间长,并且迭代次数存在不确定性。
发明内容
基于此,有必要针对上述技术问题,提供一种基于流批一体的大数据批量计算的优化计算方法、装置、计算机设备以及存储介质,以解决现有技术中计算资源消耗大,计算时间长的问题。
第一方面,提供了一种基于流批一体的大数据批量计算的优化计算方法,包括:
根据业务诉求确定字段组合;
将数据流按照所述字段组合进行分组,以形成多组不同的数据流;
将所述多组不同的数据流分别在KeyedProcessFunction中按照呈阶梯递减的时间窗口进行计算,以处理数据逻辑;
当计算完成时,输出符合所述业务诉求的数据子集。
在一实施例中,所述按照呈阶梯递减的时间窗口进行计算,包括:
在open函数中使用多个flink的state类型的变量,分别记录不同的计算状态;
通过processElement函数对相同字段组合的数据流进行处理,并登记触发所述onTimer函数的第一触发时间,以在到达所述第一触发时间时,触发所述onTimer函数;
在所述第一触发时间内,当所述计算状态符合第一预设触发条件时,登记重新触发所述onTimer函数的第二触发时间,以在到达所述第二触发时间时,重新触发所述onTimer函数;
在所述第二触发时间内,当所述计算状态符合第二预设触发条件时,登记重新触发所述onTimer函数的第三触发时间,以在到达所述第二触发时间时,重新触发所述onTimer函数;
其中,所述第一触发时间大于所述第二触发时间,所述第二触发时间大于所述第三触发时间。
在一实施例中,所述计算状态包括dateState、changeFlag、idl;
所述dateState用于表示需要向下游吐出的符合所述业务诉求的业务数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卓望数码技术(深圳)有限公司,未经卓望数码技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211012966.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置