艾 瓊 楊 晨 游 林
1(杭州電子科技大學圖書館 浙江 杭州 310018)2(杭州電子科技大學網絡空間安全學院 浙江 杭州 310018)
隨著國內若干高校在向科學研究型高校發展的過程中,高校圖書館在傳統信息服務的基礎上,服務方式和服務內容也產生了必要的延伸與拓展[1],其中一個很典型的服務方式是在圖書館內設立為教師、研究生或高年級本科生提供的(學術)討論室。我們通過實際調研及查閱有關的資料文獻,發現在討論室預約管理方面,一般分為兩種類型:即現場人工預約和網上自助預約。絕大多數的高校都采用了前一種的預約管理方式。通過對使用了商業公司預約系統的高校圖書館進行調研,我們發現網絡在線自助預約系統可以大大提高討論室的管理效率,減少人工預約易導致的讀者預約時不按規則流程等難以監管的行為,減輕工作人員工作負擔,同時可以減少工作人員與讀者間的矛盾。本文通過調研并結合本校圖書館討論室的實際使用情況研發了適用于館內現有終端的新型預約服務系統,該系統目前的使用效果良好,試運行期間得到了師生的廣泛好評。
1.1.1國內部分高校圖書館討論室的應用情況
南京中醫藥大學圖書館開設了三間討論室,這些討論室采取現場憑證件預約的管理辦法[2],為該校師生提供研討、學習的專用場所。清華大學、中國人民大學、社科院研究生院采用了聯創公司開發的研修間網絡預約系統[3]。通過對近150所高校圖書館的調研,發現討論室預約管理是以現場預約確認、網絡自主預約兩種方式為主,以及電話預約與郵件接收預約申請單等傳統方式與新時代的微信公眾號預約并存發展,詳情見表1[4]。大多數圖書館都采用了兩種及兩種以上的預約方式,以方便師生使用。
1.1.2討論室預約系統的需求
通過對用戶需求進行調查[5],97%的使用者需要或想要使用預約系統進行預約,75%的用戶希望通過圖書館內的預約機器在線預約。即大部分學生在完成日常學習過程中需要使用預約系統,并希望通過圖書館內的預約機器完成預約,方便來館即能夠快速進行預約。此外有87%的用戶希望通過手機等移動客戶端在線預約。
我們認為一個好的預約系統應該擁有這些能力:可靠、全面、負責、關懷、可感知[6]。且討論室預約系統首先要在適用于館內現有設備的基礎上進行設計改造,并提供用戶可操作的友好界面和較完善的功能,能在使用過程中給出一定的提示性語句,并設置自動匹配討論室等簡化用戶操作的按鈕,最終根據規則判斷預約是否有效,當場給出預約的結果。預約成功后或無用戶操作時,主界面將顯示列出所有討論室的預約記錄,給出所有討論室預約情況,并且需要在手機微信等移動客戶端中也配備預約功能,方便用戶隨時預約。
討論室預約系統是一種自助式系統,用戶通過館內終端預約獲取一段時間內討論室的使用權限。系統結構圖如圖1示。

圖1 討論室預約流程圖
讀者通過現場終端機或者手機微信,可以獲取實時的、表格化的討論室使用信息,便于用戶查看所有討論室的使用情況和自己所預約的討論室信息,也可透明化討論室的管理。預約討論室時,通過學校身份驗證API判斷用戶的合法性。由于館內已上線使用較多的自助化系統(如:自助復印、打印,自助借還書機,人臉識別入館),具有相關的API接口,通過對相關API的調用,可以驗證讀者身份,進行房間預約、取消等操作,所有操作都將實時反饋至系統主界面。預約成功后,在規定時間內簽到即可使用討論室。
本節基于軟件工程設計中自頂向下設計的基本思路,先使系統的所有模塊都小到便于掌握,之后整合模塊至系統各要素,最終完成系統的開發。
整個系統共用一個數據庫資源,所以首先應構建數據庫系統;數據庫下設有以下幾個表:每日配置表、黑名單表、預約信息表、歷史記錄表、統計表、管理員賬戶表等。
2.2.1討論室列表信息模塊
討論室信息以列表的形式展現在系統首頁上,向借閱者展示討論室的預約記錄及狀態。模塊采用內部時鐘控制,每間隔一段時間或進行一次記錄更新就刷新一次記錄表,每條記錄按照日期、討論室號、時間進行排列,方便用戶查找。每條預約記錄按照不同的使用狀態,用不同的顏色標識。終端機主界面如圖2所示。

