Skip to content

wanghan0501/WiFiProbeAnalysis

Repository files navigation

Wi-Fi Probe Analysis

996.icu

WIFI探针是一种可以记录附近mac地址的嗅探器,可以根据收集到的mac地址进行数据分析,获得附近的人流量、入店量、驻留时长等信息
本系统以Spark + Hadoop为核心,搭建了基于WIFI探针的大数据分析系统

Module Introduction

系统配置说明

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脚本,使用多线程来模拟大量探针的发包

Databases in System

  • MySQL

关系型数据库,负责存储一些不会经常读取的数据,比如分析程序的参数配置、商场信息等

  • HBase

分布式非关系型数据库,用于永久性存储原始数据,供离线分析程序使用

  • Redis

非关系型数据库,适用于存储快速读写的数据,用于存储分析结果,存储格式为json

About Us

以下是开发者的GitHub账户,欢迎follow

如果有关项目的问题可以联系以下邮箱

[email protected]