335 lines
13 KiB
HTML
335 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="generator" content="pandoc" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
<meta name="author" content="系统设计团队" />
|
|
<title>福建水务营收系统-系统架构设计</title>
|
|
<style>
|
|
code{white-space: pre-wrap;}
|
|
span.smallcaps{font-variant: small-caps;}
|
|
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
div.column{flex: auto; overflow-x: auto;}
|
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
/* The extra [class] is a hack that increases specificity enough to
|
|
override a similar rule in reveal.js */
|
|
ul.task-list[class]{list-style: none;}
|
|
ul.task-list li input[type="checkbox"] {
|
|
font-size: inherit;
|
|
width: 0.8em;
|
|
margin: 0 0.8em 0.2em -1.6em;
|
|
vertical-align: middle;
|
|
}
|
|
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
</style>
|
|
<link rel="stylesheet" href="output/document_style.css" />
|
|
<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
</head>
|
|
<body>
|
|
<header id="title-block-header">
|
|
<h1 class="title">福建水务营收系统-系统架构设计</h1>
|
|
<p class="author">系统设计团队</p>
|
|
<p class="date">2024年12月19日</p>
|
|
</header>
|
|
<nav id="TOC" role="doc-toc">
|
|
<ul>
|
|
<li><a href="#福建水务营收系统总体架构说明"
|
|
id="toc-福建水务营收系统总体架构说明"><span
|
|
class="toc-section-number">1</span> 福建水务营收系统总体架构说明</a>
|
|
<ul>
|
|
<li><a href="#文档定位" id="toc-文档定位"><span
|
|
class="toc-section-number">1.1</span> 1. 文档定位</a></li>
|
|
<li><a href="#设计输入与约束" id="toc-设计输入与约束"><span
|
|
class="toc-section-number">1.2</span> 2. 设计输入与约束</a>
|
|
<ul>
|
|
<li><a href="#输入来源" id="toc-输入来源"><span
|
|
class="toc-section-number">1.2.1</span> 2.1 输入来源</a></li>
|
|
<li><a href="#约束原则" id="toc-约束原则"><span
|
|
class="toc-section-number">1.2.2</span> 2.2 约束原则</a></li>
|
|
</ul></li>
|
|
<li><a href="#总体逻辑架构" id="toc-总体逻辑架构"><span
|
|
class="toc-section-number">1.3</span> 3. 总体逻辑架构</a></li>
|
|
<li><a href="#子系统边界矩阵" id="toc-子系统边界矩阵"><span
|
|
class="toc-section-number">1.4</span> 4. 子系统边界矩阵</a></li>
|
|
<li><a href="#跨系统协同原则" id="toc-跨系统协同原则"><span
|
|
class="toc-section-number">1.5</span> 5. 跨系统协同原则</a>
|
|
<ul>
|
|
<li><a href="#接口协同" id="toc-接口协同"><span
|
|
class="toc-section-number">1.5.1</span> 5.1 接口协同</a></li>
|
|
<li><a href="#事务与一致性" id="toc-事务与一致性"><span
|
|
class="toc-section-number">1.5.2</span> 5.2 事务与一致性</a></li>
|
|
</ul></li>
|
|
<li><a href="#数据架构原则" id="toc-数据架构原则"><span
|
|
class="toc-section-number">1.6</span> 6. 数据架构原则</a></li>
|
|
<li><a href="#部署架构原则" id="toc-部署架构原则"><span
|
|
class="toc-section-number">1.7</span> 7. 部署架构原则</a></li>
|
|
<li><a href="#安全与合规原则" id="toc-安全与合规原则"><span
|
|
class="toc-section-number">1.8</span> 8. 安全与合规原则</a></li>
|
|
<li><a href="#非功能性要求概要层" id="toc-非功能性要求概要层"><span
|
|
class="toc-section-number">1.9</span> 9. 非功能性要求(概要层)</a></li>
|
|
<li><a href="#与主文档映射" id="toc-与主文档映射"><span
|
|
class="toc-section-number">1.10</span> 10. 与主文档映射</a></li>
|
|
<li><a href="#维护规则" id="toc-维护规则"><span
|
|
class="toc-section-number">1.11</span> 11. 维护规则</a></li>
|
|
</ul></li>
|
|
</ul>
|
|
</nav>
|
|
<h1 data-number="1" id="福建水务营收系统总体架构说明"><span
|
|
class="header-section-number">1</span> 福建水务营收系统总体架构说明</h1>
|
|
<h2 data-number="1.1" id="文档定位"><span
|
|
class="header-section-number">1.1</span> 1. 文档定位</h2>
|
|
<p>本文档用于沉淀系统总体架构的分层方式、子系统边界和跨系统协同原则,作为
|
|
<code>03_Summary_Design.md</code> 的架构视图补充。<br />
|
|
本文不承载模块级实现细节、接口字段细节和数据库字段细节,避免与主文档重复维护。</p>
|
|
<h2 data-number="1.2" id="设计输入与约束"><span
|
|
class="header-section-number">1.2</span> 2. 设计输入与约束</h2>
|
|
<h3 data-number="1.2.1" id="输入来源"><span
|
|
class="header-section-number">1.2.1</span> 2.1 输入来源</h3>
|
|
<ul>
|
|
<li>主文档:<code>03_Summary_Design.md</code>(唯一真源)</li>
|
|
<li>详细设计:<code>../02_Detailed_Design/01_Detailed_Design.md</code></li>
|
|
<li>技术专项:<code>../03_Technical_Design/</code></li>
|
|
<li>历史与对照资料:<code>../04_Appendix/Archive/</code>、<code>../../guides/</code></li>
|
|
</ul>
|
|
<h3 data-number="1.2.2" id="约束原则"><span
|
|
class="header-section-number">1.2.2</span> 2.2 约束原则</h3>
|
|
<ul>
|
|
<li>项目名称统一为“福建水务营收系统”。</li>
|
|
<li>接口编号与模块编号区分,接口编号使用 <code>IF-</code> 前缀。</li>
|
|
<li>数据库总体口径保持与主文档一致(达梦数据库 8.0+)。</li>
|
|
<li>图文必须一致;图示变更需同步核对主文档对应章节。</li>
|
|
</ul>
|
|
<h2 data-number="1.3" id="总体逻辑架构"><span
|
|
class="header-section-number">1.3</span> 3. 总体逻辑架构</h2>
|
|
<pre class="mermaid"><code>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
|
|
</code></pre>
|
|
<h2 data-number="1.4" id="子系统边界矩阵"><span
|
|
class="header-section-number">1.4</span> 4. 子系统边界矩阵</h2>
|
|
<table>
|
|
<colgroup>
|
|
<col style="width: 33%" />
|
|
<col style="width: 33%" />
|
|
<col style="width: 33%" />
|
|
</colgroup>
|
|
<thead>
|
|
<tr>
|
|
<th>子系统</th>
|
|
<th>核心职责</th>
|
|
<th>边界说明</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>SYS-001 统一平台</td>
|
|
<td>认证、权限、组织、参数、租户、监控</td>
|
|
<td>不承载具体行业业务流程</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-002 营收业务系统</td>
|
|
<td>客户、抄表开账、收费、账务、客服核心能力</td>
|
|
<td>通过接口调用基础服务,不重复建设</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-003 手机抄表 APP</td>
|
|
<td>现场作业、移动采集、任务处理</td>
|
|
<td>以移动作业能力为主,不替代后台管理</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-004 微网厅系统</td>
|
|
<td>客户线上服务与查询缴费</td>
|
|
<td>以渠道服务为主,不承载后台运营管理</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-005 工单管理系统</td>
|
|
<td>工单流转、状态跟踪、绩效统计</td>
|
|
<td>专注工单域,不内嵌收费结算逻辑</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-006 表务管理系统</td>
|
|
<td>表务档案、库存、设备管理</td>
|
|
<td>专注设备与库存域,不承担账务处理</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-007 报装业务系统</td>
|
|
<td>报装流程、工程与档案管理</td>
|
|
<td>专注报装域流程,不替代统一工单</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-008 发票服务子系统</td>
|
|
<td>开票与供应商适配</td>
|
|
<td>对外提供开票能力,不承载支付流程</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-009 支付与银行结算子系统</td>
|
|
<td>聚合支付、银行结算、对账</td>
|
|
<td>对外提供资金结算能力,不承载发票逻辑</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SYS-010 消息服务子系统</td>
|
|
<td>短信/邮件/站内信等消息分发</td>
|
|
<td>对外提供消息能力,不承载业务决策</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h2 data-number="1.5" id="跨系统协同原则"><span
|
|
class="header-section-number">1.5</span> 5. 跨系统协同原则</h2>
|
|
<h3 data-number="1.5.1" id="接口协同"><span
|
|
class="header-section-number">1.5.1</span> 5.1 接口协同</h3>
|
|
<ul>
|
|
<li>子系统间交互通过标准化接口进行,避免跨库直连。</li>
|
|
<li>接口编号遵循 <code>IF-</code> 前缀规则,保持可追踪性。</li>
|
|
<li>对外集成能力由基础服务子系统统一收口,业务系统按需调用。</li>
|
|
</ul>
|
|
<h3 data-number="1.5.2" id="事务与一致性"><span
|
|
class="header-section-number">1.5.2</span> 5.2 事务与一致性</h3>
|
|
<ul>
|
|
<li>同步事务优先控制在单子系统内部。</li>
|
|
<li>跨系统流程采用“状态驱动 + 补偿机制”的一致性策略。</li>
|
|
<li>关键状态变更需具备审计记录与回溯能力。</li>
|
|
</ul>
|
|
<h2 data-number="1.6" id="数据架构原则"><span
|
|
class="header-section-number">1.6</span> 6. 数据架构原则</h2>
|
|
<ul>
|
|
<li>核心业务数据统一落地至达梦数据库体系。</li>
|
|
<li>缓存仅用于性能优化,不作为业务真源。</li>
|
|
<li>主数据(客户、账户、设备、组织)在归属子系统维护,跨系统通过接口共享。</li>
|
|
<li>涉及敏感信息的数据遵循加密与脱敏规范,具体规则见安全专项文档。</li>
|
|
</ul>
|
|
<h2 data-number="1.7" id="部署架构原则"><span
|
|
class="header-section-number">1.7</span> 7. 部署架构原则</h2>
|
|
<ul>
|
|
<li>系统采用分层部署,接入层、业务层、数据层职责清晰。</li>
|
|
<li>支持容器化部署与统一运维管理,满足扩展与回滚要求。</li>
|
|
<li>网络访问遵循内外网分区与最小权限原则。</li>
|
|
<li>外部集成链路采用统一接入策略,降低耦合风险。</li>
|
|
</ul>
|
|
<h2 data-number="1.8" id="安全与合规原则"><span
|
|
class="header-section-number">1.8</span> 8. 安全与合规原则</h2>
|
|
<ul>
|
|
<li>统一认证、统一授权、统一审计。</li>
|
|
<li>关键业务接口启用访问控制、参数校验和日志追踪。</li>
|
|
<li>敏感数据执行分类保护与最小暴露。</li>
|
|
<li>安全设计细则以
|
|
<code>../03_Technical_Design/04_Security_Design.md</code> 为准。</li>
|
|
</ul>
|
|
<h2 data-number="1.9" id="非功能性要求概要层"><span
|
|
class="header-section-number">1.9</span> 9. 非功能性要求(概要层)</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>维度</th>
|
|
<th>架构要求</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>可用性</td>
|
|
<td>关键链路具备故障隔离与恢复能力</td>
|
|
</tr>
|
|
<tr>
|
|
<td>可扩展性</td>
|
|
<td>子系统边界稳定、能力可水平扩展</td>
|
|
</tr>
|
|
<tr>
|
|
<td>可维护性</td>
|
|
<td>文档、编号、接口边界可追踪</td>
|
|
</tr>
|
|
<tr>
|
|
<td>可观测性</td>
|
|
<td>关键流程具备日志、指标、审计记录</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<blockquote>
|
|
<p>量化指标、容量规格与性能参数,以主文档和部署专项文档为准。</p>
|
|
</blockquote>
|
|
<h2 data-number="1.10" id="与主文档映射"><span
|
|
class="header-section-number">1.10</span> 10. 与主文档映射</h2>
|
|
<table>
|
|
<colgroup>
|
|
<col style="width: 50%" />
|
|
<col style="width: 50%" />
|
|
</colgroup>
|
|
<thead>
|
|
<tr>
|
|
<th>本文档章节</th>
|
|
<th>主文档对应章节</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>总体逻辑架构</td>
|
|
<td><code>03_Summary_Design.md</code>
|
|
中“系统架构设计/系统的逻辑架构设计”</td>
|
|
</tr>
|
|
<tr>
|
|
<td>子系统边界矩阵</td>
|
|
<td><code>03_Summary_Design.md</code> 中“子系统定义/子系统列表”</td>
|
|
</tr>
|
|
<tr>
|
|
<td>跨系统协同原则</td>
|
|
<td><code>03_Summary_Design.md</code> 中“子系统间关系/主要接口定义”</td>
|
|
</tr>
|
|
<tr>
|
|
<td>数据与部署原则</td>
|
|
<td><code>03_Summary_Design.md</code> 中“系统的物理架构设计”</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h2 data-number="1.11" id="维护规则"><span
|
|
class="header-section-number">1.11</span> 11. 维护规则</h2>
|
|
<ul>
|
|
<li>本文档仅维护“总体层原则”,不扩展为详细设计文档。</li>
|
|
<li>若与主文档冲突,必须先修正本文档并在台账登记。</li>
|
|
<li>修改后至少执行:
|
|
<ul>
|
|
<li><code>make validate-file FILE=docs/design/01_Overview/02_System_Architecture.md</code></li>
|
|
<li><code>make check-links</code></li>
|
|
<li><code>make validate-mermaid</code></li>
|
|
</ul></li>
|
|
</ul>
|
|
</body>
|
|
</html>
|