中企动力 > 商学院 > 如何数据采集系统
  • ?

    MES制造执行系统数据采集方式

    王灵雁

    展开

    MES制造执行系统的特点,就是能实时收集生产过程中的各类信息、数据,然后汇集到数据库中,作数据分析及供管理层查询。如何高效的采集车间的各类数据,是决定一个MES制造执行系统软件项目实施成败的重要关键环节。为您简单介绍一下几类常见的数据采集方式。

    数据收集是MES制造执行系统业务进行的根本,也是MES制造执行系统进行统计分析的基础。MES制造执行系统软件应用中根据不同的数据、应用场景、人员能力、设备投入等方面的因素需要采用不同的数据收集方式,选择不同的数据收集设备。根据各类数据的分类,采用不同的数据采集方式。

    1、必须录入的数据

    必须录入的数据指系统必须直接从外部获得的数据。系统可以通过规格基础定义功能以及过程数据基础定义功能完全的自行建立属于企业自己的数据收集项目库。

    例如产品的编码、产品流程、工序名称、工艺条件目标等。

    2、系统自动生成的的数据

    生产过程中的部分由事件触发的数据可以由系统在过程中自动收集,主要包括:工序开始操作的时间、结束时间、设备状态等。这一类的数据,可由时间触发之后,根据原本设定的基础数据,由系统自动收集。

    3、通过条码采集的方式

    通过条码收集制造数据的方式是最为普遍的方式之一。条码收集数据的前提是信息可以以编码的方式表达或与预设的数据通过编码建立对应关系。

    条码方式可收集的数据主要包括:产品批号、物料批号、加工资源编号、运输资源编号、人员编号、异常类别、异常现象、设备状态(维修、保养、故障停机等)、作业开始、作业结束等。

    条码可以提高数据录入的准确性,提高录入速度,且成本较低。因此,建议尽可能的将数据进行分类然后编码处理,转化成条码的方式表达以便于现场的数据采集。

    4、传感器采集数据

    某些行业对温度、压力、湿度等的要求有严格要求的,其相关数据来源可以增加各类传感器。采集模式主要为温度传感器、压力传感器、无线数据采集卡和PC等构成。

    5、RFID数据采集

    在汽车行业中,由于完全依据订单进行生产,并且几乎没有两辆完全一样的订购汽车,因此自动化的物流跟踪是顺利生产的前提条件。对于每道生产工序,必须要对汽车进行明确的识别,以避免诸如错误安装了空调、调漆颜色不对等问题。在装配流水线上应用RFID技术以尽可能大量地生产用户定制的汽车,用户可以从上万种内部和外部选项中选定自己所需要的颜色、引擎型号等,这样汽车装配流水线上就得装配上百种样式的汽车。在装配流水线上配有RFID系统,使用可重复使用的电子标签,该标签上可带有详细的汽车所需的所有信息,在每个工作点都有RFID读写器,这样可以保证汽车在各个流水线位置处能毫不出错的完成装配任务。

    实时、准确的生产数据采集并实现是MES制造执行系统得以成功的重要基础,企业MES制造执行系统软件建设中应该充分考虑其数据采集的特点,在采集过程中,根据完整性、实时性原则、多种采集技术综合应用、人机结合原则、易于集成应用原则,运用多种数据采集方式,并利用计算机、数据网络语通信设备、各种技术标准和实时历史数据库软件的有机组合来实现生产数据的集成应用。

    效率MES解决方案在自动化的基础上,显著提高工厂的智能化水平,降低人为因素的影响,便捷、“傻瓜式”的操作将大大降低人力成本。

    来源:深圳效率科技efficient.hk

  • ?

    “最牛社保职工”发明采集系统 数据采集3分钟搞定

    流星街

    展开

    “最牛社保职工”发明采集系统

    社保卡数据采集,3分钟搞定 投用一年为安顺市民节约160万元

    市民在操作数据采集系统。

    “没想到这么方便,几分钟就能办好!”9月12日下午,安顺市社保局办事大厅内,市民王蕾站在社保卡制卡数据采集机前,刷身份证、输入电话号码、根据提示拍照,简单几个步骤,不到3分钟,社保卡信息已采集完毕。

    从“便民”出发萌生新创意

    这个让市民“少跑路”的信息采集“神器”,正是安顺市社会保险事业局网络管理科科长龙元鑫的新发明。

    据了解,以往参保人申请制作社会保障卡,需自费到指定的商业相馆拍照,再到社保经办机构服务窗口排队进行数据采集,如果相片不规范,还得返回相馆重拍,整个过程至少半天才能完成。

    从事社保工作15年来,看到参保人长时间排队等待,来回折腾于金融部门——社保机构——工作单位之间,2013年,计算机软件专业出身的龙元鑫萌生了一个想法:自己设计一个集信息采集和拍照于一体的系统!让群众办理业务少掏钱、少跑路、少耗时。

    说做就做,于是,龙元鑫开始了一场漫长的创造之旅。

    忍受3年的枯燥坚持研发

    构思、画图、设计控制板,自掏腰包购买相机、升降机、机柜,绘制电路图、制作电路板、编写程序控制硬件……而这些工作,龙元鑫都只能利用业余时间来完成。

    “家里客厅、卧室到处都是我要用的零件。”龙元鑫笑着说,“女儿也总是被我拉过来当模特试验拍照效果,后来一听到爸爸叫拍照就要躲”。并且,长期伏案导致才40岁出头的他犯了颈椎病,也正因为如此,家人免不了有些抱怨。

    时间一天天过去了,作品还总是有需要改进的地方,对于这个过程,龙元鑫用了两个字来总结——枯燥。远离了原来一起打羽毛球的朋友,没时间陪孩子,龙元鑫偶尔也想过放弃,第二天却又再次全身心地投入其中。

    投用一年为市民节约160万

    功夫不负有心人,2016年初,龙元鑫研制的“社保卡制卡数据采集系统”第一代开始投用,参保人只需3分钟就能完成信息录入。

    仅投用的第一年,该系统就采集了制卡人数据8万余条,将全市291.8万户籍人口持卡率提高了2.7个百分点。如按每拍摄一张制卡相片花费20元计算,仅拍照费用一项就为制卡人群节约了160万余元。

    “目前安顺户籍人口尚有183.4万人未制作社保卡,而这类人群大都居住在农村。”龙元鑫说,他接着对系统进行升级改造,2017年,体积缩小一半,重量约50斤,功能更完善的第二代、第三代便携“社保卡制卡数据采集系统”已覆盖全市98个乡镇,还有30多台可以随时带进高校、农村进行参保数据采集。

    初步预算,这一系统可为百姓节省3000多万元,将有效助力扩大社会保障。(实习生甘良莹 记者张光平 来源:贵州都市报)

  • ?

    如何采集招投标类网站数据

    房语蕊

    展开

    网上有很多公布招投标信息的网站,招标公告中的信息是有很大的价值的。比如你想了解一个公司的资质,你想了解一个项目的投资资金,你想知道招投标公司之间的关系,这些都能从招投标信息中分析出来,数据是分析的基础,只有获得大量数据,分析才更准确更有说服力。今天教大家如何采集招投标类网站的数据。

    示例网站:http://tjconstruct/zbxx.aspx?type=sjzb

    一.首先打开ForeSpider数据采集软件,点击“采集频道列表”的“+”符号,创建新的频道。然后在采集地址处把准备采集网站的网址粘贴进去。

    频道配置

    二.频道入口地址配置好以后,点击“模板配置”,在右侧模板一处新建一个链接抽取,两个链接抽取,分别起名为“翻页”和“工程抽取”。这两个链接抽取分别抽取页面内的工程项目和翻页链接。

    添加链接抽取

    三.点击采集预览,发现采集预览中没有我想要的项目工程的链接,但是有翻页的链接,那就需要写脚本来抽取工程链接。翻页链接抽取可以通过可视化的操作完成。以前说过链接抽取的脚本如何写,这里就不多介绍了。

    链接抽取教程:http://toutiao/i6454813216395493902/

    链接抽取脚本

    四.通过预览发现每一个翻页链接地址中都包含“page=”这个词,那我将这个词放在“翻页”的地址过滤中,将过滤规则选择为“包含”。

    翻页地址过滤

    链接抽取配置好,可以点击采集预览看一下效果,如果配置的有问题可以及时改正。

    预览效果

    五.可以看到预览效果没有问题,那继续配置下一层模板。下一层为招标公告页,也就是数据页。先建好表单字段,在表单名称处选择建好的表单。

    选择表单

    六.数据页中有一部分字段使用可视化的操作就能完成,有一部分需要脚本,所以我就把需要写脚本的部分分别写在了字段下。字段处理选择“脚本处理”。

    字段下脚本处理

    八.全部字段配置好以后,可以先点击采集预览,看一下效果,如果效果不好可以改正。

    招投标类网站都是实时更新的,ForeSpider数据采集软件有增量采集的功能,可以采集新增数据,长时间时时监控网站新增数据。

    虽然教程看起来简单,最重要的还是多亲自上手实践。多多实践才能更熟练的使用软件采集自己想要的数据。

  • ?

    浅谈工业生产现场数据采集

    禹半邪

    展开

    工业生产现场数据采集原则有两点:一是目的性,二是经济性;

    目的性是指在做设备的数据采集之前,先要明确所要采集的数据是否具有可观的价值。工业现场其实已经有很多的数据采集系统了,SCADA、HMI什么的也都是应用很广泛了,但是,其中又有多少数据被充分的分析,挖掘其潜在的价值的呢?

    大部分情况是,采集了数据后并不知道怎么去利用。国内大部分的工业现场还处在解决生产过程可见性的阶段,能够先把数据采集上来是当务之急,至少能够实时地了解到现场都发生了什么。在智能制造背景下,要将目光放长远,在做数据采集之前,尽可能地多去思考一下什么样的数据对我们的业务改进帮助最大,这样也许会让我们在数据采集方面的投资回报率更好看一些。

    经济性是指投资的回报效益。对于工业现场的数据采集,很多人第一个想法就是装传感器。不管什么样的项目,我们首先需要考虑的是投资回报率的问题,装传感器的方式可能是投资最大的一种。因此,做设备层的数据采集,一定要结合我们的数采目标,充分利用设备的现有条件(比如,设备已经具备的上位机系统、已经具备的通讯协议等)用最经济高效的方式来做数采技术路线的设计。

    工业数据采集设备分类:有上位机系统的设备(设备自带的监控系统)、基于非TCP/IP通讯协议的设备、基于TCP/IP通讯协议的设备、不具备通讯接口的设备。

    自动化系统设备数据采集系统采集方法主要是通过Web系统、生产线工作站系统、OPC服务器等配置对生产线上的各个设备的生产数据进行监控。同时将有效数据采集仓储在数据库中。这对整个生产系统进行生产线、工序参数、工作流程、设备参数、设备类型、OPC服务、通讯协议的全方位设置、管理。

    如需增加设备,只要在中心管理系统增加相应的设备类型,配置好相关的采集参数即可,可有效节约成本;生产过程中通过缓存交互数据,不直接和数据库交互,极大的提高了数据采集的性能;通过心跳检测程序,实时反馈生产设备的异常,保证生产数据完整性。

    一种自动化生产线设备数据采集方法,可以是如下步骤:

    1.根据自动化生产线上各种设备的不同协议类型,将支持OPC相关协议的设备与OPC连接;将支持TCP开放协议的设备与生产线工作站系统中的网口交换机连接;将支持COM开放协议的设备与生产线工作站系统中的串口交换机连接;

    2.通过Web系统配置生产线的全局属性;

    3.生产线工作站系统启动时从Web系统中同步本生产线所有相关配置,并存入缓存;

    4.生产线工作站初始化时,根据设备在Web系统的协议类型,连接每个设备,并启用OPC监听、TCP监听或COM监听。对于“基于TCP/IP通讯协议”,比较常用的有OPC Classic、Siemens S7、Modbus-TCP等通用协议,也有设备厂商自行定义的私有协议。这些协议的特点是都是基于TCP/IP协议簇,只是应用层协议不同。采用这些协议的设备一般都会有RJ45的接口,也就是以太网口,都可以直接通过以太网接入到车间网络中。对这些设备的数据采集,我们需要做的就是对上述协议的解析。对于OPC等通用协议,已经有很多成熟的SCADA产品可以利用,近些年,也有很多开源框架、商业化的组件可以应用,比如Eclipse neoSCADA,Kepware等等,都能够在完成上述协议的解析的同时,将其转换为一些IT领域常用的接口(RESTful API),方便其他信息系统的对接。

    5、将监听到的每个设备数据写入工作站数据库。

    设备数据分析,可以通过多种查询工具可以快速查询生产实时数据、相关历史数据。给管理人员重要决策提供有效数据基础。可以对数据进行横向比较,可以对历史数据进行分析。通过系统统计分析没太机器的运转率,故障时间累计以及车间设备总体利用率。系统可以提供柱状图、饼图、报表等分析工具,展现现场设备运转统计分析数据。自动统计每天限的产量数据,可以按照不同的班组、时间段等多种条件进行综合查询。

    同时对于设备的故障管理也可以进行相关数据记录,比如不同的设备及其台号,故障类型、时间段等多种条件进行历史查询赛选。这样可以进行历史数据查询,更好的帮助技术人员进行设备故障原因分分析,提高问题解决效率。

  • ?

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

    玛米

    展开

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

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

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

    什么是数据采集?

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

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

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

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

    传统数据采集的不足

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

    大数据采集新的方法

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

    博为软件

    技术特点如下:

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

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

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

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

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

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

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

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

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

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

  • ?

    令人羡慕的程序猿!小哥的数据采集系统一年销售400余万

    水瑶

    展开

    现在更多的人们去尝试使用与购买了无人机,这也代表着无人机的发展越来越先进,愈发的走进人们的生活当中。但现在市场中的无人机公司部队仍旧没有过多的扩张,于是就有更多的人们想要进入到无人机的市场中。胡心怡便是其中一个。但无人机,并没有想象中那么好做。

    胡心怡曾是上海交通大学机械自动化专业的学生,身为浙江人,他总觉得体内流淌着浙商的血液,计划着在年满30岁时创业圆梦。他决定从旧公司离职,做一家为B端客户制造工业级无人机并提供完整解决方案的公司——伯镭智能科技。

    2015年7月,胡心怡找好了办公场地,同团队研发第一款工业无人机。

    就在同月,一家位于上海的央企航天机电联系到了胡心怡,决定来他的办公室看一看。航空机电的需求,是做一套可以搭载热成像镜头的无人四旋翼飞行器,用来完成光伏板巡检等工作。而航空机电最后选择了伯镭科技,并给了他们30余万元的合同。

    在创业初期,资源匮乏的情况下,每一步都需要走得小心谨慎。在2016年3月,伯镭科技成为了大疆授权的行业应用系统方案提供商,在大疆飞行平台上进行二次开发。

    以屋顶光伏电站前期勘测为例,传统人工探测需要至少2天时间,由工人爬上屋顶后测量具体数值。测量后,人员会将数据带回公司,用CAD做出简图后,再完成光伏电站设计。而使用伯镭科技开发的屋顶勘测套装只需要20分钟就可以完成上述全部工作。

    据胡心怡介绍,目前在浙江省已有超过10家B端客户在使用伯镭科技的产品及服务,客单价在数万元不等,而客户使用伯镭的工具勘测一个屋顶的成本价格在100余元/次。

    下一步,胡心怡计划将伯镭科技发展为智能化的大数据企业。他希望通过利用机器学习等技术,在云平台上教会计算机如何识别工程后期巡检过程出现的问题。例如可用无人机完成桥梁巡检,并将桥体出现的裂缝、坑槽、锈蚀等问题通过提取特征后使用机器学习算法将其归类,并自动生成报告送交客户。

    现阶段,伯镭科技在全国范围内已拥有近50家客户。其主要获取客户的手段为通过行业渠道进行推广。2016年,公司共完成400余万元销售额,总计服务客户超50家,仅在浙江省就有超过10家采购单位。

    据了解,该公司已在2016年6月完成天使轮融资,现正开启Pre-A轮融资,计划融资金额为500万元,拟出让10%股份。

    未来,胡心怡计划进行新一轮融资,资金将用于团队建设、产品研发、市场推广等方面。

    本文来自生意我最行,创业家系授权发布,略经编辑修改,版权归作者所有,内容仅代表作者独立观点。

  • ?

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

    姚雪瑶

    展开

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

    随着移动互联网的兴起,特别是近年来,智能手机、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的数据采集方案能解决高数据吞吐量和数据实时收集的难点。

    》》点击阅读全文

  • ?

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

    苻剑通

    展开

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

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

    更不知道大数据有甚卵用

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

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

    一番百度了之后

    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数据分析,还是数据的安全性和保密性,都做的很好。

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

  • ?

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

    本拉登

    展开

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

    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很快会开发出更好的数据收集的解决方案。

  • ?

    前嗅:手把手教你数据采集

    荣无春

    展开

    ForeSpider 前嗅:手把手教你数据采集

    ForeSpider是一款非常好用的数据采集软件,因为属于专业性工具,除了帮助文档外很少有使用教程。所有有很多人在使用的过程中遇到问题难以解决,今天给大家介绍ForeSpider数据采集系统的使用教程,希望能对大家的工作有所帮助。

    教程的示例网站是大众点评,要得到50页内所有医院名称,该医院评论总数,医院总体星级,各项评分,医院评论的用户名,评论内容,评论时间,用户点评星级,获赞数量和回应数量。

    首先我们先新建一个频道,我给它命名为大众点评,然后在频道配置里输入我们想要爬取数据的网址,需要在频道配置处输入想要得到数据的网址,大众点评需要开启cookie,从右面可以开启,网站不同有的不需要,视情况而定。 现在默认模板(1)就是我们要的网站页面,鼠标放在医院标题处如图,从左下角能看到医院的网址链接。

    现在点一下右上角的采集预览,我们能得到整个页面的所有网页链接,下拉滚动条到这个位置就会发现跟上图相同格式的链接,这就是我们需要的所有医院的链接。

    我们用不到的需要过滤一下,可以通过地址过滤和标题过滤方法筛选。点击软件右上角模板抽取配置里面的链接抽取,里面有地址过滤和标题过滤两个选项,点击地址过滤,软件右下角如图:

    过滤规则选择包含,过滤串内输入想要得到的医院链接,后面这串数字我们用“\d”表示,用“\e”表示结束,例如https://dianping/shop/\d\e,这样就能采集网页内所有这种格式的网页链接。

    当我们想要采集的网页下面有翻页的链接,就必须配置翻页。除了在右上角默认模板处抽取我们想要的得到的医院链接外,还要再新建一个链接抽取,抽取页面翻页的地址。

    我们继续从采集预览处得到翻页的链接,过滤规则选择包含,通过观察发现几个链接的相同点,输入到过滤串里就能得到想要的翻页链接了。

    第一层级的模板建好了,下面我们随便点进一个医院主页内,复制链接建立下一层级模板。在默认模板(2)的示例地址内输入医院主页的链接。

    因为我们需要采集该医院所有用户评论,所以我们找到下面的“更多点评”,通过刚刚地址过滤的方法,过滤出更多点评的链接,并建立模板(3),示例地址输入刚刚过滤的得到的“更多点评”的网址。

    注:点击链接抽取,看左下角关联模板处,一定要关联到下一层级的模板,如果是翻页的链接抽取,要关联自身模板,否则会数据采集失败。这点一定要注意。

    这样模板的基本配置就完成了,下一步是建立表单,下图是我们的需求,红色字体我们能从模板二采集到,蓝色字体我们能从模板三采集到,所以我们需要建立两个表单。

    点击表单配置,新建一个表单,添加一个网页主键如图,一定要勾选索引字段,键值唯一,主键字段三个选项,取值类型选择网页主键点击确定。

    然后添加下一个字段如标题“title”

    取值类型选择“选区内全部文本”,变量类型选择“string”,选择合适的字符长度点击确定。依次建立所有字段。

    这是我建立的两个表单的所有字段,表单名称分别为“大众点评1”、“大众点评2”,建立好以后点击保存即可。点开模板配置,每一个模板对应相应的表单,右键模板二“添加数据抽取”,表单名称选择“大众点评1”。

    同样在模板三处再添加另外一个数据抽取表单,添加好后如下图所示:

    单击“title”,然后按住ctrl键同时鼠标左键点击对应标题,内容过多的话按住shift可以调整内容大小,选好后点击保存。

    全部选取完后点击左上角的文件,然后全部保存。

    下一步点击数据,连接数据库,然后再次点击数据,选择数据表,选择刚刚新建两个数据表的字段后创建表,创建好后勾选并确定,就可以进行数据采集了(如果表单有问题需要更改,改好后需要重新创建表单),速度慢可以点击设置里面的线程设置,设置多线程。

    这只是一个简单的教程,软件还有很多强大的功能,祝大家使用愉快!

如何数据采集系统

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP