Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Gibt es ein effizienteres Mergen?

Achim20 / 14 Antworten / Baumansicht Nickles

Hallo zusammen.
Es geht um das Aneinanderreihen/Mergen von Dateien.
Bei sehr großen Dateien kann das schon mal sehr lange dauern, denn:
Alle Progs, die ich dazu bisher benutzt habe, scheinen die Dateien nacheinander zu lesen und die Enddatei komplett neu zu schreiben.
Ich bin Laie, was Dateisysteme etc. angeht, aber die Enddatei liegt doch quasi schon auf der Platte, nur nicht "am Stück".
Will sagen, die Baustellen sind doch eigentlich nicht die Daten selbst, sondern die "Pointer" in der FAT (sorry, holprig formuliert, aber bin wie gesagt kein Experte).
Könnte ein Programm nicht einfach die FAT so ändern, dass aus z.B. 4 "Pointern" einer wird und der "umfasst" dann die ganzen Dateien und macht sie zu einer?
Müsste doch gehen, auch wenn die Enddatei nicht am Stück auf der Platte liegt, denn es gibt ja auch fragmentierte Dateien und die sind deswegen ja nicht zwangsläufig defekt.
Hoffentlich versteht Ihr alle was ich meine.
Vielleicht kennt jemand sogar so ein Programm?
Vielen Dank und mfG Achim

FUMANCHU4EVER
bei Antwort benachrichtigen
mr.escape Achim20 „Gibt es ein effizienteres Mergen?“
Optionen

Diese vorgehen bringt mindestens zwei probleme mit sich. Erstens müssten die teile (bis auf das letzte) jeweils genau ein vielfaches der clustergröße haben (evtl. verkompliziert durch besonderheiten im FS) und zum anderen wären die teil-dateien anschließend weg (das ist u.u. aber auch erwünscht).

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Achim20 mr.escape „Diese vorgehen bringt mindestens zwei probleme mit sich. Erstens müssten die...“
Optionen

Also keine Chance (die Teildateien können ruhig verschwinden)?

FUMANCHU4EVER
bei Antwort benachrichtigen
mr.escape Achim20 „Also keine Chance die Teildateien können ruhig verschwinden ?“
Optionen

Ich glaube, nein.
Das beste ist, die daten von einer physikalischen festplatte auf eine andere zu kopieren (z.b. mit "copy /b dat1 + dat2 + dat3 ziel") bzw. bei einer einzigen, das lesen (und anschließend schreiben) von möglichst viel (hunderte von MB) auf einen schlag, damit der schreib/lese-kopf nicht wie ein flummi, hin und her dotzen muss.

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Achim20 mr.escape „Ich glaube, nein. Das beste ist, die daten von einer physikalischen festplatte...“
Optionen

Vielen Dank, Escape, das leuchtet mir ein.
Leider habe ich nur eine Platte.
Wie kann ich denn die Größe der Lese-/Schreibportionen beeinflussen?

FUMANCHU4EVER
bei Antwort benachrichtigen
mr.escape Achim20 „Vielen Dank, Escape, das leuchtet mir ein. Leider habe ich nur eine Platte. Wie...“
Optionen

Das ist eine gute frage. Für eine etwas andere anwendung habe ich etwas selbst geschrieben, weil ich eben nichts passendes von der stange fand.


mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Achim20 mr.escape „Das ist eine gute frage. Für eine etwas andere anwendung habe ich etwas selbst...“
Optionen

Heißt das dann, das die Kopier-Prozeduren von Windows, bzw. DOS Schuld sind, d.h. nur für kleine Platten und wenig RAM geschrieben sind?
Oder ist das allein Sache der Festplatte?

