一、設計思想
在學校使用百度網盤,每次下載文件的速度特別慢(下載文件電腦都要開一晚上),於是我有了一個想法,自己實現一個文件的上傳、備份、下載的小項目,給自己和舍友使用。
二、設計平臺
windows下vs2013實現客戶端myClient,CentOS下實現服務端myServer和myCompress
三、設計內容
1、客戶端
1>獲取文件備份信息
2>瀏覽目錄下文件信息
(1)獲取文件名,計算文件的etag信息
(2)通過文件備份信息,判斷文件是否需要備份
3>文件備份
根據自己定義的分塊大小,將文件分塊上傳
2、服務端
1>使用httplib搭建http服務器
(1)文件上傳備份處理
(2)文件列表獲取功能
(3)文件下載功能
2>熱度較低的文件壓縮存儲
(1)熱度比較低,根據當前時間減去文件最後一次訪問時間
(2)文件壓縮,用zlib庫對文件實現gzip格式壓縮
(3)用戶訪問已經壓縮存儲的文件
1.對文件進行解壓縮
2.將正常文件數據返回
四、項目流程圖
五、項目源碼