〔摘要〕本文開發(fā)的基于ajax和asp的機位在線預(yù)約系統(tǒng)以較低的成本解決了機位分配問題。系統(tǒng)個性化地考慮讀者個人習(xí)慣,允許讀者自由選擇機位。本文闡述了系統(tǒng)實現(xiàn)過程,為圖書館機位管理問題提供有效的解決途徑。
〔關(guān)鍵詞〕圖書館;電子閱覽室;在線預(yù)約系統(tǒng);Asp;Ajax
〔中圖分類號〕G255.2〔文獻標識碼〕B〔文章編號〕1008-0821(2013)02-0144-04
圖書館電子閱覽室是讀者利用與檢索館藏文獻、電子出版物以及網(wǎng)絡(luò)信息資源的重要場所,是圖書館數(shù)字化建設(shè)的重要組成部分和標志性部門。如何提高電子閱覽室的各種資源的利用率一直是圖書館管理者需要解決的問題,國內(nèi)同行研究類似問題的文章也舉不勝舉[1-7]。近期,我館第3電子閱覽室505室購進60臺方正品牌機供讀者使用。這批機器配置較高,因此,很受讀者歡迎。最初,我們采用了傳統(tǒng)的管理方式對這個電子閱覽室進行管理。讀者來到閱覽室后,如果電子閱覽室有位置,該讀者就在電子閱覽室機房管理系統(tǒng)終端的讀卡器進行刷卡,然后選擇空閑的設(shè)備進行上機操作;如果都沒有位置,讀者要么返回,要么在電子閱覽室門口排隊等候空余座位。在這種管理方式下,讀者事先并不知道設(shè)備的使用情況。因此,在電子閱覽室要么有一部分設(shè)備處于閑置狀態(tài),要么因設(shè)備都在被使用而導(dǎo)致讀者在門口排起了長隊。這種落后的管理方式常常給讀者帶來了諸多不便之處,同時也使得電子閱覽室管理效率和設(shè)備利用率都比較低。
本文針對上述問題,根據(jù)公正、公開和公平的原則以及照顧大多數(shù)讀者的原則,以校園網(wǎng)為依托,設(shè)計開發(fā)了電子閱覽室機位網(wǎng)上預(yù)約系統(tǒng)軟件,將這個電子閱覽室的機位通過網(wǎng)上預(yù)約的方式向讀者開放。為了方便讀者及時了解各個機位的使用情況,本系統(tǒng)實現(xiàn)了機位狀態(tài)實時預(yù)覽功能。同時,為了讀者選擇滿意的機位,本系統(tǒng)實現(xiàn)了在讀者瀏覽機位的使用情況時通過點擊相應(yīng)的機位號即可執(zhí)行預(yù)約操作的功能。從而,使得讀者可以隨時了解各個設(shè)備的使用情況,即節(jié)省了時間,也提高了設(shè)備的利用率。下面本文就該系統(tǒng)的設(shè)計與實現(xiàn)過程進行詳細的闡述。
1系統(tǒng)需求分析
根據(jù)我館實際情況,為實現(xiàn)預(yù)約機位、瀏覽機位狀態(tài)、查詢機位預(yù)約信息、機位預(yù)約統(tǒng)計以及網(wǎng)上機位預(yù)約撤銷等功能,筆者將本系統(tǒng)設(shè)計為以下5個模塊:①登錄模塊;②機位預(yù)覽;③機位預(yù)約;④預(yù)約查詢;⑤管理中心。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
11圖1電子閱覽室網(wǎng)上預(yù)約系統(tǒng)結(jié)構(gòu)圖11
根據(jù)我館的實際情況,系統(tǒng)設(shè)計的要點如下:
1.1用戶信息識別
讀者在預(yù)約機位時,首先通過圖書館主頁進入本系統(tǒng)登錄頁面來進行身份確認,只有通過身份確認后才能進入系統(tǒng)主頁進行預(yù)約機位操作。在我館圖書管理軟件采用的是匯文系統(tǒng)。所以,筆者能夠?qū)R文系統(tǒng)中的關(guān)于讀者的一些數(shù)據(jù)例如用戶名及密碼等導(dǎo)入到本系統(tǒng)讀者信息表中,這樣讀者在利用圖書館各種資源時實現(xiàn)了統(tǒng)一認證。
1.2機位預(yù)覽
讀者成功登錄到系統(tǒng)主頁后,若想了解各機位的具體位置和當(dāng)前的狀態(tài),可以通過點擊系統(tǒng)主頁頭部標簽“機位預(yù)覽”而進入到實現(xiàn)機位預(yù)覽功能的網(wǎng)面。筆者設(shè)定各機位有3種狀態(tài),用3種顏色標識,其中綠色代表“等待預(yù)約”;黃色代表“已經(jīng)預(yù)約”;紅色代表“已經(jīng)審核”。機位預(yù)覽圖的繪制是通過程序繪制而成,而且具有定時刷新功能。電子閱覽室505室機位二維平面預(yù)覽圖如圖2所示,其中有數(shù)字的方格代表機位,空白處沒有機位。從圖中可以看出該研修室共有60個機位,57個機位處于空閑狀態(tài),3個機位被預(yù)約,其中1個預(yù)約的機位已經(jīng)通過系統(tǒng)審核。11圖2圖書館在線預(yù)約系統(tǒng)11
讀者在成功登錄本系統(tǒng)主頁后,通過點擊主頁頂部標簽“機位預(yù)約”而進入預(yù)約頁面。在此頁面,讀者可以選擇房間和機位。讀者在選擇好房間和機位號后,點擊“提交” 按鈕即可申請預(yù)約。
此外,為了方便讀者能夠預(yù)約到理想機位,讀者可以直接在機位預(yù)約圖中點擊綠色的機位號申請預(yù)約。在圖2中,當(dāng)讀者將鼠標移到35號機位識別有效區(qū)時,鼠標處會實時顯示“點擊進行預(yù)約”的字樣。這樣,讀者只要單擊鼠標便執(zhí)行了預(yù)約35機位的操作。當(dāng)讀者在成功預(yù)約到機位后,系統(tǒng)會顯示該讀者預(yù)約機位的詳細信息,包括證件號、姓名、房間號、機位號、預(yù)約時間、開始使用時間、結(jié)束時間和客戶端IP地址等信息。
1.4機位查詢
讀者在成功登錄本系統(tǒng)主頁后,通過點擊主頁頂部標簽“機位查詢”而進入查詢頁面。在查詢頁面,讀者可以看到預(yù)約機位的詳細信息,包括房間號、機位號、開始使用時間和預(yù)約時間等。
1.5管理中心
管理中心是管理員管理系統(tǒng)的重要模塊,只有通過系統(tǒng)的身份認證,管理員才能登陸該模塊。在管理中心,管理員能夠執(zhí)行預(yù)約統(tǒng)計以及重新派位等操作。管理者也可以通過“預(yù)約統(tǒng)計”功能看到電子閱覽室當(dāng)前機位的預(yù)約統(tǒng)計情況。
為提高機位利用率及減少占座現(xiàn)象,我們規(guī)定某讀者已經(jīng)預(yù)約了機位,其應(yīng)在開始使用時間的10分鐘內(nèi)來到電子閱覽室使用相應(yīng)的設(shè)備。如果讀者在規(guī)定的時間內(nèi)沒有及時趕到,而且也沒有執(zhí)行預(yù)約撤銷操作,管理員會通過“重新派位”的 功能收回該機位并將其釋放,以供其他讀者繼續(xù)預(yù)約。同時,該讀者被加入了黑名單,并記錄讀者違約次數(shù),當(dāng)讀者違約次數(shù)達到3次將不能再預(yù)約機位。
2開發(fā)工具及數(shù)據(jù)庫系統(tǒng)選擇
本系統(tǒng)是基于B/S 模式的Web 數(shù)據(jù)庫軟件。B/S模式下,在客戶端幾乎不需要做任何修改,系統(tǒng)軟硬件的安裝、升級、維護僅集中在服務(wù)器端,且Web瀏覽器具有統(tǒng)一的用戶界面,形式簡單,操作方便。系統(tǒng)采用的開發(fā)工具為ASP。ASP是一個服務(wù)器端的腳本編寫環(huán)境,在站點的Web服務(wù)器上解釋腳本,可以用來創(chuàng)建和運行交互式、高效率的動態(tài)網(wǎng)頁或站點服務(wù)下器應(yīng)用程序。ASP可以與數(shù)據(jù)庫和其他程序進行交互,可以勝任基于微軟Web服務(wù)器的各種動態(tài)數(shù)據(jù)發(fā)布。本系統(tǒng)讀者總量為2萬多人,在線預(yù)約人數(shù)為600人,因此選擇使用access數(shù)據(jù)庫能夠很好的滿足系統(tǒng)要求。同時,在系統(tǒng)中使用Ajax,能夠根據(jù)用戶信息的變化實現(xiàn)頁面的局部更新,這樣客戶端可以得到豐富的應(yīng)用體驗和交互操作,無需刷新頁面,也無需等待,用戶提交的信息就能得到及時的回應(yīng)。
3預(yù)約系統(tǒng)的實現(xiàn)
預(yù)約系統(tǒng)的實現(xiàn)主要包括數(shù)據(jù)庫的設(shè)計、ASP業(yè)務(wù)邏輯的實現(xiàn)及系統(tǒng)部署及測試三部分。
3.1數(shù)據(jù)庫的設(shè)計
數(shù)據(jù)庫作為系統(tǒng)服務(wù)器端的后臺存儲了讀者的數(shù)據(jù)、機位的狀態(tài)數(shù)據(jù)和機位使用歷史數(shù)據(jù)。本系統(tǒng)數(shù)據(jù)庫表有3個表:讀者信息表、機位狀態(tài)表和預(yù)約信息表,下面分別加以介紹。
讀者信息表中包含了用戶證件號、密碼、姓名以及班級等信息。為標識讀者是否預(yù)約到機位,表中設(shè)置了預(yù)約標識字段flag。當(dāng)flag=0表示該讀者可以預(yù)約機位;當(dāng)flag=1表示該讀者已經(jīng)預(yù)約機位,不能再進行預(yù)約其他1個機位。這樣,通過字段flag就可避免1人預(yù)約多個機位的現(xiàn)象發(fā)生。機位狀態(tài)表中包含了機位的房間號、機位號及機位狀態(tài)等信息。當(dāng)前機位所處的狀態(tài)可能有3種情況:已經(jīng)預(yù)約、等待預(yù)約和已經(jīng)審核,具體處于哪個狀態(tài)用字段zwzt來表示。為了方便讀者選擇機位,本文實現(xiàn)了房間與機位聯(lián)動功能,即選擇了房間,就能將該房間對應(yīng)的機位自動顯示出來。為此本文設(shè)置了字段father,用來表示房間號與機位的父子節(jié)點關(guān)聯(lián)。比如房間號505在表中ID值為145,則該表中凡father字段值為145的機位均位于505房間中。預(yù)約信息表表中包含了證件號、姓名、房間號、機位號、預(yù)約時間、預(yù)約時間、開始時間、結(jié)束時間和客戶端IP地址等信息,其中字段sh用來表示讀者預(yù)約到機位后,是否辦理了預(yù)約手續(xù)。當(dāng)sh值為審核時表示讀者辦理了預(yù)約手續(xù),否則沒有辦理預(yù)約手續(xù)。
3.2ASP業(yè)務(wù)邏輯的實現(xiàn)
ASP服務(wù)器程序部分是實現(xiàn)機位管理業(yè)務(wù)邏輯功能的核心部分,包括用戶身份認證、機位狀態(tài)圖形顯示、機位預(yù)約信息保存、機位預(yù)約信息查詢以及實現(xiàn)管理員的相關(guān)管理操作。其中,機位狀態(tài)圖形顯示及機位預(yù)約信息保存是本系統(tǒng)的關(guān)鍵。這兩個部分都是通過asp程序?qū)崿F(xiàn)的。機位預(yù)覽圖具體繪制過程如下:
(1)首先根據(jù)505室機位二維平面圖對電子閱覽室的各個機位進行排號。
(2)開始繪制第一行。平面圖第一行是有窗戶的墻體,可通過一個單循環(huán)語句來進行繪制。并且在此單循環(huán)體內(nèi)進行判斷,如果是窗戶的所在位置,則繪制成一個帶“窗”字的方格;如果不是窗戶的所在位置,則繪制成一個空白方格。方格的大小通過css統(tǒng)一進行設(shè)置。
(3)現(xiàn)在繪制各機位的空間位置及其狀態(tài)顯示。這需要通過一個三層循環(huán)語句來進行繪制。首先利用數(shù)據(jù)集對象recordset從機位數(shù)據(jù)表中取出所有機位記錄,并將指針指向第一條記錄。然后,進入三層循環(huán)體。最外層循環(huán)體作用是依次取出每一個記錄數(shù)據(jù),然后在本循環(huán)體內(nèi)的兩層嵌套循環(huán)體內(nèi)分別按行和列依次進行處理。兩層嵌套循環(huán)體的外面一層是按平面圖的行進行循環(huán),里面的循環(huán)體是按列進行循環(huán)。在最里面的循環(huán)體對每一條記錄進行處理以繪制帶有機位號及顏色的用來表示機位狀態(tài)的小方格。在asp程序具體實現(xiàn)時,機位號可以通過當(dāng)前記錄中的機位號字段zwh獲得,然后根據(jù)機位狀態(tài)字段zwzt進行繪制背景顏色。我們規(guī)定如果zwzt值為“等待預(yù)約”,則背景顏色為綠色;如果zwzt值為“已經(jīng)預(yù)約”,則背景顏色為黃色;如果zwzt值為“已經(jīng)審核”,則背景顏色為紅色。當(dāng)處理完當(dāng)前記錄后,將記錄指針下移一行,指向下一條記錄。
(4)當(dāng)繪制完所有機位后,我們將繪制“門”等圖形。
通過上面的四個步驟,我們可以繪制出比較直觀的機位二維狀態(tài)圖,其中三重循環(huán)關(guān)鍵代碼如下所示:
在本系統(tǒng)中,讀者有兩種方式進行預(yù)約,下面分別進行介紹。第一種方式,讀者在成功登陸系統(tǒng)主頁后,通過點擊標簽“機位預(yù)約”,從而進入機位預(yù)約頁面。在此頁面,可以選擇房間號和機位號,預(yù)約時間和預(yù)約天數(shù)則由系統(tǒng)來確定。讀者選好房間及機位號后,通過點擊“提交”按鈕,系統(tǒng)將轉(zhuǎn)換到y(tǒng)ybc.asp處理頁面進行相應(yīng)的處理作。如果預(yù)約成功,系統(tǒng)會保存預(yù)約相關(guān)信息;如果預(yù)約失敗,系統(tǒng)會提示出錯原因?!疤峤弧辈僮鬟^程的流程圖如圖3所示。
11圖3機位預(yù)約流程圖〖〗
為方便讀者操作,我們提供了另外一種方式進行預(yù)約,即讀者可以直接在機位二維平面預(yù)覽圖上點擊背景為綠色的機位號即可實現(xiàn)預(yù)約。這時系統(tǒng)將由機位閱覽頁面zzyl505.asp轉(zhuǎn)到y(tǒng)ybc.asp頁面,并進行相應(yīng)的處理。同時,兩個動態(tài)參數(shù)“房間號”和“機位號”也將由頁面zzyl505.asp傳遞到y(tǒng)ybc.asp頁面?zhèn)鬟f,具體操作流程與如圖3類似。參數(shù)傳遞的代碼如下:
如果當(dāng)前機位的狀態(tài)為″等待預(yù)約″,則繪制成綠色方格
3.3系統(tǒng)測試
本系統(tǒng)在實際運行前經(jīng)過了一系列測試。需要注意的問題有以下兩點:
(1)為提供系統(tǒng)執(zhí)行效率,往數(shù)據(jù)庫添加新記錄時不要用append語句,而應(yīng)該用insert語句。同時,為了保證各個數(shù)據(jù)表的數(shù)據(jù)保持一致,在程序中加入了事務(wù)管理。
(2)在讀者預(yù)約機位的過程中可能會存在大量的并發(fā)事件。因此,預(yù)約系統(tǒng)對于服務(wù)器有一定的要求。服務(wù)器不能太繁忙,最好不要放在圖書館主頁所在的服務(wù)器上,而應(yīng)放在相對空閑的服務(wù)器上。否則,系統(tǒng)運行速度會較慢,甚至導(dǎo)致服務(wù)器癱瘓,從而引起讀者不滿。
4結(jié)束
筆者在設(shè)計開發(fā)的圖書館機位網(wǎng)上預(yù)約系統(tǒng)的過程中,充分考慮了讀者的實際需求,爭取做到界面更加友好,具體操作更人性化。本系統(tǒng)在我館試運行期間,有效緩解了505室占座及排隊等現(xiàn)象,并且提高了資源利用率,達到了預(yù)期效果。同時,也為解決類似問題提供了有效的解決問題的途徑。
參考文獻
[1]杜波.基于單片機及CAN技術(shù)的圖書館自習(xí)室機位管理系統(tǒng)的實現(xiàn)[J].情報探索,2003,(3):62-63.
[2]周國棟,王新赤,卞樹檀等.基于時分多址的圖書館機位管理系統(tǒng)[J].電子工程師,2008,34(7):77-80.
[3]肖紅.高校圖書館自習(xí)室自動排坐系統(tǒng)研究[J].圖書館,2009,(2):127-128.
[4]范紅月. 圖書館自習(xí)室自動排座系統(tǒng) [J ].圖書館雜志,2008,(9):48-49.
[5]孫發(fā),潘鵬程,廖文獻.圖書館書架定位系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2008,(12):95-98.
[6]孫發(fā),吳代莉,曾為眾.圖書館自習(xí)室管理系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2010,(5):93-98.
[7]高培超,曾濤,張玲,等.高校圖書館座位資源的使用現(xiàn)狀及建議[J].中國校外教育,2010,(8):139-140.
(本文責(zé)任編輯:孫國雷)