Freigeben über


Angeben von Digest- oder Multicastübermittlung

Notification Services stellt zwei Optionen für das Aggregieren von Benachrichtigungen bereit: Digest- und Multicastübermittlung. Bei der Digestübermittlung werden die Nachrichten für einen einzelnen Abonnenten in einer Nachricht kombiniert. Die Multicastübermittlung spart Inhaltsformatierer-Ressourcen, indem erkannt wird, wenn die gleiche Benachrichtigung an viele Abonnenten gesendet wird, und indem dann die Benachrichtigung einmal formatiert und anschließend gesendet wird.

ms172624.note(de-de,SQL.90).gifWichtig:
Sie können entweder die Digestübermittlung oder die Multicastübermittlung verwenden, aber nicht beides.

In diesem Thema werden die Digest- und Multicastübermittlung sowie die Vorgehensweise zur Konfiguration dieser Optionen beschrieben.

Digestübermittlung

Einige Anwendungen generieren möglicherweise mehrere Benachrichtigungen für einen einzelnen Abonnenten innerhalb des gleichen Benachrichtigungsbatches. Zur Reduzierung der Anzahl der Nachrichten, die an einzelne Abonnenten gesendet werden, können Sie die Digestübermittlung aktivieren. Diese kombiniert ähnliche Benachrichtigungen in einer Digestnachricht.

Wird die Digestübermittlung für eine Benachrichtigungsklasse aktiviert, werden alle Benachrichtigungen innerhalb eines einzelnen Benachrichtigungsbatches für die Digestübermittlung berücksichtigt. Für alle Benachrichtigungen in einem Batch, die die gleiche Abonnenten-ID, das gleiche Gebietsschema, das gleiche Gerät und die gleichen Daten in digestfähigen Benachrichtigungsfeldern aufweisen, kombiniert Notification Services die einzelnen Benachrichtigungen in einer Digestbenachrichtigung und sendet dann alle diese Daten an den Inhaltsformatierer. Dieser gibt ein einzelnes formatiertes Ergebnis zurück.

Die erste Benachrichtigung in dem Satz, der die Digestbenachrichtigung bildet, wird als Digest-Kopfteilbenachrichtigung bezeichnet. Die übrigen Benachrichtigungen werden als Digest-Nachspannbenachrichtigungen bezeichnet. Der Nachrichtentext besteht aus den aggregierten Informationen aus allen Benachrichtigungen.

Die folgende Tabelle stellt eine vereinfachte Benachrichtigungstabelle für eine Benachrichtigungsklasse dar. In dieser Benachrichtigungsklasse ist für das State-Feld die Digestgruppierungseigenschaft auf true festgelegt. Daher werden ihre Felder zum Bestimmen der Digestgruppierung verwendet. Die fett formatierten Zeilen stellen Benachrichtigungen dar, die in einer Digestnachricht kombiniert werden.

NotificationId SubscriberId DeviceName SubscriberLocale City State

1

Bob

E-Mail

en-US

Seattle

WA

2

Alan

E-Mail

en-US

Seattle

WA

3

Bob

E-Mail

en-US

Spokane

WA

4

Bob

E-Mail

en-US

San Francisco

CA

5

Bob

File

en-US

Tacoma

WA

In diesem Beispiel müssen die Werte in den Spalten SubscriberId, DeviceName, SubscriberLocale und State identisch sein, damit Notification Services Benachrichtigungen in einem Digest kombiniert. Den Übereinstimmungskriterien entsprechen die Benachrichtigungen 1 und 3. Sie werden in einem Digest kombiniert. Die Benachrichtigung 2 ist für einen anderen Abonnenten bestimmt, die Benachrichtigung 4 weist einen anderen Wert für State auf, und die Benachrichtigung 5 ist für ein anderes Gerät bestimmt. Daher werden diese Benachrichtigungen basierend auf den Daten in dieser Tabelle nicht kombiniert.

So aktivieren Sie die Digestübermittlung

Wenn Sie eine Anwendung mithilfe von XML definieren, aktivieren Sie die Digestübermittlung im NotificationClass-Element der Anwendungsdefinitionsdatei (ADF, Application Definition File). Wenn Sie eine Anwendung programmgesteuert definieren, verwenden Sie Notification Services Management Objects (NMO) zum Aktivieren der Digestübermittlung.

Multicastübermittlung

ms172624.note(de-de,SQL.90).gifHinweis:
Die Multicastübermittlung wird in SQL Server 2005 Standard Edition nicht unterstützt.

Wenn es wahrscheinlich ist, dass Ihre Anwendung für mehrere Abonnenten die gleichen Benachrichtigungsdaten generiert, können Sie die Multicastübermittlung aktivieren, damit der Inhaltsformatierer eine Benachrichtigung einmal formatiert und anschließend an eine Liste von Abonnenten sendet.

