摘要:本文介绍了《公安交通集成指挥平台通信协议》(GA/T1049)标准的结构和主要内容,提出了采用专用测试系统进行该通信协议测试的方法,阐述了测试系统的架构、通信协议机制等,并详细论述了测试系统的使用方法。
0引言
我国公安交通指挥系统的建设始于上世纪80年代末、90年代初,初期以单系统建设应用为主。随着计算机及通信的科学技术的发展,公安交通管理的科技及信息化也得到快速的发展,系统种类逐步丰富多样,以信号控制、视频监控、交通流检测、交通诱导、违法检测处理等为代表的各类交通管理基础应用系统开始在指挥中心逐步建设完善并广泛应用[1]。但当前各地在用或在建的公安交通指挥系统中,由于系统实际运行软、硬件、网络等等环境的复杂性,各子系统之间仍然是简单的设备组合,实质性的相互集成与信息共享实现程度低,影响了整体效益的发挥[2]。《公安交通集成指挥平台通信协议》(GA/T1049)(以下简称指挥中心通信协议)系列标准的出台,规定了公安交通集成指挥平台与公安交通指挥系统内各基础应用系统数据通信的信息层通用技术要求、通信数据包结构、通信规程、通用操作与数据对象。标准的实施以期解决集成指挥平台与基础应用系统之间通信方式各异、数据共享工作量大、协调困难等问题,对于指导和规范公安交通指挥系统集成指挥平台建设具有重要的意义。
1标准简介
指挥中心通信协议面向公安交通集成指挥平台(trafficintegratedcommandplatform,以下简称TICP)与公安交通指挥中心各交通管理基础应用系统之间的数据交换设计。针对交通管理使用的现有各类基础应用系统专业性较强、各自的功能独立明确,且它们与TICP之间交换的数据种类多、数量大的特点,本通信协议对每一类的基础应用系统制定一个通信协议,以系列协议的形式来实现。本协议是TICP和公安交通指挥系统内各基础应用系统的软件设计和开发的依据和基础。协议的构架见图1[3]。由于系列协议各个部分结构类似,本文下面以TICP与交通信号控制系统(urbantrafficcontrolsystem,以下简称UTCS)之间的协议为例阐述该协议的测试技术和方法。
图1公安交通集成指挥平台通信协议构架图
2协议测试
协议测试是一种黑盒测试[4],它依据协议标准来控制观察被测试协议实现的外部行为,而后对被测协议实现进行测试。通常,协议测试主要有四种:互操作性测试、性能测试、强健性测试和一致性测试。
其中,一致性测试是一种功能性测试,是其他几种测试的基础。协议一致性测试实质上是在一定的网络环境下,利用一组测试序列,对被测协议实现(ImplementationUnderTest,简称为IUT)进行测试,通过比较IUT的实际输出与预期输出的异同,判定待测协议在多大程度上与标准描述相一致,并借此来保证通过一致性测试的协议在网络中的表现一致。通过一致性测试可以提高保证系统各组成部分的互联性能。目前尚无通用的协议测试工具,无法对公安交通集成指挥平台协议进行高效测试,因此,需要对公安交通集成指挥平台协议检测技术研究,开发公安交通集成指挥平台协议测试系统,对集成指挥平台与基础应用系统进行通信协议一致性测试,检查各系统的通信行为是否与GA/T1049中的要求相一致。
3测试系统设计
3.1测试系统架构
公安交通集成指挥平台通信协议测试系统,目的是对厂家开发的TICP和UTCS的通讯功能进行检测,确定其是否满足公安交通集成指挥平台通讯协议的要求。
其需求主要包括以下三个方面:
1)检测被测公安交通集成指挥平台的通信协议标准符合性;
2)检测被测交通信号控制系统的通信协议标准符合性;
3)自动生成检测报告。
该测试系统包含交通信号控制系统模拟器(以下简称UTCS模拟器)和公安交通集成指挥平台模拟器(以下简称TICP模拟器)两部分,其中UTCS模拟器用来测试公安交通集成指挥平台(TICP)的协议符合性,TICP模拟器用来测试交通信号控制系统(UTCS)的协议符合性,模拟器与被测系统采用Webservice方式进行通信。TICP模拟器和UTCS模拟器的结构分别如图2、图3所示。
3.2通信协议机制
3.2.1 连接
通信双方进行数据交换前,TICP和UTCS应建立通信连接,并由UTCS发出连接请求,TICP应答。通信连接为逻辑上的"连接",TICP收到请求并确认后认为连接建立,UTCS收到连接请求成功应答后认为连接建立。
3.2.2 断开
通信双方中任意一方在需要断开时发送请求,接收方收到断开请求并发送回复即视为通信断开,发送方收到断开回复后即视为通信断开。
3.2.3 中断
通信双方通过定时交换心跳数据包的方式维持连接,当任意一方连续3次在通信双方约定时间内没有收到心跳数据包,即视为连接中断,置状态为断开。
3.2.4 重连
通信中断后,系统自动重连。重连时发送连接请求,未收到应答的,随机延迟一个时间间隔后重新连接。延迟时间间隔取值范围为1s~60s。
3.3 数据包格式
数据包以根元素<Message>标记开头,</Message>标记结尾,具体格式如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<Message>
<Version>版本号</Version>
<Token>令牌</Token>
<From>源地址</From>
<To>目的地址</To>
<Type>数据包类型</Type>
<Seq>序列号</Seq>
<Body>
<Operationorder="顺序编号"name="操作命令">
<Object><!--对象的具体信息元素-->
……
</Object>
……
</Operation>
……
</Body>
</Message>
3.4数据包处理流程
3.4.1 REQUEST类型数据包
REQUEST类型数据包的处理如下:
a)发送方发送REQUEST类型数据包后,若在规定时间内没有收到任何应答时视为应答超时,该发送失败;
b)接收方收到REQUEST类型数据包后,检查数据包内容。正确的,向发送方发送RESPONSE类型的应答数据包;错误的,向发送方发送ERROR类型的应答数据包。
3.4.2 其他类型数据包
接收方收到RESPONSE、PUSH、ERROR类型数据包后,检查数据包内容。正确的,进行相应的处理;错误的,则丢弃,并记录错误日志。
4测试过程
4.1TICP测试
当有公安交通集成指挥平台(TICP)要进行测试时,按以下步骤来进行:
1)打开交通信号控制系统模拟器(UTCS模拟器),其界面如图4所示;
2)在UTCS模拟器的区域4内设置待测试的TICP的URL;
3)在UTCS模拟器的区域1内选择"Login"接口,在区域2内输入必要的参数后点击区域5内的"调用"按钮,登录待测试的TICP;
4)依次调用UTCS模拟器区域1内的所有接口,调用后查看区域3内显示的返回参数值和区域5中的处理结果,以此判定待测试的TICP的协议交互是否满足标准要求。
图4UTCS模拟器界面
4.2UTCS测试
当有交通信号控制系统(UTCS)要进行测试时,按以下步骤来进行:
1)打开公安交通集成指挥平台模拟器(TICP模拟器),其界面如图5所示;
2)在TICP模拟器区域1选择"配置服务器IP"节点并设置待测试的UTCS的IP地址;
3)待测试的UTCS登录TICP模拟器;
4)依次调用TICP模拟器区域1中的所有接口,在区域2内输入必要的参数后点击"提交"按钮,然后查看区域3内显示的返回参数值和区域4中的处理结果,以此判定待测试的TICP的协议交互是否满足标准要求。
图5TICP模拟器界面
4.3测试报告生成
所有测试用例执行完毕后,系统会根据测试结果自动生成测试报告,报告中将记录整个测试过程中所有协议报文,以方便被测系统对测试失败的用例进行定位和修改。测试报告和协议交互日志记录如图6、图7所示。
图6指挥中心通信协议测试系统测试报告
图7指挥中心通信协议测试系统日志记录
5 结束语
本文设计并实现了公安交通集成指挥平台通信协议测试系统,可按照GA/T1049标准中的要求进行协议一致性测试,而且测试过程中的每一个协议交互命令及测试结果都可方便地保存起来,方便用户的后续分析校验,能较好地满足相关检测机构的技术需求,具有一定应用前景。
参考文献
[1]徐棱.公安交通集成指挥平台通信协议研究[J].智能交通,2014年第1期总第34期:79-83
[2]王长君.对城市交通指挥中心关键技术及发展方向的探讨[J].《道路交通与安全》,2003年第5期:5-9
[3]公安交通集成指挥平台通信协议第1部分:总则[S].GA/T1049.1-2013,2013.
[4]陈旭东.基于CORBA技术的综合电信网管系统的构建[D].保定:华北电力大学,2005.
作者简介:
张昊,男,1982年出生,硕士,工程师,研究方向:道路交通安全产品软件检测技术及标准化研究,公安部交通管理科学研究所。
吴瑞玉,女,1981年出生,硕士,工程师,研究方向:道路交通安全产品软件检测技术及标准化研究,公安部交通管理科学研究所。
孙巍,男,1977年出生,硕士,副研究员,研究方向:道路交通管理执法装备检测技术及标准化研究,公安部交通管理科学研究所。