业务故事站
P5 Swift 已实现 PoC

架构与组件:SSPM / GAC / HCC

Swift 由三大组件构成:星上处理模块 SSPM(仿真星座拓扑 + 链路/路由/网关)、全球地面接入客户端 GAC(软件版终端)、总部管控中心 HCC(合规/风控/结算/对账大脑)。本主题用 3 个故事讲它们各自的真实实现——每步都有可点击的 API 与真实 JSON 返回。星座/链路为仿真域,已如实标注。

系统架构师 卫星载荷工程师 运维工程师 SSPM GAC HCC 共 3 个故事

能 / 不能速览

✅ 这个主题能做
  • SSPM(sspm 包):6 星 2 平面 3 站演示拓扑、星地链路仿真(延迟 20-50ms/丢包/断链)、按表路由 + TTL + 链路轨迹、星间 BFS 最短路、网关重传去重与断链缓存补发
  • GAC(gac 包):生成 ISO 20022 pacs.008 + SM3/SM2 国密签名 + SM4-GCM 端到端加密,支付状态 DRAFT→SIGNED→SENT→ACKED/REJECTED
  • HCC(hcc + settlement 包):合规筛查、风控评分、复式记账结算、对账报告、态势聚合、接收解密验签、审计
  • 链路仿真参数可调(丢包率/延迟),态势页可断链/恢复演练
⛔ 这个主题做不了
  • 星座拓扑与链路数值为仿真,非真实在轨
  • v1 的"星上 <4ms 处理预算"是学术推断,需目标级硬件基准测试自证(本轮未做)
  • 星上真实硬件(FPGA/RTOS/抗辐射芯片)与真实 HSM 为规划目标
  • 代理银行真实接口(CIPS/SWIFT)为内存 mock,非真实清算

适用角色

本主题面向三类技术角色:

  • 系统架构师:整体架构与组件接口,理解三大组件如何分工、如何组装(server.go)。
  • 卫星载荷工程师:SSPM 仿真包(拓扑/链路/路由/ISL/网关)的行为与参数。
  • 运维工程师:HCC 部署(端口 18084)、链路态势、对账与审计。

能力速览(已实现 PoC)

SSPM 星上模块(仿真)

sspm 包:星座拓扑(6 星 3 站)、星地链路仿真(延迟/丢包/断链)、按表路由 + TTL、星间 BFS 最短路、端到端网关(重传/去重/断链缓存补发)。纯 Go 库,无业务逻辑。

GAC 地面客户端

gac 包:软件版客户端,报文生成 + SM3/SM2 国密签名 + SM4-GCM 端到端加密信封 + 支付状态机;REST 端点 /api/v1/payments*。

HCC 管控中心

hcc + settlement 包:合规筛查(名单 + KYC + LLM 辅助)、风控评分(0-100 三档)、复式记账结算(万二手续费、MsgID 幂等)、对账报告、态势聚合、接收解密验签、审计。

链路仿真与演练

态势页可断链/恢复(观察缓存补发)、链路参数面板可调丢包率与延迟(/network/config);篡改拒绝演示验证端到端国密信封防线。

一键端到端演示

POST /api/v1/demo/run 一键 10 步:生成→签名→加密→链路→解密→合规→风控→结算→对账→回执,独立引擎不污染正式数据。

复用平台底座

config/logger、auth+rbac、audit、LLM 网关、crypto(SM4-GCM)全部复用 platform 包;响应封装与错误码风格对齐 gotham。

调整指南(怎么调整)

  • 调整星上/地面分工:SSPM 只做转发/路由/链路层处理(代码中 sspm 包无业务逻辑);AML、风控、完整校验、结算全留地面——"能做在地面上的,决不做在卫星上"。
  • 调整链路参数:丢包率 / 延迟经 /network/config 调整(0 沿用默认 20-50ms);丢包率调高可观察网关重传,调回 0 恢复确定性无损链路。
  • 调整断链策略:态势页对 PRIMARY/REG-CN/REG-EU 一键断链/恢复;断链期间帧缓存,恢复后自动补发(待补发帧数可见)。
  • 调整 GAC 形态:当前为软件版客户端(HSM/调制解调器为占位接口 V2);固定站/便携站硬件形态留远期。
  • 调整演示场景:/demo/run 入参可改金额、收付款账户、航天服务类型与附言,演示大额时走风控人工复核路径。

做得好的场景(已实测)

