王小霞
(中国社会科学院民族学与人类学研究所 网络信息中心,北京 100081)
基于B/S模式数据库检索系统的设计与实现*
王小霞
(中国社会科学院民族学与人类学研究所 网络信息中心,北京 100081)
研究了数据库检索系统的相关技术并介绍了一种基于B/S模式的数据库检索系统。系统选择H2数据库,应用B/S模式和MVC框架实现对文本、图片、声频和视频等多种数据资源的统一描述和集成管理,可对多种资源统一检索。
数据库;检索系统;H2;浏览器/服务器(B/S)模式;MVC框架
随着数据信息电子化的发展,对数据库的检索查询应用变得尤为重要。依靠SQL 语句查询的方式要求用户既要掌握 SQL 语言,又要理解数据的组织结构。所以通过关键词检索技术和语义知识库技术是解决数据库检索问题的关键技术。由于社会科学研究人员在数据库检索方面基础知识的有限,数据库检索在社会科学研究中的应用发展就会显得尤为急需。
再者从数据库检索的发展情况来看,关键词检索技术随着互联网上搜索引擎的巨大成功而逐渐成熟,用户只需在搜索引擎中输入需要查询的关键词,搜索引擎便可将匹配关键词的内容按照相关程度排序呈现给用户。关系数据库关键词检索一直是一个主流的研究方向[1]。
本文根据工作的现实需求,设计开发一个数据库检索系统,系统以 J2EE 架构为基础,结合H2数据库技术、语义 Web 技术和关键词检索技术,实现关系数据库语义理解和检索。
关于新疆游牧维族研究资料的应用,利用数据库的手段,借用人类学的方法,全面地考察、记录游牧维族的社会文化,建立高水平的民族学人类学专题数据库检索系统。
根据需要和数据库检索技术及当前软件发展的趋势, 该数据库检索系统需要做到检索速度快、方便外出携带等,因此选择H2数据库,采用JSP技术B/S结构模式,以 “模型-视图-控制器” (Model-View-Controller,MVC)设计模式为理念进行系统开发设计和MVC框架设计,完成该数据库的开发,实现数据信息的交换。
2.1 H2数据库设计
数据库设计是数据库检索系统的核心部分,数据库设计的优劣直接关系到检索的速度与稳定性。 而对于数据库设计来说,最重要的是遵循数据库设计的一般原则,即安全、完整、一致、规范。
H2是一个较小的嵌入式数据库引擎,属于开源数据库,可以随时免费快速使用,有嵌入式的数据库服务器,支持集群。H2数据库和其他的常用的开源数据库如Derby、HSQLDB、MySQL、PostgreSQL不同,这几种开源数据库都需要安装独立的客户端和服务器端。H2的优势在于:(1)H2采用纯Java编写,因此不受平台的限制;(2)H2只有一个jar文件,十分适合作为嵌入式数据库试用;(3)H2提供Web控制台用于操作和管理数据库内容[2]。
鉴于数据库检索系统的特殊需求,选择H2数据库。数据库定义了资源类型resource type(专著/论文/其他文章/图片/视频)、社会文化类social culture type(社会组织、婚姻家庭制度、生产现状、衣食住行、教育、语言文化、艺术文化、婚俗文化、宗教信仰文化、丧葬文化)、题目title、作者Author、提供者Provider、doc文件名Filename、pdf文件名filename、论文摘要(2 000字内)、关键词keyword、来源/出处sources、出版社publisher、出版时间或拍摄时间time、地点place、资源对象类型resource object type(山区游牧牧民、沙漠腹地游牧牧民、和游牧相关的村民、非游牧牧民);相关民族EthnicGroup关键词key words、摘要abstract等。
H2数据库与各数据库特征的对比如表1所示。
表1 H2与各数据库的对比
2.2 B/S结构模式
图1 B/S模式结构图
浏览器的客户机/服务器(Browser/Server,B/S)结构通信方式比C/S结构高效。B/S结构将系统功能实现的主要内容集中到服务器上。客户端可以使用任何一个浏览器如Internet Explorer或Netscape Navigator,数据库服务器安装H2、SQL Server、Oracle、MYSQL等数据库。浏览器可以通过Web服务同数据库进行数据交互。B/S模式结构图如图1所示。
采用B/S模式有以下的好处:(1)各个用户通过 HTTP请求在权限范围内调用 Web 服务器上不同处理程序,从而完成对数据的查询或修改;(2)它使用户的操作变得更简单;(3)客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,可以直接使用。B/S 模式的这种特性,还使系统维护的限制因素更少; B/S 也适用于网上信息发布,使得传统的 MIS 的功能有所扩展[3]。
2.3 MVC框架
MVC是一个存在于服务器端表达层的模型,它将应用分开,改变应用之后的高度耦合。MVC 模型将应用分为三层:模型(Model)、视图(View)、控制器(Controller)。
模型:相当于一个数据库应用,用数据库来存储应用的状态。视图:相当于一个页面的显示,以某种方式将模型中的应用展现在用户面前。控制器:在视图中将用户的输入提交给指定的模型,然后在模型中解释用户的输入,最后将结果返回给视图[4]。
MVC模式的优点: 首先,模型、视图与控制器的分离使得一个模型可以具有多个显示视图,如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映这些变化,因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,实现显示的更新。其次,模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作,需要做的只是在新平台上对视图和控制器进行修改[5]。
可以借用参考文献[6]中MVC框架结构图(如图2所示)进一步了解MVC框架。
图2 MVC框架结构图
鉴于以上需求分析和技术研究,设计开发新疆游牧维族社会文化调查研究数据库检索系统。
整个检索系统基于B/S模式,利用Spring+Hibernate+ExtJs框架整合了应用,严格按照MVC的标准,实现了显示层、控制层、业务逻辑层和数据库连接层等多层框架。
利用Spring IOC和Spring AOP作为项目粘合剂,可以动态调整、更换所需的企业级服务和应用组件。 借助于Spring IOC,对所需要的应用组件进行依赖注入;借助于Spring AOP,透明地使用企业级服务;借助于Spring,将主流的开源框架以“热拔插”方式集成到应用,组成了项目轻量级的J2EE架构。将JOTM集成到Spring应用中,使得持久化服务能够基于Hibernate实现,借助于Spring DAO抽象将Hibernate集成到应用组件中。将JSF、Tapestry Web框架集成到Spring应用中,直接使用Spring提供的集成支持。将基础的程序块组成在一起成为一个连贯的整体。
Hibernate的底层驱动也让项目可以随意地切换数据库,目前项目使用了内存数据库H2,快速简洁,Hibernate直接提供相关的支持,且与Spring集成使用更简洁。
3.1 数据库检索系统功能
新疆游牧维族社会文化调查研究数据库检索系统包括检索系统和新疆游牧维族社会文化调查研究数据库。检索系统分为文献查询和文献数据录入修改两个子系统,其界面如图3、图4所示。
图4 文献单条数据录入和修改界面
文献查询子系统主要功能:系统能分别进行资源类型resource type、题目title、作者author、文件名name、出版信息publish information、地点place、时间time、提供者provider、出处source 、资源对象类型resource object type、社会文化类social culture type 关键词key words、摘要abstract等字段的分类单项检索和并行多项检索。
文献数据录入子系统完成文献数据库数据的批量上传和单条数据的添加、删除和修改功能。可以从系统后备库下载数据库模板进行多条数据批量修改或整个数据库数据修改替换。
3.2 数据库检索系统特点
(1)采用TBS全文检索系统具有多途径、多层次检索文献的功能。可从资源类型resource type、题目title、作者auther、文件名name、出版信息publish information、地点place、时间time、提供者provider、出处source 、资源对象类型resource object type、社会文化类social culture type 关键词key words、摘要abstract多个方面提供多途径检索。
(2)数据库采用了轻数据库H2,小巧灵活的嵌入式数据库,可以跨平台,既保留了结构化数据库特性,又具备文件式数据库灵活及性能。
(3)用Hiberante技术做ORM,增加了大量的缓存机制,减少了数据库读取压力。系统检索速度快。Hibernate的底层驱动也让项目可以随意地切换数据库,快速简洁。Hibernate直接提供相关的支持,且与Spring集成使用更简洁。
(4)整个系统虽然为Web浏览,但是可以做到随时拷贝部署。本系统也可以作为公网的服务,团队一起浏览,特别适合调研和之后宣传使用。
(5)操作方便,主要采用菜单驱动方式,直接检索,易操作,调研过程中,工作人员约定格式即可同时作业,只需一键导入就可以完成入库操作。系统启动关闭都很方便,数据随时可以拷贝备份,便于携带。
(6)数据可靠性高,对于入库后的检索,针对所有关注的内容均可以检索。可以方便查看个别详情。
(7)成本低,经济效益高。
本文在进行系统分析和对数据库检索系统核心技术研究的基础上,设计完成新疆游牧维族社会文化调查研究数据库检索系统。该数据库检索系统检索速度快,方便外出携带等多种使用功能,同时具有低成本、高效率、易于维护和扩展以及更新快捷方便等优势,解决了目前研究人员外出,在没有网络状态下检索困难的问题,同时还解决了不能网上发布的保密资料只供自己浏览检索的问题。
未来将在数据库检索多库联合检索、MVC框架、Hibernate、Tomcat、遵循更高技术的检索管理架构等方面做进一步的研究和探索。
[1] 万长林,徐德明. 基于语义的数据库关键词检索系统[J]. 计算机与现代化,2014(10):37-41.
[2] Mr & Cheng. H2数据库使用[EB/OL].(2013-xx-xx)[2016-09-19].http://my.oschina.net/leoson/blog/103275.
[3] 贾福龙. 基于 Web 浏览器/服务器模式 的实时审计系统的开发[J]. 辽宁工学院学报,2006, 8(3) :100-103.
[4] 梁龙,成益鑫,吴建波,等.基于 MVC 的振动噪声数据库系统的设计与实现[J].计算机工程与设计,2009,30(19):4415-4418.
[5] 曾令强.MVC 模式在高校科研档案管理信息系统中的应用研究[J].科技管理研究,2010,30(14):130-133.
[6] 边霞,赵奎,胡晓勤,等.基于MVC的文件备份后台管理系统的设计与实现[J].计算机工程与设计,2011,32(9):3195-3198.
Design and implementation of database search system based on B/S architecture
Wang Xiaoxia
(IT Center,Institute of Ethnology and Anthropology, Chinese Academy of Social Sciences, Beijing 100081, China)
A new database search system based on B/S architecture is presented in this paper. Main techniques include database search system, H2 database,B/S, MVC framework and so on. The description and management of multi-media resource such as text, image, audio, video and so on have been implemented in this system.
database; search system; H2; Browser/Server (B/S) architecture; MVC framework
国家民委民族问题研究项目(2016-GMB-012)
TP309.3
A
10.19358/j.issn.1674- 7720.2017.06.027
王小霞. 基于B/S模式数据库检索系统的设计与实现[J].微型机与应用,2017,36(6):89-91.
2016-09-19)
王小霞(1971-),通信作者,女,硕士,副研究馆员,主要研究方向:计算机软件工程与应用,电子社会科学。E-mail: wang_xx@cass.org.cn。