表单保存方法、装置、存储介质及电子设备制造方法及图纸

技术编号:24206396 阅读:45 留言:0更新日期:2020-05-20 14:51
本公开涉及一种表单保存方法、装置、存储介质及电子设备,以在节省存储空间的同时,实现表单版本的快速回溯,解决相关技术中存在的问题。该方法包括:确定目标表单的表单项是否发生变化;若目标表单的表单项发生变化,则根据发生变化的表单项,更新目标表单对应的实体对象,其中,实体对象是将目标表单的表单项进行划分而得到的;根据目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,表单痕迹链表中的每个结点分别用于表征目标表单对应的每个实体对象,每个结点包括生成时间属性,生成时间属性用于表征表单痕迹链表的生成时间。

Form storage method, device, storage medium and electronic equipment

【技术实现步骤摘要】
表单保存方法、装置、存储介质及电子设备
本公开涉及计算机
,具体地,涉及一种表单保存方法、装置、存储介质及电子设备。
技术介绍
表单是实现无纸化办公的重要工具。在设计表单的过程中,比如在设计表头信息的过程中,可能需要记录针对表单信息的修改内容,另外可能还需要快速回溯到修改之前的任一版本。相关技术,可以在每次修改后都保存一份新的表单。此种方式实现简单,也能快速进行版本回溯,但是对于没有被修改的表单内容会进行重复存储,导致存储空间的浪费。另外,相关技术还可以在每次修改时只保存被修改的内容。此种方式虽然可以节省存储空间,但是却无法快速回溯到指定版本。
技术实现思路
本公开的目的是提供一种表单保存方法、装置、存储介质及电子设备,以解决相关技术在表单保存过程中存在的问题。为了实现上述目的,第一方面,本公开提供一种表单保存方法,所述方法包括:确定所述目标表单的表单项是否发生变化;若所述目标表单的表单项发生变化,则根据发生变化的表单项,更新所述目标表单对应的实体对象,其中,所述实体对象是将所述目标表单的表单项进行划分而得到的;根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,所述表单痕迹链表中的每个结点分别用于表征所述目标表单对应的每个实体对象,所述每个结点包括生成时间属性,所述生成时间属性用于表征所述表单痕迹链表的生成时间。可选地,所述表单痕迹链表中的每个结点还包括变更时间属性,所述变更时间属性用于表征所述结点的后置结点发生变更的时间,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:确定所述目标表单更新后的实体对象中内容发生变化的第一实体对象;获取所述目标表单在所述表单项发生变化前的第一历史表单痕迹链表;更新所述第一历史表单痕迹链表中所述第一实体对象对应的结点,并针对所述结点的所有前置结点,分别将所述前置结点的变更时间属性修改为所述结点的更新时间,以得到新的表单痕迹链表进行保存。可选地,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:确定所述目标表单更新后的实体对象中新增的第二实体对象;获取所述目标表单在所述表单项发生变化前的第二历史表单痕迹链表;将所述第二实体对象作为尾结点,插入所述第二历史痕迹链表中,得到新的表单痕迹链表进行保存。可选地,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:确定所述目标表单更新后的实体对象中被删除的第三实体对象;获取所述目标表单在所述表单项发生变化前的第三历史表单痕迹链表;将所述第三历史表单痕迹链表中所述第三实体对象对应的结点替换为虚拟结点,得到新的表单痕迹链表进行保存。可选地,所述方法还包括:响应于接收到用于查看所述目标表单的第一版本与第二版本之间差异的请求,将所述第一版本对应的第一表单痕迹链表以及所述第二版本对应的第二表单痕迹链表进行比对,确定所述第一表单痕迹链表和所述第二表单痕迹链表之间的差异结点;若所述第一表单痕迹链表与所述第二表单痕迹链表中结点的变更时间属性相同,则停止比对所述第一表单痕迹链表与所述第二表单痕迹链表,并将所述差异结点对应的实体对象所表征的表单项作为差异表单项进行输出显示。可选地,所述方法还包括:响应于接收到用于将所述目标表单的当前版本回退到目标历史版本的请求,确定所述请求包括的所述目标历史版本的生成时间;在历史表单痕迹链表中,确定结点的生成时间属性为所述生成时间的目标表单痕迹链表;将所述目标表单痕迹链表中每个结点对应的实体对象所表征的表单项进行组合,得到所述目标历史版本的目标表单进行输出显示。可选地,所述确定目标表单的表单项是否发生变化,包括:确定所述目标表单中每个实体对象的当前哈希值;针对所述目标表单中的每个实体对象,确定所述实体对象的当前哈希值与历史哈希值是否相同;所述若所述目标表单的表单项发生变化,则根据发生变化的表单项,更新所述目标表单对应的实体对象,包括:若所述实体对象的当前哈希值与历史哈希值不相同,则确定所述目标表单的表单项发生变化,并更新所述目标表单对应的实体对象。第二方面,本公开还提供一种表单保存装置,所述装置包括:确定模块,用于确定所述目标表单的表单项是否发生变化;更新模块,用于当所述目标表单的表单项发生变化时,根据发生变化的表单项,更新所述目标表单对应的实体对象,其中,所述实体对象是将所述目标表单的表单项进行划分而得到的;保存模块,用于根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,所述表单痕迹链表中的每个结点分别用于表征所述目标表单对应的每个实体对象,所述每个结点包括生成时间属性,所述生成时间属性用于表征所述表单痕迹链表的生成时间。第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。第四方面,本公开还提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。通过上述技术方案,在目标表单的表单项发生变化的情况下,可以针对发生变化的表单项进行实体对象的更新,而无需重新保存整个表单的内容,从而可以节省存储空间。另外,表单痕迹链表中的每个结点分别表征目标表单对应的每个实体对象,并且每个结点包括生成时间属性,该生成时间属性用于表征表单痕迹链表的生成时间,因此在确定待回溯的表单版本的生成时间之后,可以根据该生成时间属性快速回溯到对应的表单版本,解决了相关技术在表单保存过程中存在的问题。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据本公开一示例性实施例示出的一种表单保存方法的流程图;图2是根据本公开一示例性实施例示出的一种表单保存方法中的目标表单以及所示目标表单对应的实体对象的示意图;图3是根据本公开一示例性实施例示出的一种表单保存方法中生成表单痕迹链表的过程示意图;图4是根据本公开另一示例性实施例示出的一种表单保存方法中生成表单痕迹链表的过程示意图;图5是根据本公开另一示例性实施例示出的一种表单保存方法中生成表单痕迹链表的过程示意图;图6是根据本公开一示例性实施例示出的一种表单保存装置的框图;图7是根据本公开一示例性实施例示出的一种电子设备的框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。表单是实现无纸化办公的重要工具。在设计表单的本文档来自技高网...

