0

ユーザーがメディアファイルをダウンロードした回数と、ユーザーがダウンロードしたメディアファイルを保存するデータベースを作成しています(IPに基づいており、ログインは不要です)。MySQLデータベースの正しい構造がわかりません。

私はすでにすべてのメディアファイルを含むデータベースを持っているので、カウントは問題になりませんが、誰がファイルをダウンロードしたかを確認できるようにしたいです。PHPを使用してコンテンツを取得しますが、最も効率的に取得する方法がわかりません。つまり、「XYZ.mp3には20回のダウンロードがあります。[IMNCMS]クリックXYZ.mp3は1.2.3.4によって4回ダウンロードされ、他に16個のIPがダウンロードされています。」

また、1.2.3.4がXYZ.mp3を4回、HWM.mp3を1回リッスンしていることを確認したいと思います。

さらに、私は最終的に彼らが聞いたmp3ファイルの量を知りたいと思います。(私のサイトには組み込みのプレーヤーがあります)また、ファイルに基づいて非常に多くの人がこのファイルを聴いたこと、またはこのユーザーがこのファイルをこれだけ聴いたことを確認できる場所にこれを配置したいと思います。

前に述べたように、何回カウントするかは知っていますが、データをすばやく収集できるように、2番目の部分を最も効率的に構成する方法がわかりません。

また、ファイルの量は週ごとに直線的に増加し、最終的には非常に多くなるので、必要に応じて拡張する200列(現在)があるかどうかはわかりません。大規模なユーザーベースは期待していませんが、わかりません。後で再構築して再コーディングする必要はありません。

助けてくれてありがとう、質問があれば教えてください。

4

2 に答える 2

1

それが私だったら、3つのテーブルがあります。

  1. 接続-IPとセッションIDを一意の接続IDで保持します。
  2. ダウンロード-ファイルIDと接続IDを保持します。これにより、ファイルがダウンロードされた回数と接続方法を知ることができます。
  3. 再生-ファイルID、接続ID、ファイルdl%を保持します。http partial content特定の接続IDによって再生された各ファイルの量を追跡するために使用します。

これら3つの間で、求めているものの統計を作成できます。

于 2013-01-01T16:21:59.693 に答える
0

もし私があなたなら、私は次のことをします:

1.各ファイルにmysqlが自動インクリメントできるID番号を付けます。

2.次に、ユーザーがダウンロードしたファイルのIPとIDが格納されている別のテーブルを作成します。

お役に立てれば。

于 2013-01-01T17:11:31.313 に答える