
1) 【一句话结论】上交所交易系统灾备采用“两地三中心”架构,切换遵循“主备热备”原则,通过心跳检测、数据同步、业务验证等步骤实现快速切换,确保交易连续性。
2) 【原理/概念讲解】老师可以解释:上交所交易系统灾备的核心是“两地三中心”模式——主中心(上海本部)、备中心(同城或异地)、灾备中心(异地)。灾备的关键是数据同步,主备中心通过高速网络实时同步交易数据(比如T+0或T+1同步),确保备中心数据与主中心一致。切换触发机制是主中心的心跳检测(比如通过心跳包判断主中心是否宕机),当检测到故障时,触发切换流程。切换流程包括:故障检测→备中心接管→数据一致性验证→业务恢复。类比的话,就像双机热备,主机和备机实时同步,当主机宕机时,备机秒级接管,保证业务不中断。
3) 【对比与适用场景】
| 模式 | 定义 | 数据同步 | 切换时间 | 适用场景 |
|---|---|---|---|---|
| 热备 | 主备中心实时同步数据,备机随时可接管 | 实时/准实时 | 几秒至几十秒 | 核心交易系统(如上交所交易系统) |
| 冷备 | 定期备份数据,备机需恢复后才能接管 | 定期备份 | 数小时至数天 | 非核心系统或非实时性要求高的系统 |
| 温备 | 部分数据同步,备机需补充数据后接管 | 部分同步 | 数分钟至数小时 | 中间系统或辅助系统 |
4) 【示例】
切换流程伪代码:
function switchToBackup() {
// 1. 故障检测
if (isMasterCenterDown()) {
// 2. 触发切换
triggerSwitch();
// 3. 备中心接管
backupCenter.takeOver();
// 4. 数据一致性验证
if (verifyDataConsistency()) {
// 5. 业务恢复
resumeBusiness();
} else {
// 回退到主中心
rollbackToMaster();
}
}
}
function isMasterCenterDown() {
// 发送心跳包,未收到回复则判定故障
sendHeartbeat();
if (!receiveHeartbeat()) {
return true;
}
return false;
}
function verifyDataConsistency() {
// 比较主备中心交易数据,确保一致
compareTransactionData();
if (dataMatch) {
return true;
}
return false;
}
5) 【面试口播版答案】
“上交所交易系统的灾备和切换主要采用‘两地三中心’架构,核心是主备热备模式。首先,系统通过主中心和备中心实时同步交易数据,确保备中心数据与主中心一致。切换流程上,当主中心出现故障(比如心跳检测失败),系统会触发切换,备中心快速接管业务,然后进行数据一致性验证,确认无误后恢复交易。整个过程遵循‘先备后主’原则,关键点在于实时同步和数据验证,保证切换后业务连续性。”
6) 【追问清单】
7) 【常见坑/雷区】