- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于实时流技术诈骗短信预警系统设计与实现
基于实时流技术诈骗短信预警系统设计与实现
摘要:设计并实现了诈骗短信预警系统。介绍了实时流处理技术以及该技术在诈骗短信预警系统中的应用。该系统以旁路监听的方式分流出到达短信中心的短信,并将其置于flume监听文件夹下面,kafka缓存从flume端收集上来的信息,然后storm读取这些信息,并对这其进行过滤,统计分组,最后得到诈骗短信名单及可疑短信名单,并对诈骗短信的接收者发送预警信息。
关键词:诈骗短信;实时流处理;storm;flume
中图分类号:TP311
文献标识码:A
0 引言
随着通信服务的不断扩展,利用移动通信服务传送诈骗短信的违法和不良信息的现象也随之出现并呈蔓延趋势,许多违法行为借助此方式发生,移动客户抱怨不断增多,投诉不断升级,社会各界也普遍关注,为了遏制诈骗短信带来的危害,本文提出基于实时流处理的诈骗短信拦截提示系统的解决方案,通过系统配置的超频门限和诈骗短信内容等过滤条件,实时产生诈骗短信告警信息,实现对诈骗短信的检测应用。
1 实时流技术介绍
本系统采用的是flume+kafka+storm的实时流处理框架。在这个框架中,flume负责数据采集部分,实时监测文件夹下面文件的变化;kafka充当了flume和storm之间数据缓冲的作用,用于对数据进行缓存。storm是核心处理模块,用于对采集上来的数据实时的统计、分析过滤。下面将对该实时流处理技术里面用到的三个技术做详细的讲解。
1.1Flume介绍
Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。Flume的特点是可以通过手工配置,可以自动收集日志文件,在大数据处理及各种复杂的情况下,flume经常被用来作为数据处理的工具,Flume搜集日志的方式多种多样,比如可以检测文件夹的变化,可以监测端口信息等等,在本系统中采用的就是flume检测文件夹变化的方式来实时收集信息。本系统采用的flume版本是flume-ng 1.4,架构如图1所示。
在图1中source:顾名思义,就是数据的来源,这个来源可以来自Web Service中封装的客户端(AVRO客户端),可以是NETCAT服务,也可以是一个不断增长的日志文件(tail-f)。
channel:提供了一层缓冲机制,来实现数据的事务性传输,最大限度保证数据的安全传输。这层缓冲可以在内存中,可以在文件中、数据库中,当然也可以是自定义的实现。
sink:将数据转发到目的地,或者继续将数据转发到另外一个source,实现接力传输。可以通过AVRO Sink来实现。
在本系统中source使用的是对文件夹中文件变化进行监测的Spooling Directory Source,channel是用的内存空间,sink是自定义的kafkasink,用于向kafka发送数据。
1.2Kafka介绍
Kafka是一个开源的分布式消息系统,由LinkedIn开发,主要用于处理LinkedIn的活跃数据。活跃数据主要包括页面浏览量(PV)、用户行为(登陆、浏览、搜索、分享、点击)、系统运行日志(CPU、内存、磁盘、进程、网络)等方面的数据。这些数据通常以日志的形式进行存储,然后周期性的对这些数据进行统计分析。
传统的日志分析系统主要用于处理离线数据,对于实时数据的处理,有较大的延迟性。现有的消息队列系统可以很好的用于日志分析系统对于实时数据的处理,但通常未被处理的数据不会写到磁盘上,这样不利于Hadoop这样的离线分析系统的使用。Kafka可以很好的解决以上问题,能够很好的为离线和实时的分析系统提供服务。
kafka是一种高吞吐量的分布式发布订阅消息系统,它有如下特点:数据在磁盘上存取代价为O(1)
一般数据在磁盘上是使用BTree存储的,存取代价为O(lgn);高吞吐率,即使在普通的节点上每秒钟也能处理成百上千的message;显式分布式,即所有的producer、broker和consumer都会有多个,均为分布式的;支持数据并行加载到Hadoop中。Kafka结构如图2所示。
在图2中Producer用于收集数据,Broker用于数据的中间存储,consumer用于数据的订阅,Kafka是显式分布式架构,producer、broker(kafka)和consumer都可以有多个。Kafka的作用类似于缓存,即活跃的数据和离线处理系统之间的缓存。多个broker协同合作,producer和consumer部署在各个业务逻辑中被频繁的调用,三者通过zookeeper
原创力文档


文档评论(0)