отслеживание завершения загрузки с веб-сайта/cdn


У меня есть веб-сайт Drupal, на котором пользователи нажимают на ссылку, которая инициирует загрузку файла из сети доставки контента (CDN). Скрипт отслеживает количество пользователей, которые нажимают на ссылку, чтобы начать процесс загрузки. Я ищу предложения о том, как я мог бы отслеживать количество пользователей, которые успешно завершили процесс загрузки.

Author: Matt V., 0000-00-00

1 answers

Если вам нужно только количество завершенных загрузок, просто возьмите необработанные журналы с вашего CDN и запустите их с помощью инструмента анализа журналов. Большинство CDN предоставляют ежедневные журналы доступа в качестве стандартной услуги. Более крупные игроки могут вести ежечасные журналы или лучше.

Лучшее решение будет зависеть от вашего CDN, поэтому поговорите с ними, если вы еще этого не сделали. Однако вот как я делал это в прошлом.

К каждому сгенерированному защищенному URL-адресу загрузки добавьте уникальный идентификатор пользователя, который сделал просьба. Типичный URL-адрес загрузки CDN может содержать время истечения срока действия и хэш для предотвращения несанкционированного доступа. Вам нужно сначала проверить свой CDN, чтобы убедиться, что вы выбрали имя переменной, которое не противоречит их API. В нашем случае мы договорились о префиксе ign_* (что означает игнорировать.)

Перед:

http://cdn.example.com/path/to/file.ext?e=EXPIRES&h=HASH

После:

http://cdn.example.com/path/to/file.ext?e=EXPIRES&ign_u=USERID&h=HASH

Пример (ссылка для скачивания для пользователя 1234):

http://cdn.example.com/path/to/file.ext?e=1356088260&ign_u=1234&h=39341385b9d99730646d927f620111e1

Теперь, когда вы загружаете необработанные журналы, каждая запись может быть связана с одним из ваших пользователей просто анализ строки запроса. Отсюда вы можете делать все, начиная с подсчета количества завершенных загрузок и заканчивая внедрением отчетов о загрузке для каждого пользователя.

В нашем случае журналы были доступны каждые 15 минут, и я автоматизировал выборку и обработку, чтобы включить квоты загрузки на уровне байтов для каждого пользователя.

Одна вещь, которую следует иметь в виду, если вы собираетесь обрабатывать журналы самостоятельно, - это группировать частичные записи HTTP 206 вместе. Особенно, если вас интересует "количество завершенные загрузки".

 2
Author: , 2009-12-19 00:49:46