gpt4 book ai didi

java - 如何在最短的时间内从大量文件/子文件夹中取出子文件夹中的所有重复文件?

转载 作者:搜寻专家 更新时间:2023-10-30 20:40:32 25 4
gpt4 key购买 nike

情况: 我用 JAVA 构建了一个应用程序,它在我们用作服务器的 PC 上通过 LAN 运行。这台 PC 专用于此应用程序,配置相当不错(core-i 7 和 8 GB RAM)。我的应用旨在:

  • 在其数据库 (MySQL) 中存储大型文件操作项目(约 1200 万个文件,每个文件 200 KB)的数据。
  • Server PC兼作数据库服务器,近20台,全天候与数据库交互。
  • 项目流程由多个阶段组成。每个阶段都有单独的文件夹,该软件通过网络将文件移动到大小为 16 TB 的单独存储服务器上。
  • 服务器PC和存储服务器之间的网线为千兆网线,其他网线为普通网线。
  • 在此过程中,每天生成多达 60,000 个新文件,并在数据库中插入 100,000 条记录,并且在一天结束时,我的应用程序会向客户端发送邮件报告。

问题:我们的客户要求我们提供一种机制来识别同名文件,并分别提交。我不能依赖数据库记录,因为在不同阶段,用户删除或修改文件。另一方面,我需要考虑时间。重复检查的过程将在每天发送报告之前完成。我首选的解决方案是使用基于 Java 和/或 MySQL 的解决方案。我试过:

  • 正在从存储服务器中搜索和索引所有文件,但当程序运行了三个小时并且仍在继续时我改变了主意。
  • 此外,数据库接受重复的名称,所以我不能对其施加唯一约束,我不能将另一列作为文件计数并对文件名施加唯一约束,因为它会减慢数据输入速度(他们使用插入批)。我不想为此创建另一个表来保留唯一的文件名,因为它是冗余的。
  • 尝试了多个任务。

问题:考虑到在最短的时间内通过繁忙的网络检查大量文件/文件夹中同名文件的最佳解决方案是什么?已经输入的数据库记录不准确?

最佳答案

我之前有过类似的情况,嗯,不是去重,而是分类。没有多少现成的免费和开源工具可以将信息导入数据库。但是,经过漫长的寻找,我确实找到了一个非常有用的工具,DirectoryListPrint。

http://download.cnet.com/Directory-List-Print-Pro/3000-2248_4-10911895.html

我最后看到的是,他们有一个免费版本,可以在他们自己的窗口中将数据转储为类似 CSV 的格式或作为 CSV 文件。从那里,将它带到一个简单的数据库,如 Access 或 SQL Server 或其他数据库,然后运行查询以查找重复文件。如果您必须重复执行此操作,请使用 AutoIt 或 AutoHotKeys 等自动化工具来自动执行该任务。

关于java - 如何在最短的时间内从大量文件/子文件夹中取出子文件夹中的所有重复文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22304310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com