第一篇:教学资源共享平台设计与实现
教学资源共享平台设计与实现
摘要
随着多媒体信息技术和计算机网络技术的日益普及,网络教学作为教育的一种形式在世界范围内得到迅猛的发展,它突破传统教育过程在空间和时间上的限制,实现了教育资源在更大范围上的共享。网络教育资源建设是影响网络教育发展,保障网络教育质量的重要因素之一。怎样有效解决资源的网络共享问题,提高教学资源的可利用率,如何实现教学资源信息化的优化管理,充分发挥网络信息共享资源在高校教学中的作用等问题便成了每个高校迫切需要解决的问题。现在许多高校已经成功的搭建了自己的网络资源共享平台,有许多的成功经验,而作为新型高等本科院校,教学资源平台的建设还往往处于起步摸索阶段,因此有必要借鉴其它高校的成功经验,加快教学资源平台的建设,改善现存的资源共享访问瓶颈,为高校科研教学提供良好的资源服务。
通过创建交互式网页应用的网页开发技术手段,数据不再和页面以及网站混粘在一起,它独立了跟着用户走。在基于数据的应用中,用户需求的数据,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中。帮助用户即师生解决管理、维护、存储、分享内容,并且通过用户对资源的访问密集度来作出整个网络资源的分布调整计划,使系统网络资源平台的共享性得到充分的发挥。
[关键词] 资源共享
管理系统
存储分享系统
ABSTRACT
目录
一、前言...........................................................................................................................................4
二、需求分析.................................................................................................错误!未定义书签。
(一)、系统需求...................................................................................错误!未定义书签。
(二)、功能需求...................................................................................错误!未定义书签。
1.权限设置......................................................................................错误!未定义书签。
三、总体设计.................................................................................................错误!未定义书签。
(一)、基本设计概念和处理流程.......................................................错误!未定义书签。
(二)、系统层次模块图.......................................................................错误!未定义书签。
(三)、数据库设计...............................................................................错误!未定义书签。
1.数据库需求分析..........................................................................错误!未定义书签。
四、详细设计与设计.....................................................................................错误!未定义书签。
五、结论与体会.............................................................................................错误!未定义书签。参考文献.........................................................................................................错误!未定义书签。
教学资源共享平台设计与实现
一、前言
目前,大多数的校园网络平台是针对用户使用功能定制的,没有一个统一的校园网教学资源库的建设。教师在使用网络资源时,仍然需要到校园网以外的网上搜索资源,使得某些共享教学资源重复被搜索、下载,降低了他们的利用率。为了提高共享教学资源的利用率,建立一个规范、丰富、实用、可广泛共享的高校网络教学资源共享系统,已经成为亟待解决的问题。
第二篇:教学资源共享平台需求
题目要求:
通过该平台实现网上教学资源的共享。用户可以根据页面链接,实现搜索课程、浏览课程教学、下载课件、网上测试等功能。
需求功能:
登陆、注册、退出功能。
资源上传、下载。
提交作业,老师下载作业评分。统计作业。
搜索课程和资源。
浏览课程教学:浏览课程介绍、教学安排、考核方式等。
网上测试:分主观题、客观题,客观题系统自动给分,主观题答案提交到服务器,老师登陆后评分。
评论和讨论:对每一个资源可以评论。
友情链接:邮箱登陆、学校主页。
管理员:
学生管理:题库管理:生成试题、增加试题、删除试题;资源管理:删除资源、审核资源;用户管理:用户添加、用户删除;首页:首页显示未审核的资源
教师:首页;资源管理:下载、上传;作业统计:已提交作业名单及作业下载;密码修改;成绩管理:评判试卷、查看成绩单
管理员:
数据库设计:
表:学生、教师、管理员、主观题、客观题、资源、课程、评论、作业、成绩表。D
学生表:学号、姓名、性别、专业、登录密码、邮箱、密保问题、密保答案。教师:教师号、姓名、性别、职称、专业、头像目录、登录密码、邮箱、电话。管理员:管理员号、登录密码、姓名、性别、电话。
客观题:题号、题目、选项A、选项B、选项C、选项D、答案,分值。
填空题:题号、题目、答案(多空答案用分号隔开)。
主观题:题号、题目、答案,分值。
试卷表:试卷号、课程号、出题老师号、题目号字符串(用逗号隔开)。
资源:资源号、资源名、资源概述、上传时间、路径、上传者、课程号。
课程:课程号、课程名、授课老师姓名、课程概述、考核方式、教学安排。评论:评论号、资源号、评论者学号、评论内容。
作业:作业号、路径、课程号、学号。
成绩表:学号、课程号、成绩。
第三篇:《软件测试》教学平台的设计与实现(范文)
《软件测试》教学平台的设计与实现
摘要:《软件测试》教学平台目的在于为学生学习该课程提供一个较为全面的课程知识介绍、信息共享和知识考查的平台。首先对《软件测试》教学平台进行系统需求分析,其次针对系统需求进行系统架构设计,采用B/S架构设计系统,系统分为学生管理模块和教师管理模块,然后对系统进行详细设计与实现,应用C#语言和ASENET技术结合及SQL Server 2022数据库,设计并实现《软件测试》教学平台,最后对系统进行了测试。《软件测试》教学平台实现了学生在线考试,在线播放教学视频及下载,课件下载,在线留言,查看教学大纲,以及作业下载,作业提交,用户密码修改等功能。该平台为教师和学生提供一种全新的教与学方式。
关键词:软件测试;教学平台;浏览器/服务器;功能;数据库
中图分类号:TP315 文献标识码:A DOI:10.3969/j.issn.1003-6970.2022.05.004
本文著录格式:王庆喜,钟家民.《软件测试》教学平台的设计与实现[J].软件,2022,37(5):15-17
0.引言
二十一世纪信息产业的飞快发展推动着各行业的进步,越来越多的学校利用计算机网络技术进行相关的多媒体教学活动。为教师和学生提供高效快速沟通的平台,可以利用网络的即时性、开放性,教师可以把课程相关的教学资料发布到该平台供学生学习参考及下载,教师还可以在线发布作业,发布试题。通过学生的作业完成质量及考试结果了解学生在软件测试课程学习方面的不足,以便更好的帮助学生解决问题。学生可以在本系统进行在线考试,通过成绩反馈,充分认识自己的不足,还可以了解关于本课程学习的最新动态。与传统的方式相比,网上教学平台具有开放性的特点,它打破了地域和时间的限制,实时开放,再加之以必要的传统的方式,大大地提高教师的工作效率,既方便又快捷。系统采用ASENET技术开发,后台采用SQL Server数据库提供数据服务。
1.系统需求分析
本教学平台由后台管理和前台构成,是一个典型的B/S架构,后台管理即教师用户管理模块,主要提供对该教学平台前台内容的管理,这些内容包括课件、视频、试题、作业、通知等,前台即学生用户管理模块主要用于后台内容的显示及信息交互等操作。
1.学生用户模块需求
学生用户模块设计即前台模块设计,普通匿名用户在前台可以浏览通知公告,查看教学大纲,播放教学视频,浏览教学课件等,并可以注册为合法用户,在注册后登录系统,可以获得更多的权限,可以下载视频,下载课件,下载作业,作业提交,在线考试,以及进行当前用户密码资料的修改。
2.教师管理模块需求
教师管理模块主要用于教学相关信息的发布、更新和维护,以及对学生相关信息进行管理,实现对《软件测试》教学平台的管理。教师通过身份验证登录,进入后台管理。在后台管理模块中,教师可以添加学生用户、删除用户,可以发布课件,发布通知,发布教学视频,发布教学大纲,发布作业,发布试题等功能操作,并可对课件、通知、教学视频、教学大纲、作业、试题的信息进行维护管理,可以查询学生的考试成绩,回复学生的留言及留言管理,修改登录密码等。
2.系统总体设计
系统采用B/S模式,即由浏览器、WEB服务器、数据库服务器构成。系统为用户提供恰当清晰的使用界面,便捷的操作方式。用户可以直接在网上查看网站信息,系统分教师用户和学生用户角色,学生用户登录后可以下载相关教学资料、在线考试、在线留言等操作。教师用户登录后可发布相关教学资料,添加用户,回复学生留言等操作。
本系统主要由教师管理模块和学生用户管理模块两个大模块组成,各个模块的具体功能如下。
一、教师用户模块
1.用户管理:添加学生用户、管理学生用户。
2.课件管理:发布教学课件、课件资料管理。
3.通知管理:发布通知信息、查看通知、编辑通知、删除通知。
4.大纲管理:发布教学大纲、查看大纲、编辑大纲、删除大纲。
5.作业管理:发布作业、管理作业、查看学生提交作业情况。
6.试题管理:发布试题、查看修改试题、删除试题。
7.视频管理:发布教学视频、视频资料管理。
8.成绩查询:通过输人学生用户名查询学生的考试成绩。
9.教学互动:解答学生在学习中遇到的问题。
10.修改密码:登录之后可进行当前用户密码资料修改。
二、学生用户模块
1.用户注册:注册成为学生用户,以便能获得更多的信息和权限。
2.用户登录:通过身份验证,以学生的身份登录网站。
3.视频教程:播放相关教学视频、下载。
4.教学课件:在线浏览课件,下载教学课件。
5.作业下载:下载老师布置的作业。
6.作业提交:提交已完成的作业。
7.教学互动:学生在学习中遇到问题可留言向老师咨询。
8.在线考试:在线考试,查看成绩。
9.查看大纲:预览各章节教学大纲,以便更好的学习该课程。
10.查看通知:查看教学通知。
11.修改密码:登录之后可进行当前用户密码资料修改。
3.系统设计与实现
3.1系统登录模块设计
系统登录模块是学生用户,教师用户登录系统进入相应操作界面的入口,其位于系统首页导航栏下方的左边,用户输入用户名和密码,选择身份(学生或者教师),点击“登录”后经验证即可进入相应角色的界面。
登录模块主要是身份的验证,对学生用户或者是教师管理的行为都有一定的安全性控制,其主要功能是验证用户是否合法,用户登录模块页面主要由用于收集登录信息的前台表单部分,点击相应按钮后触发事件通过后台来验证相应的信息。
3.2注册界面设计
用户注册界面是针对还没有账号但是想学习课程相关信息的人员,注册人只需要填写用户名,姓名,密码,确认密码,选择性别,即可成为普通用户,其拥有和管理员初始添加的用户一样的权限,大大提高了信息共享,为想要学习软件测试的人们提供了一个全面并且专业的平台。
该注册界面采用比较常用的控件实现,采用textbox录入用户名,姓名,密码,文本框设置requiredfieldvalidator来约束其为必填项,性别采用DropDownList控件来实现,控制了输入选择,避免了不必要的输入错误,密码采用MD5散列算法直接转换为MD5编码进行比对,经验证后存储相应信息到数据库。
当用户输入相关信息点击“确定”注册时,后台根据数据库所存储的用户名判断当前用户输入的用户名是否重名,若重名则提示“该用户已存在”,并返回注册页面。若用户输入的信息合法,则将注册信息插入到数据库表,并提示用户注册成功。
3.3学生用户管理模块设计实现
学生用户管理模块主要针对学生用户,用于后台内容的显示及数据操作。主要包括视频教程、查看通知、作业提交、教学互动、在线考试、查看通知等9个子模块组成。其中部分子模块设计界面介绍如下。
1.视频教程界面设计
视频教程界面主要是给学生提供课程视频教程在线观看、下载等功能,用户不需要登录就可以在线观看视频,但需登录才可以下载视频。这里采用比较简单的SWF视频格式,无需在网页上添加播放控件即可播放,这在很大程度上降低了视频播放的实现难度。
视频教程界面信息显示主要使用DataGrid控件实现,首先,在Video.aspx页面中添加DataGrid控件,并将数据库表Video中相应的数据字段绑定到列中。并在其后台代码Video.aspx.es中添加数据库查询语句,将数据绑定到DataGrid控件。
2.教学互动界面设计
教学互动模块主要是给学生和老师之间提供交流沟通的平台,学生在学习过程中遇到疑问可以留言请求老师帮助,老师可以回复留言来解答学生的难题,这样师生之间的交流突破了必须面对面的限制,不仅方式灵活很多,而且节省了学生和教师的宝贵时间,更有利于教与学。
在教学互动界面中,使用DataList控件以表的形式呈现用户的留言内容,用户在线留言使用TextBox控件接收用户输入的文字信息。
3.在线考试界面设计
在线考试模块主要是给学生提供在线考试,考试题型为选择题,教师预先录入试题,形成试题库,学生登录后输入题目数量,系统随机生成试题呈现给考生,学生考试结束提交试题后跳转至成绩查询页面,输入用户名即可查询考试成绩。试题界面用DataGrid控件呈现试题内容,学生在考试过程中如果没有完成所选择的的试题量,系统不允许提交试题。
3.4教师用户管理模块设计实现
1.通知管理
通知管理由发布通知和通知信息维护两个子页面组成,发布通知页面用于教师发布教学通知信息,通知信息维护页面用于修改、查看等通知信息的维护。发布通知界面的设计主要是TextBox控件及Button控件的应用,设置TextBox组件及Button的相关属性,双击Button控件。
2.课件管理
课件管理包括发布课件和课件信息维护两部分,上传课件的格式可以为word、ppt、tXt、SWF四种,上传者需要添加课件标题和课件说明,系统会自动获取当前时间,点击确定添加课件,如果上传的格式不符合要求,会给出“对不起,请选择Word/ppt/swf/文本文件!”提示。
4.结论
本文以《软件测试》课程为切入点,通过对《软件测试》教学平台的需求分析,建立了一个在线教学平台,实现教学相关资料的发布、学生与老师留言交流、在线学习、在线考试等多功能的网络应用平台。探讨了基于ASENET技术,采用SQL Server2022数据库,在Browser/Server体系结构的基础上,结合C#等技术实现《软件测试》教学平台;详细介绍了系统数据库的结构与设计实现,及各功能模块的实现过程,并对系统进行了测试。
该平台的实现,为教师和学生提供一种全新的教与学方式,不仅增加了学生的学习途径,同时也提高了教师教学的工作效率。
第四篇:PLC一体化教学实验平台设计与实现
题目:
2022 PLC组态一体化教学实验平台
设计与实现
单位部室:阳煤职教中心实践教学部 专 业:机电一体化与自动控制 作 者:陈志鹏 指导教师:
年10月23日
PLC组态一体化教学实验平台设计与实现
摘要: 随着阳煤集团高产高效矿井的建设,矿井机电设备向着高电压、大功率、控制系统高科技方向发展,PLC在煤矿应用上越来越广泛,它的简化接线、性能可靠、事故率低、编程容易、控制多样等特点,为越来越多的工程师所喜欢,有着广阔的发展前景。同时PLC是一门实践性非常强的课程,实验环节至关重要。针对如何在低成本条件下进行PLC一体化教学,同时保证教学效果,提出了PLC电气控制系统设计与组态监控设计相结合的PLC一体化教学课程。实践表明,监控组态技术的应用可以大大提高学生的编程技巧和动手能力,丰富学生的工程实践经验,达到一体化教学的目的。
关键词:PLC ;一体化教学 ;教学实验平台 ;组态控制技术 PLC简介及它在煤矿生产方面的应用
PLC称作可编程逻辑控制器(Programmable Logic Controller,PLC),它主要用来代替继电器实现逻辑控制。随着技术的发展,这种采用微型计算机技术的工业控制装置的功能已经大大超过了逻辑控制的范围,因此,今天这种装置称作可编程控制器,简称PC。但是为了避免与个人计算机(Personal Computer)的简称混淆,所以将可编程序控制器简称PLC。PLC自1969年美国数据设备公司(DEC)研制出现,现行美国、日本、德国的可编程序控制器质量优良,功能强大。PLC主要特点有:
① 可靠性高,抗干扰能力强。② 配套齐全,功能完善,适用性强。③ 易学易用,深受工程技术人员欢迎。④ 系统的设计、建造工作量小,维护方便。⑤ 体积小,重量轻,能耗低,通用性强。
随着煤矿机械化程度的不断提升,PLC在实际生产中得到了广泛
PLC一体机 的应用。例如:主井箕斗提升就是利用了PLC控制系统实现了定量装载。地面主提升绞车均采用了双PLC加可控硅模块控制系统。煤矿井下采煤机、综掘机、主要扇风机、主排水泵等大型控制设备的核心元件均采用PLC,井下各种低压磁力启动器核心元件也逐步为PLC所代替。地面厂的数控机床等也已经采用了PLC控制,随着现代化管理水平的不断提高,PLC和组态软件的有效结合在煤矿生产领域中得到了越来越广泛的应用。
2 组态控制技术简介及应用
组态控制技术属于计算机控制技术,利用组态控制技术构成的计算机测控系统的原理框图所示可以看出它们是由传感器、下位机、上位机等几部分组成。虽然从结构上看与一般计算机测控系统
组态控制技术框图
基本相似,但是采用组态技术的计算机控制系统从硬件设计到软件开发都具有组态性,系统的可靠性和开发速度都得到了大幅度提高。通常认为,组态技术是计算机控制技术综合发展的结果,是技术成熟化的标志。在组态概念出现之前,要用计算机实现某一控制任务,都是通过编写程序(如使用 C等)来实现的。编写程序不但工作量大、周期长、而且可靠性差。组态控制技术的出现,解决了这个问题,对于过去需要几个月的工作,通过组态几天就可以完成。
目前,国内外许多自动化设备生产厂家,如德国西门子公司、日本三菱、台湾研华、中国时利和等,生产了众多供选择的工业标准机 箱、工业级元件、总线结构过程通道板卡、工控机接口模块等,为推广硬件组态奠定了基础。在软件设计上由于采用成熟的组态软件进 行系统设计,软件开发周期大大缩短了。组态软件是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,其予设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各硬件厂家的计算机和I/O设备,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软硬件的全部接口,进行系统集成。需要指出,组态软件不仅是组态控制技术中的重要组成部分,而且由于具有远程监控、数据采集、数据分析、过程控制等强大功能,在自动化系统中占据主力军的位置,逐渐成为工业自动化系统中的灵魂。实例介绍PLC一体化教学实验平台的设计与实现 下面用西门子公司的Step7 Pro(内部包含有模拟器PLCSIM)和WINCC组态软件来仿真PLC基础实验--机械手实验。
3.1软件准备与硬件连接
首先需要一台装好了Step7 Pro和 WINCC的计算机,然后准备一台型号为S7-200(300,400)的西门子PLC。S7-200的编程口通过一条通信电缆(PC/PPI)与计算机的USB通信口连接,这样就可以在计算机上进行编程和监控了。
编程下载
仿真模拟
3.2 控制要求及I/O分配
机械手最开始处于左上端(左限位行程开关处于动作状态)。运行过程为:下将YV2--夹紧YV5--上升YV1--右移YV4--下将YV2--放松YV5上升YV1向左返回初始位置。自动控制:按下自动控制的起动按钮,机械手运行上述控制过程。按下停止时,机械手必须运行完当前周期停在初始位置。
I/O分配
梯形图
打开Step7 Pro根据控制要求进行程序的梯形图的编制,程序通过编译后下载到PLC中。下载完成后,关闭Step7 Pro,打开WINCC进行组态设计。
3.3 WINCC组态设计
利用WINCC组态软件建立监控系统,在工作台实时数据库中建立 对应的变量,都为开关型。然后设置好组态软件与PLC的串口通信方式。至此,已经将组态软件中的变量与外部PLC设备的端子进行连接,当PLC的输入、输出继电器状态发生变化时,将直接反映到组态软件的变量。最后建立监控画面模拟机械手实际工作情况。WINCC组态软件内部提供基本绘图工具,同时提供了丰富的元件库,用于画较复杂但常用的元件图形,如电机、阀门等。利用这些元件进行组态,可建立监控画面。对于各个元件对应设置相应的动画连接。监控画面中指示灯分别用颜色的变化指示机械手的工作状态,即当放下物体时,下移指示灯为绿色,否则显示红色,其它灯工作情况相似。接下来将元件的动作与变量的变化进行动画连接,即可利用监控画面控制机械手的动作情况。当没有实际装置时,通过监控画面可以让学生有实际操作的感受,从而增加工程实践的经验。
组态软件最突出的特点就是实时多任务。其用户是自动化工程设计人员,目的就是让用户迅速开发出适合自己需要的可靠的应用系统。典型应用实例如图。
I/O分配流程图
梯形图
传统PLC实训课与组态一体化教学
传统PLC实训课的被控对象多为工业设备,一般都有体积大、质量大、价格高等特点,很难在实验室配备。为了尽可能模拟被控对象,使缺乏实际知识的学生增加感性认识,许多学校在PLC实验室安装了模拟盘,如十字路口交通灯模拟盘、洗衣机模拟盘等,实验相应内容时,将PLC输入端/输出端连接到模拟盘对应的发光二极管上。这种模拟盘方法,一则限制了实验内容,二则不形象,不直观,三则连线很多,耽误时间。实践证明,教学效果并不理想。但是,即使这种模拟盘,在阳煤职教中心实践部微机控制实验室中也只有两套。从一体化教学角度上讲,这种配置远远不能满足为学生开设实验课的需要。另外,随着申办示范校工作的深入展开,PLC实验室也有扩充和更新的必要。如果仍然采用模拟盘方式,不仅占地大、花钱多,而且随着PLC实验内容的不断更新,模拟盘方式也会很快落后,最后被淘汰。
既然的PLC被控对象多为工业设备和机械,那么就给PLC实训课带来一个问题:采用真实被控对象既不现实,也不安全;没有被控对象模型,既不便学生理解实验内容,也很难激发学生的学习兴趣。将可编程控制器技术与组态软件有机结合,能为PLC的实训课教学提供一条新的途径。利用组态软件全真模拟PLC的被控对象,学生不需要实物而仅通过微机的显示器就可检验所编程序的正确与否和执行结果,这给师生双方都提供了很大方便。结束语
从教学意义上来说,用计算机组态全真模拟被控对象,不但可以
克服采用真实被控对象的缺点,而且可以用有限的设备、低廉的成本、多样化的程序,来丰富学生的实验课内容,大大增强PLC实验课的教学效果,形成理论、仿真、实践三位一体的教学模式,达到一体化教学的目的。
参考文献: [1] 林小峰.可编程控制器原理及应用[M].北京:高等教育出版社,1994.[2] 田瑞庭.可编程控制器应用技术[M].北京:机械工业出版社,1994.[3] 张万忠.可编程控制器应用技术[M].北京:化学工业出版社,2022.[4] 梁冠英,等.PLC在矿井提升信号系统中的应用[J].煤炭技术,2022.[5] 袁秀英 组态控制技术[1] 北京:电子工业出版社。
[6] 严盈富 监控组态软件与PLC入门[1]北京:人民邮电出版社。
[7] 周美兰,周封,王岳宇 电气控制与组态设计[1]北京:科学出版社。
第五篇:基于FTP的教学资源管理平台设计与实现(模版)
基于FTP的教学资源管理平台设计与实现
摘要:在现代教学过程中,师生之间经常需要交流大量的文件,如课件,作业等。传统的文件交流方式,如电子邮件,网站,专用软件,FTP等形式都有各自的缺点,效果不够理想。本文探讨改进基于FTP的教学资源管理平台,主要包括使用第三方软件搭建FTP服务器,使用ASP.Net编写的平台对用户帐户和发布的资源进行管理,以及使用VPN技术让校园外网用户访问校内的FTP服务。
关键字:FTP,教学资源,Serv-U
一、校园教学资源管理现状
在现代教学过程中,师生之间经常需要交流大量的教学资料:教师向学生发布的课件、教案、作业、习题、课程相关素材以及课外学习资料;而学生也需要向教师提交课堂练习、课后作业、实验报告等材料。目前,这个过程主要通过以下几种方式进行:
1、电子邮件:学生交作业时最常用。主要缺点:不易确认是否送达;容易出现重复邮件;不适合大文件传送。
2、HTTP方式:在建设精品课程时最为常见。主要缺点:需要事先准备网站并上传资源;一般只用于下载。
3、局域网内的C/S程序:各种机房教学软件一般自带作业收发功能。缺点:必需在同一机房内才能进行;容易出现数据包丢失,导致传送的文件损坏。
4、FTP方式:师生可快速上传和下载各种教学文件。而FTP的部署有很多选择,如Windows系统自带的组件、Serv-U、Home FTP Server和Gene6 FTP Server等。不足之处:需要配置大量帐户,否则管理困难。
二、部署基于FTP的教学资源站
1、选择部署FTP服务器的软件,需要满足以下要求软件:
1)可以配置足够多的用户帐户;
2)能够对各用户帐户进行配置,如主目录、文件访问权限、传输速度控制、限定用户可使用的磁盘空间大小等;
3)能够灵活地配置虚拟目录,使得当用户被隔离在自己的专用目录中的同时,还能够便捷地访问一部分存放其它文件夹中的公共资源,如教师发布的课件;
4)可以将用户分组进行管理,如:以班级为单位分组,然后统一配置权限;
5)能将用户及配置信息以数据库的形式保存和调用,方便我们对FTP站点的管理;
满足以上条件的FTP服务器软件有很多,即有收费的,也有免费的;其中,应用较为广泛,各类参考资料较多的是Rob Beckers公司开发的收费软件,Serv-U。这个软件目前的最高版本为11.x。
2、在Serv-U中创建域并配置数据库
Serv-U在安装完成后,先要添加一个域,然后为域指定侦听端口(默认21),接着是用户管理。用户相关的信息默认存放在工作目录中的配置文件里。为了方便管理和二次开发,我们在Windows中配置好使用SQL数据库的ODBC数据源,然后指定Serv-U使用这个ODBC数据源。
3、Serv-U的用户管理
创建域之后,首先应该先按照本单位的组织结构及角色分类创建相应的群组,如系部组、班级组、教师组、学生组等。其次是添加用户信息,主要有以下步骤:
1)为每个用户(学生、老师)创建一个帐户并设置“允许用户修改密码”;为了方便管理,帐户名通常为学号和工号;
2)设定用户的主目录和目录权限;通常用户在自己的主目录里有完整的权限(读、写、重命名、删除、创建子目录);
3)设定用户的磁盘配额(可以使用的磁盘空间大小)及文件传输时的速率(上行/下载);
4)将用户加入对应的群组,根据之前步骤创建的群组,5)设置用户密码并下发;以下是两种密码下发和管理的思路:
①Serv-U 11.X版在用户的WEB登陆界面中提供了“找回密码”功能,在配置好SMTP服务后,用户随时可通过自己的帐号和预设的邮箱重设自己的密码。
②采用Vs2022自行设计一个.net站点提供用户管理功能,使用Linq技术实现数据库的增删改查的操作。
应当注意的是,Serv-U的数据库中的用户密码是加密存储的,公式为: 存储密码= xy MD5加密(xy 用户密码)
其中,xy为两个随机生成的小写字母。参考代码如下:
private string Encode(string strUserPsw){ //此方法将用户输入的密码加密为Serv-U的密码存储格式
Random R = new Random();string Head =((char)(97 R.Next(25))).ToString() ((char)(97 R.Next(25))).ToString();string UserPassword = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Head strUserPsw, “MD5”);return Head UserPassword;} private bool CheckPassWord(string PswFromInput, string PswFromDB){ //此方法比较用户输入的密码与数据库中记录的密码是否一致
string Head = PswFromDB.Substring(0, 2);//Head=数据库中记录的用户密码前两位
string ePawFormInput = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Head PswFromInput, “MD5”);//将 Head 用户输入密码 进行MD5加密
return ePawFormInput==PswFromDB;}
4、虚拟目录和用户群组
虚拟目录是我们选择Ser-U的一个重要原因。我们的平台要求每个用户在使用前必需先登录,并锁定用户在各自独立的主目录内,这时若需要用户能够访问到一些在他们主目录之外的资源,就需要使用虚拟目录了。添加虚拟目录后,还需要对相关的用户群组设置目录权限。具体过程举例如下:
①假设整个FTP站点的工作目录为K:jtFTP;
②在站点工作目录下建立两个子目录:Teachers和Students,分别用于存放教师帐户和学生帐户对应的主目录;如教师帐户t0016对应的主目录是K:jtFTPTeachert0016;
③教师t0016需要向09软件班发布课堂练习素材时,先将文件上传到自己的FTP主目录的一个子目录(share)中,然后在当前FTP域内建立虚拟目录,主要包括:
物理路径: K:jtFTPTeachert0016share;
映射到: %HOME%(这是一个系统变量,指代用户的主目录); 虚拟名称: 张老师_课堂练习_0301;
④虚拟目录建立后,给对应的用户群组(09软件班)添加share目录的读取和列表权限;如果没有指定权限,学生的主目录中不会出现上一步骤中建立的虚拟目录;
⑤此班级学生登录FTP后,将在自己的主目录中看到一个新的子目录(张老师_课堂练习_0301),目录中的内容可以下载,但无法删除和修改;
⑥当需要学生提交作业时,教师t0016在自己的主目录新建一个子目录(stuWork),并确保这个子目录内已经为每个学生建立了一个与学生帐户同名的文件夹,然后在当前FTP域内建立虚拟目录,主要包括:
物理路径: 教师主目录stuWork20220301%user%;(%user%变量指代用户帐户,如学生s010901091访问的这个虚拟目录其物理路径为“20220301s010901091”) 映射到: %HOME%;
虚拟名称: 交作业0301;
⑦虚拟目录建立后,给班群组添加“教师主目录 stuWork 20220301”完整文件权限;
⑧此时学生的主目录中将出现名为“交作业0301”的新文件夹,学生可以在此目录内随时提交和修改文件;同时每个学生在此虚拟目录中的操作都是相对独立的,不会互相影响。
学生登录后的虚拟目录示意图,对用户来说和普通目录没有什么区别
⑨教师可以使用FlashFxp等FTP客户端工具将位于自己主目录下的作业目录快速地复制下来。
上述教师建立虚拟目录的过程可以通过自编写WEB站点来实现。教师只需要在WEB站点中填写新建虚拟目录的名称,选择对应的班级群组和权限即可;站点界面参考如下。
三、让外网用户访问FTP服务器
校园内网通常都会部署防火墙,如果想让外网访问内网的服务,一般需要在防火墙上开放一个对应的端口。
FTP服务工作时通常使用的是Pasv模式。这个模式一般需要两个连接。一个固定的侦听端口(默认为21),一个连接用的端口。当客户端向服务器进行连接时,服务器会在预先指定的端口范围中选中一个(如4068)并打开,然后告知客户端,客户端收到消息后,向服务端的这个端口发起连接,连接成功后才可以正常使用FTP服务。因此,同时在线的用户越多,开启的新端口就越多。如果要允许用户在外网直接以FTP方式访问,则需要在防火墙上开启一系列的端口,增加安全隐患。
目前比较常用的解决方法是通过VPN进行访问:校园内网的防火墙上只开启VPN服务;外网用户首先通过VPN拨号进入内网,然后就可以像在内网中一样正常使用内网服务了。至于VPN服务的部署有很多种方式,可以使用专门的VPN服务器,在防火墙开放VPN服务相关的几个端口;也可使用自带VPN服务的防火墙,如fortigate 1000A。
另外,Serv-U 11.X版本中提供的以WEB形式访问FTP的功能为我们提供了一个新的解决方案:只需要在防火墙上开放一个WEB服务的端口,用户就可以像浏览网站一样访问FTP上的资源了。