中企动力 > 商学院 > 数据采集系统原理图
  • ?

    岸电电源的数据采集系统介绍

    含卉

    展开

    岸电电源系统采集包括空调、通风系统、报警系统、输入/输出开关柜、输入/输出变压器、岸电电源、拖缆设施、船舶并网等设备的运行状态、电气参数、启停控制、故障报警等信号,信号类型包括:

    (1)硬线接口:具备启动、停止、复位、紧急停止命令。

    (2)工作状态信号:具备岸电电源就绪、运行、停止、报警、故障(停机)信号。

    (3)模拟量接口:具备同步指令给定信号(4~20mA)、输出电流、电压、频率(4~20mA)接口。同时必须考虑预留至少一定数量的输入输出点位。

    通信网络控制系统还需采用本地控制和远程控制2种方式,其中本地控制采用LCD现场控制盘来实现,远程控制采用以太网、modbus或profibus等通信协议来实现。

    现场LCD控制盘可同时显示多个实际值与给定值,可存储多条控制器数据,每个数值应带有时间标签;可作为WEB SERVER以便PC机远程存取、控制触摸屏人机界面上载与下载文件。主要界面:岸电电源并网同步过程监视、岸电电源运行情况、参数显示、设定、岸电电源故障诊断。主要参数记录和查询包括:输出电流、输出电压、输出频率、网侧输入电流、网侧输入电压、警报事件、故障事件。显示功能:应可对输出电源的频率、三相电压平均值、三相电流平均值、三相线(相)电压、三相线电流、三相不平衡度、有功功率、无功功率、功率因素等参数显示并对有功功率电度、无功功率电度进行统计计量。所有数据应可以在装置屏上显示,且能够支持一定时间内连续供电参数(包括频率、电压、电流等参数)等记录和回放功能,所有这些数据应随时可在控制系统中查询。

    远程操作系统功能,应该具备完成整个系统的操作、监控、控制等功能;同时,操作系统还应配置数据管理功能,包括:事件、故障记录与保存;能够将运行过程中的事件、故障记录并保存到数据库,为维护、维修提供数据支持。

    创统SPS岸电电源系统

  • ?

    制造业生产数据采集的作用与意义

    石问凝

    展开

    制造业生产数据采集的作用与意义导读:制造业是我国国民经济的支柱产业,也是推动工业化的原动力,现代制造业已经并且正在深刻地改变着人们的生产方式、生活方式甚至社会文化。全球经济一体化的趋势愈演愈烈,国际竞争不断加剧,制造业的发展必须不断提高在质量保障、品种多样化、快速设计制造、快速检测响应以及快速重组等方面的要求。于是,“以信息化带动工业化,以工业化促进信息化”被提到了前所未有的高度、深度和广度。

    制造业生产数据采集的作用与意义

    众所周知,制造业的信息化主要包括设计数字化、生产数字化、装备数字化、管理数字化、企业数字化等。信息化的大趋势使世界各国争先恐后的把先进技术和信息化引进到传统工业和制造业。1990 年,美国 AMR(Advanced Manufacturing Research)所提出的制造行业的ERP(Enterprise Resources Planning,企业资源规划)/MES(Manufacturing Execution System,制造执行系统)/PCS(Process Control System,过程控制系统)三层结构,已经成功地在许多行业得到了应用,并被越来越多的企业所认可.

    美国 AMR 研究公司对MES 的定义表述为:MES 是一个常驻工厂层的信息系统,介于企业领导层的计划系统与生产过程的直接工业控制系统之间,它以当前视角向操作人员、管理人员提供生产过程的全部资源(人、设备、材料、工具和客户要求)的数据和信息,其着重点是将信息技术运用于改善制造过程。

    而作为MES中低层的数据采集功能,可以实现对生产现场各种数据的收集、整理工作,是进行物料跟踪、生产计划、产品历史记录维护以及其它生产管理的基础。它可以为企业中其他例如ERP等管理信息系统提供实时数据。另一方面,MES也要从其它管理系统中获取相关的数据以保证MES自身正常运行。因此要满足MES快速、实时的要求,作为各种功能模块运行基础的数据就显得十分重要。一个迅速而可靠的数据采集系统是整个MES能够正常稳定工作的有力保证。

    制造企业面临的数据采集现状

    作为车间底层的数据采集系统,在企业实际生产过程中却存在着许多困难,尤其是在离散企业中由于自动化程度较低,往往存在着以下特点:

    生产过程不可视:主要体现在不能实时了解生产现场中在制品、人员、设备、物料等制造资源和加工任务状态的动态变化。

    生产过程复杂性:由于产品结构和加工工艺的复杂性,造成生产过程中各制造过程的关联性强,生产环境复杂多变(临时插单、材料短缺等) 。

    制造过程信息集成度低:制造过程中的各种信息不能有效进行集成,导致产能不能得到充分利用。

    信息不能有效与上层管理系统进行集成:这种隔断造成生产过程不透明,生产进度、在制品状况、设备利用状况等关键数据不能到达管理层,增加了过程管理和生产决策的复杂性。

    制造过程信息的真实性差:现场数据信息过多依赖人机交互界面通过人工录入,增加了出错的机率。

    制造过程信息的实时性低:作业任务随市场需求的频繁调整变化,不利于制造过程信息的实时采集,再加上制造过程信息交互的速度和效率低下,造成企业对市场变化的响应速度慢。

    企业设计层和管理层到车间层特别是车间设备层的信息采集困难,一方面车间设备层的重要信息难于采集和上传,无法达到对生产过程的监控。另一方面上层系统难以深入到车间和设备层,从而影响管理信息系统的准确运行,使动态信息成为脱离实际的无源之水难于及时下达,从而使整个企业信息化难以产生更大的效益。

    上述特点反映了制造车间迫切需要对制造过程进行信息化的数据采集管理,从而建立一个完整高效的离散制造车间数据采集及其分析处理系统是实现离散车间信息化的基础。数据采集及其分析处理系统的主要功能就是将车间的各种离散数据完整实时的采集到车间数据库中,并进行初步的分析处理,将车间生产的信息实时准确的反馈到车间的管理层,加强管理人员对车间生产现场的监控和管理,并为企业管理人员制定生产计划提供依据。

    华磊迅拓科技专业提供SCADA数据采集监控系统,OrBit-SCADA(Supervisory Control And Data Acquisition)系统是"制造业物联网信息总线"的具体实现,它包含两个层次的含义:一是分步式的实时数据采集系统,即工业通讯与控制的PC上位机系统 ;另一个是生产现场的场景建模和显示系统。

  • ?

    在科技论下远程数据采集与监测系统研究

    Spark

    展开

    为了解决远程数据传输问题,针对地理条件比较复杂的区域如山体滑坡监测区域,研究了通过无线方式传输信息的方法,从而实现远程数据采集与监测功能。以ARM处理器为核心,采用多种模块构建山体滑坡远程数据采集与监测系统。介绍了数据采集功能实现方法和驱动程序的设计思想,设计了加速度传感器与ARM处理器的连接电路以及传感器采集程序。试验验证表明,系统接收多点数据信息正确,能够及时反映数据采集实时值,并提供报警信息。关键词:ARM 远程数据采集监测线程GPRS驱动程序。

    山体滑坡是严重的地质灾害之一,它会毁坏工程设施,造成巨大的经济损失。为了防患于未然,需要及时、快速地监测山体的滑动情况,实现滑坡危害的预报。对山体滑坡进行监测的目的在于对滑坡的稳定性做出判断,并对可能发生的滑动做出预测。通过相对位置的变化判断各个监测点的滑动情况,滑坡监测对减灾防灾意义重大。在滑坡变形监测中,GPRs等先进技术将发挥积极作用,实现对监测区域的远程实时监测,并通过对采集数据的分析和处理,实现对山体滑坡的预警。

    1 远程数据采集与监测系统构成

    远程数据采集与监测系统由j轴加速度传感器、嵌入式处理器ARM、电源模块和GPRs模块等构成。系统监测采集加速度传感器的数据,与键盘设定的上限值进行比较,GPRs模块以短信方式发送监测信息和报警信息。当采集的加速度值超过一定上限时,蜂鸣器发声起到报警功能。远程数据采集与监测系统构成如图1所示。

    2数据采集与驱动程序设计

    2.1 ADC转换功能实现

    ARM处理器S3C2410内置1个8通道的10位模数转换器ADC。采用ADC控制器寄存器系统可以同时外接8位的模拟墩输入.最大转换速率可达500kS/s。S3C2410的引脚AlN[7]和AIN[5]用于连接触摸屏的模拟信号输入。ARM处理器S3C2410有ADc控制寄存器和ADc触摸屏控制器,其通过程序设计配置寄存器控制ADc的T作模式,并编写应用程序读取ADc转换值。ADC触摸屏控制寄存器ADCTSC配置成普通工作模式。对于S3C2410处理器,在使用触摸屏时,引脚AIN[7]和AIN[5]用于测量触摸屏x、Y的电平,引脚AIN[6]、AIN[4:0]用于一般的ADC输入。当有触摸屏驱动加载时,ADC转换器工作在触摸屏模式。因此,ADC转换和触摸屏驱动不能同时启用一“1。使用ADC的步骤如下。

    ①设置舡)C控制寄存器ADCCON,选择输入通道,设置ADc转换器的时钟,A/D时钟=PcUy(PRsCVL+1),其中,Ht5汇VL为ADc转换器预分频器数值。

    ②设置ADC触摸屏寄存器ADCTSC,对于普通ADC,设置ADCTSC位[2]为0。

    ③设置ADC控制寄存器ADCCON,启动A/D转换。如果设置ADCCON中的READ—START位为1,则读取ADC转换数据寄存器ADCDATA0时即启动下一次转换,也可以设置ADC控制寄存器ADCCON中的ENABLE—START位启动A/D转换。

    ④转换结束时,读取ADc转换数据寄存器ADCDATA0值。

    2.2驱动程序设计

    一个硬件的驱动程序,通常指一个驱动模块。对于一个硬件的驱动。Linux下可以有两种方式:一种是直接加载到内核代码中,启动内核时就会驱动此硬件设备;另一种是以模块方式编译生成一个独立文件,当应用程序需要时再加载到内核空间运行。加载驱动是正常运行设备的必要条件,缺少驱动程序,将无法进行正常操作。驱动程序包含有各种定义,如s3c2410管脚的定义、对应的地址映射等。GPRs驱动、A/D驱动和键盘驱动这3个驱动分别关系到通信、采集和参数设定3大方面,这3个驱动也可以理解为操作系统中的设备。设备驱动的角色就是将这些调用映射到作用于实际硬件和设备相关的操作上。驱动可以与内核的其他部分分开建立,需要的时候在运行时“插入”。

    3传感器模块设计

    在滑坡发生过程中,对象的加速度、速度和位移等矢量均发生变化。在山体监测区域安放大量的传感器,以测量山体位移和加速度值。本文采用加速度传感器MMA7260QT测量各个轴的加速度值,以便及时检测灾害。如果物体沿着某一个方向运动,或者受到重力作用,传感器输出值就会根据其运动方向和设定的传感器灵敏度而改变。系统采用ARM处理器的A/D转换器读取此输出信号。三轴加速度传感器测量时,量程可有以下4种形式:①在1.5g量程下,信号灵敏度为800mV/g;②在2g量程下,信号灵敏度为600mv/g;⑧在4g量程下,信号灵敏度为300mV/g;

    ④在6g量程下,信号灵敏度为200mV/g。加速度传感器与ARM处理器的硬件连接图如图2所示。

    图2加速度传感器与ARM处理器的连接

    g-select,引脚和gselec:引脚用来选择传感器的灵敏度,有4个灵敏度可供选择。g—select。引脚和g—selec:引脚在芯片的内部被下拉为低电平。图2中g—selectl引脚和g—selec:引脚悬空,芯片的工作灵敏度为800mV/g。当传感器工作在休眠模式时,SleepMode引脚可不接,将其悬空即可。x。。、Y。。和z。。分别为x轴、y轴、z轴方向的输出电压。当采集的加速度值超过一定上限时,蜂鸣器发声,同时通过手机发出报警信息,实现报警功能。加速度传感器采集程序如下所示。

    ①打开ADC设备文件

    fd=open(PATH,0一RDWR);

    if(fd<O)

    {pnd(”Failed

    to open

    ad-ddver/n”);

    exit(1);}

    ②设置A/D分频比和通道号

    adc-infor.pmscale=49;

    adc—infbr.channel=i;

    write(fd,(void)&adc-infor。sizeof(adc-iIr))==

    sizeof(stuct ADC—DEV);

    在此定义了一个结构体。该结构体包含的元素分别为A/D转换的通道号和分频比。其通过write函数写入设备文件。结构体如下所示。

    static stuct ADc—DEV

    {int channel;

    int prescale;

    }adc-infor;

    ③读取转换数据:read(fd,&data,size of (data))==

    Size of(data).read函数的参数分别为设备文件的标志符、数据被读入的地址和读取数据的长度。

    ④数据换算:d=((float)data*3.3)/1024.0. read读取的是lO位二进制数据,必须将其转换为对应的电压值。电压最大值为3.3V

    4 线程设计与GPl塔模块功能

    本文采用SIMCOM公司SIM300 GPRS模块,通过发送AT指令完成信息的传送。初始化GPRS模块后,需要设定发送短信的模式。GPRS模块功能函数需要两个入口参数,一个是发送短信的号码,另一个是短信的内容,实现将指定内容发送到指定号码上的功能。

    4.1通道监测线程设计

    通道监测线程分别将3个通道的数值动态更新于result全局数组中。开辟的3个监视线程可以分别动态监测,如通道0对result[0]中的数据进行动态监测。同时,利用WHILE循环实现循环监测,它的退出条件也就是系统的退出条件,保证了监测线程的全局性。同时,在这个循环中对通道的3种状态进行逐一分析。通道的3种状态分别为通道测量值超过预定的上限值、通道量值超过预定的下限值和通道测量值为正常值。如果超出报警限值,应发送提示信息。

    4.2采集数据发送线程设计

    开启一个线程,循环判断系统结束标志位和暂停标志位是否全部为l,如果是,则退出线程;如果不是,则按系统给定的时间发送当前3个通道的数据。采集数据发送线程流程图如图3所示。

    4.3键盘监测线程设计

    在监测系统现场,往往根据其不同条件,利用键盘进行参数修改。设计了更改A/D上、下限值和监测手机电话号码的功能。以“*”号键作为进入系统的中断键.为键盘开启一个实时监测甬数。当按下“*”号键时,A/D采集暂停,并进行更改系统相关参数的设定;待设定完毕后,恢复A/D的采集。

    5主函数的设计与分析

    ARM拥有更快的处理速度和更大的内存空间支持操作系统的移植,同时也引入了文件系统的概念,以支持进程、线程的调用。主函数流程图如图4所示。

    图4主函数流程图

    在主函数中,需要初始化GPRS驱动、A/D驱动和键盘驱动,将数据采集功能放入主函数中,利用循环实现实时监测。循环的退出条件也就是系统的退出条件。在“nux操作系统中,程序结束前必须回收所建立的线程,否则线程会一直占用系统资源,系统最终会因为各种死锁或内存溢出而崩溃。循环监测中的while循环实现参数修改时暂停数据采集的功能,以避免不必要的线程阻塞或死锁。

    6结束语

    通过无线方式传输信息,能够解决布设有线监测系统的缺陷,适用于偏远山区滑坡灾害监测。在山体的不同位置放置相应的传感器,利用无线传输技术,将采集到的多点数据和报警信息通过手机方式发送给控制中心,实现对环境和参数的远程监测。本文将嵌入式系统应用于滑坡灾害监测系统,基于ARM处理器、加速度传感器和CPRs模块设计了山体滑坡远程监测系统,实现了远程数据采集、监测与无线传输,对探索预防山体滑坡将起到积极作用。

  • ?

    APP数据采集是怎么实现的

    俞晓啸

    展开

    最近半年,我们八爪鱼陆续接到好几个APP数据采集的项目需求,我在群里面,偶尔也看到有些用户在问,有没有APP数据采集的工具。鉴于我们做过的几个APP数据采集项目的经验,我可以告诉大家,现在APP数据采集,市面上还没有通用的工具。我们八爪鱼内部是有一套工具,但由于使用的难度较高,需要编写脚本,所以不对普通用户公开,我们仅接受项目定制。

    虽然不对外公开,但并不妨碍我们将技术分享出来,APP数据采集,一般走以下两种方式:

    1.两种思路

    1. 抓包

    2. HOOK

    2.抓包

    有代码经验或APP开发的同学都很容易理解,其实很多APP,走的都是webservice通讯协议的方式,并且由于是公开数据,而且大部分是无加密的。所以只要对网络端口进行监测,对APP进行模拟操作,即可知道APP里面的数据是如何获取的。

    我们只需要写代码模拟请求,无论POST还是GET,即可得到该请求所返回的信息。再通过对返回的信息结构化解析,即可得到我们想要的数据。

    public static void main(String[] args) {

    Spider.create(new GithubRepoPageProcessor())

    //从https://github/****开始抓

    .addUrl("https://github/****")

    //设置Scheduler,使用Redis来管理URL队列

    .setScheduler(new RedisScheduler("localhost"))

    //设置Pipeline,将结果以json方式保存到文件

    .addPipeline(new JsonFilePipeline("D:\\data\\webmagic"))

    //开启5个线程同时执行

    .thread(5)

    //启动爬虫

    .run();

    }

    以模拟采集“meizu”应用市场为例

    应用市场产品

    抓包返回参数

    整个抓包过程

    3.HOOK技术

    HOOK技术是一种走操作系统内核的技术,由于安卓系统是开源的,所以可以借助一些框架修改内核,从而实现你要的功能。HOOK的形式,我们走的是Xposed框架。Xposed是一款可以在不修改任何其他开发者开发的应用(包括系统服务)的情况下,改变程序运行的一个开源框架服务。基于它可以制作出许多功能强大的模块,以此来达到应用程序按照你的意愿运行的目的。

    如果把安卓手机看做一座城堡,那Xposed可以让你拥有一个上帝视角,城里的运作细节尽收你眼底,还能让你插一手改变城堡的运作规律。

    什么意思呢?简单的说就是你可以通过他,自动化的控制你的APP。如果将我们的APP开在模拟器上,我们可以通过编码,通过他告诉APP这一步干什么,下一步干什么。你把它理解成类似游戏打怪外挂就可以了。

    而他每走一步,APP与服务端交互的数据,均可获取下来。这种方式广泛用于一些成熟的APP。比如某信采集。

    public class HookActivity implements IXposedHookLoadPackage {

    @Override

    public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {

    final String packageName = lpparam.packageName;

    XposedBridge.log("--------------------: " + packageName);

    try {

    XposedBridge.hookAllMethods

    (Activity.class, "onCreate", new XC_MethodHook() {

    @Override

    protected void afterHookedMethod(MethodHookParam param)

    throws Throwable {

    XposedBridge.log("=== Activity onCreate: " + param.thisObject);

    }

    });

    } catch (Throwable error) {

    XposedBridge.log("xxxxxxxxxxxx: " + error);

    }

    }

    }

    其实我们八爪鱼曾经也想开发一款通用的APP数据采集工具,并且两年前在这块投入研究了小半年,我们做出了一款APP采集脚本编辑工具,可以让一款APP的数据采集项目缩减到3-5天即可开发完成。但我们认为,这个工具需要编写脚本一般用户是比较难上手的,所以仅作为内部项目使用。

    以HOOK某APP为例:

    HOOK指令打开某

    4.这些年走过的坑

    聊完APP采集的思路,我们跟大家分享一些遇过的坑吧,让大家乐一乐

    坑一:签名算法

    以某信的文章列表页及某信息页为例,对其http访问进行抓包,会发现其url的一个核心参数是我们无法知道如何生成的,这就导致,我们不可能直接用该url进行信息爬取;签名算法如果无法破解,HTTP这条路就是死路了。

    坑二:http爬取回来的信息和页面显示不一致

    以某信的某信息页为例,对比直接访问某信页面及http爬取的信息,可明显发现http爬取到的信息较少。造成得两种方式都用,才能既照顾速度又照顾完整性。

    坑三:模拟器中的坑

    APP自动识别你的运行环境进行屏蔽,最厉害的还是某信,连你是用模拟器打开还是真机打开,是什么内核的,全部进行限制。曾经见过牛人,找某手机厂商专门定做真机来配合。

    坑四:帐号的坑

    这个坑就有点大了,要找号、养号,都不是件容易的事情,更惨的是封号,真真让你一夜回到解放前。

  • ?

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

    TACO

    展开

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

    社保卡数据采集,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多万元,将有效助力扩大社会保障。(实习生甘良莹 记者张光平 来源:贵州都市报)

  • ?

    探码Web数据源采集分析系统

    唐初珍

    展开

    摘要:面对互联网海量的信息,如何方便快捷的获取有效的信息对企业已经变得至关重要了。如果采用原始的手工收集方式,费时费力且毫无效率,面对越来越多的信息资源,劳动强度和难度可想而知。

    2017年,探码科技开发一个金融行业投融资交易大数据平台,在项目进行前期,需要对资料的搜集准备和数据源的整理,最后整理出来了很多需要采集的数据源,为了进一步落实数据源的数据量、是否有采集价值、采集价值有多大等一列问题,探码科技研发了一套探码Web数据源采集分析系统。

    Web数据源采集分析要么对网站访客行为的分析,即包括:网站流量报告,也可能包括电子邮件回应率、直接邮件活动资料、销售与客户资料、使用者效能资料如点击热点地图、或者其他定制需求资讯等等,然后进行行为分析,最终形成网络数据报告,以此来了解和优化网站;要么是爬取整个网站数据源资料、栏目、项目等进行数据源的采集,然后进行分析形成信息数据报告,最终用在:产生潜在的客户列表;从竞争对手中收集企业所需信息;抓取新兴业务数据;建立企业的产品目录;整合行业信息,辅助经营决策;确定新客户,增加新订单;挖掘老客户,获取利益……总之,Web页面内容所显示的即可采集进行分析形成可视化为企业所用。

    探码Web数据源采集分析系统主要采用Ruby on Rails + vue.js + Bootstrap实现数据源分析系统的后台和前端展示的搭建。根据各行业的需求可将整体分为多个模块多种形式进行可视化。其主要的步骤:1、从目标Web文档中获得待采集信息;2、判断待采集信息类型是否是所需数据,3、剔除无用的、重复的信息数据,按照所需信息数据进行过滤校验;4、保存所需数据。

    探码Web数据源采集分析系统——采集

    其特征是利用云计算服务器协同工作,能快速采集大量数据,而且也避免了一台计算机硬件资源的瓶颈,另外对数据采集的要求越来越高,传统post采集不能解决的技术问题也逐步被解决,以探码Kapow/Dyson采集器为代表的新一代智能采集器,能模拟人的思维,模拟人的操作,从而彻底解决了ajax等技术难题,因为网页一般都是设计来给人浏览的,所以能模拟人的智能采集器工作起来就非常顺利,不论后台技术是什么,当数据最终显示在人的面前的时候,智能采集器就开始提取。这最终把计算机的能力发挥到了极致,使得计算机可以代替人做所有网页数据采集的工作。同时利用大数据云采集技术,把计算机的计算能力也发挥到了极致。

    探码Web数据源采集分析系统——分析

    主要是通过对既有数据源进行分类整理、栏目划分、字段拆解,形成一个完整的数据源分析报告,以及对采集到的信息数据进行智能分析最终通过数据源的分析,发现数据之间的关系、规律和取值范围,为数据采用任务做准备。

    探码Web数据源采集分析系统的优势

    1、全方位的采集

    只要是Web页面可以看见的内容都可以采集,采集的内容数据包括文字、图片、flash动画、视频等各类内容;

    2、可实现复杂的对象的采集

    可实现正文和回复内容的同时采集,一级页面二级页面内容也可轻松实现合并,采集的内容可以是分散在多个页面内,结果可以是复杂的父子表结构;

    3、采集速度比普通采集快

    探码Web数据源采集分析系统采用前沿先进的技术,可运行多条线程同时抓取采集,采集速度比普通采集快上很多倍;

    4、精准度高,覆盖面广

    只要能在Web页面中可以看到的内容,几乎都可以按照需要的格式、所需信息数据进行采集。

    5、数据可视化,结果输出多样化

    采集的信息数据可采用探码TMDash可视化,呈现给企业,简单易读易懂。

    互联网时代,先进的大数据,人工智能和深度学习等技术实现了互联网平台的数据接口,探码Web数据源采集分析系统能提供专业的数据采集服务,精准采集分析所需信息数据。

    注:Web数据源采集系统的原理类似于搜索引擎的爬虫,是合法的。

  • ?

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

    浑夜梅

    展开

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

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

    》》点击阅读全文

  • ?

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

    王孤丹

    展开

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • ?

    「技术文章」NI数采模块测井数据采集控制系统原理设计

    曲尔白

    展开

    测井数据采集控制系统是用于对各种置于地层中的井下仪器产生的信号进行采集、处理并对井下仪器进行控制的油田基础测控设备。由于专业性极强,以往系统中的数据采集及控制单元通常是以自我设计为主,因此导致系统的开发周期长、成本高、稳定性较差。现在,我们硬件使用National Instruments 公司的数据采集卡,软件使用VC++结合 Measurement Studio 软件包,实现了测井数据采集和控制单元的基于标准工业数据采集产品的设计与开发,大幅度的降低了系统的开发和维护成本,缩短了系统的开发周期,提高了系统的稳定性和可靠性。目前这套系统已制造20余套,成功应用于全国各大油田,取得了可观的经济效益。

    系统原理

    测井数据采集控制系统主要由工控机、NI通用数据采集卡、信号调理模块、绘图仪、综合控制箱、直流电源、交流电源、UPS电源、示波器等构成。系统原理框图如图1。

    主机1主要用于系统的数据采集、处理和控制。绘图仪用于测井曲线实时出图。深度信号调理模块对光电编码器信号及其它井口信号进行调理,并控制深度显示;数字信号调理模块用于配接各类编码(例如,曼彻斯特编码)传输的井下仪器,如双源距C/O能谱测井仪、脉冲中子氧化化测井仪等;脉冲信号调理模块主要配接采用脉冲、周期信号传输的井下仪器以及各种脉冲编码类型的仪器。如:井壁超声成像测井仪等;直流信号调理模块主要配接采用直流量、低频模拟信号传输的井下仪器。直流电源为井下仪器提供直流供电、交流电源为井下仪器提供交流、泵、阀、继电器和释放器的供电。综合控制箱负责完成缆芯切换、供电控制。UPS电源用以保证在停电或外部供电不正常时,维持一段时间的供电,以免测井数据因得不到及时存储而丢失。以上各单元统一安装到两组19英寸标准机柜中。关于信号的流程,从图1中可以看出。我们把进入数据采集控制系统的信号归结为两类:井口信号和井下信号。井口信号来自井口和电缆绞车,它包括电缆张力信号、电缆磁记号和深度系统的光电编码信号。井下信号是指来自井下仪器的信号。来自井下仪器的感应型或脉冲型信号、深度系统的两路光电编码信号、井口的张力信号及电缆磁记号,通过电缆线进入采集箱内的深度调理模块、脉冲信号调理模块或直流信号调理模块,经过调理后,输出到NI数据采集卡。井下仪器编码信号经过综合控制电路的分离及预处理后通过电缆线进入到数字信号调理模块,进行信号调理、解码。解码后的信号同样输出到NI数据采集卡。NI数据采集卡控制数据采集的方式、采样的间隔,同时实现对脉冲信号、直流信号和数字信号的实时采集,采集到的数据以DMA方式传给主机内的数据缓冲区,由系统软件按不同的采样方式控制数据的显示、处理、打印和存盘。

    数据采集方案设计

    测井数据采集控制系统设计的核心是其数据采集方案设计。数据采集方案设计主要由系统深度数据采集和深度中断管理方案设计;多路复合信号实时同步采集方案设计;复杂编码格式数字信号高速传输与采集模式设计;直流信号高精度采集方案设计;系统状态及井下仪器控制方案设计等构成。由于专业性极强,以往系统中的数据采集及控制单元通常是以自我设计为主,因此系统的开发周期长、成本高、而且稳定性较差,并经常导致使用过程中,系统死机、深度测量不准等问题的出现,使系统的维护成本成倍增长,同时由于技术水平的限制,自己开发的系统只能配接一些信号类型简单和传输速率低的井下仪器,不具备多路信号实时同步采集以及高速传输的数字信号采集和处理能力。为了克服现有系统的缺陷,我们在充分调研和试用各大公司的数据采集产品的基础上,选择了NI 公司生产的系列数据采集卡和Measurement Studio 软件开发包,经过对NI各个采集卡的仔细研究和深度开发,我们仅用了3个月的时间就完成了过去需要2年以上的系统核心设计,并在业界首次实现了全部基于标准工业数据采集产品的测井数据采集控制系统设计,同时使系统在采样精度,深度控制,采集速度等主要技术指标上得到了全面的大幅度的提升。

    (1)系统深度数据采集和深度中断管理方案设计:

    系统深度模块是该系统中行业性最强的一个模块,它需要对正交光电编码器信号进行测量,得到系统当前的深度数据,同时它还要根据当前的深度数据生成用于同步各信号采集的深度等距触发信号。例如,在光电编码器顺时针转动时,每隔固定位移间隔(例如5 cm) 产生一个触发信号,这个触发信号通知系统对所有测量信号进行采集,如果系统光电编码器突然反方向转动,则不产生触发信号,系统不做任何采集,从而使系统只按照单方向等位移的状态采集数据。此外,该模块还要具备对正交光电编码

    信号防抖动,防滑动处理的功能。在系统开发过程中,我们发现 NI PCI-660X 系列产品的用户手册上没有实现该工作模式的基本功能。为了实现该功能,我们经过深入研究和开发,通过利用PCI-6602处理光电编码器信号的计数器通道所能生成的某种特殊状态信号,同时结合其它计数器通道的脉冲生成功能,最终生成了我们所需要的连续的深度等距触发信号。在最终的产品设计中我们利用PCI-6602的5个计数器通道通过程序初始化控制实现了这个功能。这是我们首次通过使用标准工业数据采集卡实现深度数据的精确读取和触发信号的定距输出,它为整个系统得成功研制奠定了坚实的基础。

    (2)多路复合信号实时同步采集方案设计:

    测井数据采集系统通常需要根据定距或定时触发信号对多路直流信号、脉冲信号和数字信号进行实时同步测量。这就需要系统保证对多个采集卡间以及同一采集卡内部的多个测量通道间的数据采集的同一性和实时性,否则得到的数据就不能反映井下仪器在地层中真实状况。我们采用具有RTSI(实时同步接口)总线的 NI 6070E 或 NI6024E 用于直流信号的测量,PCI-6602 或 PCI-6601 用于脉冲信号和深度信号的测量,PCI-6534 或 PCI-6533用于数字信号的测量。系统中任何一块卡都可以根据工作模式的不同作为主卡来生成同步触发信号或用作从卡来接收同步触发信号。我们把主卡产生的同步触发信号加载到RTSI 总线上,由RTSI来同步其它从卡上的各个测量通道的数据采集,各块采集卡采集到的数据都以DMA方式传给主机内各自的数据缓冲区。由于整个触发和采集过程都是由系统硬件独立控制完成的,使得各个测量通道的采集延时可以控制在纳秒级。所有采集卡都采用DMA模式传输数据,这与以往系统多采用中断模式相比,极大的提高了系统工作效率。

    通过RTSI总线我们把原来需要通过系统软件轮询依次读取各通道数据的工作方式转变成通过初始化各个采集卡的工作状态,然后由各采集卡(即系统硬件)的RTSI来控制采集的同步。这种工作方式的转变,不但降低了系统负荷,而且使系统测量的同步性和实时性得到了显著提高。这也是我们选用NI 公司数据采集卡来实现系统数据采集的一个重要原因。

    (3)复杂编码格式数字信号高速传输与采集模式设计:

    由于测井仪器种类繁多,一个设计合理的测井系统,必须考虑能与不同编码格式的井下仪器配接使用。由于PCI-6534通常情况下具有40MS/s的采样率,我们在系统设计中,充分开发PCI-6534的Pattern I/O功能,实现了复杂高速传输的数字的采集和解码,同时根据井下仪器的特点,可以把调理模块触发PCI-6534的信号加载到RTSI 总线上,以同步系统深度和其它数据的采集,也可以通过RTSI总线把定距或定时触发信号加载到PCI-6534上,以控制数字信号的采集模式。PCI-6534与系统前端数字信号调理模块配合使用,使系统具备了配接各种传输速率高、编码协议复杂的测井井下仪器的能力。

    (4)直流信号高精度采集方案设计:

    有些测井仪器上传的信号中,既有直流量也有脉冲量还有数字量,而且其直流量的采样频率一般要求达到1MS/ s。采集系统除了要完成井下仪器直流信号的高速采集外还要以定时或定距的模式和较低的采样率采集其它直流信号和脉冲信号。我们在设计中,通过对NI 6070E、PCI-6024E、PCI-6602、PCI-6534这四块卡综合编程控制,采用多通道多次复合同步触发技术,同时充分开发PCI-6534的数字信号模式触

    发控制技术,实现了定时或定距触发条件下以高采样率采集井下仪器的直流信号,同时以低采样率采集井下仪器的脉冲信号、井口的直流信号和数字信号的工作模式。这是整个测井数据采集系统设计的难点。

    (5)系统状态及井下仪器控制方案设计:

    在系统调理模块和井下仪器状态控制设计中,我们选用PCI-6601, 利用它的Digital I/O功能,建立起了一套控制能力强大的32位命令输出体系。选用PCI-6601,主要是为了降低系统的总成本,根据需要也可以选择专门的数字I/O卡,或其它多功能卡。

    系统软件设计

    测井数据采集控制系统软件主要由现场测控及数据采集软件和测后数据分析处理软件构成,在软件开发上,我们选择使用VC++ 与NI 公司Measurement Studio 软件包相结合的开发方式,用VC++开发与操作系统底层相关的程序和曲线打印输出程序,使用Measurement Studio和CVI提供的类库开发与数据实时采集和曲线显示相关的程序。这种开发方案不但可以对操作系统进行灵活的控制而且充分利用了NI 公司提供的开发工具,从而极大的缩短了系统软件的开发时间。我们仅用了三个月的时间就完成了系统软件的设计,开发和测试工作。图2为系统软件中的脉冲中子氧活化测井及解释软件序界面。图3为系统软件总体框图。

    我们使用NI公司的数据采集卡和软件开发工具实现了测井数据采集控制系统的基于标准工业数据采集产品的设计与开发。大幅度地降低了系统的开发和维护成本,缩短了系统的开发周期,提高了系统的稳定性和可靠性。此外,我们可以根据用户的需要对系统数据采集卡进行多种组合或把系统更新为PXI总线系统,实现功能各有侧重的测井数据采集控制系统。目前这套系统已生产20余套,成功应用于大庆油田和全国其它油田,取得了可观的经济效益,具有相当广阔的应用前景。

数据采集系统原理图

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP