表单数据上传方法及装置与流程

文档序号:16672870发布日期:2019-01-18 23:42阅读:281来源:国知局
表单数据上传方法及装置与流程

本发明涉及计算机技术通信技术领域,尤其涉及移动端表单数据上传的方法。



背景技术:

在现今的移动终端应用中,经常会需要创建一些表单内容上传至服务器。现有技术中表单内容大多都是在有网的情况下直接进行数据上传。但是当突然出现断网、网络波动或者切换到无网模式情况中,数据上传失败,现有的系统直接会忽略这张表单,表单列表的展示页面就不会出现刚新建的那张表。现有的解决方案是等待联网恢复后重新创建表单,原有表单数据会丢失,这样就需要用户重新创建表单并填写操作,这样就会严重影响用户体验。



技术实现要素:

本发明是为了克服现有技术中的移动终端应用表单上传技术中的上述不足之处,提供一种能够在无网络或弱网状态下保证表单数据不丢失的表单数据上传方法及装置。

为实现上述目的,本发明采用以下技术方案:

本发明的一种表单数据上传方法,所述方法包括以下步骤:

表单创建时,将表单数据存储于本地;

响应于用户首次表单上传请求,将所述表单数据标记为状态三,响应于用户再次或多次表单上传请求,将所述表单数据标记为状态四;

若所述表单数据上传成功,则标记所述表单数据为状态一,若所述表单数据为本地或上传失败,则标记所述表单数据为状态二;

定时查询标记为状态三或状态四的表单数据并上传。

作为优选,所述响应于用户首次表单上传请求,将所述表单数据标记为状态三,响应于用户再次或多次表单上传请求,将所述表单数据标记为状态四的步骤,进一步包括:响应于用户点击一表单上传按钮,获取所述表单数据状态;若表单数据标记为状态二,则将所述表单数据标记更新为状态三;若表单数据标记为状态三,则将所述表单数据标记更新为状态四。

作为优选,所述定时查询标记为状态三或状态四的表单数据并上传的步骤,进一步包括:定时查询状态三和状态四的表单数据,并优先上传状态四的表单数据,然后上传状态三的表单数据;若上传成功则更新表单数据为状态一;若上产失败则更新表单数据为状态二。

作为优选,所述表单数据包括每次网络请求的表单列表数据和新建的表单。

作为优选,还包括以下步骤:在前端显示状态一的表单数据为已上传表单,显示状态二的表单数据为上传失败,显示状态三或状态四的表单数据为上传中。

本发明同时提供一种表单数据上传装置,所述装置包括:

存储模块,用于表单创建时,将表单数据存储于本地;

第一状态模块,用于若所述表单数据上传成功,则标记所述表单数据为状态一,若所述表单数据为本地或上传失败,则标记所述表单数据为状态二;

第二状态模块,用于响应于用户首次表单上传请求,将所述表单数据标记为状态三,响应于用户再次或多次表单上传请求,将所述表单数据标记为状态四;

查询模块,用于定时查询标记为状态三或状态四的表单数据并上传。

作为优选,所述第二状态模块包括:

获取单元,用于响应于用户点击一表单上传按钮,获取所述表单数据状态;

第一执行单元,用于若表单数据标记为状态二,则将所述表单数据标记更新为状态三;

第二执行单元,用于若表单数据标记为状态三,则将所述表单数据标记更新为状态四。

作为优选,所述查询模块包括:

上传单元,用于定时查询状态三和状态四的表单数据,并优先上传状态四的表单数据,然后上传状态三的表单数据;

第三执行单元,用于若上传成功则更新表单数据为状态一;

第四执行单元,用于若上产失败则更新表单数据为状态二。

作为优选,所述表单数据包括每次网络请求的表单列表数据和新建的表单。

作为优选,所述装置还包括显示模块,所述显示模块,用于在前端显示状态一的表单数据为已上传表单,显示状态二的表单数据为上传失败,显示状态三或状态四的表单数据为上传中。

