Обнаружение изменений и уведомление - Change detection and notification

Обнаружение изменений и уведомление относится к автоматическому обнаружению изменений, внесенных на страницы всемирной паутины, и уведомлению заинтересованных пользователей по электронной почте или другим способом. В то время как поисковые системы предназначены для поиска веб-страниц, системы CDN предназначены для отслеживания изменений на веб-страницах. Перед обнаружением изменений и уведомлением пользователям было необходимо вручную проверять наличие изменений веб-страниц, либо повторно посещая веб-сайты, либо периодически выполняя повторный поиск. Эффективному и действенному обнаружению изменений и уведомлению мешает тот факт, что большинство серверов неточно отслеживают изменения содержимого с помощью заголовков Last-Modified или ETag . Подробный анализ систем CDN можно найти

История

В 1996 году NetMind разработала первое средство обнаружения изменений и уведомления, известное как Mind-it, которое работало шесть лет. Это породило новые сервисы, такие как ChangeDetection (1999), ChangeDetect (2002), Google Alerts (2003) и Versionista (2007), которые использовались президентской кампанией Джона Маккейна в 2008 году в гонке за президентскими выборами в США в 2008 году . Исторически опрос изменений выполнялся либо сервером, который отправлял уведомления по электронной почте, либо настольной программой, которая звуком предупреждала пользователя об изменении. Оповещение об изменениях также возможно напрямую на мобильные устройства с помощью push-уведомлений , веб-перехватчиков и обратных вызовов HTTP для интеграции приложений.

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

За исключением заметных случаев, когда Google подает заявки на патенты, связанные с Google Alerts , деятельность в области интеллектуальной собственности, связанная с обнаружением изменений и поставщиками уведомлений, минимальна. Ни один поставщик не воспользовался исключительными правами на изменение технологии обнаружения и уведомления с помощью патентов или других законных средств. Это привело к значительному функциональному дублированию продуктов и услуг.

Архитектурные подходы

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

На базе сервера

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

На основе клиента

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

Соображения

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

  • Создайте показатель разницы между двумя версиями страницы (рассчитанный, например, на основе изменения общего размера, изменений в файле HTML или изменений в дереве DOM ) и игнорируйте изменения ниже некоторого порогового значения. Порог может быть установлен пользователем или оценен автоматически путем сравнения некоторых ранних версий страницы.
  • Извлечение контента. Для популярных сайтов или сайтов, на которых запущено популярное программное обеспечение, контент можно активно отделить от мусора, выбрав поддерево DOM, например, с помощью XPath . Другой типичный метод - использование регулярных выражений для извлечения только того текста, который интересует пользователя.

использованная литература