[发明专利]一种分布式流数据的采集方法在审
申请号: | 201610963368.7 | 申请日: | 2016-11-04 |
公开(公告)号: | CN106776680A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 裴旭斌;方舟;沈志豪;吴尚远;王志强;沈潇军;王以良;裘炜浩;戚伟强;龚小刚;张秋霞;王冠男;张金帅 | 申请(专利权)人: | 国网浙江省电力公司;北京国电通网络技术有限公司;国网信息通信产业集团有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京风雅颂专利代理有限公司11403 | 代理人: | 李莎,李弘 |
地址: | 310007*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据 采集 方法 | ||
技术领域
本发明涉及分布式系统领域,特别是指一种分布式流数据的采集方法。
背景技术
信息技术飞速发展导致数据规模极大增加,而且这些数据来源非常丰富,包括:批量日志数据,实时数据,流式数据;数据类型多样,包括:结构化数据,半结构化数据和非结构化数据,如何采集、存储和分析这些海量数据?
传统的数据采集技术,因为数据来源比较单一,主要是数据库和文件方式进行存储,且数据量较小,大多采用比较单一的工具甚至程序脚本就可以完成数据采集工作。传统的并行数据库技术追求高度一致性和容错性,根据CAP理论,难以保证其可用性、扩展性和高性能。而分布式大数据的采集数据来源广,包括批量采集,实时数据采集,流式数据采集;数据量巨大,通常都达到TB,PB级别;数据处理的性能和实时性要求高。因此,传统的集中采集和存储数据的处理方法,已经不能适应大数据的需求。目前在数据采集方面,主要存在的问题为:
1)由于在海量数据采集过程中,往往数据源类型多、数据的生成规则复杂多样,海量数据的格式转换太大,传统的数据采集工具很容易失效,即对于同一数据对象,由于采用的编码规范、命名方法的差异等数据差异或者冲突使得在数据采集过程中容易产生不一致;另外一方面则是因为在企业海量数据采集中由于并发任务高、采集数据量大等造成CPU使用率过高或者内存不足,从而导致数据处理变慢以及数据库主机自动重启等问题,无法满足海量数据的采集需求;
2)目前电网公司的业务系统基本采用的都是关系型数据库,要在数据源头改变数据产生和存储的方式很难,无法用大数据平台去替代关系库,只能是把平台所需的数据从关系库同步过来。现有方法都是采用定制周期性ETL等方式,实时性不够,性能也差,因此如何解决关系库和大数据平台的数据复制问题,提高实时性和复制性能,都是非常直接的需求。
发明内容
有鉴于此,本发明的目的在于提出一种分布式流数据的采集方法。
基于上述目的本发明提供的一种分布式流数据的采集方法,包括:
步骤1:Source接收Events或通过特殊机制产生Events,并将Events批量的放到一个或多个Channels;
步骤2:Channel接收缓存Source输出Events,而当有Sink消费掉Channel中的数据Channel中的数据直到进入到下一个Channel中或者进入终端才会被删除;
步骤3:Sink将events传输到下一跳或最终目的,成功完成后将events从channel移除,Sink会消费Channel中的数据,然后送给外部源或者其他Source。
进一步的,所述Source的类型包括:
a)系统集成的Sources:Syslog(系统日志),Netcat;
b)自动生成事件的Sources:Exec,SEQ;
c)用于Agent和Agent之间通信的IPCSources:Avro,Thrift。
进一步的,所述Source还可以用来接收外部源发送过来的数据,不同的Source,可以接受不同的数据格式。
进一步的,每个Source至少和一个Channel关联,以将接收的数据进行缓存。
进一步的,Channel是一个存储池,介于Source和Sink之间,主要用来接收缓存Source输出Events,而当有Sink消费掉Channel中的数据,Channel中的数据直到进入到下一个Channel中或者进入终端才会被删除;当Sink写入失败后,可以自动重启。
进一步的,Flume允许多个Agent连在一起,形成前后相连的多级跳。
从上面所述可以看出,本发明提供的分布式流数据的采集方法,包括:步骤1:Source接收Events或通过特殊机制产生Events,并将Events批量的放到一个或多个Channels;步骤2:Channel接收缓存Source输出Events,而当有Sink消费掉Channel中的数据Channel中的数据直到进入到下一个Channel中或者进入终端才会被删除;步骤3:Sink将events传输到下一跳或最终目的,成功完成后将events从channel移除,Sink会消费Channel中的数据,然后送给外部源或者其他Source。本发明的分布式流数据的采集方法,解决了关系库和大数据平台的数据复制问题,提高实时性和复制性能。
附图说明
图1为本发明分布式流数据的采集方法的一个实施例的技术原理示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网浙江省电力公司;北京国电通网络技术有限公司;国网信息通信产业集团有限公司,未经国网浙江省电力公司;北京国电通网络技术有限公司;国网信息通信产业集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610963368.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置