欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式應(yīng)用本地緩存的實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法與流程

文檔序號(hào):12494982閱讀:1081來源:國(guó)知局

本發(fā)明涉及的是一種算機(jī)軟件應(yīng)用技術(shù),尤其是一種分布式應(yīng)用本地緩存的實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法。



背景技術(shù):

在現(xiàn)有技術(shù)中,公知的技術(shù)是在一個(gè)業(yè)務(wù)應(yīng)用中,我們會(huì)將業(yè)務(wù)數(shù)據(jù)保存到底層的數(shù)據(jù)源(數(shù)據(jù)庫、文件系統(tǒng)、LDAP等)中,在進(jìn)行業(yè)務(wù)操作時(shí),又會(huì)使用底層數(shù)據(jù)源的數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。眾所周知,直接存取底數(shù)據(jù)源的系統(tǒng)開銷是比較大的,這需要?jiǎng)?chuàng)建連接,打開連接等一系列系統(tǒng)各層之間的調(diào)用操作,低速磁盤的存取,各種低速I/O之間的傳輸,都會(huì)影響系統(tǒng)的性能。如果系統(tǒng)中所有的數(shù)據(jù)交換和數(shù)據(jù)存取都是通過直接讀取底層數(shù)據(jù)源的方式進(jìn)行,那么系統(tǒng)的性能肯定會(huì)變得非常糟糕。

但是,如果將所有的業(yè)務(wù)數(shù)據(jù)都存放在內(nèi)存中,雖然會(huì)提高數(shù)據(jù)的存取速度,但是,這需要大容量?jī)r(jià)格昂貴的內(nèi)存,并且也違背了分層設(shè)計(jì)的原理,所以這樣的做法也是不可取的。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的就是針對(duì)現(xiàn)有技術(shù)所存在的不足,而提供一種分布式應(yīng)用本地緩存的實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法,該方法緩存的數(shù)據(jù)適用于比較穩(wěn)定的內(nèi)容,避免緩存頻繁變化的內(nèi)容,頻繁更新的內(nèi)容不適于本方法。如果由于頻繁的更新,系統(tǒng)用于更新緩存內(nèi)容的時(shí)間超過系統(tǒng)直接獲取新內(nèi)容的時(shí)間,那樣本實(shí)現(xiàn)方法就沒有意義,本方法實(shí)現(xiàn)了一種在分布式應(yīng)用系統(tǒng)中本地?cái)?shù)據(jù)的緩存管理功能,可管理緩存數(shù)據(jù)大小、控制緩存數(shù)據(jù)時(shí)效性,實(shí)現(xiàn)緩存監(jiān)控,在集群環(huán)境下可以做到緩存內(nèi)容的同步,解決了在云計(jì)算復(fù)雜環(huán)境下,分布式應(yīng)用程序存取底數(shù)據(jù)源時(shí),系統(tǒng)開銷大,性能消耗高的問題。

本方案是通過如下技術(shù)措施來實(shí)現(xiàn)的:一種分布式應(yīng)用本地緩存的實(shí)現(xiàn)系統(tǒng),包括緩存管理器、緩存服務(wù)組件、緩存構(gòu)建器、緩存監(jiān)控器、通訊器,

緩存管理器用于負(fù)責(zé)其他組件的統(tǒng)一調(diào)度和管理,分組管理緩存,用戶可以根據(jù)應(yīng)用系統(tǒng)的具體情況整體規(guī)劃緩存組;管理緩存數(shù)據(jù)的生命周期,用戶可以設(shè)置緩存的生命期,過期的緩存數(shù)據(jù)將會(huì)自動(dòng)移除;管理緩存數(shù)據(jù)容量;

緩存服務(wù)組件對(duì)外暴露接口,負(fù)責(zé)提供給用戶所需的服務(wù),服務(wù)主要包括緩存的檢測(cè)、創(chuàng)建、刪除、獲取、清空、容量配置等;

緩存構(gòu)建器負(fù)責(zé)緩存實(shí)體的構(gòu)建,不同的緩存構(gòu)建器可以有不同的緩存實(shí)體;

緩存監(jiān)控器負(fù)責(zé)緩存的監(jiān)控,可以通過調(diào)用相關(guān)接口獲取緩存的監(jiān)控信息;

