V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
IssacTomatoTan
V2EX  ›  程序员

流量计费实现思路

  •  
  •   IssacTomatoTan · 2020-11-30 19:39:00 +08:00 · 2208 次点击
    这是一个创建于 1214 天前的主题,其中的信息可能已经有所发展或是发生改变。

    移动 联通,他们是怎么实现按用户使用量来进行流量计费,到点就停止上网的?同时使用的人那么多,又要同时更新数据,有知道的同学能给个完整的思路么?

    10 条回复    2020-12-01 14:40:57 +08:00
    e583409
        1
    e583409  
       2020-11-30 19:49:01 +08:00   ❤️ 1
    运营商之间 也会根据流量 结算计费
    fredcc
        2
    fredcc  
       2020-11-30 20:08:33 +08:00   ❤️ 2
    不知道哪年的文档了,运营商计费系统不是一句两句话说清楚的,三家运营商每家都是一本大书
    https://www.jianshu.com/p/9db1d5f5923c
    laminux29
        3
    laminux29  
       2020-11-30 20:57:52 +08:00   ❤️ 1
    本质是交换机或路由器或流控设备上,对接入客户统计流量,然后定期上传汇总。

    稍微高级一些的民用交换机都有这功能,比如你去 TPLink 的 管理界面上,找找按 IP 显示流量的功能。
    sc3263
        4
    sc3263  
       2020-11-30 21:15:17 +08:00   ❤️ 1
    用户想要使用服务(打电话 /流量传输等),提供实际服务的设备,在提供服务前,向计费系统发起鉴权请求。
    计费系统根据用户权限、套餐、余额等信息,返回一个配额,告诉设备,可以先提供多少分钟通话时间 /多少兆的传输流量等。如果这些配额被用完后,用户还在使用服务,设备再重新发请求。
    用户停止使用服务后,设备再告诉计费系统,最后一个配额用了多少。
    中间如果遇到余额不足之类的情况,就直接返回鉴权失败。让设备终止服务。
    大概的实现方式就是这样,实际的鉴权请求不会很大的。
    billlee
        5
    billlee  
       2020-11-30 21:40:59 +08:00   ❤️ 1
    不同用户不互相影响,一个用户也不能同时接入多个基站,没有什么全局依赖,很容易水平扩展的。
    terence4444
        6
    terence4444  
       2020-11-30 21:41:46 +08:00 via iPhone   ❤️ 1
    流量计费是有延迟的
    IssacTomatoTan
        7
    IssacTomatoTan  
    OP
       2020-12-01 07:46:57 +08:00 via Android
    @sc3263 你说的是最接近用户使用的基站 会根据链接过来的设备 然后主动请求鉴权设备 那也就是说 每次用户移动到新的基站下 鉴权的事情再次发生 而基站会汇总一个区域的数据 也就不会发生大批量手机直接请求鉴权服务器的问题 有意思
    Nicoco
        8
    Nicoco  
       2020-12-01 09:40:25 +08:00
    有点东西
    baobao1270
        9
    baobao1270  
       2020-12-01 10:05:55 +08:00 via Android
    PPPoE RADIUS
    mostkia
        10
    mostkia  
       2020-12-01 14:40:57 +08:00
    应该是搜索网络阶段就注册了手机的 ip,然后同步到数据库后,实时根据路由器上同 IP 的流量信息进行统计
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   997 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.