最终整体回顾总结(流程-ppt)|学习笔记

简介: 快速学习最终整体回顾总结(流程-ppt)

开发者学堂课程【大数据实战项目 - 反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第七阶段最终整体回顾总结(流程-ppt)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/675/detail/11744


最终整体回顾总结(流程-ppt)


内容简介:

一、数据处理流程

二、逻辑架构

三、数据预处理流程

四、爬虫识别流程

五、爬虫识别流程-读取封装及指标计算

六、爬虫识别流程-指标计算

七、爬虫识别流程-爬虫识别

八、爬虫识别流程-爬虫识别

九、爬虫识别流程-数据入库


一、数据处理流程

(1)流程梳理

整个流程就是从用户端到企业端的一个流程,前端先通过 Lua 脚本收

集数据传输到 Kafka 集群中,再由后端读取进行数据预处理,预处理

之后数据回到集群,再由爬虫处理,处理好的数据交由 Redis 传到前

端剔除。高层想看到更有用的数据就需要进行离线分析,离线分析结

果传输到 Mysql 界面。

(2)流程四个阶段

整个过程可以分为四个阶段

image.png

前端数据处理由前端工程师处理,反爬虫程序不负责

首先,前端通过脚本 Lua 获取客户信息,客户信息推送到 Kafka 集群,准备进行数据预处理,然后读取数据,读取公司内部规则,进行分析,分析好的数据又传回 Kafka 集群,预处理经历了很多个步骤。

然后接下来是实时分析,实时分析已让使用 SparkStreaming 技术,然后读取数据,读取规则,对数据进行爬虫识别,对非爬虫数据进行剔除,然后传回Redis到前端进行剔除。

宏观统计来自离线数据,我们通过 SparkSQL 技术进行离线分析,数据在我们爬虫识别数据,直接将数据写入 HDFS,计算出的结果写入 Mysql。

image.png


二、逻辑架构

爬虫识别从实时层面进行

总的架构依然是前面的四步,采集、预处理、计算(实时计算和离线计算)、数据展现。数据采集从官网之中,写脚本从官网之中采集用户数据,采集完之后推送到系统之中。

收集完之后,进行统计,清晰,脱敏,拆分,分类,解析,爬虫,结构化,推送到系统监控。接下来就是实时层计算,读取数据,再封装,然后进行指标计算,再进行爬虫识别,然后识别出来的非爬虫数据进行剔除,爬虫数据中存在重复的数据,需要去重,数据计算完后,推送到 Redis,Redis 数据可能丢失,需要在 HDFS 中备份,如果数据丢失,备份数据传入 Redis。

从封存中的数据直接写入 HDFS,为了进行离散分析。

image.png


三、数据预处理流程

链路统计对数据没有操作,预处理对数据有操作

推送分种类,分情况进行推送推送完后录入 Kafka

系统进行宏观监控

image.png

分为前中后三个阶段,前,我们从 Kafka 中读取一段数据,进行链路统计,然后进行清晰、脱敏、拆分、分类、解析、爬虫判断、结构化等一系列操作。

注意链路统计没有操作,最后进行数据推送。

推送完后对整体进行宏观监控。


四、爬虫识别流程

先从 Kafka 中读取一批数据,进行数据封存,之后根据八个指标进行计算,计算后为我们爬虫识别提供数据,然后进行指标碰撞,碰撞完后为打分服务,一个结果是选定的,一个是未选定的。然后进行爬虫判断,根据阈值进行判断。然后过滤剔除爬虫数据。

image.png


五、爬虫识别流程-读取封装及指标计算

真正预处理的过程,经过八个计算

image.png

预处理要经历的那些过程,现根据八条指标计算,得到数据。


六、爬虫识别流程-指标计算

image.png

根据八个 IP,对应八个结果


七、爬虫识别流程-爬虫识别

数据的数值和企业的阈值都有了,我们可以进行指标碰撞,与选定无关的,选定的结果出来后,进行打分。

image.png


八、爬虫识别流程-爬虫识别

数据的得分大于阈值就是爬虫,反之不是,得到是和不是

image.png


九、爬虫识别流程-数据入库

得到是和不是之后,我们对非爬虫数据进行剔除,之后就可以进行离线分析了。

image.png

相关文章
|
小程序 程序员
程序员的浪漫之——情侣日常小程序
程序员的浪漫之——情侣日常小程序
626 0
|
7月前
|
人工智能 IDE Devops
通义灵码编程智能体,上线!
近期,Qwen3正式发布并开源8款“混合推理模型”,参数量235B,激活仅需22B,性能超越多个国际顶尖模型。通义灵码全面支持Qwen3,上线编程智能体,具备工程级变更、自动感知、工具使用和终端命令执行四大能力。插件集成魔搭MCP广场2400+服务,大幅提升开发效率。目前,通义灵码插件下载超1500万,生成代码超30亿行,服务上万家企业。
|
消息中间件 存储 JSON
Net使用EasyNetQ简化与RabbitMQ的交互
EasyNetQ是专为.NET环境设计的RabbitMQ客户端API,简化了与RabbitMQ的交互过程。通过NuGet安装EasyNetQ,可轻松实现消息的发布与订阅,支持多种消息模式及高级特性。文中提供了详细的安装步骤、代码示例及基础知识介绍,帮助开发者快速上手。关注公众号“Net分享”获取更多技术文章。
356 1
Net使用EasyNetQ简化与RabbitMQ的交互
|
Java 应用服务中间件 测试技术
深入探索Spring Boot Web应用源码及实战应用
【5月更文挑战第11天】本文将详细解析Spring Boot Web应用的源码架构,并通过一个实际案例,展示如何构建一个基于Spring Boot的Web应用。本文旨在帮助读者更好地理解Spring Boot的内部工作机制,以及如何利用这些机制优化自己的Web应用开发。
338 3
|
关系型数据库 PostgreSQL
PostgreSQL的null值函数
【8月更文挑战第20天】PostgreSQL的null值函数
507 3
|
监控 机器人 区块链
深度分析——狩猎者defi夹子机器人系统开发技术原理
过去一年的时间里,DeFi可谓是迅速崛起,发展态势极其迅猛。虽然DeFi尚处于发展早期阶段,但活跃度和参与度都呈指数地在增长。在DeFi中,交易被打包的顺序极大地影响了DeFi的经济利益。例如,在 UniSwap 中,同样两个针对某交易对的买单,先被执行的交易将获得更多代币。若你在一笔买单前买入同样的代币,然后又赶紧卖出,则将毫无风险的获利。
深度分析——狩猎者defi夹子机器人系统开发技术原理
|
SQL Linux API
Linux下利用c/c++使用sqlite
Linux下利用c/c++使用sqlite
528 0
|
消息中间件 存储 缓存
如何打造高可用消息队列?一文读懂关键技术
本文由程序员小米分享如何设计高性能、高可用的消息队列。内容涵盖一致性(生产者确认、消费者幂等性、Broker同步)、可用性(数据不丢不重、持久化策略)、分区容错(选举机制、多副本同步)、海量数据处理(消息积压、Topic性能优化)及性能优化(时间轮、零拷贝、IO多路复用、顺序读写、压缩批处理)等方面,旨在确保分布式系统中消息的可靠性、一致性和高性能。
336 0
|
存储 程序员 C#
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码
|
存储 前端开发 JavaScript
基于 GitHub Workflow和 Docker 构建 NextJS
基于 GitHub Workflow和 Docker 构建 NextJS
486 0