基于多线程机制的FTP软件的设计和实现

摘 要:提供了一种操作票专家系统升级的方法,对类似的系统具有一定的借鉴意义。并采用了多线程,缩短了系统的工作时间。

关键词:多线程;ftp;系统安全

1系统简介

在电力行业,操作票专家系统是一种智能的开票工具。它的出现,不仅节约了大量的人力和物力,而且提高了工作效率,是电力系统自动化的重要组成部分。由于历史的原因,大部分操作票专家系统目前都是单机版的,不能提供网络服务。随着电力系统自动化程度的提高,迫切需要具有一定网络操作能力的操作票专家系统。就现实情况来看,如果完全推翻原有系统结构,重新进行开发,不仅会造成大量资金的浪费,而且原先积累的经验也会受到一定的影响。这就需要另辟途径,在原有的系统条件下进行改造、升级,使其具有一定的网络处理能力。

对于同一操作票专家系统,在不同终端上运行时需要的数据格式、文件类型都是相同的,这是进行系统网络改造的重要前提。可以设想,如果把一台终端上的运行数据(或文件)转输到另一台终端上运行,那么在另一台终端上就可以拥有前一终端曾有的工作状态,在该状态的情况下,系统就可以进行下一步工作。当然,要完成这样的操作,需要在网上传输一定的数据。

传输数据的方式一般有两个[1],一个是用点对点的方式,用socket直接传输数据。另一个是用ftp服务皿中转。前一种方式需要知道数据发送方和接收方的ip地址。由于环境条件所限,现场一般是通过电话线上网来与电业局进行联系的,所以ip是变化的,对需要明确知道双方ip,然后才能进行传输的socket来说,实现起来是比较困难的。第二种方式则只需知道ftp服务器的ip即可,一台终端把数据发送到ftp服务器上,另一终端从服务器上下载该数据。系统结构如图1。

2系统分析及实现

经过比较,系统采用了ftp方式。具体的实现原理是每个变电所作为一个ftp用户,凭借不同的用户名和密码登录服务器上的相应文件夹(预先由网络管理员建立)。需要数据传输的时候,变电所的终端就上传(下载)运行数据(文件)。经相互协作,电业局和其它变电所的终端通过ftp服务器的中转就具有了一定的网络能力,达到了原系统改造、升级的目的。在这个过程中,有几个问题需要考虑,在下面一一进行讨论。

2.1系统安全

系统安全主要指的是文件传输不发生冲突。由于需要传输的文件很多,当一个终端在上传文件时,另一个终端要下载这些文件,那么下载终端得到的很有可能就是一个不完整的文件。解决的办法是采用操作系统的信号灯机制。上传终端在传输开始时,在ftp服务器上先做一个正在传输的标记,传输完毕马上撤消该标记;下载终端在需要下载时,首先在文件夹中判断是否存在“正在传输”标记,如果有就表明文件传输发生了冲突,并等待该标记消失之后再下载文件。同样,下载的过程也做一个类似的标记,防止上传终端的覆盖。对ftp服务来讲,最基本的操作就是上传或下载,所以这样的标记可以是一个空的文件夹,也可以是一个文件。最好采用文件方式,因为在文件中可以携带一些信息,使得两个终端在发生冲突时可以建立一种协商机制,有助于软件的升级。通常下载过程的做法是把原有的文件进行覆盖,这样做比较方便,但却有安全隐患存在于工作过程中。如果在传输中出错的话,比如网络突然掉线,虽然也可以启用报警机制并一直等到网络开通后再重传,但在下一次正确传输完成之前,原有的文件结构已经被部分改变了,这段时间内系统就不能正常工作,所以必须采用备份机制。先下载所有文件到一个备份文件夹,等整个下载过程结束后,再进行一对一的覆盖,这样做的唯一缺点就是浪费了一定的硬盘空间。可以通过动态的创建文件夹,并在结束后马上删除它来加以完善。

2.2系统数据的处理

系统工作所需要的数据主要有两种,一种是变电所、集控站进行传输所需要的参数,包括ftp服务器的登录、本地名称、文件的位置等数据。另一种是与时间有关的数据,比如时间周期(主要用来自动传输)。这些系统数据的处理一般有三种方法:专业的数据库、文本文件和注册表。专业的数据库比如sql server、sybase、oracle一般适用于数据量比较大、访问频繁且须优化的情况;文本文件的缺点在于安全性能不高;只有注册表比较适合这种情况:数据量少且需要较高的安全性。

在注册表中,系统数据的组织采用的是逻辑上是层次的、物理上是平等的结构(如图2)。

在系统主键之下一共有两类键:一类以集控站、变电所、周期命名,另一类以各个变电所的名称命名。集控站主键下主要有集控站的名称、有几个子站等内容,变电所主键下主要有各个变电所名称、参数等内容,同时也注明了它的上级集控站主键所在位置,周期键下面的内容是关于定期传输的。其余以各个变电所命名的主键下的内容是传输所需的具体数据,比

  • 基于多线程机制的FTP软件的设计和实现已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计