李光助 霍星明
摘 要: 以空軍第一航空學(xué)院圖書(shū)館為例,開(kāi)發(fā)了圖書(shū)館資源利用統(tǒng)計(jì)系統(tǒng)工作平臺(tái)。實(shí)現(xiàn)該平臺(tái)的基礎(chǔ)是完成對(duì)各資源庫(kù)基礎(chǔ)數(shù)據(jù)的采集工作。重點(diǎn)介紹了各資源數(shù)據(jù)庫(kù)數(shù)據(jù)采集的實(shí)現(xiàn)過(guò)程:首先采用分布式查詢方法調(diào)動(dòng)各資源庫(kù)基礎(chǔ)數(shù)據(jù),然后對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行分析采集,最后將采集到的數(shù)據(jù)匯總到采集數(shù)據(jù)庫(kù)中。還簡(jiǎn)單描述了采集表格的設(shè)計(jì)和數(shù)據(jù)統(tǒng)計(jì)分析過(guò)程,并展現(xiàn)了圖書(shū)館資源利用統(tǒng)計(jì)系統(tǒng)實(shí)現(xiàn)效果。
關(guān)鍵詞: 數(shù)據(jù)采集; 鏈接數(shù)據(jù)庫(kù); 自動(dòng)化管理
中圖分類號(hào): TP 3 文獻(xiàn)標(biāo)志碼: A 文章編號(hào): 1671-2153(2017)05-0098-04
0 引 言
圖書(shū)館作為學(xué)術(shù)教學(xué)資源重要存儲(chǔ)中心,其價(jià)值在于資源被讀者充分利用。但很多軍事院校圖書(shū)館未能實(shí)現(xiàn)各資源庫(kù)互聯(lián)互通,對(duì)圖書(shū)館資源利用情況進(jìn)行統(tǒng)計(jì),沒(méi)有很好辦法,往往通過(guò)手工方式進(jìn)行操作,費(fèi)時(shí)費(fèi)力,錯(cuò)誤率高,無(wú)法適應(yīng)軍隊(duì)裝備信息化建設(shè)的需求。
對(duì)于軍校圖書(shū)館而言,開(kāi)發(fā)一套圖書(shū)館資源利用統(tǒng)計(jì)系統(tǒng)對(duì)資源利用情況進(jìn)行統(tǒng)計(jì)分析,具有重要意義。它可以為圖書(shū)館資源利用統(tǒng)計(jì)節(jié)省人力物力和時(shí)間,避免人為差錯(cuò),為自動(dòng)化管理提供方便;有利于圖書(shū)館動(dòng)態(tài)掌握各資源數(shù)據(jù)庫(kù)資源利用情況及動(dòng)態(tài)掌握?qǐng)D書(shū)利用情況,消除資源利用盲區(qū),促進(jìn)圖書(shū)館量化管理;它還有利于促進(jìn)圖書(shū)館評(píng)估建設(shè),檢驗(yàn)圖書(shū)館學(xué)術(shù)保障資源服務(wù)能力和水平,為軍校教學(xué)科研保障提供更科學(xué)服務(wù)。
1 設(shè)計(jì)表格
圖書(shū)館資源利用統(tǒng)計(jì)系統(tǒng)是一個(gè)集信息顯示、數(shù)據(jù)集成、數(shù)據(jù)查詢、數(shù)據(jù)匯總等功能為主的工作平臺(tái),系統(tǒng)的任務(wù)是采集和匯總各資源庫(kù)基本數(shù)據(jù)。具體辦法是采用計(jì)算機(jī)技術(shù),根據(jù)特定時(shí)間和IP條件采用分布式查詢方法調(diào)動(dòng)眾多異地異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù),通過(guò)數(shù)據(jù)采集將信息匯總到采集數(shù)據(jù)庫(kù)中。由以上數(shù)據(jù)作為基礎(chǔ),對(duì)相關(guān)數(shù)據(jù)進(jìn)行匯總,生成圖表,以網(wǎng)頁(yè)形式呈現(xiàn)在前臺(tái)。
1.1 采集表的設(shè)計(jì)
我院是一所任職教育軍事院校,軍隊(duì)院校圖書(shū)館指標(biāo)明確要求任職教育院校年生均到館率≥30人次/年,生均網(wǎng)站點(diǎn)擊率≥60人次/年,年生均外借圖書(shū)量≥30件次/年,年生均數(shù)字資源瀏覽、下載量90≥件次/年。
考慮到館人次、網(wǎng)站點(diǎn)擊數(shù)、文獻(xiàn)借閱量、資源瀏覽下載量指標(biāo),后臺(tái)建立四張數(shù)據(jù)采集表分別對(duì)應(yīng)4個(gè)指標(biāo)。
繪制4張周采集表,分別為到館人次表、網(wǎng)站點(diǎn)擊數(shù)表、文獻(xiàn)借閱量表、資源瀏覽下載量表。分別為[LibraryCome] 、[WebHit]、[BorrowBook]、[LoadDownHit],每張表以系隊(duì)為字段,字段相同,便于將調(diào)用結(jié)果更新到每張表中。以[LibraryCome]表為例如下:
CREATE TABLE [dbo].[LibraryCome](
[ID] [int] IDENTITY(1,1) NOT NULL,
[DateID] [int] NULL,
[dui1] [int] NULL,
[dui2] [int] NULL,
[dui3] [int] NULL,
[dui4] [int] NULL,
[dui5] [int] NULL,
[dui6] [int] NULL,
[dui7] [int] NULL,
[dui8] [int] NULL
) ON [PRIMARY]
其他三張周采集表結(jié)構(gòu)相同,以此類推。這樣便于將采集結(jié)果根據(jù)系統(tǒng)自動(dòng)判斷分別更新到對(duì)應(yīng)采集表中。
月采集統(tǒng)計(jì)表與周采集統(tǒng)計(jì)表基本相同。分別為[MonthCome]、[MonthWeb]、[MonthBook]、 [MonthDown]。這樣便完成了采集表格的設(shè)計(jì)。
1.2 統(tǒng)計(jì)匯總表設(shè)計(jì)
如何以網(wǎng)頁(yè)形式體現(xiàn)指標(biāo)要求。我們分別從兩個(gè)方面著手,將生均到館率和網(wǎng)站點(diǎn)擊率這兩項(xiàng)合并計(jì)算為學(xué)員到館人次。將年生均文獻(xiàn)借閱量和數(shù)字資源瀏覽、下載量?jī)身?xiàng)合并計(jì)算為圖書(shū)外借量。
其中年生均到館率指平均每位學(xué)員一年中來(lái)訪圖書(shū)館的次數(shù)。來(lái)訪圖書(shū)館次數(shù)根據(jù)圖書(shū)館門(mén)禁系統(tǒng)刷卡記錄統(tǒng)計(jì)。年生均網(wǎng)站點(diǎn)擊率指平均每位學(xué)員一年中點(diǎn)擊圖書(shū)館網(wǎng)站次數(shù)。網(wǎng)站點(diǎn)擊率從數(shù)據(jù)庫(kù)后臺(tái)記錄的IP訪問(wèn)數(shù)據(jù)統(tǒng)計(jì)。
年生均外借圖書(shū)量指平均每位學(xué)員一年中到圖書(shū)館外借圖書(shū)的次數(shù)。圖書(shū)外借量根據(jù)圖書(shū)館金盤(pán)管理系統(tǒng)(Malis)借書(shū)記錄統(tǒng)計(jì)。數(shù)字資源瀏覽、下載量指平均每位學(xué)員一年中分別瀏覽、下載圖書(shū)館數(shù)字資源的次數(shù)。瀏覽和下載一次計(jì)作一件次。數(shù)字資源瀏覽下載量為數(shù)字資源瀏覽量和數(shù)字資源下載量?jī)身?xiàng)之和。
根據(jù)以上,設(shè)計(jì)每周資源利用匯總表格(即周匯總表)。將以上4張周采集表數(shù)據(jù)按照一定查詢條件利用sql語(yǔ)句分別插入或更新到對(duì)應(yīng)的周匯總表格中。
完成匯總表格呈現(xiàn)樣式后,根據(jù)以上表格生成實(shí)時(shí)更新網(wǎng)站。月匯總表和周匯總表基本相同。
2 網(wǎng)站開(kāi)發(fā)
根據(jù)主要研究目標(biāo)和功能規(guī)劃,將系統(tǒng)劃分為數(shù)據(jù)采集系統(tǒng)和統(tǒng)計(jì)分析系統(tǒng)兩個(gè)基本模型。數(shù)據(jù)采集系統(tǒng)負(fù)責(zé)網(wǎng)站異地異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)的采集;統(tǒng)計(jì)分析系統(tǒng)負(fù)責(zé)利用采集的數(shù)據(jù)按條件進(jìn)行統(tǒng)計(jì),生成直觀的圖表,體現(xiàn)用戶利用資源情況。
2.1 創(chuàng)立鏈接數(shù)據(jù)庫(kù)
對(duì)于異地異構(gòu)資源數(shù)據(jù)庫(kù)的基礎(chǔ)數(shù)據(jù),一般采用分布式查詢方法來(lái)實(shí)現(xiàn)異地調(diào)用。當(dāng)數(shù)據(jù)源位于遠(yuǎn)程計(jì)算機(jī)上時(shí),分布式查詢可實(shí)現(xiàn)在整個(gè)網(wǎng)絡(luò)內(nèi)檢索數(shù)據(jù)。它們能夠讓用戶在查詢和操作各個(gè)場(chǎng)地的數(shù)據(jù)時(shí)不必關(guān)心數(shù)據(jù)存儲(chǔ)的場(chǎng)地,像操作自己本機(jī)數(shù)據(jù)一樣方便[1]。
采用分布式查詢方法來(lái)獲取異地異構(gòu)資源數(shù)據(jù)庫(kù)數(shù)據(jù),需要?jiǎng)?chuàng)建鏈接服務(wù)器。我館數(shù)據(jù)庫(kù)全部采用MSsqlserver數(shù)據(jù)庫(kù),這為采用鏈接分布式數(shù)據(jù)庫(kù)提供便利條件。MSsqlserver數(shù)據(jù)庫(kù)支持分布式查詢,支持用戶訪問(wèn)存儲(chǔ)在多個(gè)SQL Server實(shí)例中的分布式數(shù)據(jù)和存儲(chǔ),支持用戶訪問(wèn)各種可使用OLEDB提供程序訪問(wèn)的關(guān)系和非關(guān)系數(shù)據(jù)源中的異類數(shù)據(jù)[2]。創(chuàng)建鏈接服務(wù)器后,可對(duì)服務(wù)器運(yùn)行分布式查詢。
首先在一臺(tái)本地服務(wù)器上通過(guò)mssqlserver為它們創(chuàng)建鏈接服務(wù)器:
EXEC sp_addlinkedserver 'Waiwen,'','SQLOLEDB','192.168.11.39
創(chuàng)建鏈接服務(wù)器登錄名映射,這里以SQL認(rèn)證的方式登錄:
EXEC sp_addlinkedsrvlogin 'Waiwen','false',NULL,'sa','yhytsljhg,.123'
其他服務(wù)器以此類推創(chuàng)建鏈接服務(wù)器,并以sql認(rèn)證的方式登錄認(rèn)證,完成鏈接服務(wù)器的創(chuàng)建和設(shè)置。
創(chuàng)建鏈接服務(wù)器后,通過(guò)分布式查詢可以調(diào)用各個(gè)數(shù)據(jù)庫(kù)后臺(tái)數(shù)據(jù),為下一步進(jìn)行數(shù)據(jù)采集提供了技術(shù)支撐。
2.2 進(jìn)行數(shù)據(jù)采集
圖書(shū)館有多個(gè)異地異構(gòu)資源數(shù)據(jù)庫(kù),要通過(guò)技術(shù)手段調(diào)用它們后臺(tái)ip訪問(wèn)記錄數(shù)據(jù)并匯總到到館人次表、網(wǎng)站點(diǎn)擊數(shù)表、文獻(xiàn)借閱量表、資源瀏覽下載量表中。方法是根據(jù)各資源數(shù)據(jù)庫(kù)記錄ip訪問(wèn)數(shù)據(jù)的表格字段編寫(xiě)sql語(yǔ)句,直接調(diào)用數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)。將查詢結(jié)果直接插入到與之對(duì)應(yīng)表格中。
需要說(shuō)明的是,部分表(如資源瀏覽下載量表)需要從圖書(shū)館多個(gè)異構(gòu)異地資源數(shù)據(jù)庫(kù)中調(diào)用ip訪問(wèn)記錄數(shù)據(jù),匯總后插入相應(yīng)采集表中。
調(diào)用各個(gè)數(shù)據(jù)庫(kù)代碼如圖1所示,其代碼如下:
switch (i)
{
case DBHelp.Shujuku.Menhu:
sql = "select count(*) from TLink.Mydb.dbo.Y_Counter where IP in (select IP from IPAddress where duiBie=@duibie) and (DateDiff(week,LoginTime,getdate())=0)";
dt = DBHelp.DataTable(sql, parm);
break;
case DBHelp.Shujuku.Waiwen:
sql = "select count(*) from Tnyk.Mydb.dbo.Y_WaiWen where IP in (select IP from IPAddress where duiBie=@duibie) and (DateDiff(week,LoginTime,getdate())=0)";
dt = DBHelp.DataTable(sql, parm);
break;
default:
sql = "select count(*) from TonyLink.Mydb.dbo.Y_Countera where IP in (select IP from IPAddress where duiBie=@duibie) and (DateDiff(week,LoginTime,getdate())=0)";
dt = DBHelp.DataTable(sql, parm);
break;
}
獲取各異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)后,可以采用以隊(duì)別為單位循環(huán)方式將各調(diào)取數(shù)據(jù)按照一定條件(如時(shí)間、學(xué)員隊(duì)等)通過(guò)編寫(xiě)匯總程序以次插入相應(yīng)采集表中,完成數(shù)據(jù)提取錄入工作。以資源瀏覽下載量表采集為例,結(jié)果如圖2所示。
2.3 進(jìn)行統(tǒng)計(jì)分析
統(tǒng)計(jì)分析系統(tǒng)的任務(wù)是處理大量采集的數(shù)據(jù)。系統(tǒng)會(huì)將數(shù)據(jù)庫(kù)中采集到的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,并以圖表的形式直觀展現(xiàn)出來(lái)。
由于單位領(lǐng)導(dǎo)要求每周進(jìn)行一次周匯總,統(tǒng)計(jì)上周數(shù)據(jù)。每月進(jìn)行一次月匯總,統(tǒng)計(jì)上月數(shù)據(jù)。在編寫(xiě)程序時(shí)為了避免頻繁執(zhí)行程序耗費(fèi)資源,采用每周第一天執(zhí)行更新程序,更新上周和上月統(tǒng)計(jì)結(jié)果。也可采用定時(shí)器,在每周結(jié)束后自動(dòng)更新統(tǒng)計(jì)結(jié)果。用Timer類的Interval屬性,在Timer的Elapsed的事件中寫(xiě)執(zhí)行程序,設(shè)置每隔一段時(shí)間執(zhí)行Elapsed事件。這里采用定期更新方法。本研究采用系統(tǒng)時(shí)間判斷方法進(jìn)行更新,將上周或上月數(shù)據(jù)插到對(duì)應(yīng)的上周或上月表中(圖3)。
圖3中,代碼自動(dòng)判斷上周或上月,然后根據(jù)此判斷結(jié)果自動(dòng)將采集表中數(shù)據(jù)插入到對(duì)應(yīng)的上周或上月匯總表格中,完成初始數(shù)據(jù)匯總工作,為最終頁(yè)面呈現(xiàn)提供基本數(shù)據(jù)支持(具體實(shí)現(xiàn)如圖3所示)。說(shuō)明:全院每周、每月統(tǒng)計(jì)與學(xué)員每周、每月統(tǒng)計(jì)基本相同。
3 結(jié)束語(yǔ)
圖書(shū)館是信息資源收集、管理和傳播的最重要的力量,是連接信息生產(chǎn)者與信息用戶的主要環(huán)節(jié)[3]。圖書(shū)館資源利用率網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)為圖書(shū)館資源利用科學(xué)評(píng)價(jià)提供科學(xué)依據(jù),實(shí)現(xiàn)了圖書(shū)館對(duì)于資源服務(wù)績(jī)效與使用狀況的精確評(píng)估。為圖書(shū)館在數(shù)字資源購(gòu)買(mǎi)與選擇,數(shù)字資源針對(duì)性發(fā)展與建設(shè),讀者服務(wù)調(diào)整等方面提供了科學(xué)依據(jù)[4]。
參考文獻(xiàn):
[1] 張能立,李浩,楊紹明. SQL Server數(shù)據(jù)庫(kù)的一種分布式查詢解決方法[J]. 武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2014(1):52-55.
[2] 王艷. 高校圖書(shū)書(shū)館促進(jìn)大學(xué)生成長(zhǎng)的實(shí)證分析[J]. 大學(xué)圖書(shū)館學(xué)報(bào),2013(1):59-63.
[3] 李龍哲. 重新認(rèn)識(shí)圖書(shū)館價(jià)值充分發(fā)揮信息的作用[J].天池學(xué)刊,1996(2):51-53.
[4] 史克紅. 圖書(shū)館數(shù)字資源訪問(wèn)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 圖書(shū)館理論與實(shí)踐,2016(1):93-96.