表单保存方法、装置、存储介质及电子设备与流程

文档序号:20775727发布日期:2020-05-19 20:44阅读:232来源:国知局
表单保存方法、装置、存储介质及电子设备与流程

本公开涉及计算机技术领域,具体地,涉及一种表单保存方法、装置、存储介质及电子设备。



背景技术:

表单是实现无纸化办公的重要工具。在设计表单的过程中,比如在设计表头信息的过程中,可能需要记录针对表单信息的修改内容,另外可能还需要快速回溯到修改之前的任一版本。

相关技术,可以在每次修改后都保存一份新的表单。此种方式实现简单,也能快速进行版本回溯,但是对于没有被修改的表单内容会进行重复存储,导致存储空间的浪费。另外,相关技术还可以在每次修改时只保存被修改的内容。此种方式虽然可以节省存储空间,但是却无法快速回溯到指定版本。



技术实现要素:

本公开的目的是提供一种表单保存方法、装置、存储介质及电子设备,以解决相关技术在表单保存过程中存在的问题。

为了实现上述目的,第一方面,本公开提供一种表单保存方法,所述方法包括:

确定所述目标表单的表单项是否发生变化;

若所述目标表单的表单项发生变化,则根据发生变化的表单项,更新所述目标表单对应的实体对象,其中,所述实体对象是将所述目标表单的表单项进行划分而得到的;

根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,所述表单痕迹链表中的每个结点分别用于表征所述目标表单对应的每个实体对象,所述每个结点包括生成时间属性,所述生成时间属性用于表征所述表单痕迹链表的生成时间。

可选地,所述表单痕迹链表中的每个结点还包括变更时间属性,所述变更时间属性用于表征所述结点的后置结点发生变更的时间,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:

确定所述目标表单更新后的实体对象中内容发生变化的第一实体对象;

获取所述目标表单在所述表单项发生变化前的第一历史表单痕迹链表;

更新所述第一历史表单痕迹链表中所述第一实体对象对应的结点,并针对所述结点的所有前置结点,分别将所述前置结点的变更时间属性修改为所述结点的更新时间,以得到新的表单痕迹链表进行保存。

可选地,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:

确定所述目标表单更新后的实体对象中新增的第二实体对象;

获取所述目标表单在所述表单项发生变化前的第二历史表单痕迹链表;

将所述第二实体对象作为尾结点,插入所述第二历史痕迹链表中,得到新的表单痕迹链表进行保存。

可选地,所述根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,包括:

确定所述目标表单更新后的实体对象中被删除的第三实体对象;

获取所述目标表单在所述表单项发生变化前的第三历史表单痕迹链表;

将所述第三历史表单痕迹链表中所述第三实体对象对应的结点替换为虚拟结点,得到新的表单痕迹链表进行保存。

可选地,所述方法还包括:

响应于接收到用于查看所述目标表单的第一版本与第二版本之间差异的请求,将所述第一版本对应的第一表单痕迹链表以及所述第二版本对应的第二表单痕迹链表进行比对,确定所述第一表单痕迹链表和所述第二表单痕迹链表之间的差异结点;

若所述第一表单痕迹链表与所述第二表单痕迹链表中结点的变更时间属性相同,则停止比对所述第一表单痕迹链表与所述第二表单痕迹链表,并将所述差异结点对应的实体对象所表征的表单项作为差异表单项进行输出显示。

可选地,所述方法还包括:

响应于接收到用于将所述目标表单的当前版本回退到目标历史版本的请求,确定所述请求包括的所述目标历史版本的生成时间;

在历史表单痕迹链表中,确定结点的生成时间属性为所述生成时间的目标表单痕迹链表;

将所述目标表单痕迹链表中每个结点对应的实体对象所表征的表单项进行组合,得到所述目标历史版本的目标表单进行输出显示。

可选地,所述确定目标表单的表单项是否发生变化,包括:

确定所述目标表单中每个实体对象的当前哈希值;

