首页 > 范文大全 > 正文

高速公路网分布式信息报送系统的设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇高速公路网分布式信息报送系统的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 由于大多数网络通信都需要借助Internet上的服务器,为了方便内部网络,比如高速公路网监控系统的总中心和分中心之间的沟通,需要开发一个基于局域网的即时通信工具,实现在内部网络中进行信息的交流。详细论述了在Delphi环境下利用UDP协议建立C/S结构的信息报送系统模型,从而实现信息的收发。

关键词: 局域网; 分布式信息报送系统; C/S; 广播

中图分类号: TN711?34 文献标识码: A 文章编号: 1004?373X(2013)07?0157?03

0 引 言

发展高速公路是现代经济发展的必然趋势,也是衡量一个国家现代化水平的重要标志。自1988年我国开始建设高速公路以来,我国高速公路建设事业向世界前列高速发展。目前,我国绝大部分省份高速公路已形成路网,单独路段的异常事件影响的范围越来越广,全国约13个省基本实现了监控系统联网。交通信息化建设是整个交通行业的工作重点,此外,在各种高速公路突发事件的应急处置过程中,离不开信息的报送工作。应用于局域网内企业(组织)内部成员之间的交流领域,在没有因特网的支持下也可以进行即时通信,因此更安全、更高效;同时因为它界面简洁实用,没有娱乐功能,所以简单易用,使企业(组织)成员更加专注于工作,减少不必要的财力和人力资源浪费。

1 高速公路网分布式信息报送系统需求分析

传统信息报送系统多使用语音信息实现省中心与各分路段的交流。语音信息采用单工通信方式(例如广播),用分组交换技术提高线路利用率,通过将声音信号转换为数字编码信号,然后经过分组、打包、解码、合成、复原等过程将信息发送至接收端,具有接收面广、信息及时、形式活泼、听众易于接受、有效时间长、对驾驶员注意力影响小等特点。但若出现电路拥挤,在等待转发过程中易发生分组数据丢失,从而造成信息传递失败。新一代的信息报送系统以电子、通信、计算机、网络等现代技术为基础,克服了语音信息的抗干扰性差,不易查询等缺点,具有抗干扰能力强,差错可控,易于与各种数字终端接口,易于集成,易于加密等优点,以提高高速公路的运输效益、降低高速公路事故为目的,更好地实现了高速公路网的智能监控,为高速公路安全、高速、畅通、经济、环保的运行保驾护航。

1.1 业务用例

各路段有事件发生时,若A路段遇道路关闭,B路段发生交通事故,A,B路段所属的路段中心将信息上报给省中心,省中心按照信息优先级进行处理,然后向有关路段下达指示,示意图如图1所示。

1.2 总体需求分析

省域高速公路网管理机制为:省中心―各分中心,故系统需要实现局域网内省中心―分中心以及分中心―分中心的会信息收发功能,要有美观、易操作的界面,聊天记录可以保存。考虑到省域高速公路网的分布式结构,信息报送系统也采用分布式的数据库来存储信息记录。总体需求如下:

(1)只限于局域网内聊天。

(2)美观的操作界面。

(3)主界面可以最大化、最小化和关闭。

(4)可以添加好友、网名。

(5)可以同时与多个人聊天。

(6)消息到达时可以有声音提示。

(7)可以保存和清存聊天记录。

(8)可以发送文件和图片。

(9)对于总中心而言,需要同时向多个分中心信息,故系统可以实现群发消息功能。

(10)对于分中心而言,需向省中心申请注册,经省中心审批成为省域路网成员后,才能与省域内成员进行信息报送。

业务用例示意图

1.3 性能需求分析

(1)可靠性高,能在由于系统问题或其他原因产生错误后,做出相对应处理,在出现不可知的错误以后,可以尽量安全的退出程序。

(2)易操作性,程序简单易懂,容易上手使用。设计界面时,简化界面的复杂性,模拟QQ等现有即时通信工具的界面,使用户能很容易看懂并使用。

(3)开发文档易理解[1],保证以后自己二次开发或他人接手开发时,能够清晰地理解整个系统的设计思路和实现细节。

2 系统设计

2.1 系统开发平台介绍

Delphi 是Borland 公司开发的可视化软件开发系统,它基于Windows 系统,采用高度结构化的Object Pascal 语言,具有结构清晰、高效优化等特点[2?3]。它使用了Microsoft Windows 图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用且完整的面向对象程序设计语言、当今最快的编辑器和最为领先的数据库技术。

2.2 信息报送流程

(1)系统登录

在用户登录区中输入用户名、密码以及确认密码(另附)后登录,进入系统主界面。

(2)系统使用

①密码更改。点击用户登录区下面的密码修改即可进入密码修改。根据要求填写对应的内容,分别输入旧密码、新密码和确认密码(即新密码)后,点击提交按钮,密码修改完毕,新密码生效,退出系统后即可用新密码登录。

②信息发送。用户在会话界面的消息输入框内输入将要发送的消息,点击发送按钮,会话的消息显示界面会显示出发送消息的时间以及消息的内容。

(3)退出系统

点击会话主界面的关闭按钮,出现消息对话框,确认关闭后即可退出系统。

2.3 系统总体架构

系统总体架构如图2所示。

系统总体架构图

2.4 系统功能模块设计及代码实现

2.4.1 局域网内实现广播功能

