Code Monkey home page Code Monkey logo

wifiprobe's Introduction

WIFIProbe

查看演示文档
项目文档位于./doc文件夹下,项目展示参考4.Get Started

1. Introduction

探针的原理是利用智能设备商WIFI模块所发出的无线广播信号进行设备的感知,就像是网站上的Cookie,他会记录你的访问行为和轨迹。不同的是,通过手机MAC地址所采集的是你的线下行为轨迹,比如喜欢逛什么地方,一周逛几次。相同的是,他都无法直接记录你的个人信息,例如你是谁,手机号多少,这都无法直接获得。
通过对采集MAC地址数据的分析与统计,可以把握门店的客流情况,精准监控客流质量,实时展示客流转化情况,从而帮助检测营销效果,发现潜在机会和改进措施,为便捷、高效精细化运营提供全方位数据参考。
我们使用WIFI探针设备,自主收集数据并分析了商业环境中门店的门前人流量、进店客流量、进入跳出量、新老顾客数量及新增量、在店平均时长,客流情况等内容。

2. Architecture

framework2

2.1 Abstract View

framework

  • Receiver: 探针将数据发给负载均衡器的虚拟IP,负载均衡器将请求转发给接收服务器,接收服务器发起新线程将数据加入同步缓存,每隔20分钟清空缓存,将合并的大文件传输给HDFS文件系统接口
  • HDFS & Hadoop计算集群:Hadoop计算集群从HDFS文件系统读取数据,循环进行MapReduce操作,将所有的统计结果还保存到文件系统
  • Web:Web服务器定时从HDFS文件系统读取统计结果,将统计结果分类保存到MySQL数据库,提供Restful接口响应HTTP请求,返回要求查看的统计结果以及预测数据
  • MySQL:数据库保存整点信息

3. Features

3.1 Frameworks

  • SpringBoot1.5.2.RELEASE:简化新Spring应用的初始搭建以及开发过程。
  • Swagger2.0:前后端分离契约
  • Hadoop2.7.1: 充分利用集群的威力进行高速运算和存储
  • Dva: React + Redux 最佳实践
  • Spring1.5.2.RELEASE: Spring Security 权限控制 + Spring Data JPA持久层框架
  • JavaFX: Java客户端探针管理工具

3.2 Algorithm

3.2.1 Hadoop MapReduce过程说明

algorithm pic

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

3.2.2 预测算法:指数平滑法

algorithm pic

3.3 Test

  • Junit 单元测试套件
  • Selenium web功能自动化测试
  • Jmeter 性能测试(1000并发测试)

selenium Jmeter

  • 测试环境搭建: test env

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

require_u1 require_u2 require_u3 require_u4

wifiprobe's People

Contributors

xinyandai avatar cuiods avatar yyy2015 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.