独自の自己ホスト型 WCF サービスを開発しており、いくつかの PHP アプリケーションがこのサービスを使用してデバイスと通信しています。
必要なデバイスにデータを送信するには、デバイス情報と送信するデータが必要です。逆に、データを取得する必要があります。
データを管理するための構造体がいくつかあります: Device、User、UserInfo、DisplayInfo、Events、Logs... データを送信するときは、次のようなものを使用します。
bool SetUsers(Device d, User[] u);
これは問題なく動作しますが、PHP ではデバイスごとにデータを送信するため、50 台のデバイスと 2000 人のユーザーがいる場合、2000 人のユーザーの 50 倍のデータを送信すると、より適切に実行できることがわかります。
したがって、次のようなものを使用できると考えました。
bool SetUsers(Device[] d, User[] u);
これも問題なく機能しますが、ほとんどの場合、すべてのユーザーがすべてのデバイスにアクセスする必要があるわけではないため、最新の方法は適切ではなく、最初の方法は多くの冗長データに送信されます。
私の質問は、50 台のデバイスに 2000 人のユーザーまたは 2000 人の userInfo または 2000 人の displayInfo を 1 回の呼び出しで送信する最良の方法は何ですか?
私は3つの可能な方法を考えました:
- Device Struct には、いくつかの Structs の可変プロパティが含まれます。データを送信する最良の方法、データを整理する最悪の方法。
- 各 Struct、User、UserInfo... に Device Struct を含め、コード内のデバイスに応じて並べ替えます。それが好きですが、それが最善の方法だとは思わないでください。
- すべてのデバイス + 関連するすべてのデータ + それらの 2 つを関連付ける 3 番目の Struct を送信します。各 Struct でカスタム ID を生成し、多対多の Struct を作成する必要があります。(正確な方法はわかりません)。
どれが最良の方法だと思いますか? たぶん、新しく改良されたものですか?
ありがとう!!!