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

一種主推式序列化緩存管理方法及系統(tǒng)與流程

文檔序號(hào):11864724閱讀:288來源:國知局
一種主推式序列化緩存管理方法及系統(tǒng)與流程

本發(fā)明涉及分布式集群系統(tǒng)緩存技術(shù)領(lǐng)域,特別是涉及一種主推式序列化緩存管理方法及系統(tǒng)。



背景技術(shù):

在企業(yè)級(jí)集群、分布式部署的多系統(tǒng)協(xié)作場(chǎng)景下,由于系統(tǒng)間配置不一致,經(jīng)常導(dǎo)致業(yè)務(wù)處理錯(cuò)誤問題的出現(xiàn)。且在傳統(tǒng)的分散管理配置過程中,手工修改、文件同步、定時(shí)輪詢等方式導(dǎo)致系統(tǒng)間配置生效時(shí)間之間存在差異。

現(xiàn)有技術(shù)中,使用memcached等外部緩存服務(wù)器集中保存緩存內(nèi)容,將持久化存儲(chǔ)的配置內(nèi)容按約定格式讀取并更新到緩存服務(wù)器,業(yè)務(wù)系統(tǒng)在需要時(shí)實(shí)時(shí)從緩存服務(wù)器中讀取。

業(yè)務(wù)系統(tǒng)直接讀取持久化的配置內(nèi)容,并向消息服務(wù)器訂閱其關(guān)注配置的變化情況,當(dāng)持久化配置發(fā)生變更時(shí),消息服務(wù)器向訂閱方(業(yè)務(wù)系統(tǒng))發(fā)起通知,業(yè)務(wù)系統(tǒng)發(fā)起緩存更新操作,重新讀取最新的持久化配置內(nèi)容。

然而,隨著業(yè)務(wù)系統(tǒng)集群數(shù)量的增加,外部緩存系統(tǒng)的引入不僅將加大系統(tǒng)部署的復(fù)雜度,且與業(yè)務(wù)系統(tǒng)的結(jié)合、更新需要定制編碼也增加了系統(tǒng)的耦合度。另外,消息訂閱式的更新策略可以保證緩存更新的及時(shí)性,但各業(yè)務(wù)系統(tǒng)同時(shí)向持久化存儲(chǔ)發(fā)起訪問請(qǐng)求會(huì)導(dǎo)致其壓力暴增。



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

本發(fā)明的目的是提供一種主推式序列化緩存管理方法及系統(tǒng),目的在于解決現(xiàn)有技術(shù)通過引入外部緩存系統(tǒng)加大系統(tǒng)部署的復(fù)雜度、維護(hù)工作量大、緩存更新不及時(shí)的問題。

為解決上述技術(shù)問題,本發(fā)明提供一種主推式序列化緩存管理方法,包括:

預(yù)先在管理服務(wù)器與組件服務(wù)器之間建立雙向分布式調(diào)用關(guān)系,所述管理服務(wù)器與所述組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸;

所述管理服務(wù)器在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存;

所述管理服務(wù)器按照預(yù)設(shè)順序向已注冊(cè)的組件服務(wù)器逐一推送更新緩存的信息。

可選地,所述管理服務(wù)器按照預(yù)設(shè)順序向已注冊(cè)的組件服務(wù)器逐一推送更新緩存的信息包括:

所述管理服務(wù)器通過比較本地緩存前后分別記錄的hashCode校驗(yàn)碼,來判斷當(dāng)前變更是否為實(shí)質(zhì)變更;僅當(dāng)所述校驗(yàn)碼不一致時(shí),向相應(yīng)的組件服務(wù)器發(fā)送更新緩存的信息。

可選地,在所述管理服務(wù)器通過比較本地緩存前后分別記錄的hashCode校驗(yàn)碼,來判斷當(dāng)前變更是否為實(shí)質(zhì)變更之前還包括:

獲取文件配置的上次更新時(shí)間。

可選地,所述管理服務(wù)器在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存包括:

當(dāng)多個(gè)緩存之間存在依賴關(guān)系時(shí),對(duì)依賴關(guān)系進(jìn)行排序,采用被依賴緩存先更新的方式進(jìn)行更新。

可選地,還包括:

在檢測(cè)到數(shù)據(jù)存在異常情況時(shí),發(fā)出預(yù)警的提示信息。

本發(fā)明還提供了一種主推式序列化緩存管理系統(tǒng),包括:

建立模塊,用于預(yù)先在管理服務(wù)器與組件服務(wù)器之間建立雙向分布式調(diào)用關(guān)系,所述管理服務(wù)器與所述組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸;

