一、 系统架构
这是基于云计算和大数据的模拟车辆行车监控系统,可模拟实现在线远程对车辆行车的信息记录以及数据处理。其中,记录信息其中包括车辆的id、经过的地点(经纬度)、时间,数据处理包括对数据的排序、错误数据的排查、通过时间以及地点在地图上获得车辆行驶的轨迹、车辆相遇次数。
系统包括数据产生模块、数据接受与处理模块、数据库模块、客户端模块。其中kafka进行数据的接收,并进行数据过滤,将过滤后的数据传递给Redis,Redis再将数据存入Hbase数据库,Spark从Hbase中获得数据,将处理后的数据再传递回Hbase,客户端从Hbase中获得数据并将其展示在前端。
逻辑架构如下:
二、数据流程分析
1. 数据采集过程分析
数据采集过程包括Kafka数据采集、Redis数据过滤、Hbase数据入库三部分,其中包括三个实体:Kafka生产者、Kafka消费者兼Redis发布者、Redis订阅者。
2.系统附加功能分析
(1)原始信息过滤
原始数据包含若干条错误记录,如经纬度不合法等,需要实时对kafka中接收到的数据进行过滤处理,将处理后的数据传递给Redis。
(3)车辆相遇次数统计
我们定义相遇为“两车之间出现在同一地点的时间间隔小于一分钟”。
首先,通过Spark从Hbase表中读取数据,自身以地点为键进行join操作,计算除自身外的车辆是否相遇;再以地点为键进行分组,同一组内的数据按照时间进行排序,遍历整个列表,找出满足小于一分钟的数据。
结果展示:
输入要查询的车辆Id,查询结果显示与之相遇过的车辆的ID以及次数。

四、实验感受及收获
在选修这门课之前,就已经对云计算与大数据产生了浓厚的兴趣,通过这学期对这个项目的完成,更加深了我对云计算与大数据的理解以及实际的应用。此次我负责的部分是hbase对数据的存储,通过这个项目我了解了nosql的特点以及运用。虽然在这个项目过程中,遇到了很多困难,但与队友们一起不厌其烦地解决了,我在这个过程中学到了很多。希望在今后的云计算与大数据的学习道路上,可以克服重重困难,加深对其的学习。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!