交通管控大数据平台数据源分布式消息总线Kafka流处理Spark streaming数据存储Hadoop数据应用过车数据数据格式转换车辆特征二次识别HDFS实时预警过车图片编码、字段属性转换人-车-违法-事故信息关联HBASE信息检索六合一接口关联接口输入和输出实时比对Hive分析研判公安数据接口关联特征筛查Map/Reduce布控报警
3.3 网络部署架构
平台部署在公安网内,设备专网数据通过边界交换平台进入公安网,数据库服务器、流处理服务器、二次识别服务器可根据数据量规模动态调整。如下图所示:
设备网公安网指挥中心边界交换平台数据接入服务器二次识别服务器数据库服务器应用发布服务器周边系统流处理服务器周边系统 3.4 数据流结构
平台通过Kafka消息总线汇聚各类道路交通信息、通过Spark进行实时流计算,通过HBASE/HDFS进行分布式存储,通过MapReduce进行分布式计算,通过应用服务器的数据接口,将结果分发给集成平台和各类基础应用系统,进行信息检索和分析研判。如下图所示:
过车数据MapReduce实时预警实时引擎KafkaHbase/HDFS离线引擎信息检索分析研判Spark Streaming稽查布控
3.5 关键技术路线
平台采用X86架构通用服务器、“云计算-分布式”架构,实现实时流式计算、分布式数据存储、高性能并发读写以及分布式计算机分析挖掘。与六合一、PGIS、等平台有机结合、一体化应用。
流数据处理软件支持Kafka消息队列,良好兼容Hadoop系统,可通过SQL访问,延迟在2秒内;高可靠、高容错、高扩展、高吞吐、充分利用系统资源。支持小批量处理模式,每一个批次的数据的时间间隔可以短至500毫秒。
系统数据库服务器操作系统可选用UNIX、WINDOWS,数据库采用Oracle,要求10g以上版本。应用服务器操作系统可选用WINDOWS、UNIX、LINUX,应用中间件采用Tomcat或WebSphere,Tomcat要求版本6.0以上,WebSphere要求6.1以上版本。系统技术实现架构采用JAVA;具体应用上采用以B/S多层架构的分布式应用架构。
3.5.1 Hadoop技术
Hadoop实现了一个分布式文件系统(Hadoop Distributed ),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。优点如下:
Hadoop是一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。
Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工
作数据副本,确保能够针对失败的节点重新分布处理。
Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。 Hadoop 还是可伸缩的,能够处理PB级数据。
此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用。 Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。
3.5.2 Spark技术
Spark是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速。Spark非常小巧玲珑,由加州伯克利大学AMP实验室的Matei为主的小团队所开发。使用的语言是Scala,项目的core部分的代码只有63个Scala文件,非常短小精悍。
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为Mesos的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。
Spark 集群计算架构:
虽然 Spark 与 Hadoop 有相似之处,但它提供了具有有用差异的一个新的集群计算框架。首先,Spark 是为集群计算中的特定类型的工作负载而设计,即那些在并行操作之间重用工作数据集(比如机器学习算法)的工作负载。为了优
化这些类型的工作负载,Spark 引进了内存集群计算的概念,可在内存集群计算中将数据集缓存在内存中,以缩短访问延迟。
Spark 还引进了名为弹性分布式数据集(RDD) 的抽象。RDD 是分布在一组节点中的只读对象集合。这些集合是弹性的,如果数据集一部分丢失,则可以对它们进行重建。重建部分数据集的过程依赖于容错机制,该机制可以维护 \血统\(即允许基于数据衍生过程重建部分数据集的信息)。RDD 被表示为一个 Scala 对象,并且可以从文件中创建它;一个并行化的切片(遍布于节点之间);另一个 RDD 的转换形式;并且最终会彻底改变现有 RDD 的持久性,比如请求缓存在内存中。
Spark 中的应用程序称为驱动程序,这些驱动程序可实现在单一节点上执行的操作或在一组节点上并行执行的操作。与 Hadoop 类似,Spark 支持单节点集群或多节点集群。对于多节点操作,Spark 依赖于 Mesos 集群管理器。Mesos 为分布式应用程序的资源共享和隔离提供了一个有效平台。该设置充许 Spark 与 Hadoop 共存于节点的一个共享池中。
3.5.3 车辆特征二次识别技术
运用车辆特征识别技术对公路电子监控(卡口)和电子警察图片进行二次识别,采集车辆号牌、品牌型号、车身颜色、车辆型号等信息,通过后台实时比对,准确发现假牌、套牌等违法嫌疑车辆,通过提取车辆特征信息准确定位唯一车辆。
4 功能设计
4.1 功能结构图
交通管控大数据平台首页过车总量车型车系过车流量过车流量套牌预警布控报警实时预警套牌预警布控报警信息查询机动车公告信息查询机动车基本信息查询驾驶人基本信息查询驾驶员关联信息查询机动车违法信息查询驾驶人违法信息查询机动车轨迹查询车系搜车以图搜车交通事故信息查询被盗抢车辆信息查询机动车保险记录查询危险品车辆查询重点、在逃人员查询统计分析过车总量统计过车车型统计过车车系统计辖区流量统计卡点流量统计年检逾期统计违法未处理统计假套牌过车统计套牌时空分析隐蔽车辆分析首次入城车辆分析碰撞分析技战法出入案发现场车辆分析异常车辆分析车辆OD分析车脸特征分析车辆布控添加布控布控审核布控导入系统设置权限管理用户管理机构管理字典维护运维管理系统资源监控管理服务状态监控管理落脚点分析车位特征分析阈值维护布控数量统计红眼客车分析布控统计布控类型统计伴随车分析 4.2 功能模块
4.2.1 首页
4.2.1.1 过车总量 (1)功能描述
在首页显示当日过车和最近7天过车总量并在地图标注卡口点位。 (2)功能界面
(3)程序逻辑
饼图:展示当天卡口过车总数,并按照车辆类型分类进行统计。 曲线图:显示全市卡口最近7天/30天的过车总量过车曲线图。 地图:与饼图联动,点击饼图区域,地图高亮标示,所有涉及的卡点。 更多:点击进入车辆查询界面。 4.2.1.2 车型车系 (1)功能描述
用图表显示当日所有监测点的车型、车系分类。按照总量倒序排列。 (2)功能界面
(3)程序逻辑
车辆类型维护:在系统维护模块,可以对六合一的车辆类型进行合并,多个六合一车辆类型,对一种本系统的车辆类型。
交通管控大数据分析研判系统



