B/S模式的学位论文检索系统的设计与实现

时间:2022-09-22 04:53:10

B/S模式的学位论文检索系统的设计与实现

摘要:为了解决高校等机构学位论文的查询问题,运用ASP技术及SQL SERVER数据库技术,设计并开发了基于B/S结构的高校学位论文检索系统。所开发的系统运行稳定,功能齐全,很好的满足了学位论文的查询需求,为学术文献的充分利用提供了有力支撑。

关键词:学位论文检索;ASP技术;SQL Server;B/S模式

中图分类号:TP392:J642.477文献标识码:A 文章编号:1009-3044(2007)17-31327-02

Design and Implementation of Thesis Searching System Based on B/S structure

LIU Qun-Yan,ZHANG Da-Wei

(Library Xi'an Polytechnic University ,Xi'an 710048,China)

Abstract:Based on the B/S structure, a thesis searching system is designed and developed for academic thesis searching by the ASP technique and SQL database. The system can run very stably, has complete functions and satisfies all requirements of thesis search excellently, which provides a good platform for sufficient using of academic thesis.

Key words:thesis search; ASP technology; SQL SERVER; B/S structure

1 前言

学位论文是高等院校或科研机构的学生为获得某一级别的学位而向学校或其它学术单位提交的学术研究论文,是围绕某一学科的重点或前沿课题进行的创造性研究和探讨并加以总结的产物,所以它是具有较高学术价值的科技文献。但很多高校多年来的博士和硕士论文因查询不便而不能为教学和科研充分利用,所以建立基于网络的、不受时间和空间约束的论文检索系统已成为提高高校学位论文利用率的关键。而购买商业公司开发的检索系统虽然其功能齐全、性能稳定,但不仅代价昂贵,而且其过于广泛,不适合某一高校的学科特点和该校图书馆的具体情况。所以开发高校学位论文检索系统非常必要,而且具有实际应用意义。本文讨论了该系统的开发过程和核心难点技术。

2 系统技术分析及开发环境

本系统采用三层B/S体系结构为其基本框架,运用当前应用广泛的动态web技术ASP实现其与数据库的强大操作和远程客户端的交流。下面对这些技术和开发环境进行分析介绍。

2.1 B/S结构

B/S(Browser/Server)结构即浏览器/服务器结构,是把web 技术和数据库技术结合起来的技术,其实现了开发环境和应用环境的分离,即用户端利用相对统一的浏览器( IE、Netscape 等) 代替客户端软件,实现跨平台的应用服务,B/S通常采用三层分布式体系结构,如图1所示。

图1 B/S结构

三层B/S结构的工作方式主要是用户通过浏览器表单形式把客户请求以HTTP 协议方式发送到web服务器,web服务器向数据库服务器发送数据请求,数据库服务器经过数据处理后将符合条件的数据返回到web服务器,web服务器把结果翻译成HTML模式或各类Script 格式, 返回浏览器供用户阅读。

本系统采用三层B/S体系结构,用户只要能连接到Internet网络,就能很方便的在任何时间任何地点查询学位论文。

2.2 ASP技术

ASP(Active Server Page) 是Microsoft 提出的基于服务器端的脚本执行环境,通过在普通HTML页面中嵌入的ASP脚本语言(VBScript 、Jscript),就可以建立和执行动态的、交互的、高性能的Web应用程序。由于ASP脚本是在服务器端解释执行的,所以用其设计的程序独立于客户端浏览器且保密性较高;ASP采用ADO技术访问数据库,ADO是一组优化的访问数据库专用对象集,提供了完整的站点数据库访问方案,使ASP访问数据库十分方便。基于以上原因,本系统采用ASP技术来实现其功能。

2.3 系统开发平台和环境

