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).
Soluzione
In ThingWorx 9.6 sono state introdotte le seguenti modifiche:
1. 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.
2. 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.
3. 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.
4. Viene visualizzato un nuovo flag per attivare l'ordinamento dei dati nel file BasicSettings platform-settings.json.
Impostazione
Tipo
Valore
Valore di default
EnableDataOrdering
BOOLEAN
true O false
false
* 
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.
È stato utile?