智能交通大数据综合服务平台方案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能交通大数据综合服务平台方案
1.概述
2.随着经济发展、城市化进程的加快以及城市规模不断扩大,机动车拥有量及道路交通流急剧增加,城市紧缺的土地资第一文库网源和高密度的土地利用模式,使得交通供给与交通需求之间的矛盾日益突出,交通拥堵、停车困难、环境恶化等交通问题不断加剧,影响了城市的可持续发展及人民生活水平的提高,阻碍了经济的发展。

大城市也面临同样的问题,近年来机动车保有量持续快速增长,高峰交通拥堵日益加剧,交通发展面临严峻形势和新的挑战。

很多城市在市区主要范围内实施“错峰限行”等交通管理措施。

采取调控交通需求削减交通需求总量其原因之一是城市道路已经难以通过基础设施规划建设来改善交通。

另一方面,如何利用智能交通系统(ITS)来缓解交通、提升交通效率也是可以着力的一个方向。

目前各交通管理部门建立了功能相对完善的交通指挥控制中心,包括交通信号控制系统、道路交通监控系统、交通诱导显示系统、停车管理系统、交通违章处理系统等,初步实现了交通信号控制、道路监控、交通信息综合查询、有/无线指挥调度及交通诱导等基础功能。

ITS的各种信息采集技术(如微波采集技术、视频采集技术、环形线圈感应式采集技术等)被广泛地运
用于交通数据采集,公安交管部门不仅具备了交通基础信息,还拥有了各类动态数据,如车辆实时营运信息、道路交通状况等,采集的数据类型包括属性数据、空间数据、影像数据等。

对交通三要素(人流、车辆、道路)连续不断采集的多源交通数据流产生了巨量的交通数据,具有典型的“3V”特性:大容量、多样性、高速度,也具有价值、复杂性的特点,属于名符其实的交通“大数据”。

仅以国内某城市内道路卡口数据为例,每天达到约15GB的数据量,要实现对城市道路交通的整体运营水平和人们出行规律的深度挖掘,就要以日、月甚至年为时间粒度对大数据进行计算和分析。

数据是智能交通的核心,数据为王的大数据时代已经到来。

如何高效地从海量数据中分析、挖掘所需的信息和规律,结合已有经验和数学模型等生成更高层次的决策支持信息,获得各类分析、评价数据,为交通诱导、交通控制、交通需求管理、紧急事件管理等提供决策支持,为交通管理者、运营者和个体出行者提供交通信息,成为当务之急。

交通数据分析的发展趋势正如TDWI大数据分析报告指出的,在交通数据分析方面,生昕格交流了交通云数据处理平台的一个具体应用实例,该平台基于廉价计算机构建集群,用Hbase存储大数据,采用MapReduce进行分布式计算;Chen等利用MapReduce框架对交通流预测;李
磊等论述了基于云计算的铁路数据中心的逻辑结构。

这些工作没有涉及交通大数据处理平台需要面对的各种应用场景以及系统构建应遵循的原则,如没有涉及实时数据流处理问题。

面对交通大数据,如何存储、组织和管理并提供服务是ITS面临的一个挑战。

本文针对如何构建交通大数据处理平台开展研究,主要从使能技术方面展开论述,不对具体业务系统进行评述。

2.交通大数据处理平台的功能需求及其逻辑框架本节通过介绍智能交通系统大数据的特点以及提供服务的要求分析了交通大数据分析平台需具备的特点,提出了交通大数据处理平台逻辑框架,并进一步阐述了平台构建的基本原则建议。

2.1交通大数据处理平台需具备的特性
如前所述,交通服务要提供全面的路况,需要交通综合监测网络对城市道路交通状况、交通流信息、交通违法行为等的全面监测,采集、处理及分析大量的实时监测数据,具有数据量巨大的特点;随着城市机动车保有量不断提高,城市道路交通状况日趋复杂化,交通流特性呈现随时间变化大、区域关联性强的特点,需要根据实时的交通流数据及时全面采集、处理、分析等,因此具有系统负载时变性高、波动大的特点,应支持低延时、高并发事务;公众出行服务对交通信息发布的时效性要求高,需将准确
的信息及时提供给不同需求的主体,信息处理、分析实时性要求高;ITS需面向政府、社会和公众提供交通服务,为出行者提供安全、畅通、高品质的行程服务,保障交通运输的高安全、高时效和高准确性,较低成本简要说明横向大规模可扩展,大规模并行处理对交通数据流、事件的实时处理快速响应复杂查询与深度分析、实时分析结果系统在硬件级、软件级实现容错系统具有相当高的可靠性对硬件平台一致性要求不高,适应能力强系统之间可实现数据共享、服务集成较高的性价比交通信息等。

