说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211113921.X (22)申请日 2022.09.14 (71)申请人 之江实验室 地址 311100 浙江省杭州市余杭区中泰街 道之江实验室南湖总部 (72)发明人 林会肖 李怀明 金婷  (74)专利代理 机构 杭州浙科专利事务所(普通 合伙) 33213 专利代理师 陈洁 (51)Int.Cl. G06F 16/901(2019.01) G06F 16/2455(2019.01) H04L 67/51(2022.01) (54)发明名称 一种前端操作记录缓存和撤销重做的数据 管理系统和方法 (57)摘要 本发明属于前端用户操作动作管理技术领 域, 公开了一种前端操作记录缓存和撤销重做的 数据管理系统和方法, 包括动作表、 逆向动作栈、 执行节点和保存节点, 动作表用于记录前端的所 有用户动作, 新增的动作作为一个新节点添加到 该链表当前执行节点的下一个位置, 逆向动作栈 用于记录 前端需要反向操作的用户动作, “重做” 时弹出栈顶; 执行节点用于记录当前动作表中有 效的用户动作节点位置, 所述保存节 点用于记录 当前动作已经保存到服务端的节 点位置。 本发明 解决了前端在本地缓存多步用户动作的数据管 理难题, 尤其是保存到服务端后再执行撤销或重 做等导致的客户端动作记录紊乱问题, 同时最大 化地利用Web前端内存空间, 提高了可撤销重做 动作步数。 权利要求书2页 说明书5页 附图1页 CN 115510278 A 2022.12.23 CN 115510278 A 1.一种前端操作记录缓存和撤销重做的数据 管理系统, 其特征在于, 包括动作表、 逆向 动作栈、 执行节点和保存节点, 所述动作 表用于记录前端的所有用户动作, 新增的动作作为 一个新节点添加到该链表当前执行节点的下一个位置, 当链表总长度超限后从头部删除超 出的节点; 所述逆向动作栈用于记录前端需要反向操作的用户动作, 即已保存到服务端却 又被前端执行 “撤销”的动作集合, “重做”时弹出栈顶; 所述执行节点用于记录当前动作表 中有效的用户动作节点位置, “撤销”时节点往 上移动,“重做”时节点往下移动; 所述保存节 点用于记录当前动作已经保存到服务端的节点位置, 当执行保存操作后, 保存节点等于执 行节点。 2.根据权利要求1所述的前端操作记录缓存和撤销 重做的数据管理系统, 其特征在于, 所述动作表采用先入先出 的双向链表数据结构, 链表元素为用户动作数据对 象; 动作对 象 根据特定的业务功能设计, 包含指 定的数据字段; 新增用户动作时在链表尾部添加元素, 当 动作数量超过链表指 定的限制值时, 从头部删除最老的元素; 限制值由前端内存决定, 默认 100。 3.根据权利要求1所述的前端操作记录缓存和撤销 重做的数据管理系统, 其特征在于, 所述逆向动作栈采用先入后出的栈数据结构, 栈元素同 “动作表”一样都是用户动作数据对 象; 执行撤销后用户再进行其他新的动作时, 新的动作会重新添加到链表覆盖原来撤销过 的动作, 之前新增了一个子项, 逆向就是删除该子项; 之前删除了某子项, 逆向就是新增; 之 前修改了某项内容由A变成了B, 逆向就是修改某项内容由B变成A; 如果用户 “撤销”到保存 序号后面的动作时, 将上一个动作元素 由“动作表”中拷贝后压入本栈; 如果压入栈后用户 马上又执行“重做”, 则弹出栈顶元 素。 4.根据权利要求1所述的前端操作记录缓存和撤销 重做的数据管理系统, 其特征在于, 所述执行节点初始时指向NULL, 新增用户动作时在表头位置添加元素, 执行节点变为表头 节点, 后续新增 动作时, 插入到执行节点的下一个节点处, 并将下一个节点作为新的执行节 点; 撤销和重做时动作 表内容不动, 仅移动执行节点; 当 “撤销”时执行节点变为它的上一个 节点, 如果当前执行节 点已经是表头了, 则节 点变为NULL, 当前执行节 点为NULL时无法再执 行“撤销”; 当“重做”时执行节点变为它的下一个节点, 如果当前执行节点已经是 “动作表” 的末尾时无法再 执行“重做”。 5.根据权利要求1所述的前端操作记录缓存和撤销 重做的数据管理系统, 其特征在于, 所述保存节点初始时指向NULL, 执行一次保存后当前 “保存节点 ”被赋值为“执行节点 ”;  “保存节点 ”一定在“执行节点 ”之前或者重合, 即 “保存节点 ”小于等于“执行节点 ”; 正常用 户操作时, “执行节点 ”与“保存节点 ”之间的节点就是待保存内容, 当存在保存后再 “撤销” 时, 即“逆向动作栈 ”中有内容时, 执行保存时先保存 “逆向动作栈 ”中所有动作的逆向, 再保 存“动作表”中“执行节点”与“保存节点 ”之间的动作。 6.一种利用权利要求1 ‑5任一项所述的前端操作记录缓存和撤销重做的数据 管理系统 进行前端操作记录缓存和撤销重做的数据管理方法, 其特征在于, 包括新增步骤、 撤销步 骤、 重做步骤和保存步骤, 所述数据管理方法满足新增、 撤销、 重做、 保存这四个操作之间的 重复交叉。 7.根据权利要求6所述的前端操作记录缓存和撤销 重做的数据管理方法, 其特征在于, 所述新增步骤 包括:权 利 要 求 书 1/2 页 2 CN 115510278 A 2新增用户动作时, 先判断当前 “动作表”中总长度是否达到限值, 如果已经达到, 需要删 除“动作表”表头元素, 在删除前需要再判断被删的元素是否已保存, 如果未保存需要提示 用户, 用户可选择立即保存、 丢弃不保存、 或取消当前新增操作; 新增的用户动作添加到 “动 作表”中“执行节点 ”指向的下一个位置, 如果 “执行节点 ”为NULL, 指向链表的表头位置, 然 后更新“执行节点”为新插入的节点; 新增的用户动作插入到 “动作表”中“执行节点 ”的下个节点位置, 如果之前有撤销操 作, 则下个节点会有内容, 当前 再新增操作时新的用户动作会覆盖下个节点。 8.根据权利要求6所述的前端操作记录缓存和撤销 重做的数据管理方法, 其特征在于, 所述撤销步骤 包括: 撤销是将已经新增的用户动作回退, 撤销时不删除 “动作表”中的内容, 仅仅移动 “执行 节点”到它的前一个位置; 先判断 “执行节点”是否为NULL, 如果为NULL则不能再执行撤销操 作了; 如果不为NULL则 “执行节点 ”变为它所指向的前一个节点, 如果当前已经是 “动作表” 的表头时, 其前一个节点是NUL L, 执行撤销后“执行节点”变为NULL; 撤销执行前考虑 “保存节点 ”, 如果“保存节点 ”与“执行节点 ”相同, 都为非NULL, 则将 “保存节点 ”所对应的元素对象复制一份, 压入 “逆向动作栈 ”, 然后再将 “保存节点 ”变为它 所指向的前一个节点, 同 “执行节点”。 9.根据权利要求6所述的前端操作记录缓存和撤销 重做的数据管理方法, 其特征在于, 所述重做步骤 包括: 重做是将已经撤销的用户动作再恢复, 重做时同撤销一样都不影响 “动作表”中的内 容, 仅仅移动 “执行节点”到它的下一个位置; 先判断 “执行节点”是否为NULL, 如果为NULL则 不能执行重做, 如果不为NULL, 再判断其指向的下个节 点是否为NULL, 如果为NULL也不能执 行重做; 当 “执行节点 ”下个节点不为NULL时, “执行节点 ”变为它的下个节点, 重做操作完 成; 重做执行前考虑 “保存节点 ”, 如果“保存节点 ”与“执行节点 ”相同, 都为非NULL, 则判断 “执行节点 ”的下一个节点是否与当前 “逆向动作栈 ”的栈顶元素相同, 如果相同, 则弹出栈 顶元素, 同时将 “保存节点 ”变为它的下个节点。 10.根据权利要求6所述的前端操作记录缓存和撤销重做的数据管理方法, 其特征在 于, 所述保存步骤 包括: 保存是将前端的用户动作集合差分式地保存到服务端, 所述差分是指获取的待保存动 作列表是从上次保存的动作之后, 到当前动作为止的所有用户动作; 待保存列表分别从 “逆向动作栈 ”和“动作表”中获取, 先从 “逆向动作栈 ”的栈底到栈顶 依次获取需要逆向的用户动作, 如果 “逆向动作栈 ”为空则跳过该栈, 动作顺序是从栈底到 栈顶; 再从 “动作表”的“保存节点 ”之后开始依次获取每个节点的用户动作, 直到 “执行节 点”所在位置, 如果 “保存节点 ”与“执行节点”相同则跳过 该表; 执行保存时将待保存动作列表发送到服务端, 服务端返回成功后执行两步动作, 一是 清空“逆向动作栈 ”; 二是将“保存节点 ”设置成“执行节点”。权 利 要 求 书 2/2 页 3 CN 115510278 A 3

.PDF文档 专利 一种前端操作记录缓存和撤销重做的数据管理系统和方法

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种前端操作记录缓存和撤销重做的数据管理系统和方法 第 1 页 专利 一种前端操作记录缓存和撤销重做的数据管理系统和方法 第 2 页 专利 一种前端操作记录缓存和撤销重做的数据管理系统和方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 17:14:24上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。