- 相關(guān)推薦
圖書館特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)設(shè)計(jì)計(jì)算機(jī)論文
摘要:
介紹了基于ASP.NET技術(shù)開發(fā)的圖書館自建特色數(shù)據(jù)庫(kù)管理系統(tǒng),該系統(tǒng)前端應(yīng)用程序采用ASP.NET技術(shù)開發(fā),底層數(shù)據(jù)庫(kù)采用目前流行的SQL Server2005。本系統(tǒng)功能完備,可實(shí)現(xiàn)對(duì)館藏圖書、期刊、報(bào)紙等紙質(zhì)文獻(xiàn)的數(shù)字化管理和信息發(fā)布,具有較強(qiáng)的實(shí)用性。
關(guān)鍵詞:
特色數(shù)據(jù)庫(kù);ASP.NET;SQL Server;管理系統(tǒng)
中圖分類號(hào):
TP393文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):
1673-1980(2011)02-0164-03
圖書館特色數(shù)據(jù)庫(kù)建設(shè)歷來是圖書館數(shù)字資源建設(shè)的重要組成部分,對(duì)于具有豐富特色館藏文獻(xiàn)的圖書館來說尤其如此。因此,許多圖書館都根據(jù)自身?xiàng)l件對(duì)這些重要文獻(xiàn)進(jìn)行了數(shù)字化,如購(gòu)買數(shù)字化系統(tǒng),或與數(shù)字資源供應(yīng)商合作。我校圖書館近幾年進(jìn)行了數(shù)字化工作流程設(shè)計(jì)和數(shù)字化系統(tǒng)的開發(fā),逐漸建立起了一套具有自有知識(shí)產(chǎn)權(quán)的特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)。
ASP.NET是微軟推出的新一代Active ServerPage,是微軟發(fā)展的新的體系結(jié)構(gòu).NET的一部分,其全新的技術(shù)架構(gòu)讓編程變得非常容易。與其他WEB程序技術(shù)相比,ASP.NET具有許多新的特點(diǎn):真正的面向?qū)ο缶幊陶Z言,功能強(qiáng)大,簡(jiǎn)潔易學(xué);編譯型編程框架,程序執(zhí)行速度快;WEB頁面創(chuàng)建簡(jiǎn)單易行;
ADO.NET處理數(shù)據(jù)訪問,使數(shù)據(jù)訪問更加快速可靠等。基于ASP.NET的這些優(yōu)秀特性,采用ASP.NET進(jìn)系統(tǒng)開發(fā)便成了我館的首要選擇。
1特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)架構(gòu)
過去許多此類應(yīng)用系統(tǒng)的開發(fā),多采用Client/Server的二層體系結(jié)構(gòu),并且應(yīng)用廣泛,在這種結(jié)構(gòu)中應(yīng)用程序邏輯通常由客戶端程序?qū)崿F(xiàn),服務(wù)端負(fù)責(zé)進(jìn)行客戶端的數(shù)據(jù)訪問和處理請(qǐng)求,并將處理和訪問結(jié)果返回客戶端。但是,Client/Server結(jié)構(gòu)存在一些問題,當(dāng)客戶端數(shù)目激增時(shí),服務(wù)器端的性能會(huì)因?yàn)樨?fù)載過重而大大降低;最重要的是,一旦業(yè)務(wù)邏輯發(fā)生變化,客戶端和服務(wù)器端的應(yīng)用程序都需要進(jìn)行修改,給應(yīng)用維護(hù)和升級(jí)帶來極大的不便等等。
因此,目前數(shù)據(jù)庫(kù)應(yīng)用程序的開發(fā)已經(jīng)從傳統(tǒng)的Client/Server結(jié)構(gòu)向三層結(jié)構(gòu)轉(zhuǎn)變。所謂三層體系結(jié)構(gòu),即顯示層,業(yè)務(wù)邏輯層和數(shù)據(jù)層。業(yè)務(wù)邏輯層是在客戶端與數(shù)據(jù)庫(kù)之間加入了一個(gè)“中間層”,也叫組件層,整個(gè)架構(gòu)是邏輯上的三層結(jié)構(gòu)而非物理結(jié)構(gòu),我們即可以將這三層程序邏輯結(jié)構(gòu)放到一個(gè)服務(wù)器上運(yùn)行,也可以放置到三臺(tái)服務(wù)器上。在特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)中使用的三層架構(gòu)如圖1所示。
2特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)功能描述
2.1特色數(shù)據(jù)庫(kù)信息發(fā)布實(shí)現(xiàn)各類特色數(shù)據(jù)庫(kù)信息發(fā)布和資源檢索,文獻(xiàn)類型包括數(shù)字圖書、數(shù)字期刊、數(shù)字報(bào)紙、圖片、視頻等。
信息發(fā)布包括最新資源、資源分類導(dǎo)航和學(xué)科導(dǎo)航、資源排行等,每種資源均有信息瀏覽的詳細(xì)頁面,并提供全文下載服務(wù);資源檢索有簡(jiǎn)單檢索和高級(jí)檢索,簡(jiǎn)單檢索是一種快速簡(jiǎn)便的檢索方法,不需要讀者進(jìn)行過多的條件輸入;高級(jí)檢索則提供了多種檢索途徑,如書名、刊名、作者、關(guān)鍵詞、分類等,可以為讀者提供更準(zhǔn)確的檢索結(jié)果,縮小結(jié)果范圍。
2.2特色數(shù)據(jù)庫(kù)建設(shè)
這部分功能是特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)的主要部分,每種類型的文獻(xiàn)都設(shè)計(jì)了相應(yīng)的數(shù)字化流程,根據(jù)這些流程,系統(tǒng)設(shè)計(jì)了相應(yīng)的功能。以圖書、期刊和報(bào)紙等紙質(zhì)文獻(xiàn)為例,其工作流包含兩部分,即管理工作流和數(shù)字化工作流。(1)管理工作流:創(chuàng)建特色數(shù)據(jù)庫(kù)=>建立數(shù)字化任務(wù)=>制定數(shù)字化清單=>任務(wù)分配=>任務(wù)審核=>資源發(fā)布。(2)數(shù)字化工作流:任務(wù)接收=>文獻(xiàn)數(shù)字化(包括元數(shù)據(jù)標(biāo)引、數(shù)字全文管理)=>提交任務(wù)。每個(gè)工作人員的當(dāng)前任務(wù)完成后,管理員可以對(duì)每個(gè)工作人員的工作進(jìn)行審核,如有問題,將該任務(wù)重新返回給工作人員進(jìn)行錯(cuò)誤修正,當(dāng)任務(wù)合格后,資源才能發(fā)布出去,工作人員才可以進(jìn)行下一個(gè)任務(wù)。
對(duì)于圖片、視頻、互聯(lián)網(wǎng)文檔等資源,系統(tǒng)也設(shè)計(jì)了對(duì)應(yīng)的工作流程,本文就不再贅述。
2.3系統(tǒng)管理
該部分功能包含了系統(tǒng)變量設(shè)置、用戶管理和統(tǒng)計(jì)功能。用戶分屬不同用戶組,針對(duì)每個(gè)用戶組賦予用戶權(quán)限,如管理員可對(duì)特色數(shù)據(jù)庫(kù)進(jìn)行信息維護(hù)、任務(wù)分配、用戶的添加刪除、用戶權(quán)限管理、工作質(zhì)量審核、資源統(tǒng)計(jì)、所有工作量統(tǒng)計(jì)等;普通用戶可以進(jìn)行該用戶任務(wù)的文件上傳、文件刪除、元數(shù)據(jù)管理等操作,進(jìn)行自身的工作量統(tǒng)計(jì),自身用戶的信息維護(hù)如密碼管理等。
系統(tǒng)功能結(jié)構(gòu)如圖2所示。
3數(shù)據(jù)庫(kù)設(shè)計(jì)
本館的特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)采用了SQL2008作底層的數(shù)據(jù)引擎進(jìn)行數(shù)據(jù)管理,主要數(shù)據(jù)表包括:特色數(shù)據(jù)庫(kù)信息表,用于存儲(chǔ)特色庫(kù)基本信息;文獻(xiàn)信息表,用于存儲(chǔ)元數(shù)據(jù);任務(wù)表,用于存儲(chǔ)管理員制定的任務(wù)列表信息,如任務(wù)內(nèi)容,任務(wù)進(jìn)度,任務(wù)執(zhí)行人等;用戶組表,用于存儲(chǔ)用戶組信息和權(quán)限;用戶表,用于存儲(chǔ)用戶信息;系統(tǒng)表,用于存儲(chǔ)系統(tǒng)環(huán)境變量;工作日志表,用于存儲(chǔ)工作日志記錄,便于統(tǒng)計(jì)工作量;資源訪問記錄表,用于存儲(chǔ)讀者訪問特色數(shù)據(jù)庫(kù)信息量,如瀏覽量、下載量等。
4系統(tǒng)功能實(shí)現(xiàn)
系統(tǒng)各功能采用C%語言、HTML語法和面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)實(shí)現(xiàn),所有業(yè)務(wù)邏輯、業(yè)務(wù)對(duì)象都抽象為實(shí)體類,在三層體系結(jié)構(gòu)中,表現(xiàn)層、業(yè)務(wù)邏輯、數(shù)據(jù)層各施其責(zé),各層通過接口進(jìn)行通信,互相協(xié)同又相互獨(dú)立。
在表現(xiàn)層,系統(tǒng)采用了DIV+CSS的結(jié)構(gòu)布局,便得界面的設(shè)計(jì)更加靈活,用CSS模擬了許多JAVASCRIPT腳本動(dòng)作,便得系統(tǒng)運(yùn)行速度更快,兼容性更好。同時(shí),系統(tǒng)設(shè)計(jì)了多種自定義控件,利用Repeater控件進(jìn)行數(shù)據(jù)綁定,利用ITEMPLATE模板進(jìn)行數(shù)據(jù)的格式化顯示,雖然在所有數(shù)據(jù)控件中,Repeater最簡(jiǎn)單,本身沒有內(nèi)置數(shù)據(jù)格式化功能,但是通過結(jié)合ITEMPLATE模板,通過編程動(dòng)態(tài)改變其顯示模板和所綁定的數(shù)據(jù)集,其中數(shù)據(jù)顯示控制的靈活性則是最強(qiáng)的。
在業(yè)務(wù)邏輯層,將各類業(yè)務(wù)操作和業(yè)務(wù)對(duì)象進(jìn)行封裝,主要類如下:MARC類封裝了圖書期刊等數(shù)字文獻(xiàn)的元數(shù)據(jù)屬性和操作,如書名、刊名、作者、出版社等字段的存儲(chǔ)和獲取。BusinessFactory類封裝了所有業(yè)務(wù)邏輯,如創(chuàng)建特色數(shù)據(jù)庫(kù)、創(chuàng)建數(shù)字化任務(wù)列表、任務(wù)分配和審核、元數(shù)據(jù)的添加刪除、數(shù)字全文文檔管理等。
USER類封裝了用戶信息、用戶權(quán)限等。Task類封裝了數(shù)字化任務(wù)的創(chuàng)建、任務(wù)清單管理、任務(wù)分配、任務(wù)審核等。Stat類封裝了所有數(shù)據(jù)統(tǒng)計(jì)功能,如工作日志統(tǒng)計(jì)、資源訪問統(tǒng)計(jì)、數(shù)據(jù)報(bào)表、圖形繪制等。
在數(shù)據(jù)層,主要利用ADO.NET提供的各類數(shù)據(jù)庫(kù)操作,對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行操作,在本系統(tǒng)中將這些功能封裝在SQLHelper類中,該類負(fù)責(zé)利用ADO.NET的各種特性,實(shí)現(xiàn)所有數(shù)據(jù)庫(kù)表的操作,如記錄的添加刪除、更新,記錄集的獲取等。
以下則是MARC類中獲取某個(gè)字段數(shù)據(jù)的方法源碼:public string getFieldData(string fieldname){int fieldnum=this.getNumOfField(fieldname);
if(fieldnum==0)
{string fields=new string;
fields="";
return fields;
}
else{string fields=new string[fieldnum];
int indexoffields=0;
int lengthoffield=0;
int startaddressoffield=0;
for(int i=0;i
numOfAllFields;i++)
{if(this.ctrlInfOfFields[i].
Substring(0,3)==fieldname)
{lengthoffield=Convert.
ToInt32(this.ctrlInfOfFields[i].Substring(3,4));
startaddressoffield=Convert.
ToInt32(this.ctrlInfOfFields[i].Substring(7,5));
fields[indexoffields++]=
getMychars(this.marcDataArea,lengthoffield,startaddressoffield);
}
}return fields;
}
}
5結(jié)語
本文所設(shè)計(jì)的圖書館特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)界面簡(jiǎn)潔,系統(tǒng)功能結(jié)構(gòu)清晰,實(shí)現(xiàn)了本館藏特色圖書、期刊、報(bào)紙等資源的數(shù)字化管理和發(fā)布。按照系統(tǒng)所設(shè)計(jì)的工作流程,可以方便輕松地建設(shè)本館特色數(shù)字資源庫(kù),對(duì)數(shù)字資源進(jìn)行進(jìn)一步的充實(shí)和完善。系統(tǒng)的成功開發(fā),有助于提升圖書館自動(dòng)化管理水平和資源服務(wù)水平,提高工作人員的工作效率。
參考文獻(xiàn)
[1]范振鈞.基于ASP.NET的三層結(jié)構(gòu)實(shí)現(xiàn)方法研究[J].計(jì)算機(jī)科學(xué),2007,34(4):289-290.
[2]Bill Evjen,Jay Glynn.C#高級(jí)編程(第四版)[M].李敏波譯,北京:清華大學(xué)出版社,2006.
【圖書館特色數(shù)據(jù)庫(kù)建設(shè)發(fā)布系統(tǒng)設(shè)計(jì)計(jì)算機(jī)論文】相關(guān)文章:
計(jì)算機(jī)數(shù)據(jù)庫(kù)設(shè)計(jì)的論文09-24
高校圖書館建設(shè)地方特色文獻(xiàn)數(shù)據(jù)庫(kù)的再思考08-07
大力開發(fā)地方文獻(xiàn) 建設(shè)有特色圖書館論文09-23
裝潢藝術(shù)設(shè)計(jì)專業(yè)特色建設(shè)思路的論文07-12
計(jì)算機(jī)數(shù)據(jù)庫(kù)論文09-11
計(jì)算機(jī)數(shù)據(jù)庫(kù)論文07-21
計(jì)算機(jī)機(jī)房管理系統(tǒng)設(shè)計(jì)論文09-24