《Node.js的英语口语考试平台探析(共5345字).doc》由会员分享,可在线阅读,更多相关《Node.js的英语口语考试平台探析(共5345字).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Node.js的英语口语考试平台探析(共5345字)摘要:针对国内高校英语口语考试形式过于单一且效率较低的问题,提出并设计了一种基于的英语口语考试平台,在运行环境下采用兼容框架利用进行软件开发。通过采集、编码、缓存等环节对参试人员的音频进行处理,实现了在线口语考试的功能。测试结果表明,平台运行稳定、抗压能力强,能够大幅提高口语考试的效率,适用于在高校推广应用。关键词:;口语考试;编码引言 当前国内高校英语口语考试的过程较为复杂,在人力、物力等方面都造成了一定程度的浪费。为此,本文提出并设计了一种基于的英语口语考试平台,充分利用了在非浏览器应用程序开发方面的通用性和框架的多语言兼容性,利用实现平
2、台的开发,在具体应用上,通过采集、编码、缓存等多个环节处理学生的口语音频,从而实现了英语口语考试的在线操作。平台整体设计 平台功能设计英语口语考试平台的用户为高校的教师和学生,因此平台客户端分为学生客户端和教师客户端两种形式,分别用于学生录制考试音频和教师对其口语水平进行评定。平台基于实现两种客户端之间的通信。平台的核心功能是采集和处理学生参加口语考试的音频数据,其余则是一些教师客户端管理功能,即查看用户的登录状态、控制考试过程、试题管理、音频管理等。在考试的过程中,首先由教师通过客户端对当次考试的试题进行选定,然后每一台监考计算机在为考试所组建的局域网内向所有考试计算机广播自己的地址,参考学
3、生能够在考试计算机的平台客户端中查看到监考计算机列表并进行选择,与其建立数据连接,当有学生申请登录和考试时,教师客户端接收其请求,获取批准后学生测试考试用设备,如果没有问题即可开始考试,学生用口语回答试题,由平台全程录制音频。平台技术架构由于口语考试并不是所有学生都同步进行的,所以平台充分利用了的异步特性,为每一项异步操作植入监听器,从而有效提高平台的并发处理能力,因此本平台利用的技术实现通信功能。对于平台的客户端界面,为了满足根据不同试题内容进行自适应变化的需求,采用了响应式渐进框架实现模式的客户端界面。平台具体的技术框架,如图所示。英语口语考试平台在的基础上以组件化的方式进行开发,所有组件
4、文件均为“”的形式,每一个文件中都包括局部代码、逻辑脚本和模板。这种开发方式实现了命名空间隔离、组件复用和松散耦合,无需对客户端的每一种界面进行单独的开发,进行具体操作时只需将多个子组件进行功能性的融合,从而避免了命名空间的污染。因此本平台设计过程中将客户端界面分解为多个子组件,并分别将通信和音频处理封装成单独的组件,利用进行整体打包,从而在各种资源间建立组合关系并在有需求的情况下将其合并为执行文件。平台实现 客户端界面组件分解的目的是简化和分解客户端界面结构,使功能与形式相同的组件能够在组件引用的过程中重复使用。平台客户端的每一种界面都被分解为多个单独的组件,如运行进度条、倒计时显示模块、试
5、题标题栏、用户信息框等,从而将功能界面逐层分解。在进行后台程序开发的过程中,对应每一个组件创建一个单独的“”文件,模块样式、逻辑和结构全部包含于其中,组件间的通信利用中的接口进行,以便在复合组件和各子组件之间传递参数。平台设计过程中创建的所有组件都需要根据客户端界面的不同结构进行分类,并将复合组件及其引用的各个子组件按界面的层级进行有序排列,即在代码中建立对应的引用关系。本平台的组件文件基于()语法进行开发,该语法支持、导入导出命令并以此支持各种组件的随意组合。这种静态编译的方式能够在代码运行之前就对所引用的模块进行编译,相对于运行过程中的加载具有更高的执行效率。在平台运行的过程中,利用工具,
6、从执行第一个文件起逐层明确所需调用的资源,建立各组件的依赖关系,将需要组合的组件统一封装到文件中。平台客户端需要在不同的计算机显示器上都能够正常显示,程序运行过程中从配置文件中读取客户端界面的窗口分辨率等参数信息,从而能够对分辨率进行设置,与显示器的分辨率进行匹配,以此来保证界面的正常显示。所有子组件中都完成了的属性设置,集成了的属性值的子元素能够按既定的规则进行排列以实现界面的缩放,由此便可构建客户端的自适应界面。网络通信英语口语考试过程中的考试机与监考机连接、试题下载、答题音频上传等环节都要依靠考试局域网的通信进行,本平台基于对上述操作请求进行注册和监听,实现考试过程中的通信功能。是利用技
7、术构建而成的信息库,其所建立的连接必须通过准确的地址实现,因而学生客户端需要在雷达嗅探的模式下搜索教师客户端以完成考试。教师客户端在考试局域网内基于通信方式广播其所在监考机的地址,学生客户端搜索到这些地址并选择其中一个进行连接,在这个过程中,通过中和模块的调用,学生客户端可以随时监听教师客户端的广播信息,基于回调函数将接收到的地址缓存到全局数组中,此时的启动与学生所选择的地址建立连接,与此同时,向其余的监考机发出信号,中断它们与已建立连接的考试机的通信。学生客户端与教师客户端建立连接后进入考试界面,教师客户端能够显示所有参加当次考试的学生信息,学生登录的同时其客户端向教师客户端发出中的请求,该
8、请求的信息中包含等变量,教师客户端接收到该请求后将其中的信息与参考人员信息进行比对,若存在相同信息则允许学生登录并开始考试。英语口语考试试题中包含两部分内容,听力试题的音频及其所对应的图文信息。听力试题的音频以地址的形式发送给参考的学生由其在线收听,由此来简化考试过程,降低平台的运行压力,图文内容则由包含模板的组件提供。除此之外,还要向学生发送包含试卷名称、题目数量、题目、答题时间等考试信息的文件。学生完成答题后,为了保证答题音频的完整性,平台首先将其以保存在考试机的文件中,然后再将这些编码导入全局数组,同时向教师客户端发送请求,得到回应后音频将被分别上传至监考机中。音频处理平台采集到学生答题
9、的语音信号后,需要将其传递给以完成音频的编码,为了避免编码过程中的主线程阻塞,平台采用子线程来保证编码的效率。编码前需要将采集到的语音模拟信号进行预处理,将原始信号数据进行压缩并将其转换为数字信号。音频编码的具体实现过程为:()基于的方式将注入到中,选择声道数、比特率、采样率等参数完成初始化,构建编码器;()利用缓冲器方法先将冗余数据存放在数组对象中,编码完成后即清除;()采用方法对数据进行压缩和转换,设定信号压缩比后在模拟信号中搜索与压缩比相同的值,通过持续的取反操作使数据间隔均为整数值,然后将位浮点数据压缩成位整形数据,以控制振幅值的方式去除压缩数据中的噪声,由此得到位的数字信号;()调用
10、编码函数处理接收到的编码信号,将获取的声道依次发送到所构建的中,完成编码并将其存储与缓冲区;()将缓冲区中的数据全部发送给主线程。平台将音频处理模块的逻辑封装为一个类库,即具有全局性质的类,创建这个类时需要在其中集成包含比特率、声道数、缓冲区空间等信息的配置项,在确认对象和方法具有一定的兼容性后可根据具体的逻辑输出为布尔型的变量。为了满足封装要求,类中包括以下几种接口:()(初始化)接口,由得到的变量判断设备与平台的兼容性,接下来从中调用录音转码脚本,然后利用对象引入监听函数并用以接收初始化函数;()(开始录音)接口,连接成功后持续监听事件,利用回调函数获取不同声道的数据并发送给脚本;()(暂
11、停录音)接口,中止执行音频采集代码,保存现有数据;()(恢复录音)接口,继续录音并添加到原数据中;()(停止录音)接口,关闭音频采集设备,终止转码。平台应用测试 平台性能测试为了对平台的性能与工作可靠性进行验证,在华北理工大学对本平台进行试运行,邀请该校建筑工程学院大二年级的名学生使用本平台参加英语口语模拟考试。学院机房共配备台计算机,包含种不同型号,其主要硬件配置如表所示。英语口语模拟考试共分为个批次进行,每批次参考学生数量为人。考试过程完全按照高校的口语考试流程进行,机房中每个型号的计算机均安装了本平台的测试客户端。每个批次的学生使用不同的口语考试试题,准备工作完毕后,监考教师通过教师客户
12、端对当次考试的试题进行选定,然后监考计算开始向所有考试计算机广播自己的地址,参考学生通过考试计算机中安装的学生客户端查看监考计算机列表并进行选择,与其建立数据连接并申请开始考试,教师客户端接收其请求并批准,学生用口语回答试题,由平台全程录制音频。在考试过程中分别记录了客户端运行时每种配置的计算机的资源占用情况,具体资源占用数据,如图所示。由图可见,不同配置的计算机在平台运行过程中的资源占用率各不相同,种配置条件下占用率均低于,内存占用率均低于,且主频和内存频率越高,资源占用率越小。分别通过单线程和多线程的方式进行答题录音,研究不同线程条件下录音时长与文件生成时间的对应关系。测试结果可知,线程数
13、量不同的条件下,录音时长与生成时间均成正比例关系,但相较于单线程录音,采用多线程录音时的生成延时可减少。平台压力测试在口语考试并发用户数量较多的情况下,平台的数据吞吐量较大,此时平台程序是否能够稳定运行,平台功能能否正常实现决定了平台是否具备投入使用的条件。采用作为压力测试工具,测试过程中将连接的数量从逐步增加到,发送不同类型、不同大小的数据以模拟不同的参试人员数量和试题内容,最终得到的发送成功率数据,如图所示。由图可见,连接到平台的用户数量越多(超过个时),发送的数据越大(超过时),消息发送的成功率会有所降低,但在实际应用中,考试学生数量和所生成的音频文件几乎不会超过这两个数值,在此条件下发送消息的成功率能够达到且测试过程中未出现宕机和程序中止运行的情况,可见平台能够满足当前高校教学过程中的英语口语考试需求。总结 当前多数国内高校的英语口语考试仍以传统的方式进行,对有限的教学资源造成了较大的浪费,为此,本文提出并设计了一种基于的英语口语考试平台,介绍了平台的功能结构和技术架构,分别阐述了客户端界面、网络通信模块、音频处理模块的设计思路,并对平台的性能和抗压性进行了测试。测试结果表明,本文所设计的平台功能完善、抗压能力强,对于高校的英语口语考试具有很强的实用性。第 9 页 共 9 页