石皓天,高 岭,杨建锋
(1.西北大学 信息科学与技术学院,陕西 西安 710127;
2.西北大学 现代教育技术中心,陕西 西安 710069)
基于B/S模式的研究生教学科研平台的设计与实现*
石皓天1,高 岭1,杨建锋2
(1.西北大学 信息科学与技术学院,陕西 西安 710127;
2.西北大学 现代教育技术中心,陕西 西安 710069)
近年来,研究生逐年扩招导致学生和导师之间比例不断扩大,各高校为应对城市的快速发展在多个校区同时开展了教学工作。如何高效率、跨地域指导研究生成为了目前研究生教育中的一个重要问题。针对这个问题本文提出了一种基于B/S架构下的研究生教学科研平台,并对平台的设计、开发过程及实现的关键技术做了详细阐述,为研究生的管理与教学提供了一种信息化、低成本的实现途径。
研究生教育;B/S;教学科研平台;LAMP
研究生教育是我国教育的一个重要组成部分,对于我国现代化建设和发展有着十分重要的意义。近几年随着高校研究生数量规模的日益扩大,学生和老师比例逐渐增大,传统的研究生指导管理模式已经逐渐不能满足当今的教育需求。根据这个情况,本文在基于B/S网络架构相关技术研究的基础上,结合研究生教学现状对研究生教学科研平台进行了详细的设计,并使用LAMP技术完成了研究生教学科研平台的开发与实现。
研究生教育主要包括导师对研究生的教学与管理以及研究生之间的学术交流,因此研究生教学平台的设计也是基于这两点入手的。该平台是结合校园现有的网络环境搭建的网络平台,是一个融博客、论坛、研究生教学以及项目管理工具于一体的研究生教学互动平台。该平台着眼于记录研究生在校期间学习、生活等方面的点滴历程,方便导师与研究生互动教学,为导师和研究生之间的沟通以及研究生教学管理提供一个方便快捷的网络平台。如图1所示为平台功能图,平台主要包括个人主页、项目成果、资源共享、论坛交流这四个功能模块。
个人主页模块具有个人项目管理、文章管理、短信息平台、个人相册以及好友管理这五项子模块,该平台是以个人主页模块为核心搭建起来。个人项目管理功能主要包括对于自己所参与项目的管理。用户通过项目管理平台实现对于自己所参与项目的操作。文章管理是方便用户通过这个模块发表日志记录个人在校生活和学习经历。短信息发布平台主要用于用户之间的实时通信,方便用户之间跨地域的通信交流。个人相册是用于用户上传个人在校生活和学习照片的模块。好友管理包括添加好友、好友管理等功能。
项目成果模块主要用于展示各个院系所有导师项目。通过这个模块可以有效了解各院系的项目信息,以便了解整个学校的科研情况。
资源共享主要是该平台用户用于上传下载学习资料的功能模块。该模块的主要应用目的是提供给用户分享下载各种学习资料包括电子书、视频以及音频。
论坛交流模块主要分为公共论坛模块和项目交流模块。公共论坛模块主要用于平台用户交流学术。项目交流模块是项目成员讨论项目开发的应用模块。平台效果截图如图2所示。
研究生教学平台运行在基于B/S模式的Internet网络环境中。所谓B/S模式即服务器/浏览器模式。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B/S结构的网络应用,以及Internet/Intranet模式下的数据库应用,相对易于把握,成本也是较低的。它是一次到位的开发,能实现不同的人员从不同的地点以不同的接入方式(比如LAN、WAN、Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
LAMP(Linux+Apache+MySQL+PHP)Web应用组合是本文设计系统的软件架构。其中Linux作为服务端的操作系统,是一种运行速度快捷和安全的开源操作系统。[1]在Linux上运行的服务器软件为Apache服务器,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。PHP是开发该系统的脚本语言,与其相配的数据库系统为MySQL数据库系统,具有低成本、高性能、易移植等特点。[2]这个组合由于经常被一起使用,拥有了越来越高的兼容性,共同形成了一个强大的Web应用平台。
根据系统的功能设计,该平台的核心数据库主要的表和表结构如下:
1.项目表
项目表(cetc_projects)是平台项目管理中的核心数据表。具体结构如表1所示。
表1 平台项目表
在项目管理中还包括 cetc_group、cetc_group_stu、cetc_task、cetc_project_file这四个表共同完成该功能。cetc_group主要用于存储项目中项目组的所有信息,包括项目组名称、项目组相关介绍以及项目组所属项目。cetc_group_stu主要用于存储学生和项目组之间的关系,包括学生用户的ID和项目组ID,主要实现了学生与项目组之间多对多的关系。cetc_task主要用于存储项目下任务的所有信息,包括任务名称、任务内容、任务所属项目组。导师通过对项目组发送任务到每个项目组成员,项目组成员通过个人项目管理模块查看是否有新任务。cetc_project_file主要用于存储项目下文档资料的所有信息,包括文档名称、上传时间、上传人、文档类型以及所属项目,实现了平台项目管理中文档资料的存储,所有参与项目的导师和学生都可以下载上传属于该项目的文档资料。这些数据表关系如图3所示。
2.用户列表
用户表是从数据库读出的主要信息数据表,此表是本系统的核心数据表。具体表结构如表2、3所示。
要实现研究生教学科研平台,核心就是能够灵活地分配权限以及实现SNS社会网络,以下就主要介绍该平台中这两个核心功能模块的实现。
1.平台的访问控制
访问控制(access control)又称为安全访问,是指平台能够对资源的访问(包括对资源的各种操作、使用)进行控制,保证只有对资源拥有访问权限的主体才能访问资源。实施访问控制主要包括三个对象集:主体、客体、安全访问策略。[3]访问控制的实质是通过安全访问规则限制访问主体对客体的访问权限,从而使其在合法范围内使用。该平台所实现的访问控制是上世纪90年代所提出的基于角色的访问控制RBAC技术。RBAC的基本元素如下:
(1)用户:一个独立访问的平台资源的主体。用户一般指的是使用平台的人。
(2)角色:角色的概念源于实际工作中代表处理日常事务权利的职务,角色与组织中的岗位相对应。
(3)权限:表示对系统中的客体进行访问的操作许可。
(4)角色分配和权限分配:角色分配是指为用户在平台中添加实际角色,权限分配是指根据角色职责范围获得访问资源的权限。
用户角色管理包含了对用户的管理和角色管理。管理员通过角色管理模块为用户添加相应的角色。这个平台分为了三种角色:系统管理员、导师、学生。
页面模块控制访问主要是指页面访问权限,通过建立角色和页面的对应关系并控制对用户是否可见来实现用户权限管理。在本文所提出的是基于“用户-角色-页面模块”的用户控制访问方法,页面模块作为权限配置的基本单位,根据平台的实际应用需要,平台从以下几个方面来管理用户对于页面模块的访问控制:
1)用户登录身份识别:用户通过自己的用户名和密码登录时,平台会对用户名和密码进行验证以确定用户的合法化。如果为非法用户则取消登录资格;如果是合法用户则将用户的信息包括用户基本信息以及用户相关角色信息放入Session变量中。
表2 教师用户表(cetc_teachers)
表3 学生用户表(cetc_students)
2)获取系统菜单:不同角色的用户,对于平台的页面模块具有不同的访问权限。在用户进入平台后,根据用户所属的角色信息获取到可以访问的页面模块,从而自动生成相应的页面模块。权限流程图和实现图如图4、5所示。
从图4、图5可以看出管理设置用户权限时,通过用户页面关系表(cetc_role_menu_relationship)来存储用户操作页面的权限,当用户点击某个页面时就会获得该数据库表中的信息来确定用户是否拥有该页面的权限。
根据系统设计目标对于导师和研究生赋予了不同的页面模块权限。这样实现了这个系统对于用户管理的多样化,从而保护了数据库的安全和有效性。
2.SNS社会化网络服务
SNS(Social Networking Service),即社会化网络服务也可以简称为“社会化网络”,旨在帮助人们建立社会化网络服务的互联网应用[4],将个人空间和网络上的社会交往集合为一体。本文中所提出的基于SNS社会化网络服务为高校研究生、导师提供日志、短信息、相册等丰富的社会化网络服务,使用户在不断交流、协作中分享社会化网络学习过程。
在本文讨论的社会化网络系统中主要包括七个元素:身份,分享,会话,群组,声誉,关系,状态。身份是用户在平台中的核心,用户在该平台中任何活动都与身份相关。本平台主要包括导师和研究生两种身份并且在该平台中用户采用实名制网络注册。当用户在该平台注册后,由系统管理员对用户身份进行核实。分享是平台中所有用户之间分享例如视频音频等学习资料。在本平台中所有用户都可以上传下载学习资源,这里学习资源主要包括电子书籍、视频、音频。对于属于某个项目的用户,该用户还可以下载自己所参与项目的文档或者资料。会话是指用户之间的交流。在本平台中这种交流主要是使用短信息的方式实现。群组是平台中把相同兴趣的用户组织在一起的方式。在本平台中群组包括两个方面:一个方面是由导师添加学生作为自己所管理研究生的大群组;另一个方面是在导师所建立项目中属于同一项目组的研究生用户群组。声誉是对于用户级别的定义。在本平台中用户级别主要由用户上传学习共享资料的数量而定。由上传资料数量而确定用户级别主要是为了提高用户上传学习共享资料的积极性。关系是用户之间社会化网络联系的体现。这种关系主要是指好友关系,群组关系。在本平台中,导师用户的关系包括他与学生的师生关系和好友关系以及与其他导师的同事关系。学生用户的关系包括与其他学生的好友关系和与其导师的师生关系。用户可以通过添加好友及时了解好友目前的学习生活状态。状态通常表示在线或者离线,也可以表达更详尽的信息。在本平台中主要是指在线或离线状态。通过正常登录或下线的方式来改变用户的状态。SNS社会化网络服务元素如图6所示。
除此之外,研究生教学平台使用了数据库分页技术保证页面显示的正常,在个人信息数据库管理中,用户密码采用MD5加密方式,即使数据库管理员也无法获得用户密码,从而保证了用户账号安全。
本文对用户访问控制和SNS社会化网络服务在研究生教学科研平台中的应用做了详细阐述,并且通过网络来实现导师对研究生的教学指导以及对研究生在校的虚拟社会做了初步的探讨和尝试。如何在校园网中建立更为有效的虚拟网络社会,促进研究生教学和管理中教师与学生、学生与学生之间的相互交流,还有待于进一步的研究。
[1](美)Richard Petersen.Linux完全参考手册(第六版)[M].北京:机械工业出版社,2009.
[2]姜林美.PHP+MySQL动态网站开发[M].北京:电子工业出版社,2008.
[3]路庭辉,文贵华.B/S结构下的用户控制访问方法[J].计算机工程与设计,2010,31(7):1433-1436.
[4]冯旭鹏.构建基于SNS的校际网络学习共同体初探[J].中国教育信息化,2010(9).
(编辑:金冉)
TP311.52
B
1673-8454(2011)11-0027-04
*项目支持:陕西省科技厅“13115科技创新项目”:文档数字化管理与资源共享平台,项目编号:2009FWPT-06;西北大学校内科研基金:面向搜索引擎的高校网站优化,基金号:ND0932;西北大学校内研制基金:教学资源平台的研究与设计;校内研究基金课题项目:研究生教学科研平台,项目编号:YC07075。