因此,涉及交通数据流实时分析处理(RTAP)、联机事务处理(OLTP)、联机分析处理(OLAP)、联机分析与挖掘(OLAM)等功能。

为此,构建交通大数据分析与处理平台需要结合分布式并行处理技术与实时数据流处理技术。

其逻辑功能框架如图2所示。

层次功能结构逻辑如图2右半部分所示,自底向上分别是分布式存储层、分布式处理层、元数据服务层、处理分析层(包括复杂事件处理CEP、实时分析处理RTAP、联机分析处理OLAP、深度分析OLAM)以及交通大数据分析处理应用层;同时,需要对分布式系统进行作业、资源调度、管理的协调与监控中间件的支持,支持工作流及其调度的设施。

而在图2左半部分则展示了交通大数据分析与处理平台的部件结构图,在逻辑上可划分为实时数据流处
理子系统与大数据深度分析(知识获取与模式发现)子系统。

实时数据流处理子系统接受实时交通数据流,数据流元组记录随时间变化的空间(如位置、区域等)信息、以及车牌、卡口、速度等属性数据或视频、图像数据,具有动态、海量、高维、时效、连续、多源、无限等特性。

该子系统是实现实时交通监控系统的数据基础,能够为指挥调度、道路规划、事故预警等交通信息管理和决策提供支持,为交通用户提供更为全面和便捷的服务。

该子系统包含数据流管理系统,提供对数据流的连续查询和混合查询支持。

连续查询用于实时持续不断地监控,如“查询超速的车辆信息”以及“开始监控违法车辆行踪”是连续运行的查询,后者涉及空间数据库。

用户可以指定连续查询的滑动时间窗口,对于进入窗口且符合查询条件的事件进行报警监控。

混合查询用于那些不仅需要涉及动态流数据还需要访问静态历史和空间数据的复杂查询,如“统计未来5分钟内从西湖区流出的车流量”。

深度分析子系统运用各种先进的数据处理技术,包括数据集成技术、人工智能与数据挖掘技术、决策支持与专家系统等,根据各交通子系统的需求和它们之间的内在联系,对来自多来源渠道、格式不一致的数据在综合交通信息的基础上进行抽取、集成,并进行深度分析与处理,获
得可用于决策的模式、模型、规则和知识。

需要改造传统的数据挖掘、机器学习算法,以适应大数据的需要。

平台对外提供各种交通信息服务,实现多种模式交通信息发布,包括Web交通信息服务、电台电视台、交通服务咨询热线、手机与车载导航等移动终端、触摸屏查询终端、可变情报板、交通指南等载体的交通信息发布。

各种应用与服务之间通过一个统一的服务接口进行连接,服务接口向上层应用提供一致的调用接口,屏蔽底层细节,它是一个接口规范,用以隔离应用与服务,实现两者的独立性,以期达到平台功能扩展的灵活性。

平台的数据则来自ITS交通数据采集监控网,该层包括网络层(信息传输)和感知层(信息感知与获取)。

3.交通大数据处理平台的构建本节阐述在当前计算技术下的一个可能的平台方案。

据前述,平台必须具有高度可扩展性、实时性、高性能、低延迟分析、高度容错性、可用性、支持异构环境、开放性、易用性,同时也希望具有较低成本;其核心技术包括大规模数据流处理技术以及大规模数据管理、分析技术。

这要求我们在进行平台构建时作出合理的决策。