【技术保护点】
1.一种表单保存方法,其特征在于,所述方法包括:/n确定所述目标表单的表单项是否发生变化;/n若所述目标表单的表单项发生变化,则根据发生变化的表单项,更新所述目标表单对应的实体对象,其中,所述实体对象是将所述目标表单的表单项进行划分而得到的;/n根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,所述表单痕迹链表中的每个结点分别用于表征所述目标表单对应的每个实体对象,所述每个结点包括生成时间属性,所述生成时间属性用于表征所述表单痕迹链表的生成时间。/n

【技术特征摘要】
1.一种表单保存方法,其特征在于,所述方法包括:
确定所述目标表单的表单项是否发生变化;
若所述目标表单的表单项发生变化,则根据发生变化的表单项,更新所述目标表单对应的实体对象,其中,所述实体对象是将所述目标表单的表单项进行划分而得到的;
根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,所述表单痕迹链表中的每个结点分别用于表征所述目标表单对应的每个实体对象,所述每个结点包括生成时间属性,所述生成时间属性用于表征所述表单痕迹链表的生成时间。


2.根据权利要求1所述的方法,其特征在于,所述表单痕迹链表中的每个结点还包括变更时间属性,所述变更时间属性用于表征所述结点的后置结点发生变更的时间,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:
确定所述目标表单更新后的实体对象中内容发生变化的第一实体对象;
获取所述目标表单在所述表单项发生变化前的第一历史表单痕迹链表;
更新所述第一历史表单痕迹链表中所述第一实体对象对应的结点,并针对所述结点的所有前置结点,分别将所述前置结点的变更时间属性修改为所述结点的更新时间,以得到新的表单痕迹链表进行保存。


3.根据权利要求1所述的方法,其特征在于,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:
确定所述目标表单更新后的实体对象中新增的第二实体对象;
获取所述目标表单在所述表单项发生变化前的第二历史表单痕迹链表;
将所述第二实体对象作为尾结点,插入所述第二历史痕迹链表中,得到新的表单痕迹链表进行保存。


4.根据权利要求1所述的方法,其特征在于,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:
确定所述目标表单更新后的实体对象中被删除的第三实体对象;
获取所述目标表单在所述表单项发生变化前的第三历史表单痕迹链表;
将所述第三历史表单痕迹链表中所述第三实体对象对应的结点替换为虚拟结点,得到新的表单痕迹链表进行保存。


5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于接收到用于查看所述目标表单的第一版本与第二版本之间差异的请求,将所述第一版本对应的第一表单痕迹链表以及所述第二版本对应的第二表单痕迹链表进行比对,确定所述第一表单痕...

【专利技术属性】
技术研发人员:周学飞
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1