FUMANCHU4EVER
bei Antwort benachrichtigen
mr.escape Achim20 „Heißt das dann, das die Kopier-Prozeduren von Windows, bzw. DOS Schuld sind,...“
Optionen
Heißt das dann, das die Kopier-Prozeduren von Windows, bzw. DOS Schuld sind, d.h. nur für kleine Platten und wenig RAM geschrieben sind?
Im grunde schon, nur dass es nichts mit der plattengröße zu tun hat. Diese funktionen machen das, was sie sollen, aber extrem "unoptimiert".
Man muss aber auch sagen, dass das anhängen/teilen bzw. das kopieren von großen dateien eher selten vorkommt und wer das regelmäßig macht (z.b videobearbeitung), der hat auch das entsprechende setup (mehrere schnelle platten).
Die festplatte kann mit ihrem cache das etwas abfedern, aber beim wilden lesen, gefolgt von wildem schreiben, kommt vermutlich die cache-verwaltung etwas durcheinander (soll ich eher read-ahead optimieren oder den schreib-cache bevorzugen, eine platte hat schon ein schweres leben ;) ).
Die beste lösung wäre ein (eigenes) tool, das genau dem anforderungsprofil entspricht. Ob sich so etwas finden lässt, ist dann die frage (programmieren lernen und selber machen ist vielleicht schneller ;) ).

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Achim20 mr.escape „ Im grunde schon, nur dass es nichts mit der plattengröße zu tun hat. Diese...“
Optionen

Ha, "...selber machen ist vielleicht schneller...", ich glaube du hast leider recht.
Obwohl, DAS HIER geht schon in die richtige Richtung.
Leider keine Merge-Funktion, VERDAMMT, so knapp vorbei, schnief.

FUMANCHU4EVER
bei Antwort benachrichtigen
mr.escape Achim20 „Ha, ...selber machen ist vielleicht schneller... , ich glaube du hast leider...“
Optionen

Vielleicht ist hier was dabei: http://nonags.imd.it/filesplit.html

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Achim20 mr.escape „Vielleicht ist hier was dabei: http://nonags.imd.it/filesplit.html mr.escape“
Optionen

Danke für den Hinweis.
Hab mal alles durchgelesen, aber auf den ersten Blick scheint keins der Progs dem normalen Copy irgendwie überlegen zu sein.
Ich seh schon, irgendwann mach ich's selbst.
Dann sag ich dir Bescheid, haha :-)
mfG Achim
Vielen Dank für deine Hilfe!

FUMANCHU4EVER
bei Antwort benachrichtigen
Andreas42 Achim20 „Gibt es ein effizienteres Mergen?“
Optionen

Hi!

Die Probleme beim Mergen durch umstellen der Dateiverwaltungsstrukturen sehe ich so, wie mr.escape.

Deshalb eine andere Frage:

Das hört sich bisher so an, als ob dieses Mergen bei dir häufiger stattfinden muss. Falls dem so ist, was genau wird da gemacht? Ich meine in Bezug auf die Daten, die da zusammengeführt werden müssen.
Evtl. kann man ja anders an die Sache herangehen, z.B. das Problem durch verwenden einer Datenbank umgehen?

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
Achim20 Andreas42 „Hi! Die Probleme beim Mergen durch umstellen der Dateiverwaltungsstrukturen sehe...“
Optionen

Hallo Andreas,
meistens geht es darum, mehrere VOBs (DVD-MPEG2) zu mergen, damit der Film als ganzes bearbeitet werden kann.
Häufigkeit: Naja, vielleicht ein- oder zweimal im Monat.
mfG Achim

FUMANCHU4EVER
bei Antwort benachrichtigen
Andreas42 Achim20 „Hallo Andreas, meistens geht es darum, mehrere VOBs DVD-MPEG2 zu mergen, damit...“
Optionen

Hi!

OK, da hilft dann auch keine Datenbank. Aber wenn die VOB zusammenführen willst, werden die doch sowieso gegebenenfalls neu getrennt (nach 2Gbyte) oder irre ich mich da? da wäre das Umhängen auf dateisystemebene nicht wirklich gut machbar (werden da eigentlich die Trenn/Übergangsstellen neu kodiert?)

Für den Fall würde sich dann IMHO in der Tat eine zweite Platte (am besten an einem getrennten Kontroller) lohnen.

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
mr.escape Achim20 „Hallo Andreas, meistens geht es darum, mehrere VOBs DVD-MPEG2 zu mergen, damit...“
Optionen

Mit DVD2AVI und VFAPI kann man auch mehrere VOB/MPEG2-teile als eine AVI-datei erscheinen lassen, TMPGEnc z.b. kann auch die D2V-dateien direkt verarbeiten (ohne ton allerdings, der muss vorher extrahiert werden, macht DVD2AVI aber automatisch beim erzeugen der D2V-datei).

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen