一种基于Hadoop的套牌车识别方法技术

技术编号:10420883 阅读:208 留言:0更新日期:2014-09-12 11:47
本发明专利技术公开了一种基于Hadoop的套牌车识别方法,本发明专利技术的输入为海量的过程记录,首先将削减维度后的有效过车记录迁移到Hadoop集群的HBase中,然后使用Hive从HBase中获取同一车牌号码出现在任意两个监控点的过车记录并按照车牌号码和过车时间分组排序,接着初始化由监控点为顶点集及两两之间距离为边权值的带权图,计算出所有监控点两两之间的最短路径,将其两两组合分块处理,最后创建多个线程,在套牌车规则下根据分块处理后监控点的两两组合并发提交Hive任务来识别套牌车,并通过校正因子获取最终的嫌疑套牌车,本发明专利技术与传统环境下不经过优化的方法相比具有较高的运行效率和加速比,可以有效地识别套牌车。

【技术实现步骤摘要】
一种基于Hadoop的套牌车识别方法
本专利技术属于海量时空数据挖据
,具体涉及到一种基于Hadoop的套牌车识别方法。
技术介绍
套牌车指套用其它车辆的车牌号码来逃避责罚的车辆。由于套牌车可以逃避所造成的严重后果和上缴的费用,对人民生命财产和公共安全造成了极大的威胁,所以一直是交通监管部门重点打击的对象,并被国家严令禁止。因此,在海量交通流过车数据中主动发现和识别套牌车,不仅对公安交警主动预警和事后侦查具有重要意义,更是对真正车主和套牌车肇事受害者利益的保护。然而,随着交通信息流的快速增长,其数据量已达到TB级甚至PB级的规模。传统计算机系统已不能满足需求。此外,交通信息流具有高维、时空相关性等特征,使得数据分析处理更加复杂。传统方法在处理海量交通流数据时受到计算能力、存储能力等因素的影响,表现出存储空间不够、稳定性差、耗时长等诸多缺点,不能有效地识别套牌车。
技术实现思路
本专利技术针对现有技术的不足,提供了一种基于Hadoop的套牌车识别方法。本专利技术一种基于Hadoop的套牌车识别方法,具体包括以下步骤:步骤1:在关系型数据库的海量过车记录表中,每一条交通流过车记录由序列号、车牌号码、过车时间、地点编号、方向编号属性组成,删除车牌号码为空的无效记录;削减掉序列号和方向编号两个与套牌车识别方法无关数据维度,将保留车牌号码、过车时间和地点编号三个维度的过车记录迁移到Hadoop集群的分布式数据库HBase中;步骤2:使用分布式数据仓库Hive从分布式数据库HBase中获取同一车牌号码出现在任意两个监控点的过车记录;获取的每一对监控点的过车记录按照车牌号码和过车时间分组排序,即首先按照车牌号码从小到大排序,然后在相同车牌号码的记录中按过车时间从先到后排序;步骤3:初始化由m个监控点为顶点集及两两之间距离为边权值的带权图G,计算出带权图G中所有监控点两两之间的最短路径;将所有监控点的两两组合种分成n份,当n>1且整除时,每份包含种组合,不能整除时,前面n-1份包含种组合,最后一份包含种组合;将每对监控点di和dj(i≠j)及最短路径值Dist(di,dj)保存到Map<key,value>中,以mapi(i=1,2,3,...,n)表示每份中所有监控点对相对应的Map<key,value>的集合,其中key为di@dj,value为Dist(di,dj)值;步骤4:创建n个线程,每个线程根据步骤3得到的mapi,遍历mapi中的key值,封装一个Hive任务,根据套牌车规则并行识别key值中两监控点内的套牌车,即如果某一号牌的车辆通过一对监控点的时间小于在最大极限速度下通过的时间,则将该号牌的过车记录放入候选套牌车集;假设车牌号码为H的车辆通过监控点di和dj的时间差为TDHi,j,在最大极限速度下通过监控点di和dj最短路径下的时间为即当满足规则则将该车牌号码H的过车记录放入候选套牌车集中;步骤5:n个线程并发运行步骤4提交的Hive任务,每个线程负责提交步骤3中每份包含的监控点两两组合相对应的Hive任务进行分布式套牌车识别;在步骤4得到的候选套牌车集中,设置校正因子λ(0<λ≤1)用于校正最大极限速度,转换为为通过校正因子λ校正后的值并应用于识别套牌车获取最终的嫌疑套牌车集,当满足规则则将该车牌号码H的过车记录放入嫌疑套牌车集中;步骤6:各线程提交完成后,待集群中运行的所有Hive任务执行完毕,输出最终的嫌疑套牌车集中的车牌号码。本专利技术提出的方法基于Hadoop集群,采用HBase分布式数据库,Hive数据仓库及Zookeeper分布式协调组件,构建了HBase+Hive集成环境,采用数据分割和Hive任务并行相结合的策略,通过算法优化有效减少套牌车识别匹配次数。在海量数据中识别套牌车,与传统环境下及不经过优化的方法相比,采用本专利技术所述方法可使套牌车识别过程具有较高的运行效率和加速比,可以有效地识别套牌车。附图说明图1套牌车识别流程图;图2云环境架构图;图3分布式识别套牌车图。具体实施方式本专利技术所提供的一种基于Hadoop的套牌车识别方法的具体实施方式主要分4步,如图1所示,基于Hadoop集群的架构如图2所示:为叙述方便,定义相关符号如下:Pi:第i(i=1,2,...,n)个线程。O={o0,...,oi,...,on-1}(0≤i≤n-1):过车记录对象集合。D={d0,...,di,...,dm-1}(0≤i≤m-1):监控点集合。T={t0,...,ti,...,tq-1}(0≤i≤q-1):时间戳集合。H:车牌号码。T:过车时间。Dist(di,dj):监控点di和dj之间的最短路径。Sij:同时出现在地点编号为di和dj的过车记录集。TDHi,j=ti-tj:同一车牌H经过监控点di和dj的时间差。监控点di和dj之间的最大极限速度。在速度下通过监控点di和dj的最短路径的时间。通过校正因子λ校正后的值。(1)数据预处理检查过车记录数据集的一致性和完整性约束条件,使用SQL语句删除车牌号码为空的无效记录;使用SQL语句获取关系型数据库中的数据集,削减了过车记录的序列号和方向编号两个维度,将持有车牌号码、过车时间和地点编号三个维度的过车记录分批导入到分布式数据库HBase中。(2)分布式套牌车识别方法m个监控点的两两组合数为分成n份(n的值通过实验获取的Hadoop集群下并行提交Hive任务的线程数),当n>1且整除时,每份包含种组合,不能整除时,前面n-1份包含种组合,最后一份包含种组合。通过最短路径算法计算得到Dist(di,dj)。将每对组合及最短路径值保存到中,其中key为di@dj,value为Dist(di,dj)值。因此,每一份中监控点两两组合数及相应的最短路径保存到mapi(i=1,2,...,n)。遍历mapi中的key值,根据di和dj使用Hive语法的leftsemijoin来获取Sij数据集,并使用orderby语法按车牌号码和过车时间分组排序。Sij中的数据根据车牌号码及过车时间分组排序优化,可以大大减少套牌车比对次数。例如,Sij中有六个过程记录为{(h1,t1,d1),(h1,t2,d1),(h1,t3,d1),(h1,t4,d2),(h2,t5,d1),(h2,t6,d2)},在比对的过程中,首先根据车牌h1得到两个指针分别指向第一和第四个记录,然后从第一个记录开始依次比较1-2,1-3,1-4,2-3,2-4...,判断两指针指向记录的监控点相同时直接跳过该比对,当监控点不同时进入套牌车规则比对,依次类推。接着第一个指针从第五条记录开始,第二个指针根据车牌h2指向第六个,比较的过程和前面一样,故在比较车牌h2时,直接跳过了前面的记录,大大减少比对次数。一个线程Pi负责处理一个mapi,并发的运行提交Hive任务,如图3所示。(3)套牌车规则假设车牌号码为H的车辆通过监控点di和dj的时间差为TDHi,j,在最大极限速度下通过监控点di和dj最短路径下的时间为即当满足规则则将车牌号码H的过车记录放入候选套牌车集。套牌车规则应用于套牌车识别方法。(4)结果验证在候选套牌车集中,通过设置校正因子为λ(0<λ≤1),用于校正最大极限速度的值本文档来自技高网...
一种基于Hadoop的套牌车识别方法

