城市智能交通数据底座:时序数据库在交通信号与高速监测中的应用

Jing Wang

2026-09-04 /

从一个红灯说起

你有没有在某个路口等过超过3分钟的红灯?

这不是极端情况。国内不少二三线城市的路口信号配时还在用"定时方案"——早高峰一套、平峰一套、晚高峰一套、夜间一套。四套方案,365天循环播放。路口的车流量是动态变化的——周一早高峰和周五早高峰的流量分布差异可能超过20%,下雨天和工作日的出行模式完全不同。但信号机不知道,它只认时间表。

不是不想做自适应控制。问题在于,要做自适应信号优化,你得先有数据——这个路口各个方向的车流量时间序列数据。车检器(地磁线圈、视频检测器、毫米波雷达)每秒都在产生数据,但这些数据去了哪?

多数去了信号控制器本地。信号机存不了多少历史数据——内置存储也就存几个星期的运行日志。更上层的交通管理平台可能有数据接入,但通常是分钟级的统计数据,秒级的原始流量数据存不住。想做精细化的信号优化?数据不够。

这就是城市交通数据的现状:数据采集设备不少,但数据管理能力跟不上采集能力。

交通数据到底有哪些

拆开来看。

路口信号灯系统。 信号灯相位状态(红/黄/绿/闪光)、倒计时、行人按钮触发。每个路口的信号机通常管理4-8个相位,数据变化频率1秒。

车检器数据。 地磁线圈检测器报告各车道流量、占有率、平均速度。视频车检器额外提供车型分类、排队长度。毫米波雷达检测器提供多车道流量和速度。数据频率1-10秒。一个中等城市主城区的信号控制路口1000+个,每个路口4-8个车检器,全城车检器数据点4000-8000个。

视频卡口。 车辆号牌识别、车型识别、通过时间。数据按事件触发——每辆车通过产生一条记录。一个卡口日均过车量几千到几万条。

高速公路监测。 可变情报板(VMS)显示内容和状态、气象站(能见度、风速、路面温度、雨雪冰状态)、隧道环境(CO浓度、能见度、风速、照度、火灾报警)、交通流参数(各车道流量/速度/占有率)。

数据类型

采集设备

参数

采样频率

单路口/路段日数据量

信号灯相位

信号控制器

相位状态/倒计时/方案号

1秒

约8.6万条

车辆检测

地磁/视频/雷达

流量/速度/占有率/排队长度

1-10秒

约8.6万-86万条

视频卡口

抓拍摄像头

车牌/车型/通过时间/图片

事件触发

约2000-20000条

气象监测

自动气象站

风速/风向/温度/湿度/能见度

1分钟

约1440条

隧道环境

CO/VI/风速/照度仪

CO浓度/能见度/风速/照度

10秒-1分钟

约1440-8640条

交通流

微波/视频检测

各车道流量/速度/占有率

30秒-1分钟

约1440-2880条

情报板

VMS

显示内容/设备状态

事件触发

约50-200条

一座中等城市(人口100-200万)主城区的交通监测测点总量在5000-20000之间。数据频率从1秒到1分钟不等,日数据量千万级。这些数据如果存3年以上,原始数据量在百GB到TB级。

传统交通管理系统的数据短板

交警部门的交通管理系统(通常称为ATMS——Advanced Transportation Management System)在实时监控和勤务管理方面功能已经比较完善——大屏上能看到所有路口实时状态、拥堵指数、事故报警。但数据层面有几个老问题。

数据存储短。 多数ATMS平台的实时数据只存7-30天,超过就覆盖。一个月以前的交通态势数据没了。想做年度交通特征分析?数据不够。想对比今年和去年同期的拥堵变化?更不行。

子系统数据不通。 信号控制系统(如海信ITS、大华交通管理平台)、交通流检测系统、视频监控系统、气象监测系统——通常由不同厂商承建,数据格式各异,存储各自为政。一个城市的交通数据中心可能有四五套系统各自存各自的数据。