本系统服务器端采用高性能、高可靠性和高安全性的Microsoft Windows 2003 Server为其操作系统,并配置IIS6.0;选取可扩充的、高效的关系型数据库管理系统SQL SERVER 2000为后台数据库;采用专业网站开发编辑器Macromedia Dreamweaver MX 2004为系统开发工具;开发语言为HTML和VBScript;客户端只需要安装 IE4.0 或Netscape3.0 以上版本的浏览器即可使用本系统。

3 系统的总体结构设计

在开发此系统之前,作者做了大量的需求分析,充分了解掌握了系统所必需具有的功能,并考虑了人机功效方面的问题进行系统设计。下面对该系统的功能模块、web页面、数据库作总体的设计。

3.1 功能模块分析与设计

根据用户对论文检索精度要求的不同,该系统主要分为两大模块,(1)基本检索模块,(2)高级检索模块,如图2所示。

图2 系统工作流程图

基本检索模块:主要适用于对检索精确度要求不高、对论文库按某一条件字段进行简单分类检索的用户。该模块的功能要求主要有:用户选择某一检索项并输入检索词,就可检索到符合该条件的所有记录,并将检索结果分页显示;可以浏览某一纪录的详细内容,包括摘要。

高级检索模块:该模块适用于对检索结果要求精确、多条件查询的用户。该模块的功能要求主要有:可以实现多个条件的与、或、非复杂查询;将检索结果分页显示;可浏览某一纪录的详细信息,包括摘要。

根据学位论文的特点和用户的检索需求,其检索选择项分为七类:论文题名、论文作者、论文导师、关键词、学科专业,中文摘要、分类号。

3.2 Web页面设计

根据该系统的模块及功能,实现该系统需要4个页面。检索首页index.asp,该页面采用HTML表单的形式收集用户输入的检索词及检索选择项条件;基本检索Bsearch.asp,该页实现基本检索的功能页面,并将查询结果分页显示;高级检索Hsearch.asp,该页实现高级检索多选项、多条件的与、或、非查询功能,并将查询结果分页显示;记录详细显示Show.asp, 该页实现浏览某一纪录的详细信息,本校用户可查看全文。其页面间的关系如图3所示。

图3 页面关系图

3.3 后台数据库设计

本系统采用SQL SEVER 2000来创建后台数据库。为了提高数据库服务器的响应速度并确保数据安全,本系统采用文件实体和文件参数分别存放的方法,即在数据库中只保存论文的文件名、存放路径、文件格式和大小,而在WEB服务器指定目录存放学位论文全文。根据学位论文的构成特点和用户的查询需求,创建的数据库表的字段如下:姓名、学号、专业、培养单位、论文题名、分类号、学位级别、导师姓名、导师单位、提交日期、关键词、论文页数、中文摘要、英文摘要、全文文件名,全文路径、全文大小、全文格式。

4 系统功能实现及核心技术

在本系统的开发过程中,主要解决了三个核心技术问题。ASP与WEB数据库的连接、多条件的与、或、非复杂查询问题和查询结果分页显示问题。下面来阐述这些问题的解决方法。

4.1 ASP与WEB数据库的连接

ASP与数据库的连接一般有三种方法:(1)通过ODBC DSN建立连接,(2)通过OLE DB建立连接,(3)通过Driver建立连接,本系统选用通过Driver建立连接的方法,使用该方法,程序的可移植性比较好。系统建立连接的过程如下:(1)建立数据库连接对象:set conn = server.createobject ("adodb. connection ");(2)打开要访问的数据库:conn.open"Driver;Server=;Database=;Uid=;Pwd= "(3)建立记录集对象:set rs= server. createobject("ADODB.recordset");(4)打开记录集对象:rs. open strsql,conn,"3","1";(5)利用记录集对象所提供的属性对Web 数据库实施操作;(6)关闭记录集对象:rs.close;(7)关闭数据连接对象:conn.close;

4.2 检索功能实现

