Frage

Ich bin Lösungen für einen potenziellen Kunden zu erforschen. Sie sind anfordernden die Fähigkeit, eine große Menge an MP3 (1000) aus ihrem Online-Katalog zum Download bereit.

Ich habe recherchiert / getestet Aufbau eine zip alle MP3-Dateien enthält, mit ZipArchive aber Laufen in der Hand Speicherleck Probleme, die diese Lösung geherrscht haben aus.

Ich versuche jetzt über den Tellerrand erdenken.

Eine Idee war für sie eine FTP-Warteschlange oder einen Torrent Art Download-Link zu erstellen. Gibt es irgendetwas gibt, die so etwas wie dieses hinkriege?

Jede Hilfe oder vorgeschlagene Richtung wäre sehr dankbar! Dank !!

Edit: Hier ist der Gesamtprozess / Ziel, das wir erreichen wollen

.

Der Client erstellte Musik für TV / Flim Platzierung. Sie halten einen Online-Katalog und eine lokale Kopie sie an potentielle Käufer senden. Der Online-Katalog und die Offline-Katalog Notwendigkeit, sie zu spiegeln. Problem Wesen, haben sie mehrere Büros, die ihre lokale Kopie mit den neuen Dateien aktualisieren müssen im Online-Katalog aufgenommen von vielen verschiedenen Orten

Beispiel: East Coast Benutzer Updates mit 100 neuen Dateien katalogisieren. West Coast Der Benutzer muss die Offline-Katalog mit den neuen Dateien aus dem Online-Katalog abgerufen aktualisieren.

Wir hatten gehofft, individuelle zip der Dateien jeden Benutzer erstellen benötigte ihren Katalog zu aktualisieren, basierend auf dem Download-Geschichte des Benutzers, dass wir in MySQL halten würden. Wir testeten ZipArchive aber wir konnten nicht scheinen Zips über 175 MEG zu bauen (mehr oder weniger). Wir sind in dem Prozess des ZipStreaming testen, aber einige Probleme haben.

Ich hoffe, das aufräumt das Gesamtziel und Probleme, die wir konfrontiert sind.

War es hilfreich?

Lösung

GNU wget? Es kann rekursiv herunterladen. geben wget einfach eine Liste aller Dateien auf dem Server, zum Beispiel   http://www.example.org/filelist.html die Links wie datei1.mp3 enthält, file2.mp3 etc (apache normalerweise erzeugt so eine Indexdatei automatisch, ideal für ein Verzeichnis ohne index.html / php in es aufgerufen wird.

http://linux.die.net/man/1/wget

Andere Tipps

Ehrlich gesagt, kann ich nicht die eigentliche Problem / Frage aus Ihrem Post identifizieren. Wenn Sie zur Minimierung der Netzlast suchen, dann müssen Sie daran denken, dass MP3-Dateien sind nicht gut komprimiert, da sie bereits komprimiert ist (nicht so gut wie möglich, aber gut). Wenn Sie einen Transport suchen, als alle Dateiübertragungsprotokoll tun (FTP, SFTP, HTTP, WebDAV).

Wenn Sie Flexibilität und Funktionen benötigen, würde ich SFTP empfehlen: dies ist ein Protokoll für Remote-Dateisystemzugriff, so neben „get file“ Betrieb es viele nützliche Operationen einschließlich maschinenlesbarer Verzeichnis hat Listing (nicht immer verfügbar in FTP und in Standard-HTTP nicht verfügbar), Einbau-zlib-Kompression, Einbau-Möglichkeit Dateiübertragungen und mehr Boni fortzusetzen. HTTP hat auch zlib-Kompression, aber dies ist nicht immer verfügbar.

Update: Ihr Ansatz über kümmert sich nicht darum, was wirklich auf dem Client zur Verfügung und Sie ZIP-Dateien auf Ihrem (möglicherweise falsch) Kenntnisse des Kunden auf Basis vorzubereiten gehen bereits.

Wenn der Client und Server beide Anwendungen sind, dass Sie entwickeln, dann sollten Sie RSync Protokoll oder etwas ähnliches zu Update-Daten verwenden online (keine ZIP-Dateien verwenden) und die Dateien herunterladen, die auf dem Client fehlen. Wenn die direkte Kommunikation zwischen dem Client und dem Server nicht möglich ist, können Sie den Client seinen Zustand an den Server senden machen und der Server wird ein individuelles Paket danach vorzubereiten. Wie für ZIP-Funktionalität - es ist nur erforderlich, wenn Sie Batch-Update verwenden (keine Echtzeit-Kommunikation zwischen dem Client und dem Server). Ich weiß nicht, welche Technologie Sie verwenden, aber wenn Ihr nur Problem mit ZIP-Komponente ist, Sie etwas anderes für die Daten Verpackung verwenden können - entweder verschiedene ZIP-Komponente (für .NET und VCL wir haben ZIP-Komponente ) oder eine andere Verpackungslösung (zum Beispiel unseres SolFS Produkt nicht Größenbeschränkungen). Leider bin ich nicht bewusst RSync artige Implementierung als eine Komponente.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top