首页/新闻资讯/正文详情

跨窗口拖拽松手后重复导入:dropSessionId 与数据指纹如何保证幂等

发布时间:2026/9/26 11:19:15 来源:云帆数科 栏目:资讯中心
跨窗口拖拽松手后重复导入:dropSessionId 与数据指纹如何保证幂等
跨窗口拖拽松手后重复导入dropSessionId 与数据指纹如何保证幂等用户把三张图片从文件管理器拖到应用松手后列表出现六条日志里同一批数据触发了两次处理。跨窗口和跨设备拖拽涉及来源端、系统数据通路和目标组件回调重入或用户在无反馈时再次拖动都可能发生。去重不能只比较文件名也不能永远禁止相同图片再次导入。验证边界本文依据华为开发者官网截至 2026-09-25 可访问的资料整理。文中的状态机、去重器和坐标计算已经在 Node.js 宿主环境执行断言当前本机仍是 API 24 SDK且没有连接 HDC 真机因此不把这些断言写成 API 26 编译或真机实测。涉及窗口、拖拽和跨设备能力的正式交付仍需在 API 26 SDK、模拟器或对应真机上补齐接口编译、交互录像与日志证据。重复执行从哪里来若每个回调都立即创建记录同一次 drop 的重复通知会重复写入若用内容 hash 永久去重用户合法地再次添加相同素材又会被错误阻止。还有一种半失败数据库已写入缩略图任务失败重试后再次写数据库。需要同时区分“同一拖拽会话”和“不同时间的相同内容”。幂等边界怎么定义dropSessionId 标识一次交互内容指纹标识一条数据。目标端建立 RECEIVED、VALIDATED、COMMITTED、FAILED 状态同一 session 的相同指纹只处理一次不同 session 可以按业务规则再次导入。数据库提交与异步派生任务分开派生任务以 recordId 幂等重试不再重复创建主记录。type DropPhaseRECEIVED|VALIDATED|COMMITTED|FAILED; interface DropKey { sessionId:string; fingerprint:string } export function keyOf(k:DropKey){ return k.sessionId|k.fingerprint; } export function shouldHandle(seen:Setstring,k:DropKey):boolean { const keykeyOf(k); if(seen.has(key)) return false; seen.add(key); return true; } export function fingerprint(type:string,size:number,name:string){ return [type,size,name].join(:); }案例一同一次松手触发两次目标回调两次回调携带相同 sessionId解析出的内容指纹也相同第二次在 RECEIVED 门禁就返回已有结果。界面复用第一次的进度不显示第二条占位记录。会话结束后保留短期结果覆盖迟到回调。案例二缩略图失败后用户点击重试主记录已经 COMMITTED重试只重新运行以 recordId 为键的缩略图任务不重新导入 UDMF 数据。若用户隔天再次拖入相同图片新的 sessionId 允许进入再由业务层决定提示重复内容还是创建副本。失败、重试与回滚观察项容易写错更可靠的处理去重范围文件名永久去重sessionId 限定一次交互数据身份只比较标题或路径类型、大小和内容摘要组成指纹失败重试整条导入从头再来按阶段重试派生任务用户反馈重复回调各显示一条复用同一进度与结果会话去重和业务重复检测必须分开。前者保证一次拖拽只执行一次后者决定不同操作导入相同内容时的产品策略。状态机让数据库提交与缩略图、上传等后续任务各自可恢复。可复用门禁一次拖拽有稳定 dropSessionId。同一 session 的相同指纹只处理一次。主记录提交与派生任务分阶段。迟到回调能返回已有结果。不同 session 的相同内容由业务规则决定。官方资料与适用范围统一拖拽跨设备连接 UIAbility 开发指南重复导入不是简单加一个 Set 就结束。给一次交互和一条数据分别建立身份才能既挡住重入又不误伤用户真正的第二次操作。

相关推荐

【深度学习新浪潮】RoPE 旋转位置编码:从三角函数到旋转矩阵,解码大语言模型位置感知的核心数学之美
【深度学习新浪潮】RoPE 旋转位置编码:从三角函数到旋转矩阵,解码大语言模型位置感知的核心数学之美

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 11:19:15

多Agent架构实战:给GPT-6配AI团队,Token消耗直降七成
多Agent架构实战:给GPT-6配AI团队,Token消耗直降七成

上个月底我盯着后台的 Token 用量曲线,半天没说话。GPT-6 ultra 确实强,强到我把所有任务都往里塞,塞到月度消耗直接爆表,还没算并发重试和上下文反复计费。后来我意识到问题不是"这个模型太烧钱",而是我让一… · 2026/9/26 11:19:09

Python 批量插入多条数据:pymysql executemany 方法配 TaoToken 的 settings.json 骨架与报错排查
Python 批量插入多条数据:pymysql executemany 方法配 TaoToken 的 settings.json 骨架与报错排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 11:19:03

Qwerty Learner 配 TaoToken:为键盘工作者设计的单词记忆与英语肌肉记忆锻炼网页
Qwerty Learner 配 TaoToken:为键盘工作者设计的单词记忆与英语肌肉记忆锻炼网页

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 15:00:50

Moltbot(OpenClaw)与扣子商店技能对比:TaoToken 统一 Key 接入配置实战
Moltbot(OpenClaw)与扣子商店技能对比:TaoToken 统一 Key 接入配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 15:00:50

DB2 V11.1安装实战:从下载到实例创建与Docker部署避坑指南
DB2 V11.1安装实战:从下载到实例创建与Docker部署避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 15:00:37

Atlas 300V 24G推理加速卡上运行YOLO:从概念到部署全解析
Atlas 300V 24G推理加速卡上运行YOLO:从概念到部署全解析

最近在好几个技术群里连续看到同一个问题:“Atlas 300V 24G是运算加速卡吗?”“有没有人用Atlas部署过YOLO?”这俩问题其实是同一件事:很多人刚拿到昇腾推理卡,想把手里的目标检测任务跑起来,结果第一步就卡… · 2026/9/26 15:00:31

Python+OpenCV疲劳驾驶检测源码:EAR/MAR算法与工程避坑指南
Python+OpenCV疲劳驾驶检测源码:EAR/MAR算法与工程避坑指南

简介:这是一套面向计算机相关专业学生与项目实战学习者的疲劳驾驶检测完整项目包,基于Python与OpenCV实现,可直接用于毕业设计、课程设计或期末大作业。项目围绕人脸关键点定位与眼部状态分析展开,通过摄像头实时判断驾驶员疲劳程… · 2026/9/26 15:00:31

WinCC V16 ADODB连接SQL Server工业级实践指南
WinCC V16 ADODB连接SQL Server工业级实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 15:00:31

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码