圖2 系統主界面圖(經裁剪后)
圖2中每一行表示一條預約記錄,灰色表示本記錄已使用完本討論室,深灰色條目為已取消的無效條目,還有更詳細的使用狀態在第七欄用文字說明。通過討論室列表信息模塊,讀者可清晰地了解各個討論室的預約使用情況,對讀者起指示作用。不過預約時不用通過查表來看是否有空閑討論室可約,系統在預約功能模塊提供了自動匹配討論室的功能可以供讀者使用。如讀者擬預約的時間內沒有空閑的討論室,則給出提示:此時間段沒有可供預約的討論室。
2.2.2用戶身份驗證模塊
模塊使用校園一卡通的接口API和圖書館匯文管理系統的接口,借鑒了文獻[7]的一些思路。以下簡單介紹圖書館匯文接口類的創建和使用:
第一步,新建一個“初始化”的方法,以對象為目的的方式先訪問匯文網站,將得到并返回的初次的信息進行保存。
第二步,新建一個“獲取驗證碼”的方法,再以對象為目的的方式提交原到匯文的驗證碼地址服務器,將返回的字節集合形式的“圖片驗證碼”進行保存,然后將兩次產生的信息合并為新的信息。
第三步,新建一個“登錄”的方法,我們以number+學號+&captcha+驗證碼+&passwd+密碼+&returnUrl=&select=cert_no為提交數據,并以POST方式提交到訪問的匯文,完成整個登錄及獲取信息的操作。
至此完成模塊主體的制作,此模塊可幫助我們之后區分用戶身份,方便管理,并授予登錄的館內管理員管理權限。
2.2.3預約模塊
預約模塊較為復雜,且為整個系統的重點,需要整合多個數據庫與子模塊中類的方法來實現。
1) 預約界面合法要素的生成 由于許多客觀因素的限制(如討論室節假日的開放時間有別于平常或有時需要臨時關閉某一討論室以留用),預約界面的生成需要多方面條件綜合后給出,如:只生成已被管理員開啟預約的日期及其中開啟預約的討論室。這就要求根據管理員設置的不同讀取每日配置數據庫生成預約界面,引導讀者填寫正確的預約信息。
2) 預約請求合法性判斷 為了管理的需要,完成預約要進行多個條件的判斷。如每次預約是否超過1小時且小于或等于4小時;每位讀者每天預約次數是否超過限制;欲預約時段討論室是否已經有人預約;預約人是否在黑名單內等;以上多條限制完全通過后再將預約信息寫入數據庫,并提示預約成功。
2.2.4黑名單模塊與區塊鏈技術
在預約系統使用過程中,為避免讀者濫用公共資源(如預約后多次不赴約,占用討論室做與研究和學術無關的事、大聲吵鬧或發生破壞公物等行為),所以依據我校圖書館以前討論室人工預約系統的經驗,建立了黑名單制度對此類行為進行一定程度的懲罰。解決辦法是在系統設計中增加了黑名單模塊線程,輪詢判定違約和處理記錄更新。有違約情況的用戶將被寫入黑名單列表數據庫,禁止該用戶一段時間內的預約操作。當然管理員也可以對其他違約行為手動添加違約記錄,被列入黑名單的用戶只能等待系統設定的解禁時間結束或向管理員申訴進行解禁。且可在預約系統設置:當進入黑名單列表中的讀者的違約記錄超過約定數量時,將其列入學校的學籍或誠信檔案。
此外,為防止黑名單遭到網絡攻擊、管理員密碼泄露或蓄意篡改黑名單記錄的現象,可以建立基于區塊鏈技術黑名單列表系統。區塊鏈是一種基于密碼算法與共識算法的去中心化、點對點傳輸的分布式網絡數據庫。區塊鏈的特點是去中心化、數據公開可信且不可篡改、人人(網絡節點)或若干具有某種屬性的人(網絡節點集)均可平等參與數據庫記錄。區塊鏈上數據的安全性與用戶的隱私保護是基于密碼算法的。設計基于公有區塊鏈技術的黑名單數據庫,使得若干指定的管理員可以共同參與黑名單的記錄,但任何一個管理員都不能夠徇私更改先前已記錄的黑名單,且可抵御外來的針對黑名單的篡改攻擊。同時記錄在黑名單上的讀者的隱私信息(如班級、姓名、學號、違規信息)均可以采用匿名地址、可鏈接環簽名、非交互式零知識證明等隱私保護技術進行保護。
2.2.5在線升級模塊
軟件系統的升級再開發是軟件生命周期必不可少一部分。如果沒有在線升級模塊,系統的館內終端(館內300余臺主機)的升級維護每次都將會是一件非常困難的事情。升級模塊利用了騰訊云的對象存儲服務,騰訊云將確保其云服務及網絡的安全可靠,進而確保系統終端使用過程中的穩定升級。升級模塊從騰訊云下載新文件,并對軟件系統相應文件進行替換,完成軟件系統的升級。
2.2.6人臉識別模塊
本模塊作為驗證身份的輔助手段使用,可使很多驗證環節得以簡化,畢竟“科技的本質就是讓用戶體驗不到科技的存在”。例如,在簽到時用戶只需從簽到機前經過然后確認個人信息點擊簽到,即可完成簽到,極為方便。該模塊需要用戶事先確認開通人臉面部特征或圖像識別功能,并拍下3~5張照片留存人臉庫中,系統使用人臉特征識別算法對用戶在經過簽到機時進行面部特征提取,并基于歐式距離誤差閾值等判別方法進行對比識別來確定用戶的身份。
人臉識別技術[8]已成為除指紋識別技術外應用最廣泛的生物特征識別技術。人臉識別方法主要有三類:即特征臉方法、局部二值模方法,以及Fisherface方法。在我們預約系統中的人臉識別模塊采用基于主成分分析法(PCA)的特征臉方法。由于卡片式校園一卡通容易發生丟失、被盜、損壞、忘記攜帶等現象,所以目前許多高校已采用了基于生物特征識別技術的校園無卡通系統。經調研,一般都是采用指紋或人臉識別技術。在一些涉及安全級別很高的重要機構,則可同時采用多種生物特征識別技術混合的訪問控制系統,如銀行金庫、軍事物資等管理系統。
為了防止違規替代他人預約討論室或假冒預約讀者進入討論室的情況,計劃后續在對預約系統進行升級時,設計基于人臉或指紋識別技術加手機預約驗證碼進入討論室的訪問控制模塊。手機預約驗證碼的有效時間可設置為某固定時間。
此組API提供系統外平臺訪問本系統的獨立接口,而不用對外接平臺編寫已有應用。使用時只需調用相應模塊的API即可。在工業4.0時代,本系統今后可成為智能圖書館系統直接對接的API接口,對接后實現全自動查詢,開發以個體為對象的智能互動式服務系統[9]。且在手機使用率越來越高的今天,可以在服務器運行軟件系統實體,而在微信、QQ等平臺使用API接口來運行預約系統。手機預約方便用戶使用,而且減少了系統附加設備主機的開銷,一舉兩得。API使用的過程是,在使用開始時首先要對請求用戶的賬號和密碼加密傳輸給服務端,服務端驗證登錄,如果成功,則生成加密的Token返回給用戶端。客戶端請求API時在請求中帶上Token,服務端收到請求驗證Token有效性,解密后執行指令即完成整套API的調用。圖3是系統API的設計思路,具體編寫代碼不再贅述。

