徐 勇 广州市高科通信技术股份有限公司 广州 510663

SCATS调控质量评估系统的设计和实现

徐 勇 广州市高科通信技术股份有限公司 广州 510663

针对悉尼协调自适应交通控制系统(SCATS)对于人工调控缺乏有效监控和后评估手段的问题,开发一种SCATS操作监控软件系统,根据预定的告警规则,在发现风险操作时生成告警并记录在数据库中。应用结果证明,该方案能有效识别低效的调控操作,周期性地按人或部门统计告警的情况并反馈给相关人员,作为内部培训以及考核、提升的基础。

SCATS;调控;质量;软件

悉尼协调自适应交通控制系统(Sydney Coordinated Adaptive Traffic System,简称SCATS),由澳大利亚新南威尔士州道路交通局(RTA)研究开发,是目前世界上少有的几个先进的城市交通信号控制系统之一。国内已经应用SCATS系统的城市有上海、沈阳、苏州、广州、石家庄、杭州等十几个城市,SCATS在这些城市智能交通信号控制方面,发挥了巨大的作用。最理想的情况下, SCATS系统会自动调节各个路口信号机的运行参数,比如周期、相位、绿信比等,以达到各路口最佳的配时方案。但由于交通具有偶然性,难免在个别时段交通流量出现大的变化或突发事故,这时全部依赖于SCATS系统的自适应能力已经不够,必须进行人工干预。目前各城市交警支队及下辖部门经常进行人工干预,实时调节交通信息,比如锁定长周期、长相位等。但人工干预又会反过来影响系统的自适应能力和SCATS系统的运行效率,比如不合理的参数调节,可能导致交通拥堵等情况。所以人工干预的质量变得很重要,但SCATS系统本身并不提供足够的手段分析和统计人工调控的效果,也没有量化的方法评估各调控部门以及人员的水平,导致人工调控的质量无法提高。本项目基于SCATS系统接口,实现了一套获取和评估SCATS系统调控质量的软件系统。

1 网络结构和SCATS接口

SCATS系统本身包括SCATS中央控制机和区域控制机,区域控制机用于控制各个路口的信号机,并将路口数据发送至SCATS中央控制机,各SCATS系统调控人员可以通过SCATS系统的客户端,实时或计划调节各路口信号参数。 SCATS系统中央控制机支持专用的数据接口,允许第三方程序交互数据,调控质量评估系统就通过这个接口从SCATS系统获取数据。 SCATS系统和调控质量评估系统的网络结构如图1所示。

图1 SCATS系统和调控质量评估系统的网络结构

SCATS提 供ITS接 口(ITS port) 服务,应用程序通过该接口可与SCATS的中央控制机(central manager)和区域控制机(region)交换数据。该接口的通信基于TCP/ IP协议。 ITS接口通信协议中有2种消息类型:请求和响应。 ITS应用程序发送请求信息给SCATS主机, SCATS主机响应请求,将数据发回给ITS应用程序。 ITS接口提供了多种消息获取格式,包括流量、饱和度、子系统、区域、部分控制、报警、状态等。调控质量评估系统主要需要获取路口信息、操作用户、日志信息。路口信息和用户信息用于同步SCATS系统当前管理的所有路口和操作人员情况,日志用于分析风险操作,产生相应告警。

2 需要识别的告警类型

根据SCATS系统的运营经验,诸如锁定路口信号机的周期、相位、绿信比等操作,以及路口在特殊情况下的关灯、黄闪等操作,实际上都会导致SCATS系统自适应能力的降低,因此都属于风险操作,需要作为可能的告警源加以识别和记录。评估系统通过获取到的SCATS系统运行日志,识别的告警类型如表1所示。

3 系统结构

调控质量评估系统本身是个典型的二层C/S应用,有一个服务端连接SCATS中央控制机获取日志等信息,实时分析告警,并将产生的告警存放入数据库;数据库采用流行的MySQL开源数据库;同时提供一个GUI界面的客户端,用于监控实时告警,查询、统计历史告警,查看、管理路口、操作用户信息,产生日、周、月报表等。

