中企动力 > 商学院 > 互联网数据采集平台
  • ?

    大数据信息采集的营销方式

    虞听蓉

    展开

    企业做精准营销

    简单的来说就是利用互联网信息技术手段来实现个性化营销的活动

    需要依靠大数据信息采集系统作支撑

    企业精准营销可以从以下几个方面进行

    1.存在于网络中的信息碎片是独立错乱的

    需要将这些信息打通、链接实现信息共享

    为此要构建大数据交换共享平台

    实现用户的精准识别和数据汇集

    2.利用大数据信息采集工具实现精准营销和用户维系

    比如通过云速数据挖掘

    采集筛选精准需求客户信息

    进行一对一产品信息推广

    提高营销转化率

    3.实现运营精准化的基础是细分用户市场

    要求根据用户的消费习惯、需求等分析研究

    定位目标市场

    才能为精准营销提供依据

    最后要以客户为中心进行市场营销活动

    传统的营销模式以产品为导向

    对市场的反应速度缓慢

    大数据时代的精准营销

    是以客户的需求着手

    进行市场营销活动

  • ?

    让您了解大数据采集最新技术

    Murphy

    展开

    现在谈论大数据已经没有新意了,形形色色的产品、平台和公司都贴满大数据标签,但大数据却并没有掀起预期飓风,甚至还被冠以“伪命题”污名。

    大数据开启了一个大规模生产、分享和应用数据的时代,它给技术和商业带来了巨大的变化。大数据在核心领域的渗透速度有目共睹,然而调查显示,未被使用的信息比例高达99.4%,很大程度都是由于高价值的信息无法获取采集。

    因此在大数据时代背景下,如何从大数据中采集出有用的信息已经是大数据发展的关键因素之一,数据采集才是大数据产业的基石。那么什么是大数据采集技术呢?

    什么是数据采集?

    数据采集(DAQ), 又称数据获取,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。数据分类新一代数据体系中,将传统数据体系中没有考虑过的新数据源进行归纳与分类,可将其分为线上行为数据与内容数据两大类。

    线上行为数据:页面数据、交互数据、表单数据、会话数据等。

    内容数据:应用日志、电子文档、机器数据、语音数据、社交媒体数据等。

    大数据的主要来源:1)商业数据 2)互联网数据 3)传感器数据

    传统数据采集的不足

    传统的数据采集来源单一,且存储、管理和分析数据量也相对较小,大多采用关系型数据库和并行数据仓库即可处理。对依靠并行计算提升数据处理速度方面而言,传统的并行数据库技术追求高度一致性和容错性,根据CAP理论,难以保证其可用性和扩展性。

    大数据采集新的方法

    以博为软件101异构数据采集技术为例:通过获取软件系统的底层数据交换、软件客户端和数据库之间的网络流量包,基于底层IO请求与网络分析等技术,采集目标软件产生的所有数据,将数据转换与重新结构化,输出到新的数据库,供软件系统调用。

    博为软件

    技术特点如下:

    1. 无需原软件厂商配合;

    2. 实时数据采集,数据端到端的响应速度达秒级;

    3. 兼容性强,可采集汇聚Windows平台各种软件系统数据;

    4. 输出结构化数据,作为数据挖掘、大数据分析应用的基础;

    5. 自动建立数据间关联,实施周期短、简单高效;

    6. 支持自动导入历史数据,通过I/O人工智能自动将数据写入目标软件;

    7. 配置简单、实施周期短。

    优点:其优势在于不需要“接口”配合,这就摆脱了对软件厂商的依赖。特别是在在需要集成多个系统数据时,不仅能节省大量时间、人力与资金,实现“一站式”完成;还避免了因个别系统开发团队解体、源代码丢失等原因导致系统数据集成出现烂尾的情况。

    缺点:只采集Windows平台的各软件系统数据

    版权声明:本文部分来自网络,如有侵权,请联系删除!

  • ?

    大数据信息采集引领互联网营销新趋势

    马可可

    展开

    随着网络营销时代的到来

    各种新型传播渠道层出不穷

    消费者的需求亦不断上升

    在这样的行业趋势下

    谁能够有效的找到客户、围绕客户做优质服务

    谁就抢占了先机和商机

    而这种采集分析和洞悉能力就是大数据信息采集的价值所在

    时代在变、营销渠道也在发生着改变

    大数据信息采集已经成为每个企业必须具备的营销利器

    以云速数据挖掘为例

    通过大数据信息采集

    能够有效获得用户长期行为的信息数据

    从而构建用户行为数据模型

    大数据信息采集能够迅速找到精准客户群体

    根据不同的客户需求

    推送相关的精准广告

    另外还可以拓宽媒体投放渠道

    洞察行业营销动态

    从而触达更多的目标消费者

  • ?

    干货丨大数据是如何被采集及应用的

    占采萱

    展开

    尽管“大数据”一词近年来屡遭热捧

    但很多人都还不知道什么是大数据

    更不知道大数据有甚卵用

    这两年,发现“大数据”这个词出现的越来越频繁了

    不仅企业,连国家都在部署大数据战略

    一番百度了之后

    Oh~ emmmmmmmmm~ +_+

    还是没搞懂大数据到底是个什么玩意儿

    直到有一天

    我发现一个秘密

    不管我在网上搜索什么

    页面都会跳出我要搜索的相关产品或关联事物

    然后,我恍然大悟!

    所谓大数据,就是算法!

    它能够“算”出我们“心中所想”

    那么问题来了

    大数据技术是如何采集到我们的信息的呢?

    数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,比如摄像头,麦克风,都是数据采集工具。

    数据采集系统整合了信号、传感器、激励器、信号调理、数据采集设备和应用软件。在数据大爆炸的互联网时代,数据的类型也是复杂多样的,包括结构化数据、半结构化数据、非结构化数据。结构化最常见,就是具有模式的数据。非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、图像和音频/视频信息等等。大数据采集,是大数据分析的入口,所以是相当重要的一个环节。

    我们首先来了解一下数据采集的三大要点:

    一、数据采集的三大要点

    (1)全面性

    数据量足够具有分析价值、数据面足够支撑分析需求。

    比如对于“查看商品详情”这一行为,需要采集用户触发时的环境信息、会话、以及背后的用户id,最后需要统计这一行为在某一时段触发的人数、次数、人均次数、活跃比等。

    (2)多维性

    数据更重要的是能满足分析需求。灵活、快速自定义数据的多种属性和不同类型,从而满足不同的分析目标。

    比如“查看商品详情”这一行为,通过埋点,我们才能知道用户查看的商品是什么、价格、类型、商品id等多个属性。从而知道用户看过哪些商品、什么类型的商品被查看的多、某一个商品被查看了多少次。而不仅仅是知道用户进入了商品详情页。

    (3)高效性

    高效性包含技术执行的高效性、团队内部成员协同的高效性以及数据分析需求和目标实现的高效性。也就是说采集数据一定要明确采集目的,带着问题搜集信息,使信息采集更高效、更有针对性。此外,还要考虑数据的及时性。

    不同应用领域的大数据其特点、数据量、用户群体均不相同。不同领域根据数据源的物理性质及数据分析的目标采取不同的数据采集方法。

    那么,接下来我们再来了解一下常用的数据采集的方法。

    常用的数据采集方法归结为以下三类:传感器、日志文件、网络爬虫。

    (1)传感器

    传感器通常用于测量物理变量,一般包括声音、温湿度、距离、电流等,将测量值转化为数字信号,传送到数据采集点,让物体有了触觉、味觉和嗅觉等感官,让物体慢慢变得活了起来。

    (2)系统日志采集方法

    日志文件数据一般由数据源系统产生,用于记录数据源的执行的各种操作活动,比如网络监控的流量管理、金融应用的股票记账和 web 服务器记录的用户访问行为。

    很多互联网企业都有自己的海量数据采集工具,多用于系统日志采集,如Hadoop的Chukwa,Cloudera的Flume,Facebook的Scribe等,这些工具均采用分布式架构,能满足每秒数百MB的日志数据采集和传输需求。

    (3)Web 爬虫

    网络爬虫是指为搜索引擎下载并存储网页的程序,它是搜索引擎和 web 缓存的主要的数据采集方式。通过网络爬虫或网站公开API等方式从网站上获取数据信息。该方法可以将非结构化数据从网页中抽取出来,将其存储为统一的本地数据文件,并以结构化的方式存储。它支持图片、音频、视频等文件或附件的采集,附件与正文可以自动关联。

    此外,对于企业生产经营数据上的客户数据,财务数据等保密性要求较高的数据,可以通过与数据技术服务商合作,使用特定系统接口等相关方式采集数据。比如八度云计算的数企BDSaaS,无论是数据采集技术、BI数据分析,还是数据的安全性和保密性,都做的很好。

    数据的采集是挖掘数据价值的第一步,当数据量越来越大时,可提取出来的有用数据必然也就更多。只要善用数据化处理平台,便能够保证数据分析结果的有效性,助力企业实现数据驱动。

  • ?

    线下大数据智能采集投放平台

    田新晴

    展开

    智能硬件结合大数据优势,全方位挖掘用户线下、线上行为,精准定义目标客群特征、消费偏好、地域分布,为零售客户提供选址招商、运营管理、客群洞察、推广营销、实现 营销的“点对点”高效精准的传播,是新一代人工智能思维下的营销新武器。

    店内优化

    客流实时监测

    顾客质量和转化率

    顾客运动轨迹热点动图

    店内商品试用、转化率

    新客招募

    厘米级精准定位新客,信息采集分析

    对接各个广告平台,精准投放

    广告效果评估

    提高活动效果

    展示真实人流,轨迹动图,客观评估活动效果

    场景式营销,广告实时送达

    用户画像

    了解品牌受众,帮助品牌定位

    进店顾客人群画像采集

    人员、物品管理

    优化员工管理系统,监测到岗及工作时间

    贵重物品定位,防盗防损

    优化库存管理

    探针

    集探针,iBeacon,商品触碰探测为一体

    wifi与gprs两种上报信息方式

    搭载gps模块,采集地理位置信息

    出色的定位技术

    手机号与mac地址绑定方案

    平台化运作,提供丰富的上层接口给集成商

    解决方案

    购买地址:https://detail.1688/offer/551150997804.html?spm=b26110380.sw1688.mof001.1.b4WnET

    或阿里巴巴搜索:58数云、潜客宝

  • ?

    QQ数据采集软件-QQ营销必备

    沙尘暴

    展开

    QQ数据采集器-QQ营销必备工具

    导语

    现在是大数据时代,无论做什么营销都需要用到数据。数据是根本,数据能引导你的营销思维。做QQ营销同样需要大量的精准数据,今天小编为大家介绍一款QQ数据采集软件,这款软件既可以采集精准客户QQ,同时也可以采集精准客户QQ群以及QQ群成员。

    软件功能特点

    ⊙支持按关键词采集精准客户qq

    ⊙支持自动检测所采集好友是否为单双向好友

    ⊙支持自动检测所采集qq是否开通临时会话功能

    ⊙支持自动识别qq所在城市、性别。年龄

    ⊙支持按关键词采集精准客户qq群

    ⊙支持自动筛选出群主qq

    ⊙支持自动检测是否可以直接添加qq群

    ⊙支持以文本文档格式导出qq群

    ⊙支持采集qq附近的人(全国定位)

    ⊙支持采集本地好友和群

    ⊙支持采集空间qq

    ⊙支持采集微博听众

    ⊙支持采集企业qq

    ⊙支持论坛qq采集

    软件功能效果展示

    易推客营销软件

  • ?

    福利,数据采集工具和一些云平台推荐

    Dennis

    展开

    目前有很多数据采集云平台,如百度统计,腾讯统计、乐驰云采集等等,还有一些平台也非常不错:

    一. 友盟+

    支持移动端和web端数据采集,个性化场景数据定制采集方案。官网给的一些demo可以参考来设计大数据的分析展现,例如:

    友盟的:

    百度的:

    值得借鉴~

    二. 乐驰云采集

    以高性能分布式采集、存储为核心,建立分工明确的功能模块进行高度协作,融合打码、分词、代理、排重等实用性服务,帮助用户以最低成本、最少人力、最高效率完成大数据应用开发,从而满足当下广大中小企业对“实时、高难、海量”级大数据业务场景的根本需求。

    http://lewell/service.html#tabcon_4

    值得一看

    三. 火车采集器

    火车采集器,一款专业的互联网数据抓取、处理、分析,挖掘软件,可以灵活迅速地抓取网页上散乱分布的数据信息,并通过一系列的分析处理,准确挖掘出所需数据。火车采集器历经十二年的升级更新,积累了大量用户和良好口碑,是目前最受欢迎的网页数据采集软件。

    对于网站采集数据的主流实现方式是通过javascript脚本引入,记录页面动作与变化,搜集数据后作为参数,通过gif图片(gif图片格式请求可以解决跨域问题)请求上报。

    比如一些大型网站,可以看到他们的数据采集方式:如淘宝,百度,京东,聚划算等

    个人设计的web采集数据方案:

    lg.js脚本引入页面中通过gif图片请求到后端服务器服务器记录请求参数到日志文件日志文件实时抓取到消息队列实时计算系统消费队列消息,完成分析整理分析结果入ES,kibana二次开发展示ES历史数据入Hadoop

  • ?

    携程用户数据采集与分析系统

    赫访琴

    展开

    一、携程实时用户数据采集系统设计实践

    随着移动互联网的兴起,特别是近年来,智能手机、pad等移动设备凭借便捷、高效的特点风靡全球,同时各类APP的快速发展进一步降低了移动互联网的接入门槛,越来越多的网民开始从传统PC转移至移动终端上。但传统的基于PC网站和访问日志的用户数据采集系统已经无法满足实时分析用户行为、实时统计流量属性和基于位置服务(LBS)等方面的需求。

    我们针对传统用户数据采集系统在实时性、吞吐量、终端覆盖率等方面的不足,分析了在移动互联网流量剧增的背景下,用户数据采集系统的需求,研究在多种访问终端和多种网络类型的场景下,用户数据实时、高效采集的方法,并在此基础上设计和实现实时、有序和健壮的用户数据采集系统。此系统基于Java NIO网络通信框架(Netty)和分布式消息队列(Kafka)存储框架实现,其具有实时性、高吞吐、通用性好等优点。

    1、技术选型和设计方案:

    一个典型的数据采集分析统计平台,对数据的处理,主要由如下五个步骤组成:

    图1、数据平台处理流程

    其中,数据采集步骤是最核心的问题,数据采集是否丰富、准确和实时,都直接影响整个数据分析平台的应用的效果。本论文关注的步骤主要在数据采集、数据传输和数据建模存储这三部分。

    为满足数据采集服务实时、高效性、高吞吐量和安全性等方面的要求,同时能借鉴互联网大数据行业一些优秀开源的解决方案,所以整个系统都将基于Java技术栈进行设计和实现。整个数据采集分析平台系统架构如下图所示:

    图2(数据采集分析平台系统架构)

    其中整个平台系统主要包括以上五部分:客户端数据采集SDK以Http(s)/Tcp/Udp协议根据不同的网络环境按一定策略将数据发送到Mechanic(UBT-Collector)服务器。服务器对采集的数据进行一系列处理之后将数据异步写入Hermes(Kafka)分布式消息队列系统。为了关联业务服务端用户业务操作埋点、日志,业务服务器需要获取由客户端SDK统一生成的用户标识(C-GUID),然后业务服务器将用户业务操作埋点、日志信息以异步方式写入Hermes(Kafka)队列。最后数据消费分析平台,都从Hermes(Kafka)中消费采集数据,进行数据实时或者离线分析。其中Mechanic(UBT-Collector)系统还包括对采集数据和自身系统的监控,这些监控信息先写入Hbase集群,然后通过Dashboard界面进行实时监控。

    (1)基于NIO的Netty网络框架方案

    要满足前面提到的高吞吐、高并发和多协议支持等方面的要求。我们调研了几种开源异步IO网络服务组件(如Netty、MINI、xSocket),用它们和NginxWeb服务器进行了性能对比,决定采用Netty作为采集服务网络组件。下面对它进行一些概要介绍:Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。

    图3(Netty框架内部组件逻辑结构)

    Netty的优点有:

    a、功能丰富,内置了多种数据编解码功能、支持多种网络协议。

    b、高性能,通过与其它主流NIO网络框架对比,它的综合性能最佳。

    c、可扩展性好,可通过它提供的ChannelHandler组件对网络通信方面进行灵活扩展。

    d、易用性,API使用简单。

    e、经过了许多商业应用的考验,在互联网、网络游戏、大数据、电信软件等众多行业得到成功商用。

    Netty采用了典型的三层网络架构进行设计,逻辑架构图如下:

    图4(Netty三层网络逻辑架构)

    第一层:Reactor通信调度层。该层的主要职责就是监听网络的连接和读写操作,负责将网络层的数据读取到内存缓冲区中,然后触发各种网络事件,例如连接创建、连接激活、读事件、写事件等,将这些事件触发到Pipeline中,再由Pipeline充当的职责链来进行后续的处理。

    第二层:职责链Pipeline层。负责事件在职责链中有序的向前(后)传播,同时负责动态的编排职责链。Pipeline可以选择监听和处理自己关心的事件。

    第三层:业务逻辑处理层,一般可分为两类:a. 纯粹的业务逻辑处理,例如日志、订单处理。b. 应用层协议管理,例如HTTP(S)协议、FTP协议等。

    我们都知道影响网络服务通信性能的主要因素有:网络I/O模型、线程(进程)调度模型和数据序列化方式。

    在网络I/O模型方面,Netty采用基于非阻塞I/O的实现,底层依赖的是JDKNIO框架的Selector。

    在线程调度模型方面,Netty采用Reactor线程模型。常用的Reactor线程模型有三种,分别是:

    a、Reactor单线程模型:Reactor单线程模型,指的是所有的I/O操作都在同一个NIO线程上面完成。对于一些小容量应用场景,可以使用单线程模型。

    b、Reactor多线程模型:Rector多线程模型与单线程模型最大的区别就是有一组NIO线程处理I/O操作。主要用于高并发、大业务量场景。

    c、主从Reactor多线程模型:主从Reactor线程模型的特点是服务端用于接收客户端连接的不再是一个单独的NIO线程,而是一个独立的NIO线程池。利用主从NIO线程模型,可以解决一个服务端监听线程无法有效处理所有客户端连接的性能不足问题。Netty线程模型并非固定不变的,它可以支持三种Reactor线程模型。

    在数据序列化方面,影响序列化性能的主要因素有:

    a、序列化后的码流大小(网络带宽占用)。

    b、序列化和反序列化操作的性能(CPU资源占用)。

    c、并发调用时的性能表现:稳定性、线性增长等。

    Netty默认提供了对GoogleProtobuf二进制序列化框架的支持,但通过扩展Netty的编解码接口,可以实现其它的高性能序列化框架,例如Avro、Thrift的压缩二进制编解码框架。

    通过对Netty网络框架的分析研究以及对比测试(见后面的可行性分析测试报告)可判断,基于Netty的数据采集方案能解决高数据吞吐量和数据实时收集的难点。

    》》点击阅读全文

  • ?

    工业互联网中的数据采集与控制技术

    尤寻菱

    展开

    工业互联网是在传统互联网的基础上建立起来的。这种演化是工业技术发展的必然趋势。传统互联网将人与人通过计算机网络连接在一起,分享各种信息,传递各种需求,获得各种服务,这是人类社会、经济、科技发展的巨大进步。但是,这种连接的能力还是非常有限的。因为如果只有人而没有机器的参与,我们应用互联网的空间不是完整的。只有当全球70多亿人口和600亿台左右的机器都能够连接在一起的时候,互联网的价值才能得到最大程度的彰显,人类社会才能完全从体力和脑力劳动中彻底解放出来。我们今天已经步入了“复杂的工作要用最简单的方法来处理”的时代。这就是工业互联网技术发展的原动力,发展的趋势不可逆转。在传统互联网的基础上,影响这项技术发展速度的一个重要因素是机器侧的数据采集和云控制技术问题。事实上,这就是自动化技术与信息化技术深度融合的问题。这个问题处理好了,工业互联网的发展就会更顺利一些。机器的连接只是手段,能对机器的有效管控才是工业互联网发展的重要目的。

    工业互联网

    目前,数据采集技术主要受到两个方面的制约。一是部分机器没有数据接口,二是存在大量异构的通讯规范。与此同时,我们还要考虑到工业发展的惯性,不能完全采用新旧技术彻底更替的办法来解决这两方面的问题。所以,工业社会必须要有这样的技术,在没有数据接口的机器上能够增加数据接口(包括传感器),在异构通讯规范之间采用全兼容的数据采集技术。通用网关是提供这种全兼容技术的产品。在工业互联网技术体系中,通用网关属于边缘计算的一部分。这是与传统互联网明显不同的地方。每一种通讯协议都对应着通用网关中的一种通讯驱动。一项新的技术是把通讯数据包交给通用网关中边缘计算来处理,以便分解出有效的信息来。这将极大地降低通用网关的通讯处理开发成本,提高通用网关数据采集的灵活性。边缘计算的另一个用途当然是对采集来的数据进行必要的处理,以减轻云平台的计算压力。同时,多个边缘计算构成的雾计算,也是工业互联网的重要组成部分。雾计算的加入,可极大地提升工业互联网的分布计算能力。考虑到互联网通讯的不确定性,还需要在通用网关中增加断网续传的功能,以保持数据的完整性。除此之外,我们还需要关注数据的实时性和同步性问题。这些特性一般能够通过调整通讯的请求周期和标记数据的时间戳来确定。显而易见,通用网关是数据采集的重要设备,它在整个工业互联网中构成了一个庞大的通讯节点系统,对于整个工业互联网的运行有着非常重要的影响。为此,我们需要一种有效的网络工具,用于管理这样的通讯节点系统,对它们的运行状态,采集数据更新,采集周期等状态进行监控,同时也能对相应的软件维护、节点参数、接口配置等进行动态的调整。

    数据采集

    云控制是工业互联网很重要的一项功能。但是,目前工业互联网的关注点主要集中在数据的处理和信息的管理方面。事实上,由于工业互联网中云平台能够综合更多的数据,因此它不仅可以对企业的管理过程提供重要的决策,而且可以对机器的控制过程提供更优的指令。云机器人和能源互联网都属于云控制的典型的应用。人工智能的技术需要强大的计算资源的支持,而这只有在云计算环境中才能得到满足。只有当强大的云控制功能和强大的数据采集功能结合在一起的时候,工业互联网才能具有真正强大的支配机器的能力。一般情况下,工业互联网的云平台是按照PaaS架构进行设计的。云控制可利用这方面的计算资源,进行智能控制、资源调度、优化决策,以及多个生产过程的协同作业等方面的计算处理,从而为机器的先进控制提供最优的设定值。云控制需要解决的关键技术问题是:互联网通讯的不确定性造成的数据通讯延迟补偿,如何让复杂算法的编辑、编译和基于工业互联网的动态调试过程变得更加简单和直观。工业APP提供的可视化能力,也为云控制技术的工程应用提供了有力支撑。另外,云控制需要边缘计算的协同。边缘计算一方面为云控制提供数据通讯的通道,一方面也为云控制过程提供安全保障。随着工业互联网技术的快速发展,云控制将逐步成为工业领域中最重要的一种生产技术。

    控制技术

    工业互联网是生产企业控制与管理深度融合的重要技术设施。数据采集和控制是工业互联网连接机器社会的重要手段。数据采集和云控制技术的研究与应用,将有效消除人们对工业互联网发展的质疑,并产生积极的促进作用。

  • ?

    六大主流大数据采集平台架构分析

    唐如天

    展开

    随着大数据越来越被重视,数据采集的挑战变的尤为突出。今天为大家介绍几款数据采集平台:

    Apache Flume Fluentd Logstash Chukwa Scribe Splunk Forwarder

    大数据平台与数据采集

    任何完整的大数据平台,一般包括以下的几个过程:

    数据采集–>数据存储–>数据处理–>数据展现(可视化,报表和监控)

    其中,数据采集是所有数据系统必不可少的,随着大数据越来越被重视,数据采集的挑战也变的尤为突出。这其中包括:

    我们今天就来看看当前可用的六款数据采集的产品,重点关注它们是如何做到高可靠,高性能和高扩展。

    1、Apache Flume

    Flume 是Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。 Flume使用JRuby来构建,所以依赖Java运行环境。

    Flume最初是由Cloudera的工程师设计用于合并日志数据的系统,后来逐渐发展用于处理流数据事件。

    Flume设计成一个分布式的管道架构,可以看作在数据源和目的地之间有一个Agent的网络,支持数据路由。

    每一个agent都由Source,Channel和Sink组成。

    Source

    Source负责接收输入数据,并将数据写入管道。Flume的Source支持HTTP,JMS,RPC,NetCat,Exec,Spooling Directory。其中Spooling支持监视一个目录或者文件,解析其中新生成的事件。

    Channel

    Channel 存储,缓存从source到Sink的中间数据。可使用不同的配置来做Channel,例如内存,文件,JDBC等。使用内存性能高但不持久,有可能丢数据。使用文件更可靠,但性能不如内存。

    Sink

    Sink负责从管道中读出数据并发给下一个Agent或者最终的目的地。Sink支持的不同目的地种类包括:HDFS,HBASE,Solr,ElasticSearch,File,Logger或者其它的Flume Agent。

    Flume在source和sink端都使用了transaction机制保证在数据传输中没有数据丢失。

    Source上的数据可以复制到不同的通道上。每一个Channel也可以连接不同数量的Sink。这样连接不同配置的Agent就可以组成一个复杂的数据收集网络。通过对agent的配置,可以组成一个路由复杂的数据传输网络。

    配置如上图所示的agent结构,Flume支持设置sink的Failover和Load Balance,这样就可以保证即使有一个agent失效的情况下,整个系统仍能正常收集数据。

    Flume中传输的内容定义为事件(Event),事件由Headers(包含元数据,Meta Data)和Payload组成。

    Flume提供SDK,可以支持用户定制开发:

    Flume客户端负责在事件产生的源头把事件发送给Flume的Agent。客户端通常和产生数据源的应用在同一个进程空间。常见的Flume 客户端有Avro,log4J,syslog和HTTP Post。另外ExecSource支持指定一个本地进程的输出作为Flume的输入。当然很有可能,以上的这些客户端都不能满足需求,用户可以定制的客户端,和已有的FLume的Source进行通信,或者定制实现一种新的Source类型。

    同时,用户可以使用Flume的SDK定制Source和Sink。似乎不支持定制的Channel。

    2、Fluentd

    Fluentd是另一个开源的数据收集框架。Fluentd使用C/Ruby开发,使用JSON文件来统一日志数据。它的可插拔架构,支持各种不同种类和格式的数据源和数据输出。最后它也同时提供了高可靠和很好的扩展性。Treasure Data, Inc 对该产品提供支持和维护。

    Fluentd的部署和Flume非常相似:

    Fluentd的架构设计和Flume如出一辙:

    Fluentd的Input/Buffer/Output非常类似于Flume的Source/Channel/Sink。

    Input

    Input负责接收数据或者主动抓取数据。支持syslog,http,file tail等。

    Buffer

    Buffer负责数据获取的性能和可靠性,也有文件或内存等不同类型的Buffer可以配置。

    Output

    Output负责输出数据到目的地例如文件,AWS S3或者其它的Fluentd。

    Fluentd的配置非常方便,如下图:

    Fluentd的技术栈如下图:

    FLuentd和其插件都是由Ruby开发,MessgaePack提供了JSON的序列化和异步的并行通信RPC机制。

    Cool.io是基于libev的事件驱动框架。

    FLuentd的扩展性非常好,客户可以自己定制(Ruby)Input/Buffer/Output。

    Fluentd从各方面看都很像Flume,区别是使用Ruby开发,Footprint会小一些,但是也带来了跨平台的问题,并不能支持Windows平台。另外采用JSON统一数据/日志格式是它的另一个特点。相对去Flumed,配置也相对简单一些。

    3、Logstash

    Logstash是著名的开源数据栈ELK (ElasticSearch, Logstash, Kibana)中的那个L。

    Logstash用JRuby开发,所有运行时依赖JVM。

    Logstash的部署架构如下图,当然这只是一种部署的选项。

    一个典型的Logstash的配置如下,包括了Input,filter的Output的设置。

    几乎在大部分的情况下ELK作为一个栈是被同时使用的。所有当你的数据系统使用ElasticSearch的情况下,logstash是首选。

    4、Chukwa

    官网:https://chukwa.apache.org/

    Apache Chukwa是apache旗下另一个开源的数据收集平台,它远没有其他几个有名。Chukwa基于Hadoop的HDFS和Map Reduce来构建(显而易见,他用Java来实现),提供扩展性和可靠性。Chukwa同时提供对数据的展示,分析和监视。很奇怪的是它的上一次 github的更新事7年前。可见该项目应该已经不活跃了。

    Chukwa的部署架构如下:

    Chukwa的主要单元有:Agent,Collector,DataSink,ArchiveBuilder,Demux等等,看上去相当复杂。由于该项目已经不活跃,我们就不细看了。

    5、Scribe

    代码托管:https://github/facebookarchive/scribe

    Scribe是Facebook开发的数据(日志)收集系统。已经多年不维护,同样的,就不多说了。

    6、Splunk Forwarder

    以上的所有系统都是开源的。在商业化的大数据平台产品中,Splunk提供完整的数据采金,数据存储,数据分析和处理,以及数据展现的能力。

    Splunk是一个分布式的机器数据平台,主要有三个角色:

    Search Head负责数据的搜索和处理,提供搜索时的信息抽取。

    Indexer负责数据的存储和索引 Forwarder,负责数据的收集,清洗,变形,并发送给Indexer

    Splunk内置了对Syslog,TCP/UDP,Spooling的支持,同时,用户可以通过开发 Input和Modular Input的方式来获取特定的数据。在Splunk提供的软件仓库里有很多成熟的数据采集应用,例如AWS,数据库(DBConnect)等等,可以方便的从云或者是数据库中获取数据进入Splunk的数据平台做分析。

    这里要注意的是,Search Head和Indexer都支持Cluster的配置,也就是高可用,高扩展的,但是Splunk现在还没有针对Farwarder的Cluster的功能。也就是说如果有一台Farwarder的机器出了故障,数据收集也会随之中断,并不能把正在运行的数据采集任务Failover到其它的 Farwarder上。

    总结

    我们简单讨论了几种流行的数据收集平台,它们大都提供高可靠和高扩展的数据收集。大多平台都抽象出了输入,输出和中间的缓冲的架构。利用分布式的网络连接,大多数平台都能实现一定程度的扩展性和高可靠性。

    其中Flume,Fluentd是两个被使用较多的产品。如果你用ElasticSearch,Logstash也许是首选,因为ELK栈提供了很好的集成。Chukwa和Scribe由于项目的不活跃,不推荐使用。

    Splunk作为一个优秀的商业产品,它的数据采集还存在一定的限制,相信Splunk很快会开发出更好的数据收集的解决方案。

互联网数据采集平台

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP