Ordinamento dei dati
|
|
A partire da ThingWorx 9.7, è disponibile l'ordinamento dei dati.
|
Lo streaming dei dati provenienti dai dispositivi sul campo permette di definire eventi e sottoscrizioni per la logica aziendale, l'elaborazione dati e così via. I dati elaborati tramite sottoscrizione vengono inseriti nel database supportato. L'elaborazione dati in ThingWorx viene eseguita in parallelo per supportare un'ampia gamma di oggetti e i valori delle proprietà associate.
Sebbene i dati vengano trasmessi in streaming a ThingWorx e vengano elaborati tramite eventi e sottoscrizioni, è necessario che i dati siano ordinati per l'elaborazione sequenziale degli eventi sulle proprietà. I dati elaborati devono inoltre essere inseriti nel database in ordine sequenziale.
Enunciato del problema
Se l'ordine dei dati viene perso, la generazione di eventi, le sottoscrizioni e, in definitiva, l'inserimento dei dati vengono compromessi. Questo scenario si verifica durante la disconnessione e riconnessione di Kepware, nell'impostazione a disponibilità elevata (in presenza del server connessioni per bilanciare le connessioni WebSocket). L'ordinamento dei dati è supportato nelle distribuzioni a server singolo e a disponibilità elevata.
Soluzione
L'ordinamento dei dati consente di effettuare le operazioni riportate di seguito.
• Per il server connessioni, mantenere la coerenza per uno specifico oggetto alla coppia di ID ThingWorx e ID di canale WebSocket (WS). Ciò garantisce che gli aggiornamenti dei valori delle proprietà per un determinato oggetto vengano sempre inviati a specifici canali WebSocket e ThingWorx.
• eMessage Connector(eMC) utilizza internamente il server connessioni per comunicare con ThingWorx Platform. Le modifiche per il server connessioni aiutano eMessage Connector(eMC) a inviare i dati ordinati a ThingWorx.
• In ThingWorx Platform implementare l'attore Akka per oggetto. Con ogni valore della proprietà in arrivo per un oggetto, viene creato un attore e il valore della proprietà viene sottoposto a push nella casella di posta dell'attore. L'attore Akka quindi estrae i messaggi dalla coda e li elabora in sequenza, garantendo l'elaborazione ordinata dei dati lato piattaforma.
• Per attivare l'ordinamento dei dati in BasicSettings nel file platform-settings.json, è possibile utilizzare l'impostazione riportata di seguito.
Impostazione | Tipo | Valore | Valore di default |
|---|
EnableDataOrdering | BOOLEAN | true O false | false |
• La metrica thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled nell'endpoint /Metrics consente di monitorare l'impostazione dell'ordinamento dei dati:
Nome metrica | Tipo | Esempio |
|---|
thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled | indicatore | # HELP thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled Data ordering enabled # TYPE thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled gauge thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled{prefix="Platform.Core.Subsystems",category="WSExecutionProcessingSubsystem",platformid=""} 0.0 |
| L'ordinamento di eventi è una funzionalità fornita e disponibile nella versione 9.5. Per attivare questa configurazione nella definizione della sottoscrizione, fare clic su Execute Events Sequentially. |
Impatto degli altri componenti
• Java e C SDK possono inviare i valori delle proprietà a ThingWorx con le seguenti API:
VirtualThing.setProperty()
VirtualThing.updateSubscribedProperties();
Utilizzando le API precedenti, le proprietà vengono inviate a ThingWorx Platform in sequenza.
• Per ottenere l'ordinamento dei dati, se un server connessioni si trova dietro il servizio di bilanciamento del carico, è necessario modificare la configurazione del servizio di bilanciamento del carico per garantire la coerenza. Senza questi dati, non è possibile ottenere l'ordinamento.
• Le correzioni all'ordinamento dei dati sono disponibili nei componenti seguenti:
◦ Connection Server 9.3.0 e versioni successive
◦ eMessage Connector 2.5.0 e versioni successive
◦ Kepware 6.16 e versioni successive
Vantaggi
L'ordinamento dei dati offre i vantaggi riportati di seguito.
• I dati vengono elaborati in ordine garantendo un'archiviazione e un'elaborazione affidabili.
• Permette ai clienti di scegliere tra un'elaborazione ad alta capacità di throughput e un'elaborazione serializzata e ordinata dei dati.
• Consente alle soluzioni ThingWorx, che acquisiscono dati da Kepware, di ricevere ed elaborare i dati in modo ordinato.