Я хочу добавить отслеживание в наш медиаплеер на базе Flash, чтобы мы могли предоставить аналитику, показывающую, какие разделы видео просматриваются (в данный момент мы просто регистрируем представление, когда видео начинает воспроизводиться)
Например, если зритель смотрит первые 30 секунд видео, а затем переключается на что-то другое, мы хотим, чтобы данные отражали это.
Аналогичным образом, если кто-то смотрит первые 10 секунд, затем перетаскивает временную шкалу до последней минуты видео и смотрит, что мы хотим зарегистрировать просмотр по просматриваемым частям, а не по средней части.
Моей первой мыслью было собрать данные о просмотре в проигрывателе и отправить их на сервер в конце сеанса просмотра. К сожалению, у Flash, похоже, нет события, к которому вы можете подключиться, когда зритель щелкает по странице, на которой находится фильм (вероятно, это хорошо - это может привести к злоупотреблениям)
Итак, похоже, нам придется регулярно отправлять запросы на сервер во время воспроизведения видео. Это, очевидно, приведет к большому количеству запросов при большом количестве одновременных зрителей.
Простой способ выгрузки всех этих «сердцебиений» событий из клиентов в базу данных выглядит так, как будто она быстро станет неуправляемой, поэтому мне интересно, должен ли я использовать подход, при котором просмотр сеансов кэшируется в памяти и сбрасывается в базу данных, они становятся неактивными (по тайм-ауту). Таким образом, данные могут храниться как промежутки времени, а не как отдельные импульсы.
Итак, на вопрос - как лучше всего подходить к такому виду просмотра больших объемов данных? Есть ли хорошие существующие архитектуры / шаблоны?
Спасибо
Dan.