电信计费业务:预后融合OCS到底应该实扣还是虚扣?

 

      

       引入OCS的初衷之一是为了让计费系统能够参与到用户的通讯控制中来,也就是所谓的实时信控。用户在没有余额时,通讯就会被停止,不会造成”天价欠费 ”,一方面保障用户的利益,一方面也保障了运营商的利益。由于OCS要进行实时信控,所以在通话结束后,会将产生的费用实际扣除,称为实扣;而OFCS则不同,由于在后付费支撑那边的惯性,需要支撑固网的后付费业务,所以余额就不能实扣,而是先将产生的费用累计起来,作为“当月实时费用”到月底对余额进行批冲,再将费用扣除,称为虚扣。

 

实扣和虚扣已经事实上成为一种“业务规则”,。由于实扣和虚扣对余额的处理方式不一致,造成很多业务规则的实现上实际也不一致,最典型的是OCS和OFCS在用户提醒上,按照OFCS的规则,用户查询余额时,需要提醒用户余额,当月的实时费用,可用余额,这几个值按照实际值填好即可,是按照用户余额-当月实时费用=可用余额的逻辑。但是对于OCS,由于用户的余额为实扣,则用户余额是反算出来的,是用户余额=当月的实时费用+目前余额的逻辑,所以,虽然给用户的查询结果一致,但是实际的处理方式确实不一样的,发票打印上的本期余额和上期余额实际也有类似的问题。

 

这实际上已经成为统一服务的一个比较大的“负担”。甚至有些问题,业务规则的制定者也不一定清楚详情。比如OCS侧帐务优惠的处理。假设某套餐存在满100送20元的优惠,在OFCS的系统,帐务优惠是很清晰的,如果到了月底,用户消费101元,送出那最终的计费结果就只有81元,月底再将这笔虚扣的钱进行销帐。但是对于OCS,用户消费的101元已经实扣,到月底的时候,就需要给用户返20元到余额帐本中,问题就来了,假设用户有多个帐本,按照什么顺序执行扣费顺序,又该往哪个帐本返还呢?这个规则实际很多人都没弄清楚。

 

举个极端的例子,比如说用户有11元本金帐本,每月有个划拨的赠送90元(保底消费90元)的帐本,赠送帐本需要先扣,那赠送的90元的先扣掉了,本金的11元再扣掉,那么返还的时候,如果20元都送到本金,那么用户本金平白无故增加了9元,这9元实际不是用户本金存入的,用户明显占了便宜,财务上也会造成不平,如果全部返还到赠送帐本上,那也有问题,用户的划拨帐本冲入20元后,又会被保底消费把这个20元扣掉,那等于给用户没赠送。正确的做法应该是后扣费的先返还,先扣费的后返还。先给用户返回11元到本金帐本,再给用户返9元到赠送帐本,最后用户划拨的90元帐本被保底消费扣完,而本金剩余11元。

 

       排除真正意义上的后付费用户不说,准实时的预付费和实时预付费用户的余额处理逻辑,应该要统一。那么到底该如何统一呢?下表中列了一下主要的处理差异:

                                                     
 

涉及差异

实扣

虚扣

改造难度

计费效率

效率低

效率高

信控规则

简单

复杂

帐务优惠

复杂

简单

发票规则

需改造

不需改造

用户查询惯性

不遵循

遵循

支持灵活帐期

简单

复杂

实时出帐

简单

复杂

             

   如果考虑现阶段的业务,自然还是OCS改造为虚扣更加合适一些。首先是因为改造的难度,OCS改造为虚扣,对每一个帐本增加一个虚扣余额的字段,实时信控时也要参考这个字段,这一块虽然改造难度以及涉及的周边模块的改动也不小,但是整体比OFCS做实扣的改动难度,还是要小很多。另外效率问题,帐务优惠的问题,用户的习惯问题等都是用虚扣好一些。

 

   但是如果要考虑将来的话,应该会得到不一样的结论,从业务的发展角度去考虑,业务将向数据运营方向发展,更加注重用户体验。这方面,OCS比HB在实时信控上存在较大优势(如AOC和针对内容的信控),OCS应该是计费发展的主流;数据业务的收入也势必会超过语音业务,原来在语音业务这边惯性思维的帐务优惠的套餐会越来越少;灵活帐期和实时出帐也能很好的提升用户体验。从技术发展的角度去考虑,PC化、云化也是计费这边的大势所趋,OFCS也需要具备消息计费的能力,计费的流程势必要统一,OFCS每条话单也需要更新帐本余额,而不是原来简单的累加。原来考虑的效率问题就变得没那么严重,而且云化给计费带来的效率提升是显而易见的。

转载于:https://www.cnblogs.com/smokefire/p/6202105.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值