【摘要】信息技術的發展使得圖書隨書光盤越來越多,為了解決隨書光盤的利用問題,本系統基于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—),海軍陸戰學院訓練部教保科助理工程師。