1. 引言
随着国民生活水平的提高,群众购车刚性需求旺盛,汽车保有量继续呈快速增长趋势 [1],智慧交通正成为有前途的产业。但国内基础设施建设速度落后于车辆增长速度,交通拥堵现象十分普遍,交通事故率居高不下,交通形势严峻。在人工智能蓬勃发展的时代,将人工智能和交通流疏导业务进行融合势在必行。
为实现交通疏导,许多学者对如何缓解交通拥堵和设计智能交通控制系统展开了研究。白翰 [2] 和成卫 [3] 等人都提出了交叉口突出的交通拥堵问题以及交叉口的通行能力在交通管理、规划与设计中的重要地位,刘蘅 [4] 关注到了交叉路口拥堵的时空演变特性。朱茵等人 [5] 总结,很多平面交叉口的通行能力不足相关路段的平均通行能力的50%,为充分利用交叉口道路资源,交通控制系统需要最大限度地发挥交叉口的通行能力。邹涛 [6] 表示目前国内交通信息化系统设计呈现出“综合信息中心 + 专业应用系统”的模式,设计交通预警与应急指挥业务平台。滕岳等人 [7] 设计基于单片机的智能交通系统,使用交通灯、行人闯红灯、车流量检测三个模块。徐花芬 [8] 等人基于物联网,设计道路及车辆监测、潮汐车道智能控制、车道方向实时调整、车道导向智能控制和历史数据统计分析五大模块来完成智能交通系统,缓解交通拥堵。孙琪林等人 [9] 构建监测异常事件分析系统,并预判高速公路车流量。董炜等人 [10] 阐明了边缘计算技术在交通视频监控系统中运用的可行性,展示基于5G的城市交通视频监控系统总体结构。曹行健等人 [11] 研究了交通视觉图像的处理和交通数据的边缘计算,为智慧交通系统提供感知、识别、检测、跟踪和路径规划等功能,实现信息的整合与共享。钟力 [12] 基于智慧交通的研究热点——面向应急车辆的信号控制方法,构建交通信号灯智能控制系统架构,缩短应急车辆出行时间的62.85%。
我国城市智能交通系统与其他发达国家相比发展较晚,在硬件和软件开发中仍然存在很多的问题 [13]。现有的智能交通系统操作繁琐、辅助决策信息不足,难以统筹交通流量、天气状况等诸多信息。且交通大数据来源广泛,包括动态的交通流数据、静态的道路基础数据、气象信息等 [14],目前缺乏一种快速存取海量数据的方案,为深度挖掘数据背后的利用价值造成了不便。
本文将利用大数据存储技术、快速检索技术、前端可视化技术实现交通的多样化感知,开发一个能够实现交通疏导控制的交通数据可视化系统,对数据进行多维度分析,提高识别违法车辆和特种车辆的准确度,降低疏导交通的人力成本和时间成本,提高社会整体运转效率。
2. 系统设计
2.1. 需求分析
智能交通疏导控制系统主要面向两类用户群体:交管部门人员和系统管理人员。
面向交管部门人员,系统应当允许通过大屏实时查看城市交通运行状况,包括拥堵状况、流量信息、违法情况等,在出现特种车辆时能及时进行应急指挥,同时能够直观地查看过往数据,以便合理安排警力进行交通疏导。面向系统管理人员,给予管理资源、信息和设备的权限,包括路口交通信息、设备信息、施工信息、警务信息等。
交通疏导控制系统分为智能指挥中心和后台管理系统两大部分,智能指挥中心主要面向交管部门人员,为指挥人员提供丰富的视觉传达信息 [15]。指挥中心包含数据总览、应急指挥、区域路段信息、历史信息概览四大模块。后台管理系统为后台工程师和系统管理员提供服务,又细分为智能物联网平台和指挥中心后台管理系统两个子系统。功能模块设计如图1所示。

