Менеджер закачек с управлением через WEB-интерфейс
Федеральное
агентство по образованию
ТОМСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
УПРАВЛЕНИЯ
И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра
электронных приборов (ЭП)
К ЗАЩИТЕ ДОПУСТИТЬ
Заведующий кафедрой ЭП
д-р физ.-мат. наук, профессор
_____________С.М.Шандаров
«___»____________2009
г.
МЕНЕДЖЕР ЗАКАЧЕК С УПРАВЛЕНИЕМ ЧЕРЕЗ WEB-ИНТЕРФЕЙС
Выпускная квалификационная работа
на соискание степени бакалавра техники и технологии
по направлению «Фотоника и оптоинформатика»
ФЭТ ВКР.704
01-01 81 01 ПЗ
Студент гр. 345
____________И.А.Паргачев
«___»____________2009
г.
Руководитель
старший преподаватель кафедры ЭП
____________С.М.Шандаров
«___»____________2009
г.
2009
Реферат
Выпускная квалификационная работа 35с., 6 рис., 21 источников.
СИСТЕМА ЗАГРУЗКИ ТОРРЕНТ-ФАЙЛОВ, СИСТЕМА ЗАГРУЗКИ ФАЙЛОВ ИЗ ИНТЕРНЕТА, СИСТЕМА ЗАГРУЗКИ САЙТОВ, ФАЙЛОВЫЙ МЕНЕДЖЕР.
Целью выпускной квалификационной работы является создание компонентов системы загрузки данных из интернета с управлением через web-интерфейс.
Были спроектированы и разработаны: клиентское приложение для управления системой загрузки данных, система загрузки торрент-файлов, система загрузки данных из интернета, база данных.
Пояснительная
записка к выпускной
Abstract
Final qualification project contains 35 pages, 6 figures, 21 sources.
SYSTEM OF DOWNLOADING TORRENT FILES, SYTEM OD DOWNLOADING FILES FROM INTERNET, SYSTEM OF DOWNLOADING SITES, FILE MANAGER.
The purpose of the final qualification project is creation of the components of system of downloading data from internet under control with web-interface.
Have been designed and developed: client application for controlling the system of downloading data, system of downloading torrent files, system of downloading data from internet, database.
The
explanatory note to final qualification project is made with the use
of text editor OpenOffice Writer 2.4.1. The presentation is made with
the use of Open Office Impress 2.4.1.
Федеральное
агентство по образованию
ТОМСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
УПРАВЛЕНИЯ
И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра
электронных приборов (ЭП)
УТВЕРЖДАЮ
Заведующий кафедрой ЭП
д-р физ.-мат. наук, профессор
_____________С.М. Шандаров
«___»____________2009
г.
ЗАДАНИЕ
На выпускную квалификационную работу студенту Паргачеву Ивану Андреевичу группы 345 факультета электронной техники.
- Тема работы: Менеджер закачек с управлением через web-интерфейс. (утверждена приказом по вузу № 4688 от « 21» мая 2009).
- Срок сдачи студентом законченной работы: « 5 » июня 2009.
- Исходные данные к работе: Спецификации: протокола HTTP, языка программирования PHP, технологии AJAX, языка разметки XML, языка разметки HTML, программы Aria2c, программы Wget, программы rTorrent, командной оболочки Bash.
- Содержание пояснительной записки (перечень подлежащих разработке вопросов):
4.1 По специальной части:
Создание клиентского приложения для управления загрузками, создание системы загрузки торрент-файлов, создание системы загрузки файлов из интернета, создание системы загрузки сайтов, создание файлового менеджера, разработка программы-демона, разработка системы авторизации и реализация базы данных.
- Перечень графического материала: Принцип работы web-приложений, структурная схема менеджера закачек, структурная схема системы загрузки данных, внешний вид клиентского приложения, внешний вид файлового менеджера.
- Дата выдачи
задания: « 21 »
мая
2009.
Руководитель работы:
старший преподаватель кафедры ЭП E.С.Шандаров
« » 2009 г. Подпись
Задание принято к исполнению:
студент группы 345 И.А.Паргачев
« » 2009 г. Студент
Содержание
1.Введение
В настоящее время бурный рост переживает индустрия различных бытовых устройств имеющих возможность подключения к сети. Это игровые приставки, DVD и HD проигрыватели, телевизоры, SetTopBox'ы и, разумеется, компьютеры. Быстро увеличивается количество таких устройств в семьях, появляется все больше ноутбуков в домашнем пользовании. Это приводит к тому, что на одного человека приходится много различных устройств.
Эти устройства могут воспроизводить различный мультимедийный контент, обрабатывать большие объемы цифровой информации, которая создается вокруг нас постоянно. Это фотографии, видео и аудио-файлы, документы, электронная почта, музыка, электронные книги...
Сохранность и доступность информации с разных бытовых устройств для нас является очень важным фактором. Для решения этой проблемы был создан новый класс потребительских устройств, таких как NAS (Network Attached Storage). NAS обеспечивают надёжность хранения данных, легкость доступа для многих пользователей. Эти устройства представляют собой компъютер, подключенные к сети Ethernet по протоколу TCP/IP.
Основным предназначением NAS является предоставление сервисов для хранения данных другим устройствам в сети. Операционная система и программы NAS модуля обеспечивают работу хранилища данных и файловой системы, доступ к файлам, а также контроль над функциями системы. Устройство не предназначено для выполнения обычных вычислительных задач, хотя запуск других программ на нем может быть возможен с технической точки зрения. Обычно NAS устройства не имеют экрана и клавиатуры, а управляются и настраиваются по сети.
Сетевая система хранения данных использует упрощённые операционные системы, такие ОС лишены всех ненужных служб и модулей и в то же время максимально оптимизированы для обслуживания файловой системы. Простая архитектура софта позволяет получить высокую скорость передачи данных и максимально быстрый отклик на запросы пользователей, при этом не требуя каких-либо серьёзных вычислительных мощностей. Как правило, такие ОС зашиты во флеш-память устройства и предустанавливаются фирмой-производителем, однако есть и софт, который свободно распространяется в Интернете.
Архитектура NAS максимально оптимизирована для конкретной задачи: файловый сервис. В основу проектирования NAS-продуктов положено ключевое правило: вся вычислительная мощность сосредоточена на единственной и главной задаче – обслуживание и хранение файлов. Ограничившись ключевой задачей, NAS-продукты позволяют организовать работу группы пользователей с общими файлами максимально эффективно с точки зрения быстродействия и затрат.[1]
Основное преимущество таких систем состоит в их низкой стоимости по сравнению с полноценными серверами и высокой скорости интеграции и по стоимости содержания. Как правило, энергопотребление этих устройств на 90% зависит от количества и типа установленных винчестеров, и лишь потом - от встроенного процессора и памяти.
Развитие
технологии Ethernet и появление гигабитных
сетей позволило в значительной
мере увеличить производительность
NAS-систем и, как следствие, повысить
привлекательность таких
Операционная система FreeNAS основана на BSD-ядре, которое максимально оптимизировано для задач Network Attached Storage. Сама по себе FreeNAS занимает минимальное количество дискового пространства и позволяет грузиться с CD или с флеш-брелока.
FreeNAS распространяется бесплатно, на ее основе можно спроектировать NAS-сервер на любом персональном компьютере или ноутбуке. Управление и настройка FreeNAS происходит с помощью простого веб-интерфейса. К нему можно получить доступ по протоколам CIFS (SMB), Apple Mac AFP, FTP, SSH, iSCSI и NFS.
С развитием сети Интернет и постоянным увеличением пользователей, подключенных к сети стала очень популярна передача информации через интернет. Самые распространенные способы передачи данных по сети стали системы Torrent и размещение этих данных на серверах, подключенных к всемирной паутине.
BitTorrent
— пиринговый (P2P) сетевой протокол
Коэна для кооперативного
Файлы передаются частями, каждый torrent-клиент, получая (скачивая) эти части, в это же время отдаёт (закачивает) их другим клиентам, что снижает нагрузку и зависимость от каждого клиента-источника и обеспечивает избыточность данных.
Перед началом скачивания клиент подсоединяется к трекеру, сообщает ему свой адрес и хеш-сумму запрашиваемого файла, на что в ответ клиент получает адреса других клиентов, скачивающих или раздающих этот же файл. Далее клиент периодически информирует трекер о ходе процесса и получает обновлённый список адресов.
Клиенты соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера, который лишь регулярно обновляет информацию о подключившихся к обмену клиентах и другую статистическую информацию. Для эффективной работы сети BitTorrent необходимо, чтобы как можно больше клиентов были способны принимать входящие соединения. Неправильная настройка NAT или брандмауэра могут этому помешать.
При соединении клиенты сразу обмениваются информацией об имеющихся у них сегментах. Клиент, желающий скачать сегмент, посылает запрос и, если второй клиент готов отдавать, получает этот сегмент. После этого клиент проверяет контрольную сумму сегмента и оповещает всех присоединённых пиров о наличии у него этого сегмента.
Каждый клиент имеет возможность временно блокировать отдачу другому клиенту. Это делается для более эффективного использования канала отдачи. Кроме того, при выборе — кого разблокировать, предпочтение отдаётся пирам, которые сами передали этому клиенту много сегментов. Таким образом, пиры с хорошими скоростями отдачи поощряют друг друга по принципу «ты — мне, я — тебе».
Обмен сегментами ведётся по принципу «ты — мне, я — тебе» симметрично в двух направлениях и в случайном порядке. Клиенты периодически сообщают друг другу об имеющихся у них сегментах. Обмен данными начинается, когда обе стороны в нём заинтересованы, то есть каждая из сторон имеет сегменты, которых нет у другой. Количество переданных сегментов подсчитывается, и если одна из сторон обнаруживает, что передаёт в среднем больше, чем принимает, она блокирует отдачу. Таким образом, в протокол заложена защита от личеров (пользователь Интернета, пользующийся ресурсами, предоставляемыми другими, но не предлагающий ничего взамен).
При получении полного файла клиент переходит в специальный режим работы, в котором он только отдаёт данные (становится сидом).
Клиенты периодически информируют трекер об изменениях в состоянии закачек и обновляют списки IP-адресов.
Трекер — специализированный сервер, работающий по протоколу HTTP. Трекер нужен для того, чтобы клиенты могли найти друг друга. Фактически, на трекере хранятся IP-адреса, входящие порты клиентов и хеш-суммы, уникальным образом идентифицирующие объекты, участвующие в закачках. По стандарту, имена файлов на трекере не хранятся, и узнать их по хеш-суммам нельзя. Однако на практике трекер часто помимо своей основной функции выполняет и функцию небольшого веб-сервера. Такой сервер хранит файлы метаданных и описания распространяемых файлов, предоставляет статистику закачек по разным файлам, показывает текущее количество подключённых пиров и пр.
Для
каждого распространяемого
- URL трекера;
- общую информацию о закачиваемом файле (имя, длину и пр.);
- Контрольные суммы (точнее, хеш-суммы SHA1) сегментов закачиваемого файла.
Файлы метаданных могут распространяться через любые каналы связи: они (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS. Получив каким-либо образом файл с метаданными, клиент может начинать скачивание.[2]
FTP
— протокол, предназначенный для
передачи файлов в
FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.
Протокол FTP относится к протоколам прикладного уровня и для передачи данных использует транспортный протокол TCP. Команды и данные, в отличие от большинства других протоколов передаются по разным портам. Порт 20 используется для передачи данных, порт 21 для передачи команд.
Протокол не шифруется, при аутентификации передаёт логин и пароль открытым текстом. Если злоумышленник находится в одном сегменте сети с пользователем FTP, то, используя снифер, он может перехватить логин и пароль пользователя, или, при наличии специального ПО, получать передаваемые по FTP файлы без авторизации. Чтобы предотвратить перехват трафика, необходимо использовать протокол шифрования данных SSL, который поддерживается многими современными FTP-серверами и некоторыми FTP-клиентами.[3]
HTTP (HyperText Transfer Protocol) — протокол прикладного уровня передачи данных (изначально - в виде гипертекстовых документов). Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т.д. Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.
HTTP
— протокол прикладного уровня,
аналогичными ему являются FTP и
SMTP. Обмен сообщениями идёт по
обыкновенной схеме «запрос-
Пользователи часто встречаются с проблемой загрузки сайтов для последующего просмотра информации на локальной машине. Сохранять сайт по одной странице, открывая каждую, очень не удобно и занимает много времени. Гораздо удобнее загружать сайт с указанием глубины рекурсивных ссылок.
На сегодняшний день сделано очень много менеджеров закачки данных и клиентов торрент, но для их работы необходимо постоянное подключение к сети и компьютер, работающий 24 часа в сутки. Стационарные компьютеры создают много шума, поэтому не всем нравится держать его включенным круглые сутки. Ноутбуки по своему назначению, как мобильные устройства не всегда подключены к интернету. Эти проблемы делают процесс загрузки данных очень долгим или не возможным вовсе, если не поддерживается догрузка файлов с момента отключения.
Решением
данных проблем может стать менеджер
закачек, работающий на «домашнем сервере»,
с управлением через веб-
2.Постановка задачи
На период дипломирования перед нами была поставлена задача, разработать компоненты, необходимые для создания ресурса, реализующего функции менеджера закачек:
- клиентское приложение для работы с загрузками;
- система загрузки торрент-файлов;
- система загрузки файлов
- система загрузки и сайтов;
- Файловый менеджер, для просмотра загруженных фалов.
- возможность назначать новые задания для загрузок;
- возможность управления загрузками;
- возможность просмотра полной информации о процессе загрузки/раздачи торрентов (процент загрузки, вложения в торрент-файл, пиры и т.д.);
- отсутствиенеобходимости в установке дополнительного програмного обеспечения на стороне клиента.
- возможность мониторинга процесса загрузки;
- торрент-клиент должен быть консольным;
- возможность остановки загрузки торрентов;
- возможность удаления торрентов.
- клиент загрузки должен быть консольным;
- возможность загрузки с ресурсов, требующих авторизацию (задается имя пользователя и пароль);
- возможность загрузки через прокси-сервер;
- возможность загрузки файлов по протоколам HTTP и FTP;
- возможность продолжения загрузки, после обрыва сети;
- возможность сегментной закачки;
- возможность загрузки по сценариям metalink.
- клиент загрузки должен быть консольным;
- возможность загрузки с ресурсов, требующих авторизацию (задается имя пользователя и пароль);
- возможность продолжения загрузки, после обрыва сети;
- возможность «зеркалирования» сайтов (точное копирование со всеми вложениями);
- настройка глубины скачиваемых ссылок.
- возможность передвигаться по каталогам;
- возможность загрузить файл на локальную машину;
3.Выбор технологии
Технология
Personal Home Page (PHP) получила очень широкое
распространение благодаря
Принцип шаблонов позволил разработчикам писать программы гораздо быстрее и без ошибок, присущих традиционным CGI - программам, выдающим HTML содержимое в поток вывода. На сегодняшний день диапазон систем, построенных на шаблонах простирается от простых страниц с выборками из базы данных до крупных приложений электронной коммерции, основанных на XML. Шаблонные системы пользуются большой популярностью среди разработчиков, поскольку наиболее подходят для типовых сайтов. Такие решения включают ColdFusion, PHP, JSP и ASP, из которых РНР является наиболее распространенной.
Наилучшим
качеством PHP является то, что он предельно
прост для новичка в
XML
(Extensible Markup Language) – это язык разметки,
описывающий целый класс
Процесс создания XML документа очень прост и требует от нас лишь базовых знаний HTML и понимания тех задач, которые мы хотим выполнить, используя XML в качестве языка разметки. Таким образом, у разработчиков появляется уникальная возможность определять собственные команды, позволяющие им наиболее эффективно определять данные, содержащиеся в документе. Автор документа создает его структуру, строит необходимые связи между элементами, используя те команды, которые удовлетворяют его требованиям и добивается такого типа разметки, которое необходимо ему для выполнения операций просмотра, поиска, анализа документа.
Еще одним из очевидных достоинств XML является возможность использования его в качестве универсального языка запросов к хранилищам информации.
XML
позволяет также осуществлять
контроль за корректностью
XML
сейчас поддерживается

- Менеджерская деятельность по выработке стратегии развития предприятия в современных условиях
- Менеджмент банківської системи на прикладі Ощадного банку України
- Менеджмент в ресторанном бизнесе
- Менеджмент деловой активности и эффекти- вности деятельности предприятия
- Менеджмент и трудовые отношения : Стратегия управления персоналом в условиях кризиса
- Менеджмент предприя
- Менеджмент предприятия оптовой торговли продуктами питания
- Мемлекеттің аұша несие саясаты
- Мемлекеттің әлеуметтік-экономикалық жағдайындағы бюджеттін ролі
- Мемуарно-дневниковое творчество участников блокады Ленинграда. Публицистический аспект
- Мемуары как источник по истории Гражданской войны 1918 – 1920 гг. на территории Северной Области
- Менеджемент
- Менеджер библиотеки: профессиональная компетентность и требования к личности
- Менеджер в сфере услуг, его роль