【问题标题】:md5hash performance with big files for check copy files in shared foldermd5hash 性能与大文件检查共享文件夹中的复制文件
【发布时间】:2011-02-22 10:02:42
【问题描述】:

我的应用程序 Windows 在 Windows XP 中形成 .NET,将文件 pdf 复制到服务器 Windows 2003 的共享网络文件夹中。

Win2003 中的管理员用户在该共享文件夹中检测到一些损坏的 pdf 文件。

我想检查一个文件是否被复制到共享文件夹中

Andre Krijen 说我最好的方法是创建原始文件的 MD5Hash。复制文件时,将复制的文件与原文件的MD5Hash文件进行校验。

我有很大的 pdf 文件。

对大文件应用 md5 哈希,有什么性能问题吗?

如果我只检查(不生成 md5 哈希)文件长度(原始和复制)?

【问题讨论】:

  • 您是说您遇到了性能问题,还是想知道您是否会遇到性能问题?你的文件有多大?你做过什么测试吗?

标签: .net performance file copy md5


【解决方案1】:

在每台服务器上安装一个 MD5 检查器并使其成为本地进程,这样您就不必使用带宽来重新检查哈希。

您可以使用MD5sums 作为命令行选项或创建自己的工作应用程序。

【讨论】:

  • 有很多客户端,App Winforms winxp,在服务器win2003(网络共享文件夹)中复制文件。服务器中的 Windows 服务读取文件以插入数据库。检查 MD5 我需要原始文件和复制文件,因此我需要在复制文件后检查。谢谢
【解决方案2】:

您可以通过检查文件的长度来快速确定它们是否不同,但相同的长度并不代表文件的内容相同。

要真正确定文件是否相同,您必须比较文件中的每个字节。再次发送文件只是为了比较它们当然是不现实的,但是发送文件的MD5哈希是。

如果你想比较文件,你必须阅读整个文件,这是没有办法的。 MD5 哈希至少可以为您节省大量的网络流量。

【讨论】:

    【解决方案3】:

    我认为 MD5 检查应该是在服务器上运行的单独应用程序,这样您的应用程序就不必打开共享文件夹上的副本来检查 MD5。

    【讨论】:

    • 有许多客户端,App Winforms winxp,复制服务器 2003 中的文件(网络中的共享文件夹)。服务器中的 Windows 服务读取文件。检查 MD5 我需要原始文件和复制文件,因此我需要在复制文件后检查。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多