Figure 1. System functional module design
图1. 系统功能模块设计图
2.2. 架构设计
智能交通疏导控制系统整体架构设计图如图2所示。整体架构分为服务层、应用层、平台层和感知
层四个层次。感知层位于架构的最底层,包括CPU、GPU、存储设备、网络设备等基础设施及机器视觉和边缘计算;上层是平台层,系统使用现有成熟的OneNET物联网平台和阿里云平台;应用层包括使用Docker、Shell等技术的部署运维模块,依托于Numpy、TensorFlow等科学计算库和深度学习框架的计算引擎模块,涵盖数据处理、存储等功能的后端服务模块;直接和用户进行交互的服务层提供了数据概览、区域路段、应急指挥、历史信息四项基础功能服务。

Figure 2. Overall system architecture diagram
图2. 系统整体架构图
3. 海量数据存储方案
3.1. 数据采集方案
部署在路口的实时摄像头为采集源;部署算法模型的边缘终端、云端通过物联网平台紧密相连,作为算力依托;平台作为信息传输媒介,通过主题的方式管理各个设备的通讯内容,从而进行以MQTT协议为基础、工作在TCP/IP协议上的消息转发和传输,实现数据实时共享,符合低算力、低带宽的边缘设备情况。
3.2. 大数据存储方案
智能交通信息服务呈现出大众化、广域化、实时化的特点 [5],数据存储与检索是智能交通的核心之一。在实际数据采集的应用中,道路监控每天会产生海量的数据,仅浙江省一天产生的过车数据便有几亿,并且数据到达具有随机性。面对海量增长的交通流时空数据,必须快速完成数据处理和存储任务。
传统的关系型数据库由于存储能力和扩展性等方面的不足,无法满足海量数据实时的查询处理需求 [16]。非关系型数据库的应用和发展为海量数据的存储管理带来了新的研究思路,当前流行的Hadoop、Spark等技术,针对TB甚至PB级的数据,丰富的组件在数据存储和挖掘、分析方面提出了完善的处理方案 [17]。
所以,本系统采用了基于HBase和ElasticSearch技术实现海量交通数据的便捷存储和快速检索的大数据存储方案。
3.2.1. HBase分布式存储技术
非关系型数据库HBase-Hadoop Database,在行键上建立了类B+树的索引 [16],是一个高可靠性、高性能、面向列的分布式存储系统,来源于Fay Chang撰写的关于BigTable这种结构化数据的分布式存储系统的论文。所以,HBase作为Hadoop的子项目和Google Bigtable的开源实现,使用Hadoop HDFS为文件存储系统,Hadoop MapReduce来处理HBase中的海量数据,Zookeeper提供协同服务,在Hadoop基础上实现了类似Bigtable的功能,并且能够支持用户在PC Server上搭建大规模结构化存储集群。
HBase数据模型如图3所示。SpringBoot框架结合HBase数据库,根据Rowkey查询数据的后台代码示例如图4所示。

Figure 4. Code queried by HBase according to rowkey
图4. HBase根据rowkey查询的后台代码
以表1为例,在HBase中建立一个实时路况信息表,其中存在两个列簇路段情况roadCondition和数据统计statistics。路段情况的列簇中可以添加实时路况代码crosstrafficid、数据记录时间recordtime、路口代码crossid、实时平均速度speed、交通状态status;数据统计的列簇中可以添加交通流量volume、小型车辆数volume_car、大型客车volume_bus、大型货车volume_truck、过车辆volumecount。可以设定时间戳timestamp+实时路况代码crosstrafficid作为rowkey,因为时间戳比较随机,让数据在HBase中的存储和管理比较分散,不会连续分布,减轻设备处理的压力。

