專利名稱:一種基于web應(yīng)用的矩陣式數(shù)據(jù)緩存方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫數(shù)據(jù)的緩存,特別是涉及一種基于WEB應(yīng)用的矩陣式數(shù) 據(jù)緩存方法及裝置。
背景技術(shù):
WEB應(yīng)用程序為用戶提供信息和服務(wù),是整個網(wǎng)絡(luò)的主體。WEB應(yīng)用程序
的數(shù)據(jù)響應(yīng)及時性和可擴展性是評價它性能優(yōu)劣的兩個關(guān)鍵指標(biāo)^及時性是指 WEB服務(wù)器端響應(yīng)客戶端的速度;可擴展性是指隨著并發(fā)使用用戶的增多,WEB 應(yīng)用程序的性能不降低。
對于WEB服務(wù)器,隨著并發(fā)用戶的增多,WEB服務(wù)器訪問數(shù)據(jù)庫服務(wù)器的 次數(shù)及數(shù)據(jù)量就會隨之增加。但在數(shù)據(jù)庫系統(tǒng)中,磁盤的1/0速度是限制系統(tǒng) 處理速度的關(guān)鍵。這樣就會出現(xiàn)當(dāng)并發(fā)用戶超過一定數(shù)量,讀取磁盤的請求增 多,讀取的數(shù)據(jù)量大,則限于磁盤目前的I/0速度,WEB服務(wù)器的應(yīng)用響應(yīng)不 及時,應(yīng)用性能降低,甚至不能和數(shù)據(jù)庫連接的現(xiàn)象。
故而,在磁盤的I/0速度保持一相對確定數(shù)值的前提下,如何提高數(shù)據(jù)存 取速度,保證WEB程序的可擴展性都是亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于WEB應(yīng)用的矩陣式數(shù)據(jù)緩存方法及裝置,以解決直 接訪問數(shù)據(jù)庫次數(shù)多,數(shù)據(jù)結(jié)構(gòu)不合理,WEB應(yīng)用性能差的問題。
為了實現(xiàn)上述目的,本發(fā)明提供了一種基于WEB應(yīng)用的矩陣式數(shù)據(jù)緩存方 法,用于包括門戶服務(wù)器以及數(shù)據(jù)庫服務(wù)器的WEB應(yīng)用系統(tǒng),包括
步驟一,設(shè)置一緩存服務(wù)器,對根據(jù)所述門戶服務(wù)器的請求從數(shù)據(jù)庫服務(wù) 器讀取的數(shù)據(jù)進行緩存;
步驟二,對所述緩存數(shù)據(jù)進行對象/關(guān)系映射,得到持久化數(shù)據(jù);
步驟三,利用哈希表為所述持久化數(shù)據(jù)建立索引,形成矩陣式數(shù)據(jù)結(jié)構(gòu);步驟四,所述緩存服務(wù)器根據(jù)所述索引提供數(shù)據(jù)訪問接口 。 所述步驟一進一步包括所述緩存服務(wù)器設(shè)置有一頻率閾值以及一容量閾 值,對從數(shù)據(jù)庫服務(wù)器讀取的數(shù)據(jù)的讀取頻率以及數(shù)據(jù)量進行監(jiān)測,對于讀取 頻率高于所述頻率閾值,數(shù)據(jù)量低于所述容量閾值的數(shù)據(jù)進行緩存。
所述步驟二進一步包括所述對象/關(guān)系映射利用hibernate框架或者 ibatis框架實現(xiàn)。
所述步驟三進一步包括將所述持久化數(shù)據(jù)作為哈希函數(shù)的哈希值,利用
哈希函數(shù)建立哈希值與存儲位置的對應(yīng)關(guān)系。
所述步驟三與步驟四之間還包括:所述緩存服務(wù)器設(shè)置有一刪除頻率或者 一時長閾值,刪除讀取頻率低于所述刪除頻率,或者上次被讀取距當(dāng)前超過所 述時長閾值的緩存數(shù)據(jù)。
所述步驟三與步驟四之間還包括:所述緩存服務(wù)器根據(jù)手動或者定時的方 式,掃描所述緩存數(shù)據(jù)是否與所述數(shù)據(jù)庫服務(wù)器對應(yīng)的數(shù)據(jù)保持一致,將所述 數(shù)據(jù)庫服務(wù)器中發(fā)生變化的數(shù)據(jù)更新至所述緩存服務(wù)器中。
本發(fā)明還公開了一種基于WEB應(yīng)用的矩陣式數(shù)據(jù)緩存裝置,用于包括門戶 服務(wù)器以及數(shù)據(jù)庫服務(wù)器的WEB應(yīng)用系統(tǒng),并與所述門戶服務(wù)器連接,包括
緩存讀取模塊,用于對根據(jù)所述門戶服務(wù)器的請求,從所述數(shù)據(jù)庫服務(wù)器
中讀取的數(shù)據(jù)進行緩存;
映射模塊,用于對所述數(shù)據(jù)進行對象/關(guān)系映射,得到持久化數(shù)據(jù); 矩陣式數(shù)據(jù)結(jié)構(gòu)建立模塊,用于利用哈希表為所述持久化數(shù)據(jù)建立索引,
形成矩陣式數(shù)據(jù)結(jié)構(gòu);
訪問模塊,用于根據(jù)所述索引提供數(shù)據(jù)訪問接口。
所述緩存讀取模塊中設(shè)置有一頻率閾值以及一容量閾值,所述緩存數(shù)據(jù)的 被讀取頻率高于所述頻率閾值,所述緩存數(shù)據(jù)的數(shù)據(jù)量低于所述容量閾值。
所述映射模塊利用hibernate框架或者ibatis框架實現(xiàn)對象/關(guān)系映射。
所述矩陣式數(shù)據(jù)結(jié)構(gòu)建立模塊將所述持久化數(shù)據(jù)作為哈希函數(shù)的哈希值, 利用哈希函數(shù)建立哈希值與存儲位置的對應(yīng)關(guān)系。
本發(fā)明的效果在于,用低成本換取了高效率,減少WEB應(yīng)用服務(wù)器和數(shù)據(jù) 庫服務(wù)器交互的通訊量,降低了磁盤I/0讀寫次數(shù)。同時,數(shù)據(jù)是持久化的。 WEB應(yīng)用程序一般都是采用面向?qū)ο蟮乃枷脒M行開發(fā)部署的,矩陣式數(shù)據(jù)緩存
技術(shù)將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成持久化的數(shù)據(jù)對象,方便了 WEB應(yīng)用程序的使 用。數(shù)據(jù)結(jié)構(gòu)是矩陣式的,在幾乎沒有增加內(nèi)存資源使用的情況下,豐富了數(shù) 據(jù)查詢的方式,同時利用這些索引為排序、統(tǒng)計等功能提供了非常靈活的接口 和方法。
圖l所示為WEB應(yīng)用系統(tǒng)的結(jié)構(gòu)示意圖2所示為WEB應(yīng)用系統(tǒng)中的門戶服務(wù)器的結(jié)構(gòu)示意圖3A、 3B所示為本申請操作處理流程示意圖。
具體實施例方式
以下配合實施例以及附圖,詳細描述本發(fā)明的技術(shù)特征。 本發(fā)明針對WEB應(yīng)用中在并發(fā)用戶數(shù)量較大情況下存在的諸多問題,提供 了一種基于WEB應(yīng)用的矩陣式緩存方法及裝置,提高了數(shù)據(jù)讀取速度,同時使 WEB應(yīng)用更加豐富高效。本發(fā)明的矩陣式數(shù)據(jù)緩存方法,即是利用緩沖器以索
弓I方式保存網(wǎng)頁中持久化數(shù)據(jù)的方法。
請參閱圖1所示為WEB應(yīng)用系統(tǒng)的結(jié)構(gòu)示意圖。
WEB應(yīng)用系統(tǒng)100采用瀏覽器/服務(wù)器(B/S)架構(gòu),有線用戶終端101或 者無線用戶終端102通過相應(yīng)的接入設(shè)備連接到Internet。在服務(wù)器端,包 括門戶服務(wù)器103、數(shù)據(jù)庫服務(wù)器104以及緩存服務(wù)器105。門戶服務(wù)器103 基于WEB、 WAP等技術(shù)為用戶終端提供媒體導(dǎo)航、信息査詢等功能。用戶終端 一般通過WEB、 WAP等瀏覽器訪問WEB應(yīng)用系統(tǒng)的導(dǎo)航網(wǎng)頁,找到感興趣的內(nèi) 容,體驗WEB應(yīng)用系統(tǒng)提供的業(yè)務(wù)及實現(xiàn)對WEB應(yīng)用系統(tǒng)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù) 的讀取。門戶服務(wù)器103與緩存服務(wù)器105分別設(shè)立,也可融為一體,以降低 系統(tǒng)的復(fù)雜程度。
請參閱圖2所示為門戶服務(wù)器103與緩存服務(wù)器105部署在一起的實施例 中,門戶服務(wù)器的結(jié)構(gòu)示意圖。
在門戶服務(wù)器103內(nèi)部除現(xiàn)有技術(shù)中已知的其他必要部件外,還包括一緩 存器11。該緩存器11是存儲數(shù)據(jù)庫查詢結(jié)果或任何臨時對象的內(nèi)部快速存儲 器,可例如為一內(nèi)存,該內(nèi)存的數(shù)量可根據(jù)需要設(shè)置。該緩存器ll進一步包
括緩存讀取模塊lll、映射模塊U2、矩陣式數(shù)據(jù)結(jié)構(gòu)建立模塊113以及訪
問模塊114。
緩存讀取模塊lll,用于對根據(jù)所述門戶服務(wù)器的請求,從所述數(shù)據(jù)庫服
務(wù)器中讀取的數(shù)據(jù)進行緩存;映射模塊112,用于對所述數(shù)據(jù)進行對象/關(guān)系 映射,得到持久化數(shù)據(jù);矩陣式數(shù)據(jù)結(jié)構(gòu)建立模塊113,用于利用哈希表為所 述持久化數(shù)據(jù)建立索引,形成矩陣式數(shù)據(jù)結(jié)構(gòu);訪問模塊114,用于根據(jù)所述 索引提供數(shù)據(jù)訪問接口。
利用該緩存器11,本發(fā)明將公開一種基于WEB應(yīng)用的矩陣式數(shù)據(jù)緩存方法。
當(dāng)用戶終端向門戶網(wǎng)站發(fā)起操作請求,門戶服務(wù)器103接收到該請求需根 據(jù)該請求實時對數(shù)據(jù)庫服務(wù)器104中的數(shù)據(jù)進行讀取。
在本申請中,緩存器11對門戶服務(wù)器103從數(shù)據(jù)庫服務(wù)器104中讀取的
數(shù)據(jù)進行緩存。即,將用戶請求調(diào)用的數(shù)據(jù)庫表緩存在緩存器中,并在其中査 詢所需要的具體數(shù)據(jù)。
在該緩存器啟動并初始化后,需對緩存器中存儲的數(shù)據(jù)進行管理。該緩存 器的緩存讀取模塊111中預(yù)先設(shè)置有緩存配置策略、緩存刪除策略、緩存更新 策略,緩存器將根據(jù)上述規(guī)則以執(zhí)行對緩存數(shù)據(jù)的增加、刪除和更新。
其中,緩存配置策略用于增加數(shù)據(jù)庫表至緩存器中,緩存配置策略包括數(shù) 據(jù)庫表頻率配置和數(shù)據(jù)大小配置等。
數(shù)據(jù)庫表頻率配置規(guī)定了一使用頻率閾值f,對被調(diào)用頻率高于該閾值f 的數(shù)據(jù)進行緩存,即,緩存器監(jiān)測數(shù)據(jù)庫表使用頻率,對頻繁被調(diào)用、數(shù)據(jù)處 理復(fù)雜的數(shù)據(jù)庫表進行緩存處理,而對于使用頻率小,沒有復(fù)雜數(shù)據(jù)處理要求 的數(shù)據(jù)庫表不進行緩存處理,以節(jié)約緩存空間,防止占用過多的資源。
數(shù)據(jù)大小配置規(guī)定了一容量值v,對高于該容量值v的數(shù)據(jù)庫表不進行緩 存,即,超過該容量值的數(shù)據(jù)庫表將直接從數(shù)據(jù)庫服務(wù)器讀取,節(jié)約緩存空間 以快速存取更多的數(shù)據(jù)。
本發(fā)明中,利用數(shù)據(jù)庫表頻率配置和數(shù)據(jù)大小配置,可將網(wǎng)頁中經(jīng)常用到, 用戶發(fā)起的請求中頻繁調(diào)用的且數(shù)據(jù)量大小適中的數(shù)據(jù)庫表通過對數(shù)據(jù)庫服 務(wù)器104的一次I/O操作,讀取至緩存器11中。當(dāng)后續(xù)用戶發(fā)起對所述數(shù)據(jù)
庫表的調(diào)用請求時,直接從緩存器11中讀取,而無需重復(fù)進行數(shù)據(jù)庫服務(wù)器 104的I/0操作。
緩存器啟動后,緩存讀取模塊111將根據(jù)該緩存配置策略中配置的參數(shù), 將需要的數(shù)據(jù)庫表讀入緩存器。
緩存刪除策略采用的是最近最少使用(Least Recently Used, LRU)原則, 也就是說,該緩存刪除策略對應(yīng)設(shè)置有一使用頻率的底限或者是上次使用距現(xiàn) 在的時長限制。緩存器監(jiān)測數(shù)據(jù)使用頻率,對于使用頻率低、上次使用距現(xiàn)在 已超過時長限制的數(shù)據(jù)庫表,將進行刪除,并根據(jù)緩存配置策略讀入其他數(shù)據(jù)。
緩存更新策略用于保持緩存器與數(shù)據(jù)庫服務(wù)器的同步。其包括有定時同步 與手動同步兩種方式。定時同步方式是緩存器的緩存讀取模塊111啟動一定時 更新服務(wù)程序,定時掃描緩存器中的數(shù)據(jù)庫表是否與數(shù)據(jù)庫服務(wù)器的對應(yīng)數(shù)據(jù) 庫表保持一致。對于數(shù)據(jù)庫服務(wù)器中發(fā)生變化的數(shù)據(jù)庫表,將數(shù)據(jù)庫服務(wù)器中 的數(shù)據(jù)更新至緩存器中。手動同步需要緩存器提供數(shù)據(jù)更新接口,當(dāng)數(shù)據(jù)庫服 務(wù)器中的數(shù)據(jù)庫表發(fā)生變化時,調(diào)用這個數(shù)據(jù)更新接口,將更新的結(jié)果反饋到 緩存器中。
如圖3A、 3B所示為本申請操作處理流程示意圖。
步驟301,門戶服務(wù)器實時更新數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù),完成數(shù)據(jù)的增加、
刪除、修改;
步驟302,啟動并初始化緩存器;
步驟303,緩存讀取模塊111根據(jù)緩存配置策略對數(shù)據(jù)進行緩存; 步驟304,映射模塊112對緩存數(shù)據(jù)進行對象/關(guān)系映射得到持久化數(shù)據(jù); 目前,關(guān)系數(shù)據(jù)庫仍然是使用最廣泛的數(shù)據(jù)存儲庫。關(guān)系數(shù)據(jù)庫中存放的 是關(guān)系型數(shù)據(jù),它是非面向?qū)ο蟮?。而對象型的?shù)據(jù)結(jié)構(gòu)將為WEB信息系統(tǒng)帶
來更為靈活的接口和應(yīng)用方式。
本發(fā)明利用現(xiàn)有技術(shù)中的ORM (Object Relational Mapping,對象/關(guān)系
映射)框架,將緩存的關(guān)系型數(shù)據(jù)映射成為對象型數(shù)據(jù)。也就是,通過使用描 述對象和關(guān)系數(shù)據(jù)之間映射的元數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù)的形式,使關(guān)系數(shù)據(jù)以對象的 形式表示出來。并通過面向?qū)ο?Object-Oriented)的方式將這些對象組織 起來。將緩存數(shù)據(jù)轉(zhuǎn)換為持久化數(shù)據(jù)。所述0RM框架可例如為hibernate框架 或著ibatis框架。
步驟305,矩陣式數(shù)據(jù)結(jié)構(gòu)建立模塊113利用哈希表對持久化數(shù)據(jù)建立索
引,形成持久化訪問機制,建立矩陣式數(shù)據(jù)結(jié)構(gòu);
對于該持久化數(shù)據(jù),利用哈希表對持久化數(shù)據(jù)建立多種索引,從而建立矩 陣式數(shù)據(jù)結(jié)構(gòu),便于用戶的多種查詢方式。
將所述持久化數(shù)據(jù)作為哈希函數(shù)的哈希值,利用哈希函數(shù)建立哈希值與存 儲位置的對應(yīng)關(guān)系,從而對持久化數(shù)據(jù)建立索引,形成矩陣式數(shù)據(jù)結(jié)構(gòu)。所述 存儲位置例如為一多維數(shù)組的下標(biāo)??衫枚喾N哈希函數(shù)建立多種索引。當(dāng)進 行査詢或者檢索時,可利用該索引,確定存儲位置,進而快速定位。
步驟306,訪問模塊114根據(jù)不同的索引提供數(shù)據(jù)訪問接口;
用戶終端對于數(shù)據(jù)的需求是多種多樣的,可能是包括各種索引的排序、統(tǒng)
計等。訪問模塊114根據(jù)各個索引封裝訪問緩存數(shù)據(jù)的接口,使得用戶可根據(jù)
需求,直接?xùn)嗽兙彺鏀?shù)據(jù),并將符合條件的數(shù)據(jù)返回給用戶終端。
而矩陣式數(shù)據(jù)結(jié)構(gòu)為門戶服務(wù)器進行多種形式數(shù)據(jù)的展現(xiàn)、報表數(shù)據(jù)的統(tǒng) 計提供了較為靈活的接口和方法。
步驟307,用戶終端利用所述數(shù)據(jù)訪問接口,訪問緩存器中的數(shù)據(jù)。
在本發(fā)明的另一較佳實施例中,步驟305與步驟306之間還可包括
步驟3051,根據(jù)緩存刪除策略、緩存更新策略以及緩存配置策略判斷當(dāng) 前所需進行的操作,如果是刪除,執(zhí)行步驟3052,如果是更新,執(zhí)行步驟3053, 如果是再次讀取,執(zhí)行歩驟3054;
步驟3052,對于需要刪除的數(shù)據(jù),利用已經(jīng)建立的索引,査找其存儲位 置,對其進行刪除,并刪除其對應(yīng)的索引,執(zhí)行步驟306;
步驟3053,對于需要更新的數(shù)據(jù),利用已經(jīng)建立的索引,查找其存儲位 置,對其進行更新,執(zhí)行步驟304;
步驟3054,對于需要再次讀取的數(shù)據(jù),根據(jù)緩存配置策略,判斷所欲讀 取的數(shù)據(jù)是否符合數(shù)據(jù)庫表頻率配置以及數(shù)據(jù)大小配置,如果是,讀取該數(shù)據(jù) 至緩存器,并執(zhí)行步驟304,如果不是,執(zhí)行步驟306。
與傳統(tǒng)的web應(yīng)用服務(wù)器直接訪問數(shù)據(jù)庫相比,矩陣式數(shù)據(jù)緩存技術(shù)具有 以下優(yōu)點
1、 低成本換取高效率。只需要增加緩存服務(wù)器的內(nèi)存,而不需要增加計 算機的數(shù)量。
2、 減少web應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器交互的通訊量,即利用該緩存服
務(wù)器可減少在進程和機器間的傳輸量。
3、 降低磁盤I/0讀寫次數(shù)。
4、 數(shù)據(jù)是持久化的。WEB應(yīng)用程序一般都是采用面向?qū)ο蟮乃枷脒M行開
發(fā)部署的,矩陣式數(shù)據(jù)緩存技術(shù)將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成持久化的數(shù)據(jù)對象,
方便了 WEB應(yīng)用程序的使用。
5、 數(shù)據(jù)結(jié)構(gòu)是矩陣式的。采用哈希表的方法為持久化的數(shù)據(jù)對象建立不 同的索引,形成矩陣式的數(shù)據(jù)結(jié)構(gòu),在幾乎沒有增加內(nèi)存資源使用的情況下, 豐富了數(shù)據(jù)查詢的方式,同時利用這些索引為排序、統(tǒng)計等功能提供了非常靈 活的接口和方法。
可見,本發(fā)明采用以空間換取時間的方式,提高數(shù)據(jù)響應(yīng)的及時性和web 應(yīng)用程序的可擴展性。
當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情 況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但 這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)力要求的保護范圍。
權(quán)利要求
1、一種基于WEB應(yīng)用的矩陣式數(shù)據(jù)緩存方法,用于包括門戶服務(wù)器以及數(shù)據(jù)庫服務(wù)器的WEB應(yīng)用系統(tǒng),其特征在于,包括步驟一,設(shè)置一緩存服務(wù)器,對根據(jù)所述門戶服務(wù)器的請求從數(shù)據(jù)庫服務(wù)器讀取的數(shù)據(jù)進行緩存;步驟二,對所述緩存數(shù)據(jù)進行對象/關(guān)系映射,得到持久化數(shù)據(jù);步驟三,利用哈希表為所述持久化數(shù)據(jù)建立索引,形成矩陣式數(shù)據(jù)結(jié)構(gòu);步驟四,所述緩存服務(wù)器根據(jù)所述索引提供數(shù)據(jù)訪問接口。
2、 如權(quán)利要求l所述的方法,其特征在于,所述步驟一進一步包括 所述緩存服務(wù)器設(shè)置有一頻率閾值以及一容量閾值,對從數(shù)據(jù)庫服務(wù)器讀取的數(shù)據(jù)的讀取頻率以及數(shù)據(jù)量進行監(jiān)測,對于讀取頻率高于所述頻率閾值, 數(shù)據(jù)量低于所述容量閾值的數(shù)據(jù)進行緩存。
3、 如權(quán)利要求l所述的方法,其特征在于,所述步驟二進一步包括 所述對象/關(guān)系映射利用hibernate框架或者ibatis框架實現(xiàn)。
4、 如權(quán)利要求l所述的方法,其特征在于,所述步驟三進一步包括 將所述持久化數(shù)據(jù)作為哈希函數(shù)的哈希值,利用哈希函數(shù)建立哈希值與存儲位置的對應(yīng)關(guān)系。
5、 如權(quán)利要求l、 2、 3或4所述的方法,其特征在于,所述步驟三與步 驟四之間還包括所述緩存服務(wù)器設(shè)置有一刪除頻率或者一時長閾值,刪除讀取頻率低于所 述刪除頻率,或者上次被讀取距當(dāng)前超過所述時長閾值的緩存數(shù)據(jù)。
6、 如權(quán)利要求l、 2、 3或4所述的方法,其特征在于,所述步驟三與步 驟四之間還包括所述緩存服務(wù)器根據(jù)手動或者定時的方式,掃描所述緩存數(shù)據(jù)是否與所述 數(shù)據(jù)庫服務(wù)器對應(yīng)的數(shù)據(jù)保持一致,將所述數(shù)據(jù)庫服務(wù)器中發(fā)生變化的數(shù)據(jù)更 新至所述緩存服務(wù)器中。
7、 一種基于WEB應(yīng)用的矩陣式數(shù)據(jù)緩存裝置,用于包括門戶服務(wù)器以及 數(shù)據(jù)庫服務(wù)器的WEB應(yīng)用系統(tǒng),并與所述門戶服務(wù)器連接,其特征在于,包括緩存讀取模塊,用于對根據(jù)所述門戶服務(wù)器的請求,從所述數(shù)據(jù)庫服務(wù)器 中讀取的數(shù)據(jù)進行緩存;映射模塊,用于對所述數(shù)據(jù)進行對象/關(guān)系映射,得到持久化數(shù)據(jù);矩陣式數(shù)據(jù)結(jié)構(gòu)建立模塊,用于利用哈希表為所述持久化數(shù)據(jù)建立索引,形成矩陣式數(shù)據(jù)結(jié)構(gòu);訪問模塊,用于根據(jù)所述索引提供數(shù)據(jù)訪問接口。
8、 如權(quán)利要求7所述的裝置,其特征在于,所述緩存讀取模塊中設(shè)置有一頻率閾值以及一容量閾值,所述緩存數(shù)據(jù)的 被讀取頻率高于所述頻率閾值,所述緩存數(shù)據(jù)的數(shù)據(jù)量低于所述容量閾值。
9、 如權(quán)利要求7所述的裝置,其特征在于,所述映射模塊利用hibernate 框架或者ibatis框架實現(xiàn)對象/關(guān)系映射。
10、 如權(quán)利要求7、 8或9所述的裝置,其特征在于,所述矩陣式數(shù)據(jù)結(jié) 構(gòu)建立模塊將所述持久化數(shù)據(jù)作為哈希函數(shù)的哈希值,利用哈希函數(shù)建立哈希 值與存儲位置的對應(yīng)關(guān)系。
全文摘要
本發(fā)明公開了一種基于WEB應(yīng)用的矩陣式數(shù)據(jù)緩存方法及裝置。包括設(shè)置一緩存服務(wù)器,對根據(jù)所述門戶服務(wù)器的請求從數(shù)據(jù)庫服務(wù)器讀取的數(shù)據(jù)進行緩存;對所述緩存數(shù)據(jù)進行對象/關(guān)系映射,得到持久化數(shù)據(jù);利用哈希表為所述持久化數(shù)據(jù)建立索引,形成矩陣式數(shù)據(jù)結(jié)構(gòu);所述緩存服務(wù)器根據(jù)所述索引提供數(shù)據(jù)訪問接口。用低成本換取了高效率,減少WEB應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器交互的通訊量,降低了磁盤I/O讀寫次數(shù)。數(shù)據(jù)是持久化的。豐富了數(shù)據(jù)查詢的方式,同時利用這些索引為排序、統(tǒng)計等功能提供了非常靈活的接口和方法。
文檔編號G06F17/30GK101169790SQ200710178550
公開日2008年4月30日 申請日期2007年11月30日 優(yōu)先權(quán)日2007年11月30日
發(fā)明者濤 余, 汪峰來, 王瑞平 申請人:中興通訊股份有限公司