通訊器負(fù)責(zé)集群環(huán)境下多個(gè)應(yīng)用節(jié)點(diǎn)之間緩存數(shù)據(jù)的同步,集群中所有節(jié)點(diǎn)的通訊器構(gòu)成通訊組,當(dāng)某個(gè)節(jié)點(diǎn)的數(shù)據(jù)發(fā)生變更時(shí),緩存管理器告知通訊器本地緩存數(shù)據(jù)發(fā)生變更,通訊器就會(huì)把此數(shù)據(jù)變更消息廣播給組內(nèi)所有成員,組內(nèi)的通訊器接受到消息之后接著把數(shù)據(jù)變更信息告知所在節(jié)點(diǎn)的緩存管理器,然后各個(gè)節(jié)點(diǎn)的緩存管理器就會(huì)按照消息移除緩存數(shù)據(jù)。

所述的緩存管理器設(shè)置緩存容量大小,緩存滿后,如果繼續(xù)放入數(shù)據(jù)就會(huì)按照LRU策略移除緩存里閑置時(shí)間最長(zhǎng)的數(shù)據(jù)。

緩存數(shù)據(jù)變更消息包括四種類型,全部刪除、組刪除、緩存刪除、緩存數(shù)據(jù)刪除。

一種分布式應(yīng)用本地緩存的實(shí)現(xiàn)方法,其特征在于包括如下步驟:

1)首先判斷是讀取數(shù)據(jù)還是數(shù)據(jù)變更,讀取數(shù)據(jù)則進(jìn)入步驟2),數(shù)據(jù)變更則進(jìn)入步驟4)

2)讀取數(shù)據(jù),首先從緩存中獲取數(shù)據(jù),如果取到數(shù)據(jù),則直接返回即可,如果取不到,則進(jìn)入步驟3)

3)從數(shù)據(jù)庫中將查詢到的數(shù)據(jù)放入緩存,緩存管理器查看緩存容量是否已滿,如果已滿,則按照LRU策略移除緩存里閑置時(shí)間最長(zhǎng)的數(shù)據(jù),然后緩存構(gòu)建器針對(duì)放入的數(shù)據(jù)構(gòu)建緩存實(shí)體,取到數(shù)據(jù)返回;如果未滿,則緩存構(gòu)建器針對(duì)放入的數(shù)據(jù)構(gòu)建緩存實(shí)體,取到數(shù)據(jù)返回;

4)將要變更的數(shù)據(jù)從緩存中移除,緩存管理器告知通訊器本地緩存數(shù)據(jù)發(fā)生變更,通訊器通過jGroups把此數(shù)據(jù)變更消息廣播給組內(nèi)所有成員,組內(nèi)的通訊器接受到消息之后接著把數(shù)據(jù)變更信息告知所在節(jié)點(diǎn)的緩存管理器,然后各個(gè)節(jié)點(diǎn)的緩存管理器就會(huì)按照消息移除緩存數(shù)據(jù)。

緩存數(shù)據(jù)變更消息包括四種類型,全部刪除、組刪除、緩存刪除、緩存數(shù)據(jù)刪除。

