0

モバイル サービス プロバイダーが、携帯電話の通信時間を補充するために使用されるデータをどのように管理しているかに興味があります。

私の地域では、携帯電話の通信時間を補充したい場合、携帯電話に入力する一意の番号を持つ「スクラッチ」カードを購入します。番号が有効な場合、カードの金額が通信時間としてアカウントに追加されます。

今までに、以前に使用された番号を保持する行が数兆行ではないにしても、数十億行あるに違いないと想像しようとしています。これは、入力した数値が以前に使用されたかどうかをシステムが知る方法だと思います。システムはいくつかのテーブルを参照して、番号が有効かどうかを確認する必要があります (推測しています)。

私の質問は、テーブル内のそのような膨大な量のデータをどのようにうまく管理していますか? この種の問題を処理するには、どのシステム (データベース) が最適でしょうか? この記録を永久に保存しますか? この種の問題に取り組むために使用できる最善のアプローチ/テクニック/アルゴリズムは何ですか?

ガット

4

2 に答える 2

1

これらのスクラッチ カード番号は通常、バッチでオフラインで生成されます。その後、データは 2 つのルートをたどります。

1) 番号はテレフォニー ネットワーク バランス トップアップ システムに読み込まれます。

2) 希望する流通チャネルに数字が入ります

トップアップ システムには 2 つの主要なインターフェイスがあり、1 つはトップアップ要求 (スクラッチ カード番号と電話番号/MSISDN) を受信するためのもので、もう 1 つは加入者の残高を維持する電話ネットワークのリアルタイム課金システム (IN である GSM) に向けたものです。

チャージ システムは、発行されたが使用されていないスクラッチ カードの番号のみを認識しているため、データ ボリュームは現場に出回っているすべてのものに削減されます。スクラッチ カード番号がアクティブになるとすぐに、トップアップ システムが残高を調整し、スクラッチ カード番号を忘れます (通常のログ記録などは除きます)。

これは、有効化後にスクラッチ カード番号を再利用できることを意味します。スクラッチ カード番号が以前に有効化されたことを覚えておく必要はありません。実際には、数値は通常固定長であり、何らかの再利用が必要です。

データ ボリューム (発行されたが使用されていないスクラッチ カード番号) と非リアルタイムの要件により、一部の標準データベース システムが可能になります。

この種の問題に取り組むために使用されるアプローチ/テクニック/アルゴリズムは、「仕事をするために知る必要があることだけを覚えておく」と説明することができます。

于 2009-09-22T09:09:13.450 に答える
0

1 つのアプローチは、これを逆に見ることです。

シリアル番号を生成し、その配布を管理すると、流通している請求されていない番号の数を制限できます。これは比較的静的なままであり、番号が請求されていないかどうかを確認するときに予測可能なパフォーマンスを提供します。

于 2009-09-07T12:06:28.050 に答える