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