这套架构最亮眼的是"组件即代码、仿真可复现":
  • 确定性可复现:链路随机源固定种子 42,同一参数跑出同一结果,测试与演示可复现。
  • 断链不丢报文:网关断链缓存 + 恢复自动补发,一键演示第 4 步即包含一次断链恢复。
  • 账务真实可靠:复式记账(PostDouble 原子双分录)、借贷平衡断言、MsgID 幂等,防止重复入账。
  • 安全纵深落地:CRC32 帧校验 + SM3 完整性 + SM2 签名 + SM4-GCM 加密信封,篡改报文现场被拒绝。
  • 复用底座:认证、审计、LLM 网关、国密库与 AIP/Foundry/Apollo 同源,API 风格统一。

限制与不足

以下是明确的边界,先知道再读故事:
  • 仿真域:星座/链路/账户余额与交易为模拟数据;CIPS 外部通道为内存 mock。
  • <4ms 待自证:v1 的星上处理预算为学术推断,需目标级硬件基准测试验证(本轮未做)。
  • 真实硬件依赖:FPGA、抗辐射芯片、HSM、激光终端都是重大工程,超出本轮范围。
  • 自动接收未接线:HCC-01 私钥已预留,但自动 HCC 接收服务(解密验签后进结算链路)尚未接线。

场景故事

故事 1 SSPM:从"4ms 硬件预算"到可运行的仿真链路引擎——6 星 3 站、断链自动补发
背景
丁工,卫星载荷工程师。v1 规划里 SSPM 是抗辐射 ARM/FPGA + RTOS 的硬件载荷,单报文处理预算 <4ms(学术推断)。PoC 落地时,他把 SSPM 实现为纯软件仿真层(sspm 包):6 星 2 平面 3 站拓扑、星地链路仿真、路由引擎、星间 BFS 算路、端到端网关——"星上只做转发/路由"的分工一点没变。
传统做法对比
传统卫星通信(GEO 弯管)在星上"透明转发",不解析不路由,全靠地面站处理;每个覆盖区域都要建地面站。仿真实现中,SSPM 按表路由 + TTL 控制 + BFS 星间算路,链路延迟 20-50ms 可调、丢包率可配、断链可演练——把"星上智能路由"从纸面变成了可点击的代码。
角色
卫星载荷工程师(仿真包实现);系统架构师(星上/地面分工);运维工程师(态势演练)。
操作步骤
  1. 打开「HCC 管控台·态势」,查看 6 颗卫星(SAT-0~5)与 3 个地面站的链路延迟表
  2. 把 PRIMARY 区域点「断链」,再发起一笔支付(帧被缓存待补发)
  3. 点「恢复」,观察待补发帧数归零、报文送达 HCC
  4. 在链路仿真参数面板把星地丢包率调到 0.05,观察网关重传后送达
  5. 调 /network/topology 查看快照 JSON(links 的 From/To/LatencyMs、areas 的 offline/pending)
系统响应
态势快照真实返回:
GET /api/v1/network/topology
{"code":0,"data":{"snapshot":{
 "sats":["SAT-0","SAT-1","SAT-2","SAT-3","SAT-4","SAT-5"],
 "stations":[{"ID":"PRIMARY","Online":true},{"ID":"REG-CN","Online":true},{"ID":"REG-EU","Online":true}],
 "links":[{"From":"SAT-0","To":"PRIMARY","LatencyMs":34},{"From":"SAT-0","To":"REG-CN","LatencyMs":41},{"From":"SAT-3","To":"REG-EU","LatencyMs":27}],
 "tx":{"TxCount":0,"TxAmount":0,"SettledCount":0,"PendingCount":0}},
 "areas":{"PRIMARY":{"offline":false,"pending":0},"REG-CN":{"offline":false,"pending":0},"REG-EU":{"offline":false,"pending":0}}}}
