专家简介:张燕,新炬网络架构师,资深BOSS业务专家,自BOSS1.5--NGBOSS参与广东、浙江、广西、辽宁等多省及海外BOSS升级割接,目前在推进BOSS模型管控相关工作。
用户消费详单是运营商与用户之间最重要的沟通媒介,用户通过它可随时了解当月的消费情况,调整消费结构。提升消费透明度,一直是移动致力改进和提高的内容。当前各省用户数量巨大,历史详单逐年积累,流量业务的快速增长,直接导致了详单管理变得极度复杂,数据处理越来越慢,查询速度变慢差等一系列问题,且随着4G时代的到来,需提升客户实时计费体验解决由此带来的DCC消息爆炸式增长问题,使得目前系统架构的扩展和扩容成本方面难以满足,需要进行进一步的架构优化和升级。
移动第三代规划里提出了引入分布式数据库,基于X86设备实现详单处理的分布式架构,逐步实现低成本的详单云化架构,提高系统的扩展能力,提供高速的查询访问和数据统计功能,降低系统整体建设成本。
详单云总体架构:
Hadoop的核心是HDFS和Map/Reduce,HDFS实现存储,而Map/Reduce实现分析处理。详单云架构采用x86刀片设备和本地存储,通过分布式文件系统和数据库存放数据文件,避免数据存储过于集中带来的系统影响;通过高效的压缩机制可节省更多的存储空间。
详单预处理架构:
详单数据处理首先是数据采集从FTP、ORACLE、分布式数据库等数据源上采集详单原始文件,并放在HDFS分布式文件系统上,供后续数据预处理用。分布式文件系统(HDFS)运行在分布式集群上,用于存储原始数据文件和MAP/REDUCE任务的中间文件。原始详单数据通过分布式计算MAP过程,结合分析系统以及详单查询等应用场景,将数据按电话号码分组,生成临时文件,放到本地,然后REDUCE模块将分组后相同电话号码的详单数据进行合并,并且压缩详单数据,将相同电话号码的数据按照一定的算法进行数据压缩存储。详单查询服务子系统基于分布式数据库进行详单查询,引入内存数据库,并对查询出的详单数据进行转义、查重、汇总、合并等处理,查询服务支持对查询数据的分布式缓存。
分布式数据库是分布式的、面向列的数据库,其结构由索引、时间戳和列簇组成,其中:
索引:表的主键,表中的记录按索引排序。
时间戳:每次数据入库的时间戳,可以看做是数据的Version。
列簇:表在水平方向有一个或者多个列簇,一个列簇可以由任意多个列组成,有多少个列不在建表时指定,在插入数据时可以随时新增列。
根据详单查询应用场景,对于详单表可设计为,索引为电话号码,只有一个列簇,存放压缩过的详单数据,每批次详单导入时产生一个列,列名即为详单导入时间。入库时无需先排序,详单文件通过MapReduce并行计算框架可以高效的直接加载到分布式数据库中,通过时间和手机号码两个维度迅速定位到数据文件。
详单系统由分布式云化架构替换传统小型机数据库架构,降低系统建设成本,通过hadoop分布式系统特性,在不启停现有分布式集群的情况下,通过对新增机器的配置,直接将新增加机器加入到现有集群,提高现有集群存储与处理能力,云详单数据随机均匀部署,并行查询,提高查询效率。以浙江省为例,目前详单云日均查询10万次,支持200个以上并发,响应时间不超过10秒, CPU负荷均值5%,实时入库集群CPU负荷在30%左右,效率大大提高。
通过后续帐详单云化架构改造深入,系统实现分布式计算、分布式存储以及高并发计算等,使支撑系统具备高扩展、高性能、高可靠、大并发的特点。假以时日,或许运营商也能如淘宝一样支持用户查询十年账单及消费记录,详单大数据计算能有更好的应用模式,系统更好支撑4G时代实时计费要求,从而使BOSS系统转型为面向客户,实时开放的系统。
上一篇:国内航空公司IT系统建设现状
下一篇:持续交付现状与趋势分析