データの順序付け
|
|
ThingWorx 9.7 以降では、データの順序付けを使用できます。
|
フィールドのデバイスからのストリーミングデータを使用して、ビジネスロジックやデータ処理などのイベントと購読が実行されます。購読によって処理されたデータは、サポートされているデータベースに取得されます。ThingWorx でのデータ処理は、多数の Thing および関連プロパティ値をサポートするために並行して実行されます。
データは ThingWorx にストリーミングされ、イベントと購読によって処理されますが、プロパティのイベントを順次処理するには順序付けされたデータが必要です。処理されたデータもデータベース内に順番に取得される必要があります。
問題ステートメント
データの順序が間違っている場合、イベントの生成、購読、そして最終的にはデータの取得に影響します。このシナリオは、Kepware が切断されてから再接続されるまでの間に、高可用性セットアップ (WebSocket 接続のバランスをとる接続サーバーが存在する場合) で確認されています。データの順序付けは、単一サーバーのデプロイメントと高可用性セットアップのデプロイメントでサポートされています。
ソリューション
データの順序付けは、以下の場合に役立ちます。
• 接続サーバーでは、ThingWorx ID と Websocket (WS) チャンネル ID のペアへの個々の Thing のスティッキネスを維持します。これにより、各 Thing のプロパティ値の更新が常に特定の ThingWorx および特定の WebSocket チャンネルに送信されます。
• eMessage Connector (eMC) は、接続サーバーを内部で使用して ThingWorx Platform と通信します。接続サーバーの変更は、eMessage Connector (eMC) が順序付けられたデータを ThingWorx に送信する際に役立ちます。
• ThingWorx Platform で、Thing ごとに Akka アクターを実装します。Thing の受信プロパティ値ごとにアクターが作成され、プロパティ値がアクターのメールボックスにプッシュされます。その後、Akka アクターはキューからメッセージを取得して順番に処理し、プラットフォーム側での順序付けされたデータ処理を保証します。
• platform-settings.json の BasicSettings でデータの順序付けを有効にするには、次の設定を使用できます。
設定 | タイプ | 値 | デフォルト値 |
|---|
EnableDataOrdering | BOOLEAN | true または false | false |
• /Metrics エンドポイントでの判定基準 thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled は、データの順序付け設定の監視に役立ちます。
判定基準名 | タイプ | 例 |
|---|
thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled | ゲージ | # HELP thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled Data ordering enabled # TYPE thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled gauge thingworx_WSExecutionProcessingSubsystem_isDataOrderingEnabled{prefix="Platform.Core.Subsystems",category="WSExecutionProcessingSubsystem",platformid=""} 0.0 |
| イベントの順序付けは、9.5 で導入され、使用可能になった機能です。このコンフィギュレーションを購読定義で有効にするには、Execute Events Sequentially をクリックします。 |
その他のコンポーネントの影響
• Java および C SDK は、以下の API を使用してプロパティ値を ThingWorx に送信できます。
VirtualThing.setProperty()
VirtualThing.updateSubscribedProperties();
前の API を使用して、プロパティは順番に ThingWorx Platform に送信されます。
• データを順序付けするには、接続サーバーがロードバランサーの背後にある場合、ロードバランサーのコンフィギュレーションを調整してスティッキネスを有効にします。このデータがないと、順序付けはできません。
• データの順序付けは、以下のコンポーネントで修正可能です。
◦ Connection Server 9.3.0 以降
◦ eMessage Connector 2.5.0 以降
◦ Kepware 6.16 以降
利点
データの順序付けには以下の利点があります。
• データが順番に処理され、信頼性の高いデータストレージと処理が可能になります。
• 高スループットの並列処理と、シリアル化され、順序付けされたデータ処理のいずれかを選択できるようになります。
• ThingWorx ソリューションによって、Kepware からデータを取得し、データを順番に受信して処理できます。