大二毕设.3-网盘系统

目录

技术选型:

功能概括:

基本演示:

实现讲解:


  • 技术选型:

  • 前端: Vue3 + Element Plus
  • 后端: SpringBoot + Mybatis-Plus + MySQL + Redis + Caffeine + FastDFS/OSS + SpringCloud Stream + RocketMQ + Zookeeper
  • 功能概括:

  • 用户模块
    • 用户注册
      • 接口幂等性
      • 全局唯一的用户名称
    • 用户登录
      • 使用缓存实现单机登录
      • 使用jwt token实现时效性以及分布式的问题
    • 用户登出
    • 用户忘记密码
      • 校验用户名称
      • 校验用户密保问题的答案
      • 修改用户密码
    • 用户在线修改密码
      • 校验旧密码
      • 修改密码
    • 查询用户的基本信息
  • 文件模块
    • 文件列表查询
      • 聚簇索引和非聚簇索引
      • 回表查询
      • 最左前缀原则
      • 覆盖索引
    • 创建文件夹
    • 文件重命名
    • 文件删除
      • 文件删除事件
    • 文件秒传
    • 抽象文件存储引擎
    • 单文件上传
      • sendfile零拷贝
    • 分片上传
      • 上传文件分片
      • 查询已上传的分片列表
      • 文件分片合并
    • 单文件下载
      • sendfile零拷贝
    • 单文件预览
      • sendfile零拷贝
    • 查询文件夹树
      • Map代替递归操作
    • 文件转移
    • 文件复制
    • 文件搜索
      • 半模糊匹配查询
      • 文件搜索事件
    • 查询用户的搜索历史
    • 查询面包屑导航
    • 对接FastDFS
    • 对接OSS
      • 分片上传事件
  • 回收站模块
    • 查询回收站列表
      • 覆盖索引优化查询效率
    • 还原回收站文件
      • 权限校验
      • 文件名称冲突检测
      • 后续还原事件发布
    • 彻底删除回收站文件
      • 递归查询所有子文件
      • 发布文件彻底删除事件
    • 废弃文件清理器
      • 业务解耦,增加程序的健壮性
  • 分享模块
    • 创建分享链接
    • 查询分享链接列表
    • 批量取消分享
      • 权限校验
      • 执行动作
    • 查询分享详情
    • 校验分享码
      • 生成校验通过token
    • 统一拦截需要校验分享码的接口
      • 面向切面编程
    • 获取下一级的文件列表
      • 利用覆盖索引来优化查询效率
    • 保存至我的网盘
      • 底层使用文件复制的功能实现
    • 分享文件下载
      • 利用senfile零拷贝技术优化传输速率
    • 完善监听机制
      • 文件删除刷新分享状态
      • 文件还原刷新分享状态
    • 优化所有监听器
      • 使用Spring的异步机制
  • 缓存模块
    • 本地缓存-caffeine
    • 外部缓存-Redis
    • 布隆过滤器
  • 分布式锁
    • Redis
    • ZooKeeper
  • 事件流Stream集成RocketMQ解耦合
  • 基本演示:

  • 用户基本演示:

  • 文件&回收站&分享基本演示:

    文章来源地址https://uudwc.com/A/Evken

  • 实现讲解:

原文地址:https://blog.csdn.net/weixin_59624686/article/details/133139378

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月25日 06:49
Python爬虫在电商数据获取与分析中的应用
下一篇 2023年09月25日 06:49