离线修改如何汇入云端
离线修改如何汇入云端
离线编辑不是等待网络恢复后才保存,而是先保存正文,把要同步的修改留在本地队列里。
以 NoteDeep Desktop 为例,沿图从左向右看一次修改的去向;再选择“本地保存”和“云端确认”,分开检查两个阶段。
{
"schema_version": 1,
"diagram_type": "architecture",
"meta": {
"title": "离线修改如何汇入云端",
"locale": "zh-CN",
"subtitle": "先保存正文,再提交修改;云端确认后才移出待提交队列",
"quality_profile": "standard",
"views": [
{
"id": "local",
"label": "01 本地保存",
"focus": [
"editor",
"markdown",
"sync",
"queue"
],
"note": "断网时正文已保存,待提交修改仍留在磁盘队列。"
},
{
"id": "upload",
"label": "02 云端确认",
"focus": [
"sync",
"queue",
"cloud",
"peer"
],
"note": "先取得远端版本,对齐并发修改,再提交;收到确认才移出队列。"
}
]
},
"components": [
{
"id": "editor",
"type": "frontend",
"label": "本地编辑",
"sublabel": "修改笔记",
"pos": [
40,
220
],
"size": [
160,
70
]
},
{
"id": "markdown",
"type": "database",
"label": "Markdown",
"sublabel": "正文先落盘",
"pos": [
260,
220
],
"size": [
160,
70
]
},
{
"id": "sync",
"type": "backend",
"label": "同步引擎",
"sublabel": "转换与对齐版本",
"pos": [
480,
220
],
"size": [
160,
70
]
},
{
"id": "queue",
"type": "database",
"label": "待提交队列",
"sublabel": "磁盘上保留修改",
"pos": [
480,
55
],
"size": [
160,
70
]
},
{
"id": "cloud",
"type": "cloud",
"label": "云端文档",
"sublabel": "接受操作并确认",
"pos": [
720,
220
],
"size": [
160,
70
]
},
{
"id": "peer",
"type": "frontend",
"label": "另一台设备",
"sublabel": "取得云端变化",
"pos": [
950,
220
],
"size": [
160,
70
]
}
],
"connections": [
{
"id": "save",
"from": "editor",
"to": "markdown",
"label": "保存"
},
{
"id": "detect",
"from": "markdown",
"to": "sync",
"label": "检测变化"
},
{
"id": "stage",
"from": "sync",
"to": "queue",
"label": "持久化待提交修改",
"fromSide": "top",
"toSide": "bottom",
"labelDx": 90
},
{
"id": "submit",
"from": "sync",
"to": "cloud",
"label": "对齐后提交"
},
{
"id": "receive",
"from": "cloud",
"to": "peer",
"label": "取得变化"
}
],
"cards": [
{
"dot": "cyan",
"title": "本地完成",
"items": [
"正文已经落盘,可继续离线编辑。",
"待提交修改保留在本地磁盘。"
]
},
{
"dot": "emerald",
"title": "云端完成",
"items": [
"云端接受操作并返回确认。",
"收到确认后,才移出待提交队列。"
]
},
{
"dot": "rose",
"title": "并发边界",
"items": [
"提交前先拉取远端操作并转换本地操作。",
"转换不等于理解语义冲突;不承诺自动判断用户意图。"
]
}
]
}
网络恢复后发生什么
- 同步引擎检查云端版本;若云端已有新修改,先取回这些操作。
- 本地待提交操作与远端操作做 JSON0 转换,再提交对齐后的操作。
- 云端返回确认后,对应操作移出待提交队列;远端变化也会写回本地正文。
两个容易误判的地方
断网不等于提交失败后丢弃修改。 未获确认的操作会留在磁盘,后续同步继续处理。当前登录账号与知识库绑定账号不一致时,同步会阻止提交。
操作合并不等于理解你的意图。 同时修改同一块内容仍需检查结果;当前方案不提供人工冲突选择界面,不能把算法转换说成“所有冲突自动解决”。
本页解释 NoteDeep 已有文档的正文同步主路径,省略首次初始化与页面树同步。依据当前实现,核对日期:2026-10-08。