{"word_count": 863, "character_count": 5929}
Escrito en colaboración con&#160;Natalie Marie Baur&#160;La acumulación de información en formato digital es un problema en todas partes, desde nuestros archivos digitales personales hasta los archivos institucionales más grandes. ¿Cuántas veces hemos intentado hacer una limpieza o reorganización de nuestras carpetas digitales llenas de fotos familiares, y una vez enfrentado cara a cara con el desorden total, decidimos aplazar la tarea para otro día, aunque sabemos en el fondo que ese día&#160; probablemente nunca va a llegar?&#160;Desafortunadamente, aunque el espacio de almacenamiento digital es cada vez más accesible en términos de precio y disponibilidad, nuestras posibilidades no son infinitas, y en la Biblioteca&#160; Daniel Cosío Villegas nos tocó enfrentar el desorden digital proveniente de casi dos décadas de proyectos de digitalización. Después de plantear la problemática, decidimos buscar maneras automatizadas para poder eliminar cantidades grandes de recursos duplicados en nuestros acervos digitales.&#160;Planteamiento del proyectoDesde un punto de vista curatorial, decidimos enfrentar en un un inicio el desorden digital con la eliminación de archivos duplicados. Durante la digitalización de las tesis, hubo&#160; duplicación de muchos archivos. Las tesis digitalizadas son parte de la colección digital más grande en términos de peso digital que se resguarda actualmente en el repositorio institucional [1]  que desarrolla la Biblioteca (http://biblio-rep.colmex.mx). También identificamos&#160; duplicidad en archivos digitales que fueron incorporados en el acervo de preservación digital y estaban ocupando mucho espacio en ese ambiente. Como prueba piloto, tomamos la decisión de empezar a identificar duplicados en la colección de tesis y el acervo de preservación a través de un proceso de análisis y comparación con una función computacional que detecta los cambios en una secuencia de datos para proteger la integridad de estos[2]. Esta función, llamada&#160; “suma de verificación” o checksum fue generada a partir de los archivos digitales, lo cual describiremos a continuación.Consideraciones técnicasEl servicio de almacenamiento se encuentra provisto por una PC corriendo el sistema operativo Windows Server y al cual se le ha acoplado un disco externo USB de gran capacidad (3TB), a su vez el disco es utilizado por múltiples usuarios que constantemente cargan y descargan información vía Ethernet, lo cual reduce el ancho de banda del acceso al mismo e incluso genera intermitencias en su disponibilidad. Debido a las condiciones antes descritas, los programas de identificación de duplicados fallaban o tardaban demasiado (se dejaron corriendo dos días enteros sin resultados).TratamientoDada la gran cantidad de información y la posibilidad de sufrir cortes en la comunicación con el disco, se decidió dividir la tarea en pequeños trozos más manejables y que pudieran reanudarse cuando se diera un corte. La estrategia fue la siguiente:1.- Obtener un listado de todos los archivos en la ubicación (path) donde deseamos identificar duplicados. Para esto se creó un archivo de procesamiento o script en el lenguaje de programación Python que recorre recursivamente todo el path y guarda los archivos con su ruta completa en una tabla de una base de datos SQLite.&#160;Vista de la tabla donde se guardan los checksums.2.- Una vez listados los archivos se procede a crearles un checksum y guardarlo en la base de datos, para esto se empleó un segundo script que además permite el procesamiento multihilo, es decir, que tenía la capacidad de generar varios checksums al mismo tiempo. Adicionalmente es posible reducir el tiempo de generación de estos empleando varias computadoras, para lo cual es necesario dividir la lista de archivos en bloques y que cada computadora procese un bloque. Es importante resaltar que&#160; realizar este proceso, registrando checksums uno a uno en la base de datos, tiene&#160; la ventaja de reiniciar el proceso únicamente con los archivos faltantes si es que ocurre un corte en la comunicación con el servicio de almacenamiento.Ejemplo del código que genera el checksum de cada archivo.3.- En el momento en que se completaron los checksums de todos los archivos, se a exportar los resultados a un archivo formato CSV, dicho formato puede ser leído desde Excel y mediante sus filtros de ordenamiento podemos ordenar los registros en bloques que representen los duplicados de cada archivo.Al finalizar estos procesos de identificación automatizada, dentro de un total de 478,431 objetos digitales existían 8,668 archivos con uno o más duplicados. Esto que daba un total de 22,729 archivos de los cuales se podían eliminar 14,061. A través de nuestro proceso de selección, determinamos borrar los duplicados en los directorios correspondientes a los proyectos de digitalización que&#160; ya se habían concluido. En total, se borraron 7,352 objetos digitales duplicados.&#160;En conclusión, combinando protocolos de curaduría y procesos automatizados, logramos un disminuir la acumulación y el desorden digital en nuestro acervo. Es un reto constante que siempre tendrá un componente humano y un componente tecnológico. Este proyecto piloto fue una lección de que el trabajo en equipo y la unificación de diversas formaciones y habilidades profesionales pueden lograr grandes resultados para el bien de nuestras instituciones.&#160;Si desea tener acceso a los scripts utilizados en esta nota por favor pulse en el siguiente link:https://github.com/ColmexBDCV/search_masive_duplicatesEste repositorio es un sistema web que tiene como propósito el concentrar toda obra intelectual desarrollada por El Colegio, así como brindar acceso libre a todo interesado en consultar dichas obras. Para una definición de repositorio, ver: https://es.wikipedia.org/wiki/RepositorioVolver arriba ↑Ver: https://es.wikipedia.org/wiki/Suma_de_verificaci%C3%B3nVolver arriba ↑