针对所述目标表单中的每个实体对象,确定所述实体对象的当前哈希值与历史哈希值是否相同;

所述若所述目标表单的表单项发生变化,则根据发生变化的表单项,更新所述目标表单对应的实体对象,包括:

若所述实体对象的当前哈希值与历史哈希值不相同,则确定所述目标表单的表单项发生变化,并更新所述目标表单对应的实体对象。

第二方面,本公开还提供一种表单保存装置,所述装置包括:

确定模块,用于确定所述目标表单的表单项是否发生变化;

更新模块,用于当所述目标表单的表单项发生变化时,根据发生变化的表单项,更新所述目标表单对应的实体对象,其中,所述实体对象是将所述目标表单的表单项进行划分而得到的;

保存模块,用于根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,所述表单痕迹链表中的每个结点分别用于表征所述目标表单对应的每个实体对象,所述每个结点包括生成时间属性,所述生成时间属性用于表征所述表单痕迹链表的生成时间。

第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。

第四方面,本公开还提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。

通过上述技术方案,在目标表单的表单项发生变化的情况下,可以针对发生变化的表单项进行实体对象的更新,而无需重新保存整个表单的内容,从而可以节省存储空间。另外,表单痕迹链表中的每个结点分别表征目标表单对应的每个实体对象,并且每个结点包括生成时间属性,该生成时间属性用于表征表单痕迹链表的生成时间,因此在确定待回溯的表单版本的生成时间之后,可以根据该生成时间属性快速回溯到对应的表单版本,解决了相关技术在表单保存过程中存在的问题。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据本公开一示例性实施例示出的一种表单保存方法的流程图;

图2是根据本公开一示例性实施例示出的一种表单保存方法中的目标表单以及所示目标表单对应的实体对象的示意图;

图3是根据本公开一示例性实施例示出的一种表单保存方法中生成表单痕迹链表的过程示意图;

图4是根据本公开另一示例性实施例示出的一种表单保存方法中生成表单痕迹链表的过程示意图;

图5是根据本公开另一示例性实施例示出的一种表单保存方法中生成表单痕迹链表的过程示意图;

图6是根据本公开一示例性实施例示出的一种表单保存装置的框图;

图7是根据本公开一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

表单是实现无纸化办公的重要工具。在设计表单的过程中,比如在设计表头信息的过程中,可能需要记录针对表单信息的修改内容,另外可能还需要快速回溯到修改之前的任一版本。相关技术,可以在每次修改后都保存一份新的表单。此种方式实现简单,也能快速进行版本回溯,但是对于没有被修改的表单内容会进行重复存储,导致存储空间的浪费。另外,相关技术还可以在每次修改时只保存被修改的内容。此种方式虽然可以节省存储空间,但是却无法快速回溯到指定版本

有鉴于此,本公开实施例提出一种表单保存方法、装置、存储介质及电子设备,以在节省存储空间的同时,实现表单版本的快速回溯,解决相关技术中存在的问题。

图1是根据本公开一示例性实施例示出的一种表单保存方法的流程图。参照图1,该表单保存方法包括:

步骤101,确定目标表单的表单项是否发生变化。

步骤102,若目标表单的表单项发生变化,则根据发生变化的表单项,更新目标表单对应的实体对象,其中,实体对象是将目标表单的表单项进行划分而得到的。

步骤103,根据目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,表单痕迹链表中的每个结点分别用于表征目标表单对应的每个实体对象,每个结点包括生成时间属性,生成时间属性用于表征表单痕迹链表的生成时间。

应当理解的是,链表是由一系列结点组成的,每个结点包括存储数据元素的数据域以及下一个结点地址的指针域。在本公开实施例中,表单痕迹链表中每个结点的数据域可以分别为目标表单对应的每个实体对象的实体对象id,指针域则为下一个结点对应的实体对象的实体对象id。另外,本公开实施例中表单痕迹链表可以为双向链表,或者其他形式的链表,本公开实施例对此不作限定。

