首页新闻找找看学习计划

csv百万条数据通过网页导入数据库如何实现?

0
悬赏园豆:100 [待解决问题]

打算先上传文件到服务器,再次点击网页后台执行导入操作。
nginx 超时1~3分钟内,不改动nginx配置如何实现?

大妖小白的主页 大妖小白 | 初学一级 | 园豆:32
提问于:2019-04-12 17:44
< >
分享
所有回答(3)
0

这个超时与nginx说有关系也可以,说没关系其实也是可以的。主要在于程序设计上。
解决办法:
1、客户端和服务端约定导入数据处理状态码Code,Code取值为1-接收导入数据请求 2-数据处理中 3-数据导入失败 4-数据导入完成;
2、客户端通过ajax请求服务端接口(比如接口是 import.htm)开始导入数据;
2.1、服务端接收到客户端的ajax请求并在缓存/数据库/session等(选其一熟悉技术)记录开始导入数据操作状态值,同时通知数据导入程序开始导入数据(数据导入程序会一致运行...),然后服务端立即返回Code值(此时取值为1).
2.2、客户端接收到服务端的返回值后,通过友好提示服务端正在导入数据.
2.3、服务端导入程序开始导入数据后,可以改变约定的状态值为2,处理异常时可以改变状态值为3,数据导入成功后可以改变状态值为4.
3、客户端可以每隔5秒向服务端发起一个ajax请求(比如接口是 status.htm)获取数据导入状态。服务端去获取2.1中约定的数据操作状态值取状态码返回给客户端,客户端根据不同的状态码Code值来提示数据导入状态。直到获取到Code为4时数据导入成功。
4、客户端通过ajax请求获取到状态码值4后,结束客户端轮询请求。

当然,如果熟悉Socket.IO也可以使用基于浏览器的socket技术实现。

基于以上,无论nginx超时是多长时间都没关系。

北木玄 | 园豆:10633 (专家六级) | 2019-04-12 18:14

要是数据导入也是PHP程序要怎么实现

支持(0) 反对(0) 大妖小白 | 园豆:32 (初学一级) | 2019-04-12 18:26

@大妖小白: https://www.cnblogs.com/zlx7/p/4816247.html 这里有朋友实现...

支持(0) 反对(0) 北木玄 | 园豆:10633 (专家六级) | 2019-04-12 22:38
0
ycyzharry | 园豆:18627 (专家六级) | 2019-04-13 22:47

给出的需求就是这样子

支持(0) 反对(0) 大妖小白 | 园豆:32 (初学一级) | 2019-04-14 22:33
0

百万条数据的cvs用mysql导入也就秒秒钟的事情吧。不知道你用的什么数据库,查一下对应的批量导入函数。百万条数据的文件通过网页上传也应该很快吧,能有多大?

会长 | 园豆:5255 (大侠五级) | 2019-06-27 10:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册