[发明专利]一种基于spark streaming处理流动车辆数据的方法及系统有效
申请号: | 201910552534.8 | 申请日: | 2019-06-25 |
公开(公告)号: | CN110287189B | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 成军;徐宏伟;宋设;单震 | 申请(专利权)人: | 浪潮卓数大数据产业发展有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/10;G08G1/01;G08G1/065 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 214029 江苏省无锡市滨*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark streaming 处理 流动 车辆 数据 方法 系统 | ||
1.一种基于spark streaming处理流动车辆数据的方法,其特征在于,该方法步骤如下:
S1、获取卡口数据:获取设置卡口的各个路口通过的车辆信息,并将车辆信息进行处理后保存符合条件的数据,支持后续应用及对外服务;具体步骤如下:
S101、在各个路口设置卡口,获取每个通过的车辆信息;
S102、卡口数据实时推送给kafka,通过流式计算,能够秒级匹配监控的样本数据,为应用提供数据支持;
S103、卡口流数据经过采集处理之后存储到消息队列,流数据处理平台消费队列数据后,通过比对样本数据将符合条件的数据进行保存,支持后续应用及对外服务;
S2、数据处理:将获取的卡口数据通过数据传输通道kafka发送到数据处理模块,数据处理模块对非实时数据流和流数据进行处理并进行离线数据存储或实时数据存储;具体步骤如下:
S201、接入数据:选用Spark-Streaming做为流数据处理的主要技术,Direct方式采用Kafka简单的consumer api方式来读取数据,满足每秒百万级的流数据处理能力;具体步骤如下:
S20101、当batch任务触发时,由Executor读取数据,并参与到其他Executor的数据计算过程中去;
S20202、driver来决定读取多少offsets,并将offsets交由checkpoints来维护;
S20303、将触发下次batch任务,再由Executor读取Kafka数据并计算;
S202、解析数据:把在kafka中接收到的消息转化为数据比对所需的结构化数据,整个数据的解析过程通过Spark-Streaming来进行;具体步骤如下:
S20201、将接收到的流数据划分为多个batch,即将实时流数据以时间片为单位进行分批,将流处理转化为时间片数据的批处理;
S20202、提交给Spark集群进行计算;
S20203、将结果批量输出到HDFS或者数据库以及前端页面展示;
S203、比对数据:根据样本数据找到符合条件的实时数据,采用Redis缓存和Spark临时视图,同时采用Spark-Streaming的动态广播变量,保证数据的一致性;具体步骤如下:
S20301、通过Structed-Streaming将数据切分成一个个连续的batch;
S20302、将数据进行序列化转换,转换之后加载成临时视图;
S20303、通过样本数据与临时视图进行比对,找到命中的数据输出到对应的存储介质中;
S3、数据应用:将经过数据处理的数据进行app推送、短信告警、邮件告警以及可视化分析。
2.根据权利要求1所述的基于spark streaming处理流动车辆数据的方法,其特征在于,所述步骤S101中车辆信息包括车牌号、品牌、颜色以及车辆图片。
3.根据权利要求1所述的基于spark streaming处理流动车辆数据的方法,其特征在于,所述步骤20303中的样本数据存储到Redis中,每次刷新样本数据时均能够保证查询效率;样本数据以广播变量的方式发送给各执行节点,保证数据的传输效率以及样本数据在所有节点的一致性;同时使用临时视图,实现只比对样本数据的唯一关键字,提高检索效率并简化应用难度。
4.一种基于spark streaming处理流动车辆数据的系统,其特征在于,该系统包括卡口数据获取模块、数据处理模块和数据应用模块,卡口数据获取模块通过数据传输通道kafka将获取的数据发送到数据处理模块,数据处理模块将经过处理并存储的数据发送到数据应用模块;
其中,卡口数据获取模块用于获取设置卡口的各个路口的通过的车辆信息,并将车辆信息进行处理后保存符合条件的数据,支持后续应用及对外服务;
数据处理模块用于对非实时数据和流数据进行处理并进行离线数据存储或实时数据存储;数据处理模块包括,
数据接入子模块,用于选用Spark-Streaming做为流数据处理的主要技术,Direct方式采用Kafka简单的consumer api方式来读取数据,满足每秒百万级的流数据处理能力;
数据解析子模块,用于把在kafka中接收到的消息转化为数据比对所需的结构化数据,整个数据的解析过程通过Spark-Streaming来进行;
数据比对子模块,用于根据样本数据找到符合条件的实时数据,采用Redis缓存和Spark临时视图,同时采用Spark-Streaming的动态广播变量,保证数据的一致性;
数据应用模块用于将数据进行app推送、短信告警、邮件告警以及可视化分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮卓数大数据产业发展有限公司,未经浪潮卓数大数据产业发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910552534.8/1.html,转载请声明来源钻瓜专利网。