劉芷茵
(廣州市越秀區(qū)圖書館,廣東 廣州 510030)
隨書光盤是圖書的一種補(bǔ)充,幫助讀者加深對圖書內(nèi)容的理解,起到輔助學(xué)習(xí)的作用。但隨書光盤在流通過程中容易出現(xiàn)磨損、丟失等情況,造成光盤保存和管理極為不便。為了更好地保存、管理與利用隨書光盤,目前國內(nèi)不少圖書館開始使用隨書光盤管理系統(tǒng),將光盤內(nèi)容壓縮后存儲(chǔ)在服務(wù)器上,通過網(wǎng)絡(luò)進(jìn)行光盤資源管理和應(yīng)用。這種服務(wù)方式,即使隨書光盤能夠以數(shù)字化形式長久保存,又提高了隨書光盤的使用效率,體現(xiàn)了圖書館開拓?cái)?shù)字化、信息化服務(wù)的理念。然而隨書光盤管理系統(tǒng)在使用過程中會(huì)遇到很多問題,其中版權(quán)保護(hù)就是比較關(guān)鍵的一個(gè)問題。筆者從版權(quán)保護(hù)出發(fā),探究設(shè)計(jì)隨書光盤管理系統(tǒng)時(shí)規(guī)避侵權(quán)風(fēng)險(xiǎn)的策略,并在此基礎(chǔ)上提出了系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的方案。
圖書館作為公益性的社會(huì)文化教育機(jī)構(gòu),承擔(dān)著保障公眾文化權(quán)益、讓公眾共享文化成果的責(zé)任,理應(yīng)為公眾提供免費(fèi)的隨書光盤數(shù)字資源服務(wù)。但隨書光盤是隨圖書一同發(fā)行的電子出版物,依法應(yīng)受到版權(quán)保護(hù)。那么,圖書館利用隨書光盤管理系統(tǒng)在網(wǎng)絡(luò)上傳播隨書光盤資源將涉及版權(quán)問題。《中華人民共和國著作權(quán)法》和《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》均規(guī)定了版權(quán)作品合理使用的多種情形及未經(jīng)著作權(quán)人許可、通過信息網(wǎng)絡(luò)傳播版權(quán)作品應(yīng)遵守的規(guī)定,為圖書館合理地、正當(dāng)?shù)貫楣娦畔①Y源服務(wù)提供了法律依據(jù)。因此,圖書館應(yīng)以保護(hù)版權(quán)為前提,遵守法律規(guī)定,從以下幾方面著手進(jìn)行隨書光盤管理系統(tǒng)的設(shè)計(jì)與開發(fā),規(guī)避侵權(quán)風(fēng)險(xiǎn)。
《中華人民共和國著作權(quán)法》第四十七條規(guī)定,未經(jīng)著作權(quán)人或者與著作權(quán)有關(guān)的權(quán)利人許可,故意刪除或者改變作品、錄音錄像制品等的權(quán)利管理電子信息的行為都是侵權(quán)行為,應(yīng)承擔(dān)相應(yīng)的法律責(zé)任。在隨書光盤管理系統(tǒng)使用過程中,加工隨書光盤時(shí),不可對光盤內(nèi)容作任何刪改,直接壓縮整張光盤的數(shù)據(jù),以保證光盤內(nèi)容的完整性。
《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》第七條規(guī)定,圖書館可以不經(jīng)著作權(quán)人許可,通過信息網(wǎng)絡(luò)向本館館舍內(nèi)服務(wù)對象提供本館收藏的合法出版的數(shù)字作品和依法為陳列或者保存版本的需要以數(shù)字化形式復(fù)制的作品,不向其支付報(bào)酬,但不得直接或者間接獲得經(jīng)濟(jì)利益。《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》第十條規(guī)定,圖書館未經(jīng)著作權(quán)人許可、通過信息網(wǎng)絡(luò)向公眾提供其作品,應(yīng)當(dāng)采取技術(shù)措施,防止圖書館服務(wù)對象以外的其他人獲得著作權(quán)人的作品。根據(jù)以上條例,只要圖書館采取有效技術(shù)保護(hù)措施,控制隨書光盤數(shù)字資源網(wǎng)絡(luò)傳播的對象和范圍,向本館讀者提供免費(fèi)服務(wù),不以盈利為目的,則可避免侵權(quán)風(fēng)險(xiǎn)。[1]
《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》第二十二條規(guī)定,網(wǎng)絡(luò)服務(wù)提供者通過信息網(wǎng)絡(luò)向公眾提供作品、表演、錄音錄像制品,應(yīng)明確標(biāo)示該信息存儲(chǔ)空間是為服務(wù)對象所提供,并公開網(wǎng)絡(luò)服務(wù)提供者的名稱、聯(lián)系人、網(wǎng)絡(luò)地址。隨書光盤管理系統(tǒng)的下載頁面,應(yīng)公布版權(quán)聲明。版權(quán)聲明內(nèi)容除了上述條例提到的內(nèi)容外,還可以包括用戶合理使用光盤資源的行為說明和侵權(quán)行為說明。圖書館發(fā)表版權(quán)聲明,是為了避免用戶直接侵權(quán)行為的發(fā)生,同時(shí)也是為了履行法律關(guān)于注意義務(wù)的要求,免除可能產(chǎn)生的圖書館間接侵權(quán)責(zé)任。[2]
筆者基于以上策略,設(shè)計(jì)和開發(fā)了隨書光盤管理系統(tǒng),系統(tǒng)架構(gòu)為Java+Jsp+Tomcat+SQL Server2005。
本系統(tǒng)主要實(shí)現(xiàn)隨書光盤的下載利用與系統(tǒng)管理人員對隨書光盤的管理和維護(hù),系統(tǒng)包含用戶驗(yàn)證、光盤資源下載、光盤資源管理、用戶管理、日志管理等功能模塊。
3.1.1 用戶驗(yàn)證。本模塊用于用戶身份驗(yàn)證,判斷用戶是否為圖書館的合法用戶,通過驗(yàn)證才能登錄系統(tǒng),驗(yàn)證信息包括讀者證號(hào)和密碼。
3.1.2 光盤資源下載。本模塊用于隨書光盤的下載使用。只有系統(tǒng)認(rèn)可的合法用戶才有權(quán)限下載和使用隨書光盤。
3.1.3 光盤資源管理。本模塊用于系統(tǒng)管理人員對隨書光盤進(jìn)行加工、上傳、修改、刪除等操作,實(shí)現(xiàn)隨書光盤的管理和維護(hù)。
3.1.4 用戶管理。本模塊采用多用戶多角色管理機(jī)制,實(shí)現(xiàn)對系統(tǒng)各級(jí)用戶的角色設(shè)置和權(quán)限分配,確保不同級(jí)別的用戶登錄系統(tǒng)后只能夠執(zhí)行屬于自己權(quán)限范圍內(nèi)的操作,保障系統(tǒng)的安全性。
3.1.5 日志管理。本模塊跟蹤記錄用戶所進(jìn)行的操作,形成操作日志,并提供日志查詢功能,以便系統(tǒng)管理人員監(jiān)控用戶的操作行為。
根據(jù)系統(tǒng)功能模塊的劃分,系統(tǒng)的數(shù)據(jù)庫主要包含如下數(shù)據(jù)表:①光盤資源信息表。包括光盤編號(hào)、索取號(hào)、光盤名稱、光盤文件名、書名、文件大小、上傳時(shí)間七個(gè)字段。②用戶信息表。包括用戶編號(hào)、用戶名、用戶密碼、角色編號(hào)四個(gè)字段。③用戶角色表。包括角色編號(hào)、角色名稱、角色說明三個(gè)字段。④操作權(quán)限表。包括權(quán)限編號(hào)、權(quán)限名稱、權(quán)限說明三個(gè)字段。⑤角色權(quán)限關(guān)聯(lián)表。包括關(guān)聯(lián)記錄編號(hào)、角色編號(hào)、權(quán)限編號(hào)三個(gè)字段。⑥操作日志表。包括日志編號(hào)、操作類型編號(hào)、操作對象、操作執(zhí)行結(jié)果、流量、用戶編號(hào)、操作時(shí)間、IP地址八個(gè)字段。⑦操作日志類型表。包括操作類型編號(hào)、操作類型名稱、操作類型說明三個(gè)字段。
4.1.1 在Tomcat的conf目錄下找到server.xml文件,配置文件路徑:
<Context path="/iso"docBase="G:disk_data"debug="0"reloadable="true"crossContext="true"/>
其中,path是光盤資源發(fā)布到網(wǎng)上下載的虛擬路徑,docBase是光盤資源在服務(wù)器存放的物理路徑。
4.1.2 在Tomcat的conf目錄下找到web.xml文件,指定需要下載文件的MIME類型為iso:
<mime-mapping>
<extension>iso</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
加工隨書光盤,可以用WinlSO或UltralSO等軟件把光盤壓縮成ISO鏡像文件并上傳到服務(wù)器。ISO文件是一種符合ISO 9660國際標(biāo)準(zhǔn)的光盤鏡像文件格式,擴(kuò)充的ISO 9660可以支持市場上幾乎所有的光盤。使用標(biāo)準(zhǔn)的ISO 9660格式壓縮光盤可以保證整張光盤內(nèi)容的完整性,避免光盤部分信息的丟失。用戶下載ISO鏡像文件后可通過Daemon等虛擬光驅(qū)軟件將其虛擬成光盤直接使用[3]。考慮到鏡像文件比較大,為了節(jié)省數(shù)據(jù)庫空間和提高速度,可在服務(wù)器上建立存放光盤鏡像的文件夾,把光盤鏡像直接上傳到服務(wù)器上。隨書光盤與圖書采用一致的索取號(hào),以索取號(hào)作為光盤鏡像的文件名,然后把光盤鏡像的文件名寫進(jìn)數(shù)據(jù)庫。
由于隨書光盤管理系統(tǒng)數(shù)據(jù)庫不具備讀者信息,用戶驗(yàn)證交由圖書館管理系統(tǒng)處理。隨書光盤管理系統(tǒng)設(shè)置用戶登錄界面,獲取用戶的讀者證號(hào)和密碼,然后通過基于HTTP協(xié)議的讀者身份驗(yàn)證接口為用戶進(jìn)行身份驗(yàn)證,再獲取接口返回的驗(yàn)證結(jié)果,如驗(yàn)證通過則允許用戶登錄。
接口返回的驗(yàn)證結(jié)果可采取XML作為數(shù)據(jù)描述文件格式。XML是為互聯(lián)網(wǎng)的數(shù)據(jù)交換而設(shè)計(jì)的,是一種簡單的數(shù)據(jù)存儲(chǔ)語言,使用一系列簡單的標(biāo)記描述數(shù)據(jù)。系統(tǒng)可以先用專門處理HTTP請求和響應(yīng)的工具包,比如HttpClient,來獲取XML格式的驗(yàn)證結(jié)果,然后再用DOM、DOM4J、SAX和JDOM等四種解析器中的一種來解析XML。
下面筆者編寫了一個(gè)以讀者證號(hào)和密碼為參數(shù)的ReaderCheck函數(shù),來進(jìn)行用戶身份驗(yàn)證。代碼如下:
public static String ReaderCheck(String rdid,String pwd){
//用HttpClient獲取XML
HttpClient httpClient=new HttpClient();
String urlName="……";
PostMethod postMethod=new PostMethod(url-Name);
try{
int responseCode = httpClient.executeMethod(postMethod);
if(responseCode==200){
System.out.println("請求成功.");
String res = postMethod.getResponseBodyAs-String();
//用DOM解析XML
DocumentBuilderFactory dbf=DocumentBuilder-Factory.newInstance();
StringReader reader=new StringReader(res);
InputSource insource = new InputSource(reader);
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(insource);Element root=doc.getDocumentElement();
……}
4.4.1 只允許圖書館借了圖書的讀者下載所借圖書的隨書光盤。隨書光盤和圖書是配套使用的,只學(xué)習(xí)光盤內(nèi)容而不看書籍會(huì)使學(xué)習(xí)效果打折扣。而且不加限制地允許用戶大量下載隨書光盤,會(huì)存在侵權(quán)的潛在風(fēng)險(xiǎn)。雖然可以由系統(tǒng)監(jiān)控用戶的下載行為,但只能發(fā)現(xiàn)短期內(nèi)同一帳號(hào)大量下載隨書光盤的行為,對于多個(gè)賬號(hào)分時(shí)少量下載的行為則較難檢測和判斷。
為了實(shí)現(xiàn)此功能,可以由圖書館管理系統(tǒng)提供取得讀者當(dāng)前借閱信息的接口,隨書光盤管理系統(tǒng)通過該接口獲取用戶當(dāng)前的借閱信息,如所借圖書帶有隨書光盤,則提示用戶下載。
用戶當(dāng)前借閱信息的獲取方法可參照用戶身份驗(yàn)證功能的實(shí)現(xiàn)方式操作。
4.4.2 做好防盜鏈處理,防止非授權(quán)用戶下載隨書光盤。盜鏈就是一些網(wǎng)站為了豐富自己網(wǎng)站的內(nèi)容,而盜取其他網(wǎng)站的圖片、音樂、文件的下載地址,放到自己網(wǎng)站上。防盜鏈就是防止這種行為的發(fā)生,杜絕非法下載,實(shí)現(xiàn)版權(quán)保護(hù)。
筆者采用的防盜鏈方法是下載光盤資源時(shí)隱藏其真實(shí)的下載地址。具體流程:根據(jù)讀者當(dāng)前所借圖書的索取號(hào),利用圖書與光盤索取號(hào)一致的關(guān)聯(lián)關(guān)系在數(shù)據(jù)庫中找到對應(yīng)的光盤文件名,然后把下載鏈接設(shè)為“http://xxx/download.jsp?fn=yyy”,其中,xxx是隨書光盤管理系統(tǒng)域名,yyy是光盤文件名。在download.jsp頁面里,先判斷下載請求的來源頁是否為外部網(wǎng)站,如果是則提示用戶登錄,如果不是則動(dòng)態(tài)生成光盤資源真實(shí)的下載地址,并實(shí)現(xiàn)光盤資源的下載。
動(dòng)態(tài)生成下載地址的原理:把光盤的索取號(hào)作為光盤的文件名,由于索取號(hào)中帶有的“/”不能作為文件名,因此用“_”代替“/”,比如索取號(hào)為H31/165,則文件名為H31_165.iso。然后,再按分類號(hào)對光盤文件分類存放,如H類的放在文件名為“h”的文件夾下,那么H31_165.iso在服務(wù)器中存放的相對路徑就是“/iso/h/H31_165.iso”。按照這個(gè)規(guī)則,系統(tǒng)就可以在用戶點(diǎn)擊下載鏈接時(shí)再由程序生成每個(gè)光盤文件的真實(shí)下載地址。
實(shí)現(xiàn)防盜鏈的主要代碼如下:
(1)用戶登錄狀態(tài)判斷
if((String)session.getAttribute("Username")==null)
{response.sendRedirect("login.jsp");//跳轉(zhuǎn)到登錄頁面要求用戶登錄}
(2)動(dòng)態(tài)生成下載地址
public static String isopath(String fn){
String filename=fn;
char c=filename.charAt(0);
int i=(int)c;
if(i>=65&&i<=90){
String p=filename.substring(0,1).toLowerCase();
String realpath = "/iso/" + p + "/" +filename;//生成下載地址
}
else
{
System.out.println(“文件名錯(cuò)誤!”);
}
……
}
(3)下載光盤資源
public String downloadFile(HttpServletRequest request,
HttpServletResponse response){
……
int filelength=0;
try{
response.setContentType(this.getContentType(filename));
response.setHeader("Content-disposition","attachment;filename="+filename);
InputStream fis = new FileInputStream(realpath);
BufferedInputStream bis = new BufferedInput-Stream(fis);
OutputStream fos = response.getOutputStream();
BufferedOutputStream bos=new BufferedOutput-Stream(fos);
int bytesRead=0;
byte bytes=new byte[512000];
while((byteslen=bis.read(bytes))!=-1)
{
filelength+ =byteslen;
bos.write(bytes,0,byteslen);//發(fā)送到客戶端
}
……
}catch(IOException e){
……
}
}
系統(tǒng)在用戶進(jìn)行登錄和退出、下載文件,對光盤資源進(jìn)行增刪改等操作時(shí),用SQL的insert into語句在操作日志表中插入一條記錄,記錄操作用戶、操作類型、操作對象、操作執(zhí)行結(jié)果、產(chǎn)生的流量、操作時(shí)間、所在IP地址等日志信息。用戶登錄和退出日志的記錄可以利用HttpSessionBindingListener接口,通過監(jiān)聽session的新建和撤銷來實(shí)現(xiàn)。
有了日志記錄,就可以利用SQL語句對操作日志表執(zhí)行查詢和統(tǒng)計(jì),生成統(tǒng)計(jì)報(bào)表。統(tǒng)計(jì)報(bào)表可直觀反映隨書光盤的下載頻率和用戶下載隨書光盤的情況。管理人員根據(jù)用戶的下載頻率和下載流量就可判斷其使用行為是否合理。[4]
本系統(tǒng)現(xiàn)已在廣州市越秀區(qū)圖書館使用,效果良好。本系統(tǒng)在解決版權(quán)問題的同時(shí),使隨書光盤得以長久保存,使讀者能夠通過網(wǎng)絡(luò)便捷地獲取到所需要的隨書光盤資源,為圖書館開展信息資源服務(wù)提供了有效途徑。
[1] 陳小萍,吳高.隨書光盤利用的版權(quán)風(fēng)險(xiǎn)與對策研究[J].圖書館論壇,2009(5):53-55.
[2][4]韋景竹,湯罡輝,郭超.圖書館知識(shí)產(chǎn)權(quán)風(fēng)險(xiǎn)規(guī)避自律機(jī)制的觀察與分析[J].圖書情報(bào)知識(shí),2010(2):92-99.
[3] 戴麗娜.無錫科技職業(yè)學(xué)院圖書館隨書光盤管理系統(tǒng)的設(shè)計(jì)[J].內(nèi)蒙古科技與經(jīng)濟(jì).2009(19):147-149.