断链时 pending 递增,恢复后归零。
结果洞察
确定性可复现(固定种子 42);断链不丢报文(缓存 + 自动补发);链路延迟逐跳实测进态势;ISL 用 BFS 动态算路体现"星上不依赖地面静态路由表"的规划方向。仿真层把 v1 的分工与容错设计完整落成可验收代码。
调整建议
调高丢包率观察重传/缓存行为,调回 0 恢复确定性;ISL 路由主表仍由地面拓扑静态生成(部分实现),后续可增强星上动态路由;真实在轨前先做目标硬件基准测试自证处理预算。
动手试一试
在 HCC 态势页把 PRIMARY 断链→恢复各来一次,同时刷新态势看待补发帧数变化;再调丢包率到 0.05 运行一键演示,对比第 4 步链路结果。
限制提示
星座/链路为仿真数据,非真实在轨;FPGA/RTOS/抗辐射芯片与 4ms 预算均为规划目标,需目标级硬件自证;当前为纯软件仿真。
故事 2 GAC:一台 Windows 机器上发起支付——生成 pacs.008、国密签名、端到端加密、星地链路发送
背景
方工,GAC 客户端开发负责人。v1 规划 GAC 是"固定站/便携站 + HSM + 卫星调制解调器"的硬件终端;PoC 落地为软件版客户端(gac 包):同一台 Windows 机器上,填表单 → 生成 pacs.008 → SM3 摘要 + SM2 签名 → SM4-GCM 端到端加密 → 打包链路帧 → 经仿真网关发送 → 状态跟踪。
传统做法对比
以前航天公司跨境付款要登银行门户/网银,受银行工作时间与网络条件限制;远洋、沙漠现场连网络都没有。现在 GAC 本地生成 ISO 20022 报文,一次签名加密,链路断链时帧缓存、恢复后自动补发,支付状态机全程可见。
角色
GAC 客户端开发(报文/安全/通信三组件);用户财务操作员(填表、确认、查状态)。
操作步骤
  1. 登录工作台,进入「GAC 报文工具」,选付款方 LS-CN-0001-BJ / 收款方 LS-FR-0003-PAR
  2. 填金额(元自动换算为定点分)、币种、附言,可选挂航天扩展任务编号
  3. 点击发起支付:生成 pacs.008 → SM3 摘要 + SM2 签名 → SM4-GCM 加密信封 → 星地链路发送至 HCC
  4. 在支付列表展开详情,查看 SM3 哈希 / SM2 签名 / 链路结果
  5. 点「模拟回执:接受(ACCP)」,状态变为 ACKED
系统响应
发起支付返回真实片段:
POST /api/v1/payments
{"code":0,"data":{"id":"GAC-CN-BJ-20260810-xxxxxx","status":"SENT",
 "pacs":{"MsgID":"...","Ccy":"EUR","Amount":5000000000,
         "DbtrAcct":"LS-CN-0001-BJ","CdtrAcct":"LS-FR-0003-PAR",
         "Aero":{"MssnId":"LS-2026-042","SvcType":"LAUNCH","LchVhcl":"CZ-7A","TrgtOrbt":"LEO 500km"}},
 "signature_hex":"<SM2签名>","hash_hex":"<SM3摘要>",
 "link_result":"已送达 HCC 地面站(PRIMARY)"}}
链路离线时 link_result 变为"链路离线:帧已缓存,链路恢复后自动补发"。
结果洞察
报文本地一次生成签名加密,密钥不出进程(内存密钥对 + 仿真 PKI);断链缓存补发保证不丢;支付视图暴露 SM3 哈希 / SM2 签名 / 链路结果,可审计可排障;REST 端点可供用户 ERP 直接集成。
调整建议
高额支付后续可配置双人授权(HSM 双密钥,V2);常用收款方存模板减少录入;真实部署前先校验目标场景链路参数;离线签名与批量补发按 V3 规划推进。
动手试一试
到「报文实验室」先生成一份 pacs.008 XML,用国密签名/验签功能签一次再验一次;再到 GAC 页发起一笔真实演示支付并模拟回执,体会完整状态流转。
限制提示
HSM 与卫星调制解调器为占位接口(V2);密钥为软件保护而非 HSM 硬件;离线签名是 V3 范围,当前断链仍靠缓存补发。
故事 3 HCC:总控中心的复式记账结算引擎——合规风控、借贷平衡对账、篡改拒绝一条龙
背景
郑总,HCC 运维负责人。HCC 是全网大脑:用户管理、报文处理、合规风控、结算清算、态势监控、审计。PoC 中它由 hcc 包(合规/风控/对账/态势/接收)+ settlement 包(账户/复式记账/结算引擎)+ server 层(REST)构成,复用 platform 底座,所有账务在复式记账本上完成,借贷平衡可随时校验。
传统做法对比
传统跨境结算的信息流与资金流分散在多家银行,对账靠人工、审计靠翻记录。演示环境中 HCC 用复式记账(PostDouble 原子双分录:借付款方 / 贷收款方 + 手续费)、MsgID 幂等、借贷平衡断言统一管理账务,UETR 贯穿报文→结算→对账→审计。
角色
HCC 运维工程师(部署/监控/密钥);结算操作员(复核异常);系统架构师(状态机与账本)。
操作步骤
  1. 进入「HCC 管控台」,先跑「一键端到端演示」看 10 步流水
  2. 切「交易」标签看结算记录(settlement_id、金额、手续费、借贷账户)与会计分录
  3. 切「对账」标签点「借贷平衡校验」和「生成对账报告」
  4. 切「风控/合规」标签跑「篡改拒绝演示」
  5. 查看审计事件列表(swift.demo.run / swift.payment.create 等)
