基于C/S架构的电子教室管理系统
2016-02-23沈来信
杨 帆,沈来信,2
(1.黄山学院 信息工程学院,安徽 黄山 245041;2.同济大学 电子与信息工程学院,上海 201804)
基于C/S架构的电子教室管理系统
杨 帆1,沈来信1,2
(1.黄山学院 信息工程学院,安徽 黄山 245041;2.同济大学 电子与信息工程学院,上海 201804)
为实现实验室、机房的电子化管理而开发的电子教室系统,可以对学生、设备和教学过程进行管理,系统还可以用于学生上课情况监督、教师教学督促、PC机状态监控、电子设备运用管理等。构建教学监控网络获取学生上课的考勤数据、教师教学质量的评估数据、机房硬件的损坏数据等。系统主要功能有屏幕广播、远程协助、执行命令、锁定客户端、信息发布、机器重启、自动签到、群组会话、文件传送、作业发布与上交、客户端屏幕监控、设备监控等。使用组播技术完成服务器与多客户端的通信,通过TCP连接数完成客户端在线验证等。利用MVC分层结构完成系统三层架构和数据交互实现,有效提高了数据的安全性和模块的可复用性。系统可以高效地扩展到大规模的实验环境,有效提高电子教室的科学化管理水平。
电子教室;考勤;屏幕广播;自动签到;设备监控
0 引 言
网络化教育在各大高校课程教育中所占比重越来越大。在网络化教育过程中,机器设备的损坏量大,需要大量的维护人员对设备进行检查与维护。电子教室管理软件从规范学生的上课秩序、管理老师的教学计划、保障机房公共财产的安全、充实学生与教室的教学体验四个方面出发,对学生上课情况实施考勤、教师实施督促、PC机实施监控等,形成教学监控网络,从而得到学生上课的实况数据、教师教学质量数据、机房硬件的损坏数据等[1-3]。从这些数据中提出数据形成教学质量评估、学生出勤情况汇总和机房维修日志等。在方便老师的教学之外,添加一些群组会话、视频语音监控、远程协助、作业提交等功能,将电子设备管理与网络教学、作业发布与提交等有效结合。
组播是比单播宽,但比广播窄且目标性更强的点对点通信。组播将数据从一台主机发送给不同的主机,但不是发给某一个人,数据只有到达位于组播组内的本地网络才进行复制,数据只通过Internet一次。
C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则[4-6]。客户端完成数据处理、数据表示以及用户接口功能;服务器端完成DBMS(数据库管理系统)的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种有效的软件应用模式。Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。
C/S结构能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。客户端响应速度快,具体表现在:
(1)应用服务器运行数据负荷较轻;
(2)数据的储存管理功能较为透明。
1 系统结构设计与组播设计
1.1 结构设计
系统运行在加载TCP/IP协议的Windows及以上的操作系统上。主要运用在在局域网内的多媒体信息广播、教学附带电子设备的使用以及网络内客户机的屏幕监视和远程控制管理等方面,如图1所示。
图1 电子教室总体结构图
1.2 网络组播设计
整个过程包括构造组播组、加入组播组和离开组播组三个过程,流程图见图2。
(1)构造组播组[7-8]:用Multicast Socket构造函数创建一个Multicast Socket,然后使用其JoinGroup方法加入到一个组播组,这样就会通知客户端和服务器之间路径上的服务器开始发送数据,并告知本地主机将IP包寻址到组播组;
图2 组播流程图
(2)加入组播组:创建一个Datagram Packet,用一个字节数据作为数据缓冲区,进入循环,在循环中通过调用Datagram Socket的receive方法接收数据;
(3)离开组播组:当不再希望接收数据时,就通过调用此Socket的LeaveGroup方法离开组播组,然后再用close方法关闭该Socket。
2 基于MVC的系统架构和数据交互
系统采用MVC架构[9-12],包括三层体系结构—表示层(View)、中间层(Controller)和数据层(Model),如图3所示。(注:客户机泛指所有的教师机、学生机、设备管理机、设备操作机)
图3 MVC三层架构图
2.1 表示层
表示层是指客户机的图形化用户界面,主要功能有:
(1)接收用户请求,将这些请求反馈给中间层,并且等待返回的应答信息;
(2)对中间层提供的数据命令实时显示;
(3)完成对用户输入语句的合法性验证。
2.2 中间层
中间层指业务逻辑处理区和数据访问层,该层的主要作用有:
(1)接收从表示层传来的用户请求信息;
(2)根据用户的请求信息来制定响应所需要提供的服务,即判定客户端发出的请求指向是服务器还是另一个客户端,并同时发布响应的指定命令;
(3)把客户机发出的命令指定成响应的服务端或响应操作机能识别的命令传输到数据操作层;
(4)把数据层和业务逻辑处理层处理好的数据或者响应操作机响应命令直接反馈给表示层。
2.3 数据层
数据层是指数据控制逻辑层和数据制定响应层,它的主要作用是:
(1)接受业务层数据处理的SQL语句或存储过程或者业务层传递过来的指令操作;
(2)利用SQL语句或存储过程,完成相应数据服务器上的逻辑操作;
(3)把存储或检索到的数据信息或响应操作的参数,直接传递给业务层。
3 数据库设计
使用MySQL数据库存储关系数据,主要包括基本信息表(学生、教师和管理员的验证信息,课程的基本信息和课程时间安排信息等)、教学过程中产生的信息(设备的硬件信息、学生的考勤信息、电子设备的使用记录等),如图4所示。
图4 系统基本数据库表
MySQL数据库位于总服务端。文件型数据库又分在本地和云盘中,数据包括:教学过程中产生的图片操作、讨论记录、文件、电子设备使用产生的资料。其中,前三种默认存储于本地,学生可以选择性地从本地传输到自己的云盘(作业系统)中,最后一种数据主要存储在个人的作业系统云盘中。
4 系统典型模块实现
4.1 教师端的功能实现
(1)组播视频教学、远程协助、指定学生转发;
(2)指定网址打开、作业/消息发布;
(3)信息查询、学生请假批准、教学质量的学生评价(可选择的);
(4)群组会话、自建讨论组、文件图片截屏传送;
(5)控制指定机器或者全部机器重启、关机、设备属性信息查看;
(6)学生桌面视频监控、学生机器锁定;
(7)学生设备申请的批准、设备排队使用的提醒、设备类型的分组显示;
(8)自我机器锁定、刷新等;
(9)摄像设备的视频转播;
(10)语音传输。
4.2 学生端的功能实现
(1)设备申请、远程申请、问题求助、请求重新登录;
(2)教学评价(选择性地对教师进行评价);
(3)直接登录作业系统(绑定作业系统);
(4)自动签到(随机签到);
(5)机器本身设备的搜集;
(6)教学信息的接收与反馈;
(7)群组会话(图片、截屏、文件传送);
(8)资料的上传。
4.3 屏幕广播实现
屏幕广播指教师端通过实时获取自己的或指定学生的当前桌面截屏进行指定用户的操作广播显示[13-14]。让学生可以看到自己在桌面的操作流程,这样更有利于教学,屏幕广播的流程如下:
(1)教师发布视频广播的口令+指定学生组的学号,发布发出口令;
(2)教师开启组播服务端进行组播演示;
(3)接收端接收到响应口令,开启组播接口接收客户端的桌面广播;
(4)教师发布视频广播结束指令,关闭组播组;
(5)学生接收组播结束指令,离开组播组;
(6)屏幕广播结束。
4.4 电子设备的控制
(1)通过从UsbHostManager得到相应的UsbServices进行Bootstrap;
(2)通过UsbServices访问root hub;
(3)获得连接到root hub的UsbDevice清单,遍历所有低级hub以找到正确的UsbDevice;
(4)用控制消息(UsbControlIrp)与UsbDevice直接交互,或者从UsbDevice的相应UsbConfiguration中要求一个UsbInterface,并与该UsbInterface上可用的UsbEndpoint进行I/O;
(5)如果一个UsbEndpoint用于进行I/O,那么打开与它关联的UsbPipe。通过这个UsbPipe可以同步或者异步提交上行数据(从USB设备到主计算机)和下行数据(从主计算机到USB设备);
(6)当应用程序不再需要访问该UsbDevice时,关闭这个UsbPipe并释放相应的UsbInterface。
设备发现的架构图如图5所示,设备控制模块流程图如图6所示。
数据传输是基于Socket的TCP连接。设备的控制采用串口读写数据的方法开启设备的运行状态。学生端对设备进行使用申请并获得教师端的授权验证。
图5 jsr80发现设备的整体架构图
图6 设备的控制模块流程图
4.5 运行过程中的TCP连接数分析
10000是客户端和服务器端进行连接的端口,10004是客户端和教师端进行连接的端口。服务器数据库都设置在192.168.24.X,教师端运行是本地运行192.168.24.Y。
(1)客户端全部登录:服务器和数据库连接,显示为连接建立,处于数据传送状态,如下:
TCP 192.168.24.156:10000 192.168.24.42:2910 Fin-Wait_2
TCP 192.168.24.156:10000 192.168.24.62:1691 Fin-Wait_2
TCP 192.168.24.156:10000 192.168.24.73:4272 Fin-Wait_2
TCP 192.168.24.156:10000 192.168.24.156:2050 Time-Wait
(2)客户端和服务端进行连接情况:有3名客户端用户和服务端有连接,并且处于等待客户端的关闭请求状态,所有客户端都会每三分钟向服务端发送一次我还在的验证信息。教师端和客户端也是每三分钟进行一次数据更新,处于等待关闭状态-说明客户端和服务端建立的连接是正常的,如下:
TCP 192.168.24.156:3306 192.168.24.156:1494 Established
TCP 192.168.24.156:3306 192.168.24.156:1685 Established
TCP 192.168.24.156:3306 192.168.24.156:1690 Established
5 结束语
在实际设计中,应该减轻服务器端与客户端的数据交互,增加客户端与客户端之间的数据处理模式,向服务器传送当前已经处理好的有效数据。这种方式可以减轻服务端的数据处理负担,加强客户端与客户端之间的数据交互,服务器只需要处理关键性的、有效处理后的数据,并且当服务器出现异常中断时,不会影响系统暂时的教学活动。
现在的整体部署模式仅仅局限于教室系统和教师之间的单向交互,而不是基于一个群体、一个局域网络内的教学活动。怎样设计一种模式可以完成学生与教师之间选择的自由性与学习的交互性,这种教学模式主要用于学生的兴趣教学和自主教学。教师与学生之间的交互加上服务器的处理,形成一个个小组,也就是很多教室混合形成的一个个虚拟的教室。
[1] 苏 望.基于J2EE的多媒体教室管理系统设计与实现[D].长沙:湖南大学,2014.
[2] 蒋文东.基于移动终端的电教设备管理系统的设计与实现[D].成都:电子科技大学,2014.
[3] 袁再龙,姜明涛.极域电子教室在计算机广播教学中的应用[J].计算机光盘软件与应用,2014,17(11):206-206.
[4] 樊银亭,何鸿云.基于客户机/服务器体系的二层与三层结构研究[J].计算机应用研究,2001,18(12):23-24.
[5] 孙爱玲,冉禄纯.一种基于重复数据删除的网络文件备份系统设计与实现[J].计算机应用与软件,2014,31(10):86-90.
[6] 刘 赟,王永贵.C/S模式并行计算架构设计及其实现方法[J].哈尔滨工程大学学报,2013,34(7):889-893.
[7] Shin Y,Choi M,Koo J,et al.Video multicast over WLANs:power saving and reliability perspectives[J].IEEE Network,2013,27(2):40-46.
[8] Qian Z,Tian X,Chen X,et al.Multicast Capacity in MANET with infrastructure support[J].IEEE Transactions on Parallel and Distributed Systems,2014,25(7):1808-1818.
[9] 王 瑾.基于SSH框架下的校园网上交易平台[D].成都:电子科技大学,2014.
[10] 师温馨.基于SSH框架的电子商务购物网站的研究与设计[J].电子测试,2014(8):10-12.
[11] 张晓孪.基于SSH的团购网站的设计与实现[J].电子设计工程,2012,20(21):122-125.
[12] 米奕杭.基于SSH框架的网络购物电子商务平台的设计与实现[D].成都:四川师范大学,2010.
[13] Yang J N,Zhou S Q,Qiu L D.Impact of small-world topologies on broadcasting for wireless sensor networks[J].Journal of Systems Engineering and Electronics,2009,20(1):192-196.
[14] Hur N,Lee H,Lee G S,et al.3DTV broadcasting and distribution systems[J].IEEE Transactions on Broadcasting,2011,57(2):395-406.
Management System of Electronic Classroom Based on C/S Architecture
YANG Fan1,SHEN Lai-xin1,2
(1.School of Information Engineering,Huangshan University,Huangshan 245041,China;2.School of Electronics and Information Engineering,Tongji University,Shanghai 201804,China)
In order to implement electronic management of laboratory and computer room,an electronic classroom system is developed,which can manage students,devices and teaching process.The system can also supervise the student class situation,and urge teacher teaching,and monitor PC machine condition,and manage electric equipment.The teaching monitoring network is constructed to obtain check-in data of students in class,assessment data of teachers’ teaching quality,and damage data of computer hardware.The system implements main functions including screen broadcast,remote assistance,command execute,client lock,information publishing,computer restart,auto check,group session,document transfer,assignment and submiting,and equipment monitoring.Multicast techniques are used to finish the communication between server and multi-clients,and the connector number of TCP can be used to verify client online.MVC layered structure is utilized to realize the 3-layers architecture and data interaction,which can efficiently improve the security of data and reusability of module.The system can be extended to large-scale experimental environments,effectively improving the scientific management level of electronic classroom.
electronic classroom;check-in;screen broadcast;auto check;equipment monitoring
2015-06-16
2015-09-22
时间:2016-02-18
文化部科技创新项目(WHBKJCXXM20142554);文物局文化保护和技术研究课题(2013-YB-SQ-175);大学生创新训练计划项目(201310375022,AH2014103753135,AH2014103753136);黄山学院校级科研项目(2015xhwh012)
杨 帆(1980-),女,硕士,讲师,CCF会员,研究方向为数据挖掘与软件工程。
http://www.cnki.net/kcms/detail/61.1450.TP.20160218.1634.048.html
TP302
A
1673-629X(2016)03-0168-04
10.3969/j.issn.1673-629X.2016.03.039