学术论文投稿/征稿

欢迎您!请

登录 注册

手机学刊吧

学刊吧移动端二维码

微信关注

学刊吧微信公众号二维码
关于我们
首页 > 学术论文库 > 理工论文 试析自由流云收费(FFT2.0)赋能平台后端工程开发

试析自由流云收费(FFT2.0)赋能平台后端工程开发

4

2026-06-08 14:21:30    来源:    作者:liunanfang

摘要:本文围绕该平台后端工程开发展开深入分析,从整体架构设计入手,详细阐述了核心模块的开发,为同类平台的后端开发提供参考,并对收费流程进行优化。

      摘   要 :作为智慧城市的核心组成部分,智慧交通将人、车、路等要素有机整合起来,但公路车辆清分结算效率低下的问题始终无法解决,因此需要借助自由流云收费(FFT2.0)赋能平台,让相关收费工作更为精准,对其后端工程开发更要予以足够的重视,在加快收费速度的同时确保质量不降低。本文围绕该平台后端工程开发展开深入分析,从整体架构设计入手,详细阐述了核心模块的开发,为同类平台的后端开发提供参考,并对收费流程进行优化。

      关键词 :自由流 ;云收费 ;赋能平台 ;后端开发

      近些年来,高速公路收费系统智能化升级的趋势明显,自由流云收费(FFT2.0)赋能平台需要能在短时间内处理大量的交易数据,与车辆相关的牌识数据和车辆名单数据都要在平台的分析范围内,方便系统准确判断车辆行驶轨迹,实现精准收费的同时提升过车效率。值得注意的是,该平台后端工程架构设计的合理性应得到保证,使收费数据得到高效处理,确保即便是在高负载状态下,平台依旧能稳定地完成相关工作,从而确保赋能平台的整体性能。

      1  自由流云收费(FFT2.0)赋能平台后端整体架构设计

      自由流云收费赋能平台后端应该围绕数据展开,让数据流转、处理、应用及监测工作自动化完成。数据汇聚模块主要负责从外部系统实时获取各类关键数据,如出入口交易流水、门架交易流水、收费站及门架牌识数据,并进行存储。数据加工模块清洗汇聚到一起的原始数据,实施转换和整合处理,积累动态车型库、在途车辆库、名单数据库等核心数据资产。数据赋能模块基于加工后的有效信息,提供车辆车型纠正、入口查询、在线计费以及名单查询等服务。赋能成效分析模块则负责筛查和归纳平台赋能结果,生成报表,并直观地展示出来。设备监测和运行监测功能模块用来完成监测任务,二者监测对象不同,但均会在发现异常状态时及时预警,通知相关工作人员处理异常情况。

      2  数据汇聚功能模块开发

      在开发数据汇聚模块时,可以从子功能模块着手,但需要注意各子模块可能使用了不同的开发技术。

      2.1  交易流水数据汇聚功能

      交易流水数据汇聚子模块采用 Kafka 与 ClickHouse组合构建实时数据处理链路。Kafka 作为分布式消息队列,具有高吞吐、低延迟特性,可用于建立外部系统与平台间的数据缓冲通道,实现交易数据异步接收与传输。 ClickHouse 列式数据库承接 Kafka 推送的数据,利用并行写入优化和向量化查询引擎,支持每秒万级数据写入速度,并通过 MergeTree 表引擎实现数据高效压缩存储,保障交易数据的实时落地与后续分析需求 [1]。

      2.2  牌识图片数据汇聚功能

      牌识图片也要作为数据汇聚到子模块中。该模块实时获取收费站牌识图片数据、门架牌识图片数据、车型设备牌识图片数据并存储到本地数据库中。此功能不涉及接口对接,只是采用 kafka 进行数据传输,使用 clickhouse的 kafka 引擎表进行数据消费,经由物化视图,通过 insert into xxx select xx from table; 的方式来做数据的清洗、转化工作,使得数据汇聚功能解耦,满足大量牌识图片数据的长期存储需求,同时便于后续的图片查询和访问。

      3  数据加工功能模块开发

      数据加工是根据汇聚的数据和业务规则,对收费数据进行清洗、加工,从数据中获取有效的信息价值。

      3.1  核心数据资产库构建

      3.1.1 动态车型库

      动态车型库开发以出口交易流水作为主要数据源,采用数据去重策略,每辆车仅保留最近 5 条交易记录。开发时要借助 SQL 窗口函数抽取交易流水,利用 ROW_ NUMBER 函数按车牌号分区,根据交易时间倒序排列,筛选出每个车牌号的最新 5 条记录。入库逻辑基于存储过程实现, 先对交易流水按车牌号进行 COUNT 聚合统计, 当交易次数达到预设阈值(如≥ 3 次),则通过 CASEWHEN语句判断车辆是否存在于车型库中。若不存在,则执行INSERTINTO 操作将车辆信息写入车型库。

      系统通过 XXL-JOB 分布式任务调度框架,配置每分钟执行的定时任务,实时捕获车型库的新增与变更数据。数据校验模块采用JOIN 关联查询,将出口刷卡交易数据中的车型字段与车型库进行 LEFTJOIN,使用 ISNULL条件筛选出不一致记录,并存储至异常数据临时表。同时设计 RESTful API 接口,提供 PUT 方法供业务人员调用,实现车型数据的在线修正。

      3.1.2 在途车辆库整合

      在途车辆库整合收费站交易流水与门架牌识记录,数据存储采用分区表设计,按日期字段进行范围分区,每天生成独立的数据分区。清理机制通过 PL/SQL 存储过程实现, 使用 DELETEFROM 语句结合 WHERE 条件删除超过 3 天的历史分区数据。系统采用 MVCC(多版本并发控制)机制,确保数据清理过程不影响入口站查询功能的并发访问,再通过 EXISTS 子查询实现实时数据校验 [2]。

      3.2  关键接口设计

      车型库查询接口的地址为 /fftApi/gateway/query PlateStatusByType,支持通过车牌号、卡号等参数进行查询。接口接收到查询请求后,根据传入的参数在车型库中进行检索,返回对应的车型信息以及车辆的可信状态,方便收费系统判断车辆类型。

      入口站查询接口的地址为 /fft-prod/onway/query VehicleEntryInfo,可通过车牌号、出口时间等参数发起查询。该接口基于 ClickHouse 进行多维度查询,综合刷卡交易数据、门架数据等信息,采用交易数据优先、牌识数据辅助验证的查找策略,最终返回入口站信息以及路径快照等内容,帮助收费系统准确获取车辆的入口信息。

      4  数据赋能模块开发

      4.1  核心服务设计

      车型纠正服务通过/fft/api/queryVechileByCondition接口实现。该接口接收收费系统传输的车牌号参数,采用 JDBC 连接池技术建立与车型库数据库的连接,执行基于 SQL 语句的精准查询操作,获取标准车型数据后以JSON 格式封装返回。同时,设计异步消息队列接收车型不符特情数据,借助 SpringBatch 批量处理框架实现数据的清洗与校验,最终将有效数据持久化到车型库。

      入口查询服务基于 ClickHouse 列式数据库构建。针对刷卡交易数据、门架数据等多源异构数据,通过创建 MergeTree 表引擎建立数据存储结构,利用分布式查询技术实现并行计算。业务逻辑层采用策略模式实现查询优先级控制 :当交易数据表中存在完整的入口时间、站点编号等字段时,直接返回查询结果 ;若交易数据缺失关键信息,则调用牌识数据视图进行关联查询,通过正则表达式匹配和模糊查询算法完成数据验证与补充。

      名单查询服务采用混合式数据同步策略,每日凌晨通过 ETL 工具执行全量数据迁移,将源数据库数据经过数据转换、去重等操作后覆盖写入目标库。增量同步基于 Canal 中间件监听数据库 binlog 日志,以 5 分钟为周期捕获数据变更记录,通过消息队列传递至数据处理模块,采用 UPSERT 操作实现数据更新。查询接口 /fft/ gateway/vehicleStatus 采用 RESTful 架构设计, 支持多参数组合查询,后端利用 MyBatis-Plus 框架实现动态 SQL生成,提升查询效率。

      4.2  特情数据处理

      接入统一接口 /fft/gateway/specialUpload 后, 将多源数据集合在特情数据处理模块。该接口基于 HTTP 协议设计,采用 POST 请求方式,支持JSON 格式数据传输,可兼容车型不符、车轴不符、无卡 / 卡坏、入口拒超等多类型特情数据的结构化接入。接口实现中采用拦截器机制对请求进行鉴权验证与参数校验,通过 Swagger 规范生成接口文档,保障不同系统间数据交互的规范性与稳定性。

      数据存储层采用 ClickHouse 列式数据库,利用其Merge Tree 表引擎构建特情数据存储模型,数据的高效写入与查询则借由设计日期分区与哈希分片策略实现,在此基础上实现数据赋能,方便将其在实际场景中应用。

      5  赋能成效分析模块开发

      5.1  赋能数据统计

      赋能成效分析模块开发需严格遵循设计规范,基于Spring Boot 微服务架构开发, 采用 MyBatis-Plus 持久层框架实现数据访问,通过 Elasticsearch 搜索引擎对业务数据进行高效存储与检索,支持按日期维度进行特情赋能数据统计,基于公司层级完成业务数据聚合分析,并提供精细化数据统计功能。

      5.2  纠正通行费统计模块

      纠正通行费统计模块基于 Hadoop 大数据平台搭建数据处理集群,利用 MapReduce 计算框架对异常通行费用数据进行分布式处理,通过 Spark Streaming 实现实时数据清洗与核查。查询纠正车型数据模块通过建立车辆类型信息校验算法模型,结合 Redis 缓存技术优化数据查询性能,实现车辆类型信息的快速校验与动态管理。

      5.3  查询车辆入口赋能数据

      车辆入口赋能数据查询模块采用 Flink 流处理引擎,对无入口记录的异常车辆数据进行实时追踪与分析。入口拒超数据查询模块集成计算机视觉技术,通过TensorFlow 深度学习框架构建超限车辆识别模型,结合物联网传感器数据实现超限车辆的精准识别与统计。

      5.4  赋能成效展示大屏

      赋能成效展示大屏基于 ECharts 可视化框架开发,通过 Websocket 实现数据的实时推送,将各业务模块的关键指标以动态图表形式呈现,使数据赋能效果得以直观地展现出来,后续工作也能在此基础上顺利进行。

      6  设备监测和运行监测模块开发

      6.1  设备监测

      设备监测模块基于 Spring Boot 微服务架构对门架上的车型识别设备捕获率和准确性进行每日监测。在车型识别设备运行状态评估中,捕获率计算模块采用 Flume实时日志采集框架,将门架设备识别到的车辆信息与部署在 ETC 车道的红外感应计数器数据进行比对,通过Spark Streaming 流式计算框架实现每秒级数据处理,获取识别车辆数与实际通行车辆数的比值,以此量化设备对车辆的识别覆盖能力。准确率评估模块则通过建立HBase 非关系型数据库,存储设备识别车型数据与 OBU交易系统记录的实际车型信息,运用 Hive SQL 进行全量数据关联分析,计算两者一致性比例,精准衡量设备识别结果的准确性。计算结果以 Parquet 格式存储,并通过 POI 技术生成包含折线图与柱状图的 Excel 报表,经由 HTTP 接口推送至各路公司业务系统。

      6.2  运行监测功能模块

      运行监测功能模块功能较多,实际开发时要按预设时间间隔,对出入口交易数据与门架流水记录进行哈希值比对与数量统计,并生成包含差异数据的日志文件,完成数据传输监测工作。

      车型库监测功能基于流式计算框架开发,通过实时接入 ETC 门架抓拍图片与交易数据,利用 YOLOv7 算法识别车辆类型, 结合 Django ORM 框架与 Redis 缓存系统,动态计算车型库覆盖率与准确率指标。系统内置阈值报警机制,当指标偏离设定阈值时,自动推送优化建议至运维平台。

      调用记录查询模块基于 MySQL 数据库构建,采用AOP 切面编程技术,在服务调用入口处植入日志采集逻辑。通过存储过程实现调用频次统计与结果分析,利用 Pandas库进行数据清洗与特征提取,生成调用趋势分析报表。

      7  结语

      总之, FFT2.0 赋能平台后端工程开发重点在数据汇聚模块、数据加工模块、数据赋能模块、设备监测和运行监测功能模块,各模块协同工作,有助于实现收费数据的高效汇聚、精准加工、有效赋能以及全面监测,显著提升收费准确性,为智慧交通的发展贡献力量。

image.png

参考文献

[1] 何雪宁,赵书丽,陈静瑶.高速公路匝道自由流收费系统[J].中国交通信息化,2023(7):82-85.

[2] 张承龙.高速公路车道收费系统的设计与开发[J].商品与质量,2021(33):328.