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

一種異步更新數(shù)據(jù)的方法及系統(tǒng)的制作方法

文檔序號(hào):10697625閱讀:209來(lái)源:國(guó)知局
一種異步更新數(shù)據(jù)的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種異步更新數(shù)據(jù)的方法及系統(tǒng),涉及數(shù)據(jù)處理領(lǐng)域。所述方法:S1,接收到服務(wù)器發(fā)出獲取目標(biāo)數(shù)據(jù)的請(qǐng)求,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),如果是,則進(jìn)入S2;如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,然后返回S1;S2,從緩存系統(tǒng)中獲取緩存目標(biāo)數(shù)據(jù),向發(fā)出請(qǐng)求的服務(wù)器發(fā)送緩存的目標(biāo)數(shù)據(jù);同時(shí),判斷緩存的目標(biāo)數(shù)據(jù)的緩存是否過(guò)期,如果是,則發(fā)送消息到緩存更新服務(wù)器,更新緩存系統(tǒng)中的緩存數(shù)據(jù),如果否,則返回S2繼續(xù)判斷。本發(fā)明所述方法保證目標(biāo)緩存數(shù)據(jù)一直存在于緩存系統(tǒng)中,通過(guò)另一個(gè)應(yīng)用程序來(lái)更新緩存,這樣緩存系統(tǒng)會(huì)一直有效并及時(shí)更新。
【專利說(shuō)明】
一種異步更新數(shù)據(jù)的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種異步更新數(shù)據(jù)的方法及系統(tǒng)。
【背景技術(shù)】
[0002]為提高站點(diǎn)和web應(yīng)用程序的響應(yīng)速度,改善客戶的用戶體驗(yàn),緩存的使用是最常見(jiàn)也是最有效的技術(shù),通常是將大的且使用頻率較高的數(shù)據(jù)形成緩存,實(shí)現(xiàn)空間換取時(shí)間,所以在網(wǎng)站和應(yīng)用程序的設(shè)計(jì)中如何合理的使用緩存顯得尤為重要,其中,緩存數(shù)據(jù)的實(shí)效性就是其中的關(guān)鍵因素。
[0003]現(xiàn)有緩存技術(shù)中一般使用相對(duì)過(guò)期或絕對(duì)過(guò)期方式,這樣可能會(huì)造成在同一時(shí)間點(diǎn)大量緩存數(shù)據(jù)集體失效的現(xiàn)象,一旦緩存數(shù)據(jù)過(guò)期,web服務(wù)將直接從數(shù)據(jù)存儲(chǔ)設(shè)備中讀取,而這種方式導(dǎo)致數(shù)據(jù)源服務(wù)器壓力倍增,使web服務(wù)在該時(shí)間點(diǎn)訪問(wèn)較慢。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于提供一種異步更新數(shù)據(jù)的方法及系統(tǒng),從而解決現(xiàn)有技術(shù)中存在的前述問(wèn)題。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明所述異步更新數(shù)據(jù)的方法,該方法包括:
[0006]SI,接收到服務(wù)器發(fā)出獲取目標(biāo)數(shù)據(jù)的請(qǐng)求,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),如果是,則進(jìn)入S2;如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,然后返回SI;
[0007]S2,從緩存系統(tǒng)中獲取緩存目標(biāo)數(shù)據(jù),向發(fā)出請(qǐng)求的服務(wù)器發(fā)送緩存的目標(biāo)數(shù)據(jù);同時(shí),判斷緩存的目標(biāo)數(shù)據(jù)的緩存有效期是否過(guò)期,如果是,則發(fā)送消息到緩存更新服務(wù)器,更新緩存系統(tǒng)中的緩存數(shù)據(jù),如果否,則返回S2繼續(xù)判斷。
[0008]優(yōu)選地,從發(fā)出請(qǐng)求目標(biāo)數(shù)據(jù)的服務(wù)器接收目標(biāo)數(shù)據(jù),分析所述目標(biāo)數(shù)據(jù),并獲得所述目標(biāo)數(shù)據(jù)的關(guān)鍵代碼,判斷緩存系統(tǒng)中是否存在與所述關(guān)鍵代碼存在一一映射的數(shù)據(jù),如果是,則緩存系統(tǒng)中存儲(chǔ)目標(biāo)數(shù)據(jù),如果否,則緩存系統(tǒng)未存儲(chǔ)目標(biāo)數(shù)據(jù)。
[0009]優(yōu)選地,在步驟SI之前,所述緩存系統(tǒng)中至少存儲(chǔ)一個(gè)長(zhǎng)有效期的數(shù)據(jù)。
[0010]優(yōu)選地,步驟S2中,判斷緩存的目標(biāo)數(shù)據(jù)的緩存有效期是否過(guò)期,具體按照下述方法實(shí)現(xiàn):獲取緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)的有效期,判斷當(dāng)前時(shí)間是否在所述有效期內(nèi),如果是,則所述緩存目標(biāo)的緩存有效期沒(méi)有過(guò)期,如果否,則所述緩存目標(biāo)的緩存過(guò)期。[0011 ]優(yōu)選地,步驟S2,所述緩存更新服務(wù)器,更新緩存系統(tǒng)中的緩存數(shù)據(jù),具體按照下述步驟實(shí)現(xiàn):
[0012]緩存系統(tǒng)將過(guò)期的緩存目標(biāo)數(shù)據(jù)以消息的形式發(fā)送到緩存更新服務(wù)器,所述緩存更新服務(wù)器判斷接收到的緩存目標(biāo)數(shù)據(jù)中攜帶的key是否已經(jīng)被緩存,
[0013]如果是,則將該緩存目標(biāo)數(shù)據(jù)存儲(chǔ)到緩存系統(tǒng)中,并繼續(xù)判斷下一個(gè)消息;
[0014]如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,并繼續(xù)判斷下一個(gè)消息,直至完成緩存系統(tǒng)中數(shù)據(jù)的更新為止。
[0015]優(yōu)選地,所述緩存系統(tǒng)為分布式緩存服務(wù)器。
[0016]本發(fā)明所述實(shí)現(xiàn)所述異步更新數(shù)據(jù)的方法的系統(tǒng),所述系統(tǒng)包括:發(fā)出目標(biāo)數(shù)據(jù)請(qǐng)求的請(qǐng)求服務(wù)器、緩存系統(tǒng)、第一判斷模塊、第二判斷模塊、更新模塊和發(fā)送模塊;
[0017]所述第一判斷模塊,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),如果是,則將緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)發(fā)送給發(fā)送模塊;如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,然后繼續(xù)判斷下一條請(qǐng)求中的目標(biāo)數(shù)據(jù)在緩存系統(tǒng)中是否存在,直至向發(fā)出請(qǐng)求的服務(wù)器發(fā)送緩存的目標(biāo)數(shù)據(jù)為止;
[0018]所述第二判斷模塊,判斷緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)的緩存是否過(guò)期,如果是,則發(fā)送消息到更新模塊,更新緩存系統(tǒng)中的緩存數(shù)據(jù),如果否,則繼續(xù)判斷下一條消息中的緩存數(shù)據(jù)是否過(guò)期;
[0019]更新模塊,對(duì)緩存系統(tǒng)中的緩存數(shù)據(jù)進(jìn)行更新;
[0020]發(fā)送模塊,將緩存系統(tǒng)中存儲(chǔ)的目標(biāo)緩存數(shù)據(jù)發(fā)送給請(qǐng)求服務(wù)器。
[0021]本發(fā)明的有益效果是:
[0022]本發(fā)明所述方法保證目標(biāo)緩存數(shù)據(jù)一直存在于緩存系統(tǒng)中,通過(guò)另一個(gè)應(yīng)用程序來(lái)更新緩存,這樣緩存系統(tǒng)會(huì)一直有效并及時(shí)更新。
[0023]通過(guò)消息隊(duì)列來(lái)保證消息的同步,使緩存及時(shí)更新并能解耦業(yè)務(wù)和數(shù)據(jù)的更新,使web服務(wù)器和處理緩存的服務(wù)隔離,減少web服務(wù)器的壓力。其中Rabbit MQ是一種高可用的消息隊(duì)列,并且支持集群部署的中間件。
【附圖說(shuō)明】
[0024]圖1是異步更新數(shù)據(jù)的方法流程示意圖;
[0025]圖2是緩存更新服務(wù)器更新緩存數(shù)據(jù)的流程圖。
【具體實(shí)施方式】
[0026]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的【具體實(shí)施方式】?jī)H僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0027]實(shí)施例
[0028]本實(shí)施例所述異步更新數(shù)據(jù)的方法,該方法包括:
[0029]SI,接收到服務(wù)器發(fā)出獲取目標(biāo)數(shù)據(jù)的請(qǐng)求,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),如果是,則進(jìn)入S2;如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,然后返回SI,直至向發(fā)出請(qǐng)求的服務(wù)器發(fā)送緩存的目標(biāo)數(shù)據(jù)為止;
[0030]S2,從緩存系統(tǒng)中獲取緩存目標(biāo)數(shù)據(jù),向發(fā)出請(qǐng)求的服務(wù)器發(fā)送緩存的目標(biāo)數(shù)據(jù);同時(shí),判斷緩存的目標(biāo)數(shù)據(jù)的緩存是否過(guò)期,如果是,則發(fā)送消息到緩存更新服務(wù)器,更新緩存系統(tǒng)中的緩存數(shù)據(jù),如果否,則返回S2繼續(xù)判斷;其中,所述緩存系統(tǒng)為分布式緩存服務(wù)器。
[0031]更詳細(xì)的解釋說(shuō)明:
[0032](— )步驟SI中,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),具體按照下述方法:從發(fā)出請(qǐng)求目標(biāo)數(shù)據(jù)的服務(wù)器接收目標(biāo)數(shù)據(jù),分析所述目標(biāo)數(shù)據(jù),并獲得所述目標(biāo)數(shù)據(jù)的關(guān)鍵代碼,判斷緩存系統(tǒng)中是否存在與所述關(guān)鍵代碼存在一一映射的數(shù)據(jù),如果是,則緩存系統(tǒng)中存儲(chǔ)目標(biāo)數(shù)據(jù),如果否,則緩存系統(tǒng)未存儲(chǔ)目標(biāo)數(shù)據(jù)。
[0033]在步驟SI之前,所述緩存系統(tǒng)中至少存儲(chǔ)一個(gè)有效期長(zhǎng)的數(shù)據(jù)。
[0034](二)步驟S2中,判斷緩存的目標(biāo)數(shù)據(jù)的緩存是否過(guò)期,具體按照下述方法實(shí)現(xiàn):獲取緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)的有效期,判斷當(dāng)前時(shí)間是否在所述有效期內(nèi),如果是,則所述緩存目標(biāo)的緩存有效期沒(méi)有過(guò)期,如果否,則所述緩存目標(biāo)的緩存過(guò)期。
[0035]步驟S2,所述緩存更新服務(wù)器,更新緩存系統(tǒng)中的緩存數(shù)據(jù),具體按照下述步驟實(shí)現(xiàn):緩存系統(tǒng)將過(guò)期的緩存目標(biāo)數(shù)據(jù)以消息的形式發(fā)送到緩存更新服務(wù)器,所述緩存更新服務(wù)器判斷接收到的緩存目標(biāo)數(shù)據(jù)中攜帶的key是否已經(jīng)被緩存,如果是,則將該緩存目標(biāo)數(shù)據(jù)存儲(chǔ)到緩存系統(tǒng)中,并繼續(xù)判斷下一個(gè)消息;如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,完成緩存系統(tǒng)中數(shù)據(jù)的更新。
[0036]—種實(shí)現(xiàn)如實(shí)施例1所述異步更新數(shù)據(jù)的方法的系統(tǒng),所述系統(tǒng)包括:發(fā)出目標(biāo)數(shù)據(jù)請(qǐng)求的請(qǐng)求服務(wù)器、緩存系統(tǒng)、第一判斷模塊、第二判斷模塊、更新模塊和發(fā)送模塊;
[0037]所述第一判斷模塊,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),如果是,則將緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)發(fā)送給發(fā)送模塊;如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,然后繼續(xù)判斷下一條請(qǐng)求中的目標(biāo)數(shù)據(jù)在緩存系統(tǒng)中是否存在,直至向發(fā)出請(qǐng)求的服務(wù)器發(fā)送緩存的目標(biāo)數(shù)據(jù)為止;
[0038]所述第二判斷模塊,判斷緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)的緩存是否過(guò)期,如果是,則發(fā)送消息到更新模塊,更新緩存系統(tǒng)中的緩存數(shù)據(jù),如果否,則繼續(xù)判斷下一條消息中的緩存數(shù)據(jù)是否過(guò)期;
[0039]更新模塊,對(duì)緩存系統(tǒng)中的緩存數(shù)據(jù)進(jìn)行更新;
[0040]發(fā)送模塊,將緩存系統(tǒng)中存儲(chǔ)的目標(biāo)緩存數(shù)據(jù)發(fā)送給請(qǐng)求服務(wù)器。
[0041]通過(guò)采用本發(fā)明公開(kāi)的上述技術(shù)方案,得到了如下有益的效果:
[0042]本發(fā)明所述方法保證目標(biāo)緩存數(shù)據(jù)一直存在于緩存系統(tǒng)中,通過(guò)另一個(gè)應(yīng)用程序來(lái)更新緩存,這樣緩存系統(tǒng)會(huì)一直有效并及時(shí)更新。
[0043]通過(guò)消息隊(duì)列來(lái)保證消息的同步,使緩存及時(shí)更新并能解耦業(yè)務(wù)和數(shù)據(jù)的更新,使web服務(wù)器和處理緩存的服務(wù)隔離,減少web服務(wù)器的壓力。其中Rabbit MQ是一種高可用的消息隊(duì)列,并且支持集群部署的中間件。
[0044]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種異步更新數(shù)據(jù)的方法,其特征在于,該方法包括: Si,接收到服務(wù)器發(fā)出獲取目標(biāo)數(shù)據(jù)的請(qǐng)求,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),如果是,則進(jìn)入S2;如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,然后返回SI; S2,從緩存系統(tǒng)中獲取緩存目標(biāo)數(shù)據(jù),向發(fā)出請(qǐng)求的服務(wù)器發(fā)送緩存的目標(biāo)數(shù)據(jù);同時(shí),判斷緩存的目標(biāo)數(shù)據(jù)的緩存有效期是否過(guò)期,如果是,則發(fā)送消息到緩存更新服務(wù)器,更新緩存系統(tǒng)中的緩存數(shù)據(jù),如果否,則返回S2繼續(xù)判斷。2.根據(jù)權(quán)利要求1所述異步更新數(shù)據(jù)的方法,其特征在于,步驟SI中,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),具體按照下述方法: 從發(fā)出請(qǐng)求目標(biāo)數(shù)據(jù)的服務(wù)器接收目標(biāo)數(shù)據(jù),分析所述目標(biāo)數(shù)據(jù),并獲得所述目標(biāo)數(shù)據(jù)的關(guān)鍵代碼,判斷緩存系統(tǒng)中是否存在與所述關(guān)鍵代碼存在一一映射的數(shù)據(jù),如果是,則緩存系統(tǒng)中存儲(chǔ)目標(biāo)數(shù)據(jù),如果否,則緩存系統(tǒng)未存儲(chǔ)目標(biāo)數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述異步更新數(shù)據(jù)的方法,其特征在于,在步驟SI之前,所述緩存系統(tǒng)中至少存儲(chǔ)一個(gè)長(zhǎng)有效期的數(shù)據(jù)。4.根據(jù)權(quán)利要求1所述異步更新數(shù)據(jù)的方法,其特征在于,步驟S2中,判斷緩存的目標(biāo)數(shù)據(jù)的緩存有效期是否過(guò)期,具體按照下述方法實(shí)現(xiàn): 獲取緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)的有效期,判斷當(dāng)前時(shí)間是否在所述有效期內(nèi),如果是,則所述緩存目標(biāo)的緩存有效期沒(méi)有過(guò)期,如果否,則所述緩存目標(biāo)的緩存過(guò)期。5.根據(jù)權(quán)利要求1所述異步更新數(shù)據(jù)的方法,其特征在于,步驟S2,所述緩存更新服務(wù)器,更新緩存系統(tǒng)中的緩存數(shù)據(jù),具體按照下述步驟實(shí)現(xiàn): 緩存系統(tǒng)將過(guò)期的緩存目標(biāo)數(shù)據(jù)以消息的形式發(fā)送到緩存更新服務(wù)器,所述緩存更新服務(wù)器判斷接收到的緩存目標(biāo)數(shù)據(jù)中攜帶的key是否已經(jīng)被緩存, 如果是,則將該緩存目標(biāo)數(shù)據(jù)存儲(chǔ)到緩存系統(tǒng)中,并繼續(xù)判斷下一個(gè)消息; 如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,并繼續(xù)判斷下一個(gè)消息,直至完成緩存系統(tǒng)中數(shù)據(jù)的更新為止。6.根據(jù)權(quán)利要求1所述異步更新數(shù)據(jù)的方法,其特征在于,所述緩存系統(tǒng)為分布式緩存服務(wù)器。7.—種實(shí)現(xiàn)如權(quán)利要求1-6任意一項(xiàng)所述異步更新數(shù)據(jù)的方法的系統(tǒng),其特征在于,所述系統(tǒng)包括:發(fā)出目標(biāo)數(shù)據(jù)請(qǐng)求的請(qǐng)求服務(wù)器、緩存系統(tǒng)、第一判斷模塊、第二判斷模塊、更新模塊和發(fā)送模塊; 所述第一判斷模塊,判斷緩存系統(tǒng)中是否存儲(chǔ)目標(biāo)數(shù)據(jù),如果是,則將緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)發(fā)送給發(fā)送模塊;如果否,則從源數(shù)據(jù)中讀取需要的目標(biāo)數(shù)據(jù)并緩存到緩存系統(tǒng)中,然后繼續(xù)判斷下一條請(qǐng)求中的目標(biāo)數(shù)據(jù)在緩存系統(tǒng)中是否存在,直至向發(fā)出請(qǐng)求的服務(wù)器發(fā)送緩存的目標(biāo)數(shù)據(jù)為止; 所述第二判斷模塊,判斷緩存系統(tǒng)中存儲(chǔ)的緩存目標(biāo)數(shù)據(jù)的緩存有效期是否過(guò)期,如果是,則發(fā)送消息到更新模塊,更新緩存系統(tǒng)中的緩存數(shù)據(jù),如果否,則繼續(xù)判斷下一條消息中的緩存數(shù)據(jù)是否過(guò)期; 更新模塊,對(duì)緩存系統(tǒng)中的緩存數(shù)據(jù)進(jìn)行更新; 發(fā)送模塊,將緩存系統(tǒng)中存儲(chǔ)的目標(biāo)緩存數(shù)據(jù)發(fā)送給請(qǐng)求服務(wù)器。
【文檔編號(hào)】G06F17/30GK106066877SQ201610371514
【公開(kāi)日】2016年11月2日
【申請(qǐng)日】2016年5月30日 公開(kāi)號(hào)201610371514.7, CN 106066877 A, CN 106066877A, CN 201610371514, CN-A-106066877, CN106066877 A, CN106066877A, CN201610371514, CN201610371514.7
【發(fā)明人】顏威, 周曉明, 王文昌, 曹曉東, 劉穎
【申請(qǐng)人】北京皮爾布萊尼軟件有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
凤冈县| 普宁市| 延津县| 小金县| 江孜县| 泾源县| 阿尔山市| 普定县| 海晏县| 民权县| 义马市| 聊城市| 元谋县| 尖扎县| 彩票| 洛南县| 安阳县| 株洲县| 横峰县| 长葛市| 汉中市| 攀枝花市| 城口县| 九台市| 赞皇县| 海原县| 翁牛特旗| 安陆市| 新蔡县| 重庆市| 盘山县| 洛宁县| 沙坪坝区| 临颍县| 松溪县| 公主岭市| 饶河县| 丘北县| 长乐市| 翼城县| 凌海市|