基于大数据平台的Internet数据采集平台架构介绍
优采云 发布时间: 2020-08-08 12:34Internet的飞速发展使社会进入了信息技术时代,它具有高度发达和开放的数据. 数据在业务运营,政府决策和社会动态分析中发挥着极其重要的作用. 但是,如何*敏*感*词*,快速地采集数据已成为技术的重点.
Web爬网程序是根据某些规则自动爬网和爬网Internet文本页面的程序或脚本. 大多数文本数据嵌套在网页程序代码中. 数据采集的效率直接决定了数据的有效及时性,而快速采集数据成为当务之急.
基于大数据平台的Internet数据采集可以有效地应用于海量数据采集场景,为*敏*感*词*分布式数据采集提供工具. 它的体系结构主要包括信息源管理,数据采集,数据传输和数据存储,系统监视等部分. 其架构图如下所示:
上图中各部分的功能介绍如下:
源管理系统
主要用于采集任务的管理. 主要包括:
①网站: 用于采集网站的管理
②专栏: 用于精确采集;
③关键字: 用于搜索引擎集合. 如: 百度,搜狗搜索,谷歌搜索等;
④微信官方账号: 用于监控特定的官方账号;
⑤微博博客: 用于监视特定博客的动态;
⑥其他采集源管理. 例如电子期刊,APP客户等.
源系统的主要功能:
①操作维护人员方便添加,删除,修改和检查采集源;
②根据来源状态,常规状态等对网站进行实时监控;
③对于关键字搜索和采集,方便实时添加/删除,开始/关闭采集;
④根据采集的实际情况实时调整采集策略. 例如添加/删除采集器等;
数据采集层
数据采集层主要用于采集队列管理,调度,数据采集等,包括:
1. Redis缓存平台: 主要用于缓存采集任务队列和流程数据(采集状态,列表数量
临时存储数据,例如数据等;
2. 任务调度中心: 主要用于调度采集任务,以确保任务按设定的采集频率被采集
集合. 同时保证任务处理的唯一性(同一任务,同一时间,
只能由一个采集器处理);
3. 采集器: 主要用于任务处理. 主要包括网页下载,数据结构分析,任务监控等;
数据存储层
数据存储层主要用于传输,分析和存储采集到的数据,包括:
1. 数据传输: 采集器通过统一的SpringBoot微服务接口将解析的新闻,博客,官方帐户文章和其他内容推送到Kafka中间件. 同时,检查数据质量. 主要是需要验证发布时间,标题,正文等分析的准确性. 同时,对数据进行某些分析(标记,监视特定来源)等;
2. 大数据平台: 主要包括Hadoop,HBASE,kafka,spark,ES等. 每个采集器采集
集合的数据通过微服务接口被推送到Kafka消息中间件,spark将其消耗掉,并为业务查询创建标题,时间,正文等的ES索引,并存储完整的信息在HBASE中.
辅助监控系统
辅助监控系统主要用于监控各种采集网站和栏目,采集调度服务,推送服务,采集器,大数据平台等,以确保其稳定性和正常运行. 它主要包括以下子系统:
1. 源系统监视: 主要监视网站,专栏,官方帐户,博客作者等的状态,以确保正常访问;
2. 采集监控: 主要用于监控每个采集任务的状态,以方便异常任务的调查和数据泄漏. 同时,根据记录的状态,还可以验证网站,专栏等是否正常
3. 服务器监视: 主要监视服务器CPU,内存,硬盘等的利用率以及是否停机. 同时根据服务器使用情况合理部署采集器;
4. 数据质量验证: 主要用于数据质量的实时监控,根据异常数据,对源的配置和其他配置进行反向检查;
一个完整的采集平台大致收录这些内容.