基于ASP技术的随书光盘管理系统的设计与实现

2014-04-29 10:00张凯
电子世界 2014年21期

【摘要】信息技术的发展使得图书随书光盘越来越多,为了解决随书光盘的利用问题,本系统基于B/S模式的思想,采用 asp技术和 SQL Server2005数据库技术,结合图书馆milnets图书自动化管理系统 ,设计了一个随书光盘管理系统。以实现随书光盘的检索、请求、上传和下载等前后台管理功能。

【关键词】随书光盘;B/S体系结构;ASP

1.引言

随书光盘是附加在图书中的以光盘为媒介的电子阅读物,它与图书同步发行,对图书的内容起补充或辅助的作用,主要对图书的内容进行声、像、图、文并茂的说明、解释、演绎,有高度的可视性和直观性,它与图书的内容是相辅相成的,通过对光盘的阅读,能更直观、更深刻地理解书的内容,起到辅助学习的作用。随着随书光盘的不断增长,如何有效的管理和利用,已成为图书馆亟需解决的一个问题。目前各院校都建立了高速的校园网,基于网络化的光盘管理已成为主要方式,通过网络访问和下载随书光盘,一方面让读者不受时间和空间的限制,另一方面,通过资源共享,丰富并有效利用了馆藏资源。而本馆的milnets系统没有提供随书光盘上传和下载功能,因此,本文结合图书馆的milnets图书自动管理系统,利用ASP技术,开发了随书光盘管理系统。

2.系统分析与总体设计

2.1 系统的体系结构

为了便于读者使用,本系统采用B/S体系结构。B/S模式应用系统由浏览器和服务器组成,数据和应用程序都放在服务器上,浏览器功能可以通过下载服务器上的应用程序得到动态扩展,服务器具有多层结构,B/S系统处理的数据类型可以动态扩展。用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件,服务器将担负更多的工作,对数据库的访问和应用程序的执行在服务器上完成。浏览器发出请求,而其他如数据请求、加工、结果返回及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层Client/Server结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图1所示。

图1 基于Web的B/S体系结构

2.2 功能模块设计

本系统以实现随书光盘的后台管理和方便读者查询、下载等功能为核心,其它功能为辅的理念,将系统功能分成两大模块。

2.2.1 读者使用模块

本模块主要提供读者查询光盘、显示光盘信息、请求未传光盘等功能。具体分以下几个子模块:

(1)登录子模块:该模块结合milnets系统中的读者数据库信息,读者通过自己的借阅证号和密码登录系统 ,登录不成功则无法下载光盘数据。对于下载的光盘。系统能详细地记录该读者下载的信息,包括该读者借阅证号、下载的时间、地点、光盘的内容等。

(2)浏览检索子模块:用户可以根据学科分类浏览随书光盘信息,或利用系统提供的检索功能,按光盘名、索书号、出版社、ISBN等字段进行检索。

(3)光盘信息子模块:此模块的设计是用来显示随书光盘的详细信息。包括随书光盘所对应的图书书名、出版社、作者等信息以及光盘的上传时间、光盘大小、下载次数和光盘数据下载链接等信息。

(4)请求光盘子模块:考虑到服务器数据存储的容量,本系统对光盘数据进行动态的上传,存储那些使用频率较高的和最新的随书光盘。对于读者需要的而又没有上传的光盘,读者可以通过请求光盘上传,后台管理员根据请求信息上传此光盘。

(5)更新光盘子模块:读者可以通过该模块及时的了解最新更新的光盘信息。

(6)统计子模块:该模块统计了本馆现有的光盘数量、已传光盘数量、下载次数、光盘下载排行等数据,便于读者和管理员了解系统中光盘的使用状态。

2.2.2 后台管理模块

本模块主要是对随书光盘的后台数据库进行管理。包括光盘的检索、添加、更新、删除、数据上传和读者请求的处理等功能。具体分以下几个子模块:

(1)编目员登陆子模块:考虑到编目员在利用milnets系统进行编书时,碰到有些书带有光盘时,可以立刻通过该模块对光盘进行处理。因此该模块结合milnets系统中的编目员数据库信息,编目员通过自己的帐号和密码登陆,登陆成功后就进入光盘后台处理子模块。

(2)光盘后台处理子模块:编目员登陆成功后,可以添加光盘数据、修改光盘数据和查询光盘数据,还可以上传发布或删除光盘的镜像文件。

(3)读者请求处理子模块:管理员可以通过此模块查询读者的请求信息和读者的留言,直接调出此请求的光盘处理子模块,从而添加、更新光盘数据,不需要管理员通过检索的方式去处理光盘,大大节省后台处理请求光盘的时间。

2.3 数据库设计

根据系统功能设计,为了便于管理和实现,在milnets系统数据库中添加了以下几个表:

2.3.1 用户下载记录表(record):读者条码号(reader_codebar), 包括光盘编号(id),下载时间(jtime), 下载IP(ip)。

