feat(ops): update cleaner status and assignment logic
This commit is contained in:
174
docs/ops-architecture/README.md
Normal file
174
docs/ops-architecture/README.md
Normal file
@@ -0,0 +1,174 @@
|
||||
# Ops 业务运营模块架构文档
|
||||
|
||||
> **文档定位**:Ops 模块的深度架构设计与演进文档
|
||||
> **维护策略**:按架构演进版本记录,保留历史设计决策(ADR)
|
||||
> **最后更新**:2026-01-14
|
||||
> **文档版本**:v2.1.0
|
||||
|
||||
---
|
||||
|
||||
## 📖 文档说明
|
||||
|
||||
### Ops 模块简介
|
||||
|
||||
**Ops(Operations)业务运营模块**是 AIoT Platform 的核心业务模块,承载万物梁行的四大业务线:
|
||||
|
||||
| 业务线 | 代码模块 | 业务范围 |
|
||||
|--------|----------|----------|
|
||||
| **保洁** | `environment-biz` | 排班、巡检、耗材、智能调度 |
|
||||
| **安保** | `security-biz` | 巡更、报警、岗位管理 |
|
||||
| **工程** | `facilities-biz` | 维保、巡检、备件管理 |
|
||||
| **客服** | `service-biz` | 投诉、建议、满意度 |
|
||||
|
||||
**核心能力**:
|
||||
- 工单引擎(基于状态机)
|
||||
- 智能调度系统(自动派单、优先级队列)
|
||||
- IoT 设备集成(工牌、信标、传感器)
|
||||
- 绩效评价系统
|
||||
|
||||
### 文档结构
|
||||
|
||||
本文档分为 10 个部分,从架构总览到具体实现,全方位记录 Ops 模块的设计与演进。
|
||||
|
||||
```
|
||||
Part 1: [架构总览](./part1-架构总览.md) - 业务背景、系统架构、核心概念
|
||||
Part 2: [架构演进史](./part2-架构演进史.md) - 从阶段1到阶段3的演进历程
|
||||
Part 3: [核心架构设计](./part3-核心架构设计.md) - 服务职责、分层设计、技术方案
|
||||
Part 4: [关键技术方案](./part4-关键技术方案.md) - 状态机、队列、派单、事件驱动、P0打断
|
||||
Part 5: [架构重构实践](./part5-架构重构实践.md) - 问题识别、重构方案、实施过程
|
||||
Part 6: [性能与可靠性](./part6-性能与可靠性.md) - 优化、并发、可靠性保障
|
||||
Part 7: [扩展性设计](./part7-扩展性设计.md) - 如何新增业务类型、扩展策略
|
||||
Part 8: [测试指南](./part8-测试指南.md) - 单元测试、集成测试、性能测试
|
||||
Part 9: [技术决策记录(ADR)](./part9-技术决策记录.md) - 记录重要技术决策
|
||||
Part 10: [附录](./part10-附录.md) - 类图、时序图、术语表、变更日志
|
||||
```
|
||||
|
||||
### 适用人群
|
||||
|
||||
- **Ops 模块开发者**:了解架构设计,参与功能开发
|
||||
- **架构师**:理解设计决策,参与架构评审
|
||||
- **技术负责人**:掌握技术债务,规划重构方向
|
||||
- **新成员**:快速了解 Ops 模块的全貌
|
||||
|
||||
### 版本管理
|
||||
|
||||
| 版本 | 日期 | 主要内容 |
|
||||
|------|------|----------|
|
||||
| v1.0 | 2025-12 | 阶段2完成(工单引擎、状态机、事件溯源) |
|
||||
| v2.0 | 2026-01 | 阶段3规划(智能调度系统) |
|
||||
| v2.1 | 2026-01-06 | 架构重构方案(重新定义组件职责) |
|
||||
|
||||
---
|
||||
|
||||
## 🗂️ 快速导航
|
||||
|
||||
### 我想知道...
|
||||
|
||||
**业务相关**:
|
||||
- [Ops 模块有哪些业务线?](./part1-架构总览.md#14-四大业务线)
|
||||
- [保洁工单的完整流程是什么?](./part1-架构总览.md#13-核心业务流程)
|
||||
- [如何处理紧急任务打断?](./part4-关键技术方案.md#45-p0-紧急任务打断)
|
||||
|
||||
**架构相关**:
|
||||
- [Ops 模块的整体架构是什么?](./part1-架构总览.md#12-系统架构)
|
||||
- [服务职责如何划分?](./part3-核心架构设计.md#31-服务职责划分)
|
||||
- [为什么要重构 DispatchEngine?](./part5-架构重构实践.md#51-问题识别)
|
||||
|
||||
**技术实现**:
|
||||
- [状态机如何实现?](./part4-关键技术方案.md#41-状态机实现详解)
|
||||
- [Redis + MySQL 混合队列如何设计?](./part3-核心架构设计.md#33-redis--mysql-混合队列)
|
||||
- [事件驱动架构如何实现?](./part4-关键技术方案.md#44-事件驱动架构)
|
||||
|
||||
**开发相关**:
|
||||
- [如何新增一个业务类型?](./part7-扩展性设计.md#71-新增业务条线流程)
|
||||
- [如何扩展派单策略?](./part7-扩展性设计.md#72-自定义派单策略)
|
||||
- [如何编写单元测试?](./part8-测试指南.md#81-单元测试规范)
|
||||
- [有哪些重大的技术决策?](./part9-技术决策记录.md)
|
||||
- [如何查询术语定义?](./part10-附录.md#101-核心术语表)
|
||||
|
||||
---
|
||||
|
||||
## 📚 核心概念
|
||||
|
||||
### 工单(Work Order)
|
||||
|
||||
工单是 Ops 模块的核心业务对象,代表一个需要处理的任务。
|
||||
|
||||
**工单类型**:
|
||||
- `CLEAN` - 保洁工单
|
||||
- `REPAIR` - 维修工单
|
||||
- `SECURITY` - 安保工单
|
||||
- `SERVICE` - 客服工单
|
||||
|
||||
**工单状态**:
|
||||
- `PENDING` - 待接单
|
||||
- `ASSIGNED` - 已分配
|
||||
- `ARRIVED` - 已到岗
|
||||
- `PAUSED` - 已暂停
|
||||
- `COMPLETED` - 已完成
|
||||
- `CANCELLED` - 已取消
|
||||
|
||||
### 优先级(Priority)
|
||||
|
||||
**优先级等级**:
|
||||
- `P0` - 紧急(可打断当前任务)
|
||||
- `P1` - 重要(优先处理)
|
||||
- `P2` - 普通(正常排队)
|
||||
|
||||
**关键特性**:
|
||||
- P0 任务会打断保洁员当前正在执行的任务
|
||||
- P0 任务完成后,自动恢复被中断的任务
|
||||
|
||||
### 队列(Queue)
|
||||
|
||||
每个保洁员/维修工都有一个优先级队列,存储待处理的任务。
|
||||
|
||||
**队列状态**:
|
||||
- `WAITING` - 等待中
|
||||
- `PROCESSING` - 处理中
|
||||
- `PAUSED` - 暂停中
|
||||
- `REMOVED` - 已移除
|
||||
|
||||
**技术实现**:Redis Sorted Set + MySQL 混合队列
|
||||
|
||||
### 派单引擎(Dispatch Engine)
|
||||
|
||||
根据策略自动推荐最合适的执行人员。
|
||||
|
||||
**派单策略**:
|
||||
- 区域优先策略(就近分配)
|
||||
- 负载均衡策略(考虑当前任务数)
|
||||
- 技能匹配策略(维修工单需要相应技能)
|
||||
|
||||
### 状态机(State Machine)
|
||||
|
||||
管理工单的状态转换,保证状态一致性。
|
||||
|
||||
**核心能力**:
|
||||
- 状态转换规则验证
|
||||
- 事件记录(事件溯源)
|
||||
- 监听器/事件处理器通知
|
||||
|
||||
---
|
||||
|
||||
## 🔗 相关文档
|
||||
|
||||
- [AIoT Platform 技术全景文档](../technical-overview/README.md)
|
||||
- [部署指南](../deployment-guide.md)
|
||||
- [工单调度系统技术实现汇报文档](../工单调度系统技术实现汇报文档.md)
|
||||
- [阶段2实现总结](../phase2-implementation-summary.md)
|
||||
|
||||
---
|
||||
|
||||
## 📧 贡献指南
|
||||
|
||||
本文档是 Ops 模块的官方架构文档,欢迎团队成员贡献:
|
||||
|
||||
1. **新增内容**:在对应章节添加,更新目录和版本号
|
||||
2. **修正错误**:标注修正位置和原因
|
||||
3. **补充示例**:添加代码示例和图表
|
||||
4. **记录决策**:使用 ADR 格式记录技术决策
|
||||
|
||||
---
|
||||
|
||||
**下一章**:[Part 1: 架构总览](./part1-架构总览.md)
|
||||
Reference in New Issue
Block a user