--- title: "02_System_Architecture" author: "系统设计团队" date: "2024年12月19日" documentclass: article geometry: margin=1in fontsize: 11pt mainfont: "PingFang SC" CJKmainfont: "PingFang SC" --- --- doc_id: HL-02-ARCHITECTURE doc_role: supporting_document authority: supporting scope: 总体设计-系统架构 source_of_truth: false last_reviewed: 2026-03-11 retrieval_priority: P1 --- # 福建水务营收系统总体架构说明 ## 1. 文档定位 本文档用于沉淀系统总体架构的分层方式、子系统边界和跨系统协同原则,作为 `03_Summary_Design.md` 的架构视图补充。 本文不承载模块级实现细节、接口字段细节和数据库字段细节,避免与主文档重复维护。 ## 2. 设计输入与约束 ### 2.1 输入来源 - 主文档:`03_Summary_Design.md`(唯一真源) - 详细设计:`../02_Detailed_Design/01_Detailed_Design.md` - 技术专项:`../03_Technical_Design/` - 历史与对照资料:`../04_Appendix/Archive/`、`../../guides/` ### 2.2 约束原则 - 项目名称统一为“福建水务营收系统”。 - 接口编号与模块编号区分,接口编号使用 `IF-` 前缀。 - 数据库总体口径保持与主文档一致(达梦数据库 8.0+)。 - 图文必须一致;图示变更需同步核对主文档对应章节。 ## 3. 总体逻辑架构 ```mermaid flowchart TB subgraph Layer_Presentation["表现层"] P_Web["Web 管理端"] P_App["手机抄表 APP"] P_Channel["微网厅/渠道端"] end subgraph Layer_Gateway["接入与网关层"] G_Api["API 网关"] G_Auth["统一认证与鉴权"] end subgraph Layer_Business["业务服务层"] B_SYS001["SYS-001 统一平台"] B_SYS002["SYS-002 营收业务系统"] B_SYS003["SYS-003 手机抄表 APP 服务"] B_SYS004["SYS-004 微网厅系统"] B_SYS005["SYS-005 工单管理系统"] B_SYS006["SYS-006 表务管理系统"] B_SYS007["SYS-007 报装业务系统"] B_SYS008["SYS-008 发票服务子系统"] B_SYS009["SYS-009 支付与银行结算子系统"] B_SYS010["SYS-010 消息服务子系统"] end subgraph Layer_Infrastructure["基础能力层"] I_Workflow["工作流能力"] I_File["文件与附件能力"] I_Monitor["监控与审计能力"] I_Integration["外部集成适配能力"] end subgraph Layer_Data["数据层"] D_DM["达梦数据库 8.0+"] D_Redis["Redis 缓存"] D_Object["对象存储"] end Layer_Presentation --> Layer_Gateway Layer_Gateway --> Layer_Business Layer_Business --> Layer_Infrastructure Layer_Business --> Layer_Data ``` ## 4. 子系统边界矩阵 | 子系统 | 核心职责 | 边界说明 | | --- | --- | --- | | SYS-001 统一平台 | 认证、权限、组织、参数、租户、监控 | 不承载具体行业业务流程 | | SYS-002 营收业务系统 | 客户、抄表开账、收费、账务、客服核心能力 | 通过接口调用基础服务,不重复建设 | | SYS-003 手机抄表 APP | 现场作业、移动采集、任务处理 | 以移动作业能力为主,不替代后台管理 | | SYS-004 微网厅系统 | 客户线上服务与查询缴费 | 以渠道服务为主,不承载后台运营管理 | | SYS-005 工单管理系统 | 工单流转、状态跟踪、绩效统计 | 专注工单域,不内嵌收费结算逻辑 | | SYS-006 表务管理系统 | 表务档案、库存、设备管理 | 专注设备与库存域,不承担账务处理 | | SYS-007 报装业务系统 | 报装流程、工程与档案管理 | 专注报装域流程,不替代统一工单 | | SYS-008 发票服务子系统 | 开票与供应商适配 | 对外提供开票能力,不承载支付流程 | | SYS-009 支付与银行结算子系统 | 聚合支付、银行结算、对账 | 对外提供资金结算能力,不承载发票逻辑 | | SYS-010 消息服务子系统 | 短信/邮件/站内信等消息分发 | 对外提供消息能力,不承载业务决策 | ## 5. 跨系统协同原则 ### 5.1 接口协同 - 子系统间交互通过标准化接口进行,避免跨库直连。 - 接口编号遵循 `IF-` 前缀规则,保持可追踪性。 - 对外集成能力由基础服务子系统统一收口,业务系统按需调用。 ### 5.2 事务与一致性 - 同步事务优先控制在单子系统内部。 - 跨系统流程采用“状态驱动 + 补偿机制”的一致性策略。 - 关键状态变更需具备审计记录与回溯能力。 ## 6. 数据架构原则 - 核心业务数据统一落地至达梦数据库体系。 - 缓存仅用于性能优化,不作为业务真源。 - 主数据(客户、账户、设备、组织)在归属子系统维护,跨系统通过接口共享。 - 涉及敏感信息的数据遵循加密与脱敏规范,具体规则见安全专项文档。 ## 7. 部署架构原则 - 系统采用分层部署,接入层、业务层、数据层职责清晰。 - 支持容器化部署与统一运维管理,满足扩展与回滚要求。 - 网络访问遵循内外网分区与最小权限原则。 - 外部集成链路采用统一接入策略,降低耦合风险。 ## 8. 安全与合规原则 - 统一认证、统一授权、统一审计。 - 关键业务接口启用访问控制、参数校验和日志追踪。 - 敏感数据执行分类保护与最小暴露。 - 安全设计细则以 `../03_Technical_Design/04_Security_Design.md` 为准。 ## 9. 非功能性要求(概要层) | 维度 | 架构要求 | | --- | --- | | 可用性 | 关键链路具备故障隔离与恢复能力 | | 可扩展性 | 子系统边界稳定、能力可水平扩展 | | 可维护性 | 文档、编号、接口边界可追踪 | | 可观测性 | 关键流程具备日志、指标、审计记录 | > 量化指标、容量规格与性能参数,以主文档和部署专项文档为准。 ## 10. 与主文档映射 | 本文档章节 | 主文档对应章节 | | --- | --- | | 总体逻辑架构 | `03_Summary_Design.md` 中“系统架构设计/系统的逻辑架构设计” | | 子系统边界矩阵 | `03_Summary_Design.md` 中“子系统定义/子系统列表” | | 跨系统协同原则 | `03_Summary_Design.md` 中“子系统间关系/主要接口定义” | | 数据与部署原则 | `03_Summary_Design.md` 中“系统的物理架构设计” | ## 11. 维护规则 - 本文档仅维护“总体层原则”,不扩展为详细设计文档。 - 若与主文档冲突,必须先修正本文档并在台账登记。 - 修改后至少执行: - `make validate-file FILE=docs/design/01_Overview/02_System_Architecture.md` - `make check-links` - `make validate-mermaid`