对大数据进行分析的基本策略是把计算推向数据,而不是移动大量的数据;对大数据处理、分析的性能优化,分布式并行是必然选择,并且软件系统性能的提升可以降
低企业对硬件的投入成本、节省计算资源,提高系统吞吐量;但异构节点之间的性能差异可能导致系统“木桶效应”,因此,异构机群需要特别关注负载均衡、任务调度等方面的设计;交通数据量及其多样性给数据管理系统提出了新的要求,在存储以及处理方式需要具备较好的扩展性,无共享结构
(Shared-nothing)的存储方式是较好的候选方案,传统数据库缺少水平扩展的能力,在系统设计决策中根据数据大小、性能瓶颈、处理能力等因素决定哪些数据由传统数据库来管理,哪些数据应当由新出现的NoSQL(NotonlySQL)存储管理系统来管理。

3.1交通大数据分析平台
根据以上分析,新近云计算是一种可选方案。

云计算是分布式处理、并行处理和网格计算的发展,是这些计算机科学概念的商业实现,具有分布式、大规模、虚拟化、高可靠性、通用性、高可扩展性、低廉等特点,它实现对共享可配置计算资源(包括网络、服务器、存储、应用和服务等)的按需服务。

云计算中的平台(集群计算框架)有谷歌的MapReduce[12]与微软的Dryad[13]等,而Hadoop是一个实现了MapReduce的开源分布式并行编程
框架;专门针对迭代计算的编程框架有Pregel等,前者是一个迭代图形计算系统,后者提供了一个迭代MapReduce 接口。

基于Hadoop的应用可以运行于机群上,实现对海量数据的处理。

此外,Hadoop平台已经形成了一个生态系统,提供一个分布式文件系统(HDFS),HBase是基于HDFS的对BigTable的开源实现,是面向列、可伸缩的分布式存储系统,支持事务以及B树范围查询和排序;Hive是基于Hadoop的大型数据仓库,其目标是简化Hadoop上的数据聚集、即席查询及大数据集的分析等操作,以减轻程序员的负担;Pig是Yahoo!提出的类似于Hive的大数据集分析平台,它提供的类SQL语言叫PigLatin,一种基于操作符的数据流式的接口,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算;Mahout 是可伸缩的机器学习算法;工具Sqoop用于传统数据库和HDFS进行数据交换;Oozie是工作流调度工具;ZooKeeper是一个分布式的应用程序协调器,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。

基于Hadoop的大数据分析平台构建如图3所示。

需要注意的是,Hadoop适用于长顺序扫描,基于Hadoop的Hive会导致较高的延迟,因此不适用于需要快速响应的场景;Hive基于只读的,不适用于事务处理的场景。

在平台构建中涉及分布式存储系统的选择。

在分布式系统中,一致性(即所有节点访问同一份最新的数据副本)、可用性(即对数据更新具备高可用性)、分区容忍性(即能容忍网络分区),这三个要素最多只能同时实现两个,这就是周知的CAP理论。

但通过显式处理分区情形,系统设计师可以通过细致地管理分
区期间的不变性约束优化数据的一致性和可用性,对三者进行平衡。

CAP的C仅指单一副本这个意义上的一致性,因此只是ACID一致性约束的一个严格的子集。

ACID一致性不可能在分区过程中保持,因此分区恢复时需要重建ACID 一致性。

CAP理论的可视化图解见图4。

而NoSQL一般放弃ACID事务策略的一致性,而是采用BASE(基本可用、事务软状态以及最终一致性)事务策略以换取高可用性和可伸缩性。

NoSQL存储系统可分为键-值存储(如Redis,TokyoCabinet)、列存储(如HBase,Cassandra)、文档数据库(如MongoDB,CouchDB)、图数据库(如neo4j,FlockDB)等;对于具体应用,应当根据需要支持的数据模型、一致性机制、存储机制、持久性保障、事务支持、可用性、查询能力、性能保障等方面来选择相应的NoSQL 存储系统,不可一概而论。

据统计,目前NoSQL存储系统有150种之多。

3.2实时数据流处理子系统
实时性是交通数据处理的关键也是其价值得以实现的基础。

如交通流的实时监控、交通拥堵状况的实时信息、交通诱导等应用均要求系统能够返回当前的交通状态;在另一些场景则需要进行连续监控,在技术上涉及连续查询。

