高频电子线路虚拟实验室建设方案初探

2013-01-29 23:07韩钰郑金亮李剑
中国科技信息 2013年24期
关键词:用户端虚拟仪器线程

韩钰 郑金亮 李剑

1.安徽大学江淮学院计算机科学与电子技术系,安徽 合肥 230031

2.安徽大学江淮学院公共基础教学部,安徽 合肥 230031

3.安徽大学江淮学院院办公室,安徽 合肥 230031

1 概述

高频电子线路实验室可以说是每个理工科院校所必备的,但传统的高频实验室建设需要合适的场地和大量的设备购置资金,且功能单一、实验项目相对固定,后期设备更新滞后,在实验教学过程中运行维护成本也较高。这些弊端也是一些办学资金和场地都相对紧张的独立学院在建设此类实验室时所面对的一个现实问题。随着计算机技术的发展,在通用计算机平台上利用软件模拟实现一些专用设备功能的技术已逐步趋于成熟,这也促使一些院校可以利用虚拟仪器技术来组建虚拟高频实验室用以弥补传统实验室的不足。

2 高频电子线路虚拟实验室的体系架构

高频电子线路虚拟实验室是一个开放的实验平台,用户可以通过网络远程访问虚拟实验室,调用各种虚拟实验设备搭建一个完整的虚拟实验环境,通过对虚拟仪器界面上参数的设置实时操控实验流程,获取实验结果,从而完成预定的实验项目。

在建构该虚拟实验室时,可从体系结构上将其划分为四块:

1)具有Web服务及监管功能的网络服务器;

2)对所有设备进行管理的设备服务器;

3)具有可视化和良好操控性的前端用户操作平台;

4)对虚拟实验室进行有效监控的程序。

3 虚拟实验室各模块设计概述

3.1 网络服务器

该服务器的主要功能是管理用户的登录、建立用户与设备服务器的连接以及在实验过程中对用户与实验任务的交互进行管理。通过该服务器用户可以登录虚拟实验室、调用各类虚拟设备并获取实验数据。

为了使用户更为便捷的访问该虚拟实验室,在用户端与网络服务器间采用基于Web的B/S结构来建立HTTP连接,考虑到设备服务器的安全性,而在设备服务器与网络服务器间采用C/S结构的TCP连接。

为了使服务器能同时响应多个用户的请求,网络服务器必须多线程运行,采用TCP/IP协议建立并发运行的、面向连接的结构模型。在网络服务器端可创建主、副两类线程,主线程只有一个,副线程可以同时有多个,主线程在网络服务器启动时即创建,它负责监听并响应用户端的连接请求,从而创建副线程传递通信套接字。主线程只在网络服务器关闭时才结束。副线程是为了响应用户端连接请求而创建的,一个用户请求就创建一个副线程,在通信完成后即终结。

为了避免主线程一直处以活跃状态,占用系统资源,在系统中有一个系统调用程序来控制主线程的运行,该程序在等待用户连接请求时是处于拥塞状态的,此时它会暂停主线程的运行;当收到新的用户连接请求时,它被调用,并产生一个新的套接字分配给主线程,主线程得到与用户通信的套接字后继续运行,创建一个对应的副线程来具体处理用户的连接请求,并将套接字传递给副线程,自己重新进入监听等待状态。

为了对用户行为进行响应网络服务器应该具有监管模块,当有用户与网络服务器建立连接后,监管模块将同时创建用户服务线程和控制线程,在用户实验过程中通过两个线程的绑定来实现信息的实时传递。

另外,在实验过程中各个对象间有大量数据需要交互,这就需要网络服务器端提供数据管理模块,该模块应与实验数据库相连,从而实现各类数据的访存。

3.2 设备服务器

设备服务器的功能是通过与网络服务器建立的通道接收用户传递过来的仪器控制信息,启动相应虚拟仪器,并实现虚拟仪器与用户间的数据交互,实现虚拟实验的具体操控。

虚拟实验室的各类虚拟仪器可以通过美国NI公司的LABVIEW软件进行开发,构成一个虚拟仪器库供用户调用。用LABVIEW中的DataSocket技术可以轻松实现设备服务器端与用户端的通信,只需对控件的DataSocket Connection属性以及DataSocket服务器进行简单设置即可实现通过网络向多个远程终端广播数据的功能。

3.3 用户操作平台

用户通过该平台实现具体实验的所有操控,整个虚拟实验室的功能围绕该平台展开,网络服务器和设备服务器也是为该平台提供具体的服务。

具体而言用户可以通过用户端选取、添加、移动、删除各类虚拟设备,按照实验设计要求自主连接各类虚拟设备,调整虚拟设备的具体参数,并能运行、中断及修改实验,输出、保存实验结果。

用户端的运行过程先由用户通过用户端向网络服务器提交用户信息,通过网络服务器的身份认证后建立连接,网络服务器再向设备服务器提交用户实验申请,申请通过后,用户端将得到设备服务器的IP地址及对应端口号,用户端与设备服务器间建立连接,用户端将用户实验过程中的具体操控转换成对应的控制信号发生给设备服务器由设备服务器进行相应的控制操作,为了保证实验过程中用户端与设备服务器间不中断,需要由设备服务器循环执行向用户端发生、接受一组数据来保持连接状态,另外,网络服务器在实验过程中应定时查询设备服务器的状态,及时发现设备服务器的异常并通知系统及用户端,实验结束时用户端与设备服务器断开连接,并通知网络服务器刷新设备服务器状态。

3.4 虚拟实验室监控程序

为了使虚拟实验室稳定的运行,需要对用户端与服务器间进行监控,实验过程中也需对用户操作和虚拟设备状态进行监控。从功能上说,对用户端的监控要包含用户信息的创建及查询、对用户访问的集中控制、对用户操作的监控;对虚拟设备的监控主要是从用户对虚拟设备占用的状态来更改设备的忙、闲。

对整个虚拟实验室的监控程序可利用Java Servlet和JSP技术创建MVC模式来设计界面。MVC(模型视图控制器)中的模型是JavaBean,视图是JSP,控制器则是Servlet。网络服务器将用户端请求转发给Servlet控制器,由Servlet对Javabean模型进行操作,并将结果传给Jsp视图,由Jsp格式化模型后将结果发送给网络服务器,再由网络服务器发送给用户端。

4 结语

本文在对高频虚拟实验室功能分析的基础上从宏观架构角度将其划分为网络服务器端、设备服务器端、用户端及虚拟实验室监控程序,并对各部分的工作流程、实现技术做了概括性介绍,为日后本院高频虚拟实验室建设做了初步的方案规划。

[1]彭晖,王宇栋,侯进军,沈亚军.远程教学虚拟实验室设计. 湘潭师范学院学报(自然科学报),2003,25(2): 35一37.

[2]贾皓丽,宋端智,冯雪君. 网络虚拟实验室应用研究. 计算机工程与科学,2002.24-28.

[3]蔡国英. 基于虚拟技术的虚拟高频实验室仪器的实现(硕士论文).南京信息工程大学,2008年5月.

猜你喜欢
用户端虚拟仪器线程
Android用户端东北地区秸秆焚烧点监测系统开发与应用
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
一种太阳能户外自动花架电气系统简介
虚拟仪器及其在电工电子实验中的应用
一种基于虚拟仪器的电控柴油机实验台的设计