Impostazione dell'ordine di elaborazione degli eventi

Notification Services offre due opzioni per determinare la modalità di elaborazione delle regole dell'applicazione. È possibile specificare se le regole vengono eseguite una volta ogni periodo di quantum del generatore oppure ogni volta che arriva un batch di eventi. Queste due opzioni sono denominate sequenzialità basata su quantum e sequenzialità basata su subquantum, rispettivamente. Queste due opzioni consentono di scegliere tra il recupero di dati rigorosamente esatti e prestazioni ottimali del generatore. Per impostazione predefinita, Notification Services utilizza la sequenzialità basata su quantum. Per ulteriori informazioni sui quantum del generatore, vedere Specificazione della durata dei quantum del generatore.

Sequenzialità basata su quantum

In questa modalità, Notification Services esegue le regole una volta ogni quantum del generatore con l'ordine seguente:

  1. Regole di cronologia degli eventi
  2. Regole di sottoscrizione guidate dagli eventi
  3. Regole di sottoscrizione pianificate

Se arrivano più batch di eventi durante il quantum, Notification Services esegue le regole di cronologia degli eventi e le regole di sottoscrizione guidate dagli eventi su tutti tali batch di eventi in un'unica operazione, come se tutti gli eventi facessero parte dello stesso batch.

Tutte le sottoscrizioni pianificate da elaborare durante il quantum vengono elaborate una sola volta alla fine del periodo di quantum.

Raggruppando tutti gli eventi arrivati durante il quantum e tutte le sottoscrizioni pianificate previste durante il quantum, l'applicazione può ottenere prestazioni significativamente migliori con l'utilizzo dei batch. Questi vantaggi in termini di prestazioni implicano tuttavia una minore precisione nell'ordinamento. Se tale caratteristica non è un requisito importante per l'applicazione, utilizzare la sequenzialità basata su quantum.

Sequenzialità basata su subquantum

In alcuni casi, è necessario garantire che tutti i batch di eventi vengano elaborati singolarmente e nell'ordine in cui sono stati ricevuti, nonché che le sottoscrizioni pianificate utilizzino esclusivamente i dati arrivati prima dell'elaborazione della sottoscrizione pianificata. In tal caso, è necessario utilizzare la sequenzialità basata su subquantum.

Questa modalità consente di elaborare gli eventi e le sottoscrizioni come segue:

  1. Prima di elaborare il primo batch di eventi, Notification Services esegue le regole pianificate per le sottoscrizioni pianificate da elaborare prima dell'arrivo del primo batch di eventi.
  2. Notification Services esegue quindi le regole per ogni batch di eventi nell'ordine di arrivo:
    1. Regole di cronologia degli eventi
    2. Regole di sottoscrizione guidate dagli eventi
    3. Regole di sottoscrizione pianificate

Al termine dell'elaborazione di tutti i batch di eventi, Notification Services esegue le regole di sottoscrizione pianificate per tutte le sottoscrizioni da eseguire dopo l'arrivo dell'ultimo batch di eventi.

Illustrazione della sequenzialità basata su quantum e su subquantum

Nella figura riportata di seguito vengono illustrati otto quantum del generatore. Durante questi otto quantum, arrivano 12 batch di eventi e devono essere elaborate 12 sottoscrizioni pianificate.

Funzionamento della sequenzialità basata su quantum

Esempio di tempistica di elaborazione di regole di cronologia degli eventi e regole di sottoscrizione

Il generatore elabora i 12 batch di eventi e le 12 sottoscrizioni pianificate in modo diverso a seconda dell'ordine di elaborazione degli eventi specificato. Nella tabella riportata di seguito è illustrato come il generatore elabora ogni quantum.

Quantum Sequenzialità basata su quantum Sequenzialità basata su subquantum

Elaborazione quantum 1

I batch di eventi E1, E2 ed E3 vengono elaborati insieme.

Nessuna sottoscrizione pianificata (a tempo) da elaborare.

I batch di eventi E1, E2 ed E3 vengono elaborati in sequenza.

Nessuna sottoscrizione pianificata (a tempo) da elaborare.

Elaborazione quantum 2

I batch di eventi E4 ed E5 vengono elaborati insieme.

La sottoscrizione pianificata T1 viene elaborata.

I batch di eventi E4 ed E5 vengono elaborati in sequenza.

La sottoscrizione pianificata T1 viene elaborata.

Elaborazione quantum 3

I batch di eventi E6 ed E7 vengono elaborati insieme.

La sottoscrizione pianificata T2 viene elaborata.

Il batch di eventi E6 viene elaborato.

La sottoscrizione pianificata T2 viene elaborata.

Il batch di eventi E7 viene elaborato.

Elaborazione quantum 4

Il batch di eventi E8 viene elaborato.

Le sottoscrizioni pianificate T3 e T4 vengono elaborate insieme.

Il batch di eventi E8 viene elaborato.

Le sottoscrizioni pianificate T3 e T4 vengono elaborate insieme.

Elaborazione quantum 5

I batch di eventi E9 ed E10 vengono elaborati insieme.

La sottoscrizione pianificata T5 viene elaborata.

La sottoscrizione pianificata T5 viene elaborata.

I batch di eventi E9 ed E10 vengono elaborati in sequenza.

Elaborazione quantum 6

Il batch di eventi E11 viene elaborato.

Le sottoscrizioni pianificate T6 e T7 vengono elaborate insieme.

La sottoscrizione pianificata T6 viene elaborata.

Il batch di eventi E11 viene elaborato.

La sottoscrizione pianificata T7 viene elaborata.

Elaborazione quantum 7

Il batch di eventi E12 viene elaborato.

Le sottoscrizioni pianificate T8 e T9 vengono elaborate insieme.

Le sottoscrizioni pianificate T8 e T9 vengono elaborate insieme.

Il batch di eventi E12 viene elaborato.

Elaborazione quantum 8

Non sono presenti batch di eventi da elaborare.

Le sottoscrizioni pianificate T10, T11 e T12 vengono elaborate insieme.

Non sono presenti batch di eventi da elaborare.

Le sottoscrizioni pianificate T10, T11 e T12 vengono elaborate insieme.

Configurazione della sequenzialità basata su quantum o subquantum

Per configurare la sequenzialità basata su subquantum, è necessario impostare la proprietà ProcessEventsInOrder su true. La sequenzialità basata su quantum è l'opzione predefinita, pertanto è possibile impostare la proprietà ProcessEventsInOrder su false oppure escludere la proprietà dalla definizione dell'applicazione.

Per configurare la sequenzialità basata su quantum o subquantum

Vedere anche

Concetti

Specificazione delle impostazioni di esecuzione dell'applicazione
Specificazione della durata dei quantum del generatore
Definizione delle regole di cronologia degli eventi
Definizione delle regole di sottoscrizione
Definizione delle regole eventi
Definizione delle regole pianificate

Guida in linea e informazioni

Assistenza su SQL Server 2005