緩存預(yù)存儲(chǔ)的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及計(jì)算機(jī)領(lǐng)域,尤其涉及緩存預(yù)存儲(chǔ)的方法及裝置。
【背景技術(shù)】
[0002]相關(guān)技術(shù)中,網(wǎng)絡(luò)服務(wù)器對客戶端或者第三方提供服務(wù)時(shí),均需要用到緩存。因?yàn)橥ㄟ^緩存獲取數(shù)據(jù)相對于通過數(shù)據(jù)庫獲取數(shù)據(jù)較快,從而可以使服務(wù)器更快地處理用戶請求。
【發(fā)明內(nèi)容】
[0003]為克服相關(guān)技術(shù)中存在的問題,本公開提供一種緩存預(yù)存儲(chǔ)的方法及裝置。用以對新上線服務(wù)器或升級后的服務(wù)器,減小初始請求量過大對服務(wù)器的沖擊。
[0004]根據(jù)本公開實(shí)施例的第一方面,提供一種緩存預(yù)存儲(chǔ)的方法,包括:接收客戶端發(fā)送的用戶請求;獲得第一服務(wù)器的負(fù)荷信息;其中,所述第一服務(wù)器用于處理新業(yè)務(wù);當(dāng)所述第一服務(wù)器的負(fù)荷信息小于預(yù)設(shè)第一負(fù)荷閾值時(shí),向所述第一服務(wù)器發(fā)送所述用戶請求,指示所述第一服務(wù)器獲取并緩存所述用戶請求所請求的數(shù)據(jù)信息。
[0005]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:通過向用于新業(yè)務(wù)的第一服務(wù)器分配少量用戶請求,使第一服務(wù)器在初始運(yùn)行后,完成對新業(yè)務(wù)數(shù)據(jù)信息的緩存,減小初始請求量過大對第一服務(wù)器的沖擊,并可以減少維護(hù)的技術(shù)人員,降低維護(hù)成本。
[0006]所述方法還包括:當(dāng)所述第一服務(wù)器的負(fù)荷信息處于預(yù)設(shè)第三負(fù)荷閾值與預(yù)設(shè)第一負(fù)荷閾值之間的時(shí)長大于預(yù)設(shè)時(shí)長閾值時(shí),將所述預(yù)設(shè)第一負(fù)荷閾值增大到預(yù)設(shè)第二負(fù)荷閾值;所述預(yù)設(shè)第三負(fù)荷閾值小于預(yù)設(shè)第一負(fù)荷閾值。
[0007]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:當(dāng)?shù)谝环?wù)器的負(fù)荷減少并趨于平衡時(shí),逐步增加分配給第一服務(wù)器的用戶請求的數(shù)量,在保證第一服務(wù)器正常運(yùn)行的情況下,增加了第一服務(wù)器的處理量,在完成服務(wù)器的預(yù)存儲(chǔ)的同時(shí),提高第一服務(wù)器的處理能力。
[0008]所述方法還包括:當(dāng)所述第一服務(wù)器的負(fù)荷信息大于或等于預(yù)設(shè)第一負(fù)荷閾值時(shí),向第二服務(wù)器發(fā)送所述用戶請求,指示所述第二服務(wù)器獲取并緩存所述用戶請求所請求的數(shù)據(jù)信息。
[0009]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:當(dāng)分配給第一服務(wù)器的用戶請求數(shù)量增大到第一負(fù)荷閾值時(shí),向第二服務(wù)器發(fā)送用戶請求,實(shí)現(xiàn)了第一服務(wù)器與第二服務(wù)器同時(shí)處理用戶請求,在第一服務(wù)器只處理少量的用戶請求時(shí),使剩余部分用戶請求可以得到正常處理。其中,第二服務(wù)器用于處理舊業(yè)務(wù)或升級前的業(yè)務(wù)。
[0010]所述方法還包括:向所述第二服務(wù)器發(fā)送升級文件,將第二服務(wù)器作為第一服務(wù)器,用于處理所述新業(yè)務(wù)。
[0011]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:逐步升級第二服務(wù)器,使第二服務(wù)器作為第一服務(wù)器,處理新業(yè)務(wù)。逐步升級部分服務(wù)器,并向升級后的服務(wù)器分配少量用戶請求對服務(wù)器的緩存進(jìn)行預(yù)存儲(chǔ),減少了大量用戶請求對處理新業(yè)務(wù)的服務(wù)器產(chǎn)生沖擊。
[0012]所述方法還包括:接收所述第一服務(wù)器發(fā)送的針對所述用戶請求的處理結(jié)果;向發(fā)送所述用戶請求的客戶端發(fā)送所述處理結(jié)果。
[0013]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:實(shí)現(xiàn)了當(dāng)服務(wù)器處理新業(yè)務(wù)后,仍可以向客戶端正常反饋處理結(jié)果的目的。
[0014]根據(jù)本公開實(shí)施例的第二方面,提供一種緩存預(yù)存儲(chǔ)的裝置,包括:第一接收模塊,用于接收客戶端發(fā)送的用戶請求;獲得模塊,用于獲得第一服務(wù)器的負(fù)荷信息;其中,所述第一服務(wù)器用于處理新業(yè)務(wù);第一發(fā)送模塊,用于當(dāng)所述第一服務(wù)器的負(fù)荷信息小于預(yù)設(shè)第一負(fù)荷閾值時(shí),向所述第一服務(wù)器發(fā)送所述用戶請求,指示所述第一服務(wù)器獲取并緩存所述用戶請求所請求的數(shù)據(jù)信息。
[0015]所述裝置還包括:增長模塊,用于當(dāng)所述第一服務(wù)器的負(fù)荷信息處于預(yù)設(shè)第三負(fù)荷閾值與預(yù)設(shè)第一負(fù)荷閾值之間的時(shí)長大于預(yù)設(shè)時(shí)長閾值時(shí),將所述預(yù)設(shè)第一負(fù)荷閾值增大到預(yù)設(shè)第二負(fù)荷閾值;所述預(yù)設(shè)第三負(fù)荷閾值小于預(yù)設(shè)第一負(fù)荷閾值。
[0016]所述裝置還包括:第二發(fā)送模塊,用于當(dāng)所述第一服務(wù)器的負(fù)荷信息大于或等于預(yù)設(shè)第一負(fù)荷閾值時(shí),向第二服務(wù)器發(fā)送所述用戶請求,指示所述第二服務(wù)器獲取并緩存所述用戶請求所請求的數(shù)據(jù)信息。
[0017]所述裝置還包括:第三發(fā)送模塊,用于向所述第二服務(wù)器發(fā)送升級文件,將第二服務(wù)器作為第一服務(wù)器,用于處理所述新業(yè)務(wù)。
[0018]所述裝置還包括:第二接收模塊,用于接收所述第一服務(wù)器發(fā)送的針對所述用戶請求的處理結(jié)果;第四發(fā)送模塊,用于向發(fā)送所述用戶請求的客戶端發(fā)送所述處理結(jié)果。
[0019]根據(jù)本公開實(shí)施例的第三方面,提供一種緩存預(yù)存儲(chǔ)的裝置,其特征在于,包括:處理器;用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;其中,所述處理器被配置為:接收客戶端發(fā)送的用戶請求;獲得第一服務(wù)器的負(fù)荷信息;其中,所述第一服務(wù)器用于處理新業(yè)務(wù);當(dāng)所述第一服務(wù)器的負(fù)荷信息小于預(yù)設(shè)第一負(fù)荷閾值時(shí),向所述第一服務(wù)器發(fā)送所述用戶請求,指示所述第一服務(wù)器獲取并緩存所述用戶請求所請求的數(shù)據(jù)信息。
[0020]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
【附圖說明】
[0021]此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實(shí)施例,并與說明書一起用于解釋本公開的原理。
[0022]圖1是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的方法的流程圖。
[0023]圖2是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的方法的詳細(xì)流程圖。
[0024]圖3是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的方法的詳細(xì)流程圖。
[0025]圖4是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的裝置的框圖。
[0026]圖5是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的裝置的詳細(xì)框圖。
[0027]圖6是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的裝置的詳細(xì)框圖。
[0028]圖7是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的裝置的詳細(xì)框圖。
[0029]圖8是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的裝置的詳細(xì)框圖。
[0030]圖9是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的裝置的框圖。
【具體實(shí)施方式】
[0031]這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
[0032]網(wǎng)絡(luò)服務(wù)器對客戶端或者第三方提供服務(wù)時(shí),均需要用到緩存,通過緩存可以減少對速度比較慢的數(shù)據(jù)庫的請求,從而使用戶得到更快的響應(yīng)。緩存內(nèi)存儲(chǔ)的數(shù)據(jù)通常是根據(jù)用戶請求從數(shù)據(jù)庫中獲得的。而新上線的服務(wù)器或升級后的服務(wù)器并未處理過用戶請求,因此服務(wù)器并未從數(shù)據(jù)庫中獲得并緩存數(shù)據(jù)信息,當(dāng)有服務(wù)器處理用戶請求時(shí),服務(wù)器發(fā)送給用戶的數(shù)據(jù)都是從數(shù)據(jù)庫中獲取的,由于服務(wù)器直接從數(shù)據(jù)庫獲取數(shù)據(jù)時(shí)響應(yīng)時(shí)間長,占用資源大,因此,當(dāng)存在大量用戶請求時(shí),增大服務(wù)器負(fù)載,容易使服務(wù)器崩潰。因此,服務(wù)器上線后或升級后需要對服務(wù)器中的緩存進(jìn)行預(yù)存儲(chǔ),即在服務(wù)器的緩存中預(yù)存儲(chǔ)用于新業(yè)務(wù)的數(shù)據(jù)。
[0033]可能的做法有主動(dòng)緩存,主動(dòng)緩存是指服務(wù)器中緩存的數(shù)據(jù)是由技術(shù)人員主動(dòng)去生成的;被動(dòng)預(yù)存儲(chǔ)是把用戶的每次請求都作為緩存數(shù)據(jù),并對每個(gè)緩存數(shù)據(jù)設(shè)定過期時(shí)間,如果過期時(shí)間內(nèi)又有相同的請求,則刷新過期時(shí)間。但是主動(dòng)緩存的方式往往成本比較高,因?yàn)榧夹g(shù)人員并不知道哪些數(shù)據(jù)需要緩存,因此需要建立比較復(fù)雜的預(yù)測模型。
[0034]處理新業(yè)務(wù)的服務(wù)器在初始時(shí),接收到的用戶請求流量就比較大,如果直接將所有用戶請求直接發(fā)送給沒有緩存數(shù)據(jù)的服務(wù)器,會(huì)瞬間對服務(wù)器產(chǎn)生沖擊,所以通常會(huì)在這個(gè)時(shí)候?qū)τ脩粽埱蟮牧髁窟M(jìn)行限制,丟棄一部分用戶請求,不利于服務(wù)器處理用戶請求。
[0035]為解決上述問題,本公開實(shí)施例針對用戶基數(shù)比較大的新上線的服務(wù)器或升級后的服務(wù)器,通過向用于新業(yè)務(wù)的第一服務(wù)器分配少量用戶請求,而將其他大量的用戶請求分配給用于老業(yè)務(wù)的其他服務(wù)器,使第一服務(wù)器在初始運(yùn)行后,完成對新業(yè)務(wù)數(shù)據(jù)信息的緩存,減少了初始請求量過大對第一服務(wù)器造成沖擊,并可以減少維護(hù)的技術(shù)人員,降低維護(hù)成本。
[0036]圖1是根據(jù)一示例性實(shí)施例示出的一種緩存預(yù)存儲(chǔ)的方法的流程圖,如圖1所示,緩存預(yù)存儲(chǔ)的方法用于服務(wù)器中,包括以下步驟。
[0037]在步驟101中,接收客戶端發(fā)送的用戶請求。
[0038]在步驟102中,獲得第一服務(wù)器的負(fù)荷信息;其中,第一服務(wù)器用于處理新業(yè)務(wù)。第一服務(wù)器可以是新上線的服務(wù)器也可以是對已運(yùn)行服務(wù)器進(jìn)行功能升級后的服務(wù)器。
[0039]在步驟103中,當(dāng)?shù)谝环?wù)器的負(fù)荷信息小于預(yù)設(shè)第一負(fù)荷閾值時(shí),向第一服務(wù)器發(fā)送用戶請求,指示第一服務(wù)器獲取并緩存用戶請求所請求的數(shù)據(jù)信息。
[0040]本公開實(shí)施例提供了一種緩存預(yù)存儲(chǔ)的方法。用于用戶基數(shù)比較大的新上線的服務(wù)器或升級后的服務(wù)器。在服務(wù)器初始運(yùn)行時(shí),由于需要處理大量的用戶請求,如果將用戶請求全部直接發(fā)送給用于新業(yè)務(wù)的服務(wù)器,則需要服務(wù)器從數(shù)據(jù)庫中獲得大量數(shù)據(jù)信息,而服務(wù)器從數(shù)據(jù)庫中獲取數(shù)據(jù)信息的速度比較慢,從數(shù)據(jù)庫中獲得大量數(shù)據(jù)信息會(huì)使服務(wù)器超負(fù)荷運(yùn)行。因此,直接向用于新業(yè)務(wù)的服務(wù)器發(fā)送大量的用戶請求會(huì)給服務(wù)器造成沖擊。對于新上線服務(wù)器或升級后的服務(wù)器,為減少大量用戶請求