Pregunta

Estoy investigando soluciones para un cliente potencial. Están solicitando la posibilidad de descargar una gran cantidad de MP3 (1000) de su catálogo en línea.

He investigado / probado la construcción de un zip que contiene todos los archivos MP3 utilizando ZipArchive pero se encontró con problemas de pérdida de memoria obvias que han descartado que la solución fuera.

Ahora estoy tratando de pensar fuera de la caja.

Una idea era crear una cola de FTP o un enlace tipo de descarga Torrent para ellos. ¿Hay algo por ahí que puede tirar de algo como esto?

Cualquier ayuda o dirección sugerida sería muy apreciada! Gracias !!

Editar: Aquí es el proceso / objetivo general que estamos tratando de lograr

.

El cliente crea música para la colocación de TV / Flim. Mantienen un catálogo en línea y una copia local que envían a los compradores potenciales. El catálogo en línea y fuera de línea el catálogo necesidad de reflejar entre sí. ser un problema, tienen múltiples oficinas que tendrán que actualizar su copia local con los nuevos archivos añadidos al catálogo en línea de muchos lugares diferentes

Ejemplo: actualizaciones de los usuarios de la Costa Este catálogo con 100 nuevos archivos. West Coast necesidades de los usuarios para actualizar el catálogo en línea con los nuevos archivos recuperados del catálogo en línea.

Nos había esperado para crear personalizados postal de los archivos de cada usuario necesita para actualizar su catálogo basado en el historial de descargas del usuario y que nos gustaría mantener en MySQL. Probábamos ZipArchive pero no era capaz de construir cremalleras más de 175 MEG (más o menos). Estamos en el proceso de probar ZipStreaming pero estamos teniendo algunos problemas.

Espero que esto aclare el objetivo general y los problemas que estamos enfrentando.

¿Fue útil?

Solución

GNU wget? Se puede descargar recursiva. Sólo dar wget una lista de todos los archivos en el servidor, por ejemplo,   http://www.example.org/filelist.html que contiene enlaces como file1.mp3, file2.mp3 etc (Apache normalmente genera un archivo de índice de este tipo de forma automática wenn un directorio sin index.html / php en ella se llama.

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

Otros consejos

Francamente, no puedo identificar el problema / pregunta en cuestión de la entrada. Si usted está buscando para reducir al mínimo la carga de red, a continuación, es necesario recordar que los archivos MP3 no se comprimen bien porque ya están comprimidos (no tan bien como sea posible, pero bien). Si usted está buscando un transporte, que cualquier protocolo de transferencia de archivos hará (FTP, SFTP, HTTP, WebDAV).

Si necesita flexibilidad y características, me gustaría recomendar SFTP: se trata de un protocolo para el acceso al sistema de archivos remoto, lo que además de "obtener el archivo" operación que tiene un montón de operaciones útiles que incluyen directorio legible por la máquina lista (en la que no siempre está disponible FTP y no está disponible en HTTP estándar), una función de compresión zlib, una función de la posibilidad de reanudar la transferencia de archivos y más bonos. HTTP también tiene la compresión zlib, pero éste no siempre está disponible.

Actualización: su enfoque no se preocupa por lo que es realmente disponible en el cliente y que se van a preparar los archivos ZIP en base a su conocimiento (posiblemente incorrecta) de que el cliente ya tiene.

Si el cliente y el servidor son aplicaciones que se desarrollan, entonces debe usar el protocolo RSync o algo similar para actualizar datos en línea (sin utilizar ningún archivo ZIP) y descargar los archivos que faltan en el cliente. Si la comunicación directa entre el cliente y el servidor no es posible, puede hacer que el cliente envíe su estado al servidor y el servidor se preparará un paquete individual después de eso. En cuanto a la funcionalidad postal - se necesita sólo cuando se utiliza actualización por lotes (sin comunicación en tiempo real entre el cliente y el servidor). No sé lo que la tecnología que está utilizando, pero si su solamente es un problema con el componente postal, se puede usar otra cosa para el embalaje de datos - ya sea distinta componente postal (para .NET y VCL tenemos Zip componente ) o alguna otra solución de embalaje (por ejemplo, nuestro Solís producto no tenga límites de tamaño). Por desgracia, no tengo conocimiento de aplicación RSync similar disponible como un componente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top