CN106776680A - 一种分布式流数据的采集方法 - Google Patents

一种分布式流数据的采集方法 Download PDF

Info

Publication number
CN106776680A
CN106776680A CN201610963368.7A CN201610963368A CN106776680A CN 106776680 A CN106776680 A CN 106776680A CN 201610963368 A CN201610963368 A CN 201610963368A CN 106776680 A CN106776680 A CN 106776680A
Authority
CN
China
Prior art keywords
data
channel
source
events
sink
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610963368.7A
Other languages
English (en)
Inventor
裴旭斌
方舟
沈志豪
吴尚远
王志强
沈潇军
王以良
裘炜浩
戚伟强
龚小刚
张秋霞
王冠男
张金帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Information and Telecommunication Co Ltd
State Grid Zhejiang Electric Power Co Ltd
Beijing China Power Information Technology Co Ltd
Original Assignee
State Grid Information and Telecommunication Co Ltd
State Grid Zhejiang Electric Power Co Ltd
Beijing Guodiantong Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Information and Telecommunication Co Ltd, State Grid Zhejiang Electric Power Co Ltd, Beijing Guodiantong Network Technology Co Ltd filed Critical State Grid Information and Telecommunication Co Ltd
Priority to CN201610963368.7A priority Critical patent/CN106776680A/zh
Publication of CN106776680A publication Critical patent/CN106776680A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式流数据的采集方法,包括:步骤1:Source接收Events或通过特殊机制产生Events,并将Events批量的放到一个或多个Channels;步骤2:Channel接收缓存Source输出Events,而当有Sink消费掉Channel中的数据Channel中的数据直到进入到下一个Channel中或者进入终端才会被删除;步骤3:Sink将events传输到下一跳或最终目的,成功完成后将events从channel移除,Sink会消费Channel中的数据,然后送给外部源或者其他Source。本发明的分布式流数据的采集方法,解决了关系库和大数据平台的数据复制问题,提高实时性和复制性能。

Description

一种分布式流数据的采集方法
技术领域
本发明涉及分布式系统领域,特别是指一种分布式流数据的采集方法。
背景技术
信息技术飞速发展导致数据规模极大增加,而且这些数据来源非常丰富,包括:批量日志数据,实时数据,流式数据;数据类型多样,包括:结构化数据,半结构化数据和非结构化数据,如何采集、存储和分析这些海量数据?
传统的数据采集技术,因为数据来源比较单一,主要是数据库和文件方式进行存储,且数据量较小,大多采用比较单一的工具甚至程序脚本就可以完成数据采集工作。传统的并行数据库技术追求高度一致性和容错性,根据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为本发明分布式流数据的采集方法的一个实施例的技术原理示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明的目的在于提出一种分布式流数据的采集方法。
基于上述目的本发明提供的一种分布式流数据的采集方法,包括:
步骤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所示,为本发明分布式流数据的采集方法的一个实施例的技术原理示意图。Flume的核心是把数据从数据源收集过来,再送到目的地。为了保证输送一定成功,在送到目的地之前,会先缓存数据,待数据真正到达目的地后,删除自己缓存的数据。Flume传输的数据的基本单位是Event,Event由可选的hearders和载有数据的一个byte array构成。载有的数据对flume是不透明的。Headers是容纳了key-value字符串对的无序集合,key在集合内是唯一的。Headers可以在上下文路由中使用扩展。Flume运行的核心部分是Agent,它是一个完整的数据收集工具,含有三个核心组件,分别是Source、Channel、Sink。
1)Source负责接收Events或通过特殊机制产生Events,并将Events批量的放到一个或多个Channels。可以接收外部源发送过来的数据。不同的Source,可以接受不同的数据格式。比如有目录池(Spooling directory)数据源,可以监控指定文件夹中的新文件变化,如果目录中有文件产生,就会立刻读取其内容。主要的Source类型有以下几种:
a)系统集成的Sources:Syslog(系统日志),Netcat;
b)自动生成事件的Sources:Exec,SEQ;
c)用于Agent和Agent之间通信的IPCSources:Avro,Thrift;
每个Source至少和一个Channel关联,以将接收的数据进行缓存。
2)Channel是一个存储池,介于Source和Sink之间,主要用来接收缓存Source输出Events,而当有Sink消费掉Channel中的数据。Channel中的数据直到进入到下一个Channel中或者进入终端才会被删除。当Sink写入失败后,可以自动重启,不会造成数据丢失,因此很可靠。
3)Sink负责将events传输到下一跳或最终目的,成功完成后将events从channel移除,Sink会消费Channel中的数据,然后送给外部源或者其他Source。如数据可以写入到HDFS或者HBase中。Flume允许多个Agent连在一起,形成前后相连的多级跳。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种分布式流数据的采集方法,其特征在于,包括:
步骤1:Source接收Events或通过特殊机制产生Events,并将Events批量的放到一个或多个Channels;
步骤2:Channel接收缓存Source输出Events,而当有Sink消费掉Channel中的数据Channel中的数据直到进入到下一个Channel中或者进入终端才会被删除;
步骤3:Sink将events传输到下一跳或最终目的,成功完成后将events从channel移除,Sink会消费Channel中的数据,然后送给外部源或者其他Source。
2.根据权利要求1所述的分布式流数据的采集方法,其特征在于,所述Source的类型包括:
a)系统集成的Sources:Syslog(系统日志),Netcat;
b)自动生成事件的Sources:Exec,SEQ;
c)用于Agent和Agent之间通信的IPCSources:Avro,Thrift。
3.根据权利要求1所述的分布式流数据的采集方法,其特征在于,所述Source还可以用来接收外部源发送过来的数据,不同的Source,可以接受不同的数据格式。
4.根据权利要求1所述的分布式流数据的采集方法,其特征在于,每个Source至少和一个Channel关联,以将接收的数据进行缓存。
5.根据权利要求1所述的分布式流数据的采集方法,其特征在于,Channel是一个存储池,介于Source和Sink之间,主要用来接收缓存Source输出Events,而当有Sink消费掉Channel中的数据,Channel中的数据直到进入到下一个Channel中或者进入终端才会被删除;当Sink写入失败后,可以自动重启。
6.根据权利要求1所述的分布式流数据的采集方法,其特征在于,Flume允许多个Agent连在一起,形成前后相连的多级跳。
CN201610963368.7A 2016-11-04 2016-11-04 一种分布式流数据的采集方法 Pending CN106776680A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610963368.7A CN106776680A (zh) 2016-11-04 2016-11-04 一种分布式流数据的采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610963368.7A CN106776680A (zh) 2016-11-04 2016-11-04 一种分布式流数据的采集方法

