CN106991136A - 一种Web端导入excel与存数据库并反馈到前端的方法 - Google Patents
一种Web端导入excel与存数据库并反馈到前端的方法 Download PDFInfo
- Publication number
- CN106991136A CN106991136A CN201710154409.2A CN201710154409A CN106991136A CN 106991136 A CN106991136 A CN 106991136A CN 201710154409 A CN201710154409 A CN 201710154409A CN 106991136 A CN106991136 A CN 106991136A
- Authority
- CN
- China
- Prior art keywords
- database
- imported
- data
- storehouse
- memory
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种Web端导入excel与存数据库并反馈到前端的方法,其步骤如下:客户端选择大文件上传;服务端获取到上传的大文件后读入内存,后台处理数据;独立线程将上传的文件导入到数据库;当数据没有完全导入到数据库,前端请求查询时,查询数据库以及内存数据库,合并后返给前端;等独立线程处理完导入操作后,清空内存数据库。本发明采用在web处理中开启多线程处理写库操作,能够快速给用户反馈结果,结合内存数据库解决查询数据不全的问题,大文件写入操作不再采用web中调取数据库的接口,不用insert,而是采用系统级接口,直接将文件批量导入数据库,大大提升了写数据库的速度,大幅提升用户体验度,实际写数据库时间大幅缩短。
Description
技术领域
本发明涉及一种导入与存数据库并反馈到前端的方法,具体为一种Web端导入excel与存数据库并反馈到前端的方法,属于数据处理方法应用技术领域。
背景技术
Web端导入excel,无论web开发架构是net、java、php,都可以实现客户端浏览excel文件,并上传到服务器,服务器经过业务逻辑处理,写入到数据库(oracle、sqlserver、mysql),然后给用户一个反馈。但是如果excel文件内容较多,写入数据库非常的慢,客户需要等待几分钟、几十分钟甚至更长时间来等待处理结果,现有技术无法解决这一问题。
现有的解决方案对小文件的处理是可以满足要求的,但是对于大文件,主要瓶颈在导入数据库的操作上。一般web程序通过接口连接数据库,需要先打开数据库,执行写入操作,然后关闭数据库,数据量大,数据库写入非常慢,写数据库成为主要瓶颈,传统技术始终为单向模式,即:请求->上传->处理->写库->反馈结果,必须等待上一环节处理完成后,才能进入到下一环节,对于大文件的写数据库是一个非常耗时的操作,无法在短时间内容响应用户操作,因此,针对上述问题提出一种Web端导入excel与存数据库并反馈到前端的方法。
发明内容
本发明的目的就在于为了解决上述问题而提供一种Web端导入excel与存数据库并反馈到前端的方法。
本发明通过以下技术方案来实现上述目的,一种Web端导入excel与存数据库并反馈到前端的方法,其方法包括如下步骤:
步骤A、客户端选择大文件上传;
步骤B、服务端获取到步骤A上传的大文件后读入内存,通过在后台打开一个独立的线程处理文件导入的问题,在打开独立线程的同时,给客户反馈一个结果,告诉用户,后台已经处理了上传的数据;
步骤C、独立线程将步骤A上传的文件导入到数据库;
步骤D、当数据没有完全导入到数据库,遇到用户查询时,将导入的结果放入服务端一个容器中,前端请求查询时,同时查询数据库以及内存数据库,合并后返给前端;
步骤E、等独立线程处理完导入操作后,清空内存数据库。
优选的,所述步骤B中,独立线程没处理完时,而前端客户已经进行其他操作,不必等待全部写完数据库。
优选的,步骤C中快速导入数据库的过程为:
1)oracle数据库按照格式生成数据库控制文件;
2)步骤1)中的数据库控制文件生成后,在服务端启动命令执行控制文件导入到数据库;
Mysql数据库按照格式生成loadfile文件,通过loadfile命令导入,sqlserver通过bulk insert命令将文本文件导入数据库。
本发明的有益效果是:本发明中的快速导入数据库的过程为:oracle数据库按照格式生成数据库控制文件;生成后,在服务端启动命令执行控制文件导入到数据库;Mysql数据库按照格式生成loadfile文件,通过loadfile命令导入,sqlserver通过bulk insert命令将文本文件导入数据库。这种方式比直接insert效率快很多倍;本发明采用在web处理中开启多线程处理写库操作,能够快速给用户反馈结果,结合内存数据库解决查询数据不全的问题,大文件写入操作不再采用web中调取数据库的接口,不用insert,而是采用系统级接口,直接将文件批量导入数据库,大大提升了写数据库的速度,大幅提升用户体验度,用户不必等待很长时间既能得到结果,实际写数据库时间大幅缩短。
附图说明
图1为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图1所示,一种Web端导入excel与存数据库并反馈到前端的方法,其方法包括如下步骤:
步骤A、客户端选择大文件上传;
步骤B、服务端获取到步骤A上传的大文件后读入内存,通过在后台打开一个独立的线程处理文件导入的问题,在打开独立线程的同时,给客户反馈一个结果,告诉用户,后台已经处理了上传的数据;
其中,独立线程没处理完时,而前端客户已经进行其他操作,不必等待全部写完数据库;
步骤C、独立线程将步骤A上传的文件导入到数据库;
其中,快速导入数据库的过程为:
1)oracle数据库按照格式生成数据库控制文件;
2)步骤1)中的数据库控制文件生成后,在服务端启动命令执行控制文件导入到数据库;
Mysql数据库按照格式生成loadfile文件,通过loadfile命令导入,sqlserver通过bulk insert命令将文本文件导入数据库;
步骤D、当数据没有完全导入到数据库,遇到用户查询时,将导入的结果放入服务端一个容器中,前端请求查询时,同时查询数据库以及内存数据库,合并后返给前端;
步骤E、等独立线程处理完导入操作后,清空内存数据库。
当用户查询内存数据库时,前端请求查询时,同时查询数据库以及内存数据库,合并后返给前端,等独立线程处理完导入操作后,清空内存数据库,其效率比传统的方式快了20%。
实施例二:
如图1所示,一种Web端导入excel与存数据库并反馈到前端的方法,其方法包括如下步骤:
步骤A、客户端选择大文件上传;
步骤B、服务端获取到步骤A上传的大文件后读入内存,通过在后台打开一个独立的线程处理文件导入的问题,在打开独立线程的同时,给客户反馈一个结果,告诉用户,后台已经处理了上传的数据;
其中,独立线程没处理完时,而前端客户已经进行其他操作,不必等待全部写完数据库;
步骤C、独立线程将步骤A上传的文件导入到数据库;
其中,快速导入数据库的过程为:
1)oracle数据库按照格式生成数据库控制文件;
2)步骤1)中的数据库控制文件生成后,在服务端启动命令执行控制文件导入到数据库;
Mysql数据库按照格式生成loadfile文件,通过loadfile命令导入,sqlserver通过bulk insert命令将文本文件导入数据库;
步骤D、当数据没有完全导入到数据库,遇到用户查询时,将导入的结果放入服务端一个容器中,前端请求查询时,同时查询数据库以及内存数据库,合并后返给前端;
步骤E、等独立线程处理完导入操作后,清空内存数据库。
当用户查询Mysql数据库时,前端请求查询时,同时查询数据库以及内存数据库,合并后返给前端,等独立线程处理完导入操作后,清空内存数据库,其效率比传统的方式快了10%。
通过实施例一和实施例二其查询效率比传统的方式高,能够直接将文件批量导入数据库,大大提升了写数据库的速度,大幅提升用户体验度,用户不必等待很长时间既能得到结果,实际写数据库时间大幅缩短。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (3)
1.一种Web端导入excel与存数据库并反馈到前端的方法,其特征在于:其方法包括如下步骤:
步骤A、客户端选择大文件上传;
步骤B、服务端获取到步骤A上传的大文件后读入内存,通过在后台打开一个独立的线程处理文件导入的问题,在打开独立线程的同时,给客户反馈一个结果,告诉用户,后台已经处理了上传的数据;
步骤C、独立线程将步骤A上传的文件导入到数据库;
步骤D、当数据没有完全导入到数据库,遇到用户查询时,将导入的结果放入服务端一个容器中,前端请求查询时,同时查询数据库以及内存数据库,合并后返给前端;
步骤E、等独立线程处理完导入操作后,清空内存数据库。
2.根据权利要求1所述的一种Web端导入excel与存数据库并反馈到前端的方法,其特征在于:所述步骤B中,独立线程没处理完时,而前端客户已经进行其他操作,不必等待全部写完数据库。
3.根据权利要求1所述的一种Web端导入excel与存数据库并反馈到前端的方法,其特征在于:步骤C中快速导入数据库的过程为:
1)oracle数据库按照格式生成数据库控制文件;
2)步骤1)中的数据库控制文件生成后,在服务端启动命令执行控制文件导入到数据库;
3)Mysql数据库按照格式生成loadfile文件,通过loadfile命令导入,sqlserver通过bulk insert命令将文本文件导入数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710154409.2A CN106991136A (zh) | 2017-03-15 | 2017-03-15 | 一种Web端导入excel与存数据库并反馈到前端的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710154409.2A CN106991136A (zh) | 2017-03-15 | 2017-03-15 | 一种Web端导入excel与存数据库并反馈到前端的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106991136A true CN106991136A (zh) | 2017-07-28 |
Family
ID=59411887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710154409.2A Pending CN106991136A (zh) | 2017-03-15 | 2017-03-15 | 一种Web端导入excel与存数据库并反馈到前端的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106991136A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383636A (zh) * | 2020-11-20 | 2021-02-19 | 浙江百应科技有限公司 | 一种基于web worker的PC端文件上传方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866568A (zh) * | 2015-05-22 | 2015-08-26 | 国云科技股份有限公司 | 一种大数据文件快速导入关系型数据库的方法 |
CN105205175A (zh) * | 2015-10-15 | 2015-12-30 | 北京农信互联科技有限公司 | 分布式数据库集群的数据操作方法及系统 |
-
2017
- 2017-03-15 CN CN201710154409.2A patent/CN106991136A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866568A (zh) * | 2015-05-22 | 2015-08-26 | 国云科技股份有限公司 | 一种大数据文件快速导入关系型数据库的方法 |
CN105205175A (zh) * | 2015-10-15 | 2015-12-30 | 北京农信互联科技有限公司 | 分布式数据库集群的数据操作方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383636A (zh) * | 2020-11-20 | 2021-02-19 | 浙江百应科技有限公司 | 一种基于web worker的PC端文件上传方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10042533B2 (en) | Graphical user interface that simplifies user creation of custom calculations for data visualizations | |
CN106294521A (zh) | 数据存储方法及数据仓库系统 | |
CN103903081B (zh) | 利用erp系统中的涉税单据数据生成涉税凭证的方法和系统 | |
CN110019251A (zh) | 一种数据处理系统、方法及设备 | |
CN103309904A (zh) | 一种生成数据仓库etl 代码的方法及装置 | |
AU2015331025A1 (en) | Emulating manual system of filing using electronic document and electronic file | |
DE202015009309U1 (de) | Systeme für die Bearbeitung einer Datei in einer nicht nativen Applikation unter Verwendung einer Applikations-Engine | |
CN102541829B (zh) | 一种多用户并发的电子文档生成装置及方法 | |
CN110688399A (zh) | 一种流式计算实时报表系统及方法 | |
US10666731B2 (en) | IRC-infoid data standardization for use in a plurality of mobile applications | |
CN103345484A (zh) | 基于动态域的报表处理系统及方法 | |
CN103218751A (zh) | 基于xml的半导体装备的工艺配方文档处理系统 | |
CN111290813B (zh) | 一种软件界面字段数据标准化的方法、装置、设备和介质 | |
CN107832423A (zh) | 一种用于分布式文件系统的文件读写方法 | |
CN108845942A (zh) | 产品特征管理方法、装置、系统及存储介质 | |
CN105528464A (zh) | 一种自动判断关联数据技术状态一致性的版本管理系统 | |
CN104182295B (zh) | 一种数据备份方法及装置 | |
CN107092587A (zh) | 一种业务凭证生成方法及装置 | |
CN106991136A (zh) | 一种Web端导入excel与存数据库并反馈到前端的方法 | |
CN103870252A (zh) | 资源管理方法和装置 | |
CN108766513B (zh) | 一种智慧健康医疗数据结构化处理系统 | |
US9146905B2 (en) | Generating page-oriented data for printing dynamic documents | |
CN104699471A (zh) | 一种技术出版物内容发布系统及方法 | |
CN114881601A (zh) | 一种基于plm系统的多工艺路线传递方法 | |
CN108959952A (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: 20170728 |
|
RJ01 | Rejection of invention patent application after publication |