專利名稱:萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下高頻數(shù)據(jù)訪問系統(tǒng)與方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)數(shù)據(jù)存取訪問技術(shù)領(lǐng)域,具體地說是一種萬維網(wǎng)交互單元編程語言平臺(tái)企業(yè)版J2EE環(huán)境下高頻數(shù)據(jù)訪問系統(tǒng)及方法。
背景技術(shù):
如圖1所示,目前,很多大型的萬維網(wǎng)(Web)應(yīng)用系統(tǒng)采用企業(yè)版的萬維網(wǎng)交互單元編程語言平臺(tái)(J2EE,Java2 Platform,Enterprise Edition),這種平臺(tái)構(gòu)架是典型的多層結(jié)構(gòu),其客戶端采用Web瀏覽器,將操作界面展示給用戶;萬維網(wǎng)容器(Web Container)進(jìn)行用戶頁面的生成;J2EE服務(wù)器端組件平臺(tái)實(shí)體容器(EJB Container,Enterprise Java Beans Container)用于實(shí)現(xiàn)業(yè)務(wù)邏輯;數(shù)據(jù)庫(Data base)提供數(shù)據(jù)的存儲(chǔ)和檢索。對(duì)于典型的操作流程,通常由用戶通過Web下發(fā)請(qǐng)求給Web Container,由后者調(diào)用EJB,由其執(zhí)行業(yè)務(wù)操作,在EJB執(zhí)行業(yè)務(wù)操作過程中會(huì)讀寫數(shù)據(jù)庫,并將結(jié)果返回給Web Container,萬維網(wǎng)同時(shí)再將這些結(jié)果生成另外的超文本鏈接標(biāo)示語言(HTML)頁面展示給用戶。
在通常的應(yīng)用系統(tǒng)中,往往有一些很少變化但使用頻率卻非常高的數(shù)據(jù)。如在業(yè)務(wù)運(yùn)營(yíng)支撐系統(tǒng)(BOSS,Business Operation Support System)系統(tǒng)中,“客戶類型”、“客戶等級(jí)”、“呼叫類型”、“資源類型”、“費(fèi)用類型”等就是這樣的數(shù)據(jù)。由于這些數(shù)據(jù)使用頻率非常高,如果每次都從數(shù)據(jù)庫中獲取,必然會(huì)降低系統(tǒng)的響應(yīng)性能,特別是在Web Container和EJB Container分別部署在不同的機(jī)器上時(shí)更是如此。另外,這些數(shù)據(jù)的種類、在數(shù)據(jù)庫中存放的位置、語言類型、排序的方式、生命周期都可能是不同的。
如圖2所示,在現(xiàn)有技術(shù)中,J2EE提出了實(shí)體(Bean)的概念,實(shí)體(Bean)是EJB的一種,其能夠?qū)?shù)據(jù)庫的數(shù)據(jù)以對(duì)象的形式緩存在EJB服務(wù)器中。因此,可以將這些高頻數(shù)據(jù)以實(shí)體Bean的方式實(shí)現(xiàn)訪問,Web Container通過調(diào)用這些實(shí)體Bean來獲取相關(guān)數(shù)據(jù)。但是,當(dāng)Web Container和EJB Container分別部署在不同機(jī)器上時(shí),每次調(diào)用仍然要跨越網(wǎng)絡(luò)邊界,加上EJB調(diào)用本身的消耗,對(duì)性能仍然有較大影響。實(shí)體Bean消耗的資源比較多,而且配置和管理也比較復(fù)雜。當(dāng)新增或者減少某種類型的高頻數(shù)據(jù)時(shí),必須通過硬編碼來實(shí)現(xiàn)讀取功能,無法實(shí)現(xiàn)動(dòng)態(tài)的配置和擴(kuò)展。由于缺乏統(tǒng)一的管理和規(guī)范的約束,容易造成整個(gè)應(yīng)用系統(tǒng)對(duì)這些數(shù)據(jù)處理采用各不相同的方式,進(jìn)而表現(xiàn)出不同的行為。而且,這種方式對(duì)系統(tǒng)的開發(fā)人員的技術(shù)要求較高,會(huì)增加系統(tǒng)開發(fā)成本。
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的不足,本發(fā)明目的是提供一種J2EE環(huán)境下高頻數(shù)據(jù)訪問系統(tǒng)及訪問方法,基于J2EE構(gòu)架,解決每次都從數(shù)據(jù)庫中獲取高頻數(shù)據(jù)導(dǎo)致系統(tǒng)響應(yīng)性能降低的問題。
本發(fā)明的另一個(gè)目的是提供一種J2EE環(huán)境下高頻數(shù)據(jù)訪問系統(tǒng)及訪問方法,用戶能進(jìn)行靈活的配置。
為完成上述發(fā)明目的,本發(fā)明采取的總體技術(shù)方案為一種萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下高頻數(shù)據(jù)訪問系統(tǒng),包括萬維網(wǎng)瀏覽器、萬維網(wǎng)容器、服務(wù)器端組件平臺(tái)實(shí)體容器和數(shù)據(jù)庫,萬維網(wǎng)容器有能處理瀏覽器請(qǐng)求的萬維網(wǎng)交互單元編程語言組件模塊和萬維網(wǎng)交互單元編程語言頁面模塊,服務(wù)器端組件平臺(tái)實(shí)體容器有實(shí)體模塊,所述萬維網(wǎng)容器有一緩存管理表模塊,它與所述的萬維網(wǎng)交互單元編程語言組件模塊和萬維網(wǎng)交互單元編程語言頁面模塊連接,用于管理對(duì)高頻數(shù)據(jù)的訪問;所述服務(wù)器端組件平臺(tái)實(shí)體容器有一會(huì)話實(shí)體模塊,該模塊一端與萬維網(wǎng)容器中的緩存管理表模塊連接,另一端與數(shù)據(jù)庫連接,用于將高頻數(shù)據(jù)配置信息和高頻數(shù)據(jù)存儲(chǔ)到緩存中,和同步高頻數(shù)據(jù);所述緩存,分別連接萬維網(wǎng)容器的緩存管理表模塊和服務(wù)器端組件平臺(tái)實(shí)體容器的會(huì)話實(shí)體模塊,用于以結(jié)構(gòu)化方式存儲(chǔ)高頻數(shù)據(jù)。
所述萬維網(wǎng)容器還有一自定義選擇標(biāo)簽?zāi)K,它與緩存管理表模塊相連,用于動(dòng)態(tài)配置高頻數(shù)據(jù),和同步高頻數(shù)據(jù)等。
一種萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下訪問高頻數(shù)據(jù)的方法,包括以下步驟步驟1、用戶向萬維網(wǎng)容器發(fā)送高頻數(shù)據(jù)訪問請(qǐng)求;步驟2、萬維網(wǎng)容器的緩存管理表模塊從緩存的高頻數(shù)據(jù)信息配置表中讀取高頻數(shù)據(jù)配置信息,并以結(jié)構(gòu)化查詢方式訪問高頻數(shù)據(jù);步驟3、將高頻數(shù)據(jù)訪問結(jié)果返回給萬維網(wǎng)容器;步驟4、萬維網(wǎng)容器將高頻數(shù)據(jù)訪問結(jié)果返回給萬維網(wǎng)交互單元編程語言頁面模塊并顯示。
所述步驟1之前還包括初始化步驟,具體指萬維網(wǎng)容器的緩存管理表模塊調(diào)用服務(wù)器端組件平臺(tái)實(shí)體容器的會(huì)話實(shí)體讀取數(shù)據(jù)庫中的高頻數(shù)據(jù)信息配置表和高頻數(shù)據(jù),并存儲(chǔ)到緩存中;所述步驟2中的高頻數(shù)據(jù)信息配置表的結(jié)構(gòu)為三層,第一層為哈希表,用于存儲(chǔ)高頻數(shù)據(jù)標(biāo)識(shí)和表數(shù)據(jù)的對(duì)應(yīng)關(guān)系;第二層為列表,用于存儲(chǔ)行數(shù)據(jù),包括表自身的標(biāo)示、表名稱、數(shù)據(jù)源、當(dāng)前版本號(hào)、備注、是通用表還是獨(dú)立表、是否支持多語言、對(duì)應(yīng)標(biāo)示的列的名稱、對(duì)應(yīng)備注列名稱、排序列的名稱;第三層存儲(chǔ)某行中每個(gè)高頻數(shù)據(jù)字段值,包括高頻數(shù)據(jù)字段名和高頻數(shù)據(jù)值。
所述步驟2還包括同步的步驟,具體包括步驟41、在緩存中開辟另外的存儲(chǔ)空間;步驟42、將新的高頻數(shù)據(jù)加載到新開辟的存儲(chǔ)空間中;步驟43、加載完成后,直接將加載有新高頻數(shù)據(jù)存儲(chǔ)空間的緩存內(nèi)容覆蓋原緩存中的內(nèi)容。
所述步驟4中的萬維網(wǎng)容器將高頻數(shù)據(jù)讀寫結(jié)果返回給萬維網(wǎng)交互單元編程語言頁面模塊的形式為超文本鏈接標(biāo)示語言頁面。
本發(fā)明具有顯著的優(yōu)點(diǎn)和積極效果,本發(fā)明提供了數(shù)據(jù)緩存功能,并且利用哈希(hash)表,大大提高了高頻數(shù)據(jù)的訪問性能,通過緩存技術(shù),將高頻數(shù)據(jù)加載到Web Container中,以哈希表(Hashmap)保存數(shù)據(jù),加快查找速度,極大地提高了在Web Container內(nèi)訪問高頻數(shù)據(jù)的性能,由于高頻數(shù)據(jù)的使用頻率非常高,因此,系統(tǒng)的整體性能也得到很大提高。緩存查找效率高,并且進(jìn)行了數(shù)據(jù)同步保護(hù),本發(fā)明支持自動(dòng)和手工數(shù)據(jù)同步,即使在數(shù)據(jù)同步期間,仍然可以并發(fā)訪問緩存,對(duì)數(shù)據(jù)的更改通過同步機(jī)制保證一致性。允許動(dòng)態(tài)配置哪些數(shù)據(jù)為高頻數(shù)據(jù),并動(dòng)態(tài)加載。支持對(duì)高頻數(shù)據(jù)的國(guó)際化、排序、有效期的管理。對(duì)Web Container內(nèi)進(jìn)行高頻數(shù)據(jù)的訪問提供統(tǒng)一的接口,包括自定義標(biāo)簽(Severlet)側(cè)的應(yīng)用程序接口(API),簡(jiǎn)單易用,減少了開發(fā)人員使用難度,提高開發(fā)效率,降低應(yīng)用系統(tǒng)開發(fā)成本。同時(shí),本發(fā)明功能強(qiáng)大,可配置性、可擴(kuò)展性強(qiáng),可以滿足實(shí)際中絕大多數(shù)需求,做到零編碼。
圖1為現(xiàn)有技術(shù)萬維網(wǎng)交互單元編程語言架構(gòu)J2EE模塊示意圖;圖2為現(xiàn)有技術(shù)中具有實(shí)體的萬維網(wǎng)交互單元編程語言架構(gòu)J2EE模塊示意圖;圖3為本發(fā)明的總體結(jié)構(gòu)模塊圖;圖4為本發(fā)明主流程圖;圖5為本發(fā)明緩存結(jié)構(gòu)圖。
具體實(shí)施例方式
下面結(jié)合說明書附圖來說明本發(fā)明的具體實(shí)施方式
。
請(qǐng)參閱圖3,本發(fā)明的總體結(jié)構(gòu)圖。萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下高頻數(shù)據(jù)訪問系統(tǒng),包括萬維網(wǎng)瀏覽器、萬維網(wǎng)容器1、服務(wù)器端組件平臺(tái)實(shí)體容器6和數(shù)據(jù)庫9,萬維網(wǎng)容器1有能處理瀏覽器請(qǐng)求的萬維網(wǎng)交互單元編程語言組件模塊2和萬維網(wǎng)交互單元編程語言頁面模塊3,服務(wù)器端組件平臺(tái)實(shí)體容器有實(shí)體模塊,萬維網(wǎng)容器1有一緩存管理表模塊4,它與所述的萬維網(wǎng)交互單元編程語言組件模塊2和萬維網(wǎng)交互單元編程語言頁面模塊3連接,用于調(diào)用服務(wù)器端組件平臺(tái)實(shí)體容器6,管理對(duì)高頻數(shù)據(jù)的訪問和同步高頻數(shù)據(jù),服務(wù)器端組件平臺(tái)實(shí)體容器6有一會(huì)話實(shí)體模塊7,該模塊一端與萬維網(wǎng)容器1中的緩存管理表模塊4連接,另一端與數(shù)據(jù)庫9連接,通過數(shù)據(jù)源8與數(shù)據(jù)庫9建立連接,用于將高頻數(shù)據(jù)配置信息和高頻數(shù)據(jù)存儲(chǔ)到緩存中;緩存10分別連接萬維網(wǎng)容器1的緩存管理表模塊4和服務(wù)器端組件平臺(tái)實(shí)體容器6的會(huì)話實(shí)體模塊7,用于將高頻數(shù)據(jù)加載到萬維網(wǎng)容器1中,并以結(jié)構(gòu)化方式保存數(shù)據(jù),加快查找速度。本發(fā)明在萬維網(wǎng)容器1中有能處理瀏覽器請(qǐng)求JAVA組件模塊2、Java服務(wù)器頁面模塊3、緩存管理表模塊4(Base Table),和自定義選擇標(biāo)簽?zāi)K5,緩存管理表是一個(gè)單實(shí)例類,負(fù)責(zé)管理高頻數(shù)據(jù)的緩存。在EJB容器6中,有一個(gè)會(huì)話實(shí)體模塊(BaseSession)7,在初始化的時(shí)候,調(diào)用會(huì)話實(shí)體模塊(Base Session)執(zhí)行結(jié)構(gòu)化查詢(SQL)語句,從數(shù)據(jù)庫9中獲取高頻數(shù)據(jù)。另外,緩存管理表模塊4還負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行同步,并提供接口,供能夠處理瀏覽器請(qǐng)求的JAVA組件Servlet 2和JAVA頁面JSP Pages模塊3的訪問。為了方便JSP頁面訪問,本發(fā)明提供了自定義選擇標(biāo)簽?zāi)K(Base Select)5。會(huì)話實(shí)體模塊7的會(huì)話實(shí)體模塊(BaseSession)能夠從指定的數(shù)據(jù)源(DS)8獲取數(shù)據(jù)庫9連接,執(zhí)行SQL語句,并將結(jié)果返回給用戶。
請(qǐng)參閱圖4,本發(fā)明的主流程圖。首先,先進(jìn)行初始化,萬維網(wǎng)容器的緩存管理表模塊調(diào)用服務(wù)器端組件平臺(tái)實(shí)體容器的會(huì)話實(shí)體讀取數(shù)據(jù)庫中的高頻數(shù)據(jù)信息配置表和高頻數(shù)據(jù),并存儲(chǔ)到緩存中;高頻數(shù)據(jù)可以分為簡(jiǎn)單和復(fù)雜兩種類型。對(duì)于簡(jiǎn)單類型,應(yīng)用系統(tǒng)只需要知道編號(hào)和名稱的對(duì)應(yīng)關(guān)系就可以了,如“性別”、“職業(yè)”等。這種高頻數(shù)據(jù)在大型應(yīng)用系統(tǒng)中往往有幾十到上百個(gè)左右,如果這些不同的類型都用不同的物理表存儲(chǔ),會(huì)造成大量的小表,不利于維護(hù),而且讀取這些表要執(zhí)行上百個(gè)SQL語句,數(shù)據(jù)讀取的時(shí)候效率很低。所以,本發(fā)明采取將這些邏輯表合并到一個(gè)物理表的方式存儲(chǔ),其結(jié)構(gòu)包括高頻數(shù)據(jù)類型、標(biāo)識(shí)、備注、排序值,按照從小到大排序、生效日期、失效日期等。對(duì)于復(fù)雜類型,系統(tǒng)除了要知道編號(hào)和名稱的對(duì)應(yīng)關(guān)系外,還需要知道額外的信息,如對(duì)于不同的“資源類型”,系統(tǒng)在進(jìn)行各種業(yè)務(wù)操作的時(shí)候是有差異性的,這種差異性會(huì)通過額外的參數(shù)來區(qū)分,如資源的價(jià)格、型號(hào)等。所以,對(duì)于復(fù)雜類型,表的結(jié)構(gòu)各不相同,這些表必須通過單獨(dú)的物理表來進(jìn)行存儲(chǔ)。
在分布式系統(tǒng)中,各個(gè)子系統(tǒng)可能使用不同的數(shù)據(jù)庫,為了做到數(shù)據(jù)的物理分布對(duì)系統(tǒng)透明,可以通過EJB Container的數(shù)據(jù)源8建立和數(shù)據(jù)庫9的連接。
在初始化和進(jìn)行同步時(shí),緩存管理表模塊4的緩存管理表Base Table類會(huì)從數(shù)據(jù)庫中某個(gè)固定的高頻數(shù)據(jù)信息配置表讀取配置信息,以便了解有哪些高頻數(shù)據(jù)要讀,以及如何讀取,這些高頻數(shù)據(jù)都分別支持哪些不同的特性等,具體的表結(jié)構(gòu)為高頻數(shù)據(jù)信息配置表自身的標(biāo)示、表名稱(為實(shí)際的表名稱,或者邏輯表名稱)、數(shù)據(jù)源,即該表通過哪個(gè)數(shù)據(jù)源獲取、當(dāng)前版本號(hào),用于數(shù)據(jù)同步、備注、是否是通用表,還是獨(dú)立表、是否支持多語言、對(duì)應(yīng)ID的列的名稱、對(duì)應(yīng)備注(REMARK)列的名稱、排序列的名稱(為獨(dú)立表時(shí)有效)。
當(dāng)有用戶通過JAVA頁面向萬維網(wǎng)容器1發(fā)送高頻數(shù)據(jù)訪問請(qǐng)求時(shí),萬維網(wǎng)容器1的緩存管理表模塊4從數(shù)據(jù)庫9中的高頻數(shù)據(jù)信息配置表中讀取高頻數(shù)據(jù)的配置信息。
請(qǐng)參閱圖5本發(fā)明緩存結(jié)構(gòu)圖。為能夠快速地定位數(shù)據(jù),加快查找速度,本發(fā)明的緩存中的高頻數(shù)據(jù)配置信息表采用的存儲(chǔ)結(jié)構(gòu)為第一層存儲(chǔ)高頻數(shù)據(jù)標(biāo)識(shí)或者名稱和表數(shù)據(jù)的對(duì)應(yīng)關(guān)系,即存儲(chǔ)所有高頻數(shù)據(jù)表,表名稱為鍵(KEY),實(shí)際表的數(shù)據(jù)為值(value);第二層存儲(chǔ)某高頻數(shù)據(jù)表,即存儲(chǔ)某表的行數(shù)據(jù),以列表(Array List)結(jié)構(gòu)存儲(chǔ),以保證順序性;第三層存儲(chǔ)某行中每個(gè)字段值,key為字段名稱,value為字段值。這種存儲(chǔ)方式,大大加快了檢索的速度;而且易于動(dòng)態(tài)擴(kuò)展,在高頻數(shù)據(jù)表結(jié)構(gòu)發(fā)生變化的時(shí)候,此存儲(chǔ)結(jié)構(gòu)無須做任何改動(dòng)。
雖然高頻數(shù)據(jù)修改的頻率很低,但還是要考慮修改后數(shù)據(jù)的同步問題,而且在相對(duì)較長(zhǎng)的數(shù)據(jù)同步期間,應(yīng)用系統(tǒng)仍然會(huì)大量而且并發(fā)地訪問內(nèi)部緩存數(shù)據(jù),因此,需要對(duì)數(shù)據(jù)進(jìn)行保護(hù),以保證并發(fā)訪問的高性能,和避免應(yīng)用系統(tǒng)訪問到不完整的數(shù)據(jù)。本發(fā)明先用臨時(shí)存儲(chǔ)空間,然后再替換的方式實(shí)現(xiàn)數(shù)據(jù)同步。
本發(fā)明按照如下方式進(jìn)行數(shù)據(jù)同步定時(shí)或者手工同步所有數(shù)據(jù),可以設(shè)置定時(shí)周期。在數(shù)據(jù)同步時(shí),先開辟另外的存儲(chǔ)空間,將新數(shù)據(jù)加載到其中,加載完成后,直接將包含有該新數(shù)據(jù)存儲(chǔ)空間的緩存內(nèi)容覆蓋原來緩存的內(nèi)容。
高頻數(shù)據(jù)經(jīng)常用于界面上下拉框的顯示,對(duì)于大型系統(tǒng),往往存在多語種、排序等問題。而且高頻數(shù)據(jù)通常不能夠刪除,在不用的時(shí)候只能設(shè)置為無效。對(duì)于排序和有效期,本發(fā)明會(huì)自動(dòng)將超過有效期的數(shù)據(jù)過濾掉,并按照指定的某列值進(jìn)行排序。對(duì)于多語種,在定義數(shù)據(jù)的顯示名稱時(shí),不直接指定,而是用一個(gè)標(biāo)示(ID)代替,在另外一個(gè)字典表中,定義此ID在不同語言環(huán)境下顯示的字符串。該字典表結(jié)構(gòu)包括備注標(biāo)示(Remark ID)、語言類型和備注。在用戶請(qǐng)求某數(shù)據(jù)的時(shí)候,本發(fā)明會(huì)自動(dòng)將ID按照用戶的語言環(huán)境進(jìn)行替換,因此,對(duì)用戶而言是透明的。
然后,萬維網(wǎng)容器的緩存管理表模塊4從緩存的高頻數(shù)據(jù)信息配置表中讀取高頻數(shù)據(jù)配置信息,并以結(jié)構(gòu)化查詢方式(SQL)訪問高頻數(shù)據(jù)。
之后,EJB容器會(huì)話實(shí)體將高頻數(shù)據(jù)讀寫結(jié)果返回給萬維網(wǎng)容器。
最后,萬維網(wǎng)容器將高頻數(shù)據(jù)讀寫結(jié)果以超文本鏈接標(biāo)示語言頁面返回給用戶JAVA頁面。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下高頻數(shù)據(jù)訪問系統(tǒng),包括萬維網(wǎng)瀏覽器、萬維網(wǎng)容器、服務(wù)器端組件平臺(tái)實(shí)體容器和數(shù)據(jù)庫,萬維網(wǎng)容器有能處理瀏覽器請(qǐng)求的萬維網(wǎng)交互單元編程語言組件模塊和萬維網(wǎng)交互單元編程語言頁面模塊,緩存和服務(wù)器端組件平臺(tái)實(shí)體容器有實(shí)體模塊,其特征在于所述萬維網(wǎng)容器有一緩存管理表模塊,它與所述的萬維網(wǎng)交互單元編程語言組件模塊和萬維網(wǎng)交互單元編程語言頁面模塊連接,用于管理對(duì)高頻數(shù)據(jù)的訪問;所述服務(wù)器端組件平臺(tái)實(shí)體容器有一會(huì)話實(shí)體模塊,該模塊一端與萬維網(wǎng)容器中的緩存管理表模塊連接,另一端與數(shù)據(jù)庫連接,用于將高頻數(shù)據(jù)配置信息和高頻數(shù)據(jù)存儲(chǔ)到緩存中,和同步高頻數(shù)據(jù);所述緩存,分別連接萬維網(wǎng)容器的緩存管理表模塊和服務(wù)器端組件平臺(tái)實(shí)體容器的會(huì)話實(shí)體模塊,用于以結(jié)構(gòu)化方式存儲(chǔ)高頻數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下高頻數(shù)據(jù)訪問系統(tǒng),其特征在于,所述萬維網(wǎng)容器還有一自定義選擇標(biāo)簽?zāi)K,它與緩存管理表模塊相連,用于動(dòng)態(tài)配置高頻數(shù)據(jù),和同步高頻數(shù)據(jù)等。
3.一種萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下訪問高頻數(shù)據(jù)的方法,其特征在于,該方法包括以下步驟步驟1、用戶向萬維網(wǎng)容器發(fā)送高頻數(shù)據(jù)訪問請(qǐng)求;步驟2、萬維網(wǎng)容器的緩存管理表模塊從緩存的高頻數(shù)據(jù)信息配置表中讀取高頻數(shù)據(jù)配置信息,并以結(jié)構(gòu)化查詢方式訪問高頻數(shù)據(jù);步驟3、將高頻數(shù)據(jù)訪問結(jié)果返回給萬維網(wǎng)容器;步驟4、萬維網(wǎng)容器將高頻數(shù)據(jù)訪問結(jié)果返回給萬維網(wǎng)交互單元編程語言頁面模塊并顯示。
4.根據(jù)權(quán)利要求3所述的萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下訪問高頻數(shù)據(jù)的方法,其特征在于,所述步驟1之前還包括初始化步驟,具體指萬維網(wǎng)容器的緩存管理表模塊調(diào)用服務(wù)器端組件平臺(tái)實(shí)體容器的會(huì)話實(shí)體讀取數(shù)據(jù)庫中的高頻數(shù)據(jù)信息配置表和高頻數(shù)據(jù),并存儲(chǔ)到緩存中。
5.根據(jù)權(quán)利要求3所述的萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下訪問高頻數(shù)據(jù)的方法,其特征在于,所述步驟2中的高頻數(shù)據(jù)信息配置表的結(jié)構(gòu)為三層,第一層為哈希表,用于存儲(chǔ)高頻數(shù)據(jù)標(biāo)識(shí)和表數(shù)據(jù)的對(duì)應(yīng)關(guān)系;第二層為列表,用于存儲(chǔ)行數(shù)據(jù),包括表自身的標(biāo)示、表名稱、數(shù)據(jù)源、當(dāng)前版本號(hào)、備注、是通用表還是獨(dú)立表、是否支持多語言、對(duì)應(yīng)標(biāo)示的列的名稱、對(duì)應(yīng)備注列名稱、排序列的名稱;第三層存儲(chǔ)某行中每個(gè)高頻數(shù)據(jù)字段值,包括高頻數(shù)據(jù)字段名和高頻數(shù)據(jù)值。
6.根據(jù)權(quán)利要求3所述的萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下訪問高頻數(shù)據(jù)的方法,其特征在于,所述步驟2還包括同步的步驟,具體包括步驟41、在緩存中開辟另外的存儲(chǔ)空間;步驟42、將新的高頻數(shù)據(jù)加載到新開辟的存儲(chǔ)空間中;步驟43、加載完成后,直接將加載有新高頻數(shù)據(jù)存儲(chǔ)空間的緩存內(nèi)容覆蓋原緩存中的內(nèi)容。
7.根據(jù)權(quán)利要求3所述的萬維網(wǎng)交互編程語言平臺(tái)環(huán)境下訪問高頻數(shù)據(jù)的方法,其特征在于,所述步驟4中的萬維網(wǎng)容器將高頻數(shù)據(jù)讀寫結(jié)果返回給萬維網(wǎng)交互單元編程語言頁面模塊的形式為超文本鏈接標(biāo)示語言頁面。
全文摘要
一種J2EE環(huán)境下高頻數(shù)據(jù)訪問的系統(tǒng)及方法,萬維網(wǎng)容器有緩存管理表模塊,用于管理對(duì)高頻數(shù)據(jù)的訪問;EJB容器的會(huì)話實(shí)體模塊分別與萬維網(wǎng)容器的緩存管理表模塊和數(shù)據(jù)庫連接,用于以結(jié)構(gòu)化查詢方式將高頻數(shù)據(jù)信息表和高頻數(shù)據(jù)存儲(chǔ)到緩存中,高頻數(shù)據(jù)信息表為三層存儲(chǔ)結(jié)構(gòu)。緩存管理表模塊調(diào)用會(huì)話實(shí)體模塊讀取數(shù)據(jù)庫中的高頻數(shù)據(jù)信息配置表和高頻數(shù)據(jù)并存儲(chǔ)到緩存中;用戶向萬維網(wǎng)容器發(fā)送高頻數(shù)據(jù)訪問請(qǐng)求;緩存管理表模塊從緩存的高頻數(shù)據(jù)信息配置表中讀取高頻數(shù)據(jù)配置信息并根據(jù)高頻數(shù)據(jù)配置信息訪問高頻數(shù)據(jù);將高頻數(shù)據(jù)訪問結(jié)果返回給萬維網(wǎng)容器;萬維網(wǎng)容器將高頻數(shù)據(jù)訪問結(jié)果返回給萬維網(wǎng)交互單元編程語言頁面模塊并顯示。
文檔編號(hào)G06F17/30GK1851698SQ20051010590
公開日2006年10月25日 申請(qǐng)日期2005年9月30日 優(yōu)先權(quán)日2005年9月30日
發(fā)明者徐健鵬 申請(qǐng)人:華為技術(shù)有限公司