Слайд 2Содержание
Видео: организация файлового хранилища.
Вещания: ретрансляция.
Географическая распределенность: подход.
Географически распределенные видеофайлы и вещания.
![Содержание Видео: организация файлового хранилища. Вещания: ретрансляция. Географическая распределенность: подход. Географически распределенные видеофайлы и вещания.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-1.jpg)
Слайд 3Видеофайлы
Объем хранения:
на хранение 1 секунды видео требуется ~ 250 Кб (FLV, оригинал,
![Видеофайлы Объем хранения: на хранение 1 секунды видео требуется ~ 250 Кб](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-2.jpg)
3GP, …);
средняя длительность видео ~ 4 минут;
для 1 млн. видео необходимо 60 Тб.
Одно видео = 5 файлов + 15 картинок.
Слайд 4Файловый сервер
Файловый сервер
(2-4 Тб, RAID)
просмотр видео, HTTP-streaming
«Морда» /
Сервер
кодирования
WebDAV
удаление, создание,
копирование файлов
![Файловый сервер Файловый сервер (2-4 Тб, RAID) просмотр видео, HTTP-streaming «Морда» /](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-3.jpg)
и т.п.
Слайд 5Кластер файловых серверов
Какой сервер выбрать?
diskfree
нагрузка
случайно
Файловый
сервер №1
Файловый
сервер №2
Файловый
сервер №n
…
![Кластер файловых серверов Какой сервер выбрать? diskfree нагрузка случайно Файловый сервер №1](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-4.jpg)
Слайд 6Файловый сервер
Отдача контента (статика):
FLV-streaming (lighttpd, nginx);
Оригинал, 3GP, MPEG-4 – любой HTTP-сервер.
Управление файлами
![Файловый сервер Отдача контента (статика): FLV-streaming (lighttpd, nginx); Оригинал, 3GP, MPEG-4 –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-5.jpg)
(WebDAV):
Apache, nginx, …
Доступ к файлам:
Любой WebDAV-клиент (PHP, Python, …)
Слайд 7Бэкап данных
Объем данных не позволяет использовать традиционные схемы.
Решение - кросс-бэкап:
Бэкап 2
Файлы 1
Бэкап
![Бэкап данных Объем данных не позволяет использовать традиционные схемы. Решение - кросс-бэкап:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-6.jpg)
Слайд 8Кросс-бэкап
Основа – rsync.
Проблема вычисления свободного места:
периодичность выполнения бэкапа.
![Кросс-бэкап Основа – rsync. Проблема вычисления свободного места: периодичность выполнения бэкапа.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-7.jpg)
Слайд 9Вещания
Клиент: Adobe Flash Player;
Сервер: Adobe FMS, pyFMS, …;
Протокол: RTMP;
Проблема – «мультиплицирование» потока
![Вещания Клиент: Adobe Flash Player; Сервер: Adobe FMS, pyFMS, …; Протокол: RTMP;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-8.jpg)
на количество зрителей вещания.
Слайд 11Геораспределенность
Контент должен быть «близко» к потребителю:
региональное развитие (РФ);
международные рынки.
Проблемы:
сетевые каналы (пропускная способность);
разница
![Геораспределенность Контент должен быть «близко» к потребителю: региональное развитие (РФ); международные рынки.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-10.jpg)
в стоимости локального и внешнего трафика.
Слайд 12Посетитель
IP-адрес
Посетитель
Географическое
положение:
- страна;
- регион;
- город.
БД GeoIP
![Посетитель IP-адрес Посетитель Географическое положение: - страна; - регион; - город. БД GeoIP](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-11.jpg)
Слайд 13Ресурс
Ресурс
Сервер
Географическое
положение 1
Копии
ресурса
Зеркалирующие
сервера
Географическое
положение 2
Географическое
положение 3
![Ресурс Ресурс Сервер Географическое положение 1 Копии ресурса Зеркалирующие сервера Географическое положение 2 Географическое положение 3](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-12.jpg)
Слайд 14Вычисление расстояний
Москва
Киев
Харьков
Хьюстон
Таллин
Пермь
Находка
20
5
15
40
30
5
10
20
15
![Вычисление расстояний Москва Киев Харьков Хьюстон Таллин Пермь Находка 20 5 15](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-13.jpg)
Слайд 15Вычисление расстояний
Поиск кратчайшего пути во взвешенном орграфе.
Фиксированное количество концов пути: расположение серверов.
Слабосвязанный
![Вычисление расстояний Поиск кратчайшего пути во взвешенном орграфе. Фиксированное количество концов пути:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-14.jpg)
граф, кеширование вычисленных расстояний.
Слайд 16Выбор копии ресурса
Из мест расположения ресурса и его копий выбираем ближайший к
![Выбор копии ресурса Из мест расположения ресурса и его копий выбираем ближайший](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-15.jpg)
пользователю;
Если таких мест несколько – выбираем случайно (в соответствие с весом).
Слайд 17Начисление бонусов
Всем местам, где ресурс отсутствует сегодня, начисляем бонус:
где k – коэффициент,
![Начисление бонусов Всем местам, где ресурс отсутствует сегодня, начисляем бонус: где k](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-16.jpg)
определяющий скорость копирования ресурсов.
Слайд 18Копирование ресурса
Как только бонус ресурса относительно места превышает некоторый предел:
выполняется копирование ресурса
![Копирование ресурса Как только бонус ресурса относительно места превышает некоторый предел: выполняется](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-17.jpg)
на любой из серверов, расположенных в данном географическом месте.
Слайд 19Гео: видеофайлы
Ресурс – видеофайл;
Первичная копия ресурса – файл, расположенный на файловом сервере;
Копии
![Гео: видеофайлы Ресурс – видеофайл; Первичная копия ресурса – файл, расположенный на](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-18.jpg)
ресурса – копии файла, расположенные на зеркалирующих файловых серверах;
Обращение к ресурсу – просмотр видео, скачивание;
Копирование ресурса – копирование файла на зеркалирующий файловый сервер.
Слайд 20Гео: вещания
Ресурс – вещание;
Первичная копия ресурса – вещание на сервере, к которому
![Гео: вещания Ресурс – вещание; Первичная копия ресурса – вещание на сервере,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-19.jpg)
подключен автор вещания;
Копии ресурса – ретрансляция вещания;
Обращение к ресурсу – «вход» в вещание;
Копирование ресурса – создание нового источника ретрансляции.
Слайд 21Заключение
Результат:
контент надежно хранится;
хранилище масштабируется;
контент «приближается» к пользователю по мере необходимости.
Альтернативы:
CDN;
распределенные файловые
![Заключение Результат: контент надежно хранится; хранилище масштабируется; контент «приближается» к пользователю по](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/442562/slide-20.jpg)
системы.