本发明的技术方案首先通过将新创建的表单数据存储在本地,防止有网络异常导致的表单数据丢失的情况,并且在无网状态下也能创建表单。同时通过对表单数据进行状体标记区分,已经上传的表单数据为状态一,上传失败或留存于本地的表单数据为状态二,用户已发起一次上传请求的表单数据为状态三,用户已发起多次上传请求的表单数据为状态四。对于标记为状态三和状态四的表单数据是用户请求上传,但可能由于网络异常等原因,尚未获得上传结果即上传数据暂停状态(并未获得服务端反馈是否上传成功),通过定时查询这些表单数据在网络恢复后由后台进行上传,保证表单数据不丢失,并且易于客户管理查看表单状态。

附图说明

图1为本发明的一种表单数据上传方法的流程图。

图2为本发明的另一种表单数据上传方法的流程图。

图3为本发明的另一种表单数据上传装置的原理框图。

图4为本发明的另一种表单数据上传装置的原理框图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步描述。

实施例一:

如图1所示,本发明实施例提供一种表单数据上传方法,所述方法包括以下步骤:

s101表单创建时,将表单数据存储于本地。所述表单数据包括每次网络请求的表单列表数据和新建的表单。

s102响应于用户首次表单上传请求,将所述表单数据标记为状态三,响应于用户再次或多次表单上传请求,将所述表单数据标记为状态四。

s103若所述表单数据上传成功,则标记所述表单数据为状态一,若所述表单数据为本地或上传失败,则标记所述表单数据为状态二。

s104定时查询标记为状态三或状态四的表单数据并上传。

通过一个应用示例来具体说明:运用jqfmdb等工具将每次网络请求的表单列表数据和新建的表单储存到本地的sqlite数据库中。

在数据库的表中添加一个isupload的字段,通过对isupload字段赋值来标记表单数据的状态。已上传表单数据标记为状态一,isupload赋值为0;本地的表单数据标记为状态二,isupload赋值为1;标记为状态三的表单数据,isupload赋值为2;标记为状态四的表单数据,isupload赋值为3。

在全局开辟一条异步线程,添加一个定时器,根据数据库表中的isupload为2或3时,执行上传流程。

本发明的技术方案首先通过将新创建的表单数据存储在本地,防止有网络异常导致的表单数据丢失的情况,并且在无网状态下也能创建表单。同时通过对表单数据进行状体标记区分,已经上传的表单数据为状态一,上传失败或留存于本地的表单数据为状态二,用户已发起一次上传请求的表单数据为状态三,用户已发起多次上传请求的表单数据为状态四。对于标记为状态三和状态四的表单数据是用户请求上传,但可能由于网络异常等原因,尚未获得上传结果即上传数据暂停状态(并未获得服务端反馈是否上传成功),通过定时查询这些表单数据在网络恢复后由后台进行上传,保证表单数据不丢失,并且易于客户管理查看表单状态。

实施例二:

如图2所示,本发明实施例提供另一种更为优化的表单数据上传方法,所述方法包括以下步骤:

s201表单创建时,将表单数据存储于本地,所述表单数据包括每次网络请求的表单列表数据和新建的表单。

本实施例中,运用jqfmdb等工具将每次网络请求的表单列表数据和新建的表单储存到本地的sqlite数据库中。

在数据库的表中添加一个isupload的字段,通过对isupload字段赋值来标记表单数据的状态。已上传表单数据标记为状态一,isupload赋值为0;本地的表单数据标记为状态二,isupload赋值为1;标记为状态三的表单数据,isupload赋值为2;标记为状态四的表单数据,isupload赋值为3。

s202响应于用户点击一表单上传按钮,获取所述表单数据状态。

通过获取isupload的赋值,来获取所述表单数据的状态。

s203若表单数据标记为状态二,则将所述表单数据标记更新为状态三。

即,isupload=1,则将isupload更新为2。

s204若表单数据标记为状态三,则将所述表单数据标记更新为状态四。

即,isupload=2,则说明所述表单数据已经由用户点击一次上传按钮的操作,此时将isupload更新为3,即状态四代表表单数据已经由用户点击两次或两次以上的上传按钮,属于具有较高上传优先级的表单数据。

s205若所述表单数据上传成功,则标记所述表单数据为状态一,若所述表单数据为本地或上传失败,则标记所述表单数据为状态二。

