鄧重斌
摘 要:遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)實(shí)現(xiàn)了用戶端不需要安裝任何插件和作任何設(shè)置,遠(yuǎn)程訪問(wèn)受IP限制的電子資源功能。該文敘述了系統(tǒng)工作原理,基于URL重寫技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了系統(tǒng)遠(yuǎn)程透明訪問(wèn),用戶身份認(rèn)證,訪問(wèn)控制和事件觸發(fā)功能轉(zhuǎn)移功能。
關(guān)鍵詞:遠(yuǎn)程訪問(wèn) 透明代理URL Rewriting技術(shù) 泛域名
中圖分類號(hào):G250.76 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)07(b)-0196-04
隨著電子資源的普及和豐富,人們?cè)絹?lái)越習(xí)慣和依賴于利用電子資源進(jìn)行學(xué)習(xí)和科研,網(wǎng)絡(luò)電子資源越來(lái)越顯得重要。許多圖書館投入巨額資金引入了大量的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)等電子資源。數(shù)據(jù)庫(kù)提供商出于版權(quán)和商業(yè)利益的考慮,這些數(shù)據(jù)庫(kù)電子資源大部分是通過(guò)IP地址認(rèn)證訪問(wèn)方式提供服務(wù)。由于圖書館(特別是公共圖書館)用戶IP分散和不固定,極大地限制了電子資源的利用率,造成圖書館電子資源利用率嚴(yán)重偏低,效益低下。[1]
為解決合法用戶訪問(wèn)電子資源,開發(fā)遠(yuǎn)程訪問(wèn)電子資源系統(tǒng)有重大意義。突破IP限制常采用下列幾種方式[2-7]:(1)參考咨詢的辦法,非技術(shù)、間接的辦法解決IP限制問(wèn)題。這是傳統(tǒng)的方式,時(shí)至今日也是解決電子資源利用率的一個(gè)有效的方法;(2)VPN技術(shù),即虛擬專用網(wǎng),本質(zhì)是通過(guò)Internet公網(wǎng)建立虛擬的私有網(wǎng),從而解決IP限制問(wèn)題。VPN是一項(xiàng)成熟的網(wǎng)絡(luò)技術(shù),通過(guò)VPN遠(yuǎn)程訪問(wèn)電子資源的論文大量出現(xiàn)在2003-2008年。VPN遠(yuǎn)程訪問(wèn)電子資源的優(yōu)點(diǎn)是安全可控,但缺點(diǎn)也明顯,圖書館需要安裝VPN設(shè)備或服務(wù),網(wǎng)絡(luò)防火墻進(jìn)行設(shè)置,用戶需要安裝VPN客戶端軟件;[8-10](3)使用自動(dòng)配置腳本代理服務(wù)技術(shù),通過(guò)瀏覽器設(shè)置自動(dòng)腳本配置,實(shí)現(xiàn)指定的數(shù)據(jù)庫(kù)訪問(wèn)代理服務(wù)器,解決IP限制問(wèn)題。但安全性比較差,讀者瀏覽器需要設(shè)置本地或服務(wù)器的腳本。2005年起,有這方面的論文發(fā)表,但沒有VPN使用廣泛;(4)透明代理技術(shù)。是指突破IP 地址的物理限制,用戶計(jì)算機(jī)不用安裝任何插件或作任何配置,通過(guò)身份認(rèn)證后就可以在任何能上互聯(lián)網(wǎng)的地方使用圖書館電子資源。透明代理技術(shù)是目前遠(yuǎn)程訪問(wèn)電子資源較理想解決方案。已經(jīng)被廣泛用于圖書館中受控電子資源的訪問(wèn)。遠(yuǎn)程訪問(wèn)圖書館電子資源服務(wù)歐美高校開展得最早,比如基于URL重寫技術(shù)的產(chǎn)品Ezproxy,2005年前已經(jīng)普遍使用。國(guó)內(nèi)這方面應(yīng)用研究較晚,2006年起陸續(xù)有文章介紹Ezproxy在高校圖書館的應(yīng)用研究,2008年有高校與軟件公司合作開發(fā)本校的遠(yuǎn)程服務(wù)系統(tǒng),但開發(fā)通用產(chǎn)品還鮮有報(bào)道。[11-13]
鑒于遠(yuǎn)程透明訪問(wèn)電子資源的產(chǎn)品少、功能簡(jiǎn)單的現(xiàn)狀,根據(jù)公共圖書館的特點(diǎn),本文設(shè)計(jì)“遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)”,系統(tǒng)采用URL地址重寫技術(shù)開發(fā),實(shí)現(xiàn)下列主要功能:(1)透明代理;(2)身份認(rèn)證;(2)訪問(wèn)控制;(4)下載數(shù)量控制;(5)事件觸發(fā)功能轉(zhuǎn)移。身份認(rèn)證、訪問(wèn)控制、透明訪問(wèn)是系統(tǒng)基本功能,系統(tǒng)的特點(diǎn)是設(shè)計(jì)了下載數(shù)量的控制及事件觸發(fā)功能轉(zhuǎn)移功能,對(duì)授權(quán)允許遠(yuǎn)程訪問(wèn)的資源,做到“既能有效開放,又能嚴(yán)格控制”,對(duì)授權(quán)必須館內(nèi)訪問(wèn)的資源,實(shí)現(xiàn)跳轉(zhuǎn)至參考咨詢等系統(tǒng)提供服務(wù),為實(shí)現(xiàn)數(shù)據(jù)庫(kù)商、圖書館、讀者“三方共贏”提供技術(shù)保障和支持,對(duì)提供圖書館數(shù)據(jù)資源的利用率具有重要意義[14-15]。
1 遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)的工作原理及核心技術(shù)
1.1 透明代理服務(wù)器與普通代理服務(wù)器的原理及區(qū)別
普通的代理服務(wù)器,需要在客戶端瀏覽器設(shè)置代理服務(wù)器的IP地址及端口,所有訪問(wèn)都會(huì)通過(guò)代理服務(wù)器二傳接力,加大了服務(wù)器的負(fù)擔(dān),也影響了客戶端的效率。采用腳本的改進(jìn)型代理服務(wù)器,雖然能夠有選擇性地使用代理服務(wù)器,即訪問(wèn)腳本指定的電子資源才通過(guò)代理,訪問(wèn)其他資源直接訪問(wèn),但客戶端需要進(jìn)行腳本的設(shè)置。而透明代理則可以實(shí)現(xiàn)“零”設(shè)置,又能有選擇性的使用代理服務(wù)器,實(shí)現(xiàn)客戶便利及高效率。圖1是兩種代理服務(wù)器的示意圖。
1.2 透明代理的核心技術(shù)
1.2.1 URL Rewriting技術(shù)
URL Rewrite即URL重寫,就是改寫網(wǎng)頁(yè)里的URL,重定向到其他URL的過(guò)程。URL Rewrite最常見的應(yīng)用是URL偽靜態(tài)化,是將動(dòng)態(tài)頁(yè)面顯示為靜態(tài)頁(yè)面方式的一種技術(shù)。透明代理服務(wù)器(tmproxy)就是可以利用URL Rewrite技術(shù),通過(guò)改寫受IP控制電子資源URL,使之轉(zhuǎn)換成鏈接代理服務(wù)器新的URL。
例如:受IP控制的電子資源的URL是http://www.sciencedirect.com。代理服務(wù)器的URL是http://www.MyDomain.com,則URL 重寫方式有2種:
(1)直接合并電子資源的URL和代理服務(wù)器URL的主機(jī)和域名,形成新的URL。例如http://www.sciencedirect.com.MyDomain.com,這里資源的主機(jī)與域名相當(dāng)于新URL的主機(jī)名。采用這種方式,URL Rewriting實(shí)現(xiàn)最為簡(jiǎn)單,但DNS需要泛域名支持。
(2)電子資源URL的域名作為代理服務(wù)器URL的目錄路徑。例如http://www.MyDomain.com/ sciencedirect.com
正則表達(dá)式通常被用來(lái)檢索和/或替換那些符合某個(gè)模式的文本內(nèi)容。許多程序設(shè)計(jì)語(yǔ)言都支持利用正則表達(dá)式進(jìn)行字符串操作。-
1.2.2 泛域名
泛域名解析就是將客戶的域名紀(jì)錄全部解析到同一個(gè)IP地址。設(shè)置泛域名解析后,除單獨(dú)設(shè)置的域名紀(jì)錄外,在域名前添加任何子域名,均指向同一個(gè)ip地址。
在遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)中,使用泛域名技術(shù),可以確保URL Rewriting改寫后的地址都指向代理服務(wù)器的IP地址。例如:形如www.sciencedirect.com.MyDomain.com的改寫后地址解析為代理服務(wù)器MyDomain.com的IP地址。endprint
2 遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 開發(fā)工具和測(cè)試環(huán)境
開發(fā)工具:采用java語(yǔ)言編寫,多線程程序設(shè)計(jì),具有跨平臺(tái),穩(wěn)定高效的特點(diǎn)。
測(cè)試環(huán)境:服務(wù)器端,至強(qiáng)CPU,3.0 G /2 M,EM64T,800 MHz前端總線,內(nèi)存2GB,j2sdk;客戶端,WindowsXP/IE6.0。
2.2 系統(tǒng)主要功能模塊組成
遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)組成如圖3所示。
2.3 遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)工作流程
遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)原理和流程是:客戶端瀏覽器發(fā)起http請(qǐng)求,在泛域名DNS的支持下(如果使用上文2.2.1(1)的URL Rewriting方式),所有代理服務(wù)器域名的鏈接都解析為代理服務(wù)器的IP地址,代理服務(wù)器分析http頭信息,判斷是否注冊(cè)用戶并且是否已經(jīng)登錄,如果符合登錄用戶的訪問(wèn)權(quán)限及下載控制策略,提取電子資源的原始地址,訪問(wèn)電子資源數(shù)據(jù)庫(kù)Web Server,接收從web服務(wù)器返回的數(shù)據(jù),判斷是否是二進(jìn)制的html,通過(guò)URL Rewriting技術(shù),改寫指定的數(shù)據(jù)庫(kù)的URL,再返回客戶端瀏覽器,其他數(shù)據(jù)如圖片jpg,資源pdf文件則直接返回瀏覽器。原理、流程如圖2所示。
2.4 用戶驗(yàn)證模塊的實(shí)現(xiàn)
進(jìn)行多種形式的授權(quán)和身份認(rèn)證,包括用戶/密碼;客戶端IP地址;用戶/密碼+IP;訪問(wèn)時(shí)間控制;訪問(wèn)并發(fā)數(shù)限制等。
認(rèn)證的過(guò)程是用戶通過(guò)網(wǎng)頁(yè)form或超鏈接向服務(wù)器提交用戶名、密碼等用戶信息,服務(wù)器以這些信息作為條件查找用戶數(shù)據(jù)庫(kù),如果能找到對(duì)應(yīng)的記錄,說(shuō)明用戶提交的登錄信息正確。問(wèn)題的關(guān)鍵是http協(xié)議是一個(gè)非鏈接的無(wú)狀態(tài)協(xié)議,web服務(wù)器不知道正在連接的用戶是否經(jīng)過(guò)身份認(rèn)證,要解決這個(gè)問(wèn)題,首先需要在服務(wù)器端和客戶端建立一一對(duì)應(yīng)關(guān)系,并能保持客戶狀態(tài)。通常可采用cookie、session技術(shù)保持客戶狀態(tài)信息。
下面是IE瀏覽器訪問(wèn)服務(wù)器的hppt協(xié)議頭信息(摘取部分):
GET / HTTP/1.1
Host: cs.tm.stlib.cn
Connection: Keep-Alive
此時(shí)并沒有cookie的信息。
如果服務(wù)器返回請(qǐng)求時(shí)在http頭加入如下的語(yǔ)句:
Set-Cookie:zhanghao= cs&mima=123; path=/
設(shè)置cookie內(nèi)容為zhanghao=cs&mima=123,為說(shuō)明起見,此處沒有對(duì)cookie內(nèi)容加密。
以后IE瀏覽器訪問(wèn)相同域名服務(wù)器時(shí),會(huì)在hppt頭信息增加下列一行:
Cookie:zhanghao=cs&mima=123
因此可把需要認(rèn)證的信息,如帳號(hào)/密碼,下載策略等存在cookie里,傳遞用戶狀態(tài)。如果用戶禁止cookie,只能通過(guò)URL重寫和表單隱藏字段的方式來(lái)傳遞用戶狀態(tài)信息了。
2.5 透明代理模塊的實(shí)現(xiàn)
這是系統(tǒng)的核心,代理服務(wù)器是介于用戶瀏覽器和資源Web服務(wù)器之間的一臺(tái)服務(wù)器,瀏覽器的Request請(qǐng)求會(huì)先送到代理服務(wù)器,由代理服務(wù)器訪問(wèn)Web服務(wù)器,取回所需要的信息再傳送給瀏覽器,從而解決IP限制問(wèn)題。開發(fā)編程采用java.util.regex提供的標(biāo)準(zhǔn)正則表達(dá)式類庫(kù),寫URL地址的匹配正則表達(dá)式,對(duì)從電子資源web服務(wù)器返回的網(wǎng)頁(yè)內(nèi)容進(jìn)行搜索和替換,將改寫后的網(wǎng)頁(yè)數(shù)據(jù)返回客戶端瀏覽器。如圖4所示。
2.6 下載流量控制與事件觸發(fā)功能轉(zhuǎn)移模塊的實(shí)現(xiàn)
這是本系統(tǒng)特色功能模塊。目的是為了訪問(wèn)及下載的控制,做到“既能有效開放,又能嚴(yán)格控制”,從而保護(hù)數(shù)據(jù)庫(kù)商的合法利益。功能包括:根據(jù)用戶帳號(hào)的下載策略,對(duì)下載文獻(xiàn)數(shù)量進(jìn)行控制,對(duì)超數(shù)量下載、惡意下載提出警告,可自動(dòng)凍結(jié)該帳號(hào);下載時(shí)可設(shè)置觸發(fā)條件,進(jìn)入其它功能系統(tǒng),實(shí)現(xiàn)相關(guān)功能。如進(jìn)入收費(fèi)系統(tǒng),參考咨詢系統(tǒng),信息推送系統(tǒng)等。觸發(fā)條件由特征字符串和對(duì)應(yīng)的超鏈接組成,代理服務(wù)器接到瀏覽器請(qǐng)求時(shí),首先判斷是否滿足觸發(fā)條件:如果滿足下載控制條件,則不再訪問(wèn)資源服務(wù)器,直接返回警告信息,并對(duì)賬戶作必要的處理;如果滿足觸發(fā)其它應(yīng)用系統(tǒng)的條件,則進(jìn)入對(duì)應(yīng)的應(yīng)用系統(tǒng),如收費(fèi)系統(tǒng)、參考咨詢系統(tǒng)等。如圖5所示。
2.7 系統(tǒng)日志模塊的實(shí)現(xiàn)
日志內(nèi)容包括:訪問(wèn)服務(wù)器的時(shí)間,用戶的IP地址,被訪問(wèn)的資源名稱,用戶信息等。通過(guò)對(duì)日志的分析挖掘,可統(tǒng)計(jì)訪問(wèn)量,訪問(wèn)時(shí)間分布,訪問(wèn)數(shù)據(jù)庫(kù)分布,用戶的來(lái)源與類型等信息。
3 結(jié)語(yǔ)
系統(tǒng)具有身份認(rèn)證、訪問(wèn)控制、透明訪問(wèn)功能,針對(duì)圖書館特點(diǎn),與圖書館參考咨詢等文獻(xiàn)系統(tǒng)等應(yīng)用系統(tǒng)的有機(jī)結(jié)合,設(shè)計(jì)了下載數(shù)量控制及事件觸發(fā)功能轉(zhuǎn)移功能,實(shí)現(xiàn)對(duì)受控電子資源訪問(wèn)的多層次技術(shù)支持,做到“既能有效訪問(wèn),又能嚴(yán)格控制”,對(duì)保護(hù)數(shù)據(jù)庫(kù)商的版權(quán)和商業(yè)利益,對(duì)圖書館如何提高電子資源利用率具有很好的示范意義。
參考文獻(xiàn)
[1] 夏志方.遠(yuǎn)程訪問(wèn)圖書館電子資源技術(shù)綜述[J].圖書情報(bào)工作,2006,50(3): 123-126.
[2] 支蕾.圖書館電子資源遠(yuǎn)程訪問(wèn)模式探討[J].內(nèi)蒙古科技與經(jīng)濟(jì),2010,8(15): 121-124.
[3] 王寒冰.數(shù)字圖書館遠(yuǎn)程訪問(wèn)技術(shù)之測(cè)試分析[J].現(xiàn)代情報(bào),2009,29(9):104-107.
[4] 李忠君.校外訪問(wèn)圖書館電子資源方式分析與比較[J].科技文獻(xiàn)信息管理,2010 (2):4-7.
[5] 葉新明,陳光鋒.校外訪問(wèn)代理軟件的分析與比較[J].現(xiàn)代圖書情報(bào)技術(shù),2006(1):83-85.
[6] 彭偉.迎接電子資源的挑戰(zhàn):上海圖書館電子資源遠(yuǎn)程訪問(wèn)服務(wù)案例研究[J].圖書情報(bào)工作,2009,53(1):64-68.
[7] 凌征強(qiáng).高校圖書館遠(yuǎn)程訪問(wèn)系統(tǒng)實(shí)現(xiàn)技術(shù)研究[J].圖書館學(xué)研究,2009(5): 43-46.
[8] 閆曉弟,耶健.基于VPN的電子資源遠(yuǎn)程訪問(wèn)系統(tǒng)的研究與實(shí)現(xiàn)[J].情報(bào)雜志,2009,28(8):159-166.
[9] 金家琴.基于SSL VPN技術(shù)實(shí)現(xiàn)公共圖書館電子資源遠(yuǎn)程訪問(wèn)[J].圖書館雜志,2009(3):64-68.
[10] 李磊.SSL VPN技術(shù)及其在高校圖書館的應(yīng)用[J].信息技術(shù),2011(7):261.
[11] 蘇明強(qiáng),張凌云.高校圖書館電子資源遠(yuǎn)程訪問(wèn)技術(shù)分析[J].內(nèi)江科技,2012(1):104-105.
[12] 高旻,劉凡儒,高健.電子資源遠(yuǎn)程訪問(wèn)地址重寫代理EZproxy研究[J].圖書館理論與實(shí)踐,2008(5):80-81.
[13] Useful Utilities EZproxy Support.http://www.ezproxy.com/support/overview.html.
[14] 李洪文.基于URL重寫技術(shù)的電子資源統(tǒng)一授權(quán)訪問(wèn)系統(tǒng)的原理和實(shí)現(xiàn)[J].大學(xué)圖書館學(xué)報(bào),2008(4):68-71.
[15] 溫明章.基于開源軟件的數(shù)字圖書館資源遠(yuǎn)程訪問(wèn)的總設(shè)計(jì)[J].現(xiàn)代情報(bào),2011,31(1):63-66.endprint
2 遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 開發(fā)工具和測(cè)試環(huán)境
開發(fā)工具:采用java語(yǔ)言編寫,多線程程序設(shè)計(jì),具有跨平臺(tái),穩(wěn)定高效的特點(diǎn)。
測(cè)試環(huán)境:服務(wù)器端,至強(qiáng)CPU,3.0 G /2 M,EM64T,800 MHz前端總線,內(nèi)存2GB,j2sdk;客戶端,WindowsXP/IE6.0。
2.2 系統(tǒng)主要功能模塊組成
遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)組成如圖3所示。
2.3 遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)工作流程
遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)原理和流程是:客戶端瀏覽器發(fā)起http請(qǐng)求,在泛域名DNS的支持下(如果使用上文2.2.1(1)的URL Rewriting方式),所有代理服務(wù)器域名的鏈接都解析為代理服務(wù)器的IP地址,代理服務(wù)器分析http頭信息,判斷是否注冊(cè)用戶并且是否已經(jīng)登錄,如果符合登錄用戶的訪問(wèn)權(quán)限及下載控制策略,提取電子資源的原始地址,訪問(wèn)電子資源數(shù)據(jù)庫(kù)Web Server,接收從web服務(wù)器返回的數(shù)據(jù),判斷是否是二進(jìn)制的html,通過(guò)URL Rewriting技術(shù),改寫指定的數(shù)據(jù)庫(kù)的URL,再返回客戶端瀏覽器,其他數(shù)據(jù)如圖片jpg,資源pdf文件則直接返回瀏覽器。原理、流程如圖2所示。
2.4 用戶驗(yàn)證模塊的實(shí)現(xiàn)
進(jìn)行多種形式的授權(quán)和身份認(rèn)證,包括用戶/密碼;客戶端IP地址;用戶/密碼+IP;訪問(wèn)時(shí)間控制;訪問(wèn)并發(fā)數(shù)限制等。
認(rèn)證的過(guò)程是用戶通過(guò)網(wǎng)頁(yè)form或超鏈接向服務(wù)器提交用戶名、密碼等用戶信息,服務(wù)器以這些信息作為條件查找用戶數(shù)據(jù)庫(kù),如果能找到對(duì)應(yīng)的記錄,說(shuō)明用戶提交的登錄信息正確。問(wèn)題的關(guān)鍵是http協(xié)議是一個(gè)非鏈接的無(wú)狀態(tài)協(xié)議,web服務(wù)器不知道正在連接的用戶是否經(jīng)過(guò)身份認(rèn)證,要解決這個(gè)問(wèn)題,首先需要在服務(wù)器端和客戶端建立一一對(duì)應(yīng)關(guān)系,并能保持客戶狀態(tài)。通常可采用cookie、session技術(shù)保持客戶狀態(tài)信息。
下面是IE瀏覽器訪問(wèn)服務(wù)器的hppt協(xié)議頭信息(摘取部分):
GET / HTTP/1.1
Host: cs.tm.stlib.cn
Connection: Keep-Alive
此時(shí)并沒有cookie的信息。
如果服務(wù)器返回請(qǐng)求時(shí)在http頭加入如下的語(yǔ)句:
Set-Cookie:zhanghao= cs&mima=123; path=/
設(shè)置cookie內(nèi)容為zhanghao=cs&mima=123,為說(shuō)明起見,此處沒有對(duì)cookie內(nèi)容加密。
以后IE瀏覽器訪問(wèn)相同域名服務(wù)器時(shí),會(huì)在hppt頭信息增加下列一行:
Cookie:zhanghao=cs&mima=123
因此可把需要認(rèn)證的信息,如帳號(hào)/密碼,下載策略等存在cookie里,傳遞用戶狀態(tài)。如果用戶禁止cookie,只能通過(guò)URL重寫和表單隱藏字段的方式來(lái)傳遞用戶狀態(tài)信息了。
2.5 透明代理模塊的實(shí)現(xiàn)
這是系統(tǒng)的核心,代理服務(wù)器是介于用戶瀏覽器和資源Web服務(wù)器之間的一臺(tái)服務(wù)器,瀏覽器的Request請(qǐng)求會(huì)先送到代理服務(wù)器,由代理服務(wù)器訪問(wèn)Web服務(wù)器,取回所需要的信息再傳送給瀏覽器,從而解決IP限制問(wèn)題。開發(fā)編程采用java.util.regex提供的標(biāo)準(zhǔn)正則表達(dá)式類庫(kù),寫URL地址的匹配正則表達(dá)式,對(duì)從電子資源web服務(wù)器返回的網(wǎng)頁(yè)內(nèi)容進(jìn)行搜索和替換,將改寫后的網(wǎng)頁(yè)數(shù)據(jù)返回客戶端瀏覽器。如圖4所示。
2.6 下載流量控制與事件觸發(fā)功能轉(zhuǎn)移模塊的實(shí)現(xiàn)
這是本系統(tǒng)特色功能模塊。目的是為了訪問(wèn)及下載的控制,做到“既能有效開放,又能嚴(yán)格控制”,從而保護(hù)數(shù)據(jù)庫(kù)商的合法利益。功能包括:根據(jù)用戶帳號(hào)的下載策略,對(duì)下載文獻(xiàn)數(shù)量進(jìn)行控制,對(duì)超數(shù)量下載、惡意下載提出警告,可自動(dòng)凍結(jié)該帳號(hào);下載時(shí)可設(shè)置觸發(fā)條件,進(jìn)入其它功能系統(tǒng),實(shí)現(xiàn)相關(guān)功能。如進(jìn)入收費(fèi)系統(tǒng),參考咨詢系統(tǒng),信息推送系統(tǒng)等。觸發(fā)條件由特征字符串和對(duì)應(yīng)的超鏈接組成,代理服務(wù)器接到瀏覽器請(qǐng)求時(shí),首先判斷是否滿足觸發(fā)條件:如果滿足下載控制條件,則不再訪問(wèn)資源服務(wù)器,直接返回警告信息,并對(duì)賬戶作必要的處理;如果滿足觸發(fā)其它應(yīng)用系統(tǒng)的條件,則進(jìn)入對(duì)應(yīng)的應(yīng)用系統(tǒng),如收費(fèi)系統(tǒng)、參考咨詢系統(tǒng)等。如圖5所示。
2.7 系統(tǒng)日志模塊的實(shí)現(xiàn)
日志內(nèi)容包括:訪問(wèn)服務(wù)器的時(shí)間,用戶的IP地址,被訪問(wèn)的資源名稱,用戶信息等。通過(guò)對(duì)日志的分析挖掘,可統(tǒng)計(jì)訪問(wèn)量,訪問(wèn)時(shí)間分布,訪問(wèn)數(shù)據(jù)庫(kù)分布,用戶的來(lái)源與類型等信息。
3 結(jié)語(yǔ)
系統(tǒng)具有身份認(rèn)證、訪問(wèn)控制、透明訪問(wèn)功能,針對(duì)圖書館特點(diǎn),與圖書館參考咨詢等文獻(xiàn)系統(tǒng)等應(yīng)用系統(tǒng)的有機(jī)結(jié)合,設(shè)計(jì)了下載數(shù)量控制及事件觸發(fā)功能轉(zhuǎn)移功能,實(shí)現(xiàn)對(duì)受控電子資源訪問(wèn)的多層次技術(shù)支持,做到“既能有效訪問(wèn),又能嚴(yán)格控制”,對(duì)保護(hù)數(shù)據(jù)庫(kù)商的版權(quán)和商業(yè)利益,對(duì)圖書館如何提高電子資源利用率具有很好的示范意義。
參考文獻(xiàn)
[1] 夏志方.遠(yuǎn)程訪問(wèn)圖書館電子資源技術(shù)綜述[J].圖書情報(bào)工作,2006,50(3): 123-126.
[2] 支蕾.圖書館電子資源遠(yuǎn)程訪問(wèn)模式探討[J].內(nèi)蒙古科技與經(jīng)濟(jì),2010,8(15): 121-124.
[3] 王寒冰.數(shù)字圖書館遠(yuǎn)程訪問(wèn)技術(shù)之測(cè)試分析[J].現(xiàn)代情報(bào),2009,29(9):104-107.
[4] 李忠君.校外訪問(wèn)圖書館電子資源方式分析與比較[J].科技文獻(xiàn)信息管理,2010 (2):4-7.
[5] 葉新明,陳光鋒.校外訪問(wèn)代理軟件的分析與比較[J].現(xiàn)代圖書情報(bào)技術(shù),2006(1):83-85.
[6] 彭偉.迎接電子資源的挑戰(zhàn):上海圖書館電子資源遠(yuǎn)程訪問(wèn)服務(wù)案例研究[J].圖書情報(bào)工作,2009,53(1):64-68.
[7] 凌征強(qiáng).高校圖書館遠(yuǎn)程訪問(wèn)系統(tǒng)實(shí)現(xiàn)技術(shù)研究[J].圖書館學(xué)研究,2009(5): 43-46.
[8] 閆曉弟,耶健.基于VPN的電子資源遠(yuǎn)程訪問(wèn)系統(tǒng)的研究與實(shí)現(xiàn)[J].情報(bào)雜志,2009,28(8):159-166.
[9] 金家琴.基于SSL VPN技術(shù)實(shí)現(xiàn)公共圖書館電子資源遠(yuǎn)程訪問(wèn)[J].圖書館雜志,2009(3):64-68.
[10] 李磊.SSL VPN技術(shù)及其在高校圖書館的應(yīng)用[J].信息技術(shù),2011(7):261.
[11] 蘇明強(qiáng),張凌云.高校圖書館電子資源遠(yuǎn)程訪問(wèn)技術(shù)分析[J].內(nèi)江科技,2012(1):104-105.
[12] 高旻,劉凡儒,高健.電子資源遠(yuǎn)程訪問(wèn)地址重寫代理EZproxy研究[J].圖書館理論與實(shí)踐,2008(5):80-81.
[13] Useful Utilities EZproxy Support.http://www.ezproxy.com/support/overview.html.
[14] 李洪文.基于URL重寫技術(shù)的電子資源統(tǒng)一授權(quán)訪問(wèn)系統(tǒng)的原理和實(shí)現(xiàn)[J].大學(xué)圖書館學(xué)報(bào),2008(4):68-71.
[15] 溫明章.基于開源軟件的數(shù)字圖書館資源遠(yuǎn)程訪問(wèn)的總設(shè)計(jì)[J].現(xiàn)代情報(bào),2011,31(1):63-66.endprint
2 遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 開發(fā)工具和測(cè)試環(huán)境
開發(fā)工具:采用java語(yǔ)言編寫,多線程程序設(shè)計(jì),具有跨平臺(tái),穩(wěn)定高效的特點(diǎn)。
測(cè)試環(huán)境:服務(wù)器端,至強(qiáng)CPU,3.0 G /2 M,EM64T,800 MHz前端總線,內(nèi)存2GB,j2sdk;客戶端,WindowsXP/IE6.0。
2.2 系統(tǒng)主要功能模塊組成
遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)組成如圖3所示。
2.3 遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)工作流程
遠(yuǎn)程透明訪問(wèn)電子資源系統(tǒng)原理和流程是:客戶端瀏覽器發(fā)起http請(qǐng)求,在泛域名DNS的支持下(如果使用上文2.2.1(1)的URL Rewriting方式),所有代理服務(wù)器域名的鏈接都解析為代理服務(wù)器的IP地址,代理服務(wù)器分析http頭信息,判斷是否注冊(cè)用戶并且是否已經(jīng)登錄,如果符合登錄用戶的訪問(wèn)權(quán)限及下載控制策略,提取電子資源的原始地址,訪問(wèn)電子資源數(shù)據(jù)庫(kù)Web Server,接收從web服務(wù)器返回的數(shù)據(jù),判斷是否是二進(jìn)制的html,通過(guò)URL Rewriting技術(shù),改寫指定的數(shù)據(jù)庫(kù)的URL,再返回客戶端瀏覽器,其他數(shù)據(jù)如圖片jpg,資源pdf文件則直接返回瀏覽器。原理、流程如圖2所示。
2.4 用戶驗(yàn)證模塊的實(shí)現(xiàn)
進(jìn)行多種形式的授權(quán)和身份認(rèn)證,包括用戶/密碼;客戶端IP地址;用戶/密碼+IP;訪問(wèn)時(shí)間控制;訪問(wèn)并發(fā)數(shù)限制等。
認(rèn)證的過(guò)程是用戶通過(guò)網(wǎng)頁(yè)form或超鏈接向服務(wù)器提交用戶名、密碼等用戶信息,服務(wù)器以這些信息作為條件查找用戶數(shù)據(jù)庫(kù),如果能找到對(duì)應(yīng)的記錄,說(shuō)明用戶提交的登錄信息正確。問(wèn)題的關(guān)鍵是http協(xié)議是一個(gè)非鏈接的無(wú)狀態(tài)協(xié)議,web服務(wù)器不知道正在連接的用戶是否經(jīng)過(guò)身份認(rèn)證,要解決這個(gè)問(wèn)題,首先需要在服務(wù)器端和客戶端建立一一對(duì)應(yīng)關(guān)系,并能保持客戶狀態(tài)。通常可采用cookie、session技術(shù)保持客戶狀態(tài)信息。
下面是IE瀏覽器訪問(wèn)服務(wù)器的hppt協(xié)議頭信息(摘取部分):
GET / HTTP/1.1
Host: cs.tm.stlib.cn
Connection: Keep-Alive
此時(shí)并沒有cookie的信息。
如果服務(wù)器返回請(qǐng)求時(shí)在http頭加入如下的語(yǔ)句:
Set-Cookie:zhanghao= cs&mima=123; path=/
設(shè)置cookie內(nèi)容為zhanghao=cs&mima=123,為說(shuō)明起見,此處沒有對(duì)cookie內(nèi)容加密。
以后IE瀏覽器訪問(wèn)相同域名服務(wù)器時(shí),會(huì)在hppt頭信息增加下列一行:
Cookie:zhanghao=cs&mima=123
因此可把需要認(rèn)證的信息,如帳號(hào)/密碼,下載策略等存在cookie里,傳遞用戶狀態(tài)。如果用戶禁止cookie,只能通過(guò)URL重寫和表單隱藏字段的方式來(lái)傳遞用戶狀態(tài)信息了。
2.5 透明代理模塊的實(shí)現(xiàn)
這是系統(tǒng)的核心,代理服務(wù)器是介于用戶瀏覽器和資源Web服務(wù)器之間的一臺(tái)服務(wù)器,瀏覽器的Request請(qǐng)求會(huì)先送到代理服務(wù)器,由代理服務(wù)器訪問(wèn)Web服務(wù)器,取回所需要的信息再傳送給瀏覽器,從而解決IP限制問(wèn)題。開發(fā)編程采用java.util.regex提供的標(biāo)準(zhǔn)正則表達(dá)式類庫(kù),寫URL地址的匹配正則表達(dá)式,對(duì)從電子資源web服務(wù)器返回的網(wǎng)頁(yè)內(nèi)容進(jìn)行搜索和替換,將改寫后的網(wǎng)頁(yè)數(shù)據(jù)返回客戶端瀏覽器。如圖4所示。
2.6 下載流量控制與事件觸發(fā)功能轉(zhuǎn)移模塊的實(shí)現(xiàn)
這是本系統(tǒng)特色功能模塊。目的是為了訪問(wèn)及下載的控制,做到“既能有效開放,又能嚴(yán)格控制”,從而保護(hù)數(shù)據(jù)庫(kù)商的合法利益。功能包括:根據(jù)用戶帳號(hào)的下載策略,對(duì)下載文獻(xiàn)數(shù)量進(jìn)行控制,對(duì)超數(shù)量下載、惡意下載提出警告,可自動(dòng)凍結(jié)該帳號(hào);下載時(shí)可設(shè)置觸發(fā)條件,進(jìn)入其它功能系統(tǒng),實(shí)現(xiàn)相關(guān)功能。如進(jìn)入收費(fèi)系統(tǒng),參考咨詢系統(tǒng),信息推送系統(tǒng)等。觸發(fā)條件由特征字符串和對(duì)應(yīng)的超鏈接組成,代理服務(wù)器接到瀏覽器請(qǐng)求時(shí),首先判斷是否滿足觸發(fā)條件:如果滿足下載控制條件,則不再訪問(wèn)資源服務(wù)器,直接返回警告信息,并對(duì)賬戶作必要的處理;如果滿足觸發(fā)其它應(yīng)用系統(tǒng)的條件,則進(jìn)入對(duì)應(yīng)的應(yīng)用系統(tǒng),如收費(fèi)系統(tǒng)、參考咨詢系統(tǒng)等。如圖5所示。
2.7 系統(tǒng)日志模塊的實(shí)現(xiàn)
日志內(nèi)容包括:訪問(wèn)服務(wù)器的時(shí)間,用戶的IP地址,被訪問(wèn)的資源名稱,用戶信息等。通過(guò)對(duì)日志的分析挖掘,可統(tǒng)計(jì)訪問(wèn)量,訪問(wèn)時(shí)間分布,訪問(wèn)數(shù)據(jù)庫(kù)分布,用戶的來(lái)源與類型等信息。
3 結(jié)語(yǔ)
系統(tǒng)具有身份認(rèn)證、訪問(wèn)控制、透明訪問(wèn)功能,針對(duì)圖書館特點(diǎn),與圖書館參考咨詢等文獻(xiàn)系統(tǒng)等應(yīng)用系統(tǒng)的有機(jī)結(jié)合,設(shè)計(jì)了下載數(shù)量控制及事件觸發(fā)功能轉(zhuǎn)移功能,實(shí)現(xiàn)對(duì)受控電子資源訪問(wèn)的多層次技術(shù)支持,做到“既能有效訪問(wèn),又能嚴(yán)格控制”,對(duì)保護(hù)數(shù)據(jù)庫(kù)商的版權(quán)和商業(yè)利益,對(duì)圖書館如何提高電子資源利用率具有很好的示范意義。
參考文獻(xiàn)
[1] 夏志方.遠(yuǎn)程訪問(wèn)圖書館電子資源技術(shù)綜述[J].圖書情報(bào)工作,2006,50(3): 123-126.
[2] 支蕾.圖書館電子資源遠(yuǎn)程訪問(wèn)模式探討[J].內(nèi)蒙古科技與經(jīng)濟(jì),2010,8(15): 121-124.
[3] 王寒冰.數(shù)字圖書館遠(yuǎn)程訪問(wèn)技術(shù)之測(cè)試分析[J].現(xiàn)代情報(bào),2009,29(9):104-107.
[4] 李忠君.校外訪問(wèn)圖書館電子資源方式分析與比較[J].科技文獻(xiàn)信息管理,2010 (2):4-7.
[5] 葉新明,陳光鋒.校外訪問(wèn)代理軟件的分析與比較[J].現(xiàn)代圖書情報(bào)技術(shù),2006(1):83-85.
[6] 彭偉.迎接電子資源的挑戰(zhàn):上海圖書館電子資源遠(yuǎn)程訪問(wèn)服務(wù)案例研究[J].圖書情報(bào)工作,2009,53(1):64-68.
[7] 凌征強(qiáng).高校圖書館遠(yuǎn)程訪問(wèn)系統(tǒng)實(shí)現(xiàn)技術(shù)研究[J].圖書館學(xué)研究,2009(5): 43-46.
[8] 閆曉弟,耶健.基于VPN的電子資源遠(yuǎn)程訪問(wèn)系統(tǒng)的研究與實(shí)現(xiàn)[J].情報(bào)雜志,2009,28(8):159-166.
[9] 金家琴.基于SSL VPN技術(shù)實(shí)現(xiàn)公共圖書館電子資源遠(yuǎn)程訪問(wèn)[J].圖書館雜志,2009(3):64-68.
[10] 李磊.SSL VPN技術(shù)及其在高校圖書館的應(yīng)用[J].信息技術(shù),2011(7):261.
[11] 蘇明強(qiáng),張凌云.高校圖書館電子資源遠(yuǎn)程訪問(wèn)技術(shù)分析[J].內(nèi)江科技,2012(1):104-105.
[12] 高旻,劉凡儒,高健.電子資源遠(yuǎn)程訪問(wèn)地址重寫代理EZproxy研究[J].圖書館理論與實(shí)踐,2008(5):80-81.
[13] Useful Utilities EZproxy Support.http://www.ezproxy.com/support/overview.html.
[14] 李洪文.基于URL重寫技術(shù)的電子資源統(tǒng)一授權(quán)訪問(wèn)系統(tǒng)的原理和實(shí)現(xiàn)[J].大學(xué)圖書館學(xué)報(bào),2008(4):68-71.
[15] 溫明章.基于開源軟件的數(shù)字圖書館資源遠(yuǎn)程訪問(wèn)的總設(shè)計(jì)[J].現(xiàn)代情報(bào),2011,31(1):63-66.endprint