121 lines
5.5 KiB
Markdown
121 lines
5.5 KiB
Markdown
# Part 2: 系统架构
|
||
|
||
> **文档定位**:从宏观视角阐述 AIoT 平台的顶层设计,涵盖逻辑架构、业务架构、技术架构及数据架构,为系统建设提供全景蓝图。
|
||
|
||
## 2.1 总体架构蓝图 (Logical Architecture)
|
||
|
||
本平台遵循标准的物联网四层架构模型,自下而上构建“感知-连接-平台-应用”的完整生态闭环。
|
||
|
||
```mermaid
|
||
graph TD
|
||
subgraph AppLayer [应用层 Application]
|
||
A1[智慧物业<br>Smart Property]
|
||
A2[智慧园区<br>Smart Campus]
|
||
A3[数据大屏<br>Dashboard]
|
||
A4[移动端<br>Mobile App]
|
||
end
|
||
|
||
subgraph PlatformLayer [平台层 Platform]
|
||
P1[<b>业务中台</b><br>用户/权限/流程/消息]
|
||
P2[<b>IoT中台</b><br>设备/规则/告警/指令]
|
||
P3[<b>数据中台</b><br>时序存储/数据清洗/分析]
|
||
end
|
||
|
||
subgraph NetworkLayer [网络层 Network]
|
||
N1[IoT Gateway<br>协议适配]
|
||
N2[API Gateway<br>流量分发]
|
||
N3[Edge Node<br>边缘计算节点]
|
||
end
|
||
|
||
subgraph PerceptionLayer [感知层 Perception]
|
||
S1[传感器<br>Sensors]
|
||
S2[智能设备<br>Smart Devices]
|
||
S3[控制器<br>Controllers]
|
||
S4[工控机<br>IPC]
|
||
end
|
||
|
||
PerceptionLayer -->|MQTT/TCP/HTTP| NetworkLayer
|
||
NetworkLayer -->|RPC/MQ| PlatformLayer
|
||
PlatformLayer -->|REST/WS| AppLayer
|
||
```
|
||
|
||
### 核心分层定义
|
||
1. **感知层 (Perception)**:物理世界的数字触角,包含各类环境传感器、视频监控、门禁闸机及边缘网关。
|
||
2. **网络层 (Network)**:连接物理与数字的桥梁,负责多协议(TCP/MQTT/HTTP)的统一接入与边缘协同。
|
||
3. **平台层 (Platform)**:系统的核心大脑,提供设备管理、规则引擎、业务逻辑编排及数据治理能力。
|
||
4. **应用层 (Application)**:面向最终用户的业务场景,如安保巡更、保洁排班、设施维保等 SaaS 应用。
|
||
|
||
---
|
||
|
||
## 2.2 业务架构 (Business Architecture)
|
||
|
||
平台采用 **“以台促用”** 的建设思路,概括为 **“一个底座,两大中心,N个应用”**。
|
||
|
||
### 2.2.1 两大核心中心
|
||
1. **IoT 连接中心 (IoT Center)**
|
||
* **核心能力**:解决设备“连得入、存得下、管得住”的问题。
|
||
* **功能模块**:物模型定义、设备生命周期管理、规则引擎、OTA 升级。
|
||
2. **业务运营中心 (Business Center / Ops)**
|
||
* **核心能力**:解决业务“流程化、标准化、智能化”的问题。
|
||
* **功能模块**:
|
||
* **保洁条线**:智能排班、耗材管理、公厕异味监测。
|
||
* **安保条线**:电子巡更、应急报警、视频 AI 联动。
|
||
* **工程条线**:设备台账、预防性维保、工单流转。
|
||
|
||
---
|
||
|
||
## 2.3 技术架构 (Technical Architecture)
|
||
|
||
基于 **Spring Cloud Alibaba** 微服务体系,采用存算分离与读写分离设计,确保系统的高可用与高扩展。
|
||
|
||
### 2.3.1 微服务分层实现
|
||
| 分层 | 服务组件 (Service) | 关键技术 | 职责说明 |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **网关层** | `viewsh-gateway` | Spring Cloud Gateway | HTTP 流量入口,鉴权、限流、路由。 |
|
||
| | `viewsh-module-iot-gateway` | Netty / Vert.x | **以及高性能设备接入**,支持 TCP/MQTT 长连接。 |
|
||
| **业务层** | `viewsh-module-system` | Spring Boot | 统一认证 (OAuth2)、RBAC 权限、多租户管理。 |
|
||
| | `viewsh-module-ops` | Spring Boot + Flowable | 业务逻辑处理,集成工作流引擎处理复杂工单。 |
|
||
| | `viewsh-module-iot` | Spring Boot | 设备元数据管理,指令下发,规则计算。 |
|
||
| **支撑层** | `viewsh-module-infra` | MinIO / XXL-Job | 文件存储、定时任务、通知服务 (SMS/Mail)。 |
|
||
|
||
### 2.3.2 关键技术决策
|
||
* **通信框架**:采用 **Netty/Vert.x** 构建高性能物联网关,解决百万级设备并发连接问题。
|
||
* **异步解耦**:引入 **RocketMQ**,将设备上报数据与业务处理逻辑解耦,实现削峰填谷。
|
||
* **分布式事务**:使用 **Seata** 保证跨服务的业务数据一致性。
|
||
|
||
---
|
||
|
||
## 2.4 数据架构 (Data Architecture)
|
||
|
||
数据是 AIoT 平台的资产核心,采用 **“冷热分离 + 时序优化”** 的混合存储策略。
|
||
|
||
### 2.4.1 数据流向图
|
||
```text
|
||
[设备 Device]
|
||
↓ (Telemetry Data)
|
||
[IoT Gateway]
|
||
↓ (MQ Message)
|
||
[数据清洗/规则引擎]
|
||
│
|
||
├─(实时热数据/告警)─> [Redis] ──> [实时大屏/Web推送]
|
||
│
|
||
├─(设备历史日志)───> [TDengine] (时序数据库)
|
||
│
|
||
└─(业务状态/元数据)─> [MySQL] (关系型数据库)
|
||
```
|
||
|
||
### 2.4.2 存储选型
|
||
1. **时序数据 (Time-Series)**:使用 **TDengine** 存储设备上报的高频遥测数据(如温度、电压),利用其超级表特性实现高性能写入与聚合查询。
|
||
2. **业务数据 (Relational)**:使用 **MySQL** (或国产达梦/人大金仓) 存储用户、设备档案、工单记录等强一致性业务数据。
|
||
3. **缓存数据 (Cache)**:使用 **Redis** 存储设备在线状态、Token 令牌及高频配置,保障低延迟访问。
|
||
|
||
---
|
||
|
||
## 2.5 部署架构
|
||
|
||
支持纯容器化 (Docker-Compose) 与云原生 (K8s) 两种部署模式,具备良好的云中立性。
|
||
|
||
* **接入层**:支持多节点负载均衡 (SLB -> Nginx -> Gateways)。
|
||
* **服务层**:无状态节点,支持 HPA 弹性伸缩。
|
||
* **数据层**:支持主从/集群部署,保障数据可靠性。
|