Angeben von Quantumgrenzen

Vom Generator wird eine eigene Uhr in Notification Services verwaltet, die Zeit in Intervalle unterteilt. Jeder dieser Zeitintervalle wird als ein Quantum bezeichnet. Wenn Sie eine Anwendung definieren, konfigurieren Sie die Intervalllänge.

Da die Regelverarbeitung hinter der Systemuhr zurückliegen kann, können Sie eine Generatorquantumgrenze definieren. Von dieser Quantumgrenze wird bestimmt, wie weit die Quantumuhr des Generators im Vergleich zur Systemuhr nachgehen kann, bevor die Verarbeitung einiger Regeln von Notification Services ausgelassen werden kann.

Quantumuhr des Generators

Wenn die Anwendung zum ersten Mal gestartet wird, werden die Quantumuhr des Generators und die Systemuhr synchronisiert. Falls das Generatorquantumintervall 5 Minuten beträgt, löst der Generator alle fünf Minuten Regeln aus und verarbeitet alle Ereignisse und geplanten Abonnements, die während der letzten fünf Minuten verarbeitet werden sollten.

Wenn die Instanz, die Anwendung oder der Generator beendet oder deaktiviert wird oder wenn das Auslösen aller Regeln in einem bestimmten Quantum länger dauert als die Quantumdauer, liegt die Quantumuhr des Generators hinter der Echtzeituhr zurück.

Wenn die Generatorquantumuhr nachgeht, wird auch das Auslösen von Ereignisverlaufsregeln und Abonnementregeln durch Notification Services verzögert. Regeln werden von Notification Services weiterhin so schnell wie möglich ausgelöst und Daten verarbeitet, abhängig von der Höhe der Verspätung der Quantumuhr des Generators kann es jedoch eine Weile dauern, bis die Zeit aufgeholt werden kann.

Generatorquantumgrenzen

Sie können angeben, welche Verzögerung für die Quantumuhr des Generators gegenüber den Ereignisverlaufsregeln und Abonnementregeln zulässig ist. Sie können z. B. angeben, dass die Anwendung nur vier Quanten für Ereignisverlaufsregeln und zwei Quanten für Abonnementregeln zurückliegen darf. Wenn die Anwendung so weit zurückliegt, dass diese Grenzen überschritten werden, wird damit begonnen, Regelauslösungen auszulassen, bis die Grenzen wieder unterschritten werden. In diesem Fall lässt Notification Services beim Neustart des Generators das Auslösen von Ereignisverlaufsregeln für alle Quanten mit Ausnahme von vier Quanten und das Auslösen von Abonnementregeln für alle Quanten mit Ausnahme von zwei Quanten aus.

Wenn der Generator Ereignisverlaufsregeln auslässt, werden Ereignisbatches, die während der ausgelassenen Quanten ankamen, nicht verarbeitet. Wenn der Generator Abonnementregeln auslässt, werden von der Anwendung keine Benachrichtigungen für Ereignisse generiert, die während der ausgelassenen Quanten ankamen, und es werden keine Benachrichtigungen für geplante Abonnements generiert, die in den ausgelassenen Quanten fällig waren.

Abbildung der Quantumgrenzen

In der folgenden Abbildung wurde der Generator neu gestartet und lag acht Quanten hinter der Echtzeituhr zurück. Die Verlaufsquantumgrenze ist auf 4 festgelegt, die Abonnementregelgrenze auf 2. Wenn der Generator gestartet wird, werden nur die letzten vier Ereignisverlaufsregeln und die letzten beiden Abonnementregeln verarbeitet.

Auswirkungen von Quantumgrenzen

Beispielzeitachse für Ereignisse und Abonnements

Vom Generator werden die Ereignisverlaufsregeln für die Ereignisbatches (E9 - E12) verarbeitet, die in den Quanten 5 bis 8 angekommen sind. Dies sind die letzten vier Quanten.

Vom Generator werden außerdem die Abonnementregeln für alle Abonnements verarbeitet, deren Verarbeitung in den Quanten 7 und 8 fällig ist. Dies sind die letzten beiden Quanten. Die Abonnementregeln werden für alle Abonnements, die vor Quantum 7 verarbeitet werden sollten, ausgelassen, und es werden keine Benachrichtigungen generiert.

Bestimmen von Quantumgrenzwerten

Beim Bestimmen der Werte für die Generatorquantumgrenzen müssen Sie einen Kompromiss zwischen dem Bedarf an zeitnahen Benachrichtigungen und dem Wert der Verarbeitung alter Daten finden. Wenn Sie zeitnahe Benachrichtigungen benötigen, legen Sie eine niedrige Grenze, z. B. 1, fest. Legen Sie einen Grenzwert von 0 fest, wenn Sie alle Ereignisbatches und Abonnements verarbeiten müssen.

Wenn Sie den Grenzwert auf der Grundlage der Uhrzeit festlegen möchten, dividieren Sie die gewünschte Zeit durch die Generatorquantumdauer. Wenn die Anwendung nicht mehr als 60 Minuten hinter der Echtzeituhr liegen soll und die Quantumdauer 5 Minuten beträgt, dividieren Sie 60 durch fünf. Dies ergibt eine Quantumgrenze von 12.

Der Wert 0 gibt an, dass keine Quantumgrenze verwendet wird. Von Notification Services wird die Verarbeitung aller Quanten versucht.

Die Standardquantumgrenze liegt bei 1440 Quanten. Wenn die Quantumdauer eine Minute beträgt, ist die Standardquantumgrenze daher auf einen Tag festgelegt.

So legen Sie die Quantumgrenze für Ereignisverlaufsregeln fest

  • Wenn Sie eine Anwendung über XML definieren, legen Sie die Quantumgrenze für Ereignisverlaufsregeln mithilfe von ChronicleQuantumLimit Element (ADF) fest.
  • Wenn Sie eine Anwendung programmgesteuert definieren, legen Sie die Quantumgrenze für Ereignisverlaufsregeln mithilfe der ChronicleQuantumLimit-Eigenschaft (NMO) fest.

So legen Sie die Quantumgrenze für Abonnementregeln fest

  • Wenn Sie eine Anwendung über XML definieren, legen Sie die Quantumgrenze für Abonnementregeln mithilfe von SubscriptionQuantumLimit Element (ADF) fest.
  • Wenn Sie eine Anwendung programmgesteuert definieren, legen Sie die Quantumgrenze für Abonnementregeln mithilfe der SubscriptionQuantumLimit-Eigenschaft (NMO) fest.

Siehe auch

Verweis

ChronicleQuantumLimit
SubscriptionQuantumLimit

Konzepte

Angeben von Einstellungen für die Anwendungsausführung
Angeben der Ereignisverarbeitungsreihenfolge

Andere Ressourcen

ChronicleQuantumLimit Element (ADF)
SubscriptionQuantumLimit Element (ADF)

Hilfe und Informationen

Informationsquellen für SQL Server 2005