一种大数据量表单封装同步提交的方法技术

技术编号:25479941 阅读:15 留言:0更新日期:2020-09-01 23:01
本发明专利技术公开了一种大数据量表单封装同步提交的方法,在用户提交表单数据时,先对表单数据进行集合分装,然后对不可分装的数据进行前端压缩,这样就能减少必须一次性提交的数据量,减少服务器的压力;在后台接收数据时,再按照固定的集合方式将压缩后的数据解压,这样就能避过服务器的压力,最后将每个功能处理的过程加上线程同步的方式解决了大数据量表单提交情况下容易产生的数据错乱,脏读问题。

【技术实现步骤摘要】
一种大数据量表单封装同步提交的方法
本专利技术属于互联网数据处理
,特别涉及一种大数据量封装同步提交的方法。
技术介绍
web网页开发经常遇到大数据量表单提交的问题,在线提交大量的表格数据的常用方法是使用post、get方法一次性同步提交,这样往往会产生数据脏读问题,拖累系统,且运算时间较长,系统反应变慢,更可能导致上传过程中出现白页现象,导致系统无响应。
技术实现思路
本专利技术的目的在于减轻系统运行过程中服务器的带宽压力,避免单次提交表单数据量大导致功能运行计算的时间过长和实时并发问题的出现,同时可有效避免数据提交过程中出现数据脏读的问题。为实现上述专利技术目的,本专利技术提供了一种大数据量表单封装同步提交的方法,所述方法包括以下步骤:S1:对待提交的表单数据进行集合封装,得到n个封装键值对数据集合;S2:封装完毕后,将所有封装键值对数据集合放入待提交表单中;S3:判断待提交表单数据的大小,将符合数值要求的待提交表单数据一次性同步提交至服务器。优选的,其中步骤S1所述的集合封装包括如下步骤:S1.1:对待提交的表单数据分类进行循环封装,得到数组集合;S1.2:循环完毕后,服务器调取数据库中与数组集合同类型的对比数据集合,放入以该表单数据类型命名的数组集合的封装键值对数据集合中。优选的,步骤S1.1所述的集合封装还包括如下步骤:S1.1.1:将待提交数据所采用的数据类型循环转化为某一特定键值对数据类型;S1.1.2:循环完毕后,将得到的全部的键值对数据集合进行压缩,键值对压缩数据集合;优选的,其中步骤S1.1.1所述的循环转化包括如下步骤:S1.1.1.1:以某一特定数量为一组的单位数量,将待提交的表单数据封装分为n组并逐一进行封装;S1.1.1.2:所有待提交的表单数据全部封装完毕,得到n个数据集合。优选的,其中步骤S1.1所述的循环封装包括如下步骤:S1.1.1:以某一特定数量为一组的单位数量,将待提交的表单数据封装分为n组并逐一进行封装;S1.1.2:所有待提交的表单数据全部封装完毕,得到n个数据集合。优选的,其中键值对数据类型包括但不限于json键值对数据类型。优选的,其中压缩方法包括但不限于pako.js的gzip方法。优选的,其中步骤S3所述的数值要求为:小于等于1MB。有益效果实施本专利技术,具有如下有益效果:本专利技术在系统用户提交表单数据时,先对表单数据进行集合分装,然后对不可分装的数据进行前端压缩,不仅减少了单次提交的数据量,而且大大减轻了服务器的带宽压力;在后台接收数据时,再按照固定的集合方式将压缩后的数据解压,避过服务器的压力,最后将每个功能处理的过程加上线程同步的方式解决了大数据量表单提交情况下容易产生的数据错乱,同时可有效避免数据提交过程中出现数据脏读的问题,缓解了数据上传过程中出现白页现象,导致系统无响应的问题。附图说明图1为本专利技术的数据处理流程示意图;图2为本专利技术实施例的流程示意图;具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。实施例一根据考生所提交试卷的考试ID20160003,获取该试卷的题目信息和题型信息为常用题型。根据该常用题型包含的题目的数量8,将作答答案进行循环封装,得到数组作答答案集合;循环完毕后,将得到的某常用题型的全部作答答案集合,放入以该常用题型命名的作答答案封装键值对数据集合中,得到常用题型的作答答案封装键值对数据数据集合。所述的循环封装包括如下步骤:1、按照该常用题型的题目数量的不同,以某一特定数量为一组的单位数量;2、按照题目的顺序,将特定数量的题目的作答答案封装为一组;3、一组作答答案封装完毕后进行下一组题目的作答答案的封装;4、重复执行步骤3直到所有题目的作答答案全部封装完毕。封装完毕后,将所有常用题型的作答答案封装键值对数据集合放入待提交表单中;判断待提交表单数据的大小,将小于等于1MB的待提交表单数据一次性提交至服务器。实施例二根据考生所提交试卷的考试ID20160004,获取该试卷的题目信息和题型信息为实操题型;将考生的实操题型作答答案按照题型及题目数量8个进行集合封装,得到实操题型的作答答案封装键值对数据集合;所述的集合封装包括如下步骤:1、根据财会专业的专业要求,判断每道题的具体记账步骤;2、获取每个记账步骤所采用的工作表信息;3、根据每个记账步骤所采用工作表的数量,将该记账步骤所采用工作表的数据类型循环转化为json键值对数据类型;(1)按照该记账步骤的工作表数量的不同,以某一特定数量为一组的单位数量;(2)按照工作表的顺序,将一组工作表进行数据类型的转化;(3)一组工作表数据类型转化完毕后进行下一组工作表数据类型的转化;(4)重复执行步骤S2.2.3.3直到该记账步骤所有的工作表的数据类型全部转化完毕。4、循环完毕后,将步骤3得到的全部的工作表键值对数据集合进行通过gzip方法进行压缩,得到每个记账步骤所采用工作表键值对压缩数据集合;5、将步骤4得到的每个记账步骤所采用工作表键值对压缩数据集合,分别放入以每个记账步骤命名的作答答案键值对数据集合中;6、将步骤5得到的所有记账步骤作答答案键值对数据集合,放入以该实操题型命名的作答答案封装键值对数据集合中。封装完毕后,将所有实操题型的作答答案封装键值对数据集合放入待提交表单中;判断待提交表单数据的大小,将小于等于1MB的待提交表单数据一次性提交至服务器。实施例三:一种财会考试系统大数据量封装同步提交的方法,包括如下步骤:S1:根据考生所提交试卷的考试ID,获取该试卷的题目信息和题型信息,题型包括常用题型和实操题型,常用题型又包括单选题、多选题、填空题、判断题、简答题。S2:将考生的作答答案根据题型及题目数量的不同进行集合封装,当题型属于常用题型时,根据该常用题型包含的题目的数量,将作答答案进行循环封装,按照该常用题型的题目数量的不同,以某一特定数量为一组的单位数量;按照题目的顺序,将特定数量的题目的作答答案封装为一组;一组作答答案封装完毕后进行下一组题目的作答答案的封装;重复执行上述步骤直到所有题目的作答答案全部封装完毕;得到数组作答答案集合;循环完毕后,将得到的某常用题型的全部作答答案集合,放入以该常用题型命名的作答答案封装键值对数据集合中。当题型类型为实操题型时,根据财会专业的专业要求,判断每道题的具本文档来自技高网...

