Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Вопросы и ответы по MS SQL Server" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Декабрь 2002 → | ||||||
1
|
||||||
---|---|---|---|---|---|---|
2
|
4
|
5
|
6
|
7
|
||
9
|
10
|
11
|
12
|
13
|
15
|
|
16
|
17
|
18
|
19
|
20
|
21
|
|
23
|
24
|
25
|
26
|
27
|
29
|
|
30
|
31
|
Статистика
-20 за неделю
MS SQL Server - дело тонкое...
Информационный Канал Subscribe.Ru |
#122<< #123 |
СОДЕРЖАНИЕ
SQL Server Notification Services Автор: Александр Гладченко По материалам Notification Services Books Online и презентации, которую подготовил Алексей Шуленин.
5.4 Передача событий в коллектор
· Event Object 5.4.1 Передача через EventObject
![]()
· Пользовательский провайдер. 5.4.2 Передача через XMLLoader
![]()
· Используется SQLXML 3.0. 5.4.3 Хранимые процедуры для передачи событий
· Event Class stored procedures
- NSEventWrite<eventClassName>
- NSEventFlushBatch<eventClassName>
· Создаются для каждого уведомляющего приложения 5.4.4 NSEventSubmitBatchEventClassName
![]()
· Предполагается, что внешние события уже лежат в виде записей в каких-то таблицах
· Пример SET @eventQuery = SELECT stocksymbol, stockprice from RDT1 UNION SELECT stocksymbol, stockprice from RDT2 SET @postQuery = DELETE RDT1 DELETE RDT2 SET @providerName=‘StockEP’ EXEC NSEventSubmitBatchStockEvent @providerName, @eventQuery, @postQuery 5.5 Архитектура обработки подписок После того, как события собраны в таблице, можно преступить к обработке подписки. Анализ принадлежности событий подпискам выполняет генератор. Чтобы сгенерировать оповещение, разработчик создаёт одно или более правил для каждого приложения. Эти правила представляют собой Transact-SQL запросы, которые определяют состав относящихся к подписке событий, а также все другие условия, которые должны быть выполнены при генерации оповещения. В простых реализациях, когда генератор отрабатывает правило, приложение просматривает все доступные подписки для текущего пакета событий. Когда отдельное событие соответствует отдельной подписке, генератор создает соответствующее оповещение. Оно содержит данные о событии, а также ссылки на подписчиков, данные об устройствах для получения информации подписчиков и другую подобную информацию, необходимую для рассылки оповещений.
![]() Созданное таким образом оповещение фактически не будет немедленно отослано подписчикам. Вместо этого, генератор записывает оповещения в специальную таблицу. Когда пакет оповещение готов к отправке, он форматируется и рассылается дистрибутором. Обработка оповещений может быть и более сложной, чем прямое сопоставление события подписке. Оповещения могут генерироваться в соответствии с преопределённым для подписки расписанием и могут использовать хронологические данные. Если приложение использует подписки с расписанием, при их обработке, генератор видит только те подписки, которые соответствуют этим расписаниям. Например, если генератор запускается каждые 15 минут, в 8:00 генератор обработает все подписки, расписание которых укладывается в диапазон между 7:45 и 8:00. Если приложение использует хронологические данные, оно может хранить данные в специальной таблице. Применяя правила, предписанные для приложения, приложение использует эту таблицу для того, чтобы хранить события или генерировать оповещения.
![]()
![]()
· Сопоставляет пришедшие события подпискам, чтобы определить, какие из них должны генерировать уведомления. SELECT StockNotificationNotify( S.SubscriberId, S.DeviceName, S.Locale, S.Symbol, E.Price) FROM StockEvents E, StockSubscriptions S WHERE E.Symbol = S.Symbol AND E.Price >= S.TriggerPrice
· Notify Function.
- NS генерирует уникальную функцию оповещения, которая программируется под каждый класс оповещений.
· Интервал времени, определяющий с какой частотой будут срабатывать системные функции Notification Services. <ApplicationExecutionSettings> <QuantumDuration>P0DT00H05M00S</QuantumDuration> ... </ApplicationExecutionSettings>
· Выбор кванта позволяет найти баланс между скоростью работы приложения и потреблением ресурсов. Оперируя генератором с помощью определённых на Transact-SQL сценариев логики работы приложения, можно создавать правила следующих двух типов:
· Subscription event rules – правила для подписанных событий. 5.5.5 Поддержка хроники событий
· Данные оповещений могут сохраняться в таблицах хроники после того, как оповещение было отправлено. 5.5.6 Последовательность срабатывания правил
· Как мы уже знаем, подписка может содержать несколько event rules и несколько scheduled rules.
· Когда нагрузка на генератор высока, он может не успеть обработать все, что полагается в этом кванте. 5.5.8 Функциональность генератора
Event-triggered subscriptions 5.6 Архитектура форматирования и рассылки оповещений Форматирование и рассылка оповещений выполняется дистрибутором. После того, как генератор создал пакет оповещений, дистрибутор считывает данные о подписчиках для каждого оповещения, определяя, какое требуется форматирование. После этого, дистрибутор соответствующим образом форматирует оповещение и посылает его, используя один из каналов доставки, например: SMTP сервер (Simple Mail Transfer Protocol).
![]() 5.6.1 Схема работы дистрибутора
![]()
· Для каждого Notification Class генератор подготавливает «сырые» оповещения
· Превращает «сырые» оповещения из таблиц SQL Server в сообщения, удобные для восприятия подписчиком. Сервис оповещений не занимается непосредственно доставкой оповещений. Он использует каналы доставки, которые являются внешними службами, такими, как SMTP сервер. Сервис оповещений посылает оповещения по одному или более каналам доставки, которые упаковывают оповещения в пакет соответствующего протокола и затем отсылают его по назначению. Сервисы доставки занимаются рассылкой самостоятельно. Сервис оповещений использует следующие, наиболее распространённые протоколы, которые обеспечивают стандартный набор каналов поставки для оповещающих приложений. Для каждого из этих протоколов может быть задано несколько каналов доставки:
· SMTP протокол для оповещений, рассылаемых через Microsoft Exchange Server или другой SMTP сервер. Чтобы обеспечить необходимую логику повторных попыток доставки, контроль эффективности и облегчить разрешение проблем, сервис оповещений хранит информацию о доставке в таблице оповещений. Каналы доставки имеют обратную связь, которая информирует об успешной или неудачной доставке каждого оповещения. При этом, обновляется таблица оповещений, в которой храниться такая информация. Вы можете настроить сервис оповещений так, что автоматически будут предприниматься повторные попытки неудавшейся доставки, причём, с заданной частотой и в заданный интервал времени, после чего оповещение будет помечено, как неудавшееся. В дополнение к стандартному форматированию типа сообщение - в - сообщение и соответствующей доставке, сервис оповещений предлагает вам ещё две опции: дайджест рассылка (группирующая в одном оповещении множество сообщений для отдельного подписчика) и мультикаст рассылка, которая посылает отдельное оповещение множеству подписчиков.
· Дайджест: когда несколько индивидуальных оповещений для данного подписчика комбинируются в одно. 5.6.5 Логика повторных попыток
· Обрабатывает сбои доставки. 5.6.6 Взаимодействие с Message Queuing и .NET Alerts Сервис оповещений и Microsoft .NET Alerts являются дополняющими друг друга технологиями. После того, как сервис оповещений создал оповещение, доставить его подписчикам может служба .NET Alerts Web, которая может использовать ряд устройств, таких, как e-mail, Microsoft Windows Messenger или мобильные телефоны. Сообщениями в очереди могут быть и события от оповещающего приложения, которые отправлены посредством MSMQ или Microsoft BizTalk через каналы доставки, используемые этим приложением. 5.6.7 Функциональность дистрибутора
Formatting
· Выбор модели форматирования (xslt или пользовательское). 5.7 Приложение управления подписками
· Пишется в виде: 5.7.1 Примеры существующих приложений управления подписками Система SmartDelivery, разработанная компанией Centerpost на основе платформы Microsoft .NET, осуществляет рассылку диалоговых оповещений и другой информации клиентам и своим служащим; используя голосовые сообщения, беспроводную связь, электронную почту, факс и Microsoft .NET Alerts.
![]() Другая система: MobileSys Network DeliveryChannel (MNDC) является приложением, работающим с Microsoft SQL Server 2000 Notification Services. MNDC позволяет рассылать ключевую информацию и предупреждения в виде оповещений от SQL Server по беспроводным линиям связи на обычные телефоны или мобильные устройства.
![]() ПРОДОЛЖЕНИЕ СЛЕДУЕТ Отечественные статьи
СИСТЕМА.ADO.OLEDB.JET.Access
Violation при передаче неполного параметра Новые технические статьи Microsoft
HOW TO:
Read and Write a File to and from a BLOB Column by Using Chunking in ADO.NET
and Visual Basic .NET
Building a Demo Server - Part 2 Moving Data Самые популярные темы недели
Boys &
Girls нужна информация для простой бд! Not associated with a trusted SQL Server connection??? error 2453 в свойствах расписания соответствующий чекбокс стоит на no end date ... Репликация (и ее снапшот) SyncML Как безболезненно поменять DBuser на DBRole?
|
#122<< #123 |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||