APP下载

基于Socket的实验室智能控制系统研究

2014-09-05卢民荣

九江学院学报(自然科学版) 2014年4期
关键词:学生上课教务进程

卢民荣

(江夏学院 福建福州 350003)

基于Socket的实验室智能控制系统研究

卢民荣

(江夏学院 福建福州 350003)

计算机实验教学主要在机房进行,为了避免学生在上课时玩游戏、看电影、浏览网页等,文章提出研究基于Socket的实验室智能控制系统。该系统主要通过教务部门的教务端、实验室教师机端和学生端三端管理,从学生端收集学生上课各种行为,根据行为库分等级进行智能消息提示和远程关闭进程等处理。通过智能伪装防止学生恶意关闭本控制系统,并将经常出现网络不正常的计算机信息推送到实验室管理人员,以降低学生自断网络摆脱监控的做法。系统还提供了智能监管功能,对实验室教师和学生进行双向监督,有效减少学生异常行为,提升教师监控力度。

Socket,多线程,实验教学,教务监管,智能控制

计算机实验室是高校教学、科研的重要场所,计算机实验教学是教学科研的重要组成部分,其教学质量直接影响到整个学科的系统教学效果[1]。陈雅、徐省华等针对广州市及其周边的“211工程”高校、一般本科高校、专科院校共11所高校进行实验教学管理现状调查,只按教学内容进行检查的占9%,无任何检查的占27.3%[2]。高校实验室上课基本形式是以教师为主体进行讲解,学生完成相应的实践作品。上机课一般情况下是一个教师面对几十个学生,部分资源紧张的甚至面对上百个学生。在上课过程中学生难免出现玩游戏、看电影等与学习无关的行为。实验教学布置的课堂作业往往是电子版材料,相互拷贝的抄袭现象严重等均给教师和教务管理人员的工作带来很大的麻烦,课堂管理是公认的难题。为了杜绝学生出现违规行为,一般都是教师来回巡视实验室,但这种做法既浪费教师的时间又容易出现顾此失彼,影响整体教学质量[3,4]。

随着计算机技术的迅速发展,通过计算机技术实施远程计算机监控应用越来越广泛,高校实验室通过监控系统可以进一步简化教师对学生的管理,提高课堂效率[5,6]。目前高校实验室运用比较普遍的广播、监控系统有红蜘蛛多媒体电子教室、凌波多媒体教学软件等具有比较齐全的电子教学功能。它们可以清楚展示教师操作计算机的细节的屏幕广播、让教师或某个学生对其他学生的电脑进行操作的远程遥控、以及屏幕监视、屏幕录像、电子画板、收发作业、远程开关机等。但对学生进行学习无关操作时却无法及时阻止或提示,本文运用Socket技术,结合C#语言开发实验室智能控系统,主要实现记录学生与学习无关的异常行为,并根据异常等级实施智能控制,同时还包括教务监管、消息推送、进程伪装和程序自适应等功能。通过实验表示,基于Socket技术的实验室智能控制系统可以和机房里现有的凌波多媒体教学软件相互融合,有效制止学生在实验室的异常行为,有效提高实验教学质量,其系统功能本身具有实际的应用和推广价值。

1 系统设计方案

1.1 Socket套接字通信工作原理

