下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、WWW對大量數(shù)據(jù)查詢的一種實現(xiàn)摘要企業(yè)通過服務和數(shù)據(jù)庫技術相結合的辦法,構建一種三層客戶端服務器的體系結構,用戶通過INTERNET瀏覽企業(yè)信息,但是當瀏覽大量數(shù)據(jù)庫數(shù)據(jù)時,網(wǎng)絡連接常因速度緩慢或因超時而中斷。本文介紹了數(shù)據(jù)庫訪問技術,通過對各種技術進行分析和比較,針對新華書店發(fā)行集團網(wǎng)站設計的需求,采用ASP技術實現(xiàn)數(shù)據(jù)的分頁傳輸。關鍵詞ASP,AD,三層體系結構,客戶端/服務器,分頁目前,大多數(shù)企業(yè)通過服務和數(shù)據(jù)庫技術相結合的辦法,構建一種三層客戶端服務器的體系結構,即客戶端瀏覽器/中間服務器(EB服務器)/數(shù)據(jù)庫服務器(B/D),利用INTERNET向世界各地發(fā)布企業(yè)的商業(yè)信息。用戶為了
2、獲得企業(yè)的商品信息,通過瀏覽器訪問企業(yè)的網(wǎng)站,某些情況下,用戶所需的信息量巨大,此時企業(yè)的網(wǎng)頁傳輸時間漫長或連接超時,用戶因此放棄瀏覽信息,給企業(yè)造成一定的經(jīng)濟損失,這當然不是企業(yè)所希望的。為了解決這種大數(shù)據(jù)量的發(fā)布問題,首先了解一下三層體系結構是怎樣處理數(shù)據(jù)庫數(shù)據(jù)的。1三層體系結構的數(shù)據(jù)庫訪問技術一種通用的三層客戶端/服務器體系結構如下圖1所示,這種體系結構與傳統(tǒng)的二層/S結構比較,最大的優(yōu)點就是將網(wǎng)絡通信和數(shù)據(jù)庫操作分離開來,并在客戶端和EB服務器間使用多路復用技術,減輕了數(shù)據(jù)庫服務器PU的負載,加快數(shù)據(jù)的處理能力。圖1三層體系結構在開發(fā)基于的數(shù)據(jù)庫應用中,關鍵技術之一在于EB服務器與數(shù)據(jù)
3、庫服務器之間的連接技術。目前,數(shù)據(jù)庫連接技術可歸納為以下幾個方面?;贕I(通用網(wǎng)關接口)規(guī)范編寫的GI程序,該程序既要處理EB服務器與瀏覽器之間的信息傳輸,又要處理EB服務器與數(shù)據(jù)庫的連接、查詢和基于查詢結果的HTL頁面的產(chǎn)生。利用API(應用程序接口)對EB服務器的功能進行擴展,這種方法較靈活,但編程人員需具有一定的編程技巧,對API詳細了解,以及對+等語言的熟練掌握,因此開發(fā)周期長,成本較高。目前較流行的API有IRSFT公司的ISAPI和NETSAPE公司的NSAPI。利用JDB進行數(shù)據(jù)庫連接,采用JAVA語言進行編程,由于JAVA具有較為嚴格的安全機制,同時它實現(xiàn)了跨平臺性,因此它是
4、一種較為熱門的技術,但JAVA與+相似,開發(fā)效率不是很理想。利用ASP(ATIVESERVERPAGES)技術,ASP技術基于微軟的D(分布式)標準,是微軟公司提供的一種服務器端腳本支持環(huán)境,它通過AD(ATIVEXDATABJET)控件的方式來處理與數(shù)據(jù)庫的連接。由于ASP技術開發(fā)周期短,成本低,對控件的支持可以開發(fā)出較為理想的應用,所以,ASP得到廣泛的應用。ASP文件是以.asp為擴展名的文本文件,這個文本文件可以包括下列部分:文本、HTL標記、ASP腳本命令。ASP文件存放在EB服務器相應的目錄中,當客戶瀏覽器從EB服務器上請求.asp文件時,ASP腳本開始運行,將運行結果和.asp中
5、的靜態(tài)部分組合成標準的HTL格式傳輸給客戶端瀏覽器。ASP對數(shù)據(jù)庫的訪問是通過AD對象來實現(xiàn)的,它把數(shù)據(jù)庫查詢結果放在HTL頁中傳給瀏覽器,過程如下圖2示。鑒于ASP的優(yōu)點,采用它來解決大容量數(shù)據(jù)庫的訪問。圖2.asp文件處理過程2問題的提出前面已經(jīng)提到,客戶端訪問企業(yè)網(wǎng)站時從數(shù)據(jù)庫中查詢出大量數(shù)據(jù)傳送給客戶端,易造成連接超時而中斷傳輸。作者在開發(fā)某新華書店發(fā)行集團網(wǎng)站中就遇到類似的情況,由于數(shù)據(jù)庫中書目表記錄多達6萬多條,而在發(fā)行行業(yè)中有一種分類法稱為十大類分類法,平均每類書目達五六千種。這樣,當各地分銷商查詢某一類書目時,在服務器端采用ASP技術,將查詢結果存于AD對象庫的RERDSET對
6、象中,然后將查詢結果生成HTL格式傳輸給分銷商的瀏覽器。我們可以計算一下,每條記錄長度為250字節(jié),查詢一類書目就需至少傳輸250*5000即1250K字節(jié)的數(shù)據(jù),通常情況下,網(wǎng)絡會因超時而中止連接。因此,能否解決這種情況,關系到企業(yè)網(wǎng)站的生存,對其他類似情況也具有實際借鑒意義。3實際解決方案在新華書店發(fā)行集團的網(wǎng)站開發(fā)中,一方面為了避免由于數(shù)據(jù)整體傳送時間過長而導致的斷連,另一方面為了滿足用戶瀏覽數(shù)據(jù)的局部性要求,故將數(shù)據(jù)化整為零,采用分頁技術來加快數(shù)據(jù)的傳輸。在訪問EB服務器時,有兩個因素限制了網(wǎng)頁的連接時間:一是數(shù)據(jù)庫的查詢操作,另一個是網(wǎng)絡傳輸?shù)臄?shù)據(jù)量。在數(shù)據(jù)庫中的查詢,可以通過建立索
7、引來解決,例如,對前面提到的書目表按十大類字段進行索引,這樣,大大加快了數(shù)據(jù)庫查詢速度。為了減少網(wǎng)絡傳輸數(shù)據(jù)量,采用分頁傳輸?shù)募夹g,例如,客戶端查詢出五千多條記錄可以一次僅傳輸二十條記錄,這樣,加快網(wǎng)頁的連接時間就不會因超時而中斷。分頁技術用nepage.asp腳本實現(xiàn)部分代碼如下:setnn=Server.reatebjet(addb.nnetin)連接DBnn.penxhsd,”sa”,”hxrjb1”生成sql語句setRs=Server.reatebjet(addb.rerdset)查詢結果存于RsRs.pensql,nnsetsessin(Rs)=Rs首先,通過ASP的內置對象SER
8、VER創(chuàng)建一NNETIN對象nn,并將其與指定的數(shù)據(jù)庫關聯(lián),通過該對象的pen方法打開。接著,可根據(jù)系統(tǒng)的實際需求,構造滿足所需數(shù)據(jù)的SQL語句,然后再通過SERVER對象創(chuàng)建一RerdSet對象Rs,并由Rs的方法pen取得數(shù)據(jù)庫記錄,同時將Rs保存在Sessin中,以供其他頁面使用。為了計算數(shù)據(jù)記錄分多少頁,必須先定義每頁顯示的記錄數(shù)和記錄的總數(shù)。代碼中使用變量Sessin(“PageSize”)標志每頁記錄數(shù),Sessin(“Pageunt”)標志分頁數(shù)。下面一段代碼功能為顯示某一頁的記錄,這一段代碼為分頁顯示的核心代碼。Rs.veFirstRs.ve(1)*Sessin(“PageSi
9、ze“)fri=1tSessin(“PageSize“)Respnse.ritetrfrj=0trs.Fields.unt-1Respnse.ritetdrs.Fields(j).Value/tdnextRespnse.rite/trRs.veNextifRs.EFthenexitfrendifnextRespnse.rite/table/enterRespnse.ritepenter代碼通過對象Rs的方法ve將記錄指向由page確定的那一頁的第一條記錄,然后用循環(huán)語句依次列出每條記錄。為了定位在某一頁,必須使用一參數(shù)將頁碼信息傳給服務器,此處,使用帶參數(shù)的超級鏈接來實現(xiàn)。具體代碼如下:ifp
10、age1thenRespnse.riteahref=./yingyng/051223/nepage.asp?page=1第一頁/aRespnse.riteahref=./yingyng/051223/nepage.asp?page=(1)上一頁/aendififpageSessin(“Pageunt”)thenRespnse.riteahref=./yingyng/051223/nepage.asp?page=(page+1)下一頁/aRespnse.riteahref=./yingyng/051223/nepage.asp?page=Sessin(“Pageunt”)最后一頁/aendifR
11、espnse.rite/enter/p如果當前頁是第一頁,則僅顯示“下一頁”、“最后一頁”,若當前頁是最后一頁,則僅顯示“上一頁”、“第一頁”,除此之外,上述四個選項均顯示。4結束語文本文件nepage.asp存放于服務器上,這種方法與一次傳輸所有查詢結果相比,優(yōu)點是很明顯的。程序實現(xiàn)了定位任一頁的功能,更具有靈活性,連接時間也大大降低。因此,對于其他大容量數(shù)據(jù)庫的連接查詢操作,具有一定的借鑒意義。參考文獻:(1)Pirzhseni著,eb數(shù)據(jù)庫開發(fā)人員指南.機械工業(yè)出版社.(2)LenidBraginski,atthePell著,irsftInternetInfratinServer4.0使
12、用大全.人民郵電出版社.(3)沈文智,候勇等著,irsftIIS網(wǎng)頁技術.人民郵電出版社.InquiretassDataInrldideebAbstratTheenterprisedesignsathreetierarhitetureflient/serverthrughintegratingthetehnlgyfdatabaseaessandservie.ThenuseraybrseallkindsfenterprisesinfratininInternet.Beausefliitsfbandidthandtransfersfassdata,thelinkfnetrkusuallybreaks.Thispaperdisussesthetehnlgi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第15課 國共合作與北伐戰(zhàn)爭(分層作業(yè))(解析版)
- 2024年空地出租詳細條款協(xié)議版B版
- 煤炭卸車作業(yè)合同
- 零售S店預算控制指南
- 2024建設工程合作協(xié)議
- 2025標準的個人租房合同
- 游泳池急救用品管理規(guī)范
- 水電站招投標文件編制指南
- 音樂產(chǎn)業(yè)公關顧問合作協(xié)議
- 礦山煤塵清潔生產(chǎn)技術
- GB/T 7260.1-2023不間斷電源系統(tǒng)(UPS)第1部分:安全要求
- 對外開放與國際合作概述
- 2024屆四川省成都市高中數(shù)學高一下期末學業(yè)質量監(jiān)測模擬試題含解析
- 2023年青協(xié)活動總結報告
- 提升供應鏈效率:年度運營計劃
- 展覽館維修維護投標方案
- 陳赫賈玲小品《歡喜密探》臺詞劇本
- 2023招聘專員個人年終總結
- 機房搬遷服務投標方案(技術標)
- 腦出血入院病歷
- 國際郵輪產(chǎn)業(yè)及未來郵輪
評論
0/150
提交評論