更新模塊,用于在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存;

推送模塊,用于按照預(yù)設(shè)順序向已注冊(cè)的組件服務(wù)器逐一推送更新緩存的信息。

可選地,所述推送模塊具體用于:

通過比較本地緩存前后分別記錄的hashCode校驗(yàn)碼,來判斷當(dāng)前變更是否為實(shí)質(zhì)變更;當(dāng)所述校驗(yàn)碼一致時(shí),不需要向相應(yīng)的組件服務(wù)器發(fā)送更新緩存的信息。

可選地,還包括:

獲取模塊,用于在所述管理服務(wù)器通過比較本地緩存前后分別記錄的hashCode校驗(yàn)碼,來判斷當(dāng)前變更是否為實(shí)質(zhì)變更之前,獲取文件配置的上次更新時(shí)間。

可選地,所述更新模塊具體用于:

當(dāng)多個(gè)緩存之間存在依賴關(guān)系時(shí),對(duì)依賴關(guān)系進(jìn)行排序,采用被依賴緩存先更新的方式進(jìn)行更新。

可選地,還包括:

預(yù)警模塊,用于在檢測(cè)到數(shù)據(jù)存在異常情況時(shí),發(fā)出預(yù)警的提示信息。

本發(fā)明所提供的主推式序列化緩存管理方法及系統(tǒng),預(yù)先在管理服務(wù)器與組件服務(wù)器之間建立雙向分布式調(diào)用關(guān)系,管理服務(wù)器與組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸;管理服務(wù)器在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存,按照預(yù)設(shè)順序向已注冊(cè)的組件服務(wù)器逐一推送更新緩存的信息。本發(fā)明所提供的主推式序列化緩存管理方法及系統(tǒng),不需要增加額外的系統(tǒng)部署節(jié)點(diǎn),不需要加入新的緩存技術(shù),不需要額外的學(xué)習(xí)成本。并且,本申請(qǐng)緩存更新采用實(shí)時(shí)主推、序列化對(duì)象的方式統(tǒng)一管理內(nèi)存,保證緩存對(duì)象在所有子系統(tǒng)中完全一致,且不存在時(shí)間差。管理服務(wù)器一次更新后其他組件服務(wù)器可直接使用,不需要進(jìn)行轉(zhuǎn)換處理,避免頻繁重復(fù)更新帶來的訪問壓力。

附圖說明

為了更清楚的說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明所提供的主推式序列化緩存管理方法的一種具體實(shí)施方式的流程圖;

圖2為本發(fā)明所提供的主推式序列化緩存管理方法的另一種具體實(shí)施方式的流程圖;

圖3為本發(fā)明實(shí)施例提供的主推式序列化緩存管理系統(tǒng)的結(jié)構(gòu)框圖。

具體實(shí)施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明所提供的主推式序列化緩存管理方法的一種具體實(shí)施方式的流程圖如圖1所示,該方法包括:

步驟S101:預(yù)先在管理服務(wù)器與組件服務(wù)器之間建立雙向分布式調(diào)用關(guān)系,所述管理服務(wù)器與所述組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸;

需要指出的是,本發(fā)明可具體通過rmi與httpinvoker,使得管理服務(wù)器與組件服務(wù)器建立雙向分布式調(diào)用關(guān)系。組件服務(wù)器通過rmi向管理服務(wù)器注冊(cè)、請(qǐng)求緩存、文件,同時(shí)也可接收管理服務(wù)器發(fā)送的更新通知。

管理服務(wù)器與組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸,程序開發(fā)過程中可完全忽略對(duì)方的存在直接進(jìn)行調(diào)用。其中,序列化對(duì)象是將運(yùn)行中的對(duì)象轉(zhuǎn)化為可存儲(chǔ)或可傳輸?shù)男问降倪^程,然后可以通過從存儲(chǔ)區(qū)中讀取或反序列化對(duì)象的狀態(tài),重新創(chuàng)建該對(duì)象。

步驟S102:所述管理服務(wù)器在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存;

具體地,管理服務(wù)器可啟動(dòng)獨(dú)立的線程,監(jiān)控?cái)?shù)據(jù)庫配置、文件配置的變更情況,發(fā)現(xiàn)變更后先更新本地緩存。

步驟S103:所述管理服務(wù)器按照預(yù)設(shè)順序向已注冊(cè)的組件服務(wù)器逐一推送更新緩存的信息。

本實(shí)施例中,管理服務(wù)器可按照注冊(cè)客戶端列表,通過httpinvoker逐一推送已注冊(cè)的組件服務(wù)器更新緩存。

