门禁访问控制大数据分析平台
Community Access Control Big Data Analysis System
Important
项目状态:历史参考。 本仓库聚合了一组早期实验和课程型服务,目前没有持续验证的统一构建、部署或发布流程。文档中的技术版本和架构描述用于理解原始设计,不代表当前生产支持。各子项目通过 Git submodule 管理,使用前请分别检查其 README、依赖和安全设置。
Aditum 是一个基于分布式架构的社区门禁访问控制大数据分析平台。系统通过采集社区门禁设备的访问日志,利用大数据技术进行实时处理和分析,为社区管理者提供智能化的数据分析服务。
| 能力 | 技术实现 | 描述 |
|---|---|---|
| 数据采集 | Flume + Kafka | 实时采集门禁设备访问日志 |
| 数据存储 | HDFS + HBase + MongoDB | 分布式数据存储方案 |
| 数据分析 | Spark + Scala | 大规模数据统计分析 |
| 用户画像 | Python + k-means | 基于聚类算法的用户行为分析 |
| 可视化 | Vue.js + REST API | Web 端数据展示平台 |
Aditum/
├── aditum-cloud/ # 微服务网关 (API Gateway)
├── aditum-config/ # 云配置中心 (Config Server)
├── aditum-mocker/ # 数据模拟服务 (Data Simulation)
├── aditum-collector/ # 数据聚合服务 (Data Collection)
├── aditum-logger/ # 日志清洗服务 (Log Processing)
├── aditum-statistics/ # 统计分析服务 (Spark Analysis)
├── aditum-personas/ # 用户画像服务 (ML User Profiling)
├── aditum-back/ # RESTful 后端服务
├── aditum-web/ # Vue.js 前端展示
├── aditum-golang/ # Go 语言微服务
└── aditum-doc/ # 项目文档
| 组件 | 技术 | 功能 |
|---|---|---|
| Access Logs | 门禁设备日志 | 原始访问记录采集 |
| Flume | 日志收集框架 | 分布式日志聚合 |
| Kafka | 消息队列 | 高吞吐数据缓冲 |
| 数据库 | 用途 | 数据类型 |
|---|---|---|
| HDFS | 分布式文件系统 | 原始日志文件 |
| HBase | 列式数据库 | 结构化访问记录 |
| MongoDB | 文档数据库 | 用户画像数据 |
| 服务 | 语言 | 技术栈 | 功能 |
|---|---|---|---|
| Statistics | Scala | Spark, RDD | 实时统计分析 |
| Personas | Python | k-means, scikit-learn | 用户聚类分析 |
- 前端: Vue.js 单页应用
- 后端: SpringBoot REST API
- 展示: 实时数据仪表盘、报表系统
- 功能: API 网关、服务路由、负载均衡
- 技术: Spring Cloud Gateway
- 源码
- 功能: 集中式配置管理、动态配置更新
- 技术: Spring Cloud Config
- 源码
- 语言: Java
- 技术: Quartz 定时调度、多线程
- 功能:
- 生成模拟门禁数据
- 生成模拟日志数据
- 确保数据合理性
- 语言: Java
- 技术: Flume, Kafka, HDFS, HBase
- 功能:
- 日志数据聚合
- 消息队列生产
- 分布式文件存储
- 语言: Java
- 技术: Kafka Consumer, 规则引擎
- 功能:
- 日志清洗规则建模
- 数据匹配工具
- Kafka 消息消费
- 语言: Scala
- 技术: Spark, Spark SQL, RDD
- 功能:
- Spark 计算引擎编程
- Spark 多任务调度
- 数据结构化建模
- 语言: Python
- 技术: k-means 聚类、机器学习
- 功能:
- 用户行为聚类分析
- 用户标签建模
- 画像数据库存储
| 组件 | 技术 | 说明 |
|---|---|---|
| 操作系统 | Linux (CentOS) | 服务器基础系统 |
| 容器化 | Docker | 微服务容器部署 |
| 数据库 | MySQL, HBase, MongoDB | 多类型数据存储 |
| 文件系统 | HDFS | 分布式文件存储 |
| 通信协议 | REST HTTP | 服务间通信 |
| 语言 | 用途 | 框架/工具 |
|---|---|---|
| Java | 微服务开发 | Spring Boot, Spring Cloud |
| Scala | 大数据计算 | Spark, Spark SQL |
| Python | 机器学习 | scikit-learn, pandas |
| Go | 高性能服务 | Gin, Go Micro |
| JavaScript | 前端开发 | Vue.js, Element UI |
- 社区安防: 实时门禁访问监控
- 人员管理: 居民出入行为分析
- 异常检测: 识别异常访问模式
- 用户画像: 基于访问行为的用户分群
- 数据统计: 日/周/月访问统计报表
以下版本来自原始项目文档,仅作为排查旧代码的参考,并未作为统一环境持续验证:
- JDK 1.8+
- Python 3.7+
- Scala 2.12+
- Hadoop 2.7+
- Spark 2.4+
- MySQL 5.7+
- MongoDB 4.0+
git clone --recurse-submodules https://github.com/aditum-stack/Aditum.git
cd Aditum
git submodule status已有本地克隆可使用以下命令补齐子模块:
git submodule update --init --recursive本仓库没有经过验证的统一启动顺序,也没有根目录 Docker Compose 文件。请进入目标子模块,按照该子模块的依赖和 README 单独验证。不要直接把历史默认密码、端口或数据库配置用于公网和生产环境。
Linux/Docker 历史部署笔记记录了原始实验环境,内容可能已经过时,不是一键部署说明。
详细架构文档请查看 aditum-doc 目录:
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
Copyright (c) 2018-present kevinten10
本项目采用 Apache License 2.0 许可证
智能门禁 · 大数据驱动 · 安全社区



