[發(fā)明專利]一種優(yōu)化的Java Web三層系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201810665655.9 | 申請(qǐng)日: | 2018-06-26 |
| 公開(公告)號(hào): | CN109086030B | 公開(公告)日: | 2022-02-01 |
| 發(fā)明(設(shè)計(jì))人: | 喬小斐;韓梅;徐勝杰 | 申請(qǐng)(專利權(quán))人: | 中國(guó)電子科技集團(tuán)公司第二十九研究所 |
| 主分類號(hào): | G06F8/20 | 分類號(hào): | G06F8/20;G06F16/25;G06F9/54 |
| 代理公司: | 成都九鼎天元知識(shí)產(chǎn)權(quán)代理有限公司 51214 | 代理人: | 錢成岑 |
| 地址: | 610036 四川*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 優(yōu)化 java web 三層 系統(tǒng) | ||
本發(fā)明公開了一種優(yōu)化的Java Web三層系統(tǒng),該優(yōu)化的Java Web三層系統(tǒng),包括表示層、業(yè)務(wù)層和持久層,所述表示層用于和用戶進(jìn)行Web端的交互,所述業(yè)務(wù)層用于實(shí)現(xiàn)業(yè)務(wù)邏輯,所述持久層用于封裝數(shù)據(jù)庫(kù)交互,還包括內(nèi)存數(shù)據(jù)池、改動(dòng)數(shù)據(jù)緩存池和持久處理層,所述內(nèi)存數(shù)據(jù)池用于存儲(chǔ)數(shù)據(jù)庫(kù)中被頻繁訪問(wèn)和操作的數(shù)據(jù);所述改動(dòng)數(shù)據(jù)緩存池用于存儲(chǔ)被所述業(yè)務(wù)層改動(dòng)后的數(shù)據(jù);所述持久處理層用于從改動(dòng)數(shù)據(jù)緩存池中獲取數(shù)據(jù)同步到數(shù)據(jù)庫(kù)。本發(fā)明為三層系統(tǒng)引入內(nèi)存數(shù)據(jù)池及持久處理層的概念,達(dá)到提高架構(gòu)運(yùn)行效率、增強(qiáng)系統(tǒng)擴(kuò)展性的目的。
技術(shù)領(lǐng)域
本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種優(yōu)化的Java Web三層系統(tǒng)。
背景技術(shù)
Java Web三層架構(gòu)是當(dāng)前流行的一種基于模塊化程序設(shè)計(jì)的思想,也是當(dāng)前Web應(yīng)用程序的一種標(biāo)準(zhǔn)模塊劃分方法。架構(gòu)中的三層分別是表示層、業(yè)務(wù)層和持久層。其中表示層用于和用戶進(jìn)行Web端的交互,業(yè)務(wù)層用于實(shí)現(xiàn)業(yè)務(wù)邏輯,持久層用于封裝數(shù)據(jù)庫(kù)交互。三層架構(gòu)圖如圖1所示。
這種三層架構(gòu)在面對(duì)高并發(fā)量的Web應(yīng)用時(shí),由于高并發(fā)量的Web應(yīng)用意味著大量的對(duì)于持久層數(shù)據(jù)的訪問(wèn),持久層數(shù)據(jù)通常存放在數(shù)據(jù)庫(kù)中,一方面對(duì)于數(shù)據(jù)庫(kù)頻繁地訪問(wèn)必將影響系統(tǒng)的運(yùn)行效率,從而影響到用戶的訪問(wèn)體驗(yàn);另一方面為了避免數(shù)據(jù)庫(kù)產(chǎn)生臟數(shù)據(jù),往往在數(shù)據(jù)庫(kù)的讀寫操作中會(huì)使用讀寫鎖,而頻繁訪問(wèn)數(shù)據(jù)庫(kù)勢(shì)必會(huì)加劇對(duì)于讀寫鎖的競(jìng)爭(zhēng),進(jìn)一步降低了數(shù)據(jù)訪問(wèn)的速率,從而降低了系統(tǒng)的性能。同時(shí),業(yè)務(wù)層增加或修改對(duì)于數(shù)據(jù)的獲取需求,需要相應(yīng)的在持久層代碼中進(jìn)行修改,這種級(jí)聯(lián)式的修改降低了系統(tǒng)的可擴(kuò)展性,導(dǎo)致系統(tǒng)維護(hù)性變差。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是:針對(duì)現(xiàn)有技術(shù)中存在的不足,本發(fā)明提出了一種優(yōu)化的Java Web三層系統(tǒng),為三層架構(gòu)引入內(nèi)存數(shù)據(jù)池及持久處理層的概念,達(dá)到提高架構(gòu)運(yùn)行效率、增強(qiáng)系統(tǒng)擴(kuò)展性的目的。
本發(fā)明提供的一種優(yōu)化的Java Web三層架構(gòu),包括表示層、業(yè)務(wù)層和持久層,所述表示層用于和用戶進(jìn)行Web端的交互,所述業(yè)務(wù)層用于實(shí)現(xiàn)業(yè)務(wù)邏輯,所述持久層用于封裝數(shù)據(jù)庫(kù)交互,還包括內(nèi)存數(shù)據(jù)池、改動(dòng)數(shù)據(jù)緩存池和持久處理層,所述內(nèi)存數(shù)據(jù)池用于存儲(chǔ)數(shù)據(jù)庫(kù)中被頻繁訪問(wèn)和操作的數(shù)據(jù);所述改動(dòng)數(shù)據(jù)緩存池用于存儲(chǔ)被所述業(yè)務(wù)層改動(dòng)后的數(shù)據(jù);所述持久處理層用于從改動(dòng)數(shù)據(jù)緩存池中獲取數(shù)據(jù)同步到數(shù)據(jù)庫(kù)。
進(jìn)一步,所述持久處理層由專門操作持久層元數(shù)據(jù)的線程組成,不同類別的數(shù)據(jù)交由不同的線程處理,由線程負(fù)責(zé)數(shù)據(jù)到數(shù)據(jù)庫(kù)之間的讀寫及修改。
本發(fā)明另一方面提供的一種基于如上所述的Java Web三層架構(gòu)的優(yōu)化方法,該優(yōu)化方法包括初始化過(guò)程、運(yùn)行過(guò)程和結(jié)束過(guò)程,
所述初始化過(guò)程包括:業(yè)務(wù)層調(diào)用持久層接口加載數(shù)據(jù)構(gòu)建內(nèi)存數(shù)據(jù)池;持久處理層啟動(dòng)線程,從改動(dòng)數(shù)據(jù)緩存池中獲取數(shù)據(jù),當(dāng)改動(dòng)數(shù)據(jù)緩存池中沒(méi)有數(shù)據(jù)時(shí),線程阻塞;
所述運(yùn)行過(guò)程包括:表示層發(fā)送業(yè)務(wù)請(qǐng)求,業(yè)務(wù)層接收請(qǐng)求,從內(nèi)存數(shù)據(jù)池中直接獲取數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算操作,將運(yùn)算結(jié)果返回給表示層;同時(shí),如果在運(yùn)算過(guò)程中數(shù)據(jù)有了改動(dòng),則將改動(dòng)后的數(shù)據(jù)放入改動(dòng)數(shù)據(jù)緩存池中;持久處理層從改動(dòng)數(shù)據(jù)緩存池中獲取到數(shù)據(jù),解除線程阻塞,調(diào)用持久層接口將數(shù)據(jù)同步到數(shù)據(jù)庫(kù)中;
所述結(jié)束過(guò)程包括:業(yè)務(wù)層清空內(nèi)存數(shù)據(jù)池,然后結(jié)束自身線程;持久處理層判斷改動(dòng)數(shù)據(jù)緩存池中是否仍有數(shù)據(jù),如果還有就繼續(xù)處理;直到所有改動(dòng)數(shù)據(jù)全部同步到數(shù)據(jù)庫(kù)中,再結(jié)束線程。
本發(fā)明另一方面提供的一種基于如上所述的Java Web三層架構(gòu)的外賣系統(tǒng),所述業(yè)務(wù)層包括:?jiǎn)?dòng)類,用于服務(wù)器啟動(dòng)時(shí)的環(huán)境加載;控制器類,用于接收并轉(zhuǎn)發(fā)表示層請(qǐng)求;套餐服務(wù)類,用于處理跟套餐數(shù)據(jù)相關(guān)的業(yè)務(wù)操作;訂單服務(wù)類,用于處理訂單相關(guān)操作;
所述持久層包括套餐對(duì)象關(guān)系映射類、訂單對(duì)象關(guān)系映射類用戶對(duì)象關(guān)系映射類和配餐員對(duì)象關(guān)系映射類;
所述數(shù)據(jù)庫(kù)包括套餐類、訂單類、用戶類和配餐員類。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)電子科技集團(tuán)公司第二十九研究所,未經(jīng)中國(guó)電子科技集團(tuán)公司第二十九研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810665655.9/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 基于支持類的標(biāo)識(shí)來(lái)下載Java應(yīng)用的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品
- 啟動(dòng)JAVA應(yīng)用的方法及裝置
- Java虛擬機(jī)的管理方法、監(jiān)控系統(tǒng)和監(jiān)控代理模塊
- 一種運(yùn)行Java程序的方法和裝置
- 一種保護(hù)java程序的方法
- Java卡的Java代碼補(bǔ)丁方法
- 一種基于中間件架構(gòu)下java棧的多線程實(shí)現(xiàn)方法
- 一種支持JAVA卡補(bǔ)丁函數(shù)的智能卡
- 一種改進(jìn)的Java卡初始化方法和Java卡
- JavaEE平臺(tái)構(gòu)建方法、JavaEE平臺(tái)及云端系統(tǒng)
- 提供共享Web模塊的系統(tǒng)和方法
- 管理環(huán)球網(wǎng)網(wǎng)頁(yè)中的環(huán)球網(wǎng)媒體的系統(tǒng)及其實(shí)現(xiàn)方法
- 一種WEB業(yè)務(wù)實(shí)現(xiàn)系統(tǒng)、裝置及方法
- 高速緩存廣播信息的方法和裝置
- 基于QoS指標(biāo)和Web服務(wù)輸出參數(shù)的Web服務(wù)組合方法和裝置
- Web托管審查方法、裝置及Web托管系統(tǒng)
- 用于信息處理和Web瀏覽歷史導(dǎo)航的方法和設(shè)備及電子裝置
- 用于將web站點(diǎn)轉(zhuǎn)換為目標(biāo)web app站點(diǎn)的方法和裝置
- 用于防護(hù)WEB漏洞的方法和設(shè)備
- 一種Web攻擊報(bào)告生成方法、裝置、設(shè)備及計(jì)算機(jī)介質(zhì)





