Los datos de rendimiento de optimización de búsqueda en el sistema de archivos

Samarjit Baruah:

Tengo una red asociada de almacenamiento donde unos 5 millones de archivos txt hay relacionan con alrededor de 3 millones de transacciones. Tamaño de los datos totales es de alrededor de 3,5 TB. Tengo que buscar en ese lugar para encontrar si el archivo relacionado con la transacción está disponible o no y tienen que hacer dos informes separados como archivo CSV de "archivos" y "no los archivos disponibles". Todavía estamos en JAVA 6. El reto que estoy frente ya que tengo que buscar en la ubicación de forma recursiva, me lleva alrededor de un promedio de 2 minutos para buscar en ese lugar debido a la enorme tamaño. Estoy utilizando la API Java I / O para buscar de forma recursiva, como a continuación. ¿Hay alguna manera de mejorar el rendimiento?

File searchFile(File location, String fileName) {
     if (location.isDirectory()) {
         File[] arr = location.listFiles();
         for (File f : arr) {
             File found = searchFile(f, fileName);
             if (found != null)
                 return found;
         }
     } else {
         if (location.getName().equals(fileName)) {
             return location;
         }
     }
     return null;
}
utpal416:
  • La búsqueda en un directorio o un almacenamiento asociado de la red es un nightmare.It toma mucho tiempo al directorio es demasiado grande / profundidad. Como usted está en Java 6, para que pueda seguir un enfoque chapado a la antigua. Listar todos los archivos en un archivo CSV, como a continuación.
  • por ejemplo,

    encontrar . -type f -name '* .txt' >> test.csv. (Si UNIX)

    dir / b / s * .txt> test.csv (si Windows)

  • Ahora carga este archivo CSV en un mapa tener un índice como nombre de archivo. Cargando el archivo tomará algún tiempo, ya que será enorme, pero una vez que se carga a continuación, buscar en el mapa (ya que será el nombre del archivo) será mucho más rápido y reducirá drásticamente el tiempo de búsqueda.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=180922&siteId=1
Recomendado
Clasificación