【技术实现步骤摘要】
一种前端操作记录缓存和撤销重做的数据管理系统和方法
[0001]本专利技术属于前端用户操作动作管理
,尤其涉及一种前端操作记录缓存和撤销重做的数据管理系统和方法。
技术介绍
[0002]随着Web3.0的成熟和HTML5技术的发展、云计算和云平台的普及,以及工业界IT与OT技术的融合,各种应用系统用户终端逐渐从传统C/S架构的桌面程序客户端转向了更轻盈、更扁平的B/S架构的Web应用。Web端能够方便美观地实现界面设计和用户交互,但是并不擅长复杂业务逻辑的处理,所以通常前端只负责调用服务接口获取数据后处理页面渲染,复杂业务一般都是通过实时调用后台接口,由后台实现。对于需要前端缓存操作并灵活撤销、重做和保存的应用场景,需要一种通用可行的、支持Web端JavaScript脚本语言实现的、满足灵活应用的用户操作动作管理方法。
技术实现思路
[0003]本专利技术目的在于提供一种前端操作记录缓存和撤销重做的数据管理系统和方法,以解决上述的技术问题。
[0004]为解决上述技术问题,本专利技术的一种前端操 ...
【技术保护点】
【技术特征摘要】
1.一种前端操作记录缓存和撤销重做的数据管理系统,其特征在于,包括动作表、逆向动作栈、执行节点和保存节点,所述动作表用于记录前端的所有用户动作,新增的动作作为一个新节点添加到该链表当前执行节点的下一个位置,当链表总长度超限后从头部删除超出的节点;所述逆向动作栈用于记录前端需要反向操作的用户动作,即已保存到服务端却又被前端执行“撤销”的动作集合,“重做”时弹出栈顶;所述执行节点用于记录当前动作表中有效的用户动作节点位置,“撤销”时节点往上移动,“重做”时节点往下移动;所述保存节点用于记录当前动作已经保存到服务端的节点位置,当执行保存操作后,保存节点等于执行节点。2.根据权利要求1所述的前端操作记录缓存和撤销重做的数据管理系统,其特征在于,所述动作表采用先入先出的双向链表数据结构,链表元素为用户动作数据对象;动作对象根据特定的业务功能设计,包含指定的数据字段;新增用户动作时在链表尾部添加元素,当动作数量超过链表指定的限制值时,从头部删除最老的元素;限制值由前端内存决定,默认100。3.根据权利要求1所述的前端操作记录缓存和撤销重做的数据管理系统,其特征在于,所述逆向动作栈采用先入后出的栈数据结构,栈元素同“动作表”一样都是用户动作数据对象;执行撤销后用户再进行其他新的动作时,新的动作会重新添加到链表覆盖原来撤销过的动作,之前新增了一个子项,逆向就是删除该子项;之前删除了某子项,逆向就是新增;之前修改了某项内容由A变成了B,逆向就是修改某项内容由B变成A;如果用户“撤销”到保存序号后面的动作时,将上一个动作元素由“动作表”中拷贝后压入本栈;如果压入栈后用户马上又执行“重做”,则弹出栈顶元素。4.根据权利要求1所述的前端操作记录缓存和撤销重做的数据管理系统,其特征在于,所述执行节点初始时指向NULL,新增用户动作时在表头位置添加元素,执行节点变为表头节点,后续新增动作时,插入到执行节点的下一个节点处,并将下一个节点作为新的执行节点;撤销和重做时动作表内容不动,仅移动执行节点;当“撤销”时执行节点变为它的上一个节点,如果当前执行节点已经是表头了,则节点变为NULL,当前执行节点为NULL时无法再执行“撤销”;当“重做”时执行节点变为它的下一个节点,如果当前执行节点已经是“动作表”的末尾时无法再执行“重做”。5.根据权利要求1所述的前端操作记录缓存和撤销重做的数据管理系统,其特征在于,所述保存节点初始时指向NULL,执行一次保存后当前“保存节点”被赋值为“执行节点”;
ꢀ“
保存节点”一定在“执行节点”之前或者重合,即“保存节点”小于等于“执行节点”;正常用户操作时,“执行节点”与“保存节点”之间的节点就是待保存内容,当存在保存后再“撤销”时,即“逆向动作栈”中有内容时,执行保存时先保存“逆向动作栈”中所有动作的逆向,再保存“动作表”中“执行节点”与“保存节点”之间的动作。6.一种利用权利要求1
‑
5任一项所述的前端操作记录缓存和撤销重做的数据管理系统进行前端操作记录缓存和撤销重做的数据管理方法,其特征在于,包括新增步骤、撤销步骤、重做步骤和保存步骤,所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。