【摘要】信息技術(shù)的發(fā)展使得圖書隨書光盤越來越多,為了解決隨書光盤的利用問題,本系統(tǒng)基于B/S模式的思想,采用 asp技術(shù)和 SQL Server2005數(shù)據(jù)庫技術(shù),結(jié)合圖書館milnets圖書自動(dòng)化管理系統(tǒng) ,設(shè)計(jì)了一個(gè)隨書光盤管理系統(tǒng)。以實(shí)現(xiàn)隨書光盤的檢索、請(qǐng)求、上傳和下載等前后臺(tái)管理功能。
【關(guān)鍵詞】隨書光盤;B/S體系結(jié)構(gòu);ASP
1.引言
隨書光盤是附加在圖書中的以光盤為媒介的電子閱讀物,它與圖書同步發(fā)行,對(duì)圖書的內(nèi)容起補(bǔ)充或輔助的作用,主要對(duì)圖書的內(nèi)容進(jìn)行聲、像、圖、文并茂的說明、解釋、演繹,有高度的可視性和直觀性,它與圖書的內(nèi)容是相輔相成的,通過對(duì)光盤的閱讀,能更直觀、更深刻地理解書的內(nèi)容,起到輔助學(xué)習(xí)的作用。隨著隨書光盤的不斷增長(zhǎng),如何有效的管理和利用,已成為圖書館亟需解決的一個(gè)問題。目前各院校都建立了高速的校園網(wǎng),基于網(wǎng)絡(luò)化的光盤管理已成為主要方式,通過網(wǎng)絡(luò)訪問和下載隨書光盤,一方面讓讀者不受時(shí)間和空間的限制,另一方面,通過資源共享,豐富并有效利用了館藏資源。而本館的milnets系統(tǒng)沒有提供隨書光盤上傳和下載功能,因此,本文結(jié)合圖書館的milnets圖書自動(dòng)管理系統(tǒng),利用ASP技術(shù),開發(fā)了隨書光盤管理系統(tǒng)。
2.系統(tǒng)分析與總體設(shè)計(jì)
2.1 系統(tǒng)的體系結(jié)構(gòu)
為了便于讀者使用,本系統(tǒng)采用B/S體系結(jié)構(gòu)。B/S模式應(yīng)用系統(tǒng)由瀏覽器和服務(wù)器組成,數(shù)據(jù)和應(yīng)用程序都放在服務(wù)器上,瀏覽器功能可以通過下載服務(wù)器上的應(yīng)用程序得到動(dòng)態(tài)擴(kuò)展,服務(wù)器具有多層結(jié)構(gòu),B/S系統(tǒng)處理的數(shù)據(jù)類型可以動(dòng)態(tài)擴(kuò)展。用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡(jiǎn)化了客戶機(jī)的工作,客戶機(jī)上只需配置少量的客戶端軟件,服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行在服務(wù)器上完成。瀏覽器發(fā)出請(qǐng)求,而其他如數(shù)據(jù)請(qǐng)求、加工、結(jié)果返回及動(dòng)態(tài)網(wǎng)頁生成等工作全部由Web Server完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層Client/Server結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來,由Web服務(wù)器單獨(dú)組成一層來負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。這種三層體系結(jié)構(gòu)如圖1所示。
圖1 基于Web的B/S體系結(jié)構(gòu)
2.2 功能模塊設(shè)計(jì)
本系統(tǒng)以實(shí)現(xiàn)隨書光盤的后臺(tái)管理和方便讀者查詢、下載等功能為核心,其它功能為輔的理念,將系統(tǒng)功能分成兩大模塊。
2.2.1 讀者使用模塊
本模塊主要提供讀者查詢光盤、顯示光盤信息、請(qǐng)求未傳光盤等功能。具體分以下幾個(gè)子模塊:
(1)登錄子模塊:該模塊結(jié)合milnets系統(tǒng)中的讀者數(shù)據(jù)庫信息,讀者通過自己的借閱證號(hào)和密碼登錄系統(tǒng) ,登錄不成功則無法下載光盤數(shù)據(jù)。對(duì)于下載的光盤。系統(tǒng)能詳細(xì)地記錄該讀者下載的信息,包括該讀者借閱證號(hào)、下載的時(shí)間、地點(diǎn)、光盤的內(nèi)容等。
(2)瀏覽檢索子模塊:用戶可以根據(jù)學(xué)科分類瀏覽隨書光盤信息,或利用系統(tǒng)提供的檢索功能,按光盤名、索書號(hào)、出版社、ISBN等字段進(jìn)行檢索。
(3)光盤信息子模塊:此模塊的設(shè)計(jì)是用來顯示隨書光盤的詳細(xì)信息。包括隨書光盤所對(duì)應(yīng)的圖書書名、出版社、作者等信息以及光盤的上傳時(shí)間、光盤大小、下載次數(shù)和光盤數(shù)據(jù)下載鏈接等信息。
(4)請(qǐng)求光盤子模塊:考慮到服務(wù)器數(shù)據(jù)存儲(chǔ)的容量,本系統(tǒng)對(duì)光盤數(shù)據(jù)進(jìn)行動(dòng)態(tài)的上傳,存儲(chǔ)那些使用頻率較高的和最新的隨書光盤。對(duì)于讀者需要的而又沒有上傳的光盤,讀者可以通過請(qǐng)求光盤上傳,后臺(tái)管理員根據(jù)請(qǐng)求信息上傳此光盤。
(5)更新光盤子模塊:讀者可以通過該模塊及時(shí)的了解最新更新的光盤信息。
(6)統(tǒng)計(jì)子模塊:該模塊統(tǒng)計(jì)了本館現(xiàn)有的光盤數(shù)量、已傳光盤數(shù)量、下載次數(shù)、光盤下載排行等數(shù)據(jù),便于讀者和管理員了解系統(tǒng)中光盤的使用狀態(tài)。
2.2.2 后臺(tái)管理模塊
本模塊主要是對(duì)隨書光盤的后臺(tái)數(shù)據(jù)庫進(jìn)行管理。包括光盤的檢索、添加、更新、刪除、數(shù)據(jù)上傳和讀者請(qǐng)求的處理等功能。具體分以下幾個(gè)子模塊:
(1)編目員登陸子模塊:考慮到編目員在利用milnets系統(tǒng)進(jìn)行編書時(shí),碰到有些書帶有光盤時(shí),可以立刻通過該模塊對(duì)光盤進(jìn)行處理。因此該模塊結(jié)合milnets系統(tǒng)中的編目員數(shù)據(jù)庫信息,編目員通過自己的帳號(hào)和密碼登陸,登陸成功后就進(jìn)入光盤后臺(tái)處理子模塊。
(2)光盤后臺(tái)處理子模塊:編目員登陸成功后,可以添加光盤數(shù)據(jù)、修改光盤數(shù)據(jù)和查詢光盤數(shù)據(jù),還可以上傳發(fā)布或刪除光盤的鏡像文件。
(3)讀者請(qǐng)求處理子模塊:管理員可以通過此模塊查詢讀者的請(qǐng)求信息和讀者的留言,直接調(diào)出此請(qǐng)求的光盤處理子模塊,從而添加、更新光盤數(shù)據(jù),不需要管理員通過檢索的方式去處理光盤,大大節(jié)省后臺(tái)處理請(qǐng)求光盤的時(shí)間。
2.3 數(shù)據(jù)庫設(shè)計(jì)
根據(jù)系統(tǒng)功能設(shè)計(jì),為了便于管理和實(shí)現(xiàn),在milnets系統(tǒng)數(shù)據(jù)庫中添加了以下幾個(gè)表:
2.3.1 用戶下載記錄表(record):讀者條碼號(hào)(reader_codebar), 包括光盤編號(hào)(id),下載時(shí)間(jtime), 下載IP(ip)。
2.3.2 光盤編目表(gban):包括光盤編號(hào)(id)、光盤名(title)、圖書名(tusuname)、索書號(hào)(sh)、出版社(cbs)、ISBN(isbn)、大?。╯ize)、發(fā)布日期(ftime)、下載次數(shù)(number),是否可下載(yy)、下載地址(ftp)。主要用于存儲(chǔ)隨書光盤信息和光盤鏡像文件的存儲(chǔ)路徑及下載的鏈接路徑。
2.3.3 請(qǐng)求上傳表(gqingqiu):包括光盤編號(hào)(id)、讀者條碼號(hào)(reader_codebar), 請(qǐng)求時(shí)間 (qtime)、請(qǐng)求備注 (beizhu)。主要用于存儲(chǔ)用戶請(qǐng)求下載的隨書光盤信息 。
3.系統(tǒng)實(shí)現(xiàn)及關(guān)鍵技術(shù)
3.1 系統(tǒng)實(shí)現(xiàn)原理
ASP通過內(nèi)置ActiveX數(shù)據(jù)庫訪問組件ADO(ActiveX Data 0bject)訪問數(shù)據(jù)庫。ADO通過在Web服務(wù)器上設(shè)定ODBC來建立與多種數(shù)據(jù)庫的連接,其中包括Oracle、SQL Server、Access等各種大、中、小型數(shù)據(jù)庫。ADO的另外一個(gè)功能是“遠(yuǎn)程數(shù)據(jù)訪問”(RDS),即能夠通過一個(gè)來回的傳輸將數(shù)據(jù)從服務(wù)器傳送到客戶端應(yīng)用程序或Web頁中,然后在客戶端對(duì)數(shù)據(jù)進(jìn)行操作,最后將更新結(jié)果返回服務(wù)器。本系統(tǒng)以ASP十SQL Server2005為開發(fā)工具實(shí)現(xiàn)隨書光盤的查詢與下載。
3.1.1 建立與數(shù)據(jù)庫的連接
為了方便維護(hù),將連接數(shù)據(jù)庫的代碼單獨(dú)放在一個(gè)頁面(如 conn.asp)當(dāng)中封裝起來:
<%
dim conn
set conn=server.createobject(“ADODB.
connection”)
con.open”PROVIDER=SQLOLEDB;
DATASOURCE=local;
UID=sa;
PWD=****;
DATABASE=milnets”
%>
在要與數(shù)據(jù)庫連接的各頁中添加代碼< !——# include file=“conn.asp”一一>,即可實(shí)現(xiàn)與數(shù)據(jù)庫的連接 。
3.1.2 在連接數(shù)據(jù)庫的基礎(chǔ)上實(shí)現(xiàn)光盤信息查詢
部分代碼如下:
< %
dim select1,temp
select1= request.form(“select1”)
select case select1
case “光盤名”
temp=”select*from gban where title like
‘%”& select1&”%”
case “索書號(hào)”
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關(guān)鍵技術(shù)
3.2.1 隨書光盤鏡像文件的存放技術(shù)
本系統(tǒng)是將隨書光盤的數(shù)據(jù)壓縮轉(zhuǎn)換成ISO文件存放在服務(wù)器上,供用戶檢索下載。上傳隨書光盤存放可以通過兩種思路來實(shí)現(xiàn)。第一,通過將隨書光盤存放于數(shù)據(jù)庫,但這種方式對(duì)于數(shù)據(jù)較大的多媒體數(shù)據(jù)的明顯缺陷是下載時(shí)速度很慢,這對(duì)于同時(shí)多用戶下載影響較大。第二種思路是事先將隨書光盤存放的路徑信息存于數(shù)據(jù)庫。然后ASP程序與數(shù)據(jù)庫中的數(shù)據(jù)結(jié)合,顯示下載超鏈接通過數(shù)據(jù)并顯示下載。當(dāng)單擊下載時(shí)實(shí)現(xiàn)數(shù)據(jù)的下載,這種方法下載的速度快。因此,在技術(shù)上我們選擇了后一種方式。
3.2.2 隨書光盤鏡像文件的上傳技術(shù)
Adodb.Stream是ASP中ADO的Stream對(duì)象,提供存取二進(jìn)制數(shù)據(jù)或者文本流,從而實(shí)現(xiàn)對(duì)流的讀、寫和管理等操作。本系統(tǒng)利用它實(shí)現(xiàn)例如隨書光盤的上傳功能。本文只就數(shù)據(jù)處理頁面(upload.asp)作簡(jiǎn)單介紹,(下轉(zhuǎn)第166頁)(上接第163頁)upload.asp部分代碼如下:
<%
set str=server.CreateObject(“ADODB.
Stream”)‘str為源數(shù)據(jù)流
str.Mode=3‘設(shè)置打開模式,3為可讀可寫
str.Type=1‘設(shè)置數(shù)據(jù)類型,1為二進(jìn)制數(shù)據(jù)
str.Open
set desc=server.CreateObject(“ADODB.
Stream”)‘desc為目標(biāo)數(shù)據(jù)流
desc.Mode=3
Desc.Type=1
desc.Open
%>
<%
formdata=Request.BinaryRead(Request.
TotalBytes)‘formdata為上傳的所有內(nèi)容
str.Write formdata‘ 賦值源數(shù)據(jù)流
str.position=count-lenb(result)-2‘position指出文件的開始位置
str.copyto desc,lenb(filecotent)‘lenb(filecontent)表示文件的長(zhǎng)度
desc.SaveToFile fullpath,2‘以fullpath指定的路徑及名稱保存文件
%>
<%
Desc. Close
Set desc=nothing
Str. Close
Set STR=nothing
%>
4.結(jié)束語
對(duì)于中小型院校圖書館來說,由于建設(shè)資金有限,通過自己的技術(shù)人員結(jié)合本館的實(shí)際情況,研究設(shè)計(jì)一個(gè)簡(jiǎn)單實(shí)用的隨書光盤管理系統(tǒng),既豐富了圖書館的服務(wù)內(nèi)容,又為圖書館節(jié)約了資金,真可謂是兩全其美的選擇。
參考文獻(xiàn)
[1]朱麗敏.交互式動(dòng)態(tài)網(wǎng)頁構(gòu)建技術(shù)——ASP技術(shù)[J].太原科技,2006(2):40-41.
[2]李清.基于WEB的隨書光盤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].福建電腦,2006(5):22-23.
[3]肖勁陽.基于ASP技術(shù)的倉儲(chǔ)物流管理系統(tǒng)設(shè)計(jì)和開發(fā)[J].福建輕紡,2007(9):25-31.
作者簡(jiǎn)介:張凱(1986—),海軍陸戰(zhàn)學(xué)院訓(xùn)練部教??浦砉こ處煛?/p>