本方案的有益效果可根據(jù)對(duì)上述方案的敘述得知,由于在該方案實(shí)現(xiàn)了在分布式應(yīng)用系統(tǒng)中本地?cái)?shù)據(jù)的緩存管理功能,可管理緩存數(shù)據(jù)大小、控制緩存數(shù)據(jù)時(shí)效性,實(shí)現(xiàn)緩存監(jiān)控,在集群環(huán)境下可以做到緩存內(nèi)容的同步;分布式應(yīng)用本地緩存系統(tǒng)包括如下幾個(gè)組件:緩存管理器、緩存服務(wù)組件、緩存構(gòu)建器、緩存監(jiān)控器、通訊器。緩存管理器是核心組件,負(fù)責(zé)其他組件的統(tǒng)一調(diào)度和管理。緩存管理器分組管理緩存,用戶可以根據(jù)應(yīng)用系統(tǒng)的具體情況整體規(guī)劃緩存組。緩存管理器負(fù)責(zé)管理緩存數(shù)據(jù)的生命周期,用戶可以設(shè)置緩存的生命期,過期的緩存數(shù)據(jù)將會(huì)自動(dòng)移除。緩存管理器負(fù)責(zé)管理緩存數(shù)據(jù)容量,緩存可以設(shè)置容量大小,緩存滿后,如果繼續(xù)放入數(shù)據(jù)就會(huì)按照LRU策略移除緩存里閑置時(shí)間最長(zhǎng)的數(shù)據(jù)。緩存服務(wù)組件對(duì)外暴露接口,負(fù)責(zé)提供給用戶所需的服務(wù)。緩存構(gòu)建器負(fù)責(zé)根據(jù)配置來構(gòu)建一個(gè)緩存對(duì)象,不同的Builder可以有不同的緩存實(shí)現(xiàn)。緩存監(jiān)控器負(fù)責(zé)緩存的監(jiān)控,可以通過調(diào)用相關(guān)接口獲取緩存的監(jiān)控信息。通訊器負(fù)責(zé)集群環(huán)境下多個(gè)應(yīng)用節(jié)點(diǎn)之間緩存數(shù)據(jù)的同步,集群中所有節(jié)點(diǎn)的通訊器構(gòu)成通訊組,當(dāng)某個(gè)節(jié)點(diǎn)的數(shù)據(jù)發(fā)生變更時(shí),緩存管理器告知通訊器本地緩存數(shù)據(jù)發(fā)生變更,通訊器就會(huì)通過群組通信組件jGroups把此數(shù)據(jù)變更消息廣播給組內(nèi)所有成員,組內(nèi)的通訊器接受到消息之后接著把數(shù)據(jù)變更信息告知所在節(jié)點(diǎn)的緩存管理器,然后各個(gè)節(jié)點(diǎn)的緩存管理器就會(huì)按照消息移除緩存數(shù)據(jù)。緩存數(shù)據(jù)變更消息有四種類型:全部刪除、組刪除、緩存刪除、緩存數(shù)據(jù)刪除。緩存實(shí)體則就是內(nèi)存中實(shí)際的緩存數(shù)據(jù)對(duì)象,由緩存構(gòu)建器負(fù)責(zé)緩存實(shí)體的構(gòu)建。用戶操作主要有三種:取緩存數(shù)據(jù)、移除緩存數(shù)據(jù)和將數(shù)據(jù)放入緩存。用戶獲取數(shù)據(jù)包含取和放兩種操作,首先從緩存中取數(shù)據(jù),如果取不到,就查詢數(shù)據(jù)庫,然后將查詢到的數(shù)據(jù)放入緩存,取到直接返回即可。用戶在修改數(shù)據(jù)庫數(shù)據(jù)時(shí)需要直接從緩存中移除相關(guān)數(shù)據(jù)。

由此可見,本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實(shí)質(zhì)性特點(diǎn)和顯著的進(jìn)步,其實(shí)施的有益效果也是顯而易見的。

附圖說明

圖1為本發(fā)明具體實(shí)施方式的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為能清楚說明本方案的技術(shù)特點(diǎn),下面通過一個(gè)具體實(shí)施方式,并結(jié)合其附圖,對(duì)本方案進(jìn)行闡述。

通過附圖可以看出,本方案的一種分布式應(yīng)用本地緩存的實(shí)現(xiàn)系統(tǒng),包括緩存管理器、緩存服務(wù)組件、緩存構(gòu)建器、緩存監(jiān)控器、通訊器,

緩存管理器用于負(fù)責(zé)其他組件的統(tǒng)一調(diào)度和管理,分組管理緩存,用戶可以根據(jù)應(yīng)用系統(tǒng)的具體情況整體規(guī)劃緩存組;管理緩存數(shù)據(jù)的生命周期,用戶可以設(shè)置緩存的生命期,過期的緩存數(shù)據(jù)將會(huì)自動(dòng)移除;管理緩存數(shù)據(jù)容量;

緩存服務(wù)組件對(duì)外暴露接口,負(fù)責(zé)提供給用戶所需的服務(wù),服務(wù)主要包括緩存的檢測(cè)、創(chuàng)建、刪除、獲取、清空、容量配置等;