【技术保护点】
一种基于Hadoop的套牌车识别方法,其特征在于,该方法具体包括以下步骤: 步骤1:在关系型数据库的海量过车记录表中,每一条交通流过车记录由序列号、车牌号码、过车时间、地点编号、方向编号属性组成,删除车牌号码为空的无效记录;削减掉序列号和方向编号两个与套牌车识别方法无关数据维度,将保留车牌号码、过车时间和地点编号三个维度的过车记录迁移到Hadoop集群的分布式数据库HBase中; 步骤2:使用分布式数据仓库Hive从分布式数据库HBase中获取同一车牌号码出现在任意两个监控点的过车记录;获取的每一对监控点的过车记录按照车牌号码和过车时间分组排序,即首先按照车牌号码从小到大排序,然后在相同车牌号码的记录中按过车时间从先到后排序; 步骤3:初始化由m个监控点为顶点集及两两之间距离为边权值的带权图G,计算出带权图G中所有监控点两两之间的最短路径;将所有监控点的两两组合种分成n份,当n>1且/n整除时,每份包含/n种组合,不能整除时,前面n‑1份包含/n种组合,最后一份包含%n种组合;将每对监控点di和dj(i≠j)及最短路径值Dist(di,dj)保存到Map<key,value>中,以mapi(i=1,2,3,...,n)表示每份中所有监控点对相对应的Map<key,value>的集合,其中key为di@dj,value为Dist(di,dj)值; 步骤4:创建n个线程,每个线程根据步骤3得到的mapi,遍历mapi中的key值,封装一个Hive任务,根据套牌车规则并行识别key值中两监控点内的套牌车,即如果某一号牌的车辆通过一对监控点的时间小于在最大极限速度下通过的时间,则将该号牌的过车记录放入候选套牌车集; 假设车牌号码为H的车辆通过监控点di和dj的时间差为TDHi,j,在最大极限速度下通过监控点di和dj最短路径下的时间为即当满足规则则将该车牌号码H的过车记录放入候选套牌车集中;步骤5:n个线程并发运行步骤4提交的Hive任务,每个线程负责提交步骤3中每份包含的监控点两两组合相对应的Hive任务进行分布式套牌车识别;在步骤4得到的候选套牌车集中,设置校正因子λ(0<λ≤1)用于校正最大极限速度,转换为为通过校正因子λ校正后的值并应用于识别套牌车获取最终的嫌疑套牌车集,当满足规则则将该车牌号码H的过车记录放入嫌疑套牌车集中;步骤6:各线程提交完成后,待集群中运行的所有Hive任务执行完毕,输出最终嫌疑的套牌车集中的过车记录。...

