目录 / 文档-技术白皮书 / 20-EFT.WP.Metrology.TimeBase v1.0
第10章 分布式系统与图同步(GM/BCM/Failover)
一句话目标:在有向/无向网络 G=(V,E) 上,以 GM 选举与 BCM(Best Clock Master)决策为入口,建立可审计的图同步与故障切换闭环,使 offset/skew/J 在失效与恢复期间保持可控上界并满足发布契约。
I. 范围与对象
- 覆盖对象
- 图同步:在 G=(V,E) 上估计各节点时钟 t_i 与边时延/不对称 d_ij/a_ij。
- 角色与层级:GM(Grandmaster)、BC(Boundary Clock)、OC(Ordinary Clock),以及 BCM 选举策略。
- 故障切换:GM 失效检测、failover/failback、holdover 与 graceful takeover。
- 输入
边测量流 m_ij(k) = { sync, follow_up, delay_req/resp } 或同类双向测量;节点本地 offset/skew/J 估计;链路告警事件。 - 输出
GM/拓扑与优先级、时钟图解 G_sync、全网 hat{t_i}、offset_i、skew_i、J_i 的序列;failover 轨迹与 manifest.sync.graph.*。
II. 名词与变量
- 图与度量:G=(V,E), w_ij(边权/可信度), C(环路集合), P(i→j)(路径)。
- 节点时钟:t_i, hat{t_i}, offset_i = hat{t_i} - t_ref, skew_i, 抖动 J_i。
- 边参数:d_ij(双向平均时延), a_ij(路径不对称), u(x)/U = k * u_c(不确定度)。
- 角色优先:prio_i、时钟质量 q_i、class_i。
- 事件与窗口:tau_mono, ts, Delta_t(估计窗口), 切换时间 T_sw。
III. 公设 P510-*
- P510-1(图可达):GM 到任一 i ∈ V 存在至少一条有效路径 P(GM→i)。
- P510-2(测度显式):边度量以双向时序消息形成 ( ∆t_ij, ∆t_ji ),推导 d_ij, a_ij 时注明假设与测度。
- P510-3(量纲守恒):unit(offset)="s", unit(skew)="1", unit(J)="s",发布前执行 check_dim(expr)。
- P510-4(BCM 决策可追溯):GM 选举基于 prio/q/class 的全序与平局裁决,记录比较链与 TraceID。
- P510-5(环一致):任何 cycle ∈ C 的测得偏移代数和接近 0,超界视为异常或不对称泄漏。
- P510-6(故障切换上界):规定 T_sw ≤ T_sw_max 与切换期 offset_p99 ≤ bound_failover。
- P510-7(时基一体化):估计在 tau_mono,发布在 ts,并附 offset/skew/J 与 warp(t)。
IV. 最小方程 S510-*
- S510-1(成对约束)
t_j - t_i = phi_ij = ( 1/2 ) * ( ( ∆t_ij - ∆t_ji ) - a_ij )。
其中 ( ∆t_ij, ∆t_ji ) 为双向测量差,a_ij 为不对称项(未知则置 0 并进入残差)。 - S510-2(加权图同步)
设 x = [t_1,...,t_n]^T(以 t_GM=0 定标),最小化
( 1/2 ) * ∑_{(i,j)∈E} w_ij * ( ( t_j - t_i ) - phi_ij )^2,
得到 L_w x = b(L_w 为加权图拉普拉斯,b 为边侧信息聚合)。 - S510-3(环一致残差)
r_cycle = ∑_{(i,j)∈cycle} ( ( t_j - t_i ) - phi_ij );要求 | r_cycle | ≤ tol_cycle。 - S510-4(共识迭代)
t_i^{k+1} = t_i^{k} + alpha * ∑_{j∈N(i)} w_ij * ( ( t_j^{k} - t_i^{k} ) - phi_ij ),
收敛条件 alpha < 1 / λ_max(L_w)。 - S510-5(不对称估计)
若可获得单向到达时 T_arr(i→j):a_ij ≈ T_arr(i→j) - T_arr(j→i)(两口径见第9章)。 - S510-6(故障切换窗口上界)
切换期间偏移上界近似:| offset_i(t) | ≤ | skew_i | * T_sw ⊕ J_i;
持续失锁时 holdover_drift(t) ≈ | skew_free | * t ⊕ J_free。 - S510-7(质量聚合)
节点质量评分:q_i = f( class_i, u(offset_i), u(skew_i), loss_i ),用于 BCM 全序。
V. 计量与控制流程 M50-10(GM/BCM→同步→监测→切换→回稳)
- 拓扑就绪
采集 G、prio/q/class、链路健康;初始化 L_w 与容错集 E_fail. - BCM 决策与 GM 选举
依据 q/prio/class 全序 + 平局规则;产出 GM 与层级树或网状冗余拓扑。 - 图同步求解
每窗口 Delta_t 内构建 phi_ij, w_ij,解 L_w x=b 或运行共识 S510-4;得到 hat{t_i}、offset/skew/J。 - 审计与环一致
评估 r_cycle、异常边屏蔽或降权;估计 a_ij 并记 u(a_ij)。 - 故障检测与切换
触发条件:GM 心跳丢失、q_GM 退化、offset_GM 超界;执行 failover 到次优候选,计 T_sw。 - 回稳与复位
切换后短期提升 alpha 抑或自适应;当原 GM 恢复且 q 达阈值时允许运行 failback(带滞回)。 - 发布与落盘
写入 manifest.sync.graph.*:GM, G_sync, method, offset/skew/J 概览、r_cycle、T_sw、TraceID 与签名。
VI. 契约与断言
- C50-101(可达性):reach(GM, i)=true, ∀i;若否,标注孤岛并降级发布。
- C50-102(环一致):| r_cycle | ≤ tol_cycle(P99)。
- C50-103(同步偏移):offset_abs_p99 ≤ bound_sync;skew_abs_p99 ≤ bound_skew。
- C50-104(切换上界):T_sw ≤ T_sw_max 且 offset_p99_during_sw ≤ bound_failover。
- C50-105(量纲/单位):check_dim( offset/skew/J )=pass。
- C50-106(选举可追溯):GM 选举决策链完整;平局裁决已记录。
- C50-107(不对称控制):| a_ij | ≤ a_max 或进入校正/降权名单。
VII. 实现绑定 I50-10*
- run_bcm(nodes, edges, policy) -> {GM, ranking, rationale}
- solve_graph_sync(edges, method, anchor) -> {t_hat, offset, skew, J, r_cycle}(method ∈ {wls, consensus})
- estimate_asymmetry(edge_stream) -> {a_ij, u}
- failover_controller(state, triggers, policy) -> {actions, T_sw}
- graph_health_monitor(metrics, thresholds) -> alerts
- emit_graph_manifest(state, results, signature) -> manifest.sync.graph
不变量:t_GM=0(锚定)或 ∑_i w_i t_i = 0(规约);L_w 半正定;alpha 满足收敛界;unique(TraceID)。
VIII. 交叉引用
- 协议与伺服细节:见本卷第5章(NTP/PTP/SyncE)与第6章(鲁棒估计)。
- 相位/时间噪声建模:见第7章(Allan 家族)用于 w_ij 与 q_i 评估。
- 缓冲与时基转换:见第8章(warp(t))以平滑切换抖动。
- 到达时与不对称计量:见第9章(两口径与 a_ij 来源)。
- 清洗与合规模型:见《Methods.Cleaning v1.0》第10章契约与发布冻结。
IX. 质量度量与风控
- 主要指标
offset_abs_p50/p95/p99, skew_abs_p99, J_rms, r_cycle_p99, a_ij_p95, T_sw_p95, loss_rate, latency_ms_p99。 - 风控策略
- 环残差超界:边降权→不对称估计→路径重选;连续超限触发 GM 重选与灰度切换。
- 切换保护:双阈滞回与冷却时间;holdover 下发本地限偏策略 |offset| ≤ bound_holdover。
- 回退与审计:失败剧本与回放数据落盘,支持 TraceID 级重现。
小结
- 本章以图拉普拉斯/共识为核心,结合 GM/BCM 决策与不对称校正,构建了分布式系统的可审计同步与故障切换闭环。
- 通过 P510-* 公设、S510-* 方程、M50-10 流程、C50-10* 契约与 I50-10* 接口,确保在失效与恢复过程中 offset/skew/J 与 T_sw 可度量、可控并满足发布契约。
版权与许可(CC BY 4.0)
版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。
首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/