Für Benachrichtigungsklassen, für die die Multicastübermittlung aktiviert ist, führt der Verteiler die folgenden Aktionen aus, um Multicastbenachrichtigungen zu formatieren:

  1. Der Verteiler sortiert die Zeilen der Tabelle nach den Werten für Gerät, Gebietsschema und Benachrichtigungsfelder.
  2. Der Verteiler beginnt mit dem Lesen von Zeilen. So lange die Werte der relevanten Spalten identisch sind, fügt der Verteiler die Abonnenteninformationen der Multicastliste hinzu. Sie können die Anzahl der Abonnenten für jede Multicastnachricht beschränken. Weitere Informationen finden Sie unter Angeben des Namens und der Felder des Übermittlungsprotokolls.
  3. Sobald der Verteiler eine Zeile mit unterschiedlichen Werten für die relevanten Spalten feststellt, übergibt er den vorherigen Satz der Spaltenwerte an den Inhaltsformatierer und reicht die formatierte Ausgabe zusammen mit der Abonnentenliste an das Übermittlungsprotokoll weiter.

Die folgende Tabelle enthält die gleichen Benachrichtigungsdaten, die zum Veranschaulichen der Digestübermittlung verwendet wurden. Dieses Mal werden das Gerät, das Gebietsschema und alle Benachrichtigungsfelder verwendet, um zu bestimmen, welche Benachrichtigungen als Multicast übermittelt werden.

NotificationId SubscriberId DeviceName SubscriberLocale City State

1

Bob

E-Mail

en-US

Seattle

WA

2

Alan

E-Mail

en-US

Seattle

WA

3

Bob

E-Mail

en-US

Spokane

WA

4

Bob

E-Mail

en-US

San Francisco

CA

5

Bob

File

en-US

Tacoma

WA

Die Benachrichtigungen 1 und 2 enthalten identische Daten für City und State, sind jedoch für unterschiedliche Abonnenten bestimmt. Wenn die Multicastübermittlung aktiviert ist, formatiert Notification Services die Benachrichtigung 1 und sendet dann die formatierte Nachricht mit der Empfängerliste (Bob und Alan) an das Übermittlungsprotokoll. Da die Benachrichtigungen 3, 4 und 5 jedoch eindeutige Daten für City und State enthalten, werden diese Benachrichtigungen nicht als Multicast übermittelt.

Überlegungen zu Multicast

Die Multicastübermittlung ist für Abonnenten transparent. Das Netzwerkprotokoll, das zum Senden der Benachrichtigungsnachrichten verwendet wird, muss Multicasting nicht unterstützen.

Wenn die Multicastübermittlung aktiviert ist, empfängt das Übermittlungsprotokoll die formatierte Nachricht einmal mit einer Liste der Abonnenteninformationen. Das Übermittlungsprotokoll muss in der Lage sein, die Empfängerliste zu verwenden, um die formatierte Nachricht an mehrere Abonnenten zu senden. Hierzu kann es entweder eine einzelne Nachricht senden, wenn das Netzwerkprotokoll echte Multicastübermittlung unterstützt, oder einfach durch die Abonnentenliste iterieren und die gleiche Nachricht an jeden Abonnenten senden.

Die Standardübermittlungsprotokolle unterstützen die Multicastübermittlung. Wenn Sie Übermittlungsprotokolle von Drittanbietern verwenden, wenden Sie sich an den Entwickler, um zu bestimmen, ob das jeweilige Übermittlungsprotokoll Multicast unterstützt.

Damit die Multicastübermittlung ordnungsgemäß funktioniert, dürfen Multicastbenachrichtigungen außerdem keine abonnentenspezifischen Informationen enthalten, da die gleiche formatierte Ausgabe an viele Abonnenten gesendet wird. Der Verteiler übergibt keine Empfängerinformation an den Inhaltsformatierer. Wenn der Inhaltsformatierer so programmiert ist, dass er Empfängerinformationen für die Formatierung verwendet, wird ein Fehler erzeugt.

Notification Services verhindert jedoch nicht die Integration von abonnentenspezifischen Informationen aus externen Datenquellen in die Benachrichtigungsdaten während des Formatierungsprozesses. Stellen Sie sicher, dass die externen Informationen, die der Inhaltsformatierer den Benachrichtigungsdaten hinzufügt, nicht empfängerspezifisch sind.

So aktivieren Sie die Multicastübermittlung

Wenn Sie eine Anwendung mithilfe von XML definieren, aktivieren Sie die Multicastübermittlung im NotificationClass-Element der Anwendungsdefinitionsdatei (ADF). Wenn Sie eine Anwendung programmgesteuert definieren, verwenden Sie NMO, um die Multicastübermittlung zu aktivieren.

Siehe auch

Konzepte

Entwickeln eines benutzerdefinierten Inhaltsformatierers
Entwickeln eines benutzerdefinierten Übermittlungsprotokolls
Definieren des Benachrichtigungsschemas
Konfigurieren von Inhaltsformatierern
Angeben einer Benachrichtigungsbatchgröße
Angeben des Benachrichtigungsablaufalters
Angeben des Namens und der Felder des Übermittlungsprotokolls

Andere Ressourcen

Definieren von Benachrichtigungsklassen
Konfigurieren von Übermittlungsprotokollen
Definieren von Benachrichtigungsklassen
Definieren von Notification Services-Anwendungen

Hilfe und Informationen

Informationsquellen für SQL Server 2005