[.Net] Schnelle Dateiüberprüfung

09/28/2012 15:14 °Showii#1
Hallo,

Ich habe einen Ordner dieser umfasst etwa 400 Dateien alle haben eine unterschiedliche Größe. In diesem Ordner sind noch einzelne Unterordner in dem die Dateien unterteilt sind.

Jetzt aber zu meiner frage.
Ich will, dass er die Dateien mit Files die ich auf einen v-server abgleicht und ggf. ersetzt. So weit so gut auch nicht schwer... Nur meine bissherigen Methoden die lokale Datei zu überprüfen und mit den Files aus der "Patchlist" abzugleichen dauern etwas zu lange... geschätzte 60 Sekunden...

Hat jemand eine Idee, wie ich die Dateien noch "schneller" überprüfen kann??

Hierbei fallen MD5, CRC und byte schon einmal bei dem vergleichen mit der "Patchlist" weg. Ich suche also eine Methode Dateien von einer Patchlist in insgesamt 2-4 Sekunden zu vergleichen.

Was denkt ihr ist die beste Methode?

mfg Showii
09/29/2012 19:45 Shawak#2
Du machst dir eine php datei die alle Dateien auf dem Server auflistet in dem Format:

/datei,md5;
/../datei,md5;
../../datei,md5;
..

Diese vergleicht dann dein Programm und Downloaded die Dateien, die dem User fehlen. Es gibt eventuell noch schnellere Methoden, am besten einfach mal Googeln. Außerdem ist es schwer dein Verfahren zu Verbessern ohne es zu kennen =).
09/30/2012 01:00 °Showii#3
ich weiß du willst mir nur helfen...
aber genauso habe ich das oben geschrieben, dass ich bisher so meine patcher konzipiert habe...

Ich war damit auch immer zufrieden doch die überprüfung dauert mir einfach viel zu lange ...

mfg Showii
09/30/2012 18:33 kissein#4
Von welcher Größe des Content ist in diesem Problem die rede?

z.B. ein 100 mb Videofile wird bei byte ca 30 sek brauchen für eine vergleich
09/30/2012 21:54 nkkk#5
überprüf doch einfach wann die datei das letzte mal geändert wurde (mit System.IO.File.GetLastWriteTime), dann ersetzt du einfach die, wo das datum der dateien auf dem pc neuer ist als die auf dem server.

das ist relertiv schnell da man dafür die datei nicht lesen muss, natürlich kann es passieren das eine datei neuer ist aber trotzdem der inhalt derselbe ist.
10/01/2012 17:18 Shawak#6
@nkkk: Das entspricht meinem Verfahren, bzw. dem, welches er schon benutzt, nur dass es anstatt md5 die Dateigröße verwendet.

Ich hab vergessen zu erwähnen, dass du die md5 der runtergeladenen Datei in einer xml oder Ähnlichem, also die "Version der Datei", nicht das du bei jeder Datei einzelnt die md5 ausliest, dann ist klar das es Jahre dauert ;D.
10/01/2012 19:50 boxxiebabee#7
^This.
Einfach nen zusätzliches Programm schreiben was die Dateien überwacht. Sollte etwas upgedated werden, Liste mit den md5-hashes aktuallisieren.