本步驟中推送的方式可以具體為:通過主推全文更新的方式。當(dāng)然,還可以采用主推索引+拉取全文結(jié)合的方式,以兩步式完成全文更新,這均不影響本發(fā)明的實(shí)現(xiàn)。

本發(fā)明所提供的主推式序列化緩存管理方法,預(yù)先在管理服務(wù)器與組件服務(wù)器之間建立雙向分布式調(diào)用關(guān)系,管理服務(wù)器與組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸;管理服務(wù)器在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存,按照預(yù)設(shè)順序向已注冊(cè)的組件服務(wù)器逐一推送更新緩存的信息。本發(fā)明所提供的主推式序列化緩存管理方法,不需要增加額外的系統(tǒng)部署節(jié)點(diǎn),不需要加入新的緩存技術(shù),不需要額外的學(xué)習(xí)成本。并且,本申請(qǐng)緩存更新采用實(shí)時(shí)主推、序列化對(duì)象的方式統(tǒng)一管理內(nèi)存,保證緩存對(duì)象在所有子系統(tǒng)中完全一致,且不存在時(shí)間差。管理服務(wù)器一次更新后其他組件服務(wù)器可直接使用,不需要進(jìn)行轉(zhuǎn)換處理,避免頻繁重復(fù)更新帶來的訪問壓力。

其中,本申請(qǐng)以接入注冊(cè)的方式可視化管理集群內(nèi)的所有業(yè)務(wù)系統(tǒng)。具體地,本申請(qǐng)以圖表的方式對(duì)緩存的更新進(jìn)行顯示,更新節(jié)點(diǎn)及時(shí)間、結(jié)果一目了然,這樣能夠解決集群升級(jí)遺漏時(shí)不能及時(shí)發(fā)現(xiàn)的問題。

在上述實(shí)施例的基礎(chǔ)上,本發(fā)明所提供的主推式序列化緩存管理方法在進(jìn)行更新的過程還可以進(jìn)一步對(duì)校驗(yàn)碼進(jìn)行判斷,以驗(yàn)證是否發(fā)生了實(shí)質(zhì)變更。請(qǐng)參照?qǐng)D2本發(fā)明所提供的主推式序列化緩存管理方法的另一種具體實(shí)施方式的流程圖,本申請(qǐng)實(shí)施例的步驟可以具體包括:

步驟S201:預(yù)先在管理服務(wù)器與組件服務(wù)器之間建立雙向分布式調(diào)用關(guān)系,所述管理服務(wù)器與所述組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸;

步驟S202:所述管理服務(wù)器在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存;

步驟S203:所述管理服務(wù)器通過比較本地緩存前后分別記錄的hashCode校驗(yàn)碼,來判斷當(dāng)前變更是否為實(shí)質(zhì)變更;僅當(dāng)所述校驗(yàn)碼不一致時(shí),向相應(yīng)的組件服務(wù)器發(fā)送更新緩存的信息。

這樣,當(dāng)校驗(yàn)碼一致時(shí),則不需要向相應(yīng)的組件服務(wù)器發(fā)送更新緩存的信息。

ICache提供hashCode校驗(yàn)碼,管理服務(wù)器通過刷新本地緩存前后分別記錄的hashCode來判斷是否發(fā)生實(shí)質(zhì)變更,當(dāng)雙方校驗(yàn)碼一致時(shí)不需通知組件服務(wù)器進(jìn)行更新。

對(duì)于文件配置,在檢查hashCode之前還包括:獲取文件配置的上次更新時(shí)間,通過判斷文件上次更新時(shí)間,以減少不必要的文件讀寫操作。

在上述任一實(shí)施例的基礎(chǔ)上,本發(fā)明所提供的主推式序列化緩存管理方法還提供了order排序,當(dāng)多個(gè)緩存之間存在依賴關(guān)系時(shí),通過order+1的方式進(jìn)行依賴排序,通過被依賴緩存先刷新的方式保證所有緩存數(shù)據(jù)的一致性。上述步驟管理服務(wù)器在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存可以具體為:

當(dāng)多個(gè)緩存之間存在依賴關(guān)系時(shí),對(duì)依賴關(guān)系進(jìn)行排序,采用被依賴緩存先更新的方式進(jìn)行更新。

本申請(qǐng)實(shí)施例通過order處理配置依賴關(guān)系,確保相關(guān)聯(lián)配置的整體完整性。

優(yōu)選地,本申請(qǐng)還可以進(jìn)一步包括:

在檢測(cè)到數(shù)據(jù)存在異常情況時(shí),發(fā)出預(yù)警的提示信息。