Socket(套接字)接口是TCP/IP网络中最为通用的 API,技术也最为成熟、稳定。Visual Studio 2010(C#)提供了很好的Socket编程支持,运用C#编程设计可以很方便在计算机中创建一个通信端口。通过这个端口,可以将局域网内计算机可以与任何一台具有 Socket 接口的计算机通信;而且Socket 接口也是Internet 上进行应用开发最为通用的API[7,8]。目前高校校园网络及实验室组网,基本都是使用TCP/IP协议网络,Socket编程可以实现基于TCP/IP协议的网络通信功能,通过Socket接口通信技术实现客户端和服务器之间数据流发送和接收功能[6],其工作原理如图1所示。

图1 Socket工作原理

1.2 系统网络架构

实验实训中心一般设在教务处中,或独立为部门。根据高校实验室网络管理,实验实训中心和教务处相关实验教学管理人员的办公场所与实验室属于半分离状态;各个实验室内部是都一个独立网段的局域网,学校各个办公场所和实验室又组成一个大的局域网即校园网,因此各级网络之间除财务处等个别科室外,一般都可以进行相互通信。系统整体包括教务监管服务端、教师端、学生端三大部分,教师端设计为两个角色既面向实验室学生又接受教务处管理;在实验室内由教师机承担主控Socket服务端,与实验室内所有学生机进行通信,获得学生上课行为并根据系统智能处理相关行为;同时在教务监理总服务端监听下,实验室教师机定时将学生上课行为汇总到教务端,对于异常行为的信息则立即发送到教务端,教务端根据该学生在不同实验室的学习行为进行统计分析,如异常行为次数过多则从教务处下达处罚通知至教师端,教师端再转发到学生端,其系统网络架构见图2。

图2 系统网络架构

如图2所示,本系统采用分层模块化结构设计,可以减轻教务服务器的负荷,减少网络拥塞,有利于系统的实施。

1.3 实验室教师机与学生机的通信设计

Socket在不同主机的相关进程之间的进行数据交换,其构造函数有两个参数,第一个参数是IP地址即依照TCP/IP协议要连接的目标服务端计算机的IP地址;第二个参数是端口号即服务端计算机上提供通讯服务的端口号且该端口号在通讯前必须要分配一个没有被访问的;只有满足这两个参数才可能进行连接,建立两个进程间的通讯链路[3]。同一实验室内教师机和学生机的网络布局都会设计为同一网段的局域网,教师机IP地址一般都是固定的,作为服务端进行监控学生计算机,而学生机的IP地址相对比较不固定,作为客户端连接没有影响。教师机与学生机的Socket通信设计如图3所示。

实验室上课时,教师机作为Socket通信的服务端,首先建立Socket()把IP地址和端口号进行绑定并启动监听,同时根据实验室教师规模设置本实验室服务端的请求队列长度和实验室网段规则,用于限制其它实验室学生机不正常的连接。学生机和教师机建立连接后,学生机就可以将本机上课操作行为发送到教师机,教师机接受学生信息后系统根据异常行为判断,如学生存在不正常行为将给予警告,并记录学生的异常行为,严重者教务处介入监管。实验室下课时,关闭计算机时自动关闭Socket所有连接。

图3 教师机与学生机的通信设计

2 系统软件设计

本系统是基于Visual Studio 2010开发平台,采用C#编程语言,实现Socket三级管理;将实验室教师和教务监管人员联合管理学生上课行为,纠正不良学风,通过异常行为检测和智能消息提醒辅助提升学习质量,采用进程伪装技术防止学生逃离监控范围。

2.1 异常行为处理

系统对异常行为进行分类,并预设了各种行为表现和相应的处理机制,学生在实验室上课过程中系统会实时登记学生上课行为,并根据学生行为进行相关处理。计算机当前各种操作都会记录到系统进程中,每个进程都对应某一种应用[7],通过监视系统进程可以获取学生当前操作的应用程序。其中打开网页操作所对应的系统进程比较特殊,在系统进程中只能获取其是否打开网页的进程,而浏览的网址是否合法还需要在网页进程中挖掘,获得网址步骤为:

(1)导入user32.dll,并设计枚举单元

public enumSendMessageTimeoutFlags:uint

{

SMTO_NORMAL = 0x0000,

SMTO_BLOCK = 0x0001,

SMTO_ABORTIFHUNG = 0x0002,

SMTO_NOTIMEOUTIFNOTHUNG = 0x0008

}

(2)通过FindWindow(″IEFrame″, null)获得当前处理IE浏览器窗口类名和窗口名称匹配指定的字符串ip;

(3)然后在字符串ip基础上调用FindWindowEx(ip,IntPtr.Zero,″WorkerW″, null)获得第一激活窗口字符串;

(4)最后通过SendMessageTimeout()调用窗口程序,并返回当前IE浏览器的网址。

将以上4个步骤整合成函数getCurrentURL(),方便程序调用并获得当前IE浏览器的网址,具体收集学生上课行为程序如下:

System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcesses();

//要发送的消息,格式为:“进程名称||句柄||进程标识”

string[] msg = new string[p.Length];

for (int i = 0; i

if (p[i].ProcessName == ″iexplore″)msg[i] = p[i].ProcessName + ″||″ + ″当前打开网页″+ ″||″ + getCurrentURL();

else

msg[i] = p[i].ProcessName + ″||″ + p[i].Handle.ToString() + ″||″ + p[i].Id.ToString();

//将本机进程信息发送到服务端

sendData(socket,msg);

2.2 智能处理

教师机接受到学生的上课行为信息,系统根据行为库将学生上课行为按不同等级进行划分,进行相关处理,如警告信息提示、远程强制关闭、上报教务处等,具体行为库维护如图4所示。

图4 行为库维护界面

行为库的健全直接影响本系统的智能程度,当计算机出现进程在行为库中不匹配时,系统会智能检测学生机CPU、内存使用率。当该学生机的CPU、内存使用率连续比较长时间处于较高状态,系统会将该进程列为C类警告,并发送消息提示学生注意上课。系统管理员定期检查C类警告进程,根据该进程对上课影响程度调整警告等级和设置相关处理办法。学生在上课过程中可能需要通过网页查询资料,在行为库中只能检测到学生是否打开网页而具体打开网址是否符合上课要求,则需要在行为库中对网址合法化进行维护。互联网的网站很多,维护比较麻烦,系统提供智能的处理方式,通过网站打开次数和时长判定该网站是否介入审查,当教师或教务管理人员审查后对该网站进行评定行为等级。学生在上课过程中发现计算机被监控,可能会玩手机或进行其它与计算机无关的操作等,此时系统会智能判定学生机是否出现不作为的情况。当CPU、内存使用率在一定时间段处于基本不变或较长时间网络处于监测之外则视为学生上课不作为,系统登记后自动发送消息对学生机。

当系统检测到学生的异常行为,系统会自动调用警告函数sendWarning(″10.2.22.18″,“警告:林兴杰同学上课玩游戏已被登记,请立即关闭游戏!”);学生机弹出如图5提示框。如果系统警告3次及以上仍不改正,系统将调用函数killProcess(“10.2.7.33”,pID,pHandle,“关闭:陈超同学已经警告三次仍然继续玩游戏,系统将强制关闭!”);进行远程关闭学生机。

图5 警告消息提示界面

2.3 智能伪装

实验室智能控制系统可以减少学生玩游戏、看电影等现象,但有些学生就会尝试摆脱监控,在上课时断开网络或结束实验室智能控制系统的进程。当正常网络断开3分钟以上,教师机会出现未正常连接的提示信息,同时系统会调用网络ping命令,如网络连接正常则表示学生结束了系统控制进程,此时通过教师机远程启动该控制系统。为了使保护控制系统的进程不被发现,可采用进程伪装为操作系统内部进程,如:svchost,system,rundll32等[8]。经过伪装的进程,看起来就像正常的系统进程,不易被察觉,但在系统更新时要分别进行。

进程保护不允许计算机用户强制结束任务或关闭进程,以达到应用程序或服务稳定运行。进程伪装方法结合进程保护技术,其保护效果将会更好,一方面可以保护自身不被恶意软件破坏,另一方面系统安全防护软件不易检测出来[9]。

2.4 智能监管

为了加强教务管理,教务部门会定期抽查或巡视课堂,但教室、学生数多且巡视会影响课堂教学,这给教务监管带来不少麻烦,基于Socket的实验室智能控制系统可以辅助教务部门监管教学,实现智能管理。系统从各实验室教师机接收学生上课行为,每个月统计各个实验室上课情况,对学生行为进行综合分析,将学生上课情况定期生成实验教学质量检查报告,并分发至辅导员,对经常玩游戏、看电影、旷课等现象的学生进行批评处理。经教务智能监管后,学生上课异常行为明显减少,尤其是玩游戏、看电影等明显减少,但旷课改进比较小,如图6所示(数据以出现警告信息人次进行统计)。

图6 异常行为变化(按月统计)

系统按学期统计出各个学生上课各种行为,一方面为批评和指正学生提供依据,另一方面也能警示教师维护好上课课堂秩序。优差学生上课行为的对比如图7所示,教师实验教学课堂行为控制区别如图8所示。

图7 优差学生上课行为对比

图8 教师实验教学课堂行为控制区别

3 结论

基于Socket的实验室智能控制系统一方面能及时提示学生上课避免出现异常行为,并进行纠正;另一方面也能督促教师提高实验教学课堂控制。同时对于位置固定的计算机经常出现网络不能正常连接,则能提示实验室管理人员进行检测和维修,保证网络正常工作。从两个学期实验上课行为观察,学生异常行为有一定的改善。但系统智能控制主要基于行为库,而行为库的完善程度直接影响系统的智能程度。这也加大了系统维护的工作量,且需进一步提升系统的自我维护的智能程度。另外,游戏应用层出不穷尤其是网页游戏,难以有效监控。运行基于Socket的实验室智能控制系统后,确实能明显降低学生玩游戏、看电影等现象,有效提升实验教学质量,从技术上为教务部门监控实验教学提供新的手段,该方案具有一定的推广价值。

[1]刘宣春.湖南高校图书馆人力资源管理现状调查与分析[J].高校图书馆工作,2008,28(6):50.

[2]陈雅,徐省华.高校计算机实验室设备及实验教学管理现状的调查与分析[J].实验技术与管理,2010,48(10):191.

[3]郭玉芝.基于Socket的实验室教师机远程控制系统的设计与研究[D].中国海洋大学,2011.7.

[4]康冰,赵宏伟,任丽莉. 网络控制系统建模方法综述[J].吉林大学学报(信息科学版),2006,24(1):42.

[5]蒋漪涟.Windows服务器性能监控的设计与实现[J].微型电脑应用,2010,26(9):22.

[6]陈争光,杨雪松.系统进程监视及保护系统的实现[J].自动化技术与应用,2008,27(2):64.

[7]Alsagoff S N.Malware self protection mechanism[C].International Symposium on Information Technology.Malaysia:Kuala Lumpur,2008.1.

[8]蓝智灵,宋宇波,唐磊.基于直接内核对象操作的进程伪装保护方法[J].东南大学学报(自然科学版),2013,59(1):24.

(责任编辑胡安娜)

The Research of Laboratory Intelligence Control System Based on Socket

LU Minrong

(Jiangxia University,Fuzhou,Fujian 350003, China)

Nowadays, most of the experiments in colleges and universities are conducted by computers. However, some of the students tend to play video games,see online movies,access various kinds of websites while having experiment classes. Therefore the laboratory intelligence control system based on socket was proposed in this paper in order to reduce the amount of students doing other things except experiments. This system could not only supervised the terminals of students but also collected information of students’ operations on computers, such as seeing online movies,disconnecting the internet in order to free from monitoring by the system. All this information would be sent to the system used by the administrators of laboratories, who could shut down these processes.

socket, multithreading, experiment teaching, teaching affairs monitoring,intelligence control

2014-6-16

卢民荣(1981-),男,福建漳州,硕士,讲师、工程师,研究方向为实时计算机应用、虚拟仿真和数据挖掘。Email:luminrong163@163.com。

TP 311

A

1674-9545(2014)04-0029-(05)

猜你喜欢

学生上课教务进程
教务排课对高等院校教学运行的作用分析
债券市场对外开放的进程与展望
改革开放进程中的国际收支统计
浅析高校教务管理存在的问题及对策
浅谈新形势下高校教务管理人员的素质与培养
以培养方案为核心的教务管理系统开发的探索与实践
谁打我
积极发言
学生上课好习惯养成的探讨
社会进程中的新闻学探寻