MQTT技术在公路收费系统中的应用展望
2023-12-13孙立明王雪梅
杨 猛,孙立明,王雪梅
(黑龙江省交通运输信息和科学研究中心,黑龙江 哈尔滨 150080)
1 引 言
1.1 数据传输在公路收费系统中的重要性和发展趋势
数据传输在公路收费系统中具有极其重要的作用。公路收费系统需要实时地获取、传输和处理各种数据,以确保高效的运营、良好的用户体验以及安全性。在外场设备控制、实时监控与管理、系统参数更新、行驶路径确认、非现金支付和远程系统维护等方面,实时数据传输必不可少。
随着科技的不断进步,数据传输在公路收费系统中的发展也呈现出一些趋势。
(1)物联网整合:公路收费系统将更多地整合物联网技术,实现车辆、设备、传感器等的互联互通,进一步提升数据传输和系统智能化。
(2)数据安全:随着数据传输量的增加,数据隐私保护将更加重要,加密、认证等安全措施将进一步加强。
(3)高性能网络:高速、低延迟的网络基础设施将得到不断改进,以满足数据传输的要求。
数据传输在公路收费系统中的重要性日益凸显,随着技术的发展,将迎来更多智能化、自动化的趋势,以提高公路收费系统的效率、准确性和服务质量。
1.2 引入MQTT技术作为改进和优化的关键因素
MQTT(Message Queuing Telemetry Transport)作为一种高效、轻量级的通信协议,具有适应实时数据传输和处理需求的特点,可以在公路收费系统中发挥关键作用。
引入MQTT技术的目的是通过其发布/订阅模型、异步通信、实时性等特点,应对公路收费系统中的诸多挑战,如高并发、实时监控、数据传输和设备管理等。这项技术的应用将有助于实现以下方面的改进和优化。
(1)实时数据传输:MQTT的实时性和异步通信特性使得公路收费系统能够高效地传输车辆流量、交易数据等实时信息,支持即时决策和快速响应。
(2)设备状态监控:MQTT的发布/订阅模型可用于实时监控收费站设备的状态,包括闸口、传感器等,有助于及时发现故障并采取措施。
(3)高并发处理:MQTT的轻量级设计和异步通信使得系统能够处理高并发的数据传输,有效避免交通拥堵和排队延误。
(4)灵活性与扩展性:引入MQTT技术能够支持系统的灵活扩展和整合,适应未来可能的变化和增加的收费站数量。
通过引入MQTT技术,公路收费系统可以迈向更智能化、高效化和实时化的方向,满足日益增长的交通流量和实时数据处理需求。这将有助于提升系统的可靠性、用户体验和运营效率。
2 MQTT技术概述
2.1 MQTT的定义和背景
MQTT是一种精简、高效的通信协议,旨在实现设备间的可靠消息传递。MQTT最初由IBM开发,主要用于支持遥测和远程控制应用[1]。随着物联网的兴起,MQTT成为连接各类物联设备的首选通信协议之一。
在物联网背景下,日益增多的设备需要实时通信、数据传输和远程控制能力。然而,传统通信协议如HTTP等在这种环境下表现不佳。MQTT应运而生,填补了这一通信需求的空白。它采用发布/订阅模式,允许设备(发布者)发布消息到特定主题(Topic),其他设备(订阅者)可以订阅这些主题以接收相关消息。这种模式有效地减少了频繁连接的需求,提供了更高效的消息传递机制。
2.2 MQTT的工作原理和核心特点
MQTT采用发布/订阅模型,通过中间代理(Broker)来协调消息传递。其工作流程如下。
(1)发布者(Publisher):发布者将消息发布到特定主题(Topic)上。
(2)代理(Broker):代理接收发布者的消息,并将其分发给订阅了相同主题的订阅者。
(3)订阅者(Subscriber):订阅者订阅感兴趣的主题,接收相关消息。
这种模式实现了设备之间的松耦合通信,允许灵活地添加发布者和订阅者,同时降低了通信开销。MQTT通讯具备以下核心特点。
(1)轻量级:MQTT协议头部精简,通信开销低,适用于资源受限设备和低带宽环境。
(2)发布/订阅模型:发布者发布消息到主题,订阅者订阅主题以接收消息,实现异步通信。
(3)QoS级别:提供不同的服务质量级别,从0~2,满足不同可靠性需求。
(4)保留消息:代理可保留最新消息,新订阅者可立即获取最新数据。
(5)持久性会话:客户端可保持与代理的会话状态,确保断开重连后继续接收之前订阅的消息。
(6)安全性:支持SSL/TLS加密和认证,确保通信安全。
(7)广泛应用:在物联网、传感器网络、远程监控等领域得到广泛应用。
(8)适应性:可应对网络不稳定、带宽有限等复杂环境。
(9)高效性:通过减少连接建立和关闭,降低通信开销。
(10)灵活性:允许动态添加和移除发布者和订阅者,适应系统变化。
3 公路收费系统中的实时数据传输需求
在公路收费系统中,有许多场景需要实时数据传输,以确保系统高效、安全和可靠地运行。以下是一些需要实时数据传输的典型场景。
(1)车辆流量监测:实时传输各收费车道和各门架的车辆流量数据。
(2)收费情况监控:实时传输支付和交易数据,帮助管理人员监控实时的收费情况,确保交易的准确性和可靠性。
(3)收费设备状态:实时传输收费站和门架的收费设备的状态信息,有助于快速发现设备故障并采取措施。
(4)系统监控:实时传输系统性能数据,如网络状态、服务器负载等,帮助管理人员监测整体系统健康状况。
实时数据传输在公路收费系统中涵盖了车辆流量、交易数据、设备状态、安全情况等多个方面,是系统的高效、安全和良好用户体验的基础。
4 MQTT技术在公路收费系统中的应用
4.1 与收费设备的通信
在公路收费系统中,设备通信有逐渐向网络化发展的趋势,传统的模拟图像采集、串口费显、I/O设备等都发展出支持网络通信的设备品类。这种网络化趋势带来了许多优势,包括实时数据传输、远程监控、集中管理等。
这种通信网络化的趋势使得MQTT技术在公路收费系统中的主机-设备和设备-设备之间的通信应用更加切合其需求。MQTT以其轻量级的本质,可被轻易部署在低配置的设备终端和车道计算机中;其支持的QoS级别特性,能够针对不同设备的通信需求,精准选用适当的QoS级别,以更好地平衡通信可靠性与效率;此外,MQTT的“will topic”机制,更增其独特魅力,使得监控主机能够实时感知设备网络断开的状况,从而作出迅速、精准的应对。
对于车辆检测器,作为发布者的设备可以通过向代理(Broker)发布消息,将其状态信息传递,包括加电启动、车辆驶入及驶离等关键信息,并通过“will topic”机制使上位机能及时获取设备断线消息。车道计算机作为Subscriber,可实时获取车辆检测器的加电、断线、车辆驶入和驶离等状态信息。此时的QoS级别可设置为2,确保车辆驶入/驶离信息成功发送且只发送一次。
在与栏杆机的通信中,设备作为Publisher,可向Broker发布设备状态信息,包括加电启动、栏杆水平/竖直状态等,并通过“will topic”机制将断线状态及时通知上位机;同时,设备作为Subscriber,可实时获取上位机下达的抬起/落下指令并做出响应。而在车道计算机端,作为Subscriber,可实时获取栏杆机的工作和在线状态;同时,作为Publisher,可向栏杆机发送抬起/落下等指令。
其他收费系统设备,如费额显示器、雨棚信号灯以及收发卡设备等,在经过适当的配置和调整后,同样可以利用MQTT技术来满足其通信需求。这些设备可以通过MQTT的灵活性和适应性,实现实时数据传输和状态监控,在此不再详细赘述。
4.2 业务数据流的实时监控
收费车道计算机作为发布者连接MQTT代理,能够发布实时收费业务数据,包括通行时间、通行卡/ETC卡号、行驶路径和交易结果等信息,其通过“will topic”机制,得以及时通知代理可能出现的断线状况。作为订阅者的收费监控终端,则能够实时接收前述的收费业务数据以及车道状态信息,使得监控人员能实时掌握各收费车道的运行状态和业务流程。
进一步延伸,收费站数据库服务器以发布者角色,将收费业务流水数据的入库情况传送至MQTT代理,并通过“will topic”机制及时通报连接状态的变化。收费监控终端再次担当订阅者角色,实时掌握数据库服务器的状态和业务流水数据的接收情况,并在异常情况发生时迅速报警。
不仅如此,各级业务数据传输服务也可透过将数据传输情况和断线消息发送至代理,使得收费监控终端能够实时展示收费业务数据流的传输状态。对系统维护人员而言,能够随时察觉数据传输中的异常状况,并做出迅速响应。
此外,借助MQTT Bridge技术,多个代理能够以“桥接”的方式相连,从而实现发布者仅需向一个代理发布信息,而订阅了参与“桥接”的代理的相关主题的所有订阅者——此处特指收费站、分中心和收费中心的各级收费监控终端——都能同步获得相同的信息。这不仅满足了对收费数据流的多点同步监控的要求、避免了信息的重复发送,还简化了发布端的应用结构:无需额外的开发工作就能实现多点同步监控。
4.3 终端间数据与指令的传输
以收费车道计算机与收费监控终端之间的数据与指令传输为例,车道计算机必须向收费监控终端实时发送信息和指令,涵盖了车道计算机软硬件状态、车道外设状态、收费软件业务逻辑状态、车辆行驶路径查询请求、特殊车辆放行请求等多重信息。收费监控终端负责接收这些信息,并经过相应的处理、查询和人工干预,再将处理结果发送回车道计算机,以完成正常的收费业务流程。
车道计算机在这个系统中履行着MQTT发布者的角色,将上述信息传送给事先约定的代理。与此同时,作为MQTT的订阅者,车道计算机从代理中接收各种来自收费监控终端的数据和指令,从而完成收费业务的全过程。
收费监控终端作为MQTT的订阅者,通过代理获取所有收费车道的状态和业务信息。这些信息会经过加工处理和人工干预,构建车道所需的业务数据和指令,以发布者的身份,终端将这些信息发送回代理,以便车道计算机获取并应用。
通过设置合适的Keep Alive[2]值,车道计算机和收费监控终端不仅在活跃状态时进行通信,而且在闲置状态下也定期发送PINGREQ协议包。这种机制与“will topic”机制相结合,使得代理能够在最短的时间内了解到车道计算机和收费监控终端的连接/断开情况,并迅速通知彼此。这确保了车道计算机和收费监控终端之间的连接状态得以被对方即时感知,进而保障车道业务逻辑的顺畅运行,避免过长的响应时间对车辆通行效率造成影响。
5 MQTT在公路收费系统中应用的益处
在公路收费系统中广泛使用MQTT技术,可从轻量级特性、内建机制、资源丰富性到实时性和灵活性等多个方面带来了诸多益处,主要体现在。
(1)实时性、高效性、可扩展性和灵活性:MQTT具备出色的实时性与高效性,可实现迅速的数据传输与即时响应。其卓越的可扩展性和灵活性使系统得以轻松扩展与整合新设备,以满足未来发展需求。
(2)轻量级、适应性佳:作为一款轻量级通信协议,MQTT的精简设计及低资源消耗特性使其能在公路收费系统中广泛应用。由于其轻量级的特性,几乎所有设备皆可轻松安装和运行MQTT。从外场设备、车道计算机,到收费应用工作站与收费服务器,均可毫无困难地纳入体系,从而实现高效稳定的通信。
(3)协议内建多种机制满足应用场景:MQTT在协议层面具备多项机制,以保障数据通信的可靠性。例如,“will topic”机制赋予实时感知节点在线状态的能力,确保连接状态时刻可知。同时,MQTT提供服务质量(QoS)级别控制,从0~2,以适应各类数据传输对可靠性的需求,为公路收费系统提供了多样且灵活的通信选择。
(4)资源丰富:MQTT技术在全球范围内得到广泛应用,因而涌现大量成熟软件库供选用。互联网上关于MQTT的丰富资源和工具,使开发和调试任务变得更加简单。开发者可借助这些丰富资源,降低开发难度和工作量,从而更迅速地实现MQTT在公路收费系统中的应用。
6 安全考虑
MQTT通信的加密和认证是确保通信安全性的重要手段。在MQTT中,采用TLS/SSL(传输层安全/安全套接字层)协议来实现通信加密,同时使用用户名和密码等凭证进行身份认证。
(1)加密:通信加密是通过TLS/SSL实现的,它在通信的传输层提供了加密。TLS/SSL协议使用公钥和私钥体系来加密和解密数据,确保通信内容在传输过程中不会被恶意方窃取或篡改,从而保障通信的隐私和完整性。
(2)认证:MQTT在连接时需要进行身份认证以确保连接的合法性。客户端在连接到MQTT代理(Broker)时,需要提供正确的用户名和密码来验证其身份。只有通过认证的客户端才能够与代理进行通信,从而保证了系统的安全性和可信度。除了基本的用户名和密码认证,MQTT还支持更高级别的认证机制,如X.509证书认证。这种方式基于数字证书来验证客户端的身份,增加了通信的安全性和可靠性[3]。
总之,MQTT通过TLS/SSL协议的加密和多种认证机制的应用,确保了通信的保密性、完整性和可信度,为各种应用场景提供了更安全的数据传输环境。
7 应用展望
MQTT在公路收费系统中的应用前景十分广阔,下面列举可以发挥重要作用的几个方面。
(1)拓展实时监控范围:MQTT的快速开发和易于部署的特性,以及对各类平台的兼容性,使得更多的网络节点和其中的信息能够轻松地纳入实时监控体系。这有助于实现收费系统更全面、更直观的数据展示,提升运行的可控性和效率。
(2)助力系统间通信:MQTT作为一个通用的通信协议,具有统一的消息格式和传输方式,可以极大地简化不同系统之间的通信建立。在收费系统、监控系统和通信系统之间,以及不同供应商提供的设备和软件之间,MQTT的应用能够使不同系统之间的集成更加容易和无缝。
(3)促进收费设备接口网络化发展:公路收费设备正朝着网络化的方向发展,MQTT作为优秀的通信协议,为设备通信的网络化发展提供了强有力的支持。其轻量级特性使得各类设备都能够连接到网络,而其强大的通信机制能够确保设备之间的高效通信,加速收费设备的网络化进程。
(4)实现多点同步监控:利用MQTT的桥接技术,多个监控终端可以同时获取相同的信息,实现多点监控和数据同步,从而更好地协调运营。这种多点同步监控能够提升系统的整体管理效率,确保数据的一致性和准确性。
综上所述,MQTT在公路收费系统中有良好的应用前景。这些应用场景将促进公路收费系统的现代化、智能化发展,提升运营效率和服务质量。