基于Spark平台的电信运行商收入分摊系统的设计与实现
发布时间:2020-03-25 04:18
【摘要】:随着移动互联网的兴起,移动用户数目激增。电信运行商们所拥有的用户数均达到了亿级。作为电信运行商核心业务的计费与结算所涉及的总数据量上升到了 PB级别。收入分摊是这一核心业务的重要环节之一,它将计费收入按照规则分摊给各个部门,是一组数据量大,容错率低,需要在短时间内计算出结果的批处理任务。运营商们分别基于商业数据库Hana,mpp数据库Greenplum来构建收入分摊系统。但是Hana的花费十分昂贵,Greenplum存在可扩展性差、稳定性低的问题。如何构建一个保证快速计算的同时还兼备廉价、可扩展性强、稳定性高的收入分摊系统成为电信运行商亟需解决的问题。本文的实际应用场景为联通软件研究院的收入分摊业务,以联通的用户计费数据为数据基础。业务内容是将当月收入按照给定的分摊规则进行关系运算,计算出各个部门分得的收入。业务过程可以粗粒度的划分为如下步骤:首先,数据从计费系统通过数据抽取工具抽取至收入分摊计算集群,储存至数据仓库中。待数据全部到位后,按照制定的顺序依次执行存储过程SQL,在存储过程SQL执行完毕后将执行结果写回数据仓库中。所有省份的存储过程均执行完毕后,分摊工作结束。本文使用分布式存储与计算技术,借助Spark计算引擎,Alluxio内存分布式文件系统,Hive数据仓库,HDFS分布式文件系统,MySQL数据库,Python语言与Scala语言实现了收入分摊系统的数据预处理层、计算层以及监控层的实现。本文介绍了本系统开发的实际应用背景,并简要的分析了 Spark计算引擎技术与Alluxio内存分布式文件系统技术,简要介绍了本系统的系统架构,详细阐述了本电信运行商收入分摊系统的设计与实现过程,该部分是本文的重点。基于Spark平台的新系统的实现极大地为运营人员的分摊工作提供了便利,系统能够稳定地运行不会出现旧系统易发的崩溃情况。数据量大的存储过程类别的执行时间较旧系统来说有所提升,将河南、山东的实收过程的执行时间从1小时以上缩短至40分钟以内,提高了存储过程的执行效率。新系统已通过功能性和非功能性测试,等待部署上线。
【图文】:
后台业务执行子系统和前台监控、操作子系统。前者在获取需求时主逡逑要考虑以数据流动为中心的处理过程,后者在获取需求时则更多地依据系统操作逡逑员的使用场景及其所需要的功能点。如图3-1所示为系统的业务流程图。逡逑丨开始]逡逑数椐逡逑抽取逡逑L/w?Y邋mm邋Ly^vJ逡逑现异常逦现异常逦|现异常逡逑__V逦逦I逦y逡逑乎动?:逦手动M逦乎动W斿义掀舨僮麇纹舨僮麇纹舨僮麇义,
本文编号:2599383
【图文】:
后台业务执行子系统和前台监控、操作子系统。前者在获取需求时主逡逑要考虑以数据流动为中心的处理过程,后者在获取需求时则更多地依据系统操作逡逑员的使用场景及其所需要的功能点。如图3-1所示为系统的业务流程图。逡逑丨开始]逡逑数椐逡逑抽取逡逑L/w?Y邋mm邋Ly^vJ逡逑现异常逦现异常逦|现异常逡逑__V逦逦I逦y逡逑乎动?:逦手动M逦乎动W斿义掀舨僮麇纹舨僮麇纹舨僮麇义,
本文编号:2599383
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2599383.html