工作小结:后端接口优化、数据库排查及团队联调

张开发
2026/4/25 7:06:26 15 分钟阅读

分享文章

工作小结:后端接口优化、数据库排查及团队联调
项目智评罗盘EcoSentinel—— 基于 LDA 与 LLM 的电商评论智能分析平台本周主要负责数据库搭建、后端接口维护优化、跨模块联调协作一、本周整体工作概述这周没搞新的大功能主要就是盯着上周搭好的后端接口、数据导入流程和 NLP 基础服务反复测试、反复修 bug。核心就是让现有系统稳一点排查数据库并发冲突的问题解决前后端联调时出现的数据格式不一致的小毛病再用之前写的自检脚本把 NLP 那几个接口的响应时间摸清楚。现在项目还在模块联调阶段我先把数据链路和统计接口稳住后面做版本管理、报告导出的时候底层才不会出乱子。二、本周具体工作内容数据库运行排查与细节优化上周已经把 dataset、clean_version、review、analysis_task 这些核心表建好了这周主要盯着实际运行时的并发问题。本地调试用的是 SQLite生产环境之后会切 MySQL测试的时候偶尔会出现 “database is locked” 的情况 要么是多个脚本同时读写要么是上次调试的进程没关干净把数据库占住了。我把每次出问题的场景都记下来了比如开了几个终端、跑的哪个脚本、是写入还是查询的时候锁的库整理成了一份问题清单。后面优化任务队列直接照着清单改就行不用再重新复现问题省不少事。另外我对照项目任务书核对了现在的表结构标记出后面开发要补充的字段比如数据集版本号、清洗记录标识这些提前在表里留好位置省得到时候改表结构、迁数据麻烦得很。后端接口细节优化与稳定性维护前端同学联调的时候提了几个小问题比如接口返回的数据格式不统一空数据集的时候页面直接白屏。这周我就把统计接口的计算标准统一了评论字数统计、星级占比都保留两位小数数据为空的时候返回空数组 []不报错这样前端展示就不会崩了。接口层也加了兜底处理评论内容为空的话直接拦截返回 “评论内容不能为空”遇到特殊符号、超长文本先过滤再处理跟上星期修的 LDA 空语料报错配合起来整个系统就稳多了不容易出问题。还有我把 /api/v1 / 下面所有我负责的路由都过了一遍LDA 相关的全挂在 /api/v1/lda/ 下面情感分析的在 /api/v1/sentiment/ 下面命名和层级统一之后前端找接口不用再猜来猜去省了不少沟通时间。NLP 分析服务联动测试与问题记录还是用上周写的 NLP 自检脚本反复跑 LDA、情感分析、差评归因、水军识别这四个接口。重点测了中小数据集还有短评论比较多的真实电商数据 —— 毕竟商家上传的评论大多就一两句话这种场景下分词容易出问题。我把不同数据量下每个接口的响应时间从提交任务到完成、模型加载时间都记下来了整理成了性能测试表标出哪些场景下接口响应慢。后面针对性优化的时候直接看表就行不用从头再测一遍。测试的时候还发现“直通车”“品效合一” 这种小众的电商词jieba 默认切不出来导致 LDA 主题的关键词跑偏。这个问题我已经记下来了下周弄个自定义词典加上去应该就能解决。前后端联调协作与需求对齐这周大部分时间都在跟前端同学对接联调。他们反馈图表数据对不上、接口请求失败我就逐字段核对接口返回的逻辑。比如前端要画箱线图我原来返回的是全量的字数数组前端还得自己算分位数这周我改成按星级分组直接返回 min/q1/median/q3/max/mean前端直接调 ECharts 就能渲染数据标准也统一了省得来回扯皮。趁联调间隙我把完整的需求文档又看了一遍对照自己的分工列了个未开发的功能清单比如数据集版本快照、历史版本回滚、报告生成的后端逻辑、优化建议接口标清楚哪些是下周要开始做的哪些是后面再迭代的心里有数也不会乱。项目资料整理与阶段性复盘我把最近的后端开发日志整理了一下每天干了什么、踩了什么坑、怎么解决的都简单记了记。还有一些注意事项比如数据库不能同时跑多个大批量写入、接口调用要注意参数格式也写成了简单的开发笔记后面交接工作或者自己回头看的时候都方便。对照项目的验收指标我检查了一下自己负责模块的完成情况大数据量查询的效率还没达标任务异步流程的管控也不够细。我打算分阶段慢慢优化先把单批次 10000 条数据的查询响应时间降下来再一步步细化任务状态的流转不着急一下子做完。三、本周遇到的问题与解决思路SQLite 并发锁库有时候同时跑多个测试脚本或者后台进程没关干净test.db 就被锁了数据写不进去。解决办法也简单先 ps 查一下有没有残留的进程杀掉之后改成串行执行任务后面切到 MySQL再调整一下连接池大小应该就能从根本上解决这个并发冲突的问题。小数据集 LDA 关键词稀疏评论只有几十条每条就十几个字的时候分词之后有效词太少主题就跑不出来。我把每次出问题的数据集大小、评论长度、分词结果都详细记下来了下周打算优化筛选规则把单字和没用的停用词过滤掉再调一下 LDA 的迭代次数和 passes 参数应该能好点。特殊字符入库乱码有少量评论带全角符号、生僻字入库之后显示乱码影响后面的分析。临时办法就是写入之前统一转成 UTF-8 编码下周在数据库连接串里设置 charsetutf8mb4全局统一编码配置这样就能彻底解决了四、本周学习与个人总结这周没怎么写新代码更多是站在使用者和测试者的角度反复跑自己写的接口看哪里会崩、哪里返回的不对。最大的感受就是后端开发把功能做出来只是第一步能扛住各种乱七八糟的边界情况 —— 比如空数据、短文本、多个请求同时来才是真的稳定。很多前期没注意到的小场景一联调就全暴露出来了所以兜底防护得提前做别等前端报了错再补太被动。跟团队联调这段时间我也把整个业务流程摸透了从数据上传、清洗、NLP 分析到前端可视化每条数据在我负责的这一环该怎么处理、上下游需要什么格式心里都有数了。后面再开发版本管理和报告生成的时候就能更好地跟前后端衔接不用再反复沟通。五、下周工作计划数据集版本管理接口先实现清洗版本记录和基础快照存储比如记录每次清洗的参数、时间、处理前后的数据量再做个快照保存和查询的接口为后面数据管理模块的版本回滚打个基础。数据库查询优化根据这周记的性能测试表给 dataset_id、rating、created_at 这些字段加索引再精简一下统计接口的 SQL 语句确保单批次 10000 条数据的时候查询和统计接口的响应时间能达标。报告生成后端对接完成报告任务创建、状态查询、文件存储的基础逻辑比如接收前端的请求创建报告任务实时返回任务状态存储生成的 Word/PDF 文件为后面的报告导出功能做准备。联调与日志完善继续跟前端、算法的同学联调修复剩下的小 bug同时完善后端的日志记录接口调用情况、错误信息、任务执行耗时后面排查问题的时候就不用逐行翻代码了省时间。NLP 细节优化接入自定义的电商词典解决 “直通车”“品效合一” 这些小众词识别不了的问题再调一下 LDA 的参数和分词筛选规则慢慢把主题一致性、情感分类 F1 值、水军识别准确率往验收指标上靠争取早日达标。

更多文章