吕展鹏
(武汉科技大学 信息科学与工程学院,湖北 武汉 430081)
随着Internet的发展与普及,网络已经深深影响到人们学习、工作、生活等各个方面,各种自主学习平台纷纷出现,然而网络资源的极大丰富也让人眼花缭乱,通过对现有自主学习平台[1]的考察,许多人在挑选资源上浪费了大量宝贵时间,更有许多人找不到合适的交流对象,致使学习者知识面狭隘,失去学习热情,所以提出一个减少挑选资源的时间的方案是十分必要的。因此设计并开发了自匹配媒体学习系统。系统采用目前流行的SQL Server数据库技术和ASP.NET动态网站开发技术,开发一个基于B/S模式的能自动匹配对象的媒体学习系统。学习者可通过这个系统科学地选择交流对象,从而减少时间的浪费,提高学习效率,激发学习者自主学习的兴趣。
现有的学习系统一般都具备的基本功能有会员注册功能、视频及语音交流功能和留言管理功能。另外媒体学习系统还需要具有简明美观的操作界面、以及搜索查询功能。在基本功能之上,自匹配媒体学习系统增加了自动匹配功能,由会员资料中提供的学历、资历、主修方向和关注书籍等属性进行自动匹配,选取适当的对象来组成网络学习小组。
自匹配互动媒体交流系统采用运行和维护方便的经典B/S模式,采用ASP.NET界面的数据访问层/业务逻辑层/表示层三层软件架构,这种模式的优势是将表示逻辑和业务逻辑分开,维护时只需要关注其中一层,同时提高了代码复用率,是系统易维护性的保障。其中表示层:是系统的UI部分,负责使用者与整个系统的交互。界面表示层中的逻辑代码,理想的状态是不应包括系统的业务逻辑,仅与界面元素有关。业务逻辑层:是整个系统的核心,业务逻辑层的相关设计与这个系统的业务有关。如果涉及到数据库的访问,则需要调用数据访问层。数据访问层:也可以称为持久层,该层的的要功能是负责数据库的访问,也就是实现对数据表的选择、插入、更新和删除等操作。
自匹配媒体学习系统主要由用户管理、资料管理、自动匹配、公告管理四个模块组成,每个模块又有其子模块,系统拓扑如图1所示。
图1 自匹配媒体学习系统模块结构Fig.1 Automatic matching learning system modular structure
1)用户管理模块功能设计
用户管理模块包括会员注册子模块和用户管理子模块两部分。该模块负责操作数据库会员资料,并有自动清理功能。
①会员注册子模块:普通用户登录该系统可以具备观看视频教程或收听语音教程的功能,只有注册为会员后,才具有匹配小组功能以及发布下载功能。
②用户管理子模块:用户管理子模块是系统管理员才具有的功能。用户管理可对已注册该系统的用户进行管理,例如设置权限以及锁定和删除操作,锁定操作主要用于当用户有违规操作,如发布了不当的视频或留言时,可以将其锁定,被锁定的用户只能浏览部分和观看视频。
2)资源管理模块功能设计
资源管理模块包括资料发布、资料管理两部分,实现系统基本的视频、语音学习功能和留言功能等。
①资料发布:资料发布模块用于已登录该系统的会员发布视频或语音,发布完后,会员可即时查看自己已发布的语音或视频。
②资料管理:需要实现的功能有:a、未注册的用户登录,身份一律设为游客,视频管理子模块中只具备观看视频及留言的功能,留言时ID为系统分配的游客ID;b、会员用户登录,视频管理子模块不仅可观看视频,对视频进行留言,而且可查看所有已发布的视频,并具有下载的权利;c、管理员登录,同时具备会员用户的所有功能,还具备对资料和留言进行管理的功能,例如删除过期的或点击率低的视频音频资料以及删除不当的用户留言。
3)自动匹配模块设计
自动匹配模块分为优秀推荐、成立小组、组员评价3个部分。
①优秀推荐模块:与一般搜索类似,按用户要求搜索会员信息,找到满足条件的人。
②成立小组模块负责接收用户匹配要求,再从用户数据表中按照设定好的权值匹配符合要求的小组成员。例如按照某人的自身条件,在数据库中搜寻到学历相当,爱好有交叉点,阅读过的书籍重合度最高,综合实力最接近的5个人,生成一个小组。已建成的小组信息和组员信息都作为个人信息记录到数据库。匹配过程由系统自动完成。管理员有查看和解散小组的功能。
③组员评价模块:允许对于他人进行评价,并将评价写入基本信息,作为下一次成立小组的依据之一。评价对被评价人和管理员可见,对其他人不可见。
匹配界面大致如图2所示。
图2 匹配页面子页内容Fig.2 Sub-page content of matching page
4)公告管理模块功能设计
公告管理模块:用于发布网站的一些公告信息,以及管理公告的添加、更新和删除,是只有系统管理员才具备的功能。
自匹配型媒体交流系统面向所有电脑使用者,受众较为复杂,数据库的安全性和稳定性至关重要[2],设计的优化与否对系统是否能正常而准确的运行起着非常重要的作用。该系统采用SQL Server 2008 DBMS来存储和管理数据,数据表主要包括会员信息表、资源信息表、留言信息表、公告信表,其他信息表等表。
1)会员信息表:用来存储会员的注册信息,包括登录ID,权限级别,用户名,密码,真实姓名,性别,电子邮件,联系方式,注册日期,学习项目,学历资历,爱好偏好,密码提示问题,密码提示答案,锁定状态以及备注等信息,其中登录ID为该表的主键。
2)资源信息表:用来存储系统存录的教材以及会员发布的视频音频信息,包括资料ID,资料名称,资料类型,语言类型,内容简介,存储路径,点击率,发布日期,发布人ID及姓名等信息,基中资料ID是该表的主键。
3)留言信息表:用于存储用户留言的详细信息,其中包括留言ID,留言人名称,留言日期,留言内容等信息,其中留言ID该表的主键。
4)公告信息表:用于存储管理员发布的公告信息,包括公告ID,公告标题,公告内容,公告日期,公告发布人等信息,其中公告ID是该表的主键。
5)其他信息表:用于拓展其他业务,例如广告信息,订阅信息。
系统的界面是用户对于系统的第一映像,也是系统能否吸引用户的至关重要的因素。界面质量好坏直接关系到系统的性能能否充分发挥,用户能否准确、高效的操作。基于B/S模式的系统开发[3]已有先例。文中所开发的自匹配型媒体学习系统大部分采用风格统一的界面设计形式。用Visual Studio2010中引入的母版页概念,能有效地实现界面设计的模块化,提高了代码的复用率。前台代码用HTML编写,布局上可以使用DIV+CSS标准布局。布局主要包括广告显示区、公告显示区、点击率排行区、成效显示区、版权显示区5大部分。其中广告显示区用来显示Logo和一些广告以及菜单栏。公告显示区滚动显示公告信息。排行区显示点击率最高的10条和最新的10条视频以及语音。成效显示区给出最近组成的小组和用户取得的重大学习成果等。数据显示区为点击各个菜单所出现的页面信息。版权显示区显示版权信息。总体格局如图3所示。
图3 首页界面格局图Fig.3 Home page style
由Sergey Melnik等人提出的SF算法[4]是一种混合的模式匹配算法,匹配结果准确,效率高。该算法经过高畅、刘国华等人的改善得出的SF-C算法[5]不仅能处理1:1简单关系匹配,更能将实际应用中存在的复杂模式的匹配挖掘出来。在匹配过程中,结合词法分析技术对候选匹配进行分类之后同时处理,能更近一步提高效率。
由于采用了匹配功能,数据库访问量大,频繁地访问数据库会占用大量的资源,使系统运行效率降低,如果严格采用ASP.NET的3层结构,需要多次访问数据库才能完成一个简单逻辑过程,为解决这个问题,系统采用SQL Server的存储过程定义一组特定功能的SQL语句集,编译后存储在数据库中,只传递其参数值。该存储过程在数据库服务器端执行,执行速度快效率高。
使用滚动显示有助于提高关注度。在网站中设置一个美观实用的滚动公告信息显示是需要经过大量测试的。使用marquee标签可以设置出纷呈的滚动样式,例举向上滚动,代码如下:
<marquee direction=”up”onmouseover=”this.stop()”onmouseout=”this.start()”align=”left”scrollamount=”5”width=”353px”height=”178px”>
<p><a href=./...><a></p>
</marquee>
在滚动显示中每条公告的详细信息用对话框的形式来显示,该功能通过调用Windows对象的showModalDialog方法来实现,代码如下:
returnValue=window.showModalDialog(sURL[,vArguments][,sFeatures])
考虑到网站资源可能是视频或者音频,其格式可能有rm、wav、mid、mp3等多种多样,转码会浪费时间。媒体播放器很难兼顾到既功能强大又占服务器资源少。而HTML语言中的Embed元素可以实现大多数视频的播放,浏览器兼容性又好。该系统中使用媒体播放器的代码如下:
<embed src=”./..”autostart=”false”hidden=”true”width=”457px”height=”332px”draggable=”true”/>
由于系统获取了大量用户信息,如果信息泄露或者被恶意篡改,后果将不堪设想,系统的安全性尤为重要。系统主要采取以下安全策略:
1)加密算法技术[6]:数据库加密技术可以防止数据库数据显式暴露给用户。数据库加密技术一般选择分组加密算法。常用的有标准数据加密 (DES)、国际数据加密算法(IDEA)、高加密标准(AES)[7]。其中AES算法有设计简单,密匙安装快,消耗内存少,兼容性又好等多个优点,所以系统采用AES算法。
2)数据输入验证:在注册和搜索过程中采用数据输入验证。验证数据类型、过滤非法性输入,可以有效防止SQL注入攻击。
3)权限控制:以不损害用户利益为前提,给用户最低级别的权限,减少用户接触数据库核心的概率。管理员账号实行等级制。
自匹配媒体学习系统已经成功应用于个人网站,并取得了良好的成效。该系统集自动匹配功能,用户管理功能,和资源管理功能,搜索功能,会话功能于一体,开放性强,安全性高,使用方便,大大减少了在资源选择过程中浪费的时间,是网络学习的趋势。
[1]赵姗,李门楼,郭嘉.基于.NET的课程自主学习平台的设计与实现[J].计算机工程设计,2008(15):4067-4069.ZHAO Shan,LI Men-lou,GUO Jia.Autonomic learning platform design and Implementation based on.NET[J].Computer engineering and design,2008(15):4067-4069.
[2]李春葆,赵丙秀,张牧.数据库系统开发教程[M].北京:清华大学出版社,2008.
[3]杨永,梁金钤.基于B/S模式的通用试题库系统的设计与实现[J].计算机工程与科学,2009(4):143-145.YANG Yong,LIANG Jin-ling.General test database design and implementation based on B/S scheme [J].Computer engineering and Science,2009,(4):143-145.
[4]Melnik S,Molina H G,Rahm E.Similarity flooding:A versatile graph matching algorithm and its application to schema matching [C]//ICDE Conference 2002,San Jose,California,USA,2002:117-128.
[5]高畅,刘国华.一种改进的数据库模式匹配算法[J].燕山大学学报,2007(2):31.GAO Chang,LIU Guo-hua.An improved schema matching algorithm between database schemas[J].Journal of Yanshan University,2007(2):31.
[6]郝莉娟.数据库加密技术及其在SQL Server2005中的应用研究[J].福建电脑,2012(11):28.HAO Li-juan.database encryption technology and its application research in SQLServer2005[J].Fujian Computer,2012(11):28.
[7]王赜坤,陈松涛.一种AES密码算法的硬件实现[J].现代电子技术,2010(16):10-13.WANG Ze-kun,CHEN Song-tao.Hardware implementation of AES cipher algorithm[J].Modern Electronics Technique,2010(16):10-13.