Impostazione del recapito digest o multicast
In Notification Services sono disponibili due opzioni per l'aggregazione delle notifiche: il recapito digest e il recapito multicast. Il recapito digest consente di includere i messaggi per un unico sottoscrittore in un unico messaggio. Il recapito multicast consente di risparmiare le risorse del formattatore del contenuto riconoscendo quando la stessa notifica è indirizzata a più sottoscrittori, formattandola una sola volta e quindi inviandola.
Importante: |
---|
È possibile utilizzare il recapito digest o multicast, ma non entrambi. |
In questo argomento verranno descritti il recapito digest e il recapito multicast e verrà illustrato come configurare queste opzioni.
Recapito digest
Alcune applicazioni possono generare varie notifiche per un unico sottoscrittore appartenenti allo stesso batch di notifiche. Per ridurre il numero di messaggi inviati ai singoli sottoscrittori, è possibile attivare il recapito digest, che consente di combinare notifiche simili in un unico messaggio digest.
Quando il recapito digest è attivato per una classe di notifica, tutte le notifiche appartenenti a un batch di notifiche vengono considerate per il recapito digest. Per tutte le notifiche di un batch con lo stesso ID del sottoscrittore, le stesse impostazioni internazionali, lo stesso dispositivo e gli stessi dati in tutti i campi di notifica attivati per il recapito digest, Notification Services combina le singole notifiche in una notifica digest e quindi invia tutti i dati al formattatore del contenuto, che restituisce un unico risultato formattato.
La prima notifica dell'insieme che forma la notifica digest viene definita notifica head del digest, mentre le altre vengono definite notifiche trailer del digest. Il corpo del messaggio è composto dalle informazioni aggregate provenienti da tutte le notifiche.
Nella tabella riportata di seguito è rappresentata una tabella di notifica semplificata per una classe di notifica. In questa classe di notifica il campo State ha la proprietà di raggruppamento digest impostata su true, pertanto i relativi campi vengono utilizzati per determinare il raggruppamento digest. Le righe in grassetto indicano le notifiche che verranno combinate in un messaggio digest.
NotificationId | SubscriberId | DeviceName | SubscriberLocale | City | State |
---|---|---|---|---|---|
1 |
Bob |
en-US |
Seattle |
WA |
|
2 |
Alan |
en-US |
Seattle |
WA |
|
3 |
Bob |
en-US |
Spokane |
WA |
|
4 |
Bob |
en-US |
San Francisco |
CA |
|
5 |
Bob |
file |
en-US |
Tacoma |
WA |
In questo esempio i valori delle colonne SubscriberId, DeviceName, SubscriberLocale e State devono essere identici affinché Notification Services inserisca le notifiche in un digest. Le notifiche 1 e 3 soddisfano i criteri di corrispondenza e verranno combinate in un digest. La notifica 2 è per un sottoscrittore diverso, la 4 per uno stato diverso e la 5 per un dispositivo diverso, pertanto tali notifiche non verranno aggregate in base ai dati presenti in questa tabella.
Per attivare il recapito digest
Se si desidera definire un'applicazione tramite XML, è possibile attivare il recapito digest nell'elemento NotificationClass del file di definizione dell'applicazione (ADF). Se l'applicazione viene definita a livello di programmazione, utilizzare gli oggetti NMO (Notification Services Management Objects) per attivare il recapito digest.
Recapito multicast
[!NOTA] Il recapito multicast non è supportato in SQL Server 2005 Standard Edition.
Se si prevede che l'applicazione generi gli stessi dati di notifica per più sottoscrittori, è possibile attivare il recapito multicast, in modo che il formattatore del contenuto formatti una notifica una sola volta e quindi la invii a un elenco di sottoscrittori.
Per le classi di notifica con il recapito multicast attivato, il server di distribuzione esegue le operazioni seguenti di formattazione delle notifiche multicast:
- Il server di distribuzione ordina le righe della tabella in base ai valori dei campi del dispositivo, delle impostazioni internazionali e delle notifiche.
- Il server di distribuzione inizia la lettura delle righe. Quando i valori delle colonne significative corrispondono, il server di distribuzione aggiunge le informazioni del sottoscrittore all'elenco multicast. È possibile limitare il numero di sottoscrittori per ogni messaggio multicast. Per ulteriori informazioni, vedere Impostazione del nome e dei campi del protocollo di recapito.
- Quando il server di distribuzione incontra una riga con valori diversi nelle colonne significative, passa l'insieme precedente di valori di colonna al formattatore del contenuto e trasmette l'output formattato, insieme all'elenco dei sottoscrittori, al protocollo di recapito.
Nella tabella riportata di seguito vengono illustrati gli stessi dati di notifica utilizzati per illustrare il recapito digest. In questo caso, vengono utilizzati i campi relativi al dispositivo, alle impostazioni internazionali e a tutte le notifiche per determinare le notifiche multicast.
NotificationId | SubscriberId | DeviceName | SubscriberLocale | City | State |
---|---|---|---|---|---|
1 |
Bob |
en-US |
Seattle |
WA |
|
2 |
Alan |
en-US |
Seattle |
WA |
|
3 |
Bob |
en-US |
Spokane |
WA |
|
4 |
Bob |
en-US |
San Francisco |
CA |
|
5 |
Bob |
file |
en-US |
Tacoma |
WA |
Le notifiche 1 e 2 hanno gli stessi dati nei campi City e State, ma sono destinate a sottoscrittori diversi. Se il recapito multicast è attivato, Notification Services formatterà la notifica 1 e invierà il messaggio formattato con l'elenco dei destinatari (Bob e Alan) al protocollo di recapito. Tuttavia, poiché le notifiche 3, 4 e 5 non contengono gli stessi valori nei campi City e State , tali notifiche non verranno considerate multicast.
Considerazioni sul recapito multicast
Il recapito multicast è trasparente ai sottoscrittori. Non è necessario che il protocollo di rete effettivo utilizzato per inviare i messaggi di notifica supporti il multicasting.
Quando il recapito multicast è attivato, il protocollo di recapito riceve il messaggio formattato una sola volta con un elenco delle informazioni dei sottoscrittori. Il protocollo di recapito deve essere in grado di utilizzare l'elenco dei destinatari per inviare il messaggio formattato a più sottoscrittori. Per eseguire questa operazione, invia un messaggio singolo, se il protocollo di rete supporta effettivamente il recapito multicast, o scorre semplicemente l'elenco dei sottoscrittori e invia lo stesso messaggio a ogni sottoscrittore.
I protocolli di recapito standard supportano il recapito multicast. Se si utilizzano protocolli di recapito di terze parti, contattare il produttore per stabilire se il protocollo supporti il recapito multicast.
Inoltre, affinché il recapito multicast funzioni correttamente, le notifiche multicast non devono contenere informazioni specifiche del sottoscrittore, in quanto lo stesso messaggio formattato verrà inviato a vari sottoscrittori. Il server di distribuzione non passa le informazioni sul destinatario al formattatore del contenuto. Se il formattatore del contenuto è programmato per utilizzare le informazioni del destinatario, non funzionerà correttamente.
Notification Services non consente tuttavia di evitare l'inserimento nei dati delle notifiche di informazioni specifiche del sottoscrittore provenienti da origini dei dati esterne durante il processo di formattazione. Assicurarsi che le eventuali informazioni esterne aggiunte dal formattatore del contenuto ai dati delle notifiche non siano specifiche del sottoscrittore.
Per attivare il recapito multicast
Se si desidera definire un'applicazione tramite XML, è possibile attivare il recapito multicast nell'elemento NotificationClass del file di definizione dell'applicazione (ADF). Se l'applicazione viene definita a livello di programmazione, utilizzare gli oggetti NMO per attivare il recapito multicast.
Vedere anche
Concetti
Sviluppo di un formattatore del contenuto personalizzato
Sviluppo di un protocollo di recapito personalizzato
Definizione dello schema delle notifiche
Configurazione dei formattatori del contenuto
Specificazione delle dimensioni dei batch di notifica
Impostazione della scadenza di una notifica
Impostazione del nome e dei campi del protocollo di recapito
Altre risorse
Definizione delle classi di notifica
Configurazione dei protocolli di recapito
Definizione delle classi di notifica
Definizione di applicazioni di Notification Services