《一种基于大数据平台的移动通信信令系统20151110.pdf》由会员分享,可在线阅读,更多相关《一种基于大数据平台的移动通信信令系统20151110.pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2015 年技术专长培养大数据架构专业1 一种基于大数据平台的移动通信信令系统谢识常目录摘要.21.背景.22.系统框架 .33.系统关键模块.33.1 系统采集、解析、存储方式.43.2 数据的建模设计.54数据处理中的关键技术.64.1 Hadoop 基础.64.2 基础数据采用Hbase数据库存储.74.3 汇总 KPI 数据使用 Hive 构建数据仓库.84.4 上层应用查询考虑Impala 数据查询工具.94.5 Spark计算框架的引入 .114.6 硬件架构参考 .135.结论.156.鸣谢.错误!未定义书签。2015 年技术专长培养大数据架构专业2 摘要信令系统是运营商日常运维
2、的重要支撑手段。现阶段数据业务急剧增长,基于传统数据库的信令平台对信令数据的处理越来越困难。本文探讨一种基于大数据平台的移动通信信令系统。先给出系统的主要框架,论述数据处理的流程,已经讨论系统涉及的关键大数据技术,最后给出一个硬件的配置参考样例。1.背景2012年广州在全国率先建设TD-LTE试验网络,2014 年广州 4G网络正式商用。现阶段数据业务需求猛增、流量急速增涨。移动需要四网协同(WLAN、LTE、3G、2G),做到集中管理、实时维护网络存在的问题,及时处理网络故障。信令是网络交流的语言,网络的管理与优化需要完善的信令系统的支撑。随着用户、业务、信令数据的急剧膨胀,基于传统数据库的
3、信令系统已经很难满足网络运维优化的实时、存储及分析要求。例如,2015年广州本地信令系统对于4G KPI 指标只能做到 15 分钟粒度的统计,现在客户感知越来越敏感,5 分钟内的指标监控能提高网络运维侧响应网络故障与隐患的主动性;此外,随着信令数据膨胀,传统数据库不能做到线性增加,数据库分表、分库操作复杂,存储效率低,广州本地信令系统由于数据库调整造成不可用的时间越来越长;另外,在网络数据的价值挖取当中也缺乏灵活手段,目前只能按几种固定的时空、网元、目的IP 等维度的统计。大数据技术的日益成熟,在通信领域运用越来越广。更多运营商开始部署基于大数据平台的信令系统。基于大数据解决方案的信令系统就是
4、在这样的背景下,专门为规划、运维、优化等部门员工提供所需的支撑数据,提供解决方案的综合分析优化平台。对于移动信令分析,大数据首先是面临着越来越多的海量数据挑战;其次,要通过合适的分析处理,从大量数据中分析出工程人员需要的数据,区分出重点数据及非重点数据,分辨出哪些数据是实时需要的,哪些数据是需要存储,为以后工程人员查询所需要的,并形成实时网络性能管理、故障性能告警、客户感知预警、客户投诉处理、市场营销支撑等应用功能及数据模块。本文探讨一种基于大数据平台的移动信令系统。2015 年技术专长培养大数据架构专业3 2.系统框架信令系统通常采取分层结构设计,应用功能松耦合设计,具有优点是缩短应用上线周
5、期,降低开发成本。从下往上分为:采集层、存储计算层、接口层以及应用层。(1)采集层:在移动核心网的主要网络接口部署分光设备,分光器出来的原始信令为原始码流,经由汇聚分流设备后,解析生产原始话单xDR;xDR再经过清洗、抽取、转换操作后入库。采集层可不断扩展,获取更多的数据源。(2)存储与计算层:是整个系统的核心部分,主要解决数据的实时计算、以及xDR 话单的长期存储、预统(轻度汇总数据)的生成与存储,其他数据的存储,并通过共享模块,实现数据共享。(3)应用层:可通过多种接口方式,实现与共享层的数据交互。图 2.1 信令系统分层框架3.系统关键模块应对海量数据的高效处理、存储,多种类型数据的处理
6、2015 年技术专长培养大数据架构专业4 图 3.1 数据处理流程3.1 系统采集、解析、存储方式1、数据采集与解析原始信令由专门的采集解析服务器对原始信令数据进行采集解析;目前广东采取统一的采取汇聚平台。筛选后的原始信令保存在采集机本地存储,建立信令索引,提供信令回放、信令流程查询。解析后的信令形成XDR,送给信令汇总模块进行关联回填和各种维度的KPI预统计。关联回填后的 XDR 数据以及单用户单业务记录发送到 Hadoop 集群存储,利用 Hadoop 并行列存储的特性,容易实现线性扩容。2、数据存储数据加载集群,可实现xDR等文件的临时缓存。对不同数据采取不同存储方式:XDR 话单文件,
7、则使用Hbase数据库+HDFS 方式存储(当前存两周);汇总数据,采用 MPP 数据库长期存储,使用的是Hive/Impala+HDFS。3、数据装载共享平台前置加载集群,用于接收获取统一采集平台等上传XDR话单文件;通过加载集群,向处理集群提供缓存的原始数据,可用于数据恢复、库外预统;通过加载集群,提供应用层和统一采集平台之间的通道,提供第三方数据接口(简单处理或透传给应用层)。2015 年技术专长培养大数据架构专业5 4、数据处理数据汇总,按照多种维度进行数据汇总提高查询速度,减少存储空间。数据关联处理,多张数据表,多种xDR类型进行联合处理,形成OLAP 分析结果数据聚合处理,按全省对
8、各个地市进行聚合等,通过聚合处理,形成OLAP 分析结果。数据计算,进行各种维度的KPI 指标计算。在处理流程上,可以理解为,我们采用库内,以及库外两种处理方式。3.2 数据的建模设计为了满足多样的应用层数据需求,需要对数据建模:多租户模式,为不同权限的用户提供其所拥有访问权限的数据。每种应用都会对其抽象为一个数据模型,系统根据数据模型,生成相关的应用实现。大型信令平台通常在一个省集中部署,须考虑多租户模式。多租户模式容易出现数据和集群资源管理混乱的情况,可考虑建立统一调度平台,实现数据统一化管理,任务合理调度,集群资源按需分配。多租户模式下,数据的安全性是重要问题,集群需要将不同用户的数据统
9、一管理运维,对不同用户的数据进行权限隔离。用户通常是Hadoop集群的省公司内不同部门或者不同地市公司。Hadoop 可以对不同文件目录给不同用户赋予不同权限,实现数据统一管理。通常可以建立三级目录:第一级为用户级,不同用户拥有自己的私用目录,每个用户不能访问其他用户,同时设置公共目录,集群用户可访问公共目录。第二级根据数据类型划分,第三级跟进时间划分,对数据规范存放。数据建模体系可以大概按以下分层:1)数据装载层:缓存明细数据,网管数据,根据源系统的数据模型进行建模;2)基础数据层:存储经过处理的明细数据3)数据仓库层:存储基础数据层的汇总数据,根据数据仓库的维度建模4)数据集市层:面向主题
10、分析的汇总数据,面向应用建模采用分层、分功能建模1)原始数据建模使用分布式文件的存储和设计方法2)基础数据和明细应用数据建模使用Hbase的建模方法3)不同维度汇总数据和计算结果使用Hive/Impala的建模方法2015 年技术专长培养大数据架构专业6 图 3.2 数据处理模块4数据处理中的关键技术本小结介绍信令系统中应用的关键技术,包括:Hadoop基础、Hbase、Hive、Impala、Spark。4.1 Hadoop 基础Hadoop就是一个实现了Google 云计算系统的开源系统,包括并行计算模型 Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase。1、HDF
11、S Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。HDFS 是高容错性的,可以部署在低成本的硬件之上,HDFS 提供高吞吐量地对应用程序数据访问,它适合大数据集的应用程序。MapReduce 是 hadoop的核心组件之一,hadoop要分布式包括两部分,一是分布式文件系统 hdfs,一部是分布式计算框,就是mapreduce,缺一不可,也就是说,可以通过 mapreduce很容易在 hadoop平台上进行分布式的计算编程。Mapreduce是一种编程模型,是一种编程方法,抽象理论。核心包括map函数和 reduce 函数,map函数和 r
12、educe 函数是交给用户实现的,这两个函数定义了任务本身。2015 年技术专长培养大数据架构专业7 map函数:接受一个键值对(key-value pair),产生一组中间键值对。MapReduce 框架会将 map函数产生的中间键值对里键相同的值传递给一个reduce 函数。reduce 函数:接受一个键,以及相关的一组值,将这组值进行合并产生一组规模更小的值(通常只有一个或零个值)。4.2 基础数据采用 Hbase数据库存储移动信令中的 xDR明细数据存入 Hbase列式数据库。Hbase是运行在Hadoop上的 NoSQL 数据库,它是一个分布式的和可扩展的大数据仓库,也就是说 HBa
13、se能够利用 HDFS 的分布式处理模式,并从Hadoop的 MapReduce 程序模型中获益。这意味着在一组商业硬件上存储许多具有数十亿行和上百万列的大表。除去 Hadoop的优势,HBase本身就是十分强大的数据库,它能够融合key/value存储模式带来实时查询的能力,以及通过MapReduce 进行离线处理或者批处理的能力。总的来说,Hbase能够让你在大量的数据中查询记录,也可以从中获得综合分析报告。图 4.1 Hbase 存储示意图2015 年技术专长培养大数据架构专业8 HBase不是一个关系型数据库,它需要不同的方法定义你的数据模型,HBase实际上定义了一个四维数据模型,下
14、面就是每一维度的定义:行键:每行都有唯一的行键,行键没有数据类型,它内部被认为是一个字节数组。列簇:数据在行中被组织成列簇,每行有相同的列簇,但是在行之间,相同的列簇不需要有相同的列修饰符。在引擎中,HBase将列簇存储在它自己的数据文件中,所以,它们需要事先被定义,此外,改变列簇并不容易。列修饰符:列簇定义真实的列,被称之为列修饰符,你可以认为列修饰符就是列本身。版本:每列都可以有一个可配置的版本数量,你可以通过列修饰符的制定版本获取数据。4.3 汇总 KPI 数据使用 Hive 构建数据仓库Hive 是建立在 Hadoop 上的数据仓库基础构架。Hive 的查询是通过 MapReduce
15、框架实现的,是为实现针对海量数据的高性能处理而设计的。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据,可以进行复杂的查询。另外,HiveQL可以运用任何语言自定义 mapper和 reducer 脚本,具有极大的可扩展性,实现非常复杂的查询。Hive 采用 HDFS 进行数据存储并利用MapReduce 框架进行数据操作;所以从本质上来说,Hive 就是个编译器,它把用户的操作(查询或者 ETL)变换成M/R任务,利用 M/R 框架执行这些任务对HDFS 上的海量数据进行处理。Hive 被设计成一种批处理系统。它利用MapReduce 框架来处理数
16、据。因此,它在 MapReduce 任务提交和调度上有比较高的开销。2015 年技术专长培养大数据架构专业9 图 4.2 Hive技术框架Hive 和传统的关系型数据库有很大的区别,Hive 将外部的任务解析成一个MapReduce 可执行计划,而启动MapReduce 是一个高延迟的一件事,每次提交任务和执行任务都需要消耗很多时间,这也就决定Hive 只能处理一些高延迟的应用(如果你想处理低延迟的应用,你可以去考虑一下Hbase)。同时,由于设计的目标不一样,Hive 目前还不支持事务;不能对表数据进行修改(不能更新、删除、插入;只能通过文件追加数据、重新导入数据);不能对列建立索引。4.4
17、 上层应用查询考虑Impala 数据查询工具为提高查询效率,上层考虑应用Impala。Impala 用来进行大数据实时查询分析的开源工具。采取 SQL风格来操作大数据,数据存储到HDFS(可Hbase)。Impala 与 Hive 都是构建在 Hadoop之上,Hive 适合于长时间的批2015 年技术专长培养大数据架构专业10 处理查询分析,而Impala 适合于实时交互式SQL查询。图 4.3 Impala技术框架图 4.4 Impala部署在 HBase之上使用 Impala 来实现 SQL on Hadoop,实现对海量数据的实时查询分析。Impala 使用 Hive Metastor
18、e来存储一些元数据,为Impala 所使用。Impala会在 HDFS 集群的 Datanode 上启动进程,协调位于集群上的多个Impala 进程(impalad),以及执行查询。HBase和 HDFS 存储着实际需要查询的大数据2015 年技术专长培养大数据架构专业11 图 4.5 Impala查询示意Impala 的查询效率比 Hive 有数量级的提升。从技术角度上来看,Impala之所以能有好的性能,主要有以下几方面的原因。Impala 不需要把中间结果写入磁盘,省掉了大量的I/O 开销。省掉了 MapReduce 作业启动的开销。MapReduce 启动 task 的速度很慢(默认每
19、个心跳间隔是3 秒钟),Impala 直接通过相应的服务进程来进行作业调度,速度快了很多。Impala 完全抛弃了 MapReduce 这个不太适合做 SQL查询的范式,而是像Dremel 一样借鉴了 MPP 并行数据库的思想另起炉灶,因此可做更多的查询优化,从而省掉不必要的shuffle、sort 等开销。通过使用 LLVM来统一编译运行时代码,避免了为支持通用编译而带来的不必要开销。用 C+实现,做了很多有针对性的硬件优化,例如使用SSE指令。使用了支持 Data locality的 I/O 调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销。4.5 Spark计算框架的
20、引入Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。2015 年技术专长培养大数据架构专业12 Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Ha
21、doop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室(Algorithms,Machines,and People Lab)开发,可用来构建大型的、低延迟的数据分析应用程序。Apache Spark 是一个新兴的大数据处理引擎,主要特点是提供了一个集群的分布式内存抽象,支持需要工作集的应用。具有如下特点:基于 RDD 的抽象,实数据处理逻辑的代码非常简短;提供很多转换和动作,不仅仅是MAP/REDUCE 通过在内存中缓存数据,提高迭代式计算的性能通过将流拆成小的batch 提供 Disc
22、retized Stream处理流数据,降低时延Batch Layer,HDFS+Spark Core,将实时的增量数据追加到HDFS 中,使用Spark Core 批量处理全量数据,生成全量数据的视图。Speed Layer,Spark Streaming来处理实时的增量数据,以较低的时延生成实时数据的视图。Serving Layer,HDFS+Spark SQL,存储 Batch Layer和 Speed Layer 输出的视图,提供低时延的即席查询功能,将批量数据的视图与实时数据的视图合并2015 年技术专长培养大数据架构专业13 图 4.6 Spark计算架构4.6 硬件架构参考系统可
23、主要基于 x86 平台,采用 Pc Server 分布式集群部署。可视为在物理上,作为一个集群,资源共享。广东移动业务端到端平台采用65 台服务器,2个主节点,8 台实时计算(入库),剩余的55 台为集群。设备名称主要参数数量单位备注统一加载服务器集群2*2.6G 6核 CPU,96G/64G DDR3内存,2*900G+10*3T 硬盘,2 个 GE电口,2 个 10GE光口8 台实时数据统计处理集群2*2.6G 6核 CPU,64G DDR3内存,2*900G,2 个 GE电口,2个 10GE光台Hadoop 存储计算集群-主控服务器2*2.6G 6核 CPU,96G/64G DDR3内存
24、,2*900G 硬盘,2 个GE电口,2 个 10GE光2 台Hadoop 存储计算集群-节点服务器2*2.6G 6核 CPU,96G/64G DDR3内存,2*900G+10*3T 硬盘,2 个 GE电口,2 个 10GE光53 台2015 年技术专长培养大数据架构专业14 应用与外部接口集群2*2.6G 8核 CPU,64G DDR3内存,8*900G 1.5K硬盘,2 个 GE电口,2 个 GE光口,1*1GB Raid 卡1 台组网交换机48 口万兆交换机6 台表 4.1 广东移动某信令平台硬件配置表扩展 Spark 后,集群环境的结构拓扑可以演进成:序号服务名称说明1 Spark M
25、aster/Spark DriverSpark 集群2 DataNode/NodeManagerHadoop集群(Yarn)3 RegionServer/HMasterHbase 集群4 HiveHive 客户端5 ImpalaImpala 客户端6 Spark WorkerSpark 集群7 Spark Worker/NameNode/ResourceManager/Secondary NameNodeSpark 集群/Hadoop 集群(Yarn)8 MySQL用于存储 Hive 元数据2015 年技术专长培养大数据架构专业15 5.结论在移动数据业务急剧增长的时代,大数据技术通过分布式的集群能够高效存储海量数据并高效计算,是信令系统的有效解决方案。各省移动可以根据实际在省中心统一部署大数据集群,各省公司部门及各地市公司通过多租户模式应用系统解决日常的网络管理、优化、运维。