2010-05-21 70 views
0

我的應用程序的Windows窗體.NET在Windows XP中複製共享的網絡文件夾中的文件的PDF文件中的服務器在Win2003的Windows 2003上與共享文件夾在檢查文件拷貝大文件md5hash性能

管理員用戶檢測到某些損壞的文件PDF文件,在該共享文件夾中。

我要檢查,如果fileis共享文件夾中複製權

安德烈Krijen說我最好的方法是創建原始文件的MD5Hash。複製文件時,請使用原始文件驗證複製文件的MD5Hash文件。

我有大的pdf文件。

應用md5哈希關於大文件,任何性能問題?

如果我只檢查(不生成md5散列)文件的長度(原始和複製)?

+0

你是說你有性能問題,或者你想知道你是否會遇到性能問題?你的文件有多大?你有沒有做過任何測試? – luke 2010-05-21 15:08:42

回答

1

您可以檢查文件的長度以快速確定它們是否不同,但長度相同並不表示文件的內容是相同的。

要真正確定文件是否相同,您必須比較文件中的每個字節。要再次發送文件來比較它們當然是不現實的,但發送文件的MD5哈希值是。

如果你想比較文件,你必須閱讀整個文件,這是沒有辦法解決的。 MD5哈希至少爲您節省了大量網絡流量。

1

我認爲MD5檢查應該是在服務器上運行的一個單獨的應用程序,以便您的應用程序不必打開共享文件夾上的副本來檢查MD5。

+0

有許多客戶端,App Winforms winxp,可以在服務器2003(網絡中的共享文件夾)中複製文件。服務器中的Windows服務讀取文件。對於檢查MD5我需要原始文件和複製文件,因此我需要檢查後面的複製文件。謝謝。 – Kiquenet 2010-05-21 15:18:57

3

在每臺服務器上安裝一個MD5檢查器,並使其成爲本地進程,因此您不必使用帶寬來重新檢查哈希。

您可以使用MD5sums作爲命令行選項或創建您自己的工作應用程序。

+0

有很多客戶端,App Winforms winxp,可以在服務器win2003(網絡中的共享文件夾)中複製文件。服務器中的Windows服務讀取要插入數據庫的文件。對於檢查MD5我需要原始文件和複製文件,因此我需要檢查後面的複製文件。謝謝 – Kiquenet 2010-05-21 15:20:29