一种热线式的多用户远程电子实验系统的设计与实现

作者:袁渊;古军;习友宝;古天祥 刊名:实验室研究与探索 上传者:徐红梅

【摘要】讨论了基于互连网的远程电子实验(主要是硬件实验)中多用户并发操作的解决方案。从热线电话服务中得到启发,结合电子实验的特点,提出了一种热线访问模式的实验软件设计方案,并与传统的排队模式进行了比较,论证了其可行性以及运行效率高、软件编程简化等优点。介绍了一个基于虚拟仪器平台的具体的设计实例,并已在远程实验教学中得到了很好的应用。

全文阅读

1引言随着信息和网络技术的发展,远程教学日益普及。实验教学是理工类教学课程的一个重要组成部分。由于受到实验数据的实时采集与网络传输、实验系统的远程控制以及多用户同时操作等技术的限制,目前的远程实验教学大多局限于软件实验或以软件仿真的形式来模拟硬件实验的过程[1],而不是真正对硬件系统进行网上远程操作。随着虚拟仪器技术的出现和发展,不仅给测试计量、自动控制等技术领域带来了一场革命[2],也使远程实验教学成为可能。尤其是电子类的硬件实验,输入输出的都是电信号,可以通过虚拟仪器软、硬件平台与计算机及其网络相连,从而具备了网上远程操作的可行性[3]。但如何解决网上多个用户对同一个实验硬件系统的并发操作,又是摆在我们面前的一个难题。2方案讨论一般而言,实验硬件在同一时间只能被同一用户操作。如果从硬件的角度考虑,要实现多个用户同时操作,就必须增加实验硬件输入输出的通道,这样做的成本较高,技术难度较大,而且所能增加的通道数量非常有限。然而,在通常的电子实验中,完成一次操作(从产生激励信号到获取响应信号)所需的时间很短,一般是ms级甚至更短,学生在实验中还要记录实验数据并分析,实验硬件大部分时间闲置,这就为多用户共享提供了可能。因此,可以从软件的角度考虑,通过虚拟仪器软件编程,将实验硬件系统在网上共享来实现多用户的同时访问。对于计算机的设备而言,通常采用两种方式实现多用户共享:一是分时复用,如共享光驱、硬盘等。当多用户同时访问时,系统给每一个访问的用户分配一个时间片段,多用户轮流访问。但对于电子实验,这种方法不适用,因为从输入激励信号到输出响应信号是一个连续的过程,不可能象CPU执行指令一样可以中断、跳转,从而无法划分时间片段进行分时复用。二是排队,如共享打印机。当多用户同时访问时,系统将用户的请求放入队列中,按排队顺序执行。这种方式不用划分时间片断,保证了每位用户请求任务的完整性和连贯性,可以适用于远程电子实验,但队列处理需要额外占用CPU等系统资源。鉴于此,结合电子实验的特点,这里提出了一种热线访问模式的软件设计方案,较好地回避了排队方式的弊端,并解决了多用户同时操作的问题。3热线式访问3.1可行性众所周知,在热线电话服务中,当多个用户同时拨打热线号码时,只有一个用户被接入,待该用户通话完毕挂机后,另一个用户才被接入。未被接入的用户需要不停地拨打,直至被接入。热线服务者无须对请求服务的用户进行记录和排队,而是随机接入,每个用户通话的时间也无须相等。由此,我们可以采用类似热线电话的方式来解决远程电子实验中多用户同时操作的问题。为保证每一位用户访问时不会有明显的延时等待,可以根据实验响应时间来适当限定同时访问的用户人数。例如,假设完成一次实验操作对硬件系统的占用时间为200ms,那么可以将同时访问的用户数限定为20人,则每个用户进行操作的延时等待时间最长为4s(不计网络传输时间),这是可以为用户接受的。而实际上,在同一时间内发出操作请求的用户人数往往并不多,因此,当几十个人在做实验时,基本上感觉不到明显的延迟等待。另外,在多用户随机访问的系统中,当用户很多且访问频繁时,容易出现一种称为“活锁”的现象,即某些用户的访问长时间没有被接受,就如同打热线电话一直打不通一样。但在电子实验系统中,完成一次操作的时间很短,而且用户完成一次实验操作后还需要一定的时间来进行分析、记录,再加上适当限定了用户人数,因此出现“活锁”的可能性非常小。3.2热线式与排队式的比较3.2.1从概率的角度分析设同时访问的用户人数为N,一个用户发出操作请求后,第一个被服务器响应的概率为P1,第二个

参考文献

引证文献

问答

我要提问