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.
È stato utile?