文章目录
-
- 对项目的初步思考
- 整体项目流程
- 数据库设计
概要
本系列是山东大学项目实训课程的个人工作记录,项目选题为基于DeepSeek的代码评测和自动纠错优化系统。
对项目的初步思考
在编程竞赛和日常开发中,在线评测系统(OJ,Online Judge)是关键的训练工具,然而现有的 OJ 系统主要依赖于静态规则判断,仅基于预设测试用例进行评测,无法提供错误分析和优化建议,代码质量评估依赖人工 Code Review,效率低下。
然后想到结合DeepSeek做一个ai评测系统,实现智能代码评测和自动纠错优化。该系统旨在实时识别并修复代码中的语法、逻辑错误,同时基于 AI 分析提供代码结构、性能优化指导, 基于 Docker 容器隔离运行代码,保障环境安全。
后续优化思路:还能够提供代码风格和性能的优化,减小不必要的计算和内存占用,甚至能做到错误报告的智能分析,推荐更高效的算法和数据结构
整体项目流程的初步思路
一些关键技术的实现
数据库架构的初步思考
1,代码数据存储
该模块存储原始代码和特征,code_snippets表包含代码内容、语言类型、提交元数据等
使用JSONB字段存储代码特征(如AST解析结果),配合GIN索引加速查询
2. 纠错记录模块
该模块记录每次纠错的过程,采用SCD Type 2存储纠错迭代过程
建立代码片段与纠错记录的1:N关系,记录AI模型版本、耗时等元数据
3. 评测指标仓库
该模块存储量化评估后的结果,包含语法正确性、逻辑修复度、性能提升等评估维度
使用ARRAY类型存储指标得分向量,便于后续向量运算
4. 用户与权限
该模块包括用户权限的控制入口
操作审计通过事件触发器记录敏感操作日志
5. 日志与监控
该模块按时间范围对日志表进行分区(如按周分区)
考虑使用PgMQ实现日志的异步批量写入