專利名稱:一種數(shù)據(jù)庫(kù)訪問(wèn)方法及實(shí)現(xiàn)該方法的客戶機(jī)/服務(wù)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及客戶機(jī)/服務(wù)器系統(tǒng)以及數(shù)據(jù)庫(kù)訪問(wèn)方法,具體涉及在客戶機(jī)/服務(wù)器(Client/Server,以下簡(jiǎn)稱為C/S)系統(tǒng)內(nèi)提高數(shù)據(jù)庫(kù)系統(tǒng)訪問(wèn)穩(wěn)定性和響應(yīng)速度的方法和實(shí)現(xiàn)該方法的客戶機(jī)/服務(wù)器系統(tǒng)。
背景技術(shù):
早期的客戶機(jī)/服務(wù)器系統(tǒng)采用兩層體系結(jié)構(gòu),其主要由客戶機(jī)端和數(shù)據(jù)庫(kù)服務(wù)器端組成,其中,客戶機(jī)端通過(guò)發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求來(lái)訪問(wèn)數(shù)據(jù)庫(kù),而數(shù)據(jù)庫(kù)服務(wù)器端響應(yīng)數(shù)據(jù)訪問(wèn)請(qǐng)求,對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,并將操作結(jié)果返回客戶機(jī)端。這種系統(tǒng)結(jié)構(gòu)的缺點(diǎn)是伸縮性不夠好,隨著應(yīng)用程序業(yè)務(wù)邏輯及復(fù)雜性的不斷增大,其開發(fā)工作的難度也越來(lái)越高。此外,客戶端上運(yùn)行的應(yīng)用程序還占用了大量的系統(tǒng)資源和網(wǎng)絡(luò)資源。
為此,出現(xiàn)了三層(多層)體系結(jié)構(gòu)的客戶機(jī)/服務(wù)器系統(tǒng),它能夠滿足可伸縮性(或可擴(kuò)展性)和Internet/Intranet應(yīng)用。圖1為三層(多層)體系結(jié)構(gòu)的示意圖,在這種三層(多層)結(jié)構(gòu)中,業(yè)務(wù)邏輯從客戶機(jī)端和數(shù)據(jù)庫(kù)服務(wù)器端抽取出來(lái)組成獨(dú)立的一層或多層,這樣就形成了客戶端的客戶界面層、中間的業(yè)務(wù)邏輯層(可細(xì)化為多層)和后端的數(shù)據(jù)服務(wù)層。當(dāng)客戶機(jī)上運(yùn)行應(yīng)用程序時(shí),中間的業(yè)務(wù)邏輯層與之協(xié)同工作,完成相應(yīng)的業(yè)務(wù)邏輯,如果需要,中間的業(yè)務(wù)邏輯層將向數(shù)據(jù)庫(kù)請(qǐng)求數(shù)據(jù),該數(shù)據(jù)請(qǐng)求1被傳送給數(shù)據(jù)服務(wù)層,由該層根據(jù)數(shù)據(jù)請(qǐng)求1訪問(wèn)數(shù)據(jù)庫(kù)并將查詢數(shù)據(jù)2返回業(yè)務(wù)邏輯層。
值得指出的是,本說(shuō)明書所述客戶機(jī)/服務(wù)器系統(tǒng)內(nèi)的層次劃分不應(yīng)狹義地理解為物理上的劃分,而應(yīng)廣義地理解為邏輯功能上的劃分。
但是在上述二層或三層(多層)體系結(jié)構(gòu)下,由于每一次的數(shù)據(jù)請(qǐng)求都要訪問(wèn)數(shù)據(jù)庫(kù),即數(shù)據(jù)服務(wù)層都要對(duì)數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的操作,因此使得系統(tǒng)的性能(例如處理速度或響應(yīng)時(shí)間等)與并發(fā)訪問(wèn)的數(shù)據(jù)請(qǐng)求數(shù)量和頻度成反比,并且隨著數(shù)據(jù)訪問(wèn)需求的時(shí)大時(shí)小而經(jīng)常處于波動(dòng)狀態(tài),從而導(dǎo)致系統(tǒng)穩(wěn)定性較差,在一些超負(fù)荷的極端情況下,甚至?xí)?dǎo)致數(shù)據(jù)庫(kù)處理速度下降進(jìn)而崩潰,客戶機(jī)側(cè)響應(yīng)遲緩、沒有響應(yīng)或連接超時(shí)等,這對(duì)客戶來(lái)說(shuō)是不可容忍的。另外,當(dāng)系統(tǒng)承受巨大的數(shù)據(jù)訪問(wèn)壓力時(shí)也沒有簡(jiǎn)單有效的手段來(lái)調(diào)節(jié)系統(tǒng)性能。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種客戶機(jī)/服務(wù)器系統(tǒng)內(nèi)的數(shù)據(jù)庫(kù)訪問(wèn)方法,它可以在多客戶端、高頻率數(shù)據(jù)查詢環(huán)境下有效地緩解數(shù)據(jù)庫(kù)訪問(wèn)的壓力,保證整個(gè)系統(tǒng)的穩(wěn)定和響應(yīng)效率。
在本發(fā)明的數(shù)據(jù)庫(kù)訪問(wèn)方法中,數(shù)據(jù)請(qǐng)求方通過(guò)發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求來(lái)獲取數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù),所述系統(tǒng)以下列步驟處理數(shù)據(jù)訪問(wèn)請(qǐng)求(1)根據(jù)數(shù)據(jù)訪問(wèn)請(qǐng)求的內(nèi)容查找緩沖存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),其中所述緩沖存儲(chǔ)器存儲(chǔ)有數(shù)據(jù)庫(kù)內(nèi)訪問(wèn)請(qǐng)求頻度高的數(shù)據(jù);以及(2)如果所述緩沖存儲(chǔ)器存儲(chǔ)有被訪問(wèn)請(qǐng)求的數(shù)據(jù),則讀取該數(shù)據(jù)并返回給數(shù)據(jù)請(qǐng)求方,否則,根據(jù)該數(shù)據(jù)訪問(wèn)請(qǐng)求的內(nèi)容訪問(wèn)數(shù)據(jù)庫(kù)并將訪問(wèn)操作結(jié)果返回給數(shù)據(jù)請(qǐng)求方,并且,所述系統(tǒng)以與步驟(1)和(2)并行的方式執(zhí)行下列步驟(3)將所述緩沖存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù)以數(shù)據(jù)庫(kù)內(nèi)相應(yīng)的數(shù)據(jù)更新。
在上述數(shù)據(jù)庫(kù)訪問(wèn)方法中,比較好的是,系統(tǒng)定時(shí)執(zhí)行步驟(3),更好的是定時(shí)執(zhí)行步驟(3)的時(shí)間間隔可以動(dòng)態(tài)改變。
在上述數(shù)據(jù)庫(kù)訪問(wèn)方法中,比較好的是,所述相應(yīng)的數(shù)據(jù)為一段時(shí)間間隔內(nèi)數(shù)據(jù)請(qǐng)求方訪問(wèn)頻度高的數(shù)據(jù)。
本發(fā)明的另一個(gè)目的是提供一種實(shí)現(xiàn)上述數(shù)據(jù)庫(kù)訪問(wèn)方法的客戶機(jī)/服務(wù)器系統(tǒng),它可以在多客戶端、高頻率數(shù)據(jù)查詢環(huán)境下有效地緩解數(shù)據(jù)庫(kù)訪問(wèn)的壓力,保證整個(gè)系統(tǒng)的穩(wěn)定和響應(yīng)效率。
在本發(fā)明的客戶機(jī)/服務(wù)器系統(tǒng)中,所述系統(tǒng)包括獲取數(shù)據(jù)的數(shù)據(jù)請(qǐng)求方和存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù),所述數(shù)據(jù)請(qǐng)求方通過(guò)發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求來(lái)獲取數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù),所述系統(tǒng)包含
緩沖存儲(chǔ)器,用于存儲(chǔ)數(shù)據(jù)庫(kù)內(nèi)訪問(wèn)請(qǐng)求頻度高的數(shù)據(jù);數(shù)據(jù)請(qǐng)求管理模塊,用于根據(jù)數(shù)據(jù)訪問(wèn)請(qǐng)求的內(nèi)容查找緩沖存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),如果所述緩沖存儲(chǔ)器存儲(chǔ)有被訪問(wèn)請(qǐng)求的數(shù)據(jù),則讀取該數(shù)據(jù)并返回給數(shù)據(jù)請(qǐng)求方,否則,將該數(shù)據(jù)訪問(wèn)請(qǐng)求送至數(shù)據(jù)庫(kù)處理;數(shù)據(jù)更新管理模塊,用于以與數(shù)據(jù)請(qǐng)求管理模塊并行的方式將所述緩沖存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù)以數(shù)據(jù)庫(kù)內(nèi)相應(yīng)的數(shù)據(jù)更新。
在上述客戶機(jī)/服務(wù)器系統(tǒng)中,所述數(shù)據(jù)更新管理模塊定時(shí)更新緩沖存儲(chǔ)器,更好的是,定時(shí)更新緩沖存儲(chǔ)器的時(shí)間間隔可以動(dòng)態(tài)改變。
在上述客戶機(jī)/服務(wù)器系統(tǒng)中,比較好的是,所述相應(yīng)的數(shù)據(jù)為一段時(shí)間間隔內(nèi)數(shù)據(jù)請(qǐng)求方訪問(wèn)頻度高的數(shù)據(jù)。
在上述本發(fā)明的數(shù)據(jù)庫(kù)訪問(wèn)方法和實(shí)現(xiàn)該方法的客戶機(jī)/服務(wù)器系統(tǒng)中,頻繁訪問(wèn)的數(shù)據(jù)被存儲(chǔ)在緩沖存儲(chǔ)器內(nèi)以供數(shù)據(jù)請(qǐng)求方調(diào)用,因此減輕了數(shù)據(jù)庫(kù)的訪問(wèn)壓力,此外還設(shè)立了緩沖存儲(chǔ)器內(nèi)容的更新機(jī)制,使得數(shù)據(jù)請(qǐng)求方對(duì)緩沖存儲(chǔ)器的訪問(wèn)始終保持較高的命中率,保證了整個(gè)系統(tǒng)性能的穩(wěn)定和響應(yīng)效率。
圖1為多層體系結(jié)構(gòu)的客戶機(jī)/服務(wù)器系統(tǒng)的示意圖。
圖2為按照本發(fā)明一個(gè)較佳實(shí)施例的客戶機(jī)/服務(wù)器系統(tǒng)的示意圖。
具體實(shí)施例方式
在一個(gè)客戶機(jī)/服務(wù)器系統(tǒng),通常情況下,數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)的請(qǐng)求調(diào)用頻度不是均勻分布的,其中一部分?jǐn)?shù)據(jù)的訪問(wèn)頻度較高,另有一部分的訪問(wèn)頻度較低,甚至也有訪問(wèn)頻度極低的數(shù)據(jù)。本發(fā)明的核心思想就是將訪問(wèn)頻度較高的這部分?jǐn)?shù)據(jù)從數(shù)據(jù)庫(kù)中復(fù)制到緩沖存儲(chǔ)器中,并且一方面在數(shù)據(jù)請(qǐng)求方訪問(wèn)數(shù)據(jù)時(shí),首先訪問(wèn)緩沖存儲(chǔ)器,如果該存儲(chǔ)器未存儲(chǔ)需要調(diào)用的數(shù)據(jù),則轉(zhuǎn)而訪問(wèn)數(shù)據(jù)庫(kù),由此將大大減輕數(shù)據(jù)庫(kù)的訪問(wèn)壓力,提高系統(tǒng)處理速度和穩(wěn)定性;另一方面,由于數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)是動(dòng)態(tài)變化的,因此為了使數(shù)據(jù)請(qǐng)求方獲得較新的數(shù)據(jù)內(nèi)容,還建立緩沖存儲(chǔ)器的更新機(jī)制,定時(shí)或不定時(shí)更新緩沖存儲(chǔ)器內(nèi)的內(nèi)容。
本發(fā)明的核心思想與客戶機(jī)/服務(wù)器系統(tǒng)是采用兩層體系結(jié)構(gòu)還是三層(多層)體系結(jié)構(gòu)無(wú)關(guān),在兩層體系結(jié)構(gòu)中,數(shù)據(jù)請(qǐng)求方即為客戶機(jī),而在三層(多層)體系結(jié)構(gòu)中,數(shù)據(jù)請(qǐng)求方即為邏輯業(yè)務(wù)層內(nèi)的邏輯業(yè)務(wù)處理模塊。緩沖存儲(chǔ)器、數(shù)據(jù)請(qǐng)求處理過(guò)程和數(shù)據(jù)更新處理過(guò)程就所實(shí)現(xiàn)的邏輯功能而言單獨(dú)列為一個(gè)獨(dú)立的層次,不管是在兩層體系結(jié)構(gòu)還是三層(多層)體系結(jié)構(gòu)中,其都位于數(shù)據(jù)請(qǐng)求方與數(shù)據(jù)庫(kù)之間,以下將該層稱為數(shù)據(jù)緩沖層。
在上述方法中,數(shù)據(jù)緩沖層中的數(shù)據(jù)請(qǐng)求處理和數(shù)據(jù)更新處理是兩個(gè)并行完成的過(guò)程,而且更新過(guò)程可以采用各種方式,例如在不定期方式中,可在訪問(wèn)緩沖存儲(chǔ)器的命中率顯著降低時(shí),根據(jù)一段時(shí)間間隔內(nèi)的訪問(wèn)頻度更新緩沖存儲(chǔ)器,將數(shù)據(jù)請(qǐng)求方訪問(wèn)頻度較高的數(shù)據(jù)從數(shù)據(jù)庫(kù)調(diào)取至緩沖存儲(chǔ)器替換其中的數(shù)據(jù),又如在定期方式中,可按照預(yù)先設(shè)定的時(shí)間間隔,以訪問(wèn)頻度較高的數(shù)據(jù)更新緩沖存儲(chǔ)器的數(shù)據(jù)。
以下借助圖2描述本發(fā)明的一個(gè)較佳實(shí)施例,在該實(shí)施例中,客戶機(jī)/服務(wù)器系統(tǒng)采用兩層體系結(jié)構(gòu),因此這里的數(shù)據(jù)請(qǐng)求方為客戶界面層內(nèi)的客戶機(jī),數(shù)據(jù)庫(kù)位于數(shù)據(jù)服務(wù)層。
如圖2所示,該系統(tǒng)包含多個(gè)客戶機(jī)和一個(gè)存儲(chǔ)大量數(shù)據(jù)的數(shù)據(jù)庫(kù),按照本發(fā)明的原理,在普通兩層結(jié)構(gòu)的客戶機(jī)與數(shù)據(jù)庫(kù)之間設(shè)置一個(gè)稱為數(shù)據(jù)緩沖池的中間層。該數(shù)據(jù)緩沖池包括大容量緩沖存儲(chǔ)器和兩個(gè)管理模塊,其中,緩沖存儲(chǔ)器內(nèi)保存有客戶機(jī)請(qǐng)求比較頻繁的數(shù)據(jù),數(shù)據(jù)更新管理模塊和數(shù)據(jù)請(qǐng)求管理模塊并行地實(shí)現(xiàn)各自的功能。數(shù)據(jù)更新管理模塊定時(shí)向數(shù)據(jù)庫(kù)查詢?cè)L問(wèn)頻度較高的數(shù)據(jù),數(shù)據(jù)庫(kù)根據(jù)查詢請(qǐng)求返回其存儲(chǔ)的數(shù)據(jù)以刷新緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù),刷新的時(shí)間間隔可預(yù)先設(shè)定并且動(dòng)態(tài)改變。數(shù)據(jù)請(qǐng)求管理模塊接收客戶機(jī)的數(shù)據(jù)請(qǐng)求,首先訪問(wèn)緩沖存儲(chǔ)器以讀取請(qǐng)求的數(shù)據(jù),如果讀取到,則將讀取數(shù)據(jù)返回給客戶機(jī),否則,則將讀取請(qǐng)求轉(zhuǎn)給數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的處理。數(shù)據(jù)庫(kù)在接收到讀取請(qǐng)求后讀取所需的數(shù)據(jù)并將結(jié)果返回客戶機(jī)。
在上述系統(tǒng)中,也可以不采用定時(shí)更新的方法,而是可在訪問(wèn)緩沖存儲(chǔ)器的命中率顯著降低時(shí),根據(jù)一段時(shí)間間隔內(nèi)的訪問(wèn)頻度更新緩沖存儲(chǔ)器,將數(shù)據(jù)請(qǐng)求方訪問(wèn)頻度較高的數(shù)據(jù)從數(shù)據(jù)庫(kù)調(diào)取至緩沖存儲(chǔ)器替換其中的數(shù)據(jù)。另外,上述示例中的客戶機(jī)/服務(wù)器系統(tǒng)采用兩層體系結(jié)構(gòu),但是完全可以推廣至三層(多層)體系結(jié)構(gòu),在三層(多層)體系結(jié)構(gòu)中,數(shù)據(jù)請(qǐng)求方即為邏輯業(yè)務(wù)層內(nèi)的邏輯業(yè)務(wù)處理模塊,數(shù)據(jù)緩沖池位于邏輯業(yè)務(wù)處理模塊與數(shù)據(jù)庫(kù)之間。
在上述方法和系統(tǒng)中,數(shù)據(jù)緩沖池可滿足大部分的數(shù)據(jù)請(qǐng)求,從而使數(shù)據(jù)庫(kù)的訪問(wèn)壓力不會(huì)隨數(shù)據(jù)請(qǐng)求方數(shù)量的變化而產(chǎn)生大的波動(dòng),保證了系統(tǒng)的穩(wěn)定運(yùn)行。另外,大部分的數(shù)據(jù)請(qǐng)求都從數(shù)據(jù)緩沖池內(nèi)速度較快的緩沖存儲(chǔ)器獲取數(shù)據(jù),省去了耗時(shí)的數(shù)據(jù)庫(kù)查詢操作,所以系統(tǒng)的響應(yīng)速度較快。最后,還可通過(guò)改變緩沖存儲(chǔ)器內(nèi)數(shù)據(jù)的更新速度調(diào)節(jié)數(shù)據(jù)庫(kù)的訪問(wèn)壓力,例如,當(dāng)數(shù)據(jù)庫(kù)訪問(wèn)壓力較大時(shí),可以適當(dāng)增加更新頻率,提高緩沖存儲(chǔ)器的命中率,減輕數(shù)據(jù)庫(kù)的訪問(wèn)壓力,反之,可以降低更新頻率,避免頻繁更新緩沖存儲(chǔ)器的數(shù)據(jù)。
權(quán)利要求
1.一種數(shù)據(jù)庫(kù)訪問(wèn)方法,數(shù)據(jù)請(qǐng)求方通過(guò)發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求來(lái)獲取數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù),其特征在于,所述系統(tǒng)以下列步驟處理數(shù)據(jù)訪問(wèn)請(qǐng)求(1)根據(jù)數(shù)據(jù)訪問(wèn)請(qǐng)求的內(nèi)容查找緩沖存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),其中所述緩沖存儲(chǔ)器存儲(chǔ)有數(shù)據(jù)庫(kù)內(nèi)訪問(wèn)請(qǐng)求頻度高的數(shù)據(jù);以及(2)如果所述緩沖存儲(chǔ)器存儲(chǔ)有被訪問(wèn)請(qǐng)求的數(shù)據(jù),則讀取該數(shù)據(jù)并返回給數(shù)據(jù)請(qǐng)求方,否則,根據(jù)該數(shù)據(jù)訪問(wèn)請(qǐng)求的內(nèi)容訪問(wèn)數(shù)據(jù)庫(kù)并將訪問(wèn)操作結(jié)果返回給數(shù)據(jù)請(qǐng)求方,并且,所述系統(tǒng)以與步驟(1)和(2)并行的方式執(zhí)行下列步驟(3)將所述緩沖存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù)以數(shù)據(jù)庫(kù)內(nèi)相應(yīng)的數(shù)據(jù)更新。
2.如權(quán)利要求1所述的數(shù)據(jù)庫(kù)訪問(wèn)方法,其特征在于,所述系統(tǒng)定時(shí)執(zhí)行步驟(3)。
3.如權(quán)利要求2所述的數(shù)據(jù)庫(kù)訪問(wèn)方法,其特征在于,定時(shí)執(zhí)行步驟(3)的時(shí)間間隔可以動(dòng)態(tài)變化。
4.如權(quán)利要求1-3中任意一項(xiàng)所述的數(shù)據(jù)庫(kù)訪問(wèn)方法,其特征在于,所述相應(yīng)的數(shù)據(jù)為一段時(shí)間間隔內(nèi)數(shù)據(jù)請(qǐng)求方訪問(wèn)頻度高的數(shù)據(jù)。
5.一種客戶機(jī)/服務(wù)器系統(tǒng),所述系統(tǒng)包括獲取數(shù)據(jù)的數(shù)據(jù)請(qǐng)求方和存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù),所述數(shù)據(jù)請(qǐng)求方通過(guò)發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求來(lái)獲取數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù),其特征在于,所述系統(tǒng)包含緩沖存儲(chǔ)器,用于存儲(chǔ)數(shù)據(jù)庫(kù)內(nèi)訪問(wèn)請(qǐng)求頻度高的數(shù)據(jù);數(shù)據(jù)請(qǐng)求管理模塊,用于根據(jù)數(shù)據(jù)訪問(wèn)請(qǐng)求的內(nèi)容查找緩沖存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),如果所述緩沖存儲(chǔ)器存儲(chǔ)有被訪問(wèn)請(qǐng)求的數(shù)據(jù),則讀取該數(shù)據(jù)并返回給數(shù)據(jù)請(qǐng)求方,否則,將該數(shù)據(jù)訪問(wèn)請(qǐng)求送至數(shù)據(jù)庫(kù)處理;數(shù)據(jù)更新管理模塊,用于以與數(shù)據(jù)請(qǐng)求管理模塊并行的方式將所述緩沖存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù)以數(shù)據(jù)庫(kù)內(nèi)相應(yīng)的數(shù)據(jù)更新。
6.如權(quán)利要求5所述的客戶機(jī)/服務(wù)器系統(tǒng),其特征在于,所述數(shù)據(jù)更新管理模塊定時(shí)更新緩沖存儲(chǔ)器。
7.如權(quán)利要求6所述的客戶機(jī)/服務(wù)器系統(tǒng),其特征在于,定時(shí)更新緩沖存儲(chǔ)器的時(shí)間間隔可以動(dòng)態(tài)改變。
8.如權(quán)利要求5-7中任意一項(xiàng)所述的客戶機(jī)/服務(wù)器系統(tǒng),其特征在于,所述相應(yīng)的數(shù)據(jù)為一段時(shí)間間隔內(nèi)數(shù)據(jù)請(qǐng)求方訪問(wèn)頻度高的數(shù)據(jù)。
9.如權(quán)利要求8所述的客戶機(jī)/服務(wù)器系統(tǒng),其特征在于,所述客戶機(jī)/服務(wù)器系統(tǒng)為包含客戶界面層和數(shù)據(jù)服務(wù)層的兩層體系結(jié)構(gòu),所述數(shù)據(jù)請(qǐng)求方為屬于客戶界面層的客戶機(jī),所述數(shù)據(jù)庫(kù)屬于數(shù)據(jù)服務(wù)層。
10.如權(quán)利要求8所述的客戶機(jī)/服務(wù)器系統(tǒng),其特征在于,所述客戶機(jī)/服務(wù)器系統(tǒng)為包含客戶界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層的多層體系結(jié)構(gòu),所述數(shù)據(jù)請(qǐng)求方為屬于業(yè)務(wù)邏輯層的業(yè)務(wù)邏輯處理模塊,所述數(shù)據(jù)庫(kù)屬于數(shù)據(jù)服務(wù)層。
全文摘要
本發(fā)明提供一種客戶機(jī)/服務(wù)器系統(tǒng)內(nèi)的數(shù)據(jù)庫(kù)訪問(wèn)方法,數(shù)據(jù)請(qǐng)求方通過(guò)發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求來(lái)獲取數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù),系統(tǒng)以下列步驟處理數(shù)據(jù)訪問(wèn)請(qǐng)求(1)根據(jù)數(shù)據(jù)訪問(wèn)請(qǐng)求的內(nèi)容查找存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),其中存儲(chǔ)器存儲(chǔ)有訪問(wèn)請(qǐng)求頻度高的數(shù)據(jù);以及(2)如果存儲(chǔ)器存儲(chǔ)有被訪問(wèn)請(qǐng)求的數(shù)據(jù),則讀取該數(shù)據(jù)并返回給數(shù)據(jù)請(qǐng)求方,否則,根據(jù)該數(shù)據(jù)訪問(wèn)請(qǐng)求的內(nèi)容訪問(wèn)數(shù)據(jù)庫(kù)并將訪問(wèn)操作結(jié)果返回給數(shù)據(jù)請(qǐng)求方,并且,所述系統(tǒng)以與步驟(1)和(2)并行的方式定時(shí)執(zhí)行下列步驟(3)將存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù)以數(shù)據(jù)庫(kù)內(nèi)相應(yīng)的數(shù)據(jù)更新。上述方法減輕了數(shù)據(jù)庫(kù)的訪問(wèn)壓力并使得數(shù)據(jù)請(qǐng)求方對(duì)存儲(chǔ)器的訪問(wèn)始終保持較高的命中率。
文檔編號(hào)G06F13/14GK1508703SQ02155178
公開日2004年6月30日 申請(qǐng)日期2002年12月18日 優(yōu)先權(quán)日2002年12月18日
發(fā)明者宋金永, 蘇玉濤, 李龍飛 申請(qǐng)人:華為技術(shù)有限公司