跨区域分析难。 一个区的拥堵数据跟另一个区的不在一个库里。交通管理部门想看全市的拥堵热力图变化趋势,得把各区数据先汇总到一个库再做分析——而各区系统可能版本都不一样。

查询能力弱。 有些ATMS平台基于SQL Server或Oracle,查询"某个路口过去3个月每天高峰时段(7:00-9:00和17:00-19:00)的南北方向流量变化趋势",可能要跑几十秒甚至几分钟。这种查询频率不高但每次都要等,用户体验差。

时序数据库在这个场景的切入点

跟其他行业类似,时序数据库解决的还是"存得住、查得快、打通了"这三件事。但交通场景有几个独特的需求点。

数据频率差异大。 信号灯相位1秒一个值,车检器1-10秒,气象站1分钟,情报板事件触发。同一座城市里,从1秒到事件触发的数据并存。TDengine的超级表按数据类型分表,各自有独立的写入频率和存储策略。信号灯数据可以设定较短的保留期(比如1年),气象数据存更长(5年),卡口数据按事件量级设保留期。各表各管各的,不影响。

路口标签建模。 城市交通的层级结构:区→路口→方向→车道→参数。TDengine超级表标签包括区编码、路口ID、方向(东/西/南/北)、车道编号、设备类型。查"XX区所有南北向路口早高峰车流量均值排名"——按标签过滤+时间窗口聚合,一条SQL。

多路口分布式写入。 1000个路口同时往数据库写数据,每秒1000-8000条记录。TDengine的写入引擎在集群模式下可以线性扩展写入吞吐。3-5节点的TDengine集群处理这个写入量绰绰有余。

信号优化的数据需求

自适应信号控制的核心算法——SCATS、SCOOM、或国产的自适应方案——都需要实时交通流数据作为输入。当前车检器的数据直接进信号控制器做控制决策,但信号优化的评估和方案调优需要历史数据。

举个例子。一个路口从定时方案切换到自适应方案后,到底效果好不好?衡量标准是路口延误时间——车辆从检测器到停车线的平均通过时间。这个指标需要对比方案切换前后的历史流量和延误数据。没有历史数据就无法评估优化效果。

TDengine的数据存储能力使得全城所有路口的历史流量数据可以长期保存。信号优化评估系统从TDengine中拉取方案切换前后各30天的流量数据做统计分析,量化评估优化效果。如果效果不好,分析是哪个时段、哪个方向的流量模式不匹配导致的,进一步调整方案。

拥堵溯源:数据驱动的分析

交通拥堵的成因分析是交通管理的刚需。路口拥堵可能是信号配时不当、上游路口溢出、临时事件(事故/施工/大型活动)、天气原因等多种因素叠加的结果。

拥堵溯源的数据需求是时间序列的多维关联分析——拥堵发生时间、位置、上游路口的流量变化、信号相位切换序列、气象条件、事件记录。这些数据分散在信号系统、车检系统、气象系统、接处警系统中。

TDengine可以把这些系统的时间序列数据统一存储(各系统各建超级表,共享时间轴),应用层做时间关联查询。"2024年8月15日17:30-18:30 XX路口拥堵期间各方向流量、信号相位序列和上游路口流量变化"——TDengine中按时间范围查多张超级表,拼接后做可视化分析。这种分析过去需要从四五个系统分别导数据到Excel拼接,耗时半天。有了统一数据底座后,几秒钟完成查询。

高速公路的特殊场景

高速公路的监测数据跟城市道路有差异。重点场景是隧道和长大下坡路段。

隧道环境监测的数据频率不高但必须连续——CO浓度(隧道内汽车尾气的主要有害成分)、能见度(VI值反映烟雾浓度)、风速(纵向通风效率)、照度(入口段加强照明效果)。这些参数的采样频率10秒到1分钟。一条3公里的隧道布设4-6组监测断面,每组断面CO/VI/风速各1-2个测点,全隧道环境监测点30-60个。

