D05 · 论文单题页
云边协同
2023 论文 试题四「论边缘计算及其应用」 · 软考高级系统架构设计师
会考什么
这是 2023 年论文试题四,题干原文如下,一字未改:
频次与权重
| 口径 | 结论 |
|---|---|
| 直接命中 | 9 年 36 题里,「边缘计算 / 云边协同」只考过 1 次(2023 试题四) |
| 真题分析定位 | 归入「可观测性 / 安全 / 云边」一类,9 年 1 次,需要降权 |
| 归属大类 | 属于「架构风格 / 模式」题——9 年每年必有,靠「一架构多说法」应对 |
| 这次为什么还准备 | 这类题不靠建 Demo,靠把同一套架构换一套语言重述;云边是一个可复用的说法 |
一句话讲清
机制讲解
六种协同不是六个并列模块,而是三层关系:先解决「算力放哪」(资源、数据), 再解决「智能与应用怎么管」(智能、应用管理),最后解决「业务还能不能跑」(业务管理、服务)。
| 协同 | 一句话内涵 | 不做会怎样 |
|---|---|---|
| 资源协同 | 云端全局编排、边缘本地调度,按负载动态分配 | 峰值全压云端,节点过载、超时 |
| 数据协同 | 边缘预处理过滤、热数据留边、冷数据归档,增量同步 + 断网续传 | 断网数据无处可放,恢复后无法补齐 |
| 智能协同 | 云端训练模型、边缘部署推理,边缘回流数据持续优化 | 每次问答都要回源云端,断链即不可用 |
| 应用管理协同 | 云端统一管边缘应用的分发、部署、更新、监控 | 边缘版本失控,更新靠人肉,故障无法统一回滚 |
| 业务管理协同 | 云端定义规则流程、边缘执行并自主决策,可离线运行 | 规则只在云端,断链时业务直接中断 |
| 服务协同 | 云边服务统一发现与调用,就近访问,云端不可达时降级 | 客户端只会找云端,云端一挂请求全失败 |
下面这个模拟器把「不做会怎样」做成可点的开关:点掉任意一种协同,看系统当场退化成什么样。 再打开「云端不可达」,看断链时到底哪些能力还能撑住。
六种协同开关
默认六种全开、云端在线。逐一点掉,观察右侧退化清单。
断链能不能扛住,取决于数据协同里的本地队列。下面把队列积压做成可算的模型—— 写入速率、队列容量、断网时长三个滑块,直接决定积压多少、丢多少、恢复后要多久补完。
断网续传模型
教学模拟:边缘写本地 PostgreSQL 队列,网络恢复后按序回放,云端幂等 upsert 落库。
模型怎么算的
三行公式,每一行对应一条真实机制:
// ① 断网期间写入无处可去,只能堆在本地队列
积压 = 写入速率 × 断网时长
// ② 队列有上限,超出的部分就是真丢了
丢失 = max(0, 积压 − 队列容量)
// ③ 恢复后按固定速率回放,幂等 upsert 保证不重不漏
回放耗时 = 积压 ÷ 回放速率(取 200 条/秒)
关掉「数据协同」,等于没有本地队列:断网期间所有写入直接失败,成功率归零。
这是教学模型,参数是便于演示取的值,不是实测。论文里只写机制,不写这些数。
落到我们平台
fazi 平台本身是云端单体:Nuxt 4 SSR 前台 + Go 1.26 + Gin + pgx 后端 + PostgreSQL 18, 跑在云托管容器服务上。要给云边协同找落点,就得回答「哪些场景必须就近、必须离线」。 我们找到两个:
| 边缘节点 | 放在哪 | 为什么必须就近 / 离线 |
|---|---|---|
| 区域服务中心 ×3 | 各服务中心一台机器 | 培训报名高峰校验就地完成,不把峰值打到云端 |
| 法律服务大厅 ×2 | 各大厅一台自助终端 | 大厅网络不稳,电子存证与咨询必须在本地能办 |
边缘节点上跑的是与云端同一套代码编译出的 Go 单二进制和一个本地 PostgreSQL 18, 两端数据结构一致。取舍很明确:不引入任何边缘编排组件(平台技术栈里没有,也不该为 5 个节点引入), 只靠镜像 + 版本自更新 + 数据增量同步三件事把边云接起来。
完整论文
六段全文,字数已按「纯汉字」卡准。可直接背诵或抄写。
展开论文全文
摘要
一、项目背景
2025年3月,协会理事会决定建设数字平台,并给予充分资源支持。我作为协会唯一的全栈架构师,承担从需求分析、架构设计、编码实现到部署运维的全部技术职责。平台以"fazi协会数字平台"为中心,涵盖信息发布、社交系统、电子存证、培训报名、法律智能咨询五大模块。前端采用 Nuxt 4 SSR + Vue 3.5 + Tailwind 4,后端采用 Go 1.26 + Gin + pgx 手写 SQL,数据库 PostgreSQL 18,部署在云托管容器服务上。平台常用用户500人,未来半年潜在用户3000人,峰值QPS约800。
技术选型上,我基于"一人全栈、生产级标准"原则做了三个关键决策:一是采用云托管服务替代自建中间件,把运维精力留给业务;二是以 PostgreSQL 18 + pgvector 作为统一数据平台,同时承载关系数据、向量检索、JSONB 文档和全文检索;三是引入 Claude Code / Vibe Coding 辅助开发,提升一人开发效率。协会在法律知识库、律师资源、经费预算上给予全力支持,使我能够专注于架构决策和业务实现。
二、理论概述
三、实践一
四、实践二
五、实践三
六、总结展望
逐段拆解
| 段 | 讲什么 | 纯汉字 |
|---|---|---|
| 摘要 | 项目一句话 + 五模块 + 主题 + 效果数据 + 结论 | 304 |
| 一、项目背景 | 协会现状与痛点、我的职责、技术栈、三个关键决策(定稿,逐字不改) | 459 |
| 二、理论概述 | 边缘计算定义 + 六种边云协同的逐条含义 | 420 |
| 三、实践一 | 架构分层 + 资源协同 + 数据协同(含断网续传、幂等 upsert) | 374 |
| 四、实践二 | 智能协同(云端训练 / 边缘推理 / 数据回流)+ 应用管理协同(镜像 + 自更新) | 340 |
| 五、实践三 | 业务管理协同(规则下发、离线自治)+ 服务协同(就近访问、降级)+ 效果数据 | 368 |
| 六、总结展望 | 体会、不足与改进、边云协同延伸(定稿 + 换展望句) | 274 |
| 正文 P1–P6 合计(要求 2000–2500) | 2235 | |
答题要点
题干三问 → 论文对应段
| 题干 | 对应本文 |
|---|---|
| 第 1 问:概要叙述项目及你的主要工作 | 第一段(项目背景)——含职责、技术栈与决策 |
| 第 2 问:说明六种边云协同的含义 | 第二段(理论概述)——六种协同逐条定义,正好卡这一问 |
| 第 3 问:项目如何利用边缘计算设计与实现 | 第三、四、五段(实践一 / 二 / 三)——每段两种协同,六种全覆盖 |
- 第 2 问必须六种协同都写全,漏一种直接扣分——这是清单题,没有取舍余地
- 第 3 问落到本项目真实模块(培训报名、电子存证、法律智能咨询),不要泛泛谈 IoT 工厂
- 写出断网续传 + 幂等 upsert 这类机制细节,证明真做过
- 效果数据与机制对得上:缓存命中率 92% 来自边缘热点缓存 + 进程内缓存,不是凭空写
- 技术选型自洽:明确说「不引入边缘编排组件」,用镜像 + 自更新替代,反而显得清醒
- 把六种协同写成六段口号,没有任何项目里的具体实现——第 3 问直接失分
- 硬塞技术栈里没有的组件(各类边缘编排平台、消息队列、缓存中间件),一问就露馅
- 第 2 问抄题干原文(题干已给出六种名称与部分解释),不加自己的理解,会判为凑字
- 只写云端或只写边缘,没写「协同」——这是主题词,缺了就跑题
- 段名用序号「一、项目背景」是软考要求,保留;但正文里再套小标题会显得像 PPT
背诵清单
数据来源
| 数据 | 来源 |
|---|---|
| Recall@20 = 0.92、P95 = 380 ms、缓存命中率 92% | 固化取值(本题无实验数据,按已定稿效果口径写,不编造新数字) |
| 可用性 99.95%、MTTR 45 → 8 分钟 | 固化取值(运营指标,全站统一口径) |
| 500 会员 / 3000 潜在用户 / 峰值 QPS 800 | 定稿事实(见 docs/essay-common.md) |
| 断网续传模拟器(队列积压 / 丢失 / 回放) | 教学模型,非实测——参数为便于演示所取;论文只写机制不写这些数 |
| 真题题干原文 | 论文真题/2023论文.md 试题四,逐字引用 |
| 频次与权重 | docs/真题分析.md(9 年 36 题全表 + 四条结论) |