99网
您的当前位置:首页网络虚拟实验体系结构研究

网络虚拟实验体系结构研究

来源:99网
维普资讯 http://www.cqvip.com 计算机科学2006Vo1.33No.12(增刊) 网络虚拟实验体系结构研究 朱文忠 (重庆大学计算机学院 重庆400044)(四川理工学院计算机系 自贡643000) 摘要本文抽象出实验教学的一般过程、特点和要求,并结合计算机多媒体技术、网络技术与虚拟器技术,提出 网络虚拟实验的体系结构。 关键词 网络虚拟实验,虚拟器技术,体系结构 1 引言 虚拟实验室是一种异构的问题解决环境,它使 得无论学习者处于什么地方随时都可以进行实验。 虚拟实验室中操纵的并不是真实存在的仪器和设 备,而只是用软件来虚拟已经存在和使用的设备。 虚拟实验室要求实验的参与者共享实验环境和实验 规则,同时也必须满足现代远程教育的要求,因此它 必须易于在Web上得以实现。 Web为虚拟实验室的实现提供了一种基础平 台,基于web的浏览器/服务器(B/S)计算模式是 实现网上虚拟实验室的一种基本模式,如果需要基 于Web构建虚拟实验室,一般来说应建立在B/S 体系结构的基础之上。因此,有必要对B/S体系结 构进行论述。 2基于Web的B/S体系结构 B/S结构,即Browse/Serve(浏览器/服务器) 结构,是随着Internet技术的兴起,对c/s结构的 一种变化或者改进的结构。在这种结构下,用户界 面完全通过www浏览器实现,主要事务逻辑在服 务器端实现。 三层B/S结构是对B/S结构的改进。它是将 应用功能分成表示层、功能层和数据层三个部分。 表示层是应用的用户接口部分,它担负着用户 与应用间的对话功能。它用于检查用户从键盘等输 入的数据,显示应用输出的数据。为使用户能直观 地进行操作,一般要使用图形用户接口,操作简单、 易学易用。在变更用户接口时,只需改写显示控制 和数据检查程序,而不影响其他两层。检查的内容 也只限于数据的形式和取值的范围,不包括有关业 务本身的处理逻辑。 功能层相当于应用的本体,它是将具体的业务 处理逻辑编人程序中。这些程序并在服务器上接收 用户请求,从数据层获得数据并按用户要求进行处 理,同时动态主成页面返回给用户。功能层是表示 ・230・ 层和数据层联系的纽带,实现各种业务功能时结合 浏览器的多种Script语言(VBScript、JavaScript 等)和ActiveX技术。 数据层就是数据库管理系统,负责管理对数据 库数据的读写。数据库管理系统必须能迅速执行大 量数据的更新和检索。 三层B/S的解决方案是:对这三层进行明确分 割,并在逻辑上使其。原来的数据层作为数据 库管理系统已经出来,所以,关键是要将表示层 和功能层分离成各自的程序,并且还要使这两 层间的接口简洁明了。  ‘3网络虚拟实验体系结构 3.1概述 根据B/S体系结构的要求,网络虚拟实验室应 包含下面几个重要的组成部分: 1)连接于网络的科学实验仪器及合作工具等; 或者是利用面向对象技术构建的虚拟仪器。当实验 者选定实验项目时,这些仪器根据数据库中记载的 初始状态进行初始化,并通过浏览器呈现给试验者。 试验者和可视化界面进行交互,系统将把交互的结 果递交给功能层。经过处理返回的数据又通过浏览 器呈现给试验者。 2)能处理大量模拟操作数据和业务逻辑的服务 器端软件。服务器软件往往是一些仿真系统,它联 系着用户和后端数据库。 3)用于存储模拟数据初始条件和边界条件以及 实验结果数据的数据库系统。这几个部分的紧密耦 合就组成了一个虚拟实验室。如图1所示。 虚拟实验室系统是对三层B/S体系结构的具 体应用。在虚拟实验室系统中,服务器端(功能层) 通过软件技术对各种实验环境和实验元件进行仿 真,并接收来自客户端(表示层)的实验操作请求,根 据客户端不同的实验请求,读取数据库服务器中的 相应数据(数据层),调整仪器的状态,模拟产生实验 的现象,输出对应的实验数据。 维普资讯 http://www.cqvip.com 服务器 客户机 客户机 图l网络虚拟实验室的实现模式 3.2网络虚拟实验体系结构 网络虚拟实验系统的模型,它建立在基于Web 的B/s体系结构之上。整个体系结构以数据库为中 心分为三层,划分的依据是用户的三级管理模式或 用户的任务和权限的不同。 管理员具有最高的权限,他负责用户权限的设 置和实验室配置;教师则进行实验项目的生成和管 理;学生的权限最低,他只能选择合适的实验并进行 之,他对各个数据库只能读取而不能修改或创建。 必须注意的是,管理员具有最高的权限是指他 能对虚拟实验系统的全局数据进行管理,但并不意 味着其能管理任何数据,例如,对帐户进行管理是管 理员的任务,但具体的实验项目和虚拟元件的生成 与管理就不是管理员的任务,而是由教师来进行。 以下各部分将对各类型用户的任务和功能作详 细的论述。 (1)管理员 管理员的主要任务有三个:用户管理、安全策略 管理和实验室管理与配置。其管理的数据库包括用 户信息数据库(属于文档库)和策略库。 1)用户管理 实验室管理涉及到许多方面。在虚拟实验系统 中为方便管理,将系统的使用人员根据其权限的不 同分为三类:管理员,教师,学生,每类人员只能完成 其权限范围内的任务。用户管理由管理员来进行, 主要任务是添加、删除和管理用户的帐号信息。用 户的帐号信息存储在实验用户信息库中,它是文档 数据库的一部分。用户数据库包括的字段有帐号、 密码、用户名称、用户的描述信息以及权限。 管理员赋予的权限是用户在虚拟实验室系统中 能够行使的权限,例如,学生默认的权限是对数据库 只读,管理员可以添加用户,教师可以添加和修改项 目等。但是,用户能否行使这种权利还取决于实验 室各对象上应用的安全策略。 管理员的主要任务是维护用户信息的完整和虚 拟实验室的安全。他可以将部分的管理员权限授予 他信任的人员,这样,可以减少管理员的任务量,简 化管理;同时,他可以将实验生成的权限赋予教师以 便生成新的实验项目,也可以教师只能够管理 或查看已有的实验项目的信息;他还必须学生 只能够选择实验项目进行实验,对学生试图危害系 统安全的行为进行制止。 2)安全策略管理 安全策略管理主要包括两个方面:其一是应用 在用户的帐户、密码等上的规则,例如帐户不能取一 些实验环境中的关键字,密码必须是数字和字母混 合或是必须超过多少位等;其二是对用户权限更具 体的限定。管理员赋予的权限只能表明用户具有这 个权限,至于能否行使这种权利还取决于对具体对 象的访问规则。例如,默认情况下,教师或者创作者 拥有对所有虚拟元件的读和修改的权利,但有时虚 拟元件的作者并不希望其他创作者对其进行修改, 因此他可以限定对此虚拟元件的访问权限,作者拥 有对元件的完全的权利(读和修改等),而其他访问 者只有读的权利。 实现这个目标就要求管理模块维护一个访问权 限表,它包含对象的标志号(通过此标志号可获得对 象的具体信息)和访问权限列表。访问权限列表又 包括帐号和赋予这个帐号对对象的访问权限。例 如,图2表示对象1、用户1拥有读和修改的权限, 用户2则拥有读的权限,其他用户则使用其默认的 权限。 图2 3)实验室管理与配置 虚拟实验室作为传统实验室在网络上的延伸, 自然也必须进行实验室的配置与管理。但是,网络 虚拟实验室是用软件仿真的,它的管理不同于传统 实验室,例如,传统实验室有设备的报废和购进问 题,虚拟实验室则没有必要,因为虚拟实验室里的一 切都是由教师或创作者根据需要设计出来的,它不 涉及报销和购进问题,如果对象不符合需要被淘汰, 它不会被申请报废,而是由创作者对原对象进行修 改或者创建新的对象以适应需求。 虚拟实验室是利用虚拟现实技术、面向对象和 组件技术设计的软件组件,在设计之初,组件开发人 ・ 23】 ・ 维普资讯 http://www.cqvip.com 员便考虑到实验室管理的需求而开放了相应的属性 码表记录,本字段关联到实验项目类别代码表。如 和接口,管理员利用这些接口对实验室的属性,如实 8255并行接口实验属于接口实验等。 验室布局,实验室完成实验的性质以及能够完成哪 实验项目说明:TEXT型,描述每个实验的内 些实验,包括哪些实验元件和设备,以及这些元件和 容、目的、实验所需元件和实验步骤等。 设备的介绍等等进行设置。 虚拟元件lD列表:TEXT型,记录实验项目所 虚拟实验室的配置信息存储在虚拟实验室信息 需的虚拟元件的lD号。由于一个实验项目需要多 库中,这是文档库的一部分,它应包括虚拟实验室的 于一个的虚拟元件,因此本字段实际上是虚拟元件 名称、其对应的对象的名称、类别、属性、实验项目信 的列表。存储时可以在两个相邻的ID之间加上空 息、虚拟元件信息以及人员配置信息等,其具体字段 格或其他规定字符,在创建实验项目时,对取出的 应根据具体的要求作相应的调整。当学生点击网页 lD列表进行分析,并根据这些ID号创建虚拟元仲。 上的链接进入实验室时,系统将创建虚拟实验室对 以往实验数据列表:BINAEY型,记录最近的 象,并根据实验室信息库的描述初始化实验室。 实验数据,记录的实验数据数目根据系统的处理能 (2)教师 力计算得到。每个用户的实验数据是一个结构,定 教师的任务主要是利用在线的实验创作系统生 义如下: struct Record 成具体的实验项目。文档生成与管理,元件组成与 管理以及策略生成与管理是实验项目生成与管理模 { int lem 块的三个关键性任务。该模块由授权的教师或创作 int ID; 者进行,其主要功能是根据实验教师的需求生成某 struct edata data 个实验项目的相关文档(如实验项目的名称,实验指 ); 导书等),实验所需的元件以及学生实验时判断其实 验行为是否合理所使用的策略。 它的第一个域len为Data结构的长度,第二个 D号,第三个域为edata结构,它记录 该模块通过页面的形式呈现给教师或创作人 域为用户的I不同的实验此结构不同,但大小是固 员,采用Wizard的方式指导实验教师提供实验项目 实验所有数据,所需的信息。由于教师并不是计算机专家,一般缺 定的。由于整个Record结构大小固定,因此数据列 很容易得到每个用户的数据以及用户 乏编程知识,因此这些信息应该用接近自然语言的 表被读人后,文本来描述,但为了处理的方便,必须对其格式进行 的lD。正在实验的用户可以把自己的数据与以往  严格的限定。当系统获得这些信息后,按照事先规 用户的数据进行比较并得出结论。定好的语法将信息格式化成与文档库、元件库、策略 2)元件的生成与管理 库相适应的结构化语言格式信息并存储到这些库 教师通过创作系统生成虚拟元件并在虚拟元件 中。当然,该模块能够取出这些结构化信息并以一 库存储虚拟元件的描述信息。在系统中,虚拟元件 定的格式呈现给实验教师,以利于对实验项目的管 是以组件的形式出现的。 不管是何种类型的实验设备或仪器,我们总可 理和修改。 以将其抽象为具有输入/输出接口和特定操作方式 1)文档的生成与管理 为实现最大程度的仿真和控制的方便,利用 当根据教学的要求需要创建新的实验项目时, 的对象,教师会根据实验项目的的要求生成实验项目的描述 面向对象技术将虚拟仪器的属性和操作方式封装成 文档存储在虚拟实验项目信息库,它是文档库的一 对象。当学生进入实验室选择相应的实验虚拟元件 系统将创建并初始化这些对象的实例,控制模块 部分。虚拟实验项目信息库存储了实验项目的各种 后,获取学生的输入(通过鼠标、键盘或其他输入设备), 描述信息,一般包括以下字段: 在对对象 实验项目代码:字段类型为数字型,它是一个唯 并调用对象开放的接El对元件进行控制,的标志号,格式是事先规定的,例如,可以用16位 进行封装时,会综合运用许多技术,例如,元件都应 应利用Java或者 数字代表实验项目,前1O位代表课程编号,后6位 该具有显示其形状的能力,此时,其他语言将“显示形状的能力”封装在一个公开的接 代表不同的实验项目序号。 而其实际的绘制和显示则必须利用虚拟现 实验项目名称:字符型,记录实验项目的名称, 口当中,实技术,例如VRML语言或者JAVE3D技术等。 如8255并行接口实验。 例如,可以利 实验项目实例:数字型,记录了有多少个实验项 封装对象采用的技术也是多种多样的,用面向对象语言提供的Class关键字对元件进行封 目对象被创建。 实验项目类别:描述了实验所属的类别。实验 装,也可以利用COM、CORBA或者JavaBeans技术 一项目的类别是事先规定好的,并用实验项目类别代 ・ 将元件开发成组件的形式等。 232 ・ 维普资讯 http://www.cqvip.com 3.3虚拟实验室 虚拟实验室是学生进行实验的地方,它将教师 模块生成的虚拟实验项目的文档信息、虚拟元件和 策略组合在一起呈现给实验用户,它是整个实验系 统的控制中心,必须很好地处理各个组成部分的交 互和协作,使之成为一个整体而不是简单的堆砌。 从技术角度来说,虚拟实验室也应该是一个组 件对象。当用户连接虚拟实验系统请求时,系统将 创建一个虚拟实验室对象,该对象调用其他模块如 信息库接口、策略识别与决策接口等提供的功能获 得各种数据并通过网页的形式呈现给用户。具体发 生的动作如下所示: 1)虚拟实验系统通过信息库接口读取实验室的 配置信息并利用这些信息创建和初始化虚拟实验室 对象。这些信息包括实验室相关信息(简介、注意事 项、布局等),实验室能够完成哪些实验项目等。 2)实验用户选择实验项目。虚拟实验室读取相 应项目的配置信息,用动态页面的形式提供给学生 实验指导书(包括实验目的,实验步骤,实验注意事 项等的说明),实验仪器介绍,实验范例等信息。 3)虚拟实验室提示学生选择想完成的实验项目 所需的虚拟元件,当用户响应后,虚拟实验室创建和 初始化这些元件的实例。 4)当所有元件创建完毕后,虚拟实验室将创建 个被称为“行为捕获”的线程,它一般处于休眠状 态,但当实验用户进行操作后被唤醒。 5)虚拟实验室“行为捕获”线程监听用户操作 一程重新进入休眠状态。 6)4和5步骤重复进行直至实验完成。此时虚 拟实验室将对元件进行复位和销毁的操作,并指导 学生分析实验结果和撰写实验报告。 上述操作仅是一般的概念,在实际进行虚拟实 验室设计时应考虑很多问题,以下针对两个典型性 的问题进行说明。 1)复杂度和灵活性的问题 在对虚拟室进行设计时,复杂度和灵活性是不 能够兼顾的。当系统具有最大的灵活性时,其复杂 程度也最高;反过来,不复杂的系统其灵活性也最 差。在实际设计时,应根据实验的性质、实验的对象 等对复杂度和灵活性作一个取舍。 2)虚拟实验室中各对象的通信 从虚拟对象的创建过程来说具有性,虚拟 对象被单独创建,当用户点击虚拟对象时其有自己 的响应方法。但是,虚拟对象处于一个相互协作的 复杂系统中,它必定要和其他对象发生交互,因此, 必须采用一个统一的模式处理虚拟实验室中各个对 象的相互通信问题。 当然,虚拟实验室还应设置一个虚拟工具箱,它 是一些超级链接的集合,包括在线答疑,BBS,相关 资源检索,虚拟实验室介绍,虚拟实验室使用帮助等 全局性的信息,以便学生更好的利用虚拟实验室。 参考文献 1 舒炎泰,薛飞.Internet上的虚拟实验室.科技导报,1998,2 2 汪诗林,吴泉源.开展虚拟试验系统的研究和应用.计算机工程 与科学,2000,22(2) 3 徐宏结.现代远程教育平台 研究与实现.计算机工程与应用, 2002(4) (通过键盘或鼠标),当用户进行操作后被唤醒。该 线程将对捕捉到的行为进行预处理,如果行为应由 虚拟元件处理则交给虚拟元件,否则将把控制权交 给策略识别与决策模块,该模块将根据策略库中的 规则对用户的操作进行判定,并根据动作的合法性 设定各个相关对象的状态。当处理完毕后,监控线 (上接第207页) let Ox3FF303C一0xCE3383FD 4李亚碌,郝应光,唐侦安.远程教育与虚拟实验室.自然杂志, 2001(3) 5 李仁发,周祖德,李方敏,陈幼平,彭欢字.虚拟实验室网络体系 结构研究.系统仿真学报,2002(3) 储单元能正确显示刚才输入的数据,则表明 打开ARM Debugger for Windows的命令行窗 口(View-- ̄Command),执行obey命令: >obey C:\memmap.txt 此时,Flash存储器和SDRAM已分别映射到 地址空间的0x0000,0000~(0x0020,0000—1)和 0x0040,0000(0x0140,00O0—1)处。 SDRAM存储器已能正常工作。 结束语这样整个基于S3CA510B的嵌入式系 统SDRAM接口电路的调试基本上完成了,当然对 于不同的系统,操作是略有不同的,我们可以根据所 要开发或使用的嵌入式系统模式,进行适当的调整, 保证我们正确地使用SDRAM。 参考文献 1 毛德操,胡希明.嵌入式系统[M].杭州:浙江大学出版社,2003 2 王金刚.VxWorks BSP开发人员指南[M].清华大学出版社, 2003 选择菜单View-- ̄Memory选项,出现存储器的 起始地址输入窗口,在此输入SDRAM的映射起始 地址:0x0040,0000,数据区应显示SDRAM中的内 容,此时所显示的内容为一些随机数。双击其中的 任一数据,输人新的值,如输入0xAA,若对应的存 3 陈智育.VxWorks程序开发实践[M].人民邮电出版社,2004 ・233・ 

因篇幅问题不能全部显示,请点此查看更多更全内容