收稿日期:2002201229作者简介:付孟若(1972-,男,广东韶关人,博士生,fumengruo@21cn.com.高速公路收费系统通信服务器的设计与实现付孟若吴今培张其善(北京航空航天大学电子信息工程学院,北京100083摘要:高速公路收费系统通信服务器是高速公路收费系统数据传输的枢纽.重点介绍了高速公路收费系统通信服务器软件的设计、实现方法和特点.通信服务器使用按优先级分发报文的通信协议,支持多用户的并发通信.为了实现数据共享的集中控制,通信服务器采用客户Π服务器的模式.使用多线程的编程技术,满足了对通信服务器实时性的要求.目前,该软件已通过了验收,在广深高速公路上运行良好.关键词:通信软件;协议(通信;网络软件;并发通信:U412.36+6.1;TP393.09文献标识码:A文章编号:100125965(20030720624203Designandimplementationofonhighwaytoll(SchoolofE,ofAeronauticsandAstronautics,Bei激ng100083,Chinatollconnectionsystemisthecenterofdatatransmission.Thede2sign,ofcommunicationserverwereintroduced.Basedondesignedprotocolsupportpackets,communicationserverexchangesdataconcurrentlywithend2users.ClientΠServermodelwasutilizedtomeettheneedofcentralizedcontrolofsharingdata.Multithreadprogrammingtechniquewasusedtofulfillrequirementofreal2time.ThesystemworkssatisfactorilyatGuangzhou2Shenzhenhighway.Keywords:communicationsoftware;protocol(communication;networksoftwares;concurrentcommunication我国是当今世界上公路建设速度最快的国家.“目前已通车高速公路收费系统普遍采用人工收费,”计算机管理,随着高速公路路网的发展和计算机网络、通信等高新技术的发展,在区域或省内实行联网收费,是当前智能交通系统(ITS发展的趋势.高速公路收费系统一般分为3级:收费车道、收费站、收费管理中心.收费管理中心负责管理各个收费站,收费站管理各个车道,收费中心与收费站通过同步数字网SDH(SynchronousDigitalHierardly快速传递数据,收费站通过局域网对收费车道实施监控并获得相关的收费信息.收费数据在车道形成,经过收费站上报到中心.各种系统配置及参数表由中心下发到收费站,再由收费站下发到各个车道.为了连接高速公路收费管理中心和收费站、收费车道,分发收费数据和监控数据,需要开发高速公路收费系统通信服务器.主要解决各级管理部门之间的网络互连、监控报文的可靠实时分发和其它类型报文的可靠分发.通过该通信服务器,可以获得各个收费车道设备的实时状态信息,并可下发打开车道、关闭车道、强制下班等控制报文和其它业务参数表.本文主要讨论该通信服务器的设计(功能、通信协议和实现(开发手段、软件结构和特点.1系统设计通信服务器是高速公路收费系统通信的桥2003年7月第29卷第7期北京航空航天大学学报JournalofBei激ngUniversityofAeronauticsandAstronauticsJuly2003Vol.29No17梁,通过它可以实现各级系统之间的数据通信和信息交换.1功能①实时接收和发送监控报文;②根据数据的优先级,接收和发送其它各种类型的报文;③支持文件传输;④通信链路的维护和侦测.当链路中断并恢复后,支持自动重连;⑤具有简单网管功能,可以维护各个通信节点.2通信协议通信服务器为各个客户端提供TCPΠIP的接口[1].由于报文不是按照FIFO(先进先出的原则进行传送,因此通信服务器使用一个应用层的通信协议,来调度和分配优先级不同的报文.按照协议的定义,报文被分为5部分(见图1.目的地址源地址优先级数据校验图1报文结构报文按类型分为监控报文和数据报文.监控报文的优先级别最高,数据报文的优先级次之,普通文件的优先级最低.网络通信中断时,器缓存未上传的数据,..优先级划分的原则是:在同类报文中,不需确认的监控报文或实时数据报文的优先级最高,其次才是需要确认的监控报文或非实时数据报文.2实现2.1开发手段在Windows2000平台上有大量的系统服务类型作为分布式计算手段.除了直接使用Windows提供的Winsock服务外,Windows2000还有命名管道(pipe、远程过程调用(RPC、分布式组件对象模型(DCOM、消息队列(MSMQ等名目繁多的分布式软件开发手段.RPC,DCOM都是为专门的系统功能而设定的,在通信服...