Acceso concurrente a FTP

8

¿Cómo manejan los servidores FTP el acceso concurrente al mismo archivo, es decir, si un usuario está actualizando un archivo mientras otro está leyendo el mismo archivo? ¿Debería preocuparme por obtener datos corruptos? ¿Depende del servidor FTP o incluso del sistema operativo?

Kristian
fuente

Respuestas:

2

Creo que el servidor FTP en sí no maneja esto.
El sistema de archivos subyacente administrará los accesos involucrados aquí.

Si una lectura comienza antes de una escritura, la lectura normalmente obtendría la versión anterior.

Debería obtener la respuesta a esta pregunta basándose en
el manejo del sistema de archivos del servidor para un archivo que se sobrescribe.

nik
fuente
1

Creo que las implementaciones de FTP simplemente no se ocupan de esto, y el sistema operativo variará en función de cómo lo hace, Windows podría bloquear el archivo, Linux le dará datos parciales.

Sí, debería estar preocupado, especialmente con un alto uso. Las soluciones que encontré en el pasado eran incompletas en el mejor de los casos, incluidas diferentes carpetas para cargar / descargar y un proceso de monitor para copiar de carga a descarga cuando el archivo está completamente cargado.

Esto empeora a medida que los archivos son más largos y / o las personas cargan desde conexiones lentas.

webclimber
fuente
0

Estoy bastante seguro de que podrías tener problemas. Prueba esto:

Inicie la carga de un archivo grande en su servidor FTP. Actualice la vista de la carpeta en la que se está cargando y verá que el tamaño del archivo aumenta y la carga progresa.

Si intenta esto con un archivo .mp3. Puede acceder a él a través del navegador y ver que solo se reproducirá hasta el punto que se ha cargado actualmente.

Es por eso que programas como Dreamweaver tienen un sistema de entrada / salida. De modo que si alguien está trabajando en un archivo .html, otra persona no puede cargar una versión anterior o causar ese tipo de problemas.

No creo que FTP use ningún tipo de archivos temporales o colas tampoco ...

ian
fuente
Correcto. Una vez descomprimí un archivo que en realidad no se transfirió por completo. Mensajes de error extraños, por supuesto ...
Arjan
Creo que la actualización y el archivo existente es diferente de crear un nuevo archivo (la lectura no comenzará antes de que ocurra la creación, y luego seguirá la escritura). Si la lectura va más allá de la escritura, obtienes lecturas incompletas. Un archivo ZIP incompleto mostrará daños. Un mp3 incompleto se reproducirá hasta el primer punto de corrupción (creo). Esa es una diferencia en los formatos de archivo.
nik
Una modificación / sobrescritura de un archivo existente debe identificar una lectura en progreso y crear una nueva versión para escribir, conservando la versión anterior para que se complete la lectura. Es por eso que digo en mi respuesta que un sistema de archivos típico daría una copia anterior del archivo en tal caso.
nik
0

Cada vez que intento acceder a una página que aún no he subido, obtengo un "restablecimiento de la conexión al cargar". Sin embargo, creo que realmente depende del software.

Phoshi
fuente
-1

El uso de un software de control de revisión ayudaría en este caso, eche un vistazo a Git y SVN , tenga en cuenta que hay dos tipos principales (centralizados y distribuidos) y muchas otras aplicaciones además de esos dos.

Shadok
fuente
Esta respuesta no tiene nada que ver con la pregunta ...
Kristian
Si las operaciones en esos sistemas son atómicas, no hay forma de obtener un archivo incompleto, un problema resuelto.
Shadok
Sí, lo sé, pero la pregunta era específicamente acerca de los servidores FTP
Kristian el