开发者学堂课程【大数据实战项目 - 反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第七阶段:最终整体回顾总结(流程-ppt)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/675/detail/11744
最终整体回顾总结(流程-ppt)
内容简介:
一、数据处理流程
二、逻辑架构
三、数据预处理流程
四、爬虫识别流程
五、爬虫识别流程-读取封装及指标计算
六、爬虫识别流程-指标计算
七、爬虫识别流程-爬虫识别
八、爬虫识别流程-爬虫识别
九、爬虫识别流程-数据入库
一、数据处理流程
(1)流程梳理
整个流程就是从用户端到企业端的一个流程,前端先通过 Lua 脚本收
集数据传输到 Kafka 集群中,再由后端读取进行数据预处理,预处理
之后数据回到集群,再由爬虫处理,处理好的数据交由 Redis 传到前
端剔除。高层想看到更有用的数据就需要进行离线分析,离线分析结
果传输到 Mysql 界面。
(2)流程四个阶段
整个过程可以分为四个阶段
前端数据处理由前端工程师处理,反爬虫程序不负责
首先,前端通过脚本 Lua 获取客户信息,客户信息推送到 Kafka 集群,准备进行数据预处理,然后读取数据,读取公司内部规则,进行分析,分析好的数据又传回 Kafka 集群,预处理经历了很多个步骤。
然后接下来是实时分析,实时分析已让使用 SparkStreaming 技术,然后读取数据,读取规则,对数据进行爬虫识别,对非爬虫数据进行剔除,然后传回Redis到前端进行剔除。
宏观统计来自离线数据,我们通过 SparkSQL 技术进行离线分析,数据在我们爬虫识别数据,直接将数据写入 HDFS,计算出的结果写入 Mysql。
二、逻辑架构
爬虫识别从实时层面进行
总的架构依然是前面的四步,采集、预处理、计算(实时计算和离线计算)、数据展现。数据采集从官网之中,写脚本从官网之中采集用户数据,采集完之后推送到系统之中。
收集完之后,进行统计,清晰,脱敏,拆分,分类,解析,爬虫,结构化,推送到系统监控。接下来就是实时层计算,读取数据,再封装,然后进行指标计算,再进行爬虫识别,然后识别出来的非爬虫数据进行剔除,爬虫数据中存在重复的数据,需要去重,数据计算完后,推送到 Redis,Redis 数据可能丢失,需要在 HDFS 中备份,如果数据丢失,备份数据传入 Redis。
从封存中的数据直接写入 HDFS,为了进行离散分析。
三、数据预处理流程
链路统计对数据没有操作,预处理对数据有操作
推送分种类,分情况进行推送,推送完后录入 Kafka。
系统进行宏观监控
分为前中后三个阶段,前,我们从 Kafka 中读取一段数据,进行链路统计,然后进行清晰、脱敏、拆分、分类、解析、爬虫判断、结构化等一系列操作。
注意链路统计没有操作,最后进行数据推送。
推送完后对整体进行宏观监控。
四、爬虫识别流程
先从 Kafka 中读取一批数据,进行数据封存,之后根据八个指标进行计算,计算后为我们爬虫识别提供数据,然后进行指标碰撞,碰撞完后为打分服务,一个结果是选定的,一个是未选定的。然后进行爬虫判断,根据阈值进行判断。然后过滤剔除爬虫数据。
五、爬虫识别流程-读取封装及指标计算
真正预处理的过程,经过八个计算
预处理要经历的那些过程,现根据八条指标计算,得到数据。
六、爬虫识别流程-指标计算
根据八个 IP,对应八个结果
七、爬虫识别流程-爬虫识别
数据的数值和企业的阈值都有了,我们可以进行指标碰撞,与选定无关的,选定的结果出来后,进行打分。
八、爬虫识别流程-爬虫识别
数据的得分大于阈值就是爬虫,反之不是,得到是和不是
九、爬虫识别流程-数据入库
得到是和不是之后,我们对非爬虫数据进行剔除,之后就可以进行离线分析了。