Alibaba Cloud Internet of Things platform business topic planning best practice

Alibaba Cloud IoT Platform ビジネストピック計画のベストプラクティス

Alibaba Cloud の IoT Platform を基盤にビジネス開発を行う際、最も重要な課題は、ビジネス通信のトピックとペイロードをどのように適切に設計するかということです。

基本原則:

・トピックには明確な操作権限(パブリッシュ / サブスクライブ)を設定し、両方を混在させないこと。

・トピックとペイロード形式は 1 対 1 で対応させ、1 つのトピックに複数のペイロード形式を対応させないこと。

・トピックには up や down などの明確なアップリンク / ダウンリンク識別子を付与すること

同一種のビジネストピックにはソート用の共通識別子を付与すること

次に、シェアモバイルバッテリーのビジネスシナリオを例に、トピック計画のベストプラクティスを紹介します。

1. ビジネストピック計画

モバイルバッテリー貸出機シナリオのビジネスには、キャビネットのステータス、消費者によるモバイルバッテリーの貸出・返却、広告配信などのシナリオが含まれます。トピック計画は以下の通りです。

1.1 デバイスレポートシナリオ

・デバイスの現在の属性ステータスを定期的にレポートします。電圧、電流、カードスロットのステータス、温度が含まれます。

・広告配信情報のレポート。現在の広告リソース ID が含まれます。

・異常イベントのレポート。モバイルバッテリーの取り出し・返却、過電圧、カードスロットの空きが含まれます。

1.2 クラウドからの下りコマンドシナリオ

・モバイルバッテリーの取り出し

・広告情報の更新

1.3 キャビネットのオンラインステータス変更

・キャビネットがオンライン / オフラインになると、IoT Platform がステータス変更トピックをトリガーします。

2. ルールエンジンの設定

ルールエンジンの設定により、異なる種類のビジネスメッセージのフローを実現します。

2.1 異常イベントのフロー

異常イベントは Function Compute にルーティングされ、リアルタイムのビジネス処理が行われます。

ビジネス処理 SQL:

SELECT

*, -- ペイロードの全内容

DeviceName() as deviceName, -- デバイス ID

Attribute ('bizId ') as bizId, -- ビジネスチャネル ID

timestamp ('yyyy MM dd HH: mm: ss') as time -- 現在時刻

Topic () as topic -- 現在のトピック

FROM

"/a1WHdPQzUUn/+/user/up/event/#" -- すべてのアップリンクイベント

データフロー:

2.2 広告配信統計

広告再生記録はテーブルに保存され、後続のオフラインビジネス分析に活用されます。

ビジネス処理 SQL:

SELECT

*, -- ペイロードの全内容

DeviceName() as deviceName, -- デバイス ID

Attribute ('bizId ') as bizId, -- ビジネスチャネル ID

timestamp ('yyyy MM dd HH: mm: ss') as time -- 現在時刻

FROM

"/a1WHdPQzUUn/+/user/up/ad/play" -- 広告配信メッセージ

データフロー:

2.3 デバイスステータスフロー

広告再生記録はテーブルに保存され、後続のビジネスクエリに活用されます。

ビジネス処理 SQL:

SELECT

*, -- ペイロードの全内容

DeviceName() as deviceName, -- デバイス ID

Attribute ('bizId ') as bizId, -- ビジネスチャネル ID

timestamp ('yyyy MM dd HH: mm: ss') as time -- 現在時刻

FROM

"/a1WHdPQzUUn/+/user/up/property/post" -- ステータス属性レポート

データフロー:

2.4 キャビネットのオンラインステータスフロー

デバイスのオンライン / オフラインステータスフローのトピック形式:

/as/mqtt/status/{productKey}/{deviceName}

ペイロードデータ形式:

{

"status":"online|offline",

"productKey":"pk13543",

"deviceName":"dn1234",

"time":"2018-08-31 15:32:28.205",

"utcTime":"2018-08-31T07:32:28.205Z",

"lastTime":"2018-08-31 15:32:28.195",

"utcLastTime":"2018-08-31T07:32:28.195Z",

"clientIp":"123.123.123.123"

}

ルールエンジン SQL:

SELECT productKey,deviceName,

timestamp() as timestamp ,

status,

time as currentTime ,lastTime,clientIp

FROM "/as/mqtt/status/a1WHdPQzUUn/+"

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.