HTML5 Загрузчик больших файлов

HTML5 Загрузчик больших файлов


Загрузчик больших файлов реализован на современных технологиях HTML5

Мы создали сервис, позволяющий загружать в портал и передавать пользователям, файлы с высококачественными графическими материалами, обладающих большим объемом. Файлы не только необходимо быстро загружать через специальный интерфейс, но и ограничивать уровни доступа к данным, выстраивая роли и иерархию внутри системы. 

Условно, в  сервисе можно выделить 2 основные части:

  • Административная (менеджерская) часть.  Для удобства и быстроты передачи файлов мы реализовали возможность загрузки файлов частями (файл делится на части, и каждая часть загружается в отдельном потоке на сервер). Благодаря этому решению, можно загружать файлы более 2 гигабайт, если загружать файл обычными методами, то загрузка файла в 1 гигабайт становится сложным и долгим процессом, а загрузка файла более 2гб, попросту невозможна ввиду ограничений клиентской части, реализованной при помощи - javascript).

  • Пользовательская часть.  Для удобства пользователей реализовано получение файла без ограничений; любого размера и из любого браузера. Отличительная особенность в том, что файл не загружается сразу в память сервера, а подгружается частями. Это необходимо, для того, чтоб портал стабильно работал без замедления, с любым количеством пользователей.

 

Нагрузочный краш-тест портала:

  • одновременное получение 20 файлов общим размером более 30 гигабайт
  • параллельная загрузка 10 файлов общим размером более 15 гигабайт
  • имитация посещения пользователями сайта в количестве 20 000 человек за 10 минут

 

Статистика: 

  • Пользовательский файлов: - более 40 гигабайт
  • В месяц более 400 000 просмотров страниц
  • В среднем на сайте человек проводит более 9 минут
  • Пользователи в основном: клиенты-оптовики, менеджеры компании, а также будущие клиенты, которые хотят начать свой бизнес вместе с порталом.

 

В рамках системы, благодаря особенностям языка Phyton (Django) выстроена сложная система иерархии пользователей и уровней доступа к информации. Особое внимание мы уделили безопасности проекта и защите хранилища данных от DoS-атак и хакеров,  портал настолько интересен, что каждые 5 минут мы регистрируем, что формируется  новый хеш для получения данных с сайта.