Pergunta

Estou pesquisando soluções para um cliente em potencial. Eles estão solicitando a capacidade de baixar uma grande quantidade de MP3 (1000+) do seu catálogo on -line.

Eu pesquisei/testei a construção de um zip contendo todos os MP3s usando o Ziparchive, mas fiz problemas óbvios de vazamento de memória que descartaram essa solução.

Agora estou tentando pensar fora da caixa.

Uma idéia era criar uma fila FTP ou um link de download do tipo torrent para eles. Existe algo lá fora que possa tirar algo assim?

Qualquer ajuda ou direção sugerida seria muito apreciada! Obrigado!!

EDIT: Aqui está o processo/objetivo geral que estamos tentando alcançar.

O cliente cria música para a colocação de TV/Flim. Eles mantêm um catálogo on -line e uma cópia local que enviam para potenciais compradores. O catálogo on -line e o catálogo offline precisam se espelhar. Problema sendo, eles têm vários escritórios que terão que atualizar sua cópia local com os novos arquivos adicionados ao catálogo on -line de muitos locais diferentes

Exemplo: o usuário do East Coast Atualiza o catálogo com 100 novos arquivos. O usuário da Costa Oeste precisa atualizar o catálogo offline com os novos arquivos recuperados do catálogo on -line.

Esperávamos criar zips personalizados dos arquivos que cada usuário precisava para atualizar seu catálogo com base no histórico de download do usuário que manteíamos no MySQL. Estávamos testando o Ziparchive, mas não conseguimos construir zíperes mais de 175 meg (dê ou levar). Estamos no processo de teste do ZipStreaming, mas estamos tendo alguns problemas.

Espero que isso esclareça o objetivo geral e os problemas que estamos enfrentando.

Foi útil?

Solução

GNU wget? Pode baixar o recursivo. Basta dar uma lista de todos os arquivos no servidor, por exemplo http://www.example.org/filelist.html que contém links como o File1.mp3, File2.mp3 etc (o Apache normalmente gera esse arquivo de índice automaticamente um diretório sem index.html/php nele é chamado.

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

Outras dicas

Francamente falando, não consigo identificar o problema/pergunta real da sua postagem. Se você está procurando minimizar a carga de rede, lembre -se de que os arquivos MP3 não estão bem compactados porque eles já estão compactados (não o melhor possível, mas bem). Se você estiver procurando por um transporte, qualquer protocolo de transferência de arquivos fará (FTP, SFTP, HTTP, WebDAV).

Se você precisar de flexibilidade e recursos, eu recomendo o SFTP: este é um protocolo para acesso ao sistema de arquivos remotos; portanto, além da operação "Get File", ele possui muitas operações úteis, incluindo listagem de diretório legível por máquina (nem sempre disponível no FTP e não Disponível no HTTP padrão), compactação do ZLIB integrado, possibilidade interna de retomar as transferências de arquivos e mais bônus. O HTTP também possui compressão do ZLIB, mas este sempre está disponível.

Atualização: sua abordagem não se importa com o que é verdade Disponível no cliente e você preparará arquivos ZIP com base no seu conhecimento (possivelmente incorreto) do cliente já possui.

Se o cliente e o servidor forem ambos os aplicativos que você desenvolver, você deverá usar o protocolo RSYNC ou algo semelhante para atualizar dados on -line (não usando arquivos ZIP) e baixar os arquivos que estão faltando no cliente. Se a comunicação direta entre o cliente e o servidor não for possível, você poderá fazer com que o cliente envie seu estado para o servidor e o servidor preparará um pacote individual depois disso. Quanto à funcionalidade ZIP - é necessário apenas quando você usa a atualização em lote (nenhuma comunicação em tempo real entre o cliente e o servidor). Não sei qual tecnologia você está usando, mas se o seu O problema é com o componente ZIP, você pode usar outra coisa para embalagem de dados - componente ZIP diferente (para .NET e VCL, temos Componente ZIP) ou alguma outra solução de embalagem (por exemplo, nosso SOLFS O produto não tem limites de tamanho). Infelizmente, não estou ciente da implementação do tipo RSYNC disponível como componente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top