[发明专利]基于列存数据的流式数据处理方法及系统在审
申请号: | 202111306456.7 | 申请日: | 2021-11-05 |
公开(公告)号: | CN114185884A | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 程学旗;郭嘉丰;李冰;邱强;张志斌 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2453;G06F16/2455;G06F16/2458;G06F16/51;G06F16/53;G06F16/31;G06F16/33;G06F16/901 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数据 数据处理 方法 系统 | ||
本发明提出一种基于列存数据的流式数据处理方法及系统,包括:获取待处理的流式数据及其对应的处理任务,基于时间维度将该流式数据切分为批式数据块,该批式数据块中每条数据均包含各自所属窗口的时间戳;根据该时间戳的时间类型,压缩该时间戳,根据压缩结果为该批式数据块中每条数据分配窗口序号,将该批式数据块切分为多个中间数据块,每个中间数据块仅包含窗口序号相同的数据,根据处理任务对每个中间数据块的数据进行预聚合计算,产生预聚合中间状态;根据预设的流式数据时间处理模式,从内部存储提取相应窗口序号的预聚合中间状态并执行与其对应的处理任务,输出各窗口序号的任务处理结果,作为流式数据处理结果。
技术领域
本发明涉及分布式流式数据计算领域,并特别涉及一种基于列存数据的流式数据处理方法及系统。
背景技术
流式数据计算引擎正在逐渐兴起,并渗透至各个行业。目前,几乎所有的云服务商都提供流式数据计算引擎,可用于数据聚合、数据关联、数据监控、以及数据分析等场景。当前主流的流式数据计算引擎以Apache Flink、Apache Spark Streaming、及Storm等系统为代表,使用有向无环图表示用户作业,其编程模型较MapReduce更加灵活。当代流式数据计算引擎通过窗口技术实现时间维度的数据聚合,并通过事件消息实现乱序消息处理支持。
窗口技术简介。流式数据计算引擎使用窗口技术对数据进行时间维度聚合操作,常见的窗口包括滚动和滑动窗口。滚动时间窗口也称为固定时间窗口,以固定的时间间隔聚合数据,比如每天对数据进行汇总处理;滑动时间窗口也叫跳跃窗口,其定义一个具有固定大小,并以固定时间间隔滑动的窗口,比如可用于每天生成最近一周的统计数据表。当时间窗口大小和滑动间隔相等时,滑动时间窗口退化为滚动时间窗口,当滑动间隔小于时间窗口大小时,滑动窗口出现重叠,此时一条记录可能属于多个不同窗口;窗口操作的本质是数据在时间维度上的聚合操作。
时间语义简介。流式数据计算引擎以时间维度对数据进行处理,通常支持处理时间和事件时间两类时间语义。处理时间是消息进入计算引擎的时间,数据按照进入系统的顺序绑定递增的时间戳,由于处理时间语义下使用机器物理时间,因此窗口按照机器时间触发即可,该模式下数据处理较为简单。事件时间是指数据真实发生的时间,但数据产生后可能由于网络不稳定等原因导致乱序到达服务器,也可能由于网络故障导致无法到达服务器。因此,事件时间处理模式下,系统无法使用机器时间判断窗口的数据是否全部到齐。当前主流的一种做法是使用水位线机制判断数据是否到齐,水位线是系统使用特定算法估算出的一个标志位,用于标记该时刻某窗口数据已全部到齐,通常使用启发式算法得出。但由于数据是未知的,系统无法预测准确的水位线位置,因此水位线之后仍可能有迟到数据到达,这部分数据被单独处理。由于数据可能延迟几小时甚至几天才能到达,而在金融等一些领域又无法接受数据丢弃,因此迟到数据处理场景下如何缓存大量窗口数据是流式数据计算系统的一大挑战。
存储和计算模式简介。流式计算引擎的存储和计算模式分为基于行存和基于列存两类,行存模式是指系统以数据表的行为单位存储数据及进行计算,如图1所示。基于行存的存储模式是一种非常直观的存储模式,其存储模式与人类所习惯的表格存储模式类似。其优点是可以高效的操作同一记录的各个数据属性,并且对事务操作友好。但由于行存存储模式在读取数据时需要按行读取每个记录的全部数据,如果一个查询只需要使用数据记录中的部分属性,则此模式会造成无关的读写开销,当数据记录属性特别多时此开销可能严重影响系统性能。此外,在需要对整个数据集按照某属性进行数据聚合的场景,由于行存模式需要读取数据记录全部的数据,对内存不友好,造成性能较差。主流的流式数据计算引擎如Apache Flink、Apache Spark Streaming等,使用行存存储模式,该模式在数据清洗、过滤、转换等场景下给系统带来较低的延迟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111306456.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种油茶密植乔化造林方法
- 下一篇:超声波自动扫描系统及其扫描方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置