APP下载

试验数据异地实时传输系统的构建

2011-07-14何琳楠

燃气涡轮试验与研究 2011年3期
关键词:客户机客户端服务器

何琳楠

(中国燃气涡轮研究院,四川 成都610500)

1 引言

航空发动机试验研究设备众多,其中不少为大型试验设备,试验时需耗费大量的水、电、气等资源,并产生较大噪声,这些因素决定了其只能在人口较为稀少的郊区甚至偏远的山区。而航空发动机设计则需要占用很多信息资源,一般都在信息畅通、社会资源丰富且能吸引人才的市区。中国燃气涡轮研究院作为一家主要从事航空发动机设计和试验研究的单位,其试验部门和设计部门分属两地且相距较远。在开发本系统之前,相关设计人员和项目管理人员如果要看到试验过程就必须前往异地试验现场。这对于工作任务繁忙的设计人员和项目管理人员异常辛苦,同时也耗费了大量的人力、物力、财力。为了方便设计人员和项目管理人员能够远程参与试验现场的试验,观看当前试验的测试数据,并能够根据需要分析不同的数据曲线,依托于已建成的园区网,开发了试验数据异地实时传输系统。

2 系统简介

目前,网络通讯软件的编程设计一般采用基于TCP/IP或UDP的网络传输协议,有C/S和B/S等架构模式。相对来说,使用UDP协议传输有速度快的特点,但在可靠性、稳定性和安全性等方面远不如TCP/IP协议,所以对于实时性、可靠性要求较高的场合一般选择使用TCP/IP协议。在开发方式上,B/S架构主要是利用web浏览器来访问服务器,适用于进行一些简单的处理和查询;C/S架构具有更高的操作自由度和灵活性。本系统选择C/S架构模式,采用TCP/IP网络传输协议进行开发。

该系统分为试验现场和设计部门两个部分。试验现场的系统分成三个部分:测试系统的数据采集计算机、试验现场服务器、客户机。设计部门的系统有两个部分:设计部门服务器、客户机。整个系统的结构如图1所示。

基于安全保密性考虑,试验现场服务器是唯一跟数据采集系统直接连接的计算机,其任务是接受由数据采集计算机获取的设备当前的试验信息和试验数据,然后传送给设计部门服务器和试验现场客户机,设计部门服务器再将数据传送给设计部门客户机。所有客户机和设计部门服务器与数据采集计算机之间都被作为堡垒主机的试验现场服务器隔离,即除试验现场服务器外所有其它计算机都不能直接访问数据采集计算机。

由于试验现场服务器既要从数据采集计算机获取实时的试验信息和试验数据,还要将其同步分发到设计部门服务器和数个客户机,所以试验现场服务器应具备迅速、高效的处理能力。另外,试验现场服务器需配备双网卡来构建成一个双穴主机,一块用于连接测试系统的数据采集计算机,另一块跟园区网相连。这样可以起到监视和隔离应用层信息流的作用,彻底隔离客户机与数据采集计算机之间的连接。客户机和设计部门服务器直接通过园区网与试验现场服务器连接,获取数据。设计部门客户机通过设计部门服务器获取数据。

3 技术选择及应用

3.1 网络通讯技术的应用

本软件运用了Windows网络编程技术,在网络中利用TCP/IP协议通过客户机/服务器模式,并采用基于消息的异步存取策略,使用数据传送Socket(套接字)技术完成数据的远程实时发送、接收。服务器端Socket负责监听、应答、接收和发送消息,而客户端Socket是连接、应答、接收和发送消息。网络传输服务提供者(即网络传输服务进程)以dll的形式存在,在Windows操作系统启动时由服务进程svchost.exe加载。当Socket被创建时,调用API函数Socket(在ws2_32.dll中),Socket函数会传递地址族、Socket类型和协议三个参数,这三个参数决定了由哪个类型的网络传输服务进程来启动网络传输服务功能。所有网络通信都由网络传输服务进程完成,图2描述了网络应用程序、CSocket(WinSocket32.dll)、Socket API(ws2_32.dll)和网络传输服务进程之间的接口层次关系。

图2 各层次接口关系Fig.2 Interface relations

3.2 软件开发技术的应用

考虑到软件需要占用系统资源小、响应速度快等要求,采用了具有可视化开发环境和面向对象程序设计方法的Visual C++[1,2]进行程序开发,利用面向对象编程技术、MFC技术[3]开发服务器端和客户端应用程序。

4 软件的设计和开发

4.1 数据采集软件