这方面的功能需求已在第二节讲述。

在构建交通大数据处理平台中,实时交通数据流处理子系统是关键系统之一。

该系统中涉及的关键技术包括:高速数据转换,将获取的事件数据流由随机访问格式转换为分布式并行分析格式,将几分钟前获取的交通数据即时处理呈现最新分析结果;灵活的资源分配方案,不同类型的数据处理组件(即事件处理服务)与可伸缩分布式键值存储灵活连接,可以便捷地构造新的服务而不影响现有系统的运行;基于滑动窗口的连续计算技术;自适应负载平衡与资源分配优化。

Yahoo!开源的分布式实时流计算框架有Twitter的Storm、的S4、基于Hadoop的HStreaming、专门进行复杂事件处理和事件流处理的Esper等。

Storm具有高容错性、水平扩展性好、快速、可靠处理消息等优点;S4目前还处于半成品阶段,代码成熟度底,不支持动态部署;Storm支持节点在集群中动态增加或移除,S4不支持;Storm属于全内存计算,所需的内存资源多,HStreaming介于半内存和全磁盘计算,速度相对慢。

本文以Storm为例来阐述交通数据实时平台的构建。

Storm采用创建拓扑结构(topology)来转换数据流,不同于Hadoop作业,这些转换会持续处理到达的数据。

Storm为流转换提供的基本组件有:喷口(Spout)和螺栓(Bolt)。

Spout是一个输入流组件,负责将数据分发到多个Bolts执行处理任务(如过滤、聚合、查询等),Bolts执行后可产生新的流作为下级Bolts的输入流。

由此形成的整个处理结构即为一个Topology(作业或应用)
Storm交通数据流处理的软件结构
在一个基于Storm的交通数据处理集群中,有主从两种不同的节点,三种不同的守护进程:Nimbus运行在主节点上,类似于Hadoop中的Jobtracker,主要负责接收客户端提交的Topology,进行相应的验证,分配任务,进而把任务相关的元数据写入Zookeeper相应目录,此外,Nimbus 还负责通过Zookeeper来监控任务执行情况,负责全局任务调度。

从节点上运行Supervisor,类似于TaskTracker,管理本地节点的任务,负责会监听任务分配情况,根据实际情况启动/停止工作进程(worker)。

每个从节点上运行进程worker,类似于Hadoop中的map/reduce的任务,worker进行Spout/Bolt数据处理。

不同于map/reduce任务,worker是连续计算,不会停止。

不同于Hadoop,守护进程间并不直接发送心跳信息或者存在其他RPC控制协议,他们之间的信息交换是通过Zookeeper来实现。

其中Storm
处理框架的处理结果可以在分布式存储系统中持久化存储。

3.3资源统一管理与调度
交通大数据处理与分析平台涉及多种不同类型的应用,如本文所讲述的脱机应用(数据分析、数据挖掘)和联机应用(数据流实时处理),不同的应用可能采用了不同的计算框架。

为提高资源利用率、降低运维成本,将不同计算框架部署到公共的集群中,对资源(内存,CPU,网络IO等)统一管理与调度,让不同计算框架共享集群资源。

目前,这方面典型代表有Mesos[16]和YARN。

本文采用Mesos构建资源共享平台。

Mesos是一种让多个计算框架有效共享机群资源的可伸缩弹性的“核心”集群资源管理器。

它通过定义多个计算框架进行资源共享的最小接口,把任务调度与执行控制交给各个计算框架来负责。

有利于适应机群框架的多样性和快速演化性。

Mesos由master进程和框架组成。

master进程负责管理运行于机群节点上的slave守护进程,框架在slave 节点上运行任务。

master进程通过资源供应方式实施个计算框架之间的资源共享。

每一份资源供应是各slave节点空闲资源表。

master进程采用某种策略(平等分享、优先共享等)决定分配多少资源给每个框架。

每个运行于Mesos 之上的计算框架均包含两个组件:调度器和执行器。

特定
计算框架通过自身的调度器向master进程注册,选择是否接受master提供的资源,接受多少;而slave节点上的执行器(如Hadoop的执行器即TaskTracker)运行框架的任务(task)。

相关文档
最新文档