Table 1. HBase establishes real-time road condition information table
表1. HBase建立实时路况信息表
3.2.2. HBase二级索引方案设计
Hbase只有rowkey作为一级索引,对行键进行了索引优化,对非行键的列未建立索引 [18]。单一索引和不直接关联的数据表,导致HBase在海量数据的关联数据和复杂查询效果较差。由于缺少索引能力 [16],全表扫描在海量数据下的查询时延是难以接受的。对数据库里的非rowkey字段进行数据检索和查询操作,往往会变成全表扫描,遍历所有rowkey进行字段内容的匹配,硬件资源消耗和时间延迟都会比较高。因此在HBase上面构建二级索引,以列的值为键、记录的rowkey为值,构建“键–值”数据结构。可以通过检索某个特定值,获取信息对应的rowkey,从而快速检索完整的数据,以满足现实中更复杂多变的业务需求。
3.2.3. ElasticSearch分布式搜索技术
ElasticSearch是分布式、高扩展、高实时的搜索与数据分析引擎,提供可扩展和实时的搜索分析技术来进行全文检索的两个关键步骤:索引化过程和检索过程 [19]。索引化过程中,用户提供数据,分词控制器提取信息,权重和分词结果创建索引;检索过程中,对查询进行分词,在倒排索引中搜索关键词,呈现匹配结果。
3.2.4. 基于Elasticsearch的HBase二级索引方案
HBase能够存储海量数据,但非rowkey字段的检索性能不佳,而真实交通数据往往倾向于模糊查询,并不知道索引;ElasticSearch支持高速、多样化的检索方案,还有拓展方便、性能优异的优势,但并不支持大容量的数据存储。
为实现HBase中的海量数据快速检索,本系统采取结合两者优势的数据存储方案,采用基于Elasticsearch的HBase二级索引方案进行交通数据的存储和管理。边缘设备获取的信息经过树莓派上部署的算法模型进行计算处理后,获取的数据存储到HBase,索引rowkey同时存储到ElasticSearch数据库中,还可以拓展部分需要经常检索的字段数据,一并存入,为系统增加检索类目。当系统需要检索信息时,会从ElasticSearch中获得rowkey,再通过rowkey取出HBase中的具体数据。基于Elasticsearch的HBase二级索引方案,数据写入性能可以达到2~3 MB/s,检索性能可以达到毫秒量级 [5],实现海量交通大数据高效存取。
基于HBase和ElasticSearch的二级索引方案流程如图5所示。

Figure 5. Storage solutions based on HBase and ElasticSearch
图5. 基于HBase和ElasticSearch的存储方案
比如将表1中的数据记录时间作为交通数据字段1,进行分词后和rowkey一起存在ElasticSearch,其中数据记录时间被分为年月日时分秒,当系统需要检索这个小时所有路口的路况并展示此时交通流量和平均车速的统计图标时,就可以在ElasticSearch中快速检索时钟时间,ElasticSearch返回被分词的时钟时间以及rowkey的值,获取到rowkey的值就可以在HBase中检索并获取在这个小时的所有路口的路况数据。
4. 系统实现
智能交通疏导控制系统分为智能指挥中心Web端和后台管理系统两大模块。系统采用了模型-视图-控制的MVC分层设计模式,web端依托vue框架进行页面布局,后台使用SpringBoot框架、redis、HBase、ElasticSearch进行高效的数据管理和交互。
4.1. 智能指挥中心
智能指挥中心整体部署于web端,包含数据概览、应急指挥、区域路段信息、历史信息概览四大模块。
数据概览模块,如图6所示。交管部门人员可以查看路况状态的比例分析、拥堵路段排名,以便全局掌控交通枢纽的整体路况,并根据优先级对拥堵进行疏导;交管部门人员还可以在可视化大屏上及时获得违法车辆的时间、车牌号、车速、违法事件和所处位置等信息,并查阅车辆类型、数量等指标;物联网运维工程师可查看监控在线状态、信息传输速度和监控的分布情况,掌握所有物联网设备的实时状态。当系统自动检测到特种车辆经过时,面板将弹出警告弹窗,并转入应急指挥模块。
区域路段信息模块能够查看道路监控、设备状态、实时数据、过车数据等内容,如图7所示。信息公告中展示普通车辆、违法车辆和特种车辆的时间、地点和事件。当检测到违法交通事件时,交管部门人员可点击路段从数据概览跳转至局部路段界面,查看路口实时监控,了解交通态势和违法事件详情。局部路段界面上的右侧,还会统计交通车流量和人流量的柱状图、不同类型车辆的在不同时间段的平均车速、绘制违法原因雷达图和事故分析每日对比图。
应急指挥模块部署于小屏,如图8所示,实现以点控面、小屏控大屏的联动效果。通过查看地图,交管人员可综合利用大屏界面上的辅助决策信息,在小屏上查看可派遣警员和可派遣车辆的信息、距离以及是否可派遣,操作小屏上的地图选择路段进行快捷调控,如为特种车辆开放绿色通道,派遣警力疏导拥堵等。