2.3.2 光盘编目表(gban):包括光盘编号(id)、光盘名(title)、图书名(tusuname)、索书号(sh)、出版社(cbs)、ISBN(isbn)、大小(size)、发布日期(ftime)、下载次数(number),是否可下载(yy)、下载地址(ftp)。主要用于存储随书光盘信息和光盘镜像文件的存储路径及下载的链接路径。

2.3.3 请求上传表(gqingqiu):包括光盘编号(id)、读者条码号(reader_codebar), 请求时间 (qtime)、请求备注 (beizhu)。主要用于存储用户请求下载的随书光盘信息 。

3.系统实现及关键技术

3.1 系统实现原理

ASP通过内置ActiveX数据库访问组件ADO(ActiveX Data 0bject)访问数据库。ADO通过在Web服务器上设定ODBC来建立与多种数据库的连接,其中包括Oracle、SQL Server、Access等各种大、中、小型数据库。ADO的另外一个功能是“远程数据访问”(RDS),即能够通过一个来回的传输将数据从服务器传送到客户端应用程序或Web页中,然后在客户端对数据进行操作,最后将更新结果返回服务器。本系统以ASP十SQL Server2005为开发工具实现随书光盘的查询与下载。

3.1.1 建立与数据库的连接

为了方便维护,将连接数据库的代码单独放在一个页面(如 conn.asp)当中封装起来:

<%

dim conn

set conn=server.createobject(“ADODB.

connection”)

con.open”PROVIDER=SQLOLEDB;

DATASOURCE=local;

UID=sa;

PWD=****;

DATABASE=milnets”

%>

在要与数据库连接的各页中添加代码< !——# include file=“conn.asp”一一>,即可实现与数据库的连接 。

3.1.2 在连接数据库的基础上实现光盘信息查询

部分代码如下:

< %

dim select1,temp

select1= request.form(“select1”)

select case select1

case “光盘名”

temp=”select*from gban where title like

‘%”& select1&”%”

case “索书号”

temp=”select*from gban where sh like

‘%”& select1&”%”

case “出版社”

temp=”select*from gban where cbs like

‘%”& select1&”%”

case else

temp=”select*from gban where isbn like

‘%”& select1&”%”

end select

%>

3.2 ASP关键技术

3.2.1 随书光盘镜像文件的存放技术

本系统是将随书光盘的数据压缩转换成ISO文件存放在服务器上,供用户检索下载。上传随书光盘存放可以通过两种思路来实现。第一,通过将随书光盘存放于数据库,但这种方式对于数据较大的多媒体数据的明显缺陷是下载时速度很慢,这对于同时多用户下载影响较大。第二种思路是事先将随书光盘存放的路径信息存于数据库。然后ASP程序与数据库中的数据结合,显示下载超链接通过数据并显示下载。当单击下载时实现数据的下载,这种方法下载的速度快。因此,在技术上我们选择了后一种方式。

3.2.2 随书光盘镜像文件的上传技术

Adodb.Stream是ASP中ADO的Stream对象,提供存取二进制数据或者文本流,从而实现对流的读、写和管理等操作。本系统利用它实现例如随书光盘的上传功能。本文只就数据处理页面(upload.asp)作简单介绍,(下转第166页)(上接第163页)upload.asp部分代码如下:

<%

set str=server.CreateObject(“ADODB.

Stream”)‘str为源数据流

str.Mode=3‘设置打开模式,3为可读可写

str.Type=1‘设置数据类型,1为二进制数据

str.Open

set desc=server.CreateObject(“ADODB.

Stream”)‘desc为目标数据流

desc.Mode=3

Desc.Type=1

desc.Open

%>

<%

formdata=Request.BinaryRead(Request.

TotalBytes)‘formdata为上传的所有内容

str.Write formdata‘ 赋值源数据流

str.position=count-lenb(result)-2‘position指出文件的开始位置

str.copyto desc,lenb(filecotent)‘lenb(filecontent)表示文件的长度

desc.SaveToFile fullpath,2‘以fullpath指定的路径及名称保存文件

%>

<%

Desc. Close

Set desc=nothing

Str. Close

Set STR=nothing

%>

4.结束语

对于中小型院校图书馆来说,由于建设资金有限,通过自己的技术人员结合本馆的实际情况,研究设计一个简单实用的随书光盘管理系统,既丰富了图书馆的服务内容,又为图书馆节约了资金,真可谓是两全其美的选择。

参考文献

[1]朱丽敏.交互式动态网页构建技术——ASP技术[J].太原科技,2006(2):40-41.

[2]李清.基于WEB的随书光盘管理系统的设计与实现[J].福建电脑,2006(5):22-23.

[3]肖劲阳.基于ASP技术的仓储物流管理系统设计和开发[J].福建轻纺,2007(9):25-31.

作者简介:张凯(1986—),海军陆战学院训练部教保科助理工程师。