[发明专利]流式数据的分布式处理方法和装置有效
申请号: | 201610465909.3 | 申请日: | 2016-06-23 |
公开(公告)号: | CN106126643B | 公开(公告)日: | 2018-01-02 |
发明(设计)人: | 徐瑶;王聪;张云聪;张建伟;黄鑫 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司11204 | 代理人: | 王达佐,马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 分布式 处理 方法 装置 | ||
技术领域
本申请涉及计算机技术领域,具体涉及大数据处理技术领域,尤其涉及流式数据的分布式处理方法和装置。
背景技术
随着大数据量计算技术的发展,基于数据处理的应用受到广泛关注。数据源的结构显示出多样化的趋势,数据源产生的数据中不仅有传统的非实时的、静态结构化数据,还有很多实时的、动态产生的非结构化数据流,从这类连续到达的非结构化数据序列中获取携带的重要信息,需要依靠分布式流式数据实时计算技术。
目前,常用的流式数据处理的框架包括Storm框架和Spark框架,分布式实时计算的表示层的高级封装则有对应的Storm原生接口以及弹性分布式数据集(Resilient Distributed Datasets,RDD)。其中Storm原生接口的封装程度较低,接口抽象程度较低,接口使用较为不便,实现时间窗口十分复杂,代码可重用性较差;使用弹性分布式数据集接口则面临强制指定以数据流入时间驱动时间窗口、不支持嵌套、无法复用代码以及批处理和流式计算不能保证接口兼容等问题。
发明内容
本申请的目的在于提出一种改进的流式数据的分布式处理方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种流式数据的分布式处理方法,所述方法包括:将接收到的流式数据封装为第一弹性分布式数据集;按照时间窗口对所述第一弹性分布式数据集执行分组操作,所述分组操作包括:将所述第一弹性分布式数据集中的各个数据分别分入该数据所记载的时间戳所属时间窗口所对应的分组中,形成与各个时间窗口分别对应的、包含有穷个数据的第二弹性分布式数据集;将各个第二弹性分布式数据集封装成包含多个第二弹性分布式数据集的嵌套式数据集;使用预先定义的遍历算子,依次将所述嵌套式数据集中的各个第二弹性分布式数据集传递给定义在有穷数据集上的批处理算子以执行分布式数据处理。
在一些实施例中,所述将各个第二弹性分布式数据集进行封装成包含多个第二弹性分布式数据集的嵌套式数据集,包括:将从各个时间窗口中选择的时间点作为键以及将各个第二弹性分布式数据集作为值,封装成以键值对形式存储各个第二弹性分布式数据集的嵌套式数据集;以及所述依次将所述嵌套式数据集中的各个第二弹性分布式数据集传递给定义在有穷数据集上的批处理算子以执行分布式数据处理,包括:依次将嵌套式数据集中作为值的各个第二弹性分布式数据集,依次传递给定义在有穷数据集上的批处理算子以执行分布式数据处理。
在一些实施例中,所述将从各个时间窗口中选择的时间点作为键以及将各个第二弹性分布式数据集作为值,封装成以键值对存储各个第二弹性分布式数据集的嵌套式数据集,包括:将键值对的键设置分别为各个时间窗口的起始时间点。
在一些实施例中,所述方法还包括:获取用户设置的步长时间,并将相邻时间窗口的时间间隔的值设置为所述步长时间。
在一些实施例中,所述方法还包括:所述方法还包括:将各个时间窗口的时间长度的值设置为所述步长时间。
在一些实施例中,所述方法还包括:获取用户设置的步长数,并将各个时间窗口的时间长度的值设置为所述步长数与所述步长时间的乘积。
第二方面,本申请提供了一种流式数据的分布式处理装置,所述装置包括:第一封装单元,用于将接收到的流式数据封装为第一弹性分布式数据集;分组单元,用于按照时间窗口对所述第一弹性分布式数据集执行分组操作,所述分组操作包括:将所述第一弹性分布式数据集中的各个数据分别分入该数据所记载的时间戳所属时间窗口所对应的分组中,形成与各个时间窗口分别对应的、包含有穷个数据的第二弹性分布式数据集;第二封装单元,用于将各个第二弹性分布式数据集封装成包含多个第二弹性分布式数据集的嵌套式数据集;执行单元,用于使用预先定义的遍历算子,依次将所述嵌套式数据集中的各个第二弹性分布式数据集传递给定义在有穷数据集上的批处理算子以执行分布式数据处理。
在一些实施例中,所述第二封装单元进一步用于:将从各个时间窗口中选择的时间点作为键以及将各个第二弹性分布式数据集作为值,封装成以键值对形式存储各个第二弹性分布式数据集的嵌套式数据集;以及所述执行单元进一步用于:依次将嵌套式数据集中作为值的各个第二弹性分布式数据集,依次传递给定义在有穷数据集上的批处理算子以执行分布式数据处理。
在一些实施例中,所述执行单元进一步用于:将键值对的键设置分别为各个时间窗口的起始时间点。
在一些实施例中,所述装置还包括:窗口间隔设置单元,用于获取用户设置的步长时间,并将相邻时间窗口的时间间隔的值设置为所述步长时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610465909.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置