高速公路收费系统通信服务器的设计与实现解析_第1页
高速公路收费系统通信服务器的设计与实现解析_第2页
高速公路收费系统通信服务器的设计与实现解析_第3页
高速公路收费系统通信服务器的设计与实现解析_第4页
高速公路收费系统通信服务器的设计与实现解析_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 收稿日期 :2002201229 作者简介 :付孟若 (1972- , 男 , 广东韶关人 , 博士生 , fumengruo 21cn. com.高速公路收费系统通信服务器的设计与实现付孟若 吴今培 张其善(北京航空航天大学 电子信息工程学院 , 北京 100083 摘 要 :高速公路收费系统通信服务器是高速公路收费系统数据传输的枢纽 . 重点介绍了高速公路收费系统通信服务器软件的设计 、 实现方法和特点 . 通信服 务器使用按优先级分发报文的通信协议 , 支持多用户的并发通信 . 为了实现数据共享 的集中控制 , 通信服务器采用客户 服务器的模式 . 使用多线程的编程技术 , 满足了对

2、通信服务器实时性的要求 . 目前 , 该软件已通过了验收 , 在广深高速公路上运行良好 .关 键 词 :通信软件 ; 协议 (通信 ; 网络软件 ; 并发通信中图分类号 :U 412. 36+6. 1; TP 393. 09文献标识码 :A 文 章 编 号 :100125965(2003 0720624203De sign and implementation of on highway toll (School of E , of Aeronautics and Astronautics , Beijing 100083, China toll connection system is th

3、e center of data transmission. The de 2sign , of communication server were introduced. Based on designed protocol support packets , communication server exchanges data concurrently with end 2users. Client Server m odel was utilized to meet the need of centralized control of sharing data. Multithread

4、 programming technique was used to fulfill requirement of real 2time. The system w orks satis factorily at G uangzhou 2Shenzhen highway.K ey words :communication s oftware ; protocol (communication ; netw ork s oftwares ; concurrent communication 我国是当今世界上公路建设速度最快的国家 . 目前已通车高速公路收费系统普遍采用 “ 人工 收费 , 计算机

5、管理” , 随着高速公路路网的发展和 计算机网络 、 通信等高新技术的发展 , 在区域或省 内实行联网收费 , 是当前智能交通系统 (ITS 发展 的趋势 . 高速公路收费系统一般分为 3级 :收费车 道 、 收费站 、 收费管理中心 . 收费管理中心负责管 理各个收费站 , 收费站管理各个车道 , 收费中心与 收费站通过同步数字网 S DH (Synchronous Digital Hierardly 快速传递数据 , 收费站通过局域网对收 费车道实施监控并获得相关的收费信息 . 收费数 据在车道形成 , 经过收费站上报到中心 . 各种系统 配置及参数表由中心下发到收费站 , 再由收费站 下

6、发到各个车道 .为了连接高速公路收费管理中心和收费站 、 收费车道 , 分发收费数据和监控数据 , 需要开发高 速公路收费系统通信服务器 . 主要解决各级管理 部门之间的网络互连 、 监控报文的可靠实时分发 和其它类型报文的可靠分发 . 通过该通信服务器 , 可以获得各个收费车道设备的实时状态信息 , 并 可下发打开车道 、 关闭车道 、 强制下班等控制报文 和其它业务参数表 .本文主要讨论该通信服务器的设计 (功能 、 通 信协议 和实现 (开发手段 、 软件结构和特点 .1 系统设计通信服务器是高速公路收费系统通信的桥 2003年 7月 第 29卷 第 7期 北 京 航 空 航 天 大 学

7、 学 报Journal of Beijing University of Aeronautics and Astronautics July 2003V ol. 29 N o 17梁 , 通过它可以实现各级系统之间的数据通信和 信息交换 .1 功能 实时接收和发送监控报文 ; 根据数据的 优先级 , 接收和发送其它各种类型的报文 ; 支持 文件传输 ; 通信链路的维护和侦测 . 当链路中断 并恢复后 , 支持自动重连 ; 具有简单网管功能 , 可以维护各个通信节点 .2 通信协议通信服务器为各个客户端提供 TCP IP 的接 口 1. 由于报文不是按照 FIFO (先进先出 的原则 进行传送

8、, 因此通信服务器使用一个应用层的通 信协议 , 来调度和分配优先级不同的报文 . 按照协 议的定义 , 报文被分为 5部分 (见图 1 .目的地址 源地址 优先级 数据 校验 图 1 报文结构报文按类型分为监控报文和数据报文 . 监控报文的优先级别最高 , 数据报文的优先级次之 , 普 通文件的优先级最低 . 网络通信中断时 ,器缓存未上传的数据 ,. 优先级划分的原则是 :在同类 报文中 , 不需确认的监控报文或实时数据报文的 优先级最高 , 其次才是需要确认的监控报文或非 实时数据报文 .2 实 现2. 1 开发手段在 Windows 2000平台上有大量的系统服务类 型作为分布式计算手

9、段 . 除了直接使用 Windows 提供的 Wins ock 服务外 ,Windows 2000还有命名管 道 (pipe 、 远程过程调用 (RPC 、 分布式组件对象 模型 (DC OM 、 消息队列 (MS M Q 等名目繁多的分 布式软件开发手段 . RPC ,DC OM 都是为专门的系 统功能而设定的 , 在通信服务器以数据传输为主 的情况下 , 使用它们只能增加系统开销 . MS M Q 虽 然很适用于开发传输数据的中转中心 , 但它使用 了过多的中间层系统调用 , 导致效率太低 , 会成为 系统的瓶颈 . 因此最佳的选择就是直接对 Wins ock (Windows S ock

10、et 接口进行开发 , 虽然编程复杂 , 但可以获得最好的性能 2.2. 2 软件结构高速公路收费系统采用客户 服务器的模 式 1. 其中通信服务器是服务器端 , 与它相连的其 它应用系统是客户端 , 其模型如图 2所示 . 客户 服务器模式就是以服务器为中心实现数据共享的 集中控制 . 客户端只要与通信服务器间建立一条 连接 , 就可以与所有其它的客户端通信 . 客户 服 务器模式实际上包含了 2个程序 , 一个运行在服 务器端 , 另一个运行在客户端 . 客户端与服务器端 建立可靠的 、 面向连接的服务 . 服务器首先启动 , 建立一个套接口 , 并把它和本机的网络地址绑定 起来 , 然后

11、使套接口做好侦听的准备 , 这时就可以 等待接收数据了 . 客户端在建立套接口后 , 就可以 与服务器建立连接了 . 连接一旦建立后 , 服务器和 客户端就可以通过套接口发送和接收数据了 . 事 实上 , 服务器和客户端的程序并不是对称的 . 客户 端的程序不停地向服务器发出请求 , 服务器侦听 套接口 , 根据客户端的请求做出响应 , 所以它们之 ., .图 2 客户 服务器模型广深高速公路收费系统通信服务器包含通信 模块 、 链路控制模块 、 报文处理模块和用户管理模 块 . 这些模块之间的关系如图 3所示 .图 3 通信服务器的结构通信模块根据报文的优先级 , 可靠地发送和 接收报文 ,

12、 并支持报文的静态路由 .链路控制模块监测网络连接是否正常 . 如果 不正常则通知主线程设置网络不正常标识 , 同时 定时检查网络通信是否正常 . 如果网络连接恢复 正常 , 则通知主线程可以进行数据传输 .报文处理模块负责报文的处理 , 主要包括提 取报文所需的原始数据 , 并根据报文的定义格式 , 封装和拆封报文 .用户管理模块主要完成与通信服务器连接的 客户端的管理 , 管理的内容包括授权客户端连接 526第 7期 付孟若等 :高速公路收费系统通信服务器的设计与实现通信 , 客户端的名称 地址表格的维护 , 各通信节 点通信状态的显示和管理 , 以及在必要的时候 , 可以强制断开与通信节

13、点的通信连接等 .由于每个客户端都需要与通信服务器建立 TCP IP 连接 , 为了提高软件代码的重用性和加速 应用系统的开发 , 利用 Windows 平台的 ActiveX 技 术将客户端的通信代码封装成一个 OCX 控件 , 这 样通信服务器和客户端的 OCX 就构成了一个基 于 TCP IP 的实时分发技术的客户 服务器模式 . 这种实时的分发技术能够在不同的模块间提供透 明的通信手段 , 开发层次在 OSI 7层网络模型的 应用层上 . 2. 3 特 点1 多个客户端的实时 、 并发通信 . 根据需求 , 通信服务器需要与多达 30个的客户端建立连接 , 这样要解决处理各个节点数据的

14、延时问题 . 通信 服务器建立了 30个逻辑通信链路 (建立并打开 30个套接口 , 与请求通信的客户端相连 , 来解决服 务器调度客户端并发通信的问题 , 每个逻辑通信 链路都分别使用 512个字节的缓冲区 . 以满足客户端的实时 、 2 时 , , 使用了 . 一个接收线程 , 分别处理报文的发送和接收 . 发送 线程和接收线程需要协同工作 . 通信服务器使用 同步事件 (WS AEventSelect 来同步数据 , 防止发送 线程和接收线程在读取数据缓冲区时发生冲突 .3 差错控制采用连续 ARQ (自动重复请求 方式 . 客户端可以一次发送多个数据报文 , 通信服 务器接收到报文 、

15、 解析后发回一个应答 , 对一次传 输进行确认 . 这样可以避免客户端每次发送一个 数据报文 , 都需要等待通信服务器的应答 ACK (Acknowledgement , 从而提高了信道的利用率和 传输效率 .4 确认应答机制 . 根据设计的通信协议 , 并 不能保证发送的报文都被通信服务器可靠地接 收 . 为了保证数据传输的可靠性 , 通信服务器设计 了可靠的确认应答机制 . 客户端在发送数据报文 后 , 就等待服务器的应答 (ACK 报文 . 如果在规定 的时间内 , 客户端没有收到服务器的应答 , 则重新 发送未正确接收的数据 , 同时重发次数增加一次 . 如果重发次数超过了规定的次数

16、M , 就丢弃该数 据报文 , 同时启动通信链路检测线程 , 检查通信链 路的状况 , 如图 4所示 .图 4 通信链路检测线程的流程5 数据转发机制 . 通信服务器对接收到的报文进行分析 . 如果报文的目的地址不是本地 , 就通过全线地址表对目标地址进行路由 , 然后通知发 送线程 , 从指定的端口转发 . 2, 所 , . 如果需要增 , 可以编辑全线地址表 , 加入通信节 点地址和名称即可 .3 结 束 语使用多线程的编程技术开发的 、 支持并发通 信的通信服务器 , 在广深高速公路系统升级改造 过程中 , 经过了系统联合调试和实际运行的考验 , 并运行良好 . 采用 ActiveX 技

17、术开发的 OCX 控件 , 加速了应用软件的开发 , 提高了代码的重用性 . 实 践证明 , 它可以满足实时性和多用户并发通信的 要求 .参考文献 (R eferences 1Leon R E. W orld of internet :A client 2server architecture and thenew generation of in formation serversJ.Online and CDROM Re 2view ,1994,18(5 :2792842哈蒙德 . 计算机局域网性能分析 M.钟嘉强译 . 北京 :人民邮电出版社 ,1991Hamm ond. Performance analysis for com puter LANsM.T ranslated by Zhong Jiaqiang. Beijing :People s P ost and T elecommunications Publishing H ouse

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论