0

私はPHPとMySQLの通話管理システムに取り組んでいます。

データベースには2つのテーブルがあります。1つは電話をかける必要のある人に関する情報を格納するstudentsと呼ばれ、もう1つはこれらの電話がいつ行われたかを記録するCallsと呼ばれます。

学生テーブル

コールテーブル

ここで、電話をかけることになっている2人の発信者がログインしているとします。ログインしている2人の発信者に、通話の同じ「学生」が表示されないように、両方の異なる発信者のセットを表示する必要があります。学生テーブルを使用して発信者にデータを入力するので、これをどのように実行できますか?このようなことを可能にするためにデータベースを再構築する必要があります。

今日ダイヤルする必要のあるコールを表示するための基準は、「呼び出されていないユーザー」、「特定のコール時間の最後のコールで時間を与えたユーザー」になります。

呼び出された人が彼に電話をかけた人とだけ話したい場合に備えて、発信者を凍結することもできます。これを理解するのが難しい場合は、もう少し詳しく説明できます。このようなことをするための最良の方法は何でしょうか?

4

1 に答える 1

0

ここに 2 つの解決策がありますが、後者は実装がはるかに複雑です。いずれかのソリューションについて詳しく説明する必要がある場合はお知らせください。

  1. ログイン時に、発信者のサブセットをログイン ユーザーに割り当てます。彼が発信者の処理を終了し、その発信者を「完了する」ためのアクションを実行したら、新しい発信者をユーザーに割り当てます。このようにして、彼には常に X 人の発信者が割り当てられます。
  2. 「ロングポーリング」を使用して、利用可能なコールを一貫して確認します。したがって、ユーザー A が発信者 1 をクリックすると、ユーザー A が発信者 1 の使用を停止するか、ユーザー A のセッションがタイムアウトするまで、ユーザー B は発信者 1 をクリックできません。

私が正しい軌道に乗っているかどうか教えてください。答えを改善する方法を見ていきます。

于 2013-09-03T17:54:19.427 に答える