Вопрос

Я исследую решения для потенциального клиента. Они запрашивают возможность загрузить большую сумму MP3 (1000+) из своего онлайн-каталога.

Я исследовал / проверен постройку zip, содержащей все mp3, используя Ziparchive, но бегал в очевидную утечку памяти, которые правили это решение.

Я сейчас пытаюсь подумать из коробки.

Одна идея состояла в том, чтобы создать очередь FTP или ссылку для скачивания типа торрента. Есть ли что-нибудь там, что может потянуть что-то подобное?

Любая помощь или предложенное направление было бы очень оценено! Спасибо!!

Редактировать: вот общий процесс / цель, которую мы пытаемся достичь.

Клиент создает музыку для телевизионного / флима. Они поддерживают онлайн-каталог и локальная копия, которую они отправляют потенциальным покупателям. Онлайн каталог и в автономном каталоге необходимо отразить друг друга. Проблема в том, что у них есть несколько офисов, которые придется обновить свою локальную копию с новыми файлами, добавленными в онлайн-каталог из многих разных мест

Пример: Каталог обновлений пользователей Восточного побережья с 100 новыми файлами. Пользователь West Coast должен обновить автономный каталог с новыми файлами, извлеченными из онлайн-каталога.

Мы надеялись создать пользовательские zip файлов, которые каждый пользователь необходим для обновления своего каталога на основе истории загрузки пользователя, которую мы поддерживаем в MySQL. Мы тестировали Ziparchive, но мы не могли построить молнии более 175 мэг (дать или взять). Мы находимся в процессе тестирования Zipstreaming, но имеющие некоторые проблемы.

Я надеюсь, что это очищает общую цель и проблемы, с которыми мы сталкиваемся.

Это было полезно?

Решение

Gnu wget? Это может скачать рекурсивные. Просто дайте Wget список всех файлов на сервере, например, http://www.example.org/filelist.html. который содержит ссылки, такие как file1.mp3, file2.mp3 и т. Д. (apache обычно генерирует такой файл индекса, автоматически wenn каталог без index.html / php в нем вызывается.

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

Другие советы

Честно говоря, я не могу определить реальную проблему / вопрос с вашего поста. Если вы ищете минимизировать сетевую нагрузку, то вам нужно помнить, что файлы MP3 не сжимаются, потому что они уже сжимаются (не так хорошо, как можно хорошо). Если вы ищете транспортировку, чем любой протокол передачи файлов (FTP, SFTP, HTTP, WebDAV).

Если вам нужна гибкость и функции, я бы порекомендовал SFTP: это протокол для удаленного доступа к файловой системе, поэтому, кроме операции «Получить файл», она имеет много полезных операций, включая листинг машиночитаемого каталога (не всегда доступна в FTP и не Доступно в стандартном http), встроенный zlib сжатие, встроенная возможность возобновить передачу файлов и больше бонусов. HTTP также имеет сжатие Zlib, но этот не всегда доступен.

Обновление: Ваш подход не заботится о том, что В самом деле Доступно на клиенте, и вы собираетесь подготовить Zip-файлы на основе ваших (возможно, неверных) знаний клиента уже есть.

Если клиент и сервер являются оба приложения, которые вы разрабатываете, вы должны использовать протокол rsync или что-то подобное обновлению данных в Интернете (не используя какие-либо zip-файлы) и загрузить файлы, которые отсутствуют на клиенте. Если прямая связь между клиентом и сервером невозможна, вы можете заставить клиента отправить свое состояние на сервер, и сервер подготовит индивидуальный пакет после этого. Что касается функции zip - это требуется только при использовании пакетного обновления (без связи в реальном времени между клиентом и сервером). Я не знаю, какие технологии вы используете, но если ваш Только Проблема с zip-компонентом, вы можете использовать что-то еще для упаковки данных - либо другой zip-компонент (для .NET и VCL у нас есть Zip компонент) или какое-то другое устройство упаковки (например, наш Solfs. Продукт не имеет ограничений размера). К сожалению, я не знаю о RSYNC-подобной реализации, доступной в качестве компонента.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top