在本公开实施例中,目标表单的实际表单内容通过多个实体对象进行保存,在初始存储目标表单对应的实体对象后,可以生成初始表单痕迹链表,该初始表单痕迹链表中的每个结点可以是目标表单对应的每个实体对象的实体对象id,从而表单痕迹链表中的每个结点可以分别与初始存储的目标表单对应的实体对象一一对应。若后续对目标表单进行修改,则可以根据发生变化的表单项,更新目标表单对应的实体对象,然后根据更新后的目标表单对应的实体对象,生成新的表单痕迹链表,该新的表单痕迹链表可以与更新后的实体对象一一对应。

通过这样的方式,表单痕迹链表可以记录针对目标表单的每一次修改,并且表单痕迹链表并不保存目标表单的实际表单内容,而是保存针对目标表单对应的每个实体对象的引用,比如表单痕迹链表中的每个结点可以是目标表单对应的每个实体对象的实体对象id,因此可以在节省存储空间的同时,完整记录针对目标表单的修改记录。并且,表单痕迹链表中的每个结点包括生成时间属性,该生成时间属性用于表征表单痕迹链表的生成时间,因此在确定待回溯的表单版本的生成时间之后,可以根据该生成时间属性先在表单痕迹链表中确定该表单版本对应的目标实体对象,然后可以在保存的实体对象中获取目标实体对象,从而快速回溯到对应的表单版本。

为了使得本领域技术人员更加理解本公开实施例中的表单保存方法,下面对上述各步骤进行详细举例说明。

首先说明,在步骤101之前,可以先将目标表单的表单项进行划分得到多个实体对象,每个实体对象分别与目标表单中的每个表单项一一对应。示例地,在设计表头信息的场景下,可以按照目标表单中表头信息的类型,将目标表单的表单项分别划分为多个实体对象。比如,参照图2,目标表单的表头包括“姓名”、“性别”和“年龄”这三项,那么可以按照表头信息的类型,将目标表单划分为三个实体对象,每个实体对象分别对应“姓名”、“性别”和“年龄”。

应当理解的是,每个实体对象可以包括实体对象id、修改时间、扩展属性和哈希值。相应地,目标表单对应的实体对象可以如表1所示的形式进行存储:

表1

其中,实体对象id可以用于唯一确定实体对象,每个实体对象的实体对象id分别不同。修改时间可以用于表征最新修改实体对象的时间。应当理解的是,若在生成实体对象后,该实体对象未被修改过,那么该实体对象的修改时间可以是该实体对象的生成时间。扩展属性可以用于表征该实体对象对应的表单项的表单样式、内容信息等属性。哈希值可以是根据实体对象对应的表单项的各种属性值计算得到的,具体过程与相关技术中类似,这里不再赘述。应当理解的是,表1所示内容仅是对目标表单的实体对象进行的示例性说明,并不用于限制本公开。

在将目标表单划分为多个实体对象进行保存后,若接收到针对目标表单的表单保存请求,则可以响应于该表单保存请求,确定目标表单的表单项是否发生变化。在可能的方式中,可以先确定目标表单中每个实体对象的当前哈希值,然后针对目标表单中的每个实体对象,确定实体对象的当前哈希值与历史哈希值是否相同。相应地,若实体对象的当前哈希值与历史哈希值不相同,则可以确定目标表单的表单项发生变化,并更新目标表单对应的实体对象。

应当理解的是,目标表单的表单项发生变化包括目标表单中存在新增表单项的情况、目标表单中原有表单项被删除的情况以及目标表单中原有表单项的内容发生变化的情况。相应地,在目标表单的表单项发生变化的情况下,更新目标表单对应的实体对象也可以分别包括三种更新方式。

具体的,针对目标表单中新增表单项的情况,可以生成该新增表单项对应的实体对象,并将该实体对象添加到目标表单历史保存的实体对象中,以实现对目标表单实体对象的更新。

针对目标表单中原有表单项被删除的情况,可以在目标表单历史保存的实体对象中确定该被删除的表单项对应的实体对象,然后在目标表单历史保存的实体对象中删除该实体对象,以实现对目标表单实体对象的更新。

