• 毕业设计项目介绍:面向海量小文件数据存储平台


    【视频展示】

     https://www.acfun.cn/v/ac34161173?shareUid=65252877

    【介绍】

      面向海量小文件的存储平台,直白就是网盘,但是对于小文件更多地是非结构化的,怎么有组织地存储,必须借助“分布式存储架构”,利用了开箱即用而且小巧易搭建的MinIO系统。

    【前端技术】

      基本没有人问的;

      1、账号(登录)

      2、RESTful 的增删改查接口

      3、文件目录树

    【后端技术】

    (配置)

    1、搭建分布式MinIO系统

      本地电脑开启5台虚拟机(其中4台作为存储结点,1台作为服务器)

      基本理论是:4台存储结点,除非破坏是一半以上,不然还可以根据Reed-Solomon代码,将存储结点分为n/2的数据块,n/2奇偶校验块

      MinIO有一定的容灾能力:纠错(字节腐蚀)、数据恢复、数据加密。

    2、Nginx

      其中Server结点配置Nginx,负载均衡,反向代理,缓存机制。

    (编码)

    3、Tire树

      利用字典树算法,加快检索文件速度。

      原理是:文件会通过hash成唯一识别码,而这识别码由字符串组成,字典树只要从根结点遍历整个识别码即可找到对应的存储点位置。无需通过mysql查询。

    4、RabbitMQ

      利用消息队列,将用户上传文件解耦成消息队列,然后利用空闲时间利用多线程实现获取消息头来上传到云端。

    6、多线程

      利用go语言的协程,来实现多协程。

    3、Redis断点续传

      https://www.cnblogs.com/mrmirror/p/13583715.html

      维护一个replication,分master 和 slave 结点,其中内存中的master 里面有一个backlog,两者都有replication offset 和 run id ,每当网络出现中断时,slave就会问master 的 backlog的offset,如果也没有,则需要resynchronization(重新同步)。

    (半自动代码 + API)

    7、后台管理gin-vue-admin

      https://www.gin-vue-admin.com/

      半自动代码,开箱即用的后台管理网页端。实时监控API,以及

    8、阿里云的云存储(数据容灾  + 数据恢复)

      公有云,主要是为了容灾。也可以通过公有云来提供下载地址,这样更加安全。

    9、腾讯云的内容检测

      利用腾讯云的API,可以支持,图片,文本,视频,音频的内容检测,其中内容检测主要是做评估,如果评估指数比较高,则放到后台带观察,如果发现在平台中涉及违法文件,则会相应进行查封。禁止文件传播。

  • 相关阅读:
    mysql数据库安装与配置
    redis主从配置+sentinel哨兵模式
    Oracle 本地验证和密码文件
    Oracle 12c hub和leaf的转换
    oracle 12c CPU资源隔离
    oracle12 listagg 与 wm_concat行列转换
    Oracle 12c rac搭建
    ClassLoader.loadClass()与Class.forName()的区别《 转》
    docker 安装mysql8.0
    spring boot @EnableWebMvc禁用springMvc自动配置原理。
  • 原文地址:https://www.cnblogs.com/Osea/p/16058110.html
Copyright © 2020-2023  润新知