一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于列存数据的流式数据处理方法及系统与流程

2022-03-16 03:17:51 来源:中国专利 TAG:

技术特征:
1.一种基于列存数据的流式数据处理方法,其特征在于,包括:步骤1、获取待处理的流式数据及其对应的处理任务,基于时间维度将该流式数据切分为批式数据块,该批式数据块中每条数据均包含各自所属窗口的时间戳;步骤2、根据该时间戳的时间类型,压缩该时间戳,根据压缩结果为该批式数据块中每条数据分配窗口序号,将该批式数据块切分为多个中间数据块,每个中间数据块仅包含窗口序号相同的数据,根据处理任务对每个中间数据块的数据进行预聚合计算,产生预聚合中间状态;步骤3、根据预设的流式数据时间处理模式,从内部存储提取相应窗口序号的预聚合中间状态并执行与其对应的处理任务,输出各窗口序号的任务处理结果,作为流式数据处理结果。2.如权利要求1所述的基于列存数据的流式数据处理方法,其特征在于,该步骤2包括:判断该时间戳的时间类型是否为秒,若是,则以t/w作为该压缩结果;否则判断该时间戳的时间类型是否为分,若是,则以t/60/w作为该压缩结果;否则判断该时间戳的时间类型是否为小时,若是,则以t/3600/w作为该压缩结果;否则判断该时间戳的时间类型是否为天,若是,则以(t 28800)/86400/w作为该压缩结果;否则判断该时间戳的时间类型是否为周,若是,则以(d

4)/7/w作为该压缩结果;否则判断该时间戳的时间类型是否为月,若是,则以to_month(d)/w作为该压缩结果;否则判断该时间戳的时间类型是否为季度,若是,则以to_month(d)/3/w作为该压缩结果;否则该时间戳的时间类型是否为年,以to_yead(d)/w作为该压缩结果。3.如权利要求1所述的基于列存数据的流式数据处理方法,其特征在于,该步骤2包括:当该中间数据块的窗口序号大于水位线时,该中间数据块属于未触发的活跃数据,以内存存储该中间数据块,过程包括:步骤21、遍历内存链表,判断窗口序号是否具有对应的链表节点,若是,则执行步骤22,否则在链表尾部依次增加链表节点,每个节点序号比上一个节点序号大一,直到链表序号等于该窗口序号,执行步骤22;步骤22、使用树结构存储具有相同窗口序号的预聚合中间状态,以窗口序号对应的链表节点作为根节点,将预聚合中间状态追加到树的叶子节点;步骤23、定期对该树结构进行合并,每次合并时查找深度最大的叶子节点,并将其与所有兄弟节点及父节点合并;步骤24、重复进行步骤23,直到树结构除根节点外只剩一个节点,根节点表示树的窗口序号,其他节点为预聚合中间状态。4.如权利要求1所述的基于列存数据的流式数据处理方法,其特征在于,该步骤2包括:当该中间数据块的窗口序号小于水位线,但大于该水位线减最大迟到允许间隔时,该中间数据块属于已触发的迟到数据,以磁盘存储该中间数据块,过程包括:步骤25、从磁盘中查找迟到数据对应窗口序号的预聚合中间状态并加载到内存,在磁盘中将对应中间状态数据标记为待删除状态;步骤26、将步骤25获取的预聚合中间状态与迟到数据合并,生成新的预聚合中间状态;
步骤27、删除磁盘中标记为待删除状态的预聚合中间状态删除,将步骤26生成的新的预聚合中间状态追加到磁盘。5.如权利要求1所述的基于列存数据的流式数据处理方法,其特征在于,该流式数据为传感器实时采集的生理数据、图像数据或日志文本数据;流式数据对应的处理任务为数据库统计任务。6.一种基于列存数据的流式数据处理系统,其特征在于,包括:切分模块,用于获取待处理的流式数据及其对应的处理任务,基于时间维度将该流式数据切分为批式数据块,该批式数据块中每条数据均包含各自所属窗口的时间戳;压缩模块,用于根据该时间戳的时间类型,压缩该时间戳,根据压缩结果为该批式数据块中每条数据分配窗口序号,将该批式数据块切分为多个中间数据块,每个中间数据块仅包含窗口序号相同的数据,根据处理任务对每个中间数据块的数据进行预聚合计算,产生预聚合中间状态;输出模块,用于根据预设的流式数据时间处理模式,从内部存储提取相应窗口序号的预聚合中间状态并执行与其对应的处理任务,输出各窗口序号的任务处理结果,作为流式数据处理结果。7.如权利要求6所述的基于列存数据的流式数据处理系统,其特征在于,该压缩模块用于,判断该时间戳的时间类型是否为秒,若是,则以t/w作为该压缩结果;否则判断该时间戳的时间类型是否为分,若是,则以t/60/w作为该压缩结果;否则判断该时间戳的时间类型是否为小时,若是,则以t/3600/w作为该压缩结果;否则判断该时间戳的时间类型是否为天,若是,则以(t 28800)/86400/w作为该压缩结果;否则判断该时间戳的时间类型是否为周,若是,则以(d

4)/7/w作为该压缩结果;否则判断该时间戳的时间类型是否为月,若是,则以to_month(d)/w作为该压缩结果;否则判断该时间戳的时间类型是否为季度,若是,则以to_month(d)/3/w作为该压缩结果;否则该时间戳的时间类型是否为年,以to_yead(d)/w作为该压缩结果。8.如权利要求6所述的基于列存数据的流式数据处理系统,其特征在于,该压缩模块用于当该中间数据块的窗口序号大于水位线时,该中间数据块属于未触发的活跃数据,以内存存储该中间数据块;该压缩模块包括:模块21,用于遍历内存链表,判断窗口序号是否具有对应的链表节点,若是,则执行模块22,否则在链表尾部依次增加链表节点,每个节点序号比上一个节点序号大一,直到链表序号等于该窗口序号,调用模块22;模块22,用于使用树结构存储具有相同窗口序号的预聚合中间状态,以窗口序号对应的链表节点作为根节点,将预聚合中间状态追加到树的叶子节点;模块23,用于定期对该树结构进行合并,每次合并时查找深度最大的叶子节点,并将其与所有兄弟节点及父节点合并;模块24,用于重复调用模块23,直到树结构除根节点外只剩一个节点,根节点表示树的
窗口序号,其他节点为预聚合中间状态。9.如权利要求6所述的基于列存数据的流式数据处理系统,其特征在于,该压缩模块用于当该中间数据块的窗口序号小于水位线,但大于该水位线减最大迟到允许间隔时,该中间数据块属于已触发的迟到数据,以磁盘存储该中间数据块;该压缩模块包括:模块25,用于从磁盘中查找迟到数据对应窗口序号的预聚合中间状态并加载到内存,在磁盘中将对应中间状态数据标记为待删除状态;模块26,用于将模块25获取的预聚合中间状态与迟到数据合并,生成新的预聚合中间状态;模块27,用于删除磁盘中标记为待删除状态的预聚合中间状态删除,将模块26生成的新的预聚合中间状态追加到磁盘。10.如权利要求6所述的基于列存数据的流式数据处理系统,其特征在于,该流式数据为传感器实时采集的生理数据、图像数据或日志文本数据;流式数据对应的处理任务为数据库统计任务。

技术总结
本发明提出一种基于列存数据的流式数据处理方法及系统,包括:获取待处理的流式数据及其对应的处理任务,基于时间维度将该流式数据切分为批式数据块,该批式数据块中每条数据均包含各自所属窗口的时间戳;根据该时间戳的时间类型,压缩该时间戳,根据压缩结果为该批式数据块中每条数据分配窗口序号,将该批式数据块切分为多个中间数据块,每个中间数据块仅包含窗口序号相同的数据,根据处理任务对每个中间数据块的数据进行预聚合计算,产生预聚合中间状态;根据预设的流式数据时间处理模式,从内部存储提取相应窗口序号的预聚合中间状态并执行与其对应的处理任务,输出各窗口序号的任务处理结果,作为流式数据处理结果。作为流式数据处理结果。作为流式数据处理结果。


技术研发人员:程学旗 郭嘉丰 李冰 邱强 张志斌
受保护的技术使用者:中国科学院计算技术研究所
技术研发日:2021.11.05
技术公布日:2022/3/15
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献