根据所述表单上传结果重新更新,表单数据的状态,上传成功则更新isupload更新为0,标定此表单数据已完成上传工作。若上传失败则,更新isupload更新为1。

s206定时查询状态三和状态四的表单数据,并优先上传状态四的表单数据,然后上传状态三的表单数据。

前序步骤中已经说明了状态三和状态四(即isupload=2或3)的表单数据是用户已经点击上传按钮的表单数据,这部分表单数据可能由于网络波动等异常问题,处于上传暂停状态。通过在全局开辟一条异步线程,添加一个定时器,根据数据库表中的isupload为2或3时,执行上传流程,可以保证在网络恢复时这部分表单数据在后台上传。并且状态四(即isupload=3)的表单数据优先级更高,所以首先上传状态四的表单数据。

s207若上传成功则更新表单数据为状态一。即更新isupload=0。

s208若上产失败则更新表单数据为状态二。即更新isupload=1。

s209在前端显示状态一的表单数据为已上传表单,显示状态二的表单数据为上传失败,显示状态三或状态四的表单数据为上传中。

用户可以清晰的哪些表单已经上传,哪些表单没有上传。

实施例三:

如图3所示,本发明同时提供一种表单数据上传装置,所述装置包括:

存储模块301,用于表单创建时,将表单数据存储于本地。所述表单数据包括每次网络请求的表单列表数据和新建的表单。

第一状态模块302,用于若所述表单数据上传成功,则标记所述表单数据为状态一,若所述表单数据为本地或上传失败,则标记所述表单数据为状态二。

第二状态模块303,用于响应于用户首次表单上传请求,将所述表单数据标记为状态三,响应于用户再次或多次表单上传请求,将所述表单数据标记为状态四。

查询模块304,用于定时查询标记为状态三或状态四的表单数据并上传。

本实施例中的一种表单数据上传装置可以实现上述实施例一中的一种表单数据上传方法。

实施例四:

如图4所示,本实施例在实施例三基础上进一步优化,提供了另一种表单数据上传装置,所述装置包括:

存储模块301,用于表单创建时,将表单数据存储于本地。所述表单数据包括每次网络请求的表单列表数据和新建的表单。

第一状态模块302,用于若所述表单数据上传成功,则标记所述表单数据为状态一,若所述表单数据为本地或上传失败,则标记所述表单数据为状态二。

第二状态模块303,用于响应于用户首次表单上传请求,将所述表单数据标记为状态三,响应于用户再次或多次表单上传请求,将所述表单数据标记为状态四。

查询模块304,用于定时查询标记为状态三或状态四的表单数据并上传。

显示模块305,用于在前端显示状态一的表单数据为已上传表单,显示状态二的表单数据为上传失败,显示状态三或状态四的表单数据为上传中。

所述第二状态303模块包括:

获取单元401,用于响应于用户点击一表单上传按钮,获取所述表单数据状态。

第一执行单元402,用于若表单数据标记为状态二,则将所述表单数据标记更新为状态三。

第二执行单元403,用于若表单数据标记为状态三,则将所述表单数据标记更新为状态四。

所述查询模块304包括:

上传单元404,用于定时查询状态三和状态四的表单数据,并优先上传状态四的表单数据,然后上传状态三的表单数据。

第三执行单元405,用于若上传成功则更新表单数据为状态一。

第四执行单元406,用于若上产失败则更新表单数据为状态二。

本实施例中的一种表单数据上传装置可以实现上述实施例二中的一种表单数据上传方法。防止有网络异常导致的表单数据丢失的情况,并且在无网状态下也能创建表单。同时通过对表单数据进行状体标记区分,已经上传的表单数据为状态一,上传失败或留存于本地的表单数据为状态二,用户已发起一次上传请求的表单数据为状态三,用户已发起多次上传请求的表单数据为状态四。对于标记为状态三和状态四的表单数据是用户请求上传,但可能由于网络异常等原因,尚未获得上传结果即上传数据暂停状态(并未获得服务端反馈是否上传成功),通过定时查询这些表单数据在网络恢复后由后台进行上传,保证表单数据不丢失,并且易于客户管理查看表单状态。

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