【技术特征摘要】
1.一种基于Hadoop的套牌车识别方法,其特征在于,该方法具体包括以下步骤:步骤1:在关系型数据库的海量过车记录表中,每一条交通流过车记录由序列号、车牌号码、过车时间、地点编号、方向编号属性组成,删除车牌号码为空的无效记录;削减掉序列号和方向编号两个与套牌车识别方法无关数据维度,将保留车牌号码、过车时间和地点编号三个维度的过车记录迁移到Hadoop集群的分布式数据库HBase中;步骤2:使用分布式数据仓库Hive从分布式数据库HBase中获取同一车牌号码出现在任意两个监控点的过车记录;获取的每一对监控点的过车记录按照车牌号码和过车时间分组排序,即首先按照车牌号码从小到大排序,然后在相同车牌号码的记录中按过车时间从先到后排序;步骤3:初始化由m个监控点为顶点集及两两之间距离为边权值的带权图G,计算出带权图G中所有监控点两两之间的最短路径;将所有监控点的两两组合种分成n份,当n>1且整除时,每份包含种组合,不能整除时,前面n-1份包含种组合,最后一份包含种组合;将每对监控点di和dj(i≠j)及最短路径值Dist(di,dj)保存到Map<key,value>中,以mapi(i=1,2,3,...,n)...

【专利技术属性】
技术研发人员:俞东进平利强李万清邹绍芳窦文生方炜
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1