緩存構(gòu)建器負(fù)責(zé)緩存實(shí)體的構(gòu)建,不同的緩存構(gòu)建器可以有不同的緩存實(shí)體;

緩存監(jiān)控器負(fù)責(zé)緩存的監(jiān)控,可以通過調(diào)用相關(guān)接口獲取緩存的監(jiān)控信息;

通訊器負(fù)責(zé)集群環(huán)境下多個(gè)應(yīng)用節(jié)點(diǎn)之間緩存數(shù)據(jù)的同步,集群中所有節(jié)點(diǎn)的通訊器構(gòu)成通訊組,當(dāng)某個(gè)節(jié)點(diǎn)的數(shù)據(jù)發(fā)生變更時(shí),緩存管理器告知通訊器本地緩存數(shù)據(jù)發(fā)生變更,通訊器就會(huì)把此數(shù)據(jù)變更消息廣播給組內(nèi)所有成員,組內(nèi)的通訊器接受到消息之后接著把數(shù)據(jù)變更信息告知所在節(jié)點(diǎn)的緩存管理器,然后各個(gè)節(jié)點(diǎn)的緩存管理器就會(huì)按照消息移除緩存數(shù)據(jù)。

所述的緩存管理器設(shè)置緩存容量大小,緩存滿后,如果繼續(xù)放入數(shù)據(jù)就會(huì)按照LRU策略移除緩存里閑置時(shí)間最長(zhǎng)的數(shù)據(jù)。

緩存數(shù)據(jù)變更消息包括四種類型,全部刪除、組刪除、緩存刪除、緩存數(shù)據(jù)刪除。

一種基于上述系統(tǒng)的分布式應(yīng)用本地緩存的實(shí)現(xiàn)方法,包括如下步驟:

1)首先判斷是讀取數(shù)據(jù)還是數(shù)據(jù)變更,讀取數(shù)據(jù)則進(jìn)入步驟2),數(shù)據(jù)變更則進(jìn)入步驟4)

2)讀取數(shù)據(jù),首先從緩存中獲取數(shù)據(jù),如果取到數(shù)據(jù),則直接返回即可,如果取不到,則進(jìn)入步驟3)

3)從數(shù)據(jù)庫中將查詢到的數(shù)據(jù)放入緩存,緩存管理器查看緩存容量是否已滿,如果已滿,則按照LRU策略移除緩存里閑置時(shí)間最長(zhǎng)的數(shù)據(jù),然后緩存構(gòu)建器針對(duì)放入的數(shù)據(jù)構(gòu)建緩存實(shí)體,取到數(shù)據(jù)返回;如果未滿,則緩存構(gòu)建器針對(duì)放入的數(shù)據(jù)構(gòu)建緩存實(shí)體,取到數(shù)據(jù)返回;

4)將要變更的數(shù)據(jù)從緩存中移除,緩存管理器告知通訊器本地緩存數(shù)據(jù)發(fā)生變更,通訊器通過jGroups把此數(shù)據(jù)變更消息廣播給組內(nèi)所有成員,組內(nèi)的通訊器接受到消息之后接著把數(shù)據(jù)變更信息告知所在節(jié)點(diǎn)的緩存管理器,然后各個(gè)節(jié)點(diǎn)的緩存管理器就會(huì)按照消息移除緩存數(shù)據(jù)。

本發(fā)明并不僅限于上述具體實(shí)施方式,本領(lǐng)域普通技術(shù)人員在本發(fā)明的實(shí)質(zhì)范圍內(nèi)做出的變化、改型、添加或替換,也應(yīng)屬于本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泗水县| 清水县| 大姚县| 北安市| 平度市| 积石山| 洛浦县| 辽阳县| 凤台县| 灵丘县| 沧源| 石屏县| 清河县| 秦皇岛市| 南京市| 兴和县| 饶阳县| 湘潭市| 当雄县| 城步| 南皮县| 佳木斯市| 岳阳市| 潜江市| 濮阳县| 沂南县| 奎屯市| 大名县| 武安市| 桑日县| 安阳市| 新巴尔虎左旗| 雅安市| 闽侯县| 金塔县| 巨鹿县| 腾冲县| 永宁县| 洛南县| 长沙县| 英山县|