CN112289029B - 基于Flink架构的多数据源实时交通事件处理方法 - Google Patents
基于Flink架构的多数据源实时交通事件处理方法 Download PDFInfo
- Publication number
- CN112289029B CN112289029B CN202011200621.6A CN202011200621A CN112289029B CN 112289029 B CN112289029 B CN 112289029B CN 202011200621 A CN202011200621 A CN 202011200621A CN 112289029 B CN112289029 B CN 112289029B
- Authority
- CN
- China
- Prior art keywords
- data
- event
- events
- flink
- operator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种基于Apache Flink架构,实时交通事件的处理方式。通过将不同数据源(拥堵数据,交通意外,恶劣天气等)的数据统一到Flink平台,进行数据预处理,过滤已过时的数据,将不用的数据源的数据转换成统一的格式,然后根据事件发生所在的位置区域,进行分组,然后进行统一处理,包括但不限于去重,融合,处理过期数据等,最终将该区域所有发生的交通事件发送到下游消息队列Kafka。
Description
技术领域
本发明涉及一种基于Flink架构的多数据源实时交通事件处理方法。
背景技术
近年来,随着车辆的大幅增加,城市道路上发生的事件也越来越多,交通事故,车辆故障,拥堵,大雾,交通管制等等,情况也越来越多。交通出行所需要考虑的也越来越多,但目前的交通事件信息广播依然有较大延迟。随着自动驾驶技术的发展,周围区域的实时交通路况信息,就显得极为重要。
发明内容
本发明旨在克服现有技术的缺陷,提供一种基于Flink架构的多数据源实时交通事件处理方法,Flink是一个分层架构的系统,每一层所包含的组件都提供了特定的抽象,用来服务于上层组件,本方法将不同Kafka队列中的数据源(拥堵数据,交通意外,恶劣天气等)的数据统一到Flink平台,Kafka是一个分布式的流处理平台,进行数据预处理,过滤已过时的数据,将不用的数据源的数据转换成统一的格式,然后根据事件发生所在的位置区域,进行分组,然后进行统一处理,包括但不限于去重,融合,处理过期数据等,将数据发送到Kafka消息队列以供下游消费。下游可以通过消费Kafka的消息,反馈给车载系统,车载系统根据车机自身的所在的区域,取出相邻区域的所有交通事件,报告给车机的自动驾驶系统,以供决策道路的复杂度是否能开启自动驾驶;同时将数据进行存储,以便读取历史数据以及可视化某个区域中正发生的所有事件。
为了解决上述技术问题,本发明是这样实现的:
一种基于Flink架构的多数据源实时交通事件处理方法,包括如下步骤:
步骤一、消费消息队列Kafka中的数据源,将不同的数据源的交通事件数据使用不同的转换器统一格式:包含事件ID,事件状态(new(新事件)、changed(更新事件)、expired(过期事件)),事件类型(天气,意外事件,拥堵,施工等等),创建时间,有效期,道路(linkId(道路Id),可多条),道路区间(事件的起点和终点在对应所在道路上的的偏移量),区域(长度为7的geoHash(一种地址编码,它能把二维的经纬度编码成一维的字符串)值,可多个区域),使用Flink平台的“Union”算子将多个数据流合并到一个流中;
步骤二、将统一的数据进行预处理:
步骤2.1使用Flink平台的“filter”算子过滤掉非指定区域的事件,比如去掉非上海区域内的事件;
步骤2.2、根据事件所在的道路等级,使用Flink平台的“filter”算子,过滤掉道路等级低于某个阈值的事件,比如去掉非高速路的事件;
步骤2.3、使用Flink平台的“keyBy”算子,将这些事件Id进行分区,将事件分发到事件所在每一个区域;
步骤2.4、使用Flink平台的“process”算子,对不同分区的数据进行分发;
步骤三、使用Flink平台的“keyBy”算子,将事件按照geoHash(一种地址编码,它能把二维的经纬度编码成一维的字符串)进行分区,使用Flink平台的”map”算子,将新事件和区域内已经存在的事件进行聚合处理,包括新增事件,更新事件(同一个事件的更新,比如拥堵变长),过滤过期事件等操作;
步骤四、使用Flink平台的“addSink”算子,将数据下发到下游消息队列Kafka以供消费。
其中步骤一中,使用一种具备消费消息功能的组件Kafka,它有三种消费模式,其中最多一次(at most once)消费消息可能会消失也可能会被处理但是最多只处理一次,至少一次(at least once)消费消息不会丢失但是可能会重复被处理多次,这当然不是我们期望的,精确消费(exactly once)消息被处理一次不丢失不重复就一次,因此采用精确消费。
目前处理实时流数据基于Flink框架去实现。Flink作为下一代数据引擎,其核心是一个流式数据执行引擎,其典型的分布式框架,最大的特征是流处理、可靠性、可扩展、高吞吐、低延迟、支持水平扩展能力,提供了很多高级抽象的应用程序接口,方便用户根据实际场景编写分布式任务。
本发明的有益效果是:1)数据实时性处理很强,不会产生数据的延迟,保证数据的一致性;
2)数据的吞吐量很强,即数据可以频繁的写入到Flink当中且不会丢失。
附图说明
下面结合附图和实施方式对本发明作进一步的详细说明:
图1为道路和区域的关系图。
图2为本发明的实时处理引擎Flink的架构示意图。
图3为本发明用于消费上游数据源和生产到下游的消息队列Kafka的架构示意图。
图4为本发明的工作流程架构示意图。
具体实施方式
如图4所示,本发明基于Flink架构的多数据源实时交通事件处理方式包括如下步骤:
步骤一、读取消息队列Kafka中的数据源,将不同的数据源的交通事件数据使用不同的转换器统一格式:表一为数据源的原始数据,图1为道路(id:11,12,13,14,88,99)和区域(geoHash:wx10,wx11,wx12,wx13,wx88,wx99)的关系。其中天气事件和人工事件可以覆盖一个或多个区域。将原始数据转换为统一格式的动态数据,将对于区域里的所有道路取出,并设置为全路段覆盖,偏移量设置为对应的偏移量,如表二。
步骤二、将统一的数据进行预处理:
步骤2.1使用Flink平台的“filter”算子过滤掉非指定区域的事件,过滤掉事件7的事件;
步骤2.2、根据事件所在的道路等级,使用Flink平台的“filter”算子,过滤掉道路等级低于某个阈值的事件,本例中去掉发生在道路ID为10的事件,即事件6;
步骤2.3、使用Flink平台的“keyBy”算子,将这些事件Id进行分区,对每一个事件进行单独处理;
步骤2.4、使用Flink平台的“process”算子,确定每一个事件所在的区域(可能为多个区域),将跨区域的道路进行切分,然后对不同区域的数据进行分发,如表3所示;
步骤三、使用Flink平台的“keyBy”算子,将事件按照geoHash进行分区,使用Flink平台的“map”算子,将新事件和区域内已经存在的事件进行聚合处理,包括新增事件,更新事件(同一个事件的更新,比如拥堵道路变长,拥堵时间延长等),过滤过期事件等操作;
步骤四、使用Flink平台的“addSink”算子,将输出结果如表4所示发送到Kafka消息队列以供下游使用。
表1
表2
表3
表4
Claims (1)
1.一种基于Flink架构的多数据源实时交通事件处理方法,其特征在于本方法包括如下步骤:
步骤一、读取消息队列Kafka中的数据源,将不同的数据源的交通事件数据使用不同的转换器统一格式:包含事件ID、事件状态、事件类型、创建时间、有效期、道路,linkId数量为多条、道路区间、区域,该区域长度为7的geoHash值,区域为多个区域,使用Flink平台的Union算子将多个数据流合并到一个流中;所述事件状态包括新事件、更新事件、过期事件;所述事件类型包括天气、意外事件、拥堵、施工;所述道路区间包括事件的起点和终点在该道路上距离道路起点的偏移量;
步骤二、将统一的数据进行预处理
步骤2.1使用Flink平台的filter算子过滤掉非指定区域的事件;
步骤2.2、根据事件所在的道路等级,使用Flink平台的filter算子,过滤掉道路等级低于某个阈值的事件;
步骤2.3、使用Flink平台的keyBy算子,将这些事件Id进行分区,将事件分发到事件所在每一个区域;
步骤2.4、使用Flink平台的process算子,对不同分区的数据进行分发;
步骤三、使用Flink平台的keyBy算子,将事件按照geoHash值进行分区,使用Flink平台的map算子,对区域内的所有事件进行去重,将新事件和区域内已经存在的事件进行聚合处理,包括新增事件,更新事件,过滤过期事件操作;
步骤四、数据下发到下游消息队列Kafka以供消费。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011200621.6A CN112289029B (zh) | 2020-10-30 | 2020-10-30 | 基于Flink架构的多数据源实时交通事件处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011200621.6A CN112289029B (zh) | 2020-10-30 | 2020-10-30 | 基于Flink架构的多数据源实时交通事件处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112289029A CN112289029A (zh) | 2021-01-29 |
CN112289029B true CN112289029B (zh) | 2022-06-21 |
Family
ID=74353268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011200621.6A Active CN112289029B (zh) | 2020-10-30 | 2020-10-30 | 基于Flink架构的多数据源实时交通事件处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112289029B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122445A (zh) * | 2011-01-18 | 2011-07-13 | 上海炬宏信息技术有限公司 | 一种提供气象信息的方法和装置 |
CN105321338A (zh) * | 2014-07-28 | 2016-02-10 | 高德软件有限公司 | 一种交通事件的处理方法及交通事件系统 |
CN108257380A (zh) * | 2017-12-05 | 2018-07-06 | 北京掌行通信息技术有限公司 | 一种基于路况信息检测拥堵事件的方法及系统 |
CN111429729A (zh) * | 2020-03-19 | 2020-07-17 | 浙江工业大学 | 一种基于flink架构的实时车速监测方法 |
CN111462497A (zh) * | 2020-05-18 | 2020-07-28 | 深圳博通机器人有限公司 | 一种交通数据下发方法、系统、终端及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2928170B1 (en) * | 2012-11-29 | 2019-08-14 | NEC Corporation | Information distribution system |
US10140206B2 (en) * | 2015-11-17 | 2018-11-27 | Proov Systems Ltd. | Computerized method and end-to-end “pilot as a service” system for controlling start-up/enterprise interactions |
CN109254982B (zh) * | 2018-08-31 | 2020-09-29 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
CN110659307A (zh) * | 2019-09-06 | 2020-01-07 | 西安交大捷普网络科技有限公司 | 一种事件流的关联分析方法与系统 |
-
2020
- 2020-10-30 CN CN202011200621.6A patent/CN112289029B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122445A (zh) * | 2011-01-18 | 2011-07-13 | 上海炬宏信息技术有限公司 | 一种提供气象信息的方法和装置 |
CN105321338A (zh) * | 2014-07-28 | 2016-02-10 | 高德软件有限公司 | 一种交通事件的处理方法及交通事件系统 |
CN108257380A (zh) * | 2017-12-05 | 2018-07-06 | 北京掌行通信息技术有限公司 | 一种基于路况信息检测拥堵事件的方法及系统 |
CN111429729A (zh) * | 2020-03-19 | 2020-07-17 | 浙江工业大学 | 一种基于flink架构的实时车速监测方法 |
CN111462497A (zh) * | 2020-05-18 | 2020-07-28 | 深圳博通机器人有限公司 | 一种交通数据下发方法、系统、终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
车联网安全事件检测分析和主动赋能系统的研究与实现;张一鸣;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20200715(第7期);C034-506 * |
Also Published As
Publication number | Publication date |
---|---|
CN112289029A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795818A (zh) | 一种确定虚拟测试场景方法、装置、电子设备和存储介质 | |
WO2022213563A1 (zh) | 地图更新方法及设备 | |
JPH1195657A (ja) | 地図データ処理装置、地図データ処理方法および地図データ処理システム | |
CN1716335A (zh) | 道路交通实时信息调查系统 | |
CN104966129A (zh) | 一种车辆运行轨迹的分离方法 | |
US11902374B2 (en) | Dynamic vehicle data extraction service | |
CN114462233A (zh) | 微观交通仿真方法、计算机装置和存储介质 | |
CN114492022A (zh) | 路况传感数据处理方法、装置、设备、程序以及存储介质 | |
CN112289029B (zh) | 基于Flink架构的多数据源实时交通事件处理方法 | |
CN111653115B (zh) | 任务的划分方法、装置及存储介质 | |
CN115937352A (zh) | 矿山场景仿真方法、系统、电子设备及存储介质 | |
CN111310660B (zh) | 用于adas场景的目标检测虚警抑制方法及装置 | |
CN109484436A (zh) | 一种列车调度方法及系统 | |
WO2021189755A1 (zh) | 坡度点筛选方法、终端设备及介质和坡度计算方法及系统 | |
CN102521982A (zh) | Fcd引擎数据资源方法和装置 | |
CN113112807A (zh) | 融合4g探针与高速机电系统的高速公路全息感知方法 | |
CN117194414B (zh) | 自动驾驶数据处理系统和自动驾驶数据处理方法 | |
CN102236967A (zh) | 实时交通信息筛选方法及装置 | |
CN113689715B (zh) | 信息推送方法、装置、电子设备及计算机可读存储介质 | |
CN113781771B (zh) | 一种ive模型的在线运行方法 | |
CN115658737B (zh) | 大规模轨迹数据时空伴随者查询方法和系统 | |
Chen et al. | A preliminary discussion on the application of big data in urban residents travel guidance | |
CN114038224B (zh) | 智能语音播报方法及装置 | |
CN117788725A (zh) | 虚拟道路场景数据生成方法、装置和电子设备 | |
CN118251913A (zh) | 动态车辆数据提取服务 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230419 Address after: Room 1002C, 10th Floor, No. 7 Xueyuan Road, Haidian District, Beijing, 100083 Patentee after: CENNAVI TECHNOLOGIES Co.,Ltd. Address before: 200433 unit 206-209, building 8, Chuangzhi Tiandi, 398 Songhu Road, Yangpu District, Shanghai Patentee before: SHANGHAI JUHONG INFORMATION TECHNOLOGY Co.,Ltd. |