Каков наилучший подход для создания Activity Logger - PullRequest
0 голосов
/ 05 декабря 2011

Я пишу трекер активности для приложения Grails. Цель: зарегистрировать часы использования и просмотренные страницы, чтобы можно было проанализировать зарегистрированный шаблон активности пользователя.

Мое текущее запланированное решение: создайте две таблицы, одну с именем «активность», вторую «browsed_page». Таблица действий будет хранить user_id, jsessionid, date_created, validtill. и browsed_page будет иметь Activity_id и browsed_url. Javascript на каждой странице будет выполняться для проверки активности мыши каждые 5 минут. Если он обнаруживает перемещение мыши, он отправляет ajax-запрос контроллеру, и контроллер регистрирует его соответствующим образом.

Первоначально validtill будет составлять 5 минут плюс date_created, который будет обновлен до current_time + 5 минут, если активность обнаружена и сделан запрос ajax.

Мой вопрос: насколько надежна эта система? Я имею в виду, что после каждых 5 минут или просмотра новой страницы на таблице активности запускается обновление, чтобы обновить время действия. Когда приложение разрастется и начнет иметь миллионы записей, будут ли эти обновления снижать производительность? Могу ли я получить совет, как мне улучшить свою систему?

1 Ответ

0 голосов
/ 05 декабря 2011

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

Убедитесь, что отслеживание можно настроить, чтобы вы могли отключить его, если оно перегружает систему.

Когда дело доходит до таблиц, я верю, что делать это можно только в одной таблице, в которую вы только когда-либо писали. Нет обновлений, поиска или удаления. Это самый дешевый способ сделать это.

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

...