快速检索
  气象   2006, Vol. 32 Issue (3): 118-120.  

 

引用本文 [复制中英文]

史洪艳, 衣庆飞, 2006. 基于FTP控件的报文编辑传输系统[J]. 气象, 32(3): 118-120.
[复制中文]
2006. [J]. Meteorological Monthly, 32(3): 118-120.
[复制英文]

文章历史

2005年3月24日收稿
2005年12月26日收修定稿
基于FTP控件的报文编辑传输系统
史洪艳 1, 衣庆飞 2    
1. 辽宁省葫芦岛气象局, 125000
2. 91899 部队气象台
摘要:利用FTP控件,开发报文传输系统,实现了报文的编辑、发送、索要回执及打印回执等功能,减少了发报人员的手工操作,提高了发报的效率和可靠性。
关键词FTP控件    报文传输    编辑    
引言

现在, 辽宁省省、市、县三级开通了2M的数字电路, 上行气象信息均通过该网络传输。葫芦岛气象局曾在1999年开发了一套上行气象信息传输软件, 该软件基于MS- DOS, 传输时桌面上有DOS窗口出现, 界面不友好, 传输速度慢。另外还存在一个缺陷, 即当自动站、人工站的报文合并传输以后, 上行报文传输都由自动站发报软件来完成。为保证常规观测时次气象电报的可靠传输, 电报发送后收报方需要制作回执文件。自动站发报软件的缺点是报文回执为发送方制作的临时回执, 不能索要省级信息库的正式回执。为解决上述问题, 葫芦岛气象局开发了Window s环境下利用FTP控件完成的“报文编辑传输系统”。该系统不但解决了不能索要正式回执问题, 而且报文传输的速度得到了提高。这套系统运行以来, 葫芦岛地区的上行气象信息传输及时率始终在99 %以上, 且无缺报现象发生, 较好地解决了县级业务系统中的报文传输问题。

1 系统简介 1.1 网络环境

报文接受端服务器设在省气象台, 运行环境为UNIX操作系统。省局和各发报站间通过路由器、交换机相连。各发报站通过2M的数字电路、GPRS等有线或无线通信方式与服务器进行通信, 各通讯链路的网络层和传输层均支持TCP /IP协议。

1.2 FTP控件的工作原理

FTP控件符合标准的FTP协议, 采用C /S——客户机/服务器工作方式, 在服务器上获得相应的权限以后, 通过输入用户名和口令, 连接到远程主机上的FTP服务进程。用户通过客户机程序向服务器程序发出命令, 服务器程序执行用户所发出的命令, 并将执行的结果返回到客户机。使用FTP控件, 通过封装FTP客户端提供的标准方法和指令, 大大简化了操作步骤, 缩短了开发时间。

1.3 系统数据流程

首先系统检测是否存在报文。如果不存在, 则手动编辑报文。系统根据电报内容判断报文是否正确, 如不正确, 可根据系统提示进行修改。FTP控件在开始传输数据之前, 必须先建立连接, 连接成功后, 系统将报文发送到服务器。等到回执形成后, 系统向服务器索要回执。回执不成功, 则继续进行报文发送, 直至回执成功。回执成功后, 与服务器断开, 系统恢复到监听状态。图 1为系统的数据流程。

图 1 系统数据流程
2 系统功能及特点

该系统采用VB6.0语言编写, 运行在Windows环境中。使用该系统时, 只需将FTP.ocx文件拷贝到c: \windows \system32或C: \winnt \system32目录中。系统由菜单栏、按钮栏、监控界面及状态栏等几部分组成。菜单栏有参数设置、网络测试、帮助等信息。参数设置在配置文件中完成, 系统自动生成配置文件, 用户根据需要编辑参数配置文件来完成参数修改。网络测试为系统运行时自动测试, 也可手动测试。按钮栏包括报文编辑、报文发送、重新发送、打印回执、索要回执等五个功能模块, 完成了从各种报文的编辑、发送、索要回执、打印回执的功能。监控界面显示发送报文及索要回执成功与否等信息, 使人一目了然。系统设计在状态栏有网络状态监控, 由定时器控制周期检测网络状态, 并将状态信息显示在系统的状态栏, 网络正常时显示“通”并显示绿色的“ √”。网络断时在状态栏显示“断”, 并显示红色的“ ×”, 同时恢复到网络监听状态。另外, 系统设计包括自动发送及索要回执和手动发送及索要回执两种方式。自动方式不需人工干预, 只需选择该选项即可。手动方式即通过点击按钮栏的几个功能模块实现各个功能。

