Форум ApacheDev

Apache isn't the fastest or maximally customizable web server, its popularity comes from the fact that it provides a very good balance of these things bundled with maximum portability and reliability.

Вы не зашли.

#1 2009-01-14 16:02:56

unknown212
Новичок
Зарегистрирован: 2009-01-14
Сообщений: 3
Рейтинг :   

Задача по созданию модуля (Функциональность RapidShare)

Здравствуйте.

Описание задачи:
Существует система, по доставке контента в виде медиа-файлов пользователям.
Схема:
http://www.teh-pod.ru/org.png


Web-server - содержит сайт с системой авторизации.
MySQL - БД в которой хранятся учетные записи пользователей и данные системы.
Прочие сервера - отвечающие за доставку файлов (сервера хранения и отдачи):
Пользователь при просмотре страниц Web-сервера получает те или иные ссылки на скачку с этих серверов,
например
- http://down1.server/?id=832947230sdkfh
здесь - id есть временный идентификатор какого то файла в структуре каталогов серверов хранения и отдачи
Соответствие id и конкретного файла задается в БД MySQL. Когда и как, пока не обсуждается.

Пользователи БД:
3 типа пользователей: vip (в единственном числе), user, гость.

ГЛАВНОЕ ТРЕБОВАНИЕ:
Управлять пропускной способностью канала во время скачивания в зависимости от типа пользователя и загруженности канала в целом.

Обеспечить выполнение следующих условий:
- если качает vip, то отдавать ему ширину канала на столько на сколько широкий он у него, урезая в то же время всех остальных качающих users и гостей (вплоть до какого-то минимального значения). Докачка поддерживается. Скачивание множества объектов в множество потоков поддерживается.

- если качает гость: позволять скачивать только 1 объект в 1 поток в единицу времени. Докачка не поддерживается. Ограничение канала из настроек в какую-либо величину, например 100кБайт/сек.

- если качает User: позволять скачивать множество объектов (но не более определенной величины), в несколько потоков на объект (не более определенной величины), докачка поддерживается. Ограничение на суммарную пропускную способность отдачи от всех закачек в данный момент равно какой-либо величине, например 250кБайт/сек.

Очевидно, что решение лежит в области создания собственного модуля Apache. Имеет место быть аналогичный модуль по управлению пропускной способностью и трафиком - имя ему mod_cband. Его разработка прекращена, но есть исходники.

При решении данной задачи в контексте описанного, очевидно, что модуль должен взаимодействовать с БД MySQL, что решаемо с помощью функций APR. Драйвер для доступа к MySQL из APR распространяется отдельно в виде исходников.

Требования к модулю:
Модуль необходим для платформы Windows и FreeBSD.
Должен поддерживать настройку в виде директив http.conf и/или .htaccess.
Точные параметры настройки определяются в процессе разработки.

Кто знает как решить задачу, кому интересно, кто имеет возражения и видит свое решение задачи - пишите в ICQ 476201644, или на e-mail: ean.garbage.mail{sobak)mail(dot]ru

PS. и кто хочет заработать или помочь в разработке.

С уважением UNKOWN212.

Неактивен

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson