一种基于列存数据库的流式数据处理方法及系统技术方案

技术编号:32657408 阅读:74 留言:0更新日期:2022-03-17 11:05
本发明专利技术提出一种基于列存数据的流式数据处理方法和系统,包括:获取待处理的列存流式数据及其对应的处理任务,基于时间维度将该流式数据切分为批式数据块,根据预设窗口模式为该批式数据块中每条数据分配窗口序号;将该批式数据块切分为多个中间数据块,每个中间数据块仅包含窗口序号相同的数据,对每个中间数据块的数据进行预聚合计算,产生预聚合中间状态;根据预设的流式数据时间处理模式,从内部存储提取窗口对应窗口序号的预聚合中间状态并执行与其对应的处理任务,输出任务执行结果,作为流式数据处理结果。本发明专利技术通过使用列存存储及计算引擎,结合预聚合技术,在保持较低延迟的前提下,提升数据分析场景的吞吐量。提升数据分析场景的吞吐量。提升数据分析场景的吞吐量。

【技术实现步骤摘要】
一种基于列存数据库的流式数据处理方法及系统


[0001]本专利技术属于分布式计算领域,具体应用在分布式流式数据计算方向,并特别涉及一种基于列存数据库的流式数据处理方法及系统。

技术介绍

[0002]流式数据计算引擎正在逐渐兴起,并渗透至各个行业。目前,几乎所有的云服务商都提供流式数据计算引擎,可用于数据聚合、数据关联、数据监控、以及数据分析等场景。当前主流的流式数据计算引擎以Apache Flink、Apache Spark Streaming、及Storm等系统为代表,使用有向无环图表示用户作业,其编程模型较MapReduce更加灵活。当代流式数据计算引擎通过窗口技术实现时间维度的数据聚合,并通过事件消息实现乱序消息处理支持。
[0003]窗口技术简介:
[0004]流式数据计算引擎使用窗口技术对数据进行时间维度聚合操作,常见的窗口包括滚动和滑动窗口。滚动窗口也称为固定时间窗口,以固定的时间间隔聚合数据,比如每天对数据进行汇总处理;滑动窗口也叫跳跃窗口,其定义一个具有固定大小,并以固定时间间隔滑动的窗口,比如可用于每天生成最近本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于列存数据的流式数据处理方法,其特征在于,包括:步骤1、获取待处理的列存流式数据及其对应的处理任务,基于时间维度将该流式数据切分为批式数据块,根据预设窗口模式为该批式数据块中每条数据分配窗口序号;步骤2、将该批式数据块切分为多个中间数据块,每个中间数据块仅包含窗口序号相同的数据,对每个中间数据块的数据进行预聚合计算,产生预聚合中间状态。步骤3、根据预设的流式数据时间处理模式,从内部存储提取窗口对应窗口序号的预聚合中间状态并执行与其对应的处理任务,输出任务执行结果,作为流式数据处理结果。2.如权利要求1所述的基于列存数据的流式数据处理方法,其特征在于,步骤2包括:执行该预聚合处理时对窗口过期数据直接丢弃或窗口过期指定时间后丢弃。3.如权利要求1所述的基于列存数据的流式数据处理方法,其特征在于,步骤3中该流式数据时间处理模式为处理时间或事件时间处理模式;处理时间处理模式下,使用执行处理任务的计算机机器时间设置触发器,以在机器时间到达窗口结束时间时,调用窗口处理命令,选取窗口结束时间所对应窗口的预聚合中间状态并执行与之对应的处理任务;事件时间处理模式下,使用水位线机制设置触发器,以将所有流式数据的最大时间作为水位线,在水位线满足触发条件时选取窗口结束时间所对应窗口的预聚合中间状态并执行与之对应的处理任务。4.如权利要求1所述的基于列存数据的流式数据处理方法,其特征在于,该步骤1包括:当该窗口模式为滚动窗口时,以该批式数据块中数据所在窗口开始时间和窗口大小之和作为窗口结束时间,根据该窗口结束时间为该窗口序号;当该窗口模式为滑动窗口时,根据滑动间隔,计算该批式数据块中数据所在窗口的开始时间,并根据其与窗口滑动间隔之和作为窗口结束时间;以窗口大小和窗口滑动间隔的最大公因数为临时子窗口大小,以该窗口结束时间为临时子窗口开始时间,设置临时窗口,并将该临时窗口向时间减少方向滑动,直到找到包含该批式数据块中数据的最小序号窗口,以其结束时间为窗口序号。5.如权利要求1所述的基于列存数据的流式数据处理方法,其特征在于,该流式数据为传感器实时采集的生理数据、图像数据或日志文本数据;流式数据对应的处理任务为数据库统计任务。6.一种基于列存数...

【专利技术属性】
技术研发人员:程学旗郭嘉丰李冰邱强张志斌
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1