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

文档序号:14685517发布日期:2018-06-13 00:09
表单处理方法、装置、存储介质及电子设备与流程
本公开涉及数据处理领域,具体地,涉及一种表单处理方法、装置、存储介质及电子设备。
背景技术
:表单是Web页面上常用的一种数据采集工具,可以用于收集用户的信息和反馈意见,是网站数据库管理者和访问者之间沟通的桥梁。在相关技术中,每个表单的业务数据分别与数据库中一个业务表对应,并以单个表单页面的方式进行展现。因而,在业务流程审批或者通过表单进行业务数据的录入时,若需要将一个表单的业务数据存储到数据库中的多个业务表中,一般会采用多个表单页面展现的方式,并在多个表单提交时,分别存储每张表单的数据,或者由开发人员自行编写程序实现数据的多表存储,以上解决方式较为繁琐复杂,导致表单数据的处理效率低。技术实现要素:本公开的目的是提供一种表单处理方法、装置、存储介质及电子设备,用以解决现有技术中表单数据的处理效率低的技术问题。为了实现上述目的,本公开第一方面提供一种表单处理方法,所述方法包括:在检测到表单提交的指令时,根据与所述表单绑定的每一业务实体将用于更新或插入所述表单的业务数据封装为对应每一所述业务实体的第一json数据,其中,所述业务实体与数据库中已有的业务表相关联,每一所述第一json数据的key值为该业务实体的标识信息,value值为该业务实体的实体属性键值对;将所述第一json数据添加到数据中心中,并通过所述数据中心将所述第一json数据传递到后台;通过解析所述数据中心中的每一所述第一json数据,将所述用于更新或插入所述表单的业务数据分别存储到与每一所述业务实体关联的业务表中。可选地,所述通过解析所述数据中心中的每一所述第一json数据,将所述用于更新或插入所述表单的业务数据分别存储到与每一所述业务实体关联的业务表中,包括:分别将每一所述业务实体的标识作为key值进行哈希计算,以从所述数据中心中查找到作为value值的第一json数据;根据每一所述第一json数据中的实体属性键值对确定与每一所述业务实体关联的业务表的更新数据集或者插入数据集;根据每一所述更新数据集向对应的每一所述业务表更新业务数据,或者,根据所述插入数据集向对应的每一所述业务表插入业务数据。可选地,所述方法还包括:在检测到打开所述表单的指令时,根据每一所述业务表的查询数据集查询业务数据;将查询得到的业务数据封装为对应所述业务表关联的每一所述业务实体的第二json数据;将所述第二json数据添加到数据中心中,并通过所述数据中心将所述第二json数据传递到前台;通过解析所述数据中心中的每一所述第二json数据,将查询得到的业务数据对所述表单的控件进行赋值,以展现所述表单。可选地,所述通过解析所述数据中心中的每一所述第二json数据,将查询得到的业务数据对所述表单的控件进行赋值,包括:分别将每一所述业务实体的标识作为key值进行哈希计算,以从所述数据中心中查找到作为value值的第二json数据;根据每一所述第二json数据中的实体属性键值确定每一所述业务实体的实体属性的业务数据;根据每一所述业务实体的实体属性的业务数据赋值给所述表单中与所述实体属性绑定的控件。可选地,所述方法还包括:在初始绘制所述表单时,将每一所述业务实体中的实体属性与所述表单中的控件进行一一绑定,所述实体属性键值对中的key值为所述实体属性的标识信息,value为所述实体属性绑定的控件的业务数据。本公开第二方面提供一种表单处理装置,所述装置包括:第一数据封装模块,用于在检测到表单提交的指令时,根据与所述表单绑定的每一业务实体将用于更新或插入所述表单的业务数据封装为对应每一所述业务实体的第一json数据,其中,所述业务实体与数据库中已有的业务表相关联,每一所述第一json数据的key值为该业务实体的标识信息,value值为该业务实体的实体属性键值对;第一json数据传送模块,用于将所述第一json数据添加到数据中心中,并通过所述数据中心将所述第一json数据传递到后台;业务数据存储模块,用于通过解析所述数据中心中的每一所述第一json数据,将所述用于更新或插入所述表单的业务数据分别存储到与每一所述业务实体关联的业务表中。可选地,所述装置还包括:业务数据查询模块,用于在检测到打开所述表单的指令时,根据每一所述业务表的查询数据集查询业务数据;第二数据封装模块,用于将查询得到的业务数据封装为对应所述业务表关联的每一所述业务实体的第二json数据;第二json数据传送模块,用于将所述第二json数据添加到数据中心中,并通过所述数据中心将所述第二json数据传递到前台;表单展现模块,用于通过解析所述数据中心中的每一所述第二json数据,将查询得到的业务数据对所述表单的控件进行赋值,以展现所述表单。可选地,所述装置还包括:关联模块,用于在初始绘制所述表单时,将每一所述业务实体中的实体属性与所述表单中的控件进行一一绑定,所述实体属性键值对中的key值为所述实体属性的标识信息,value为所述实体属性绑定的控件的业务数据。本公开第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所提供的表单处理方法的步骤。本公开第四方面提供一种电子设备,包括:本公开第三方面所提供的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。根据上述技术方案,在检测到表单提交的指令时,根据与表单绑定的每一业务实体将用于更新或插入表单的业务数据封装为对应每一业务实体的第一json数据,然后将第一json数据添加到数据中心中,并通过数据中心将第一json数据传递到后台,通过解析数据中心中的每一第一json数据,将用于更新或插入表单的业务数据分别存储到与每一业务实体关联的业务表中。这样,依次遍历数据中心中每一第一json数据,同时将第一json数据的解析结果分别保存到多个业务表中,可以实现表单数据的多表存储,在表单之间存在数据的联动时,有效提高表单数据的处理效率。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是本公开实施例提供的一种表单处理方法的流程示意图。图2是本公开实施例提供的一种表单处理方法的流程示意图。图3是本公开实施例提供的一种表单示意图。图4是本公开实施例提供的一种表单处理装置的结构示意图。图5是本公开实施例提供的一种表单处理装置的结构示意图。图6是本公开实施例提供的一种表单处理装置的结构示意图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。在
背景技术
中已经说明,在现有技术中由于表单数据的多表存储方式解决方案较为繁琐复杂,导致表单数据的处理效率低。为改善上述问题,本公开实施例提供了一种表单处理方法,请参考图1,图1是本公开实施例提供的一种表单处理方法的流程图,如图1所示,该方法包括以下步骤:S11、在检测到表单提交的指令时,根据与表单绑定的每一业务实体将用于更新或插入表单的业务数据封装为对应每一业务实体的第一json数据。具体地,若表单特定区域存在点击操作或者以预设时长为周期的情况下,可以生成用于指示表单提交的指令。例如,预设时长为5s,毎5s生成一次表单提交的指令,当检测该指令时,可以根据与表单绑定的每一业务实体将用于更新或插入表单的业务数据封装为对应每一业务实体的第一json数据。其中,json格式数据为一种轻量级的数据交换格式,层次结构简洁、清晰,能够完全独立于编程语言的文本格式来存储和表示数据,易于阅读和编写,同时也方便机器解析和生成。在实际创建业务实体的过程中,业务实体与数据库中已有的业务表相关联,一种可能的业务实体的表结构如表1所示:表1业务实体的表结构示例地,业务实体标识可以是自定义的标识性字段,为业务实体的属性之一,一种可能的业务实体属性表结构如表2所示:表2业务实体属性表结构结合表1和表2,将表单的业务数据封装为第一json数据,所得到的第一json数据的key值为对应业务实体的标识信息,value值为该业务实体的实体属性键值对。S12、将第一json数据添加到数据中心中,并通过数据中心将第一json数据传递到后台。S13、通过解析数据中心中的每一第一json数据,将用于更新或插入表单的业务数据分别存储到与每一业务实体关联的业务表中。在一种可能的实施方式中,将数据中心中的第一json数据解析为用于更新或插入表单的业务数据,并存储到与该表单绑定的业务实体相关联的业务表中,具体方法步骤为:分别将每一业务实体的标识作为key值进行哈希计算,以从数据中心中查找到作为value值的第一json数据,根据每一第一json数据中的实体属性键值对确定与每一业务实体关联的业务表的更新数据集或者插入数据集,根据每一更新数据集向对应的每一业务表更新业务数据,或者,根据插入数据集向对应的每一业务表插入业务数据。采用上述方法,通过解析数据中心中的每一第一json数据,依次遍历数据中心中每一第一json数据,同时将第一json数据的解析结果分别保存到多个业务表中,可以实现表单数据的多表存储,还可以根据业务实体的标识信息及其实体属性键值对,快速完成业务数据的更新,在表单之间存在数据的联动时,有效提高了表单数据的处理效率。图2是本公开实施例提供的一种表单处理方法的流程图,如图2所示,该方法包括以下步骤:S21、在初始绘制表单时,将每一业务实体中的实体属性与表单中的控件进行一一绑定。在实际创建业务实体的过程中,根据已有的业务表创建多个业务实体,并将业务实体属性与表单中的控件进行绑定,其中实体属性键值对中的key值为实体属性的标识信息,value为实体属性绑定的控件的业务数据。示例地,图3是本公开实施例提供的一种表单示意图,参照图3,该表单包括两个数据域:虚线上部分的个人基本信息以及虚线下的刊物信息,每个数据域对应一个业务实体。例如,参照表1及表2所示出的业务实体相关表结构,对应个人基本信息的业务实体中,可以包括多个业务实体属性,分别绑定姓名,性别,毕业院校,职称四个表单控件;对应刊物信息的业务实体中,可以包括多个业务实体属性,分别绑定期刊类别,作者,刊物,影响因子四个表单控件。值得说明的是,每个绑定实体的控件上,源码中都会记录databind="entity_id.entity_property",entity_id(业务实体标识)即为查找Datastore的key值,Datastore作为json数据其本身又是键值对,该键值对的key值为property_id(属性id),从而可以根据业务实体属性标识查找到绑定的控件的业务数据。S22、在检测到表单提交的指令时,根据与表单绑定的每一业务实体将用于更新或插入表单的业务数据封装为对应每一业务实体的第一json数据。S23、将第一json数据添加到数据中心中,并通过数据中心将第一json数据传递到后台。S24、通过解析数据中心中的每一第一json数据,将用于更新或插入表单的业务数据分别存储到与每一业务实体关联的业务表中。S25、在检测到打开表单的指令时,根据每一业务表的查询数据集查询业务数据。具体地,根据业务实体与表单控件的绑定关系,在业务表中生成对应数据集,每一业务表可以具备查询数据集、更新数据集或者插入数据集,当表单控件绑定了多个实体,也就是说表单数据存储到多个业务表中时,会生成多个数据集,如表3所示,是根据一示例性实施例示出的一种表单数据进行多表存储所生成的多个数据集:表3数据集名称关联控件类型body_0_个人信息_查询body_0查询个人信息body_0_个人信息_修改body_0修改个人信息body_0_个人信息_新增body_0新增个人信息body_0_DIZDATA_查询body_0查询DIZDATAbody_0_DIZDATA_修改body_0修改DIZDATAbody_0_DIZDATA_新增body_0新增DIZDATA在检测到打开表单的指令时,该打开表单的指令可以是点击表单指定区域范围以触发Click事件所生成的指令,则根据表单标识信息从对应的业务表的查询数据集查询业务数据。S26、将查询得到的业务数据封装为对应业务表关联的每一业务实体的第二json数据。示例地,将从查询数据集中查询得到的业务数据进行封装,封装之后可以得到与业务表关联的每一业务实体的第二json数据,该第二json数据的key值为对应业务实体的标识信息,value值为该业务实体的实体属性键值对。S27、将第二json数据添加到数据中心中,并通过数据中心将第二json数据传递到前台。S28、通过解析数据中心中的每一第二json数据,将查询得到的业务数据对表单的控件进行赋值,以展现表单。其中,将查询到的业务数据对表单的控件进行赋值的过程可以具体为:分别将每一业务实体的标识作为key值进行哈希计算,以从数据中心中查找到作为value值的第二json数据,根据每一第二json数据中的实体属性键值确定每一业务实体的实体属性的业务数据,根据每一业务实体的实体属性的业务数据赋值给表单中与实体属性绑定的控件,然后通过控件自渲染完成表单的展现。采用上述方法,通过遍历并解析存储在数据中心的第二json数据为每个绑定实体属性的控件赋值,当将查询得到的业务数据封装为与业务表关联的每一业务实体的第二json数据反馈到前台时,可以根据该第二json数据确定每一业务实体的实体属性的业务数据,以快速完成表单控件的赋值。相较于现有表单获取多个业务表的数据需要发送多次请求,且每次加载一个业务表的数据的处理方式,可以更高效地完成表单数据的加载,降低表单引擎的性能消耗,提高了表单数据回显的效率。图4是本公开实施例提供的一种表单处理装置的框图,该装置400可以通过软件、硬件或者两者结合实现成为电子设备的部分或者全部。参照图4,该装置400包括:第一数据封装模块410,用于在检测到表单提交的指令时,根据与表单绑定的每一业务实体将用于更新或插入表单的业务数据封装为对应每一业务实体的第一json数据,其中,业务实体与数据库中已有的业务表相关联,每一第一json数据的key值为该业务实体的标识信息,value值为该业务实体的实体属性键值对;第一json数据传送模块420,用于将第一json数据添加到数据中心中,并通过数据中心将第一json数据传递到后台;业务数据存储模块430,用于通过解析数据中心中的每一第一json数据,将用于更新或插入表单的业务数据分别存储到与每一业务实体关联的业务表中。其中,业务数据存储模块430具体可以用于,分别将每一业务实体的标识作为key值进行哈希计算,以从数据中心中查找到作为value值的第一json数据;根据每一第一json数据中的实体属性键值对确定与每一业务实体关联的业务表的更新数据集或者插入数据集;根据每一更新数据集向对应的每一业务表更新业务数据,或者,根据插入数据集向对应的每一业务表插入业务数据。采用上述装置,通过解析数据中心中的每一第一json数据,依次遍历数据中心中每一第一json数据,同时将第一json数据的解析结果分别保存到多个业务表中,可以实现表单数据的多表存储,还可以根据业务实体的标识信息及其实体属性键值对,快速完成业务数据的更新,在表单之间存在数据的联动时,有效提高表单数据的处理效率。图5是本公开实施例提供的一种表单处理装置的框图,该装置400可以通过软件、硬件或者两者结合实现成为电子设备的部分或者全部。参照图5,该装置400还可以包括:业务数据查询模块450,用于在检测到打开表单的指令时,根据每一业务表的查询数据集查询业务数据;第二数据封装模块460,用于将查询得到的业务数据封装为对应业务表关联的每一业务实体的第二json数据;第二json数据传送模块470,用于将第二json数据添加到数据中心中,并通过数据中心将第二json数据传递到前台;表单展现模块480,用于通过解析数据中心中的每一第二json数据,将查询得到的业务数据对表单的控件进行赋值,以展现表单。其中,表单展现模块480具体可以用于,分别将每一业务实体的标识作为key值进行哈希计算,以从数据中心中查找到作为value值的第二json数据;根据每一第二json数据中的实体属性键值确定每一业务实体的实体属性的业务数据;根据每一业务实体的实体属性的业务数据赋值给表单中与实体属性绑定的控件。可选地,装置400还包括:关联模块440,用于在初始绘制表单时,将每一业务实体中的实体属性与表单中的控件进行一一绑定,实体属性键值对中的key值为实体属性的标识信息,value为实体属性绑定的控件的业务数据。采用上述装置,通过遍历并解析存储在数据中心的第二json数据为每个绑定实体属性的控件赋值,当将查询得到的业务数据封装为与业务表关联的每一业务实体的第二json数据反馈到前台时,可以根据该第二json数据确定每一业务实体的实体属性的业务数据,以快速完成表单控件的赋值。相较于现有表单获取多个业务表的数据需要发送多次请求,且每次加载一个业务表的数据的处理方式,可以更高效地完成表单数据的加载,降低表单引擎的性能消耗,提高了表单数据回显的效率。图6是本公开实施例提供的一种表单处理装置600的框图。如图6所示,该表单处理装置600可以包括:处理器601,存储器602,多媒体组件603,输入/输出(I/O)接口604,以及通信组件605。其中,处理器601用于控制该表单处理装置600的整体操作,以完成上述表单处理方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该表单处理装置600的操作,这些数据例如可以包括用于在该表单处理装置600上操作的任何应用程序或方法的指令,以及应用程序相关的数据。存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(StaticRandomAccessMemory,简称SRAM),电可擦除可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammableRead-OnlyMemory,简称EPROM),可编程只读存储器(ProgrammableRead-OnlyMemory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件603可以包括屏幕和音频组件,其中,屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以为键盘,按钮等。这些按钮可以为虚拟按钮或者实体按钮。通信组件605用于该表单处理装置600与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearFieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件605可以包括:Wi-Fi模块,蓝牙模块,NFC模块。在一示例性实施例中,表单处理装置600可以被一个或多个应用专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、数字信号处理器(DigitalSignalProcessor,简称DSP)、数字信号处理设备(DigitalSignalProcessingDevice,简称DSPD)、可编程逻辑器件(ProgrammableLogicDevice,简称PLD)、现场可编程门阵列(FieldProgrammableGateArray,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述表单处理方法。本公开实施例提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器602,其上存储有一个或者多个计算机程序,上述计算机程序可由表单处理装置600的处理器601执行以完成本公开实施例提供的表单处理方法。本公开实施例还提供一种电子设备,该电子设备包括上述公开实施例所提供的计算机可读存储介质,以及一个或者多个处理器,用于执行计算机可读存储介质中的程序。具体参照上述对应的描述,此处不再赘述。以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1