聂玉强, 邝小磊
(广东交通职业技术学院, 广州 510800)
基于Map-Reduce的浮动车数据实时分析及存储方法研究
聂玉强, 邝小磊
(广东交通职业技术学院, 广州 510800)
针对目前公共安全数据处理任务仍由各平台各自以业务划分方式垂直分配计算资源,导致任务处理效率、资源利用率低下的状况,提出了一种基于云技术的多源数据处理算法,实现了数据管理、地图匹配、速度信息提取等算法,通过测试分析,该算法可以很好地实现数据处理.
云技术; 浮动车; 数据; 算法
交通信息资源的整合,有利于为交通各行业部门、单位及社会服务机构等提供一个信息交流、内部协作、强化规范管理、提升原有资源价值的平台,能为公众及交通管理部门等单位提供道路基础信息、交通动态、旅游交通、环境气象查询、线路规划和驾车出行方案建议等多样化的出行服务信息,从而全面提升公众出行信息服务水平,树立政府和交通管理部门的形象. 路况信息作为公众出行信息的重要组成部分,主要通过分析车载GPS定位数据得到. 随着线圈、视频等检测设备应用的推广及交通信息资源整合的需求,路况信息从单一来源逐步向多源信息融合转变,针对路况信息多源性和实时性分析需求,研发了基于云技术的浮动车数据处理算法,主要包括基于云技术的浮动车数据存储技术、基于云分析的海量浮动车GPS数据处理框架、浮动车GPS数据实时匹配算法和多源数据融合流程.[1-2]
多源数据的融合流程是利用GPS检测与检测设备数据(如感应线圈)相融合来实现突发事件场景下的路段行程时间估计,通过多源数据融合分析提高行程时间估计在突发事件等各种场景下的准确性,具体如图1所示.
图1 项目多源数据融合流程
图2 基于云分析的城市大规模浮动车数据实时处理分析框架
图2所示的基于云分析的城市大规模浮动车数据实时处理分析框架包括3个部分,以数据管理为基础,搭建云计算分析环境对原始浮动车GPS数据进行实时处理(首先进行实时地图匹配,然后进行交通参数提取),将分析得到的交通参数,作为高一级的ATMS(交通管理系统)和ATIS(出行者信息系统)的信息数据. 本文主要研究了基于云分析的浮动车数据管理和数据计算应用2个方面,浮动车数据的管理和存储采用基于非关系型数据模型技术,通过分析技术提升地图匹配算法的实时计算效率,最后利用云分析技术对完成匹配的浮动车GPS数据进行提取,并进行路段平均速度实时计算.[3]
浮动车GPS数据是车载GPS终端实时采集得到的动态数据. 单个浮动车一次传输的GPS数据,受到传输环境、传输硬件等的限制,一般为10~90字节. 虽然单次数据传输数据量不大,但是由于城市浮动车数量巨大(1~3万)且传输周期较短(10~45 s),一天总体记录数则变得十分巨大. 同时由于浮动车一般以出租车为主,由于出行需求的集中性,在时空上存在数据不均的情况,采用传统的关系数据库将会产生大量的关系表,导致数据检索、查询速度严重降低,增加数据维护及更新难度.
因此,本文在数据组织上,采用了分布式存储模型(Bigtable),以其作为浮动车数据存储及管理的核心数据模型.[4]Bigtable表格由多行组成. 在本文中,浮动车数据与道路网数据分别进行存储. 图3表示了浮动车数据在本文核心数据模型中的表现形态,图4表示道路网络拓扑结构数据,同样参考浮动车数据存储模型进行组织管理,按照列族的方式进行数据组织,每行数据与相应的属性对应,如浮动车GPS数据的位置坐标项即为一个列族.
图3 浮动车数据记录Bigtable表
图5 Mapreduce架构下的海量GPS数据分层并行处理技术
图4 道路数据记录的Bigtable表
不经过实时地图匹配的浮动车GPS原始数据记录无法提供所需的交通信息,因此需要通过轨迹重建才能提供给各种核心模型算法进行实时交通信息的计算. 本文搭建基于MapReduce和Hadoop架构的分布式任务处理环境,具体如图5所示,将车联网海量GPS数据处理任务在业务层次和应用层次按照MapReduce模型拆分成若干地图匹配、需求估计等子任务,根据各平台已有计算资源的使用情况对每个子任务作业进行合理调度分配,最后进行运算结果的合并,从而实现各平台计算资源的整合及合理使用.[5]
搭建了基于MapReduce架构,拥有20个虚拟化节点规模的车联网海量GPS数据并行计算处理平台,在此基础上重点开展了基于海量GPS数据的地图匹配并行计算模型算法的研究. 基于海量GPS数据的地图匹配一般处理流程如图6所示.
根据图6,结合MapReduce并行处理的特点,本文的地图匹配共包含4个部分,如图7所示,分别为Map、Combine、Partition和Reduce. 其中:
图6 地图匹配一般处理流程
1)Map部分负责从数据库读取浮动车GPS数据记录,并进行预处理.
2)Shuffle和Sort阶段负责将经过预处理的GPS记录集先打乱再进行排序,形成以车牌为关键字的记录集,将属于同一辆车的记录合并.
3)Combine和Partition阶段是可选步骤. 其作用是将map产生的中间态数据在Mapper本地进行汇聚,从而减少传递给Reducer的数据. Partition的作用是根据键或值及Reduce任务的数量来决定当前的这对输出数据最终应该交由哪个Reduce任务处理. 默认对键进行哈希排序后再与Reduce任务数量取模,这样可以平均Reduce的处理能力.
4)Reduce 部分主要用于计算各车辆的行驶特征量,搜索获取最佳匹配并修正GPS定位点.
图7 基于MapReduce架构的地图匹配并行计算模型
其中二、三阶段由MapReduce支撑框架Hadoop内置实现. 通过4个阶段的地图匹配过程,课题组实现了地图匹配并行计算算法模型,对比传统地图匹配计算算法模型的计算效率,该计算模型的计算效率具有明显提升(约30%). 该研究成果也已为本课题其他相关研究(如交通流参数获取、交通状态感知)提供了相应技术支撑.
在获得了浮动车数据地图匹配信息后,需要解决的问题是如何利用这些GPS数据得到路段速度数据. 在本研究中,将当前路段上所有浮动车即时速度的平均值作为该路段速度,采用Bigtable空间四叉树索引,将路段进行分块,建立映射任务基本单元,以GPS数据时间信息和GPS设备编号为行主键,以车速为对应主键值,通过映射关系,得到该路段相关浮动车GPS数据的即时速度值集合,即中间数据,交通速度信息实时计算伪代码如图8所示.[6]
本文测试数据采用广州市营运车辆的GPS数据子集进行测试,子集中涉及的车辆数共计8 249辆,车辆GPS数据平均反馈时间为18.44 s. 所有测试数据经由GPS数据模拟发生软件,按照实际的车辆数据发生间隔,发送到分析服务器,模拟实时发送、处理过程. 测试设备及结果如表1~3所示.
从表2、表3可以看出,本文提出的交通速度信息实时提取算法具有很好的伸缩性和并行计算能力,计算性能随着计算单元(EC2)数量的增加而相应提高.
图8 交通速度信息实时计算伪代码
表2 计算性能比较(地图匹配)
表3 计算性能比较(路段速度)
[1] 宋鸿, 陈宁, 彭建国, 等. 多源交通信息融合技术在重庆市智能交通诱导系统中的应用研究[J]. 交通标准化, 2013(1): 91-95.
[2] 董哲, 吴瑶, 孙德辉. 内定位技术的多源数据融合算法研究[J]. 计算机工程与设计, 2014(5): 1526-1530.
[3] 易高翔, 潘长城, 郭建中, 等. 基于多源数据融合的石油罐区安全监控模型[J]. 交通工程, 2013(3): 90-94.
[4] 陈珂锐, 潘君. 基于扩展特征向量空间模型的多源数据融合[J]. 山东大学学报: 理学版, 2013(11): 87-92.
[5] 张文峰, 史忠科. 对高速公路移动目标跟踪的多传感器采集数据融合[J]. 公路交通科技, 2009(3): 135-138.
[6] 徐华中, 吴苏, 刘念. 基于多传感器数据融合技术的短时交通流检测[J]. 传感器与微系统, 2009(2): 104-109.
Research of real-time analysis and storage method of floating car data based on Map-Reduce
NIE Yu-qiang, KUANG Xiao-lei
(College of Mechanical and Electrical Engineering, Guangdong Communication Polytechnic, Guangdong Guangzhou 510800, China)
The public security data processing tasks were conducted by the respective business platforms vertically, and this may cause the low processing efficiency and inefficient use of computing resources. This paper proposed a multi-source data processing algorithm based on cloud computing technology, and realizes the data management, map matching, and speed information extraction algorithm. The result of test indicated this algorithm can achieve a good data processing.
cloud computing technology; floating car; date; algorithm
10.13986/j.cnki.jote.2015.04.004
2015- 05- 14.
广东省交通运输厅科技项目(2013-02-095)
聂玉强(1964—),男,硕士研究生,教授,高级工程师,研究方向为能源与系统控制、技能技术、机电一体化技术方向. E-mail:fsnyq@126.com.
U 491.2
A
1008-2522(2015)04-20-05