系统响应
对账报告真实返回:
GET /api/v1/admin/reconciliation
{"code":0,"data":{"balanced":true,
 "total_debit":"100000.00","total_credit":"100000.00",
 "matched_count":5,"mismatch_count":0,"diff_list":[],
 "text":"======== 内部对账报告 ========\n借贷平衡    : true\n借方总额    : 100000.00\n贷方总额    : 100000.00\n账户一致    : 5 | 不一致: 0\n---- 差异清单 ----\n(无差异)\n---- 账户日终汇总 ----\n..."}}
结算记录含 STL-000001、万二手续费 10000.00 分(100 元)与记账后余额快照。
结果洞察
幂等防重复入账(同 MsgID 终态直接返回,不重复记账);借贷平衡封闭系统断言(账户余额合计 0 + 分录借贷相抵);日终汇总可防手工改余额(Matched 标记);篡改报文被国密信封拒绝;全链路审计可回溯。
调整建议
对账后续可做 T+0 自动调度;CIPS mock 接真实银行为 V2;HCC-01 私钥已预留,可接自动接收服务(解密验签后直接进结算链路);高可用多活部署按远期规划。
动手试一试
在「HCC 管控台」五标签走一遍:演示→交易→对账→篡改→审计;重点看对账报告文本里的"期初/期内入/期内出/期末"与借贷平衡。
限制提示
CIPS 外部通道为内存 mock,非真实清算;自动接收服务未接线;多活部署与告警策略规划中;制裁名单为虚构演示数据。

常见问题

三大组件各管什么?怎么分工?

SSPM(sspm 包)在"星上"做轻量处理:仿真拓扑、链路、路由、转发;GAC(gac 包)是终端:生成报文 + 国密签名加密 + 发送 + 状态跟踪;HCC(hcc + settlement 包)是总部大脑:合规、风控、结算、对账、态势、审计。原则是"能做在地面上的,决不做在卫星上"。

为什么说星上处理要 <4ms?

调研显示:星上处理延迟若超过 4ms,激光星间链路(ISL)的时延优势会衰减约 80%。所以星上只做"轻量解析 + 路由 + 加密",业务逻辑全部卸载到地面。注意 4ms 是学术推断值,需目标级硬件基准测试自证——本轮为软件仿真,未做该验证。

路由表谁算?星上还是地面?

当前实现:Router 从地面拓扑静态建路由表(DestArea → 覆盖卫星),星间路径用 BFS 在拓扑上动态算路;v1 规划的"地面集中计算时间分段路由表 + 15-30 分钟下发"留后续增强。

PoC 和真实系统的差距在哪?

仿真域:星座拓扑、链路延迟/丢包、账户余额与交易、CIPS 外部通道都是模拟;真实硬件(FPGA、抗辐射芯片、HSM、激光终端)、真实卫星与银行清算依赖重大工程,超出本轮范围。

这些组件现在能用吗?

能用,但作为仿真 PoC:端口 18084 启动后,登录 admin/admin1,可完成生成报文、发起支付、星地链路(仿真)、结算、对账、篡改拒绝演示全流程(冒烟 16/16、E2E 33/33)。不能用于真实金融业务。

授权到期会影响业务吗?

不会硬卡。Swift 带授权自检:启动立即校验 + 每 30 分钟在线校验,授权不满足时调度器按档位安排优雅关停(宽限 6h / 硬关 20min),到点只优雅退出本产品,AIP / Foundry / Apollo / Gotham 等其它产品独立授权、不受影响。部署与授权细节见《部署运维与授权自检》主题。

主题小结

一句话:Swift 架构 = SSPM(仿真星上处理:拓扑/链路/路由/网关)+ GAC(软件版终端:生成/签名/加密/发送)+ HCC(总部大脑:合规/风控/复式记账结算/对账/态势)。记住边界:星座与链路为仿真域,<4ms 预算待硬件自证,真实银行清算不在本轮范围。