您现在的位置:首页 >> 新•资讯 >> 正文
基于流式计算的DPI数据处理方案及实践
发表时间:2018年8月9日 16:05 来源:《移动通信》2018年1月 责任编 辑:麒麟

Storm的特点是成熟,是流式处理框架实际上的标准,模型、编程难度都比较复杂,框架采用循环处理数据,对系统资源,尤其是CPU资源消耗很大,当任务空闲时,需要sleep程序,减少对资源的消耗。Spark Streaming兼顾了批处理以及流式处理,并且有Spark的强大支持,发展潜力大,但与Kafka的接口平滑性不够。Kafka Stream是Kafka的一个开发库,具有入门、编程、部署运维简单的特点,并且不需要部署额外的组件,但对于多维度的统计来说,需要基于不同topic来做分区,编程模型复杂。Flink跟Spark Streaming很像,不同的是Flink把所有任务当成流来处理,在迭代计算、内存管理方面比Spark Streaming稍强,缺点是社区活跃度不高,还不够成熟;PipelineDB是一个流式计算数据库,能执行简单的流式计算任务,优势是基本不需要开发,只要熟悉SQL操作均可以轻松使用,但对于集群计算,需要商业上的支持。

4 DPI数据处理方案

基于实际任务需求以及上文流式框架的对比,由于Kafka Stream编程难度小,不需要另外安装软件,与Kafka等组件无缝连接,比较稳定,并且各种性能均比较优秀,因此本文选择了Kafka Stream作为流式处理的核心组件。

4.1宽带DPI处理

为了完成宽带DPI数据的实时抓包、资料填补、清洗、转换及并入库等工作,应用了上述DPI数据处理方案。具体项目方案如图5所示:

图5 广州宽带DPI处理方案

Mina进程是一个JAVA程序,基于mina框架开发,主要接收AAA数据包,获得用户账户信息,解析计算,并持久化到redis,最后发送给抓包(Capture)程序。Capture程序由C语言编写,使用开源pcap抓取网卡http包,解析,结合用户帐号资料,把DPI写入到Kafka中。Kafka stream完成DPI的实时清洗和转换工作。

Flume[15]是Cloudera开源的分布式可靠、可用、高效的收集,聚合和移动不同数据源的海量数据系统,配置简单,基本无需开发,资源消耗低,支持传输数据到HDFS,非常适合与大数据系统结合。本项目将流式处理完后的数据通过Flume从Kafka中写入到HDFS,建立hive表,为上层应用提供数据。

Kafka Stream采用自主研发的ETL框架[16],负责数据过滤(图片、视频等去掉),数据处理(获取网络ID、字段解析等)。ETL框架采用JAVA语言开发,支持多种数据源,包括普通文本、压缩格式及xml立体格式等。支持多种大数据计算框架,包括Map/Reduce、Spark streaming、Kafka Stream和Flume等;具有扩展方便、字段校验、支持字段的通配符及支持维表查询等功能。在运维方面,支持变量引用以及出错处理等功能。

4.24GDPI实时统计

以电信4G DPI信息作为数据源,通过流式处理,完成DPI的实时统计工作,包括多粒度(5分钟/1小时/1天)去重用户统计、多粒度去重不同号码头用户统计、多粒度流量统计及多粒度去重域名统计等。4G DPI实时统计具体项目方案如图6所示:

[1]  [2]  [3]  [4]  [5]  [6]  [7]  
高层访谈
凌动智行史文勇:品智出行, 重新定义车辆对生活的价值和意义
众所周知,手机是基础的通讯工具,车是基础的交通或者出行工具,而发动机是传统车里面非常高的..
专访张启亮:勇担工业互联推手,服务百万设备上云
近日,在第二十二届中国国际软件博览会上,徐工信息总经理张启亮向《人民邮电》报记者讲述了工..
观点态度
云计算的第二个十年:三大运营商如何迎接?
2018年,我国云计算进入第二个十年。站在国家方队里三大运营商的云计算也进入了新的发展阶段。<..
国内手机市场半年报:头部格局定型 中小品牌陷入集体焦虑
2018年已过半,回看这半年, 头部品牌的吸附效应越来越明显,中小品牌正陷入到集体焦虑中。

..
移动互联
手机
智能设备
汽车科技
通信
IT
家电
办公打印
企业
滚动
相关新闻
关于我们 | 联系我们 | 友情链接 | 版权声明
新科技网络【京ICP备18031908号-1】
Copyright © 2018 Hnetn.com, All Right Reserved
版权所有 新科技网络
本站郑重声明:本站所载文章、数据仅供参考,使用前请核实,风险自负。