Figure 8. Emergency command on small screen
图8. 应急指挥小屏端
大屏上在地图上更新派遣车辆和人员的实时位置,提供无人机视频接入模块来展示实景情况,提供应急事件处理接警机制,分析统计不同警情的来源,展示路面警力分布的信息、在岗人数和事发地距离,还具有显示当前极端天气预警的五大功能,如图9所示。
历史信息概览模块记录累计区域流量分析、拥堵指数变化分析、天气影响分析、历史拥堵路口、单天时段影响分析等历史信息,以供随时查询,如图10所示。交管部门人员可查看拥堵情况热力图,基于历史拥堵指数变化、车流量、人流量和早晚高峰信息等数据实时调整措施,生成动态疏导策略。
4.2. 后台管理系统
后台管理系统包括指挥中心后台管理系统和智能物联网平台两大管理平台。指挥中心后台管理系统由系统管理员通过登录模块进入,包含数据总览、实时路况信息、道路信息管理、设备管理、违法车辆管理、用户管理、信息通知管理七大功能模块,如图11所示。

Figure 9. Emergency command on the screen
图9. 应急指挥大屏端

Figure 10. Historical information analysis interface
图10. 历史信息分析界面
数据总览模块展示该系统的基本信息。用户管理模块负责管理用户,包括创建、删除、修改、查询用户等操作。实时路况信息模块为管理员调取实时路况。道路信息管理模块展示道路的起点、终点、路口经纬度等基本信息。设备管理模块为管理员提供修改交叉路口架设的红绿灯、摄像头等设备的接口。信息通知管理模块发布施工信息和警务人员执勤安排。
物联网工程师搭建物联网管理平台,设备接入与管理模块可以查询、新增、修改、删除设备,数据流模板模块可以新增、删除、修改数据流模板信息,权限管理模块负责更改设备鉴权信息,数据推送模块创建、订阅并利用Topic推送消息,提供管理边缘终端设备的各种权限,还能够查看此时接入设备总数及在线设备和新加入设备的数量,如图12所示。

Figure 11. Command center background management system
图11. 指挥中心后台管理系统
5. 结束语
本文从需求分析、架构设计、大数据存储方案及系统实现几个角度,阐述了智能交通疏导控制系统的设计与实现,在系统后台实现基于分布式数据库Hbase和搜索引擎Elasticsearch的二级索引方案,实时存取海量交通大数据。系统不仅能在可视化大屏实时展示多维交通数据,还能在小屏端进行交通应急指挥,缓解交通拥堵。
该系统致力于为应用对象提供一个简便
快捷、数据丰富、实时交互的交通疏导控制管理平台,在展示多维数据的同时,智能疏导协同人工干预来指挥交通,实现综合、科学的交通流调度,从而优化交通状态,减少通勤时间,解决城市交通拥堵问题,提升社会整体运转效率。
基金项目
浙江理工大学2021年高等教育科学研究课题、浙江省一流课程建设项目。