针对目标表单中原有表单项的内容被修改的情况,可以在目标表单历史保存的实体对象中确定内容被修改的表单项对应的实体对象,然后在目标表单历史保存的实体对象中修改该实体对象,以实现对目标表单实体对象的更新。或者,为了将修改后的实体对象与原有实体对象进行区分,也可以根据内容被修改的表单项生成一个新的实体对象添加到目标表单历史保存的实体对象中,以实现对目标表单实体对象的更新。

在更新目标表单对应的实体对象之后,可以根据目标表单更新后的实体对象,生成表单痕迹链表进行保存。由于更新后的实体对象可能根据上述三种更新操作中的任一者而进行更新的,因此根据目标表单更新后的实体对象,生成表单痕迹链表进行保存的方式也可以包括三种,下面逐一进行说明。

方式一,表单痕迹链表中的每个结点可以包括变更时间属性,该变更时间属性用于表征结点的后置结点发生变更的时间。在此种情况下,可以先确定目标表单更新后的实体对象中内容发生变化的第一实体对象。然后获取目标表单在所述表单项发生变化前的第一历史表单痕迹链表。最后,更新第一历史表单痕迹链表中第一实体对象对应的结点,并针对该结点的所有前置结点,分别将前置结点的变更时间属性修改为该结点的更新时间,以得到新的表单痕迹链表进行保存。

应当理解的是,如果某个结点的后置结点未发生变更,那么该结点的变更时间属性可以为空,或者可以是该结点的生成时间属性,本公开实施例对此不作限定。

参照图3,以表单痕迹链表为双向链表为例,将目标表单更新前后的实体对象的哈希值分别进行比对,确定目标表单更新前的实体对象entity2对应表单项的内容被修改,并且生成了新的实体对象entity2’。并且,获取了目标表单在表单项发生变化前的第一历史表单痕迹链表为痕迹1。具体的,该痕迹1中,实体对象entity2对应结点的前置结点为实体对象entity1对应的结点,后置结点为实体对象entity3对应的结点。然后,可以更新第一历史表单痕迹链表中实体对象entity2(第一实体对象)对应的结点为实体对象entity2’对应的结点,并将实体对象entity1对应的结点(前置结点)的变更时间属性修改为实体对象entity2对应的结点的更新时间,其余结点保持不变,最终可以得到如痕迹2所示的新的表单痕迹链表进行保存。

方式二,可以先确定目标表单更新后的实体对象中新增的第二实体对象。然后,获取目标表单在表单项发生变化前的第二历史表单痕迹链表。最后,将第二实体对象作为尾结点,插入第二历史痕迹链表中,得到新的表单痕迹链表进行保存。

参照图4,以表单痕迹链表为双向链表为例,将目标表单更新前后的实体对象的哈希值分别进行比对,确定了目标表单中的实体对象中存在新增的实体对象entity4(第二实体对象),并且获取了目标表单在表单项发生变化前的第二历史表单痕迹链表为痕迹1。具体的,该痕迹1中,实体对象entity2对应的结点的前置结点为实体对象entity1对应的结点,后置结点为实体对象entity3对应的结点。然后可以将实体对象entity4的实体对象id作为尾结点,插入第二历史痕迹链表中,最终得到如痕迹2所示的新的表单痕迹链表进行保存。

方式三,可以先确定目标表单更新后的实体对象中被删除的第三实体对象。然后,获取目标表单在表单项发生变化前的第三历史表单痕迹链表。最后将第三历史表单痕迹链表中第三实体对象对应的结点替换为虚拟结点,得到新的表单痕迹链表进行保存。

参照图5,以表单痕迹链表为双向链表为例,将目标表单更新前后的实体对象的哈希值分别进行比对,确定了目标表单中的实体对象中存在被删除的实体对象entity3(第三实体对象),并且获取了目标表单在表单项发生变化前的第三历史表单痕迹链表为痕迹1。具体的,该痕迹1中,实体对象entity2对应的结点的前置结点为实体对象entity1对应的结点,后置结点为实体对象entity3对应的结点。然后可以将实体对象entity3对应的结点替换为虚拟结点,最终得到如痕迹2所示的新的表单痕迹链表进行保存。

