在线数据库系统的设计与实现

2014-02-28 10:07:34姚文斌
教育教学论坛 2014年43期
关键词:数据库系统应用层调用

姚文斌,卢 亮

(1.北京邮电大学 智能通信软件与多媒体北京市重点实验室,北京 100876;2.北京邮电大学 计算机学院,北京 100876)

在线数据库系统的设计与实现

姚文斌1,2,卢 亮1,2

(1.北京邮电大学 智能通信软件与多媒体北京市重点实验室,北京 100876;2.北京邮电大学 计算机学院,北京 100876)

为了提高数据库基础知识教学的质量,教师常常在课堂教学中演示数据库操作,但是数据库环境的部署往往费时费力。在线数据库系统基于B/S模式,可集成多种数据库环境,仅用浏览器即可完成基本数据库操作,为初学者提供了方便,提高了数据库教学的效率。

数据库;在线数据库系统;B/S模式

在高校计算机相关专业的数据库基础知识的教学过程中(如《大学计算机基础》、《数据库系统》等课程),教师通常需要部署数据库环境完成数据库的演示和讲解,传统的数据库软件大都基于C/S架构,版本众多、安装步骤各异,而且不同的软件对多用户、远程连接等功能的支持程度也各不相同,教师面临着耗费精力进行数据库部署的问题。同时由于课堂演示计算机的性能和系统环境往往不确定,教师甚至每节课前都需要完成数据库环境的部署,这使课堂教学质量受到了制约。而学生在课下练习时,同样需要安装部署数据库环境,复杂烦琐的步骤(例如SqlServer)在一定程度影响了其学习积极性。面对数据库教学中的这些问题,我们设计实现了在线数据库系统,该系统采用B/S模式,服务器端可以部署集成多种传统的关系数据库软件,使用户可以在浏览器端完成对多种关系数据库的基本操作,完全摆脱了复杂的客户端。本文所提出的在线数据库系统,可以减轻教师的负担,为数据库初学者提供方便,从而提高数据库教学的效率。

一、系统架构和功能设计

在线数据库系统设计的关键在于支持大部分常用的关系数据库软件,对用户输入的数据库操作信息进行检查和过滤,然后把服务端数据库操作结果用友好的界面展示给用户。

图1 系统架构图

系统的整体架构如图1所示,其中最上层为Web接口,提供用户访问的Web接口和友好的界面。中间层中的数据安全、权限验证这些基本模块验证用户请求的权限,并完成数据操作安全的处理,然后调用下一层的相关功能响应用户请求;用户管理是对用户基本信息的增删改查,数据库管理完成对系统中数据库信息的管理,该层通过调用数据库访问层完成数据库的基本操作,然后将其结果返回给上层。系统中可同时部署多种不同的数据库软件,数据库访问层提供了对不同数据库的统一访问接口。

系统用户分为普通用户和管理员两类,系统为用户提供的主要功能如图2所示。

1.用户功能:普通用户注册、登录、注销,查看个人的权限、操作历史等信息,并可以修改密码和个人资料。

2.数据库功能:普通用户从系统提供的多种数据库软件中进行选择,提交自己需要完成的数据库操作命令并查看运行结果。

图2 系统功能模块图

3.管理员功能:管理员对普通用户的信息进行增删改查,并管理数据库软件的加入和退出,配置数据库软件的基本信息,管理数据库软件的加入和退出。

整个系统以Web服务的形式在服务器中进行部署,然后由系统维护人员在服务器上安装数据库软件以提供服务端的数据库服务。系统管理员登录系统进行数据库的基本配置,最后用户使用浏览器访问系统,即可完成对数据库表、视图、存储过程等内容的操作。

二、系统详细设计与实现

系统基于B/S架构,以跨平台性强的Java语言作为开发语言,充分利用了Java技术在Web开发中的优点,采用了流行的Spring3和Struts2作为Web框架,可迅速完成其开发、部署和测试。系统分为前端和后端两部分,按照MVC设计思想,系统的整体架构可更详细地划分为页面显示层、应用层、服务层、模型层、数据持久化层、数据库连接层这六层。下面结合图3对各个层的设计进行详细介绍。

图3 系统类图

页面显示层:基于JSP,采用包括CSS层叠样式表和JavaScript在内的多种动态网页制作技术实现的Web页面。页面显示层将用户请求通过HTTP协议传递给服务器端的应用层,并将服务端返回的结果在浏览器中显示出来,页面显示层完成与用户的全部交互。

