# WIFIProbe
**Repository Path**: iSatan231/WIFIProbe
## Basic Information
- **Project Name**: WIFIProbe
- **Description**: 基于WIFI探针的商业大数据分析系统
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-12-08
- **Last Updated**: 2025-12-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# WIFIProbe
[查看演示文档](./present.md)
项目文档位于./doc文件夹下,项目展示参考4.Get Started
## 1. Introduction
探针的原理是利用智能设备商WIFI模块所发出的无线广播信号进行设备的感知,就像是网站上的Cookie,他会记录你的访问行为和轨迹。不同的是,通过手机MAC地址所采集的是你的线下行为轨迹,比如喜欢逛什么地方,一周逛几次。相同的是,他都无法直接记录你的个人信息,例如你是谁,手机号多少,这都无法直接获得。
通过对采集MAC地址数据的分析与统计,可以把握门店的客流情况,精准监控客流质量,实时展示客流转化情况,从而帮助检测营销效果,发现潜在机会和改进措施,为便捷、高效精细化运营提供全方位数据参考。
我们使用WIFI探针设备,自主收集数据并分析了商业环境中门店的门前人流量、进店客流量、进入跳出量、新老顾客数量及新增量、在店平均时长,客流情况等内容。
## 2. Architecture

### 2.1 Abstract View

* Receiver: 探针将数据发给负载均衡器的虚拟IP,负载均衡器将请求转发给接收服务器,接收服务器发起新线程将数据加入同步缓存,每隔20分钟清空缓存,将合并的大文件传输给HDFS文件系统接口
* HDFS & Hadoop计算集群:Hadoop计算集群从HDFS文件系统读取数据,循环进行MapReduce操作,将所有的统计结果还保存到文件系统
* Web:Web服务器定时从HDFS文件系统读取统计结果,将统计结果分类保存到MySQL数据库,提供Restful接口响应HTTP请求,返回要求查看的统计结果以及预测数据
* MySQL:数据库保存整点信息
## 3. Features
### 3.1 Frameworks
* [SpringBoot](http://projects.spring.io/spring-boot/)1.5.2.RELEASE:简化新Spring应用的初始搭建以及开发过程。
* [Swagger](https://swagger.io/)2.0:前后端分离契约
* [Hadoop](http://hadoop.apache.org/)2.7.1: 充分利用集群的威力进行高速运算和存储
* [Dva](https://github.com/dvajs/dva): React + Redux 最佳实践
* [Spring](https://spring.io/)1.5.2.RELEASE: Spring Security 权限控制 + Spring Data JPA持久层框架
* [JavaFX](http://www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html): Java客户端探针管理工具
### 3.2 Algorithm
#### 3.2.1 Hadoop MapReduce过程说明

* 第一次 map-reduce
所有探针数据按照用户MAC地址分类,并按照时间排序,存入HDFS临时文件夹中。
* 第二次 map-reduce
我们会对每个用户(mac地址)已排序好的探针数据,统计探针数据在时间轴上的出现密度,由此得出用用户在店内的时间段,继而得出根据单个用户数据统计出来的客户流量,新老客户,回访周期,入店时长这几个统计数据。
#### 3.2.2 预测算法:指数平滑法

### 3.3 Test
* [Junit](http://junit.org/junit4/) 单元测试套件
* [Selenium](http://www.seleniumhq.org/) web功能自动化测试
* [Jmeter](http://jmeter.apache.org/) 性能测试(1000并发测试)


* 测试环境搭建:

## 4. Get Started
### 4.1 Steps
1. (Optional)将WIFI探针的上传路径指向:http://118.89.208.120/api/v1/receive
2. 访问http://106.15.91.25:8989/#/ 查看数据分析结果
3. 输入用户名;manager 输入密码:manager
### 4.2 Develop Requirements
* Java 1.8+
* Maven 3.3.3+
* JavaScript Language Version: React JSX
* MySQL 5.6+
## 5. Screenshots



