專利名稱:用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域的數(shù)據(jù)緩沖技術(shù),應(yīng)用于數(shù)據(jù)共享平臺對外服務(wù)的提供,用于解決各部門對于調(diào)用操作型數(shù)據(jù)存儲ODS對外服務(wù)的性能要求,為一種用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法。
背景技術(shù):
操作型數(shù)據(jù)存儲ODS (Operational Data Store)是數(shù)據(jù)倉庫體系結(jié)構(gòu)中的一個可選部分,ODS具備數(shù)據(jù)倉庫的部分特征和聯(lián)機(jī)事務(wù)處理OLTP系統(tǒng)的部分特征,它是面向主題的、集成的、當(dāng)前或接近當(dāng)前的、不斷變化的數(shù)據(jù)。
目前現(xiàn)有的數(shù)據(jù)共享服務(wù)的緩沖構(gòu)建都是單節(jié)點、按單主機(jī)緩沖, 一般都在數(shù)據(jù)提供服務(wù)的5個節(jié)點的第4個節(jié)點提供緩沖,也就是在數(shù)據(jù)庫訪問層提供緩沖,這只能滿足少量服務(wù)調(diào)用,而無法滿足多用戶并發(fā)和大數(shù)據(jù)量調(diào)用性能的要求,這樣在數(shù)據(jù)共享平臺下,現(xiàn)有的緩沖構(gòu)建就不能滿足各部門對于調(diào)用操作型數(shù)據(jù)存儲ODS對外服務(wù)的性能要求。
發(fā)明內(nèi)容
本發(fā)明要解決的問題是傳統(tǒng)緩沖無法滿足多用戶并發(fā)和大數(shù)據(jù)量調(diào)用性能的要
求,針對各部門對于調(diào)用ODS對外服務(wù)的性能要求,提出一種基于SOA架構(gòu)的構(gòu)建緩沖的方法。
本發(fā)明的技術(shù)方案為用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法,建立基于SOA的系
統(tǒng)架構(gòu),系統(tǒng)架構(gòu)由Apache前端、Java應(yīng)用程序模塊、SOA服務(wù)器和數(shù)據(jù)庫組成,Apache前端連接Java應(yīng)用程序模塊,Java應(yīng)用程序模塊遠(yuǎn)程連接SOA服務(wù)器,SOA服務(wù)器連接數(shù)據(jù)庫,然后按以下步驟進(jìn)行緩沖
A. 采用分布式的緩沖方案,對架構(gòu)中的四個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接分別進(jìn)行緩沖;
B. 對四個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接實施緩沖數(shù)據(jù)策略,分析每個數(shù)據(jù)服務(wù),統(tǒng)計出不同數(shù)據(jù)重復(fù)利用的頻率,按照數(shù)據(jù)高低進(jìn)行排序,優(yōu)先選擇一部分重復(fù)頻率高的資源;
4C. 針對緩沖對象選擇數(shù)據(jù)資源顆粒度,依據(jù)資源的特點考慮,對業(yè)務(wù)較復(fù)雜的聚集對象選擇小顆粒度的緩沖,相反就選擇大顆粒度的緩沖;
D. 針對業(yè)務(wù)邏輯實施資源過期策略,緩沖在各緩存中的數(shù)據(jù)對象,采用針對業(yè)務(wù)的過期策略,分配不同的過期時間;
E. 對每臺服務(wù)器的數(shù)據(jù)量的評估對每臺服務(wù)器緩沖多少數(shù)據(jù)、緩沖對象的大小、資源活躍度進(jìn)行評估;對于遠(yuǎn)程緩沖,依據(jù)內(nèi)存、緩沖對象的大小、壓縮率、KEY分布的均衡度等進(jìn)行評估;
F. 網(wǎng)絡(luò)流量評估在遠(yuǎn)程環(huán)境下必須評估網(wǎng)絡(luò)流量,評估公式為緩沖對象尺寸X每秒訪問次數(shù);
G. 進(jìn)行資源序列化。
本發(fā)明分布式的緩沖方案為在Apache前端采用Apache相關(guān)的緩沖擴(kuò)展;在其它三個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接使用分布式緩存系統(tǒng)MemCached:對于Java應(yīng)用程序模塊,緩存Web頁面,業(yè)務(wù)數(shù)據(jù)對象;對于SOA服務(wù)器,緩存業(yè)務(wù)數(shù)據(jù)對象,服務(wù)相關(guān)配置信息,數(shù)據(jù)路由規(guī)則;對于SOA服務(wù)器與數(shù)據(jù)庫間的連接,實現(xiàn)通用數(shù)據(jù)反問層,實現(xiàn)統(tǒng)一數(shù)據(jù)源查詢,業(yè)務(wù)數(shù)據(jù)對象在這里也進(jìn)行緩存;對于數(shù)據(jù)庫模塊,增加服務(wù)器內(nèi)存,調(diào)整數(shù)據(jù)庫緩沖,調(diào)整數(shù)據(jù)庫本身的特性。
本發(fā)明對于Java應(yīng)用程序模塊和SOA服務(wù)器,在Java應(yīng)用程序模塊設(shè)置本地緩沖集群,完全緩沖整個對象關(guān)系,使用分布式緩存系統(tǒng)MemCached實現(xiàn),SOA服務(wù)器采用緩沖群,設(shè)置多個緩存,即Cache+Cache集群,分別完全緩沖各個對象。
本發(fā)明資源序列化為Java領(lǐng)域的資源序列化,包括Java序列化、資源對象內(nèi)部、資源對象內(nèi)部的數(shù)據(jù)屬性和對象序列化。
本發(fā)明針對數(shù)據(jù)共享服務(wù)提供的5個節(jié)點的特性,相應(yīng)提供不通策略的緩沖,比如在web層,緩沖web頁面,在S0A層和Java程序?qū)犹峁〤ache集群,緩沖Java序列對象;在整體數(shù)據(jù)共享平臺上,采用了分布式緩沖,可以有效的使緩沖服務(wù)器和應(yīng)用服務(wù)器分離,降低了應(yīng)用服務(wù)器負(fù)載。本發(fā)明每臺服務(wù)器的緩存都有高效的數(shù)據(jù)量和網(wǎng)絡(luò)流量等評估,便于資源序列化。本發(fā)明在兩臺緩存分布式服務(wù)器的情況下,能夠?qū)eb訪問性能提高100%訪問速度;能夠?qū)?DS對外服務(wù)并發(fā)性能提高2-3倍。
圖1為本發(fā)明建立的基于SOA的系統(tǒng)架構(gòu)。圖2為本發(fā)明分布式緩沖方案的實施示意圖。
具體實施例方式
如圖l,數(shù)據(jù)共享服務(wù)提供了 l一5五個節(jié)點,本發(fā)明首先建立基于SOA的系統(tǒng)架構(gòu),系統(tǒng)架構(gòu)由Apache前端、Java應(yīng)用程序模塊、SOA服務(wù)器和數(shù)據(jù)庫組成,Apache前端連接Java應(yīng)用程序模塊,Java應(yīng)用程序模塊遠(yuǎn)程連接S0A服務(wù)器,SOA服務(wù)器連接數(shù)據(jù)庫。
下面結(jié)合圖2說明本發(fā)明的構(gòu)建緩沖方法.-
A. 采用分布式的緩沖方案,對架構(gòu)中的四個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接分別進(jìn)行緩沖在Apache前端采用Apache相關(guān)的緩沖擴(kuò)展;在其它三個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接使用分布式緩存系統(tǒng)MemCached:對于Java應(yīng)用程序模塊,緩存Web頁面,業(yè)務(wù)數(shù)據(jù)對象;對于SOA服務(wù)器,緩存業(yè)務(wù)數(shù)據(jù)對象,服務(wù)相關(guān)配置信息,數(shù)據(jù)路由規(guī)則;對于SOA服務(wù)器與數(shù)據(jù)庫間的連接,實現(xiàn)通用數(shù)據(jù)反問層,實現(xiàn)統(tǒng)一數(shù)據(jù)源査詢,業(yè)務(wù)數(shù)據(jù)對象在這里也進(jìn)行緩存;對于數(shù)據(jù)庫,增加服務(wù)器內(nèi)存,調(diào)整數(shù)據(jù)庫緩沖,調(diào)整數(shù)據(jù)庫本身的特性實現(xiàn)性能的提升;其中,對于Java應(yīng)用程序模塊和SOA服務(wù)器,在Java應(yīng)用程序模塊設(shè)置本地緩沖集群,完全緩沖整個對象關(guān)系,使用分布式緩存系統(tǒng)MemCached實現(xiàn),SOA服務(wù)器采用緩沖群,設(shè)置多個緩存,即Cache+Cache集群,分別完全緩沖各個對象;
B. 對四個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接實施緩沖數(shù)據(jù)策略,對每個數(shù)據(jù)服務(wù)的分析,統(tǒng)計出不同數(shù)據(jù)重復(fù)利用的頻率,按照數(shù)據(jù)高低進(jìn)行排序,優(yōu)先選擇一部分重復(fù)頻率搞的資源;
C. 針對緩沖對象選擇數(shù)據(jù)資源顆粒度,依據(jù)資源的特點考慮,對業(yè)務(wù)較復(fù)雜的聚集對象選擇小顆粒度的緩沖,相反就選擇大顆粒度的緩沖;
D. 針對業(yè)務(wù)邏輯實施資源過期策略,緩沖在各緩存中的數(shù)據(jù)對象采用針對業(yè)務(wù)的過期策略,分配不同的過期時間;
E. 對每臺服務(wù)器的數(shù)據(jù)量的評估對每臺服務(wù)器緩沖多少數(shù)據(jù)、緩沖對象的大小、資源活躍度進(jìn)行評估;對于遠(yuǎn)程緩沖,依據(jù)內(nèi)存、緩沖對象的大小、壓縮率、KEY分布的均衡度等進(jìn)行評估;
F. 網(wǎng)絡(luò)流量評估在遠(yuǎn)程環(huán)境下必須評估網(wǎng)絡(luò)流量,評估公式為緩沖對象尺寸X每秒訪問次數(shù);G.進(jìn)行資源序列化,資源序列化為Java領(lǐng)域的資源序列化,包括Java序列化、資 源對象內(nèi)部、資源對象內(nèi)部的數(shù)據(jù)屬性和對象序列化。
權(quán)利要求
1、用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法,其特征是建立基于SOA的系統(tǒng)架構(gòu),系統(tǒng)架構(gòu)由Apache前端、Java應(yīng)用程序模塊、SOA服務(wù)器和數(shù)據(jù)庫組成,Apache前端連接Java應(yīng)用程序模塊,Java應(yīng)用程序模塊遠(yuǎn)程連接SOA服務(wù)器,SOA服務(wù)器連接數(shù)據(jù)庫,然后按以下步驟進(jìn)行緩沖A. 采用分布式的緩沖方案,對架構(gòu)中的四個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接分別進(jìn)行緩沖;B. 對四個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接實施緩沖數(shù)據(jù)策略,分析每個數(shù)據(jù)服務(wù),統(tǒng)計出不同數(shù)據(jù)重復(fù)利用的頻率,按照數(shù)據(jù)高低進(jìn)行排序,優(yōu)先選擇一部分重復(fù)頻率高的資源;C. 針對緩沖對象選擇數(shù)據(jù)資源顆粒度,依據(jù)資源的特點考慮,對業(yè)務(wù)較復(fù)雜的聚集對象選擇小顆粒度的緩沖,相反就選擇大顆粒度的緩沖;D. 針對業(yè)務(wù)邏輯實施資源過期策略,緩沖在各緩存中的數(shù)據(jù)對象,采用針對業(yè)務(wù)的過期策略,分配不同的過期時間;E. 對每臺服務(wù)器的數(shù)據(jù)量的評估對每臺服務(wù)器緩沖多少數(shù)據(jù)、緩沖對象的大小、資源活躍度進(jìn)行評估;對于遠(yuǎn)程緩沖,依據(jù)內(nèi)存、緩沖對象的大小、壓縮率、KEY分布的均衡度等進(jìn)行評估;F. 網(wǎng)絡(luò)流量評估在遠(yuǎn)程環(huán)境下必須評估網(wǎng)絡(luò)流量,評估公式為緩沖對象尺寸×每秒訪問次數(shù);G. 進(jìn)行資源序列化。
2、 根據(jù)權(quán)利要求1所述的用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法,其特征是分布式 的緩沖方案為在Apache前端采用Apache相關(guān)的緩沖擴(kuò)展;在其它三個模塊和SOA 服務(wù)器與數(shù)據(jù)庫間的連接使用分布式緩存系統(tǒng)MemCached:對于Java應(yīng)用程序模塊,緩 存Web頁面,業(yè)務(wù)數(shù)據(jù)對象;對于SOA服務(wù)器,緩存業(yè)務(wù)數(shù)據(jù)對象,服務(wù)相關(guān)配置信 息,數(shù)據(jù)路由規(guī)則;對于SOA服務(wù)器與數(shù)據(jù)庫間的連接,實現(xiàn)通用數(shù)據(jù)反問層,實現(xiàn) 統(tǒng)一數(shù)據(jù)源查詢,業(yè)務(wù)數(shù)據(jù)對象在這里也進(jìn)行緩存;對于數(shù)據(jù)庫模塊,增加服務(wù)器內(nèi)存, 調(diào)整數(shù)據(jù)庫緩沖,調(diào)整數(shù)據(jù)庫本身的特性。
3、 根據(jù)權(quán)利要求1或2所述的用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法,其特征是對 于Java應(yīng)用程序模塊和SOA服務(wù)器,在Java應(yīng)用程序模塊設(shè)置本地緩沖集群,完全緩 沖整個對象關(guān)系,使用分布式緩存系統(tǒng)MemCached實現(xiàn),SOA服務(wù)器采用緩沖群,設(shè)置 多個緩存,分別完全緩沖各個對象。
4、 根據(jù)權(quán)利要求1或2所述的用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法,其特征是資 源序列化為Java領(lǐng)域的資源序列化,包括Java序列化、資源對象內(nèi)部、資源對象內(nèi)部 的數(shù)據(jù)屬性和對象序列化。
5、 根據(jù)權(quán)利要求3所述的用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法,其特征是資源序 列化為Java領(lǐng)域的資源序列化,包括Java序列化、資源對象內(nèi)部、資源對象內(nèi)部的數(shù) 據(jù)屬性和對象序列化。
全文摘要
用于數(shù)據(jù)共享平臺的構(gòu)建緩沖的方法,建立基于SOA的系統(tǒng)架構(gòu),系統(tǒng)架構(gòu)由Apache前端、Java應(yīng)用程序模塊、SOA服務(wù)器和數(shù)據(jù)庫組成,本發(fā)明針對數(shù)據(jù)共享服務(wù)提供的5個節(jié)點的特性,采用分布式的緩沖方案,對架構(gòu)中的四個模塊和SOA服務(wù)器與數(shù)據(jù)庫間的連接分別進(jìn)行緩沖,可以有效的使緩沖服務(wù)器和應(yīng)用服務(wù)器分離,降低了應(yīng)用服務(wù)器負(fù)載。本發(fā)明每臺服務(wù)器的緩存都有高效的數(shù)據(jù)量和網(wǎng)絡(luò)流量等評估,便于資源序列化。本發(fā)明在兩臺緩存分布式服務(wù)器的情況下,能夠?qū)eb訪問性能提高100%訪問速度;能夠?qū)DS對外服務(wù)并發(fā)性能提高2-3倍。
文檔編號G06F17/30GK101499095SQ20091002586
公開日2009年8月5日 申請日期2009年3月11日 優(yōu)先權(quán)日2009年3月11日
發(fā)明者萬星明, 余志剛, 清 蘭, 劉樹權(quán), 卞國震, 峰 張, 沈鵬程 申請人:南京聯(lián)創(chuàng)科技股份有限公司