数据存储要求连续不中断。隧道通风控制依据CO和VI数据自动调节射流风机的启停和转速。如果数据系统停了几分钟,通风控制就失去了自动决策依据,操作人员只能手动控制——这在长大隧道里是有安全风险的。

TDengine的数据订阅功能在这个场景下有实际价值。CO和VI数据写入TDengine后,数据订阅推送给通风控制系统,控制系统根据最新值调整风机运行。比控制系统直接查询数据库获取最新值的方案延迟更低、更可靠(数据写入和订阅推送是异步的,不会互相阻塞)。

气象站数据对高速公路安全运营很重要——能见度低于200米需要限速,路面结冰需要封道或限速。气象站数据频率1分钟,存3年可以覆盖多个季节周期,分析路面温度和气温的关系为结冰预警模型提供历史数据。

多城市区域中心架构

交警支队层面的数据管理覆盖全市,但省交警总队层面需要跨城市的数据——全省干线公路网交通态势。这种需求在春运、国庆等节假日大流量期间尤为突出。

部署架构建议:各城市交警支队部署本地TDengine做本市交通数据存储,关键数据(干线公路流量、主要节点拥堵指数)同步到省总队TDengine集群。省总队做跨城市干线公路态势分析。

TDengine原生数据复制支持这种多层级架构,各城市到省总部的同步延迟在秒级。总队侧可以实时监控全省干线公路网的交通态势——某条高速公路某个路段流量突增,总队值班室第一时间能看到。

TDengine的技术适配性

分布式架构支撑多路口。 1000+路口的并发写入,TDengine集群通过分片(sharding)分散写入压力。每个vnode负责一部分路口的数据,多vnode并行写入,总写入吞吐线性扩展。

标签模型适配路口层级。 路口编号、方向、车道、设备类型——TDengine的标签体系直接映射交通管理的组织维度。新增路口自动建子表,零配置。路口改造(如新增车检器)只需在超级表中新增子表,不影响已有数据。

数据订阅支撑实时告警。 信号灯故障、车检器数据异常、隧道CO超限——这些事件通过数据订阅实时推送,比应用轮询数据库查最新值延迟低、对数据库压力小。

SQL查询简化分析。 交通管理部门的数据分析人员通常有SQL基础。TDengine支持标准SQL,做时间窗口聚合、标签过滤、降采样查询都不需要学新的查询语言。"查询XX区近30天工作日早高峰各路口南北向流量排名"——一条SQL聚合查询。

高压缩比。 交通数据中信号灯相位和车检器流量在正常时段变化平缓,TDengine的列式压缩效果显著。全城10000测点×1秒频率×3年数据,原始约9460亿条,TDengine压缩后约300-600GB。存3年的全城原始交通数据,普通服务器能装下。

一个被低估的收益

交通信号优化的收益被严重低估了。美国FHWA的研究表明,合理的自适应信号控制可以减少路口平均延误10%-25%。一座1000路口的城市,如果平均每个路口每天减少车辆延误2分钟,按日均通过量3000辆计算,一天节省100车小时。按社会车辆每车小时时间价值30元计算,一天的社会效益3000元,一年约110万元。

而一个能支撑全城交通数据长期存储和高效分析的数据平台,部署成本可能就二三十万。投入产出比显然有利。但关键不在于选什么数据库——而在于交通管理部门有没有把数据管理和信号优化当回事。很多时候不是技术不行,是管理意识没到。

结语

交通数据管理的价值不在于数据本身——数字就是那些数字,流量、速度、占有率、相位状态。价值在于数据被长期保存和高效查询后,能支撑信号优化、拥堵溯源和出行服务。时序数据库在交通场景做的事情说起来简单——把秒级采集的数据存上3年,让按路口和时间维度的查询能在1秒内返回。但就这么一件事,很多城市还没做到。做到了的城市,路口多等红灯的次数肉眼可见地少了。