【摘要】隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,各行各業(yè)都在創(chuàng)建自己的網(wǎng)絡(luò)平臺,網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫技術(shù)的有機(jī)結(jié)合是近幾年一直高熱不減的課題。文章討論了網(wǎng)絡(luò)數(shù)據(jù)庫的幾種解決方案,分析對比其優(yōu)缺點(diǎn)。
【關(guān)鍵詞】計(jì)算機(jī)網(wǎng)絡(luò);數(shù)據(jù)庫
當(dāng)今數(shù)據(jù)庫技術(shù)已成為計(jì)算機(jī)應(yīng)用的核心技術(shù),可以認(rèn)為當(dāng)今任何計(jì)算機(jī)信息系統(tǒng)和計(jì)算機(jī)應(yīng)用系統(tǒng)都與數(shù)據(jù)庫的應(yīng)用分不開,數(shù)據(jù)庫已成為其核心和基礎(chǔ)。建立數(shù)據(jù)庫應(yīng)用系統(tǒng)是要充分利用數(shù)據(jù)庫中的數(shù)據(jù)。隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,數(shù)據(jù)庫技術(shù)也插上了網(wǎng)絡(luò)的翅膀,但網(wǎng)絡(luò)數(shù)據(jù)庫出現(xiàn)的許多問題,如編程重復(fù)和復(fù)用,查詢速度慢,并發(fā)進(jìn)程多出現(xiàn)鎖死等。本文討論了一些網(wǎng)絡(luò)數(shù)據(jù)庫的幾種解決方案,并對其進(jìn)行分析對比。本文由權(quán)威期刊WWW.QWQK.CN收集整理。
使用瀏覽器,通過Interanet或Intranet存取網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)常見的解決方案有如下幾種:
1.CGI(Common Gateway Interface):在Web應(yīng)用中,與其他動(dòng)態(tài)編程技術(shù)相比,CGI技術(shù)雖然是一項(xiàng)很早期的技術(shù),有很多的不足,性能差、需要大量的HTTP知識、不靈活等等,但它還是具有很強(qiáng)的使用性。CGI是Common Gateway Interface的縮寫,目前大多數(shù)的Web產(chǎn)品提供此項(xiàng)服務(wù)功能,它可以使用任何一種計(jì)算機(jī)語言編寫,使用尤其廣泛的有C、Perl、C++語言,在Internet上有很多相關(guān)的資料和程序及源代碼。
它的運(yùn)行過程,Web服務(wù)器接受客戶端瀏覽器的URL請求,找到CGI程序后,啟動(dòng)并產(chǎn)生一個(gè)CGI進(jìn)程,將系統(tǒng)參數(shù)和用戶請求參數(shù)交給CGI進(jìn)程,由CGI進(jìn)程提取數(shù)據(jù)庫中數(shù)據(jù)處理后,產(chǎn)生結(jié)果,反饋給Web服務(wù)器,由其反饋給用戶端瀏覽器。這樣完成了一個(gè)請求過程。
2.Trilogy RDA/Web:這是Trilogy公司開發(fā)的TANGRAM RDA/WEB,是一個(gè)Internet、Intranet及數(shù)據(jù)庫的應(yīng)用軟件開發(fā)工具,不需要編寫CGI程序,使用標(biāo)準(zhǔn)與擴(kuò)充的HTML模板與SQL命令,幫助快速開發(fā)一個(gè)可以存取網(wǎng)絡(luò)數(shù)據(jù)庫的CGI應(yīng)用程序,通過ODBC驅(qū)動(dòng)程序,存取支持ODBC的數(shù)據(jù)庫。它適用于所有的網(wǎng)絡(luò)服務(wù)器。
3.Sybase web.sql:這是專業(yè)的大型數(shù)據(jù)庫公司Sybase從數(shù)據(jù)庫的角度,開發(fā)出的一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫軟件web.sql,它與網(wǎng)絡(luò)服務(wù)器搭配使用,使用標(biāo)準(zhǔn)與擴(kuò)充的HTML模板、簡易的Perl script語言與SQL命令,即可經(jīng)過Internet或Intranet存取大型數(shù)據(jù)庫的數(shù)據(jù)。
4.Microsoft IDC(Internet Database Connector):它包含于Windows NT Server中的IIS(Internet Information Server)2.0中,它提供簡單的網(wǎng)絡(luò)數(shù)據(jù)庫存取解決方案。通過ODBC驅(qū)動(dòng)程序,即可存取支持ODBC的數(shù)據(jù)庫。它適用于IIS4.0網(wǎng)絡(luò)服務(wù)器。
5.Oracle Web Application Sever:這是由大型數(shù)據(jù)庫公司的龍頭Oracle公司所提供的網(wǎng)絡(luò)數(shù)據(jù)處理解決方案。可存取Oracle 大型數(shù)據(jù)庫和支持ODBC的數(shù)據(jù)庫。提供windows NT 和UNIX版本。
6.Microsoft ADC(Advanced Data Connectivity):它提供了一個(gè)數(shù)據(jù)處理的Activex Control,可以用戶端的的瀏覽器上運(yùn)行數(shù)據(jù)查詢操作,是Microsoft 提供的解決頻繁數(shù)據(jù)查詢的解決方案。它可存取支持ODBC(Open Databsw Connectivity)的數(shù)據(jù)庫。用戶端使用支持Activex 的瀏覽器,如IE或Netscape(需外掛plug-in程序)。
7.Microsoft ASP/ADO:這是Windows NT Server中的IIS,它提供ASP與ADO在服務(wù)器端運(yùn)行VBScript呀Jscript,它是Microsoft提供 完整的網(wǎng)絡(luò)數(shù)據(jù)庫存取解決方案。存取支持ODBC的數(shù)據(jù)庫。
幾種常見解決方案各自特點(diǎn)及對比:
1.CGI的傳統(tǒng)方式是,在瀏覽器上填好表單的輸入數(shù)據(jù),提出HTTP要求,要求在網(wǎng)絡(luò)服務(wù)器運(yùn)行一個(gè)表單年規(guī)定的可運(yùn)行CGI的應(yīng)用程序。網(wǎng)絡(luò)服務(wù)器受到要求后,CGI程序分析表單的輸入數(shù)據(jù),存取網(wǎng)絡(luò)數(shù)據(jù)庫,再將查詢運(yùn)行的結(jié)果以HTML的格式傳送給瀏覽器。
通過CGI訪問數(shù)據(jù)庫方式特點(diǎn):該方式為傳統(tǒng)方式,它功能強(qiáng)大,但編制復(fù)雜,性能較差,面對每一個(gè)訪問請求,CCGI總會(huì)開一個(gè)進(jìn)程去響應(yīng),即使是重復(fù)的調(diào)用,它也會(huì)開重復(fù)的進(jìn)程,對系統(tǒng)資源消耗很大。不易開發(fā)、變更修改成本高、功能有限、不易糾錯(cuò)、而且不具備事務(wù)(transaction)的功能,同時(shí)CGI的效率也是一個(gè)大問題,每個(gè)表單均需運(yùn)行一個(gè)可執(zhí)行文件,幾個(gè)人同時(shí)上網(wǎng)使用時(shí),幾個(gè)可執(zhí)行文件同時(shí)運(yùn)行,將大大降低網(wǎng)絡(luò)服務(wù)器的運(yùn)行速度。
2.IDC(Internet Database Connector)。Windows NT Server中包括了IIS,提供Internet satabase connector(簡稱IDC)的技術(shù),可幫助建立提供數(shù)據(jù)庫信息的網(wǎng)頁內(nèi)容,在網(wǎng)頁中運(yùn)行SQL命令,使用戶能在瀏覽器中查詢、輸入、更新和刪除網(wǎng)絡(luò)服務(wù)器上數(shù)據(jù)庫上數(shù)據(jù),通過ODBC驅(qū)動(dòng)程序,可存取各種支持ODBC的數(shù)據(jù)庫。
通過IDC訪問數(shù)據(jù)庫方式特點(diǎn):包含在IIS2.0版本當(dāng)中、設(shè)計(jì)簡易,只要準(zhǔn)備兩個(gè)文件,即可在用戶的瀏覽器上存取網(wǎng)絡(luò)上的數(shù)據(jù)庫數(shù)據(jù),不需編譯,直接執(zhí)行,支持多重查詢的功能,即可同時(shí)發(fā)出多個(gè)SQL命令。
3. ADC(Advanced Data Connector)。提供一個(gè)數(shù)據(jù)處理的Activex Control,通過ODBC驅(qū)動(dòng)程序,存取各種ODBC和數(shù)據(jù)庫。一般的網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)。如:ADO、IDC等,數(shù)據(jù)查詢的工作是在服務(wù)器端的網(wǎng)絡(luò)服務(wù)器上運(yùn)行的,每次查詢數(shù)據(jù)的要求都需要有用戶端發(fā)出送到服務(wù)器端,服務(wù)器運(yùn)行數(shù)據(jù)庫查詢轉(zhuǎn)貼于權(quán)威期刊 http://www.qwqk.cn后,再傳回用戶端的瀏覽器上顯示出來。
ADC與其他網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù),有一個(gè)很大的不同點(diǎn),就是ADC 的數(shù)據(jù)查詢是在用戶端的瀏覽器上運(yùn)行的。ADC將服務(wù)器數(shù)據(jù)庫中數(shù)千個(gè)數(shù)據(jù),先下載到用戶端,在用戶端的瀏覽器直接做數(shù)據(jù)查詢,大部分時(shí)間不需再與服務(wù)器相連,效率較高。這個(gè)數(shù)據(jù)查詢由安裝在用戶端的ADC ActiveX Control處理的。
特點(diǎn):在用戶端運(yùn)行數(shù)據(jù)查詢:將數(shù)據(jù)庫中的大量數(shù)據(jù)暫存在用戶端,直接在用戶端的瀏覽器進(jìn)行數(shù)據(jù)查詢,節(jié)省了用戶端與服務(wù)器端之間數(shù)據(jù)往返所需的時(shí)間。適合與在Internet\Intarnet或LAN上做頻繁和數(shù)據(jù)庫數(shù)據(jù)存取和查詢工作。本文由權(quán)威期刊WWW.QWQK.CN收集整理。
ActiveX Control:由網(wǎng)絡(luò)服務(wù)器上自動(dòng)下載并將ADC的ActiveX Control安裝在用戶端,無需另行安裝或設(shè)定。用戶端需使用支持ActiveX的瀏覽器,如IE和Netscape等,才能存取網(wǎng)絡(luò)服務(wù)器數(shù)據(jù)庫的數(shù)據(jù)。由于是一個(gè)ActiveX Control,可使用Vbscript和javascript語言來控制此ADC的ActiveX Control,它可與其他的ActiveX Control配合使用。
4.ADO(ActiveX Data Object)。ADO是可以依附和訪問數(shù)據(jù)庫的一種ActiveX Data Component,而ASP允許使用ActiveX Data Component,這樣兩者就有了結(jié)合的基礎(chǔ),從而大大提高了ASP的能力。
用戶可以通過瀏覽器填寫表單通過網(wǎng)絡(luò)傳送HTTP信息到網(wǎng)絡(luò)服務(wù)器,請求網(wǎng)絡(luò)服務(wù)器運(yùn)行一個(gè)指定的.asp程序代碼,通過ADO與ODBC建立連接,驅(qū)動(dòng)數(shù)據(jù)庫訪問數(shù)據(jù),獲取的數(shù)據(jù)信息,解釋后以HTML傳送給瀏覽器。
ADO對象模型很容易使用,它使用OLE DB(這是微軟推出的能同時(shí)使用關(guān)系型的數(shù)據(jù)和非關(guān)系型的數(shù)據(jù)的一種界面,是比ODBC更高的層次的軟件)技術(shù)操作數(shù)據(jù),是提供了OLE DB最常用的功能的一個(gè)界面,并且有著很強(qiáng)大的功能和靈活性,是對Microsoft所支持的數(shù)據(jù)進(jìn)行操作的最有效、最簡單、最有生產(chǎn)力的方法。可以用在VB和VC++程序中,也可以通過Web頁中的服務(wù)器腳本來使用。
ADO.NET是.NET平臺中專門用于存取后端數(shù)據(jù)庫與進(jìn)行數(shù)據(jù)庫操作的一組類。可以將ADO.NET視為ADO的改進(jìn)版,比ADO功能更強(qiáng),加入了過去所沒有的面向?qū)ο蟮慕Y(jié)構(gòu),讓數(shù)據(jù)庫應(yīng)用程序的編寫更為結(jié)構(gòu)化。通過.NET Data Prowider所提供的應(yīng)用程序編程接口API可以輕松地訪問各種數(shù)據(jù)源的數(shù)據(jù),包括OLEDB和ODBC支持的數(shù)據(jù)庫。
網(wǎng)絡(luò)數(shù)據(jù)庫都有一個(gè)共同的問題:數(shù)據(jù)越多,所占用的內(nèi)存和 CPU 資源就越大,常規(guī)網(wǎng)站在查詢大量數(shù)據(jù)時(shí)一定會(huì)需要很多時(shí)間,有時(shí)查詢時(shí)間高達(dá)幾十秒,在這幾十秒內(nèi)如果還有其他用戶提交類似的請求,數(shù)據(jù)庫(如 ACCESS )就可能因并發(fā)線程太多而鎖死,從而導(dǎo)致客戶網(wǎng)站無法繼續(xù)工作,而且服務(wù)器的 CPU 常常也是滿負(fù)荷。查詢量較多、頁面較大、網(wǎng)站訪問人數(shù)比較多的時(shí)候,網(wǎng)站的速度就會(huì)變慢,常常導(dǎo)致網(wǎng)頁打開非常慢甚至頁面執(zhí)行超時(shí)。網(wǎng)絡(luò)數(shù)據(jù)庫加速技術(shù)是采用緩存的技術(shù)實(shí)現(xiàn)加速,當(dāng)有人訪問指定的頁面時(shí),加速模塊會(huì)自動(dòng)檢測剛才處理過的數(shù)據(jù)頁面是否有效,如果還沒過期就立刻輸出給訪問者,因此明顯提升訪問速度。當(dāng)然如果緩存已經(jīng)過期就重新生成緩存網(wǎng)頁,實(shí)現(xiàn)智能更新。有效地解決了網(wǎng)頁打開速度慢,數(shù)據(jù)庫因并發(fā)太多鎖死的問題。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >