2020年4月,某运营商集团一级结算系统完成了一期项目的终验,一期2个省份的结算业务上线,月结算话单量600多亿,系统运行总体非常平稳。系统大幅提升客户感知,从根本上解决了客户 “需求支撑周期长、运维复杂、结算处理能力慢”的历史难题,让接入省份的业务支撑有了较为明显的提升,获得客户好评。数字化时代,运营商的商业模式正在发生变化。从话音经营向流量经营和数字化经营的转型过程中,原有的客户、用户、渠道、产品、合作伙伴、零售、批发、租赁等结算商业要素内涵、外延均已不同,同时IT新技术的发展以及与之匹配的开发运维模式的调整,都要求结算中心充分利用各种新技术、匹配创新的商业运营模式、支撑全新数字化业务,以构建数字化时代的核心竞争力。依据大IT体系规划建设方案,构建全网业务集中结算运营体系。按照“采用按功能抽取的方式逐步进行集中建设”的演进思路,构建全网结算中心。通过标准化的结算流程和结算服务,实现集中结算、集中结酬。结算中心驱动力还来自于技术发展的拉动,借鉴云计算和开源软件技术发展,确定架构的敏捷发展方向,解决部分结算应用单机部署性能瓶颈的问题,依托分布式结算引擎部署、云化框架水平扩展、结算服务管控等技术,构建“中心化、统一化、一体化” 架构体系,高效支撑结算业务信息化建设。中心化结算服务:中心化的结算系统,集中管理多种结算业务并对外提供结算服务。统一化结算流程:统一的结算流程管控,增强结算过程的差错稽核能力。
一体化结算引擎:全业务集中处理,包括数据采集、预处理、计算等过程。
基于运营商以上的诉求,架构怎么选择、业务能力怎么支撑成为我们迫切要解决的一大难题!