本系统两大检索模块中,基本检索模块中的SQL查询比较简单,在这里不予熬述。重点来阐述高级检索模块中的动态多选项、多条件的与、或、非查询,这是开发本系统的核心技术和难点之一。本文采用VBScript中的select case语句来识别用户的动态检索项,用IF语句来控制多条件的查询,专门设置变量strhigh2接受用户所选取的与、或、非条件。SQL查询语句用变量strsql来保存,而最初的查询语句是:strsql= "select * from table1 where 1=1 ",后面依据条件对查询语句进行叠加,如:strsql=strsql& "select * from table1 where name = "liuyan" ",直到条件判断完毕,最后形成SQL查询语句,并保存在strsql变量中,执行rs.open strsql,conn,"3","1"语句。系统查询功能实现。

为了提高系统的简单易用性和查询结果的命中精度,本系统支持作者姓名、导师姓名字段的精确查询,而对字段论文题名、关键词、论文摘要、提交年份、学科专业、分类号实施模糊查询,如:用SQL语句seletc * from table1 where name like %"& yan & "%实现模糊查询。

4.3 查询结果分页显示

在显示查询结果时,如果所有检索的命中记录在一页显示,将不方便用户浏览,所以系统要求将查询结果分页显示。而实现查询结果分页显示关键要解决两方面的问题:(1)循环显示本页记录,(2)翻页控制。

循环显示本页记录:即当前页记录的显示问题。本系统采用双重嵌套的Do WhileLoop语句来控制当前页记录的显示,用 rs.("字段名")显示记录字段;采用ADO中数据集RecordSet对象的一些属性来进行参数设置:用PageSize属性设置每页显示的记录数;用PageCount 、RecordCount属性分别显示检索命中的总记录数和页数;用AbsolutePage属性表示当前页码;用MoveNext方法来移动记录指针;并用到了BOF 属性和EOF 属性。通过运用以上的语句控制与属性设置,实现了当前页记录的显示。

(2)翻页控制:系统要求将查询结果分多页显示,而在进行翻页时,涉及到对页面bsearch.asp或hsearch.asp(实现检索和分页显示的功能页)的自身连接,也就是web服务器端要重新执行该页面程序,重新接收用户输入的检索词和重新执行SQL查询语句,并且要求正确显示目标页记录。所以,在系统进行翻页时,要对两类参数进行传递,分别是用户输入的检索词、检索项和当前页数。本系统采用表单的隐藏域来对这两类参数进行传递,选取Request.form("")来接收用户从表单输入的检索词和检索项,而采用Request.querystring("")来接收翻页时由表单隐藏域传递的检索词、检索项参数和当前页数参数,并用IF语句来判断使用前者还是后者;翻页的自身连接采用URL方式传递目标页数。参数传递正确,系统成功实现翻页功能。

5 结束语

采用web技术、数据库技术、ASP技术实现了基于B/S结构的高校学位论文检索系统。在此系统开发过程中,重点研究解决了动态多选项、多条件的与、或、非复杂查询问题,以及检索结果分页显示的问题。经过测试,本系统性能稳定、界面友好、易于使用,现已应用于西安工程大学图书馆,解决了高校学位论文的检索难题,使得博士、硕士论文能够被科研和教学充分利用,提高了学问论文的利用率,这也是开发本系统的真正意义所在,作者感到欣慰!

参考文献:

[1]陈健伟,李美军,施建强,等. ASP动态网站开发教程[M].北京:清华大学出版社,2005.188-206.

[2]张固,汪晓平.ASP网络应用系统典型模块开发实例解析[M].北京:人民邮电出版社,2005.53-95.

[3]龙马工作室.ASP+SQL Server组建动态网站实例精讲[M]. 北京:人民邮电出版社,2005.73-96.

[4]王昱. 基于ASP技术的Web数据库记录的分页显示[J]. 华北科技学院学报,2003:75-77.

[5]高成.ASP动态网站建设[M]国防工业出版社,2002.53-68.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:完美世界国际版远程职业终极首饰分析 下一篇:基于Visual C++的0-1背包问题的动态规划算法