【技术保护点】
1.一种大数据量表单封装同步提交的方法,包括如下步骤:/nS1:对待提交的表单数据进行集合封装,得到n个封装键值对数据集合;/nS2:封装完毕后,将所有封装键值对数据集合放入待提交表单中;/nS3:判断待提交表单数据的大小,将符合数值要求的待提交表单数据一次性同步提交至服务器。/n

【技术特征摘要】
1.一种大数据量表单封装同步提交的方法,包括如下步骤:
S1:对待提交的表单数据进行集合封装,得到n个封装键值对数据集合;
S2:封装完毕后,将所有封装键值对数据集合放入待提交表单中;
S3:判断待提交表单数据的大小,将符合数值要求的待提交表单数据一次性同步提交至服务器。


2.如权利要求1所述的一种大数据量表单封装同步提交的方法,其中步骤S1所述的集合封装包括如下步骤:
S1.1:对待提交的表单数据分类进行循环封装,得到数组集合;
S1.2:循环完毕后,服务器调取数据库中与数组集合同类型的对比数据集合,放入以该表单数据类型命名的数组集合的封装键值对数据集合中。


3.如权利要求2所述的一种大数据量表单封装同步提交的方法,步骤S1.1所述的集合封装还包括如下步骤:
S1.1.1:将待提交数据所采用的数据类型循环转化为某一特定键值对数据类型;
S1.1.2:循环完毕后,将得到的全部的键值对数据集合进行压缩,键值对压缩数据集合。


4.如权利要求3所述的一种财会...

【专利技术属性】
技术研发人员:屈海艳陈羽轩
申请(专利权)人:广东真才企链信息科技有限公司
类型:发明
国别省市:广东;44

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

1