fastbee/docs/knowledge-base
2026-05-25 09:10:32 +08:00
..
01-architecture.md 20260525:dcp平台对接 2026-05-25 09:10:32 +08:00
02-runtime-flows.md 20260525:dcp平台对接 2026-05-25 09:10:32 +08:00
03-data-model.md 20260525:dcp平台对接 2026-05-25 09:10:32 +08:00
04-er-diagrams.md 20260525:dcp平台对接 2026-05-25 09:10:32 +08:00
05-data-bridge-integration.md 20260525:dcp平台对接 2026-05-25 09:10:32 +08:00
README.md 20260525:dcp平台对接 2026-05-25 09:10:32 +08:00

FastBee 项目知识库

本知识库用于快速理解 FastBee 当前仓库的整体架构、运行链路、模块职责和数据库关系。内容基于本仓库代码、Maven 配置、application*.yml 和 sql/yack-20260316.sql 梳理。

阅读路径

  1. 整体架构:项目分层、模块边界、依赖入口、前后端组成。
  2. 核心运行链路:启动、设备接入、上报、下发、规则引擎、视频和通知链路。
  3. 数据库与表关系:表分组、核心实体、业务关联、真实外键和约定关联。
  4. 数据库关系图:按业务域拆分的 Mermaid ER 图。
  5. 数据桥接对接文档:设备/物模型查询、设备上报数据推送和第三方主动查询。

当前结论

  • 后端是 Java 8 + Spring Boot 2.5.14 的 Maven 多模块工程,主入口是 fastbee-admin。
  • 前端包含三个独立应用:yack-web 管理后台、yack-view 低代码可视化、yack-app UniApp 移动端。
  • IoT 接入由 fastbee-server 下的 Netty 协议服务承载,协议编解码在 fastbee-protocol,业务处理集中在 fastbee-iot-data 和 fastbee-service/fastbee-iot-service。
  • 设备消息队列当前主要是 JVM 内本地 LinkedBlockingQueue 队列族,fastbee-mq 模块名称虽为 MQ,但核心代码不是外部 RocketMQ Consumer 模式。
  • 主库初始化脚本为 sql/yack-20260316.sql。脚本中大部分业务表没有数据库外键,关系依靠字段命名、联合主键、索引和业务代码约定;Quartz 表保留了真实外键约束。

维护约定

  • 业务逻辑、表关系和配置变化后,同步更新本目录对应文档。
  • 表关系文档中用“强约束”表示 SQL 外键,用“业务约定”表示代码和字段约定形成的关系。
  • 不把推断关系写成数据库强约束,除非 SQL 中确实存在 FOREIGN KEY。