应用层:对应于图3中的Action包(“包”是Java中功能相似或相关的类和接口的集合),其中基类BaseAction类封装了获取web页面请求参数、过滤非法数据以及验证用户权限的基本方法,对于来自Web页面的HTTP请求,首先获取其中的请求参数中所包含的用户信息及数据库操作信息,然后对用户权限进行校验,对数据库操作信息进行检查,防止SQL注入攻击。AuthenticationAction类提供用户注册、登录、退出等功能方法,UserAction类提供用户增删改查管理的功能方法,DataBaseAction类提供数据库信息管理的功能方法。应用层的类调用服务层的类实现系统功能,为页面显示层服务,是整个系统服务端的应用功能的总接口。

服务层:对应于与图3中的Service包,其中包含数据库服务和用户服务两部分,应用层通过接口IDatabaseService和IUserService来调用服务。接口类的加入,使上层调用服务层功能方法的类与服务层具体的实现类隔离开来。Userservice类通过调用下层的IUserDao接口完成用户信息管理,DatabaseService类通过调用下层的IDatabaseDao和IDbConnect实现数据库信息的管理,以及数据库的访问操作。

数据持久化层:对应于图3的DAO包,包含DatabaseDao和UserDao两部分,将系统中的用户信息以及数据库信息持久化到系统数据库中,在访问数据库时需要调用DbOperation包中的接口。

数据库连接层:对应于图3的DbOperation包,由于系统中可以部署多种不同的数据库软件,需要有相应的类完成与其的连接,这些类均继承IDbConnect接口以保持一致。数据库连接类基于JDBC技术,实现了与多种关系数据库的连接、验证和SQL服务调用,并将其中的基本方法进行了封装和扩展,使其更加灵活易用。

模型层:对应于图3的Model包,其中的类均是对一些基本属性的封装,Database类封装数据库软件名称、数据库名称、SQL语句等信息,User类封装普通用户的用户名、密码、权限等信息,Admin封装了管理员的用户名、密码等信息。应用层、服务层和数据持久层都对模型层有依赖关系。

此外,系统对于在应用层和服务层中出现的异常也进行了封装,对所有的异常进行统一管理(见图3的Exception包)。系统的分层设计,使程序的各模块之间高内聚、低耦合的特性增强,符合软件工程的基本思想,使系统的架构趋于稳定,更能适应需求的变化。

三、系统运行与测试

1.运行环境。系统的运行环境如表1所示,其中服务器端的配置为系统目前部署测试时所采用的配置。

表1 系统运行环境

2.功能测试。按照软件测试的基本步骤,采用黑盒测试的错误推测法和错误推测法对系统的各个功能模块进行测试,以测试用户登录模块为例,预期当在界面中输入用户名或密码错误时,页面提示“用户名或密码错误,请重新输入”,并不进行页面跳转,正确时跳转到系统主页面,经测试实际输出结果与预期一致。

3.性能测试。对系统的性能测试采用负载测试和压力测试相结合的方法展开,选取每分钟增加若干用户请求和混合加压作为测试数据。测试的结果表明系统可支持2500用户并且响应时间小于3秒,压力测试结果显示CPU和内存占用率在86%和88%以内。

四、总结与展望

本文所设计和实现的在线数据库系统,立足于简化在数据库基础知识教学过程中数据库环境搭建的烦琐步骤,为教师和初学者提供简单方便在线的关系数据库服务。系统架构合理,运行状况稳定,简单易操作,从目前的反馈结果来看,系统在一定程度上提高了课堂教学质量,可以推广使用。但是,系统在用户数据库操作结果的页面显示效果还需要优化,用户权限控制等方面仍存在不足,同时教师在实践过程中发现了数据库在线测试试题、学生与教师互动等新的需求,这将是系统下一步改进与完善的方向。

G642.0

A

1674-9324(2014)43-0064-03

北京邮电大学教学改革项目

猜你喜欢
数据库系统应用层调用
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
测控技术(2018年5期)2018-12-09 09:04:46
数据库系统shell脚本应用
电子测试(2018年14期)2018-09-26 06:04:24
微细铣削工艺数据库系统设计与开发
基于分级保护的OA系统应用层访问控制研究
基于系统调用的恶意软件检测技术研究
实时数据库系统数据安全采集方案
电信科学(2016年10期)2016-11-23 05:12:00
新一代双向互动电力线通信技术的应用层协议研究
核反应堆材料数据库系统及其应用
物联网技术在信息机房制冷系统中的应用
物联网技术(2015年8期)2015-09-14 09:30:13