1. 程式人生 > 其它 >畢業設計專案介紹:面向海量小檔案資料儲存平臺

畢業設計專案介紹:面向海量小檔案資料儲存平臺

【視訊展示】

 

【介紹】

  面向海量小檔案的儲存平臺,直白就是網盤,但是對於小檔案更多地是非結構化的,怎麼有組織地儲存,必須藉助“分散式儲存架構”,利用了開箱即用而且小巧易搭建的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,可以支援,圖片,文字,視訊,音訊的內容檢測,其中內容檢測主要是做評估,如果評估指數比較高,則放到後臺帶觀察,如果發現在平臺中涉及違法檔案,則會相應進行查封。禁止檔案傳播。