圖3 系統API使用流程
目前預約系統尚處于館內試運營階段。由于館內原有查詢終端眾多并都已上線提供討論室預約服務,因此使得讀者在使用本系統時感覺便捷且實際使用效率高。在半年的測試服務中系統表現良好,很好地解決了原有手工填表預約時的表格填寫混亂、違規預約過多的問題。使用過該預約系統的師生對用手機微信預約和人臉識別簽到的反響很高,對圖書館與時俱進的創新服務紛紛表示了贊賞。
自2017年9月8日預約系統開始線上使用以來至2017年12月18日(共計101天),系統中的18間討論室共使用3 993次,10 559小時。平均每天服務39.5次,104.5小時(6-07號討論室有一段時間被暫停使用,故該討論室記錄到的使用次數較少),預約統計如表2所示。

表2 預約信息統計匯總

續表2
通過本次測試,讀者和工作人員也提出如下改進意見:(1) 用手機微信預約討論室后,增加使用時間與結束時間快到時的手機平臺提醒功能,使讀者能提前做好讓出討論室給下一位預約的讀者使用,或者兩個預約使用時間段間能留出一個5至10分鐘的使用空檔,使圖書館服務討論室的使用能更加有序、高效,也更能提升師生對圖書館服務的認知度[10]。(2) 增加傳感器(可采用溫度傳感器)對已簽到討論室無人使用的情況進行檢測,記錄預約者違約,增加公共空間使用效率。傳感器可采用溫度傳感器。如果不考慮涉及個人隱私的話,可采用視頻監測的方式對討論室的使用情況進行監測。(3) 使用環境傳感器對聲音過大的討論室進行提醒,對多次提醒無效的討論室,對主預約人記一次違約并記入黑名單一次,且停止其本次討論室的使用。(4) 預約系統可增加一些信息插件對用戶予以適當的提醒與引導,針對教師、研究生、本科生、外籍學生、以及新用戶等不同群體的用戶給予不同的支持[11]。比如針對外籍學生,預約系統可增加英文或其他外語的中外文對照的文字引導或聲音提示。
本系統可拓展至其他需要“預約功能”的場合使用,軟件只需要進行一些簡單的程序名稱與相應規則的修改即可。比如醫院的專家預約就診、網上掛號、大學校園里的會議室使用、場館租借等場所的預約使用等。圖書館討論室作為理想的預約系統的實踐場所,檢驗了本系統的可靠性與實用性,可為同類軟件系統的開發過程提供一定的指導。
現代圖書館提供了越來越豐富的人性化服務。討論室(或研究室、研修室)作為其中重要的必不可少的資源空間對學校師生實行開放使用的同時,如何使圖書館公共資源得到更合理的利用是一個十分重要的課題。本文從本校圖書館討論室當前的人工管理模式與師生的實際需求入手,以基于手機端的討論室預約系統,改進了傳統的人工管理模式,為大數據時代下圖書館自助管理與創新服務模式給出了一個有很好的有較好實際應用意義的研發方向。
考慮到因為我校預約系統出現違約與違規使用的情況較多,所以黑名單列表在預約系統占有較重要的地位,因此后期計劃將預約系統開發升級成一款基于區塊鏈技術的手機App預約系統。這樣不僅可以很方便地增加重要或特殊書刊借閱預約、網絡打印預約、訂餐預約、書刊訂購推薦、預約系統使用建議反饋,以及針對管理人員的服務質量的意見反饋等新功能,而且可防止黑名單發生篡改的現象。
本文以杭州電子科技大學圖書館討論室的預約系統為例,詳細闡述了開發過程,研發的預約系統也為其他院校圖書館討論室(或研究室、研修室)或其他類似的預約系統提供了參考。