该项目是一套前后端一体化的视频上传与管理平台,后端基于 Spring Boot 3 和 Java 21 开发,使用 MySQL 持久化用户、视频、上传会话及分片状态,并通过阿里云 OSS Multipart Upload 实现大文件分片上传。
系统能够根据文件大小自动选择 1MB~16MB 的分片规格,并动态规划 1~4 路上传并发数。每个分片的上传状态和 ETag 均持久化到数据库,上传失败后可以查询服务端断点,仅补传缺失分片。
平台采用 JWT 与 token_version 实现登录鉴权和服务端注销,提供 UPLOADER、VIEWER、ADMIN 三类角色及用户数据隔离。前端使用原生 ES Module 开发,并与后端一起打包进 Spring Boot JAR,无需单独构建和部署。
1. 大文件自适应分片上传
2. 1~4 路并发上传
3. 上传暂停、失败重试和断点续传
4. OSS Multipart Upload 合并与取消
5. 视频元数据和上传进度管理
6. JWT 登录及注销失效机制
7. UPLOADER、VIEWER、ADMIN 权限控制
8. 用户数据隔离
9. 视频软删除和管理员永久清理
10. Swagger/OpenAPI 接口文档
11. 健康检查和请求日志
12. 单 JAR 部署
独立完成项目的需求分析、数据库设计、后端接口、前端控制台、OSS 接入、权限模型、自动化测试及 Linux 部署脚本。
主要工作包括:
- 设计用户、角色、视频、上传会话和上传分片的数据模型。
- 实现 JWT 登录、注册、注销以及基于角色的接口权限控制。
- 接入阿里云 OSS Multipart Upload,完成初始化、分片上传、状态查询、合并和取消流程。
- 实现自适应分片规划、并发上传、指数退避重试和服务端断点续传。
- 将 OSS 网络请求移出数据库事务,并处理初始化失败补偿及完成、取消操作的幂等恢复。
- 使用数据库聚合查询计算上传进度,避免重复加载完整分片列表。
- 开发视频库、上传控制台、管理员页面和实时请求日志界面。
- 编写单元测试、配置校验和 Linux JAR 部署脚本。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论