孫 發(fā),曾為眾,葉 蔚
大多數(shù)讀者對館藏圖書分布和排架規(guī)則缺乏了解,單憑索書號比對無法快速定位圖書,利用圖書定位系統(tǒng)能有效解決讀者找書難的問題[1]。圖書定位系統(tǒng)由定位數(shù)據(jù)采集系統(tǒng)和定位顯示系統(tǒng)組成,前者負責(zé)完成圖書定位數(shù)據(jù)采集和定位數(shù)據(jù)庫構(gòu)建;后者通過對定位數(shù)據(jù)庫的查詢,將返回的目標(biāo)圖書定位數(shù)據(jù)作可視化定位顯示輸出。
定位數(shù)據(jù)采集系統(tǒng)是圖書定位系統(tǒng)構(gòu)建的關(guān)鍵,決定了定位顯示的精準度。根據(jù)采集輸入方式,可分為RFID定位數(shù)據(jù)采集系統(tǒng)和條形碼定位數(shù)據(jù)采集系統(tǒng)。RFID采集一般采取“靜態(tài)采集”方式對架位RFID標(biāo)簽和圖書RFID標(biāo)簽進行非接觸式捆綁讀取,并通過采集系統(tǒng)將定位數(shù)據(jù)存入數(shù)據(jù)庫,其采集速度快,是當(dāng)前最有效的圖書定位數(shù)據(jù)采集方式[2-3]。而條形碼采集通常以“架節(jié)首書”方式對在架圖書進行條形碼掃描,并通過采集系統(tǒng)將圖書分類號及位置數(shù)據(jù)等定位數(shù)據(jù)存入數(shù)據(jù)庫,其采集過程包括取書、翻頁、條形碼掃描和圖書歸架等人工操作環(huán)節(jié),采集速度相對較慢,但不需要其他額外成本投入[4]。
然而,上述兩種定位數(shù)據(jù)采集系統(tǒng)都存在人工采集總量過大、定位顯示高準確率難保持等問題,使得圖書定位系統(tǒng)未能被廣泛應(yīng)用推廣,其定位服務(wù)難以持續(xù)開展。而以條形碼管理模式為主的國內(nèi)圖書館,由于采集效率較低,其問題更為突出。為此,筆者以條形碼圖書定位系統(tǒng)為主要研究對象,在前期研究應(yīng)用的基礎(chǔ)上[5],從降低系統(tǒng)人工采集精度、定位數(shù)據(jù)二次虛擬采集和定位顯示精度調(diào)整等三個方面進行系統(tǒng)整體優(yōu)化,最終實現(xiàn)定位數(shù)據(jù)的高效采集和圖書定位的精準顯示,以解決條形碼管理模式下的圖書定位系統(tǒng)應(yīng)用推廣障礙,同時該優(yōu)化方案也適用于RFID圖書定位系統(tǒng)。
(1)定位顯示精度需求。讀者找書是通過圖書索書號的比對,依次確定圖書所在樓層、書架、書架正反面、架節(jié)和架格位置,其中架節(jié)和架格定位環(huán)節(jié)最為費時,僅限于書架導(dǎo)航的圖書定位系統(tǒng)不能完全滿足讀者的圖書定位精度需求,圖書定位顯示精度需要達到架節(jié)級別[6-7]。為確保用戶良好體驗,定位顯示精度應(yīng)在3節(jié)以內(nèi),讀者無需移步即可在定位區(qū)域內(nèi)找到圖書。
(2)定位顯示準確度需求。書庫圖書存在借閱、新增和剔舊等情況,為保證排架質(zhì)量,工作人員會進行順架、倒架等日常操作,圖書位置會不斷發(fā)生變化。因此,采集人員還需要及時進行圖書定位數(shù)據(jù)的采集更新,使得定位數(shù)據(jù)與實際位置相一致,以確保圖書定位系統(tǒng)保持較高的定位顯示準確率。
在當(dāng)前圖書定位應(yīng)用實踐中,為盡量滿足讀者圖書定位需求,定位數(shù)據(jù)采集普遍將書架每節(jié)首書作為人工采集點(即人工采集精度為“單節(jié)”),通過采集系統(tǒng)將圖書分類號和位置數(shù)據(jù)等定位數(shù)據(jù)存入定位數(shù)據(jù)庫(即定位數(shù)據(jù)精度等于人工采集精度,精度為“單節(jié)”),并以“單節(jié)”精度作圖書定位顯示。系統(tǒng)設(shè)計遵循“人工采集精度=定位數(shù)據(jù)精度=定位顯示精度=單架節(jié)”的數(shù)據(jù)采集與定位顯示模式。該模式能滿足讀者的圖書定位精度需求,但存在兩個問題:(1)采集工作總量大?!皢喂?jié)”人工采集精度產(chǎn)生巨大的采集工作量。以筆者單位茶山校區(qū)為例,校區(qū)館藏圖書總共79萬余冊,書架652排,共計4394列架節(jié),完成一次館藏圖書定位數(shù)據(jù)采集需要對8788點進行采集(書架為雙面,故N節(jié)書架需人工采集2N點)。由于條形碼定位數(shù)據(jù)采集速度慢,采集總耗時長。以筆者單位原有采集系統(tǒng)為例,完成一次館藏圖書定位數(shù)據(jù)采集大約需要6個標(biāo)準工作日。(2)定位顯示高準確率難保持。相對于“2節(jié)”“3節(jié)”較低的圖書定位顯示精度,“單節(jié)”精度下的圖書定位準確率下降速度更快,及時更新采集才能保持較高的圖書定位數(shù)據(jù)準確率,而“單節(jié)”精度下的人工采集工作總量大,提高更新采集頻次方案實施難度大。在實際應(yīng)用中,常以犧牲定位顯示準確率為代價,通過延長更新采集周期來減少更新采集次數(shù),最終影響了圖書定位服務(wù)的用戶體驗。
為解決當(dāng)前系統(tǒng)所存在的采集工作總量大和定位顯示高準確率難保持兩大問題,本文打破“人工采集精度=定位數(shù)據(jù)精度=定位顯示精度=單架節(jié)”的數(shù)據(jù)采集與定位顯示模式,通過軟件技術(shù),圍繞著保持定位數(shù)據(jù)的高精準度和減緩定位顯示準確率下降速度兩大目標(biāo),從降低人工采集精度、系統(tǒng)二次虛擬采集和定位顯示精度調(diào)整等三個方面進行系統(tǒng)整體優(yōu)化,最終實現(xiàn)較高的圖書定位顯示精準度。系統(tǒng)優(yōu)化設(shè)計思路如圖1所示。
“單節(jié)”精度下的人工采集工作總量過大,定位數(shù)據(jù)更新采集實施難度大。為此,新系統(tǒng)增加“隔節(jié)”“首中”“首書”等多個低精度采集選項,通過降低采集精度來減少人工采集工作量,讓提高更新采集頻次方案具有實際可操作性,以保持定位數(shù)據(jù)的高準確率。其中,“單節(jié)”精度是指對每列架節(jié)最上層架格的第一本書(下稱“架節(jié)首書”)進行定位數(shù)據(jù)采集;“隔節(jié)”精度則隔空一列進行架節(jié)首書定位數(shù)據(jù)采集;“首中”精度是指對第一列架節(jié)首書和書架中間位置的架節(jié)首書進行定位數(shù)據(jù)采集;“首書”精度只對書架第一列架節(jié)首書進行定位數(shù)據(jù)采集。以N架節(jié)書架的一面為例,各精度采集點分布及總數(shù)如表1所示。
圖1 系統(tǒng)優(yōu)化設(shè)計思路
表1 各精度采集點分布及總數(shù)
由表1數(shù)據(jù)可知,人工采集工作量隨采集精度降低而快速減少。此外,系統(tǒng)需支持精度切換功能,即采集人員在采集過程中可根據(jù)書庫類型和書架架節(jié)數(shù)量等情況切換到合適精度。例如,對于樣本書庫等不流通書庫,圖書排架操作較少,采集人員可選擇“單節(jié)”“隔列”等較高采集精度;對于流通書庫,采集人員根據(jù)預(yù)期采集總量和更新周期等情況,酌情選擇“隔列”“首中”“首書”等低采集精度;對于較多節(jié)數(shù)書架組成的書庫,采集精度可選擇“首中”“首書”等低采集精度。
現(xiàn)有模式下,人工采集精度決定了定位數(shù)據(jù)精度,單方面降低人工采集精度會同時降低定位數(shù)據(jù)精度和定位顯示精度。為此,新系統(tǒng)設(shè)計增加了系統(tǒng)“二次虛擬采集”功能模塊,即對“隔節(jié)”“首中”“首書”的非“單節(jié)”精度定位數(shù)據(jù)進行系統(tǒng)二次模擬采集,生成“單節(jié)”精度的圖書定位數(shù)據(jù)。
圖書定位系統(tǒng)性能優(yōu)劣取決于圖書定位的精度和準確率,系統(tǒng)設(shè)計應(yīng)綜合考慮定位顯示的精度和準確率,從總體上提升用戶體驗。現(xiàn)有模式在定位顯示精度上采用了較高的“單節(jié)”精度,但由于人工更新采集工作量過大,最終無法同時保持較高的定位顯示準確率。
在滿足讀者對圖書定位精度需求的前提下,為減緩定位顯示準確率下降速度和彌補系統(tǒng)“二次虛擬采集”產(chǎn)生的數(shù)據(jù)誤差,優(yōu)化系統(tǒng)將定位顯示精度由“單節(jié)”擴展為“2節(jié)”或“3節(jié)”,以實現(xiàn)較高的圖書定位精準度。
圖書定位數(shù)據(jù)采集系統(tǒng)由Flash圖書定位數(shù)據(jù)采集界面、ASP后臺頁面、SQL程序和數(shù)據(jù)庫組成,其中,“精度選擇”“二次虛擬采集”為新增功能。系統(tǒng)結(jié)構(gòu)如圖2所示,系統(tǒng)業(yè)務(wù)流程圖如圖3所示。
圖3 系統(tǒng)流程圖
采集系統(tǒng)界面由Adobe Flash Professional CS5.5設(shè)計軟件制作,新增“精度”組件,并對采集界面進行了布局優(yōu)化。采集界面如圖4所示。
圖4 Flash圖書定位數(shù)據(jù)采集界面
系統(tǒng)數(shù)據(jù)庫采用Microsoft SQL Server,包含“采集書架”“圖書定位”“圖書簡表”等表?!安杉瘯堋北碛糜诖鎯茴愋蛿?shù)據(jù),“采集序號”字段定義書架采集順序,系統(tǒng)管理員根據(jù)館藏書架排架順序依次賦值書架采集序號;“圖書定位”表用于存儲館藏圖書定位采集數(shù)據(jù);“圖書簡表”用于計算虛擬采集點位置,數(shù)據(jù)從圖書管理數(shù)據(jù)庫中抽取,為了提高表數(shù)據(jù)更新效率,后續(xù)更新可根據(jù)歷史數(shù)據(jù)導(dǎo)入時間追加新數(shù)據(jù)。表2和表3中的轉(zhuǎn)換分類號是將圖書分類號中的“/”“=”“-”“:”“.”“(”等字符依次替換為“!”“#”“$”“&”“,”“+”等字符而形成,目的是實現(xiàn)圖書分類號排架順序和ASCII值大小順序相一致。
表2 采集書架
表3 圖書定位
表4 圖書簡表
系統(tǒng)業(yè)務(wù)邏輯由Flash動態(tài)腳本程序、ASP后臺頁面程序和SQL程序共同實現(xiàn)。新系統(tǒng)對原有圖書定位數(shù)據(jù)采集系統(tǒng)進行業(yè)務(wù)流程優(yōu)化,新增“采集精度設(shè)置”“二次虛擬采集”“上一采集點”“下一采集點”等業(yè)務(wù)邏輯實現(xiàn)。其中,“采集精度設(shè)置”由采集界面組件及Flash動態(tài)腳本編程實現(xiàn);“二次虛擬采集”是通過SQL SERVER查詢分析器編寫而成;“上一采集點”“下一采集點”為ASP后臺頁面程序。
3.3.1 ASP后臺頁面
在ASP后臺頁面的編程中,通過Request對象接收數(shù)據(jù)、SQL語句讀寫數(shù)據(jù)庫和Response.Write對象方法返回數(shù)據(jù)。采集系統(tǒng)包含六個ASP后臺頁面,頁面?zhèn)魅雲(yún)?shù)、返回參數(shù)和主要功能見表5。其中,“上一采集點”“下一采集點”為系統(tǒng)優(yōu)化新增內(nèi)容,其具體功能如下:(1)“上一采集點”ASP后臺頁面。當(dāng)完成一面書架采集且不是首面書架時,通過該ASP后臺頁面將架面首節(jié)首書的分類號數(shù)據(jù)賦值給前一采集架面末節(jié)末格采集點,使得系統(tǒng)在減少一個人工采集點的同時,還讓每面書架定位數(shù)據(jù)形成一個包含首節(jié)首書和末節(jié)末書的閉區(qū)間,以方便圖書定位數(shù)據(jù)處理。以6層8節(jié)類型書架為例,當(dāng)完成“floor_01._003._0._043”(1樓層3號架正面43架格)采集最后一個架格首書采集后,ASP后臺頁面會在數(shù)據(jù)庫表中添加一條location為“floor_01._002._1._048”的新記錄,并將“floor_01._003._0._001”首書分類號、轉(zhuǎn)換分類號、采集時間等定位數(shù)據(jù)復(fù)制給該新記錄。(2)“下一采集點”ASP后臺頁面。在完成一面書架采集時,該ASP后臺頁面被調(diào)用,查詢返回下一個采集點位置數(shù)據(jù)給Flash采集界面動態(tài)腳本,并更新采集界面。
表5 ASP后臺頁面說明
3.3.2 低精度設(shè)置
在Flash動態(tài)腳本程序中,定義一個4維數(shù)組來存儲在各個采集精度、書架層數(shù)和書架節(jié)數(shù)下的采集架格位置,架格分布規(guī)則如表1所示。精度為“單節(jié)”“隔節(jié)”“首中”“首書”等采集精度;書架層數(shù)分5層和6層兩種;書架節(jié)數(shù)為1節(jié)到館藏書架最大節(jié)數(shù);在書架節(jié)數(shù)一維數(shù)組中存儲著該書架采集架格位置數(shù)據(jù),其中最后一個架格為非人工采集點,通過“上一采集點”ASP頁面實現(xiàn)定位數(shù)據(jù)的系統(tǒng)自動賦值。以3節(jié)數(shù)書架為例,在各精度、層數(shù)下的采集架格分布如下:
例如,在“首書”精度下,6層3節(jié)類型書架首書進行采集時(即MODE為“603”),其首節(jié)首書架格采集位置的數(shù)組引用格式是JD_ARRAY[3][1][2][0](即“_001”)。
當(dāng)采集人員切換精度時,系統(tǒng)會觸發(fā)組件監(jiān)聽函數(shù),根據(jù)當(dāng)前采集書架類型和架面采集進度自動調(diào)取JD_ARRAY數(shù)組中相應(yīng)的值,并更新采集界面。
3.3.3 二次虛擬采集
在完成館藏圖書定位數(shù)據(jù)的人工采集后,需要對非“單節(jié)”精度定位數(shù)據(jù)進行系統(tǒng)二次虛擬采集。“二次虛擬采集”程序由SQL SERVER查詢分析器編寫而成,以SQL文件形式保存在數(shù)據(jù)庫服務(wù)器上,以備調(diào)用執(zhí)行。
程序總體設(shè)計思路是依次對各樓層、架號和架面下的采集定位數(shù)據(jù)進行低精度識別和系統(tǒng)二次虛擬采集,其處理最小單位為架面定位數(shù)據(jù)。其總體流程如下代碼所示:
其中,“架面定位數(shù)據(jù)二次虛擬采集”是整個程序設(shè)計實現(xiàn)的關(guān)鍵,其設(shè)計思路是依次對架面先后兩條記錄的位置數(shù)據(jù)作列差計算,當(dāng)列差數(shù)大于1時(即精度大于1節(jié)),查詢兩條記錄轉(zhuǎn)換分類號之間的館藏圖書數(shù)據(jù),并以圖書均勻分布排架為計算模型,計算獲得兩條記錄之間的虛擬采集點位置和分類號等定位數(shù)據(jù)。具體設(shè)計實現(xiàn)如圖5所示。
圖5 二次虛擬采集關(guān)鍵設(shè)計
圖書定位系統(tǒng)由定位數(shù)據(jù)采集系統(tǒng)和定位顯示系統(tǒng)組成,系統(tǒng)部署環(huán)境主要包括IIS服務(wù)器(供ASP文件和SWF文件網(wǎng)絡(luò)訪問)和SQL SERVER數(shù)據(jù)庫服務(wù)器。定位數(shù)據(jù)采集系統(tǒng)為相對獨立的軟件系統(tǒng),以可執(zhí)行文件或Web訪問方式運行;定位顯示系統(tǒng)則以Flash OBJECT和EMBED標(biāo)簽代碼形式嵌套到OPAC檢索系統(tǒng)圖書顯示頁面中。
選取類型為6層9節(jié)類型和6層7節(jié)類型組成的20排書架為采集樣本,共計5萬冊圖書,由一位采集人員分別在各精度下分別完成圖書定位數(shù)據(jù)采集,并經(jīng)系統(tǒng)“二次虛擬采集”處理后,生成“單節(jié)”精度的圖書定位數(shù)據(jù)。
相關(guān)數(shù)據(jù)如表6所示,其中,“2節(jié)”是指將精度由單節(jié)擴展為2節(jié),末節(jié)向左擴展1節(jié),其余向右擴展1節(jié);“3節(jié)”是指將精度由單節(jié)擴展為3節(jié),首節(jié)向左、末節(jié)向右擴展2節(jié),其余向左右各擴展1節(jié);平均準確率計算公式如下:
其中,a為書架數(shù)量,j代表架面,b為架節(jié)數(shù)量,COUNTE(i,j,k)為單節(jié)精度下i排、j面、k列書架區(qū)間的圖書數(shù)量,COUNTS(i,j,k)為其他低精度采集下i排、j面、k列書架區(qū)間圖書與單節(jié)精度下圖書相一致的圖書數(shù)量。
表6 實驗數(shù)據(jù)分析
通過表6數(shù)據(jù)分析可見,對照“單節(jié)”精度采集,低精度采集能成倍提高采集速度,精度越低采集速度越快;在定位數(shù)據(jù)準確度方面,“二次虛擬采集”會導(dǎo)致定位數(shù)據(jù)準確率有所下降,采集精度越低,定位數(shù)據(jù)準確率下降幅度越大;在定位顯示精度調(diào)整方面,當(dāng)定位顯示精度擴展為“2節(jié)”時,定位數(shù)據(jù)平均準確率最低為92.64%,當(dāng)定位顯示精度擴展為“3節(jié)”時,定位數(shù)據(jù)平均準確率最低為99.48%??梢?,通過調(diào)整定位顯示精度,能有效彌補“二次虛擬采集”造成的定位數(shù)據(jù)準確率下降。
從采集速度、定位數(shù)據(jù)準確率和定位顯示精度等因素綜合考慮,測試書庫存在六個可行性方案能同時滿足較快的采集速度和較高定位顯示精準度,即表6中標(biāo)注序號所對應(yīng)的采集精度與定位顯示精度組合方案。其中,方案①(“隔節(jié)采集精度+單節(jié)精度定位顯示”)定位顯示精度最高,方案⑥(“首書采集精度+3節(jié)精度定位顯示”)人工采集速度最快。
4.2.1 采集精度和定位顯示精度方案選擇
由表1數(shù)據(jù)和系統(tǒng)測試數(shù)據(jù)可知,當(dāng)架節(jié)數(shù)N>3,“單節(jié)”“隔列”“首中”“首書”等精度的采集點數(shù)量比例為N∶N/2∶2∶1。書架節(jié)數(shù)越大,低精度采集速度提升越顯著,但會造成定位數(shù)據(jù)準確率的下降。為此,針對類型差異書架書庫,可依據(jù)4.1節(jié)中的實驗方案,選取樣本書架進行測試,在數(shù)據(jù)分析基礎(chǔ)上,選出可行的采集精度和定位顯示精度方案,并根據(jù)書庫日常排架情況和采集人員精力等現(xiàn)實因素,進一步選擇最佳方案。以筆者單位為例,測試書架書庫排架、倒架操作比較頻繁,更新采集頻次較高,因此,選取表6中方案⑥作為該區(qū)域書庫的最終執(zhí)行方案。
4.2.2 書庫更新采集操作
書庫實施細排架和精排架是圖書定位系統(tǒng)的應(yīng)用前提條件,排架質(zhì)量決定了定位數(shù)據(jù)和定位顯示的實際準確度。無論是人工采集還是虛擬二次采集,其產(chǎn)生的定位數(shù)據(jù)都基于人工采集點數(shù)據(jù)。因此,書庫、書架或架面的更新采集時機選擇,需要根據(jù)排架引發(fā)的人工采集點變化情況總體而定,其與采集精度密切相關(guān)。以“首書”精度采集為例,定位數(shù)據(jù)準確度取決于架面首末圖書分類號,只有架面第一本和最后一本書發(fā)生排架變化時(即架面或架間倒架操作),才需要進行更新采集操作。由于“首書”采集精度一般采用“3節(jié)”定位顯示精度,架面中間圖書排架移位對定位顯示精準度影響很小。
4.2.3 定位顯示精度調(diào)整
根據(jù)實驗測試和方案選擇,圖書館書庫或書庫區(qū)域存在不同的定位顯示精度,為此,需優(yōu)化圖書定位顯示系統(tǒng),具體方法是:(1)“采集書架”表中新增“定位顯示精度”字段,見表2;(2)定位數(shù)據(jù)查詢ASP后臺頁面中,將原有“查詢?nèi)〉脠D書所落入書架架層區(qū)間的起止兩條定位數(shù)據(jù)”業(yè)務(wù)邏輯實現(xiàn)的基礎(chǔ)上,截取起止任意一條記錄的書架位置數(shù)據(jù),并查詢“采集書架”表獲取書架的定位顯示精度,根據(jù)定位顯示精度值,通過記錄集指針移動,調(diào)整起止記錄并返回。以筆者單位“首書人工采集精度+圖書定位顯示3節(jié)精度”方案為例,其定位顯示系統(tǒng)顯示界面如圖6所示。
圖6 3節(jié)精度圖書定位顯示界面
國內(nèi)圖書館仍以條形碼管理模式為主,定位數(shù)據(jù)采集系統(tǒng)存在圖書定位數(shù)據(jù)人工采集總量過大和圖書定位顯示高準確率難保持等問題,使圖書定位系統(tǒng)在條形碼圖書館難以推廣應(yīng)用。為此,通過軟件技術(shù),從降低人工采集精度、二次虛擬采集和定位顯示精度調(diào)整等方面進行系統(tǒng)整體優(yōu)化,通過系統(tǒng)測試和數(shù)據(jù)分析,證明了系統(tǒng)優(yōu)化的有效性,能有效解決當(dāng)前圖書定位系統(tǒng)的應(yīng)用推廣主要障礙。文章進一步探討采集精度和定位顯示精度方案選擇路徑、采集更新采集操作時機判斷和定位顯示精度調(diào)整方法等應(yīng)用細節(jié)。在下一步研究工作中,將在圖書定位數(shù)據(jù)采集方式方面作進一步研究,以進一步提升系統(tǒng)采集效率。