Hallo zusammen,
ich möchte einen Vergleich von Dateien realisieren, weiß aber nicht genau, wie ich die Sache lösen kann. Mir geht es momentan nicht um die Umsetzung in einer bestimmten Programmiersprache, sondern um den Vorgang an sich.
Folgendes Szenario:
Ich habe mehrere Dateien auf einem Server und lokal auf einem Client liegen und muss herausfinden, ob die Dateien Auf dem Server und Client identisch sind. Der Name der Dateien spielt keine Rolle - nur der Inhalt soll verglichen werden. Aufgrund der Dateigröße ist es nicht möglich, die Dateien vom Client auf den Server hochzuladen und dort zu vergleichen (oder die umgekehrte Richtung).
Meine Idee ist also, nur Teile der Dateien, wie den Header, Prüfsumme etc. zu vergleichen. Weiter dachte ich an einen Byte-für-Byte-Vergleich von mehr oder weniger zufällig gewählten Ausschnitten der Dateien. Die zu Transferierende Datenmenge soll so gering wie möglich bleiben.
Nehmen wir an, es werden 2 Bitmap-Dateien verglichen, die Dateigröße ist 100 MB und innerhalb der Bilder sind nur wenige Pixel unterschiedlich. Oder eine Textdatei mit einer Million Wörtern und ein einziges Wort unterscheidet sich. So etwas darf natürlich nicht als Datei mit gleichem Inhalt erkannt werden.
Meine Frage ist nun, was muss ich alles vergleichen, um ein sicheres Ergebnis zu bekommen?
Danke schon mal für alle Ideen und Anregungen
ich möchte einen Vergleich von Dateien realisieren, weiß aber nicht genau, wie ich die Sache lösen kann. Mir geht es momentan nicht um die Umsetzung in einer bestimmten Programmiersprache, sondern um den Vorgang an sich.
Folgendes Szenario:
Ich habe mehrere Dateien auf einem Server und lokal auf einem Client liegen und muss herausfinden, ob die Dateien Auf dem Server und Client identisch sind. Der Name der Dateien spielt keine Rolle - nur der Inhalt soll verglichen werden. Aufgrund der Dateigröße ist es nicht möglich, die Dateien vom Client auf den Server hochzuladen und dort zu vergleichen (oder die umgekehrte Richtung).
Meine Idee ist also, nur Teile der Dateien, wie den Header, Prüfsumme etc. zu vergleichen. Weiter dachte ich an einen Byte-für-Byte-Vergleich von mehr oder weniger zufällig gewählten Ausschnitten der Dateien. Die zu Transferierende Datenmenge soll so gering wie möglich bleiben.
Nehmen wir an, es werden 2 Bitmap-Dateien verglichen, die Dateigröße ist 100 MB und innerhalb der Bilder sind nur wenige Pixel unterschiedlich. Oder eine Textdatei mit einer Million Wörtern und ein einziges Wort unterscheidet sich. So etwas darf natürlich nicht als Datei mit gleichem Inhalt erkannt werden.
Meine Frage ist nun, was muss ich alles vergleichen, um ein sicheres Ergebnis zu bekommen?
Danke schon mal für alle Ideen und Anregungen
Kommentar