服务端、数据库、客户端三个部分中,数据库和服务端可分离部署,也可以部署在同一台服务器硬件上,客户端可安装于交警部门各管理人员的办公电脑上。软件体系结构如图2所示。

(1)服务端具体功能:创建和管理和中央控制机的连接, License验证;定时同步路口信息、SCATS操作用户信息到MySQL数据库中(1天1次);实时读取、解析SCATS日志信息,筛选有效日志,存入MySQL数据库;根据告警规则,分析有效日志,产生相关告警,并实时通知客户端;由于管理用户可以更改告警规则参数,所以可以在得到客户端通知后,实时刷新告警规则参数。

(2)数据库表:用于存储中间日志、路口和用户信息(主要用于告警显示时的字段关联)、告警产生规则、历史告警等。

(3)客户端功能:主要包括路口信息、SCATS用户查询、告警查询、告警统计、告警规则管理等管理界面,以及登陆、日志、用户管理(此处指评估系统自身的用户)、帮助等辅助功能。

4 系统实现的关键技术

4.1ACE通信中间件

系统服务端采用C++实现,为满足高性能、高可靠的要求,应用了成熟的C++网络通讯库ACE(Adaptive Communication Environment,自适配通信环境)是面向对象的框架和工具包,它为通信软件实现了核心的并发和分布式模式。 ACE包含的多种组件可以帮助通信软件的开发获得更好的灵活性、效率、可靠性和可移植性。

服务端采用TCP方式和中央机以及客户端通信,为满足多线程并发的需要,采用ACE反应器框架(Reactor)实现对连接以及线程的管理。实践证明,在对1000个路口以上的超大型城市的SCATS系统监控时,也能完全满足性能需求。

4.2告警分析算法

每种告警类型需要对应一种告警分析算法,主要可分为三类:一类是根据日志中的特征值即可简单识别的告警,比如“关灯”、“黄闪”;第二类是需要分析日志中指令的具体参数,比如长久锁定类的告警,这需要理解SCATS各指令参数含义并判断参数是否超过阀值;第三类则需要在一定时间范围持续监控,并根据前后操作进行关联判断,比如“连续操作多个路口”等。告警算法充分利用面向对象编程的特点,易于添加和修改,便于后续扩展。

为防止部分告警过于频繁产生(由于SCATS系统本身缺陷,有时个别操作会导致记录的日志出现异常重复),还需要加入防抖算法,即短时间内的高频同类告警属于误告。由于交警支队对各个路口的重视程度不同,告警规则同时也支持针对不同路口设置不同的告警策略(包括是否启用,各告警参数的门限阀值等)。

4.3告警和报表推送技术

为保证告警通知的实时性,以及提高管理的自动化程度。系统支持告警短信实时推送(可按告警等级、用户等条件定制)、以及各类报表自动定时发送功能。由于公安内网和互联网之间的隔离限制,短信告警未使用短信网关方式,而采用第三方短信猫中间件实现。报表则采用邮件(SMTP协议)方式主动推送给相关人员。

表1 SCATS调控质量评估系统识别的告警类型

图2 软件体系结构

5 结束语

本文介绍了SCATS调控质量评估系统的设计和实现方案,系统已在国内特大型城市SCATS系统中上线运行,交警支队根据系统自动生成的告警统计报告,及时反馈给下辖各大队SCATS系统管理、操控人员,有效提升了SCATS系统操作人员的人工调控水平,提高了全市道路交通信号系统的运营效率。

[1]彭信林,王宁鸣,周剑锋,王景成,徐文艳,SCATS数据采集系统的设计与实现[J],计算机工程,2008(12):257

[2]SCATS6 ITS Interface 2.0 For SCATS 6.4.1, 2004