1

Web ポータルに情報を表示するアプリケーションを構築しています。建物内に X 台のカード リーダーがあり、これらのカード リーダーは同じ建物内のコントローラーと通信します。カードリーダーにスワイプがあると、情報がコントローラーに送信され、コントローラーはそれをデータベースに書き込みます。

スワイプ イベントが発生するとすぐに、このカード リーダーの情報を Web ページに表示する必要があります。したがって、perl Pcap を使用してコントローラーとデータベース間のパケットをキャプチャし、ペイロードを読み取り、「n 番目のビットがこれである場合、これを印刷する場合、これを印刷する場合」のように解析し、ドア番号、カード番号の処理を行う場合と同じことを繰り返します。 、ドアの開閉状態など

だから私の質問は、どちらが速いですか? SQL データベースから最新のデータを取得して Web ページを更新するプログラム、またはデータを解析してから XML データベースに書き込み、Web ページを更新するために実行されるサブスクライブ スクリプトを繰り返すプログラムですか?

4

1 に答える 1

6

唯一の本当の答えは: 行って、両方をプロファイリングすることです。

考慮事項:

  • パケットからデータを抽出するのは面倒です。醜く、ハック的で、壊れやすく、保守できません。
  • 「XML データベース」は嘘です。代わりに実際の DB を使用してください。
  • 複数のデータベース間で情報を複製すると、不要な冗長性が生じる可能性があり、両方の情報リポジトリが同期しなくなる可能性があります。一方、別々の目的で別々のデータベースを使用すると、さまざまな利点が得られます。
  • 一部のデータベースでは、新しいレコードがテーブルに追加されたときに実行されるトリガーをインストールできます。新しいイベントを Web インターフェースにプッシュするトリガーを使用することが、最も効率的なソリューションになる場合があります。
  • 別の解決策は、Web インターフェイスのキャッシュとして機能する新しいイベントについて DB を定期的にポーリングする 1 つのジョブを持つことです。これはおそらく、pcap を実行するよりもコストがかからないでしょう。
于 2013-09-14T19:34:47.660 に答える