2.1 配置文件

系统中用到的各种路径、站号、呼号等参数都保存在配置文件中, 用户可根据实际需要编辑配置文件, 对本地路径、远程路径、站号、呼号、报类及级别进行设置。

2.2 FTP控件属性设置

加载FTP控件到选项卡中, 将FTP的端口设置为“21”, 并设置好服务器的IP地址、用户名和口令。服务器地址、用户名和口令是省局给定的。

2.3 自动发送和索要回执

该系统设计有报文的自动发送和索要回执功能。该功能为采用TIMER控件, 每隔一分钟扫描一次各类报文所在的目录, 如果有文件则根据日期和时间, 确认文件名无误之后, 根据配置文件中参数将文件自动发送到服务器相应的目录, 并在本地回执目录中保存相应的备份文件, 同时在系统界面上显示发送的文件名、日期、发送时间、发送的状态等信息。另外, 发送文件的同时还形成发送日志文件。2分钟后, 自动扫描服务器中回执目录, 如有回执文件, 则自动索要回执到本地回执目录, 并删除备份文件。回执文件信息在主界面的另一个Listview控件中显示, 同时形成回执日志文件。如果服务器中无回执文件, 则将本地回执目录中的备份文件拷贝到报文所在目录中, 并发送到省服务器, 直到回执成功。

2.4 手动发送和索要回执 2.4.1 报文编辑模块

报文编辑模块包括绘图报、小图报、补充绘图报、雨量报、即时天气开始报、即时天气终止报、重要天气报、加密雨量报等, 这些电报根据配置文件中的站号、呼号、报类、级别自动形成报头、报尾, 根据日期、时间自动形成上行报的文件名。点击“发送”后自动保存到报文所在相应目录中, 并在发送到省库中相应目录中的同时在报文所在目录的回执目录中保存备份文件。同时在系统界面上显示发送的文件名、日期、发送时间、发送的状态等信息。另外, 发送文件的同时还形成发送日志文件, 并将发送的信息显示在界面上。

2.4.2 报文发送模块

选择要发送的文件, 文件的内容显示在文本框中, 系统根据各组报文的指示码判断报文是否缺漏, 并加以提示, 发报员可根据错误提示进行修改。

2.4.3 重新发送报文

如果报文有误, 则点击重新发送报文后, 系统将报文内容显示在文本框中, 并自动在报头处添加“CCA”, 手动更改错误后保存发送。

2.4.4 索要回执

索要回执模块完成了从省库中索要各种回执, 回执文件保存在回执目录中, 同时将备份文件删除, 并将回执文件输出到打印机打印。索要回执文件的同时还形成回执日志文件, 在系统界面上显示回执的文件名、日期、回执时间、回执的状态等信息。

2.4.5 打印回执

当打印出的报文不规整或需重新打印报文时, 可查找回执目录中的回执文件, 将回执打印输出。

2.4.6 发送和回执信息的显示

利用listview控件显示发送和回执信息。为了便于查看信息发送成功与否, 信息字体用不同颜色来区分。发送和回执成功的信息用绿色显示, 不成功则用红色显示。同时, 还可对信息进行各种条件的排序。

3 系统的可靠性设计

为保证系统的稳定可靠运行, 我们尽量将各种出现异常的因素考虑周全, 并做出相应的设计方案。例如:系统在运行过程中, 首先判断文件所在路径是否存在, 如果不存在, 则自动创建目录, 不会因错误而中断系统运行。配置文件如果不存在, 则直接进入建立配置文件的对话框, 不会出现配置文件不存在的错误提示; 在报文编辑过程中, 难免出现报文后有空行的情况, 为避免程序运行时出现下标越界错误提示, 在程序中加上出错后执行以下程序的语句等等。由于在设计和开发过程中, 对系统的异常处理得法, 系统运行一段时间以来, 还未出现过程序异常中止的情况。