管理伺服器上傳的檔案

管理伺服器上傳的檔案

我有一台託管 Intranet 網站的伺服器,其中的功能之一是上傳檔案的能力。這些檔案將保存在存取受限的資料夾中,並透過 Web 後端進行管理。為了避免名稱衝突,我計劃分配 UUID 並將原始檔案名稱與 UUID 一起儲存在資料庫中以供將來檢索。

但是,我確實有兩個擔憂:

  1. 重複檔案的可能性(在實際位元組級別,而不僅僅是名稱),以及
  2. 確保文件完整性。

我想如果我運行某種類型的哈希/校驗和(MD5、SHA256 等),就可以解決這兩個問題。我可以存儲哈希值並在將來的日期比較該文件並驗證它沒有損壞,如果我發現另一個具有相同哈希值的文件,我就會知道該文件是否是真正的重複項。

所以我的問題是:

  1. 我對文件損壞的擔憂是沒有根據的嗎?
  2. 另外,這是識別重複文件的好策略嗎?

答案1

1)文件損壞並不常見,底層系統應該防止並警告此類事情,但是,仔細檢查是很好的。最好有一個異地備份http://en.wikipedia.org/wiki/Comparison_of_backup_software

2)如果您無論如何使用散列,則不需要其他策略,但是是的,有像rsync移動檢測這樣的想法,它將按大小比較所有文件,這是很好且快速的,那麼任何相同大小的文件都將被散列(如果還沒有)並檢查獨特性。根據文件內容,還有其他選項,例如用於文字的 git 或用於媒體的品質優先。

相關內容