其中,虚拟结点可以是数据域为空的结点,通过将被删除的实体对象对应的结点替换为虚拟结点,可以更方便的将两个表单痕迹链表的结点进行一一比对,以确定不同表单版本之间的差异。

在可能的方式中,可以响应于接收到用于查看目标表单的第一版本与第二版本之间差异的请求,将第一版本对应的第一表单痕迹链表以及第二版本对应的第二表单痕迹链表进行比对,确定第一表单痕迹链表和第二表单痕迹链表之间的差异结点。若第一表单痕迹链表与第二表单痕迹链表中结点的变更时间属性相同,则停止比对第一表单痕迹链表与第二表单痕迹链表,并将差异结点对应的实体对象所表征的表单项作为差异表单项进行输出显示。

示例地,可以接收用于查看目标表单的第一版本与第二版本之间差异的请求,该请求包括第一版本的生成时间以及第二版本的生成时间。然后可以响应于该请求,根据第一版本的生成时间,获取结点的生成时间属性为该生成时间的第一历史表单痕迹链表,以及根据第二版本的生成时间,获取结点的生成时间属性为该生成时间的第二历史表单痕迹链表。

接着,可以将第一表单痕迹链表和第二表单痕迹链表进行比对,确定第一表单痕迹链表和第二表单痕迹链表之间的差异结点。在可能的方式中,可以将第一表单痕迹链表中的每个结点作为参照,从第一表单痕迹链表的第一个结点开始,依次与第二表单痕迹链表中的结点进行比对,直到第一表单痕迹链表或者第二表单痕迹链表中的结点比对完毕,最终得到第一表单痕迹链表和第二表单痕迹链表之间的差异结点。

进一步,为了提高比对效率,可以根据结点的变更时间属性进行比对。其中,若第一表单痕迹链表和第二表单痕迹链表中结点的变更时间属性相同,则说明该结点未发生变更,即该结点在第一表单痕迹链表和第二表单痕迹链表中是相同的,无需再进行比对以确定差异结点。因此,在可能的方式中,若第一表单痕迹链表与第二表单痕迹链表中结点的变更时间属性相同,则可以停止比对第一表单痕迹链表与第二表单痕迹链表,然后将当前所有差异结点对应的实体对象所表征的表单项作为差异表单项进行输出显示。

通过上述方式,可以通过比对不同版本对应的表单痕迹链表,快速定位修改记录。并且,每个表单痕迹链表中的结点对应有变更时间属性,若变更时间属性一致,则可以停止比对,从而提高比对的效率,进而提高定位修改记录的效率。

在可能的方式中,还可以响应于接收到用于将目标表单的当前版本回退到目标历史版本的请求,确定该请求包括的所述目标历史版本的生成时间。然后,在历史表单痕迹链表中,确定结点的生成时间属性为该生成时间的目标表单痕迹链表。最后将目标表单痕迹链表中每个结点对应的实体对象所表征的表单项进行组合,得到目标历史版本的目标表单进行输出显示。

应当理解的是,在本公开实施例中,每保存一次目标表单,若目标表单的内容发生变化,则可以生成对应表单痕迹链表,因此可以保存多个历史痕迹链表。在确定待回退的目标历史版本的生成时间后,则可以在多个历史痕迹链表中确定结点的生成时间属性为该生成时间的目标历史表单痕迹链表。然后可以根据该历史表单痕迹链表中每个结点分别对应的实体对象id,获取对应的实体对象。最后,可以将获取到的实体对象对应的表单项进行组合,从而得到目标历史版本的表单进行输出显示。

通过上述方式,在确定待回退的表单版本的生成时间之后,可以确定生成时间属性为该生成时间的目标表单痕迹链表,从而快速回溯到对应的表单版本。

