CN112148675A - 数据传输方法、装置、电子设备及存储介质 - Google Patents
数据传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112148675A CN112148675A CN202011326247.4A CN202011326247A CN112148675A CN 112148675 A CN112148675 A CN 112148675A CN 202011326247 A CN202011326247 A CN 202011326247A CN 112148675 A CN112148675 A CN 112148675A
- Authority
- CN
- China
- Prior art keywords
- data
- transmission method
- file
- document
- data transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种数据传输方法、装置、电子设备及存储介质,数据传输方法包括:获取表格数据文档;对表格数据文档进行解析,得到预设格式的数据文件;利用web worker创建至少一个worker线程对预设格式的数据文件进行数据转换,将预设格式的数据文件转换成多个json键值对;依据预先设定的验证规则对多个json键值对的内容进行验证;响应用户提交数据的请求,将通过验证的数据定量等分,分批次发送至后端服务器,利用多个线程对数据进行处理,提高数据处理效率,避免单线程处理数据造成的卡顿、资源浪费;提升交互体验。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
工业互联网平台面向各种角色的用户群体,当用户采集、更新工业设备数据信息时,就会面临大数据的批处理问题。现有技术中,通常主要依赖后端技术,可以通过提高服务器的配置,增加服务器数量,提升服务器的性能来加快批量处理速度,但单纯的依赖后端技术,复杂程度增加,有时也会造成资源浪费,前端仅由在浏览器中单线程运行的JavaScript上传数据,会导致页面响应缓慢甚至卡顿。
发明内容
本发明的目的包括,例如,提供了一种数据传输方法、装置、电子设备及存储介质,其能够利用多个线程对数据进行处理,提高数据处理效率,避免单线程处理数据造成的卡顿、资源浪费;提升交互体验。
本发明的实施例可以这样实现:
第一方面,本发明提供一种数据传输方法,所述数据传输方法包括:
获取表格数据文档;
对所述表格数据文档进行解析,得到预设格式的数据文件;
利用web worker创建至少一个worker线程对所述预设格式的数据文件进行数据转换,将所述预设格式的数据文件转换成多个json键值对;
依据预先设定的验证规则对所述多个json键值对的内容进行验证;
响应用户提交数据的请求,将通过所述验证的数据定量等分,分批次发送至后端服务器。
在可选的实施方式中,所述预设格式的数据文件为二进制数据流,对所述表格数据文档进行解析,得到预设格式的数据文件的步骤包括:
通过FileReader将所述表格数据文档进行解析,得到二进制数据流。
在可选的实施方式中,所述对所述表格数据文档进行解析,得到预设格式的数据文件步骤之后,所述方法还包括:
生成对所述表格数据文档进行解析结果,所述解析结果包括解析成功的数据以及解析失败的数据。
在可选的实施方式中,将通过所述验证的数据定量等分,分批次发送至后端服务器之后,所述方法还包括:
接收后端服务器返回的接收回执数据,所述接收回执数据包括所述后端服务器接收成功的数据及所述后端服务器接收失败的数据;
依据所述接收回执数据以及所述表格数据文档生成发送结果数据,所述发送结果数据包括发送成功的数据以及发送失败的数据。
在可选的实施方式中,所述方法还包括:
接收用户的导出数据请求,所述导出数据请求包含待导出数据的范围;
依据所述导出数据请求通过后端接口获取所述待导出数据的数据总量;
依据所述导出数据请求及所述数据总量生成多个数据获取指令,将所述数据获取指令发送至后端服务器;其中,多个所述数据获取指令要求获取的数据量之和为所述待导出数据的数据总量;
接收所述后端服务器响应数据获取指令发送的返回数据。
在可选的实施方式中,接收所述后端服务器响应数据获取指令发送的返回数据后,所述方法还包括:
将所述返回数据写入预先设定的表格模板生成表格文件。
在可选的实施方式中,响应用户提交数据的请求,将通过所述验证的数据定量等分,分批次发送至后端服务器之后,所述方法还包括:
生成发送进度数据,所述发送进度数据为已发送数据量与通过所述验证的数据总量的比值。
第二方面,本发明提供一种数据传输装置,所述数据传输装置用于执行如前述实施方式任意一项所述的数据传输方法,所述数据传输装置包括:
获取模块,用于获取表格数据文档;
处理模块,用于对所述表格数据文档进行解析,得到预设格式的数据文件;
所述处理模块还用于利用web worker创建至少一个worker线程对所述预设格式的数据文件进行数据转换,将所述预设格式的数据文件转换成多个json键值对;依据预先设定的验证规则对所述多个json键值对的内容进行验证;
发送模块,用于响应用户提交数据的请求,将通过所述验证的数据定量等分,分批次发送至所述后端服务器。
第三方面,本发明提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行计算机可读程序指令,所述计算机可读程序指令被执行时实现如前述实施方式任意一项所述的数据传输方法的步骤。
第四方面,本发明提供一种存储介质,所述存储介质存储有计算机可读程序指令,该计算机可读程序指令被处理器执行时实现如前述实施方式任意一项所述的数据传输方法的步骤。
相对于现有技术,本申请实施例的有益效果之一包括:
本申请实施例提供了一种数据传输方法、装置、电子设备及存储介质,数据传输方法包括:获取表格数据文档;对表格数据文档进行解析,得到预设格式的数据文件;利用webworker创建至少一个worker线程对预设格式的数据文件进行数据转换,将预设格式的数据文件转换成多个json键值对;依据预先设定的验证规则对多个json键值对的内容进行验证;响应用户提交数据的请求,将通过验证的数据定量等分,分批次发送至后端服务器,利用多个线程对数据进行处理,提高数据处理效率,避免单线程处理数据造成的卡顿、资源浪费;提升交互体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据传输方法的流程示意图;
图2为本申请实施例提供的另一种数据传输方法的流程示意图;
图3为本申请实施例提供的另一种数据传输方法的流程示意图;
图4为本申请实施例提供的另一种数据传输方法的流程示意图;
图5为本申请实施例提供的一种数据传输装置的功能框图;
图6为本申请实施例提供的一种电子设备的功能框图。
图标:300-数据传输装置;310-获取模块;320-处理模块;330-发送模块;410-处理器;411-存储器;412-总线;413-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
工业互联网平台面向各种角色的用户群体,当用户采集、更新工业设备数据信息时,就会面临大数据的批处理问题。现有技术中,通常主要依赖后端技术,可以通过提高服务器的配置,增加服务器数量,提升服务器的性能来加快批量处理速度,但单纯的依赖后端技术,复杂程度增加,有时也会造成资源浪费,前端仅由在浏览器中单线程运行的JavaScript上传数据,众所周知,Javascript是运行在单线程环境中,也就是说无法同时运行多个脚本。假设用户点击一个按钮,触发了一段用于计算的Javascript代码,那么在这段代码执行完毕之前,页面是无法响应用户操作的。因此,目前一来前端进行数据处理还会导致页面响应缓慢甚至卡顿。
为了改善上述问题,本申请实施例提供了一种数据传输方法,请参阅图1,图1示出了本实施例提供的数据传输方法的流程示意图。本申请实施例提供的数据传输方法包括:
步骤110:获取表格数据文档。
可选地,平台上批量导入导出工业设备或其他的大批量数据时,以表格作为数据传递介质来完成整个处理过程。在需要导入数据时,预先提供给用户表格模板,用户依据该表格模板填写相应的数据,例如在设备编号一栏填写相关设备编号。
获取表格数据文档即是指获取用户填写完成的相关文档,可选地,用户在本地填写完成相关的表格文档后,利用input控件选择该表格数据文档,点击确定后即开始对表格数据文档进行解析和处理。
步骤120:对表格数据文档进行解析,得到预设格式的数据文件。
对用户选取的表格数据文档进行解析,可选地,表格数据文档是封装好的表格格式的文件,前端无法识别该文件类型,因此需要对数据文档进行解析,解析得到前端可读取的预设格式的文件类型。
在一些可选的实现方式中,预设格式的数据文件为二进制数据流,对表格数据文档进行解析可以通过FileReader实现。FileReader提供了多种读取方法,例如,readAsArrayBuffer(file):按字节读取文件内容,结果用ArrayBuffer对象表示;readAsBinaryString(file):按字节读取文件内容,结果为文件的二进制串;readAsDataURL(file):读取文件内容,结果用data:url的字符串形式表示;readAsText(ile,encoding):按字符读取文件内容,结果用字符串形式表示;abort():终止文件读取操作,于本申请实施例中,利用FileReader控件对获取的表格数据文档进行解析,得到二进制数据流。
步骤130:利用web worker创建至少一个worker线程对预设格式的数据文件进行数据转换,将预设格式的数据文件转换成多个json键值对。
传统的数据导入方案前端仅由单线程运行的JavaScript上传数据,Javascript是运行在单线程环境中,也就是说无法同时运行多个脚本,假设用户点击一个按钮,触发了一段用于计算的Javascript代码,那么在这段代码执行完毕之前,页面是无法响应用户操作的。而web worker 是运行在后台的JavaScript,独立于其他脚本,不会影响页面的性能,在web worker运行过程中可以继续进行点击、选取内容等操作,不会影响Javascript主线程的运行。
利用web worker创建至少一个worker线程对预设格式的数据文件(即上述的二进制数据流)进行数据转换,将预设格式的数据文件转换成多个json键值对,从而可以对转换后的json键值对进行验证处理等操作。可以理解地,创建的worker线程并不会对Javascript有任何影响,Javascript主线程仍旧可以执行其原本的动作,当然,也可以执行与worker线程相同的动作,例如Javascript主线程可以继续对页面进行渲染,也可以进行数据转换等。
步骤140:依据预先设定的验证规则对多个json键值对的内容进行验证。
对转换后的数据进行验证,由于将表格数据文档读取解析后生成的二进制数据流无法直接进行验证,因此利用worker线程将二进制数据流转换成多个json键值对,对多个转换后的json键值对的内容进行校验。
例如某一json键值对的内容为:设备编号,ABC1234567。可选地,设备编号具有一定的格式,假设设备编号为2位英文字母与8位数字的组合,则可以利用这一规则对转换后的json键值对进行验证,如ABC1234567不满足2位英文字母与8位数字的组合,则判定“设备编号,ABC1234567”这一键值对无法通过验证。
可以理解地,对于不同的数据条目有不同的规则或者形式,利用预先设定的验证规则对上述转换后的json键值对进行验证,以得到验证成功通过验证的数据以及验证失败无法通过验证的数据。
步骤150:响应用户提交数据的请求,将通过验证的数据定量等分,分批次发送至后端服务器。
当接收到用户提交的提交数据请求时,将通过验证的数据定量等分,也就是将通过验证的数据平均分成多个数据组或者数据集合,然后分批次将这些数据组或者数据集合发送至后端服务器。
将数据等分然后分批次发送,可以避免由于某一个数据发送失败而导致的全局数据发送进度迟缓,同时可以对发送进度有较好的监控,例如将通过验证的数据平均分为5份,当第一份发送成功时,则可以显示发送进度20%,当第二份发送成功时,则可以显示发送进度40%。即使某一份数据发送失败,也无需对全部数据重新发送,仅需要对发送失败的那一份数据进行检查或者重新发送。
本申请实施例提供的数据传输方法,获取表格数据文档后对表格数据文档进行解析,得到二进制数据流,利用web worker创建至少一个worker线程对二进制数据流进行数据转换,将二进制数据流转换成多个json键值对;依据预先设定的验证规则对所述多个json键值对的内容进行验证;响应用户提交数据的请求,将通过所述验证的数据定量等分,分批次发送至后端服务器。本申请实施例提供的方案利用web worker创建worker线程用于对数据进行转换、验证等,可以与JavaScript同步运行,同时不影响JavaScript主线程的正常工作,有效减少数据请求,减少资源浪费,降低服务器压力,加快数据处理速度,同时保障平台用户的交互体验。
在一些可选的实现方式中,对表格数据文档进行解析,得到预设格式的数据文件步骤之后,参阅图2,该数据传输方法还包括:
步骤121:生成对表格数据文档进行解析结果,解析结果包括解析成功的数据以及解析失败的数据。
可选地,部分数据由于格式或者内容自身存在的问题,可能会导致无法解析成功。对数据解析转换的过程中,可以对解析成功及解析失败的数据进行预览,例如显示已经解析成功的数据条目或者显示解析失败的数据条目。
在一些可选的实现方式中,将数据定量等分,分批次发送至后端服务器之后,参阅图3,该数据传输方法还包括:
步骤151:生成发送进度数据,发送进度数据为已发送数据量与通过验证的数据总量的比值。
可选地,将数据等分然后分批次发送,可以避免由于某一个数据发送失败而导致的全局数据发送进度迟缓,同时可以对发送进度有较好的监控,例如将通过验证的数据平均分为5份,发送进度数据为已发送数据量与通过验证的数据总量的比值,当第一份发送成功时,则可以生成发送进度数据为20%,当第二份也发送成功时,则可以生成发送进度数据为40%。
在一些可选的实现方式中,将数据分批次发送至后端服务器之后,该数据传输方法还包括:
步骤161:接收后端服务器返回的接收回执数据,接收回执数据包括后端服务器接收成功的数据及后端服务器接收失败的数据。
步骤162:依据接收回执数据以及表格数据文档生成发送结果数据,发送结果数据包括发送成功的数据以及发送失败的数据。
后端服务器接收数据后,会返回接收回执数据,接收回执数据包括后端服务器接收成功的数据以及后端服务器接收失败的数据,相对地,后端服务器接收成功的数据即为前端发送成功的数据,后端服务器接收失败的数据即为前端发送失败的数据。
依据接收回执数据以及表格数据文档生成发送结果数据,发送结果数据包括发送成功的数据以及发送失败的数据。
例如,在一些可能的实现方式中,在原表格数据文档的基础上添加数据条目以生成发送结果数据,该条目用于填写发送状态,例如第一条数据发送成功,第二条数据发送失败等等。
在一些可选的实现方式中,数据传输方法除了向后端服务器发送数据,还包括从后端服务器请求数据的步骤,参阅图4,该方法还包括:
步骤171:接收用户的导出数据请求,导出数据请求包含待导出数据的范围。
例如,后端服务器存储有1000条数据,用户需要导出前900条数据,则可以选定前900条数据生成导出数据请求,前端响应用户的操作接收该导出数据请求,获取导出数据请求中包含的待导出数据的范围。
步骤172:依据导出数据请求通过后端接口获取待导出数据的数据总量。
可选地,导出数据请求包含待导出数据的范围,通过后端接口从后端服务器处获取该数据的范围对应的数据总量。
步骤173:依据导出数据请求及数据总量生成多个数据获取指令,将数据获取指令发送至后端服务器;其中,多个数据获取指令要求获取的数据量之和为待导出数据的数据总量。
可选地,依据该数据范围以及数据总量将待导出数据定量等分,对应每一份数据生成一个数据获取指令,该数据获取指令请求获取待导出数据的一部分,多个数据获取指令要求获取的数据量之和即为待导出数据的数据总和,生成多个数据获取指令后,将多个数据获取指令发送至后端服务器,分批次获取待导出数据。
步骤174:接收后端服务器响应数据获取指令发送的返回数据。
步骤175:将返回数据写入预先设定的表格模板生成表格文件。
接收后端服务器响应数据获取指令发送的返回数据,并按照预先设定的表格模板,表格模板包括多个条目,按照模板的内容将返回数据填入表格模板生成表格文件,提供给用户下载或者预览。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种数据传输装置的实现方式,请参阅图5,图5为本发明较佳实施例提供的一种数据传输装置300。需要说明的是,本实施例所提供的数据传输装置300,其基本原理及产生的技术效果和上述实施例提供的数据传输方法基本相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。本实施例提供的数据传输装置300包括获取模块310、处理模块320、发送模块330。
获取模块310,用于获取表格数据文档。
可以理解地,在一些可选的实现方式中,该获取模块310可以用于执行上述各个图中的步骤110,以实现对应的技术效果。
处理模块320,用于对表格数据文档进行解析,得到预设格式的数据文件;处理模块320还用于利用web worker创建至少一个worker线程对预设格式的数据文件进行数据转换,将预设格式的数据文件转换成多个json键值对;依据预先设定的验证规则对多个json键值对的内容进行验证。
可以理解地,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤120~步骤140,以实现对应的技术效果。
发送模块330,用于响应用户提交数据的请求,将通过验证的数据定量等分,分批次发送至后端服务器。
可以理解地在,在一些可选的实现方式中,该发送模块330可以用于执行上述各个图中的步骤150,以实现对应的技术效果。
在一些可选的实施方式中,该处理模块320还用于生成对表格数据文档进行解析结果,其中,解析结果包括解析成功的数据以及解析失败的数据;该处理模块320还用于生成发送进度数据,发送进度数据为已发送数据量与通过验证的数据总量的比值。
可以理解地在,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤121及步骤151,以实现对应的技术效果。
在一些可选的实施方式中,该获取模块310还用于接收服务器返回的接收回执数据,接收回执数据包括后端服务器接收成功的数据及后端服务器接收失败的数据。
可以理解地在,在一些可选的实现方式中,该获取模块310可以用于执行上述各个图中的步骤161,以实现对应的技术效果。
在一些可选的实施方式中,该处理模块320还用于依据接收回执数据以及表格数据文档生成发送结果数据,发送结果数据包括发送成功的数据以及发送失败的数据。
可以理解地在,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤162,以实现对应的技术效果。
在一些可选的实施方式中,该获取模块310还用于接收用户的导出数据请求,导出数据请求包含待导出数据的范围。
可以理解地在,在一些可选的实现方式中,该获取模块310可以用于执行上述各个图中的步骤171,以实现对应的技术效果。
该处理模块320用于依据导出数据请求通过后端接口获取待导出数据的数据总量。依据导出数据请求及数据总量生成多个数据获取指令,将数据获取指令发送至后端服务器;其中,多个数据获取指令要求获取的数据量之和为待导出数据的数据总量。
可以理解地在,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤172~步骤173,以实现对应的技术效果。
该获取模块310还用于接收后端服务器响应数据获取指令发送的返回数据。
可以理解地在,在一些可选的实现方式中,该获取模块310可以用于执行上述各个图中的步骤174,以实现对应的技术效果。
该处理模块320用于将返回数据写入预先设定的表格模板生成表格文件。
可以理解地在,在一些可选的实现方式中,该处理模块320还可以用于执行上述各个图中的步骤175,以实现对应的技术效果。
本申请实施例还提供一种电子设备,该电子设备可以客户端,例如PC机、智能手机等。请参照图6,图6示出了本实施例提供的电子设备的结构示意图。电子设备包括处理器410、存储器411、总线412。处理器410、存储器411通过总线412连接,处理器410用于执行存储器411中存储的可执行模块,例如计算机可读程序指令,当该计算机可读程序指令被处理器410执行时实现上述实施例提供的数据传输方法的步骤。
处理器410可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本实施例提供的数据传输方法的各步骤可以通过处理器410中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(ApplicationSpecific Integrated Circuit ,简称ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器411可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
总线412可以是ISA(Industry Standard Architecture)总线、PCI(PeripheralComponent Interconnect)总线或EISA(Extended Industry Standard Architecture)总线等。图6中仅用一个双向箭头表示,但并不表示仅有一根总线412或一种类型的总线412。
存储器411用于存储程序,例如信息获取装置对应的程序指令。信息获取装置包括至少一个可以软件或固件(firmware)的形式存储于存储器411中或固化在电子设备的操作系统(operating system,OS)中的软件功能模块。处理器410在接收到执行指令后,执行所述程序以实现数据传输方法的步骤。
可能地,本申请实施例提供的电子设备还包括通信接口413。通信接口413通过总线与处理器410连接。可能地,该通信接口413可以用于实现前端有后端服务器的通信。
应当理解的是,图6所示的结构仅为电子设备的部分的结构示意图,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置,图6中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,该存储介质存储有计算机可读程序指令,该计算机可读程序指令被处理器执行时实现如前述实施方式提供的数据传输方法的步骤。
综上所述,本申请实施例提供了一种数据传输方法、装置、电子设备及存储介质,数据传输方法包括:获取表格数据文档;对表格数据文档进行解析,得到预设格式的数据文件;利用web worker创建至少一个worker线程对预设格式的数据文件进行数据转换,将预设格式的数据文件转换成多个json键值对;依据预先设定的验证规则对多个json键值对的内容进行验证;响应用户提交数据的请求,将通过验证的数据定量等分,分批次发送至后端服务器,利用多个线程对数据进行处理,提高数据处理效率,避免单线程处理数据造成的卡顿、资源浪费;提升交互体验。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (10)
1.一种数据传输方法,其特征在于,所述数据传输方法包括:
获取表格数据文档;
对所述表格数据文档进行解析,得到预设格式的数据文件;
利用web worker创建至少一个worker线程对所述预设格式的数据文件进行数据转换,将所述预设格式的数据文件转换成多个json键值对;
依据预先设定的验证规则对所述多个json键值对的内容进行验证;
响应用户提交数据的请求,将通过验证的数据定量等分,分批次发送至后端服务器。
2.根据权利要求1所述的数据传输方法,其特征在于,所述预设格式的数据文件为二进制数据流,对所述表格数据文档进行解析,得到预设格式的数据文件的步骤包括:
通过FileReader将所述表格数据文档进行解析,得到二进制数据流。
3.根据权利要求1所述的数据传输方法,其特征在于,所述对所述表格数据文档进行解析,得到预设格式的数据文件步骤之后,所述方法还包括:
显示对所述表格数据文档进行解析结果,所述解析结果包括解析成功的数据以及解析失败的数据。
4.根据权利要求1所述的数据传输方法,其特征在于,将通过验证的数据定量等分,分批次发送至后端服务器之后,所述方法还包括:
接收后端服务器返回的接收回执数据,所述接收回执数据包括所述后端服务器接收成功的数据及所述后端服务器接收失败的数据;
依据所述接收回执数据以及所述表格数据文档生成发送结果数据,所述发送结果数据包括发送成功的数据以及发送失败的数据。
5.根据权利要求1所述的数据传输方法,其特征在于,所述方法还包括:
接收用户的导出数据请求,所述导出数据请求包含待导出数据的范围;
依据所述导出数据请求通过后端接口获取所述待导出数据的数据总量;
依据所述导出数据请求及所述数据总量生成多个数据获取指令,将所述数据获取指令发送至后端服务器;其中,多个所述数据获取指令要求获取的数据量之和为所述待导出数据的数据总量;
接收所述后端服务器响应数据获取指令发送的返回数据。
6.根据权利要求5所述的数据传输方法,其特征在于,接收所述后端服务器响应数据获取指令发送的返回数据后,所述方法还包括:
将所述返回数据写入预先设定的表格模板生成表格文件。
7.根据权利要求1所述的数据传输方法,其特征在于,响应用户提交数据的请求,将通过验证的数据定量等分,分批次发送至后端服务器之后,所述方法还包括:
生成发送进度数据,所述发送进度数据为已发送数据量与通过验证的数据总量的比值。
8.一种数据传输装置,其特征在于,所述数据传输装置用于执行如权利要求1~7任意一项所述的数据传输方法,所述数据传输装置包括:
获取模块,用于获取表格数据文档;
处理模块,用于对所述表格数据文档进行解析,得到预设格式的数据文件;
所述处理模块还用于利用web worker创建至少一个worker线程对所述预设格式的数据文件进行数据转换,将所述预设格式的数据文件转换成多个json键值对;依据预先设定的验证规则对所述多个json键值对的内容进行验证;
发送模块,用于响应用户提交数据的请求,将通过验证的数据定量等分,分批次发送至所述后端服务器。
9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行计算机可读程序指令,所述计算机可读程序指令被执行时实现如权利要求1~7任意一项所述的数据传输方法的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有计算机可读程序指令,该计算机可读程序指令被处理器执行时实现如权利要求1~7任意一项所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011326247.4A CN112148675A (zh) | 2020-11-24 | 2020-11-24 | 数据传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011326247.4A CN112148675A (zh) | 2020-11-24 | 2020-11-24 | 数据传输方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148675A true CN112148675A (zh) | 2020-12-29 |
Family
ID=73887370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011326247.4A Pending CN112148675A (zh) | 2020-11-24 | 2020-11-24 | 数据传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148675A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765277A (zh) * | 2021-01-28 | 2021-05-07 | 树根互联股份有限公司 | 数据同步方法、装置和系统 |
CN112948727A (zh) * | 2021-03-30 | 2021-06-11 | 平安科技(深圳)有限公司 | 基于WebView的数据注入方法、装置、设备及存储介质 |
CN113901271A (zh) * | 2021-12-10 | 2022-01-07 | 飞狐信息技术(天津)有限公司 | 基于电子表格配置系统的方法、装置、存储介质和设备 |
CN117608877A (zh) * | 2023-11-29 | 2024-02-27 | 广州方舟信息科技有限公司 | 一种数据传输方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656751A (zh) * | 2008-08-18 | 2010-02-24 | 北京数码大方科技有限公司 | 加速上传与下载文件的方法及其系统 |
CN102426549A (zh) * | 2011-09-08 | 2012-04-25 | 新一站保险代理有限公司 | 一种高效的Web的表单校验方法及其框架 |
CN108462825A (zh) * | 2017-02-21 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 视频处理方法及装置 |
CN108540566A (zh) * | 2018-04-18 | 2018-09-14 | 暴风集团股份有限公司 | 文件上传方法、装置、系统以及客户端和服务器 |
US10162488B1 (en) * | 2013-09-23 | 2018-12-25 | Amazon Technologies, Inc. | Browser-based media scan |
CN109388790A (zh) * | 2018-09-25 | 2019-02-26 | 广东中标数据科技股份有限公司 | 一种基于二维码的业务表单办理方法、系统及装置 |
CN111586158A (zh) * | 2020-05-06 | 2020-08-25 | 山东汇贸电子口岸有限公司 | 一种音视频分片上传与重传方法 |
CN111610970A (zh) * | 2019-02-22 | 2020-09-01 | 广东真才企链信息科技有限公司 | 一种大数据量表单封装异步提交的方法 |
-
2020
- 2020-11-24 CN CN202011326247.4A patent/CN112148675A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656751A (zh) * | 2008-08-18 | 2010-02-24 | 北京数码大方科技有限公司 | 加速上传与下载文件的方法及其系统 |
CN102426549A (zh) * | 2011-09-08 | 2012-04-25 | 新一站保险代理有限公司 | 一种高效的Web的表单校验方法及其框架 |
US10162488B1 (en) * | 2013-09-23 | 2018-12-25 | Amazon Technologies, Inc. | Browser-based media scan |
CN108462825A (zh) * | 2017-02-21 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 视频处理方法及装置 |
CN108540566A (zh) * | 2018-04-18 | 2018-09-14 | 暴风集团股份有限公司 | 文件上传方法、装置、系统以及客户端和服务器 |
CN109388790A (zh) * | 2018-09-25 | 2019-02-26 | 广东中标数据科技股份有限公司 | 一种基于二维码的业务表单办理方法、系统及装置 |
CN111610970A (zh) * | 2019-02-22 | 2020-09-01 | 广东真才企链信息科技有限公司 | 一种大数据量表单封装异步提交的方法 |
CN111586158A (zh) * | 2020-05-06 | 2020-08-25 | 山东汇贸电子口岸有限公司 | 一种音视频分片上传与重传方法 |
Non-Patent Citations (2)
Title |
---|
人人网FED: "前端本地文件操作与上传", 《HTTPS://JUEJIN.CN/POST/6844903513882001422》 * |
请叫我小飞鹅: "web worker处理多文件并行上传", 《HTTPS://WWW.JIANSHU.COM/P/1708A6F4037D》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765277A (zh) * | 2021-01-28 | 2021-05-07 | 树根互联股份有限公司 | 数据同步方法、装置和系统 |
CN112948727A (zh) * | 2021-03-30 | 2021-06-11 | 平安科技(深圳)有限公司 | 基于WebView的数据注入方法、装置、设备及存储介质 |
CN112948727B (zh) * | 2021-03-30 | 2024-05-14 | 平安科技(深圳)有限公司 | 基于WebView的数据注入方法、装置、设备及存储介质 |
CN113901271A (zh) * | 2021-12-10 | 2022-01-07 | 飞狐信息技术(天津)有限公司 | 基于电子表格配置系统的方法、装置、存储介质和设备 |
CN117608877A (zh) * | 2023-11-29 | 2024-02-27 | 广州方舟信息科技有限公司 | 一种数据传输方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112148675A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
US9229994B2 (en) | Server-side tracing of requests | |
CN111026470A (zh) | 用于输入数据的验证和转换的系统和方法 | |
CN104063401A (zh) | 一种网页样式地址合并的方法和装置 | |
CN108737252B (zh) | 基于区块链的信息推送方法及装置 | |
CN104750663B (zh) | 页面中文本乱码的识别方法及装置 | |
CN110555179A (zh) | 一种动态网站脚本取证方法、终端设备及存储介质 | |
CN112084179B (zh) | 一种数据处理的方法、装置、设备及存储介质 | |
CN109413115B (zh) | 协议文本解析方法及系统 | |
CN111897833A (zh) | 数据处理方法及装置 | |
CN113050921A (zh) | 一种网页转换方法、装置、存储介质和计算机设备 | |
CN115858282A (zh) | 一种前端性能可视化监控方法及系统 | |
CN111373377A (zh) | 错误处理 | |
CN113971251A (zh) | 网页输出方法、系统及计算机可读存储介质 | |
CN109145220B (zh) | 数据处理方法、装置及电子设备 | |
CN114117267A (zh) | 一种基于图片的请求登出方法及装置、电子设备、存储介质 | |
CN111625459A (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN108076067B (zh) | 一种授权爬虫配置化模拟登录的方法及系统 | |
CN106570044B (zh) | 一种解析网页编码的方法及装置 | |
US20200097386A1 (en) | Methods for facilitating more efficient network message exchange and analysis and devices thereof | |
CN111870937B (zh) | 一种数据处理方法、模拟服务器及时效性应用 | |
CN111291299B (zh) | 一种直接获取本地命令执行结果的方法及本地服务器 | |
CN113162784B (zh) | 一种运维模板的生成方法和装置 | |
CN113364773B (zh) | 安全性识别方法、装置和电子设备 | |
CN114465811B (zh) | 一种网站登录的确定方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201229 |
|
RJ01 | Rejection of invention patent application after publication |