AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateivergleich über Netzwerk

Ein Thema von Marco Steinebach · begonnen am 27. Jun 2014 · letzter Beitrag vom 28. Jun 2014
Antwort Antwort
Seite 1 von 2  1 2      
Marco Steinebach

Registriert seit: 4. Aug 2006
503 Beiträge
 
Delphi 5 Enterprise
 
#1

Dateivergleich über Netzwerk

  Alt 27. Jun 2014, 12:04
Hallo zusammen,
ich habe ein Programm, dessen Dateien, auf die es zugreift, auf einem Netzwerklaufwerk liegen.
Um den Netzwerk-Traffik zu minimieren, habe ich mir folgendes überlegt:
ich speichere eine lokale Kopie aller Dateien. Sind Netzwerk- und lokale Version gleich, wird die lokale Version zum Lesen verwendet, sonst wird die Netzwerk-Version erst wieder lokal kopiert.
Gespeichert wird sowieso immer im Netzwerk um Inkonsistenzen zu verhindern.
Ich dachte, ich könnte einfach (im Pseudocode) sagen:
wenn das FileDate von Quelle und Ziel unterschiedlich ist, kopieren, sonst kannstde die lokale kopie nehmen.
1. Kann man das überhaupt so lösen?
2. gibt's dafür vielleicht gescheitere Strategien?

Für Antworten wäre ich sehr dankbar, ich hänge nämlich absolut fest!
Herzliche Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Dateivergleich über Netzwerk

  Alt 27. Jun 2014, 12:16
Joa, klingt eigentlich ok.. Ich würds halt aber nicht mit Datum sondern eher mit einem Hash machen - am besten ist, du legst eine Textdatei im Netzlaufwerk ab, wo dann (Datei,Hash) Tupel enthalten sind.. Du müsstest dann immer nur die Textdatei runterladen (minimale Netzwerkauslastung), dort drinnen dann die Hashes extrahieren und mit den Hashes der lokalen Daten überprüfen und bei Ungleichheit updaten..
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.191 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Dateivergleich über Netzwerk

  Alt 27. Jun 2014, 12:20
Wenn es dir nur um den Traffic geht, warum nicht eingebaute Windows-Bordmittel wie "Offline-Dateien"? Das ist doch, meine ich, extra dafür gemacht worden.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Dateivergleich über Netzwerk

  Alt 27. Jun 2014, 12:22
Wenn es dir nur um den Traffic geht, warum nicht eingebaute Windows-Bordmittel wie "Offline-Dateien"? Das ist doch, meine ich, extra dafür gemacht worden.
OK, das gibt es als Datei-Attribut aber wie wendet man's praktisch an?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#5

AW: Dateivergleich über Netzwerk

  Alt 27. Jun 2014, 14:48
Wie wilst du die Dateien vergleichen?

Grundsätzlich bleibt da ja erstmal nur Dateigröße und eventuell Änderungsdatum.
Und wenn der Traffic gespart werden soll, dann maximal eine parieller Vergleich/Hash des Dateiinhalts (z.B. nur die ersten paar Byte/Kilobyte der Datei).


Alternativ müsste auf der anderen Seite des Netzwerks ebenfalls irgendein Programm laufen, von welches man den Hash der Datei(en) bekommt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#6

AW: Dateivergleich über Netzwerk

  Alt 27. Jun 2014, 16:20
Erzähl man etwas mehr zu der Zielumgebung.
Ab Windows Server 2008 / Windows 7 gibt es dafür sehr cool Lösungen wie Remotedifferenzialkomprimierung oder ab 2008 R2 Branch Cache.

Offline Dateien helfen Dir nicht weiter. Wenn Online, dann werden IMMER die Dateien vom Netzwerkshare geladen. Wenn Offline, dann immer die lokale Kopie. Der Sync erfolgt recht langsam im Hintergrund.

Geändert von jensw_2000 (27. Jun 2014 um 16:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Dateivergleich über Netzwerk

  Alt 27. Jun 2014, 12:19
Wenn Du wirklich das kopieren ersparen willst, dann solltest Du auch noch die Dateigröße vergleichen.
Eine weitere Möglichkeit wären Prüfsummen/Hashwerte der Netz-Dateien zu hinterlegen, aber wer garantiert das diese nach 1 Minute,30Minuten...12Stunden noch stimmen?

Also bleibt keine andere Möglichkeit als die Originaldatei zu lesen, Dann kannst Du auch gleich kopieren.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: Dateivergleich über Netzwerk

  Alt 28. Jun 2014, 09:45
Unabhängig davon, das Du als Programmierer die genaue Bedeutung einer Implikation (Wenn/dann, oder 'IF...THEN') kennen solltest, schlägt er das doch selbst vor:
Ich dachte, ich könnte einfach (im Pseudocode) sagen:
wenn das FileDate von Quelle und Ziel unterschiedlich ist, kopieren, sonst kannstde die lokale kopie nehmen.
...
Und eine Wortwahl wie 'FileDate' impliziert auch ein wenig, das Dateioperationen verwendet werden, und kein Wasauchimmer-Protokoll. Weiterhin bezweifle ich tiefer gehende Kenntnisse eines wie auch immer gearteten Protokolls, alleine durch die Art der Frage.
Also bleibt keine andere Möglichkeit als die Originaldatei zu lesen, Dann kannst Du auch gleich kopieren.
Nun ja. Bei jeder Änderung der Netz-Datei wird einmalig der Hashwert gebildet und in einer separaten Datei abgelegt. Um das noch zu optimieren könnte die verändernde Datei die Änderungen an ihrer lokalen Kopie vornehmen, dort die Hashdatei neu setzen, und dann beides ins Netz kopieren.
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.778 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Dateivergleich über Netzwerk

  Alt 28. Jun 2014, 10:35
.. wenn nur die Hashwerte verglichen werden, weiß man nicht ob die Datei
neuer oder älter ist als die lokale Kopie.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Dateivergleich über Netzwerk

  Alt 28. Jun 2014, 11:08
.. wenn nur die Hashwerte verglichen werden, weiß man nicht ob die Datei
neuer oder älter ist als die lokale Kopie.

Grüße
Klaus
Ist das nicht egal, wenn die Datenhoheit beim Server liegt?

Darum ja auch meine Fragen (weiter oben). Wie sieht denn die Datenkommunikation zurück aus, bzw. wo ist das ändernde Moment der Datei auf dem Server?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:44 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 by Thomas Breitkreuz