[发明专利]基于节点历史值的树形结构组织编辑操作回撤方法有效
| 申请号: | 202110473314.3 | 申请日: | 2021-04-29 | 
| 公开(公告)号: | CN113377364B | 公开(公告)日: | 2022-10-11 | 
| 发明(设计)人: | 朱珮旗;樊红日;钱波;茅健 | 申请(专利权)人: | 上海工程技术大学 | 
| 主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/35 | 
| 代理公司: | 上海唯智赢专利代理事务所(普通合伙) 31293 | 代理人: | 姜晓艳 | 
| 地址: | 201620 *** | 国省代码: | 上海;31 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 基于 节点 历史 树形 结构 组织 编辑 操作 回撤 方法 | ||
1.一种基于节点历史值的树形结构组织编辑操作回撤方法,其特征在于:根据编辑操作顺序,建立操作序列表List=[P1,P2,…,Pi,…,Pn],其中Pi表示第i个编辑操作及操作内容,并生成对应的包含各个节点对象历史值序列的全值树形模型T,
然后根据回撤要求,从所述操作序列表中找到回撤要求对应的编辑操作Pi,生成从实施第1个编辑操作到第i个编辑操作对应的包含各个节点对象历史值序列的全值树形模型Tnew,
最后根据所述全值树形模型Tnew,建立实施第i个编辑操作后对应的实际树形模型M,从而完成回撤操作。
2.根据权利要求1所述的基于节点历史值的树形结构组织编辑操作回撤方法,其特征在于:所述操作序列表中的编辑操作Pi的数据结构包括当前操作序号、当前操作种类、值对象指针列表、前续操作指针和后续操作指针,所述值对象指针包括指向当前操作种类所作用的节点及节点对象值的指针,所述前续操作指针设置为指向当前操作的前一个操作的指针,所述后续操作指针设置为指向当前操作的后一个操作的指针。
3.根据权利要求2所述的基于节点历史值的树形结构组织编辑操作回撤方法,其特征在于:所述全值树形模型T设置为通过编辑操作“添加”、“修改”和/或“删除”建立的包含一个或者多个根节点、子节点的树形模型,每个节点均包括一个或者多个节点对象,或者一个或者多个节点对象及对应的节点对象历史值序列。
4.根据权利要求3所述的基于节点历史值的树形结构组织编辑操作回撤方法,其特征在于建立操作序列表List=[P1,P2,…,Pi,…,Pn],并生成对应的包含各个节点对象历史值序列的全值树形模型T的方法包括先根据每个编辑操作的数据结构中的前续操作指针,找到当前操作在树形模型中所要作用的位置,然后根据当前操作种类,将值对象指针列表的内容作用到树形模型上,从而生成全值树形模型T,并将对应的编辑操作按照顺序保存到操作序列表中,完成操作序列表的建立,具体如下:
a)若当前操作种类为“添加”编辑操作,则在原本树形结构中添加新的节点,并设置对应的值对象;同时记录该操作,操作的值对象指针指向该节点,并更新其前续操作的后续操作指针并将其按照顺序保存到操作序列表中;
b)若当前操作种类为“修改”编辑操作,则在原本树形结构中相应节点的历史值序列中添加新的对象值,并将新的对象值设置为修改后的最新值;同时记录该操作,操作的值对象指针指向新的值对象,并更新其前续操作的后续操作指针,并将其按照顺序保存到操作序列表中;
c)若当前操作种类为“删除”编辑操作,则在原本树形结构中相应节点的历史值序列中添加新的对象值,并将新的对象值设置为空;同时记录该操作,并更新其前续操作的后续操作指针,并将其按照顺序保存到操作序列表中。
5.根据权利要求4所述的基于节点历史值的树形结构组织编辑操作回撤方法,其特征在于:根据回撤要求,在全值树形模型T中,标记第1个编辑操作到第i个编辑操作对应各个节点的对象值,然后将其与对应的节点及节点拓扑结构取出,从而生成对应的包含各个节点对象历史值序列的全值树形模型Tnew。
6.根据权利要求5所述的基于节点历史值的树形结构组织编辑操作回撤方法,其特征在于:遍历所述全值树形模型Tnew中的每个节点,若节点对应的历史值序列中仅有单一对象值,则取所述单一对象值;若节点对应的历史值序列中包含多个对象值,则取值列表中最后一个值;若所述单一对象值或者最后一个值为空,则将对应的节点删除,从而建立实施第i个编辑操作后对应的实际树形模型M。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海工程技术大学,未经上海工程技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110473314.3/1.html,转载请声明来源钻瓜专利网。





