移动服务提供商如何管理通话时间数据?

时间:2009-09-07 11:37:23

标签: database-design gsm

我很好奇移动服务提供商如何管理手机中用于充值广播时间的数据。

在我所在的地区,当您想要在手机上充值播放时,您会购买一张“刮刮”卡片,该卡片上有一个您输入手机的唯一号码。如果该号码有效,则该卡的金额值将作为通话时间添加到您的帐户中。

到目前为止,我试图想象一下,如果没有数万亿行保留以前使用过的数字,那么必须有数十亿,我想这就是系统如何知道您输入的数字是否先前已被使用过。系统必须对某个表进行查找并验证该数字是否有效(猜测)。

我的问题是你如何在表格中管理如此庞大的数据? 什么系统(数据库)最适合处理这类问题? 你永远保存这些记录吗? 您可以使用什么最好的方法/技术/算法来解决这类问题?

Gath

2 个答案:

答案 0 :(得分:1)

这些刮刮卡号通常是批量离线生成的。然后数据采用两条路线。

1)这些号码被加载到电话网络平衡充值系统

2)数字进入所需的分销渠道

充值系统有两个主要接口,一个用于接收充值请求(刮刮号码和电话号码/ MSISDN),另一个用于电话网络实时充电系统,用于维持用户平衡(在GSM中为IN) )。

充值系统只知道已发布但未使用的刮刮卡号,这会将数据量减少到现场的任何数据量。一旦刮刮卡号被激活,充值系统就会调整余额并忘记刮刮卡号(减少通常的记录等)。

这意味着可以在激活后重新使用刮刮卡号,无需记住之前已激活刮刮卡号。实际上这些数字通常是固定长度的,需要某种重复使用。

数据量(已发布但未使用的刮刮卡号)和非实时要求允许某些标准数据库系统。

用于解决此类问题的方法/技术/算法可能被描述为“只记住您为了完成工作需要了解的内容”。

答案 1 :(得分:0)

一种方法是反过来看待这个:

如果您生成序列号并管理其分配,您可以限制流通中无人认领的号码的数量,这些号码将保持相对静态,并在检查号码是否无人认领时提供可预测的性能。