下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WWW對(duì)大量數(shù)據(jù)查詢的一種實(shí)現(xiàn)摘要企業(yè)通過(guò)服務(wù)和數(shù)據(jù)庫(kù)技術(shù)相結(jié)合的辦法,構(gòu)建一種三層客戶端服務(wù)器的體系結(jié)構(gòu),用戶通過(guò)INTERNET瀏覽企業(yè)信息,但是當(dāng)瀏覽大量數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí),網(wǎng)絡(luò)連接常因速度緩慢或因超時(shí)而中斷。本文介紹了數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),通過(guò)對(duì)各種技術(shù)進(jìn)行分析和比較,針對(duì)新華書店發(fā)行集團(tuán)網(wǎng)站設(shè)計(jì)的需求,采用ASP技術(shù)實(shí)現(xiàn)數(shù)據(jù)的分頁(yè)傳輸。關(guān)鍵詞ASP,AD,三層體系結(jié)構(gòu),客戶端/服務(wù)器,分頁(yè)目前,大多數(shù)企業(yè)通過(guò)服務(wù)和數(shù)據(jù)庫(kù)技術(shù)相結(jié)合的辦法,構(gòu)建一種三層客戶端服務(wù)器的體系結(jié)構(gòu),即客戶端瀏覽器/中間服務(wù)器(EB服務(wù)器)/數(shù)據(jù)庫(kù)服務(wù)器(B/D),利用INTERNET向世界各地發(fā)布企業(yè)的商業(yè)信息。用戶為了
2、獲得企業(yè)的商品信息,通過(guò)瀏覽器訪問(wèn)企業(yè)的網(wǎng)站,某些情況下,用戶所需的信息量巨大,此時(shí)企業(yè)的網(wǎng)頁(yè)傳輸時(shí)間漫長(zhǎng)或連接超時(shí),用戶因此放棄瀏覽信息,給企業(yè)造成一定的經(jīng)濟(jì)損失,這當(dāng)然不是企業(yè)所希望的。為了解決這種大數(shù)據(jù)量的發(fā)布問(wèn)題,首先了解一下三層體系結(jié)構(gòu)是怎樣處理數(shù)據(jù)庫(kù)數(shù)據(jù)的。1三層體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)一種通用的三層客戶端/服務(wù)器體系結(jié)構(gòu)如下圖1所示,這種體系結(jié)構(gòu)與傳統(tǒng)的二層/S結(jié)構(gòu)比較,最大的優(yōu)點(diǎn)就是將網(wǎng)絡(luò)通信和數(shù)據(jù)庫(kù)操作分離開(kāi)來(lái),并在客戶端和EB服務(wù)器間使用多路復(fù)用技術(shù),減輕了數(shù)據(jù)庫(kù)服務(wù)器PU的負(fù)載,加快數(shù)據(jù)的處理能力。圖1三層體系結(jié)構(gòu)在開(kāi)發(fā)基于的數(shù)據(jù)庫(kù)應(yīng)用中,關(guān)鍵技術(shù)之一在于EB服務(wù)器與數(shù)據(jù)
3、庫(kù)服務(wù)器之間的連接技術(shù)。目前,數(shù)據(jù)庫(kù)連接技術(shù)可歸納為以下幾個(gè)方面?;贕I(通用網(wǎng)關(guān)接口)規(guī)范編寫的GI程序,該程序既要處理EB服務(wù)器與瀏覽器之間的信息傳輸,又要處理EB服務(wù)器與數(shù)據(jù)庫(kù)的連接、查詢和基于查詢結(jié)果的HTL頁(yè)面的產(chǎn)生。利用API(應(yīng)用程序接口)對(duì)EB服務(wù)器的功能進(jìn)行擴(kuò)展,這種方法較靈活,但編程人員需具有一定的編程技巧,對(duì)API詳細(xì)了解,以及對(duì)+等語(yǔ)言的熟練掌握,因此開(kāi)發(fā)周期長(zhǎng),成本較高。目前較流行的API有IRSFT公司的ISAPI和NETSAPE公司的NSAPI。利用JDB進(jìn)行數(shù)據(jù)庫(kù)連接,采用JAVA語(yǔ)言進(jìn)行編程,由于JAVA具有較為嚴(yán)格的安全機(jī)制,同時(shí)它實(shí)現(xiàn)了跨平臺(tái)性,因此它是
4、一種較為熱門的技術(shù),但JAVA與+相似,開(kāi)發(fā)效率不是很理想。利用ASP(ATIVESERVERPAGES)技術(shù),ASP技術(shù)基于微軟的D(分布式)標(biāo)準(zhǔn),是微軟公司提供的一種服務(wù)器端腳本支持環(huán)境,它通過(guò)AD(ATIVEXDATABJET)控件的方式來(lái)處理與數(shù)據(jù)庫(kù)的連接。由于ASP技術(shù)開(kāi)發(fā)周期短,成本低,對(duì)控件的支持可以開(kāi)發(fā)出較為理想的應(yīng)用,所以,ASP得到廣泛的應(yīng)用。ASP文件是以.asp為擴(kuò)展名的文本文件,這個(gè)文本文件可以包括下列部分:文本、HTL標(biāo)記、ASP腳本命令。ASP文件存放在EB服務(wù)器相應(yīng)的目錄中,當(dāng)客戶瀏覽器從EB服務(wù)器上請(qǐng)求.asp文件時(shí),ASP腳本開(kāi)始運(yùn)行,將運(yùn)行結(jié)果和.asp中
5、的靜態(tài)部分組合成標(biāo)準(zhǔn)的HTL格式傳輸給客戶端瀏覽器。ASP對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)是通過(guò)AD對(duì)象來(lái)實(shí)現(xiàn)的,它把數(shù)據(jù)庫(kù)查詢結(jié)果放在HTL頁(yè)中傳給瀏覽器,過(guò)程如下圖2示。鑒于ASP的優(yōu)點(diǎn),采用它來(lái)解決大容量數(shù)據(jù)庫(kù)的訪問(wèn)。圖2.asp文件處理過(guò)程2問(wèn)題的提出前面已經(jīng)提到,客戶端訪問(wèn)企業(yè)網(wǎng)站時(shí)從數(shù)據(jù)庫(kù)中查詢出大量數(shù)據(jù)傳送給客戶端,易造成連接超時(shí)而中斷傳輸。作者在開(kāi)發(fā)某新華書店發(fā)行集團(tuán)網(wǎng)站中就遇到類似的情況,由于數(shù)據(jù)庫(kù)中書目表記錄多達(dá)6萬(wàn)多條,而在發(fā)行行業(yè)中有一種分類法稱為十大類分類法,平均每類書目達(dá)五六千種。這樣,當(dāng)各地分銷商查詢某一類書目時(shí),在服務(wù)器端采用ASP技術(shù),將查詢結(jié)果存于AD對(duì)象庫(kù)的RERDSET對(duì)
6、象中,然后將查詢結(jié)果生成HTL格式傳輸給分銷商的瀏覽器。我們可以計(jì)算一下,每條記錄長(zhǎng)度為250字節(jié),查詢一類書目就需至少傳輸250*5000即1250K字節(jié)的數(shù)據(jù),通常情況下,網(wǎng)絡(luò)會(huì)因超時(shí)而中止連接。因此,能否解決這種情況,關(guān)系到企業(yè)網(wǎng)站的生存,對(duì)其他類似情況也具有實(shí)際借鑒意義。3實(shí)際解決方案在新華書店發(fā)行集團(tuán)的網(wǎng)站開(kāi)發(fā)中,一方面為了避免由于數(shù)據(jù)整體傳送時(shí)間過(guò)長(zhǎng)而導(dǎo)致的斷連,另一方面為了滿足用戶瀏覽數(shù)據(jù)的局部性要求,故將數(shù)據(jù)化整為零,采用分頁(yè)技術(shù)來(lái)加快數(shù)據(jù)的傳輸。在訪問(wèn)EB服務(wù)器時(shí),有兩個(gè)因素限制了網(wǎng)頁(yè)的連接時(shí)間:一是數(shù)據(jù)庫(kù)的查詢操作,另一個(gè)是網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。在數(shù)據(jù)庫(kù)中的查詢,可以通過(guò)建立索
7、引來(lái)解決,例如,對(duì)前面提到的書目表按十大類字段進(jìn)行索引,這樣,大大加快了數(shù)據(jù)庫(kù)查詢速度。為了減少網(wǎng)絡(luò)傳輸數(shù)據(jù)量,采用分頁(yè)傳輸?shù)募夹g(shù),例如,客戶端查詢出五千多條記錄可以一次僅傳輸二十條記錄,這樣,加快網(wǎng)頁(yè)的連接時(shí)間就不會(huì)因超時(shí)而中斷。分頁(yè)技術(shù)用nepage.asp腳本實(shí)現(xiàn)部分代碼如下:setnn=Server.reatebjet(addb.nnetin)連接DBnn.penxhsd,”sa”,”hxrjb1”生成sql語(yǔ)句setRs=Server.reatebjet(addb.rerdset)查詢結(jié)果存于RsRs.pensql,nnsetsessin(Rs)=Rs首先,通過(guò)ASP的內(nèi)置對(duì)象SER
8、VER創(chuàng)建一NNETIN對(duì)象nn,并將其與指定的數(shù)據(jù)庫(kù)關(guān)聯(lián),通過(guò)該對(duì)象的pen方法打開(kāi)。接著,可根據(jù)系統(tǒng)的實(shí)際需求,構(gòu)造滿足所需數(shù)據(jù)的SQL語(yǔ)句,然后再通過(guò)SERVER對(duì)象創(chuàng)建一RerdSet對(duì)象Rs,并由Rs的方法pen取得數(shù)據(jù)庫(kù)記錄,同時(shí)將Rs保存在Sessin中,以供其他頁(yè)面使用。為了計(jì)算數(shù)據(jù)記錄分多少頁(yè),必須先定義每頁(yè)顯示的記錄數(shù)和記錄的總數(shù)。代碼中使用變量Sessin(“PageSize”)標(biāo)志每頁(yè)記錄數(shù),Sessin(“Pageunt”)標(biāo)志分頁(yè)數(shù)。下面一段代碼功能為顯示某一頁(yè)的記錄,這一段代碼為分頁(yè)顯示的核心代碼。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代碼通過(guò)對(duì)象Rs的方法ve將記錄指向由page確定的那一頁(yè)的第一條記錄,然后用循環(huán)語(yǔ)句依次列出每條記錄。為了定位在某一頁(yè),必須使用一參數(shù)將頁(yè)碼信息傳給服務(wù)器,此處,使用帶參數(shù)的超級(jí)鏈接來(lái)實(shí)現(xiàn)。具體代碼如下:ifp
10、age1thenRespnse.riteahref=./yingyng/051223/nepage.asp?page=1第一頁(yè)/aRespnse.riteahref=./yingyng/051223/nepage.asp?page=(1)上一頁(yè)/aendififpageSessin(“Pageunt”)thenRespnse.riteahref=./yingyng/051223/nepage.asp?page=(page+1)下一頁(yè)/aRespnse.riteahref=./yingyng/051223/nepage.asp?page=Sessin(“Pageunt”)最后一頁(yè)/aendifR
11、espnse.rite/enter/p如果當(dāng)前頁(yè)是第一頁(yè),則僅顯示“下一頁(yè)”、“最后一頁(yè)”,若當(dāng)前頁(yè)是最后一頁(yè),則僅顯示“上一頁(yè)”、“第一頁(yè)”,除此之外,上述四個(gè)選項(xiàng)均顯示。4結(jié)束語(yǔ)文本文件nepage.asp存放于服務(wù)器上,這種方法與一次傳輸所有查詢結(jié)果相比,優(yōu)點(diǎn)是很明顯的。程序?qū)崿F(xiàn)了定位任一頁(yè)的功能,更具有靈活性,連接時(shí)間也大大降低。因此,對(duì)于其他大容量數(shù)據(jù)庫(kù)的連接查詢操作,具有一定的借鑒意義。參考文獻(xiàn):(1)Pirzhseni著,eb數(shù)據(jù)庫(kù)開(kāi)發(fā)人員指南.機(jī)械工業(yè)出版社.(2)LenidBraginski,atthePell著,irsftInternetInfratinServer4.0使
12、用大全.人民郵電出版社.(3)沈文智,候勇等著,irsftIIS網(wǎng)頁(yè)技術(shù).人民郵電出版社.InquiretassDataInrldideebAbstratTheenterprisedesignsathreetierarhitetureflient/serverthrughintegratingthetehnlgyfdatabaseaessandservie.ThenuseraybrseallkindsfenterprisesinfratininInternet.Beausefliitsfbandidthandtransfersfassdata,thelinkfnetrkusuallybreaks.Thispaperdisussesthetehnlgi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手房協(xié)議購(gòu)房
- 分家協(xié)議范本2025
- 2024版二手房房屋買賣合同協(xié)議15篇
- 工作領(lǐng)域2 新居住項(xiàng)目產(chǎn)品與價(jià)格策70課件講解
- 2023年酒店、廚房設(shè)備用品項(xiàng)目融資計(jì)劃書
- 2023年消化系統(tǒng)用藥項(xiàng)目融資計(jì)劃書
- 2023年全自動(dòng)金屬帶鋸床超精密加工機(jī)床項(xiàng)目融資計(jì)劃書
- 【虎嘯】2024年虎嘯年度洞察報(bào)告-3C家電行業(yè)
- 機(jī)械制圖考試題+答案
- 廣東省茂名市高州市2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 多元回歸分析論文
- JGT388-2012 風(fēng)機(jī)過(guò)濾器機(jī)組
- 傳感器原理與應(yīng)用智慧樹(shù)知到課后章節(jié)答案2023年下山東大學(xué)(威海)
- 交安工程專項(xiàng)施工方案
- 部編人教版五年級(jí)上冊(cè)語(yǔ)文 第19課 父愛(ài)之舟 說(shuō)課稿
- 硅酸鹽水泥的原料及配料計(jì)算課件
- (完整版)一年級(jí)最大能填幾最小能填幾
- 養(yǎng)老院工作人員保密協(xié)議書
- 無(wú)人生還-讀書分享課件
- 壯族的服飾 壯族服飾特點(diǎn)
- 暴發(fā)性心肌炎-課件
評(píng)論
0/150
提交評(píng)論