Gleichzeitiger FTP-Zugriff


8

Wie behandeln FTP-Server den gleichzeitigen Zugriff auf dieselbe Datei, d. H. Wenn ein Benutzer eine Datei aktualisiert, während ein anderer dieselbe Datei liest? Sollte ich mir Sorgen machen, ob ich beschädigte Daten bekomme? Ist es abhängig vom FTP-Server oder sogar vom Betriebssystem?

Antworten:


2

Ich denke, der FTP-Server selbst handhabt das nicht.
Das zugrunde liegende Dateisystem verwaltet die hier beteiligten Zugriffe.

Wenn ein Lesevorgang vor einem Schreibvorgang beginnt, erhält der Lesevorgang normalerweise die ältere Version.

Sie sollten die Antwort auf diese Frage basierend auf erhalten
die Server-Dateisystem-Behandlung für eine Datei, die überschrieben wird.


1

Ich denke, dass FTP-Implementierungen einfach nicht damit umgehen, und das Betriebssystem wird davon abweichen, Windows könnte die Datei sperren, Linux wird Ihnen Teildaten liefern.

Ja, Sie sollten sich Sorgen machen, besonders bei starker Beanspruchung. Die Lösungen, die ich in der Vergangenheit gefunden habe, waren bestenfalls skizzenhaft, einschließlich verschiedener Ordner zum Hochladen / Herunterladen und eines Überwachungsprozesses zum Kopieren von Hochladen zu Herunterladen, wenn die Datei vollständig hochgeladen ist.

Dies wird schlimmer, wenn Dateien länger sind und / oder Leute von langsamen Verbindungen hochladen.


0

Ich bin mir ziemlich sicher, dass Sie Probleme haben könnten. Versuche dies:

Starten Sie einen Upload einer großen Datei auf Ihren FTP-Server. Aktualisieren Sie die Ansicht des Ordners, in den hochgeladen wird, und Sie werden feststellen, dass die Dateigröße zunimmt und der Upload fortschreitet.

Wenn Sie dies mit einer MP3-Datei versuchen. Sie können über den Browser darauf zugreifen und sehen, dass die Wiedergabe nur bis zu dem Punkt erfolgt, an dem sie gerade hochgeladen wurde.

Aus diesem Grund verfügen Programme wie Dreamweaver über ein System zum Ein- und Auschecken. Wenn also jemand an einer HTML-Datei arbeitet, kann ein anderer Benutzer keine ältere Version hochladen oder Probleme dieser Art verursachen.

Ich glaube nicht, dass FTP irgendwelche temporären Dateien verwendet oder sich in eine Warteschlange einreiht ...


Richtig. Ich habe einmal eine Datei entpackt, die tatsächlich nicht vollständig übertragen wurde. Seltsame Fehlermeldungen, natürlich ...
Arjan

Ich denke, Aktualisierung und vorhandene Datei unterscheidet sich von der Erstellung einer neuen Datei (der Lesevorgang wird nicht gestartet, bevor die Erstellung erfolgt, und dann folgt der Schreibvorgang). Wenn der Lesevorgang über den Schreibvorgang hinausgeht, werden Lesevorgänge unvollständig abgebrochen. Eine unvollständige ZIP-Datei weist eine Beschädigung auf. Eine unvollständige mp3 wird bis zum ersten Punkt der Korruption abgespielt (glaube ich). Das ist ein Unterschied in den Dateiformaten.
nik

Ein Ändern / Überschreiben einer vorhandenen Datei sollte einen Lesevorgang identifizieren und eine neue zu schreibende Version erstellen, wobei die ältere beibehalten wird, damit der Lesevorgang abgeschlossen werden kann. Deshalb sage ich in meiner Antwort, dass ein typisches Dateisystem in einem solchen Fall eine ältere Kopie der Datei geben würde.
nik

0

Immer wenn ich versuche, auf eine Seite zuzugreifen, die ich noch nicht hochgeladen habe, wird die Verbindung beim Laden zurückgesetzt. Ich denke, es liegt wirklich an der Software.


-1

Die Verwendung einer Revisionskontrollsoftware würde in diesem Fall helfen, schauen Sie sich das an Git und SVN Beachten Sie, dass es neben diesen beiden zwei Haupttypen (zentralisiert und verteilt) und viele andere Anwendungen gibt.


Diese Antwort hat überhaupt nichts mit der Frage zu tun ...
Kristian

Operationen in solchen Systemen, die atomar sind, können nicht zu einer unvollständigen Datei führen. Das Problem wurde behoben.
Shadok

Ja, ich weiß, aber die Frage betraf speziell FTP-Server
Kristian
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.