数据采集软件运行在与数据采集系统连接的计算机中,实现对数据采集系统的控制和试验数据的接受及处理,并且数据采集计算机同时与试验现场服务器相连。当数据采集软件启动后,主动向服务器发出连接请求,一旦连接成功,数据采集软件便将设备名称、试验名称、通道表、试验数据传给试验现场服务器。数据采集软件与试验现场服务器软件通讯示意图如图3所示。

4.2 服务器软件

试验现场服务器作为与数据采集计算机和园区网信息交换的桥梁,一般长期运行。服务器中的通讯控制软件能显示当前与服务器正在通讯的试验设备的名称和当前试验的信息。这些信息由各试验设备数据采集计算机通讯软件启动时传给服务器。当服务器通讯控制软件启动时,系统根据设定的允许连接的设备列表清单,主动搜索当前正在运行的数据采集计算机,且尝试发出连接请求,一旦连接成功便将该设备添加到当前正在运行设备列表中,并获取该设备的当前试验信息。过程如图4所示。

图3 数据采集软件与试验现场服务器软件通讯示意图Fig.3 Communication between data collection and server software

图4 试验现场服务器与数采设备通讯示意图Fig.4 Communication between test site server and data collection equipment

设计部门服务器作为试验现场服务器与设计部门客户端进行信息交换和信息分发的桥梁,也长期运行。该服务器能接收并显示试验现场服务器中的信息,并监听设计部门所有客户端发出的请求信息和连接状态。把从试验现场服务器上接收的信息根据设计部门客户端的不同请求进行分发,传送相应数据到设计部门的各个客户端。过程如图5所示。

图5 试验现场服务器与设计部门通讯示意图Fig.5 Communication between test site server and design department

当试验现场服务器接收到各设备试验信息后,服务器中的通讯软件同时也在等待客户端的连接请求。一旦有用户远程请求访问,服务器通讯软件将首先检查用户的合法性。合法用户的IP和MAC地址都罗列在服务器的一个设置的清单里,服务器通讯控制软件只需检验当前请求访问的用户是否列入。如果“是”便建立网络连接,按照用户请求选择的设备提供相应的试验信息传送给客户端,并将用户IP加入到当前在线用户列表中;如果“否”则视为非法用户,拒绝其访问,并记录到日志中。另外,服务器端还能实时显示各个客户端的连接情况。

4.3 客户端软件

客户端软件用于实现接收、处理、显示试验数据和特征曲线功能。试验现场客户端软件与试验现场服务器连接,设计部门客户端软件与设计部门服务器连接,分别针对不同用户的需求以不同的形式显示、查看试验数据和试验曲线。客户端软件先向服务器发出连接请求,一旦认证成功便建立连接,此时客户机接收从服务器发送来的当前申请试验设备的试验信息。客户端接收到数据后,根据用户在客户端的设置和配置要求对数据进行处理,如各种动态特性线的预处理、图形显示、报警处理等。用户选择申请的任意设备即可查看该设备的当前试验信息和数据,查看方式有列表、曲线、图表等模式。客户端软件基本功能如图6、图7所示。

客户端软件可在试验前根据用户的需求配置和设置显示的特性曲线,显示的内容和图表位置均可任意调整。为了防止意外情况出现导致客户端接收试验数据失败,还开发有在服务器端数据库暂时保存数据供事后查看的功能。软件数据流程见图8。

图6 客户端软件基本功能Fig.6 Basic functions of client software

图7 客户端软件界面Fig.7 Interface of client software

5 结束语

试验数据异地实时传输系统的应用,极大地方便了身处异地的相关设计人员和项目管理人员参与现场试验,观看一个甚至多个试验情况。该系统的投入使用,为设计人员和项目管理人员节省了宝贵的工作时间,节省了大量的人力、物力、财力。同时,利用先进的网络信息化技术来解决两地问题,对院异地办公的现状也起到了很好的示范作用。

[1]黄迪明.C++程序设计基础[M].北京:电子工业出版社,2004.

[2]罗 斌.Visual C++编程技巧精选[M].北京:中国水利水电出版社,2005.

[3]姚领田.精通MFC程序设计[M].北京:人民邮电出版社,2006.

猜你喜欢

客户机客户端服务器
你的手机安装了多少个客户端
你的手机安装了多少个客户端
服务器组功能的使用
理解Horizon 连接服务器、安全服务器的配置
如何看待传统媒体新闻客户端的“断舍离”?
PowerTCP Server Tool
隔山亦能打牛,本本巧变远控利器
计算机网络安全服务器入侵与防御
新华社推出新版客户端 打造移动互联新闻旗舰
升腾瘦客户机借神码翱翔“云端”