Frage

Ich habe eine Reihe von geographisch entfernten Knoten mit heterogenen Betriebssystemen, die auf der Übertragung von Dateien und Updates benötigen ein Java-Programm um mit mir schreibe. Derzeit muss ich, wenn die Datei geändert wird wieder die gesamte Datei senden. Gibt es eine Möglichkeit, die Abschnitte der Dateien zu bestimmen, die unterschiedlich sind und senden nur diejenigen (beachten Sie, dass diese Dateien nicht unbedingt Text sind, könnten sie jedes Format sein). Die einzige Art, wie ich denken kann, ist die Datei in Blöcke, Hash-Blöcke und sendet die Hashes die die Anforderer zurück zu spalten, die dann nur die Blöcke anfordert braucht es aber für kleine Blöcke und große Dateien ist dies ein großer Aufwand, so gibt es eine Art und Weise eine Nachricht zu senden meine Datei beschreiben, so dass die singuläre Nachricht eine Liste der Blöcke zu schaffen, analysiert werden kann, dass Bedarf übertragen werden?

sind die meisten Funktionen verdauen so ausgelegt, dass eine kleine Änderung an den Daten führt zu einer großen Veränderung über die gesamte Hash-Ausgabe, ich brauche im Grunde das Gegenteil davon, die auf allen Betriebssystemen funktionieren.

War es hilfreich?

Lösung

Wenn ich verstehe Ihre Frage richtig, müssen Sie Dateien synchron halten auf beiden Systemen. Es gibt ein Tool namens rsync , die zwei Dateien synchronisieren können (oder ganze Verzeichnisse), indem nur die Änderungen an der gemacht Senden Datei.

Sie können auch interessieren die Rsync-Algorithmus .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top