基于同一发明构思,本公开实施例还提供一种表单保存装置,该装置可以通过软件、硬件或者两者的结合成为电子设备的部分或者全部。参照图6,该装置600可以包括:

确定模块601,用于确定所述目标表单的表单项是否发生变化;

更新模块602,用于当所述目标表单的表单项发生变化时,根据发生变化的表单项,更新所述目标表单对应的实体对象,其中,所述实体对象是将所述目标表单的表单项进行划分而得到的;

保存模块603,用于根据所述目标表单更新后的实体对象,生成表单痕迹链表进行保存,其中,所述表单痕迹链表中的每个结点分别用于表征所述目标表单对应的每个实体对象,所述每个结点包括生成时间属性,所述生成时间属性用于表征所述表单痕迹链表的生成时间。

可选地,所述表单痕迹链表中的每个结点还包括变更时间属性,所述变更时间属性用于表征所述结点的后置结点发生变更的时间,所述保存模块603用于:

确定所述目标表单更新后的实体对象中内容发生变化的第一实体对象;

获取所述目标表单在所述表单项发生变化前的第一历史表单痕迹链表;

更新所述第一历史表单痕迹链表中所述第一实体对象对应的结点,并针对所述结点的所有前置结点,分别将所述前置结点的变更时间属性修改为所述结点的更新时间,以得到新的表单痕迹链表进行保存。

可选地,所述保存模块603用于:

确定所述目标表单更新后的实体对象中新增的第二实体对象;

获取所述目标表单在所述表单项发生变化前的第二历史表单痕迹链表;

将所述第二实体对象作为尾结点,插入所述第二历史痕迹链表中,得到新的表单痕迹链表进行保存。

可选地,所述保存模块603用于:

确定所述目标表单更新后的实体对象中被删除的第三实体对象;

获取所述目标表单在所述表单项发生变化前的第三历史表单痕迹链表;

将所述第三历史表单痕迹链表中所述第三实体对象对应的结点替换为虚拟结点,得到新的表单痕迹链表进行保存。

可选地,所述装置600还包括:

比对模块,用于响应于接收到用于查看所述目标表单的第一版本与第二版本之间差异的请求,将所述第一版本对应的第一表单痕迹链表以及所述第二版本对应的第二表单痕迹链表进行比对,确定所述第一表单痕迹链表和所述第二表单痕迹链表之间的差异结点;

第一输出模块,用于当所述第一表单痕迹链表与所述第二表单痕迹链表中结点的变更时间属性相同时,停止比对所述第一表单痕迹链表与所述第二表单痕迹链表,将所述差异结点对应的实体对象所表征的表单项作为差异表单项进行输出显示。

可选地,所述装置600还包括:

时间确定模块,用于响应于接收到用于将所述目标表单的当前版本回退到目标历史版本的请求,确定所述请求包括的所述目标历史版本的生成时间;

链表确定模块,用于在历史表单痕迹链表中,确定结点的生成时间属性为所述生成时间的目标表单痕迹链表;

第二输出模块,用于将所述目标表单痕迹链表中每个结点对应的实体对象所表征的表单项进行组合,得到所述目标历史版本的目标表单进行输出显示。

可选地,所述确定模块601用于:

确定所述目标表单中每个实体对象的当前哈希值;

针对所述目标表单中的每个实体对象,确定所述实体对象的当前哈希值与历史哈希值是否相同;

所述更新模块602用于:

若所述实体对象的当前哈希值与历史哈希值不相同,则确定所述目标表单的表单项发生变化,并更新所述目标表单对应的实体对象。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

基于同一发明构思,本公开实施例还提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一表单保存方法的步骤。

在可能的方式中,该电子设备的框图可以如图7所示。参照图7,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。

其中,处理器701用于控制该电子设备700的整体操作,以完成上述的表单保存方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如历史表单痕迹链表、目标表单对应的实体对象等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的表单保存方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的表单保存方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的表单保存方法。

在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的表单保存方法的代码部分。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1