Domanda

Sono alla ricerca di soluzioni per un potenziale cliente. Stanno chiedendo la possibilità di scaricare una grande quantità di MP3 (1000) dal loro catalogo on-line.

Ho ricercato / testato la costruzione di una zip contenente tutti i file MP3 utilizzando ZipArchive ma ha incontrato problemi di perdita di memoria evidenti che hanno stabilito che la soluzione fuori.

ora sto cercando di pensare fuori dalla scatola.

Un'idea era quella di creare una coda FTP o un collegamento di tipo download torrent per loro. C'è qualcosa là fuori che può tirare fuori qualcosa di simile?

Qualsiasi aiuto o direzione suggerita sarebbe molto apprezzato! Grazie !!

Modifica: Ecco il complesso processo / obiettivo che stiamo cercando di raggiungere

.

Il client crea musica per il posizionamento TV / Flim. Mantengono un catalogo on-line e una copia locale che inviano ai potenziali acquirenti. Il catalogo on-line e il catalogo in linea necessità di rispecchiare l'un l'altro. Problema essere, hanno più uffici che dovranno aggiornare la loro copia locale con i nuovi file aggiunti al catalogo on-line da molti luoghi diversi

Esempio: gli aggiornamenti degli utenti East Coast catalogo con 100 nuovi file. Esigenze degli utenti West Coast per aggiornare il catalogo in linea con i nuovi file recuperati dal catalogo online.

aveva sperato di creare personalizzati zip del dei file ogni utente necessario per aggiornare il proprio catalogo in base cronologia di download per l'utente che saremmo manteniamo in MySQL. Stavamo testando ZipArchive ma non siamo riusciti a costruire sembrano Zip oltre 175 MEG (più o meno). Siamo in procinto di testare ZipStreaming ma stiamo avendo alcuni problemi.

Spero che questo chiarisce l'obiettivo generale e dei problemi che stiamo affrontando.

È stato utile?

Soluzione

GNU wget? E 'possibile scaricare ricorsiva. Basta dare wget un elenco di tutti i file sul server, per esempio   http://www.example.org/filelist.html che contiene link come file1.mp3, file2.mp3 ecc (apache normalmente genera un tale file indice automaticamente wenn una directory senza index.html / php in esso viene chiamato.

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

Altri suggerimenti

Francamente, non riesco a identificare il vero problema / domanda dal tuo post. Se siete alla ricerca di ridurre al minimo il carico di rete, allora avete bisogno di ricordare che i file MP3 non sono compressi bene perché sono già compressi (non nel miglior modo possibile, ma ben). Se siete alla ricerca di un trasporto, di qualsiasi protocollo di trasferimento file farà (FTP, SFTP, HTTP, WebDAV).

Se avete bisogno di flessibilità e le caratteristiche, mi consiglia SFTP: questo è un protocollo per l'accesso al file system remoto, in modo oltre a "ottenere il file" operazione ha un sacco di operazioni utili, tra cui directory leggibile dalla macchina messa in vendita (in non sempre disponibili FTP e non disponibile in HTTP standard), built-in di compressione zlib built-in possibilità di riprendere i trasferimenti di file e più bonus. HTTP ha anche la compressione zlib ma questo non è sempre disponibile.

Aggiornamento: il tuo approccio non si preoccupa di quello che è davvero disponibili sul client e che si sta per preparare i file zip, sulla base di (forse errata) conoscenza del cliente già ha.

Se il client e il server sono entrambe le applicazioni che si sviluppa, quindi si dovrebbe utilizzare il protocollo rsync o qualcosa di simile per i dati di aggiornamento on-line (non utilizzando qualsiasi file ZIP) e scaricare i file che mancano sul client. Se la comunicazione diretta tra il client e il server non è possibile, è possibile rendere il client invia il suo stato al server e il server preparerà un singolo pacchetto dopo. Per quanto riguarda la funzionalità ZIP - è necessaria solo quando si utilizza aggiornamento batch (nessuna comunicazione in tempo reale tra il client e il server). Non so ciò che la tecnologia si sta utilizzando, ma se il tuo solo problema è con ZIP componente, è possibile utilizzare qualcosa di diverso per il confezionamento dei dati - sia diverso componente ZIP (per NET e VCL abbiamo Zip componente ) o qualche altra soluzione di imballaggio (ad esempio, il nostro SolFS prodotto non ha limiti di dimensione). Purtroppo non sono a conoscenza di implementazione rsync come disponibile come componente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top