WIFI探针是一种可以记录附近mac地址的嗅探器,可以根据收集到的mac地址进行数据分析,获得附近的人流量、入店量、驻留时长等信息
本系统以Spark + Hadoop为核心,搭建了基于WIFI探针的大数据分析系统
- 项目演示 演示视频
2019年10月3日更新
WifiProbeAnalysis 系统安装配置说明
- 系统核心, 负责实时计算以及离线计算
- 主要技术或API:
名称 | 解释 |
---|---|
Spark | 分析程序核心API |
Hadoop | 分析程序核心API |
Mybatis | 操作Mysql的API |
SharedJedis | 分布式Redis的API |
Log4j | 日志记录工具 |
Accumulator | 累加器,相当于Spark中的全局变量 |
FastJson | Json解析工具 |
HBase Client | 操作HBase |
- 利用Kafka或HDFS缓存数据, 供实时分析程序提取
- 将原始数据存储进HBase,供离线分析程序使
主要技术或API:
名称 | 解释 |
---|---|
Kafka | 基于内存的消息队列,负责缓冲数据,供实时分析程序提取 |
HDFS | Hadoop分布式文件系统,具有高容错性、高吞吐性等特点 |
HBase | 建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统 |
- 数据解析和展示
主要技术或API:
名称 | 解释 |
---|---|
React | 前端框架 |
Redux | 负责管理与后端的数据交互 |
webSocket | 实时数据获取,避免了前端轮询,节省大量网络资源 |
echarts | 绘图 |
Ant Design | UI框架 |
- 网站服务器端,负责处理前端请求
主要技术或API:
名称 | 解释 |
---|---|
SSM 架构 | Spring MVC + Spring + Mybatis框架 |
Spring-Data-Redis | 封装对redis的操作 |
webSocket | 实时向前端推送数据,可以做到广播,即一次查询,向N个前端推送,节省大量资源 |
Alidayu | 阿里大鱼,发送短信(开源版本中已删除) |
POI | 导出Excel报表 |
模拟发送探针数据的python脚本,使用多线程来模拟大量探针的发包
- MySQL
关系型数据库,负责存储一些不会经常读取的数据,比如分析程序的参数配置、商场信息等
- HBase
分布式非关系型数据库,用于永久性存储原始数据,供离线分析程序使用
- Redis
非关系型数据库,适用于存储快速读写的数据,用于存储分析结果,存储格式为json
以下是开发者的GitHub账户,欢迎follow
如果有关项目的问题可以联系以下邮箱