Clasificación de datos
Con los datos de flujo de dispositivos en el campo, existen eventos y suscripciones para la lógica empresarial, el procesamiento de datos, etc. Los datos procesados mediante la suscripción se consumen en la base de datos soportada. El procesamiento de datos de ThingWorx se ejecuta en paralelo para soportar muchas cosas y valores de propiedades asociadas.
Aunque los datos se transmiten a ThingWorx y se procesan a través de eventos y suscripciones, se esperan datos ordenados para el procesamiento secuencial de eventos en las propiedades. Los datos procesados también se deben ingerir en orden secuencial en la base de datos.
Sentencia del problema
Si se pierde el orden de los datos, afecta a la generación de eventos, las suscripciones y, en última instancia, la ingesta de datos. Este escenario se observa durante la desconexión y reconexión de Kepware, en la configuración de alta disponibilidad (en presencia de Connection Server para equilibrar las conexiones WebSocket).
Solución
En ThingWorx 9.6, se introducen los siguientes cambios:
1. Para Connection Server, mantenga la permanencia para una cosa concreta en un par de ID de ThingWorx e ID de canal de Websocket (WS). De este modo, se garantiza que las actualizaciones del valor de la propiedad para una cosa concreta se envían siempre a canales específicos de WebSocket y específicos de ThingWorx.
2. eMessage Connector utiliza internamente el servidor de conexión para comunicarse con ThingWorx Platform. Los cambios para el servidor de conexión ayudan a eMessage Connector(eMC) a enviar datos ordenados a ThingWorx.
3. En ThingWorx Platform, implemente el actor Akka por cosa. Con cada valor de propiedad entrante para una cosa, se crea un actor y el valor de la propiedad se inserta en el buzón de correo del actor. A continuación, el actor Akka extrae los mensajes de la cola y los procesa secuencialmente, garantizando el procesamiento ordenado de los datos en el lado de la plataforma.
4. Se expone un nuevo señalizador para activar el pedido de datos en BasicSettings de platform-settings.json.
Configuración
Tipo
Valor
Valor por defecto
EnableDataOrdering
BOOLEAN
true O false
false
* 
La clasificación de eventos es una funcionalidad que se entrega y está disponible en la versión 9.5. Para activar esta configuración en la definición de la suscripción, pulse en Execute Events Sequentially.
Impacto de otro componente
El SDK de Java y C puede enviar valores de propiedad a ThingWorx con las siguientes API:
VirtualThing.setProperty()
VirtualThing.updateSubscribedProperties();
Con las API anteriores, las propiedades se envían a ThingWorx Platform en secuencia.
Para lograr la clasificación de datos, si una instancia de Connection Server está detrás del equilibrador de carga, ajuste la configuración del equilibrador de carga para que tenga permanencia. Sin estos datos, el orden no se puede lograr.
¿Fue esto útil?