O1.07.3Soft deletion设计研究
界面上的消失不等于实际删除
别名: 软删除 · 界面隐藏 · logical deletion
概念解释
软删除(soft deletion)通常只改变记录的可见或活动状态,例如设置删除标记、从列表过滤或停用账户,而数据仍存在于存储中。它可支持撤销和一致性,但不能与实际清除同义。用户看到对象从界面消失,只能证明某个读取路径不再展示;管理员查询、分析任务、导出接口或其他用户缓存仍可能访问同一数据。
机制
界面读取的是经过权限与状态过滤的投影,而非存储本身。把记录标为已删除比跨表、索引和副本清除更快,也便于恢复,因此工程系统常先软删除再异步清理。若产品把第一阶段显示为“已永久删除”,可见状态就替代了后台事实;遗漏过滤条件还可能使数据在搜索、通知或恢复后重新出现。
怎么研究
黑箱测试可在删除前记录对象标识与访问路径,删除后分别从原账户、其他账户、公开链接、搜索、导出和通知历史重试;白箱审计再检查数据库状态、后台任务与访问日志。指标包括隐藏延迟、仍可访问的路径、硬删除完成时间和复活事件。仅刷新当前页面是最弱证据,测试还需等待缓存过期和执行备份恢复。
边界
软删除本身不是错误。短期撤销窗口、反滥用隔离或事务恢复可以合理使用,但必须准确命名状态、禁止无关处理并自动进入下一阶段。某些共享消息删除后,为维持对话完整性可能保留“已删除”占位符;占位符不应继续暴露原内容。用户选择“从我的视图移除”时,系统也不应冒充全局删除。
怎么落地
- 为隐藏、停用、等待撤销、计划清除和不可恢复分别设计状态,界面用词与后台状态一一对应。
- 软删除后立即停止推荐、分析、搜索索引和非必要管理员访问,而不只是修改主列表过滤器。
- 清楚区分“仅为我隐藏”“对他人撤回”和“删除账户数据”,并在确认前预览影响范围。
- 用已知标识从所有读取接口、角色和缓存复测,再执行恢复演练;若内容重新出现或仍参与下游决策,就不能显示永久完成。