Qzist

Qzist

横跨硬件、软件、网络安全专业,热衷科技类节目,是懂技术也爱追科技内容的 “双重科技爱好者”。
知识星球
获赞

107

浏览

1.5 万

舟山
Java后端
2022
某企事业单位工作人员
信息安全

该用户为会员

会员专享项目教程/ 答疑等服务

zcode这么火爆吗Turn execution failed Captcha verification failed. Please try again. provider=builtin:bigmodel-start-plan model=GLM-5.2 request=bc3a86a8-c95e-424d-b824-eb285c3ce430 reason=unknown retryable=false

标题:请教:FTP 定时增量下载 Excel 解析入库场景,合理的项目结构与实现方案 一、业务背景 目前需要做一个数据同步模块:从远端 FTP 服务器批量下载 .xlsx 文件,解析文件内容后写入业务数据库表,同时在 download_record 表中记录每个文件的下载和处理状态。后续会新增定时任务,每 3 分钟执行一次同步。 二、核心约束与前提 文件命名规则:所有 Excel 文件均按时间命名,格式为 yyyyMMdd_HHmmss.xlsx(例如 20260615_075805.xlsx),文件名随时间严格递增,不会出现更早时间的文件。 去重要求:已经下载并解析成功的文件不能重复执行,支持增量同步,即每次只处理上一次成功时间点之后新增的文件。 持久化记录:数据库有 download_record 表,用于记录文件名、下载时间、处理状态(成功 / 失败)、失败原因等信息。 执行频率:通过定时任务每 3 分钟触发一次全量检查 + 增量处理。 三、我目前的初步想法 技术栈打算用 Spring Boot,定时任务先用 @Scheduled 实现。 FTP 连接准备用 Apache Commons Net,Excel 解析用 EasyPOI / EasyExcel。 增量逻辑初步想法:每次执行时先查 download_record 表拿到最近一次成功的文件名 / 时间,再去 FTP 列出所有文件,筛选出时间大于该值的文件逐个下载处理。 每处理完一个文件就往 download_record 写入一条成功记录,失败则记录失败状态。 四、想请教的问题 项目结构怎么划分比较合理规范?比如 FTP 操作、Excel 解析、数据库入库、定时任务这几块,包结构 / 分层应该怎么设计,职责边界更清晰? 增量下载 + 去重的最佳实现方式是什么?靠文件名比对 + 数据库记录最大时间的方式是否靠谱,有没有更优雅、容错性更好的方案? 下载 → 解析 → 入库 整条链路的事务和异常处理应该怎么设计?比如 FTP 下载成功但解析失败、解析成功但入库失败,分别怎么处理,需不需要重试,状态怎么回写? 定时任务这一块,单次执行超时、FTP 连接失败、文件量突增这类异常场景,通常怎么处理比较稳妥? 感谢各位大佬分享经验和思路!

【求助】小程序显示网络连接失败,请求未到后端,1Panel 网站日志无记录 一、问题背景 我的服务架构:腾讯云 Ubuntu 服务器 + 1Panel 2.1.4 + SpringBoot 后端(8123 端口) + 微信小程序 之前因服务器内存耗尽(96% 占用)导致后端服务崩溃,已优化内存至 69%,并重启了 SpringBoot 服务,Nginx(1Panel 的 OpenResty)反向代理也已配置为宿主机内网 IP(10.0.4.10:8123),后端服务本身运行正常。 二、当前问题现象 小程序端:打开后显示「网络连接失败,请检查网络设置」,接口请求完全失败 后端服务:SpringBoot 进程(PID 103571)正常运行,ss -tulpn | grep 8123 能看到端口监听,直接用 curl http://10.0.4.10:8123/api/xxx 能正常返回数据 Nginx 日志:1Panel 网站访问日志中完全没有小程序请求的记录,说明请求根本没到达服务器 小程序调试工具:请求状态为失败,无任何响应信息,未触发 Nginx 日志 三、已做过的排查步骤(避免重复建议) ✅ 服务器内存优化:从 96% 降至 69%,后端服务重启后稳定运行 ✅ Nginx 配置修正:将反向代理地址从 127.0.0.1:8123 改为 10.0.4.10:8123,重载配置后 Nginx 正常运行 ✅ 安全组 / 防火墙:云服务器安全组放行 80/443/8123 端口,服务器 ufw 防火墙放行对应端口 ✅ fail2ban 防护:已安装并启动,确认未封禁任何前端 IP ✅ 小程序配置:微信公众平台已配置「request 合法域名」(HTTPS 格式),清除了小程序缓存 ✅ 后端连通性验证:直接 curl 内网 IP+8123 端口能正常获取接口数据,证明后端服务无问题 ✅ Nginx 状态验证:systemctl status openresty 显示 active (running),监听 80/443 端口正常 四、核心疑问 为什么小程序请求完全没到达 Nginx,导致网站日志为空? 小程序「网络连接失败」除了合法域名配置,还有哪些可能的拦截点? 目前的排查步骤是否有遗漏?还需要从哪些方向定位问题? 五、环境信息 服务器:腾讯云 Ubuntu,2 核 4G 面板:1Panel 2.1.4(OpenResty 作为 Nginx) 后端:SpringBoot 3.x,端口 8123 前端:微信小程序,baseURL 配置为已备案的 HTTPS 域名(已在微信公众平台配置合法域名) 麻烦各位大佬帮忙指点一下,感谢!🙏

各位大佬,我目前使用 SpringBoot + EasyExcel + MyBatis-Flex + MySQL 开发,有一个 Excel 导入的业务需求: 解析上传的 Excel 文件; 1.对比数据库中已存在的数据,过滤重复数据; 2.将新增数据批量插入数据库主表; 3.把主表的关键字段同步插入到另一张关联数据表中。 请问这个业务逻辑的最优实现方案是什么?感谢解答!

Day 2 ✅ 今天做了:完成三张表格业务逻辑 ⏰ 明天计划:前端开始对接 📚 今日感悟:注意身体,要倒也要倒在岗位上

Day 2 ✅ 今天做了:完成用户模块 ⏰ 明天计划:过年 📚 今日感悟:年前最后一天

Day 1 ✅ 今天做了:内网项目开发:离线环境安装 ⏰ 明天计划:init后端代码 📚 今日感悟:层层审批,层层加码

求教谷歌gemini在规则模式美国节点代理下,仍被锁地区该如何解决(在全局模式下可行,但是不方便)

Day 12 ✅ 今天做了:治疗腰间盘突出 ⏰ 明天计划:治疗梨状肌 📚 今日感悟:不能久坐

Day 11 ✅ 今天做了:增加公告模块 ⏰ 明天计划:使劲摸鱼 📚 今日感悟:摸鱼是我快乐

下载 APP