无人值守不等于无人维护。真正可运营的自助打印系统,需要平台自动发现问题、门店能够完成基础处理、技术人员可以远程定位,并且每次异常都有订单和资金结论。

状态说明

本章是生产目标运维手册。当前原型可以提供基础心跳、Windows 队列结果和终态 JSON 回执,但提交前 prepared 回执、独立 submitted 状态、本地回执数据库和完整远程告警尚未实现。涉及这些能力的恢复步骤,要在对应功能开发和故障演练通过后才能正式执行。

一、监控指标

业务漏斗

  • 扫码次数
  • 登录成功率
  • 上传开始与完成率
  • 文件预检成功率
  • 报价到支付转化率
  • 支付成功率
  • 打印完成率
  • 退款率

订单与任务

  • 各状态订单数量
  • 最老待打印任务年龄
  • 每台打印机队列长度
  • attention_required 新增和积压
  • 单任务领取次数
  • 重复打印投诉

代理与打印机

  • 最后心跳时间
  • 代理版本
  • Windows 队列是否存在
  • 队列作业数
  • 打印机离线、暂停和错误
  • 门店电脑磁盘空间
  • 系统时间偏差
  • 最近成功打印时间

支付与文件

  • 下单成功率和延迟
  • 回调验签失败
  • 主动查单补偿数量
  • 每日对账差异
  • 上传失败与解析耗时
  • 恶意文件隔离数量
  • 到期删除积压
  • 对象存储异常增长

二、建议告警

场景 建议级别 处理目标
资金金额不一致 P1 立即暂停相关流程并核对
批量重复打印 P1 立即冻结设备调度并保全证据
数据泄露或对象公开 P1 立即阻断访问并启动安全响应
全平台不可用 P1 立即响应并切换或回滚
单门店全部离线 P2 30 分钟内联系门店并定位
支付成功任务大量积压 P2 30 分钟内恢复或启动退款方案
心跳超过 90 秒 P2/P3 根据门店营业状态检查网络和服务
人工确认任务新增 P2 禁止自动重打,尽快核实
磁盘低于 2 GB P2 停止领取并清理安全缓存
单打印机缺纸或卡纸 P3 门店按 SOP 处理

阈值需要根据真实运营基线调整,不能永久照搬初始值。

三、结构化日志

每条请求和任务日志使用 JSON,至少包含:

  • 时间、环境和服务版本
  • trace ID
  • 脱敏用户 ID
  • 订单 ID、任务 ID、打印机 ID
  • 尝试号和租约版本
  • 状态变化前后值
  • Windows 队列和 Spooler 作业号
  • 错误代码、工具退出码和耗时

不要记录文件正文、完整原始文件名、AppSecret、支付私钥、完整 openid 或签名 URL。

四、日常维护制度

每日

平台侧:

  • 检查支付对账差异
  • 处理死信和人工确认
  • 检查离线设备和最老待打印任务
  • 检查文件删除积压

门店侧:

  • 补充纸张
  • 检查墨量或耗材
  • 检查卡纸、进纸和出纸区域
  • 打印快速测试页
  • 保持设备周围整洁

每周

  • 复盘打印成功率和平均等待时间
  • 抽查订单、支付和回执时间线
  • 打印黑白和彩色样张
  • 清洁进纸和出纸区域
  • 核对代理版本和离线设备

每月

  • 从备份恢复数据库到隔离环境
  • 复核管理员权限
  • 检查依赖和系统更新
  • 统计设备故障率、退款率和耗材成本
  • 预测容量和备件需求

每季度

  • 密钥轮换演练
  • 灾备和故障演练
  • 安全复测
  • 评估高故障设备替换
  • 更新本知识库和门店培训材料

五、故障处置

打印机离线

自动停止分配新任务,支付前显示不可用。门店检查电源、USB/网络、Windows 队列和驱动。恢复后先打印测试页,再开放设备。

缺纸、缺墨或卡纸

任务保持或进入降级状态。门店处理前先记录订单和已输出页面。补纸或清除卡纸后,不能在未确认部分输出的情况下直接重打。

Windows 队列卡住

代理停止该打印机领取新任务,记录 Spooler 作业号和队列状态。检查驱动、队列和设备错误。如果任务可能已经出纸,进入人工确认。

不要直接清空队列后自动重试。

代理重启

启动后读取本地回执。下载阶段可以恢复;preparedsubmitted 的不确定任务进入人工确认。不能只看云端状态重新执行打印命令。

门店断网

中心平台把代理显示为离线,阻止新用户支付。网络恢复后代理先上报本地回执和状态,再领取新任务。不得为了“救急”开放打印机公网端口。

中心 API 故障

负载均衡摘除异常实例,客户端对查询操作安全重试。恢复时先核对支付回调、outbox 和队列积压,不丢弃未处理通知。

支付成功但没有出纸

核对支付、订单、任务、租约、本地回执、Spooler 和现场。确认未打印后退款或由授权人员重打。不得让用户重新支付。

疑似重复打印

立即冻结该打印机的新任务,保全 API 日志、数据库状态、队列投递、本地回执、Spooler 记录和现场证据。确认影响订单并处理用户补偿,修复幂等边界后才恢复。

对象存储异常

暂停新上传和任务领取。恢复后重新校验对象大小和 SHA-256,任何校验失败文件不得打印。

六、管理后台最小模块

  • 实时总览:在线设备、排队、成功率、收入、退款和告警
  • 资产管理:租户、门店、代理、打印机、二维码和版本
  • 订单中心:状态时间线、支付、打印回执、退款和客服备注
  • 运维中心:心跳、队列、错误、诊断包、维护模式和升级
  • 配置中心:价格、限制、文件保留和营业时间
  • 审计中心:管理员操作、密钥轮换、设备吊销和数据导出

七、事故复盘

每次 P1/P2 事故记录:

  • 完整时间线
  • 影响门店、设备和订单
  • 资金和用户补偿
  • 直接原因与系统性原因
  • 临时止血措施
  • 永久修复
  • 负责人和完成日期
  • 修复后的验证证据

复盘重点是系统为何没有提前发现或阻断,而不是把问题归结为某个人操作失误。

上一篇:域名与云部署下一篇:测试与路线图