在Delphi的开发环境下,系统用Indy组件的此项属性来实现广播功能。具体操作如下:

首先,将选用的Indy的相关组件的Active属性的值设为True;

然后,将选用的Indy的相关组件的BroadcastEnabled属性的值设为True;

最后,给客户端和服务端的Indy组件分别设置有效的端口地址。编址时要充分考虑地址的可用性,即尽量设置偏大的端口值,从而避免与一些内部的端口地址发生冲突。

2.4.2 局域网内实现消息收发

在Delphi的开发环境下,系统选用UDP协议下Indy组件实现消息的收发功能。结合所选择的C/S模式和UDP协议,选用Indy组件的IdUDPServer和IdUDPClient实现客户端和服务器端消息的收发。实现函数如下:

对于省中心(服务端)来说,直接用IdUDPServer的发送属性实现消息的发送,用IdUDPServer的OnUDPRead事件实现消息的接收,函数格式如下:

省中心发送函数:

IdUDPServer1.Send(host,port,edit3.Text+′:′+memo2.text);

省中心接收消息:

Procedure TForm1.IdUDPServer1UDPRead (Sender: TObject; AData: array of Byte; ABinding: TIdSocketHandle);

对于分中心(客户端)来说,直接用 IdUDPCliet的发送函数实现消息的发送,因为IdUDPClient的接收函数运行出现错误,故给分中心也添加IdUDPServer组件,并用它的OnUDPRead事件接收省中心发送的消息,函数格式如下:

分中心发送函数:

IdUDPClient1.Send(Edit3.Text+′:′+memo2.text);

分中心接收函数:

ProcedureTForm1.IdUDPServer1UDPRead(Sender: TObject; AData: array of Byte; ABinding: TIdSocketHandle);

2.4.3 历史信息记录功能

作为用于高速公路网监控系统的信息报送系统,为了方便用户查询信息的历史记录,系统模型需要实现存储信息的功能。Memo组件提供有LoadFromFile和SaveToFile方法,这两个方法是用来加载文本文件到Memo组件和把Memo组件内的文字数据写入文件中,函数分别如下:

memo3.Lines.LoadFromFile(′消息记录′);

Memo1.Lines.SaveToFile(′消息记录′);

2.4.4 消息提示功能

为了使用户及时看到信息,消息到达时,会有声音提示用户。Delphi中有专门用来播放声音文件的函数,最常用的函数有PlaySound和SndPlaySound。

本系统模型中采用了SndplaySound函数播放格式为WAV提示音。可按下面的方式调用:

sndplaysound(′E:\sound\music.wav′,snd_async); //music为程序中要播放的声音资源;

2.5 界面设计

(1)登陆界面的设计:为了提高系统的安全性,因此给系统设置了登录界面。在登录界面上添加了用户名和密码以及确认密码的输入框。用户需要在用户名与密码均正确的情况下才能进入系统的主界面。需要用到的组件有Image,Lable,Edit等。

(2)主界面的设计:主界面的设计要实现的功能主要是联系人的分组显示、添加、删除、查找,以及即时时间的显示,界面要简洁明了,给用户创造一个良好的系统环境。主要用到的组件有MainMenu,ToolBar,Combobox等。

(3)会话界面的设计:当高速公路监控局域网内的成员如总中心与分中心之间发起会话时,出现会话界面。会话界面的设计主要从实用性和美观性着手,来实现消息的发送、显示和查询等主要功能。另外,添加了通过IP地址和端口来查找用户的功能。主要控件有Memo,FontDialog,OpenPictureDialog等。Memo用于消息的输入、显示、查询的外观显示,Image用于嵌入图片,美化界面,BitBtn用于消息的‘发送’、‘关闭’、‘清空’等按钮的实现。会话界面

系统的会话界面

3 结 语

本文描述了高速公路网信息报送系统的设计需求,信息报送流程,在Delphi环境下系统的功能模块设计以及代码实现。实际测试结果表明,该设计根据需求使用有关组件完成了分布式的信息报送系统模型的建立,可以实现信息的收发、存储。

参考文献

[1] 李玉海,杜晖,黄京.基于Web的实时信息报送系统的设计与实现[J].网络与信息化,2005(5):153?154.

[2] 陈灿煌.Delphi 6彻底研究[M].北京:中国铁道部出版社,2002.

[3] 穆红涛,黄晓敏.Delphi程序设计教程与实训[M].北京:北京大学出版社,2006.

[4] 胡明伟,缪立新,王耘非.北京市交通流数据采集、处理/分析和信息系统设计[J].公路交通科技,2003,20(2):167?169.

[5] 许红.分布式呼叫中心系统设计[J].甘肃科技,2006,22(4):36?38.

[6] 刘文智.高速公路监控软件设计[J].公路交通科技,2003,20(1):128?130.

[7] 焦良葆.高速公路联网监控关键技术的研究[J].公路交通科技,2004,21(11):83?85.

[8] 靳引利,范湘湘,高昊.高速公路网的交通信息分类及技术[J].长安大学学报:自然科学版,2010,30(3):76?79.

[9] 郭刚.高速公路智能化信息系统[J].东北公路,2003,26(2):15?18.

[10] 宋佳兴,周悦芝,刘卫东.基于Web的分布式信息系统体系结构模型[J].计算机工程与应用,2001(3):71?73.