本實(shí)施例可通過對(duì)圖表可視化的數(shù)據(jù)的檢測(cè),在數(shù)據(jù)超過預(yù)設(shè)閾值或不等于預(yù)設(shè)數(shù)值時(shí),可與外接預(yù)警系統(tǒng)相連進(jìn)行實(shí)時(shí)告警通知。

下面對(duì)本發(fā)明實(shí)施例提供的主推式序列化緩存管理系統(tǒng)進(jìn)行介紹,下文描述的主推式序列化緩存管理系統(tǒng)與上文描述的主推式序列化緩存管理方法可相互對(duì)應(yīng)參照。

圖3為本發(fā)明實(shí)施例提供的主推式序列化緩存管理系統(tǒng)的結(jié)構(gòu)框圖,參照?qǐng)D3主推式序列化緩存管理系統(tǒng)可以包括:

建立模塊100,用于預(yù)先在管理服務(wù)器與組件服務(wù)器之間建立雙向分布式調(diào)用關(guān)系,所述管理服務(wù)器與所述組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸;

更新模塊200,用于在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存;

推送模塊300,用于按照預(yù)設(shè)順序向已注冊(cè)的組件服務(wù)器逐一推送更新緩存的信息。

作為一種具體實(shí)施方式,本發(fā)明所提供的主推式序列化緩存管理系統(tǒng)中,推送模塊具體用于:

通過比較本地緩存前后分別記錄的hashCode校驗(yàn)碼,來判斷當(dāng)前變更是否為實(shí)質(zhì)變更;當(dāng)所述校驗(yàn)碼一致時(shí),不需要向相應(yīng)的組件服務(wù)器發(fā)送更新緩存的信息。

作為一種具體實(shí)施方式,本發(fā)明所提供的主推式序列化緩存管理系統(tǒng)還可以進(jìn)一步包括:

獲取模塊,用于在所述管理服務(wù)器通過比較本地緩存前后分別記錄的hashCode校驗(yàn)碼,來判斷當(dāng)前變更是否為實(shí)質(zhì)變更之前,獲取文件配置的上次更新時(shí)間。

在上述任一實(shí)施例的基礎(chǔ)上,本發(fā)明中主推式序列化緩存管理系統(tǒng)中更新模塊具體用于:

當(dāng)多個(gè)緩存之間存在依賴關(guān)系時(shí),對(duì)依賴關(guān)系進(jìn)行排序,采用被依賴緩存先更新的方式進(jìn)行更新。

優(yōu)選地,本發(fā)明還可以進(jìn)一步包括:

預(yù)警模塊,用于在檢測(cè)到數(shù)據(jù)存在異常情況時(shí),發(fā)出預(yù)警的提示信息。

本發(fā)明所提供的主推式序列化緩存管理系統(tǒng),預(yù)先將管理服務(wù)器與組件服務(wù)器之間建立雙向分布式調(diào)用關(guān)系,管理服務(wù)器與組件服務(wù)器之間以序列化對(duì)象的方式進(jìn)行傳輸;管理服務(wù)器在檢測(cè)到數(shù)據(jù)變更后,更新本地緩存,按照預(yù)設(shè)順序向已注冊(cè)的組件服務(wù)器逐一推送更新緩存的信息。

本發(fā)明通過序列化對(duì)象的方式統(tǒng)一管理緩存,包括緩存的查詢、篩選、組織等處理過程。確保所有接入的業(yè)務(wù)組件服務(wù)器中的緩存使用完全一致;主配置服務(wù)器一次更新后其他組件服務(wù)可直接使用,避免頻繁重復(fù)更新帶來的訪問壓力;

另外,本發(fā)明通過消息主推的方式確保所有接入的業(yè)務(wù)組件服務(wù)器中的配置緩存實(shí)時(shí)更新,不存在更新時(shí)間差。

本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。

專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。

以上對(duì)本發(fā)明所提供的主推式序列化緩存管理方法及系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
杂多县| 临漳县| 华蓥市| 女性| 和田市| 额尔古纳市| 民县| 峡江县| 专栏| 松滋市| 松阳县| 汉中市| 吕梁市| 赣州市| 上思县| 积石山| 乌拉特中旗| 贺兰县| 儋州市| 沾化县| 抚远县| 库尔勒市| 宁安市| 遂宁市| 伊通| 双鸭山市| 大城县| 电白县| 翼城县| 苏尼特左旗| 曲麻莱县| 云阳县| 东莞市| 南川市| 新野县| 城口县| 左权县| 玉龙| 西畴县| 咸阳市| 白河县|