省份现有结算业务面临计算功能分散且重复、数据来源多样、省间结算对帐协调困难、互联网业务发展带来压力等业务问题,具体体现在如下几个方面:
>计算功能分散且重复,收敛集中不足
现有结算管理能力分散在各系统中,话单结算、SP结算、渠道酬金、量酬结算、支付结算管理分别由综合结算系统、渠道中心、支付中心各自管理。>数据来源多样,业务规则复杂,配置支撑不足
结算数据源涉及订单中心、客户交互中心、帐详单中心等多种数据,各个结算类系统规则不同且规则计算模式复杂(如:规则迭代、组合等)、配置支撑不足。>缺失对结算端到端业务长流程管理
结算从业人员变动、结算政策变化导致结算规则、结算范围等依据不清晰,日常运维困难。>省间结算对帐协同困难
>充分支撑互联网业务发展的结算要求
随着互联网业务快速发展及终端客户数量不断增长,新的结算需求层出不穷,硬件成本压力越来越大。SaaS层对外服务通过统一门户,根据用户归属租户不同调用不同租户的web服务。SaaS层后台应用通过ZCM的租户管理及容器化,实现各租户应用的独立升级部署、应用编排、弹性伸缩、应用监控等。PaaS层应用均为分布式部署,各租户根据业务量可以申请各应用节点数。IaaS层应用以资源池的方式分配给各个应用,一台主机可以运行多个应用节点,多个租户可以共享一台主机,一台主机服务多个租户。
1.引入ZMQ,实现服务与流程分离,降低服务之间的耦合性。2.支持环节间的消息流转、消息分发和路由管理功能,支持路由策略的调整和发布管理。
统一封装数据访问接口,包括客户资料访问接口、实时帐单访问接口、拣重存档访问接口、规则数据访问接口、清单数据访问接口等。
引入ZMDB、消息中间件(ZMQ),NoSql数据库(HBASE)实现数据存储平台化和数据分布式部署,同时对于ZDAAS中的拣重存档、清单、欠费需要实现分库,第一个把我司自研zdaas应用到千亿级数据。采用多租户模式的实现方式省份结算业务的接入。接入省份(宿主运营商)以省份ID为参数登录结算应用平台,平台通过共享集群,控制分配可用的结算应用与服务,省份基于分配的应用能力进行规则配置或者相关结算数据查询,应用通过省份ID获取对应的数据库,保证省份只能看到自己和共享的规则资料并生成省份对应的操作界面,实现能力复用、数据分离。>应用框架部分
所有省份共用一套集群的结算应用,通过多应用程序同时运行的装载环境(WEBLOGIC)来做进程间的隔离。>数据库框架部分
多个或所有租户共享Database集群,网间的数据库可共用一套库,后续有新省份需要接入时,各分配一个Schema,通过MyCat中间件进行数据库分库管理。>应用能力部分
提供数据源管理、规则管理、结算出账管理、结算报账管理等几大模块的核心能力,各省可自定订购能力,规则配置模块。考虑到各省的差异较大,采用以模板的形式,对各省提供定制化。结算规则由IT专业人员进行配置,结算业务自身复杂,对应的各个地市的业务规则也相差较大。目前只能通过专业人员进行配置,并且配置操作步骤多、复杂、配置周期长;配置完成之后,验证规则缺乏有效的自动化工具等问题,都将为结算业务推广带来延迟影响,造成结算规则的跨账期支撑。另外规则配置由于缺乏有效的验证手段,导致出账后还需投入大量的人力来稽核以及重出账。提供灵活、便捷、通俗易懂的结算规则、采集规则、解码规则、标准化规则、酬金和量酬政策的配置能力,将快速响应复杂多样的结算业务需求。采集、因子引擎、结算规则、累帐等模块可全流程端到端配置。其中结算规则通过因子集可灵活配置出条件和支付规则;省公司集约结算模板配置管理;省公司结算实例化灵活可调支付系数,实现对新业务的快速灵活支撑。
我们在产品管理设计初期,就定义了业务化“零培训”的概念(业务化的定义:让使用人员在了解业务知识后,可以在未进行操作培训的情况下,就能完成系统各类操作与配置),并且让其贯穿整个系统。在业务化的概念指导下,我们在系统的操作层面采用了一键配置来达到“零培训”的目标。通过简单的一键复制动作,可支持将整个业务/产品涉及到的各层面的结算规则数据(属性、销售对象、销售区域、定价、业务等),进行整套复制。同时也提供针对具体某细颗粒度层面的数据复制。减少配置人员的工作量,提高配置效率。新业务规则进行测算评估,可灵活调整规则条件,根据结算出的评估结果确定业务规则是否合理、利益是否可达最大化、系统输出多维度试算结果与往月结果的比对报告、指导市场人员判定规则是否满足要求;针对业务评估环节输出的新业务规则进行运维验证,验证是否可正常结算,保障上生产时结算正确无误;新规则完成预演分析环节后即可一键“灰度发布”至生产正式运营。系统上线后,通过规则配置能力的提升以及规则试算,将让省份新结算规则在当月提出支撑。当前各省全网结算业务的人力投入平均在每省3人左右,主要的工作在系统的出账以及出账后的人工稽核。另外系统集中后机器数量变得更加的庞大,涉及到的机器将达上千台,如何通过管理多省租户以及省份应用独立管控升级?系统引用了ZCM运维平台,采用微服务架构、DevOps流程和智慧化运维为特征的云支撑平台,能够端到端全链路、全自动化的智能运维平台,依托CICD进行代码管控,质量度量、自动部署和版本发布。通过“多租户”功能对各省租户进行管理,每个租户可以控制各自租户内的版本控制、应用编排、配置管理、日志及资源监控等。系统运行过程的全程稽核:及时预警、降低运维复杂度,在遇到某个环节不平衡时及时发出告警、人工及时介入分析避免后续环节的大面积错误,从不平衡的环节直接核查问题,降低运维复杂度。全流程核心环节数据平衡校验:保证数据从来源开始即是正确,从源头到最终支付确保平衡以提升支付的数据质量,运维只需关注是否平衡,无需再陷入细节核对。系统上线后,通过统一的出账,省份运维的人力将从3人降低到1人。省份结算系统存在结算过程不透明的问题,客户没有办法了解结算支付金额及结算的过程情况,同时结算清单非专业人员看不懂,无法实时计算出结算返酬的全周期导致无法实时的业务监控、告警、发现异常结算现象。引入阳光清单的产品理念,结算清单信息完备,未结算原因一目了然,结算过程透明化轨迹清晰展示,真正实现自动稽核阳光清单。
我司产品主要是通过以下几大举措实现自动稽核阳光清单:
- 因子优先级标识:便于不结算原因智能筛选,减少错单量。
- 分级智能查询:通过订单状态、清帐单、错单分级查询,并在事件、政策、方案条件下自动筛选。
结算,更多的是多次结算多次支付。系统通过周期性数据的沉淀,在首次结算的时候也结算每笔工单未来的数据并呈现出来,同时沉淀历史已结算的数据,通过门户查询系统即可查询到该订单号生成的结算金额,以及当前已结算、未来未结算的数据情况,并为月度计提提供有效的数据参考,让相关人员明明白白看得懂结算全周期,同时也能让运营商及时发现结算资金超预算风险。

2019年下半年随着两省结算接入上线稳定后,对运营商B域系统的集中有着重大的意义:此外我们也从中获得了更多的大数据量高并发性能优化经验。微服务架构是近些年最热门的话题之一,当前的租户+微服务架构只是我们的第一步,接下来我们会考虑到如果业务量增加10倍、20倍,甚至1000倍,我们的系统应该是怎么样的。我们会持续优化,让系统的横向扩展更便捷、让系统的运维更简单,同时支撑国内和国际结算业务。只有不断持续迭代,方能用更好的技术自信来迎接5G大数据时代的到来、把握未来的无限机遇。