Publications (1)

Publication Number Publication Date
CN106776680A true CN106776680A (zh) 2017-05-31

Family

ID=58972577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610963368.7A Pending CN106776680A (zh) 2016-11-04 2016-11-04 一种分布式流数据的采集方法

Country Status (1)

Country Link
CN (1) CN106776680A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509297A (zh) * 2018-03-21 2018-09-07 四川斐讯信息技术有限公司 一种数据备份方法和系统
CN110989935A (zh) * 2019-12-06 2020-04-10 中盈优创资讯科技有限公司 Flume系统的数据处理、传输方法及装置
CN111930304A (zh) * 2020-07-10 2020-11-13 苏州浪潮智能科技有限公司 一种数据采集速度控制方法、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509297A (zh) * 2018-03-21 2018-09-07 四川斐讯信息技术有限公司 一种数据备份方法和系统
CN110989935A (zh) * 2019-12-06 2020-04-10 中盈优创资讯科技有限公司 Flume系统的数据处理、传输方法及装置
CN111930304A (zh) * 2020-07-10 2020-11-13 苏州浪潮智能科技有限公司 一种数据采集速度控制方法、设备及存储介质
CN111930304B (zh) * 2020-07-10 2022-08-12 苏州浪潮智能科技有限公司 一种数据采集速度控制方法、设备及存储介质

Similar Documents

Publication Publication Date Title
CN103412916B (zh) 一种监控系统的多维度数据存储、检索方法及装置
CN103678491A (zh) 一种基于Hadoop中小文件优化和倒排索引的方法
CN104731569B (zh) 一种数据处理方法及相关设备
CN107045531A (zh) 一种优化hdfs小文件存取的系统及方法
CN106326361A (zh) 一种基于HBase数据库的数据查询方法及装置
CN107317838B (zh) 一种基于流式数据处理架构的天文元数据归档方法及系统
CN104216989A (zh) 一种基于HBase的输电线路综合数据存储方法
CN104915383B (zh) 一种通用数据库访问中自动适配对象的方法
CN107818120A (zh) 基于大数据的数据处理方法和装置
CN104639658A (zh) 一种以文件系统挂载访问对象存储的实现方法
CN103701469B (zh) 一种大规模图数据的压缩存储方法
CN106776680A (zh) 一种分布式流数据的采集方法
CN108595664A (zh) 一种hadoop环境下的农业数据监控方法
CN106330963A (zh) 一种跨网络多节点日志采集的方法
CN105447146A (zh) 一种海量数据的收集与交换系统及方法
CN107967122A (zh) 一种块设备的数据写入方法、装置及介质
CN105159616A (zh) 一种磁盘空间管理方法及装置
CN107798062A (zh) 一种变电站历史数据统一存储方法和系统
CN103324763A (zh) 一种手机端树形数据结构的展现方法
CN104572978A (zh) 基于日志的电力调度自动化系统用户行为统计方法
CN107741947A (zh) 基于hdfs文件系统的随机数密钥的存储与获取方法
CN113094355A (zh) 基于国产化通信协议的模型实例化方法、装置、设备及介质
CN106682061A (zh) 一种分布式起源数据收集与存储系统
WO2014010038A1 (ja) 情報処理システム
CN102937956A (zh) 一种智能变电站中实时报文的存储方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: No. 8 Huanglong Road, Hangzhou, Zhejiang Province

Applicant after: STATE GRID ZHEJIANG ELECTRIC POWER Co.,Ltd.

Applicant after: BEIJING GUODIANTONG NETWORK TECHNOLOGY Co.,Ltd.

Applicant after: STATE GRID INFORMATION & TELECOMMUNICATION GROUP Co.,Ltd.

Address before: No. 8 Huanglong Road, Hangzhou, Zhejiang Province

Applicant before: STATE GRID ZHEJIANG ELECTRIC POWER Co.

Applicant before: BEIJING GUODIANTONG NETWORK TECHNOLOGY Co.,Ltd.

Applicant before: STATE GRID INFORMATION & TELECOMMUNICATION GROUP Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190617

Address after: No. 8 Huanglong Road, Hangzhou, Zhejiang Province

Applicant after: STATE GRID ZHEJIANG ELECTRIC POWER Co.,Ltd.

Applicant after: BEIJING CHINA POWER INFORMATION TECHNOLOGY Co.,Ltd.

Applicant after: STATE GRID INFORMATION & TELECOMMUNICATION GROUP Co.,Ltd.

Address before: No. 8 Huanglong Road, Hangzhou, Zhejiang Province

Applicant before: STATE GRID ZHEJIANG ELECTRIC POWER Co.,Ltd.

Applicant before: BEIJING GUODIANTONG NETWORK TECHNOLOGY Co.,Ltd.

Applicant before: STATE GRID INFORMATION & TELECOMMUNICATION GROUP Co.,Ltd.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170531