TallyNote 平滑更新与应用内直连下载流程

告别外部守护等待 · 应用进程直连流式下载 · 原子热切换

TallyNote 平滑更新与应用内直连下载流程 告别外部守护等待 · 应用进程直连流式下载 · 原子热切换 01 / 管理控制台 (前端 UI) 02 / Web 应用后端 (Node.js) 03 / 系统底层与运行时 (Linux / systemd) 04 / Gitea 官方源 (HTTPS) 版本发现 直连下载与校验 原子切换与自愈 应用内直接流式拉取 (无外部阻塞) 检查更新 · 点击查询新版 · 管理控制台 (前端 UI) › 版本发现 检查更新 点击查询新版 查询 Release · 只读接口校验 · Web 应用后端 (Node.js) › 版本发现 · 只读 查询 Release 只读接口校验 只读 Gitea 官方源 · 返回最新元数据 · Gitea 官方源 (HTTPS) › 版本发现 · HTTPS Gitea 官方源 返回最新元数据 HTTPS 版本看板呈现 · 日志与升级入口 · 管理控制台 (前端 UI) › 版本发现 版本看板呈现 日志与升级入口 流式拉取 · 应用直连下载 · Web 应用后端 (Node.js) › 应用内直接流式拉取 (无外部阻塞) › 直连下载与校验 · 实时进度 流式拉取 应用直连下载 实时进度 SHA-256 校验 · 比对并解压 · Web 应用后端 (Node.js) › 应用内直接流式拉取 (无外部阻塞) › 直连下载与校验 · 完整性 SHA-256 校验 比对并解压 完整性 确认重启 · 更新包已就绪 · 管理控制台 (前端 UI) › 直连下载与校验 确认重启 更新包已就绪 原子切换 · 切换软链接重载 · 系统底层与运行时 (Linux / systemd) › 原子切换与自愈 原子切换 切换软链接重载 健康探测探针 · 轮询探活至 200 · Web 应用后端 (Node.js) › 原子切换与自愈 健康探测探针 轮询探活至 200 平滑上线刷新 · 自动进入新版本 · 管理控制台 (前端 UI) › 原子切换与自愈 平滑上线刷新 自动进入新版本 Legend User UI Agent logic Policy Cloud service External system

核心升级点:消除外部调度依赖

  • • 传统模式:Web 写入 JSON 队列,傻等外部 root 守护进程监听唤醒,导致常态化卡死在等待系统调度
  • • 新模式:Web 后端进程直接建立 HTTPS 流式管道下载,0 秒立即响应,进度条真实可见

透明化监控与错误拦截

  • • 网络层直抓:DNS 失败、超时或 404 当场捕获,前端弹窗直接展示错误详情与重试按钮
  • • 进度实时计算:每 500ms 计算下载字节与传输速率(MB/s),无感后台拉取

平滑原子切换与自愈

  • • 文件完整校验后再切换软链接,绝不损坏现有运行中的实例
  • • 前端 30 秒倒计时探针自动检测服务就绪,服务重启完毕自动恢复会话