![]() |
Unterschiede in Binärdatei(en) separat speichern
Hallo,
ich tausche mir mit einem Bekannten regelmäßig Daten über's Internet(FTP-Server) aus. Dabei handelt es sich immer wieder um die gleichen Dateien( z.T. um Datenbanken, gezippte Archive & Binär-Dateien), die nur jeden Tag ein wenig erweitert werden. Num sollte die Sache übers Internet so effizient wie möglich gehn, deshalb war meine Überlegung, nur die binären Veränderungen der Dateien auszulesen, ein sehr viel kleineres Image zu erstellen & nur noch dieses dann meinem Bekannten zu senden. Der hat ja die Daten vom Vortag und braucht nur noch das Image drüberspielen und ist updated. Im Forum hab ich so was ähnliches mit Bilder vergleichen gefunden ![]() Zitat:
|
Re: Unterschiede in Binärdatei(en) separat speichern
Hi,
das von Dir zitierte Verfahren setzt (würde ich mal vermuten) gleich große (Bild-Dateien) voraus. Die Pixel-Differenzen = 0 (also viele gleiche Bildinhalte) lassen sich dann platzsparend komprimieren. Dein Problem würde ich so angehen: 1) Checkdaten für alte Zip ermitteln (damit beim Einlesen von gleichen Dateien ausgegangen wird) - Dateiname - Speicherdatum - Dateigröße - EinePrüfsumme 2) das gleiche für die neue Zip 3) beides in einen Stream speichern 4) die Bytes der neuen Zip in den Stream schreiben 4a) ggf. Kennzeichen für gleichen Block und die Anzahl der Bytes ("=10000") und die Daten weglassen 4b) ggf. Kennzeichen für neue Daten und die Anzahl der Bytes ("!500") und die neuen Bytes anfügen Beim Wiederherstellen können dann 10000 Bytes aus der alten Zip gelesen werden und die neuen 500 aus dem neue übertragenen Stream. Ich weiß aber nicht, inwieweit Zips evtl. ihre gesamte Struktur verändern, wenn neue Daten angefügt werden. Wenn es abwechselnd viele gleiche und auch unterschiedliche Abschnitte gibt wird das Gasnze sicher rsehr aufwändig. stahli |
Re: Unterschiede in Binärdatei(en) separat speichern
Wenn es euch nur drum geht, die Dateien schneller zu kopieren/abzugleichen, dann nutzt doch dementsprechende Tools.
Windows: SyncToc WinMerge WinSCP Linux: RSync Tools abhängig von eurer Umgebung. Ich nutze meistens WinSCP mit SSH/SFTP, da ich FTP als Protokoll nicht mag. WinMerge und SyncToc ist eher für NetBios Freigaben geeignet. In der Linuxwelt nutze ich sonst nur RSync. Ihr könntet auch eine Sourcecodeverwaltung nutzen. Subversion z.b. ist sehr praktisch für sowas. Vor allem habt immer immer alle Stände und alte Versionen von etwas. Bei den o.g. Lösungen solltest du nicht ZIPen, da du sonst keinen Erfolg hast. |
Re: Unterschiede in Binärdatei(en) separat speichern
Danke für die Antworten.
Uns geht es ausschließlich um die Menge der zu übertragenden Daten, denn bei DSL-Light mit einem Upload das der ISDN-Geschwindigkeit entspricht, ziehen sich z.B. 100MB gleich mal über ~3h. Deshalb der Ansatz nur die Änderungen zu übertragen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz